Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1axU1A-0004Ad-T0 for pgadmin-hackers@arkaria.postgresql.org; Tue, 03 May 2016 06:41:13 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1axU19-0002sN-46 for pgadmin-hackers@arkaria.postgresql.org; Tue, 03 May 2016 06:41:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1axU17-0002sG-ID for pgadmin-hackers@postgresql.org; Tue, 03 May 2016 06:41:09 +0000 Received: from mail-oi0-x22c.google.com ([2607:f8b0:4003:c06::22c]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1axU11-00078T-TH for pgadmin-hackers@postgresql.org; Tue, 03 May 2016 06:41:08 +0000 Received: by mail-oi0-x22c.google.com with SMTP id x19so13584718oix.2 for ; Mon, 02 May 2016 23:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=lqgRdwB+Z4MZKEa77iEq4EmkxwUH0EIEaNbCbyOtleI=; b=LETipxgQBqfq31LaxlySqvRFJL1AUQwWlRDVwpLYC3YULLBtK0qXr3Z2gaXtiZDfZm QuIe85haXXJPTiwsam/wLNDcI609/McdM5VsB4BQ8W7hCBgrP3OproZg6ilnSK0iOOQI s6G+QIzo6wtxFrH/a/3GaKZ7a48VcaGbdFIn9E1NlR0Ch4VpH1mgJWfp0ZQtPIBZTAH0 OYAioRkrrLAKTBz7tzRx7kUaz9z9tuQFX0RZSPWapy0kIcu3pj9q5CmjP6piKoyEfryu 59+m3Fp6fEm7h3qML7Rb++RxwZm6dOs5pHItaWAH2F17fUMyN1Q8Z54gwpiQ6hGt0lUj y3PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=lqgRdwB+Z4MZKEa77iEq4EmkxwUH0EIEaNbCbyOtleI=; b=ipA0iQ9vUVVxhSEGMMjTjd4sqGOGsYS3af4r/N3IQ9yQ0X9xMpd2o0XBf2EWRTXkye zkOqAEDjmco9T2PbJvpOc74/XatxIUaAVfkcJQyx5uv41fJDWWok+jJdDlvnnBC1omQI v5bNLpSQzJxTyBTUzKY5E1BZp0BioX9CeYqBD3fd980o7Kq6PgLer9XolvXFLasz/Q8S F0VYlgOAcCU5sJr8t4M2E8BAHqvN4EF57WQu7r8JSo1jMGwnSLM8RItBieHkjHjlBjtT p6Wmv6p235Na5ULQw/BZFHqUdtc6suz7QWASYhheq14q39GR1czad0DXTGP+H/T2yG/4 z6wg== X-Gm-Message-State: AOPr4FUVIjBWt4NSWcb1s4LdtKsByphjDdLWlvPFjixjtyMRrBkgxgGQj9bHwSZx4QWcQdmSUpCUBPMEhFfP+LKd MIME-Version: 1.0 X-Received: by 10.157.37.48 with SMTP id k45mr313527otb.74.1462257661429; Mon, 02 May 2016 23:41:01 -0700 (PDT) Received: by 10.202.175.148 with HTTP; Mon, 2 May 2016 23:41:01 -0700 (PDT) In-Reply-To: References: Date: Tue, 3 May 2016 12:11:01 +0530 Message-ID: Subject: Re: [pgAdmin4] [Patch] Implementation of the Data Grid and Query Tool From: Akshay Joshi To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a113d0e4c7b8ce50531ea64f9 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a113d0e4c7b8ce50531ea64f9 Content-Type: multipart/alternative; boundary=001a113d0e4c7b8cd50531ea64f7 --001a113d0e4c7b8cd50531ea64f7 Content-Type: text/plain; charset=UTF-8 Hi All Added support of code-folding for QueryTool. Please ignore previous patch, attached is the new combined patch. On Thu, Apr 21, 2016 at 2:00 PM, Akshay Joshi wrote: > Hi > > I have fixed following review comments given by Dave and attached is the > patch file: > > - The button bar be moved out into an HTML template > - create.sql should perhaps be renamed to insert.sql > - The "Add Row" button only works if you're on the last page of the > resultset. > > I have tried to fix the following review comments, but unable to figure > out the solution > > > > - Please add an SQL button. This should show/hide the SQL panel in > *both* Query Tool and Edit Grid modes. > > I have changed the design and have only one wcDocker and add > SQL panel to the Top and remaining panel to the Bottom, then I have tried > to hide the top panel, but not able to fix it. > > - If a field has been edited, but not saved, can we highlight it > somehow? Maybe make the text dark blue? > > For this we have "backgrid:edited" event in which we get model > and column, but not sure how we can find the cell to add the class to > change the colour and if we will have solution then, we will have to remove > that class again once user will enter the original value again. > > - Can the "Copy Row" button also populate the clipboard with CSV data > for the row? > - Cut, Copy and Paste to Clipboard. > > I have googled for solution and found some of them which have > only "Copy" feature, some of them works for limited browsers. One solution > is to use "document.execCommand("Copy")" but it works for TextArea and we > have CodeMirror. > > - The layout of the result tabs should be maintained if new Query Tool > or Edit Grid tabs are opened. > > > > > > > > > > > > To solve the above I need some help/suggestions here. > > > On Fri, Apr 15, 2016 at 1:22 PM, Dave Page > wrote: > >> Thanks - committed. >> >> On Fri, Apr 15, 2016 at 8:03 AM, Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> >>> >>> On Thu, Apr 14, 2016 at 7:40 PM, Dave Page >>> wrote: >>> >>>> Hi >>>> >>>> On Thu, Apr 14, 2016 at 1:58 PM, Akshay Joshi < >>>> akshay.joshi@enterprisedb.com> wrote: >>>> >>>>> Hi All >>>>> >>>>> I have fixed review comments given by Dave and couple of them are >>>>> remaining >>>>> >>>>> *Fixed Review Comments:* >>>>> >>>>> - The View Data menu option should be on the Object menu, which >>>>> should mirror the Context menu, except options should be disabled when not >>>>> applicable instead of hidden. >>>>> - The Query Tool menu icon should be a glyphicon, to match the >>>>> others. >>>>> - Please merge the functionality of the Refresh and Execute >>>>> buttons into one button. We shouldn't have two buttons that do essentially >>>>> the same thing. >>>>> - In Edit Grid mode, the History panel should log all queries ( >>>>> SELECTs, UPDATEs, DELETEs etc) as it would in the Query Tool. >>>>> - In Edit Grid mode, the Messages panel should display any >>>>> messages from the most recent action as it would in the Query Tool. >>>>> - In Edit Grid mode, that textbox should be read-only, but should >>>>> display the SQL used (including any LIMIT/FILTER clauses) >>>>> - Please remove the border from the SQL box, such that it fills >>>>> all available space. >>>>> - The Filter box should be in a modal overlay over the top of the >>>>> SQL box/Results tabs as required. Those elements should be grayed >>>>> whilst it is open. >>>>> - Please adjust the height of the Delete icon in the Edit Grid, >>>>> such that it doesn't force the row height to be higher than it should be. >>>>> - I think the names of the tabs are far too long. Can we change >>>>> them to "Query 1", "Query 2" etc, then rename them to the filename >>>>> if the user saves/loads a file? >>>>> - We should add an "Edit" button, which opens a drop-down menu. >>>>> This would eventually include options as found on the Edit menu in the >>>>> pgAdmin3 query tool, such as the "Clear SQL" option. >>>>> - Ashesh and I discussed changing the History tab to be a grid, >>>>> showing: Date/Time, Query (first line only), Rows affected, Runtime >>>>> and Status, in a row per query executed. Ashesh suggested using a >>>>> sub-form that can be expanded for each row, which could show the full query >>>>> and error details (SQL State etc). New rows should be added to the >>>>> top of the list. >>>>> - Errors should be highlighted in the SQL box - a marker in the >>>>> margin to note the line, and spellcheck-style underlining for the error >>>>> word. >>>>> - Query results should have spaces converted to " ", so that >>>>> proper indenting is maintained (for example, on EXPLAIN queries). >>>>> - on shutdown pgAdmin server , appropriate message should be >>>>> displayed. >>>>> >>>>> >>>> Awesome! >>>> >>>> I've made a few minor style changes - mostly colouring, but I also >>>> widened the Execute button and it was easier to push it's dropdown than it >>>> - and pushed the code. >>>> >>>> >>>>> *Remaining review comments*: >>>>> >>>>> - Please add an SQL button. This should show/hide the SQL panel in >>>>> *both* Query Tool and Edit Grid modes. >>>>> - If a field has been edited, but not saved, can we highlight it >>>>> somehow? Maybe make the text dark blue? >>>>> - The "Add Row" button only works if you're on the last page of >>>>> the resultset. >>>>> - Can the "Copy Row" button also populate the clipboard with CSV >>>>> data for the row? >>>>> - In Edit mode, we need to be able to represent/set values to NULL. >>>>> - The layout of the result tabs should be maintained if new Query >>>>> Tool or Edit Grid tabs are opened. >>>>> >>>>> *TODO's* (apart from above) >>>>> >>>>> - Open/Save SQL file. >>>>> - Cut, Copy, Paste functionality. >>>>> >>>>> Agreed on the above. >>>> >>>> My only real suggestion on the code itself (which looks good and clean >>>> on a quick review), is that: >>>> >>>> - The button bar be moved out into an HTML template >>>> - create.sql should perhaps be renamed to insert.sql >>>> - It looks like we only allow updates if we have a pkey. Should we >>>> allow use of OIDs when present, if a pkey isn't there? >>>> >>>> I'll continue to log additional issues if/when I find them. >>>> >>> >>> Thanks for committing the patch. I'll work on the above comments. >>> Meanwhile I have found one issue where "View Filtered Row" is not working, >>> so attached is the patch file to fix that. Can you please review/commit it. >>> >>>> >>>> -- >>>> Dave Page >>>> VP, Chief Architect, Tools & Installers >>>> EnterpriseDB: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>> >>> >>> >>> -- >>> *Akshay Joshi* >>> *Principal Software Engineer * >>> >>> >>> >>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246* >>> >> >> >> >> -- >> Dave Page >> VP, Chief Architect, Tools & Installers >> EnterpriseDB: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> > > > > -- > *Akshay Joshi* > *Principal Software Engineer * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > -- *Akshay Joshi* *Principal Software Engineer * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* --001a113d0e4c7b8cd50531ea64f7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi All

Added support of code-fold= ing for QueryTool. Please ignore previous patch, attached is the new combin= ed patch.

On= Thu, Apr 21, 2016 at 2:00 PM, Akshay Joshi <akshay.joshi@en= terprisedb.com> wrote:
Hi=C2=A0

I have fixed following review comm= ents given by Dave and attached is the patch file:
  • The button bar be moved out into= an HTML template
  • create.sql should perhaps be = renamed to insert.sql
  • The "Add Row" button only w= orks if you're on the last page of the=C2=A0resultset.
I have t= ried to fix the following review comments, but unable to figure out the sol= ution
    • Please add an=C2= =A0SQL=C2=A0button. This shoul= d show/hide the=C2=A0SQL=C2=A0= panel in *both* Query Tool and Edit= Grid modes.=C2=A0
    =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0I have changed the design and = have only one wcDocker and add SQL panel to the Top and remaining panel to = the Bottom, then I have tried to hide the top panel, but not able to fix it= . =C2=A0=C2=A0
    • If a field has been edited, but not saved, can we highlight it some= how? Maybe make the text dark blue?
    =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0For this we = have "backgrid:edited" event in which we get model and column, bu= t not sure how we can find the cell to add the class to change the colour a= nd if we will have solution then, we will have to remove that class again o= nce user will enter the original value again. =C2=A0=C2=A0
    • Can the "Copy Row"= ; button also populate the clipboard with=C2=A0CSV=C2=A0data fo= r the row?
    • Cut, = Copy and Paste to Clipboard.=C2=A0
    =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0I= have googled for solution and found some of them which have only "Cop= y" feature, some of them works for limited browsers. One solution is t= o use "document.execCommand("Copy")" but it works for T= extArea and we have CodeMirror.=C2=A0
    • The layout of the re= sult tabs should be maintained if new Query Tool or Edit Grid tabs are open= ed.
              To solve the above = I need some help/suggestions here.=C2=A0

              <= div class=3D"HOEnZb">

              On Fri, Apr 15, 2016 at 1:22 PM, Dave Page <dave.page@enterprisedb.com> wrote:
              Thanks - committed.

              On Fri, Apr 15, 2016 at 8:03 A= M, Akshay Joshi <akshay.joshi@enterprisedb.com> = wrote:


              On Thu, Apr 14, 2016= at 7:40 PM, Dave Page <dave.page@enterprisedb= .com> wrote:
              Hi

              <= span>On Thu, Apr 14, 2016 at 1:58 PM, Akshay Joshi <akshay.jos= hi@enterprisedb.com> wrote:
              Hi All=C2=A0

              I have fixed review comme= nts given by Dave and couple of them are remaining

              Fixed Review Comments:
              • The View Data menu option should be= on the Object menu, which should mirror the Context menu, except options s= hould be disabled when not applicable instead of hidden.
              • The Query Tool menu icon sho= uld be a glyphicon, to match the others.
              • Please merge the functionality = of the Refresh and Execute buttons into one button. We shouldn't have t= wo buttons that do essentially the same thing.
              • =
              • In Edit Grid mode, the History panel s= hould log all queries (SELECTs, UPDATEs, DE= LETEs etc) as it would in the Query Tool.
              • In Edit Grid mode, the Messages pane= l should display any messages from the most recent action =C2=A0as it would= in the Query Tool.
              • In Edit Grid mode, that textbox should be read-only,= but should display the SQL used (including any LIMIT/FILTER c= lauses)
              • Pl= ease remove the border from the SQL box, such that it fills al= l available space.
              • The Filter box should be in a modal overlay over the top of the SQL box/Results tabs as required. Those elements should be graye= d whilst it is open.
              • Please adjust the height of the Delete icon in the Edit Grid, su= ch that it doesn't force the row height to be higher than it should be.=
              • I think the names of t= he tabs are far too long. Can we change them to "Query 1", "= Query 2" etc, then rename them to the filename if the use= r saves/loads a file?
              • We should add an "Edit" button, which opens a drop-do= wn menu. This would eventually include options as found on the Edit menu in= the pgAdmin3 query tool, such as the "Clear SQL" op= tion.
              • Ashesh and I discussed changing the History tab to be a grid, show= ing: Date/Time, Query (first line only), Rows affected, Runtime and Status, in a row per query executed. Ashesh suggested us= ing a sub-form that can be expanded for each row, which could show the full= query and error details (SQL State etc). New rows should be a= dded to the top of the list.
              • Errors should be highli= ghted in the SQL box - a marker in the margin to note the line= , and spellcheck-style underlining for the error word.
              • Query results should have spaces conve= rted to "&nbsp;", so that proper indenting is ma= intained (for example, on EXPLAIN queries).
              • on shutdown pgAdmin server ,=C2=A0appropriate message sho= uld be displayed.

              <= /span>
              Awesome!

              I've made a few minor styl= e changes - mostly colouring, but I also widened the Execute button and it = was easier to push it's dropdown than it - and pushed the code.
              =C2=A0
              Remaining review comments:
              • Please= add an SQL button. This should show/hide the SQL= panel in *both* Query Tool and Edit Grid modes.=C2=A0
              • If a field has been edited, bu= t not saved, can we highlight it somehow? Maybe make the text dark blue?
              • The "Ad= d Row" button only works if you're on the last page of the r= esultset.
              • Can the "Copy Row" button also populate the clipboard with= CSV data for the row?
              • In Edit mode, we need to be able to represent/set= values to NULL.
              • The layout of the result tabs should be maintained if new Query Tool= or Edit Grid tabs are opened.
              TODO's (apart from above)
              • Open/Save SQL= file.
              • Cut, Copy, Paste fun= ctionality.=C2=A0
              Agre= ed on the above.

              My only real suggestion on the co= de itself (which looks good and clean on a quick review), is that:

              - The button bar be moved out into an HTML template
              <= div>- create.sql should perhaps be renamed to insert.sql
              - It loo= ks like we only allow updates if we have a pkey. Should we allow use of OID= s when present, if a pkey isn't there?

              I'l= l continue to log additional issues if/when I find them.
              <= /div>

              =C2=A0 =C2=A0Thanks for c= ommitting the patch. I'll work on the above comments. Meanwhile I have = found one issue where "View Filtered Row" is not working, so atta= ched is the patch file to fix that. Can you please review/commit it.
              <= span>
              =C2=A0
              --
              =
              Dave Page
              VP, Chief Architect, Tools = & Installers
              EnterpriseDB: http://www.enterprisedb.com
              The Enterprise PostgreS= QL Company

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



              --
              Akshay Joshi
              <= font color=3D"#3333FF">Principal Software Eng= ineer=C2=A0


              Phone: +91 20-3058-9517
              Mobile: +91 976-788-8246
              =



              --
              Dave Pa= ge
              VP, Chief Architect, Tools & Installers
              EnterpriseDB: http://www.enterprisedb.= com
              The Enterprise PostgreSQL Company

              Blog: http://pgsnake.blogspot.comTwitter: @pgsnake



              --
              =
              Akshay Joshi
              <= span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;= border-collapse:collapse">Principal Software Engineer=C2=A0


              Phone: +91 20-3058-9= 517
              Mobile: +91 976-788-8246



              --
              =
              Akshay Joshi
              Principal Software Engi= neer=C2=A0

              =

              Phone: +91 20-3058-9517
              Mobile: +91 976-788-8246
              --001a113d0e4c7b8cd50531ea64f7-- --001a113d0e4c7b8ce50531ea64f9 Content-Type: application/octet-stream; name="Fixed_review_comments_v2.patch" Content-Disposition: attachment; filename="Fixed_review_comments_v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_inr2fllo1 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3RlbXBs YXRlcy9kYXRhZ3JpZC9pbmRleC5odG1sIGIvd2ViL3BnYWRtaW4vdG9vbHMv ZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0bWwKaW5kZXgg MzFhZGU3ZC4uZGRiOWQ4ZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9v bHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0bWwKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFn cmlkL2luZGV4Lmh0bWwKQEAgLTEwLDExICsxMCwxMjEgQEAgYm9keSB7CiB9 CiA8L3N0eWxlPgogICAgIDxkaXYgaWQ9Im1haW4tZWRpdG9yX3BhbmVsIj4K LSAgICAgICAgPGRpdiBpZD0iZmV0Y2hpbmdfZGF0YSIgY2xhc3M9InNxbC1l ZGl0b3ItYnVzeS1mZXRjaGluZyBoaWRlIj4nLAorICAgICAgICA8ZGl2IGlk PSJmZXRjaGluZ19kYXRhIiBjbGFzcz0ic3FsLWVkaXRvci1idXN5LWZldGNo aW5nIGhpZGUiPgogICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNxbC1lZGl0 b3ItYnVzeS1pY29uIj48aW1nIHNyYz0ie3sgdXJsX2ZvcignYnJvd3Nlci5z dGF0aWMnLCBmaWxlbmFtZT0nY3NzL2FjaVRyZWUvaW1hZ2UvbG9hZC1yb290 LmdpZicpIH19Ij48L3NwYW4+CiAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i c3FsLWVkaXRvci1idXN5LXRleHQiPjwvc3Bhbj4KICAgICAgICAgPC9kaXY+ Ci0gICAgICAgIDxkaXYgY2xhc3M9InNxbC1lZGl0b3IiIGRhdGEtdHJhbnMt aWQ9Int7IHVuaXF1ZUlkIH19Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz cz0ic3FsLWVkaXRvciIgZGF0YS10cmFucy1pZD0ie3sgdW5pcXVlSWQgfX0i PgorICAgICAgICA8ZGl2IGlkPSJidG4tdG9vbGJhciIgY2xhc3M9InBnLXBy b3AtYnRuLWdyb3VwIiByb2xlPSJ0b29sYmFyIiBhcmlhLWxhYmVsPSIiPgor ICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCIgcm9sZT0iZ3JvdXAi IGFyaWEtbGFiZWw9IiI+CisgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4t c2F2ZSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB0 aXRsZT0ie3sgXygnU2F2ZScpIH19IiBkaXNhYmxlZD4KKyAgICAgICAgICAg ICAgPGkgY2xhc3M9ImZhIGZhLWZsb3BweS1vIiBhcmlhLWhpZGRlbj0idHJ1 ZSI+PC9pPgorICAgICAgICAgICAgPC9idXR0b24+CisgICAgICAgICAgPC9k aXY+CisgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIiByb2xlPSJn cm91cCIgYXJpYS1sYWJlbD0iIj4KKyAgICAgICAgICAgIDxidXR0b24gaWQ9 ImJ0bi1jb3B5LXJvdyIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1k ZWZhdWx0IiB0aXRsZT0ie3sgXygnQ29weSBSb3cnKSB9fSIgZGlzYWJsZWQ+ CisgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1maWxlcy1vIiBhcmlh LWhpZGRlbj0idHJ1ZSI+PC9pPgorICAgICAgICAgICAgPC9idXR0b24+Cisg ICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tcGFzdGUtcm93IiB0eXBlPSJi dXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHRpdGxlPSJ7eyBfKCdQ YXN0ZSBSb3cnKSB9fSIgZGlzYWJsZWQ+CisgICAgICAgICAgICAgIDxpIGNs YXNzPSJmYSBmYS1jbGlwYm9hcmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+ CisgICAgICAgICAgICA8L2J1dHRvbj4KKyAgICAgICAgICA8L2Rpdj4KKyAg ICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiIHJvbGU9Imdyb3VwIiBh cmlhLWxhYmVsPSIiPgorICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWFk ZC1yb3ciIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIg dGl0bGU9Int7IF8oJ0FkZCBOZXcgUm93JykgfX0iIGRpc2FibGVkPgorICAg ICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtcGx1cyIgYXJpYS1oaWRkZW49 InRydWUiPjwvaT4KKyAgICAgICAgICAgIDwvYnV0dG9uPgorICAgICAgICAg IDwvZGl2PgorICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCIgcm9s ZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IiI+CisgICAgICAgICAgICA8YnV0dG9u IGlkPSJidG4tZmlsdGVyIiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRu LWRlZmF1bHQiIHRpdGxlPSJ7eyBfKCdGaWx0ZXInKSB9fSIgZGlzYWJsZWQ+ CisgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1maWx0ZXIiIGFyaWEt aGlkZGVuPSJ0cnVlIj48L2k+CisgICAgICAgICAgICA8L2J1dHRvbj4KKyAg ICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1maWx0ZXItZHJvcGRvd24iIHR5 cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10 b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0i dHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGRpc2FibGVkPgorICAgICAg ICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4gPHNwYW4gY2xh c3M9InNyLW9ubHkiPlRvZ2dsZSBEcm9wZG93bjwvc3Bhbj4KKyAgICAgICAg ICAgIDwvYnV0dG9uPgorICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93 bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHQiPgorICAgICAgICAgICAgICA8 bGk+CisgICAgICAgICAgICAgICAgPGEgaWQ9ImJ0bi1yZW1vdmUtZmlsdGVy IiBocmVmPSIjIj57eyBfKCdSZW1vdmUnKSB9fTwvYT4KKyAgICAgICAgICAg ICAgICA8YSBpZD0iYnRuLWluY2x1ZGUtZmlsdGVyIiBocmVmPSIjIj57eyBf KCdCeSBzZWxlY3Rpb24nKSB9fTwvYT4KKyAgICAgICAgICAgICAgICA8YSBp ZD0iYnRuLWV4Y2x1ZGUtZmlsdGVyIiBocmVmPSIjIj57eyBfKCdFeGNsdWRl IHNlbGVjdGlvbicpIH19PC9hPgorICAgICAgICAgICAgICA8L2xpPgorICAg ICAgICAgICAgPC91bD4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8 ZGl2IGNsYXNzPSJidG4tZ3JvdXAiIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVs PSIiPgorICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0ibGltaXQiIHN0eWxl PSJoZWlnaHQ6IDMwcHg7IHdpZHRoOiA5MHB4OyIgZGlzYWJsZWQ+CisgICAg ICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ii0xIj5ObyBsaW1pdDwvb3B0aW9u PgorICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxMDAwIj4xMDAwIHJv d3M8L29wdGlvbj4KKyAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNTAw Ij41MDAgcm93czwvb3B0aW9uPgorICAgICAgICAgICAgICA8b3B0aW9uIHZh bHVlPSIxMDAiPjEwMCByb3dzPC9vcHRpb24+CisgICAgICAgICAgICA8L3Nl bGVjdD4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8ZGl2IGNsYXNz PSJidG4tZ3JvdXAiIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSIiPgorICAg ICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWZsYXNoIiB0eXBlPSJidXR0b24i IGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHN0eWxlPSJ3aWR0aDogNDBweDsi IHRpdGxlPSJ7eyBfKCdFeGVjdXRlL1JlZnJlc2gnKSB9fSI+CisgICAgICAg ICAgICAgIDxpIGNsYXNzPSJmYSBmYS1ib2x0IiBhcmlhLWhpZGRlbj0idHJ1 ZSI+PC9pPgorICAgICAgICAgICAgPC9idXR0b24+CisgICAgICAgICAgICA8 YnV0dG9uIGlkPSJidG4tcXVlcnktZHJvcGRvd24iIHR5cGU9ImJ1dHRvbiIg Y2xhc3M9ImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10b2dnbGUiIGRhdGEt dG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1l eHBhbmRlZD0iZmFsc2UiPgorICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0i Y2FyZXQiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBE cm9wZG93bjwvc3Bhbj4KKyAgICAgICAgICAgIDwvYnV0dG9uPgorICAgICAg ICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUi PgorICAgICAgICAgICAgICA8bGk+CisgICAgICAgICAgICAgICAgPGEgaWQ9 ImJ0bi1hdXRvLWNvbW1pdCIgaHJlZj0iIyI+CisgICAgICAgICAgICAgICAg ICAgIDxpIGNsYXNzPSJhdXRvLWNvbW1pdCBmYSBmYS1jaGVjayIgYXJpYS1o aWRkZW49InRydWUiPjwvaT4KKyAgICAgICAgICAgICAgICAgICAgPHNwYW4+ IHt7IF8oJ0F1dG8tQ29tbWl0JykgfX0gPC9zcGFuPgorICAgICAgICAgICAg ICAgIDwvYT4KKyAgICAgICAgICAgICAgICA8YSBpZD0iYnRuLWF1dG8tcm9s bGJhY2siIGhyZWY9IiMiPgorICAgICAgICAgICAgICAgICAgICA8aSBjbGFz cz0iYXV0by1yb2xsYmFjayBmYSBmYS1jaGVjayB2aXNpYmlsaXR5LWhpZGRl biIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4KKyAgICAgICAgICAgICAgICAg ICAgPHNwYW4+IHt7IF8oJ0F1dG8tUm9sbGJhY2snKSB9fSA8L3NwYW4+Cisg ICAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgICA8L2xpPgorICAg ICAgICAgICAgPC91bD4KKyAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1j YW5jZWwtcXVlcnkiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVm YXVsdCIgdGl0bGU9Int7IF8oJ0NhbmNlbCBxdWVyeScpIH19IiBkaXNhYmxl ZD4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXN0b3AiIGFyaWEt aGlkZGVuPSJ0cnVlIj48L2k+CisgICAgICAgICAgICA8L2J1dHRvbj4KKyAg ICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3Jv dXAiIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSIiPgorICAgICAgICAgICAg PGJ1dHRvbiBpZD0iYnRuLWVkaXQiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0 biBidG4tZGVmYXVsdCIgdGl0bGU9Int7IF8oJ0VkaXQnKSB9fSI+CisgICAg ICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iIGFy aWEtaGlkZGVuPSJ0cnVlIj48L2k+CisgICAgICAgICAgICA8L2J1dHRvbj4K KyAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1lZGl0LWRyb3Bkb3duIiB0 eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24t dG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9 InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4KKyAgICAgICAgICAgICAg PHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+IDxzcGFuIGNsYXNzPSJzci1v bmx5Ij5Ub2dnbGUgRHJvcGRvd248L3NwYW4+CisgICAgICAgICAgICA8L2J1 dHRvbj4KKyAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBk cm9wZG93bi1tZW51Ij4KKyAgICAgICAgICAgICAgPGxpPgorICAgICAgICAg ICAgICAgIDxhIGlkPSJidG4tY2xlYXIiIGhyZWY9IiMiPgorICAgICAgICAg ICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZXJhc2VyIiBhcmlhLWhpZGRl bj0idHJ1ZSI+PC9pPgorICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sg XygnQ2xlYXIgcXVlcnkgd2luZG93JykgfX0gPC9zcGFuPgorICAgICAgICAg ICAgICAgIDwvYT4KKyAgICAgICAgICAgICAgICA8YSBpZD0iYnRuLWNsZWFy LWhpc3RvcnkiIGhyZWY9IiMiPgorICAgICAgICAgICAgICAgICAgICA8aSBj bGFzcz0iZmEgZmEtZXJhc2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPgor ICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgXygnQ2xlYXIgaGlzdG9y eScpIH19IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8L2E+CisgICAgICAg ICAgICAgIDwvbGk+CisgICAgICAgICAgICA8L3VsPgorICAgICAgICAgIDwv ZGl2PgorICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCIgcm9sZT0i Z3JvdXAiIGFyaWEtbGFiZWw9IiI+CisgICAgICAgICAgICA8YnV0dG9uIGlk PSJidG4tZG93bmxvYWQiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4t ZGVmYXVsdCIgdGl0bGU9Int7IF8oJ0Rvd25sb2FkIGFzIENTVicpIH19Ij4K KyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWRvd25sb2FkIiBhcmlh LWhpZGRlbj0idHJ1ZSI+PC9pPgorICAgICAgICAgICAgPC9idXR0b24+Cisg ICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2 IGNsYXNzPSJlZGl0b3ItdGl0bGUiPjwvZGl2PgorICAgICAgICA8ZGl2IGlk PSJmaWx0ZXIiIGNsYXNzPSJmaWx0ZXItY29udGFpbmVyIGhpZGRlbiI+Cisg ICAgICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLXRpdGxlIj5GaWx0ZXI8L2Rp dj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJzcWwtdGV4dGFyZWEiPgorICAg ICAgICAgICAgPHRleHRhcmVhIGlkPSJzcWxfZmlsdGVyIiByb3c9IjUiPjwv dGV4dGFyZWE+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgPGRpdiBj bGFzcz0iYnRuLWdyb3VwIj4KKyAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0 bi1jYW5jZWwiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGFuZ2Vy IiB0aXRsZT0ie3sgXygnQ2FuY2VsJykgfX0iPgorICAgICAgICAgICAgICA8 aSBjbGFzcz0iZmEgZmEtdGltZXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+ IHt7IF8oJ0NhbmNlbCcpIH19CisgICAgICAgICAgICA8L2J1dHRvbj4KKyAg ICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3Jv dXAiPgorICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWFwcGx5IiB0eXBl PSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHRpdGxlPSJ7eyBf KCdBcHBseScpIH19Ij4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZh LWNoZWNrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiB7eyBfKCdBcHBseScp IH19CisgICAgICAgICAgICA8L2J1dHRvbj4KKyAgICAgICAgICA8L2Rpdj4K KyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImVkaXRvci1wYW5l bCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgogICAgIDwvZGl2PgogeyUgZW5k YmxvY2sgJX0KIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3Fs ZWRpdG9yL2NvbW1hbmQucHkgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0 b3IvY29tbWFuZC5weQppbmRleCBmNWYwZWI4Li44OGViNTU5IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvY29tbWFuZC5weQor KysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvY29tbWFuZC5weQpA QCAtNDQwLDcgKzQ0MCw3IEBAIGNsYXNzIFRhYmxlQ29tbWFuZChHcmlkQ29t bWFuZCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YV90b19iZV9zYXZlZD1yb3dbJ2RhdGEnXSwgcHJpbWFy eV9rZXlzPXJvd1sna2V5cyddLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5zcF9uYW1lPXNlbGYubnNwX25hbWUp CiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAg c3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnNxbF9wYXRo LCAnY3JlYXRlLnNxbCddKSwgb2JqZWN0X25hbWU9c2VsZi5vYmplY3RfbmFt ZSwKKyAgICAgICAgICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRl KCIvIi5qb2luKFtzZWxmLnNxbF9wYXRoLCAnaW5zZXJ0LnNxbCddKSwgb2Jq ZWN0X25hbWU9c2VsZi5vYmplY3RfbmFtZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfdG9fYmVfc2F2ZWQ9cm93 WydkYXRhJ10sIG5zcF9uYW1lPXNlbGYubnNwX25hbWUpCiAKICAgICAgICAg ICAgICAgICBzdGF0dXMsIHJlcyA9IGNvbm4uZXhlY3V0ZV92b2lkKHNxbCkK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0 aWMvY3NzL3NxbGVkaXRvci5jc3MgYi93ZWIvcGdhZG1pbi90b29scy9zcWxl ZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0b3IuY3NzCmluZGV4IDRlMDhiYWYu LmRlZTNlYTEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVk aXRvci9zdGF0aWMvY3NzL3NxbGVkaXRvci5jc3MKKysrIGIvd2ViL3BnYWRt aW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRpdG9yLmNzcwpA QCAtNTMsMTYgKzUzLDYgQEAKICAgZm9udC1zaXplOiAxM3B4OwogfQogCi0j b3V0cHV0LXBhbmVsIC53Y0RvY2tlciB7Ci0gIHRvcDogMHB4OwotICBib3R0 b206IDBweDsKLSAgaGVpZ2h0OiBhdXRvOwotfQotCi0jb3V0cHV0LXBhbmVs IC53Y0ZyYW1lQ2VudGVyIHsKLSAgb3ZlcmZsb3c6IGhpZGRlbjsKLX0KLQog LnNxbC1lZGl0b3ItZ3JpZC1jb250YWluZXIgewogICBoZWlnaHQ6IGNhbGMo MTAwJSAtIDQ1cHgpOwogICBvdmVyZmxvdzogYXV0bzsKQEAgLTIxNywzICsy MDcsMzIgQEAKICAgYmFja2dyb3VuZDogIzVCOUNFRjsKICAgY29sb3I6IHdo aXRlOwogfQorCisuQ29kZU1pcnJvci1mb2xkbWFya2VyIHsKKyAgY29sb3I6 IGJsdWU7CisgIHRleHQtc2hhZG93OiAjYjlmIDFweCAxcHggMnB4LCAjYjlm IC0xcHggLTFweCAycHgsICNiOWYgMXB4IC0xcHggMnB4LCAjYjlmIC0xcHgg MXB4IDJweDsKKyAgZm9udC1mYW1pbHk6IGFyaWFsOworICBsaW5lLWhlaWdo dDogLjM7CisgIGN1cnNvcjogcG9pbnRlcjsKK30KKworLkNvZGVNaXJyb3Is ICNlZGl0b3ItcGFuZWwgLkNvZGVNaXJyb3ItZ3V0dGVycyB7CisgICAgbWlu LWhlaWdodDogMTAwJTsKK30KKworLkNvZGVNaXJyb3ItZm9sZGd1dHRlciB7 CisgIHdpZHRoOiAuOWVtOworfQorCisuQ29kZU1pcnJvci1mb2xkZ3V0dGVy LW9wZW4sCisuQ29kZU1pcnJvci1mb2xkZ3V0dGVyLWZvbGRlZCB7CisgIGN1 cnNvcjogcG9pbnRlcjsKK30KKworLkNvZGVNaXJyb3ItZm9sZGd1dHRlci1v cGVuOmFmdGVyIHsKKyAgY29udGVudDogIlwyNUJDIjsKK30KKworLkNvZGVN aXJyb3ItZm9sZGd1dHRlci1mb2xkZWQ6YWZ0ZXIgeworICBjb250ZW50OiAi XDI1QjYiOworfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3Fs ZWRpdG9yL3RlbXBsYXRlcy9zcWxlZGl0b3IvanMvc3FsZWRpdG9yLmpzIGIv d2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3RlbXBsYXRlcy9zcWxlZGl0 b3IvanMvc3FsZWRpdG9yLmpzCmluZGV4IDNlOWJjNWMuLjI5ZjQxMzcgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZW1wbGF0 ZXMvc3FsZWRpdG9yL2pzL3NxbGVkaXRvci5qcworKysgYi93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVzL3NxbGVkaXRvci9qcy9zcWxl ZGl0b3IuanMKQEAgLTEsNiArMSw3IEBACiBkZWZpbmUoCiAgIFsnanF1ZXJ5 JywgJ3VuZGVyc2NvcmUnLCAnYWxlcnRpZnknLCAncGdhZG1pbicsICdiYWNr Ym9uZScsICdiYWNrZ3JpZCcsICdjb2RlbWlycm9yJywKICAgICdjb2RlbWly cm9yL21vZGUvc3FsL3NxbCcsICdjb2RlbWlycm9yL2FkZG9uL3NlbGVjdGlv bi9tYXJrLXNlbGVjdGlvbicsICdjb2RlbWlycm9yL2FkZG9uL3NlbGVjdGlv bi9hY3RpdmUtbGluZScsCisgICAnY29kZW1pcnJvci9hZGRvbi9mb2xkL2Zv bGRndXR0ZXInLCAnY29kZW1pcnJvci9hZGRvbi9mb2xkL2ZvbGRjb2RlJywg J2NvZGVtaXJyb3IvYWRkb24vZm9sZC9wZ2FkbWluLXNxbGZvbGRjb2RlJywK ICAgICdiYWNrZ3JpZC5zZWxlY3QuYWxsJywgJ2JhY2tib25lLnBhZ2luYXRv cicsICdiYWNrZ3JpZC5wYWdpbmF0b3InLCAnYmFja2dyaWQuZmlsdGVyJywK ICAgICdib290c3RyYXAnLCAncGdhZG1pbi5icm93c2VyJywgJ3djZG9ja2Vy J10sCiAgIGZ1bmN0aW9uKCQsIF8sIGFsZXJ0aWZ5LCBwZ0FkbWluLCBCYWNr Ym9uZSwgQmFja2dyaWQsIENvZGVNaXJyb3IpIHsKQEAgLTE1MCw4ICsxNTEs OCBAQCBkZWZpbmUoCiAgICAgICAgICJjbGljayAjYnRuLXJlbW92ZS1maWx0 ZXIiOiAib25fcmVtb3ZlX2ZpbHRlciIsCiAgICAgICAgICJjbGljayAjYnRu LWFwcGx5IjogIm9uX2FwcGx5IiwKICAgICAgICAgImNsaWNrICNidG4tY2Fu Y2VsIjogIm9uX2NhbmNlbCIsCi0gICAgICAgICJjbGljayAjYnRuLWNvcHki OiAib25fY29weSIsCi0gICAgICAgICJjbGljayAjYnRuLXBhc3RlIjogIm9u X3Bhc3RlIiwKKyAgICAgICAgImNsaWNrICNidG4tY29weS1yb3ciOiAib25f Y29weV9yb3ciLAorICAgICAgICAiY2xpY2sgI2J0bi1wYXN0ZS1yb3ciOiAi b25fcGFzdGVfcm93IiwKICAgICAgICAgImNsaWNrICNidG4tZmxhc2giOiAi b25fZmxhc2giLAogICAgICAgICAiY2xpY2sgI2J0bi1jYW5jZWwtcXVlcnki OiAib25fY2FuY2VsX3F1ZXJ5IiwKICAgICAgICAgImNsaWNrICNidG4tZG93 bmxvYWQiOiAib25fZG93bmxvYWQiLApAQCAtMTYzLDEzOSArMTY0LDI3IEBA IGRlZmluZSgKICAgICAgICAgImNoYW5nZSAubGltaXQiOiAib25fbGltaXRf Y2hhbmdlIgogICAgICAgfSwKIAotICAgICAgLyogRGVmaW5pbmcgdGhlIHRl bXBsYXRlIHRvIGNyZWF0ZSBidXR0b25zIGFuZCBkaXYgdG8gcmVuZGVyCi0g ICAgICAgKiB0aGUgYmFja2dyaWQgaW5zaWRlIHRoaXMgZGl2LgotICAgICAg ICovCi0gICAgICB0ZW1wbGF0ZTogXy50ZW1wbGF0ZShbCi0gICAgICAgICc8 ZGl2IGlkPSJidG4tdG9vbGJhciIgY2xhc3M9InBnLXByb3AtYnRuLWdyb3Vw IiByb2xlPSJ0b29sYmFyIiBhcmlhLWxhYmVsPSIiPicsCi0gICAgICAgICAg JzxkaXYgY2xhc3M9ImJ0bi1ncm91cCIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFi ZWw9IiI+JywKLSAgICAgICAgICAgICc8YnV0dG9uIGlkPSJidG4tc2F2ZSIg dHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB0aXRsZT0i e3sgXygnU2F2ZScpIH19IiBkaXNhYmxlZD4nLAotICAgICAgICAgICAgICAn PGkgY2xhc3M9ImZhIGZhLWZsb3BweS1vIiBhcmlhLWhpZGRlbj0idHJ1ZSI+ PC9pPicsCi0gICAgICAgICAgICAnPC9idXR0b24+JywKLSAgICAgICAgICAn PC9kaXY+JywKLSAgICAgICAgICAnPGRpdiBjbGFzcz0iYnRuLWdyb3VwIiBy b2xlPSJncm91cCIgYXJpYS1sYWJlbD0iIj4nLAotICAgICAgICAgICAgJzxi dXR0b24gaWQ9ImJ0bi1jb3B5IiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4g YnRuLWRlZmF1bHQiIHRpdGxlPSJ7eyBfKCdDb3B5IFJvdycpIH19IiBkaXNh YmxlZD4nLAotICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWZpbGVz LW8iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+JywKLSAgICAgICAgICAgICc8 L2J1dHRvbj4nLAotICAgICAgICAgICAgJzxidXR0b24gaWQ9ImJ0bi1wYXN0 ZSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB0aXRs ZT0ie3sgXygnUGFzdGUgUm93JykgfX0iIGRpc2FibGVkPicsCi0gICAgICAg ICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2xpcGJvYXJkIiBhcmlhLWhpZGRl bj0idHJ1ZSI+PC9pPicsCi0gICAgICAgICAgICAnPC9idXR0b24+JywKLSAg ICAgICAgICAnPC9kaXY+JywKLSAgICAgICAgICAnPGRpdiBjbGFzcz0iYnRu LWdyb3VwIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iIj4nLAotICAgICAg ICAgICAgJzxidXR0b24gaWQ9ImJ0bi1hZGQtcm93IiB0eXBlPSJidXR0b24i IGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHRpdGxlPSJ7eyBfKCdBZGQgTmV3 IFJvdycpIH19IiBkaXNhYmxlZD4nLAotICAgICAgICAgICAgICAnPGkgY2xh c3M9ImZhIGZhLXBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+JywKLSAg ICAgICAgICAgICc8L2J1dHRvbj4nLAotICAgICAgICAgICc8L2Rpdj4nLAot ICAgICAgICAgICc8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiIHJvbGU9Imdyb3Vw IiBhcmlhLWxhYmVsPSIiPicsCi0gICAgICAgICAgICAnPGJ1dHRvbiBpZD0i YnRuLWZpbHRlciIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZh dWx0IiB0aXRsZT0ie3sgXygnRmlsdGVyJykgfX0iIGRpc2FibGVkPicsCi0g ICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtZmlsdGVyIiBhcmlhLWhp ZGRlbj0idHJ1ZSI+PC9pPicsCi0gICAgICAgICAgICAnPC9idXR0b24+JywK LSAgICAgICAgICAgICc8YnV0dG9uIGlkPSJidG4tZmlsdGVyLWRyb3Bkb3du IiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRv d24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9w dXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBkaXNhYmxlZD4nLAot ICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+IDxz cGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgRHJvcGRvd248L3NwYW4+JywK LSAgICAgICAgICAgICc8L2J1dHRvbj4nLAotICAgICAgICAgICAgJzx1bCBj bGFzcz0iZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXJpZ2h0Ij4nLAot ICAgICAgICAgICAgICAnPGxpPicsCi0gICAgICAgICAgICAgICAgJzxhIGlk PSJidG4tcmVtb3ZlLWZpbHRlciIgaHJlZj0iIyI+e3sgXygnUmVtb3ZlJykg fX08L2E+JywKLSAgICAgICAgICAgICAgICAnPGEgaWQ9ImJ0bi1pbmNsdWRl LWZpbHRlciIgaHJlZj0iIyI+e3sgXygnQnkgc2VsZWN0aW9uJykgfX08L2E+ JywKLSAgICAgICAgICAgICAgICAnPGEgaWQ9ImJ0bi1leGNsdWRlLWZpbHRl ciIgaHJlZj0iIyI+e3sgXygnRXhjbHVkZSBzZWxlY3Rpb24nKSB9fTwvYT4n LAotICAgICAgICAgICAgICAnPC9saT4nLAotICAgICAgICAgICAgJzwvdWw+ JywKLSAgICAgICAgICAnPC9kaXY+JywKLSAgICAgICAgICAnPGRpdiBjbGFz cz0iYnRuLWdyb3VwIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iIj4nLAot ICAgICAgICAgICAgJzxzZWxlY3QgY2xhc3M9ImxpbWl0IiBzdHlsZT0iaGVp Z2h0OiAzMHB4OyB3aWR0aDogOTBweDsiIGRpc2FibGVkPicsCi0gICAgICAg ICAgICAgICc8b3B0aW9uIHZhbHVlPSItMSI+Tm8gbGltaXQ8L29wdGlvbj4n LAotICAgICAgICAgICAgICAnPG9wdGlvbiB2YWx1ZT0iMTAwMCI+MTAwMCBy b3dzPC9vcHRpb24+JywKLSAgICAgICAgICAgICAgJzxvcHRpb24gdmFsdWU9 IjUwMCI+NTAwIHJvd3M8L29wdGlvbj4nLAotICAgICAgICAgICAgICAnPG9w dGlvbiB2YWx1ZT0iMTAwIj4xMDAgcm93czwvb3B0aW9uPicsCi0gICAgICAg ICAgICAnPC9zZWxlY3Q+JywKLSAgICAgICAgICAnPC9kaXY+JywKLSAgICAg ICAgICAnPGRpdiBjbGFzcz0iYnRuLWdyb3VwIiByb2xlPSJncm91cCIgYXJp YS1sYWJlbD0iIj4nLAotICAgICAgICAgICAgJzxidXR0b24gaWQ9ImJ0bi1m bGFzaCIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBz dHlsZT0id2lkdGg6IDQwcHg7IiB0aXRsZT0ie3sgXygnRXhlY3V0ZS9SZWZy ZXNoJykgfX0iPicsCi0gICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEt Ym9sdCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4nLAotICAgICAgICAgICAg JzwvYnV0dG9uPicsCi0gICAgICAgICAgICAnPGJ1dHRvbiBpZD0iYnRuLXF1 ZXJ5LWRyb3Bkb3duIiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRl ZmF1bHQgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24i IGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4n LAotICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+ IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgRHJvcGRvd248L3NwYW4+ JywKLSAgICAgICAgICAgICc8L2J1dHRvbj4nLAotICAgICAgICAgICAgJzx1 bCBjbGFzcz0iZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51Ij4nLAotICAg ICAgICAgICAgICAnPGxpPicsCi0gICAgICAgICAgICAgICAgJzxhIGlkPSJi dG4tYXV0by1jb21taXQiIGhyZWY9IiMiIGNsYXNzPSJub2Nsb3NlIj4nLAot ICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImF1dG8tY29tbWl0IGZh IGZhLWNoZWNrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPicsCi0gICAgICAg ICAgICAgICAgICAgICc8c3Bhbj4ge3sgXygnQXV0byBDb21taXQnKSB9fSA8 L3NwYW4+JywKLSAgICAgICAgICAgICAgICAnPC9hPicsCi0gICAgICAgICAg ICAgICAgJzxhIGlkPSJidG4tYXV0by1yb2xsYmFjayIgaHJlZj0iIyIgY2xh c3M9Im5vY2xvc2UiPicsCi0gICAgICAgICAgICAgICAgICAgICc8aSBjbGFz cz0iYXV0by1yb2xsYmFjayBmYSBmYS1jaGVjayB2aXNpYmlsaXR5LWhpZGRl biIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4nLAotICAgICAgICAgICAgICAg ICAgICAnPHNwYW4+IHt7IF8oJ0F1dG8gUm9sbGJhY2snKSB9fSA8L3NwYW4+ JywKLSAgICAgICAgICAgICAgICAnPC9hPicsCi0gICAgICAgICAgICAgICc8 L2xpPicsCi0gICAgICAgICAgICAnPC91bD4nLAotICAgICAgICAgICAgJzxi dXR0b24gaWQ9ImJ0bi1jYW5jZWwtcXVlcnkiIHR5cGU9ImJ1dHRvbiIgY2xh c3M9ImJ0biBidG4tZGVmYXVsdCIgdGl0bGU9Int7IF8oJ0NhbmNlbCBxdWVy eScpIH19IiBkaXNhYmxlZD4nLAotICAgICAgICAgICAgICAnPGkgY2xhc3M9 ImZhIGZhLXN0b3AiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+JywKLSAgICAg ICAgICAgICc8L2J1dHRvbj4nLAotICAgICAgICAgICc8L2Rpdj4nLAotICAg ICAgICAgICc8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiIHJvbGU9Imdyb3VwIiBh cmlhLWxhYmVsPSIiPicsCi0gICAgICAgICAgICAnPGJ1dHRvbiBpZD0iYnRu LWVkaXQiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIg dGl0bGU9Int7IF8oJ0VkaXQnKSB9fSI+JywKLSAgICAgICAgICAgICAgJzxp IGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iIGFyaWEtaGlkZGVuPSJ0 cnVlIj48L2k+JywKLSAgICAgICAgICAgICc8L2J1dHRvbj4nLAotICAgICAg ICAgICAgJzxidXR0b24gaWQ9ImJ0bi1lZGl0LWRyb3Bkb3duIiB0eXBlPSJi dXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xl IiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUi IGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4nLAotICAgICAgICAgICAgICAnPHNw YW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+IDxzcGFuIGNsYXNzPSJzci1vbmx5 Ij5Ub2dnbGUgRHJvcGRvd248L3NwYW4+JywKLSAgICAgICAgICAgICc8L2J1 dHRvbj4nLAotICAgICAgICAgICAgJzx1bCBjbGFzcz0iZHJvcGRvd24tbWVu dSBkcm9wZG93bi1tZW51Ij4nLAotICAgICAgICAgICAgICAnPGxpPicsCi0g ICAgICAgICAgICAgICAgJzxhIGlkPSJidG4tY2xlYXIiIGhyZWY9IiMiPics Ci0gICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtZXJhc2Vy IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPicsCi0gICAgICAgICAgICAgICAg ICAgICc8c3Bhbj4ge3sgXygnQ2xlYXIgcXVlcnkgd2luZG93JykgfX0gPC9z cGFuPicsCi0gICAgICAgICAgICAgICAgJzwvYT4nLAotICAgICAgICAgICAg ICAgICc8YSBpZD0iYnRuLWNsZWFyLWhpc3RvcnkiIGhyZWY9IiMiPicsCi0g ICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtZXJhc2VyIiBh cmlhLWhpZGRlbj0idHJ1ZSI+PC9pPicsCi0gICAgICAgICAgICAgICAgICAg ICc8c3Bhbj4ge3sgXygnQ2xlYXIgaGlzdG9yeScpIH19IDwvc3Bhbj4nLAot ICAgICAgICAgICAgICAgICc8L2E+JywKLSAgICAgICAgICAgICAgJzwvbGk+ JywKLSAgICAgICAgICAgICc8L3VsPicsCi0gICAgICAgICAgJzwvZGl2Pics Ci0gICAgICAgICAgJzxkaXYgY2xhc3M9ImJ0bi1ncm91cCIgcm9sZT0iZ3Jv dXAiIGFyaWEtbGFiZWw9IiI+JywKLSAgICAgICAgICAgICc8YnV0dG9uIGlk PSJidG4tZG93bmxvYWQiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4t ZGVmYXVsdCIgdGl0bGU9Int7IF8oJ0Rvd25sb2FkIGFzIENTVicpIH19Ij4n LAotICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWRvd25sb2FkIiBh cmlhLWhpZGRlbj0idHJ1ZSI+PC9pPicsCi0gICAgICAgICAgICAnPC9idXR0 b24+JywKLSAgICAgICAgICAnPC9kaXY+JywKLSAgICAgICAgJzwvZGl2Pics Ci0gICAgICAgICc8ZGl2IGNsYXNzPSJlZGl0b3ItdGl0bGUiPjwvZGl2Pics Ci0gICAgICAgICc8ZGl2IGlkPSJmaWx0ZXIiIGNsYXNzPSJmaWx0ZXItY29u dGFpbmVyIGhpZGRlbiI+JywKLSAgICAgICAgICAnPGRpdiBjbGFzcz0iZmls dGVyLXRpdGxlIj5GaWx0ZXI8L2Rpdj4nLAotICAgICAgICAgICc8ZGl2IGNs YXNzPSJzcWwtdGV4dGFyZWEiPicsCi0gICAgICAgICAgICAnPHRleHRhcmVh IGlkPSJzcWxfZmlsdGVyIiByb3c9IjUiPjwvdGV4dGFyZWE+JywKLSAgICAg ICAgICAnPC9kaXY+JywKLSAgICAgICAgICAnPGRpdiBjbGFzcz0iYnRuLWdy b3VwIj4nLAotICAgICAgICAgICAgJzxidXR0b24gaWQ9ImJ0bi1jYW5jZWwi IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIiB0aXRsZT0i e3sgXygnQ2FuY2VsJykgfX0iPicsCi0gICAgICAgICAgICAgICc8aSBjbGFz cz0iZmEgZmEtdGltZXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IHt7IF8o J0NhbmNlbCcpIH19JywKLSAgICAgICAgICAgICc8L2J1dHRvbj4nLAotICAg ICAgICAgICc8L2Rpdj4nLAotICAgICAgICAgICc8ZGl2IGNsYXNzPSJidG4t Z3JvdXAiPicsCi0gICAgICAgICAgICAnPGJ1dHRvbiBpZD0iYnRuLWFwcGx5 IiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHRpdGxl PSJ7eyBfKCdBcHBseScpIH19Ij4nLAotICAgICAgICAgICAgICAnPGkgY2xh c3M9ImZhIGZhLWNoZWNrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiB7eyBf KCdBcHBseScpIH19JywKLSAgICAgICAgICAgICc8L2J1dHRvbj4nLAotICAg ICAgICAgICc8L2Rpdj4nLAotICAgICAgICAnPC9kaXY+JywKLSAgICAgICAg JzxkaXYgaWQ9ImVkaXRvci1wYW5lbCI+PC9kaXY+JwotICAgICAgICBdLmpv aW4oIlxuIikpLAotCiAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQg dG8gcmVuZGVyIHRoZSB0ZW1wbGF0ZS4KICAgICAgIHJlbmRlcjogZnVuY3Rp b24oKSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKIAotICAgICAgICAv LyBSZW5kZXIgaGVhZGVyIG9ubHkuCi0gICAgICAgIHNlbGYuJGVsLmVtcHR5 KCk7Ci0gICAgICAgIHNlbGYuJGVsLmh0bWwoc2VsZi50ZW1wbGF0ZSgpKTsK LQogICAgICAgICAkKCcuZWRpdG9yLXRpdGxlJykudGV4dChzZWxmLmVkaXRv cl90aXRsZSk7CiAKICAgICAgICAgdmFyIGZpbHRlciA9IHNlbGYuJGVsLmZp bmQoJyNzcWxfZmlsdGVyJyk7CiAKICAgICAgICAgc2VsZi5maWx0ZXJfb2Jq ID0gQ29kZU1pcnJvci5mcm9tVGV4dEFyZWEoZmlsdGVyLmdldCgwKSwgewog ICAgICAgICAgICAgbGluZU51bWJlcnM6IHRydWUsCi0gICAgICAgICAgICBs aW5lV3JhcHBpbmc6IHRydWUsCiAgICAgICAgICAgICBtYXRjaEJyYWNrZXRz OiB0cnVlLAogICAgICAgICAgICAgaW5kZW50VW5pdDogNCwKLSAgICAgICAg ICAgIG1vZGU6ICJ0ZXh0L3gtcGdzcWwiCisgICAgICAgICAgICBtb2RlOiAi dGV4dC94LXBnc3FsIiwKKyAgICAgICAgICAgIGZvbGRPcHRpb25zOiB7Cisg ICAgICAgICAgICAgIHdpZGdldDogIlx1MjAyNiIKKyAgICAgICAgICAgIH0s CisgICAgICAgICAgICBmb2xkR3V0dGVyOiB7CisgICAgICAgICAgICAgIHJh bmdlRmluZGVyOiBDb2RlTWlycm9yLmZvbGQuY29tYmluZShDb2RlTWlycm9y LnBnYWRtaW5CZWdpblJhbmdlRmluZGVyLCBDb2RlTWlycm9yLnBnYWRtaW5J ZlJhbmdlRmluZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDb2RlTWlycm9yLnBnYWRtaW5Mb29wUmFuZ2VGaW5kZXIsIENvZGVNaXJy b3IucGdhZG1pbkNhc2VSYW5nZUZpbmRlcikKKyAgICAgICAgICAgIH0sCisg ICAgICAgICAgICBndXR0ZXJzOiBbIkNvZGVNaXJyb3ItbGluZW51bWJlcnMi LCAiQ29kZU1pcnJvci1mb2xkZ3V0dGVyIl0KICAgICAgICAgfSk7CiAKICAg ICAgICAgLy8gQ3JlYXRlIG1haW4gd2NEb2NrZXIgaW5zdGFuY2UKQEAgLTMw Nyw1NyArMTk2LDM3IEBAIGRlZmluZSgKICAgICAgICAgICB0aGVtZTogJ3Bn YWRtaW4nCiAgICAgICAgIH0pOwogCi0gICAgICAgIHZhciBzdWJfcGFuZWwg PSBuZXcgcGdBZG1pbi5Ccm93c2VyLlBhbmVsKHsKLSAgICAgICAgICBuYW1l OiAnc3ViX3BhbmVsJywKKyAgICAgICAgdmFyIHNxbF9wYW5lbCA9IG5ldyBw Z0FkbWluLkJyb3dzZXIuUGFuZWwoeworICAgICAgICAgIG5hbWU6ICdzcWxf cGFuZWwnLAogICAgICAgICAgIHRpdGxlOiBmYWxzZSwKICAgICAgICAgICB3 aWR0aDogJzEwMCUnLAotICAgICAgICAgIGhlaWdodDonMTAwJScsCisgICAg ICAgICAgaGVpZ2h0OicyMCUnLAogICAgICAgICAgIGlzQ2xvc2VhYmxlOiBm YWxzZSwKICAgICAgICAgICBpc1ByaXZhdGU6IHRydWUKICAgICAgICAgfSk7 CiAKLSAgICAgICAgc3ViX3BhbmVsLmxvYWQobWFpbl9kb2NrZXIpOwotICAg ICAgICBwYW5lbCA9IG1haW5fZG9ja2VyLmFkZFBhbmVsKCdzdWJfcGFuZWwn LCB3Y0RvY2tlci5ET0NLLkxFRlQpOwotCi0gICAgICAgIC8vIENyZWF0ZSBh IFNwbGl0dGVyIHRvIGRpdmlkZSBzcWwgY29kZSBhbmQgZGF0YSBvdXRwdXQK LSAgICAgICAgdmFyIGhTcGxpdHRlciA9IG5ldyB3Y1NwbGl0dGVyKAotICAg ICAgICAgICIjZWRpdG9yLXBhbmVsIiwgcGFuZWwsCi0gICAgICAgICAgd2NE b2NrZXIuT1JJRU5UQVRJT04uVkVSVElDQUwKLSAgICAgICAgKTsKLSAgICAg ICAgaFNwbGl0dGVyLnNjcm9sbGFibGUoMCwgZmFsc2UsIGZhbHNlKTsKLSAg ICAgICAgaFNwbGl0dGVyLnNjcm9sbGFibGUoMSwgdHJ1ZSwgdHJ1ZSk7Cisg ICAgICAgIC8vc3FsX3BhbmVsLmxvYWQobWFpbl9kb2NrZXIpOworICAgICAg ICBzcWxfcGFuZWwubG9hZChtYWluX2RvY2tlcik7CisgICAgICAgIHZhciBz cWxfcGFuZWxfb2JqID0gbWFpbl9kb2NrZXIuYWRkUGFuZWwoJ3NxbF9wYW5l bCcsIHdjRG9ja2VyLkRPQ0suVE9QKTsKIAotICAgICAgICAvLyBJbml0aWFs aXplIHRoaXMgc3BsaXR0ZXIgd2l0aCBhIGxheW91dCBpbiBlYWNoIHBhbmUu Ci0gICAgICAgIGhTcGxpdHRlci5pbml0TGF5b3V0cyh3Y0RvY2tlci5MQVlP VVQuU0lNUExFLCB3Y0RvY2tlci5MQVlPVVQuU0lNUExFKTsKLQotICAgICAg ICAvLyBCeSBkZWZhdWx0LCB0aGUgc3BsaXR0ZXIgc3BsaXRzIGRvd24gdGhl IG1pZGRsZSwgd2Ugc3BsaXQgdGhlIG1haW4gcGFuZWwgYnkgODAlLgotICAg ICAgICBoU3BsaXR0ZXIucG9zKDAuMjUpOwotCi0gICAgICAgIHZhciB0ZXh0 X2NvbnRhaW5lciA9ICQoJzx0ZXh0YXJlYSBpZD0ic3FsX3F1ZXJ5X3Rvb2wi IHJvdz0iNSI+PC90ZXh0YXJlYT4nKTsKLQotICAgICAgICAvLyBBZGQgdGV4 dF9jb250YWluZXIgYXQgdGhlIHRvcCBoYWxmIG9mIHRoZSBzcGxpdHRlcgot ICAgICAgICBoU3BsaXR0ZXIubGVmdCgpLmFkZEl0ZW0odGV4dF9jb250YWlu ZXIpOwotCi0gICAgICAgIC8vIEFkZCBkYXRhIG91dHB1dCBwYW5lbCBhdCB0 aGUgYm90dG9tIGhhbGYgb2YgdGhlIHNwbGl0dGVyCiAgICAgICAgIHZhciBv dXRwdXRfY29udGFpbmVyID0gJCgnPGRpdiBpZD0ib3V0cHV0LXBhbmVsIj48 L2Rpdj4nKTsKLSAgICAgICAgaFNwbGl0dGVyLnJpZ2h0KCkuYWRkSXRlbShv dXRwdXRfY29udGFpbmVyKTsKKyAgICAgICAgdmFyIHRleHRfY29udGFpbmVy ID0gJCgnPHRleHRhcmVhIGlkPSJzcWxfcXVlcnlfdG9vbCI+PC90ZXh0YXJl YT4nKS5hcHBlbmQob3V0cHV0X2NvbnRhaW5lcik7CisgICAgICAgIHNxbF9w YW5lbF9vYmoubGF5b3V0KCkuYWRkSXRlbSh0ZXh0X2NvbnRhaW5lcik7CiAK ICAgICAgICAgc2VsZi5xdWVyeV90b29sX29iaiA9IENvZGVNaXJyb3IuZnJv bVRleHRBcmVhKHRleHRfY29udGFpbmVyLmdldCgwKSwgewogICAgICAgICAg ICAgbGluZU51bWJlcnM6IHRydWUsCi0gICAgICAgICAgICBsaW5lV3JhcHBp bmc6IHRydWUsCiAgICAgICAgICAgICBtYXRjaEJyYWNrZXRzOiB0cnVlLAog ICAgICAgICAgICAgaW5kZW50VW5pdDogNCwKICAgICAgICAgICAgIHN0eWxl U2VsZWN0ZWRUZXh0OiB0cnVlLAotICAgICAgICAgICAgbW9kZTogInRleHQv eC1zcWwiCi0gICAgICAgIH0pOwotCi0gICAgICAgIC8vIENyZWF0ZSB3Y0Rv Y2tlciBmb3IgdGFiIHNldC4KLSAgICAgICAgdmFyIGRvY2tlciA9IG5ldyB3 Y0RvY2tlcigKLSAgICAgICAgICAnI291dHB1dC1wYW5lbCcsIHsKLSAgICAg ICAgICBhbGxvd0NvbnRleHRNZW51OiBmYWxzZSwKLSAgICAgICAgICBhbGxv d0NvbGxhcHNlOiBmYWxzZSwKLSAgICAgICAgICB0aGVtZVBhdGg6ICd7eyB1 cmxfZm9yKCdzdGF0aWMnLCBmaWxlbmFtZT0nY3NzL3djRG9ja2VyL1RoZW1l cycpIH19JywKLSAgICAgICAgICB0aGVtZTogJ3BnYWRtaW4nCisgICAgICAg ICAgICBtb2RlOiAidGV4dC94LXBnc3FsIiwKKyAgICAgICAgICAgIGZvbGRP cHRpb25zOiB7CisgICAgICAgICAgICAgIHdpZGdldDogIlx1MjAyNiIKKyAg ICAgICAgICAgIH0sCisgICAgICAgICAgICBmb2xkR3V0dGVyOiB7CisgICAg ICAgICAgICAgIHJhbmdlRmluZGVyOiBDb2RlTWlycm9yLmZvbGQuY29tYmlu ZShDb2RlTWlycm9yLnBnYWRtaW5CZWdpblJhbmdlRmluZGVyLCBDb2RlTWly cm9yLnBnYWRtaW5JZlJhbmdlRmluZGVyLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDb2RlTWlycm9yLnBnYWRtaW5Mb29wUmFuZ2VGaW5k ZXIsIENvZGVNaXJyb3IucGdhZG1pbkNhc2VSYW5nZUZpbmRlcikKKyAgICAg ICAgICAgIH0sCisgICAgICAgICAgICBndXR0ZXJzOiBbIkNvZGVNaXJyb3It bGluZW51bWJlcnMiLCAiQ29kZU1pcnJvci1mb2xkZ3V0dGVyIl0KICAgICAg ICAgfSk7CiAKICAgICAgICAgLy8gQ3JlYXRlIHBhbmVscyBmb3IgJ0RhdGEg T3V0cHV0JywgJ0V4cGxhaW4nLCAnTWVzc2FnZXMnIGFuZCAnSGlzdG9yeScK QEAgLTQwMiwxNiArMjcxLDE2IEBAIGRlZmluZSgKICAgICAgICAgfSkKIAog ICAgICAgICAvLyBMb2FkIGFsbCB0aGUgY3JlYXRlZCBwYW5lbHMKLSAgICAg ICAgZGF0YV9vdXRwdXQubG9hZChkb2NrZXIpOwotICAgICAgICBleHBsYWlu LmxvYWQoZG9ja2VyKTsKLSAgICAgICAgbWVzc2FnZXMubG9hZChkb2NrZXIp OwotICAgICAgICBoaXN0b3J5LmxvYWQoZG9ja2VyKTsKKyAgICAgICAgZGF0 YV9vdXRwdXQubG9hZChtYWluX2RvY2tlcik7CisgICAgICAgIGV4cGxhaW4u bG9hZChtYWluX2RvY2tlcik7CisgICAgICAgIG1lc3NhZ2VzLmxvYWQobWFp bl9kb2NrZXIpOworICAgICAgICBoaXN0b3J5LmxvYWQobWFpbl9kb2NrZXIp OwogCiAgICAgICAgIC8vIEFkZCBhbGwgdGhlIHBhbmVscyB0byB0aGUgZG9j a2VyCi0gICAgICAgIHNlbGYuZGF0YV9vdXRwdXRfcGFuZWwgPSBkb2NrZXIu YWRkUGFuZWwoJ2RhdGFfb3V0cHV0Jywgd2NEb2NrZXIuRE9DSy5MRUZUKTsK LSAgICAgICAgc2VsZi5leHBsYWluX3BhbmVsID0gZG9ja2VyLmFkZFBhbmVs KCdleHBsYWluJywgd2NEb2NrZXIuRE9DSy5TVEFDS0VELCBzZWxmLmRhdGFf b3V0cHV0X3BhbmVsKTsKLSAgICAgICAgc2VsZi5tZXNzYWdlc19wYW5lbCA9 IGRvY2tlci5hZGRQYW5lbCgnbWVzc2FnZXMnLCB3Y0RvY2tlci5ET0NLLlNU QUNLRUQsIHNlbGYuZGF0YV9vdXRwdXRfcGFuZWwpOwotICAgICAgICBzZWxm Lmhpc3RvcnlfcGFuZWwgPSBkb2NrZXIuYWRkUGFuZWwoJ2hpc3RvcnknLCB3 Y0RvY2tlci5ET0NLLlNUQUNLRUQsIHNlbGYuZGF0YV9vdXRwdXRfcGFuZWwp OworICAgICAgICBzZWxmLmRhdGFfb3V0cHV0X3BhbmVsID0gbWFpbl9kb2Nr ZXIuYWRkUGFuZWwoJ2RhdGFfb3V0cHV0Jywgd2NEb2NrZXIuRE9DSy5CT1RU T00sIHNxbF9wYW5lbF9vYmopOworICAgICAgICBzZWxmLmV4cGxhaW5fcGFu ZWwgPSBtYWluX2RvY2tlci5hZGRQYW5lbCgnZXhwbGFpbicsIHdjRG9ja2Vy LkRPQ0suU1RBQ0tFRCwgc2VsZi5kYXRhX291dHB1dF9wYW5lbCk7CisgICAg ICAgIHNlbGYubWVzc2FnZXNfcGFuZWwgPSBtYWluX2RvY2tlci5hZGRQYW5l bCgnbWVzc2FnZXMnLCB3Y0RvY2tlci5ET0NLLlNUQUNLRUQsIHNlbGYuZGF0 YV9vdXRwdXRfcGFuZWwpOworICAgICAgICBzZWxmLmhpc3RvcnlfcGFuZWwg PSBtYWluX2RvY2tlci5hZGRQYW5lbCgnaGlzdG9yeScsIHdjRG9ja2VyLkRP Q0suU1RBQ0tFRCwgc2VsZi5kYXRhX291dHB1dF9wYW5lbCk7CiAKICAgICAg ICAgc2VsZi5yZW5kZXJfaGlzdG9yeV9ncmlkKCk7CiAgICAgICB9LApAQCAt NjYwLDI0ICs1MjksMjQgQEAgZGVmaW5lKAogICAgICAgfSwKIAogICAgICAg Ly8gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIGNvcHkgYnV0dG9uIGNsaWNrLgot ICAgICAgb25fY29weTogZnVuY3Rpb24oKSB7CisgICAgICBvbl9jb3B5X3Jv dzogZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKIAog ICAgICAgICAvLyBUcmlnZ2VyIHRoZSBjb3B5IHNpZ25hbCB0byB0aGUgU3Fs RWRpdG9yQ29udHJvbGxlciBjbGFzcwogICAgICAgICBzZWxmLmhhbmRsZXIu dHJpZ2dlcigKLSAgICAgICAgICAgICdwZ2FkbWluLXNxbGVkaXRvcjpidXR0 b246Y29weScsCisgICAgICAgICAgICAncGdhZG1pbi1zcWxlZGl0b3I6YnV0 dG9uOmNvcHlfcm93JywKICAgICAgICAgICAgIHNlbGYsCiAgICAgICAgICAg ICBzZWxmLmhhbmRsZXIKICAgICAgICAgKTsKICAgICAgIH0sCiAKICAgICAg IC8vIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBwYXN0ZSBidXR0b24gY2xpY2su Ci0gICAgICBvbl9wYXN0ZTogZnVuY3Rpb24oKSB7CisgICAgICBvbl9wYXN0 ZV9yb3c6IGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7 CiAKICAgICAgICAgLy8gVHJpZ2dlciB0aGUgcGFzdGUgc2lnbmFsIHRvIHRo ZSBTcWxFZGl0b3JDb250cm9sbGVyIGNsYXNzCiAgICAgICAgIHNlbGYuaGFu ZGxlci50cmlnZ2VyKAotICAgICAgICAgICAgJ3BnYWRtaW4tc3FsZWRpdG9y OmJ1dHRvbjpwYXN0ZScsCisgICAgICAgICAgICAncGdhZG1pbi1zcWxlZGl0 b3I6YnV0dG9uOnBhc3RlX3JvdycsCiAgICAgICAgICAgICBzZWxmLAogICAg ICAgICAgICAgc2VsZi5oYW5kbGVyCiAgICAgICAgICk7CkBAIC04MjYsOCAr Njk1LDggQEAgZGVmaW5lKAogICAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4t c3FsZWRpdG9yOmJ1dHRvbjpleGNsdWRlX2ZpbHRlcicsIHNlbGYuX2V4Y2x1 ZGVfZmlsdGVyLCBzZWxmKTsKICAgICAgICAgICBzZWxmLm9uKCdwZ2FkbWlu LXNxbGVkaXRvcjpidXR0b246cmVtb3ZlX2ZpbHRlcicsIHNlbGYuX3JlbW92 ZV9maWx0ZXIsIHNlbGYpOwogICAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4t c3FsZWRpdG9yOmJ1dHRvbjphcHBseV9maWx0ZXInLCBzZWxmLl9hcHBseV9m aWx0ZXIsIHNlbGYpOwotICAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4tc3Fs ZWRpdG9yOmJ1dHRvbjpjb3B5Jywgc2VsZi5fY29weSwgc2VsZik7Ci0gICAg ICAgICAgc2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOnBhc3Rl Jywgc2VsZi5fcGFzdGUsIHNlbGYpOworICAgICAgICAgIHNlbGYub24oJ3Bn YWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpjb3B5X3JvdycsIHNlbGYuX2NvcHlf cm93LCBzZWxmKTsKKyAgICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVk aXRvcjpidXR0b246cGFzdGVfcm93Jywgc2VsZi5fcGFzdGVfcm93LCBzZWxm KTsKICAgICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVkaXRvcjpidXR0 b246bGltaXQnLCBzZWxmLl9zZXRfbGltaXQsIHNlbGYpOwogICAgICAgICAg IHNlbGYub24oJ3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpmbGFzaCcsIHNl bGYuX3JlZnJlc2gsIHNlbGYpOwogICAgICAgICAgIHNlbGYub24oJ3BnYWRt aW4tc3FsZWRpdG9yOmJ1dHRvbjpjYW5jZWwtcXVlcnknLCBzZWxmLl9jYW5j ZWxfcXVlcnksIHNlbGYpOwpAQCAtMTAyOCwxNSArODk3LDYgQEAgZGVmaW5l KAogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHNlbGYuY2FuX2VkaXQg PSB0cnVlOwogCi0gICAgICAgICAgLyogSWYgdXNlciBjYW4gZWRpdCB0aGUg ZGF0YSB0aGVuIHdlIHNob3VsZCBlbmFibGVkCi0gICAgICAgICAgICogQ29w eSBSb3csIFBhc3RlIFJvdyBhbmQgJ0FkZCBOZXcgUm93JyBidXR0b25zLgot ICAgICAgICAgICAqLwotICAgICAgICAgIGlmIChzZWxmLmNhbl9lZGl0KSB7 Ci0gICAgICAgICAgICAkKCIjYnRuLWFkZC1yb3ciKS5wcm9wKCdkaXNhYmxl ZCcsIGZhbHNlKTsKLSAgICAgICAgICAgICQoIiNidG4tY29weSIpLnByb3Ao J2Rpc2FibGVkJywgZmFsc2UpOwotICAgICAgICAgICAgJCgiI2J0bi1wYXN0 ZSIpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpOwotICAgICAgICAgIH0KLQog ICAgICAgICAgIC8qIElmIHVzZXIgY2FuIGZpbHRlciB0aGUgZGF0YSB0aGVu IHdlIHNob3VsZCBlbmFibGVkCiAgICAgICAgICAgICogRmlsdGVyIGFuZCBM aW1pdCBidXR0b25zLgogICAgICAgICAgICAqLwpAQCAtMTA4MCw2ICs5NDAs NyBAQCBkZWZpbmUoCiAgICAgICAgICAgc2VsZi5jb2xsZWN0aW9uLm9uKCdi YWNrZ3JpZDplZGl0aW5nJywgc2VsZi5vbl9jZWxsX2VkaXRpbmcsIHNlbGYp OwogICAgICAgICAgIHNlbGYuY29sbGVjdGlvbi5vbignYmFja2dyaWQ6cm93 OnNlbGVjdGVkJywgc2VsZi5vbl9yb3dfc2VsZWN0ZWQsIHNlbGYpOwogICAg ICAgICAgIHNlbGYuY29sbGVjdGlvbi5vbignYmFja2dyaWQ6cm93OmRlc2Vs ZWN0ZWQnLCBzZWxmLm9uX3Jvd19kZXNlbGVjdGVkLCBzZWxmKTsKKyAgICAg ICAgICBzZWxmLmxpc3RlblRvKHNlbGYuY29sbGVjdGlvbiwgInJlc2V0Iiwg c2VsZi5jb2xsZWN0aW9uX3Jlc2V0X2NhbGxiYWNrKTsKIAogICAgICAgICAg IC8vIFNob3cgbWVzc2FnZSBpbiBtZXNzYWdlIGFuZCBoaXN0b3J5IHRhYiBp biBjYXNlIG9mIHF1ZXJ5IHRvb2wKICAgICAgICAgICBzZWxmLnRvdGFsX3Rp bWUgPSBzZWxmLmdldF9xdWVyeV9ydW5fdGltZShzZWxmLnF1ZXJ5X3N0YXJ0 X3RpbWUsIHNlbGYucXVlcnlfZW5kX3RpbWUpOwpAQCAtMTA5Niw2ICs5NTcs MjkgQEAgZGVmaW5lKAogICAgICAgICAgIHNlbGYudHJpZ2dlcigncGdhZG1p bi1zcWxlZGl0b3I6bG9hZGluZy1pY29uOmhpZGUnKTsKICAgICAgICAgfSwK IAorICAgICAgICBjb2xsZWN0aW9uX3Jlc2V0X2NhbGxiYWNrOiBmdW5jdGlv bigpIHsKKyAgICAgICAgICB2YXIgc2VsZiA9IHRoaXMKKworICAgICAgICAg IC8qIElmIHVzZXIgY2FuIGVkaXQgdGhlIGRhdGEgYW5kIGN1cnJlbnQgcGFn ZSBpcyB0aGUKKyAgICAgICAgICAgKiBsYXN0IHBhZ2Ugb2YgdGhlIHBhZ2lu YXRvciB0aGVuIHdlIHNob3VsZCBlbmFibGVkCisgICAgICAgICAgICogQ29w eSBSb3csIFBhc3RlIFJvdyBhbmQgJ0FkZCBOZXcgUm93JyBidXR0b25zLgor ICAgICAgICAgICAqLworICAgICAgICAgICBpZiAoc2VsZi5jYW5fZWRpdCAm JgorICAgICAgICAgICAgICAgc2VsZi5jb2xsZWN0aW9uLnN0YXRlLmN1cnJl bnRQYWdlICE9IHVuZGVmaW5lZCAmJgorICAgICAgICAgICAgICAgc2VsZi5j b2xsZWN0aW9uLnN0YXRlLmxhc3RQYWdlICE9IHVuZGVmaW5lZCAmJgorICAg ICAgICAgICAgICAgc2VsZi5jb2xsZWN0aW9uLnN0YXRlLmN1cnJlbnRQYWdl ID09IHNlbGYuY29sbGVjdGlvbi5zdGF0ZS5sYXN0UGFnZSkKKyAgICAgICAg ICAgeworICAgICAgICAgICAgICQoIiNidG4tYWRkLXJvdyIpLnByb3AoJ2Rp c2FibGVkJywgZmFsc2UpOworICAgICAgICAgICAgICQoIiNidG4tY29weS1y b3ciKS5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTsKKyAgICAgICAgICAgICAk KCIjYnRuLXBhc3RlLXJvdyIpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpOwor ICAgICAgICAgICB9CisgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAg ICQoIiNidG4tYWRkLXJvdyIpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7Cisg ICAgICAgICAgICAgJCgiI2J0bi1jb3B5LXJvdyIpLnByb3AoJ2Rpc2FibGVk JywgdHJ1ZSk7CisgICAgICAgICAgICAgJCgiI2J0bi1wYXN0ZS1yb3ciKS5w cm9wKCdkaXNhYmxlZCcsIHRydWUpOworICAgICAgICAgICB9CisgICAgICAg IH0sCisKICAgICAgICAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIHRoZSBj b2x1bW5zIGFzIHJlcXVpcmVkIGJ5IHRoZSBiYWNrZ3JpZAogICAgICAgICBf ZmV0Y2hfY29sdW1uX21ldGFkYXRhOiBmdW5jdGlvbihkYXRhKSB7CiAgICAg ICAgICAgdmFyIGNvbGluZm8gPSBkYXRhLmNvbGluZm8sCkBAIC0xNzMyLDcg KzE2MTYsNyBAQCBkZWZpbmUoCiAgICAgICAgIH0sCiAKICAgICAgICAgLy8g VGhpcyBmdW5jdGlvbiB3aWxsIGNvcHkgdGhlIHNlbGVjdGVkIHJvdy4KLSAg ICAgICAgX2NvcHk6IGZ1bmN0aW9uKCkgeworICAgICAgICBfY29weV9yb3c6 IGZ1bmN0aW9uKCkgewogICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKIAog ICAgICAgICAgIC8vIFNhdmUgdGhlIHNlbGVjdGVkIG1vZGVsIGFzIGNvcGll ZCBtb2RlbCBmb3IgZnV0dXJlIHVzZQpAQCAtMTc0MSw3ICsxNjI1LDcgQEAg ZGVmaW5lKAogICAgICAgICB9LAogCiAgICAgICAgIC8vIFRoaXMgZnVuY3Rp b24gd2lsbCBwYXN0ZSB0aGUgc2VsZWN0ZWQgcm93LgotICAgICAgICBfcGFz dGU6IGZ1bmN0aW9uKCkgeworICAgICAgICBfcGFzdGVfcm93OiBmdW5jdGlv bigpIHsKICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICAg ICAgIG5ld19tb2RlbCA9IG51bGw7CiAgICAgICAgICAgaWYgKCdjb3BpZWRf bW9kZWwnIGluIHNlbGYgJiYgc2VsZi5jb3BpZWRfbW9kZWwgIT0gbnVsbCkg ewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3Rl bXBsYXRlcy9zcWxlZGl0b3Ivc3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwgYi93 ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVzL3NxbGVkaXRv ci9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggN2MxNzYxNi4uMDAwMDAwMAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3IvdGVtcGxhdGVzL3NxbGVkaXRvci9zcWwvOS4x X3BsdXMvY3JlYXRlLnNxbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBA QAoteyMgSW5zZXJ0IHRoZSBuZXcgcm93IHdpdGggcHJpbWFyeSBrZXlzIChz cGVjaWZpZWQgaW4gcHJpbWFyeV9rZXlzKSAjfQotSU5TRVJUIElOVE8ge3sg Y29ubnxxdElkZW50KG5zcF9uYW1lLCBvYmplY3RfbmFtZSkgfX0gKAoteyUg Zm9yIGNvbCBpbiBkYXRhX3RvX2JlX3NhdmVkICV9Ci17JSBpZiBub3QgbG9v cC5maXJzdCAlfSwgeyUgZW5kaWYgJX17eyBjb25ufHF0SWRlbnQoY29sKSB9 fXslIGVuZGZvciAlfQotKSBWQUxVRVMgKAoteyUgZm9yIGNvbCBpbiBkYXRh X3RvX2JlX3NhdmVkICV9Ci17JSBpZiBub3QgbG9vcC5maXJzdCAlfSwgeyUg ZW5kaWYgJX17eyBkYXRhX3RvX2JlX3NhdmVkW2NvbF18cXRMaXRlcmFsIH19 eyUgZW5kZm9yICV9Ci0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZW1w bGF0ZXMvc3FsZWRpdG9yL3NxbC85LjFfcGx1cy9pbnNlcnQuc3FsIGIvd2Vi L3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3RlbXBsYXRlcy9zcWxlZGl0b3Iv c3FsLzkuMV9wbHVzL2luc2VydC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uN2MxNzYxNgotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZW1wbGF0ZXMvc3FsZWRpdG9y L3NxbC85LjFfcGx1cy9pbnNlcnQuc3FsCkBAIC0wLDAgKzEsOCBAQAoreyMg SW5zZXJ0IHRoZSBuZXcgcm93IHdpdGggcHJpbWFyeSBrZXlzIChzcGVjaWZp ZWQgaW4gcHJpbWFyeV9rZXlzKSAjfQorSU5TRVJUIElOVE8ge3sgY29ubnxx dElkZW50KG5zcF9uYW1lLCBvYmplY3RfbmFtZSkgfX0gKAoreyUgZm9yIGNv bCBpbiBkYXRhX3RvX2JlX3NhdmVkICV9Cit7JSBpZiBub3QgbG9vcC5maXJz dCAlfSwgeyUgZW5kaWYgJX17eyBjb25ufHF0SWRlbnQoY29sKSB9fXslIGVu ZGZvciAlfQorKSBWQUxVRVMgKAoreyUgZm9yIGNvbCBpbiBkYXRhX3RvX2Jl X3NhdmVkICV9Cit7JSBpZiBub3QgbG9vcC5maXJzdCAlfSwgeyUgZW5kaWYg JX17eyBkYXRhX3RvX2JlX3NhdmVkW2NvbF18cXRMaXRlcmFsIH19eyUgZW5k Zm9yICV9CispOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK --001a113d0e4c7b8ce50531ea64f9 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a113d0e4c7b8ce50531ea64f9--