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 1nZROT-00011P-E4 for pgadmin-hackers@arkaria.postgresql.org; Wed, 30 Mar 2022 06:01:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZROR-0006eu-Dv for pgadmin-hackers@arkaria.postgresql.org; Wed, 30 Mar 2022 06:01:19 +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 1nZROQ-0006ed-3p for pgadmin-hackers@lists.postgresql.org; Wed, 30 Mar 2022 06:01:18 +0000 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nZROK-0006aa-LX for pgadmin-hackers@postgresql.org; Wed, 30 Mar 2022 06:01:17 +0000 Received: by mail-pf1-x436.google.com with SMTP id p8so17842388pfh.8 for ; Tue, 29 Mar 2022 23:01:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=U1IPIrLxBGH3WyjeDdk6kaW21mAVe+13LqizuY9XK/M=; b=DG3mmpCME9vzDWuXcZfDki5+SvLRJNLtAx8FwVabpRrgWlfWcIY7o2HnpIA0bq5zVa 3anmZmQHcqvBovVQH818FW2F33eyNYGbHq5Er9yOxfje+d4AHK7n3fnYj8MzQBIpnWd6 8e4lT5YGmFTuoizc6s0w9Ke6TT1sCzPZ4vjNbIGmw8no6tRoybPhKFLEmj3ZRScFDY+D FChv1I41S157sCcSC4NU9NpLLrnEb5Thzzi0qyQHTwoCotvBNwQaG5um4CtYifh+HkjT phskbVULPIEnx8eO9vbSq9W0I8mm4hm4aaSwW50tTpWCyt9v/jBdtibJKIM49zo/2SaQ 1Khw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=U1IPIrLxBGH3WyjeDdk6kaW21mAVe+13LqizuY9XK/M=; b=sxOksCZnPc8GPQQ8wH6kDzun4/xyPPxt8aSwyFmoFf5Qn0c4Jm1ObRQmLIwF9siT0R 4E08BWEM6H29Kbe0S+bvo7pIjzfCEou65cFztN85VWrdChFo2z2VgUgHGUnUACjswyM6 TGf+IXnhwAj2kB9VofvG9QiOqALLQo8NEFjGPHqWgKurAOwJBpyfiBbVOYTVyMgUUT58 l4bO1T8np6S34q/7vx6H47gV2y7ESe1MdWwdjTYi6Q3+4j3kZsIRh1bMx86nuPsDUDVY pYX2LrzWJ9VER/BLR6mPu+4xTQ4IM4OofrYInjwSQ3a16qhCoqumO90Pc2R/5WiWprmn vVsg== X-Gm-Message-State: AOAM531KH4/J7RevP/9i2dt7MbCF+qGWIBICRvEqUmd+jnN9CZkpdiWD 8D3E3nYJCpnCzz92xnXGoajEW5/mo3KZ5JxuMWFyp5lPGcEgzZ29qEZeqZGtrqEVqJeBdavAWZT E4bsQqklF4B8n6zHwDapXS5exIXI9pT4LUcezcOYqQTqv8w9+64pI+gmJWFPqRQElGBrRlyIEbd 8cdeS/GdWtErQdDQkkinnFX/lcLQWcAzp9gml7DEXgcpS5P0FjVs/O5pq1G8Z2CAsqDg== X-Google-Smtp-Source: ABdhPJxw2xlZqCtPnK0VG1Z7MPcyyI/GQeI0VEQlpqyakvUpi4T45fq4QrB/Zf2Fae9ADzIB2rEZfpjVP/UwPGfJM8c= X-Received: by 2002:a05:6a00:2290:b0:4fa:a99e:2e21 with SMTP id f16-20020a056a00229000b004faa99e2e21mr31301070pfe.20.1648620068958; Tue, 29 Mar 2022 23:01:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Pradip Parkale Date: Wed, 30 Mar 2022 11:30:57 +0530 Message-ID: Subject: Re: [pgAdmin][RM-7132]: Port Properties collection, Dashboard and SQL panel in React To: Akshay Joshi Cc: Aditya Toshniwal , pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000095b0ef05db694539" 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: Archived-At: Precedence: bulk --00000000000095b0ef05db694539 Content-Type: multipart/related; boundary="00000000000095b0ee05db694538" --00000000000095b0ee05db694538 Content-Type: multipart/alternative; boundary="00000000000095b0ed05db694537" --00000000000095b0ed05db694537 Content-Type: text/plain; charset="UTF-8" Hi Akhay, Please find the updated patch.I have fixed all the issues. On Mon, Mar 28, 2022 at 11:58 AM Akshay Joshi wrote: > Hi Pradip > > Following are the review comments (GUI): > > - Catalog objects should not be drop or drop cascade. Remove > checkboxes from the properties panel. > - Database column should be there for the 'Server Activity' table all > tabs when the server is selected. When the database is selected it should > be hidden. > - Rename 'Lock' tab to 'Locks'. > - Remove extra column 'Waiting' which was not there originally. > - 'Server Activity' -> Sessions-> Details for the last record is not > readable. Fix the scroll bar issue. Same with the Configuration tab last > 4-5 records are not readable. > - Select and expand the first and second records, the rest of the > records are not visible, again seems to be a scroll bar issue. > - 'Server Activity' -> Locks, "Granted?" column is empty, not showing > any value. > - Set the width of the column appropriately for all the tabs, for > example, unit columns (in Configuration tab) width should be less, so that > data on the other columns are more readable. Check all the tabs and set > them appropriately > - Faced "Request failed with status code 404" error. Select database > server from browser tree and then select 'Server Activity' > -> Configuration. Now select any database, you will get the error. > - Properties panel size of the column having checkboxes should be > less, compare with existing behavior. > - Properties panel should show the message '*No Properties are > available for the selected object*' if the respective collection node > does not have children. > > > > On Mon, Mar 28, 2022 at 10:08 AM Pradip Parkale < > pradip.parkale@enterprisedb.com> wrote: > >> Hi, >> Here is the updated patch. This patch includes the fix for #7215 >> . >> >> On Mon, Mar 28, 2022 at 9:11 AM Pradip Parkale < >> pradip.parkale@enterprisedb.com> wrote: >> >>> Hi Aditya, >>> Please ignore the previous email, find the updated patch attached. >>> >>> On Sun, Mar 27, 2022 at 11:07 PM Pradip Parkale < >>> pradip.parkale@enterprisedb.com> wrote: >>> >>>> Hi Aditya, >>>> Please find the updated patch. >>>> >>>> On Tue, Mar 15, 2022 at 5:40 PM Aditya Toshniwal < >>>> aditya.toshniwal@enterprisedb.com> wrote: >>>> >>>>> Hi Pradip, >>>>> >>>>> I did some basic usage and review and found below issues: >>>>> 1. The code fails if you refresh the page and go to properties, when >>>>> no node is selected. >>>>> 2. I found below UI issues on selecting a database node. Also, >>>>> checkbox column is too wide. >>>>> [image: image.png] >>>>> 3. Why is this in the node.js file. It should be in node_view.jsx. >>>>> >>>>> + >>>>> >>>>> + ReactDOM.render( >>>>> >>>>> + >>>>> >>>>> + >>>> >>>>> + node={node} >>>>> >>>>> + treeNodeInfo={treeNodeInfo} >>>>> >>>>> + item={item} >>>>> >>>>> + itemNodeData={d} >>>>> >>>>> + pgBrowser={pgBrowser} >>>>> >>>>> + > >>>>> >>>>> + , >>>>> >>>>> + b.panels['properties'].panel.$container[0] >>>>> >>>>> + ); >>>>> >>>>> 4. I have seen a lot of commented codes. Few samples: >>>>> >>>>> + // if (that.canHide) { >>>>> >>>>> >>>>> + // >>>>> pgBrowser.Events.off('pgadmin-browser:tree:selected', () => { >>>>> >>>>> + >>>>> >>>>> + // removePanelView($container[0]); >>>>> >>>>> + // }); >>>>> >>>>> 5. In WelcomeDashboard.jsx, the complete SVG code is put. Please move >>>>> it to a file and import it. >>>>> 6. Cleanup web/pgadmin/dashboard/static/js/dashboardDummy.js >>>>> 7. Cleanup web/pgadmin/dashboard/static/js/dashboard_ponents.jsx >>>>> 8. Rename Sql.jsx to SQL.jsx >>>>> 9. The search is not working. It filters all. >>>>> 10. If there is huge data then it should show some spinner. >>>>> 11. Delete buttons should be disabled if no object is selected. >>>>> 12. Delete buttons and search box should be on the same line. >>>>> >>>>> On Tue, Mar 15, 2022 at 4:01 PM Akshay Joshi < >>>>> akshay.joshi@enterprisedb.com> wrote: >>>>> >>>>>> Hi Aditya >>>>>> >>>>>> Can you please review/test it? >>>>>> >>>>>> On Mon, Mar 14, 2022 at 7:17 PM Pradip Parkale < >>>>>> pradip.parkale@enterprisedb.com> wrote: >>>>>> >>>>>>> Hi Hackers, >>>>>>> >>>>>>> Please find the attached patch for #7132 >>>>>>> Port Properties >>>>>>> collection, Dashboard and SQL panel in React. >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks & Regards, >>>>>>> Pradip Parkale >>>>>>> Software Engineer | EnterpriseDB Corporation >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Thanks & Regards* >>>>>> *Akshay Joshi* >>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>> *EDB Postgres * >>>>>> >>>>>> *Mobile: +91 976-788-8246* >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks, >>>>> Aditya Toshniwal >>>>> pgAdmin Hacker | Software Architect | *edbpostgres.com* >>>>> >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Thanks & Regards, >>>> Pradip Parkale >>>> Software Engineer | EnterpriseDB Corporation >>>> >>> >>> >>> -- >>> Thanks & Regards, >>> Pradip Parkale >>> Software Engineer | EnterpriseDB Corporation >>> >> >> >> -- >> Thanks & Regards, >> Pradip Parkale >> Software Engineer | EnterpriseDB Corporation >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Principal Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > -- Thanks & Regards, Pradip Parkale Software Engineer | EnterpriseDB Corporation --00000000000095b0ed05db694537 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akhay,

Please find the updated patch= .I have fixed all the issues.

On Mon, Mar 28, 2022 at 11:58 AM Akshay = Joshi <akshay.joshi@ent= erprisedb.com> wrote:
Hi=C2=A0Pradip

Follo= wing are the review comments (GUI):
  • Catalog objects shoul= d not be drop or drop cascade. Remove checkboxes from the properties panel.=
  • =C2=A0Database column should be there for=C2=A0the 'Server Act= ivity' table all tabs when the server is selected. When the database is= selected it should be hidden.
  • Rename 'Lock' tab to 'Lo= cks'.
  • Remove extra column 'Waiting' which was not there= originally.
  • 'Server Activity' -> Sessions-> Details = for the last record is not readable. Fix the scroll bar issue. Same with th= e Configuration tab last 4-5 records are not readable.
  • =C2=A0Select= and expand the first and second records, the rest of the records are not v= isible, again seems to be a scroll bar issue.
  • 'Server Activity&= #39; -> Locks, "Granted?"=C2=A0column is empty, not showing an= y value.
  • Set the width of the column appropriately for all the = tabs, for example, unit columns (in Configuration tab) width should be less= , so that data on the other columns are more readable. Check all the tabs a= nd set them=C2=A0appropriately
  • Faced "Request failed with stat= us code 404" error. Select database server from browser tree and then = select 'Server Activity' ->=C2=A0Configuration. Now select any d= atabase, you will get the error.=C2=A0
  • Properties panel size of the= column having checkboxes should be less, compare with existing behavior.
  • Properties panel should show the message 'No Properties are a= vailable for the selected object' if the respective collection node= does not have children.


On Mon, Mar 28, 2022 at 10:08 A= M Pradip Parkale <pradip.parkale@enterprisedb.com> wrote:
Hi,
Here is the updated patch. This patch= includes the fix for #7215.

On Mon, Mar 28, 2022 at 9:11 AM Pradip = Parkale <pradip.parkale@enterprisedb.com> wrote:
Hi Aditya,
Please ignore=C2=A0the previous e= mail, find the updated patch attached.

=
On Sun, Mar 27, 2022 at 11:07 PM Prad= ip Parkale <pradip.parkale@enterprisedb.com> wrote:
Hi Aditya,
Please find the updated=C2=A0patch.<= /div>

On Tue, Mar 15, 2022 at 5:40 PM Aditya Toshniwal <aditya.toshniwal@ente= rprisedb.com> wrote:
Hi Pradip,
=

I did some basic usage and review and found belo= w issues:
1. The code fa= ils if you refresh the page and go to properties, when no node is selected.=
2. I found below UI iss= ues on selecting a database node. Also, checkbox column is too wide.
<= div style=3D"font-family:verdana,sans-serif">3D"image.png"
3. Why is this in = the node.js file.=C2=A0It should be in node_view.jsx.

+

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Re= actDOM.render(

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <Theme>

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 <CollectionNodeView

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 node=3D{node}

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 treeNodeInfo=3D{treeNodeInfo}

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 item=3D{item}

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 itemNodeData=3D{d}

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 pgBrowser=3D{pgBrowser}

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 ></CollectionNodeView>

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </Theme>,

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 b.panels['properties'].panel.$container[0]

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 );=


4. I have seen a lot of comment= ed codes. Few samples:
<= br>

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 //= if (that.canHide) {


+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 // pgBrowser.Event= s.off('pgadmin-browser:tree:selected', () =3D> {

+

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 // =C2=A0 =C2=A0 removePanelView($contain= er[0]);

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 // });


5. In WelcomeDashboard.jsx, the complete SVG code = is put. Please move it to a file and import it.
6. Cleanup=C2=A0web/pgadmin/dashboard/static/js/dashboardDummy.js
7. Cleanup=C2=A0web/pgadmin/dashboard/static/js/dashboard_ponent= s.jsx
8. Rename Sql.= jsx to SQL.jsx
9. T= he search is not working. It filters all.
10. If there is= huge data then it should show some spinner.
11. Delete butt= ons should be disabled if no object is selected.
12. Delete bu= ttons and search box should be on the same line.

On Tue, Mar 15, 2022= at 4:01 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
=
Hi Aditya

C= an you please review/test it?

On Mon, Mar 14, 2022 at 7:17 PM Pradip P= arkale <pradip.parkale@enterprisedb.com> wrote:
Hi Hackers,

Please find the attached= patch for #7132=C2=A0Port Properties collection, Dashboard and SQL pan= el in React.


--
Thanks & Regards,=
Pradip Parkale
Software Engine= er | EnterpriseDB Corporation


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal=
pgAdmin Hacker=C2=A0| Software Architect=C2=A0| = edbpostgres.com
=
&q= uot;Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards,
=
Pradip Parkale
Software Engineer |= EnterpriseDB Corporation


--
Thanks & Regards,
=
Pradip Parkale
Software Engineer |= EnterpriseDB Corporation


--
Thanks & Regards,
=
Pradip Parkale
Software Engineer |= EnterpriseDB Corporation


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks & Regards,
Pradip Park= ale
Software Engineer | EnterpriseDB Corporation
--00000000000095b0ed05db694537-- --00000000000095b0ee05db694538 Content-Type: image/png; name="image.png" Content-Disposition: inline; filename="image.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_l0s17dzf0 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 a7bsZewt2Qf2Kfa9+DXt1xv7ufubD/gcqDloc3D9Ifqh4lqkdnptV52orq0+pb718KjDzQ3+DYd+ c/ltR6NFY8URgyPLjlKOLjjad6zgWHeTtKnzeObxx82Tmu+eGHvi2skxJ1tOcU+dPR1++sQZ1plj ZwPONp7zO3f4vM/5ugteF2ovel489Lvn74davFpqL3lfqr/se7mhdWTr0StBV45fDb16+hrn2oXr 0ddbbyTeuHVz/M22W4Jbz2/n3H59J/9O79259wj3iu/r3C97YPKg8g+HP/a2ebUdeRj68OKj+Ed3 H/Mfv3wif/K5fcFT2tOyZ+bPqp67PW/sCO+4/GLci/aX0pe9nUV/6v65/pX9q4N/Bf91sWtsV/tr 2eu+N0veGr3d8c7jXXN3bPeD97nvez8U9xj17Pzo8/HMp+RPz3qnfiZ9Lv/i8KXhK/frvb7cvj4p T8br/xXAYEMzMgB4swMAWgoAdHhuo4xTnQX7BVGdX/sR+E9YdV7sFy8AamCn/I1nNwGwDzbbuZAb NuUvfEIwQN3dB5ta5BnubiouKjwJEXr6+t6aAkBqAOCLrK+vd0Nf35dtMNjbADRNUZ1BlUKEZ4bN oUp0e+W4Af+Dojqffpfjjz1QRuABfuz/BbfwkAzZCGeBAAAAlmVYSWZNTQAqAAAACAAFARIAAwAA AAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAA AAAAAJAAAAABAAAAkAAAAAEAA5KGAAcAAAASAAAAhKACAAQAAAABAAALCqADAAQAAAABAAAG1gAA AABBU0NJSQAAAFNjcmVlbnNob3Sjys/AAAAACXBIWXMAABYlAAAWJQFJUiTwAAAC3WlUWHRYTUw6 Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4 bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cu dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9u IHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29t L2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90 aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVz ZXJDb21tZW50PgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjgyNjwvZXhpZjpQaXhl bFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xNzUwPC9leGlmOlBp eGVsWURpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNv bHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTQ0LzE8L3RpZmY6WFJlc29s dXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjE0NC8xPC90aWZmOllSZXNvbHV0aW9u PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8 L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KKu6ZGQAAQABJREFU eAHs3QeYFFW6xvFvEjnnHAXEAEZMiCAq5qxrZlUMmHNc467pmnNY3VVXXXMARF0VFcyJYEARBCQH JadhmLnnPW1NV/d0T+hJzfA/92m6wqmqU78K7n2et7/JGHD6HQVGQwABBBBAAAEEEEAAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEaIdCrcxt3HgWWXSPOhpNAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAS9QUKA6wgWWiQcC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII1CyBjIxM gsI165JyNggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC m7pARkaGI6Ci8KZ+H3D+CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg gAACCCCAAAI1TqDACgoICte4y8oJIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg gAACCCCAAAIIIIAAAgggYJZhmTAggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAACCCCAQM0SyMjIsOyadUqcDQIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAACCCCAAAIIIIAAApu2QEGBzr+AisKb9m3A2SOAAAIIIIAAAggggAACCCCAAAII IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII1DQBVRMmKFzTrirngwACCCCAAAIIIIAAAggg gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCwyQsUFOR7g8xNXgIABBBAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEapBARkamZbj/Iyhcgy4q p4IAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBBQYG5 nLBluAk3VbRNnznXL+zauV3RlSxBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA AQQQQAABBBBAAAEEEEAAgbQUyM/Pt8zMTCoKp+XVYVAIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgikKKCQsGoJZ6a4PZshgAACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQJoKZGRkEBRO02vDsBBAAAEEEEAAAQQQ QAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECiXABWFy8XHxggggAACCCCA AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKSnAEHh9LwujAoBBBBA AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIGUBAoKCvx2BIVT 4mMjBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE0lMg 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 +Giifejmp8xeaOty86xHx1a2kzvOiQfsbFmuRHOytuCP5fbC/762sROm2uKlK6xhvbq2WYeWNmDb Hm7s2xTZbMXqtXbx3S/75aqi3KxRffv3qE/t+2lzvMFrtw+3m54Y7fa10taFQnz/fONje94dR+3/ zjvCmjSs66effvNz+9gdu1H9unbHBUf4ZfH/lHWMwfbLVq6x/7hqz5//MN3mLVrqQm5mbVo0sr7u uv3Vjb1180ZB143me9GiRX6sjRtHQurJBt6hQwcfLlu9erWtW7fOd9OftF+4cKGvABtsd+edd9rj jz/uZ1WhWBVBw23s2LGm4Od3331nv/76qykUqgqVqm6pYJsqGwftvvvuszFjxvhZ/Wl7tXfeece+ //57P33RRRfZgAED/PSHH35YWHX2gQceMI03vmlfGtuUKVN8tcwmTZpY165dfRDukEMOMZUeV9M5 6dzUfv/9d/+tf04++WRThc22bdvaww8/7JcvXrzYhg0b5qdVWVjVluObKuS++OKL9tJLL/lzll+7 du1sq622svPPP9969eoVv0nhfGnHXLhBDZo455xzvNmqVavsueees7322ivh2c2dO9dfV90bCxYs MF3XzTff3IYMGWInnnhikW2WLVtmQ4cO9csVSFbg8a677vL35PTp061169bWt29fX3m1uPC8Qq6j R4/2FVwnT57snwvdT6q2revasWPRCvKPPfaY30b3/L333mufffaZPfPMMzZhwgQ/dt0Xu+66q11x xRX+PIoM/s8FCk6r4vLEiRNNz0bPnj1N1VwvuOCCZJvELNfxHn30UVM12CVLllj79u2td+/edtJJ J/n9xHR2MxU17h9++MGeeOIJf95699StW9e6d+/uq9EGz1f42KV5rlO5DsExatrzFbzPdX4lvdNV zTv4oUjw3Gi7N998U1/+XXfaaaf56WT/6Fk76qij/DPw008/2YwZM6xLly7JurMcAQQQQAABBBBA AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFKE1BV4bQPCuvsG9Wr4xFU5XbtuvXWoF5t P//rnMU2Y97vVr9ubfvw219s+tzFfrn+yV0fWwHz/uc/sFc/jFSJDTopfKzPh+N/sUMH9LWzjh5o tXNiSeb/vtx+/m2BrVqbawomj3Eh4XD7cfo802filNl2w5kHuyBuZKzhPjrG8NuetaUr1hQuXr5q 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 EEAAAQQQQAABBBBAAAEEEEDACgoKTGHhDDdRkMhj+sy5fnHXzu0SrWYZAggggAACCCCAAAIIIIAA AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKShgOLB+mSm4dgYEgIIIIAAAggg gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgiUQyAzM5OgcDn82BQB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIG0E8jIyPBj oqJw2l0aBoQAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg gED5BAoKCqgoXD5CtkYAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE EEAAAQQQQCD9BFRVmIrC6XddGBECCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII IIAAAggggAACCCCAAALlEqCicLn42BgBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA AAEEEEAAAQQQQAABBBBAAIH0FFBF4ez0HBqjQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ QAABBBBAAAEEEEAAAQQQQAABBBBAAIFUBFRNmIrCqcixDQIIIIAAAggggAACCCCAAAIIIIAAAggg gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAmkukJmZaZlpPkaGhwACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJlEMjIyPC9s0vaZo8z7iypC+sRqDaB jx69uNqOzYERQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACB dBXIz8+nonC6XhzGhQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg gAACCCCAQKoCqiqcmerGbIcAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAAC6SlAUDg9rwujQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA 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 okqx7btbt26aMmWKrLJvqf1N471mweSFCxf6sxn/tIBwVVWVqqvd7/ZoCCCAAAIIIIAAAgggkHeB xL8fSksICuddngMigEDLBSwAec3vpL/9Wrr9xmjV3nT3bpUKZ50pXfIVL1Ta1HblLqB89W/dcV2o 1b6SPdwsoGRhq1TNxvvtX7qqrwem6tF6lk+eLp18rvS7H3ljrq3xKlJaVcpkzX6ZdKEL8p74/mRr vWVWaffT35T+1z0X4SqR61dJ9kjWRroA8eXXuJDYcBdwGy2968LBfvMrRoerZPrrWvLzpHOkgUOl n30rWknaqii/Mdd7JNu/hXEv+440bkqytdlZNuVo91r4c3Rf45s4nr0GJk71qh+Ht7TQcbabBfxP cdfNbS783ZpbPu4DxWpVzNd/S6+pXNzX0h1Tvu5/di/++vXSte4+O/up6Oh270x9/xrogrhfcqF+ C/qnarm8NsrKJftAiH04KFzB3qbtMS8UfI6Pz+5xH7xEmjojvoZ5BBBAAAEEEEAAAQQQQAABBBBA AAEECi6wZ8+eREjXBjJ8+HCNGTMm5ZhK3O+6hg0blggK23abN29Wz549E/2t6q8Ffuvc30SsCnEm bcmSJYkAsgWDTzrpJHXo0CGTzdPqa5WJLShsDxoCCCCAAAIIIIAAAggURqCurl4uNUBDAAEEWqFA aZl0wWXSL26VTnCVEi3Al06zftOOlX76D+mz304vJOzvt3OlCwv/n3TR511oylWRbarZGC0c+avb JAu27i/Nqqp+9Tqvgm5j5zT5SOk653yWqwjZVDtylvRjF3S10G9jrU9/6eP/Lf3I9bWQsLVLvyZZ GDsfbcKh0vXunI46semj2bU2/QRn4CpfTjum6f4t6TFmUsNrcqIba1Nt0uHRHlZZNFeB5vMvlU7/ cPR4rXEuH/eBYrUq1us/G9dRLu5r6Y4rX/e/inZeWPhz7oMLFlBurHXv5e6tX5d+/q/GK5P7+8jl tWEV++293qqO2/tqOm28+xDET/4qnf+pdHrTBwEEEEAAAQQQQAABBBBAAAEEEEAAgbwLtG/fPhH4 Xb9+vZYtW9bk8S0InKxZJWBrmzZt0u7du5N1SbnMjm3NqgznIiRs+7Ygs7WNGzcmKh8nZmL/sXN7 +umn9dRTT2ndunWxtcwigAACCCCAAAIIIIBASwXKy8tU4koL1yfb0btLvSqOXSsbqSCWbEOWIYAA AoUQ2GlVXV+W5s+R1qyQtm2RrNJrZ3cP6+4+Vd3DhaIsODnxMO9r1ls6Rtv3K89Jc5+V1q2Wtm6S rPJhN3csC2BNmiZNme6O7/0CpKWHK9j2D7hw1m+/Hxz+rAuliy/35u2XUi894Zlb5d+qHV7F3SEH uGD0eGnswcF26U75+1zytvuq+Xfc87jZefZ1oWT31fKHOE8LoyVrW5z/6+75X7XUe35Huk/ej52c rGf2ltk5L3pTWvyG99ix3Xvue7mxmsFRLiRs1YRpUYHt7rW50j1P693rpr2rTtB3gPMa6b1+oj2L fy7X94FitmrN13++72vpXsn5vP/Z//1/c6702mxps/tjgF3LfQa6e/gQqf8w6YDRmX2QJnyOubw2 Vi7x3nPWuff5NSulte5h7//93Nj7D3b3E/cY6cYe/xBEeHxMI4AAAggggAACCCCAAAIIIIAAAgi0 aYHt29zv8l0bMcz9TqnA7fnnn9fChd43Nh599NGJysLJhmRB2gceeEAbNmxQeXm5zj//fFmVYWsW wL3vvvvcFzbW68ADD9SRR7oiLknaggUL1KNHDw0cGJz3M888o8WLFyd6n3HGGerevXtky7Vr1+rR Rx9NBHzbtWunD33oQ5H1d955p7Zu3aohQ4bo2GOPjazzZyzAfO+99ybGN3XqVI0b5woDxNrSpUv1 5JNPyiobn3vuubIQtTV/uU2fdtpp+6oo27zfLOx8//33J2aPO+44DR7sfkdIQwABBBBAAAEEWpnA huNGNRhx78febrCMBa1TwM/h9uoV/f/b8bN5+53l8UWJ+eGXn9Fg+ZLr72qwbNRI9/f+JK3C/Rui rr5OLtVGQwABBPYDAavwO/Vo75GP0+nojmfVYu3RVpv7hY0OP857ZMugufu0MHi+nwsL1dnDqoHS 0hew6s9j7NGMIHn6R8lPz1zfB4rZan+9/pt7D8rGFdfcYzfn/md/RLAPU+TiAxW5vDYGDQ+qyWfD nH0ggAACCCCAAAIIIIAAAggggAACCCBQQIFJkyZp5cqV2rlzpyy0a6HXMWPGJCr8WhDYwr8WDn71 1VcTP22oY8eO3RcStvlevXpp1KhReuutt7Ro0SLV1tbq0EMP3Vch2IK8r7/+emKdhYzPPPNMde7s /sblWt++ffcFhV988UWNHz9eAwYM0LZt27Rq1arEcWtqahJ9q6urE+PxA8qJhWn8p2fPnhoxYkTi OK+88kpi7DbesjLv28PeffddvfDCC4k9WeDYDwmnsWu6IIAAAggggAACCCCAQBoCtVa0TPUEhdOw ogsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJZE+jUqZNOOOEEPfHEE4nKvG++ +absYZV1LTC7Z88eWTVhvw0fPlyHHHKIP7vv5+TJk1VVVaUVK1bIgrf26NKliyzca/uwVlFRIau4 64eEbZlVILa+VjnYf9ix/WNasLh3796JkLKFlnft2iUbc6bNKgnb+OwYs2fP1ssvv6yuXbsm9rd3 797E7iwkPH369Ex3TX8EEEAAAQQQQAABBBBoQqDUPoTo+lBRuAkoViOAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAACCCCAAAIIIJBtgW7duun000/XwoULtWbNmkQo1yoMWyjXmgV3+/TpowkTJmjg QPcth0maHwK2isILFizQ9u3btWPHjkRPC/Za2HfixImy6r7hZtWBZ82apXnz5iUCylaN2ELC/jGP OOKIRID58ccfT2xm4zvggAPCu0hrukOHDjrxxBM1f/78xHlaaNgqHdvxe/TooWHDhiXOL9NqxWkd nE4IIIAAAggggAACCCCQ+HYQgsJcCAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CBRAwIK5o0ePTjzs8Lt3706EfTt27JioAJxugNYqBNujpqYmEcS1gG64gnCyU7OqwVOmTElUKraA sW3bvXt3lZWVJbpXVlbqwgsvTLapzjzzzKTLky20c7Cwsj2syvG2bdtkIel27dol655YZgHiVMf2 N7IQdVN9/L78RAABBBBAAAEEEECgLQqUlJaopK6EisJt8cnnnBFAAAEEEEAAAQQQQAABBBBAAAEE EEAAAQQQQAABBBBAAAEEik/AAr72aG6z8G+vXr0y2tzCyhbczUdr3759okpyPo7FMRBAAAEEEEAA AQQQaOsC9s0h9fX1Km3rEJw/AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAAC+5tAeVk5QeH97UnlfBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA AAEEEEAAAQQQQAABBBBAAAEE2raAfXtInasoXN62GTh7BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA 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 IIAAAggggAACCCCAAAIIlLZAIp6QeDxORuHSfpuYHQIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAoULOCGHjMKFs9EDAQQQQAABBBBAAAEEEEAAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBEhZwREJOiEDhEn6LmBoCCCCAAAIIIIAAAggg gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIFCyQSIolEXEIF96QDAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCJSsQChkUgqbYGEC hUv2LWJiCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII FC4Qi8WSnQgULtyOHggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA AggggAACCJSsQDgcEXEcMgqX7DvExBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE EEAAAQQQQAABBBBAAAEEEChCIB6Pi2P6kVG4CDy6IIAAAggggAACCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAACCCCAAAIIIIAAAgggUKoCCRMoTEbhUn13mBcCCCCAAAIIIIAAAggggAACCCCA AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJFCoTCIdGswmQULhKQbggggAACCCCAAAII IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCJSqQCQSJlC4VN8c5oUAAggg gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBxAo7EY3GJFNeZ XggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBQigKJ RCI5rVApTo45IYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA AggggECRAiZQ2DFdCRQu0o9uCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA AggggAACCCCAAAIIlKKA4zjihBwChUvxzWFOCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIFC1g0gnHY3GJFH2CPDu+/8GyPFvSDAEEEMguwH9LsttwBAEE EEAAAQQQQAABBPqmAOucvvm+MWsEEEAAAQQQQAABBHpToC5g8FJbW5TafALICqrqC+YFXRCNEUAA AQQQQAABBEpKgL83S+rt2OgmE4/HJRwOk1F4o3tnuSAEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgX4toEHC8Xii+zMKb7XF6H4NzcUjgEDnBOynzvlvSecc 6Y0AAggggAACCCCAAAK9L8D6pvffA2aAAAIIIIAAAggggEBfF/g04AJ66xlKf1njlJJ5wNtPFQII IIAAAggggEAfF+DvzdJ4A+36pm5AUI7n0phjMbPQjMKhEBmFi7GjDwIIIIAAAggggAACCCCAAAII IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAiUtkNBg4ZKeIZNDAAEEEEAAAQQQQAAB BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgYIEHHGS7QkULoiNxggggAAC CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCJS2QCKREI0VJlC4 tN8nZocAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDB AvF4gkDhgtXogAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAQIkLRCJhAoVL/D1ieggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII IIAAAggggAACCBQkEA6HJR6PS6SgXjRGAAEEEEAAAQQQQAABBBBAAAEEEPj/7N0HnFTV/b/xs8sC iqIBS6LRCKKIXWMkCSYae0uMiVjBGuyiGI0axSh2Ym/Ye+8FbFETjZrY20+IYkFFwIIFCxF0d//7 HP9ncneY2d2Z3WUHeE5eszNz+7znDp6b+7nfq4ACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo oIACFS1Q2xASDqHeoHBFf0tunAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo oIACCiiggAIKKKCAAiUKVFdVNcSEQ6gucT4nV0ABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUU UEABBRRQQAEFFFBAAQUUUEABBRRQQIEKF6ivrzcoXOHfkZungAIKKKCAAgoooIACCiiggAIKKKCA AgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBASQJV1VWhqqGqcE1JczmxAgoooIACCiiggAIK KKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACClS0QG1tbbCicEV/RW6cAgoo oIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAC5QnUdKoJ1eXN 6lwKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgooUIkC 1dXVoa6+PtRU4sa5TXOGwLff1oaPP50WZs78JvB6draamk6hS5fOYZEeCwde2xRQQAEFFFBAAQUU UEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFvhOor6sPdXV1BoXdIcoTIBg8 acpHcScqbwmtm4v18/j665nhh0ssZli4dZzOrYACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo oIACCiiggAIKKKCAAgoooIACc5lAVXVVqJ7LPpMfZzYJUEmYpHlHN7aBbbEpoIACCiiggAIKKKCA AgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCvx/gaoQqqurDQq7Q5QnQCXfSmkz Z35TKZvidiiggAIKNAgMGjQo9OnTJwwcOLCRx7333huHM27cuHGNxvmmdIFPPvkkTJkyJdTX15c+ s3MooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKzNUCREooxlozV39KP1y7 CeRXE+69zJLttq5CC57wzuTc4G+/rc299oUCCiigwLwlMG3atDBmzJhw2223hU033TTsvffeJQG8 9dZb4aWXXgpjx46N4eWqqqpw3XXXtXgZL7zwQrj11lvDQw89FJ566qkWz8eE3377bfj73/8et52w 78UXX9zs/BMnTgwjR44MTz75ZPj000/j9PPNN19YYYUVwrBhw8K6667b7DKcQAEFFFBAAQUUUEAB BRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUGDuF6iurgp1tfUGhef+r9pPqIACChQWIGBJuJHW v3//sPTSSxee0KFNClSy4+jRo8PMmTPDsssuG9Zcc80mP8ecNLK2tjY8/vjjMWD74IMPxs/I9hMU bmljGWeccUa46KKLGlXkXX755ZtdxAcffBBuv/32+CBoTOvatWuz86UJqKZMuPjuu+/OhX1bEvC9 6667wp///OcwY8aMuKjOnTsHHtOnT49h59133z0MHjw4jBgxIq3KZwUUUEABBRRQoMMEuLBp0qRJ oXv37mGTTTbpsO1wxQoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKDAvCpAPqaq4X9WFJ5X9wA/ twIKzPMCU6ZMCYcddlh0OPvssw0Kl7lHVLLjMcccEwgy77jjjnNFUPjLL78Mo0aNCnfeeWcgrFtu Y96DDjooPPPMM3ERffv2Db/85S9jVV4q8xZrjz32WLj88stjSDm/sn6xebLDr7nmmnDjjTeGV199 NTu4Ra/feOONcNRRR8WQcL9+/WIYmPB3p06dAlWGTz755PDAAw+Ea6+9Nn6WjTbaqEXLdSIFFFBA AQUUUKC9BK666qrwt7/9LV60ZlC4vZRdrgIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCihQXKBT p5pAxsWgcHEjxyiggAIKKKBABQlMnjw5VgBmk7p06RIIw26wwQbh0EMPbfFW1tfXhz/84Q/hP//5 T+jWrVsMDFOJl8Btc42Q7z//+c84GVWat95667ic++67r7lZ43gC+Z9++mmoqqoKa6+9dvjd734X LrzwwvDOO+80O/9ZZ50V/vvf/4bvfe974corrwyLLbZYbh6qgZ9zzjlh8803D1Q4pkqyQeEcjy8U UEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIF5UoCQcFXDJzcoPE9+/X5oBeYt gW+++SZ07ty5rA/NvDU1NTHYV+oCZsyYEbp27VrqbHH61mwzJeOrq6vL2uaWbGxrto3lE9TkP0It CWbmb09HmeZvR1u8L9eR75dWjl9bbHehZbBNrd2eb7/9Nv7WCi0/O2yttdYKv//978MWW2wRFlpo ofDZZ59lRzf7+sEHH4zhXiY888wzSwrUEtIdPHhwDPiuscYacV0jRoxodp1pgmWWWSbstttu4be/ /W2ugvcVV1yRRjf5/H//939x/Prrr98oJJxm4t8pxhEUfv3119NgnxVQQAEFFFBgLhYotw9Gv4vj BR7ltJkzZ8aLtsqZt7l52uJYpiX9ynL74sxX7vFhc5/d8QoooIACCiiggAIKKKCAAgoooIACCiig gAIKKKBAWwvUExRuKJ5nULitZV2eAgp0uAAh1BtuuCE88cQTgXAdVUh79uwZlltuuTBkyJCw4YYb NrmNY8eODZdddln497//HT766KMw//zzhz59+oQtt9wyUHmUE8PFGrfWveaaawLLmDZtWlxv3759 43xNVfgkPHvvvfcGbs9LpVMCsb179w6rrrpqrHhKxdD8duCBB4Z333037LDDDrGyKRVHn3zyyfDa a6+F+eabL6y22moxUEkoMdv22muv8OGHH4avv/46N/j0008Pl156aXx/+eWXx+3OjWx4QRXV0aNH R0+CiCyf0COBTYKThYLYaftw23PPPcP1118fHnjggfDSSy/Fyqi9evWKgcm99967yZDp7DTNfubm XpfjyL6IMw4ffPBBrA7br1+/sOmmm4add9656CqpQnv++eeHRx99NH7nTPjDH/4w9O/fPwwdOjS+ TjNTWfbvf/97fPvll1/GZ9b3yiuvxNd//OMfw7rrrpsmL/v5oYceir8zvk/Ww36+zjrrhGHDhrV4 mcx7wQUXxG3Dgyq9a665ZmAbF1988VmWwzpuvvnmWYaXMuC8886Lk1PNt6nfZKFlnnjiiYUGt3jY bbfd1uJp8yccPnx4DNljVKzx7xztiy++iI/u3bsXm9ThCiiggAIKKDCHCFx88cXxOGHllVcO9EWu u+66+H7cuHGxP8/wX/7yl+GAAw5osk89ceLEeFcCLpp6//334wWN9EPpe+2///5h4YUXLipCOJa+ PH2ZCRMmxL48fbUVV1wx7LfffoELuVKjH0p/lJbumjBp0qR4vMKwjTfeOK6P16lx/HbJJZfEPix9 Vo63VllllXj8tdNOO4XDDz88HuNstdVWYY899kizhXS8wcVSu+yySzj++OPj8dDUqVNjnzvb5y3n eCutaPz48fEz0XedMmVKPBb60Y9+FDbbbLN4fMldKmwKKKCAAgoooIACCiiggAIKKKCAAgoooIAC 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 29qZpk+fHt59992GCvnflryo2tra+Ln5/DYFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEF FFBAAQUUUEABBfIFqjtVx4KwNfkjfK9ASwTyqwn3XmbJlszWZtNMeGdyblnfflube+0LBRRQQIG5 X2DixIlh5MiR4cknnwyffvpp/MDzzTdfWGGFFcKwYcPCuuuu2yQCweATTzwxvPjii2HSpElx2h49 eoSVVlopHHrooWG11VZrcv5CI4cPHx4efPDBOOqkk04KG264YaHJwldffRXOPffcMGbMmPD+++/H gHOnTp3C0ksvHXbdddcYsuZ9scZnP/vsswOh6xkzZsTJllpqqbD22muHo446KvA5bAoooIACCiig gAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKIFBT0ykYFHZfUEABBeZRASqpPvTQQ/HT 9+/fPwYV51GKVn3sSnYcPXp0mDlzZlh22WXDmmuu2arPWSkz33XXXeHPf/5zLiTbuXPnwIPqvC+9 9FLYfffdw+DBg8OIESMKbvLLL78c9tlnn1wVYUK5NTU1MXD8xBNPhGeeeSaccMIJYZtttik4f6GB jz32WLjhhhtyo1KANzfg/78YP3582G233XLrrmq4tUP37t3DF198Ed5+++24zbfffnu48cYbA8Hn /Pbxxx+HXXbZJVYhZlx1dXXD3SGqwnvvvRcfzz77bLjoootiYDp/Xt8roIACCiiggAKzW4CLurgo i/7OJptsMrtX7/oUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQVCVairrQvVSiiggAIKzJsC U6ZMCYcddlh8ELC0lSdQyY7HHHNM/H5vu+228j5chc31xhtvxKq5BHH79esXbrrppjB27Njwf//3 f+GRRx4Jm266adzia6+9NheCz36E2trasP/++8egLoEVQrVUFSY8fOutt4bevXvHYPWRRx4ZJk/+ X+X67DLyXxNQpppwc+2///1vGDp0aFw3VX9PP/308Morr8T1P//88+HAAw+MoV8+C+PyG/MPGTIk hoTZ9nPOOSc372mnnRaDxVQbJihNONymgAIKKKCAAgp0tMBVV10V+6KnnnpqR2+K61dAAQUUUEAB BRRQQAEFFFBAAQUUUEABBRRQQAEF5kmB+vr6UN/wyQ0Kz5Nfvx9aAQUUUECBOU/grLPOCgRmv/e9 74Urr7wy/OQnPwlUBKYtvfTSMTxL9WQaIeD89ve//z0XAB41alTYaKONQrdu3WJFYSouU8mX999+ +224+uqr82cv+J5QLxV9F1xwwYLj00CCyASdaWeeeWbYeuutc1WDF1544XDQQQeFgQMHxvGEavKr El933XUx0MwEl112Wdhyyy3DAgssENf7u9/9LlxwwQVx3g8++CCGnuMb/yiggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIACCiiggAIKKKCAAgrMuwINQeGqhk9vUHje3QX85ArMMwLffPNN2Z+Vebmy opyWH/QrZRmt2Waqppa7zS3ZxtZsG8tn29jGclpHmZazrc3NU64jduX6NbdN5Y5vi+0hnNtco9ou bf311w+LLbbYLJPX1NTEcYx4/fXXZxl//fXXx2G9evUKAwYMmGX8oosuGjbeeOM4/Oabb272d/TC Cy/EQHFVVVWsCJwWyPv8lrZ9iSWWCL/85S/zR8f3ad14vvnmm42mSVW/11133bDWWms1Gscbhq+9 9tpxeKGQ9CwzOEABBRRQQAEF5niBcvtg9Lvq6urK/vztefcCPlNrj2Va0q8sty/OfK3dvrLhnVEB BRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUKFGADEtVdVWoKXE+J1dAAQUqXoCT3jfccEN44okn AuG8yZMnh549e4blllsuDBkyJGy44YZNfoaxY8fGip3//ve/w0cffRTmn3/+0KdPn1jBc/fdd4/V R4st4G9/+1u45pprAsuYNm1aXG/fvn0D81G9tFjjZPO9994bqCT6n//8J1YT7d27d1h11VVjpVGq pea3Aw88MLz77rthhx12iNVJqbb65JNPhtdeey1WKl1ttdXC73//+/Db3/620ax77bVX+PDDD8PX X3+dG05V1EsvvTS+v/zyy+N250Y2vPjnP/8ZRo8eHT3feuutuPxlllkmLn/w4MGhc+fO2cnj67R9 VD7dc889AyHNBx54IBB4pCpsr4awJtu2995756rCzrKQhgGz07TQ+osNK8eRfRFnHKj8SmXcfv36 hU033TTsvPPOxVYVPv3003D++eeHRx99NH7nTPjDH/4w9O/fPwwdOjS+TjOfc845gcq5tC+//DI+ s75XXnklvv7jH/8YQ6XxTSv+PPTQQ/F3xvfJetjP11lnnTBs2LAWL5V5qYTLtuFBNWAq+7KNiy++ +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 OwITJ04Mb731VvzA2T7/8ssvH4fRZ3/ooYeKgtx77725cQMGDMi9vueee2JflDtX5DcuwuICtnQH BI5nSj02SH1L7pTwwQcf5K8i977YMVxugiIvWnO8xd0i6IfzoHJwfqOfevjhh+cGp/5rboAvFFBA AQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIEKEKhtOE/EuRaDwhXwZbgJCijQNgJUH6VNmDAhcLI5 v3FL3LvuuisOzj+JvcEGG8RKn4y84IIL8meN7ydNmhRvqcsJ82wQeYcddgjckpaA3/XXX19wXm5R S8VjnqlCldr2228fX3Ly+Y477kiDGz0TPj7uuOPCu+++22h4ekOVVSoa5zeCmJdeemkczPb+4he/ aDQJVUlT40R4fkueDL///vvzR8eT+QSnU8s3TcPLee5o01K2uTnH9dZbL6TKbFQAThVm89dBuOCS Sy5pNPidd94Jl112WTjzzDNzlaGzExASTreULlQhLm1boe83u5yWvuazpPVdeOGFsUJu/rxPPfVU eP755+PgpkIdhC5StevsMgjxjh8/Pg7KVsblNtopODxmzJhYFS87X3rN74yGBwHfbEu/N35LKRCc HY9T2tcHDhwYqxAznu9vm222afJBtejUfvazn+WmTb+jlVdeOY5+5plnYgW6NG32mX9bktmKK66Y HVX0dfqdX3TRRXGaPfbYIxAitymggAIKKKDA3CXAMcETTzxR8ENdfPHFuZDu1ltvnZuGY5x00dq5 555bsB/KcpmftuSSS4af//znufnpt9IXpVowFyQVaqm/RXCYR7alvmiqVpwdx+ttt902zkN/JvVl 8qdhOHdloKV+Uv40Tb1P/b9Sj7e44wt3keDzX3PNNQVXkYLYjCzUFy84kwMVUEABBRRQQAEFFFBA AQUUUEABBRRQQAEFFFBAgdkoUN2QaSPX1vgszmzcAFelgAIKtLXA2muvnVvkscceGx555JEYRCR0 SABzzz33DFTspH355Ze5k+m879atWzjkkEN4GattHXrooWHatGnxPX+orrv77ruHGTNmxEDxr371 q9y4VVZZJaQT8lQcveKKK3In4TmZfffdd4cjjjgiTr/xxhsHAo+p7brrriEFApmGE+FpGwlRErjc eeedw1VXXRX23Xff3EnyND/PVN+igiiVkNNJ9A8//DBubwpMDxkyJKTAYpqXIEBqhCM/++yz+Dad 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 oLa2Jsw791xhxhk7BV5P6cY6WTfbUIn1T+nP6/oUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBA AQUUUEABBRRQQAEFFFBAAQUUUECBYgWqa6oDVYVri53B6RTIFSCg++c5u+YO9r0CCiiggAIKKKCA AgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQIUFyHlWV3gbXL0CCiiggAIK KKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtKpAVaibZEXhViV1 YQoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACClRaoL6+ Pm6CFYUr/U24fgUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUU UEABBVpToCEoXNWwPIPCrYnqshRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBA AQUUUEABBRRQQAEFFKiwQFVVVaiqrjIoXOHvwdUroIACCiiggAIKKKCAAgoooIACCiiggAIKKKCA AgoooIACCiiggAIKKKCAAgoooIACCijQugIN5YTrJtUZFG5dVZemgAIKKKCAAgoooIACCiiggAIK KKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBAZQXq6hpCwjXVBoUr+zW4dgUUUEABBRRQ QAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBVpXoKamJtTV1RsUbl1W l6aAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEBlBWJF 4WorClf2W3DtCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiig gAIKtIFAfV2dFYXbwNVFKqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiig gAIKKKCAAgooUDGBqlAV111dsS1wxQoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIACCijQ6gL19fWBrLBB4VandYEKKKCAAgoooIACCiiggAIKKKCAAgoooIAC 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 DN9//31c9iabbBK23HLLotbjRAoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiig gALTp0A9YeHp86P7qRVQYHoSIFxXbmPe+vr6smYfP358WfMxU0u2mfBhudtczAa3ZNtYPtvGNpbT KmVazrY2N0+5jtiV69fcNpU7vjW2h7Bsc+2NN96IkxDgzQ4Jp/lqa2sz4d73338/DY7P7777bvjv f/8bX++3336NQsJpwnnnnTess8468e2oUaPS4ILPVCGmQnFVVVU48MADM9PxvphGMPnNN98Ms88+ e9hpp50ysxSa/+uvv878tueee+7M9L5QQAEFFFBAgelToNw+GP0urh4vt02YMKHcWZudj8/U0mOZ YvqV5fbFma+l29csghMooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAq0kUBX+yLDUttLyXIwC CijQbgQ46X3TTTeFp59+OhAsHDNmTOjatWtYeOGFQ//+/cP666/f5La+9dZbsdros88+G7755pvQ uXPn0KNHj7D55puH3XbbLRBGLNS4te51110XWMa4cePiehdddNE43wYbbFBotniy+YEHHghUMX37 7bcDgdgFF1ww9OrVK/z9738PVEvNbQQTP/nkk7D99tuH3r17B6qtPvfcc4FAZKdOncLSSy8dttpq q8mqju61116BwOFvv/2WWSRVUS+//PL4nvAiXtntqaeeCsOGDYueVGtl+d26dYvL79u3b+jQoUP2 5PF12j7c9txzz3DjjTeGhx9+OLz22muxYmv37t3jtu29996hpqZmsvnTgClpmtZZzHM5juyLOOPw 1VdfBSrj9uzZM1ax3XnnnQuuliqyF110UXjyySfjd86EhFpXWmmlMGDAgPg6zUxV3ccffzy+TRVu WR+BVNohhxwS1lprrfi6Jf88+uij8XfG98l62M9XX331cNBBBxW9WOa9+OKL47bhsdBCC4Xlllsu buNcc8012XIGDRoUfytMV6ilfZdQMI9ZZpklTsp+y2+ZxrYWamm9fCZCIIVCu4RE/vGPf8SQzY47 7hhWXHHFQovMO3z06NHxN8vIY489Nv6dyjth1kB+t6kZFE4SPiuggAIKKDBtC1x22WWB44Qll1wy nHzyyeGGG26I77moif48w9dcc81wwAEHNNmn/vTTT+MdGR555JHw5ZdfhhlmmCH2Q+l77b///mHW WWctCEm/h778HXfcET766KPYl6fPtPjiiwcuwOJuDanRD6U/SqO/Q/v888/j8QqvN9xww7g+XqfG 8dvQoUNjH5Y+K8dbSy21VDz+op91xBFHxGOcLbbYIuy+++5ptnihFsdDXES2yy67xLtHcDw0duzY 2OfO7vPSryv1eCut6L333oufib7rF198EY+FFlhggcAdHji+nHHGGdOkPiuggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIAC7UogZl+qq0LhtFu72lw3RgEFFChOgEAlQUiCrdntu+++Cy+88EJ8bLvt tuHUU0/NHp15/fzzz4d+/fo1quj7yy+/xIAsoePbb789VhD985//nJknvRgyZEggcJvdWC8nq3ls vPHG4YILLsh7Av+0007LBHXT/B988EHgQSDz9NNPj/OncTwTCGY823L99dfHgHEaT5WvESNGxAcn 2wk0VldXx9HvvPNOPFmfpuWZE+ypZVfXoqLXWWedFU/cZ1fO+vnnnwPhBB6Y8EghzLSctH0EngcO HBjuvvvuNCo+s+14vfrqq4EARL42pU3zbUOhYaU4sgzCGQS32SdSY38lkM5j+PDh0fpPf/pTGh2f +f6oNptCv2kkwQse99xzTzjvvPPCRhttFEexnlR5N03LOtN6WWdLG6Hlc845p1E1NcLxPPjtFVNl 7tZbbw0333xzo99a2uexYJ8g+JLdCJY011Il4S5dumRCwsyz9dZbx0dz8xMAoRFGLhQSZjz7Juvi 90d4hSBysY3f0lFHHRXDPeutt14MwRCOaa4RpqaxXfn+BjU3v+MVUEABBRRQYOoTIGRL344LoLgQ 7/7772/0IbjDAQ+OdeijcSFabiPcu80224TsfiDHOC+//HJ8EKClb5fvwqcff/wxcPyU+lhp2fRL eDzxxBPxosAjjzwyjmIduX1RLoJMw5ZYYom0iPjMcQUXRv773/9uNDwdQ7344otxGz/77LOwwgor NJomHW/MPPPM4aGHHgoEelPLvRNJOcdbLIsLUP/5z382qsD866+/xmMx1k+A+rbbbst7YWfaFp8V UEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAgUoK1NXVhz9SY5XcCtetgAIKtKIAlWsJKs4000zx RDohypEjRwZODFMti0ZAMfcEO8MJKe6zzz4xuLjYYosFKutyYpoqrocffnisHMU0Bx98cMi9ze+9 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 gAIKKKCAAgoooIACCiiggAIKKKCAAgq0hUA9YeG2WLDLVEABBRRQQAEFFFBAAQUUUEABBRRQQAEF FFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIHKCFSFqrhig8KV8XetCiiggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtIlAfX19ICtsULhNeF2oAgoooIAC CiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAClROoq6s3KFw5ftes gAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBA2wjU1tYY FG4bWpeqgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBA ZQRqampCXV1dqK3M6l2rAgoooC2Ku8oAAEAASURBVIACCiiggAIKKKCAAgoooIACCiiggAIKKKCA AgoooIACCiiggAIKKKCAAgoooIACCrSFwKSGkHAI9QaF2wLXZSqggAIKKKCAAgoooIACCiiggAIK KKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKFApgeqqqoaYcAjVldoA16uAAgoooIACCiig gAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACbSNQX19vULhtaF2qAgoo oIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAClRGoqq4KVQ1V hWsrs3rXqoACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiig gAJtITBp0qRgReG2kHWZCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo oIACCiiggAIKVFigtqY2VFd4G1y9AgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIACCrSiQHV1dairrw+1rbhMF6WAAgoooIACCiiggAIKKKCAAgoooIACCiig gAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACFRaor6sPdXV1VhSu8Pfg6hVQQAEFFFBAAQUUUEAB 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 cFXVH7dv+P3330teN+udYYYZ0uozzx988EFRyyp1WzMr8IUCCiiggAIKKNBKAs8991z4/PPPwyyz zBI22mijVlqqi1FAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFChFoLa2xqBwKWBOq4ACCkxL Al988UU4/PDD40c677zzDAqX+eW2Z8djjz02EGTeYYcdwrQcFL7hhhvCSy+91OQ3eNxxx4XDDjus yWkY+eWXX4bddtstED7edtttM9PfeeedcVhmQIEXhO/POuus0LFjx9C7d+841cILLxweeuihAnM0 Hjx48ODwr3/9KyyxxBJhqaWWajyy4V0KQxO2WWWVVSYbnwb06tUrvfRZAQUUUEABBRSoiMA111wT +zXc7cGgcEW+AleqgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAC07lATU1NqKurMyg8ne8HfnwF FFBAAQWmagGC2meccUb8DDPPPHP46aef8n6eeeaZJ+/w3IEpENytW7ew/vrrZ0YT9i2mHXHEEXGy LbbYIswxxxzxNZWBF1lkkWZn//7778Pw4cPjdLvvvvtk00+cODEwDW2TTTYJW2655WTTOEABBRRQ QAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQQmNYSEQ6gP1XIooIAC07oA4bpy G/NSWbScNn78+HJmi/O0ZJsnTZpU9jYXs8Et2TaWjyfbWE6rlGk529rcPOU6YleuX3PbVO741tie 33//vazVDxo0KPz8889hjTXWCMsvv3xcRlVVVVnLImR84403xnl33XXXUF1dWjfp+eefD6+99lqc P1/Qt7mNuu6668Kvv/4a/vznP4e//OUvk03+9ddfZ37bc88992TjHaCAAgoooIAC05dAuX0w+l1c OV5umzBhQrmzNjsfn6nc46+08GL6leX2xZmvpduXttNnBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBA AQUUUKCtBaobMjTkaGrbekUuXwEFFJjSApz0vummm8LTTz8d3njjjTBmzJjQtWvXQEXQ/v37N6oS mm/b3nrrrXDFFVeEZ599NnzzzTehc+fOoUePHmHzzTcPu+22W6itLfyn81//+lcg7Mcyxo0bF9e7 6KKLxvk22GCDfKuLwzjZ/MADDwRuz/v2228HArELLrhg6NWrV/j73/8e5p9//snmPfDAA8Mnn3wS tt9++9C7d+9w7rnnhueeey68++67oVOnTmHppZcOW2211WRVR/faa69A4PC3337LLPPss88Ol19+ eXx/5ZVXxu3OjGx48dRTT4Vhw4ZFz//85z9x+VRcZfl9+/YNHTp0yJ48vk7bh9uee+4ZA5gPP/xw DFIShuzevXvctr333jtQ5r5Qm5KmhbYh3/ByHNkXccbhq6++CrPNNlvo2bNn2HjjjcPOO++cbzVx GFVkL7roovDkk0/G75yB8847b1hppZXCgAED4us08/nnnx8ef/zx+DZV12V9b775Zhx2yCGHhLXW WitNXvbzo48+Gn9nBGNZD/v56quvHg466KCil8m8F198cdw2PLgt9XLLLRfYxrnmmqvZ5dx7773h iSeeiL/Rk046KRx33HHNztPUBPzd4LPMOuusoU+fPk1NmnfcZZddFocTWl5sscXyTlNoIL+Ja6+9 No4u9Jvid5uaQeEk4bMCCiiggALTtgD9C44TllxyyXDyySeHG264Ib4fNWpU7M8zfM011wwHHHBA k33qTz/9NFx99dXhkUceCV9++WXgjgf0Q+l77b///rH/U0iScCwXU91xxx3ho48+ihc20VdbfPHF w3777Ze5WIv56YfSH6WNHj06Pn/++efxeIU3G264YVxfHPH//+H4bejQoXFe+qwcby211FLx+GvH HXcM3LGBYxzu2JB9MVY63lh33XXDLrvsEk488cR4PDR27NjY587u85ZzvJW28b333oufib4rd7Pg WGuBBRaId3jg+HLGGWdMk/qsgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrQ7Ac6TFE67tbvN dYMUUECB5gUIVBIyJNia3b777rvwwgsvxMe2224bTj311OzRmddUBO3Xr1/IrjD1yy+/xIAsoePb b789hvmo+JnbhgwZEgjcZjfWS3iXB2HQCy64IO8J/NNOOy0T1E3zf/DBB4EHgczTTz89zp/G8czJ csazLddff30MGKfxVPkaMWJEfHCy/R//+EemOuo777wTOFmf3Qgcp5b92anoddZZZ8UT99mVs6jg SjiBByY8CFRnt7R9BJ4HDhwY7r777uzRcdvxevXVV0MKWDaaoOHNlDbNXX9T70txZDmEMwhWs0+k xv5KIJ3H8OHDo/Wf/vSnNDo+8/3ttNNOMcCaPYLgBY977rknnHfeeWGjjTaKo1kP+2p2Y51pvayz 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 EEAAAQQQQAABBBBAAAEEEEAAAQQQqFMCyqbESu9W/VtCpU5tOhuLAAJ1TeDXX3/NepM1r8qvZ9PW rl2bzWxunsr02ZeMz3rlFcxYmb5p0fJUH7Np+TLNpq8VzZOto+yy9auoT9mOz0V/FNJNp33zzTeu +q6mPfHEE+3aa6/NOiT8448/mqouq5155plWr14991oB5MTmq/ZqB0rTJmuHHHKINWvWzI3673// W2aSDz74wPywY445JggJhyfScLU1a9a4sHB4XLLXI0aMcOHiPffc03beeWc3SbK+J5uXYQgggAAC CCBQ8wWy3QfTflcsFssaQHd3qKqmbcr2+Mv3KZ39ymz3xTVfZfvn+8kzAggggAACCCCAAAIIIIAA AggggAACCCCAAAIIIFDVAvFY3GKl51+Kq3pFLB8BBBCobgGd9H7sscfsrbfeso8++si++uora968 uXXs2NEGDx5s+++/f7ldmj17tj3wwAP2r3/9y5YvX26NGjWyDh062KGHHuqCicXFqf/p1K11VTVU y1i1apVbb6dOndx8BxxwQMr16mSzqprq9rwKEyoQ265dO9txxx3tvPPOs9atW28w77nnnmtffvml KVx4xBFH2K233mozZ860Tz/91FU27datm/35z3+2ww8/vMy8qoaqsKXCiL7dfPPNdv/997u3Dz74 oOu3H6fn119/3aZOneo8P//8c7f8Nm3auOUPHDgwCFiG5/H9k9spp5xijz76qL344ov24Ycf2i+/ /GJt27Z1fTvttNOsqKgoPGuZ19VpWmbFFbzJxlHfRTnLYdmyZa5ibOfOna137952/PHHp1zj999/ b2PHjrXXXnvNfeaacKuttrKePXu6SrR67dvtt99ur7zyinvrK8xqfR9//LEbduGFF9pee+3lJ8/6 efr06e53ps9T69H3fI899rDzzz8/7WVq3nHjxrm+yaN9+/bWo0cPUx9btWqVdDn33nuv+31o2iFD hiSdJt2Bqkys9W633Xam76H6kqp98cUX7t8CWTdu3DjVZLbZZpuZPq8ffvihzDTz5s0L3qfy129i m222cZ+xfmfltWeeecZeffVV16eRI0falVdeWd7kjEMAAQQQQACBGiqgfR8dJ3Tt2tVGjRrl7qqg 93PmzHH78xr+xz/+0XRXg/L2qRctWmTjx4833U3h66+/tgYNGpj2Q7XvddZZZ5V74ZXCsdqXnzRp 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 DrBmBBBAILcCqj6qtmDBAtPJ5sSmSpxPP/20G5wYcN1vv/2sVatWbty4ceMSZ3XvlyxZ4iqH6oR5 OIiswLBuSasA4aOPPpp03hdffNF0El3P4RPIPuio29ZOmTIl6bwKH1999dX25ZdfJh3/0UcfuYrG iSMVxLz//vvdYPV3zz33LDNJ/fr1g/c6EZ7YvKeGv/DCC4mj3cl8Bad9SzT1w7N5zrdpJn2uyHHv vfcOQg+qAKwwerKmcMF9991XZtTChQvtgQcesFtuuSWoDB2eQAFVf0vpZBXifN+Sfb7h5aT7Wtvi 13f33XebQrmJTUGRWbNmucHlhTquvfbapNukcPvcuXPd/H/+85/LLF6B9Z49e7ph99xzj61evbrM eL2ZPHmyC/Hq9R577KEnF1jp27evVfTwhvqN+mnDYRut7+STT3b/xiiQ+9BDD5X5t8CtLMUf9d0H nZ944glXuTxx0ieffNINV3XiI444Ihi97777Bv3x/Up89p+LqpP7cakC/sGCeYEAAggggAACNUZA xwRvvfVW0v7ee++97oJEjQzvQ+gYx1+0dscddyTdD9VyNb/alltu6S6Ycm9K/2i/Vfuiqhb8xRdf +MFlnjt16uTeKyCcGBL2+6K+WnGZGUvfHHXUUW4eHbdo3y5Z03C/z1nevmWyeTUs2+Mt7VPpLg3a /r///e9JF++D2Brp9yOTTshABBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCBPAjq/orKaBIXz 9AGwWgQQyL3ALrvsEiz0yiuvdFU7VR1UoUMFME855RRbs2aNm+ann34KTqZrQOPGjYMqnKq2peq/ q1atCpan6rqqIrp27VoXKN5nn32CcTvssENwQl5VS1Vh1IdB9Y/tM888Y8OGDXPTqwLrJptsEsw7 aNAg23777d17TaMT4b6P6rsCl8cff7wLJJ5xxhnBSfJgAaUvVH1LVYpVCdmfRP/mm29cf31gevDg wRYO/mp+BQF8UxB45cqV7q0/Ab/zzjsHJ/sVHlAAU4FTrW/SpEmuem04vJyrMKo6kW9T75LOc0WO qvx72WWXuUXNnz/f+vXr5yq/+mXLU9Vg9f0cPXq0hSu66bbOaqoSp6qyCofoe6GmELG+b7567m67 7eaGh//ods5qqmSs6dUqE+hW2EPfQzX/m/ChEX1/pk2bZqeffnrw/XcTpvjz7rvv2jnnnGPvvfee +97qe6/5zz77bDeHficDBw7cYO6LL77YDdP26LchGzV995966inTb19NHpWpeOwWEvqj5atv+p3p 3wsFZpo2bep+E/ruJ3skBpn1b4jaO++84yrQ+dCMwjG6yMBfpPCnP/2pzL8ToW7wEgEEEEAAAQTq qID2RbSfpf12hXvVtK+h/Ud/saKOUXQnCt9UUXfEiBHure48cNxxxwX7Thqo/bhjjz3WPatqsI6Z NI9vChrXq1fPvT3ttNNMF0z6fX7d7UDHBLrQSa28fdHly5fbjBkz3AVR4X1RhZhVrVdNF2DpQrIV K1a499rH077RjTfe6N5n+6cyx1u9e/d2q9XFpnKeM2eOe6/PQhdr+v1SXTS66667ZttF5kMAAQQQ QAABBBBAAAEEEEAAAQQQQAABBBBAAAEEqk6gNLsWKV16pDQQpsDwBm3Bwq/csCYbV3w77Q1mDg3Y tFnl5g8tipcFJOC/H75L7dr8L3Doh1Xlc77XX5XbxrLLCvjPOp3vmE7YKjCrysG+qbKTQnhqjRo1 MlW8UtBPTaFLX4VT73XSWiHDRx55RG9dlWBVE1U4WGFONZ3MVpXebbbZxr33f7799lsXIlQAUE3r 1a10Fdj1J9MVWlRlWPUj3BT0VADxs88+c4N1cl7LX7p0aRAa1np18nyLLbYIZtWJa82jSsgKNauf OsHfrFmzMgGAvfbay+66664N1qsFnXTSSaYKrmrqs4KgEydODCqfqr/+lrt+Gu+p9woEeO+bb745 CExrnO/fAQcckLJCmE7cv/nmmy4Y7Ks9a161fJj+tubM/1bkqCXKR1V4fThCn5NCxIsXLw5WqLC4 AsPhphCxggn6fqtpHn3O/jupYQpxaNnhYIeGK+B9/fXX66Vrqox2wQUXuN+JH5bpsz7/Cy+80AVF /LyqbKzwvXYpFPBVBWt9N3faaScXIPHTKQStcLCaQiHPP/+8e63grcL1/rulULuqVacK+uo3qirb fnr9jhVU9iF73Qpabr6CnltJGn8UUFfwRgFk/VsQbuqrDzGHh5f3ev/99w8q9Gk6hbx1i2r/XVfV Pf3Wv/7666Dv6oNCOr7CeXnLD49TpeNXX33VVNkuWQXw8LS8RgABBBBAAIH8CWRyfKNeXnHFFfbw ww+7wG6LFi3cfoP223Wcoov2/D6i9inGjx9vbdq02WDjtG9x0003BftOujOC9kkV4FXT8nSxY69e vTaYV/v62gfS3VP8tLpQTkFe/7+TtO+liwrVv3DTcVf4DhHaZ9RdTsLHFzrm0cVU/uI3za+LsfxF mzqm0gViWpem88FnTZfO8Yamy/Z4S8dX2j/XhZ++aR9N+4v+gi8N1/7dqaee6ifhGQEEEEAAAQQQ QACBOiWQ6TFOncJhYxFAAAEEEEAAAQQQQKBGCfjjm8rmZVNtdP16/yvWkmyaufN/K5SXbFw6wzp1 aJ10sqLSbEokGqGicFIdBiKAQI0UUEhSJ8FV7crf5lZBQp347tmzpzvBqypcvqnKargptKfwoar6 Kmyn9zr5rkCmKrP279/fhWgTQ8Jahk6KK7yoAKXCvFqvgpIKT3bu3NkNTxXW1bp08llVf3XiWSf7 FyxY4IK/7du3d7fkffzxx8uEhMP97tatm5v/97//vTtp7SusKrCpAKuCzYnhZD//VVddZV26dHFv 1efECqjnn3++XXfddS74qYl8MFMn7HUb3rFjx7pAtcb5wLBe56Ll0zTT/lfkqOUNGTLE9DkqPKvK bApbKCSs4K9CGQplJ4aENZ//DFWlTAHhn3/+OQgJK+Rx+eWXu7BFYkhY8yo4f+ihh+qlaz607t9n 86zfk6rpnnfeecH3QkEJrV/BcYVgd9999woXre295ppr3Pda3zt9t/SbU4Xtxx57LGVIWAseMGCA C8woVKv++KCtfFSxWdXuMg0JV9RhH8KpaLryxutzHzNmjF166aUu3KOAjir5KeCs77v+jdF3JNOQ cHnrZBwCCCCAAAII1A6BBg0auIusjjjiCLf/o+MF7Z9ouC4aU1A3WUhYW699zCeeeMJ69OjhjpN0 fONDwroriy6wShYS1rzav5syZYrbN9M+ivbZdIyk4K6OMbSvqsrCiSFhzdu9e3cXotX+mpr2Gf1F c25A6R8dO+lCRe2z6uIxNYWEtWzt102dOjW4y0my/V03QwV/sj3ekq32WYcPH+4qNWtfTheC+pCw 9kV17EhIuIIPgNEIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQP4FIafHMkhgVhfP3CdTsNfsE vd+KdKq9+mlz8Zzv9ediG1hGegL+s870O6YT2Ko8pVDldttt506gp7fG/02l8J6qT6k6ariS7/+m SP1K1U118l5hRVVxzaTpNr7qu0LCqqaVqiWroKWqVwoo6yR7u3btUs1aZrhO1utkv9arymQtW7Ys M15vFARQtS8FMtUvhZCru1WlqcLl06dPT3uTVJnaV8P1M6Xj6KdVqGP+/PnubceOHYPwgx+f6lmf wxelwVJZ6LPSdzOdpjCIQskKd6gCnKpTjxo1Kp1Zg2nee++9pJ+7gukKSyiA4W9NHcyU5gv/nZer gtOZNH3ndSvt5s2bm6rZ6dbPNaXJTb9XfSYKfdMQQAABBBBAoPYLZHp84ysK64Iof2cU7XfqeEEX W+lYxwdx09HTfqiOcXQ3B+1P6i4XmTS/X6k7OuiRTnjX7/OoorDWqQBusqa+zZ0714WZdSyji8hW rFhhumBOTRfnDRw4MNmsGQ3z+54VHW8lLlR3h1D/tL+p7dD20BBAAAEEEEAAAQQQqOsCmR7j1HUv th8BBBBAAAEEEEAAAQQKV8Af39S2isKK0eh8zm9lXQrXn54hgAACWQnoZHllK4o2bNjQdtxxx6zW ryCtKnZl0xR41CObppPuXbt2zWhWnYBv27ate6SaUSfDFWbUI18tX6bpbm86jn5Z+g+wQrGZNn0O 6QbAw8tWCLWqgqgKSVS2VfY7r2p1NbEpXJLtvxM1cXvpMwIIIIAAAgjkRkD7ndnsE2rt2g/VHU+y bdnsV5a3z6ML4XQXFk2jvunuEuH2wQcfBG91YVouWrb7nrooLtNjrVz0l2UggAACCCCAAAIIIIAA AggggAACCCCAAAIIIIAAAtkK6PxLLBYnKJwtIPMhgAACCNQeAd1SWFWo0236j2hNbqrEpls5Z9Ko mJaJFtMigAACCCCAAAIIpCMwZswYmzZtmt13332mO22E26pVq2z06NFukKoXZ3sRZ3iZvEYAAQQQ QAABBBBAAAEEEEAAAQQQQAABBBBAAAEE6pKA7lQZjVJRuC595mwrAggggEAKgcaNG6cYUzsH169f 393SuXZuHVuFAAIIIIAAAgggUBME1q5da2+99ZZ9+eWX1rdvX+vTp4/tvPPOpjuJzJs3z8aPH28r VqxwmzJy5Eira/vsNeEzpI8IIIAAAggggAACCCCAAAIIIIAAAggggAACCCBQ+ALx0rBwceF3kx4i gAACCCCAAAIIIIAAAggggAACCNQmgQYNGtiECRPssssus4kTJ9oTTzzhHuFtVGh42LBhtu+++4YH 8xoBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCANgYhF3FQEhdPAYhIEEECgEAV69epl7dq1 s+7duxdi9+gTAggggAACCCCAAAIIVFKgc+fOduCBB1qjRo0quaTCnF13urj++uttwIABNmvWLHv/ /fdtyZIl1rZtW+vUqZP169fPmjdvXpidp1cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQIEL xONxi0RL48KlL+LJ+rpg4VducJONmyQbnfawTZtVbv60V8SE1Srgvx9+pe3abOlfVstzvtdfLRvJ SpyA/6yr+zsGPwIIIIAAAggggAACCCCQawGOb3ItyvIQQAABBBBAAAEEEEAgnwIc4+RTn3UjgAAC CCCAAAIIIIBALgX88U1l87Kp+lS/XlGqUW743PmLyh1f0chOHVonnSQaiZgCwtGkYxmIAAIIIIAA AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjVWoLi4yIprbO/p eF4FoqXlqGOx/xWj9on6fHRKX2QaAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC CCCAAAIIIIAAAggggMBvAkVFRaU5zxgVhflCZCfQsGGD7Gasgrnq169XBUtlkQgggAACCCCAAAII IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDNFCgpDQnH43GCwjXz48t/r1s0 a2qqKpzvpj6oLzQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE EEAAgd8EopGIRUofUUAQyEaguLjIttqilTVu3ND0urqb1ql1qw/5WH91by/rQwABBBBAAAEEEEAA AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBDIRUEXh4kxmYFoEwgIK6G7Wsnl4 EK8RQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBPIsEImW VhSORQgK5/lzYPUIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII IIAAAgjkVKCkpMRUUTia06WyMAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBA AAEEEEAAAQQQQAABBBDIu0BxUTFB4bx/CnQAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAA 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 nUAAgaoWWL9+fVaryHa+8Mr0D25cddyzaL/++msWczELAggggAACCCCAAAII1HYB/z92Mt1OHePE YrFMZwumX7duXfA61y8qc+zk+5LOMVy2x1maL9tjO98/nhFAAAEEEEAAAQQQQAABBBBAAAEEEEAA AQQQQACB6hIoKio2i0Ss9C8NAQQQqB0Cb731lt14440WjUZt4sSJ9s4779iDDz5oH3/8sS1fvtzd 8nbnnXe2IUOGWIsWLVJu9KpVq2zMmDH273//2+bNm2ebbrqp7bDDDnbSSSeZ5j/qqKPcvMOHD7ee PXsmXY5OTt9xxx32xhtv2CeffGINGjSwHXfc0Q4//HDr27dv0nn8wNdff92mTp1qH330kX3++efW sGFDa9Omjf35z3+2gQMHWr169fykaT+PGjXK3n33XTf9ueeea/vtt1/a8zIhAggggAACCCCAAAII 5Efg3nvvteeee866du1q2qd/5JFH3Ps5c+bYmjVr3PA//vGPdvbZZ1tRUVHKTi5atMjGjx9vL7/8 sn399dfu+KRz587Wo0cPO+uss6xp06Yp51U49tFHH7VJkybZggUL7JdffrFWrVrZ9ttvb2eeeaY7 RvIzv/LKK3b77be7twsXLnTPS5YssSOOOMK9PvDAA936/PR6Vmj5vvvuM82rY7fi4mJ3/HXooYfa cccdZ0OHDrVPP/3UDjvsMHdM5ufVcc2XX35p++67r51wwgl2zTXX2MyZM23FihV2//3321577eUn deFeOT700EP23//+19auXWvt2rVzx2jnnXeetW7dOpg28cXcuXPdNn344Ye2dOlSd3y2zTbb2MEH H2yDBw+2xo0bJ87CewQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgIAR0HiZS2hOCwgXxcdAJ BBDIhYACvgrXqinoq5Pq4Spbn332memh8K7G6cR2YlMw95RTTrEvvvgiGLVs2TLT49VXX3Ungv06 fvjhh2Ca8Itvv/3WjjnmGHv//feDwToRrSCzHrNnz7a//vWvG5zIV19vuukmd5I8XKXq559/NgUB 9FAAWo9GjRoFy67ohQIFCkyradsICVckxngEEEAAAQQQQAABBApDQCFbHX/8+OOPpmDss88+W6Zj OubQQxdJjh071jbZZJMy4/VG4V5d7Pj9998H41avXm2zZs1yDwVob7nlFttll12C8f6Fjnn69+/v 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 +uqrlNNUZoTuHKM7s2jbdaynflemdezY0fRQMHjx4sV27rnn2ocffmhjx461ww47zI2rzPKZFwEE EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDItYDO6RQVFVk01wtmeQgggEAhC+gfvzfeeMN1USeO w02VeNVUJSsej4dHBa9TDQ8mKH2hE9GpmpbtW/gkvipS+dajRw//ssyz+l5R69KliwsJa7obbrjB tt56azeLbge8ZMmSimZnPAIIIIAAAggggAACCNQwgUWLFtnnn3/ueh0+xth2223dMB1HTJ8+PeVW Pffcc8G4Xr16Ba+fffZZu/baa5MGgKPRqB177LG26667uunffPNNFx4OZk7jRdu2bd1Un376qS1b tizlHOkcgyWbWf/Ty69D/cuk6QJSbbseqhyc2HScpWMs315//XX/kmcEEEAAAQQQQAABBBBAAAEE EEAAAQQQQAABBBBAoGAEdL4kFosTFC6YT4SOIIBATgVeeumlpMt7/vnn7csvv3TjjjjiiDLTHHPM Me69KvEmm7+kpMTuvvvuMvMke6OTxK+88soGozT/Aw884IY3a9bM9tlnn2Cahg0bBq9feOGF4LV/ oRPnt956q3+b1kl4Vc264447rF69erZq1SpX8aq8EHOwcF4ggAACCCCAAAIIIIBAQQn88ssv9tZb byXt07333hscH4SPcfbbbz/r0KGDm0fHBevWrdtgfi1X86vpriS77757MI2m1/GLqgV/8cUXwfDw i06dOrm3Cg7rEW7169d3b3214vA4vT7qqKPcPDpGueeeexJHu/caruMotWwCw0cffbSbV2HfKVOm uNeJf2Rw9dVXB8eJGq9jKd2dRdv/97//PXEW994HsfVGlYtpCCCAAAIIIIAAAggggAACCCCAAAII IIAAAggggEChCaigjDuPU2gdoz8IIIBALgR0IvzOO++07777zi1OJ5efeeYZu/jii9375s2buwpY 4XX17dvXNt98czfoggsusEmTJtnq1avdSfePP/7YLrroIvvHP/4RniXpa/0De95559nEiRPtm2++ cdOoytdpp50WVKM66aSTrHHjxsH8O++8c3BiXSfqJ0+ebKpipYCw+jFgwIAyJ641Lp3WrVs3GzZs mJtUVYtvvPHGdGZjGgQQQAABBBBAAAEEECggAR3PnH766aaLChVsVdOxyujRo+3RRx9173UhYteu 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 mySclqFyNTXio1I0Lc98kmdTg8ZS3/Gp1OCY+I5PhXmlhXgsbZ/eTFKScHY7xC6p8jI7PfucWCNb 2Zudx2gqVKByngxtWVxoEEkDUAoVitk4LcU4PRHfFR+HrxVQQAEFFFBAAQUUmB4EqOcg6YhCHJGS hLPnTrLSCiuskJ1UeE7jSL6n01nL4YcfXpiefZLqdkj6ysY32WU6e84IJCRSnXTSSSVjEephUimX NJbm95WfxDScEw+Sp4sLsSKd3VCKz6nWa5bdF/V2peI7kgFT4fqXqkMimTcVOruptJAYVypuJMk1 9SxNI9vult6KF/k9KU4S5hi/+OKLOEIO1zS954uPPb1XGUmUhN56FZL0U/ImCZbZQvxNEjWFOtFs qSU+z26n+DlJyxSS3rNJwmk5EpZTEiEJu6nUes8kbYefdB5Vqt6VkVdTKff+qua9WctnYfKiMUTx NeJYSSZN94no+Ipep+tReM+STE2h0Xs2SThtn/cVnxOUt99+OyYtp3nZn9WYZdcvfk7jBAp/k/id Ky40hGc04HKlp/9u1PIZnj1m6vizScJp3hJLLBEb6/Oauv/sNa9l3+lzku2Wuq9YLneAz5E0+jO2 2SRhtkXhbxYJzhQ6V7MooIACCnQtwPfwfL7NROGuqVxCAQX6owCtxEsVgow03BRDRaXC8Be0ZqUw FA5ffEsVgoHU2rr4hgmtKilsi9a7aWidtB2CRFqP8ij1pTYtV+rnxIkTC5NLBW5pJi3MKdwoK1dK BassS4/KFNYlSCtV8EvD+NISORVuVKR90iK0VMBLD2ScewrI07r+VEABBRRQQAEFFFBAgc4F0nft UktxY5yeNCjZGIfE31TobaNcYYjSVLIxDpWz6UY+PWkx3GJx4YY93/Hp7bjSkip3qbSjcqBU4eZV Ovf0s3g5etIqNY9haRmOkEIFVLkYkWGOKfRKlq3E6Mn4Lu7Q/xRQQAEFFFBAAQUUmM4EUmconHZn 9RwpmbT4e36KcegBsVRnLWyXYdNTKVVPkeaV+0nsQDItiVOlSholknmMoNgfCr03c048aGxaqqTz Kj6nWq9Zdl+p/io7jefZOqtUf1e8TDa5jd5UKy1zzDFH2VVS78z0aNzd0lvxYur9t/i4qKtL17Tc 70K6pqxbfF2Lt1fJa+pPU3J3caIwibj03EvJ/o7XGp+XO77JkyeH9H7YcMMNyy0Wk6nPO++8Dg2w 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 PsuuU/y81mtWvL1p4XU18WKt1zK5UR9Hj8FvvfVWjHNJ/KykpDifRHve592J8yvZfmfLVhufd7ZN fveo1+V3hM+VlCzd2TppXq33TNJ2GvGzls9C3j90fEWPy91NuqzX+4bPE/ZNHTyftZVcr55ypvOx CRMmxN8Hfi8qKbX83ejO/bN6fIZzPrxfuAfH73x3z7HWfdeaO8D9yPfeey+OiFbN365KrqPLKqDA 9C2Q4pta82XLKQ4c0FxuVpz+/EuvdTq/q5kjhi9YcpEBA1ri9yMThUvyOLErgfSLkZbrThJnWrYe Pxu9/3qcg9vonkC61t15j5VLFO7envrHUtxUooVlqUJATUt7vqjTYp0W+RYFFFBAAQUUUEABBRTo OwKVxDccdalE4b5zNrUfCZUE9NBSrnL7rrvuir1esafLLruskDRc+57dggIKKKCAAgoooIACCtRD oNIYpx77dBsKKKCAAgoooIACCiigQE8IpPhmWksUbmrKxZEim3oCzW0qoIACCtRf4N577w0MyXL7 7bdPtXFaudLDFknCtPZdb731plrGCQoooIACCiiggAIKKKBAXxJg6NxNN920MMRl9tgYPYXhhCn0 Xrz00ktnZ/tcAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgGwItzS2hpRvLuYgCCiigQB8Q IFGY3rb22GOPsP7664eVVlopDiM0adKkcNVVV4Vnn302HuUOO+wQllxyyT5wxB6CAgoooIACCiig gAIKKFBa4IsvvggPPPBAIJ7ZYostwsYbbxyWX375wDCpL7zwQrjwwgvDu+++G1c++uijw5AhQ0pv yKkKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIlBZqamkK+fYRHE4VL8jhRAQUU6HsChx12 WEwMPuqoo8Idd9wRH9mjbGlpCT/5yU/Cvvvum53scwUUUEABBRRQQAEFFFCgzwkMGjQoXH755eHQ Qw8NV199dbjyyivjI3ugJA0feOCBYe21185O9rkCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo oEA3BNrybSGfz5so3A0rF1FAgX4iMM8888SedjncoUOH9pOjruwwt9tuu7DmmmuGRx55JDzxxBNh woQJcRje4cOHh4022iiMHDmysg26tAIKKKCAAgoooIACCvRZAb7fM5rIDDPM0GePsZYDGzhwYDjh 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 AgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQMMF8vl8yLUfhT0KN/xSeAAK KKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgrUT6CtPVHY HoXr5+mWFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUU 6BMCTc1NgV6FW/rE0XgQ/VLgq69aw3sffBimTPky8Lw3S0tLcxg4cECYY7ZZAs8tCiiggAIKKKCA AgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAL/EyC/0kTh/3n4rAIBEoPf ePNfMdu8gtXqtij75/H551PC/PPOZbJw3WTdkAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiig gAIKKKCAAgoooIACCiiggAIK9H+BXMi35kNT/z8Rz6ARAvQkTJfUjS4cA8diUUABBRRQQAEFFFBA AQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRT4j0BbW1toa39qorDviKoE6Mm3 r5QpU77sK4ficSjQJwXefPPNMHz48Pi49NJL++QxelAKKKCAAgoooIACCiiggAIKKKCAAgoooIAC CiiggAIKKKCAAgoooIACCiiggAJ1FGhPFM61b66ljpt0U9ORQHFvwsMWmq9Xz37iq5ML+/vqq9bC c58ooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIAC07tALpcL uaacicLT+xvB81dAAQUUUEABBRRQQAEFFFBAAQXqLfDwww+HN954IwwdOjRssMEG9d6821NAAQUU UEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOhKoL074Xxr3kThrpycr4ACCiiggAIKKKCAAgoooIAC CihQmcBFF10U7rjjjrDIIouYKFwZnUsroIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAnURyOfz obm5OTTVZWtuRAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEF FFBAAQX6hABJwvl8m4nCfeJqeBAKKNBjAq2trYFHNYX1aFVRS/nqq6+6XL07y5TbSC3rltsm07/8 8svOZjtPAQUUUEABBRRQQAEFGixQbZxDDFFLnDNlypQeO3POqa2trabtdydGqjbeYb1aj6+mk3Nl BRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKACAeqEmpqaQksF67ioAgoo0C8EPvjgg3DGGWeE e++9N0yaNCke8/zzzx9WWmmlMHbs2MDzcuWll14Kl1xySXj66afDP/7xj5hkvOCCC4Y11lgj7Lnn nmH22WefatWzzjor3H777XFI3ZNPPjmMGzcuXHfddeHZZ58NH3/8cVhyySXDiiuuGPbaa68wZMiQ uP5VV10Vj+/RRx8N7733XjymVVddNey///5httlm67CPDz/8MGy//fZx2tFHHx3nsx+OceLEiWGe eeYJyyyzTNhll13CN7/5zQ7rdvcFld233HJLYHhgzvuLL74Iw4YNC0svvXTYe++9AwYWBRRQQAEF FFBAAQUU6F2Bc845J35PJ6Y45phjwqWXXhpfP/fcc+Hzzz+PsUaKVWgRXq689tpr4cILLwx33nln eOutt8KgQYPCyJEjw3LLLRf22GOPMMsss5RbNTYivOyyy8I111wT44/PPvsszD333GHxxRcPu+++ e1h++eUL6/75z38Op512Wnz96quvxp9vvPFG2GyzzeLz9ddfP+6vsEL7E25QnXvuuYF1n3nmmdDS 0hKWWmqpsMkmm4Rtt902HHDAAWHChAlh0003DTvssENhVeIr4r211147/PjHPw5HHXVUePjhh8O7 774bzjvvvPCd73ynsGwt8c7zzz8fz2n8+PHhzTffDIMHDw5f//rXw4YbbhjGjBlTiPEKO/OJAgoo oIACCiiggAIKKKCAAgoooIACCiiggAIKKNCHBNra62JMFO5DF8RDUUCB2gWoWB49enRM0M1ujUpq Htdff3049dRTwwYbbJCdHZ/fdNNN4Ze//GX49NNPO8x7+eWXA49rr702kOC72GKLdZj/+uuvx6Rd EpT322+/mCicXeDJJ58MPKjc/v3vfx+OPPLIcPnll2cXCVTc87j77rvDbbfd1iEhmV61SAqmsP+b b745sK9UqKzm8Ze//CUcf/zxsQI9zevuT9ajMj1bXnzxxcDjrrvuCieccEL47ne/m53tcwUUUEAB BRRQQAEFFOhhAZJsiQU++uij2PCQWCBbnnjiicDjb3/7W2wsOeuss2Znx+c0Ltxyyy07xBDEPI8/ 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 3rx56eqrr05xp3u05ddw+csR/FjV9U7Yxk2VJ510Uq7UHMna999/f44jut15553z2iySoDUCBAgQ IECAAAECBAgQIECAAAECBAgQIECAwGQVKMoiFd2LO/VwA1yw8J789Xrrrzfc5hF/t8mGq3f8iDuy 47gK9P4+ep3OmrF57+24/J7o/sclSJ1kgd5cr8rfWPzn7c7u43QffvjhXHFrk002GZHqQw89lI+L xOKoljXRLZKB4wJ+tKiYHBfjo8Vjf++4444UFbxe8IIX5O/G4kf0t3DhwpwkHNW8NAIECBAgQIAA AQIExkZgtOubD33oQ+nCCy/MN0HedNNNeRCRbBv/f/2xxx7LlWyjIvBIWyQX33bbbWnp0qV5jbTh hhuO9NC8X9yseNddd6XNNtssv0aSvBsJwvH0kqgoHJWQIwF3uBZji+rCkcw8a9asnCC8ePHiFDeB RouqxW9605uGO3RU363qeiee5hLjK4oixxHxaAQIECBAgAABAgSaLjDaNU7TvcRPgAABAgQIECBA gMDkFeitb1Y3X3ZFEU6d0lrRpvz9rXf8+lm3r2zj9i/aathdWq0yX9sY+dWkYU/jSwIECExegbiA GxeYR9viYvloL5iPto+x2D8ePRxVwca6RRXleGkECBAgQIAAAQIECEw+gaiwuyrrnIgkEntnz569 ykHFzZTxGk2LhNoVrVvi5s5HHnkkJxHH2HbcccdlTv2zn/2s/zkqA49FW9X1TlQUnjNnzlgMwTkI ECBAgAABAgQIECBAgAABAgQIECBAgAABAuMiEGWE67pKTz+/cVy61AkBAgQIECBAgAABAgQIECBA gACBpwXOOuusdNBBB+WKw8ubLFmyJJ122mn566hgvMsuuyy/i88ECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQLPIlCWRTdTOCUVhZ8FySYCBAgQIECAAAECBAgQIECAAIGxF3jiiSfSddddlxYtWpQO OeSQdMABB6Q99tgjPf/5z0+33XZbOv/889PixYtzx6eeemqaNm3a2A/CGQkQIECAAAECBAgQIECA AAECBAgQIECAAAECAyzQ6XRS0f2fROEBnmShESBAgAABAgQIECBAgAABAgQmo8Baa62VLr744vSB D3wgXX755enSSy/Nr6FjjaThE088Me23335Dv/aeAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg BAKtVjtVVSVReARWdiFAgMCECkyZMiXNnTs3j2HGjBkTOhadEyBAgAABAgQIECAwfgKzZ8/Oa4F1 1lln/Dodx56mTp2aTj/99HTEEUekG264Id14443p7rvvTjNnzkzbb799mjdvXtpoo43GcUS6IkCA AAECBAgQIECAAAECBAgQIECAAAECBAgMjkAkCRfdcIq624YLa8HCe/LX662/3nCbR/zdJhuu3vEj 7siO4yrQ+/vodTprxua9t+Pye6L7H5cgdZIFenM93n9j+AkQIECAAAECBAgQIDDWAtY3Yy3qfAQI ECBAgAABAgQITKSANc5E6uubAAECBAgQIECAAIGxFOitb1Y3X3ZFY5o6pbWiTfn7W+/49bNuX9nG 7V+01bC7RJJw2WqlctitviRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBA4DkpULbKFFWF28/J0Rv0hAuUZdH9A/q/YtS9jPqJGFi7/ezZ9hMxJn0SIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCZSIPIrVRSeyBl4Dve99tprTZrRT506 ZdKMxUAIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMv0C0I26kk Ck/8RDw3R7DxhhukqCo80S3GEGPRCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIEnhao6zrV3bcqCvuLWCWBKEe9xfRN07Rpa6d4P94t+oy+YwwT0f94x6s/AgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCIBbqJwlEOtj3iA+xIYDmBSNB9 4Qs2Wu5bHwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCZSoCiK VJSFisITOQn6JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDDm At1ywlWnkig85rBOSIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QGACBaqqmyTcKiUKT+Ac6JoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIDAmAu0Wq1UVbVE4TGXdUICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECEyiQKwqXKgpP4BTomgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgMCaEairSkXhNUPrrAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQmRqBIRe64nJju9UqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAwJoQqOs6Ra6wROE1oeucBAgQIECAAAECBAgQIECAAAECBAgQIECAAAE9xgHI AABAAElEQVQCBAgQIECAAAECBAgQIECAAAECBCZQoKpqicIT6K9rAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmtEoN1uSRReI7JOSoAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCCBFqtVqqqKrUnqH/dEiBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwBgQ63SThlGqJwmvA1ikJECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQITJhAWRTdNOGUygkbgY4JECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgjAnVdSxReI7JOSoAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCCBIqySEW3qnB7gvrXLQEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECa0Cg0+kkFYXXAKxT EiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJhogXarncqJHoT+ CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYO4GyLFNV16k9 dqcc/kwLFt4z/AbfEiBAYBQC/lsyCiy7EiBAgAABAgQIECAwqQWsbyb19BgcAQIECBAgQIAAAQKj FLDGGSWY3QkQIECAAAECBAgQIDBOAnVVp6qqVBQeJ2/dECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIEBg3gaIs1nxF4VkzNh+3gHREgMDgCfTuQvffksGbWxERIECA AAECBAgQaJqA9U3TZly8BAgQIECAAAECBAZbwBpnsOdXdAQIECBAgAABAgSaJNBb3wxczEVKZVGu +UThgYMTEAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFJLFDX KdV1lcpJPEZDI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg lAJl2S0p3E0Wlig8Sji7EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIEJjMAp1OJw9PovBkniVjI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIDBKgVarnVJRqCg8Sje7EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIEJjUAlVVpaI7QhWFJ/U0GRwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgACB0QnU3URhFYVHZ2ZvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABApNeoGyVKaoKqyg86afKAAkQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAiMTqDdbkkUHh2ZvQkQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAhMdoEiVZ0qtSf7MI2PAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAIGRC9R1nXcuR36IPQkQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQmPQC3UThojtIicKTfqYMkAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDIBYqiSEVZSBQeOZk9CRAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDwHBLrlhKtOldrPgaEa4iQVeOqpTvqfh5ak pUufTPF+PFu73UpTp05JG2+4QYr3GgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAwNMCVVWlVqslUdgfxKoJRGLw3fc+kOIPaSJa9B+vxx9fmraY/gLJwhMxCfokQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJqVAJAlXVZ3KSTk6g5r0AlFJ eKKShIfixBhiLBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDT ApFfWZalRGF/EKsmEJV8J0tbuvTJyTIU4yBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQITAqBupss3J4UIzGI55zA8tWEZ83YfFxjWLDwnn5/Tz3V6b/3hgABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQdIEiFZlAonDT/xLET2DABG6//fZ0 00035agOPPDAtPbaa0+aCK+++uq0dOnStM0226Tdd9990ozLQAgQIECAAAECBAgQIDDWAtdff326 ++6703rrrZde/epXj/XpnY8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAlAnVdp6IsVBReiZPN BAg8xwSuu+66dMopp+RR77PPPpMqUfhDH/pQWrJkSTrssMMkCj/H/q4MlwABAgQIECBAgACB0Qlc cMEF6bvf/W6+UVKi8Ojs7E2AAAECBAgQIECAAAECBAgQIECAAAECBAgQGCuBqqpTOVYncx4CBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCaHQLvdkig8OabCKAgQ mGiBJ598cpWG0Ol0Urw0AgQIECBAgAABAgQIjKfAqq5DnnrqqVRV1SoPdenSpat87MoOjJjiEVir 0yK+lbVVXf/Fcas7vpWNzXYCBAgQIECAAAECBAgQIECAAAECBAgQIECAwFgJtFqtfF2oPVYndB4C BAhMlMD999+fjjnmmNz9//zP//SH8ba3vS212+00ffr0dM455/S/772555570nnnnZe+853vpN/8 5jfp+c9/fpo9e3baf//905vf/Obebs/4/dBDD6XPfvaz6Qc/+EFatGhR3r7FFlukvfbaK73rXe9K 8b7XPvWpT6V/+qd/yh8feeSR/Dv6+8UvfpHf/+Vf/mXaZ599erv7TYAAAQIECBAgQIAAgb7Aueee m775zW+mOXPmpI9+9KPpy1/+cv588803p8cffzx////+3/9Lxx9/fIp/6FlR+/Wvf53OP//89L3v fS/dd999aa211sprn9133z29853vTBtssMGKDk2RHHvRRRelK664Ii1YsCD9/ve/T5tuumnacccd 05/92Z+lPfbYo39srH1iDRRt4cKF+ffdd9+dDj744Px+7ty5ub/84X9/RNLyF77whbxuinVSrOF2 3nnndOCBB6bDDz88zZ8/P/3yl79MBx10UDrqqKP6h7773e/O67H99tsvveUtb0l/8zd/k66//vq0 ePHivM4bus6K5N5wvOCCC9J///d/pyeeeCLNmjUr7bLLLunP//zP01ZbbdU/7/Jvbr311hzTTTfd lO6999609tprp6233jq95jWvSUcffXSaNm3a8of4TIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCY FAKdXDymThKFJ8V0GAQBAqsjEBWtfv7znz/jFHEBONpvf/vbZ2yLC+Wve93r0oMPPtjfFgnAP/7x j/PrX//1X9MnPvGJtP766/e3x5u4cH3EEUekXtJvb2NcBI/XV7/61fTJT34yvfrVr86bop/lxxZ9 9vqNPjUCBAgQIECAAAECBAgMJxBJtrGe+N3vfpciMfYb3/jGMrvdeOONKV7/9m//lm9mjJsfl2+R 3HvooYemoWuPxx57LN1www35FQm0Z599dtpzzz2XPzSvpV7/+ten2267bZltcaNlvL7//e+nt7/9 7enEE0/M26OP5dc/kZTb+26nnXZa5jyPPvpoTtT953/+52W+j4TfeP30pz/NY7zrrrvSH/zBHyyz TyQP33777WnddddN3/72t1Mk9PZa9Dm0nXbaaTl5eOh3cWy8rrnmmnT66afnG0aHbo/3//iP/5g+ +MEPLlOBORKlo+94RQL1ZZdd9qyJxsuf02cCBAgQIECAAAECBAgQIECAAAECBAgQIECAwHgJlEWR 4lmOEoXHS1w/BAisMYHNNtssVwWODr7yla/0qwdffPHFacMNN0xTp05dpu+HH344V6KKZN1tttkm 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 3DA5f/78FMnIo229tVZU5l0Trbf2i3NHpeWh1ZZX1F9vTLF97bXXTuecc0764he/mC699NJ0xx13 pB/+8If59dGPfjS9+MUvTscee2xOJl7R+XxPgAABAgQIECBAgAABAgQIECBAgAABAgQIEJhIgbqq U1VVEoUnchL0TYDA+Av0LmDHhfAPf/jDKx1AVNZavr3yla/M1YTjwnNUl/r+97+ffvSjH+WL5mec cUZ+JO+nPvWp9LznPW/5Q30mQIAAAQIECBAgQIDAmAv0koKHVg7uJQgPrZi7oo57SbXTpk17xi4v etGL0t/93d+l3//+97ky77XXXpuTZaNi78UXX5yuv/76fCNl7DeaFmuySMx99NFHR3PYiPftrf3i gCOPPDLttddeKz12t912W2afoijS0UcfnV+33357+s53vpMTpn/2s5+lG2+8MR133HHpne98Z37y zDIH+kCAAAECBAgQIECAAAECBAgQIECAAAECBAgQmCQCRVlIFJ4kc2EYBAiMk0Dv4vVDDz2UHyU7 ZcqUVe45qnYddthh+RUXt0899dRcaSoSh7/yla+kI444YpXP7UACBAgQIECAAAECBAiMVKBXSXir rbbqHzJr1qz8PrbFE1Xa7eEfKvW73/0uxSvas1X3XWeddXIF4agiHHeeX3LJJenkk0/OlXo/+clP prhZcjRtiy22SDfffHO65557RnPYiPfdeuutc8wReyQNx7hXp2277bYpXpEYfNddd6V3v/vd6aab bspPlznooIPyttU5v2MJECBAgAABAgQIECBAgAABAgQIECBAgAABAmMuUKRUFmUqx/zETkiAAIFJ LNBLFI6LxT/+8Y9HNdKoovWxj30sffWrX33GcVE9+KSTTkrrrbde3haP5dUIECBAgAABAgQIECCw pgV+/etfp1/96le5m6GJwtttt13+LpJ6r7nmmhUO45vf/GZ/2957791//41vfCOvf4ZLAC7LMt8w +ZKXvCTv/8Mf/jAnD/cPHsGbmTNn5r1++ctfpt/85jcrPKKu6xVue7YNrVYr9fqI8Y2m/fa3v82x x/ovKgcv37bccss0f/78/tfWf30KbwgQIECAAAECBAgQIECAAAECBAgQIECAAIFJJBCXWeJakUTh STQphkKAwOoLTJ06tX+SuLi7fHvFK17Rr5IVFYCXLl26/C75c1zo/cIXvrDMtoULF6YvfvGL6eyz z05PPvnkMtviQyQJ9x7vO1y1rt7YhhvXM07mCwIECBAgQIAAAQIECPyvwO9///t03XXXDetx7rnn 9pN0Dz744P4+r3zlK1PvRslPf/rTw6594rxxfLTNN988/eEf/mH/+FgrxfonqgXfeeed/e+Hvtl+ ++3zx0gcjtfQ1lv/9KoVD90W7w899NB8TNzE+fnPf375zflzfN/pdPL7VUkYfsMb3pCPjWTfq666 atg+wuCUU05JixYt6m+PCsTf+973cvz/8A//0P9+6JteInZ8N9z6b+i+3hMgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIEJkKgLLslhbvJwstexZmIkeiTAAECYygQj6/ttSuvvDJfDI+7InotKv9+4AMf yB/vuOOONG/evHTLLbf0NudKVl/60pfS29/+9nTaaaelodW1eo+qjYpd8bjZuFDfSxiOJOKPf/zj 6bbbbsvneulLX9o/Z+9Nb2xRyTj2jzZ0bL39/CZAgAABAgQIECBAgMBQgUiWPe6449K3v/3tFImt 0R577LG8Zrnooovy53333TfNmTMnv48fUVH35JNPzp9jzXP44YenWMv0WiT/HnbYYTkJeN111803 SsYxvRaJxlOmTMkfjz322BQVhns3PT744IPpiiuuSJdddlne/mzrnwceeCBde+21KRJ9h65/Ion5 ta99bT7+ggsuyBV8Fy9enD/HOM8555x0xhln5M+r+uPII49MO+64Yz78xBNPzAnJjz/+eP4ca7kb brghvfnNb07R/zve8Y5+UnLssP/+++f94okysTa8+eab8+eYi5///OfphBNOyJ+Loki9ysr5Cz8I ECBAgAABAgQIECBAgAABAgQIECBAgAABApNEoFeQpeheqBn2GY4LFt6Th7re+uut1pA32XD1jl+t zh28xgR6fx+9DmbN2Lz3dlx+T3T/4xKkTrJAb65H+jcWF8ujanBcuI42bdq0FMnB119/ff7c+3Hm mWemz33uc/0L1RtuuGHe76677urtkuJCciQMD22RRBwXiXv/EY1zx0X1oY/KjQvqce6hF9njHFGp 6/TTT++fLqpUvec970lvectb+t95Q4AAAQIECBAgQIDA4AqMdn3zoQ99KF144YU5YXfjjTdO9913 X65eu9VWW+UKuL11ydZbb53OP//8NGPGjGfgxZNSPvGJT6So3BvthS98YV4HRQJvtKiG+/d///dp 7733zp+H/oh11PHHH58eeuih/HXsG5WHI5G3989JW265ZYqbNGN8Q9tNN92UXve61/W/iiewvPzl L0+f+cxn+t/de++96W1ve1v/hsvYsMEGG6QlS5bkfWbOnJlvsoy+Yr9e4nNsjETe22+/Pb3qVa9a YUXi2C9u5owYYt9osU4Lr+i7lzQcScuRLDx9+vS8T/x44okn8prwa1/7Wv+7TTfdNCdqD62SPH/+ /HTMMcf09/GGAAECBAgQIECAQJMERrvGaZKNWAkQIECAAAECBAgQeG4J9NY3q5svu6Kop075v2It w+1z6x3/V+xluO0r+277F2017C5xbScKuagoPCyPLwkQeK4KRGLwWWedlSLxN1okDveq/g6N6b3v fW+65JJL0otf/OJ80T0ufEeScCT+xgXys88++xlJwnH8UUcdlc4777xcMSoShB999NF+knBccP/g Bz+YL3wvnyQcx0ZC8IEHHhhvc+tV4+p99psAAQIECBAgQIAAAQLDCay11lrpW9/6Vjr44INzYu+C BQvyzYvxfdyoGIm6wyUJx7ni5sdLL7007b777mnq1Kl5/dJLEt5zzz1T3Aw5XJJwHBuVgq+66qo0 d+7cFEmykWy8aNGinCS8zjrr5PVRVBZePkk4jt1tt91SJNHGP0BFi+TaoRWF47tIzL388svzOinW ctEiSTjOHU9/ufrqq1NZPv1PV8OtsfIBK/mx3XbbpUj2Pfroo3MMkVwdfpEIvM0226RDDz00rw2H JgnHKcM21oUnnXRSrtQc1ZXvv//+HEds33nnnXOCsiTh0NAIECBAgAABAgQIECBAgAABAgQIECBA gACBySgQ12aK7sBUFJ6Ms/McGFMvg7431JFWe+3tv7q/J7r/1R2/40cu0Jvr0f6NLV26NFeMiv/Y xQXzqF61ohYXiu+44468edttt+1fiF7R/r3vo6rVnd3H9T788MMpKnptsskmvU3P+juqD0dSclxo j2pcq3rB+1k7sZEAAQIECBAgQIAAgUknMNr1Ta+icNykGBV6o8UaZ+HChfmmyB122KGfiDuSYGPt ExV2Y70Ua5jeDZYjOTb26a1lNttssxSvkaxlIkE4qvnGmiz6jATc4VqM7dZbb83JzLNmzcrrssWL F+ebNGP/j3zkI+lNb3rTcIeO6rt4+kz4RZJwVC8eaYsbUGN8RVHkOJ5tjTnSc9qPAAECBAgQIECA wHNdYLRrnOd6vMZPgAABAgQIECBAgMDgCvTWN4NWUTiShMvu0xafLusyuPMnMgIEGioQlbJ22mmn EUUfF7e33377Ee07dKe4QBwXsEfbovJwvDQCBAgQIECAAAECBAiMViAq7K7KOiT6ibXP7NmzR9tl f/9VWctEQm1UMx6uxc2XjzzySE4ijrHtuOOOy+z2s5/9rP85KgOPRdtoo41SvEbboqLwnDlzRnuY /QkQIECAAAECBAgQIECAAAECBAgQIECAAAECEyZQtspchObp5zdO2DB0TIAAAQIECBAgQIAAAQIE CBAg0ESBs846Kx100EG54vDy8S9ZsiSddtpp+euoXrzLLrssv4vPBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECKxFot1UUXgmRzQQIECBAgAABAgQIECBAgAABAmMt8MQTT6TrrrsuLVq0KB1yyCHp gAMOSHvssUd6/vOfn2677bZ0/vnnp8WLF+duTz311DRt2rSxHoLzESBAgAABAgQIECBAgAABAgQI ECBAgAABAgQGXKBIVadK7QGPUngECBAgQIAAAQIECBAgQIAAAQKTTGCttdZKF198cfrABz6QLr/8 8nTppZfm19BhRtLwiSeemPbbb7+hX3tPgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwAoG6rvNe EoVHgGUXAgQIECBAgAABAgQIECBAgMB4C8yePTvNnTs3rbPOOuPd9bj0N3Xq1HT66aenI444It1w ww3pxhtvTHfffXeaOXNm2n777dO8efPSRhttNC5j0QkBAgQIECBAgAABAgQIECBAgAABAgQIECBA YOAEuonCRVGoKDxwEysgAgQIECBAgAABAgQIECBAYCAEDjvssBSvQW+77rpritdb3/rWQQ9VfAQI ECBAgAABAgQIECBAgAABAgQIECBAgACBcROIJOGiLFI5bj3qiAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgACBNS9QpFR1KhWF17z0YPZQdrPMq6ruB7dg4T399+P9 pt1ujXeX+iNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQITFqBqqpS q9VSUXjSztAkH9jaa681aUY4deqUSTMWAyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQITLRAJAlHQdhyogei/+emwMYbbpCiqvBEtxhDjEUjQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4WiAqCpdlKVHYH8SqCbTbrbTF9E3TtGlrp3g/ 3i36jL5jDBPR/3jHqz8CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA wGgE6m6ycHs0B9iXwFCBSNB94Qs2GvqV9wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAhMsUKQij6Cc4HHongABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgACBMRSo6zpFrrBE4TFEdSoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECk0GgqmqJwpNhIoyBAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAwFgKtNsticJjCepcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBCZaoNVqpaqqUnuiB6J/AgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgTGTqDTTRJOqZYoPHakzkSAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg4gXKouimCadUTvxQjIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbEUqOtaovBYgjoXAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYkWKMoiFd2qwu2JHoj+CRAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYO4FOp5NUFB47T2ciQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMGkE2q12KifNaAyEAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHVFijLMlV1ndqrfSYnIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg0gjUVZ2qqlJReNLMiIEQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGCOBoixUFB4jS6ch QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMDkEipTKopQoPDlm wygIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjI1AXadU11Uq x+Z0zkKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGQQKMtu SeFusrBE4ckwG8ZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA YIwEOp1OPlN7jM63wtMsWHjPCrfZQIAAgZEK+G/JSKXsR4AAAQIECBAgQIDAZBewvpnsM2R8BAgQ IECAAAECBAiMRsAaZzRa9iVAgAABAgQIECBAgMD4CbRa7VRVlYrC40euJwIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJrXiCShItuN2u8ovB666+35qPRAwECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECWaCOROFWS0Vhfw8ECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBkmgbJUpqgqXgxSUWAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQSKndVlHY3wEBAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBARMoUtWpUnvAohIOAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUYL1HWd4y8brSB4AgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMm0E0ULroxSRQetIkV DwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQKMFiqJIRVlIFG70 X4HgCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBk+gW0646lQS hQdvZkVEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQZIGq6iYJ t0qJwk3+IxA7AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA4Am0 Wq1UVbVE4cGbWhERIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0 WSBXFC5VFG7y34DYCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE BlSgrioVhQd0boVFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ UIEiFTnysqHxC5sAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA QArUdZ0iV1ii8EBOr6AIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgSaLFBVtUThJv8BiJ0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QGAwBdrtlkThwZxaUREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CDRVoNVqpaqqUrupAOImQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgMIgCnW6ScEq1ROFBnFwxESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQINFegLIpumnBKZXMJRE6AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIEBgMAXqupYoPJhTKyoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAIGmChRlkYpuVeF2UwHETYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQGAQBTqdTlJReBBnVkwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQKNF2i32qlsvAIAAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgMkUJZlquo6tQcoJqEQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQaLxAXdWpqioVhRv/lwCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIEBg4ASKslBReOBmVUAECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQLNFihSKotSonCz/wpET4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgMGgCdZ1SXVepHLTAxEOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECgyQJl2S0p3E0Wlijc5L8CsRMgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECAycQKfTyTFJFB64qRUQAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIBAkwVarXZKRaGicJP/CMROgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECAweAJVVaWiG5aKwoM3tyIiQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBosEDdTRRWUbjBfwBCJ0CAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGEyBslWmqCqsovBgzq+oCBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGizQbrckCjd4/oVOgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwkAJFqjpVag9kbIIiQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0FCBuq5z5GVD4xc2AQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcEU6CYKF93IJAoP5vSKigABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoKECRVGkoiwkCjd0/oVNgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwqALdcsJVp5IoPKjzKy4CBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFmClRVN0m4VUoUbub0i5oA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBQBVqtVqqqWqLwoE6w uAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJopkCsKlyoKN3P2 RU2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDDQAnVVqSg80DMs OAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcYJFKnIMZeNi1zA BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZYoK7rFLnCEoUH eJKFRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0EyBqqolCjdz 6kVNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwyALtdkui8CBP sNgIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaJ9BqtVJVVand vNBFTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBwBTrdJOGU aonCgzvFIiNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiiQFkU 3TThlMomBi9mAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoMs UNe1ROFBnmCxESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINE+g KItUdKsKt5sXuogJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI DK5Ap9NJKgoP7vyKjAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA oMEC7VY7lQ2OX+gECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE Bk6gLMtU1XVqD1xkAiJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECDQYIG6qlNVVSoKN/hvQOgECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIDKlCUhYrCAzq3wiJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIEGiqQJFSWZQShZs6/+ImQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAYTIG6Tqmuq1QOZniiIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQINBMgbLslhTuJgtLFG7m/IuaAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIEBgQAU6nU6OTKLwgE6wsAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBJop0Gq1UyoKFYWbOf2iJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQGFSBqqpS0Q1OReFBnWFxESBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQINFKg7iYKqyjcyKkXNAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAwCALlK0yRVVhFYUHeZbFRoAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAg0EiBdrslUbiRMy9oAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgACBARYoUtWpUnuAIxQaAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAgcYJ1HWdYy4bF7mACRAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECAyyQDdRuOjGJ1F4kCdZbAQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAo0TKIoiFWUhUbhxMy9gAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwRbolhOuOpVE4cGeZdERIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0TaCquknCrVKicNMmXrwECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDLdBqtVJV1RKFB3uaRUeAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINA0gVxRuFRRuGnzLl4CBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEGCNRVpaJwA+ZZiAQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0SKFKRoy0bFLNQCRAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAy8QF3XKXKFJQoP/FQLkAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoGkCVVVLFG7apIuXAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg8AXa7ZZE4cGfZhESIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0SaDVaqWqqlK7SUGLlQABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCgC3S6ScIp1RKFB32ixUeAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAsgbIoumnCKZXNClu0BAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZfoK5ricKDP80iJECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJJAURap6FYVbjcpaLES IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGHSBTqeTVBQe9FkW HwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQCMF2q12KhsZuaAJ ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDKhAWZapquvUHtD4 hEWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgkQJ1VaeqqlQU buTsC5oAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCgBYqyUFF4 oGdYcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAs0TKFIqi1Ki cPNmXsQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKDLFDXKdV1 lcpBDlJsBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJomUJbd ksLdZGGJwk2befESIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgM tECn08nxSRQe6GkWHAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA QNMEWq12SkWhonDTJl68BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECgy1QVVUquiGqKDzY8yw6AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgACBhgnU3URhFYUbNunCJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQGHyBslWmqCqsovDgz7UICRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIEGibQbrckCjdszoVLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECAw8AJFqjpVag98nAIkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAg0CCBuq5ztGWDYhYqAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAgcEX6CYKF90oJQoP/lSLkAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAoEECRVGkoiwkCjdozoVKgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECDQBIFuOeGqU0kUbsJci5EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQKA5AlXVTRJulRKFmzPlIiVAb77f8QAAQABJREFUgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiCQKvVSlVVSxRuwmSLkQABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoDkCuaJwqaJwc2ZcpAQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAo0RqKtKReHGzLZACRAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGiFQpCLHWTYiWkESIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaIhAXdcpcoUlCjdkwoVJgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQHIGqqiUKN2e6RUqAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAUgXa7JVG4KZMtTgIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWYItFqtVFVVajcjXFESIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaIZAp5sknFItUbgZ0y1KAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBpgiURdFNE06pbErA4iRAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQFIG6riUKN2WyxUmAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAMgaIsUtGtKtxuRriiJECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAMgU6nk1QUbsZci5IA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBhAu1WO5UNi1m4BAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZaoCzLVNV1ag90lIIj QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0DCBuqpTVVUqCjds 3oVLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQAIGiLFQUbsA8 C5EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBJAkVKZVFKFG7S nIuVAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg8AXqOqW6rlI5 +KGKkAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBzBMqyW1K4 mywsUbg5cy5SAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBBgh0 Op0cpUThBky2EAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJoj 0Gq1UyoKFYWbM+UiJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ aIJAVVWp6AaqonATZluMBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECjRGou4nCKgo3ZroFSoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAg0BSBslWmqCqsonBTZlycBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECjRFot1sShRsz2wIlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBBoiECRqk6V2g2JVpgECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIEGiFQ13WOs2xEtIIkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAg0BSBbqJw0Y1VonBTJlycBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECjRAoiiIVZSFRuBGzLUgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAIHmCHTLCVedSqJwc2ZcpAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAk0QqKpuknCrlCjchMkWIwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAQHMEWq1WqqpaonBzplykBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BP4/O/cdL9tV143/O3smvUJ6QkJCIA3SSSWQEHyA0EVEeEDag1IeikpRkR8EBcGGSFF4FAWkqqAU ARWSEDQFQnLTSCEhjfQQQno7e//WusPcPXvuqTdn5t7Mfq/X69zZa/fve805f33ulwABAgQIECBA gAABAgQIECDQBoGVHYULHYXbsNZqJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQaJlAVZY6CrdszZVLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECAw5QKd6KyssJjyOpVHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAoFUCVVVFzgoLCrdq2RVLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECDQBoGyrASF27DQaiRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIEGiXQK/XFRRu15KrlgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAYNoFut1ulGUZvWkvVH0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIE2iQwk0LCEZWgcJsWXa0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQLTL1B0OikmHFFMf6kqJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQINAugaqqBIXbteSqJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQmHaBTtGJTuoq3Jv2QtVHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAoE0CMzMzoaNwm1ZcrQQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAq0R6HV7UbSmWoUSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQaIFAURRRVlX0WlCrEgkQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAi0RqAqqyjLUkfh1qy4QgkQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBFoj0Ck6Ogq3ZrUVSoAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAg0A6BTkTRKQSF27HaqiRAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIEGiLQFVFVFUZRVsKVicBAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgACBNggURWopnMLCgsJtWG01EiBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItEZgZmZmZa2Cwq1ZcoUSIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0QaDb7UV0OjoKt2Gx1UiAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAegbIso5PK1VG4PWuuUgIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRYIVCkorKNwCxZaiQQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0SKLpF5K7COgq3a91VS4AAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0AKBXq8rKNyCdVYiAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAqwQ6Uc6U0WtVzYolQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMOUCVVWtrLCY8jqVR4AAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBdAiko3EkVCwq3a9lVS4AAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMOUCnU4nOkVHUHjK11l5BAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECbRNI7YTLmVJQuG3rrl4C BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHpFijLFBLuFoLC073M qiNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGibQLfbjbKsBIXb tvDqJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmG6BlR2FCx2F p3uVVUeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBKgaosdRRu 5cormgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYGoFOtFZWVsx tRUqjAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEALBaqqipwV FhRu4eIrmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYLoFyrIS FJ7uJVYdAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAGwV6va6g cBsXXs0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLTK9DtdqMs y+hNb4kqI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINA+gZkU Eo6oBIXbt/QqJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmGaB otNJMeGIYpqLVBsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB NgpUVSUo3MaFVzMBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD0 CnSKTnRSV+He9JaoMgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQLtE5iZmQkdhdu37iomQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBBogUCv24uiBXUqkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gEBrBIqiiLKqoteaihVKgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAoAUCVVlFWZY6CrdgrZVIgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECDQMoFO0dFRuGVrrlwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAIFpF+hEFJ1CUHja11l9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAEC7RKoqoiqKqNoV9mqJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIDDdAkWRWgqnsLCg8HSvs+oIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgRaJjAzM7OyYkHhli28cgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBKZboNvtRXQ6OgpP9zKrjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAoG0CZVlGJxWto3DbVl69BAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECUy1QpaCwjsJTvcSKI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQaKNA0S0idxXWUbiNq69mAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgACBqRbo9bqCwlO9woojQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBBooUAnypkyei2sXMkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIEplagqqqVtRVTW6HCCBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECLRRIAWFO6luQeE2Lr6aCRAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEplag0+lEp+gICk/tCiuMAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECgnQKpnXA5UwoKt3P1VU2AAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDCtAmWZQsLdQlB4WhdYXQQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0U6Ha7UZaVoHA7l1/VBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC0yqwsqNwoaPwtK6vuggQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFosUJWljsItXn+lEyBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQITKFAJzorqyqmsDYlESBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGitQFVVkbPCgsKt/QoonAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYFoFyrISFJ7WxVUXAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAewV6va6gcHuXX+UECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLTKNDtdqMsy+hNY3FqIkCAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBWgZkUEo6oBIXb+gVQNwECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwHQKFJ1OiglHFNNZnqoIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItFegqipB4fYuv8oJECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSmUaBTdKKTugr3prE4NREg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoq8DMzEzoKNzW1Vc3 AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAVAv0ur0oprpCxREg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBomUBRFFFWVfRaVrdy CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECEy1QFVWUZaljsJT vcqKI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaKVAp+joKNzK lVc0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA9Ap0IopOISg8 vSusMgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTYKVFVEVZVR tLF4NRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYVoGiSC2F U1hYUHhaV1hdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECrRSY mZlZWbegcCuXX9EECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLT KtDt9iI6HR2Fp3WB1UWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ INBOgbIso5NK11G4neuvagIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAgSkVqFJQWEfhKV1cZREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECLRXoOgWkbsK6yjc3u+AygkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBKZUoNfrCgpP6doqiwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAoLUCnShnyui1tn6FEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIEJhCgaqqVlZVTGFtSiJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECDQXoEUFO6k6gWF2/sVUDkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgMAUCnQ6negUHUHhKVxbJREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECLRZILUTLmdKQeE2fwfUToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgMH0CZZlCwt1CUHj6llZFBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECbRbodrtRlpWgcJu/BGonQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBCYPoGVHYULHYWnb2VVRIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAg0HqBqix1FG79twAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIDAVAl0orOynmKqqlIMAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAgZYLVFUVOSssKNzyL4LyCRAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpk+gLCtB4elbVhURIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAi0XaDX6woKt/1LoH4CBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAIHpEuh2u1GWZfSmqyzVECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIEGi3wEwKCUdUgsLt/hqongABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYNoEik4nxYQjimkrTD0ECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE2i5QVZWgcNu/BOonQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYLoFO0YlO6ircm66yVEOAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg3QIzMzOho3C7vwOqJ0CAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmFKBXrcXxZTWpiwCBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECrRQoiiLKqopeK6tXNAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEpFajKKsqy1FF4StdXWQQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAi0W6BQdHYVbvP5KJ0CAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmEaBTkTRKQSFp3Ft1USAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBegaqKqKoyivYSqJwAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA9AkURWopnMLCgsLTt7YqIkCA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaLHAzMzMyuoFhVv8JVA6 AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA9Al0u72ITkdH4elb WhURIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0WaAsy+gkAB2F 2/wtUDsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDUCVQpKKyj 8NQtq4IIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTaLlB0i8hd hXUUbvs3Qf0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTJ9Dr dQWFp25VFUSAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBygU6U M2X0Wq6gfAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTJVBV 1cp6iqmqSjEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE2i6Q gsKdZCAo3PYvgvoJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSm SqDT6USn6AgKT9WqKoYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIBAaidczpSCwr4JBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BKZJoCxTSLhbCApP06KqhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgEC3242yrASFfRUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQITJPAyo7ChY7C07SmaiFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECCwUqAqSx2FfRcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQITJNAJzoryymmqSi1ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIEGi7QFVVkbPCgsJt/yaonwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAYOoEyrISFJ66VVUQAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIBA6wV6va6gcOu/BQAIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgSmSqDb7UZZltGbqqoUQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQKDlAjMpJBxRCQq3/HugfAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAgSkTKDqdFBOOKKasLuUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQaL1AVVWCwq3/FgAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBCYKoFO0YlO6ircm6qqFEOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECg5QIzMzOho3DLvwTKJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQmE6BXrcXxXSWpioCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAEC7RQoiiLKqopeO8tXNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAIHpFKjKKsqy1FF4OpdXVQQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAm0W6BQdHYXb/AVQOwECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAwBQKdCKKTiEoPIVLqyQCBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAIEWC1RVRFWVUbTYQOkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIEpk6gKFJL4RQWFhSeuqVVEAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAQJsFZmZmVpYvKNzmb4HaCRAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpk6g2+1FdDo6Ck/dyiqIAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg1QJlWUYnCego3OqvgeIJECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSmTaBKQWEdhadtVdVDgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQeoGiW0TuKtxrvQQAAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIPJgE7rk74odnNd946+0jdt6tuW+h2X33RZx3RvOs zbeM2H3v5r7FzM45PWImda8cjI02jthr/8Es4t57Ik7+Zj3fZNOII55Uz20RWIzAitMiqqp/ZgpB xn6HzX7VYs67+vKIC86ur99j34hdHlHPbS1N4P709ySbXnlpxBWXRNxwTcS26e/STunv0k67JttH Rmy40dLuOXr2JJ4x+swxzasLz4nqzttX3n29e7tx3zY7juVJvV5XUHgssm5KgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgACBcQl0uxF/+uaIHBgejH0PiXjXRwezxX3mkPAfva55 7kO2jvj4fzT3LTS76fqI41/bPOuopzSDwnfcFvHXf1ifs8MugsK1hq3FCuTv6yAovN76EV84dfYr F3PeeT+I+Ngf19e/4k2CwrXG0ra+9rmIT3+o/x8C5rpys/SfEF7yhognPXuuM+bfP4lnzP8Gy3f0 7rvivre9MuK+e1fec/2X/96YgsKdKNN/4CiW783diQABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgTGLtBbL2KfA5uP+dF5kRJhzX0LzVbMErL82U2pG+iPFrqyefzCFc15ns3V 6XX1M+0hQODBKnBj6hr8//1mxN//+fwh4VzfbbdEfCT9Z4E/eEW/8/Bia57EMxb7Lst0XvmDU1aF hCMF3u/a+6BlunPzNlUK1ef+24LCTRczAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIrPsCuYPw8EgdKuOyi4b3LLy9IoXVZhtnzbF/tnPzvgvOXv3I/iPvt/oZ9hAg8GAWuOm6 iN9+QcT5qTPz6NjiIRF77BuxeeoiPDry34v3/FZE/pu10JjEMxZ6hzEcr0779qq7FgceHuX6G62a L+tGCgp30g17y3pTNyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB8QvM 1rE3B/B232dxz77p+oirLpv93BWnRTznpbMfm23vBSMdhbd7WMQ2O852pn0ECEyLwD/8RcSdd9TV bLxZxCvf3O92vu1O9f7cSfgLfxvx9c/X+667KuKTfxnxqrfV+2bbmsQzZnvuOPfN3B/l909e9YTi iCet2l7ujU6nE52io6PwcsO6HwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BMYusNueEZtu0XzMhSOB3ebR5iyHgecaF5y1uG6f+fq7UlDwyh8177SfbsJNEDMCUyaQ/36cekJd 1EabRLzjQxHHPCNiOCScz9hsyxQgfkvE64+vz89b//HF2bsRD86axDMGz5rgZ3n296K64/b+E4si ikOPHt/TUzvhcqYUFB6fsDsTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg TAKpU2Tse3Dz5hemjsKLHStOaZ658271/L77UoDvjHo+39bF56UkWtk8Y7Zux80zzAgQeDALfOL9 zbf/nT+O2GPf5r7R2ROfGbH3/s298/2HhUk8o/k2E5lVp9UB6+LR6W/45ilIPaZRpr/NRTeFkcd0 f7clQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgXEKjAZyb74x4oarF35i DvamrparxoYbRzz/VaumKzfOmqfj8PCZufvw6NhXR+FREnMCUyOwsov4pXU5W28XcfBR9Xy+rWNS WHh4XH7x8KzensQz6qdNbquqYubUk1Y9r3Pksau2x7HR7XbT/+OoBIXHgeueBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGLvAYx67+iMW01X4kvMj7ri1vjZ3tTzoyEitJ+t9 K06tt+fbGn3erns88A6ZuaPx8PvN9/wH67Hbbom48/blf/vbfx5x1WUR110VMXP/8t9/cMf77h1s Le7znrv7IfYrU8A0r++Dadx9V8RPbxjfG2ePO28b3/2H77zUdRu+drB99eWDrf7nAUc05/PNhjuX 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 o92Cj3pK8+wbro7I7oORf5cesddgNv9nvm444D//2Y6uawK50/T3T171Vp3cSXotjKJI/wEhhYUX +Rd/LbyhRxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA0gRyEHh4nH/m 8Cwid7dd7Nhw44i99q/PvvryiFt+Ws8f/siILR5Sz9e1raNS2HQ46Jw7CefQ7sz99Zse/cx6e7m2 dn90807nfr85n292/U+aR4eDpblD73Ne2jz+H/+yuE6z//qJZmj1gCMjchfj5Rj5vY57fvNOX/1c cz7f7L++2O9APDhn79QVO4fU18b41AcX99Tcffiqy+pzd9o14nH/q57nrU02a87z9+6O25v75pp9 +R/7ofa5jtu/bgv8MP3dve2W/jum37PuEceslfedmZlZ+dyh/+6xVt7DQwkQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIEBguQR23TNis9QtdhBSG73vUoLC+doDHxdx/g9G79Kf j3a/nf2stbc3O+R6B91qb7w24gt/V79PDsoefVw9X66th+0asVHq/HtX6pSbx+knRlyYOjEPh677 R1b/91tfbu4b7Xb8zBdFfOOfIn52U/+8HN7+q7dHvOEPU9vQbvPaweyicyL+5e8Hs/7nIU9ozh/o 7PmvTN2Nv1qHWy+/KOLD74p4bXq3ud4rPzOHt0fDub/2Gw/0bdb8+hwk/9dPRfzyS+a+x8XnRvzp 7zaP/8rLVw9eb7pFxDbbR9x4XX3uSakD9LN/vZ7PtpXD35//6GxH1v19+T8SjH7XnpMst95u+d59 Es+Y722r1KL3d0cC+0c+qRniPy39zg/GXvtFbLn1YDbRz276jxJl6m5cTPSpHkaAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC4xXYd45urLvsHrHVtkt79kGHz33+aPfiuc9c e0eOflrz2TdcXc8PSLUt1aO+eu6tHEB+7svq4zlY+I5XRXzpk3N3/83hx4+ksO+JKWw7GLlb8+HH Dmb9zw02jHjBq5v7Tv5mxPveHHHFjyKlAutj99/Xf+Y7fjPt73cWXXnwkKNX735bX7VmW5tsHpHD wsPjhK9EvOeNET+9YXhvf/vO2yK+8+8RH0hB4uwzGHumUOV+hw1ma+fzH/8qvdcfRFx5SfP5N12f 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 jBdFbLxJc58ZAQIEplSg2+1GWVaCwlO6vsoiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIBA+wSqKuLG61ave6ddI375pavvt4cAAQJTKrCyo3DRjWJK61MWAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCIOPToiD/5ZMT6G9AgQIBAqwSqstRRuFUrrlgC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMq8BjDo547ssibrk5YuNNI3Z5 ZPp5RMQe+05rxeoiQIDAnAKd6Kw81pvzDAcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgMCDRWCnXSNe/PoHy9t6TwIECIxVoKqq6BSdKMb6FDcnQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDiAmVZCQpPXN0DCRAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIxZoNfrCgqP2djtCRAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECExUoNvtRlmW0ZvoUz2MAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGxCsykkHBEJSg8VmU3J0CAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBhgaLTSTHhiGLCz/U4AgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGLFBVlaDwmI3dngABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBEBTpFJzqpq3Bvok/1MAIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExiowMzMTOgqPldjN CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKwdgV63F8XaebSn EiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwDoGiKKKsquiN 4+buSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA2hGoyirK stRReO3weyoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB8Ql0 io6OwuPjdWcCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECa0Gg E1F0CkHhtUDvkQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTG JlBVEVVVRjG2J7gxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQITFyiK1FI4hYUFhSdO74EECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIExicwMzOz8uaCwuMzdmcCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECExfodnsRnY6OwhOX90ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECYxQoyzI66f46Co8R2a0JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQITFqgSkFhHYUnre55BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBMYsUHSLyF2FdRQeM7TbEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIEJi0QK/XFRSeNLrnESBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIEBivQCfKmTJ6432IuxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgMEmBqqpWPq6Y5EM9iwABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgACBMQukoHAnPUJQeMzObk+AAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgkgKdTic6RUdQeJLonkWAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg7AKpnXA5UwoKjx3aAwgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMUKAsU0i4WwgKT9DcowgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMXaDb7UZZVoLCY5f2AAIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITFFjZUbjQUXiC5B5FgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYDICVVnqKDwZak8hQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBmBTnRWPqiYzOM8hQABAgQI ECBAgAABAgQI/P/s3M1247iuBlDw5/3fWMBlfCd1OomrBxbVsneNKpIWQG54+C0QIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAIEdAlUVX1lhQeEd2noQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQ2CiQWYLCG721IkCAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQILBFYM4hKLxFWhMCBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECmwTGGJGZMTf104YAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAgQ0CxwoJR5Sg8AZrLQgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAhsE+itrZhwRN/WUSMCBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBLYIVJWg8BZpTQgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAhsEmi9RVtbheemftoQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQILBB4DiOsFF4A7QWBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBHYLzDGj726qHwECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAEC5wn03iOrYp7XQmUCBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBHYLVFZkpo3Cu+H1I0CAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIHC2QOvNRuGzkdUnQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFWgRfTWBYW3omtGgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBA4GSBqoiqjH5yH+UJECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIENgo0PtaKbzCwoLCG9G1IkCAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHC2wHEcjxaCwmdLq0+AAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgo8AYM6I1G4U3mmtFgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4HSBzIy2utgofDq1BgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2CdQKCtsovM9bJwIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJbBPro8bVV2EbhLdyaECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENgnMOcQFN7HrRMBAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBHQIt8siYO1rpQYAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAHoGqejTqe9rpQoAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAFoEVFG6rkaDwFm1NCBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwRaK1F601QeA+3LgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ2Cax1wnmkoPAmbm0IECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIbBHIXCHh0QWFt2hrQoAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCTwBgjMktQeJO3NgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgS2CDw2Cncbhbdga0KAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgp0Bl2ii8E1wvAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmcLtGiPFv3sRuoTIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBPoKriKyssKLzPXCcCBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECWwQyS1B4i7QmBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBDYKzDkEhTd6a0WAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgdIExRmRmzNM7aUCAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwDaBY4WEI0pQeJu4RgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ2CPTWVkw4om/opQUBAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhsFqkpQeKO3VgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgROF2i9RVtbhefpnTQgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCbwHEcYaPwNm6NCBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwTmGNG39dOJwIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEzhbovUdWxTy7kfoECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwTqKzITBuF95HrRIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCPQOvNRuE91LoQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2CTQInrrgsKbuLUhQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsEWgKqIqo2/ppgkBAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAlsEel8rhVdYWFB4C7cmBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPYIHMfxaCQovMdbFwIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJbBMaYEa3ZKLxFWxMC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECmwQyM9rqZaPwJnBt CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOwQqBUUtlF4h7Qe BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBDYK9NHja6uwjcIb 0bUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsENgziEovANa DwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL7BFrkkTH3NdSJ AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGzBarq0aKf3Uh9 AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ2CqygcFvtBIU3 mmtFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4GyB1lq03gSF z4ZWnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBWgbVOOI8U FN6KrhkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkwUyV0h4 dEHhk52VJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBVYIwR mSUovFVdMwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQInCzw2 CncbhU9mVp4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAfoHK tFF4P7uOBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBM4TaNEe xft5LVQmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGC3QFXF V1ZYUHi3vH4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEThbI LEHhk42VJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILBdYM4h KLxdXUMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECJwqMMSIz Y57YQ2kCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBDYLHCsk HFGCwpvdtSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwqkBv bcWEI/qpXRQnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGC7 QFUJCm9X15AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAiQKt t2hrq/A8sYfSBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhs FjiOI2wU3oyuHQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEd AnPM6Dsa6UGAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwB6B 3ntkVcw97XQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCH QGVFZtoovANbDwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI7 BVpvNgrvBNeLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwOkC LaK3Lih8OrQGBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBDYK VEVUZfSNPbUiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBk gd7XSuEVFhYUPhlaeQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQI7BY7jeLQTFN6prhcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gACBkwXGmBGt2Sh8srPyBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBLYKZGa01dFG4a3smhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBA4V6BWUNhG4XONVSdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECCwXaCPHl9bhW0U3k6vIQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAIFzBeYcgsLnEqtOgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAYLdAizwy5u62+hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgcJ5AVT2K9/NaqEyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAwHaBFRRuq6mg8HZ5DQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAicJ9Bai9aboPB5xCoTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQuEBgrRPOIwWFL6DXkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgMBpApkrJDy6oPBpwgoTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQuEBgjBGZJSh8gb2WBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBE4TeGwU7jYKnwasMAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAIGrBCrTRuGr8PUlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgcIZAi/Yo288oriYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAtcIVFV8ZYUFha/x15UAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIDAaQKZJSh8mq7CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBC4SmHMICl9kry0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgACBUwTGGJGZMU+prigBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABApcIHCskHFGCwpfoa0qAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIEDgJIHe2ooJR/ST6itLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgMBFAlUlKHyRvbYECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIEThFovUVbW4XnKdUVJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIEDgEoHjOMJG4UvoNSVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBwrsAcM/q5LVQnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQGCnQO89sirmzqZ6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBwrkBlRWbaKHwus+oECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIE9gu03mwU3s+uIwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAIETBVpEb11Q+ERipQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAhsF6iKqMro2ztrSIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIDAaQK9r5XCKywsKHwascIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIE9gscx/FoKii8315HAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAqcJjDEjWrNR+DRhhQkQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAhcIJCZ0VZfG4UvwNeSAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAwFkCtYLCNgqfpasuAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYsE+ujxtVXYRuGLBqAtAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbME5hyCwmfhqkuAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgGoEWeWTMa5rrSoAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAGQJV9SjbzyiuJgECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECFwmsoHBbrQWFL/LXlgABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAZAq21aL0JCp+BqyYBAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBywTWOuE8UlD4sgFoTIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOAEgcwVEh5dUPgEWyUJECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIXCYwxojMEhS+bAIaEyBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDhB4LFRuNsofAKtkgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSuFahMG4WvHYHuBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF4r0KI9CvbXllWNAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIErBaoqvrLCgsJXTkFvAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAicIZJag8AmuShIgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4VGDOISh86QQ0J0CAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPBigTFGZGbMF9dVjgABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBCwWOFRKOKEHhC2egNQECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGXC/TWVkw4or+8soIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFwqUFWCwpdOQHMCBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLxZovUVbW4Xni+sqR4AAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAhQLHcYSNwhcOQGsCBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZwnMMaOfVVxdAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2C/TeI6ti7m+tIwECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZwlUVmSmjcJnAatLgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4CqB1puNwlfh60uAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgFIEW0VsXFD4FV1ECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECFwlURVRl9Iv6a0uAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwAkCva+VwissLCh8Aq6S BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBK4SOI7j0VpQ+KoJ 6EuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgBIExZkRrNgqf YKskAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcsEMjPa6m6j 8GUj0JgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA6wVqBYVt FH69q4oECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIELhXoo8fX VmEbhS8dg+YECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXi8w 5xAUfj2rigQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSuFGiR R8a88gh6EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwWoGq ehTsry2rGgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEClwqs oHBbBxAUvnQKmhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4 rUBrLVpvgsKvZVWNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA wMUCa51wHikofPEYtCdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBb1Je1AABA AElEQVRAgAABAgQIECDwUoHMFRIeXVD4paqKESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIELhYYIwRmSUofPEctCdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECDwUoHHRuFuo/BLURUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAg8F8QqEwbhf8Lg3AGAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAq8SaNEepfqrCqpDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgMD1AlUVX1lhQeHrZ+EEBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBF4qkFmCwi8VVYwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIDAf0BgziEo/B+YgyMQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQeJnAGCMyM+bLKipEgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgMDlAscKCUeUoPDlk3AAAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAi8U6K2tmHBEf2FNpQgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+A8IVJWg8H9gDo5AgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4GUCrbdoa6vwfFlFhQgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuFzgOI6wUfjyMTgAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdcLzDGjv76sigQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIXCXQe4+sinnVAfQlQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOD1ApUVmWmj8OtpVSRAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwrUDrzUbha0egOwECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEXC7SI3vrfg8LrO/8IECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELiJQFVEVUa/yXkdkwABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBfyHQ+1oVvMLCgsL/AssnBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBO4icBzH46iCwneZmHMSIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+BcCY8yI1mwU/hdWPiFA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwG4HMjLZOa6PwbUbm oAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT+LlArKGyj8N+d fEGAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgVgJ99PjaKmyj 8K3G5rAECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/i4w5xAU /juTLwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjcSaBFHhnz Tkd2VgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEngtU1eOD /vwzbwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuJXACgq3 dWBB4VtNzWEJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIPBdo rUXrTVD4OZO3BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBG4m sNYJ55GCwjcbm+MSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ eCqQuULCowsKP1XykgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gMDNBMYYkVmCwjebm+MSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQeCrw2CjcbRR+iuQlAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAgTsKVKaNwnccnDMTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQ+E2gRXu86r994DkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAvcTqKr4ygoLCt9vdk5MgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBA4KlAZgkKPxXykgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgMANBeYcgsI3nJsjEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIEPhVYIwRmRnz1y+8IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIEDgdgLHCglHlKDw7SbnwAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgSeCPTWVkw4oj/5xisCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBG4oUFWCwjecmyMTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQ+FWg9RZtbRWev37hBQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECtxM4jiNsFL7d2ByYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAwN8F5pjR//6ZLwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQuItA7z2yKuZdDuycBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAj8XaCyIjNtFP47lS8IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQI3Eug9Waj8L1G5rQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIE/iLQInrrgsJ/YfKaAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAwK0EqiKqMvqtTu2wBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAg8Feh9rRReYWFB4adMXhIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBC4l8BxHI8DCwrfa25OS4AAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQOCpwBgzojUbhZ8qeUmAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIEDgZgKZGW2d2Ubhmw3OcQkQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAg8E6gVFLZR+JmQdwQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgRuKNBHj6+twjYK33B4jkyAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgmcCcQ1D4GZB3BAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBO4n0CKPjHm/gzsxAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK/CVTV41X/7QPPCRAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4ocAKCrd1bEHhG87OkQkQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAj8JtBai9aboPBvQJ4TIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuKXAWiecRwoK33J4Dk2AAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgF4HMFRIeXVD4Fx+PCRAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNxSYIwRmSUofMvpOTQBAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBXwQeG4W7jcK/8HhMgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4L4ClWmj8H3H5+QECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvgu0aI+H/fsrTwgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuKtAVcVXVlhQ+K4TdG4CBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECvwhklqDwLzYeEyBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELitwJxDUPi203NwAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAj8IjDEiM2P+8M4jAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRuKnCskHBECQrfdH6OTYAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBHgd7aiglH9B/fekiA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwG0FqkpQ+LbTc3AC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECPwi03qKtrcLzh3ce ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwU4HjOMJG4ZsO z7EJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIPBOYY0Z/9oF3 BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjcS6D3HlkV817H dloCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJ4JVFZkpo3C z5C8I0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHBHgdabjcJ3 HJwzEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhVoEX01gWF fwXyggABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMANBaoiqjL6 Dc/uyAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI/CLQ+1op vMLCgsK/AHlMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4I4C x3E8ji0ofMfpOTMBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB XwTGmBGt2Sj8i4/HBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BG4pkJnR1sltFL7l+ByaAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAwM8CtYLCNgr/bOMpAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAgdsK9NHja6uwjcK3HaGDEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIEPhZYM4hKPwzjacECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIE7irQIo+MedfjOzcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAt8FqurxsH9/5QkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABArcVWEHhtg4vKHzbCTo4AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAge8CrbVovQkKf6fxhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgMCNBdY64TxSUPjGI3R0AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAt8EMldIeHRB4W8yHhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBC4scAYIzJLUPjGM3R0AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAt8EHhuFu43C32A8IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIHB3gcq0UfjuQ3R+AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAn8KtGiPP/ufD/2fAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAIF7C1RVfGWFBYXvPUenJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIPBNILMEhb+peECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIEDg5gJzDkHhm8/Q8QkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAj8j8AYIzIz5v889QcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABArcWOFZIOKIEhW89RYcnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAg8A+B3tqKCUf0fzz3JwECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECNxeoKkHhm8/Q8QkQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECBAj8j0DrLdraKjz/56k/CBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4tcBxHGGj8K1H6PAECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEfhaYY0b/+ZWnBAgQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAAAECBAgQIECAAAECBAjcUaD3HlkV846Hd2YCBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBH4WqKzITBuFf+bxlAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMB9BVpvNgrfd3xOToAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOAHgRbRWxcU/oHGIwIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK3FaiKqMrot72BgxMgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8E2g97VSeIWFBYW/0XhAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4L4Cx3E8Di8ofN8ZOjkBAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBbwJjzIjWbBT+JuMBAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRsLZGa0dX4bhW88REcnQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8E+BWkFhG4X/qeJvAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAjcX6KPH11ZhG4VvPkjHJ0CA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPBPgTmHoPA/UfxNgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4N4CLfLImPe+hNMTIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCnQFU9/ux/PvR/AgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRuLrCCwm1dQVD45nN0 fAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ/CrTWovUmKPwn iv8TIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuL3AWiecRwoK 336QLkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgD4HMFRIe XVD4DxP/JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHB7gTFG ZJag8O0n6QIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/hB4 bBTuNgr/QeK/BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBN5D oDJtFH6PUboFAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgf8X aNEe/+lACBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4H4Gq iq+ssKDw+8zUTQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8 BDJLUNhvgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMC7Ccw5 BIXfbajuQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8NkCY4zI zJifzeD2BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBN5L4Fgh 4YgSFH6vsboNAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApwv0 1lZMOKJ/OoT7EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHg3 gaoSFH63oboPAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAZwu0 3qKtrcLzsxncngABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMB7 CRzHETYKv9dM3YYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA Q2COGZ0FAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLvI9B7 j6yK+T5XchMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCor MtNGYT8FAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu8m0Hqz Ufjdhuo+BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECHy7QInrr gsIf/jNwfQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTcTqIqo yuhvdi/XIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPDRAr2v lcIrLCwo/NE/A5cnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4 N4HjOB5XEhR+t8m6DwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA wEcLjDEjWrNR+KN/BS5PgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECDwdgKZGW3dykbhtxutCxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECHyyQK2gsI3Cn/wLcHcCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ IECAAIG3FOijx9dWYRuF33K8LkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIPDJAnMOQeFP/gG4OwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAwDsKtMgjY77j1dyJAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAwKcKVNXj6v1TAdybAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAwFsKrKBwWxcTFH7L6boUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIDApwq01qL1Jij8qT8A9yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIEHhTgbVOOI8UFH7T8boWAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIDAhwpkrpDw6ILCHzp/1yZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIEHhTgTFGZJag8JvO17UIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQ+VOCxUbjbKPyh43dtAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgACBdxaoTBuF33nA7kaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIPB5Ai3a49L9867uxgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAgTeV6Cq4isrLCj8vjN2MwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAgQ8VyCxB4Q+dvWsTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAi8scCcQ1D4jefragQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAh8oMMaIzIz5gXd3ZQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQJvK3CskHBECQq/7YRdjAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBA4CMFemsrJhzRP/L2Lk2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQIEDgjQWqSlD4jefragQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAh8o8H/t3duS87yVGFBJ3ePxPx6nkovJRfL+zzEzbzEu+9ovMJWkErul EAABAjzr1F+3eqlUIghsbICr/4uPxW36eDoejt1bhd9/4LW7ZAIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIvK/Dx8XHwRuGX/fO6MAIECBAgQIAAAQIECBAgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZ8s8P72fjj9ZADXToAAAQIECBAgQIAAAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODVBE6n0+F8uRzeX+3CXA8BAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBnyxwOV8O5/PZG4V/8n8Erp0AAQIECBAg QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOA1BY6nozcKv+af1lURIECAAAEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAj8WIHj4XA6nhQK/9j/AFw4AQIE CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASwpcLofD5XI+nF7y6lwU AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgR8qcDp1rxTuioUV Cv/Q/wBcNgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGsKfHx8 xAtTKPyaf19XRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8EMF 3t7eD4fj0RuFf+jf32UTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAi8qMD5fD4cu2vzRuEX/QO7LAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAgZ8pcOkKhb1R+Gf+7V01AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECBAgQIDACwuc3k6H8FZhbxR+4T+ySyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIEPiZAu/vbwqFf+af3lUTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAj8eoHjHVtYm3s8nD+8UfgOXFMJECBAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQI3C7wu394v3ny2tzL5XK4dJlPN2c3kQABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBmwX+6bd/fM7crlA4vG9YofDNvCYSIECA AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuF3gj3/8w82T1+Yej8fD 8XRUKHyzrokECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE7hD4 7fe/O/zX//LPV2cIc8LcxU/3OuHzx1mh8CKQAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CBAgQIAAAQIECBAgQIAAAQJPFvjv//LfDn/47fe7VwmxYc7a53zuioTfTgqF15CMESBAgAABAgQI ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHi2wP/8H/+y683C4U3CIXbr8/b2 djifL4f3rUDjBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8 VyC8JfiPf/zD4T//838d/vf/+b+H//e3v8cFf/cP74d/+u0f49hvv//drk3ENwqf3hQK79ISRIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODJAqEQeG8x8NZWLuez QuEtpK85fhm21TWrs6FfiwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAl9I4Bj2En/yppqT 3OlIgAABAgQIECBAgAABAg8QOPY3YO8PyPUDU/SluYp0f+Df3iUTIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIHCLQHzK2rwFqTm5JeXVc9piZYXKVwOaQIAAAQIECBAgQIDAtxG4XC6H4+n4U94o /IAbzC7FA7J8m/9AbJQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKvJhCf+ZYHv6nRFg/f c8UKj+/RM5cAAQIECBAgQIAAgccLnM+XVy4U7m7q0vfxcjISIECAAAECBAgQIECAAAECBAgQIECA AAECBAgQIECAwEsIxHLhVDN81/UcwwPqx1Ud37UXkwkQIECAAAECBAgQIBAE3t/fXrFQOFUHP+A+ zn8lBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgl0B8Rh1rheNPN8cbhnfBCSJAgAAB AgQIECBA4CkCb29vh/P5/GqFwpfDRYXwU/6DkZQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIEtgUUDG8biSBAgAABAgQIECBA4PkCH12R8KH7fz55f/5Se1a4obp3NGV0umdRMQQIECBAgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBA4CkCuWA4PJifvFt40hG2MNv5lL1JSoAAAQIECBAgQIDA 6wucjsfubuTwqwuFuy2k7+uLu0ICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+JECsWi4 vvJJRygT7jpjrbCC4ZpKmwABAgQIECBAgACB2wUul1/2RuFUHTxz73P71fzYmSx/7J/ehRMgQIAA AQIECBAgQIAAAQIECBAgQIAAAQIECBD4QgJNeWtzEjY56fhCO/8aW4nPz7sfBcNf4+9hFwQIECBA gAABAgS+u8DxdDwcz8fPfqOwotb7/sPhd5+f2QQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI PEsgFrrm5M1J6Bw6SsnwtJFn/+hjlOp+FAz/6P8MXDwBAgQIECBAgACBuwU+Pj4On/hG4e4uJn3v 3vj3TRBv58r9b3/2fS/HzgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHCDQHlWOm3szjat MS49u3N89cDI0/0MBcNbO349g60rNk6AAAECBAgQIECAwLrA+9v7M98o3N2xpO/6Lr7t6Ktf37f9 w9g4AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIvLtA9rU2faSOPzB5jKe3wMxvz1TrjJZbr XNvdpSsq7j7Dz1qwMQIECBAgQIAAAQIEXlzgdDodzpfLMwqFuzuU9H0xwle9rhf7M7kcAgQIECBA gAABAgQIECBAgAABAgQIECBAgAABAgQILAjEetvhp6qpjdW1C7O+T3e+tOEtxK9xXd/nL2CnBAgQ IECAAAECBL6OwOV8OZzP50cXCl8OXfHxN/l0G03fb7Jf2yRAgAABAgQIECBAgAABAgQIECBAgAAB AgQIECBAgACBRwrkwtr48LhLPLyM93sX2ObrOh5D63tfyyP/3nIRIECAAAECBAgQ+GkCx9PxmkLh eCuxbNQNb0Qsz/2UkbTBr73HT4GwCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMCMTn ycNPVTg8E9x0fc1i3PCiL28Xbv5QTggQIECAAAECBAj8HIHuNuV0PO0tFO7uHtL3mwDFO7dv9Hbj vazpumL0t/p77L0+cQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIfHeBWDLb1M02J9/q8uIT 2uox7fLmU9Bw7V/nmvM1KBhe/usZIUCAAAECBAgQIPCKAuF/OHi5nPcUCl++ScFtuKKv/lbj/J9S vBVLJ99mz3nvjgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgWiE9Dq0eij3iKOxTghnW/ ThHuWGG49gQw7PvX7znvTcHw+K/mnAABAgQIECBAgMBrCpxOx8P547JVKPyVi4S725j0/QJ/oXST F/aTP1UzdzkSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwA0C8flreQhbGqlkeFKDO+m4 YcXHTBn2fan2+mv3l/ekYPgxf2NZCBAgQIAAAQIECHxVgY+Pj+4+5DhfKHwJ7xuuq16/xFV0e0rf X7ibeMv0BfbxCwksTYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgS8iEJ/g9o9xhy1NOqoi 3RD1awp1h712RcNxC79mH9kp70fBcBZxJECAAAECBAgQIPBaAm9v74fz+TwtFE5FwuliY73wp193 f9PWHfrWJ+2gWu3T1/6kS5xdprru2XGdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyAK/ trg17+LaY3wqWh6NpkZbq/u515WexX+tguHwhH4w+VyPa/+e4gkQIECAAAECBAgQ2BYIRcLhX/bv deivKxLubsTSt97OE9v9HeCnrnnv5fR7vifNt7reey7UXAIECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIEniPQPrccCkvvXe3zC1PjlZTLSY32ep6/p69UMBz+gtnEW4bv/e/ZfAIECBAgQIAAAQK/ XuASCoXf3oZC4bpI+FO31935lHuvpy3crZC+T1vh/sSVwpff6/1XKwMBAgQIECBAgAABAgQIECBA gAABAgQIECBAgAABAt9fID7lrB513n5FbZK2YDdkfX7RblilvZ60p3Yvz9lHKRgul/qcdUL6PZ/s cDyG1q/dy579iiFAgAABAgQIECBAYCpwejsdwluF339ZgXB3i5Vudqabe0xPd8OSvo9JtytLvF1K kZ++9q4NCiJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCXF4hPXqvHr30Jb9x3W7gbup5b yNruZdjUsI/HrT+sldZ5xhrX/PHDM33FwteIiSVAgAABAgQIECDwtQTe36s3Cn/e1p5ZINzdpaTv Ey8n3ZA9f50nXoLUBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+KYC8Ylt/9g2XUJzksqG m9rd5uRhVz3sY1h/KOwNy9y/7niNY7vAw65lLZFi4TUdYwQIECBAgAABAgS+ssDxcP7o3ij8eVt8 RoFwf8PVHYZbr0dd0TNzP2qP1+SphIZLuyaBWAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE CAzlr00dbHPyS5Xi49Dq8Wj9NLmts338ntu1L1XR8mPWSv+vveniPrNoWLHwL/1P2uIECBAgQIAA AQIEbhK4pBuIZxcKdzco6XvTJqeT0g3Pw3M+dI/TXa/39NeUg4ZLzD2OBAgQIECAAAECBAgQIECA AAECBAgQIECAAAECBAgQ+DIC5QlnaYStNSc37bUt4g0pHlNcW28m7rJstTSqgt7Hrjus97yi4c8q GFYsXP+XpE2AAAECBAgQIEDgGwh0/4g/djcMT3qj8CPfHtzdOqXvA1T7G72H5VvaUr9OGH76Wkt7 0E+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHvIxCfslaPWsfFx88sJG7XbjZRFRHfV7g8 rBEe1oe/y3358l82vSTssTlz7vFRsfBYxDkBAgQIECBAgACBrysQioSPp4cXCj+qQLi7RUrfBwg+ Mtd4O/FW7oF7Hef/rPP+Oj5rOesQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPANBR5T2Hrr hcenms2jzeakKujNKzxmv8O6ab22xve2NUpxb9hqmzBv/upjyfmgfEsbUCy8JKOfAAECBAgQIECA wBcT6O4Nzh/nR71R+KsVCHc3aOn7YPVn5V3bZrrZXIvYPdanemDG3UsLJECAAAECBAgQIECAAAEC BAgQIECAAAECBAgQIEDguwu0TxpLiWxp7L2+qyfsShx312xxOIkrlmVLY1fecVC7Tvcm3xAw/IzD V8+HXPflqRf5jELez1ijviZtAgQIECBAgAABAgSuFzifz4e3t7cHFAp3dwDD7dX1G0kzHlFo3O0i fW/dRD+vupq+WfXcmXs8vcr89LXGazsnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA7QLl aWdp7M01TCglu6WRc0w68sBNx7hiWbYuyg3p7ltryF3nvT5nkydOvz5HxomFvOEBevd/Nfysj2Lh Z8nKS4AAAQIECBAgQOAxAqFI+Hy+3FMo/Jji3nDzcPunm5y+N6boF78rx9zSfd48NCyTexwJECBA gAABAgQIECBAgAABAgQIECBAgAABAgQIECDw4wXKk9XSyCRtx3zd7O1FsDF7WSI1SrbSCHtpTvLm Fo9D3juLhvtEcfUbi31Tim4fKcninu8ZGAqSQ5brrO5Z11wCBAgQIECAAAECBLYFwhuFT6db3yjc /Ws/3SptLzQbcdf8buX0nU293tnv+ub54+z37GWc69nn/bXXy1RdVbOO0CZAgAABAgQIECBAgAAB AgQIECBAgAABAgQIECBAgEBbAjpbDzrb+TC5+Dxz8lCz7Sg7KI28/KQjDzTHkq00wnA6iRmGn2be 0kmc2f8MU/ftJedM0+8vOj6G6xg2kdM/5Jiv83gMreuu7yEbkIQAAQIECBAgQIAAgUWBS1cs/L44 Ojtw71uEb53f3VCk7+yu1jvvmVtnflSeOmdud7nrT3866q0jtAkQIECAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIPBpAs2zy+Ykb2G2Mw82x1JKWhr18GxnHbDYLjsojRw6dMTsw08O2DzGDMNP/5be MG3ffoeptxX9NvPv3P+z3jCc/t+EwxuM95lsogsgQIAAAQIECBAgQOAugWN/v7K/UPjOtwCnm4Jr 93x7YfFt64X9xVusOwqT566xz9mmnwvUR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZcW KE9PS6O+3LazlJyWRohtTurJm+2YffiJ8THb8LOZIwQMz6NDYWyeUhq5Y/Y4LH9j0XCX4J43BIe9 3zN/9qKqzku3wLOKkatlNAkQIECAAAECBAgQ2BCI/zY/Hfe8UfjWYt2wg+4OI303tjMevmXNW+b0 e+wP3VZv+FSz+mbVc0O+R03ZsYsdIY/ajTwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLyI wK562F1BmyDlkWZphCnDSVxlstSkY3WdmG34SWXIJUVpLOaYFg1vz8nJhmWvK67N81LB7/71xuse jyHT9fNznqVjLEZ+fNql5fQTIECAAAECBAgQILAgcD5f5guFQxVx/lTN3LXzeEvh7rVzun2m7849 hbD+2q6eV83tm32mcHbnZybTsM07c5tOgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBBwrM PN6cZp8PKrWjpVHPnO2sAybtuMpkqbYjZm1SNycbOa976296vn7dnLyBMne64RwyOabrv67IuE4S 1ry12LjOM9dObxZet56bp48AAQIECBAgQIAAgccJvL+/TQuFhyLh7o6gvX+6YuXrC36vK0i+Pv/1 BcXhcnuAeygatQr0YTmbBZwQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgywqUJ6alUW+1 7SwlpqURYpuTevJiO2ZtUteFvHnact5hfj1vOT5kzHNSEW7oWY8PEflzU8Fwt+CtBb9hr8dYMbx/ j3mv28eYfTtMBAECBAgQIECAAAECDxd4e3s7nM/noVB4KBBOa11XuFvtr5sYb3qqruXm9QW/+/fV 7SJ9l5efHUm7379OnWR05dVp1awnPKm9Y7UdIU/anLQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA AQIECHx3gV01pbuCFiXKI83SCKHpJGZu0jcniznzQMwyyjvkXM41zMtv8Q0Zd8aX0OX4vL9wTM+s 8zrbc9Le9sc3a3UnzygWDtdwPIadbe+/3o82AQIECBAgQIAAAQL3C3x0RcLhHuo9pBoXCd+W/pqi 3+5GIH13LPWs2Lx0uCnpPrv30wdfPSdMWPr0e6iHh23VvdoECBAgQIAAAQIECBAgQIAAAQIECBAg QIAAAQIECBD49QIzjzinm5oGNeWizUmePduZB8sxZm7SNydDWWqTrjkpuXJjyLnvzcHDy6dycW7I tLzGtfnLvvqJx5h6OX8df0txblomX8v2Onm9zWNI/MB0m+sJIECAAAECBAgQIEAgCpy6m4jwz/H3 +4uEuzTpu4P2umLi4cZqLXW4jFDsvBaTx/qg3fuNSQ+QyAAAE0xJREFUmdPkq+bk9cbHYf0q8zjI OQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF5SoH9imq6tOcmXO+0sNabTRp40OZYspRFC 0klMU3KF/uYkdKTIGN7PKSGlEePyz/C8OhfahpH52DAypK7zL8fHOf2kPQXDYT+xJCAFh+m7P3Hu A98CHLadyhPWr2/3BgUSIECAAAECBAgQILBbINQIxzcK757RBF5X9Pv4YuK963e3Henb7H795MY5 OWm40+k+/SGd3Px7ZZYqvGrevLqJBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuEagKQdt TuosiwN1UGyX557TRirFbVI1J5NcoSOmKblST5w1/EzmNYXAYXRv7EpcvUjKn4uM46R6uGnHQt5w FRtFwOk69+VsFuhO4hqPLBaO2w07Wr+28T6cEyBAgAABAgQIECBwu8DxdDwcz8dbCoW7f7yn777V uzuI8M/99c/enI+Oy7tKO0w3X7lv7dhfUdrOWuDGWJ8nRA0pN+YYJkCAAAECBAgQIECAAAECBAgQ IECAAAECBAgQIECAwNcVqJ6Clueg0902UXG4lJCWRp416cgD6TFrk6o5GcpSS4rSKDlCI87qf2JE CSuNEj8fO42LeYfgvq53Pi4nT8+st4t7U9rtuLyH4w1Fv4qF81/FkQABAgQIECBAgMD3FPj4+Oj+ R4DXvlG4mxBvOHZd8843/u7K2a2avisrp52Fm5Xtz558dZZr40dz82m/t11bzHOuOq5kXhm6agnB BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGAus1r+uDpZM5ZFmaeSh1FGylEYYb07yhHIs qUaNOKtMLY04L4b28cfwoLoNLrlDY4jtinZDx/ATzppPepa9HRcmldiVfDku7TEGNuvVJyHf1rXU 8bkd591QZJznj4+PzjfO75wAAQIECBAgQIAAgVbg/e197xuFdxb95vzdv+77+6bcM3Pck3NfzGOL iMNW0+7DTcq+TxXYNauzfdNL1MLMme6ZrpJFgwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB Ap8qsPoAsx1sSlqbk7zj2c7hOWyTLp2UGaURcjUnOXk8xlklz3Lx7hBXx8znno+d7qGJi8PTmLzZ WFgbrnwlLuXr9rcSE/Llda99u/Cji3sfnS9bORIgQIAAAQIECBAg0AqcTqfDufsH+HvbPXPWBcUb hpmhade+wt7wD//1zyPypEW21wo76TfUHTa3Fjd+bXx9tdUKQ5o64Antas0nZJeSAAECBAgQIECA AAECBAgQIECAAAECBAgQIECAAAECa4W5tU7z9LI5yVGps5TPlkYYb07yhOE5b5OvytNMa05ijhjZ /6SC2+laQ0wYqwuHl/NtvcU3Pc9eL/LN624V+IZcWzFx5zvjQmz+7M2d47eOj863tZ5xAgQIECBA gAABAj9R4HK+HM7n83yh8CXdjUSXeNOxS2iruLfLlL4r2bZyhKlbMfvWiZvY3E/eahcYPtfGp1lX zMsT5o79HuaGQt9oeHS6NEs/AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEHiQwPKWclM5O Ouol5wdLttIIc9JJnDGZNumIi8QZoxzt/HZefly+WeRbtrNcNDysvVEM3AeuvRU4FteG6283H68x /wwx7TXl8XzcG5fjwzHOOYaNrueu56y1H51vbS1jBAgQIECAAAECBH6qwPF0nBYK10XC+SZrHWir cDfM3orZHg/3O/HeaHEzO3KEnawn6bP3QZtrhvBrYvv05TDazPppmaVBgAABAgQIECBAgAABAgQI ECBAgAABAgQIECBAgACBrywwevRZHqvO7zlFl/LT0sjRk470lHZhkRjdTGlOYtI4tczPRbxhaIgd YupC4DYmJut+mtjpBmJYelZd5xrWKnm6RGsFynmdtTcHh5hjqsLNaWePKVe49uk+Zid0nY8u7n10 vqV96ydAgAABAgQIECDwIwW6f+qfjqe2ULgpEu7+RR5vDFZ1topzu8mreboV0ndhlQeMpy0s5M/d W+tUcaG5uuccm49dcP70zaonj1x5XMkwMzTTdeV6wgkQIECAAAECBAgQIECAAAECBAgQIECAAAEC BAgQILAuMCk3nXTU86eD5blmaeT41FFmlEYYb07ihBjd5Kjml/DSSHNK/Hwhb5uzjpnuIRS/hofK cYXhJ66TRuLwYkFwXmu1YDivMZN/WCMUAYez+BMas59QJ7AnLk8O17dWqJzj9h4fnW/vuuIIECBA gAABAgQIvLpA+Lf25XIeCoWbIuHu6uN9xaJCmL0dExZZ/qwVGW/lf8B42NiOa4j734zrk8XgPXlz YD52C4w/VVfVHEc5J0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwJcQmDzXnHTU2xwGSxlr aeS4tqPMKI0Ql05KZGmEseYkRZa5dSFvGxtD+p+YoaQpjWmuNjAkrGLmC3HzOqkgeMgdJ1fz14py t4pst8bLWt1m1tbJcfm4N2+O3zo+Ot/WesYJECBAgAABAgQI/ASB0+l4OH9cUqHwuEh4HWCtwDfP XItZHwt3S/GGKKdqjmlwbTzcQMx/0sDyeJjVT+4Oi2li8iGumhVHln+qjO305SmrI1W+cdzKUA7d EZJDHQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+GEC07LVKwBWJ08Hy7PL0shrpY4yozTy +NBRppZGiKnml9DSSKMlvi4cXokpQ6URN5OeQ8/niDuJ66wVDM+Pbc3N40vFxnvGQ0z4XFuse218 WmX599H5llcyQoAAAQIECBAgQOBnCHx8fHT/88nj4f3hRcLdv97LvdTEcqVI+NZ5YbX0nayWOu4d D1n6K1pdJy/fx/bTqrMcsHKcia66quZKDkMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4 T+CuZ5Ork9NgU2bbnIR9tx0lXWnka+sLcydTZuaXuXUxbzsxhvQ/MUNJUxqxmDatngt753Okwt12 LJyFYtjw/PnYLhA6V8fy+FJBcEo7nzfO7RPMrRuG8ufaYt1r4/M6S8dH51taRz8BAgQIECBAgACB nyDw9vZ+OJ/P6Y3Cuy64+xd5vLlYC16NWSoSXuoPC3Urpu/MqhtjYfbihtfm9uv2h8UUcUf9aHuI I/M/o2zVadWcnzrp3TFjI2RjeLKiDgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXl9gKIu9 8lo3Jw4BzbPK5iSs2Rfz5uWHaX3P0FGmlsZofgktjfTcu8T3a8Xh+Zih6DfkrmL6HMN4NZa20f3O F+/Ggtiwk9G6cVrsXhjrA5YKfmPeY9jYsJcwJX+2xkPcnpicb4ive+5rX7v+fauZTYAAAQIECBAg QOB1BUKRcLgzeN91id2/xMOtxOpnLWZxbKlIuFstfWeWvGOsyxZuKqafvnNxzTCjmrgal7NfG5/n jdbK3X26KmsecSRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDDBG5+Jrk5casAOFxCKnBt UjUnIabKM6mHHc0vc+uC4GGdlC2mHPKWnFWuPs++ouBR/jh3WjDcd3dvFw6tsmiYnJ5Od91zY3H8 xrGtuWE8fMJz9aW1U8ToN00Ydd5+evX6ty9lJgECBAgQIECAAIGXFbiEQuG3tx2Fwt2/wMNtyfJn qdg3zOhmpu90+mLepXwrudbWuXlsY//NFfVC7aGJaE/6wNxZnVbNPLpw3B/ZJJiZNtPVTHFCgAAB AgQIECBAgAABAgQIECBAgAABAgQIECBAgMDrC7Slqv31znbeYlEV3ebpMw8qYyFuHp+sPXSUqaWR JpX5Q2g3UK1d4uvC4SE4DvcxQ1FwyD3OkQt/h7HQCgWu4ZOKbGMrnoefWPwanl/HVNWasWvavzan HRtyhf7wGdaaju0ZLzEzRcxhbPwJl32Mi86vN47fc57Sxcx7wsUQIECAAAECBAgQIDASOL2dDuGt wrNvFL6Ef3H3n6GVe+rjUlFviFkau76/r/WtF+7b3e7Sd3asuoxqPF3R2thyzpCmF2kPVf662QdN p9VBC+1qbjV/1FyYq5sAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLXCYyeUKbJs53X5c2J mhLS5iREpI5mueYkxKSOMrU0wlj4lDLhHNr2lvhqrZiyLhpOecJvPzTkGM/v9zcUFJeAoWA4ZInd 7Zrjt/Xmtcb99T6Wx3LR8rB+nrdWvBvWXBuPOcL227She/azJ9/sxLXOlLSL2LmJtVzGCBAgQIAA AQIECPxAgff3zTcKh391z326/vSdG+zGumLg2ZG5IuGlXEv9IfFcntQ/v6+0m8Xi4LTUzI7TvPmc dXgfN2yhHpxpV/H9nBw0GsndM8edkRthG8Mz6+oiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg QOBVBTbLMTcDlmSqIt4QMnlQmTqa9M1JmJQ6ytTSCGPhMy74DX3Vun38UNibxsNvHCr56jzVmpP5 47FcsDvNO6zZz+kXTEW4qS/uY6E/j6U8Q3zoD5/wLPzaQuI4r/vZLhYO1zVdM8wff8L2k/i++PH8 8XnKN+51ToAAAQIECBAgQIDAPoHj4fwx80bh4W3Cy8W48wW3YdmlOWGoG5vsbCn++v6QfC7/Yn/a 0mRHJctsvhBerbIYk9O2saPZOWjmWM3Lo33XzEiOuPH4+Iw3bsQ0AgQIECBAgAABAgQIECBAgAAB AgQIECBAgAABAgR+sUBfIru8i5sfL6aJpXy0NOqlUolp6ZmstZWjn9/Mq4t+Q+ZxzHQ8RMUU/U/c 6vDTjpXrSI38LD2uMjNnXMwbC3xDxio2rh+7Zvr7wXGBcTunbCp0x09c5xguaGYs9KaAFDz3uzVe zVlbqwrTJECAAAECBAgQIEDgyQKhHvjf/+1fD+/1OkORcHfjE+4RJp+lAt4QuDS20N8tMF1iIXYl d0gyl2fa30ftjs8XvzZvFJMYYud0Tzm2CspdwxK5Z+U4k3mmay7BzrC5qfoIECBAgAABAgQIECBA gAABAgQIECBAgAABAgQIEPgRAtOnitPS0hWIjeBSiDxdpkuaOkuK0qjXq4qJJznGRb9h3nZhcEzT 5xoKfNPc8DuM1/nT5vJz9WFe399PnPT3yepC35x/UkScc8wU+IZ1U+4WKeRaKvqNc2Zy9cv0Um2+ MBY+MW//m3o2ftOEjSDDBAgQIECAAAECBAg8S+Dt7e1wOZ8Pf/nLX4ZC4bpIeH7hpSLeLnq26Hep fyHPbI6F2O4GJNzETD9z/V1g+o7CV/pD5OycfiBnWoypAkbNbsrKZ2a06qqaKznmhm6fOZdNHwEC BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECP0dgeNo4X0TaSAzBTfdwUkqFU9dMyhIxm6uMhkrZ 0SeWzqaq1n6k76li25hUbJvTtGMhUVxi+AmPkWP+YV7axGb/qEA3Fu2GbHXuPkldRByXi2FtbL+N vig4nKV95P7wQH2cJ46FNKO9hP7wiXtaGNszHpP0P+FSkuawr3pcmwABAgQIECBAgACB5wp8fPz9 8HZ6O/zpT/8xFAqvLzlXgBtmLPeHe5rwj//2Mxc/37d/flhhb45+R5O9LfWn3PEahpB42v70g9Pw NiyeVbG74usUo7nV/DpqpXsc5pwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI7BYbnlavl n6uD4eluFTCkrPbQRNQ1sDGmjI7m9mW+VXzpKQ+vhwLfkKof7/OMx0JEHOp/UuHteF4uyG37h1zp WtOLsHJs39cvMC7cHYqIB6e8j0nsQo7Y3U0ax6/1b43tGQ8x+ZMKj/OZIwECBAgQIECAAAECnylw PJ7ivdGf//znVCi8/jbhuSLcsN1H9M/l2Nu3tIfubid9K9O5vjR/Gtv3D8NVntzs8oVPe0h95bcf zOersSFoFD/qmhnNmUfH/ZGjiU4JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwS2B4KjkU s5aJw2Dpahul1Dd1z6aoOif5qvlNWH9S4vu4ErNeGByn1XOreWGjqdi3Ly+OYymg9Me38YbIYZ25 guFdfSFLqhiO+ULW8EnFt2GTZXMP7R/WiGnnf6bLz8fF3quCV/IYIkCAAAECBAgQIEBgr8DpdOre Jnw6/L17q/Cf/qN7o/B6kfBws9MuMFfMGyIW+ru7lXI/lRNN+rqI9M0RMd+0LwzPrbN3ftpJuIFq P31HStMO5d3PjoXQKtmQZpQjn1ax1dRRbw6ujgsRVXfVrOZpEiBAgAABAgQIECBAgAABAgQIECBA gAABAgQIECBA4FkCVdHueIm2lrUZbWbNPuhsIkZ1sX0hbshYzS29Zd2+p48ZCnTDxPWxmHpj3pBv rmC474uJutViEfH9fXlfae1yoaH7YUXEVbLYHP8ElqTXrj+Oi+cpeHZIJwECBAgQIECAAAECzxG4 XM5dkfD58Le//f3w17/+9fD/AaNiTmGXL4pZAAAAAElFTkSuQmCC --00000000000095b0ee05db694538-- --00000000000095b0ef05db694539 Content-Type: application/octet-stream; name="RM7132_v4.patch" Content-Disposition: attachment; filename="RM7132_v4.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l1d5t73p1 ZGlmZiAtLWdpdCBhL3dlYi9wYWNrYWdlLmpzb24gYi93ZWIvcGFja2FnZS5qc29uCmluZGV4IDQy MDBiMWY4Mi4uMjM3OWU5MTg4IDEwMDY0NAotLS0gYS93ZWIvcGFja2FnZS5qc29uCisrKyBiL3dl Yi9wYWNrYWdlLmpzb24KQEAgLTgzLDEwICs4MywxNiBAQAogICAgICJAZGF0ZS1pby9kYXRlLWZu cyI6ICIxLngiLAogICAgICJAZW1vdGlvbi9zaGVldCI6ICJeMS4wLjEiLAogICAgICJAZm9ydGF3 ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZSI6ICJeNS4xNC4wIiwKKyAgICAiQGZvcnRhd2Vzb21lL2Zv bnRhd2Vzb21lLXN2Zy1jb3JlIjogIl42LjEuMCIsCisgICAgIkBmb3J0YXdlc29tZS9mcmVlLXJl Z3VsYXItc3ZnLWljb25zIjogIl42LjEuMCIsCisgICAgIkBmb3J0YXdlc29tZS9mcmVlLXNvbGlk LXN2Zy1pY29ucyI6ICJeNi4xLjAiLAorICAgICJAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNv bWUiOiAiXjAuMS4xOCIsCiAgICAgIkBtYXRlcmlhbC11aS9jb3JlIjogIjQuMTEuMCIsCiAgICAg IkBtYXRlcmlhbC11aS9pY29ucyI6ICJeNC4xMS4yIiwKICAgICAiQG1hdGVyaWFsLXVpL2xhYiI6 ICI0LjAuMC1hbHBoYS41OCIsCiAgICAgIkBtYXRlcmlhbC11aS9waWNrZXJzIjogIl4zLjIuMTAi LAorICAgICJAbXVpL2ljb25zLW1hdGVyaWFsIjogIl41LjQuMiIsCisgICAgIkBtdWkvbWF0ZXJp YWwiOiAiXjUuNC4zIiwKICAgICAiQHByb2plY3RzdG9ybS9yZWFjdC1kaWFncmFtcyI6ICJeNi42 LjEiLAogICAgICJAc2ltb253ZXAvcGlja3IiOiAiXjEuNS4xIiwKICAgICAiQHN6aHNpbi9yZWFj dC1tZW51IjogIl4yLjIuMCIsCkBAIC0xMjIsNiArMTI4LDcgQEAKICAgICAiZGF0ZS1mbnMiOiAi XjIuMjQuMCIsCiAgICAgImRpZmYtYXJyYXlzLW9mLW9iamVjdHMiOiAiXjEuMS44IiwKICAgICAi ZHJvcHpvbmUiOiAiXjUuOS4zIiwKKyAgICAiaHRtbC1sb2FkZXIiOiAiXjMuMS4wIiwKICAgICAi aHRtbDJjYW52YXMiOiAiXjEuMC4wLXJjLjciLAogICAgICJpbW11dGFiaWxpdHktaGVscGVyIjog Il4zLjAuMCIsCiAgICAgImltcG9ydHMtbG9hZGVyIjogIl4yLjAuMCIsCkBAIC0xNTUsNiArMTYy LDggQEAKICAgICAicmVhY3QtZG9tIjogIl4xNy4wLjEiLAogICAgICJyZWFjdC1kcmFnZ2FibGUi OiAiXjQuNC40IiwKICAgICAicmVhY3Qtcm5kIjogIl4xMC4zLjUiLAorICAgICJyZWFjdC1mb250 YXdlc29tZSI6ICJeMS43LjEiLAorICAgICJyZWFjdC1yb3V0ZXItZG9tIjogIl42LjIuMiIsCiAg ICAgInJlYWN0LXNlbGVjdCI6ICJeNC4yLjEiLAogICAgICJyZWFjdC10YWJsZSI6ICJeNy42LjMi LAogICAgICJyZWFjdC10aW1lci1ob29rIjogIl4zLjAuNSIsCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvc3RhdGlj L2pzL2Nhc3QuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvY2FzdHMvc3RhdGljL2pzL2Nhc3QuanMKaW5kZXggZGQ5ODc0OTc2Li5kMWVlOGIz YjMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9jYXN0cy9zdGF0aWMvanMvY2FzdC5qcworKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvc3RhdGljL2pzL2Nhc3Qu anMKQEAgLTY4LDI1ICs2OCw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmNhc3QnLCBbCiAKICAg ICAgIH0sCiAKLSAgICAgIC8vIERlZmluZSB0aGUgYmFja2Zvcm0gbW9kZWwgZm9yIGNhc3Qgbm9k ZQotICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAg ICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLQotICAgICAgICAvLyBEZWZpbmUgdGhlIHNjaGVtYSBm b3IgY2FzdAotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6 IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgZWRpdGFibGU6IGZh bHNlLCB0eXBlOiAndGV4dCcsIHJlYWRvbmx5OiB0cnVlLCBjZWxsSGVhZGVyQ2xhc3NlczogJ3dp ZHRoX3BlcmNlbnRfNTAnLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ29pZCcsIGxhYmVs OiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgZWRpdGFibGU6IGZh bHNlLCB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LAotICAg ICAgICB7Ci0gICAgICAgICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21t ZW50JyksCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScsIGNlbGxIZWFkZXJDbGFzc2VzOiAn d2lkdGhfcGVyY2VudF81MCcsCi0gICAgICAgIH0sCi0gICAgICAgIF0sCi0gICAgICB9KSwKLQog ICAgICAgZ2V0U2NoZW1hOiBmdW5jdGlvbih0cmVlTm9kZUluZm8sIGl0ZW1Ob2RlRGF0YSl7CiAg ICAgICAgIHJldHVybiBuZXcgQ2FzdFNjaGVtYSh7CiAgICAgICAgICAgZ2V0VHlwZU9wdGlvbnM6 ICgpPT5nZXROb2RlQWpheE9wdGlvbnMoJ2dldF90eXBlJywgdGhpcywgdHJlZU5vZGVJbmZvLCBp dGVtTm9kZURhdGEpLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL3N0YXRpYy9qcy9ldmVudF90cmln Z2VyLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2V2ZW50X3RyaWdnZXJzL3N0YXRpYy9qcy9ldmVudF90cmlnZ2VyLmpzCmluZGV4IGM2ZDdh N2U1MS4uNWU4MzBhZjg3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRfdHJpZ2dlcnMvc3RhdGljL2pzL2V2ZW50X3Ry aWdnZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL3N0YXRpYy9qcy9ldmVudF90cmlnZ2VyLmpzCkBAIC0x Miw5ICsxMiw4IEBAIGltcG9ydCB7IGdldE5vZGVMaXN0QnlOYW1lLCBnZXROb2RlQWpheE9wdGlv bnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zdGF0aWMvCiAKIGRlZmluZSgncGdhZG1pbi5u b2RlLmV2ZW50X3RyaWdnZXInLCBbCiAgICdzb3VyY2VzL2dldHRleHQnLCAnc291cmNlcy91cmxf Zm9yJywgJ2pxdWVyeScsICd1bmRlcnNjb3JlJywKLSAgJ3NvdXJjZXMvcGdhZG1pbicsICdwZ2Fk bWluLmJyb3dzZXInLAotICAncGdhZG1pbi5iYWNrZm9ybScsICdwZ2FkbWluLmJyb3dzZXIuY29s bGVjdGlvbicsCi1dLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBwZ0FkbWluLCBw Z0Jyb3dzZXIsIEJhY2tmb3JtKSB7CisgICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1pbi5icm93 c2VyJywgJ3BnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uJywKK10sIGZ1bmN0aW9uKGdldHRleHQs IHVybF9mb3IsICQsIF8sIHBnQWRtaW4sIHBnQnJvd3NlcikgewogCiAgIC8vIEV4dGVuZCB0aGUg YnJvd3NlcidzIGNvbGxlY3Rpb24gY2xhc3MgZm9yIGV2ZW50IHRyaWdnZXIgY29sbGVjdGlvbgog ICBpZiAoIXBnQnJvd3Nlci5Ob2Rlc1snY29sbC1ldmVudF90cmlnZ2VyJ10pIHsKQEAgLTgwLDEz MiArNzksNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5ldmVudF90cmlnZ2VyJywgWwogICAgICAg ICAgIH0KICAgICAgICAgKTsKICAgICAgIH0sCi0gICAgICAvLyBEZWZpbmUgdGhlIG1vZGVsIGZv ciBldmVudCB0cmlnZ2VyIG5vZGUKLSAgICAgIG1vZGVsOiBwZ0FkbWluLkJyb3dzZXIuTm9kZS5N b2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJpYnV0ZTogJ29pZCcsCi0gICAgICAgIGRlZmF1 bHRzOiB7Ci0gICAgICAgICAgb2lkOiB1bmRlZmluZWQsCi0gICAgICAgICAgbmFtZTogdW5kZWZp bmVkLAotICAgICAgICAgIGV2ZW50b3duZXI6IHVuZGVmaW5lZCwKLSAgICAgICAgICBpc19zeXNf b2JqOiB1bmRlZmluZWQsCi0gICAgICAgICAgY29tbWVudDogdW5kZWZpbmVkLAotICAgICAgICAg IGVuYWJsZWQ6ICdPJywKLSAgICAgICAgICBldmVudGZ1bmNvaWQ6IHVuZGVmaW5lZCwKLSAgICAg ICAgICBldmVudGZ1bm5hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICBldmVudG5hbWU6ICdERExf Q09NTUFORF9TVEFSVCcsCi0gICAgICAgICAgd2hlbjogdW5kZWZpbmVkLAotICAgICAgICAgIHht aW46IHVuZGVmaW5lZCwKLSAgICAgICAgICBzb3VyY2U6IHVuZGVmaW5lZCwKLSAgICAgICAgICBs YW5ndWFnZTogdW5kZWZpbmVkLAotICAgICAgICB9LAotCi0gICAgICAgIC8vIERlZmF1bHQgdmFs dWVzIQotICAgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykgewotICAgICAg ICAgIHZhciBpc05ldyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKLQotICAgICAgICAgIGlmIChp c05ldykgewotICAgICAgICAgICAgdmFyIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9b YXJncy5ub2RlX2luZm8uc2VydmVyLl9pZF0udXNlcjsKLQotICAgICAgICAgICAgdGhpcy5zZXQo eydldmVudG93bmVyJzogdXNlckluZm8ubmFtZX0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAg ICB9Ci0gICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRp YWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgfSwKLQotICAgICAgICAvLyBE ZWZpbmUgdGhlIHNjaGVtYSBmb3IgdGhlIGV2ZW50IHRyaWdnZXIgbm9kZQotICAgICAgICBzY2hl bWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2Vs bDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLAotICAgICAgICB9LHsKLSAgICAg ICAgICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDogJ3N0cmluZycsCi0g ICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7 Ci0gICAgICAgICAgaWQ6ICdldmVudG93bmVyJywgbGFiZWw6IGdldHRleHQoJ093bmVyJyksIGNl bGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVz JywgJ2VkaXQnLCdjcmVhdGUnXSwgbm9kZTogJ3JvbGUnLAotICAgICAgICAgIGNvbnRyb2w6IEJh Y2tmb3JtLk5vZGVMaXN0QnlOYW1lQ29udHJvbCwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6 ICdpc19zeXNfb2JqJywgbGFiZWw6IGdldHRleHQoJ1N5c3RlbSBldmVudCB0cmlnZ2VyPycpLAot ICAgICAgICAgIGNlbGw6J2Jvb2xlYW4nLCB0eXBlOiAnc3dpdGNoJywKLSAgICAgICAgICBtb2Rl OiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdjb21tZW50Jywg bGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgdHlwZTogJ211bHRpbGluZScsCi0gICAgICAgIH0s ewotICAgICAgICAgIGlkOiAnZW5hYmxlZCcsIGxhYmVsOiBnZXR0ZXh0KCdUcmlnZ2VyIGVuYWJs ZWQ/JyksCi0gICAgICAgICAgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwgbW9kZTogWydw cm9wZXJ0aWVzJywgJ2VkaXQnLCdjcmVhdGUnXSwKLSAgICAgICAgICBvcHRpb25zOiBbCi0gICAg ICAgICAgICB7bGFiZWw6IGdldHRleHQoJ0VuYWJsZScpLCB2YWx1ZTogJ08nfSwKLSAgICAgICAg ICAgIHtsYWJlbDogZ2V0dGV4dCgnRGlzYWJsZScpLCB2YWx1ZTogJ0QnfSwKLSAgICAgICAgICAg IHtsYWJlbDogZ2V0dGV4dCgnUmVwbGljYScpLCB2YWx1ZTogJ1InfSwKLSAgICAgICAgICAgIHts YWJlbDogZ2V0dGV4dCgnQWx3YXlzJyksIHZhbHVlOiAnQSd9LAotICAgICAgICAgIF0sCi0gICAg ICAgICAgY29udHJvbDogJ3NlbGVjdDInLCBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6IGZhbHNlLCB3 aWR0aDogJzEwMCUnIH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnZXZlbnRmdW5uYW1l JywgbGFiZWw6IGdldHRleHQoJ1RyaWdnZXIgZnVuY3Rpb24nKSwKLSAgICAgICAgICB0eXBlOiAn dGV4dCcsIGNvbnRyb2w6ICdub2RlLWFqYXgtb3B0aW9ucycsIGdyb3VwOiBnZXR0ZXh0KCdEZWZp bml0aW9uJyksCi0gICAgICAgICAgdXJsOidmb3B0cycsIGNhY2hlX25vZGU6ICd0cmlnZ2VyX2Z1 bmN0aW9uJywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdldmVudG5hbWUnLCBsYWJlbDog Z2V0dGV4dCgnRXZlbnQnKSwKLSAgICAgICAgICBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlvbicp LCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICBvcHRpb25zOiBbCi0gICAgICAgICAgICB7bGFi ZWw6IGdldHRleHQoJ0RETCBDT01NQU5EIFNUQVJUJyksIHZhbHVlOiAnRERMX0NPTU1BTkRfU1RB UlQnfSwKLSAgICAgICAgICAgIHtsYWJlbDogZ2V0dGV4dCgnRERMIENPTU1BTkQgRU5EJyksIHZh bHVlOiAnRERMX0NPTU1BTkRfRU5EJ30sCi0gICAgICAgICAgICB7bGFiZWw6IGdldHRleHQoJ1NR TCBEUk9QJyksIHZhbHVlOiAnU1FMX0RST1AnfSwKLSAgICAgICAgICBdLAotICAgICAgICAgIGNv bnRyb2w6ICdzZWxlY3QyJywgc2VsZWN0MjogeyBhbGxvd0NsZWFyOiBmYWxzZSwgd2lkdGg6ICcx MDAlJyB9LAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3doZW4nLCBsYWJlbDogZ2V0dGV4 dCgnV2hlbiBUQUcgaW4nKSwgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0 JywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKLSAgICAgICAgICBjb250cm9sOiBCYWNr Zm9ybS5TcWxGaWVsZENvbnRyb2wsCi0gICAgICAgICAgZXh0cmFDbGFzc2VzOlsnY3VzdG9tX2hl aWdodF9jc3NfY2xhc3MnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdzZWNsYWJlbHMn LCBsYWJlbDogZ2V0dGV4dCgnU2VjdXJpdHkgbGFiZWxzJyksCi0gICAgICAgICAgbW9kZWw6IHBn QnJvd3Nlci5TZWNMYWJlbE1vZGVsLCBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xsZWN0aW9u JywKLSAgICAgICAgICBncm91cDogZ2V0dGV4dCgnU2VjdXJpdHknKSwgbW9kZTogWydlZGl0Jywg J2NyZWF0ZSddLAotICAgICAgICAgIG1pbl92ZXJzaW9uOiA5MDIwMCwgY2FuQWRkOiB0cnVlLAot ICAgICAgICAgIGNhbkVkaXQ6IGZhbHNlLCBjYW5EZWxldGU6IHRydWUsIGNvbnRyb2w6ICd1bmlx dWUtY29sLWNvbGxlY3Rpb24nLAotICAgICAgICB9LAotICAgICAgICBdLAotICAgICAgICAvLyBl dmVudCB0cmlnZ2VyIG1vZGVsIGRhdGEgdmFsaWRhdGlvbi4KLSAgICAgICAgdmFsaWRhdGU6IGZ1 bmN0aW9uKCkgewotICAgICAgICAgIHZhciBtc2cgPSB1bmRlZmluZWQ7Ci0gICAgICAgICAgLy8g Q2xlYXIgYW55IGV4aXN0aW5nIGVycm9yIG1zZy4KLSAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu Y2xlYXIoKTsKLQotICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCduYW1lJykp Ci0gICAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnbmFtZScpKS5yZXBsYWNlKC9eXHMr fFxzKyQvZywgJycpID09ICcnKSB7Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdFdmVudCB0 cmlnZ2VyIG5hbWUgY2Fubm90IGJlIGVtcHR5LicpOwotICAgICAgICAgICAgdGhpcy5lcnJvck1v ZGVsLnNldCgnbmFtZScsIG1zZyk7Ci0gICAgICAgICAgICByZXR1cm4gbXNnOwotICAgICAgICAg IH0KLQotICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdldmVudG93bmVyJykp Ci0gICAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnZXZlbnRvd25lcicpKS5yZXBsYWNl KC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdF dmVudCB0cmlnZ2VyIG93bmVyIGNhbm5vdCBiZSBlbXB0eS4nKTsKLSAgICAgICAgICAgIHRoaXMu ZXJyb3JNb2RlbC5zZXQoJ2V2ZW50b3duZXInLCBtc2cpOwotICAgICAgICAgICAgcmV0dXJuIG1z ZzsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgn ZW5hYmxlZCcpKSkgewotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnRXZlbnQgdHJpZ2dlciBl bmFibGVkIHN0YXR1cyBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9y TW9kZWwuc2V0KCdlbmFibGVkJywgbXNnKTsKLSAgICAgICAgICAgIHJldHVybiBtc2c7Ci0gICAg ICAgICAgfQotCi0gICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2V2ZW50ZnVu bmFtZScpKQotICAgICAgICAgICAgICB8fCBTdHJpbmcodGhpcy5nZXQoJ2V2ZW50ZnVubmFtZScp KS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Ci0gICAgICAgICAgICBtc2cgPSBn ZXR0ZXh0KCdFdmVudCB0cmlnZ2VyIGZ1bmN0aW9uIGNhbm5vdCBiZSBlbXB0eS4nKTsKLSAgICAg ICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2V2ZW50ZnVubmFtZScsIG1zZyk7Ci0gICAgICAg ICAgICByZXR1cm4gbXNnOwotICAgICAgICAgIH0KLQotICAgICAgICAgIGlmIChfLmlzVW5kZWZp bmVkKHRoaXMuZ2V0KCdldmVudG5hbWUnKSkpIHsKLSAgICAgICAgICAgIG1zZyA9IGdldHRleHQo J0V2ZW50IHRyaWdnZXIgZXZlbnQgY2Fubm90IGJlIGVtcHR5LicpOwotICAgICAgICAgICAgdGhp cy5lcnJvck1vZGVsLnNldCgnZXZlbnRuYW1lJywgbXNnKTsKLSAgICAgICAgICAgIHJldHVybiBt c2c7Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0sCi0g ICAgICB9KSwKICAgICB9KTsKIAogICB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXh0ZW5zaW9ucy9zdGF0aWMvanMvZXh0 ZW5zaW9uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL2V4dGVuc2lvbnMvc3RhdGljL2pzL2V4dGVuc2lvbi5qcwppbmRleCA2MDQ1YjBjNzUu LjgyMDAxZTEwNyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL2V4dGVuc2lvbnMvc3RhdGljL2pzL2V4dGVuc2lvbi5qcworKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXh0 ZW5zaW9ucy9zdGF0aWMvanMvZXh0ZW5zaW9uLmpzCkBAIC0xMyw5ICsxMyw4IEBAIGltcG9ydCBF eHRlbnNpb25zU2NoZW1hIGZyb20gJy4vZXh0ZW5zaW9uLnVpJzsKIAogZGVmaW5lKCdwZ2FkbWlu Lm5vZGUuZXh0ZW5zaW9uJywgWwogICAnc291cmNlcy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2Zv cicsICdqcXVlcnknLCAndW5kZXJzY29yZScsCi0gICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1p bi5icm93c2VyJywKLSAgJ3BnYWRtaW4uYmFja2Zvcm0nLCAncGdhZG1pbi5icm93c2VyLmNvbGxl Y3Rpb24nLAotXSwgZnVuY3Rpb24oZ2V0dGV4dCwgdXJsX2ZvciwgJCwgXywgcGdBZG1pbiwgcGdC cm93c2VyLCBCYWNrZm9ybSkgeworICAnc291cmNlcy9wZ2FkbWluJywgJ3BnYWRtaW4uYnJvd3Nl cicsICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbicsCitdLCBmdW5jdGlvbihnZXR0ZXh0LCB1 cmxfZm9yLCAkLCBfLCBwZ0FkbWluLCBwZ0Jyb3dzZXIpIHsKIAogICAvKgogICAgKiBDcmVhdGUg YW5kIEFkZCBhbiBFeHRlbnNpb24gQ29sbGVjdGlvbiBpbnRvIG5vZGVzCkBAIC05NiwxMDkgKzk1 LDYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuZXh0ZW5zaW9uJywgWwogICAgICAgICogRGVmaW5l IG1vZGVsIGZvciB0aGUgTm9kZSBhbmQgc3BlY2lmeSB0aGUgcHJvcGVydGllcwogICAgICAgICog b2YgdGhlIG1vZGVsIGluIHNjaGVtYS4KICAgICAgICAqLwotICAgICAgbW9kZWw6IHBnQWRtaW4u QnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywK LSAgICAgICAgc2NoZW1hOiBbCi0gICAgICAgICAgewotICAgICAgICAgICAgaWQ6ICduYW1lJywg bGFiZWw6IGdldHRleHQoJ05hbWUnKSwgZmlyc3RfZW1wdHk6IHRydWUsCi0gICAgICAgICAgICB0 eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAotICAg ICAgICAgICAgdmlzaWJsZTogdHJ1ZSwgdXJsOidhdmFpbHMnLCByZWFkb25seTogZnVuY3Rpb24o bSkgewotICAgICAgICAgICAgICByZXR1cm4gIW0uaXNOZXcoKTsKLSAgICAgICAgICAgIH0sCi0g ICAgICAgICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uKGRhdGEsIGNlbGwpIHsKLSAgICAgICAgICAg ICAgdmFyIHJlcyA9IFtdLAotICAgICAgICAgICAgICAgIGNvbnRyb2wgPSBjZWxsIHx8IHRoaXMs Ci0gICAgICAgICAgICAgICAgbGFiZWwgPSBjb250cm9sLm1vZGVsLmdldCgnbmFtZScpOwotCi0g ICAgICAgICAgICAgIGlmICghY29udHJvbC5tb2RlbC5pc05ldygpKSB7Ci0gICAgICAgICAgICAg ICAgcmVzLnB1c2goe2xhYmVsOiBsYWJlbCwgdmFsdWU6IGxhYmVsfSk7Ci0gICAgICAgICAgICAg IH0KLSAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGRhdGEgJiYgXy5p c0FycmF5KGRhdGEpKSB7Ci0gICAgICAgICAgICAgICAgICBfLmVhY2goZGF0YSwgZnVuY3Rpb24o ZCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZC5pbnN0YWxsZWRfdmVyc2lvbiA9PT0gbnVs bCkKLQotICAgICAgICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICAgICAgICAgICog ZCBjb250YWlucyBqc29uIGRhdGEgYW5kIHNldHMgaW50bwotICAgICAgICAgICAgICAgICAgICAg ICAqIHNlbGVjdCdzIG9wdGlvbiBjb250cm9sCi0gICAgICAgICAgICAgICAgICAgICAgICoKLSAg ICAgICAgICAgICAgICAgICAgICAgKiBXZSBuZWVkIHRvIHN0cmluZ2lmeSBkYXRhIGJlY2F1c2Ug Zm9ybWF0dGVyIHdpbGwKLSAgICAgICAgICAgICAgICAgICAgICAgKiBjb252ZXJ0IEFycmF5IE9i amVjdCBhcyBbT2JqZWN0XSBzdHJpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAg ICAgICAgICAgICAgICAgICByZXMucHVzaCh7bGFiZWw6IGQubmFtZSwgdmFsdWU6IEpTT04uc3Ry aW5naWZ5KGQpfSk7Ci0gICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0g ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgICAgIH0s Ci0KLSAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgKiBleHRlbmRzIE5vZGVBamF4T3B0aW9u c0NvbnRyb2wgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnRpZXMKLSAgICAgICAgICAgICAqIGdldFZh bHVlRnJvbURPTSB3aGljaCB0YWtlcyBzdHJpbmdpZmllZCBkYXRhIGZyb20gb3B0aW9uIG9mCi0g ICAgICAgICAgICAgKiBzZWxlY3QgY29udHJvbCBhbmQgcGFyc2UgaXQuIEFuZCBgb25DaGFuZ2Vg IHRha2VzIHRoZSBzdHJpbmdpZmllZAotICAgICAgICAgICAgICogZGF0YSBmcm9tIHNlbGVjdCdz IG9wdGlvbiwgdGh1cyBjb252ZXJ0IGl0IHRvIGpzb24gZm9ybWF0IGFuZCBzZXQgdGhlCi0gICAg ICAgICAgICAgKiBkYXRhIGludG8gTW9kZWwgd2hpY2ggaXMgdXNlZCB0byBlbmFibGUvZGlzYWJs ZSB0aGUgc2NoZW1hIGZpZWxkLgotICAgICAgICAgICAgICovCi0gICAgICAgICAgICBjb250cm9s OiBCYWNrZm9ybS5Ob2RlQWpheE9wdGlvbnNDb250cm9sLmV4dGVuZCh7Ci0gICAgICAgICAgICAg IGdldFZhbHVlRnJvbURPTTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGRhdGEg PSB0aGlzLmZvcm1hdHRlci50b1JhdygKLSAgICAgICAgICAgICAgICAgIF8udW5lc2NhcGUodGhp cy4kZWwuZmluZCgnc2VsZWN0JykudmFsKCkpLCB0aGlzLm1vZGVsKTsKLSAgICAgICAgICAgICAg ICAvKgotICAgICAgICAgICAgICAgICAqIHJldHVybiBudWxsIGlmIGRhdGEgaXMgZW1wdHkgdG8g cHJldmVudCBpdCBmcm9tCi0gICAgICAgICAgICAgICAgICogdGhyb3dpbmcgcGFyc2luZyBlcnJv ci4gQWRkcyBjaGVjayBhcyBuYW1lIGNhbiBiZSBlbXB0eQotICAgICAgICAgICAgICAgICAqLwot ICAgICAgICAgICAgICAgIGlmIChkYXRhID09PSAnJykgewotICAgICAgICAgICAgICAgICAgcmV0 dXJuIG51bGw7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5 cGVvZihkYXRhKSA9PT0gJ3N0cmluZycpIHsKLSAgICAgICAgICAgICAgICAgIGRhdGE9SlNPTi5w YXJzZShkYXRhKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGRh dGEubmFtZTsKLSAgICAgICAgICAgICAgfSwKLQotICAgICAgICAgICAgICAvKgotICAgICAgICAg ICAgICAgKiBXaGVuIG5hbWUgaXMgY2hhbmdlZCwgZXh0cmFjdCB2YWx1ZSBmcm9tIGl0cyBzZWxl Y3Qgb3B0aW9uIGFuZAotICAgICAgICAgICAgICAgKiBzZXQgYXR0cmlidXRlcyB2YWx1ZXMgaW50 byB0aGUgbW9kZWwKLSAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgIG9uQ2hhbmdlOiBm dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBCYWNrZm9ybS5Ob2RlQWpheE9wdGlvbnNDb250 cm9sLnByb3RvdHlwZS5vbkNoYW5nZS5hcHBseSgKLSAgICAgICAgICAgICAgICAgIHRoaXMsIGFy Z3VtZW50cwotICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVk VmFsdWUgPSB0aGlzLiRlbC5maW5kKCdzZWxlY3QnKS52YWwoKTsKLSAgICAgICAgICAgICAgICBp ZiAoc2VsZWN0ZWRWYWx1ZS50cmltKCkgIT0gJycpIHsKLSAgICAgICAgICAgICAgICAgIHZhciBk ID0gdGhpcy5mb3JtYXR0ZXIudG9SYXcoc2VsZWN0ZWRWYWx1ZSwgdGhpcy5tb2RlbCk7Ci0gICAg ICAgICAgICAgICAgICBpZih0eXBlb2YoZCkgPT09ICdzdHJpbmcnKQotICAgICAgICAgICAgICAg ICAgICBkPUpTT04ucGFyc2UoZCk7Ci0gICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnNldCh7 Ci0gICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJyA6ICcnLAotICAgICAgICAgICAgICAgICAg ICAncmVsb2NhdGFibGUnOiAoCi0gICAgICAgICAgICAgICAgICAgICAgKCFfLmlzTnVsbChkLnJl bG9jYXRhYmxlWzBdKSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgIV8uaXNVbmRlZmluZWQo ZC5yZWxvY2F0YWJsZVswXSkpID8gZC5yZWxvY2F0YWJsZVswXTogJycKLSAgICAgICAgICAgICAg ICAgICAgKSwKLSAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7 Ci0gICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnNldCh7Ci0gICAgICAgICAgICAgICAgICAg ICd2ZXJzaW9uJzogJycsICdyZWxvY2F0YWJsZSc6IHRydWUsICdzY2hlbWEnOiAnJywKLSAgICAg ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfSwKLSAg ICAgICAgICAgIH0pLAotICAgICAgICAgIH0sCi0gICAgICAgICAgewotICAgICAgICAgICAgaWQ6 ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAg ICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICB9LAotICAg ICAgICAgIHsKLSAgICAgICAgICAgIGlkOiAnb3duZXInLCBsYWJlbDogZ2V0dGV4dCgnT3duZXIn KSwgY29udHJvbDogJ25vZGUtbGlzdC1ieS1uYW1lJywKLSAgICAgICAgICAgIG1vZGU6IFsncHJv cGVydGllcyddLCBub2RlOiAncm9sZScsIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAgY2Fj aGVfbGV2ZWw6ICdzZXJ2ZXInLAotICAgICAgICAgIH0sCi0gICAgICAgICAgewotICAgICAgICAg ICAgaWQ6ICdjb21tZW50JywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgICB0eXBlOiAnbXVsdGlsaW5lJywgcmVhZG9ubHk6IHRydWUsCi0gICAg ICAgICAgfSwKLSAgICAgICAgXSwKLSAgICAgIH0pLAogICAgICAgZ2V0U2NoZW1hOiAodHJlZU5v ZGVJbmZvLCBpdGVtTm9kZURhdGEpPT57CiAgICAgICAgIGxldCBub2RlT2JqID0gcGdBZG1pbi5C cm93c2VyLk5vZGVzWydleHRlbnNpb24nXTsKICAgICAgICAgcmV0dXJuIG5ldyBFeHRlbnNpb25z U2NoZW1hKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvc3Rh dGljL2pzL2ZvcmVpZ25fc2VydmVyLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZl cnMvc3RhdGljL2pzL2ZvcmVpZ25fc2VydmVyLmpzCmluZGV4IDhmMGVkOTVlZi4uNGRjODVhYWUw IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy9zdGF0aWMvanMv Zm9yZWlnbl9zZXJ2ZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMv c3RhdGljL2pzL2ZvcmVpZ25fc2VydmVyLmpzCkBAIC0xMyw5ICsxMyw5IEBAIGltcG9ydCBGb3Jl aWduU2VydmVyU2NoZW1hIGZyb20gJy4vZm9yZWlnbl9zZXJ2ZXIudWknOwogCiBkZWZpbmUoJ3Bn YWRtaW4ubm9kZS5mb3JlaWduX3NlcnZlcicsIFsKICAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3Vy Y2VzL3VybF9mb3InLCAnanF1ZXJ5JywgJ3VuZGVyc2NvcmUnLCAnc291cmNlcy9wZ2FkbWluJywK LSAgJ3BnYWRtaW4uYnJvd3NlcicsICdwZ2FkbWluLmJhY2tmb3JtJywgJ3BnYWRtaW4uYnJvd3Nl ci5jb2xsZWN0aW9uJywKKyAgJ3BnYWRtaW4uYnJvd3NlcicsICdwZ2FkbWluLmJyb3dzZXIuY29s bGVjdGlvbicsCiAgICdwZ2FkbWluLmJyb3dzZXIuc2VydmVyLnByaXZpbGVnZScsCi1dLCBmdW5j dGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3Jt KSB7CitdLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBwZ0FkbWluLCBwZ0Jyb3dz ZXIpIHsKIAogICAvLyBFeHRlbmQgdGhlIGJyb3dzZXIncyBjb2xsZWN0aW9uIGNsYXNzIGZvciBm b3JlaWduIHNlcnZlciBjb2xsZWN0aW9uCiAgIGlmICghcGdCcm93c2VyLk5vZGVzWydjb2xsLWZv cmVpZ25fc2VydmVyJ10pIHsKQEAgLTgyLDQ1ICs4Miw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2Rl LmZvcmVpZ25fc2VydmVyJywgWwogICAgICAgICAgIH0KICAgICAgICAgKTsKICAgICAgIH0sCi0K LSAgICAgIC8vIERlZmluaW5nIG1vZGVsIGZvciBmb3JlaWduIHNlcnZlciBub2RlCi0gICAgICBt b2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRBdHRy aWJ1dGU6ICdvaWQnLAotCi0gICAgICAgIC8vIERlZmF1bHQgdmFsdWVzIQotICAgICAgICBpbml0 aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykgewotICAgICAgICAgIHZhciBpc05ldyA9IChf LnNpemUoYXR0cnMpID09PSAwKTsKLQotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAg ICAgdmFyIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2Vy dmVyLl9pZF0udXNlcjsKLQotICAgICAgICAgICAgdGhpcy5zZXQoeydmc3J2b3duZXInOiB1c2Vy SW5mby5uYW1lfSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgIH0KLSAgICAgICAgICBwZ0Fk bWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBh cmd1bWVudHMpOwotICAgICAgICB9LAotCi0gICAgICAgIC8vIERlZmluaW5nIHNjaGVtYSBmb3Ig dGhlIGZvcmVpZ24gc2VydmVyIG5vZGUKLSAgICAgICAgc2NoZW1hOiBbCi0gICAgICAgICAgewot ICAgICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0 cmluZycsCi0gICAgICAgICAgICB0eXBlOiAndGV4dCcsIGRpc2FibGVkOiBmdW5jdGlvbigpIHsK LSAgICAgICAgICAgICAgcmV0dXJuICgKLSAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPT0gJ2Vk aXQnICYmIHRoaXMubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uIDwgOTAyMDAKLSAgICAgICAgICAg ICAgKTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgfSwgewotICAgICAgICAgICAgaWQ6ICdv aWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAg dHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICB9LCB7Ci0gICAg ICAgICAgICBpZDogJ2ZzcnZvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCB0eXBlOiAn dGV4dCcsCi0gICAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFtZUNvbnRy b2wsIG5vZGU6ICdyb2xlJywKLSAgICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnLCAn cHJvcGVydGllcyddLCBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6IGZhbHNlIH0sCi0gICAgICAgICAg fSwgewotICAgICAgICAgICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21t ZW50JyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAgdHlwZTogJ211bHRpbGluZScsCi0g ICAgICAgICAgfSwKLSAgICAgICAgXSwKLSAgICAgIH0pLAogICAgIH0pOwogCiAgIH0KZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvc3RhdGljL2pzL2ZvcmVpZ25fZGF0YV93cmFwcGVyLmpz IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Zv cmVpZ25fZGF0YV93cmFwcGVycy9zdGF0aWMvanMvZm9yZWlnbl9kYXRhX3dyYXBwZXIuanMKaW5k ZXggNWM1YmUzYzg1Li5iNDViZTgxODcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvc3Rh dGljL2pzL2ZvcmVpZ25fZGF0YV93cmFwcGVyLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvc3Rh dGljL2pzL2ZvcmVpZ25fZGF0YV93cmFwcGVyLmpzCkBAIC0xMiwxMCArMTIsMTAgQEAgaW1wb3J0 IHsgZ2V0Tm9kZVByaXZpbGVnZVJvbGVTY2hlbWEgfSBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMv anMvcHJpdmlsZWdlLnVpJzsKIGltcG9ydCBGb3JlaWduRGF0YVdyYXBwZXJTY2hlbWEgZnJvbSAn Li9mb3JlaWduX2RhdGFfd3JhcHBlci51aSc7CiAKIGRlZmluZSgncGdhZG1pbi5ub2RlLmZvcmVp Z25fZGF0YV93cmFwcGVyJywgWwotICAnc291cmNlcy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2Zv cicsICdqcXVlcnknLCAndW5kZXJzY29yZScsCi0gICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1p bi5icm93c2VyJywgJ3BnYWRtaW4uYmFja2Zvcm0nLAorICAnc291cmNlcy9nZXR0ZXh0JywgJ3Nv dXJjZXMvdXJsX2ZvcicsICdqcXVlcnknLAorICAnc291cmNlcy9wZ2FkbWluJywgJ3BnYWRtaW4u YnJvd3NlcicsCiAgICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbicsICdwZ2FkbWluLmJyb3dz ZXIuc2VydmVyLnByaXZpbGVnZScsCi1dLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBf LCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtKSB7CitdLCBmdW5jdGlvbihnZXR0ZXh0LCB1 cmxfZm9yLCAkLCBwZ0FkbWluLCBwZ0Jyb3dzZXIpIHsKIAogICAvLyBFeHRlbmQgdGhlIGJyb3dz ZXIncyBjb2xsZWN0aW9uIGNsYXNzIGZvciBmb3JlaWduIGRhdGEgd3JhcHBlciBjb2xsZWN0aW9u CiAgIGlmICghcGdCcm93c2VyLk5vZGVzWydjb2xsLWZvcmVpZ25fZGF0YV93cmFwcGVyJ10pIHsK QEAgLTg3LDQ0ICs4Nyw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmZvcmVpZ25fZGF0YV93cmFw cGVyJywgWwogICAgICAgICAgIH0KICAgICAgICAgKTsKICAgICAgIH0sCi0KLSAgICAgIC8vIERl ZmluaW5nIG1vZGVsIGZvciBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCi0gICAgICBtb2RlbDog cGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQn LAotCi0gICAgICAgIC8vIERlZmF1bHQgdmFsdWVzIQotICAgICAgICBpbml0aWFsaXplOiBmdW5j dGlvbihhdHRycywgYXJncykgewotICAgICAgICAgIHZhciBpc05ldyA9IChfLnNpemUoYXR0cnMp ID09PSAwKTsKLQotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAgICAgdmFyIHVzZXJJ bmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2VydmVyLl9pZF0udXNl cjsKLQotICAgICAgICAgICAgdGhpcy5zZXQoeydmZHdvd25lcic6IHVzZXJJbmZvLm5hbWV9LCB7 c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHBnQnJvd3Nlci5Ob2RlLk1v ZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Ci0gICAgICAg IH0sCi0KLSAgICAgICAgLy8gRGVmaW5pbmcgc2NoZW1hIGZvciB0aGUgZm9yZWlnbiBkYXRhIHdy YXBwZXIgbm9kZQotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFi ZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3Rl eHQnLCByZWFkb25seTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAvLyBuYW1lIGZpZWxkIHdp bGwgYmUgZGlzYWJsZWQgb25seSBpZiBlZGl0IG1vZGUKLSAgICAgICAgICAgIHJldHVybiAoCi0g ICAgICAgICAgICAgIHRoaXMubW9kZSA9PSAnZWRpdCcKLSAgICAgICAgICAgICk7Ci0gICAgICAg ICAgfSwKLSAgICAgICAgfSwgewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQo J09JRCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsn cHJvcGVydGllcyddLAotICAgICAgICB9LCB7Ci0gICAgICAgICAgaWQ6ICdmZHdvd25lcicsIGxh YmVsOiBnZXR0ZXh0KCdPd25lcicpLCB0eXBlOiAndGV4dCcsCi0gICAgICAgICAgY29udHJvbDog QmFja2Zvcm0uTm9kZUxpc3RCeU5hbWVDb250cm9sLCBub2RlOiAncm9sZScsCi0gICAgICAgICAg bW9kZTogWydlZGl0JywgJ2NyZWF0ZScsICdwcm9wZXJ0aWVzJ10sIHNlbGVjdDI6IHsgYWxsb3dD bGVhcjogZmFsc2UgfSwKLSAgICAgICAgfSwgewotICAgICAgICAgIGlkOiAnZGVzY3JpcHRpb24n LCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0 eXBlOiAnbXVsdGlsaW5lJywKLSAgICAgICAgfV0sCi0gICAgICB9KSwKICAgICB9KTsKICAgfQog CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvbGFuZ3VhZ2VzL3N0YXRpYy9qcy9sYW5ndWFnZS5qcyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9sYW5ndWFnZXMvc3RhdGljL2pz L2xhbmd1YWdlLmpzCmluZGV4IGFhYWJlNzM0ZC4uNTZkYzY3MGExIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2Vz L3N0YXRpYy9qcy9sYW5ndWFnZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2VzL3N0YXRpYy9qcy9sYW5ndWFnZS5qcwpA QCAtMTAsMTMgKzEwLDEyIEBACiBpbXBvcnQgeyBnZXROb2RlQWpheE9wdGlvbnMsIGdldE5vZGVM aXN0QnlOYW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3RhdGljL2pzL25vZGVfYWpheCc7 CiBpbXBvcnQgTGFuZ3VhZ2VTY2hlbWEgZnJvbSAnLi9sYW5ndWFnZS51aSc7CiBpbXBvcnQgeyBn ZXROb2RlUHJpdmlsZWdlUm9sZVNjaGVtYSB9IGZyb20gJy4uLy4uLy4uLy4uL3N0YXRpYy9qcy9w cml2aWxlZ2UudWknOwotaW1wb3J0IF8gZnJvbSAnbG9kYXNoJzsKIAogZGVmaW5lKCdwZ2FkbWlu Lm5vZGUubGFuZ3VhZ2UnLCBbCiAgICdzb3VyY2VzL2dldHRleHQnLCAnc291cmNlcy91cmxfZm9y JywgJ2pxdWVyeScsCi0gICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2VyJywgJ3Bn YWRtaW4uYmFja2Zvcm0nLAorICAnc291cmNlcy9wZ2FkbWluJywgJ3BnYWRtaW4uYnJvd3Nlcics CiAgICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbicsICdwZ2FkbWluLmJyb3dzZXIuc2VydmVy LnByaXZpbGVnZScsCi1dLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBwZ0FkbWluLCBw Z0Jyb3dzZXIsIEJhY2tmb3JtKSB7CitdLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBw Z0FkbWluLCBwZ0Jyb3dzZXIpIHsKIAogICAvLyBFeHRlbmQgdGhlIGJyb3dzZXIncyBjb2xsZWN0 aW9uIGNsYXNzIGZvciBsYW5ndWFnZXMgY29sbGVjdGlvbgogICBpZiAoIXBnQnJvd3Nlci5Ob2Rl c1snY29sbC1sYW5ndWFnZSddKSB7CkBAIC03MSwzNyArNzAsNiBAQCBkZWZpbmUoJ3BnYWRtaW4u bm9kZS5sYW5ndWFnZScsIFsKICAgICAgICAgfV0pOwogICAgICAgfSwKIAotICAgICAgLy8gRGVm aW5lIHRoZSBtb2RlbCBmb3IgbGFuZ3VhZ2Ugbm9kZQotICAgICAgbW9kZWw6IHBnQnJvd3Nlci5O b2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLSAgICAgICAg aW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcg PSAoXy5zaXplKGF0dHJzKSA9PT0gMCk7Ci0gICAgICAgICAgaWYgKGlzTmV3KSB7Ci0gICAgICAg ICAgICB2YXIgdXNlckluZm8gPSBwZ0Jyb3dzZXIuc2VydmVySW5mb1thcmdzLm5vZGVfaW5mby5z ZXJ2ZXIuX2lkXS51c2VyOwotCi0gICAgICAgICAgICB0aGlzLnNldCh7J2xhbm93bmVyJzogdXNl ckluZm8ubmFtZX0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcGdC cm93c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1l bnRzKTsKLSAgICAgICAgfSwKLQotICAgICAgICAvLyBEZWZpbmUgdGhlIHNjaGVtYSBmb3IgdGhl IGxhbmd1YWdlIG5vZGUKLSAgICAgICAgc2NoZW1hOiBbewotICAgICAgICAgIGlkOiAnbmFtZScs IGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgICBtb2RlOiBb J3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdvaWQnLCBsYWJlbDog Z2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAg ICAgICAgICB0eXBlOiAndGV4dCcsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnbGFub3du ZXInLCBsYWJlbDogZ2V0dGV4dCgnT3duZXInKSwgdHlwZTogJ3RleHQnLAotICAgICAgICAgIGNv bnRyb2w6IEJhY2tmb3JtLk5vZGVMaXN0QnlOYW1lQ29udHJvbCwgbm9kZTogJ3JvbGUnLAotICAg ICAgICAgIG1vZGU6IFsnZWRpdCcsICdwcm9wZXJ0aWVzJywgJ2NyZWF0ZSddLCBzZWxlY3QyOiB7 IGFsbG93Q2xlYXI6IGZhbHNlIH0sCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICBp ZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScsCi0gICAgICAgIH0sCi0gICAgICAgIF0s Ci0gICAgICB9KSwKIAogICAgICAgZ2V0U2NoZW1hOiBmdW5jdGlvbih0cmVlTm9kZUluZm8sIGl0 ZW1Ob2RlRGF0YSl7CiAgICAgICAgIHJldHVybiBuZXcgTGFuZ3VhZ2VTY2hlbWEoCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv cHVibGljYXRpb25zL3N0YXRpYy9qcy9wdWJsaWNhdGlvbi5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlvbnMvc3RhdGljL2pz L3B1YmxpY2F0aW9uLmpzCmluZGV4IGI3NjcwNTdjZC4uNjk3ZGRmMjY1IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGlj YXRpb25zL3N0YXRpYy9qcy9wdWJsaWNhdGlvbi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL3N0YXRpYy9qcy9w dWJsaWNhdGlvbi5qcwpAQCAtMTIsOSArMTIsOSBAQCBpbXBvcnQgUHVibGljYXRpb25TY2hlbWEg ZnJvbSAnLi9wdWJsaWNhdGlvbi51aSc7CiAKIGRlZmluZSgncGdhZG1pbi5ub2RlLnB1YmxpY2F0 aW9uJywgWwogICAnc291cmNlcy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2ZvcicsICdqcXVlcnkn LCAndW5kZXJzY29yZScsCi0gICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2VyJywg J3BnYWRtaW4uYmFja2Zvcm0nLAorICAnc291cmNlcy9wZ2FkbWluJywgJ3BnYWRtaW4uYnJvd3Nl cicsCiAgICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbicsICdwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyLnByaXZpbGVnZScsCi1dLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBwZ0Fk bWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtKSB7CitdLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9y LCAkLCBfLCBwZ0FkbWluLCBwZ0Jyb3dzZXIpIHsKIAogICAvLyBFeHRlbmQgdGhlIGJyb3dzZXIn cyBjb2xsZWN0aW9uIGNsYXNzIGZvciBwdWJsaWNhdGlvbnMgY29sbGVjdGlvbgogICBpZiAoIXBn QnJvd3Nlci5Ob2Rlc1snY29sbC1wdWJsaWNhdGlvbiddKSB7CkBAIC0yMyw3ICsyMyw3IEBAIGRl ZmluZSgncGdhZG1pbi5ub2RlLnB1YmxpY2F0aW9uJywgWwogICAgICAgICBub2RlOiAncHVibGlj YXRpb24nLAogICAgICAgICBsYWJlbDogZ2V0dGV4dCgnUHVibGljYXRpb25zJyksCiAgICAgICAg IHR5cGU6ICdjb2xsLXB1YmxpY2F0aW9uJywKLSAgICAgICAgY29sdW1uczogWyduYW1lJywgJ3B1 Ym93bmVyJywgJ3B1YnRhYmxlJywgJ2FsbF90YWJsZSddLAorICAgICAgICBjb2x1bW5zOiBbJ25h bWUnLCAncHVib3duZXInLCAncHJvcHRhYmxlJywgJ2FsbF90YWJsZSddLAogCiAgICAgICB9KTsK ICAgfQpAQCAtNzAsODIgKzcwLDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUucHVibGljYXRpb24n LCBbCiAgICAgICAgICAgaWNvbjogJ3djVGFiSWNvbiBpY29uLXB1YmxpY2F0aW9uJywgZGF0YTog e2FjdGlvbjogJ2NyZWF0ZSd9LAogICAgICAgICB9XSk7CiAgICAgICB9LAotICAgICAgLy8gRGVm aW5lIHRoZSBtb2RlbCBmb3IgcHVibGljYXRpb24gbm9kZQotICAgICAgbW9kZWw6IHBnQnJvd3Nl ci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKIAotICAg ICAgICAvLyBEZWZhdWx0IHZhbHVlcyEKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0 cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9PT0gMCk7 Ci0gICAgICAgICAgaWYgKGlzTmV3KSB7Ci0gICAgICAgICAgICB2YXIgdXNlckluZm8gPSBwZ0Jy b3dzZXIuc2VydmVySW5mb1thcmdzLm5vZGVfaW5mby5zZXJ2ZXIuX2lkXS51c2VyOwotCi0gICAg ICAgICAgICB0aGlzLnNldCh7J3B1Ym93bmVyJzogdXNlckluZm8ubmFtZX0sIHtzaWxlbnQ6IHRy dWV9KTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcGdCcm93c2VyLk5vZGUuTW9kZWwucHJvdG90 eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgfSwKLQotICAg ICAgICAvLyBEZWZpbmUgdGhlIHNjaGVtYSBmb3IgdGhlIHB1YmxpY2F0aW9uIG5vZGUKLSAgICAg ICAgc2NoZW1hOiBbewotICAgICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1l JyksIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRl JywgJ2VkaXQnXSwKLSAgICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg IGlmKCFfLmlzVW5kZWZpbmVkKHRoaXMubm9kZV9pbmZvKSAmJiAhXy5pc1VuZGVmaW5lZCh0aGlz Lm5vZGVfaW5mby5zZXJ2ZXIpCi0gICAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVkKHRoaXMu bm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uKSAmJgotICAgICAgICAgICAgICAgIHRoaXMubm9kZV9p bmZvLnNlcnZlci52ZXJzaW9uID49IDEwMDAwMCkgewotICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICB9 LAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQn KSwgY2VsbDogJ3N0cmluZycsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICAgIHR5cGU6 ICd0ZXh0JywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdwdWJvd25lcicsIGxhYmVsOiBn ZXR0ZXh0KCdPd25lcicpLCB0eXBlOiAndGV4dCcsCi0gICAgICAgICAgY29udHJvbDogQmFja2Zv cm0uTm9kZUxpc3RCeU5hbWVDb250cm9sLCBub2RlOiAncm9sZScsCi0gICAgICAgICAgZGlzYWJs ZWQ6IGZ1bmN0aW9uKG0pewotICAgICAgICAgICAgaWYobS5pc05ldygpKQotICAgICAgICAgICAg ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICB9LAot ICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdwcm9wZXJ0aWVzJywgJ2NyZWF0ZSddLCBzZWxlY3Qy OiB7IGFsbG93Q2xlYXI6IGZhbHNlfSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdhbGxf dGFibGUnLCBsYWJlbDogZ2V0dGV4dCgnQWxsIHRhYmxlcz8nKSwgdHlwZTogJ3N3aXRjaCcsCi0g ICAgICAgICAgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwgbW9kZTogWydlZGl0JywgJ3By b3BlcnRpZXMnLCAnY3JlYXRlJ10sIGRlcHM6IFsnbmFtZSddLAotICAgICAgICAgIHJlYWRvbmx5 OiBmdW5jdGlvbihtKSB7cmV0dXJuICFtLmlzTmV3KCk7fSwKLSAgICAgICAgfSwKLSAgICAgICAg ewotICAgICAgICAgIGlkOiAncHVidGFibGUnLCBsYWJlbDogZ2V0dGV4dCgnVGFibGVzJyksIHR5 cGU6ICd0ZXh0JywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKLSAgICAgICAgICBtb2Rl OiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSwKLSAgICAgICAgXSwKLQotCi0gICAgICAgIC8q IHZhbGlkYXRlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIGlucHV0IGdpdmVuIGJ5 Ci0gICAgICAgICAqIHRoZSB1c2VyLiBJbiBjYXNlIG9mIGVycm9yLCBtZXNzYWdlIHdpbGwgYmUg ZGlzcGxheWVkIG9uCi0gICAgICAgICAqIHRoZSBHVUkgZm9yIHRoZSByZXNwZWN0aXZlIGNvbnRy b2wuCi0gICAgICAgICAqLwotCi0gICAgICAgIHNlc3NDaGFuZ2VkOiBmdW5jdGlvbigpIHsKLSAg ICAgICAgICBpZiAodGhpcy5zZXNzQXR0cnNbJ3B1YnRhYmxlJ10gPT0gJycgJiYgdGhpcy5vcmln U2Vzc0F0dHJzWydwdWJ0YWJsZSddID09ICcnKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot ICAgICAgICAgIHJldHVybiBwZ0Jyb3dzZXIuRGF0YU1vZGVsLnByb3RvdHlwZS5zZXNzQ2hhbmdl ZC5hcHBseSh0aGlzKTsKLSAgICAgICAgfSwKLQotICAgICAgICBjYW5DcmVhdGU6IGZ1bmN0aW9u KGl0ZW1EYXRhLCBpdGVtKSB7Ci0KLSAgICAgICAgICB2YXIgdHJlZURhdGEgPSBwZ0Jyb3dzZXIu dHJlZS5nZXRUcmVlTm9kZUhpZXJhcmNoeShpdGVtKSwKLSAgICAgICAgICAgIHNlcnZlciA9IHRy ZWVEYXRhWydzZXJ2ZXInXTsKLQotICAgICAgICAgIC8vIElmIHNlcnZlciBpcyBsZXNzIHRoYW4g MTAgdGhlbiBkbyBub3QgYWxsb3cgJ2NyZWF0ZScgbWVudQotICAgICAgICAgIGlmIChzZXJ2ZXIg JiYgc2VydmVyLnZlcnNpb24gPCAxMDAwMDApCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0K LSAgICAgICAgICAvLyBieSBkZWZhdWx0IHdlIHdhbnQgdG8gYWxsb3cgY3JlYXRlIG1lbnUKLSAg ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfSwKLQotICAgICAgfSksCiAKICAgICAgIGdl dFNjaGVtYTogZnVuY3Rpb24odHJlZU5vZGVJbmZvLCBpdGVtTm9kZURhdGEpewogICAgICAgICBy ZXR1cm4gbmV3IFB1YmxpY2F0aW9uU2NoZW1hKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3B1YmxpY2F0aW9ucy9zdGF0aWMv anMvcHVibGljYXRpb24udWkuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL3N0YXRpYy9qcy9wdWJsaWNhdGlvbi51aS5q cwppbmRleCA0NmNmYjBlODcuLjU1NzM2ZDRiMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3B1YmxpY2F0aW9ucy9zdGF0aWMv anMvcHVibGljYXRpb24udWkuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3B1YmxpY2F0aW9ucy9zdGF0aWMvanMvcHVibGljYXRpb24u dWkuanMKQEAgLTE0Nyw3ICsxNDcsNyBAQCBleHBvcnQgZGVmYXVsdCBjbGFzcyBQdWJsaWNhdGlv blNjaGVtYSBleHRlbmRzIEJhc2VVSVNjaGVtYSB7CiAgICAgICBncm91cDogZ2V0dGV4dCgnRGVm aW5pdGlvbicpLCBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sCiAgICAgICBkZXBzOiBbJ2FsbF90 YWJsZSddLCBkaXNhYmxlZDogb2JqLmlzQWxsVGFibGUsCiAgICAgfSx7Ci0gICAgICBpZDogJ3B1 YnRhYmxlJywgbGFiZWw6IGdldHRleHQoJ1RhYmxlcycpLCB0eXBlOiAndGV4dCcsIGdyb3VwOiBn ZXR0ZXh0KCdEZWZpbml0aW9uJyksCisgICAgICBpZDogJ3Byb3B0YWJsZScsIGxhYmVsOiBnZXR0 ZXh0KCdUYWJsZXMnKSwgdHlwZTogJ3RleHQnLCBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlvbicp LAogICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJ10sCiAgICAgfSx7CiAgICAgICB0eXBlOiAnbmVz dGVkLWZpZWxkc2V0JywgbW9kZTogWydjcmVhdGUnLCdlZGl0JywgJ3Byb3BlcnRpZXMnXSwKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9wdWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9nZXRf dGFibGVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9wdWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9n ZXRfdGFibGVzLnNxbAppbmRleCA1OGVhYzQ1YTguLjY2OGI0ZWJhNSAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3B1YmxpY2F0 aW9ucy90ZW1wbGF0ZXMvcHVibGljYXRpb25zL3NxbC9kZWZhdWx0L2dldF90YWJsZXMuc3FsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9w dWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9nZXRfdGFibGVz LnNxbApAQCAtMSwzICsxLDYgQEAKIFNFTEVDVCBwZ19jYXRhbG9nLnF1b3RlX2lkZW50KHBnYl90 YWJsZS5zY2hlbWFuYW1lKXx8Jy4nfHxwZ19jYXRhbG9nLnF1b3RlX2lkZW50KHBnYl90YWJsZS50 YWJsZW5hbWUpCi1BUyBwdWJ0YWJsZSAgRlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3Rh YmxlcyBwZ2JfdGFibGUgV0hFUkUgcHVibmFtZSA9ICd7eyBwbmFtZSB9fScKK0FTIHB1YnRhYmxl LAorcGdfY2F0YWxvZy5xdW90ZV9pZGVudChwZ2JfdGFibGUuc2NoZW1hbmFtZSl8fCcuJ3x8cGdf Y2F0YWxvZy5xdW90ZV9pZGVudChwZ2JfdGFibGUudGFibGVuYW1lKQorQVMgcHJvcHRhYmxlCisg IEZST00gcGdfY2F0YWxvZy5wZ19wdWJsaWNhdGlvbl90YWJsZXMgcGdiX3RhYmxlIFdIRVJFIHB1 Ym5hbWUgPSAne3sgcG5hbWUgfX0nCiBBTkQgcGdiX3RhYmxlLnNjaGVtYW5hbWUgTk9UIExJS0Ug J3BnYWdlbnQnOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvYWdncmVnYXRlcy9zdGF0aWMvanMvYWdncmVnYXRl LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvYWdncmVnYXRlcy9zdGF0aWMvanMvYWdncmVnYXRlLmpzCmluZGV4IDI1YzBmMDRm Yy4uZGY4ZDliNGY5IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9hZ2dyZWdhdGVzL3N0YXRpYy9qcy9hZ2dyZWdh dGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvYWdncmVnYXRlcy9zdGF0aWMvanMvYWdncmVnYXRlLmpzCkBAIC00NSwz NyArNDUsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5hZ2dyZWdhdGUnLCBbCiAKICAgICAgICAg dGhpcy5pbml0aWFsaXplZCA9IHRydWU7CiAgICAgICB9LAotICAgICAgbW9kZWw6IHBnQWRtaW4u QnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywK LQotICAgICAgICAvLyBEZWZhdWx0IHZhbHVlcyEKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rp b24oYXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9 PT0gMCk7Ci0KLSAgICAgICAgICBpZiAoaXNOZXcpIHsKLSAgICAgICAgICAgIHZhciB1c2VySW5m byA9IHBnQnJvd3Nlci5zZXJ2ZXJJbmZvW2FyZ3Mubm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7 Ci0gICAgICAgICAgICB2YXIgc2NoZW1hSW5mbyA9IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYTsKLQot ICAgICAgICAgICAgdGhpcy5zZXQoeydvd25lcic6IHVzZXJJbmZvLm5hbWV9LCB7c2lsZW50OiB0 cnVlfSk7Ci0gICAgICAgICAgICB0aGlzLnNldCh7J3NjaGVtYSc6IHNjaGVtYUluZm8uX2xhYmVs fSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgIH0KLSAgICAgICAgICBwZ0FkbWluLkJyb3dz ZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp OwotICAgICAgICB9LAotCi0gICAgICAgIHNjaGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUn LCBsYWJlbDogZ2V0dGV4dCgnQWdncmVnYXRlJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAg IHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0g ICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb3duZXInLCBsYWJlbDogZ2V0dGV4dCgnT3duZXIn KSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3Bl cnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgICBjb250cm9sOiAnbm9kZS1saXN0 LWJ5LW5hbWUnLAotICAgICAgICAgIG5vZGU6ICdyb2xlJywKLSAgICAgICAgfSx7Ci0gICAgICAg ICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIGNlbGw6ICdz dHJpbmcnLAotICAgICAgICAgIHR5cGU6ICdtdWx0aWxpbmUnLCBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgfQotICAgICAgICBdLAotICAgICAgfSksCiAg ICAgICBnZXRTY2hlbWE6ICgpPT57CiAgICAgICAgIHJldHVybiBuZXcgQWdncmVnYXRlU2NoZW1h KCk7CiAgICAgICB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jYXRhbG9nX29iamVjdHMvY29sdW1ucy9zdGF0 aWMvanMvY2F0YWxvZ19vYmplY3RfY29sdW1uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY2F0YWxvZ19vYmplY3RzL2NvbHVt bnMvc3RhdGljL2pzL2NhdGFsb2dfb2JqZWN0X2NvbHVtbi5qcwppbmRleCA4Nzg1ZDE0N2EuLmUx MTUyZWIyMiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY2F0YWxvZ19vYmplY3RzL2NvbHVtbnMvc3RhdGljL2pz L2NhdGFsb2dfb2JqZWN0X2NvbHVtbi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jYXRhbG9nX29iamVjdHMvY29sdW1u cy9zdGF0aWMvanMvY2F0YWxvZ19vYmplY3RfY29sdW1uLmpzCkBAIC00NSwzMiArNDUsNiBAQCBk ZWZpbmUoJ3BnYWRtaW4ubm9kZS5jYXRhbG9nX29iamVjdF9jb2x1bW4nLCBbCiAgICAgICAgIGdl dFNjaGVtYTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgcmV0dXJuIG5ldyBDYXRhbG9nT2JqZWN0 Q29sdW1uU2NoZW1hKCk7CiAgICAgICAgIH0sCi0gICAgICAgIG1vZGVsOiBwZ0FkbWluLkJyb3dz ZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICAgIGRlZmF1bHRzOiB7Ci0gICAgICAgICAg ICBhdHRuYW1lOiB1bmRlZmluZWQsCi0gICAgICAgICAgICBhdHRvd25lcjogdW5kZWZpbmVkLAot ICAgICAgICAgICAgYXR0dHlwaWQ6IHVuZGVmaW5lZCwKLSAgICAgICAgICAgIGF0dG51bTogdW5k ZWZpbmVkLAotICAgICAgICAgICAgY2x0eXBlOiB1bmRlZmluZWQsCi0gICAgICAgICAgICBjb2xs c3BjbmFtZTogdW5kZWZpbmVkLAotICAgICAgICAgICAgYXR0YWNsOiB1bmRlZmluZWQsCi0gICAg ICAgICAgICBpc19zeXNfb2JqOiB1bmRlZmluZWQsCi0gICAgICAgICAgICBkZXNjcmlwdGlvbjog dW5kZWZpbmVkLAotICAgICAgICAgIH0sCi0gICAgICAgICAgc2NoZW1hOiBbewotICAgICAgICAg ICAgaWQ6ICdhdHRuYW1lJywgbGFiZWw6IGdldHRleHQoJ0NvbHVtbicpLCBjZWxsOiAnc3RyaW5n JywKLSAgICAgICAgICAgIHR5cGU6ICd0ZXh0JywgcmVhZG9ubHk6IHRydWUsCi0gICAgICAgICAg fSx7Ci0gICAgICAgICAgICBpZDogJ2F0dG51bScsIGxhYmVsOiBnZXR0ZXh0KCdQb3NpdGlvbicp LCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICAgIHR5cGU6ICd0ZXh0JywgcmVhZG9ubHk6IHRy dWUsCi0gICAgICAgICAgfSx7Ci0gICAgICAgICAgICBpZDogJ2NsdHlwZScsIGxhYmVsOiBnZXR0 ZXh0KCdEYXRhIHR5cGUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgICBncm91cDogZ2V0 dGV4dCgnRGVmaW5pdGlvbicpLCB0eXBlOiAndGV4dCcsIHJlYWRvbmx5OiB0cnVlLAotICAgICAg ICAgIH0sewotICAgICAgICAgICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdD b21tZW50JyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAgdHlwZTogJ211bHRpbGluZScs IHJlYWRvbmx5OiB0cnVlLAotICAgICAgICAgIH1dLAotICAgICAgICB9KSwKICAgICAgIH0pOwog ICB9CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NhdGFsb2dfb2JqZWN0cy9zdGF0aWMvanMvY2F0YWxvZ19v YmplY3QuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9jYXRhbG9nX29iamVjdHMvc3RhdGljL2pzL2NhdGFsb2dfb2JqZWN0Lmpz CmluZGV4IDA2NzUzYTQyNy4uZGFjNDY3MjFhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jYXRhbG9nX29iamVj dHMvc3RhdGljL2pzL2NhdGFsb2dfb2JqZWN0LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NhdGFsb2dfb2JqZWN0cy9z dGF0aWMvanMvY2F0YWxvZ19vYmplY3QuanMKQEAgLTQzLDMxICs0Myw2IEBAIGRlZmluZSgncGdh ZG1pbi5ub2RlLmNhdGFsb2dfb2JqZWN0JywgWwogCiAgICAgICB9LAogICAgICAgZ2V0U2NoZW1h OiAoKT0+bmV3IENhdGFsb2dPYmplY3RTY2hlbWEoKSwKLSAgICAgIC8qIEZldyBmaWVsZHMgYXJl IGtlcHQgc2luY2UgdGhlIHByb3BlcnRpZXMgdGFiIGZvciBjb2xsZWN0aW9uIGlzIG5vdAotICAg ICAgeWV0IG1pZ3JhdGVkIHRvIG5ldyByZWFjdCBzY2hlbWEuIE9uY2UgdGhlIHByb3BlcnRpZXMg Zm9yIGNvbGxlY3Rpb24KLSAgICAgIGlzIHJlbW92ZWQsIHJlbW92ZSB0aGlzIG1vZGVsICovCi0g ICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAg ZGVmYXVsdHM6IHsKLSAgICAgICAgICBuYW1lOiB1bmRlZmluZWQsCi0gICAgICAgICAgbmFtZXNw YWNlb3duZXI6IHVuZGVmaW5lZCwKLSAgICAgICAgICBuc3BhY2w6IHVuZGVmaW5lZCwKLSAgICAg ICAgICBkZXNjcmlwdGlvbjogdW5kZWZpbmVkLAotICAgICAgICB9LAotICAgICAgICBzY2hlbWE6 IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDog J3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCByZWFkb25seTogdHJ1ZSwKLSAgICAg ICAgfSx7Ci0gICAgICAgICAgaWQ6ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6 ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgfSx7Ci0gICAgICAg ICAgaWQ6ICdvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCBjZWxsOiAnc3RyaW5nJywK LSAgICAgICAgICB0eXBlOiAndGV4dCcsIHJlYWRvbmx5OiB0cnVlLAotICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2Vs bDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScgLCAgcmVhZG9ubHk6IHRy dWUsCi0gICAgICAgIH0sCi0gICAgICAgIF0sCi0gICAgICB9KSwKIAogICAgIH0pOwogCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9jb2xsYXRpb25zL3N0YXRpYy9qcy9jb2xsYXRpb24uanMgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRp b25zL3N0YXRpYy9qcy9jb2xsYXRpb24uanMKaW5kZXggNTg2ZjQxMGJjLi40ZDNkZmYxMzIgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvc3RhdGljL2pzL2NvbGxhdGlvbi5qcworKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9j b2xsYXRpb25zL3N0YXRpYy9qcy9jb2xsYXRpb24uanMKQEAgLTY5LDQyICs2OSw2IEBAIGRlZmlu ZSgncGdhZG1pbi5ub2RlLmNvbGxhdGlvbicsIFsKICAgICAgICAgXSk7CiAKICAgICAgIH0sCi0g ICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAg aWRBdHRyaWJ1dGU6ICdvaWQnLAotCi0gICAgICAgIC8vIERlZmF1bHQgdmFsdWVzIQotICAgICAg ICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykgewotICAgICAgICAgIHZhciBpc05l dyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKLQotICAgICAgICAgIGlmIChpc05ldykgewotICAg ICAgICAgICAgdmFyIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2lu Zm8uc2VydmVyLl9pZF0udXNlcjsKLSAgICAgICAgICAgIHZhciBzY2hlbWFJbmZvID0gYXJncy5u b2RlX2luZm8uc2NoZW1hOwotCi0gICAgICAgICAgICB0aGlzLnNldCh7J293bmVyJzogdXNlcklu Zm8ubmFtZX0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsnc2NoZW1h Jzogc2NoZW1hSW5mby5fbGFiZWx9LCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAg ICAgICAgIHBnQWRtaW4uQnJvd3Nlci5Ob2RlLk1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFw cGx5KHRoaXMsIGFyZ3VtZW50cyk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgc2NoZW1hOiBbewot ICAgICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdzdHJp bmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0 ZScsICdlZGl0J10sCi0gICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScsCi0gICAgICAgIH0s ewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQoJ09JRCcpLCBjZWxsOiAnc3Ry aW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcgLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAg ICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicp LCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVy dGllcycsICdjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEn LCBjb250cm9sOiAnbm9kZS1saXN0LWJ5LW5hbWUnLAotICAgICAgICAgIG5vZGU6ICdyb2xlJywK LSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0 KCdDb21tZW50JyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICdtdWx0aWxpbmUn LCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgICBkaXNh YmxlZDogJ2luU2NoZW1hJywKLSAgICAgICAgfQotICAgICAgICBdLAotICAgICAgfSksCiAgICAg ICBnZXRTY2hlbWE6ICh0cmVlTm9kZUluZm8sIGl0ZW1Ob2RlRGF0YSk9PnsKICAgICAgICAgbGV0 IG5vZGVPYmogPSBwZ0FkbWluLkJyb3dzZXIuTm9kZXNbJ2NvbGxhdGlvbiddOwogICAgICAgICBy ZXR1cm4gbmV3IENvbGxhdGlvblNjaGVtYSgKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMvZG9tYWlu X2NvbnN0cmFpbnRzL3N0YXRpYy9qcy9kb21haW5fY29uc3RyYWludHMuanMgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5z L2RvbWFpbl9jb25zdHJhaW50cy9zdGF0aWMvanMvZG9tYWluX2NvbnN0cmFpbnRzLmpzCmluZGV4 IDY3ZjIzZTVjYS4uNGM2NTk0ZGRiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL2RvbWFpbl9jb25z dHJhaW50cy9zdGF0aWMvanMvZG9tYWluX2NvbnN0cmFpbnRzLmpzCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMv ZG9tYWluX2NvbnN0cmFpbnRzL3N0YXRpYy9qcy9kb21haW5fY29uc3RyYWludHMuanMKQEAgLTc1 LDQzICs3NSw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmRvbWFpbl9jb25zdHJhaW50cycsIFsK ICAgICAgIGdldFNjaGVtYTogZnVuY3Rpb24oKSB7CiAgICAgICAgIHJldHVybiBuZXcgRG9tYWlu Q29uc3RyYWludFNjaGVtYSgpOwogICAgICAgfSwKLQotICAgICAgbW9kZWw6IHBnQWRtaW4uQnJv d3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLSAg ICAgICAgLy8gRG9tYWluIENvbnN0cmFpbnQgU2NoZW1hCi0gICAgICAgIHNjaGVtYTogW3sKLSAg ICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCB0eXBlOid0ZXh0Jywg Y2VsbDonc3RyaW5nJywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdkZXNjcmlwdGlvbics IGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIHR5cGU6ICdtdWx0aWxpbmUnLCBjZWxsOgotICAg ICAgICAgICdzdHJpbmcnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwg bWluX3ZlcnNpb246IDkwNTAwLAotICAgICAgICB9XSwKLSAgICAgICAgLy8gQ2xpZW50IFNpZGUg VmFsaWRhdGlvbgotICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgdmFy IGVyciA9IHt9LAotICAgICAgICAgICAgZXJybXNnOwotCi0gICAgICAgICAgaWYgKF8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ25hbWUnKSkgfHwgU3RyaW5nKHRoaXMuZ2V0KCduYW1lJykpLnJlcGxh Y2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnbmFtZSddID0g Z2V0dGV4dCgnTmFtZSBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICBlcnJtc2cgPSBl cnJbJ25hbWUnXTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0 aGlzLmdldCgnY29uc3JjJykpIHx8IFN0cmluZyh0aGlzLmdldCgnY29uc3JjJykpLnJlcGxhY2Uo L15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnY29uc3JjJ10gPSBn ZXR0ZXh0KCdDaGVjayBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICBlcnJtc2cgPSBl cnJtc2cgfHwgZXJyWydjb25zcmMnXTsKLQotICAgICAgICAgIH0KLQotICAgICAgICAgIHRoaXMu ZXJyb3JNb2RlbC5jbGVhcigpLnNldChlcnIpOwotCi0gICAgICAgICAgaWYgKF8uc2l6ZShlcnIp KSB7Ci0gICAgICAgICAgICB0aGlzLnRyaWdnZXIoJ29uLXN0YXR1cycsIHttc2c6IGVycm1zZ30p OwotICAgICAgICAgICAgcmV0dXJuIGVycm1zZzsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBy ZXR1cm4gbnVsbDsKLQotICAgICAgICB9LAotICAgICAgfSksCiAgICAgfSk7CiAgIH0KIApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZG9tYWlucy9zdGF0aWMvanMvZG9tYWluLmpzIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9zdGF0 aWMvanMvZG9tYWluLmpzCmluZGV4IGExNGZiZjM5NS4uOGIyYjM2MWY5IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9kb21haW5zL3N0YXRpYy9qcy9kb21haW4uanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9zdGF0aWMvanMv ZG9tYWluLmpzCkBAIC05OCwzOCArOTgsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5kb21haW4n LCBbCiAgICAgICAgICAgfQogICAgICAgICApOwogICAgICAgfSwKLQotICAgICAgLy8gRG9tYWlu IE5vZGUgTW9kZWwKLSAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewot ICAgICAgICBpZEF0dHJpYnV0ZTogJ29pZCcsCi0gICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9u KGF0dHJzLCBhcmdzKSB7Ci0gICAgICAgICAgdmFyIGlzTmV3ID0gKF8uc2l6ZShhdHRycykgPT09 IDApOwotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAgICAgLy8gU2V0IFNlbGVjdGVk IFNjaGVtYQotICAgICAgICAgICAgdmFyIHNjaGVtYSA9IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYS5s YWJlbDsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsnYmFzZW5zcCc6IHNjaGVtYX0sIHtzaWxlbnQ6 IHRydWV9KTsKLQotICAgICAgICAgICAgLy8gU2V0IEN1cnJlbnQgVXNlcgotICAgICAgICAgICAg dmFyIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2VydmVy Ll9pZF0udXNlcjsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsnb3duZXInOiB1c2VySW5mby5uYW1l fSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgIH0KLSAgICAgICAgICBwZ0Jyb3dzZXIuTm9k ZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwotICAg ICAgICB9LAotICAgICAgICAvLyBEb21haW4gU2NoZW1hCi0gICAgICAgIHNjaGVtYTogW3sKLSAg ICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5n JywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUn LCAnZWRpdCddLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0 ZXh0KCdPSUQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnICwgbW9k ZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb3duZXInLCBs YWJlbDogZ2V0dGV4dCgnT3duZXInKSwgY2VsbDogJ3N0cmluZycsIGNvbnRyb2w6IEJhY2tmb3Jt Lk5vZGVMaXN0QnlOYW1lQ29udHJvbCwKLSAgICAgICAgICBub2RlOiAncm9sZScsICB0eXBlOiAn dGV4dCcsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnLCAncHJvcGVydGllcyddLAotICAgICAgICB9 LHsKLSAgICAgICAgICBpZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQn KSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScsCi0gICAgICAg IH1dLAotICAgICAgfSksCiAgICAgfSk7CiAKICAgfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90 YWJsZXMvc3RhdGljL2pzL2ZvcmVpZ25fdGFibGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy9zdGF0 aWMvanMvZm9yZWlnbl90YWJsZS5qcwppbmRleCA4ZTYwNTk0ODYuLjNhZmZkZWVmYiAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvc3RhdGljL2pzL2ZvcmVpZ25fdGFibGUuanMKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9yZWlnbl90YWJsZXMvc3RhdGljL2pzL2ZvcmVpZ25fdGFibGUuanMKQEAgLTEwLDE1ICsx MCwxNiBAQCBpbXBvcnQgeyBnZXROb2RlTGlzdEJ5TmFtZSwgZ2V0Tm9kZUFqYXhPcHRpb25zIH0g ZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3RhdAogaW1wb3J0IHsgZ2V0Tm9kZVZhcmlhYmxl U2NoZW1hIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3RhdGljL2pzL3ZhcmlhYmxlLnVpJzsKIGlt cG9ydCB7IGdldE5vZGVQcml2aWxlZ2VSb2xlU2NoZW1hIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4v c3RhdGljL2pzL3ByaXZpbGVnZS51aSc7CiBpbXBvcnQgRm9yZWlnblRhYmxlU2NoZW1hIGZyb20g Jy4vZm9yZWlnbl90YWJsZS51aSc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOwogCiAvKiBDcmVh dGUgYW5kIFJlZ2lzdGVyIEZvcmVpZ24gVGFibGUgQ29sbGVjdGlvbiBhbmQgTm9kZS4gKi8KIGRl ZmluZSgncGdhZG1pbi5ub2RlLmZvcmVpZ25fdGFibGUnLCBbCi0gICdzb3VyY2VzL2dldHRleHQn LCAnc291cmNlcy91cmxfZm9yJywgJ2pxdWVyeScsICd1bmRlcnNjb3JlJywgJ2JhY2tib25lJywK LSAgJ3NvdXJjZXMvcGdhZG1pbicsICdwZ2FkbWluLmJyb3dzZXInLCAncGdhZG1pbi5iYWNrZm9y bScsICdwZ2FkbWluLmJhY2tncmlkJywKKyAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3VyY2VzL3Vy bF9mb3InLCAnanF1ZXJ5JywgJ2JhY2tib25lJywKKyAgJ3NvdXJjZXMvcGdhZG1pbicsICdwZ2Fk bWluLmJyb3dzZXInLCAncGdhZG1pbi5iYWNrZ3JpZCcsCiAgICdwZ2FkbWluLm5vZGUuc2NoZW1h LmRpci9jaGlsZCcsICdwZ2FkbWluLm5vZGUuc2NoZW1hLmRpci9zY2hlbWFfY2hpbGRfdHJlZV9u b2RlJywKICAgJ3BnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uJywKIF0sIGZ1bmN0aW9uKAotICBn ZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBCYWNrYm9uZSwgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNr Zm9ybSwgQmFja2dyaWQsCisgIGdldHRleHQsIHVybF9mb3IsICQsIEJhY2tib25lLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIEJhY2tncmlkLAogICBzY2hlbWFDaGlsZCwgc2NoZW1hQ2hpbGRUcmVlTm9k ZQogKSB7CiAKQEAgLTM0LDQ2NSArMzUsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5mb3JlaWdu X3RhYmxlJywgWwogICAgICAgfSk7CiAgIH0KIAotICAvLyBPcHRpb25zIE1vZGVsCi0gIHZhciBD b2x1bW5PcHRpb25zTW9kZWwgPSBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgIGlk QXR0cmlidXRlOiAnb3B0aW9uJywKLSAgICBkZWZhdWx0czogewotICAgICAgb3B0aW9uOiB1bmRl ZmluZWQsCi0gICAgICB2YWx1ZTogdW5kZWZpbmVkLAotICAgIH0sCi0gICAgc2NoZW1hOiBbCi0g ICAgICB7aWQ6ICdvcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgnT3B0aW9uJyksIHR5cGU6J3RleHQn LCBlZGl0YWJsZTogdHJ1ZSwgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzMwJ30s Ci0gICAgICB7Ci0gICAgICAgIGlkOiAndmFsdWUnLCBsYWJlbDogZ2V0dGV4dCgnVmFsdWUnKSwg dHlwZTogJ3RleHQnLCBlZGl0YWJsZTogdHJ1ZSwgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9w ZXJjZW50XzUwJywKLSAgICAgIH0sCi0gICAgXSwKLSAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7 Ci0gICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgndmFsdWUnKSkgfHwKLSAgICAgICAg ICBfLmlzTnVsbCh0aGlzLmdldCgndmFsdWUnKSkgfHwKLSAgICAgICAgICBTdHJpbmcodGhpcy5n ZXQoJ3ZhbHVlJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAg dmFyIG1zZyA9ICdQbGVhc2UgZW50ZXIgYSB2YWx1ZS4nOwotCi0gICAgICAgIHRoaXMuZXJyb3JN b2RlbC5zZXQoJ3ZhbHVlJywgbXNnKTsKLQotICAgICAgICByZXR1cm4gbXNnOwotICAgICAgfSBl bHNlIHsKLSAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCd2YWx1ZScpOwotICAgICAgfQot Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9LAotICB9KTsKLQotICAvLyBDb2x1bW5zIE1vZGVs Ci0gIHZhciBDb2x1bW5zTW9kZWwgPSBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAg IGlkQXR0cmlidXRlOiAnYXR0bnVtJywKLSAgICBkZWZhdWx0czogewotICAgICAgYXR0bmFtZTog dW5kZWZpbmVkLAotICAgICAgZGF0YXR5cGU6IHVuZGVmaW5lZCwKLSAgICAgIHR5cGxlbjogdW5k ZWZpbmVkLAotICAgICAgcHJlY2lzaW9uOiB1bmRlZmluZWQsCi0gICAgICB0eXBkZWZhdWx0OiB1 bmRlZmluZWQsCi0gICAgICBhdHRub3RudWxsOiB1bmRlZmluZWQsCi0gICAgICBjb2xsbmFtZTog dW5kZWZpbmVkLAotICAgICAgYXR0bnVtOiB1bmRlZmluZWQsCi0gICAgICBpbmhlcml0ZWRmcm9t OiB1bmRlZmluZWQsCi0gICAgICBpbmhlcml0ZWRpZDogdW5kZWZpbmVkLAotICAgICAgYXR0c3Rh dHRhcmdldDogdW5kZWZpbmVkLAotICAgICAgY29sb3B0aW9uczogW10sCi0gICAgfSwKLSAgICB0 eXBlX29wdGlvbnM6IHVuZGVmaW5lZCwKLSAgICBzY2hlbWE6IFt7Ci0gICAgICBpZDogJ2F0dG5h bWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5nJywgdHlwZTogJ3RleHQn LAotICAgICAgZWRpdGFibGU6ICdpc19lZGl0YWJsZV9jb2x1bW4nLCBjZWxsSGVhZGVyQ2xhc3Nl czogJ3dpZHRoX3BlcmNlbnRfNDAnLAotICAgIH0sewotICAgICAgaWQ6ICdkYXRhdHlwZScsIGxh YmVsOiBnZXR0ZXh0KCdEYXRhIHR5cGUnKSwgY2VsbDogJ25vZGUtYWpheC1vcHRpb25zJywKLSAg ICAgIGNvbnRyb2w6ICdub2RlLWFqYXgtb3B0aW9ucycsIHR5cGU6ICd0ZXh0JywgdXJsOiAnZ2V0 X3R5cGVzJywKLSAgICAgIGVkaXRhYmxlOiAnaXNfZWRpdGFibGVfY29sdW1uJywgY2VsbEhlYWRl ckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzAnLAotICAgICAgZ3JvdXA6IGdldHRleHQoJ0RlZmlu aXRpb24nKSwKLSAgICAgIHRyYW5zZm9ybTogZnVuY3Rpb24oZCwgc2VsZil7Ci0gICAgICAgIHNl bGYubW9kZWwudHlwZV9vcHRpb25zID0gZDsKLSAgICAgICAgcmV0dXJuIGQ7Ci0gICAgICB9LAot ICAgIH0sCi0gICAgewotICAgICAgaWQ6ICd0eXBsZW4nLCBsYWJlbDogZ2V0dGV4dCgnTGVuZ3Ro JyksCi0gICAgICBjZWxsOiAnc3RyaW5nJywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwK LSAgICAgIHR5cGU6ICdpbnQnLCBkZXBzOiBbJ2RhdGF0eXBlJ10sCi0gICAgICBkaXNhYmxlZDog ZnVuY3Rpb24obSkgewotICAgICAgICB2YXIgdmFsID0gbS5nZXQoJ3R5cGxlbicpOwotICAgICAg ICAvLyBXZSB3aWxsIHN0b3JlIHR5cGUgZnJvbSBzZWxlY3RlZCBmcm9tIGNvbWJvYm94Ci0gICAg ICAgIGlmKCEoXy5pc1VuZGVmaW5lZChtLmdldCgnaW5oZXJpdGVkaWQnKSkKLSAgICAgICAgICAg IHx8IF8uaXNOdWxsKG0uZ2V0KCdpbmhlcml0ZWRpZCcpKQotICAgICAgICAgICAgfHwgXy5pc1Vu ZGVmaW5lZChtLmdldCgnaW5oZXJpdGVkZnJvbScpKQotICAgICAgICAgICAgfHwgXy5pc051bGwo bS5nZXQoJ2luaGVyaXRlZGZyb20nKSkpKSB7Ci0KLSAgICAgICAgICBpZiAoIV8uaXNVbmRlZmlu ZWQodmFsKSkgewotICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAg ICAgICAgbS5zZXQoJ3R5cGxlbicsIHVuZGVmaW5lZCk7Ci0gICAgICAgICAgICB9LCAxMCk7Ci0g ICAgICAgICAgfQotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgICAg dmFyIG9mX3R5cGUgPSBtLmdldCgnZGF0YXR5cGUnKSwKLSAgICAgICAgICBoYXNfbGVuZ3RoID0g ZmFsc2U7Ci0gICAgICAgIGlmKG0udHlwZV9vcHRpb25zKSB7Ci0gICAgICAgICAgbS5zZXQoJ2lz X3RsZW5ndGgnLCBmYWxzZSwge3NpbGVudDogdHJ1ZX0pOwotCi0gICAgICAgICAgLy8gaXRlcmF0 aW5nIG92ZXIgYWxsIHRoZSB0eXBlcwotICAgICAgICAgIF8uZWFjaChtLnR5cGVfb3B0aW9ucywg ZnVuY3Rpb24obykgewotICAgICAgICAgICAgLy8gaWYgdHlwZSBmcm9tIHNlbGVjdGVkIGZyb20g Y29tYm9ib3ggbWF0Y2hlcyBpbiBvcHRpb25zCi0gICAgICAgICAgICBpZiAoIG9mX3R5cGUgPT0g by52YWx1ZSApIHsKLSAgICAgICAgICAgICAgLy8gaWYgbGVuZ3RoIGlzIGFsbG93ZWQgZm9yIHNl bGVjdGVkIHR5cGUKLSAgICAgICAgICAgICAgaWYoby5sZW5ndGgpCi0gICAgICAgICAgICAgIHsK LSAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIHZhbHVlcyBpbiBtb2RlbAotICAgICAgICAgICAg ICAgIGhhc19sZW5ndGggPSB0cnVlOwotICAgICAgICAgICAgICAgIG0uc2V0KCdpc190bGVuZ3Ro JywgdHJ1ZSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgICAgICAgIG0uc2V0KCdtaW5fdmFs Jywgby5taW5fdmFsLCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgICAgICAgbS5zZXQoJ21h eF92YWwnLCBvLm1heF92YWwsIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICAgICAgfQotICAg ICAgICAgICAgfQotICAgICAgICAgIH0pOwotCi0gICAgICAgICAgaWYgKCFoYXNfbGVuZ3RoICYm ICFfLmlzVW5kZWZpbmVkKHZhbCkpIHsKLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o KSB7Ci0gICAgICAgICAgICAgIG0uc2V0KCd0eXBsZW4nLCB1bmRlZmluZWQpOwotICAgICAgICAg ICAgfSwgMTApOwotICAgICAgICAgIH0KLQotICAgICAgICAgIHJldHVybiAhKG0uZ2V0KCdpc190 bGVuZ3RoJykpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghaGFzX2xlbmd0aCAmJiAhXy5pc1Vu ZGVmaW5lZCh2YWwpKSB7Ci0gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAg ICAgICAgIG0uc2V0KCd0eXBsZW4nLCB1bmRlZmluZWQpOwotICAgICAgICAgIH0sIDEwKTsKLSAg ICAgICAgfQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgIH0sCi0gICAgICBjZWxsSGVhZGVy Q2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfMTAnLAotICAgIH0sCi0gICAgewotICAgICAgaWQ6ICdw cmVjaXNpb24nLCBsYWJlbDogZ2V0dGV4dCgnUHJlY2lzaW9uJyksCi0gICAgICB0eXBlOiAnaW50 JywgZGVwczogWydkYXRhdHlwZSddLAotICAgICAgY2VsbDogJ3N0cmluZycsIGdyb3VwOiBnZXR0 ZXh0KCdEZWZpbml0aW9uJyksCi0gICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewotICAgICAg ICB2YXIgdmFsID0gbS5nZXQoJ3ByZWNpc2lvbicpOwotICAgICAgICBpZighKF8uaXNVbmRlZmlu ZWQobS5nZXQoJ2luaGVyaXRlZGlkJykpCi0gICAgICAgICAgICB8fCBfLmlzTnVsbChtLmdldCgn aW5oZXJpdGVkaWQnKSkKLSAgICAgICAgICAgIHx8IF8uaXNVbmRlZmluZWQobS5nZXQoJ2luaGVy aXRlZGZyb20nKSkKLSAgICAgICAgICAgIHx8IF8uaXNOdWxsKG0uZ2V0KCdpbmhlcml0ZWRmcm9t JykpKSkgewotCi0gICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHZhbCkpIHsKLSAgICAgICAg ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIG0uc2V0KCdwcmVjaXNp b24nLCB1bmRlZmluZWQpOwotICAgICAgICAgICAgfSwgMTApOwotICAgICAgICAgIH0KLSAgICAg ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBvZl90eXBlID0gbS5n ZXQoJ2RhdGF0eXBlJyksCi0gICAgICAgICAgaGFzX3ByZWNpc2lvbiA9IGZhbHNlOwotCi0gICAg ICAgIGlmKG0udHlwZV9vcHRpb25zKSB7Ci0gICAgICAgICAgbS5zZXQoJ2lzX3ByZWNpc2lvbics IGZhbHNlLCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgLy8gaXRlcmF0aW5nIG92ZXIgYWxs IHRoZSB0eXBlcwotICAgICAgICAgIF8uZWFjaChtLnR5cGVfb3B0aW9ucywgZnVuY3Rpb24obykg ewotICAgICAgICAgICAgLy8gaWYgdHlwZSBmcm9tIHNlbGVjdGVkIGZyb20gY29tYm9ib3ggbWF0 Y2hlcyBpbiBvcHRpb25zCi0gICAgICAgICAgICBpZiAoIG9mX3R5cGUgPT0gby52YWx1ZSApIHsK LSAgICAgICAgICAgICAgLy8gaWYgcHJlY2Vzc2lvbiBpcyBhbGxvd2VkIGZvciBzZWxlY3RlZCB0 eXBlCi0gICAgICAgICAgICAgIGlmKG8ucHJlY2lzaW9uKQotICAgICAgICAgICAgICB7Ci0gICAg ICAgICAgICAgICAgaGFzX3ByZWNpc2lvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgLy8gc2V0 IHRoZSB2YWx1ZXMgaW4gbW9kZWwKLSAgICAgICAgICAgICAgICBtLnNldCgnaXNfcHJlY2lzaW9u JywgdHJ1ZSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgICAgICAgIG0uc2V0KCdtaW5fdmFs Jywgby5taW5fdmFsLCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgICAgICAgbS5zZXQoJ21h eF92YWwnLCBvLm1heF92YWwsIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICAgICAgfQotICAg ICAgICAgICAgfQotICAgICAgICAgIH0pOwotICAgICAgICAgIGlmICghaGFzX3ByZWNpc2lvbiAm JiAhXy5pc1VuZGVmaW5lZCh2YWwpKSB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u KCkgewotICAgICAgICAgICAgICBtLnNldCgncHJlY2lzaW9uJywgdW5kZWZpbmVkKTsKLSAgICAg ICAgICAgIH0sIDEwKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJuICEobS5nZXQoJ2lz X3ByZWNpc2lvbicpKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWhhc19wcmVjaXNpb24gJiYg IV8uaXNVbmRlZmluZWQodmFsKSkgewotICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7 Ci0gICAgICAgICAgICBtLnNldCgncHJlY2lzaW9uJywgdW5kZWZpbmVkKTsKLSAgICAgICAgICB9 LCAxMCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICB9LCBjZWxsSGVh ZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfMTAnLAotICAgIH0sCi0gICAgewotICAgICAgaWQ6 ICd0eXBkZWZhdWx0JywgbGFiZWw6IGdldHRleHQoJ0RlZmF1bHQnKSwgdHlwZTogJ3RleHQnLAot ICAgICAgY2VsbDogJ3N0cmluZycsIG1pbl92ZXJzaW9uOiA5MDMwMCwgZ3JvdXA6IGdldHRleHQo J0RlZmluaXRpb24nKSwKLSAgICAgIHBsYWNlaG9sZGVyOiBnZXR0ZXh0KCdFbnRlciBhbiBleHBy ZXNzaW9uIG9yIGEgdmFsdWUuJyksCi0gICAgICBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3Bl cmNlbnRfMTAnLAotICAgICAgZWRpdGFibGU6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgaWYoIShf LmlzVW5kZWZpbmVkKG0uZ2V0KCdpbmhlcml0ZWRpZCcpKQotICAgICAgICAgICAgfHwgXy5pc051 bGwobS5nZXQoJ2luaGVyaXRlZGlkJykpCi0gICAgICAgICAgICB8fCBfLmlzVW5kZWZpbmVkKG0u Z2V0KCdpbmhlcml0ZWRmcm9tJykpCi0gICAgICAgICAgICB8fCBfLmlzTnVsbChtLmdldCgnaW5o ZXJpdGVkZnJvbScpKSkpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIGlmICh0aGlzLmdldCgn bm9kZV9pbmZvJykuc2VydmVyLnZlcnNpb24gPCA5MDMwMCl7Ci0gICAgICAgICAgcmV0dXJuIGZh bHNlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgICAgfSwKLSAgICB9LAot ICAgIHsKLSAgICAgIGlkOiAnYXR0bm90bnVsbCcsIGxhYmVsOiBnZXR0ZXh0KCdOb3QgTlVMTD8n KSwKLSAgICAgIGNlbGw6ICdib29sZWFuJyx0eXBlOiAnc3dpdGNoJywgZWRpdGFibGU6ICdpc19l ZGl0YWJsZV9jb2x1bW4nLAotICAgICAgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50 XzEwJywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKLSAgICB9LAotICAgIHsKLSAgICAg IGlkOiAnYXR0c3RhdHRhcmdldCcsIGxhYmVsOiBnZXR0ZXh0KCdTdGF0aXN0aWNzJyksIG1pbl92 ZXJzaW9uOiA5MDIwMCwKLSAgICAgIGNlbGw6ICdpbnRlZ2VyJywgdHlwZTogJ2ludCcsIGdyb3Vw OiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0gICAgICBlZGl0YWJsZTogZnVuY3Rpb24obSkgewot ICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZChtLmlzTmV3KSB8fCBtLmlzTmV3KCkpIHsgcmV0dXJu IGZhbHNlOyB9Ci0gICAgICAgIGlmICh0aGlzLmdldCgnbm9kZV9pbmZvJykuc2VydmVyLnZlcnNp b24gPCA5MDIwMCl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAg IHJldHVybiAoXy5pc1VuZGVmaW5lZChtLmdldCgnaW5oZXJpdGVkaWQnKSkgfHwgXy5pc051bGwo bS5nZXQoJ2luaGVyaXRlZGlkJykpCi0gICAgICAgICAgfHwgXy5pc1VuZGVmaW5lZChtLmdldCgn aW5oZXJpdGVkZnJvbScpKSB8fCBfLmlzTnVsbChtLmdldCgnaW5oZXJpdGVkZnJvbScpKSkgPyB0 cnVlIDogZmFsc2U7Ci0gICAgICB9LCBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRf MTAnLAotICAgIH0sCi0gICAgewotICAgICAgaWQ6ICdjb2xsbmFtZScsIGxhYmVsOiBnZXR0ZXh0 KCdDb2xsYXRpb24nKSwgY2VsbDogJ25vZGUtYWpheC1vcHRpb25zJywKLSAgICAgIGNvbnRyb2w6 ICdub2RlLWFqYXgtb3B0aW9ucycsIHR5cGU6ICd0ZXh0JywgdXJsOiAnZ2V0X2NvbGxhdGlvbnMn LAotICAgICAgbWluX3ZlcnNpb246IDkwMzAwLCBlZGl0YWJsZTogZnVuY3Rpb24obSkgewotICAg ICAgICBpZiAoIShfLmlzVW5kZWZpbmVkKG0uaXNOZXcpKSAmJiAhbS5pc05ldygpKSB7IHJldHVy biBmYWxzZTsgfQotICAgICAgICByZXR1cm4gKF8uaXNVbmRlZmluZWQobS5nZXQoJ2luaGVyaXRl ZGlkJykpIHx8IF8uaXNOdWxsKG0uZ2V0KCdpbmhlcml0ZWRpZCcpKQotICAgICAgICAgICB8fCBf LmlzVW5kZWZpbmVkKG0uZ2V0KCdpbmhlcml0ZWRmcm9tJykpIHx8IF8uaXNOdWxsKG0uZ2V0KCdp bmhlcml0ZWRmcm9tJykpKSA/IHRydWUgOiBmYWxzZTsKLSAgICAgIH0sCi0gICAgICBjZWxsSGVh ZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfMjAnLCBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlv bicpLAotICAgIH0sCi0gICAgewotICAgICAgaWQ6ICdhdHRudW0nLCBjZWxsOiAnc3RyaW5nJyx0 eXBlOiAndGV4dCcsIHZpc2libGU6IGZhbHNlLAotICAgIH0sCi0gICAgewotICAgICAgaWQ6ICdp bmhlcml0ZWRmcm9tJywgbGFiZWw6IGdldHRleHQoJ0luaGVyaXRlZCBGcm9tJyksIGNlbGw6ICdz dHJpbmcnLAotICAgICAgdHlwZTogJ3RleHQnLCB2aXNpYmxlOiBmYWxzZSwgbW9kZTogWydwcm9w ZXJ0aWVzJywgJ2VkaXQnXSwKLSAgICAgIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2Vu dF8xMCcsCi0gICAgfSwKLSAgICB7Ci0gICAgICBpZDogJ2NvbG9wdGlvbnMnLCBsYWJlbDogZ2V0 dGV4dCgnT3B0aW9ucycpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgIHR5cGU6ICdjb2xsZWN0aW9u JywgZ3JvdXA6IGdldHRleHQoJ09wdGlvbnMnKSwgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAot ICAgICAgbW9kZWw6IENvbHVtbk9wdGlvbnNNb2RlbCwgY2FuQWRkOiB0cnVlLCBjYW5EZWxldGU6 IHRydWUsIGNhbkVkaXQ6IGZhbHNlLAotICAgICAgY29udHJvbDogQmFja2Zvcm0uVW5pcXVlQ29s Q29sbGVjdGlvbkNvbnRyb2wsIHVuaXF1ZUNvbCA6IFsnb3B0aW9uJ10sCi0gICAgICBtaW5fdmVy c2lvbjogOTAyMDAsCi0gICAgfV0sCi0gICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgewotICAgICAg dmFyIGVycm1zZyA9IG51bGw7Ci0KLSAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdh dHRuYW1lJykpIHx8IFN0cmluZyh0aGlzLmdldCgnYXR0bmFtZScpKS5yZXBsYWNlKC9eXHMrfFxz KyQvZywgJycpID09ICcnKSB7Ci0gICAgICAgIGVycm1zZyA9IGdldHRleHQoJ0NvbHVtbiBOYW1l IGNhbm5vdCBiZSBlbXB0eS4nKTsKLSAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnYXR0bmFt ZScsIGVycm1zZyk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5z ZXQoJ2F0dG5hbWUnKTsKLSAgICAgIH0KLQotICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5n ZXQoJ2RhdGF0eXBlJykpIHx8IFN0cmluZyh0aGlzLmdldCgnZGF0YXR5cGUnKSkKLSAgICAgICAg LnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgZXJybXNnID0gZ2V0 dGV4dCgnQ29sdW1uIERhdGF0eXBlIGNhbm5vdCBiZSBlbXB0eS4nKTsKLSAgICAgICAgdGhpcy5l cnJvck1vZGVsLnNldCgnZGF0YXR5cGUnLCBlcnJtc2cpOwotICAgICAgfSBlbHNlIHsKLSAgICAg ICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdkYXRhdHlwZScpOwotICAgICAgfQotCi0gICAgICBy ZXR1cm4gZXJybXNnOwotICAgIH0sCi0gICAgaXNfZWRpdGFibGVfY29sdW1uOiBmdW5jdGlvbiht KSB7Ci0gICAgICByZXR1cm4gKF8uaXNVbmRlZmluZWQobS5nZXQoJ2luaGVyaXRlZGlkJykpIHx8 IF8uaXNOdWxsKG0uZ2V0KCdpbmhlcml0ZWRpZCcpKQotICAgICAgIHx8IF8uaXNVbmRlZmluZWQo bS5nZXQoJ2luaGVyaXRlZGZyb20nKSkgfHwgXy5pc051bGwobS5nZXQoJ2luaGVyaXRlZGZyb20n KSkpID8gdHJ1ZSA6IGZhbHNlOwotICAgIH0sCi0gICAgdG9KU09OOiBCYWNrYm9uZS5Nb2RlbC5w cm90b3R5cGUudG9KU09OLAotICB9KTsKLQotCi0gIC8qIE5vZGVBamF4T3B0aW9uc011bHRpcGxl Q29udHJvbCBpcyBmb3IgbXVsdGlwbGUgc2VsZWN0aW9uIG9mIENvbWJvYm94LgotICAqICBUaGlz IGNvbnRyb2wgaXMgdXNlZCB0byBzZWxlY3QgTXVsdGlwbGUgUGFyZW50IFRhYmxlcyB0byBiZSBp bmhlcml0ZWQuCi0gICogIEl0IGFsc28gcG9wdWxhdGVzL3ZhY2F0ZXMgQ29sdW1ucyBvbiBzZWxl Y3Rpb24vZGVzZWxlY3Rpb24gb2YgdGhlIG9wdGlvbiAoaS5lLiB0YWJsZSBuYW1lKS4KLSAgKiAg VG8gcG9wdWxhdGVzIHRoZSBjb2x1bW4sIGl0IGNhbGxzIHRoZSBzZXJ2ZXIgYW5kIGZldGNoIHRo ZSBjb2x1bW5zIGRhdGEKLSAgKiAgZm9yIHRoZSBzZWxlY3RlZCB0YWJsZS4KLSAgKi8KLSAgdmFy IE5vZGVBamF4T3B0aW9uc011bHRpcGxlQ29udHJvbCA9IEJhY2tmb3JtLk5vZGVBamF4T3B0aW9u c0NvbnRyb2wuZXh0ZW5kKHsKLSAgICBvbkNoYW5nZTogZnVuY3Rpb24oKSB7Ci0gICAgICB2YXIg bW9kZWwgPSB0aGlzLm1vZGVsLAotICAgICAgICBhdHRyQXJyID0gdGhpcy5maWVsZC5nZXQoJ25h bWUnKS5zcGxpdCgnLicpLAotICAgICAgICBuYW1lID0gYXR0ckFyci5zaGlmdCgpLAotICAgICAg ICBwYXRoID0gYXR0ckFyci5qb2luKCcuJyksCi0gICAgICAgIHZhbHVlID0gdGhpcy5nZXRWYWx1 ZUZyb21ET00oKSwKLSAgICAgICAgY2hhbmdlcyA9IHt9LAotICAgICAgICBjb2x1bW5zID0gbW9k ZWwuZ2V0KCdjb2x1bW5zJyksCi0gICAgICAgIGluaGVyaXRzID0gbW9kZWwuZ2V0KG5hbWUpOwot Ci0gICAgICBpZiAodGhpcy5tb2RlbC5lcnJvck1vZGVsIGluc3RhbmNlb2YgQmFja2JvbmUuTW9k ZWwpIHsKLSAgICAgICAgaWYgKF8uaXNFbXB0eShwYXRoKSkgewotICAgICAgICAgIHRoaXMubW9k ZWwuZXJyb3JNb2RlbC51bnNldChuYW1lKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICB2 YXIgbmVzdGVkRXJyb3IgPSB0aGlzLm1vZGVsLmVycm9yTW9kZWwuZ2V0KG5hbWUpOwotICAgICAg ICAgIGlmIChuZXN0ZWRFcnJvcikgewotICAgICAgICAgICAgdGhpcy5rZXlQYXRoU2V0dGVyKG5l c3RlZEVycm9yLCBwYXRoLCBudWxsKTsKLSAgICAgICAgICAgIHRoaXMubW9kZWwuZXJyb3JNb2Rl bC5zZXQobmFtZSwgbmVzdGVkRXJyb3IpOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAg fQotCi0gICAgICB2YXIgc2VsZiA9IHRoaXM7Ci0KLSAgICAgIGlmICh0eXBlb2YoaW5oZXJpdHMp ICA9PSAnc3RyaW5nJyl7IGluaGVyaXRzID0gSlNPTi5wYXJzZShpbmhlcml0cyk7IH0KLQotICAg ICAgLy8gUmVtb3ZlIENvbHVtbnMgaWYgaW5oZXJpdCBvcHRpb24gaXMgZGVzZWxlY3RlZCBmcm9t IHRoZSBjb21ib2JveAotICAgICAgaWYoXy5zaXplKHZhbHVlKSA8IF8uc2l6ZShpbmhlcml0cykp IHsKLSAgICAgICAgdmFyIGRpZiA9ICBfLmRpZmZlcmVuY2UoaW5oZXJpdHMsIHZhbHVlKTsKLSAg ICAgICAgdmFyIHJtdl9jb2x1bW5zID0gY29sdW1ucy53aGVyZSh7aW5oZXJpdGVkaWQ6IHBhcnNl SW50KGRpZlswXSl9KTsKLSAgICAgICAgY29sdW1ucy5yZW1vdmUocm12X2NvbHVtbnMpOwotICAg ICAgfQotICAgICAgZWxzZQotICAgICAgewotICAgICAgICBfLmVhY2godmFsdWUsIGZ1bmN0aW9u KGkpIHsKLSAgICAgICAgICAvLyBGZXRjaCBDb2x1bW5zIGZyb20gc2VydmVyCi0gICAgICAgICAg dmFyIGZuZF9jb2x1bW5zID0gY29sdW1ucy53aGVyZSh7aW5oZXJpdGVkaWQ6IHBhcnNlSW50KGkp fSk7Ci0gICAgICAgICAgaWYgKGZuZF9jb2x1bW5zICYmIGZuZF9jb2x1bW5zLmxlbmd0aCA8PSAw KSB7Ci0gICAgICAgICAgICB2YXIgaW5odGVkX2NvbHVtbnMgPSBzZWxmLmZldGNoQ29sdW1ucyhp KTsKLSAgICAgICAgICAgIGNvbHVtbnMuYWRkKGluaHRlZF9jb2x1bW5zKTsKLSAgICAgICAgICB9 Ci0gICAgICAgIH0pOwotICAgICAgfQotCi0gICAgICBjaGFuZ2VzW25hbWVdID0gXy5pc0VtcHR5 KHBhdGgpID8gdmFsdWUgOiBfLmNsb25lKG1vZGVsLmdldChuYW1lKSkgfHwge307Ci0gICAgICB0 aGlzLnN0b3BMaXN0ZW5pbmcodGhpcy5tb2RlbCwgJ2NoYW5nZTonICsgbmFtZSwgdGhpcy5yZW5k ZXIpOwotICAgICAgbW9kZWwuc2V0KGNoYW5nZXMpOwotICAgICAgdGhpcy5saXN0ZW5Ubyh0aGlz Lm1vZGVsLCAnY2hhbmdlOicgKyBuYW1lLCB0aGlzLnJlbmRlcik7Ci0gICAgfSwKLSAgICBmZXRj aENvbHVtbnM6IGZ1bmN0aW9uKHRhYmxlX2lkKXsKLSAgICAgIHZhciBzZWxmID0gdGhpcywKLSAg ICAgICAgdXJsID0gJ2dldF9jb2x1bW5zJywKLSAgICAgICAgbSA9IHNlbGYubW9kZWwudG9wIHx8 IHNlbGYubW9kZWw7Ci0KLSAgICAgIHZhciBub2RlID0gdGhpcy5maWVsZC5nZXQoJ3NjaGVtYV9u b2RlJyksCi0gICAgICAgIG5vZGVfaW5mbyA9IHRoaXMuZmllbGQuZ2V0KCdub2RlX2luZm8nKSwK LSAgICAgICAgZnVsbF91cmwgPSBub2RlLmdlbmVyYXRlX3VybC5hcHBseSgKLSAgICAgICAgICBu b2RlLCBbCi0gICAgICAgICAgICBudWxsLCB1cmwsIHRoaXMuZmllbGQuZ2V0KCdub2RlX2RhdGEn KSwKLSAgICAgICAgICAgIHRoaXMuZmllbGQuZ2V0KCd1cmxfd2l0aF9pZCcpIHx8IGZhbHNlLCBu b2RlX2luZm8sCi0gICAgICAgICAgXSksCi0gICAgICAgIGNhY2hlX2xldmVsID0gdGhpcy5maWVs ZC5nZXQoJ2NhY2hlX2xldmVsJykgfHwgbm9kZS50eXBlLAotICAgICAgICBjYWNoZV9ub2RlID0g dGhpcy5maWVsZC5nZXQoJ2NhY2hlX25vZGUnKTsKLQotICAgICAgY2FjaGVfbm9kZSA9IChjYWNo ZV9ub2RlICYmIHBnQnJvd3Nlci5Ob2Rlc1snY2FjaGVfbm9kZSddKSB8fCBub2RlOwotCi0gICAg ICBtLnRyaWdnZXIoJ3BnYWRtaW46dmlldzpmZXRjaGluZycsIG0sIHNlbGYuZmllbGQpOwotICAg ICAgdmFyIGRhdGEgPSB7YXR0cmVsaWQ6IHRhYmxlX2lkfTsKLQotICAgICAgLy8gRmV0Y2hpbmcg Q29sdW1ucyBkYXRhIGZvciB0aGUgc2VsZWN0ZWQgdGFibGUuCi0gICAgICAkLmFqYXgoewotICAg ICAgICBhc3luYzogZmFsc2UsCi0gICAgICAgIHVybDogZnVsbF91cmwsCi0gICAgICAgIGRhdGE6 IGRhdGEsCi0gICAgICB9KQotICAgICAgICAuZG9uZShmdW5jdGlvbihyZXMpIHsKLSAgICAgICAg LyoKLSAgICAgICAgICogV2Ugd2lsbCBjYWNoZSB0aGlzIGRhdGEgZm9yIHNob3J0IHBlcmlvZCBv ZiB0aW1lIGZvciBhdm9pZGluZwotICAgICAgICAgKiBzYW1lIGNhbGxzLgotICAgICAgICAgKi8K LSAgICAgICAgICBkYXRhID0gY2FjaGVfbm9kZS5jYWNoZSh1cmwsIG5vZGVfaW5mbywgY2FjaGVf bGV2ZWwsIHJlcy5kYXRhKTsKLQotICAgICAgICB9KQotICAgICAgICAuZmFpbChmdW5jdGlvbigp IHsKLSAgICAgICAgICBtLnRyaWdnZXIoJ3BnYWRtaW46dmlldzpmZXRjaDplcnJvcicsIG0sIHNl bGYuZmllbGQpOwotICAgICAgICB9KTsKLSAgICAgIG0udHJpZ2dlcigncGdhZG1pbjp2aWV3OmZl dGNoZWQnLCBtLCBzZWxmLmZpZWxkKTsKLQotICAgICAgLy8gVG8gZmV0Y2ggb25seSBvcHRpb25z IGZyb20gY2FjaGUsIHdlIGRvIG5vdCBuZWVkIHRpbWUgZnJvbSAnYXQnCi0gICAgICAvLyBhdHRy aWJ1dGUgYnV0IG9ubHkgb3B0aW9ucy4KLSAgICAgIC8vCi0gICAgICAvLyBJdCBpcyBmZWFzaWJs ZSB0aGF0IHRoZSBkYXRhIG1heSBub3QgaGF2ZSBiZWVuIGZldGNoZWQuCi0gICAgICBkYXRhID0g KGRhdGEgJiYgZGF0YS5kYXRhKSB8fCBbXTsKLSAgICAgIHJldHVybiBkYXRhOwotCi0gICAgfSwK LSAgfSk7Ci0KLQotICAvLyBDb25zdHJhaW50cyBNb2RlbAotICB2YXIgQ29uc3RyYWludE1vZGVs ID0gcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICBpZEF0dHJpYnV0ZTogJ2Nvbm9p ZCcsCi0gICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMpIHsKLSAgICAgIHZhciBpc05ldyA9 IChfLnNpemUoYXR0cnMpID09PSAwKTsKLSAgICAgIGlmICghaXNOZXcpIHsKLSAgICAgICAgdGhp cy5jb252YWxpZGF0ZWRfZGVmYXVsdCA9IHRoaXMuZ2V0KCdjb252YWxpZGF0ZWQnKTsKLSAgICAg IH0KLSAgICAgIHBnQnJvd3Nlci5Ob2RlLk1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5 KHRoaXMsIGFyZ3VtZW50cyk7Ci0gICAgfSwKLSAgICBkZWZhdWx0czogewotICAgICAgY29ub2lk OiB1bmRlZmluZWQsCi0gICAgICBjb25uYW1lOiB1bmRlZmluZWQsCi0gICAgICBjb25zcmM6IHVu ZGVmaW5lZCwKLSAgICAgIGNvbm5vaW5oZXJpdDogdW5kZWZpbmVkLAotICAgICAgY29udmFsaWRh dGVkOiB0cnVlLAotICAgICAgY29uaXNsb2NhbDogdW5kZWZpbmVkLAotICAgIH0sCi0gICAgY29u dmFsaWRhdGVkX2RlZmF1bHQ6IHRydWUsCi0gICAgc2NoZW1hOiBbewotICAgICAgaWQ6ICdjb25v aWQnLCB0eXBlOiAndGV4dCcsIGNlbGw6ICdzdHJpbmcnLCB2aXNpYmxlOiBmYWxzZSwKLSAgICB9 LHsKLSAgICAgIGlkOiAnY29ubmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIHR5cGU6ICd0 ZXh0JywgY2VsbDogJ3N0cmluZycsCi0gICAgICBlZGl0YWJsZTogJ2lzX2VkaXRhYmxlJywgY2Vs bEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzMwJywKLSAgICB9LHsKLSAgICAgIGlkOiAn Y29uc3JjJywgbGFiZWw6IGdldHRleHQoJ0NoZWNrJyksIHR5cGU6ICdtdWx0aWxpbmUnLAotICAg ICAgZWRpdGFibGU6ICdpc19lZGl0YWJsZScsIGNlbGw6IEJhY2tncmlkLkV4dGVuc2lvbi5UZXh0 YXJlYUNlbGwsCi0gICAgICBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfMzAnLAot ICAgIH0sewotICAgICAgaWQ6ICdjb25ub2luaGVyaXQnLCBsYWJlbDogZ2V0dGV4dCgnTm8gaW5o ZXJpdD8nKSwgdHlwZTogJ3N3aXRjaCcsCi0gICAgICBjZWxsOiAnYm9vbGVhbicsIGVkaXRhYmxl OiAnaXNfZWRpdGFibGUnLAotICAgICAgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50 XzIwJywKLSAgICB9LHsKLSAgICAgIGlkOiAnY29udmFsaWRhdGVkJywgbGFiZWw6IGdldHRleHQo J1ZhbGlkYXRlPycpLCB0eXBlOiAnc3dpdGNoJywKLSAgICAgIGNlbGw6ICdib29sZWFuJywgY2Vs bEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzIwJywKLSAgICAgIGVkaXRhYmxlOiBmdW5j dGlvbihtKSB7Ci0gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG0uaXNOZXcpKSB7IHJldHVybiB0 cnVlOyB9Ci0gICAgICAgIGlmICghbS5pc05ldygpKSB7Ci0gICAgICAgICAgaWYobS5nZXQoJ2Nv bnZhbGlkYXRlZCcpICYmIG0uY29udmFsaWRhdGVkX2RlZmF1bHQpIHsKLSAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg IH0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICB9LAotICAgIH0sCi0gICAgXSwKLSAgICB2 YWxpZGF0ZTogZnVuY3Rpb24oKSB7Ci0gICAgICB2YXIgZXJyID0ge30sCi0gICAgICAgIGVycm1z ZzsKLQotICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2Nvbm5hbWUnKSkgfHwgU3Ry aW5nKHRoaXMuZ2V0KCdjb25uYW1lJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycp IHsKLSAgICAgICAgZXJyWydjb25uYW1lJ10gPSBnZXR0ZXh0KCdDb25zdHJhaW50IE5hbWUgY2Fu bm90IGJlIGVtcHR5LicpOwotICAgICAgICBlcnJtc2cgPSBlcnJbJ2Nvbm5hbWUnXTsKLSAgICAg IH0KLQotICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2NvbnNyYycpKSB8fCBTdHJp bmcodGhpcy5nZXQoJ2NvbnNyYycpKQotICAgICAgICAucmVwbGFjZSgvXlxzK3xccyskL2csICcn KSA9PSAnJykgewotICAgICAgICBlcnJbJ2NvbnNyYyddID0gZ2V0dGV4dCgnQ29uc3RyYWludCBD aGVjayBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgIGVycm1zZyA9IGVycm1zZyB8fCBlcnJb J2NvbnNyYyddOwotICAgICAgfQotCi0gICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKS5zZXQo ZXJyKTsKLQotICAgICAgcmV0dXJuIGVycm1zZzsKLSAgICB9LAotICAgIGlzX2VkaXRhYmxlOiBm dW5jdGlvbihtKSB7Ci0gICAgICByZXR1cm4gXy5pc1VuZGVmaW5lZChtLmlzTmV3KSA/IHRydWUg OiBtLmlzTmV3KCk7Ci0gICAgfSwKLSAgICB0b0pTT046IEJhY2tib25lLk1vZGVsLnByb3RvdHlw ZS50b0pTT04sCi0gIH0pOwotCi0KLSAgLy8gT3B0aW9ucyBNb2RlbAotICB2YXIgT3B0aW9uc01v ZGVsID0gcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICBkZWZhdWx0czogewotICAg ICAgb3B0aW9uOiB1bmRlZmluZWQsCi0gICAgICB2YWx1ZTogdW5kZWZpbmVkLAotICAgIH0sCi0g ICAgc2NoZW1hOiBbewotICAgICAgaWQ6ICdvcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgnT3B0aW9u JyksIGNlbGw6ICdzdHJpbmcnLCB0eXBlOiAndGV4dCcsCi0gICAgICBlZGl0YWJsZTogdHJ1ZSwg Y2VsbEhlYWRlckNsYXNzZXM6J3dpZHRoX3BlcmNlbnRfNTAnLAotICAgIH0sewotICAgICAgaWQ6 ICd2YWx1ZScsIGxhYmVsOiBnZXR0ZXh0KCdWYWx1ZScpLCBjZWxsOiAnc3RyaW5nJyx0eXBlOiAn dGV4dCcsCi0gICAgICBlZGl0YWJsZTogdHJ1ZSwgY2VsbEhlYWRlckNsYXNzZXM6J3dpZHRoX3Bl cmNlbnRfNTAnLAotICAgIH0sCi0gICAgXSwKLSAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7Ci0g ICAgICAvLyBUT0RPOiBBZGQgdmFsaWRhdGlvbiBoZXJlCi0gICAgfSwKLSAgICB0b0pTT046IEJh Y2tib25lLk1vZGVsLnByb3RvdHlwZS50b0pTT04sCi0gIH0pOwotCi0KICAgaWYgKCFwZ0Jyb3dz ZXIuTm9kZXNbJ2ZvcmVpZ25fdGFibGUnXSkgewogICAgIHBnQnJvd3Nlci5Ob2Rlc1snZm9yZWln bl90YWJsZSddID0gc2NoZW1hQ2hpbGQuU2NoZW1hQ2hpbGROb2RlLmV4dGVuZCh7CiAgICAgICB0 eXBlOiAnZm9yZWlnbl90YWJsZScsCkBAIC01NjEsMTYwICsxMDMsNiBAQCBkZWZpbmUoJ3BnYWRt aW4ubm9kZS5mb3JlaWduX3RhYmxlJywgWwogICAgICAgICAgIH0KICAgICAgICAgKTsKICAgICAg IH0sCi0gICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAg aWRBdHRyaWJ1dGU6ICdvaWQnLAotICAgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywg YXJncykgewotICAgICAgICAgIHZhciBpc05ldyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKLSAg ICAgICAgICBpZiAoaXNOZXcpIHsKLSAgICAgICAgICAgIHZhciBzY2hlbWEgPSBhcmdzLm5vZGVf aW5mby5zY2hlbWEuX2xhYmVsLAotICAgICAgICAgICAgICB1c2VySW5mbyA9IHBnQnJvd3Nlci5z ZXJ2ZXJJbmZvW2FyZ3Mubm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7Ci0KLSAgICAgICAgICAg IC8vIFNldCBTZWxlY3RlZCBTY2hlbWEgYW5kIEN1cnJlbnQgVXNlcgotICAgICAgICAgICAgdGhp cy5zZXQoewotICAgICAgICAgICAgICAnYmFzZW5zcCc6IHNjaGVtYSwgJ293bmVyJzogdXNlcklu Zm8ubmFtZSwKLSAgICAgICAgICAgIH0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICB9Ci0g ICAgICAgICAgcGdCcm93c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHko dGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgfSwKLSAgICAgICAgZGVmYXVsdHM6IHsKLSAgICAg ICAgICBuYW1lOiB1bmRlZmluZWQsCi0gICAgICAgICAgb2lkOiB1bmRlZmluZWQsCi0gICAgICAg ICAgb3duZXI6IHVuZGVmaW5lZCwKLSAgICAgICAgICBiYXNlbnNwOiB1bmRlZmluZWQsCi0gICAg ICAgICAgaXNfc3lzX29iajogdW5kZWZpbmVkLAotICAgICAgICAgIGRlc2NyaXB0aW9uOiB1bmRl ZmluZWQsCi0gICAgICAgICAgZnRzcnZuYW1lOiB1bmRlZmluZWQsCi0gICAgICAgICAgc3RyZnRv cHRpb25zOiB1bmRlZmluZWQsCi0gICAgICAgICAgaW5oZXJpdHM6IFtdLAotICAgICAgICAgIGNv bHVtbnM6IFtdLAotICAgICAgICAgIGNvbnN0cmFpbnRzOiBbXSwKLSAgICAgICAgICBmdG9wdGlv bnM6IFtdLAotICAgICAgICAgIHJlbGFjbDogW10sCi0gICAgICAgICAgc3RyYWNsOiBbXSwKLSAg ICAgICAgICBzZWNsYWJlbHM6IFtdLAotICAgICAgICB9LAotICAgICAgICBzY2hlbWE6IFt7Ci0g ICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRl JywgJ2VkaXQnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdvaWQnLCBsYWJlbDogZ2V0 dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JyAsIG1v ZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ293bmVyJywg bGFiZWw6IGdldHRleHQoJ093bmVyJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIGNvbnRy b2w6IEJhY2tmb3JtLk5vZGVMaXN0QnlOYW1lQ29udHJvbCwKLSAgICAgICAgICBub2RlOiAncm9s ZScsICB0eXBlOiAndGV4dCcsIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogZmFsc2UgfSwKLSAgICAg ICAgfSx7Ci0gICAgICAgICAgaWQ6ICdiYXNlbnNwJywgbGFiZWw6IGdldHRleHQoJ1NjaGVtYScp LCBjZWxsOiAnbm9kZS1saXN0LWJ5LW5hbWUnLAotICAgICAgICAgIGNvbnRyb2w6ICdub2RlLWxp c3QtYnktbmFtZScsIGNhY2hlX2xldmVsOiAnZGF0YWJhc2UnLCB0eXBlOiAndGV4dCcsCi0gICAg ICAgICAgbm9kZTogJ3NjaGVtYScsIG1vZGU6WydjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICB9 LHsKLSAgICAgICAgICBpZDogJ2lzX3N5c19vYmonLCBsYWJlbDogZ2V0dGV4dCgnU3lzdGVtIGZv cmVpZ24gdGFibGU/JyksCi0gICAgICAgICAgY2VsbDonYm9vbGVhbicsIHR5cGU6ICdzd2l0Y2gn LCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdkZXNj cmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIGNlbGw6ICdzdHJpbmcnLAotICAg ICAgICAgIHR5cGU6ICdtdWx0aWxpbmUnLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2Z0 c3J2bmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdGb3JlaWduIHNlcnZlcicpLCBjZWxsOiAnc3RyaW5n JywgY29udHJvbDogJ25vZGUtYWpheC1vcHRpb25zJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcs IGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksIHVybDogJ2dldF9mb3JlaWduX3NlcnZlcnMn LAotICAgICAgICAgIHJlYWRvbmx5OiBmdW5jdGlvbihtKSB7IHJldHVybiAhbS5pc05ldygpOyB9 LCBjYWNoZV9ub2RlOiAnZGF0YWJhc2UnLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2lu aGVyaXRzJywgbGFiZWw6IGdldHRleHQoJ0luaGVyaXRzJyksIGdyb3VwOiBnZXR0ZXh0KCdEZWZp bml0aW9uJyksCi0gICAgICAgICAgdHlwZTogJ2FycmF5JywgbWluX3ZlcnNpb246IDkwNTAwLCBj b250cm9sOiBOb2RlQWpheE9wdGlvbnNNdWx0aXBsZUNvbnRyb2wsCi0gICAgICAgICAgdXJsOiAn Z2V0X3RhYmxlcycsIHNlbGVjdDI6IHttdWx0aXBsZTogdHJ1ZX0sCi0gICAgICAgICAgJ2NhY2hl X2xldmVsJzogJ2RhdGFiYXNlJywKLSAgICAgICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uKGQpIHsK LSAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLmdldCgnbW9kZScpID09ICdlZGl0JykgewotICAg ICAgICAgICAgICB2YXIgb2lkID0gdGhpcy5tb2RlbC5nZXQoJ29pZCcpOwotICAgICAgICAgICAg ICB2YXIgcyA9IF8uZmluZFdoZXJlKGQsIHsnaWQnOiBvaWR9KTsKLSAgICAgICAgICAgICAgaWYg KHMpIHsKLSAgICAgICAgICAgICAgICBkID0gXy5yZWplY3QoZCwgcyk7Ci0gICAgICAgICAgICAg IH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBkOwotICAgICAgICAgIH0sCi0g ICAgICAgIH0sewotICAgICAgICAgIGlkOiAnY29sdW1ucycsIGxhYmVsOiBnZXR0ZXh0KCdDb2x1 bW5zJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICdjb2xsZWN0aW9uJywgZ3Jv dXA6IGdldHRleHQoJ0NvbHVtbnMnKSwgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAotICAgICAg ICAgIG1vZGVsOiBDb2x1bW5zTW9kZWwsIGNhbkFkZDogdHJ1ZSwgY2FuRGVsZXRlOiB0cnVlLCBj YW5FZGl0OiB0cnVlLAotICAgICAgICAgIGNvbHVtbnM6IFsnYXR0bmFtZScsICdkYXRhdHlwZScs ICdpbmhlcml0ZWRmcm9tJ10sCi0gICAgICAgICAgY2FuRGVsZXRlUm93OiBmdW5jdGlvbihtKSB7 Ci0gICAgICAgICAgICByZXR1cm4gKF8uaXNVbmRlZmluZWQobS5nZXQoJ2luaGVyaXRlZGlkJykp IHx8IF8uaXNOdWxsKG0uZ2V0KCdpbmhlcml0ZWRpZCcpKQotICAgICAgICAgICAgICB8fCBfLmlz VW5kZWZpbmVkKG0uZ2V0KCdpbmhlcml0ZWRmcm9tJykpIHx8IF8uaXNOdWxsKG0uZ2V0KCdpbmhl cml0ZWRmcm9tJykpKSA/IHRydWUgOiBmYWxzZTsKLSAgICAgICAgICB9LAotICAgICAgICAgIGNh bkVkaXRSb3c6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIHJldHVybiAoXy5pc1VuZGVmaW5l ZChtLmdldCgnaW5oZXJpdGVkaWQnKSkgfHwgXy5pc051bGwobS5nZXQoJ2luaGVyaXRlZGlkJykp Ci0gICAgICAgICAgICAgIHx8IF8uaXNVbmRlZmluZWQobS5nZXQoJ2luaGVyaXRlZGZyb20nKSkg fHwgXy5pc051bGwobS5nZXQoJ2luaGVyaXRlZGZyb20nKSkpID8gdHJ1ZSA6IGZhbHNlOwotICAg ICAgICAgIH0sCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICBpZDogJ2NvbnN0cmFp bnRzJywgbGFiZWw6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksIGNlbGw6ICdzdHJpbmcnLAotICAg ICAgICAgIHR5cGU6ICdjb2xsZWN0aW9uJywgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyks IG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAgICBtb2RlbDogQ29uc3RyYWludE1v ZGVsLCBjYW5BZGQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwgY29sdW1uczogWydjb25uYW1lJywn Y29uc3JjJywgJ2Nvbm5vaW5oZXJpdCcsICdjb252YWxpZGF0ZWQnXSwKLSAgICAgICAgICBjYW5F ZGl0OiBmdW5jdGlvbihvKSB7Ci0gICAgICAgICAgICBpZiAobyBpbnN0YW5jZW9mIEJhY2tib25l Lk1vZGVsKSB7Ci0gICAgICAgICAgICAgIGlmIChvIGluc3RhbmNlb2YgQ29uc3RyYWludE1vZGVs KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG8uaXNOZXcoKTsKLSAgICAgICAgICAgICAgfQot ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgfSwgbWlu X3ZlcnNpb246IDkwNTAwLCBjYW5EZWxldGVSb3c6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAg IHJldHVybiAobS5nZXQoJ2NvbmlzbG9jYWwnKSA9PSB0cnVlIHx8IF8uaXNVbmRlZmluZWQobS5n ZXQoJ2NvbmlzbG9jYWwnKSkpID8gdHJ1ZSA6IGZhbHNlOwotICAgICAgICAgIH0sCi0gICAgICAg IH0sewotICAgICAgICAgIGlkOiAnc3RyZnRvcHRpb25zJywgbGFiZWw6IGdldHRleHQoJ09wdGlv bnMnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBncm91cDogZ2V0 dGV4dCgnRGVmaW5pdGlvbicpLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0g ICAgICAgICAgaWQ6ICdmdG9wdGlvbnMnLCBsYWJlbDogZ2V0dGV4dCgnT3B0aW9ucycpLCBjZWxs OiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAnY29sbGVjdGlvbicsIGdyb3VwOiBnZXR0ZXh0 KCdPcHRpb25zJyksIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAgICBtb2RlbDog T3B0aW9uc01vZGVsLCBjYW5BZGQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwgY2FuRWRpdDogZmFs c2UsCi0gICAgICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsIHVuaXF1ZUNv bCA6IFsnb3B0aW9uJ10sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAncmVsYWNsJywgbGFi ZWw6IGdldHRleHQoJ1ByaXZpbGVnZXMnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlw ZTogJ3RleHQnLCBncm91cDogZ2V0dGV4dCgnU2VjdXJpdHknKSwKLSAgICAgICAgICBtb2RlOiBb J3Byb3BlcnRpZXMnXSwgbWluX3ZlcnNpb246IDkwMjAwLAotICAgICAgICB9LCBwZ0Jyb3dzZXIu U2VjdXJpdHlHcm91cFNjaGVtYSwgewotICAgICAgICAgIGlkOiAnYWNsJywgbGFiZWw6IGdldHRl eHQoJ1ByaXZpbGVnZXMnKSwgbW9kZWw6IHBnQWRtaW4KLSAgICAgICAgICAgIC5Ccm93c2VyLk5v ZGUuUHJpdmlsZWdlUm9sZU1vZGVsLmV4dGVuZCgKLSAgICAgICAgICAgICAge3ByaXZpbGVnZXM6 IFsnYScsJ3InLCd3JywneCddfSksIHVuaXF1ZUNvbCA6IFsnZ3JhbnRlZScsICdncmFudG9yJ10s Ci0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbicsIGdyb3VwOiAn c2VjdXJpdHknLAotICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAg ICBjYW5BZGQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29s bGVjdGlvbicsCi0gICAgICAgICAgbWluX3ZlcnNpb246IDkwMjAwLAotICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ3NlY2xhYmVscycsIGxhYmVsOiBnZXR0ZXh0KCdTZWN1cml0eSBsYWJlbHMn KSwKLSAgICAgICAgICBtb2RlbDogcGdCcm93c2VyLlNlY0xhYmVsTW9kZWwsIHR5cGU6ICdjb2xs ZWN0aW9uJywKLSAgICAgICAgICBncm91cDogJ3NlY3VyaXR5JywgbW9kZTogWydlZGl0JywgJ2Ny ZWF0ZSddLAotICAgICAgICAgIG1pbl92ZXJzaW9uOiA5MDEwMCwgY2FuQWRkOiB0cnVlLAotICAg ICAgICAgIGNhbkVkaXQ6IGZhbHNlLCBjYW5EZWxldGU6IHRydWUsCi0gICAgICAgICAgY29udHJv bDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsIHVuaXF1ZUNvbCA6IFsncHJvdmlkZXInXSwKLSAg ICAgICAgfSwKLSAgICAgICAgXSwKLSAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkKLSAgICAg ICAgewotICAgICAgICAgIHZhciBlcnIgPSB7fSwKLSAgICAgICAgICAgIGVycm1zZyA9IG51bGw7 Ci0KLSAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScpKSB8fCBTdHJp bmcodGhpcy5nZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewot ICAgICAgICAgICAgZXJyWyduYW1lJ10gPSBnZXR0ZXh0KCdOYW1lIGNhbm5vdCBiZSBlbXB0eS4n KTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVyclsnbmFtZSddOwotICAgICAgICAgIH0KLQotICAg ICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdiYXNlbnNwJykpIHx8IFN0cmluZyh0 aGlzLmdldCgnYmFzZW5zcCcpKQotICAgICAgICAgICAgLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAn JykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnYmFzZW5zcCddID0gZ2V0dGV4dCgnU2NoZW1h IGNhbm5vdCBiZSBlbXB0eS4nKTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVycm1zZyB8fCBlcnJb J2Jhc2Vuc3AnXTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0 aGlzLmdldCgnZnRzcnZuYW1lJykpIHx8IFN0cmluZyh0aGlzLmdldCgnZnRzcnZuYW1lJykpLnJl cGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnZnRzcnZu YW1lJ10gPSBnZXR0ZXh0KCdGb3JlaWduIHNlcnZlciBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAg ICAgICAgICBlcnJtc2cgPSBlcnJtc2cgfHwgZXJyWydmdHNydm5hbWUnXTsKLSAgICAgICAgICB9 Ci0KLSAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKS5zZXQoZXJyKTsKLQotICAgICAg ICAgIHJldHVybiBlcnJtc2c7Ci0gICAgICAgIH0sCi0gICAgICB9KSwKICAgICB9KTsKIAogICB9 CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMvc3RhdGljL2pzL2Z0c19jb25maWd1 cmF0aW9uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnRzX2NvbmZpZ3VyYXRpb25zL3N0YXRpYy9qcy9mdHNfY29uZmlndXJh dGlvbi5qcwppbmRleCAwMDQ5ZGU1YmQuLjA3M2RkNGFjYyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX2Nv bmZpZ3VyYXRpb25zL3N0YXRpYy9qcy9mdHNfY29uZmlndXJhdGlvbi5qcworKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNf Y29uZmlndXJhdGlvbnMvc3RhdGljL2pzL2Z0c19jb25maWd1cmF0aW9uLmpzCkBAIC05MywzMiAr OTMsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5mdHNfY29uZmlndXJhdGlvbicsIFsKICAgICAg ICAgICB9CiAgICAgICAgICk7CiAgICAgICB9LAotCi0gICAgICAvLyBEZWZpbmluZyBtb2RlbCBm b3IgRlRTIENvbmZpZ3VyYXRpb24gbm9kZQotICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5O b2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLQotICAgICAg ICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgb3B0cykgewotICAgICAgICAgIHZhciBpc05l dyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKLSAgICAgICAgICBwZ0FkbWluLkJyb3dzZXIuTm9k ZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwotCi0g ICAgICAgICAgaWYgKGlzTmV3KSB7Ci0gICAgICAgICAgICB2YXIgdXNlciA9IHBnQnJvd3Nlci5z ZXJ2ZXJJbmZvW29wdHMubm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7Ci0gICAgICAgICAgICB0 aGlzLnNldCh7Ci0gICAgICAgICAgICAgICdvd25lcic6IHVzZXIubmFtZSwKLSAgICAgICAgICAg ICAgJ3NjaGVtYSc6IG9wdHMubm9kZV9pbmZvLnNjaGVtYS5faWQsCi0gICAgICAgICAgICB9LCB7 c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICAvLyBEZWZp bmluZyBzY2hlbWEgZm9yIEZUUyBDb25maWd1cmF0aW9uCi0gICAgICAgIHNjaGVtYTogW3sKLSAg ICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5n JywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVy Y2VudF81MCcsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBpZDogJ2Rlc2NyaXB0aW9uJywgbGFi ZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTog J211bHRpbGluZScsIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2VudF81MCcsCi0gICAg ICAgIH1dLAotICAgICAgfSksCiAgICAgfSk7CiAgIH0KIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX2Rp Y3Rpb25hcmllcy9zdGF0aWMvanMvZnRzX2RpY3Rpb25hcnkuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfZGljdGlvbmFy aWVzL3N0YXRpYy9qcy9mdHNfZGljdGlvbmFyeS5qcwppbmRleCA1ZDViZDNhOGYuLjBlYTc0MTAz NCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnRzX2RpY3Rpb25hcmllcy9zdGF0aWMvanMvZnRzX2RpY3Rpb25h cnkuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnRzX2RpY3Rpb25hcmllcy9zdGF0aWMvanMvZnRzX2RpY3Rpb25hcnku anMKQEAgLTg4LDMxICs4OCw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmZ0c19kaWN0aW9uYXJ5 JywgWwogICAgICAgICAgIH0KICAgICAgICAgKTsKICAgICAgIH0sCi0KLSAgICAgIC8vIERlZmlu aW5nIGJhY2tmb3JtIG1vZGVsIGZvciBGVFMgRGljdGlvbmFyeSBub2RlCi0gICAgICBtb2RlbDog cGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRBdHRyaWJ1dGU6 ICdvaWQnLAotICAgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykgewotICAg ICAgICAgIHZhciBpc05ldyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKLSAgICAgICAgICBwZ0Fk bWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBh cmd1bWVudHMpOwotCi0gICAgICAgICAgaWYgKGlzTmV3KSB7Ci0gICAgICAgICAgICB2YXIgdXNl ciA9IHBnQnJvd3Nlci5zZXJ2ZXJJbmZvW2FyZ3Mubm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7 Ci0gICAgICAgICAgICB0aGlzLnNldCh7Ci0gICAgICAgICAgICAgICdvd25lcic6IHVzZXIubmFt ZSwKLSAgICAgICAgICAgICAgJ3NjaGVtYSc6IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYS5faWQsCi0g ICAgICAgICAgICB9LCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAgICAgICB9LAot ICAgICAgICAvLyBEZWZpbmluZyBzY2hlbWEgZm9yIGZ0cyBkaWN0aW9uYXJ5Ci0gICAgICAgIHNj aGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBj ZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIGNlbGxIZWFkZXJDbGFzc2Vz OiAnd2lkdGhfcGVyY2VudF81MCcsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBpZDogJ2Rlc2Ny aXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAg ICAgICAgdHlwZTogJ211bHRpbGluZScsIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2Vu dF81MCcsCi0gICAgICAgIH1dLAotICAgICAgfSksCiAgICAgfSk7CiAgIH0KIApkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZnRzX3BhcnNlcnMvc3RhdGljL2pzL2Z0c19wYXJzZXIuanMgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfcGFyc2Vy cy9zdGF0aWMvanMvZnRzX3BhcnNlci5qcwppbmRleCAyN2E0Y2U4N2YuLmFkNTU3OWQwZCAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZnRzX3BhcnNlcnMvc3RhdGljL2pzL2Z0c19wYXJzZXIuanMKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv ZnRzX3BhcnNlcnMvc3RhdGljL2pzL2Z0c19wYXJzZXIuanMKQEAgLTcwLDEwOCArNzAsNiBAQCBk ZWZpbmUoJ3BnYWRtaW4ubm9kZS5mdHNfcGFyc2VyJywgWwogCiAgICAgICB9LAogCi0gICAgICAv LyBEZWZpbmluZyBiYWNrZm9ybSBtb2RlbCBmb3IgZnRzIHBhcnNlciBub2RlCi0gICAgICBtb2Rl bDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRBdHRyaWJ1 dGU6ICdvaWQnLAotICAgICAgICBkZWZhdWx0czogewotICAgICAgICAgIG5hbWU6IHVuZGVmaW5l ZCwgICAgICAgICAgLy8gRnRzIHBhcnNlciBuYW1lCi0gICAgICAgICAgaXNfc3lzX29iajogdW5k ZWZpbmVkLCAgLy8gSXMgc3lzdGVtIG9iamVjdAotICAgICAgICAgIGRlc2NyaXB0aW9uOiB1bmRl ZmluZWQsICAgLy8gQ29tbWVudCBvbiBwYXJzZXIKLSAgICAgICAgfSwKLSAgICAgICAgaW5pdGlh bGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcgPSAoXy5z aXplKGF0dHJzKSA9PT0gMCk7Ci0gICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwu cHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkoCi0gICAgICAgICAgICB0aGlzLCBhcmd1bWVudHMK LSAgICAgICAgICApOwotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAgICAgdGhpcy5z ZXQoJ3NjaGVtYScsIGFyZ3Mubm9kZV9pbmZvLnNjaGVtYS5faWQpOwotICAgICAgICAgIH0KLSAg ICAgICAgfSwKLSAgICAgICAgLy8gRGVmaW5pbmcgc2NoZW1hIGZvciBmdHMgcGFyc2VyCi0gICAg ICAgIHNjaGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFt ZScpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIGNlbGxIZWFkZXJD bGFzc2VzOiAnd2lkdGhfcGVyY2VudF81MCcsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAn b2lkJywgbGFiZWw6IGdldHRleHQoJ09JRCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICBl ZGl0YWJsZTogZmFsc2UsIHR5cGU6ICd0ZXh0JywgbW9kZTpbJ3Byb3BlcnRpZXMnXSwKLSAgICAg ICAgfSx7Ci0gICAgICAgICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21t ZW50JyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICdtdWx0aWxpbmUnLCBjZWxs SGVhZGVyQ2xhc3NlczogJ3dpZHRoX3BlcmNlbnRfNTAnLAotICAgICAgICB9XSwKLQotICAgICAg ICAvKgotICAgICAgICAgKiBUcmlnZ2VycyBjb250cm9sIHNwZWNpZmljIGVycm9yIG1lc3NhZ2Vz IGZvciBwYXJzZXIgbmFtZSwKLSAgICAgICAgICogc3RhcnQsIHRva2VuLCBlbmQsIGxleHR5cGUg ZnVuY3Rpb25zIGFuZCBzY2hlbWEsIGlmIGFueSBvbmUgb2YgdGhlbSBpcyBub3Qgc3BlY2lmaWVk Ci0gICAgICAgICAqIHdoaWxlIGNyZWF0aW5nIG5ldyBmdHMgcGFyc2VyCi0gICAgICAgICAqLwot ICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgdmFyIG5hbWUgPSB0aGlz LmdldCgnbmFtZScpLAotICAgICAgICAgICAgc3RhcnQgPSB0aGlzLmdldCgncHJzc3RhcnQnKSwK LSAgICAgICAgICAgIHRva2VuID0gdGhpcy5nZXQoJ3Byc3Rva2VuJyksCi0gICAgICAgICAgICBl bmQgPSB0aGlzLmdldCgncHJzZW5kJyksCi0gICAgICAgICAgICBsZXh0eXBlID0gdGhpcy5nZXQo J3Byc2xleHR5cGUnKSwKLSAgICAgICAgICAgIHNjaGVtYSA9IHRoaXMuZ2V0KCdzY2hlbWEnKSwK LSAgICAgICAgICAgIG1zZzsKLQotICAgICAgICAgIC8vIFZhbGlkYXRlIGZ0cyBwYXJzZXIgbmFt ZQotICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG5hbWUpIHx8Ci0gICAgICAgICAgICAgICAg Xy5pc051bGwobmFtZSkgfHwKLSAgICAgICAgICAgICAgICBTdHJpbmcobmFtZSkucmVwbGFjZSgv XlxzK3xccyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnTmFt ZSBtdXN0IGJlIHNwZWNpZmllZC4nKTsKLSAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQo J25hbWUnLCBtc2cpOwotICAgICAgICAgICAgcmV0dXJuIG1zZzsKLSAgICAgICAgICB9Ci0KLSAg ICAgICAgICAvLyBWYWxpZGF0ZSBzdGFydCBmdW5jdGlvbiBjb250cm9sCi0gICAgICAgICAgZWxz ZSBpZiAoXy5pc1VuZGVmaW5lZChzdGFydCkgfHwKLSAgICAgICAgICAgICAgICAgICAgXy5pc051 bGwoc3RhcnQpIHx8Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZyhzdGFydCkucmVwbGFjZSgv XlxzK3xccyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnU3Rh cnQgZnVuY3Rpb24gbXVzdCBiZSBzZWxlY3RlZC4nKTsKLSAgICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC5zZXQoJ3Byc3N0YXJ0JywgbXNnKTsKLSAgICAgICAgICAgIHJldHVybiBtc2c7Ci0gICAg ICAgICAgfQotCi0gICAgICAgICAgLy8gVmFsaWRhdGUgZ2V0dG9rZW4gZnVuY3Rpb24gY29udHJv bAotICAgICAgICAgIGVsc2UgaWYgKF8uaXNVbmRlZmluZWQodG9rZW4pIHx8Ci0gICAgICAgICAg ICAgICAgICAgIF8uaXNOdWxsKHRva2VuKSB8fAotICAgICAgICAgICAgICAgICAgICBTdHJpbmco dG9rZW4pLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgIG1z ZyA9IGdldHRleHQoJ0dldCBuZXh0IHRva2VuIGZ1bmN0aW9uIG11c3QgYmUgc2VsZWN0ZWQuJyk7 Ci0gICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdwcnN0b2tlbicsIG1zZyk7Ci0gICAg ICAgICAgICByZXR1cm4gbXNnOwotICAgICAgICAgIH0KLQotICAgICAgICAgIC8vIFZhbGlkYXRl IGVuZCBmdW5jdGlvbiBjb250cm9sCi0gICAgICAgICAgZWxzZSBpZiAoXy5pc1VuZGVmaW5lZChl bmQpIHx8Ci0gICAgICAgICAgICAgICAgICAgIF8uaXNOdWxsKGVuZCkgfHwKLSAgICAgICAgICAg ICAgICAgICAgU3RyaW5nKGVuZCkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewot ICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnRW5kIGZ1bmN0aW9uIG11c3QgYmUgc2VsZWN0ZWQu Jyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdwcnNlbmQnLCBtc2cpOwotICAg ICAgICAgICAgcmV0dXJuIG1zZzsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICAvLyBWYWxpZGF0 ZSBsZXh0eXBlIGZ1bmN0aW9uIGNvbnRyb2wKLSAgICAgICAgICBlbHNlIGlmIChfLmlzVW5kZWZp bmVkKGxleHR5cGUpIHx8Ci0gICAgICAgICAgICAgICAgICAgIF8uaXNOdWxsKGxleHR5cGUpIHx8 Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZyhsZXh0eXBlKS5yZXBsYWNlKC9eXHMrfFxzKyQv ZywgJycpID09ICcnKSB7Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdMZXh0eXBlIGZ1bmN0 aW9uIG11c3QgYmUgc2VsZWN0ZWQuJyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0 KCdwcnNsZXh0eXBlJywgbXNnKTsKLSAgICAgICAgICAgIHJldHVybiBtc2c7Ci0gICAgICAgICAg fQotCi0gICAgICAgICAgLy8gVmFsaWRhdGUgc2NoZW1hIGZvciBmdHMgcGFyc2VyCi0gICAgICAg ICAgZWxzZSBpZiAoXy5pc1VuZGVmaW5lZChzY2hlbWEpIHx8Ci0gICAgICAgICAgICAgICAgICAg IF8uaXNOdWxsKHNjaGVtYSkgfHwKLSAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHNjaGVtYSku cmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgbXNnID0gZ2V0 dGV4dCgnU2NoZW1hIG11c3QgYmUgc2VsZWN0ZWQuJyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9y TW9kZWwuc2V0KCdzY2hlbWEnLCBtc2cpOwotICAgICAgICAgICAgcmV0dXJuIG1zZzsKLSAgICAg ICAgICB9Ci0gICAgICAgICAgZWxzZSB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsKLQotICAgICAg ICAgIHRoaXMudHJpZ2dlcignb24tc3RhdHVzLWNsZWFyJyk7Ci0gICAgICAgICAgcmV0dXJuIG51 bGw7Ci0gICAgICAgIH0sCi0gICAgICB9KSwKICAgICAgIGdldFNjaGVtYTogKHRyZWVOb2RlSW5m bywgaXRlbU5vZGVEYXRhKSA9PiB7CiAgICAgICAgIGxldCBub2RlT2JqID0gcGdBZG1pbi5Ccm93 c2VyLk5vZGVzWydmdHNfcGFyc2VyJ107CiAgICAgICAgIHJldHVybiBuZXcgRlRTUGFyc2VyU2No ZW1hKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3RlbXBsYXRlcy9zdGF0aWMvanMvZnRzX3RlbXBsYXRl LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZnRzX3RlbXBsYXRlcy9zdGF0aWMvanMvZnRzX3RlbXBsYXRlLmpzCmluZGV4IDc5 MWFkYjJmOS4uNTMyMDI0NmYzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVzL3N0YXRpYy9q cy9mdHNfdGVtcGxhdGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3RlbXBsYXRlcy9zdGF0aWMvanMvZnRzX3Rl bXBsYXRlLmpzCkBAIC03MCw2NSArNzAsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5mdHNfdGVt cGxhdGUnLCBbCiAKICAgICAgIH0sCiAKLSAgICAgIC8vIERlZmluaW5nIGJhY2tmb3JtIG1vZGVs IGZvciBmdHMgdGVtcGxhdGUgbm9kZQotICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5Ob2Rl Lk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLSAgICAgICAgaW5p dGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcgPSAo Xy5zaXplKGF0dHJzKSA9PT0gMCk7Ci0gICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9k ZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAg ICBpZiAoaXNOZXcpIHsKLSAgICAgICAgICAgIHRoaXMuc2V0KCdzY2hlbWEnLCBhcmdzLm5vZGVf aW5mby5zY2hlbWEuX2lkKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIC8vIERl ZmluaW5nIHNjaGVtYSBmb3IgZnRzIHRlbXBsYXRlCi0gICAgICAgIHNjaGVtYTogW3sKLSAgICAg ICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5nJywK LSAgICAgICAgICB0eXBlOiAndGV4dCcsIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2Vu dF81MCcsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQo J09JRCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6 ICd0ZXh0JywgbW9kZTpbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6 ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIGNlbGw6ICdzdHJpbmcn LAotICAgICAgICAgIHR5cGU6ICdtdWx0aWxpbmUnLCBjZWxsSGVhZGVyQ2xhc3NlczogJ3dpZHRo X3BlcmNlbnRfNTAnLAotICAgICAgICB9XSwKLQotICAgICAgICAvKgotICAgICAgICAgKiBUcmln Z2VycyBjb250cm9sIHNwZWNpZmljIGVycm9yIG1lc3NhZ2VzIGZvciB0ZW1wbGF0ZSBuYW1lLAot ICAgICAgICAgKiBsZXhpemUgZnVuY3Rpb24gYW5kIHNjaGVtYSwgaWYgYW55IG9uZSBvZiB0aGVt IGlzIG5vdCBzcGVjaWZpZWQKLSAgICAgICAgICogd2hpbGUgY3JlYXRpbmcgbmV3IGZ0cyB0ZW1w bGF0ZQotICAgICAgICAgKi8KLSAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgewotICAgICAg ICAgIHZhciBuYW1lID0gdGhpcy5nZXQoJ25hbWUnKSwKLSAgICAgICAgICAgIGxleGl6ZSA9IHRo aXMuZ2V0KCd0bXBsbGV4aXplJyksCi0gICAgICAgICAgICBzY2hlbWEgPSB0aGlzLmdldCgnc2No ZW1hJyksCi0gICAgICAgICAgICBtc2c7Ci0KLSAgICAgICAgICAvLyBWYWxpZGF0ZSBmdHMgdGVt cGxhdGUgbmFtZQotICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG5hbWUpIHx8IF8uaXNOdWxs KG5hbWUpIHx8IFN0cmluZyhuYW1lKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7 Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdOYW1lIG11c3QgYmUgc3BlY2lmaWVkLicpOwot ICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnbmFtZScsIG1zZyk7Ci0gICAgICAgICAg ICByZXR1cm4gbXNnOwotICAgICAgICAgIH0KLQotICAgICAgICAgIC8vIFZhbGlkYXRlIGxleGl6 ZSBmdW5jdGlvbiBjb250cm9sCi0gICAgICAgICAgZWxzZSBpZiAoXy5pc1VuZGVmaW5lZChsZXhp emUpIHx8IF8uaXNOdWxsKGxleGl6ZSkgfHwgU3RyaW5nKGxleGl6ZSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnTGV4aXplIGZ1 bmN0aW9uIG11c3QgYmUgc2VsZWN0ZWQuJyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu c2V0KCd0bXBsbGV4aXplJywgbXNnKTsKLSAgICAgICAgICAgIHJldHVybiBtc2c7Ci0gICAgICAg ICAgfQotCi0gICAgICAgICAgLy8gVmFsaWRhdGUgc2NoZW1hIGZvciBmdHMgdGVtcGxhdGUKLSAg ICAgICAgICBlbHNlIGlmIChfLmlzVW5kZWZpbmVkKHNjaGVtYSkgfHwgXy5pc051bGwoc2NoZW1h KSB8fCBTdHJpbmcoc2NoZW1hKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Ci0g ICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTY2hlbWEgbXVzdCBiZSBzZWxlY3RlZC4nKTsKLSAg ICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3NjaGVtYScsIG1zZyk7Ci0gICAgICAgICAg ICByZXR1cm4gbXNnOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIHRoaXMuZXJyb3JNb2Rl bC5jbGVhcigpOwotCi0gICAgICAgICAgdGhpcy50cmlnZ2VyKCdvbi1zdGF0dXMtY2xlYXInKTsK LSAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgfSwKLSAgICAgIH0pLAogICAgICAgZ2V0 U2NoZW1hOiAodHJlZU5vZGVJbmZvLCBpdGVtTm9kZURhdGEpID0+IHsKICAgICAgICAgbGV0IG5v ZGVPYmogPSBwZ0FkbWluLkJyb3dzZXIuTm9kZXNbJ2Z0c190ZW1wbGF0ZSddOwogICAgICAgICBy ZXR1cm4gbmV3IEZUU1RlbXBsYXRlU2NoZW1hKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3N0 YXRpYy9qcy9mdW5jdGlvbi5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9zdGF0aWMvanMvZnVuY3Rpb24uanMK aW5kZXggNDExNzFjNjJhLi5iOTEwN2Q5OGYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9zdGF0 aWMvanMvZnVuY3Rpb24uanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3N0YXRpYy9qcy9mdW5jdGlvbi5q cwpAQCAtMTEsNyArMTEsNiBAQCBpbXBvcnQgeyBnZXROb2RlQWpheE9wdGlvbnMsIGdldE5vZGVM aXN0QnlOYW1lLCBnZXROb2RlTGlzdEJ5SWR9IGZyb20gJy4uLy4uLy4uLwogaW1wb3J0IEZ1bmN0 aW9uU2NoZW1hIGZyb20gJy4vZnVuY3Rpb24udWknOwogaW1wb3J0IHsgZ2V0Tm9kZVByaXZpbGVn ZVJvbGVTY2hlbWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zdGF0aWMvanMvcHJpdmlsZWdlLnVp JzsKIGltcG9ydCB7IGdldE5vZGVWYXJpYWJsZVNjaGVtYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4u L3N0YXRpYy9qcy92YXJpYWJsZS51aSc7Ci1pbXBvcnQgXyBmcm9tICdsb2Rhc2gnOwogCiAvKiBD cmVhdGUgYW5kIFJlZ2lzdGVyIEZ1bmN0aW9uIENvbGxlY3Rpb24gYW5kIE5vZGUuICovCiBkZWZp bmUoJ3BnYWRtaW4ubm9kZS5mdW5jdGlvbicsIFsKQEAgLTEwOSw0NCArMTA4LDcgQEAgZGVmaW5l KCdwZ2FkbWluLm5vZGUuZnVuY3Rpb24nLCBbCiAgICAgICAgICAgfQogICAgICAgICApOwogICAg ICAgfSwKLSAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAg ICBpZEF0dHJpYnV0ZTogJ29pZCcsCi0gICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKGF0dHJz LCBhcmdzKSB7Ci0gICAgICAgICAgdmFyIGlzTmV3ID0gKF8uc2l6ZShhdHRycykgPT09IDApOwot ICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAgICAgLy8gU2V0IFNlbGVjdGVkIFNjaGVt YQotICAgICAgICAgICAgdmFyIHNjaGVtYV9pZCA9IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYS5faWQ7 Ci0gICAgICAgICAgICB0aGlzLnNldCh7J3Byb25hbWVzcGFjZSc6IHNjaGVtYV9pZH0sIHtzaWxl bnQ6IHRydWV9KTsKLQotICAgICAgICAgICAgLy8gU2V0IEN1cnJlbnQgVXNlcgotICAgICAgICAg ICAgdmFyIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2Vy dmVyLl9pZF0udXNlcjsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsnZnVuY293bmVyJzogdXNlcklu Zm8ubmFtZX0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcGdCcm93 c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRz KTsKLSAgICAgICAgfSwKLSAgICAgICAgc2NoZW1hOiBbewotICAgICAgICAgIGlkOiAnbmFtZScs IGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6 ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAg ICAgZGlzYWJsZWQ6ICdpc0Rpc2FibGVkJywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdv aWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5 cGU6ICd0ZXh0JyAsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LHsKLSAgICAgICAg ICBpZDogJ2Z1bmNvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCBjZWxsOiAnc3RyaW5n JywKLSAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFtZUNvbnRyb2wsIG5v ZGU6ICdyb2xlJywgIHR5cGU6Ci0gICAgICAgICAgJ3RleHQnLCBkaXNhYmxlZDogJ2lzRGlzYWJs ZWQnLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3Byb25hbWVzcGFjZScsIGxhYmVsOiBn ZXR0ZXh0KCdTY2hlbWEnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgY29udHJvbDogJ25v ZGUtbGlzdC1ieS1pZCcsIHR5cGU6ICd0ZXh0JywgY2FjaGVfbGV2ZWw6ICdkYXRhYmFzZScsCi0g ICAgICAgICAgbm9kZTogJ3NjaGVtYScsIGRpc2FibGVkOiAnaXNEaXNhYmxlZCcsIG1vZGU6IFsn Y3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdkZXNjcmlwdGlv bicsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAg IHR5cGU6ICdtdWx0aWxpbmUnLCBkaXNhYmxlZDogJ2lzRGlzYWJsZWQnLAotICAgICAgICB9XSwK LSAgICAgIH0pLAogICAgIH0pOwotCiAgIH0KLQogICByZXR1cm4gcGdCcm93c2VyLk5vZGVzWydm dW5jdGlvbiddOwogfSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvc3RhdGljL2pzL3Byb2Nl ZHVyZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9zdGF0aWMvanMvcHJvY2VkdXJlLmpzCmluZGV4IDFiNmI2 MTg2My4uN2NiY2RjOTA3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvc3RhdGljL2pzL3Byb2Nl ZHVyZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvc3RhdGljL2pzL3Byb2NlZHVyZS5qcwpAQCAtMTEs NyArMTEsNiBAQCBpbXBvcnQgeyBnZXROb2RlQWpheE9wdGlvbnMsIGdldE5vZGVMaXN0QnlOYW1l LCBnZXROb2RlTGlzdEJ5SWR9IGZyb20gJy4uLy4uLy4uLwogaW1wb3J0IEZ1bmN0aW9uU2NoZW1h IGZyb20gJy4vZnVuY3Rpb24udWknOwogaW1wb3J0IHsgZ2V0Tm9kZVByaXZpbGVnZVJvbGVTY2hl bWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zdGF0aWMvanMvcHJpdmlsZWdlLnVpJzsKIGltcG9y dCB7IGdldE5vZGVWYXJpYWJsZVNjaGVtYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0YXRpYy9q cy92YXJpYWJsZS51aSc7Ci1pbXBvcnQgXyBmcm9tICdsb2Rhc2gnOwogCiAvKiBDcmVhdGUgYW5k IFJlZ2lzdGVyIFByb2NlZHVyZSBDb2xsZWN0aW9uIGFuZCBOb2RlLiAqLwogZGVmaW5lKCdwZ2Fk bWluLm5vZGUucHJvY2VkdXJlJywgWwpAQCAtMTI2LDEyNiArMTI1LDYgQEAgZGVmaW5lKCdwZ2Fk bWluLm5vZGUucHJvY2VkdXJlJywgWwogICAgICAgICApOwogICAgICAgfSwKIAotICAgICAgbW9k ZWw6IEZ1bmN0aW9uLm1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGRlZmF1bHRzOiBfLmV4dGVuZCh7 fSwKLSAgICAgICAgICBGdW5jdGlvbi5tb2RlbC5wcm90b3R5cGUuZGVmYXVsdHMsCi0gICAgICAg ICAgewotICAgICAgICAgICAgbGFubmFtZTogJ2VkYnNwbCcsCi0gICAgICAgICAgfQotICAgICAg ICApLAotICAgICAgICBjYW5WYXJBZGQ6IGZ1bmN0aW9uKCkgewotICAgICAgICAgIHZhciBzZXJ2 ZXIgPSB0aGlzLm5vZGVfaW5mby5zZXJ2ZXI7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZlci52ZXJz aW9uID49IDkwNTAwOwotICAgICAgICB9LAotICAgICAgICBpc1Zpc2libGU6IGZ1bmN0aW9uKCkg ewotICAgICAgICAgIGlmICh0aGlzLm5hbWUgPT0gJ3N5c2Z1bmMnKSB7IHJldHVybiBmYWxzZTsg fQotICAgICAgICAgIGVsc2UgaWYgKHRoaXMubmFtZSA9PSAnc3lzcHJvYycpIHsgcmV0dXJuIHRy dWU7IH0KLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0sCi0gICAgICAgIGlzRGlz YWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICBpZih0aGlzLm5vZGVfaW5mbyAmJiAgJ2Nh dGFsb2cnIGluIHRoaXMubm9kZV9pbmZvKSB7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg ICAgICAgICB9Ci0gICAgICAgICAgc3dpdGNoKHRoaXMubmFtZSl7Ci0gICAgICAgICAgY2FzZSAn cHJvdm9sYXRpbGUnOgotICAgICAgICAgIGNhc2UgJ3Byb2lzc3RyaWN0JzoKLSAgICAgICAgICBj YXNlICdwcm9jb3N0JzoKLSAgICAgICAgICBjYXNlICdwcm9sZWFrcHJvb2YnOgotICAgICAgICAg ICAgaWYodGhpcy5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24gPCA5MDUwMCB8fAotICAgICAgICAg ICAgICB0aGlzLm5vZGVfaW5mby5zZXJ2ZXIuc2VydmVyX3R5cGUgIT0gJ3BwYXMnIHx8Ci0gICAg ICAgICAgICAgIG0uZ2V0KCdsYW5uYW1lJykgIT0gJ2VkYnNwbCcpIHsKLQotICAgICAgICAgICAg ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIG0uc2V0KCdwcm92b2xh dGlsZScsIG51bGwpOwotICAgICAgICAgICAgICAgIG0uc2V0KCdwcm9pc3N0cmljdCcsIGZhbHNl KTsKLSAgICAgICAgICAgICAgICBtLnNldCgncHJvY29zdCcsIG51bGwpOwotICAgICAgICAgICAg ICAgIG0uc2V0KCdwcm9sZWFrcHJvb2YnLCBmYWxzZSk7Ci0gICAgICAgICAgICAgIH0sIDEwKTsK LSAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBl bHNlewotICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAg ICAgY2FzZSAndmFyaWFibGVzJzoKLSAgICAgICAgICBjYXNlICdwcm9zZWNkZWYnOgotICAgICAg ICAgICAgcmV0dXJuIHRoaXMubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uIDwgOTA1MDA7Ci0gICAg ICAgICAgY2FzZSAncHJvcm93cyc6Ci0gICAgICAgICAgICB2YXIgc2VydmVyID0gdGhpcy5ub2Rl X2luZm8uc2VydmVyOwotICAgICAgICAgICAgcmV0dXJuICEoc2VydmVyLnZlcnNpb24gPj0gOTA1 MDAgJiYgbS5nZXQoJ3Byb3JldHNldCcpID09IHRydWUpOwotICAgICAgICAgIGNhc2UgJ3Byb3Bh cmFsbGVsJzoKLSAgICAgICAgICAgIGlmICh0aGlzLm5vZGVfaW5mby5zZXJ2ZXIudmVyc2lvbiA8 IDkwNjAwIHx8Ci0gICAgICAgICAgICAgIHRoaXMubm9kZV9pbmZvLnNlcnZlci5zZXJ2ZXJfdHlw ZSAhPSAncHBhcycgfHwKLSAgICAgICAgICAgICAgbS5nZXQoJ2xhbm5hbWUnKSAhPSAnZWRic3Bs JykgewotICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg ICAgIG0uc2V0KCdwcm9wYXJhbGxlbCcsIG51bGwpOwotICAgICAgICAgICAgICB9LCAxMCk7Ci0g ICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxz ZXsKLSAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICAg IGNhc2UgJ2xhbm5hbWUnOgotICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZV9pbmZvLnNlcnZl ci52ZXJzaW9uIDwgMTEwMDAwOwotICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1 cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB2YWxpZGF0ZTogZnVu Y3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgdmFyIGVyciA9IHt9LAotICAgICAgICAgICAg ZXJybXNnLAotICAgICAgICAgICAgc2VjbGFiZWxzID0gdGhpcy5nZXQoJ3NlY2xhYmVscycpOwot Ci0gICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ25hbWUnKSkgfHwgU3RyaW5n KHRoaXMuZ2V0KCduYW1lJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAg ICAgICAgICAgIGVyclsnbmFtZSddID0gZ2V0dGV4dCgnTmFtZSBjYW5ub3QgYmUgZW1wdHkuJyk7 Ci0gICAgICAgICAgICBlcnJtc2cgPSBlcnJbJ25hbWUnXTsKLSAgICAgICAgICB9Ci0KLSAgICAg ICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgncHJvbmFtZXNwYWNlJykpIHx8IFN0cmlu Zyh0aGlzLmdldCgncHJvbmFtZXNwYWNlJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0g JycpIHsKLSAgICAgICAgICAgIGVyclsncHJvbmFtZXNwYWNlJ10gPSBnZXR0ZXh0KCdTY2hlbWEg Y2Fubm90IGJlIGVtcHR5LicpOwotICAgICAgICAgICAgZXJybXNnID0gZXJybXNnIHx8IGVyclsn cHJvbmFtZXNwYWNlJ107Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgaWYgKF8uaXNVbmRlZmlu ZWQodGhpcy5nZXQoJ2xhbm5hbWUnKSkgfHwgU3RyaW5nKHRoaXMuZ2V0KCdsYW5uYW1lJykpLnJl cGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnbGFubmFt ZSddID0gZ2V0dGV4dCgnTGFuZ3VhZ2UgY2Fubm90IGJlIGVtcHR5LicpOwotICAgICAgICAgICAg ZXJybXNnID0gZXJybXNnIHx8IGVyclsnbGFubmFtZSddOwotICAgICAgICAgIH0KLQotICAgICAg ICAgIGlmIChTdHJpbmcodGhpcy5nZXQoJ2xhbm5hbWUnKSkgPT0gJ2MnKSB7Ci0gICAgICAgICAg ICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgncHJvYmluJykpIHx8IFN0cmluZyh0aGlzLmdl dCgncHJvYmluJykpCi0gICAgICAgICAgICAgIC5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09 ICcnKSB7Ci0gICAgICAgICAgICAgIGVyclsncHJvYmluJ10gPSBnZXR0ZXh0KCdPYmplY3QgRmls ZSBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICAgIGVycm1zZyA9IGVycm1zZyB8fCBl cnJbJ3Byb2JpbiddOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoXy5pc1VuZGVm aW5lZCh0aGlzLmdldCgncHJvc3JjX2MnKSkgfHwgU3RyaW5nKHRoaXMuZ2V0KCdwcm9zcmNfYycp KS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Ci0gICAgICAgICAgICAgIGVyclsn cHJvc3JjX2MnXSA9IGdldHRleHQoJ0xpbmsgU3ltYm9sIGNhbm5vdCBiZSBlbXB0eS4nKTsKLSAg ICAgICAgICAgICAgZXJybXNnID0gZXJybXNnIHx8IGVyclsncHJvc3JjX2MnXTsKLSAgICAgICAg ICAgIH0KLSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoXy5p c1VuZGVmaW5lZCh0aGlzLmdldCgncHJvc3JjJykpIHx8IFN0cmluZyh0aGlzLmdldCgncHJvc3Jj JykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgICAgZXJy Wydwcm9zcmMnXSA9IGdldHRleHQoJ0NvZGUgY2Fubm90IGJlIGVtcHR5LicpOwotICAgICAgICAg ICAgICBlcnJtc2cgPSBlcnJtc2cgfHwgZXJyWydwcm9zcmMnXTsKLSAgICAgICAgICAgIH0KLSAg ICAgICAgICB9Ci0KLSAgICAgICAgICBpZiAoc2VjbGFiZWxzKSB7Ci0gICAgICAgICAgICB2YXIg c2VjTGFiZWxzRXJyOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWNsYWJlbHMu bW9kZWxzLmxlbmd0aCAmJiAhc2VjTGFiZWxzRXJyOyBpKyspIHsKLSAgICAgICAgICAgICAgc2Vj TGFiZWxzRXJyID0gKHNlY2xhYmVscy5tb2RlbHNbaV0pLnZhbGlkYXRlLmFwcGx5KHNlY2xhYmVs cy5tb2RlbHNbaV0pOwotICAgICAgICAgICAgICBpZiAoc2VjTGFiZWxzRXJyKSB7Ci0gICAgICAg ICAgICAgICAgZXJyWydzZWNsYWJlbHMnXSA9IHNlY0xhYmVsc0VycjsKLSAgICAgICAgICAgICAg ICBlcnJtc2cgPSBlcnJtc2cgfHwgc2VjTGFiZWxzRXJyOwotICAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICB9Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgdGhpcy5lcnJvck1vZGVsLmNsZWFy KCkuc2V0KGVycik7Ci0KLSAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgfSwKLSAgICAg IH0pLAogICAgIH0pOwogCiAgIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9zdGF0aWMvanMv dHJpZ2dlcl9mdW5jdGlvbi5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9zdGF0aWMvanMvdHJpZ2dlcl9mdW5j dGlvbi5qcwppbmRleCBlYzBiOWYyYzUuLjFlZWQ4ZThiZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rp b25zL3N0YXRpYy9qcy90cmlnZ2VyX2Z1bmN0aW9uLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9zdGF0 aWMvanMvdHJpZ2dlcl9mdW5jdGlvbi5qcwpAQCAtMTA3LDE1MSArMTA3LDYgQEAgZGVmaW5lKCdw Z2FkbWluLm5vZGUudHJpZ2dlcl9mdW5jdGlvbicsIFsKICAgICAgICAgICB9CiAgICAgICAgICk7 CiAgICAgICB9LAotICAgICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0g ICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24o YXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9PT0g MCk7Ci0gICAgICAgICAgaWYgKGlzTmV3KSB7Ci0gICAgICAgICAgICAvLyBTZXQgU2VsZWN0ZWQg U2NoZW1hCi0gICAgICAgICAgICB2YXIgc2NoZW1hX2lkID0gYXJncy5ub2RlX2luZm8uc2NoZW1h Ll9pZDsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsncHJvbmFtZXNwYWNlJzogc2NoZW1hX2lkfSwg e3NpbGVudDogdHJ1ZX0pOwotCi0gICAgICAgICAgICAvLyBTZXQgQ3VycmVudCBVc2VyCi0gICAg ICAgICAgICB2YXIgdXNlckluZm8gPSBwZ0Jyb3dzZXIuc2VydmVySW5mb1thcmdzLm5vZGVfaW5m by5zZXJ2ZXIuX2lkXS51c2VyOwotICAgICAgICAgICAgdGhpcy5zZXQoeydmdW5jb3duZXInOiB1 c2VySW5mby5uYW1lfSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgIH0KLSAgICAgICAgICBw Z0Jyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1 bWVudHMpOwotICAgICAgICB9LAotICAgICAgICBkZWZhdWx0czogewotICAgICAgICAgIG5hbWU6 IHVuZGVmaW5lZCwKLSAgICAgICAgICBvaWQ6IHVuZGVmaW5lZCwKLSAgICAgICAgICBmdW5jb3du ZXI6IHVuZGVmaW5lZCwKLSAgICAgICAgICBkZXNjcmlwdGlvbjogdW5kZWZpbmVkLAotICAgICAg ICB9LAotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdl dHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBt b2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgICBkaXNhYmxl ZDogJ2lzRGlzYWJsZWQnLCByZWFkb25seTogJ2lzUmVhZG9ubHknLAotICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDogJ3N0cmluZycs Ci0gICAgICAgICAgdHlwZTogJ3RleHQnICwgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAg IH0sewotICAgICAgICAgIGlkOiAnZnVuY293bmVyJywgbGFiZWw6IGdldHRleHQoJ093bmVyJyks IGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIGNvbnRyb2w6IEJhY2tmb3JtLk5vZGVMaXN0QnlO YW1lQ29udHJvbCwgbm9kZTogJ3JvbGUnLCAgdHlwZToKLSAgICAgICAgICAndGV4dCcsIGRpc2Fi bGVkOiAnaXNEaXNhYmxlZCcsIHJlYWRvbmx5OiAnaXNSZWFkb25seScsCi0gICAgICAgIH0sewot ICAgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCBj ZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAnbXVsdGlsaW5lJywgZGlzYWJsZWQ6ICdp c0Rpc2FibGVkJywgcmVhZG9ubHk6ICdpc1JlYWRvbmx5JywKLSAgICAgICAgfV0sCi0gICAgICAg IHZhbGlkYXRlOiBmdW5jdGlvbihrZXlzKQotICAgICAgICB7Ci0gICAgICAgICAgdmFyIGVyciA9 IHt9LAotICAgICAgICAgICAgZXJybXNnLAotICAgICAgICAgICAgc2VjbGFiZWxzID0gdGhpcy5n ZXQoJ3NlY2xhYmVscycpOwotCi0gICAgICAgICAgLy8gTm90aGluZyB0byB2YWxpZGF0ZQotICAg ICAgICAgIGlmKGtleXMgJiYga2V5cy5sZW5ndGggPT0gMCkgewotICAgICAgICAgICAgdGhpcy5l cnJvck1vZGVsLmNsZWFyKCk7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgICB9 Ci0KLSAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScpKSB8fCBTdHJp bmcodGhpcy5nZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewot ICAgICAgICAgICAgZXJyWyduYW1lJ10gPSBnZXR0ZXh0KCdOYW1lIGNhbm5vdCBiZSBlbXB0eS4n KTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVyclsnbmFtZSddOwotICAgICAgICAgIH0KLQotICAg ICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdmdW5jb3duZXInKSkgfHwgU3RyaW5n KHRoaXMuZ2V0KCdmdW5jb3duZXInKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykg ewotICAgICAgICAgICAgZXJyWydmdW5jb3duZXInXSA9IGdldHRleHQoJ093bmVyIGNhbm5vdCBi ZSBlbXB0eS4nKTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVycm1zZyB8fCBlcnJbJ2Z1bmNvd25l ciddOwotICAgICAgICAgIH0KLQotICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0 KCdwcm9uYW1lc3BhY2UnKSkgfHwgU3RyaW5nKHRoaXMuZ2V0KCdwcm9uYW1lc3BhY2UnKSkucmVw bGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgZXJyWydwcm9uYW1l c3BhY2UnXSA9IGdldHRleHQoJ1NjaGVtYSBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAg ICBlcnJtc2cgPSBlcnJtc2cgfHwgZXJyWydwcm9uYW1lc3BhY2UnXTsKLSAgICAgICAgICB9Ci0K LSAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgncHJvcmV0dHlwZW5hbWUnKSkg fHwgU3RyaW5nKHRoaXMuZ2V0KCdwcm9yZXR0eXBlbmFtZScpKS5yZXBsYWNlKC9eXHMrfFxzKyQv ZywgJycpID09ICcnKSB7Ci0gICAgICAgICAgICBlcnJbJ3Byb3JldHR5cGVuYW1lJ10gPSBnZXR0 ZXh0KCdSZXR1cm4gdHlwZSBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICBlcnJtc2cg PSBlcnJtc2cgfHwgZXJyWydwcm9yZXR0eXBlbmFtZSddOwotICAgICAgICAgIH0KLQotICAgICAg ICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdsYW5uYW1lJykpIHx8IFN0cmluZyh0aGlz LmdldCgnbGFubmFtZScpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Ci0gICAg ICAgICAgICBlcnJbJ2xhbm5hbWUnXSA9IGdldHRleHQoJ0xhbmd1YWdlIGNhbm5vdCBiZSBlbXB0 eS4nKTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVycm1zZyB8fCBlcnJbJ2xhbm5hbWUnXTsKLSAg ICAgICAgICB9Ci0KLSAgICAgICAgICBpZiAoU3RyaW5nKHRoaXMuZ2V0KCdsYW5uYW1lJykpID09 ICdjJykgewotICAgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3Byb2Jpbicp KSB8fCBTdHJpbmcodGhpcy5nZXQoJ3Byb2JpbicpKQotICAgICAgICAgICAgICAucmVwbGFjZSgv XlxzK3xccyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgICBlcnJbJ3Byb2JpbiddID0g Z2V0dGV4dCgnT2JqZWN0IEZpbGUgY2Fubm90IGJlIGVtcHR5LicpOwotICAgICAgICAgICAgICBl cnJtc2cgPSBlcnJtc2cgfHwgZXJyWydwcm9iaW4nXTsKLSAgICAgICAgICAgIH0KLQotICAgICAg ICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3Byb3NyY19jJykpIHx8IFN0cmluZyh0 aGlzLmdldCgncHJvc3JjX2MnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewot ICAgICAgICAgICAgICBlcnJbJ3Byb3NyY19jJ10gPSBnZXR0ZXh0KCdMaW5rIFN5bWJvbCBjYW5u b3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICAgIGVycm1zZyA9IGVycm1zZyB8fCBlcnJbJ3By b3NyY19jJ107Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2Ugewot ICAgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3Byb3NyYycpKSB8fCBTdHJp bmcodGhpcy5nZXQoJ3Byb3NyYycpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7 Ci0gICAgICAgICAgICAgIGVyclsncHJvc3JjJ10gPSBnZXR0ZXh0KCdDb2RlIGNhbm5vdCBiZSBl bXB0eS4nKTsKLSAgICAgICAgICAgICAgZXJybXNnID0gZXJybXNnIHx8IGVyclsncHJvc3JjJ107 Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgaWYgKHNlY2xhYmVscykg ewotICAgICAgICAgICAgdmFyIHNlY0xhYmVsc0VycjsKLSAgICAgICAgICAgIGZvciAodmFyIGkg PSAwOyBpIDwgc2VjbGFiZWxzLm1vZGVscy5sZW5ndGggJiYgIXNlY0xhYmVsc0VycjsgaSsrKSB7 Ci0gICAgICAgICAgICAgIHNlY0xhYmVsc0VyciA9IChzZWNsYWJlbHMubW9kZWxzW2ldKS52YWxp ZGF0ZS5hcHBseShzZWNsYWJlbHMubW9kZWxzW2ldKTsKLSAgICAgICAgICAgICAgaWYgKHNlY0xh YmVsc0VycikgewotICAgICAgICAgICAgICAgIGVyclsnc2VjbGFiZWxzJ10gPSBzZWNMYWJlbHNF cnI7Ci0gICAgICAgICAgICAgICAgZXJybXNnID0gZXJybXNnIHx8IHNlY0xhYmVsc0VycjsKLSAg ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLQotICAgICAgICAgIHRo aXMuZXJyb3JNb2RlbC5jbGVhcigpLnNldChlcnIpOwotCi0gICAgICAgICAgaWYgKF8uc2l6ZShl cnIpKSB7Ci0gICAgICAgICAgICB0aGlzLnRyaWdnZXIoJ29uLXN0YXR1cycsIHttc2c6IGVycm1z Z30pOwotICAgICAgICAgICAgcmV0dXJuIGVycm1zZzsKLSAgICAgICAgICB9Ci0KLSAgICAgICAg ICByZXR1cm4gbnVsbDsKLSAgICAgICAgfSwKLSAgICAgICAgaXNWaXNpYmxlOiBmdW5jdGlvbigp IHsKLSAgICAgICAgICBpZiAodGhpcy5uYW1lID09ICdzeXNwcm9jJykgeyByZXR1cm4gZmFsc2U7 IH0KLSAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfSwKLSAgICAgICAgaXNSZWFkb25s eTogZnVuY3Rpb24obSkgewotICAgICAgICAgIHN3aXRjaCh0aGlzLm5hbWUpewotICAgICAgICAg IGNhc2UgJ3Byb2FyZ3MnOgotICAgICAgICAgIGNhc2UgJ3Byb2FyZ3R5cGVuYW1lcyc6Ci0gICAg ICAgICAgY2FzZSAncHJvcmV0dHlwZW5hbWUnOgotICAgICAgICAgIGNhc2UgJ3Byb3JldHNldCc6 Ci0gICAgICAgICAgY2FzZSAncHJvaXN3aW5kb3cnOgotICAgICAgICAgICAgcmV0dXJuICFtLmlz TmV3KCk7Ci0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg ICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIGlzRGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsK LSAgICAgICAgICBpZih0aGlzLm5vZGVfaW5mbyAmJiAgJ2NhdGFsb2cnIGluIHRoaXMubm9kZV9p bmZvKSB7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICB9Ci0gICAgICAgICAg aWYgKHRoaXMubmFtZSA9PT0gJ3Byb3Jvd3MnKXsKLSAgICAgICAgICAgIGlmKG0uZ2V0KCdwcm9y ZXRzZXQnKSA9PSB0cnVlKSB7Ci0gICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg ICAgIH0KLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgIH0gZWxzZSB7Ci0gICAg ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICBj YW5WYXJBZGQ6IGZ1bmN0aW9uKCkgewotICAgICAgICAgIHJldHVybiAhKHRoaXMubm9kZV9pbmZv ICYmICAnY2F0YWxvZycgaW4gdGhpcy5ub2RlX2luZm8pOwotICAgICAgICB9LAotICAgICAgfSks CiAgICAgfSk7CiAKICAgfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvb3BlcmF0b3JzL3N0YXRpYy9qcy9vcGVy YXRvci5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL29wZXJhdG9ycy9zdGF0aWMvanMvb3BlcmF0b3IuanMKaW5kZXggOThmZmY2 YmFiLi4zYTJiYjY1YTggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL29wZXJhdG9ycy9zdGF0aWMvanMvb3BlcmF0 b3IuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvb3BlcmF0b3JzL3N0YXRpYy9qcy9vcGVyYXRvci5qcwpAQCAtNDUsMzcg KzQ1LDYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUub3BlcmF0b3InLCBbCiAKICAgICAgICAgdGhp cy5pbml0aWFsaXplZCA9IHRydWU7CiAgICAgICB9LAotICAgICAgbW9kZWw6IHBnQWRtaW4uQnJv d3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKLQot ICAgICAgICAvLyBEZWZhdWx0IHZhbHVlcyEKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24o YXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9PT0g MCk7Ci0KLSAgICAgICAgICBpZiAoaXNOZXcpIHsKLSAgICAgICAgICAgIHZhciB1c2VySW5mbyA9 IHBnQnJvd3Nlci5zZXJ2ZXJJbmZvW2FyZ3Mubm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7Ci0g ICAgICAgICAgICB2YXIgc2NoZW1hSW5mbyA9IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYTsKLQotICAg ICAgICAgICAgdGhpcy5zZXQoeydvd25lcic6IHVzZXJJbmZvLm5hbWV9LCB7c2lsZW50OiB0cnVl fSk7Ci0gICAgICAgICAgICB0aGlzLnNldCh7J3NjaGVtYSc6IHNjaGVtYUluZm8uX2xhYmVsfSwg e3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgIH0KLSAgICAgICAgICBwZ0FkbWluLkJyb3dzZXIu Tm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwot ICAgICAgICB9LAotCi0gICAgICAgIHNjaGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUnLCBs YWJlbDogZ2V0dGV4dCgnT3BlcmF0b3InKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlw ZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAg ICAgfSx7Ci0gICAgICAgICAgaWQ6ICdvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCBj ZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGll cycsICdjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICAgIGNvbnRyb2w6ICdub2RlLWxpc3QtYnkt bmFtZScsCi0gICAgICAgICAgbm9kZTogJ3JvbGUnLAotICAgICAgICB9LHsKLSAgICAgICAgICBp ZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScsIG1vZGU6IFsncHJvcGVydGllcycsICdj cmVhdGUnLCAnZWRpdCddLAotICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICB9KSwKICAgICAg IGdldFNjaGVtYTogKCk9PnsKICAgICAgICAgcmV0dXJuIG5ldyBPcGVyYXRvclNjaGVtYSgpOwog ICAgICAgfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvZWRidmFycy9zdGF0aWMvanMvZWRidmFy LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvcGFja2FnZXMvZWRidmFycy9zdGF0aWMvanMvZWRidmFyLmpzCmluZGV4IGEzYzM0 MDQwNy4uZDllYmI5ZDNkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdlcy9lZGJ2YXJzL3N0YXRpYy9q cy9lZGJ2YXIuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvZWRidmFycy9zdGF0aWMvanMvZWRidmFyLmpz CkBAIC00OCwxNiArNDgsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5lZGJ2YXInLCBbCiAgICAg ICB9LAogICAgICAgY2FuRHJvcDogZmFsc2UsCiAgICAgICBjYW5Ecm9wQ2FzY2FkZTogZmFsc2Us Ci0gICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRB dHRyaWJ1dGU6ICdvaWQnLAotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1l JywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlw ZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAg aWQ6ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAg ICAgIHR5cGU6ICd0ZXh0JyAsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9XQotICAg ICAgfSksCiAgICAgICBnZXRTY2hlbWE6ICgpID0+IHsKICAgICAgICAgcmV0dXJuIG5ldyBFREJW YXJTY2hlbWEoKTsKICAgICAgIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3BhY2thZ2VzL3N0YXRpYy9qcy9w YWNrYWdlLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvc3RhdGljL2pzL3BhY2thZ2UuanMKaW5kZXggYTJjZTYz ZmMzLi4wMDNmMzc5YmQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3BhY2thZ2VzL3N0YXRpYy9qcy9wYWNrYWdl LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3BhY2thZ2VzL3N0YXRpYy9qcy9wYWNrYWdlLmpzCkBAIC05Miw0MSArOTIs NiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5wYWNrYWdlJywgWwogICAgICAgICAvLyBieSBkZWZh dWx0IHdlIHdhbnQgdG8gYWxsb3cgY3JlYXRlIG1lbnUKICAgICAgICAgcmV0dXJuIHRydWU7CiAg ICAgICB9LAotICAgICAgLy8gRGVmaW5lIHRoZSBtb2RlbCBmb3IgcGFja2FnZSBub2RlLgotICAg ICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0cmli dXRlOiAnb2lkJywKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsK LSAgICAgICAgICBpZiAoXy5zaXplKGF0dHJzKSA9PT0gMCkgewotICAgICAgICAgICAgdmFyIHVz ZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2VydmVyLl9pZF0u dXNlcjsKLSAgICAgICAgICAgIHZhciBzY2hlbWFJbmZvID0gYXJncy5ub2RlX2luZm8uc2NoZW1h OwotCi0gICAgICAgICAgICB0aGlzLnNldCh7Ci0gICAgICAgICAgICAgICdvd25lcic6IHVzZXJJ bmZvLm5hbWUsICdzY2hlbWEnOiBzY2hlbWFJbmZvLl9sYWJlbCwKLSAgICAgICAgICAgIH0sIHtz aWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLk5v ZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAg ICAgICAgfSwKLSAgICAgICAgLy8gRGVmaW5lIHRoZSBzY2hlbWEgZm9yIHBhY2thZ2Ugbm9kZS4K LSAgICAgICAgc2NoZW1hOiBbewotICAgICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0 KCdOYW1lJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTog Wydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgcmVhZG9ubHk6IGZ1 bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIHJldHVybiAhbS5pc05ldygpOwotICAgICAgICAgIH0s Ci0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQoJ09JRCcp LCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVy dGllcyddLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ293bmVyJywgbGFiZWw6IGdldHRl eHQoJ093bmVyJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9k ZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgcmVhZG9ubHk6 IHRydWUsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTogZnVuY3Rpb24obSkgewotICAgICAgICAg ICAgcmV0dXJuICFtLmlzTmV3KCk7Ci0gICAgICAgICAgfSwKLSAgICAgICAgfSx7Ci0gICAgICAg ICAgaWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIHR5cGU6ICdt dWx0aWxpbmUnLAotICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRp dCddLAotICAgICAgICB9XQotICAgICAgfSksCiAgICAgICBnZXRTY2hlbWE6ICh0cmVlTm9kZUlu Zm8sIGl0ZW1Ob2RlRGF0YSkgPT4gewogICAgICAgICB2YXIgbm9kZU9iaiA9IHBnQnJvd3Nlci5O b2Rlc1sncGFja2FnZSddOwogICAgICAgICByZXR1cm4gbmV3IFBhY2thZ2VTY2hlbWEoCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9zZXF1ZW5jZXMvc3RhdGljL2pzL3NlcXVlbmNlLmpzIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc2VxdWVuY2Vz L3N0YXRpYy9qcy9zZXF1ZW5jZS5qcwppbmRleCA2YzM1OGZkNTguLjBlMzM2NjgyYSAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvc2VxdWVuY2VzL3N0YXRpYy9qcy9zZXF1ZW5jZS5qcworKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9zZXF1ZW5j ZXMvc3RhdGljL2pzL3NlcXVlbmNlLmpzCkBAIC0xMDYsNDEgKzEwNiw2IEBAIGRlZmluZSgncGdh ZG1pbi5ub2RlLnNlcXVlbmNlJywgWwogICAgICAgICAgIH0KICAgICAgICAgKTsKICAgICAgIH0s Ci0KLSAgICAgIC8vIERlZmluZSB0aGUgbW9kZWwgZm9yIHNlcXVlbmNlIG5vZGUuCi0gICAgICBt b2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRBdHRyaWJ1dGU6 ICdvaWQnLAotCi0gICAgICAgIC8vIERlZmF1bHQgdmFsdWVzIQotICAgICAgICBpbml0aWFsaXpl OiBmdW5jdGlvbihhdHRycywgYXJncykgewotICAgICAgICAgIHZhciBpc05ldyA9IChfLnNpemUo YXR0cnMpID09PSAwKTsKLQotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAgICAgdmFy IHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2VydmVyLl9p ZF0udXNlcjsKLSAgICAgICAgICAgIHZhciBzY2hlbWFJbmZvID0gYXJncy5ub2RlX2luZm8uc2No ZW1hOwotCi0gICAgICAgICAgICB0aGlzLnNldCh7J3NlcW93bmVyJzogdXNlckluZm8ubmFtZX0s IHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsnc2NoZW1hJzogc2NoZW1h SW5mby5fbGFiZWx9LCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHBn QnJvd3Nlci5Ob2RlLk1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3Vt ZW50cyk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgLy8gRGVmaW5lIHRoZSBzY2hlbWEgZm9yIHNl cXVlbmNlIG5vZGUuCi0gICAgICAgIHNjaGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUnLCBs YWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAn dGV4dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICB9 LHsKLSAgICAgICAgICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDogJ3N0 cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAg ICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdzZXFvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25l cicpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJv cGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLCBub2RlOiAncm9sZScsCi0gICAgICAgICAgY29u dHJvbDogQmFja2Zvcm0uTm9kZUxpc3RCeU5hbWVDb250cm9sLAotICAgICAgICB9LHsKLSAgICAg ICAgICBpZDogJ2NvbW1lbnQnLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCB0eXBlOiAnbXVs dGlsaW5lJywKLSAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQn XSwKLSAgICAgICAgfV0sCi0gICAgICB9KSwKICAgICB9KTsKICAgfQogCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9zdGF0aWMvanMvY2F0YWxvZy5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N0YXRpYy9qcy9jYXRhbG9nLmpzCmluZGV4IGM0 MWNiZDVkMi4uNDJkMTgyYzQ4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9zdGF0aWMvanMvY2F0YWxvZy5qcwor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9zdGF0aWMvanMvY2F0YWxvZy5qcwpAQCAtNDIsMjUgKzQyLDYgQEAgZGVmaW5lKCdw Z2FkbWluLm5vZGUuY2F0YWxvZycsIFsKICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7 CiAKICAgICAgIH0sCi0gICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsK LSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsKLSAgICAgICAgICB2 YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9PT0gMCk7Ci0KLSAgICAgICAgICBpZiAoaXNOZXcp IHsKLSAgICAgICAgICAgIHZhciB1c2VySW5mbyA9IHBnQnJvd3Nlci5zZXJ2ZXJJbmZvW2FyZ3Mu bm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7Ci0KLSAgICAgICAgICAgIHRoaXMuc2V0KHsnbmFt ZXNwYWNlb3duZXInOiB1c2VySW5mby5uYW1lfSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAg IH0KLSAgICAgICAgICBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5h cHBseSh0aGlzLCBhcmd1bWVudHMpOwotICAgICAgICB9LAotICAgICAgICBzY2hlbWE6IFt7Ci0g ICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCByZWFkb25seTogdHJ1ZSwKLSAgICAgICAgfSx7 Ci0gICAgICAgICAgaWQ6ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJp bmcnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICB0eXBlOiAndGV4dCcsCi0gICAg ICAgIH1dCi0gICAgICB9KSwKICAgICAgIGdldFNjaGVtYTogZnVuY3Rpb24odHJlZU5vZGVJbmZv KSB7CiAgICAgICAgIHJldHVybiBuZXcgQ2F0YWxvZ1NjaGVtYSgKICAgICAgICAgICB7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9zdGF0aWMvanMvc2NoZW1hLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc3RhdGljL2pzL3NjaGVtYS5qcwpp bmRleCBlZTM4NGY2MjkuLjQ4MjJjMjA0ZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc3RhdGljL2pzL3NjaGVt YS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9zdGF0aWMvanMvc2NoZW1hLmpzCkBAIC0zNjEsMzYgKzM2MSw2IEBAIGRl ZmluZSgncGdhZG1pbi5ub2RlLnNjaGVtYScsIFsKICAgICAgIGNhbl9jcmVhdGVfc2NoZW1hOiBm dW5jdGlvbihub2RlKSB7CiAgICAgICAgIHJldHVybiBwZ0Jyb3dzZXIuTm9kZXNbJ2RhdGFiYXNl J10uaXNfY29ubl9hbGxvdy5jYWxsKHRoaXMsIG5vZGUpOwogICAgICAgfSwKLSAgICAgIG1vZGVs OiBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJpYnV0ZTogJ29p ZCcsCi0gICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKGF0dHJzLCBhcmdzKSB7Ci0gICAgICAg ICAgdmFyIGlzTmV3ID0gKF8uc2l6ZShhdHRycykgPT09IDApOwotCi0gICAgICAgICAgaWYgKGlz TmV3KSB7Ci0gICAgICAgICAgICB2YXIgdXNlckluZm8gPSBwZ0Jyb3dzZXIuc2VydmVySW5mb1th cmdzLm5vZGVfaW5mby5zZXJ2ZXIuX2lkXS51c2VyOwotCi0gICAgICAgICAgICB0aGlzLnNldCh7 J25hbWVzcGFjZW93bmVyJzogdXNlckluZm8ubmFtZX0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAg ICAgICB9Ci0gICAgICAgICAgcGdCcm93c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxp emUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgfSwKLSAgICAgICAgc2NoZW1hOiBb ewotICAgICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdz dHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgfSx7Ci0gICAgICAgICAg aWQ6ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAg ICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAgIH0sewotICAg ICAgICAgIGlkOiAnbmFtZXNwYWNlb3duZXInLCBsYWJlbDogZ2V0dGV4dCgnT3duZXInKSwgY2Vs bDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBjb250cm9sOiAnbm9kZS1saXN0 LWJ5LW5hbWUnLCBub2RlOiAncm9sZScsCi0gICAgICAgICAgc2VsZWN0MjogeyBhbGxvd0NsZWFy OiBmYWxzZSB9LAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2lzX3N5c19vYmonLCBsYWJl bDogZ2V0dGV4dCgnU3lzdGVtIHNjaGVtYT8nKSwKLSAgICAgICAgICBjZWxsOiAnc3dpdGNoJywg dHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LHsKLSAgICAg ICAgICBpZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDog J3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScKLSAgICAgICAgfV0KLSAgICAg IH0pLAogICAgICAgZ2V0U2NoZW1hOiBmdW5jdGlvbih0cmVlTm9kZUluZm8sIGl0ZW1Ob2RlRGF0 YSkgewogICAgICAgICB2YXIgc2NoZW1hT2JqID0gcGdCcm93c2VyLk5vZGVzWydzY2hlbWEnXTsK ICAgICAgICAgcmV0dXJuIG5ldyBQR1NjaGVtYSgKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5bm9ueW1zL3N0 YXRpYy9qcy9zeW5vbnltLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc3lub255bXMvc3RhdGljL2pzL3N5bm9ueW0uanMKaW5k ZXggODE4MWZkYzk0Li4xMDQzMjRjYjMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5bm9ueW1zL3N0YXRpYy9q cy9zeW5vbnltLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5bm9ueW1zL3N0YXRpYy9qcy9zeW5vbnltLmpzCkBAIC0x MDAsNTQgKzEwMCw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnN5bm9ueW0nLCBbCiAgICAgICAg ICAgfQogICAgICAgICApOwogICAgICAgfSwKLQotICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nl ci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlzTmV3OiBmdW5jdGlvbigpIHsKLSAgICAg ICAgICByZXR1cm4gIXRoaXMuZmV0Y2hGcm9tU2VydmVyOwotICAgICAgICB9LAotICAgICAgICBp ZEF0dHJpYnV0ZTogJ29pZCcsCi0gICAgICAgIC8vIERlZmF1bHQgdmFsdWVzIQotICAgICAgICBp bml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykgewotICAgICAgICAgIHZhciBpc05ldyA9 IChfLnNpemUoYXR0cnMpID09PSAwKTsKLQotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAg ICAgICAgdmFyIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8u c2VydmVyLl9pZF0udXNlcjsKLSAgICAgICAgICAgIHZhciBzY2hlbWFJbmZvID0gYXJncy5ub2Rl X2luZm8uc2NoZW1hOwotICAgICAgICAgICAgdGhpcy5zZXQoewotICAgICAgICAgICAgICAnb3du ZXInOiB1c2VySW5mby5uYW1lLAotICAgICAgICAgICAgICAnc3lub2Jqc2NoZW1hJzogc2NoZW1h SW5mby5fbGFiZWwsCi0gICAgICAgICAgICAgICdzY2hlbWEnOiBzY2hlbWFJbmZvLl9sYWJlbCwK LSAgICAgICAgICAgICAgJ3RhcmdldHR5cGUnOiAncicsCi0gICAgICAgICAgICB9LCB7c2lsZW50 OiB0cnVlfSk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRoaXMuZmV0Y2hGcm9t U2VydmVyID0gdHJ1ZTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLk5v ZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLQot ICAgICAgICB9LAotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFi ZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3Rl eHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgICBk aXNhYmxlZDogJ2luU2NoZW1hJywgcmVhZG9ubHk6IGZ1bmN0aW9uKG0pIHsgcmV0dXJuICFtLmlz TmV3KCk7IH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRl eHQoJ09JRCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6 IFsncHJvcGVydGllcyddLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ293bmVyJywgbGFi ZWw6IGdldHRleHQoJ093bmVyJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0 ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAg cmVhZG9ubHk6IHRydWUgLCBjb250cm9sOiAnbm9kZS1saXN0LWJ5LW5hbWUnLAotICAgICAgICAg IG5vZGU6ICdyb2xlJywgdmlzaWJsZTogZmFsc2UsCi0gICAgICAgIH1dLAotCi0gICAgICAgIC8v IFdlIHdpbGwgZGlzYWJsZSBldmVyeXRoaW5nIGlmIHdlIGFyZSB1bmRlciBjYXRhbG9nIG5vZGUK LSAgICAgICAgaW5TY2hlbWE6IGZ1bmN0aW9uKCkgewotICAgICAgICAgIGlmKHRoaXMubm9kZV9p bmZvICYmICAnY2F0YWxvZycgaW4gdGhpcy5ub2RlX2luZm8pCi0gICAgICAgICAgewotICAgICAg ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiBmYWxzZTsK LSAgICAgICAgfSwKLSAgICAgIH0pLAogICAgICAgY2FuQ3JlYXRlOiBmdW5jdGlvbihpdGVtRGF0 YSwgaXRlbSwgZGF0YSkgewogICAgICAgICAvL0lmIGNoZWNrIGlzIGZhbHNlIHRoZW4gLCB3ZSB3 aWxsIGFsbG93IGNyZWF0ZSBtZW51CiAgICAgICAgIGlmIChkYXRhICYmIGRhdGEuY2hlY2sgPT0g ZmFsc2UpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy9zdGF0aWMvanMvY29sdW1uLmpz IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2NvbHVtbnMvc3RhdGljL2pzL2NvbHVtbi5qcwppbmRleCA1ZTEyZjE1OWEu LjRkZjZjN2FlNyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbnMvc3RhdGljL2pzL2NvbHVt bi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy9zdGF0aWMvanMvY29sdW1uLmpzCkBAIC05OCwz NiArOTgsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5jb2x1bW4nLCBbCiAgICAgICBnZXRTY2hl bWE6IGZ1bmN0aW9uKHRyZWVOb2RlSW5mbywgaXRlbU5vZGVEYXRhKSB7CiAgICAgICAgIHJldHVy biBnZXROb2RlQ29sdW1uU2NoZW1hKHRyZWVOb2RlSW5mbywgaXRlbU5vZGVEYXRhLCBwZ0Jyb3dz ZXIpOwogICAgICAgfSwKLSAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQo ewotICAgICAgICBpZEF0dHJpYnV0ZTogJ2F0dG51bScsCi0KLSAgICAgICAgZGVmYXVsdHM6IHsK LSAgICAgICAgICBuYW1lOiB1bmRlZmluZWQsCi0gICAgICAgICAgYXR0bnVtOiB1bmRlZmluZWQs Ci0gICAgICAgICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCwKLSAgICAgICAgfSwKLSAgICAgICAg c2NoZW1hOiBbewotICAgICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyks IGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNj aGVtYVdpdGhDb2x1bW5DaGVjaycsCi0gICAgICAgICAgY2VsbEhlYWRlckNsYXNzZXM6J3dpZHRo X3BlcmNlbnRfMzAnLAotICAgICAgICAgIGVkaXRhYmxlOiAnZWRpdGFibGVfY2hlY2tfZm9yX3Rh YmxlJywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdhdHRudW0nLCBsYWJlbDogZ2V0dGV4 dCgnUG9zaXRpb24nKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBk aXNhYmxlZDogJ25vdEluU2NoZW1hJywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAgIH0s ewotICAgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcp LCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAnbXVsdGlsaW5lJywgbW9kZTogWydw cm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgZGlzYWJsZWQ6ICdub3RJ blNjaGVtYScsCi0gICAgICAgIH1dLAotICAgICAgICAvLyBXZSB3aWxsIGNoZWNrIGlmIHdlIGFy ZSB1bmRlciBzY2hlbWEgbm9kZSAmIGluICdjcmVhdGUnIG1vZGUKLSAgICAgICAgbm90SW5TY2hl bWE6IGZ1bmN0aW9uKCkgewotICAgICAgICAgIGlmKHRoaXMubm9kZV9pbmZvICYmICAnY2F0YWxv ZycgaW4gdGhpcy5ub2RlX2luZm8pCi0gICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIHRy dWU7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSwKLSAg ICAgIH0pLAogICAgICAgLy8gQmVsb3cgZnVuY3Rpb24gd2lsbCBlbmFibGUgcmlnaHQgY2xpY2sg bWVudSBmb3IgY3JlYXRpbmcgY29sdW1uCiAgICAgICBjYW5DcmVhdGU6IGZ1bmN0aW9uKGl0ZW1E YXRhLCBpdGVtLCBkYXRhKSB7CiAgICAgICAgIC8vIElmIGNoZWNrIGlzIGZhbHNlIHRoZW4gLCB3 ZSB3aWxsIGFsbG93IGNyZWF0ZSBtZW51CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29tcG91bmRf dHJpZ2dlcnMvc3RhdGljL2pzL2NvbXBvdW5kX3RyaWdnZXIuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29tcG91 bmRfdHJpZ2dlcnMvc3RhdGljL2pzL2NvbXBvdW5kX3RyaWdnZXIuanMKaW5kZXggNDMzODI4Mzcz Li4wNmI0MTAyNmEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb21wb3VuZF90cmlnZ2Vycy9zdGF0 aWMvanMvY29tcG91bmRfdHJpZ2dlci5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29tcG91bmRfdHJpZ2dl cnMvc3RhdGljL2pzL2NvbXBvdW5kX3RyaWdnZXIuanMKQEAgLTE4OSwxNiArMTg5LDYgQEAgZGVm aW5lKCdwZ2FkbWluLm5vZGUuY29tcG91bmRfdHJpZ2dlcicsIFsKICAgICAgICAgKTsKICAgICAg IH0sCiAKLSAgICAgIG1vZGVsOiBwZ0FkbWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewot ICAgICAgICBpZEF0dHJpYnV0ZTogJ29pZCcsCi0gICAgICAgIHNjaGVtYTogW3sKLSAgICAgICAg ICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5nJywKLSAg ICAgICAgICB0eXBlOiAndGV4dCcsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBpZDogJ2Rlc2Ny aXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAg ICAgICAgdHlwZTogJ211bHRpbGluZScsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAn ZWRpdCddLAotICAgICAgICB9XSwKLSAgICAgIH0pLAogICAgICAgY2FuQ3JlYXRlOiBmdW5jdGlv bihpdGVtRGF0YSwgaXRlbSwgZGF0YSkgewogICAgICAgICAvL0lmIGNoZWNrIGlzIGZhbHNlIHRo ZW4gLCB3ZSB3aWxsIGFsbG93IGNyZWF0ZSBtZW51CiAgICAgICAgIGlmIChkYXRhICYmIGRhdGEu Y2hlY2sgPT0gZmFsc2UpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvc3RhdGlj L2pzL2NvbnN0cmFpbnRzLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL3N0YXRpYy9qcy9jb25z dHJhaW50cy5qcwppbmRleCBkMTM1ZGVhZTUuLmRmNWYwZTRjYiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL2NvbnN0cmFpbnRzL3N0YXRpYy9qcy9jb25zdHJhaW50cy5qcworKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv Y29uc3RyYWludHMvc3RhdGljL2pzL2NvbnN0cmFpbnRzLmpzCkBAIC00MywyNCArNDMsNiBAQCBk ZWZpbmUoJ3BnYWRtaW4ubm9kZS5jb25zdHJhaW50cycsIFsKIAogICAgICAgICBwZ0Jyb3dzZXIu YWRkX21lbnVzKFtdKTsKICAgICAgIH0sCi0gICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5v ZGUuTW9kZWwuZXh0ZW5kKHsKLSAgICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQnLAotICAgICAgICBk ZWZhdWx0czogewotICAgICAgICAgIG5hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICBvaWQ6IHVu ZGVmaW5lZCwKLSAgICAgICAgICBjb21tZW50OiB1bmRlZmluZWQsCi0gICAgICAgIH0sCi0gICAg ICAgIHNjaGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFt ZScpLCB0eXBlOiAndGV4dCcsCi0gICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0 ZScsICdlZGl0J10sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdl dHRleHQoJ09pZCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcgLCBt b2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdjb21tZW50 JywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAg dHlwZTogJ211bHRpbGluZScsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCdd LAotICAgICAgICB9XSwKLSAgICAgIH0pLAogICAgIH0pOwogICB9CiAKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9pbmRleGVzL3N0YXRpYy9qcy9pbmRleC5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVzL3N0 YXRpYy9qcy9pbmRleC5qcwppbmRleCAzZmI4YTZjMTcuLmNiMTc0OWMwOCAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2luZGV4LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRl eGVzL3N0YXRpYy9qcy9pbmRleC5qcwpAQCAtOTIsMjkgKzkyLDYgQEAgZGVmaW5lKCdwZ2FkbWlu Lm5vZGUuaW5kZXgnLCBbCiAgICAgICB9LAogICAgICAgY2FuRHJvcDogU2NoZW1hQ2hpbGRUcmVl Tm9kZS5pc1RyZWVJdGVtT2ZDaGlsZE9mU2NoZW1hLAogICAgICAgY2FuRHJvcENhc2NhZGU6IFNj aGVtYUNoaWxkVHJlZU5vZGUuaXNUcmVlSXRlbU9mQ2hpbGRPZlNjaGVtYSwKLSAgICAgIG1vZGVs OiBwZ0FkbWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJpYnV0 ZTogJ29pZCcsCi0KLSAgICAgICAgZGVmYXVsdHM6IHsKLSAgICAgICAgICBuYW1lOiB1bmRlZmlu ZWQsCi0gICAgICAgICAgb2lkOiB1bmRlZmluZWQsCi0gICAgICAgICAgbnNwbmFtZTogdW5kZWZp bmVkLAotICAgICAgICAgIHRhYm5hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICBzcGNuYW1lOiB1 bmRlZmluZWQsCi0gICAgICAgICAgYW1uYW1lOiAnYnRyZWUnLAotICAgICAgICB9LAotICAgICAg ICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUn KSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBkaXNhYmxlZDogJ2lu U2NoZW1hJywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdvaWQnLCBsYWJlbDogZ2V0dGV4 dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICdpbnQnLCByZWFkb25s eTogdHJ1ZSwgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBp ZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScsIG1vZGU6IFsncHJvcGVydGllcycsICdj cmVhdGUnLCAnZWRpdCddLAotICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnLAotICAgICAg ICB9XSwKLSAgICAgIH0pLAogICAgICAgLy8gQmVsb3cgZnVuY3Rpb24gd2lsbCBlbmFibGUgcmln aHQgY2xpY2sgbWVudSBmb3IgY3JlYXRpbmcgY29sdW1uCiAgICAgICBjYW5DcmVhdGU6IGZ1bmN0 aW9uKGl0ZW1EYXRhLCBpdGVtLCBkYXRhKSB7CiAgICAgICAgIC8vIElmIGNoZWNrIGlzIGZhbHNl IHRoZW4gLCB3ZSB3aWxsIGFsbG93IGNyZWF0ZSBtZW51CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv cGFydGl0aW9ucy9zdGF0aWMvanMvcGFydGl0aW9uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMv c3RhdGljL2pzL3BhcnRpdGlvbi5qcwppbmRleCA3YjhiMTQ0YjkuLmIzNjBjNmI4ZCAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMvc3RhdGljL2pzL3BhcnRpdGlvbi5qcworKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvcGFydGl0aW9ucy9zdGF0aWMvanMvcGFydGl0aW9uLmpzCkBAIC0zMDUsNDkgKzMw NSw2IEBAIGZ1bmN0aW9uKAogICAgICAgZ2V0U2NoZW1hOiBmdW5jdGlvbih0cmVlTm9kZUluZm8s IGl0ZW1Ob2RlRGF0YSkgewogICAgICAgICByZXR1cm4gZ2V0Tm9kZVBhcnRpdGlvblRhYmxlU2No ZW1hKHRyZWVOb2RlSW5mbywgaXRlbU5vZGVEYXRhLCBwZ0Jyb3dzZXIpOwogICAgICAgfSwKLSAg ICAgIG1vZGVsOiBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJp YnV0ZTogJ29pZCcsCi0gICAgICAgIGRlZmF1bHRzOiB7Ci0gICAgICAgICAgbmFtZTogdW5kZWZp bmVkLAotICAgICAgICAgIG9pZDogdW5kZWZpbmVkLAotICAgICAgICAgIGRlc2NyaXB0aW9uOiB1 bmRlZmluZWQsCi0gICAgICAgICAgaXNfcGFydGl0aW9uZWQ6IGZhbHNlLAotICAgICAgICAgIHBh cnRpdGlvbl92YWx1ZTogdW5kZWZpbmVkLAotICAgICAgICB9LAotICAgICAgICAvLyBEZWZhdWx0 IHZhbHVlcyEKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsKLSAg ICAgICAgICBpZiAoXy5zaXplKGF0dHJzKSA9PT0gMCkgewotICAgICAgICAgICAgdmFyIHVzZXJJ bmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bCi0gICAgICAgICAgICAgICAgYXJncy5ub2RlX2lu Zm8uc2VydmVyLl9pZAotICAgICAgICAgICAgICBdLnVzZXIsCi0gICAgICAgICAgICAgIHNjaGVt YUluZm8gPSBhcmdzLm5vZGVfaW5mby5zY2hlbWE7Ci0KLSAgICAgICAgICAgIHRoaXMuc2V0KHsK LSAgICAgICAgICAgICAgJ3JlbG93bmVyJzogdXNlckluZm8ubmFtZSwgJ3NjaGVtYSc6IHNjaGVt YUluZm8uX2xhYmVsLAotICAgICAgICAgICAgfSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAg IH0KLSAgICAgICAgICBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5h cHBseSh0aGlzLCBhcmd1bWVudHMpOwotCi0gICAgICAgIH0sCi0gICAgICAgIHNjaGVtYTogW3sK LSAgICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCB0eXBlOiAndGV4 dCcsCi0gICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCi0g ICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQoJ09JRCcpLCB0 eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LHsKLSAgICAgICAg ICBpZDogJ3NjaGVtYScsIGxhYmVsOiBnZXR0ZXh0KCdTY2hlbWEnKSwgdHlwZTogJ3RleHQnLCBu b2RlOiAnc2NoZW1hJywKLSAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0JywgJ3Byb3Bl cnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdpc19wYXJ0aXRpb25lZCcsIGxh YmVsOmdldHRleHQoJ1BhcnRpdGlvbmVkIHRhYmxlPycpLCBjZWxsOiAnc3dpdGNoJywKLSAgICAg ICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0 J10sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAncGFydGl0aW9uX3ZhbHVlJywgbGFiZWw6 Z2V0dGV4dCgnUGFydGl0aW9uIFNjaGVtZScpLAotICAgICAgICAgIHR5cGU6ICd0ZXh0Jywgdmlz aWJsZTogZmFsc2UsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBs YWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCB0eXBlOiAnbXVsdGlsaW5lJywKLSAgICAgICAgICBt b2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgfV0sCi0gICAg ICB9KSwKICAgICAgIGNhbkNyZWF0ZTogU2NoZW1hQ2hpbGRUcmVlTm9kZS5pc1RyZWVJdGVtT2ZD aGlsZE9mU2NoZW1hLAogICAgICAgLy8gQ2hlY2sgdG8gd2hldGhlciB0YWJsZSBoYXMgZGlzYWJs ZSB0cmlnZ2VyKHMpCiAgICAgICBjYW5DcmVhdGVfd2l0aF90cmlnZ2VyX2VuYWJsZTogZnVuY3Rp b24oaXRlbURhdGEsIGl0ZW0sIGRhdGEpIHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9yb3dfc2Vj dXJpdHlfcG9saWNpZXMvc3RhdGljL2pzL3Jvd19zZWN1cml0eV9wb2xpY3kuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvcm93X3NlY3VyaXR5X3BvbGljaWVzL3N0YXRpYy9qcy9yb3dfc2VjdXJpdHlfcG9saWN5Lmpz CmluZGV4IGFjYzI4NWU5OS4uZDE5MDhhNmViIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvcm93X3Nl Y3VyaXR5X3BvbGljaWVzL3N0YXRpYy9qcy9yb3dfc2VjdXJpdHlfcG9saWN5LmpzCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9yb3dfc2VjdXJpdHlfcG9saWNpZXMvc3RhdGljL2pzL3Jvd19zZWN1cml0eV9wb2xp Y3kuanMKQEAgLTg4LDY0ICs4OCw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnJvd19zZWN1cml0 eV9wb2xpY3knLCBbCiAgICAgICAgICAgfQogICAgICAgICApOwogICAgICAgfSwKLSAgICAgIG1v ZGVsOiBwZ0FkbWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJp YnV0ZTogJ29pZCcsCi0gICAgICAgIGRlZmF1bHRzOiB7Ci0gICAgICAgICAgbmFtZTogdW5kZWZp bmVkLAotICAgICAgICB9LAotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1l JywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlw ZTogJ3RleHQnLCByZWFkb25seTogdHJ1ZSwgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJj ZW50XzUwJywKLSAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnXQotICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDogJ3N0cmluZycs Ci0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVy dGllcyddLAotICAgICAgICB9XSwKLSAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKGtleXMpIHsK LSAgICAgICAgICB2YXIgbXNnOwotICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigpOwot ICAgICAgICAgIC8vIElmIG5vdGhpbmcgdG8gdmFsaWRhdGUKLSAgICAgICAgICBpZiAoa2V5cyAm JiBrZXlzLmxlbmd0aCA9PSAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAg ICB9Ci0KLSAgICAgICAgICBpZihfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCduYW1lJykpCi0gICAg ICAgICAgICB8fCBTdHJpbmcodGhpcy5nZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xccyskL2cs ICcnKSA9PSAnJykgewotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnTmFtZSBjYW5ub3QgYmUg ZW1wdHkuJyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCduYW1lJywgbXNnKTsK LSAgICAgICAgICAgIHJldHVybiBtc2c7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmICghdGhp cy5pc05ldygpICYmICFfLmlzTnVsbCh0aGlzLmdldCgndXNpbmdfb3JpZycpKSAmJiB0aGlzLmdl dCgndXNpbmdfb3JpZycpICE9ICcnICYmIFN0cmluZyh0aGlzLmdldCgndXNpbmcnKSkucmVwbGFj ZSgvXlxzK3xccyskL2csICcnKSA9PSAnJyl7Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCci VVNJTkciIGNhbiBub3QgYmUgZW1wdHkgb25jZSB0aGUgdmFsdWUgaXMgc2V0Jyk7Ci0gICAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCd1c2luZycsIG1zZyk7Ci0gICAgICAgICAgICByZXR1 cm4gbXNnOwotICAgICAgICAgIH0KLSAgICAgICAgICBpZiAoIXRoaXMuaXNOZXcoKSAmJiAhXy5p c051bGwodGhpcy5nZXQoJ3dpdGhjaGVja19vcmlnJykpICYmIHRoaXMuZ2V0KCd3aXRoY2hlY2tf b3JpZycpICE9ICcnICYmIFN0cmluZyh0aGlzLmdldCgnd2l0aGNoZWNrJykpLnJlcGxhY2UoL15c cyt8XHMrJC9nLCAnJykgPT0gJycpewotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnIldpdGhj aGVjayIgY2FuIG5vdCBiZSBlbXB0eSBvbmNlIHRoZSB2YWx1ZSBpcyBzZXQnKTsKLSAgICAgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3dpdGhjaGVjaycsIG1zZyk7Ci0gICAgICAgICAgICBy ZXR1cm4gbXNnOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAg fSwKLSAgICAgICAgZGlzYWJsZVdpdGhDaGVjazogZnVuY3Rpb24obSl7Ci0gICAgICAgICAgdmFy IGV2ZW50ID0gbS5nZXQoJ2V2ZW50Jyk7Ci0gICAgICAgICAgaWYgKChldmVudCA9PSAnU0VMRUNU JykgfHwgKGV2ZW50ID09ICdERUxFVEUnKSl7Ci0gICAgICAgICAgICBtLnNldCgnd2l0aGNoZWNr JywgJycpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgfQotICAgICAgICAg IHJldHVybiBmYWxzZTsKLSAgICAgICAgfSwKLQotICAgICAgICBkaXNhYmxlVXNpbmc6IGZ1bmN0 aW9uKG0pewotICAgICAgICAgIHZhciBldmVudCA9IG0uZ2V0KCdldmVudCcpOwotCi0gICAgICAg ICAgaWYgKGV2ZW50ID09ICdJTlNFUlQnKXsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg ICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0sCi0KLSAgICAgIH0p LAogICAgICAgY2FuQ3JlYXRlOiBmdW5jdGlvbihpdGVtRGF0YSwgaXRlbSkgewogCiAgICAgICAg IHZhciB0cmVlRGF0YSA9IHBnQnJvd3Nlci50cmVlLmdldFRyZWVOb2RlSGllcmFyY2h5KGl0ZW0p LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3J1bGVzL3N0YXRpYy9qcy9ydWxlLmpzIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL3J1bGVzL3N0YXRpYy9qcy9ydWxlLmpzCmluZGV4IGNkZTI1MDA5Yi4uNzNlYmQ0MTgzIDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvcnVsZXMvc3RhdGljL2pzL3J1bGUuanMKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL3J1bGVzL3N0YXRpYy9qcy9ydWxlLmpzCkBAIC0yMDcsNTQgKzIwNyw2IEBAIGRlZmluZSgn cGdhZG1pbi5ub2RlLnJ1bGUnLCBbCiAgICAgICAgICAgfQogICAgICAgICApOwogICAgICAgfSwK LSAgICAgIC8qKgotICAgICAgICBEZWZpbmUgbW9kZWwgZm9yIHRoZSBydWxlIG5vZGUgYW5kIHNw ZWNpZnkgdGhlIG5vZGUKLSAgICAgICAgcHJvcGVydGllcyBvZiB0aGUgbW9kZWwgaW4gc2NoZW1h LgotICAgICAgICovCi0gICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0 ZW5kKHsKLSAgICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQnLAotICAgICAgICBzY2hlbWE6IFt7Ci0g ICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwKLSAgICAgICAgICB0 eXBlOiAndGV4dCcsIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAgICAvLyBkaXNh YmxlIG5hbWUgZmllbGQgaXQgaXQgaXMgc3lzdGVtIHJ1bGUKLSAgICAgICAgICAgIGlmIChtICYm IG0uZ2V0KCduYW1lJykgPT0gJ19SRVRVUk4nKSB7Ci0gICAgICAgICAgICAgIHJldHVybiB0cnVl OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKG0uaXNOZXcgJiYgbS5pc05ldygpIHx8 IG0ubm9kZV9pbmZvICYmIG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uID49IDkwNDAwKSB7Ci0g ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJl dHVybiB0cnVlOwotICAgICAgICAgIH0sCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAg ICBpZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwKLSAgICAgICAgICB0eXBlOiAndGV4 dCcsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAg ICAgaWQ6ICdjb21tZW50JywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmlu ZycsIHR5cGU6ICdtdWx0aWxpbmUnLAotICAgICAgICB9LAotICAgICAgICBdLAotICAgICAgICB2 YWxpZGF0ZTogZnVuY3Rpb24oKSB7Ci0KLSAgICAgICAgICAvLyBUcmlnZ2VycyBzcGVjaWZpYyBl cnJvciBtZXNzYWdlcyBmb3IgZmllbGRzCi0gICAgICAgICAgdmFyIGVyciA9IHt9LAotICAgICAg ICAgICAgZXJybXNnLAotICAgICAgICAgICAgZmllbGRfbmFtZSA9IHRoaXMuZ2V0KCduYW1lJyk7 Ci0gICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQoZmllbGRfbmFtZSkgfHwgXy5pc051bGwoZmll bGRfbmFtZSkgfHwKLSAgICAgICAgICAgIFN0cmluZyhmaWVsZF9uYW1lKS5yZXBsYWNlKC9eXHMr fFxzKyQvZywgJycpID09PSAnJykKLSAgICAgICAgICB7Ci0gICAgICAgICAgICBlcnJbJ25hbWUn XSA9IGdldHRleHQoJ1BsZWFzZSBzcGVjaWZ5IG5hbWUuJyk7Ci0gICAgICAgICAgICBlcnJtc2cg PSBlcnJbJ25hbWUnXTsKLSAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ25hbWUnLCBl cnJtc2cpOwotICAgICAgICAgICAgcmV0dXJuIGVycm1zZzsKLSAgICAgICAgICB9Ci0gICAgICAg ICAgZWxzZQotICAgICAgICAgIHsKLSAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgn bmFtZScpOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgfSwK LSAgICAgIH0pLAogCiAgICAgICAvLyBTaG93IG9yIGhpZGUgY3JlYXRlIHJ1bGUgbWVudSBvcHRp b24gb24gcGFyZW50IG5vZGUKICAgICAgIGNhbkNyZWF0ZTogZnVuY3Rpb24oaXRlbURhdGEsIGl0 ZW0sIGRhdGEpIHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90cmlnZ2Vycy9zdGF0aWMvanMvdHJp Z2dlci5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy90cmlnZ2Vycy9zdGF0aWMvanMvdHJpZ2dlci5qcwppbmRleCAx ZTRlY2JhODkuLmM2MGVjYmM1YyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RyaWdnZXJzL3N0YXRp Yy9qcy90cmlnZ2VyLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90cmlnZ2Vycy9zdGF0aWMvanMvdHJpZ2dl ci5qcwpAQCAtMTg3LDQ2OCArMTg3LDYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUudHJpZ2dlcics IFsKICAgICAgICAgICB9LAogICAgICAgICApOwogICAgICAgfSwKLSAgICAgIG1vZGVsOiBwZ0Fk bWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJpYnV0ZTogJ29p ZCcsCi0gICAgICAgIGRlZmF1bHRzOiB7Ci0gICAgICAgICAgbmFtZTogdW5kZWZpbmVkLAotICAg ICAgICAgIGlzX3Jvd190cmlnZ2VyOiB0cnVlLAotICAgICAgICAgIGZpcmVzOiAnQkVGT1JFJywK LSAgICAgICAgfSwKLSAgICAgICAgc2NoZW1hOiBbewotICAgICAgICAgIGlkOiAnbmFtZScsIGxh YmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICd0 ZXh0JywgZGlzYWJsZWQ6ICdpblNjaGVtYScsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAn b2lkJywgbGFiZWw6IGdldHRleHQoJ09JRCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0 eXBlOiAnaW50JywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAgIH0sewotICAgICAgICAg IGlkOiAnaXNfZW5hYmxlX3RyaWdnZXInLCBsYWJlbDogZ2V0dGV4dCgnVHJpZ2dlciBlbmFibGVk PycpLAotICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdwcm9wZXJ0aWVzJ10sIGdyb3VwOiBnZXR0 ZXh0KCdEZWZpbml0aW9uJyksCi0gICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKCkgewotICAg ICAgICAgICAgaWYodGhpcy5ub2RlX2luZm8gJiYgKCdjYXRhbG9nJyBpbiB0aGlzLm5vZGVfaW5m byB8fCAndmlldycgaW4gdGhpcy5ub2RlX2luZm8pKSB7Ci0gICAgICAgICAgICAgIHJldHVybiB0 cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg IH0sCi0gICAgICAgICAgb3B0aW9uczogWwotICAgICAgICAgICAge2xhYmVsOiBnZXR0ZXh0KCdF bmFibGUnKSwgdmFsdWU6ICdPJ30sCi0gICAgICAgICAgICB7bGFiZWw6IGdldHRleHQoJ0VuYWJs ZSBSZXBsaWNhJyksIHZhbHVlOiAnUid9LAotICAgICAgICAgICAge2xhYmVsOiBnZXR0ZXh0KCdF bmFibGUgQWx3YXlzJyksIHZhbHVlOiAnQSd9LAotICAgICAgICAgICAge2xhYmVsOiBnZXR0ZXh0 KCdEaXNhYmxlJyksIHZhbHVlOiAnRCd9LAotICAgICAgICAgIF0sCi0gICAgICAgICAgY29udHJv bDogJ3NlbGVjdDInLCBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6IGZhbHNlLCB3aWR0aDogJzEwMCUn IH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnaXNfcm93X3RyaWdnZXInLCBsYWJlbDog Z2V0dGV4dCgnUm93IHRyaWdnZXI/JyksCi0gICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGdyb3Vw OiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0gICAgICAgICAgbW9kZTogWydjcmVhdGUnLCdlZGl0 JywgJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICBkZXBzOiBbJ2lzX2NvbnN0cmFpbnRfdHJpZ2dl ciddLAotICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAgICAvLyBE aXNhYmxlZCBpZiB0YWJsZSBpcyBhIHBhcnRpdGlvbmVkIHRhYmxlLgotICAgICAgICAgICAgaWYg KCFtLmlzTmV3KCkpCi0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAgICAgICBp ZiAoXy5oYXMobSwgJ25vZGVfaW5mbycpICYmIF8uaGFzKG0ubm9kZV9pbmZvLCAndGFibGUnKSAm JgotICAgICAgICAgICAgICBfLmhhcyhtLm5vZGVfaW5mby50YWJsZSwgJ2lzX3BhcnRpdGlvbmVk JykgJiYKLSAgICAgICAgICAgICAgIG0ubm9kZV9pbmZvLnRhYmxlLmlzX3BhcnRpdGlvbmVkICYm IG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uIDwgMTEwMDAwCi0gICAgICAgICAgICApCi0gICAg ICAgICAgICB7Ci0gICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKLSAgICAgICAg ICAgICAgICBtLnNldCgnaXNfcm93X3RyaWdnZXInLCBmYWxzZSk7Ci0gICAgICAgICAgICAgIH0s MTApOwotCi0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotCi0gICAg ICAgICAgICAvLyBJZiBjb25zdHJhaW50IHRyaWdnZXIgaXMgc2V0IHRvIFRydWUgdGhlbiByb3cg dHJpZ2dlciB3aWxsCi0gICAgICAgICAgICAvLyBhdXRvbWF0aWNhbGx5IHNldCB0byBUcnVlIGFu ZCBiZWNvbWVzIGRpc2FibGUKLSAgICAgICAgICAgIHZhciBpc19jb25zdHJhaW50X3RyaWdnZXIg PSBtLmdldCgnaXNfY29uc3RyYWludF90cmlnZ2VyJyk7Ci0gICAgICAgICAgICBpZighbS5pblNj aGVtYVdpdGhNb2RlbENoZWNrLmFwcGx5KHRoaXMsIFttXSkpIHsKLSAgICAgICAgICAgICAgaWYo IV8uaXNVbmRlZmluZWQoaXNfY29uc3RyYWludF90cmlnZ2VyKSAmJgotICAgICAgICAgICAgICAg IGlzX2NvbnN0cmFpbnRfdHJpZ2dlciA9PT0gdHJ1ZSkgewotICAgICAgICAgICAgICAgIC8vIGNo YW5nZSBpdCdzIG1vZGVsIHZhbHVlCi0gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlv bigpIHsgbS5zZXQoJ2lzX3Jvd190cmlnZ2VyJywgdHJ1ZSk7IH0sIDEwKTsKLSAgICAgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g ICAgICAgICAgICAgIC8vIENoZWNrIGlmIGl0IGlzIHJvdyB0cmlnZ2VyIHRoZW4gZW5hYmxlZCBp dC4KLSAgICAgICAgICAgICAgdmFyIGlzX3Jvd190cmlnZ2VyID0gbS5nZXQoJ2lzX3Jvd190cmln Z2VyJyk7Ci0gICAgICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpc19yb3dfdHJpZ2dlcikg JiYgbS5ub2RlX2luZm9bJ3NlcnZlciddWydzZXJ2ZXJfdHlwZSddID09ICdwcGFzJykgewotICAg ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAg ICAvLyBEaXNhYmxlIGl0Ci0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg fQotICAgICAgICAgIH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnaXNfY29uc3RyYWlu dF90cmlnZ2VyJywgbGFiZWw6IGdldHRleHQoJ0NvbnN0cmFpbnQgdHJpZ2dlcj8nKSwKLSAgICAg ICAgICB0eXBlOiAnc3dpdGNoJywKLSAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsJ2VkaXQnLCAn cHJvcGVydGllcyddLAotICAgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0g ICAgICAgICAgZGVwczogWyd0ZnVuY3Rpb24nXSwKLSAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rp b24obSkgewotICAgICAgICAgICAgLy8gRGlzYWJsZWQgaWYgdGFibGUgaXMgYSBwYXJ0aXRpb25l ZCB0YWJsZS4KLSAgICAgICAgICAgIHZhciB0ZnVuY3Rpb24gPSBtLmdldCgndGZ1bmN0aW9uJyk7 Ci0gICAgICAgICAgICBpZiAoKF8uaGFzKG0sICdub2RlX2luZm8nKSAmJiBfLmhhcyhtLm5vZGVf aW5mbywgJ3RhYmxlJykgJiYKLSAgICAgICAgICAgICAgXy5oYXMobS5ub2RlX2luZm8udGFibGUs ICdpc19wYXJ0aXRpb25lZCcpICYmCi0gICAgICAgICAgICAgICAgbS5ub2RlX2luZm8udGFibGUu aXNfcGFydGl0aW9uZWQpIHx8Ci0gICAgICAgICAgICAgICAgXy5pbmRleE9mKE9iamVjdC5rZXlz KG0ubm9kZV9pbmZvKSwgJ3ZpZXcnKSAhPSAtMSB8fAotICAgICAgICAgICAgICAgIChtLm5vZGVf aW5mby5zZXJ2ZXIuc2VydmVyX3R5cGUgPT09ICdwcGFzJyAmJgotICAgICAgICAgICAgICAgICFf LmlzVW5kZWZpbmVkKHRmdW5jdGlvbikgJiYKLSAgICAgICAgICAgICAgICAgdGZ1bmN0aW9uID09 PSAnSW5saW5lIEVEQi1TUEwnKSkgewotICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u KCl7Ci0gICAgICAgICAgICAgICAgbS5zZXQoJ2lzX2NvbnN0cmFpbnRfdHJpZ2dlcicsIGZhbHNl KTsKLSAgICAgICAgICAgICAgfSwxMCk7Ci0KLSAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJldHVybiBtLmluU2NoZW1hV2l0aE1vZGVsQ2hl Y2suYXBwbHkodGhpcywgW21dKTsKLSAgICAgICAgICB9LAotICAgICAgICB9LHsKLSAgICAgICAg ICBpZDogJ3RnZGVmZXJyYWJsZScsIGxhYmVsOiBnZXR0ZXh0KCdEZWZlcnJhYmxlPycpLAotICAg ICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlvbicpLAotICAg ICAgICAgIG1vZGU6IFsnY3JlYXRlJywnZWRpdCcsICdwcm9wZXJ0aWVzJ10sCi0gICAgICAgICAg ZGVwczogWydpc19jb25zdHJhaW50X3RyaWdnZXInXSwKLSAgICAgICAgICBkaXNhYmxlZDogZnVu Y3Rpb24obSkgewotICAgICAgICAgICAgLy8gSWYgY29uc3RyYWludCB0cmlnZ2VyIGlzIHNldCB0 byBUcnVlIHRoZW4gb25seSBlbmFibGUgaXQKLSAgICAgICAgICAgIHZhciBpc19jb25zdHJhaW50 X3RyaWdnZXIgPSBtLmdldCgnaXNfY29uc3RyYWludF90cmlnZ2VyJyk7Ci0gICAgICAgICAgICBp ZighbS5pblNjaGVtYVdpdGhNb2RlbENoZWNrLmFwcGx5KHRoaXMsIFttXSkpIHsKLSAgICAgICAg ICAgICAgaWYoIV8uaXNVbmRlZmluZWQoaXNfY29uc3RyYWludF90cmlnZ2VyKSAmJgotICAgICAg ICAgICAgICAgIGlzX2NvbnN0cmFpbnRfdHJpZ2dlciA9PT0gdHJ1ZSkgewotICAgICAgICAgICAg ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg ICAvLyBJZiB2YWx1ZSBpcyBhbHJlYWR5IHNldCB0aGVuIHJlc2V0IGl0IHRvIGZhbHNlCi0gICAg ICAgICAgICAgICAgaWYobS5nZXQoJ3RnZGVmZXJyYWJsZScpKSB7Ci0gICAgICAgICAgICAgICAg ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBtLnNldCgndGdkZWZlcnJhYmxlJywgZmFsc2UpOyB9 LCAxMCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwot ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAvLyBE aXNhYmxlIGl0Ci0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotICAg ICAgICAgIH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAndGdpbml0ZGVmZXJyZWQnLCBs YWJlbDogZ2V0dGV4dCgnRGVmZXJyZWQ/JyksCi0gICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGdy b3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0gICAgICAgICAgbW9kZTogWydjcmVhdGUnLCdl ZGl0JywgJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICBkZXBzOiBbJ3RnZGVmZXJyYWJsZScsICdp c19jb25zdHJhaW50X3RyaWdnZXInXSwKLSAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkg ewotICAgICAgICAgICAgLy8gSWYgRGVmZXJyYWJsZSBpcyBzZXQgdG8gVHJ1ZSB0aGVuIG9ubHkg ZW5hYmxlIGl0Ci0gICAgICAgICAgICB2YXIgdGdkZWZlcnJhYmxlID0gbS5nZXQoJ3RnZGVmZXJy YWJsZScpOwotICAgICAgICAgICAgaWYoIW0uaW5TY2hlbWFXaXRoTW9kZWxDaGVjay5hcHBseSh0 aGlzLCBbbV0pKSB7Ci0gICAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKHRnZGVmZXJyYWJs ZSkgJiYKLSAgICAgICAgICAgICAgICB0Z2RlZmVycmFibGUpIHsKLSAgICAgICAgICAgICAgICBy ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8g SWYgdmFsdWUgaXMgYWxyZWFkeSBzZXQgdGhlbiByZXNldCBpdCB0byBmYWxzZQotICAgICAgICAg ICAgICAgIGlmKG0uZ2V0KCd0Z2luaXRkZWZlcnJlZCcpKSB7Ci0gICAgICAgICAgICAgICAgICBz ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBtLnNldCgndGdpbml0ZGVmZXJyZWQnLCBmYWxzZSk7IH0s IDEwKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLy8gSWYgY29uc3RyYWlu dCB0cmlnZ2VyIGlzIHNldCB0aGVuIGRvIG5vdCBkaXNhYmxlCi0gICAgICAgICAgICAgICAgcmV0 dXJuIG0uZ2V0KCdpc19jb25zdHJhaW50X3RyaWdnZXInKSA/IGZhbHNlIDogdHJ1ZTsKLSAgICAg ICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgLy8gRGlzYWJs ZSBpdAotICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg ICB9LAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3RmdW5jdGlvbicsIGxhYmVsOiBnZXR0 ZXh0KCdUcmlnZ2VyIGZ1bmN0aW9uJyksCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBkaXNhYmxl ZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snLAotICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywn ZWRpdCcsICdwcm9wZXJ0aWVzJ10sIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0gICAg ICAgICAgY29udHJvbDogJ25vZGUtYWpheC1vcHRpb25zJywgdXJsOiAnZ2V0X3RyaWdnZXJmdW5j dGlvbnMnLCB1cmxfanVtcF9hZnRlcl9ub2RlOiAnc2NoZW1hJywKLSAgICAgICAgICBjYWNoZV9u b2RlOiAndHJpZ2dlcl9mdW5jdGlvbicsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAndGdh cmdzJywgbGFiZWw6IGdldHRleHQoJ0FyZ3VtZW50cycpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAg ICAgICBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlvbicpLAotICAgICAgICAgIHR5cGU6ICd0ZXh0 Jyxtb2RlOiBbJ2NyZWF0ZScsJ2VkaXQnLCAncHJvcGVydGllcyddLCBkZXBzOiBbJ3RmdW5jdGlv biddLAotICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAgICAvLyBX ZSB3aWxsIGRpc2FibGUgaXQgd2hlbiBFREIgUFBBUyBhbmQgdHJpZ2dlciBmdW5jdGlvbiBpcwot ICAgICAgICAgICAgLy8gc2V0IHRvIElubGluZSBFREItU1BMCi0gICAgICAgICAgICB2YXIgdGZ1 bmN0aW9uID0gbS5nZXQoJ3RmdW5jdGlvbicpLAotICAgICAgICAgICAgICBzZXJ2ZXJfdHlwZSA9 IG0ubm9kZV9pbmZvWydzZXJ2ZXInXVsnc2VydmVyX3R5cGUnXTsKLSAgICAgICAgICAgIGlmKCFt LmluU2NoZW1hV2l0aE1vZGVsQ2hlY2suYXBwbHkodGhpcywgW21dKSkgewotICAgICAgICAgICAg ICBpZihzZXJ2ZXJfdHlwZSA9PT0gJ3BwYXMnICYmCi0gICAgICAgICAgICAgICAgIV8uaXNVbmRl ZmluZWQodGZ1bmN0aW9uKSAmJgotICAgICAgICAgICAgICAgICAgdGZ1bmN0aW9uID09PSAnSW5s aW5lIEVEQi1TUEwnKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBhbmQgY2xlYXIgaXRz IHZhbHVlCi0gICAgICAgICAgICAgICAgbS5zZXQoJ3RnYXJncycsIHVuZGVmaW5lZCk7Ci0gICAg ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVs c2UgewotICAgICAgICAgICAgICAvLyBEaXNhYmxlIGl0Ci0gICAgICAgICAgICAgIHJldHVybiB0 cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0sCi0gICAgICAgIH0sewotICAgICAgICAg IGlkOiAnZmlyZXMnLCBsYWJlbDogZ2V0dGV4dCgnRmlyZXMnKSwgZGVwczogWydpc19jb25zdHJh aW50X3RyaWdnZXInXSwKLSAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsJ2VkaXQnLCAncHJvcGVy dGllcyddLCBncm91cDogZ2V0dGV4dCgnRXZlbnRzJyksCi0gICAgICAgICAgb3B0aW9uczogZnVu Y3Rpb24oY29udHJvbCkgewotICAgICAgICAgICAgdmFyIHRhYmxlX29wdGlvbnMgPSBbCi0gICAg ICAgICAgICAgICAge2xhYmVsOiAnQkVGT1JFJywgdmFsdWU6ICdCRUZPUkUnfSwKLSAgICAgICAg ICAgICAgICB7bGFiZWw6ICdBRlRFUicsIHZhbHVlOiAnQUZURVInfV0sCi0gICAgICAgICAgICAg IHZpZXdfb3B0aW9ucyA9IFsKLSAgICAgICAgICAgICAgICB7bGFiZWw6ICdCRUZPUkUnLCB2YWx1 ZTogJ0JFRk9SRSd9LAotICAgICAgICAgICAgICAgIHtsYWJlbDogJ0FGVEVSJywgdmFsdWU6ICdB RlRFUid9LAotICAgICAgICAgICAgICAgIHtsYWJlbDogJ0lOU1RFQUQgT0YnLCB2YWx1ZTogJ0lO U1RFQUQgT0YnfV07Ci0gICAgICAgICAgICAvLyBJZiB3ZSBhcmUgdW5kZXIgdGFibGUgdGhlbiBz aG93IHRhYmxlIHNwZWNpZmljIG9wdGlvbnMKLSAgICAgICAgICAgIGlmKF8uaW5kZXhPZihPYmpl Y3Qua2V5cyhjb250cm9sLm1vZGVsLm5vZGVfaW5mbyksICd0YWJsZScpICE9IC0xKSB7Ci0gICAg ICAgICAgICAgIHJldHVybiB0YWJsZV9vcHRpb25zOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAg ICAgICAgICAgICAgcmV0dXJuIHZpZXdfb3B0aW9uczsKLSAgICAgICAgICAgIH0KLSAgICAgICAg ICB9LAotICAgICAgICAgIGNvbnRyb2w6ICdzZWxlY3QyJywgc2VsZWN0MjogeyBhbGxvd0NsZWFy OiBmYWxzZSwgd2lkdGg6ICcxMDAlJyB9LAotICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbiht KSB7Ci0gICAgICAgICAgICBpZiAoIW0uaXNOZXcoKSkKLSAgICAgICAgICAgICAgcmV0dXJuIHRy dWU7Ci0gICAgICAgICAgICAvLyBJZiBjb250cmFpbnQgdHJpZ2dlciBpcyBzZXQgdG8gVHJ1ZSB0 aGVuIG9ubHkgZW5hYmxlIGl0Ci0gICAgICAgICAgICB2YXIgaXNfY29uc3RyYWludF90cmlnZ2Vy ID0gbS5nZXQoJ2lzX2NvbnN0cmFpbnRfdHJpZ2dlcicpOwotICAgICAgICAgICAgaWYoIW0uaW5T Y2hlbWFXaXRoTW9kZWxDaGVjay5hcHBseSh0aGlzLCBbbV0pKSB7Ci0gICAgICAgICAgICAgIGlm KCFfLmlzVW5kZWZpbmVkKGlzX2NvbnN0cmFpbnRfdHJpZ2dlcikgJiYKLSAgICAgICAgICAgICAg ICBpc19jb25zdHJhaW50X3RyaWdnZXIgPT09IHRydWUpIHsKLSAgICAgICAgICAgICAgICBzZXRU aW1lb3V0KGZ1bmN0aW9uKCkgeyBtLnNldCgnZmlyZXMnLCAnQUZURVInKTsgfSwgMTApOwotICAg ICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBl bHNlIHsKLSAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgaXQgaXMgcm93IHRyaWdnZXIgdGhlbiBl bmFibGVkIGl0LgotICAgICAgICAgICAgICB2YXIgZmlyZXNfID0gbS5nZXQoJ2ZpcmVzJyk7Ci0g ICAgICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChmaXJlc18pICYmIG0ubm9kZV9pbmZvWydz ZXJ2ZXInXVsnc2VydmVyX3R5cGUnXSA9PSAncHBhcycpIHsKLSAgICAgICAgICAgICAgICByZXR1 cm4gZmFsc2U7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8gRGlzYWJsZSBpdAot ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9LAot ICAgICAgICB9LHsKLSAgICAgICAgICB0eXBlOiAnbmVzdGVkJywgY29udHJvbDogJ2ZpZWxkc2V0 JywgbW9kZTogWydjcmVhdGUnLCdlZGl0JywgJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICBsYWJl bDogZ2V0dGV4dCgnRXZlbnRzJyksIGdyb3VwOiBnZXR0ZXh0KCdFdmVudHMnKSwgY29udGVudENs YXNzOiAncm93JywKLSAgICAgICAgICBzY2hlbWE6W3sKLSAgICAgICAgICAgIGlkOiAnZXZudF9p bnNlcnQnLCBsYWJlbDogZ2V0dGV4dCgnSU5TRVJUJyksCi0gICAgICAgICAgICB0eXBlOiAnc3dp dGNoJywgbW9kZTogWydjcmVhdGUnLCdlZGl0JywgJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICAg IGdyb3VwOiBnZXR0ZXh0KCdFdmVudHMnKSwKLSAgICAgICAgICAgIGV4dHJhVG9nZ2xlQ2xhc3Nl czogJ3BnLWVsLXNtLTYnLAotICAgICAgICAgICAgY29udHJvbExhYmVsQ2xhc3NOYW1lOiAnY29u dHJvbC1sYWJlbCBwZy1lbC1zbS01IHBnLWVsLTEyJywKLSAgICAgICAgICAgIGNvbnRyb2xzQ2xh c3NOYW1lOiAncGdhZG1pbi1jb250cm9scyBwZy1lbC1zbS03IHBnLWVsLTEyJywKLSAgICAgICAg ICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAgICAgIHZhciBldm5faW5zZXJ0 ID0gbS5nZXQoJ2V2bnRfaW5zZXJ0Jyk7Ci0gICAgICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5l ZChldm5faW5zZXJ0KSAmJiBtLm5vZGVfaW5mb1snc2VydmVyJ11bJ3NlcnZlcl90eXBlJ10gPT0g J3BwYXMnICYmIG0uaXNOZXcoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg ICAgICAgICAgIHJldHVybiBtLmluU2NoZW1hV2l0aE1vZGVsQ2hlY2suYXBwbHkodGhpcywgW21d KTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgfSx7Ci0gICAgICAgICAgICBpZDogJ2V2bnRf dXBkYXRlJywgbGFiZWw6IGdldHRleHQoJ1VQREFURScpLAotICAgICAgICAgICAgdHlwZTogJ3N3 aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywnZWRpdCcsICdwcm9wZXJ0aWVzJ10sCi0gICAgICAgICAg ICBncm91cDogZ2V0dGV4dCgnRXZlbnRzJyksCi0gICAgICAgICAgICBleHRyYVRvZ2dsZUNsYXNz ZXM6ICdwZy1lbC1zbS02JywKLSAgICAgICAgICAgIGNvbnRyb2xMYWJlbENsYXNzTmFtZTogJ2Nv bnRyb2wtbGFiZWwgcGctZWwtc20tNSBwZy1lbC0xMicsCi0gICAgICAgICAgICBjb250cm9sc0Ns YXNzTmFtZTogJ3BnYWRtaW4tY29udHJvbHMgcGctZWwtc20tNyBwZy1lbC0xMicsCi0gICAgICAg ICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgICB2YXIgZXZuX3VwZGF0 ZSA9IG0uZ2V0KCdldm50X3VwZGF0ZScpOwotICAgICAgICAgICAgICBpZiAoIV8uaXNVbmRlZmlu ZWQoZXZuX3VwZGF0ZSkgJiYgbS5ub2RlX2luZm9bJ3NlcnZlciddWydzZXJ2ZXJfdHlwZSddID09 ICdwcGFzJyAmJiBtLmlzTmV3KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg ICAgICAgICAgICByZXR1cm4gbS5pblNjaGVtYVdpdGhNb2RlbENoZWNrLmFwcGx5KHRoaXMsIFtt XSk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgIH0sewotICAgICAgICAgICAgaWQ6ICdldm50 X2RlbGV0ZScsIGxhYmVsOiBnZXR0ZXh0KCdERUxFVEUnKSwKLSAgICAgICAgICAgIHR5cGU6ICdz d2l0Y2gnLCBtb2RlOiBbJ2NyZWF0ZScsJ2VkaXQnLCAncHJvcGVydGllcyddLAotICAgICAgICAg ICAgZ3JvdXA6IGdldHRleHQoJ0V2ZW50cycpLAotICAgICAgICAgICAgZXh0cmFUb2dnbGVDbGFz c2VzOiAncGctZWwtc20tNicsCi0gICAgICAgICAgICBjb250cm9sTGFiZWxDbGFzc05hbWU6ICdj b250cm9sLWxhYmVsIHBnLWVsLXNtLTUgcGctZWwtMTInLAotICAgICAgICAgICAgY29udHJvbHND bGFzc05hbWU6ICdwZ2FkbWluLWNvbnRyb2xzIHBnLWVsLXNtLTcgcGctZWwtMTInLAotICAgICAg ICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgICAgdmFyIGV2bl9kZWxl dGUgPSBtLmdldCgnZXZudF9kZWxldGUnKTsKLSAgICAgICAgICAgICAgaWYgKCFfLmlzVW5kZWZp bmVkKGV2bl9kZWxldGUpICYmIG0ubm9kZV9pbmZvWydzZXJ2ZXInXVsnc2VydmVyX3R5cGUnXSA9 PSAncHBhcycgJiYgbS5pc05ldygpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg ICAgICAgICAgICAgcmV0dXJuIG0uaW5TY2hlbWFXaXRoTW9kZWxDaGVjay5hcHBseSh0aGlzLCBb bV0pOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICB9LHsKLSAgICAgICAgICAgIGlkOiAnZXZu dF90cnVuY2F0ZScsIGxhYmVsOiBnZXR0ZXh0KCdUUlVOQ0FURScpLAotICAgICAgICAgICAgdHlw ZTogJ3N3aXRjaCcsIGdyb3VwOiBnZXR0ZXh0KCdFdmVudHMnKSxkZXBzOiBbJ2lzX3Jvd190cmln Z2VyJywgJ2lzX2NvbnN0cmFpbnRfdHJpZ2dlciddLAotICAgICAgICAgICAgZXh0cmFUb2dnbGVD bGFzc2VzOiAncGctZWwtc20tNicsCi0gICAgICAgICAgICBjb250cm9sTGFiZWxDbGFzc05hbWU6 ICdjb250cm9sLWxhYmVsIHBnLWVsLXNtLTUgcGctZWwtMTInLAotICAgICAgICAgICAgY29udHJv bHNDbGFzc05hbWU6ICdwZ2FkbWluLWNvbnRyb2xzIHBnLWVsLXNtLTcgcGctZWwtMTInLAotICAg ICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgICAgdmFyIGlzX2Nv bnN0cmFpbnRfdHJpZ2dlciA9IG0uZ2V0KCdpc19jb25zdHJhaW50X3RyaWdnZXInKSwKLSAgICAg ICAgICAgICAgICBpc19yb3dfdHJpZ2dlciA9IG0uZ2V0KCdpc19yb3dfdHJpZ2dlcicpLAotICAg ICAgICAgICAgICAgIHNlcnZlcl90eXBlID0gbS5ub2RlX2luZm9bJ3NlcnZlciddWydzZXJ2ZXJf dHlwZSddOwotICAgICAgICAgICAgICBpZiAoaXNfcm93X3RyaWdnZXIgPT0gdHJ1ZSl7Ci0gICAg ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewotICAgICAgICAgICAgICAgICAgbS5z ZXQoJ2V2bnRfdHJ1bmNhdGUnLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgfSwxMCk7Ci0gICAg ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg ICBpZiAoc2VydmVyX3R5cGUgPT09ICdwcGFzJyAmJgotICAgICAgICAgICAgICAgICAgIV8uaXNV bmRlZmluZWQoaXNfY29uc3RyYWludF90cmlnZ2VyKSAmJgotICAgICAgICAgICAgICAgICAgICAh Xy5pc1VuZGVmaW5lZChpc19yb3dfdHJpZ2dlcikgJiYKLSAgICAgICAgICAgICAgICAgICAgaXNf Y29uc3RyYWludF90cmlnZ2VyID09PSBmYWxzZSAmJiBtLmlzTmV3KCkpCi0gICAgICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICByZXR1cm4gbS5pblNjaGVtYVdpdGhNb2Rl bENoZWNrLmFwcGx5KHRoaXMsIFttXSk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgIH1dLAot ICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3doZW5jbGF1c2UnLCBsYWJlbDogZ2V0dGV4dCgn V2hlbicpLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhN b2RlbENoZWNrJywKLSAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0JywgJ3Byb3BlcnRp ZXMnXSwKLSAgICAgICAgICBjb250cm9sOiAnc3FsLWZpZWxkJywgdmlzaWJsZTogdHJ1ZSwgZ3Jv dXA6IGdldHRleHQoJ0V2ZW50cycpLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2NvbHVt bnMnLCBsYWJlbDogZ2V0dGV4dCgnQ29sdW1ucycpLCB1cmw6ICdub2RlcycsCi0gICAgICAgICAg Y29udHJvbDogJ25vZGUtbGlzdC1ieS1uYW1lJywgY2FjaGVfbm9kZTogJ2NvbHVtbicsIHR5cGU6 ICdhcnJheScsCi0gICAgICAgICAgc2VsZWN0MjogeydtdWx0aXBsZSc6IHRydWV9LAotICAgICAg ICAgIGRlcHM6IFsnZXZudF91cGRhdGUnXSwgbm9kZTogJ2NvbHVtbicsIGdyb3VwOiBnZXR0ZXh0 KCdFdmVudHMnKSwKLSAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewotICAgICAgICAg ICAgaWYodGhpcy5ub2RlX2luZm8gJiYgICdjYXRhbG9nJyBpbiB0aGlzLm5vZGVfaW5mbykgewot ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8v RGlzYWJsZSBpbiBlZGl0IG1vZGUKLSAgICAgICAgICAgIGlmICghbS5pc05ldygpKSB7Ci0gICAg ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLy8gRW5h YmxlIGNvbHVtbiBvbmx5IGlmIHVwZGF0ZSBldmVudCBpcyBzZXQgdHJ1ZQotICAgICAgICAgICAg dmFyIGlzVXBkYXRlID0gbS5nZXQoJ2V2bnRfdXBkYXRlJyk7Ci0gICAgICAgICAgICBpZighXy5p c1VuZGVmaW5lZChpc1VwZGF0ZSkgJiYgaXNVcGRhdGUpIHsKLSAgICAgICAgICAgICAgcmV0dXJu IGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg ICAgfSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICd0Z29sZHRhYmxlJywgbGFiZWw6IGdl dHRleHQoJ09sZCB0YWJsZScpLAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZ3JvdXA6IGdldHRl eHQoJ1RyYW5zaXRpb24nKSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywgbW9kZTogWydjcmVh dGUnLCAnZWRpdCcsICdwcm9wZXJ0aWVzJ10sCi0gICAgICAgICAgZGVwczogWydmaXJlcycsICdp c19jb25zdHJhaW50X3RyaWdnZXInLCAnZXZudF9pbnNlcnQnLCAnZXZudF91cGRhdGUnLCAnZXZu dF9kZWxldGUnLCAnY29sdW1ucyddLAotICAgICAgICAgIGRpc2FibGVkOiAnZGlzYWJsZVRyYW5z aXRpb24nLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3RnbmV3dGFibGUnLCBsYWJlbDog Z2V0dGV4dCgnTmV3IHRhYmxlJyksCi0gICAgICAgICAgdHlwZTogJ3RleHQnLCBncm91cDogZ2V0 dGV4dCgnVHJhbnNpdGlvbicpLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLCBtb2RlOiBbJ2Ny ZWF0ZScsICdlZGl0JywgJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgICBkZXBzOiBbJ2ZpcmVzJywg J2lzX2NvbnN0cmFpbnRfdHJpZ2dlcicsICdldm50X2luc2VydCcsICdldm50X3VwZGF0ZScsICdl dm50X2RlbGV0ZScsICdjb2x1bW5zJ10sCi0gICAgICAgICAgZGlzYWJsZWQ6ICdkaXNhYmxlVHJh bnNpdGlvbicsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAncHJvc3JjJywgbGFiZWw6IGdl dHRleHQoJ0NvZGUnKSwgZ3JvdXA6IGdldHRleHQoJ0NvZGUnKSwKLSAgICAgICAgICB0eXBlOiAn dGV4dCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwgZGVwczogWyd0ZnVuY3Rpb24nXSwKLSAg ICAgICAgICB0YWJQYW5lbENvZGVDbGFzczogJ3NxbC1jb2RlLWNvbnRyb2wnLAotICAgICAgICAg IGNvbnRyb2w6IEJhY2tmb3JtLlNxbENvZGVDb250cm9sLAotICAgICAgICAgIHZpc2libGU6IHRy dWUsCi0gICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIC8vIFdl IHdpbGwgZW5hYmxlIGl0IG9ubHkgd2hlbiBFREIgUFBBUyBhbmQgdHJpZ2dlciBmdW5jdGlvbiBp cwotICAgICAgICAgICAgLy8gc2V0IHRvIElubGluZSBFREItU1BMCi0gICAgICAgICAgICB2YXIg dGZ1bmN0aW9uID0gbS5nZXQoJ3RmdW5jdGlvbicpLAotICAgICAgICAgICAgICBzZXJ2ZXJfdHlw ZSA9IG0ubm9kZV9pbmZvWydzZXJ2ZXInXVsnc2VydmVyX3R5cGUnXTsKLQotICAgICAgICAgICAg cmV0dXJuIChzZXJ2ZXJfdHlwZSAhPT0gJ3BwYXMnIHx8Ci0gICAgICAgICAgICBfLmlzVW5kZWZp bmVkKHRmdW5jdGlvbikgfHwKLSAgICAgICAgICAgICAgdGZ1bmN0aW9uICE9PSAnSW5saW5lIEVE Qi1TUEwnKTsKLSAgICAgICAgICB9LAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2lzX3N5 c190cmlnZ2VyJywgbGFiZWw6IGdldHRleHQoJ1N5c3RlbSB0cmlnZ2VyPycpLCBjZWxsOiAnc3Ry aW5nJywKLSAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhN b2RlbENoZWNrJywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAgICAgIH0sewotICAgICAgICAg IGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCBjZWxsOiAnc3Ry aW5nJywKLSAgICAgICAgICB0eXBlOiAnbXVsdGlsaW5lJywgbW9kZTogWydwcm9wZXJ0aWVzJywg J2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScsCi0gICAg ICAgIH1dLAotICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oa2V5cykgewotICAgICAgICAgIHZh ciBtc2c7Ci0gICAgICAgICAgdGhpcy5lcnJvck1vZGVsLmNsZWFyKCk7Ci0KLSAgICAgICAgICAv LyBJZiBub3RoaW5nIHRvIHZhbGlkYXRlCi0gICAgICAgICAgaWYgKGtleXMgJiYga2V5cy5sZW5n dGggPT0gMCkgewotICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgfQotCi0gICAg ICAgICAgaWYoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScpKQotICAgICAgICAgICAgfHwg U3RyaW5nKHRoaXMuZ2V0KCduYW1lJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycp IHsKLSAgICAgICAgICAgIG1zZyA9IGdldHRleHQoJ05hbWUgY2Fubm90IGJlIGVtcHR5LicpOwot ICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnbmFtZScsIG1zZyk7Ci0gICAgICAgICAg ICByZXR1cm4gbXNnOwotICAgICAgICAgIH0KLSAgICAgICAgICBpZihfLmlzVW5kZWZpbmVkKHRo aXMuZ2V0KCd0ZnVuY3Rpb24nKSkKLSAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgndGZ1 bmN0aW9uJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAg IG1zZyA9IGdldHRleHQoJ1RyaWdnZXIgZnVuY3Rpb24gY2Fubm90IGJlIGVtcHR5LicpOwotICAg ICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgndGZ1bmN0aW9uJywgbXNnKTsKLSAgICAgICAg ICAgIHJldHVybiBtc2c7Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgaWYoIXRoaXMuZ2V0KCdl dm50X3RydW5jYXRlJykgJiYgIXRoaXMuZ2V0KCdldm50X2RlbGV0ZScpICYmCi0gICAgICAgICAg ICAhdGhpcy5nZXQoJ2V2bnRfdXBkYXRlJykgJiYgIXRoaXMuZ2V0KCdldm50X2luc2VydCcpKSB7 Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTcGVjaWZ5IGF0IGxlYXN0IG9uZSBldmVudC4n KTsKLSAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2V2bnRfdHJ1bmNhdGUnLCAnICcp OwotICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnZXZudF9kZWxldGUnLCAnICcpOwot ICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnZXZudF91cGRhdGUnLCAnICcpOwotICAg ICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnZXZudF9pbnNlcnQnLCBtc2cpOwotICAgICAg ICAgICAgcmV0dXJuIG1zZzsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZighXy5pc1VuZGVm aW5lZCh0aGlzLmdldCgndGZ1bmN0aW9uJykpICYmCi0gICAgICAgICAgICB0aGlzLmdldCgndGZ1 bmN0aW9uJykgPT09ICdJbmxpbmUgRURCLVNQTCcgJiYKLSAgICAgICAgICAgICAgKF8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ3Byb3NyYycpKQotICAgICAgICAgICAgICAgIHx8IFN0cmluZyh0aGlz LmdldCgncHJvc3JjJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpKQotICAgICAg ICAgIHsKLSAgICAgICAgICAgIG1zZyA9IGdldHRleHQoJ1RyaWdnZXIgY29kZSBjYW5ub3QgYmUg ZW1wdHkuJyk7Ci0gICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdwcm9zcmMnLCBtc2cp OwotICAgICAgICAgICAgcmV0dXJuIG1zZzsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJu IG51bGw7Ci0gICAgICAgIH0sCi0gICAgICAgIC8vIFdlIHdpbGwgY2hlY2sgaWYgd2UgYXJlIHVu ZGVyIHNjaGVtYSBub2RlICYgaW4gJ2NyZWF0ZScgbW9kZQotICAgICAgICBpblNjaGVtYTogZnVu Y3Rpb24oKSB7Ci0gICAgICAgICAgaWYodGhpcy5ub2RlX2luZm8gJiYgICdjYXRhbG9nJyBpbiB0 aGlzLm5vZGVfaW5mbykgewotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgfQot ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSwKLSAgICAgICAgLy8gV2Ugd2lsbCBj aGVjayBpZiB3ZSBhcmUgdW5kZXIgc2NoZW1hIG5vZGUgJiBpbiAnY3JlYXRlJyBtb2RlCi0gICAg ICAgIGluU2NoZW1hV2l0aE1vZGVsQ2hlY2s6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICBpZih0 aGlzLm5vZGVfaW5mbyAmJiAgJ3NjaGVtYScgaW4gdGhpcy5ub2RlX2luZm8pIHsKLSAgICAgICAg ICAgIC8vIFdlIHdpbGwgZGlzYWJsZSBjb250cm9sIGlmIGl0J3MgaW4gJ2VkaXQnIG1vZGUKLSAg ICAgICAgICAgIHJldHVybiAhbS5pc05ldygpOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1 cm4gdHJ1ZTsKLSAgICAgICAgfSwKLSAgICAgICAgLy8gQ2hlY2tzIHdlYXRoZXIgdG8gZW5hYmxl L2Rpc2FibGUgY29udHJvbAotICAgICAgICBpblNjaGVtYVdpdGhDb2x1bW5DaGVjazogZnVuY3Rp b24obSkgewotICAgICAgICAgIGlmKHRoaXMubm9kZV9pbmZvICYmICAnc2NoZW1hJyBpbiB0aGlz Lm5vZGVfaW5mbykgewotICAgICAgICAgICAgLy8gV2Ugd2lsbCBkaXNhYmxlIGNvbnRyb2wgaWYg aXQncyBzeXN0ZW0gY29sdW1ucwotICAgICAgICAgICAgLy8gaWU6IGl0J3MgcG9zaXRpb24gaXMg bGVzcyB0aGVuIDEKLSAgICAgICAgICAgIGlmIChtLmlzTmV3KCkpIHsKLSAgICAgICAgICAgICAg cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgLy8gaWYg d2UgYXJlIGluIGVkaXQgbW9kZQotICAgICAgICAgICAgICByZXR1cm4gKF8uaXNVbmRlZmluZWQo bS5nZXQoJ2F0dG51bScpKSB8fCBtLmdldCgnYXR0bnVtJykgPCAxICk7Ci0gICAgICAgICAgICB9 Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9LAotICAgICAg ICAvLyBEaXNhYmxlL0VuYWJsZSBUcmFuc2l0aW9uIHRhYmxlcwotICAgICAgICBkaXNhYmxlVHJh bnNpdGlvbjogZnVuY3Rpb24obSkgewotICAgICAgICAgIGlmICghbS5pc05ldygpKQotICAgICAg ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgdmFyIGZsYWcgPSBmYWxzZSwKLSAgICAgICAg ICAgIGV2bnQgPSBudWxsLAotICAgICAgICAgICAgbmFtZSA9IHRoaXMubmFtZSwKLSAgICAgICAg ICAgIGV2bnRfY291bnQgPSAwOwotCi0gICAgICAgICAgLy8gRGlzYWJsZSB0cmFuc2l0aW9uIHRh YmxlcyBmb3IgdmlldyB0cmlnZ2VyIGFuZCBQRyB2ZXJzaW9uIDwgMTAwMDAwCi0gICAgICAgICAg aWYoXy5pbmRleE9mKE9iamVjdC5rZXlzKG0ubm9kZV9pbmZvKSwgJ3RhYmxlJykgPT0gLTEgfHwK LSAgICAgICAgICAgIG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uIDwgMTAwMDAwKSByZXR1cm4g dHJ1ZTsKLQotICAgICAgICAgIGlmIChuYW1lID09ICd0Z29sZHRhYmxlJykgZXZudCA9ICdldm50 X2RlbGV0ZSc7Ci0gICAgICAgICAgZWxzZSBpZiAobmFtZSA9PSAndGduZXd0YWJsZScpIGV2bnQg PSAnZXZudF9pbnNlcnQnOwotCi0gICAgICAgICAgaWYobS5nZXQoJ2V2bnRfaW5zZXJ0JykpIGV2 bnRfY291bnQrKzsKLSAgICAgICAgICBpZihtLmdldCgnZXZudF91cGRhdGUnKSkgZXZudF9jb3Vu dCsrOwotICAgICAgICAgIGlmKG0uZ2V0KCdldm50X2RlbGV0ZScpKSBldm50X2NvdW50Kys7Ci0K LQotICAgICAgICAgIC8vIERpc2FibGUgdHJhbnNpdGlvbiB0YWJsZXMgaWYKLSAgICAgICAgICAv LyAgLSBJdCBpcyBhIGNvbnN0cmFpbnQgdHJpZ2dlcgotICAgICAgICAgIC8vICAtIEZpcmVzIG90 aGVyIHRoYW4gQUZURVIKLSAgICAgICAgICAvLyAgLSBNb3JlIHRoYW4gb25lIGV2ZW50cyBlbmFi bGVkCi0gICAgICAgICAgLy8gIC0gVXBkYXRlIGV2ZW50IHdpdGggdGhlIGNvbHVtbiBsaXN0Ci0K LSAgICAgICAgICAvLyBEaXNhYmxlIE9sZCB0cmFuc2l0aW9uIHRhYmxlIGlmIGJvdGggVVBEQVRF IGFuZCBERUxFVEUgZXZlbnRzIGFyZSBkaXNhYmxlZAotICAgICAgICAgIC8vIERpc2FibGUgTmV3 IHRyYW5zaXRpb24gdGFibGUgaWYgYm90aCBVUERBVEUgYW5kIElOU0VSVCBldmVudHMgYXJlIGRp c2FibGVkCi0gICAgICAgICAgaWYoIW0uZ2V0KCdpc19jb25zdHJhaW50X3RyaWdnZXInKSAmJiBt LmdldCgnZmlyZXMnKSA9PSAnQUZURVInICYmCi0gICAgICAgICAgICAobS5nZXQoJ2V2bnRfdXBk YXRlJykgfHwgbS5nZXQoZXZudCkpICYmIGV2bnRfY291bnQgPT0gMSkgewotICAgICAgICAgICAg ZmxhZyA9IChtLmdldCgnZXZudF91cGRhdGUnKSAmJiAoXy5zaXplKG0uZ2V0KCdjb2x1bW5zJykp ID49IDEgJiYgbS5nZXQoJ2NvbHVtbnMnKVswXSAhPSAnJykpOwotICAgICAgICAgIH0KLQotICAg ICAgICAgIGZsYWcgJiYgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmKG0u Z2V0KG5hbWUpKSB7Ci0gICAgICAgICAgICAgIG0uc2V0KG5hbWUsIG51bGwpOwotICAgICAgICAg ICAgfQotICAgICAgICAgIH0sMTApOwotCi0gICAgICAgICAgcmV0dXJuIGZsYWc7Ci0gICAgICAg IH0sCi0gICAgICB9KSwKICAgICAgIGNhbkNyZWF0ZTogU2NoZW1hQ2hpbGRUcmVlTm9kZS5pc1Ry ZWVJdGVtT2ZDaGlsZE9mU2NoZW1hLAogICAgICAgLy8gQ2hlY2sgdG8gd2hldGhlciB0cmlnZ2Vy IGlzIGRpc2FibGUgPwogICAgICAgY2FuQ3JlYXRlX3dpdGhfdHJpZ2dlcl9lbmFibGU6IGZ1bmN0 aW9uKGl0ZW1EYXRhLCBpdGVtLCBkYXRhKSB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy9zdGF0aWMv anMvdHlwZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3R5cGVzL3N0YXRpYy9qcy90eXBlLmpzCmluZGV4IGYwZWMyODdmMC4u NTZlZjE5OGUxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy9zdGF0aWMvanMvdHlwZS5qcworKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90eXBlcy9zdGF0aWMvanMvdHlwZS5qcwpAQCAtNzQsNDggKzc0LDYgQEAgZGVmaW5lKCdwZ2Fk bWluLm5vZGUudHlwZScsIFsKIAogICAgICAgfSwKICAgICAgIGV4dF9mdW5jczogdW5kZWZpbmVk LAotICAgICAgLyogRmV3IGZpZWxkcyBhcmUga2VwdCBzaW5jZSB0aGUgcHJvcGVydGllcyB0YWIg Zm9yIGNvbGxlY3Rpb24gaXMgbm90Ci0gICAgICB5ZXQgbWlncmF0ZWQgdG8gbmV3IHJlYWN0IHNj aGVtYS4gT25jZSB0aGUgcHJvcGVydGllcyBmb3IgY29sbGVjdGlvbgotICAgICAgaXMgcmVtb3Zl ZCwgcmVtb3ZlIHRoaXMgbW9kZWwgKi8KLSAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuTm9kZS5Nb2Rl bC5leHRlbmQoewotICAgICAgICBpZEF0dHJpYnV0ZTogJ29pZCcsCi0gICAgICAgIGRlZmF1bHRz OiB7Ci0gICAgICAgICAgbmFtZTogdW5kZWZpbmVkLAotICAgICAgICAgIGlzX3N5c190eXBlOiBm YWxzZSwKLSAgICAgICAgICB0eXB0eXBlOiB1bmRlZmluZWQsCi0gICAgICAgIH0sCi0KLSAgICAg ICAgLy8gRGVmYXVsdCB2YWx1ZXMhCi0gICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKGF0dHJz LCBhcmdzKSB7Ci0gICAgICAgICAgaWYgKF8uc2l6ZShhdHRycykgPT09IDApIHsKLSAgICAgICAg ICAgIHZhciB1c2VySW5mbyA9IHBnQnJvd3Nlci5zZXJ2ZXJJbmZvW2FyZ3Mubm9kZV9pbmZvLnNl cnZlci5faWRdLnVzZXIsCi0gICAgICAgICAgICAgIHNjaGVtYUluZm8gPSBhcmdzLm5vZGVfaW5m by5zY2hlbWE7Ci0KLSAgICAgICAgICAgIHRoaXMuc2V0KHsKLSAgICAgICAgICAgICAgJ3R5cGVv d25lcic6IHVzZXJJbmZvLm5hbWUsICdzY2hlbWEnOiBzY2hlbWFJbmZvLl9sYWJlbCwKLSAgICAg ICAgICAgIH0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcGdCcm93 c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRz KTsKLSAgICAgICAgfSwKLQotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1l JywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlw ZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAg ICAgICBkaXNhYmxlZDogJ3NjaGVtYUNoZWNrJywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6 ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAg IHR5cGU6ICd0ZXh0JyAsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAgICAgICB9LHsKLSAgICAg ICAgICBpZDogJ3R5cGVvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCBjZWxsOiAnc3Ry aW5nJywKLSAgICAgICAgICBjb250cm9sOiAnbm9kZS1saXN0LWJ5LW5hbWUnLAotICAgICAgICAg IHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sIG5v ZGU6ICdyb2xlJywKLSAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJywgc2VsZWN0Mjoge2Fs bG93Q2xlYXI6IGZhbHNlfSwKLSAgICAgICAgfSwgewotICAgICAgICAgIGlkOiAnZGVzY3JpcHRp b24nLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAg ICB0eXBlOiAnbXVsdGlsaW5lJywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0 J10sCi0gICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScsCi0gICAgICAgIH1dCi0gICAgICB9 KSwKICAgICAgIGdldFNjaGVtYTogKHRyZWVOb2RlSW5mbywgaXRlbU5vZGVEYXRhKSA9PiB7CiAg ICAgICAgIGxldCBub2RlT2JqID0gcGdBZG1pbi5Ccm93c2VyLk5vZGVzWyd0eXBlJ107CiAgICAg ICAgIHJldHVybiBuZXcgVHlwZVNjaGVtYSgKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0YXRpYy9q cy9tdmlldy5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0YXRpYy9qcy9tdmlldy5qcwppbmRleCAzOTM3MDdjOWIu LmNiZmQ2ODY2NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mvc3RhdGljL2pzL212aWV3LmpzCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3N0YXRpYy9qcy9tdmlldy5qcwpAQCAtMTQ2LDkzICsxNDYsNiBAQCBkZWZpbmUo J3BnYWRtaW4ubm9kZS5tdmlldycsIFsKICAgICAgICAgICB9CiAgICAgICAgICk7CiAgICAgICB9 LAotICAgICAgLyoqCi0gICAgICAgIERlZmluZSBtb2RlbCBmb3IgdGhlIHZpZXcgbm9kZSBhbmQg c3BlY2lmeSB0aGUKLSAgICAgICAgcHJvcGVydGllcyBvZiB0aGUgbW9kZWwgaW4gc2NoZW1hLgot ICAgICAgICovCi0gICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAg ICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQnLAotICAgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihh dHRycywgYXJncykgewotICAgICAgICAgIGlmIChfLnNpemUoYXR0cnMpID09PSAwKSB7Ci0gICAg ICAgICAgICAvLyBTZXQgU2VsZWN0ZWQgU2NoZW1hIGFuZCBDdXJyZW50IFVzZXIKLSAgICAgICAg ICAgIHZhciBzY2hlbWFMYWJlbCA9IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYS5fbGFiZWwgfHwgJ3B1 YmxpYycsCi0gICAgICAgICAgICAgIHVzZXJJbmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJn cy5ub2RlX2luZm8uc2VydmVyLl9pZF0udXNlcjsKLSAgICAgICAgICAgIHRoaXMuc2V0KHsKLSAg ICAgICAgICAgICAgJ3NjaGVtYSc6IHNjaGVtYUxhYmVsLCAnb3duZXInOiB1c2VySW5mby5uYW1l LAotICAgICAgICAgICAgfSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgIH0KLSAgICAgICAg ICBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBh cmd1bWVudHMpOwotICAgICAgICB9LAotICAgICAgICBkZWZhdWx0czogewotICAgICAgICAgIHNw Y25hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgfSwKLSAgICAgICAgc2NoZW1hOiBbewotICAgICAg ICAgIGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdzdHJpbmcnLAot ICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNjaGVtYScsCi0gICAgICAgIH0s ewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQoJ09JRCcpLCBjZWxsOiAnc3Ry aW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcyddLAotICAg ICAgICB9LHsKLSAgICAgICAgICBpZDogJ293bmVyJywgbGFiZWw6IGdldHRleHQoJ093bmVyJyks IGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIGNvbnRyb2w6ICdub2RlLWxpc3QtYnktbmFtZScs IHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogZmFsc2UgfSwKLSAgICAgICAgICBub2RlOiAncm9sZScs IGRpc2FibGVkOiAnaW5TY2hlbWEnLAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2NvbW1l bnQnLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAg ICB0eXBlOiAnbXVsdGlsaW5lJywKLSAgICAgICAgfV0sCi0gICAgICAgIHNlc3NDaGFuZ2VkOiBm dW5jdGlvbigpIHsKLSAgICAgICAgICAvKiBJZiBvbmx5IGN1c3RvbSBhdXRvdmFjdXVtIG9wdGlv biBpcyBlbmFibGVkIHRoZSBjaGVjayBpZiB0aGUgb3B0aW9ucyB0YWJsZSBpcyBhbHNvIGNoYW5n ZWQuICovCi0gICAgICAgICAgaWYoXy5zaXplKHRoaXMuc2Vzc0F0dHJzKSA9PSAyICYmIHRoaXMu c2Vzc0F0dHJzWydhdXRvdmFjdXVtX2N1c3RvbSddICYmIHRoaXMuc2Vzc0F0dHJzWyd0b2FzdF9h dXRvdmFjdXVtJ10pIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLmdldCgndmFjdXVtX3RhYmxl Jykuc2Vzc0NoYW5nZWQoKSB8fCB0aGlzLmdldCgndmFjdXVtX3RvYXN0Jykuc2Vzc0NoYW5nZWQo KTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYoXy5zaXplKHRoaXMuc2Vzc0F0dHJzKSA9PSAx ICYmICh0aGlzLnNlc3NBdHRyc1snYXV0b3ZhY3V1bV9jdXN0b20nXSB8fCB0aGlzLnNlc3NBdHRy c1sndG9hc3RfYXV0b3ZhY3V1bSddKSkgewotICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCd2 YWN1dW1fdGFibGUnKS5zZXNzQ2hhbmdlZCgpIHx8IHRoaXMuZ2V0KCd2YWN1dW1fdG9hc3QnKS5z ZXNzQ2hhbmdlZCgpOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gcGdCcm93c2VyLkRh dGFNb2RlbC5wcm90b3R5cGUuc2Vzc0NoYW5nZWQuYXBwbHkodGhpcyk7Ci0gICAgICAgIH0sCi0g ICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbihrZXlzKSB7Ci0KLSAgICAgICAgICAvLyBUcmlnZ2Vy cyBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcyBmb3IgZmllbGRzCi0gICAgICAgICAgdmFyIGVyciA9 IHt9LAotICAgICAgICAgICAgZXJybXNnLAotICAgICAgICAgICAgZmllbGRfbmFtZSA9IHRoaXMu Z2V0KCduYW1lJyksCi0gICAgICAgICAgICBmaWVsZF9kZWYgPSB0aGlzLmdldCgnZGVmaW5pdGlv bicpOwotCi0gICAgICAgICAgaWYoXy5pbmRleE9mKGtleXMsICdhdXRvdmFjdXVtX2N1c3RvbScp KQotICAgICAgICAgICAgaWYgKF8uaW5kZXhPZihrZXlzLCAnYXV0b3ZhY3V1bV9lbmFibGVkJykg IT0gLTEgfHwKLSAgICAgICAgICAgICAgXy5pbmRleE9mKGtleXMsICd0b2FzdF9hdXRvdmFjdXVt X2VuYWJsZWQnKSAhPSAtMSApCi0gICAgICAgICAgICAgIHJldHVybiBudWxsOwotCi0gICAgICAg ICAgaWYgKF8uaXNVbmRlZmluZWQoZmllbGRfbmFtZSkgfHwgXy5pc051bGwoZmllbGRfbmFtZSkg fHwKLSAgICAgICAgICAgIFN0cmluZyhmaWVsZF9uYW1lKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywg JycpID09ICcnKSB7Ci0gICAgICAgICAgICBlcnJbJ25hbWUnXSA9IGdldHRleHQoJ1BsZWFzZSBz cGVjaWZ5IG5hbWUuJyk7Ci0gICAgICAgICAgICBlcnJtc2cgPSBlcnJbJ25hbWUnXTsKLSAgICAg ICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ25hbWUnLCBlcnJtc2cpOwotICAgICAgICAgICAg cmV0dXJuIGVycm1zZzsKLSAgICAgICAgICB9ZWxzZXsKLSAgICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC51bnNldCgnbmFtZScpOwotICAgICAgICAgIH0KLSAgICAgICAgICBpZiAoXy5pc1VuZGVm aW5lZChmaWVsZF9kZWYpIHx8IF8uaXNOdWxsKGZpZWxkX2RlZikgfHwKLSAgICAgICAgICAgIFN0 cmluZyhmaWVsZF9kZWYpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAg ICAgICAgIGVyclsnZGVmaW5pdGlvbiddID0gZ2V0dGV4dCgnUGxlYXNlIGVudGVyIHZpZXcgZGVm aW5pdGlvbi4nKTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVyclsnZGVmaW5pdGlvbiddOwotICAg ICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnZGVmaW5pdGlvbicsIGVycm1zZyk7Ci0gICAg ICAgICAgICByZXR1cm4gZXJybXNnOwotICAgICAgICAgIH1lbHNlewotICAgICAgICAgICAgdGhp cy5lcnJvck1vZGVsLnVuc2V0KCdkZWZpbml0aW9uJyk7Ci0gICAgICAgICAgfQotICAgICAgICAg IHJldHVybiBudWxsOwotICAgICAgICB9LAotICAgICAgICAvLyBXZSB3aWxsIGRpc2FibGUgZXZl cnl0aGluZyBpZiB3ZSBhcmUgdW5kZXIgY2F0YWxvZyBub2RlCi0gICAgICAgIGluU2NoZW1hOiBm dW5jdGlvbigpIHsKLSAgICAgICAgICBpZih0aGlzLm5vZGVfaW5mbyAmJiAnY2F0YWxvZycgaW4g dGhpcy5ub2RlX2luZm8pCi0gICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g ICAgICAgICAgfQotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSwKLQotICAgICAg fSksCiAKICAgICAgIHJlZnJlc2hfbXZpZXc6IGZ1bmN0aW9uKGFyZ3MpIHsKICAgICAgICAgdmFy IGlucHV0ID0gYXJncyB8fCB7fSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0YXRpYy9qcy92aWV3 LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdmlld3Mvc3RhdGljL2pzL3ZpZXcuanMKaW5kZXggYjk4ZWE2YzZjLi4wYmE5NTI5 NTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0YXRpYy9qcy92aWV3LmpzCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdz L3N0YXRpYy9qcy92aWV3LmpzCkBAIC0xMDgsMTYzICsxMDgsNiBAQCBkZWZpbmUoJ3BnYWRtaW4u bm9kZS52aWV3JywgWwogICAgICAgICAgIH0KICAgICAgICAgKTsKICAgICAgIH0sCi0gICAgICAv KioKLSAgICAgICAgRGVmaW5lIG1vZGVsIGZvciB0aGUgdmlldyBub2RlIGFuZCBzcGVjaWZ5IHRo ZQotICAgICAgICBwcm9wZXJ0aWVzIG9mIHRoZSBtb2RlbCBpbiBzY2hlbWEuCi0gICAgICAqLwot ICAgICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7Ci0gICAgICAgIGlkQXR0 cmlidXRlOiAnb2lkJywKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3Mp IHsKLSAgICAgICAgICBpZiAoXy5zaXplKGF0dHJzKSA9PT0gMCkgewotICAgICAgICAgICAgLy8g U2V0IFNlbGVjdGVkIFNjaGVtYSBhbmQsIEN1cnJlbnQgVXNlcgotICAgICAgICAgICAgdmFyIHNj aGVtYUxhYmVsID0gYXJncy5ub2RlX2luZm8uc2NoZW1hLl9sYWJlbCB8fCAncHVibGljJywKLSAg ICAgICAgICAgICAgdXNlckluZm8gPSBwZ0Jyb3dzZXIuc2VydmVySW5mb1thcmdzLm5vZGVfaW5m by5zZXJ2ZXIuX2lkXS51c2VyOwotICAgICAgICAgICAgdGhpcy5zZXQoewotICAgICAgICAgICAg ICAnc2NoZW1hJzogc2NoZW1hTGFiZWwsICdvd25lcic6IHVzZXJJbmZvLm5hbWUsCi0gICAgICAg ICAgICB9LCB7c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHBnQnJvd3Nl ci5Ob2RlLk1vZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7 Ci0gICAgICAgIH0sCi0gICAgICAgIHNjaGVtYTogW3sKLSAgICAgICAgICBpZDogJ25hbWUnLCBs YWJlbDogZ2V0dGV4dCgnTmFtZScpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAn dGV4dCcsIGRpc2FibGVkOiAnbm90SW5TY2hlbWEnLAotICAgICAgICB9LHsKLSAgICAgICAgICBp ZDogJ29pZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAg ICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKLSAgICAgICAgfSx7Ci0gICAg ICAgICAgaWQ6ICdvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCBjZWxsOiAnc3RyaW5n JywgY29udHJvbDogJ25vZGUtbGlzdC1ieS1uYW1lJywKLSAgICAgICAgICBub2RlOiAncm9sZScs IGRpc2FibGVkOiAnbm90SW5TY2hlbWEnLCBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6IGZhbHNlIH0s Ci0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnc2NoZW1hJywgbGFiZWw6IGdldHRleHQoJ1Nj aGVtYScpLCBjZWxsOiAnc3RyaW5nJywgZmlyc3RfZW1wdHk6IGZhbHNlLAotICAgICAgICAgIGNv bnRyb2w6ICdub2RlLWxpc3QtYnktbmFtZScsIHR5cGU6ICd0ZXh0JywgY2FjaGVfbGV2ZWw6ICdk YXRhYmFzZScsCi0gICAgICAgICAgbm9kZTogJ3NjaGVtYScsIGRpc2FibGVkOiAnbm90SW5TY2hl bWEnLCBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgc2VsZWN0MjogeyBhbGxv d0NsZWFyOiBmYWxzZSB9LCBjYWNoZV9ub2RlOiAnZGF0YWJhc2UnLAotICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ3N5c3RlbV92aWV3JywgbGFiZWw6IGdldHRleHQoJ1N5c3RlbSB2aWV3Pycp LCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydwcm9w ZXJ0aWVzJ10sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnYWNsJywgbGFiZWw6IGdldHRl eHQoJ1ByaXZpbGVnZXMnKSwKLSAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgdHlwZTog J3RleHQnLCBncm91cDogZ2V0dGV4dCgnU2VjdXJpdHknKSwKLSAgICAgICAgfSx7Ci0gICAgICAg ICAgaWQ6ICdjb21tZW50JywgbGFiZWw6IGdldHRleHQoJ0NvbW1lbnQnKSwgY2VsbDogJ3N0cmlu ZycsCi0gICAgICAgICAgdHlwZTogJ211bHRpbGluZScsIGRpc2FibGVkOiAnbm90SW5TY2hlbWEn LAotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3NlY3VyaXR5X2JhcnJpZXInLCBsYWJlbDog Z2V0dGV4dCgnU2VjdXJpdHkgYmFycmllcj8nKSwKLSAgICAgICAgICB0eXBlOiAnc3dpdGNoJywg bWluX3ZlcnNpb246ICc5MDIwMCcsIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0gICAg ICAgICAgZGlzYWJsZWQ6ICdub3RJblNjaGVtYScsCi0gICAgICAgIH0sewotICAgICAgICAgIGlk OiAnY2hlY2tfb3B0aW9uJywgbGFiZWw6IGdldHRleHQoJ0NoZWNrIG9wdGlvbnMnKSwKLSAgICAg ICAgICBjb250cm9sOiAnc2VsZWN0MicsIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksIHR5 cGU6ICd0ZXh0JywKLSAgICAgICAgICBtaW5fdmVyc2lvbjogJzkwNDAwJywgbW9kZTpbJ3Byb3Bl cnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgICBzZWxlY3QyOiB7Ci0gICAgICAg ICAgICAvLyBTZXQgc2VsZWN0MiBvcHRpb24gd2lkdGggdG8gMTAwJQotICAgICAgICAgICAgYWxs b3dDbGVhcjogZmFsc2UsCi0gICAgICAgICAgfSwgZGlzYWJsZWQ6ICdub3RJblNjaGVtYScsCi0g ICAgICAgICAgb3B0aW9uczpbewotICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ05vJyksIHZh bHVlOiAnbm8nLAotICAgICAgICAgIH0sewotICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0xv Y2FsJyksIHZhbHVlOiAnbG9jYWwnLAotICAgICAgICAgIH0sewotICAgICAgICAgICAgbGFiZWw6 IGdldHRleHQoJ0Nhc2NhZGVkJyksIHZhbHVlOiAnY2FzY2FkZWQnLAotICAgICAgICAgIH1dLAot ICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2RlZmluaXRpb24nLCBsYWJlbDogZ2V0dGV4dCgn Q29kZScpLCBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsn Y3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0NvZGUnKSwKLSAgICAgICAgICB0YWJQ YW5lbENvZGVDbGFzczogJ3NxbC1jb2RlLWNvbnRyb2wnLAotICAgICAgICAgIGRpc2FibGVkOiAn bm90SW5TY2hlbWEnLAotICAgICAgICAgIGNvbnRyb2w6IEJhY2tmb3JtLlNxbENvZGVDb250cm9s LmV4dGVuZCh7Ci0gICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg ICAgIEJhY2tmb3JtLlNxbENvZGVDb250cm9sLnByb3RvdHlwZS5vbkNoYW5nZS5hcHBseSh0aGlz LCBhcmd1bWVudHMpOwotCi0gICAgICAgICAgICAgIGlmICghdGhpcy5tb2RlbCB8fCAhKAotICAg ICAgICAgICAgICAgIHRoaXMubW9kZWwuY2hhbmdlZCAmJgotICAgICAgICAgICAgICAgIHRoaXMu bW9kZWwubm9kZV9pbmZvLnNlcnZlci5zZXJ2ZXJfdHlwZSA9PSAncGcnICYmCi0gICAgICAgICAg ICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayB0aGlzIHdoZW4gY3JlYXRpbmcgYSB2aWV3Ci0gICAg ICAgICAgICAgICAgdGhpcy5tb2RlbC5nZXQoJ29pZCcpICE9PSB1bmRlZmluZWQKLSAgICAgICAg ICAgICAgKSB8fCAhKAotICAgICAgICAgICAgICAgIHRoaXMubW9kZWwub3JpZ1Nlc3NBdHRycyAm JgotICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuY2hhbmdlZC5kZWZpbml0aW9uICE9IHRoaXMu bW9kZWwub3JpZ1Nlc3NBdHRycy5kZWZpbml0aW9uCi0gICAgICAgICAgICAgICkpIHsKLSAgICAg ICAgICAgICAgICB0aGlzLm1vZGVsLndhcm5fdGV4dCA9IHVuZGVmaW5lZDsKLSAgICAgICAgICAg ICAgICByZXR1cm47Ci0gICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICBsZXQgb2xkX2Rl ZiA9IHRoaXMubW9kZWwub3JpZ1Nlc3NBdHRycy5kZWZpbml0aW9uICYmCi0gICAgICAgICAgICAg ICAgdGhpcy5tb2RlbC5vcmlnU2Vzc0F0dHJzLmRlZmluaXRpb24ucmVwbGFjZSgKLSAgICAgICAg ICAgICAgICAgIC9ccy9naSwgJycKLSAgICAgICAgICAgICAgICApLnNwbGl0KCdGUk9NJyksCi0g ICAgICAgICAgICAgICAgbmV3X2RlZiA9IFtdOwotCi0gICAgICAgICAgICAgIGlmICh0aGlzLm1v ZGVsLmNoYW5nZWQuZGVmaW5pdGlvbiAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAg bmV3X2RlZiA9IHRoaXMubW9kZWwuY2hhbmdlZC5kZWZpbml0aW9uLnJlcGxhY2UoCi0gICAgICAg ICAgICAgICAgICAvXHMvZ2ksICcnCi0gICAgICAgICAgICAgICAgKS5zcGxpdCgnRlJPTScpOwot ICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgaWYgKChvbGRfZGVmLmxlbmd0aCAhPSBu ZXdfZGVmLmxlbmd0aCkgfHwgKAotICAgICAgICAgICAgICAgIG9sZF9kZWYubGVuZ3RoID4gMSAm JiAoCi0gICAgICAgICAgICAgICAgICBvbGRfZGVmWzBdICE9IG5ld19kZWZbMF0KLSAgICAgICAg ICAgICAgICApCi0gICAgICAgICAgICAgICkpIHsKLSAgICAgICAgICAgICAgICB0aGlzLm1vZGVs Lndhcm5fdGV4dCA9IGdldHRleHQoCi0gICAgICAgICAgICAgICAgICAnQ2hhbmdpbmcgdGhlIGNv bHVtbnMgaW4gYSB2aWV3IHJlcXVpcmVzIGRyb3BwaW5nIGFuZCByZS1jcmVhdGluZyB0aGUgdmll dy4gVGhpcyBtYXkgZmFpbCBpZiBvdGhlciBvYmplY3RzIGFyZSBkZXBlbmRlbnQgdXBvbiB0aGlz IHZpZXcsIG9yIG1heSBjYXVzZSBwcm9jZWR1cmFsIGZ1bmN0aW9ucyB0byBmYWlsIGlmIHRoZXkg YXJlIG5vdCBtb2RpZmllZCB0byB0YWtlIGFjY291bnQgb2YgdGhlIGNoYW5nZXMuJwotICAgICAg ICAgICAgICAgICkgKyAnPGJyPjxicj48Yj4nICsgZ2V0dGV4dCgnRG8geW91IHdpc2ggdG8gY29u dGludWU/JykgKwotICAgICAgICAgICAgICAgICc8L2I+JzsKLSAgICAgICAgICAgICAgfSBlbHNl IHsKLSAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLndhcm5fdGV4dCA9IHVuZGVmaW5lZDsKLSAg ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICB9KSwKLSAgICAgICAgfSwg cGdCcm93c2VyLlNlY3VyaXR5R3JvdXBTY2hlbWEsIHsKLSAgICAgICAgICAvLyBBZGQgUHJpdmls ZWdlIENvbnRyb2wKLSAgICAgICAgICBpZDogJ2RhdGFjbCcsIGxhYmVsOiBnZXR0ZXh0KCdQcml2 aWxlZ2VzJyksIHR5cGU6ICdjb2xsZWN0aW9uJywKLSAgICAgICAgICBtb2RlbDogcGdCcm93c2Vy Lk5vZGUuUHJpdmlsZWdlUm9sZU1vZGVsLmV4dGVuZCh7Ci0gICAgICAgICAgICBwcml2aWxlZ2Vz OiBbJ2EnLCAncicsICd3JywgJ2QnLCAnRCcsICd4JywgJ3QnXSwKLSAgICAgICAgICB9KSwgdW5p cXVlQ29sIDogWydncmFudGVlJ10sIGVkaXRhYmxlOiBmYWxzZSwgZ3JvdXA6ICdzZWN1cml0eScs Ci0gICAgICAgICAgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLCBjYW5BZGQ6IHRydWUsIGNhbkRl bGV0ZTogdHJ1ZSwKLSAgICAgICAgICBjb250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJywg ZGlzYWJsZWQ6ICdub3RJblNjaGVtYScsCi0gICAgICAgIH0sewotICAgICAgICAgIC8vIEFkZCBT ZWN1cml0eSBMYWJlbHMgQ29udHJvbAotICAgICAgICAgIGlkOiAnc2VjbGFiZWxzJywgbGFiZWw6 IGdldHRleHQoJ1NlY3VyaXR5IGxhYmVscycpLAotICAgICAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIu U2VjTGFiZWxNb2RlbCwgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbicsCi0gICAg ICAgICAgY2FuRWRpdDogZmFsc2UsIGdyb3VwOiAnc2VjdXJpdHknLCBjYW5EZWxldGU6IHRydWUs Ci0gICAgICAgICAgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLCBjYW5BZGQ6IHRydWUsIGRpc2Fi bGVkOiAnbm90SW5TY2hlbWEnLAotICAgICAgICAgIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxl Y3Rpb24nLCB1bmlxdWVDb2wgOiBbJ3Byb3ZpZGVyJ10sCi0gICAgICAgIH1dLAotICAgICAgICB2 YWxpZGF0ZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgLy8gVHJpZ2dlcnMgc3BlY2lmaWMgZXJy b3IgbWVzc2FnZXMgZm9yIGZpZWxkcwotICAgICAgICAgIHZhciBlcnIgPSB7fSwKLSAgICAgICAg ICAgIGVycm1zZywKLSAgICAgICAgICAgIGZpZWxkX25hbWUgPSB0aGlzLmdldCgnbmFtZScpLAot ICAgICAgICAgICAgZmllbGRfZGVmID0gdGhpcy5nZXQoJ2RlZmluaXRpb24nKTsKLSAgICAgICAg ICBpZiAoXy5pc1VuZGVmaW5lZChmaWVsZF9uYW1lKSB8fCBfLmlzTnVsbChmaWVsZF9uYW1lKSB8 fAotICAgICAgICAgICAgU3RyaW5nKGZpZWxkX25hbWUpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAn JykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnbmFtZSddID0gZ2V0dGV4dCgnUGxlYXNlIHNw ZWNpZnkgbmFtZS4nKTsKLSAgICAgICAgICAgIGVycm1zZyA9IGVyclsnbmFtZSddOwotICAgICAg ICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnbmFtZScsIGVycm1zZyk7Ci0gICAgICAgICAgICBy ZXR1cm4gZXJybXNnOwotICAgICAgICAgIH1lbHNlewotICAgICAgICAgICAgdGhpcy5lcnJvck1v ZGVsLnVuc2V0KCduYW1lJyk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmIChfLmlzVW5kZWZp bmVkKGZpZWxkX2RlZikgfHwgXy5pc051bGwoZmllbGRfZGVmKSB8fAotICAgICAgICAgICAgU3Ry aW5nKGZpZWxkX2RlZikucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewotICAgICAg ICAgICAgZXJyWydkZWZpbml0aW9uJ10gPSBnZXR0ZXh0KCdQbGVhc2UgZW50ZXIgdmlldyBjb2Rl LicpOwotICAgICAgICAgICAgZXJybXNnID0gZXJyWydkZWZpbml0aW9uJ107Ci0gICAgICAgICAg ICB0aGlzLmVycm9yTW9kZWwuc2V0KCdkZWZpbml0aW9uJywgZXJybXNnKTsKLSAgICAgICAgICAg IHJldHVybiBlcnJtc2c7Ci0gICAgICAgICAgfWVsc2V7Ci0gICAgICAgICAgICB0aGlzLmVycm9y TW9kZWwudW5zZXQoJ2RlZmluaXRpb24nKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJu IG51bGw7Ci0gICAgICAgIH0sCi0gICAgICAgIC8vIFdlIHdpbGwgZGlzYWJsZSBldmVyeXRoaW5n IGlmIHdlIGFyZSB1bmRlciBjYXRhbG9nIG5vZGUKLSAgICAgICAgbm90SW5TY2hlbWE6IGZ1bmN0 aW9uKCkgewotICAgICAgICAgIGlmKHRoaXMubm9kZV9pbmZvICYmICdjYXRhbG9nJyBpbiB0aGlz Lm5vZGVfaW5mbykgewotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgfQotICAg ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSwKLSAgICAgIH0pLAogICAgIH0pOwogICB9 CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3RhdGljL2pzL2RhdGFiYXNlLmpzCmluZGV4 IDM0NGFiY2FjNS4uYTYwZmMyNmQ5IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3RhdGljL2pzL2RhdGFiYXNlLmpzCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0 aWMvanMvZGF0YWJhc2UuanMKQEAgLTM1MSw0NSArMzUxLDYgQEAgZGVmaW5lKCdwZ2FkbWluLm5v ZGUuZGF0YWJhc2UnLCBbCiAgICAgICAgICAgfQogICAgICAgICApOwogICAgICAgfSwKLSAgICAg IC8qIEZldyBmaWVsZHMgYXJlIGtlcHQgc2luY2UgdGhlIHByb3BlcnRpZXMgdGFiIGZvciBjb2xs ZWN0aW9uIGlzIG5vdAotICAgICAgeWV0IG1pZ3JhdGVkIHRvIG5ldyByZWFjdCBzY2hlbWEuIE9u Y2UgdGhlIHByb3BlcnRpZXMgZm9yIGNvbGxlY3Rpb24KLSAgICAgIGlzIHJlbW92ZWQsIHJlbW92 ZSB0aGlzIG1vZGVsICovCi0gICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5k KHsKLSAgICAgICAgaWRBdHRyaWJ1dGU6ICdkaWQnLAotICAgICAgICBkZWZhdWx0czogewotICAg ICAgICAgIG5hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICBvd25lcjogdW5kZWZpbmVkLAotICAg ICAgICAgIGNvbW1lbnQ6IHVuZGVmaW5lZCwKLSAgICAgICAgfSwKLQotICAgICAgICAvLyBEZWZh dWx0IHZhbHVlcyEKLSAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsK LSAgICAgICAgICB2YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9PT0gMCk7Ci0KLSAgICAgICAg ICBpZiAoaXNOZXcpIHsKLSAgICAgICAgICAgIHZhciB1c2VySW5mbyA9IHBnQnJvd3Nlci5zZXJ2 ZXJJbmZvW2FyZ3Mubm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7Ci0gICAgICAgICAgICB0aGlz LnNldCh7J2RhdG93bmVyJzogdXNlckluZm8ubmFtZX0sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAg ICAgICB9Ci0gICAgICAgICAgcGdCcm93c2VyLk5vZGUuTW9kZWwucHJvdG90eXBlLmluaXRpYWxp emUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgfSwKLQotICAgICAgICBzY2hlbWE6 IFsKLSAgICAgICAgICB7Ci0gICAgICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogZ2V0dGV4dCgn RGF0YWJhc2UnKSwgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2Us IHR5cGU6ICd0ZXh0JywKLSAgICAgICAgICB9LHsKLSAgICAgICAgICAgIGlkOiAnZGlkJywgbGFi ZWw6IGdldHRleHQoJ09JRCcpLCBjZWxsOiAnc3RyaW5nJywgbW9kZTogWydwcm9wZXJ0aWVzJ10s Ci0gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgICB9 LHsKLSAgICAgICAgICAgIGlkOiAnZGF0b3duZXInLCBsYWJlbDogZ2V0dGV4dCgnT3duZXInKSwK LSAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ3RleHQnLCBub2RlOiAncm9sZScs Ci0gICAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFtZUNvbnRyb2wsIHNl bGVjdDI6IHsgYWxsb3dDbGVhcjogZmFsc2UgfSwKLSAgICAgICAgICB9LHsKLSAgICAgICAgICAg IGlkOiAnY29tbWVudHMnLCBsYWJlbDogZ2V0dGV4dCgnQ29tbWVudCcpLAotICAgICAgICAgICAg ZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnbXVsdGlsaW5lJywKLSAgICAgICAgICB9LAotICAgICAg ICBdLAotICAgICAgfSksCiAgICAgfSk7CiAKICAgICBwZ0Jyb3dzZXIuU2VjdXJpdHlHcm91cFNj aGVtYSA9IHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UudWkuanMgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3RhdGljL2pzL2RhdGFiYXNl LnVpLmpzCmluZGV4IDA3MTVlYTFiNy4uNWIwMjcxNmQzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3RhdGljL2pzL2RhdGFi YXNlLnVpLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UudWkuanMKQEAgLTk1LDIwICs5NSwyMCBAQCBl eHBvcnQgZGVmYXVsdCBjbGFzcyBEYXRhYmFzZVNjaGVtYSBleHRlbmRzIEJhc2VVSVNjaGVtYSB7 CiAgICAgcmV0dXJuIFsKICAgICAgIHsKICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRl eHQoJ0RhdGFiYXNlJyksIGNlbGw6ICd0ZXh0JywKLSAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0 eXBlOiAndGV4dCcsIG5vRW1wdHk6IHRydWUsCisgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlw ZTogJ3RleHQnLCBub0VtcHR5OiB0cnVlLCBpc0NvbGxlY3Rpb25Qcm9wZXJ0eTogdHJ1ZSwKICAg ICAgIH0sewogICAgICAgICBpZDogJ2RpZCcsIGxhYmVsOiBnZXR0ZXh0KCdPSUQnKSwgY2VsbDog J3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0 eXBlOiAndGV4dCcsCiAgICAgICB9LHsKICAgICAgICAgaWQ6ICdkYXRvd25lcicsIGxhYmVsOiBn ZXR0ZXh0KCdPd25lcicpLAogICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdzZWxlY3Qn LCBvcHRpb25zOiB0aGlzLmZpZWxkT3B0aW9ucy5yb2xlLAotICAgICAgICBjb250cm9sUHJvcHM6 IHsgYWxsb3dDbGVhcjogZmFsc2UgfSwKKyAgICAgICAgY29udHJvbFByb3BzOiB7IGFsbG93Q2xl YXI6IGZhbHNlIH0sIGlzQ29sbGVjdGlvblByb3BlcnR5OiB0cnVlLAogICAgICAgfSx7CiAgICAg ICAgIGlkOiAnaXNfc3lzX29iaicsIGxhYmVsOiBnZXR0ZXh0KCdTeXN0ZW0gZGF0YWJhc2U/Jyks CiAgICAgICAgIGNlbGw6ICdzd2l0Y2gnLCB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydwcm9wZXJ0 aWVzJ10sCiAgICAgICB9LHsKICAgICAgICAgaWQ6ICdjb21tZW50cycsIGxhYmVsOiBnZXR0ZXh0 KCdDb21tZW50JyksCi0gICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ211bHRpbGluZScs CisgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ211bHRpbGluZScsIGlzQ29sbGVjdGlv blByb3BlcnR5OiB0cnVlLAogICAgICAgfSx7CiAgICAgICAgIGlkOiAnZW5jb2RpbmcnLCBsYWJl bDogZ2V0dGV4dCgnRW5jb2RpbmcnKSwKICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAn c2VsZWN0JywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRp b25zL3N0YXRpYy9qcy9zdWJzY3JpcHRpb24uanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9ucy9zdGF0aWMvanMvc3Vic2Ny aXB0aW9uLmpzCmluZGV4IDFhMTQ1YjRkNi4uZjVmNTk2MTg4IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9u cy9zdGF0aWMvanMvc3Vic2NyaXB0aW9uLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3N0YXRpYy9qcy9zdWJz Y3JpcHRpb24uanMKQEAgLTE0LDggKzE0LDggQEAgaW1wb3J0IE5vdGlmeSBmcm9tICcuLi8uLi8u Li8uLi8uLi8uLi8uLi9zdGF0aWMvanMvaGVscGVycy9Ob3RpZmllcic7CiAKIGRlZmluZSgncGdh ZG1pbi5ub2RlLnN1YnNjcmlwdGlvbicsIFsKICAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3VyY2Vz L3VybF9mb3InLCAnanF1ZXJ5JywKLSAgJ3NvdXJjZXMvcGdhZG1pbicsICdwZ2FkbWluLmJyb3dz ZXInLCAncGdhZG1pbi5iYWNrZm9ybScsICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbicsCi1d LCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tm b3JtKSB7CisgICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2VyJywgJ3BnYWRtaW4u YnJvd3Nlci5jb2xsZWN0aW9uJywKK10sIGZ1bmN0aW9uKGdldHRleHQsIHVybF9mb3IsICQsIHBn QWRtaW4sIHBnQnJvd3NlcikgewogCiAgIC8vIEV4dGVuZCB0aGUgYnJvd3NlcidzIGNvbGxlY3Rp b24gY2xhc3MgZm9yIHN1YnNjcmlwdGlvbnMgY29sbGVjdGlvbgogICBpZiAoIXBnQnJvd3Nlci5O b2Rlc1snY29sbC1zdWJzY3JpcHRpb24nXSkgewpAQCAtMjQsNyArMjQsNyBAQCBkZWZpbmUoJ3Bn YWRtaW4ubm9kZS5zdWJzY3JpcHRpb24nLCBbCiAgICAgICAgIG5vZGU6ICdzdWJzY3JpcHRpb24n LAogICAgICAgICBsYWJlbDogZ2V0dGV4dCgnU3Vic2NyaXB0aW9ucycpLAogICAgICAgICB0eXBl OiAnY29sbC1zdWJzY3JpcHRpb24nLAotICAgICAgICBjb2x1bW5zOiBbJ25hbWUnLCAnc3Vib3du ZXInLCAncHViJywgJ2VuYWJsZWQnXSwKKyAgICAgICAgY29sdW1uczogWyduYW1lJywgJ3N1Ym93 bmVyJywgJ3Byb3BwdWInLCAnZW5hYmxlZCddLAogICAgICAgICBoYXNTdGF0aXN0aWNzOiB0cnVl LAogICAgICAgfSk7CiAgIH0KQEAgLTc0LDEwMSArNzQsNiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9k ZS5zdWJzY3JpcHRpb24nLCBbCiAgICAgICAgICAgZW5hYmxlOiAnY2FuQ3JlYXRlJywKICAgICAg ICAgfV0pOwogICAgICAgfSwKLSAgICAgIC8vIERlZmluZSB0aGUgbW9kZWwgZm9yIHN1YnNjcmlw dGlvbiBub2RlCi0gICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKLSAg ICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQnLAotICAgICAgICBkZWZhdWx0czogewotICAgICAgICAg IG5hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICBzdWJvd25lcjogdW5kZWZpbmVkLAotICAgICAg ICAgIHB1YnRhYmxlOiB1bmRlZmluZWQsCi0gICAgICAgICAgY29ubmVjdF90aW1lb3V0OiAxMCwK LSAgICAgICAgICBwdWI6W10sCi0gICAgICAgICAgZW5hYmxlZDp0cnVlLAotICAgICAgICAgIGNy ZWF0ZV9zbG90OiB0cnVlLAotICAgICAgICAgIGNvcHlfZGF0YTp0cnVlLAotICAgICAgICAgIGNv bm5lY3Q6dHJ1ZSwKLSAgICAgICAgICBjb3B5X2RhdGFfYWZ0ZXJfcmVmcmVzaDpmYWxzZSwKLSAg ICAgICAgICBzeW5jOidvZmYnLAotICAgICAgICAgIHJlZnJlc2hfcHViOiBmYWxzZSwKLSAgICAg ICAgICBwYXNzd29yZDogJycsCi0gICAgICAgICAgc3NsbW9kZTogJ3ByZWZlcicsCi0gICAgICAg ICAgc3NsY29tcHJlc3Npb246IGZhbHNlLAotICAgICAgICAgIHNzbGNlcnQ6ICcnLAotICAgICAg ICAgIHNzbGtleTogJycsCi0gICAgICAgICAgc3Nscm9vdGNlcnQ6ICcnLAotICAgICAgICAgIHNz bGNybDogJycsCi0gICAgICAgICAgaG9zdDogJycsCi0gICAgICAgICAgaG9zdGFkZHI6ICcnLAot ICAgICAgICAgIHBvcnQ6IDU0MzIsCi0gICAgICAgICAgZGI6ICdwb3N0Z3JlcycsCi0gICAgICAg IH0sCi0KLSAgICAgICAgLy8gRGVmYXVsdCB2YWx1ZXMhCi0gICAgICAgIGluaXRpYWxpemU6IGZ1 bmN0aW9uKGF0dHJzLCBhcmdzKSB7Ci0gICAgICAgICAgdmFyIGlzTmV3ID0gKF8uc2l6ZShhdHRy cykgPT09IDApOwotICAgICAgICAgIGlmIChpc05ldykgewotICAgICAgICAgICAgdmFyIHVzZXJJ bmZvID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2VydmVyLl9pZF0udXNl cjsKLQotICAgICAgICAgICAgdGhpcy5zZXQoeydzdWJvd25lcic6IHVzZXJJbmZvLm5hbWV9LCB7 c2lsZW50OiB0cnVlfSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHBnQnJvd3Nlci5Ob2RlLk1v ZGVsLnByb3RvdHlwZS5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Ci0gICAgICAg IH0sCi0KLSAgICAgICAgLy8gRGVmaW5lIHRoZSBzY2hlbWEgZm9yIHRoZSBzdWJzY3JpcHRpb24g bm9kZQotICAgICAgICBzY2hlbWE6IFt7Ci0gICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdl dHRleHQoJ05hbWUnKSwgdHlwZTogJ3RleHQnLAotICAgICAgICAgIG1vZGU6IFsncHJvcGVydGll cycsICdjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICAgIHZpc2libGU6IGZ1bmN0aW9uKCkgewot ICAgICAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQodGhpcy5ub2RlX2luZm8pICYmICFfLmlzVW5k ZWZpbmVkKHRoaXMubm9kZV9pbmZvLnNlcnZlcikKLSAgICAgICAgICAgICAgJiYgIV8uaXNVbmRl ZmluZWQodGhpcy5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24pICYmCi0gICAgICAgICAgICAgICAg dGhpcy5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24gPj0gMTAwMDAwKSB7Ci0gICAgICAgICAgICAg IHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot ICAgICAgICAgIH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdl dHRleHQoJ09JRCcpLCBjZWxsOiAnc3RyaW5nJywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0gICAg ICAgICAgdHlwZTogJ3RleHQnLAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgaWQ6 ICdzdWJvd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLCB0eXBlOiAndGV4dCcsCi0gICAg ICAgICAgY29udHJvbDogQmFja2Zvcm0uTm9kZUxpc3RCeU5hbWVDb250cm9sLCBub2RlOiAncm9s ZScsCi0gICAgICAgICAgbW9kZTogWydlZGl0JywgJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJ10sIHNl bGVjdDI6IHsgYWxsb3dDbGVhcjogZmFsc2V9LAotICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlv bihtKXsKLSAgICAgICAgICAgIGlmKG0uaXNOZXcoKSkKLSAgICAgICAgICAgICAgcmV0dXJuIHRy dWU7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfSwKLSAgICAgICAgfSwK LSAgICAgICAgewotICAgICAgICAgIGlkOiAnZW5hYmxlZCcsIGxhYmVsOiBnZXR0ZXh0KCdFbmFi bGVkPycpLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwK LSAgICAgICAgICBncm91cDogZ2V0dGV4dCgnV2l0aCcpLAotICAgICAgICAgIHJlYWRvbmx5OiAn aXNDb25uZWN0JywgZGVwcyA6Wydjb25uZWN0J10sCi0gICAgICAgICAgaGVscE1lc3NhZ2U6IGdl dHRleHQoJ1NwZWNpZmllcyB3aGV0aGVyIHRoZSBzdWJzY3JpcHRpb24gc2hvdWxkIGJlIGFjdGl2 ZWx5IHJlcGxpY2F0aW5nLCBvciB3aGV0aGVyIGl0IHNob3VsZCBiZSBqdXN0IHNldHVwIGJ1dCBu b3Qgc3RhcnRlZCB5ZXQuJyksCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICBpZDog J3B1YicsIGxhYmVsOiBnZXR0ZXh0KCdQdWJsaWNhdGlvbicpLCB0eXBlOiAndGV4dCcsIGdyb3Vw OiBnZXR0ZXh0KCdDb25uZWN0aW9uJyksCi0gICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJ10s Ci0gICAgICAgIH0sCi0gICAgICAgIF0sCi0gICAgICAgIHNlc3NDaGFuZ2VkOiBmdW5jdGlvbigp IHsKLSAgICAgICAgICBpZiAoIXRoaXMuaXNOZXcoKSAmJiBfLmlzVW5kZWZpbmVkKHRoaXMuYXR0 cmlidXRlc1sncmVmcmVzaF9wdWInXSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg ICAgICAgcmV0dXJuIHBnQnJvd3Nlci5EYXRhTW9kZWwucHJvdG90eXBlLnNlc3NDaGFuZ2VkLmFw cGx5KHRoaXMpOwotICAgICAgICB9LAotICAgICAgICBjYW5DcmVhdGU6IGZ1bmN0aW9uKGl0ZW1E YXRhLCBpdGVtKSB7Ci0gICAgICAgICAgdmFyIHRyZWVEYXRhID0gcGdCcm93c2VyLnRyZWUuZ2V0 VHJlZU5vZGVIaWVyYXJjaHkoaXRlbSksCi0gICAgICAgICAgICBzZXJ2ZXIgPSB0cmVlRGF0YVsn c2VydmVyJ107Ci0KLSAgICAgICAgICAvLyBJZiBzZXJ2ZXIgaXMgbGVzcyB0aGFuIDEwIHRoZW4g ZG8gbm90IGFsbG93ICdjcmVhdGUnIG1lbnUKLSAgICAgICAgICBpZiAoc2VydmVyICYmIHNlcnZl ci52ZXJzaW9uIDwgMTAwMDAwKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAg ICAgLy8gYnkgZGVmYXVsdCB3ZSB3YW50IHRvIGFsbG93IGNyZWF0ZSBtZW51Ci0gICAgICAgICAg cmV0dXJuIHRydWU7Ci0gICAgICAgIH0sCi0gICAgICB9KSwKICAgICAgIGdldFNjaGVtYTogZnVu Y3Rpb24odHJlZU5vZGVJbmZvLCBpdGVtTm9kZURhdGEpewogICAgICAgICByZXR1cm4gbmV3IFN1 YnNjcmlwdGlvblNjaGVtYSgKICAgICAgICAgICB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9ucy9zdGF0 aWMvanMvc3Vic2NyaXB0aW9uLnVpLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNjcmlwdGlvbnMvc3RhdGljL2pzL3N1YnNjcmlwdGlv bi51aS5qcwppbmRleCBiYjZiNDE4YzYuLjc3MWUzYzAzYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNjcmlwdGlvbnMv c3RhdGljL2pzL3N1YnNjcmlwdGlvbi51aS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9ucy9zdGF0aWMvanMvc3Vi c2NyaXB0aW9uLnVpLmpzCkBAIC0xNzYsNyArMTc2LDcgQEAgZXhwb3J0IGRlZmF1bHQgY2xhc3Mg U3Vic2NyaXB0aW9uU2NoZW1hIGV4dGVuZHMgQmFzZVVJU2NoZW1hewogICAgICAgbW9kZTogWydw cm9wZXJ0aWVzJywgJ2VkaXQnLCAnY3JlYXRlJ10sCiAgICAgfSwKICAgICB7Ci0gICAgICBpZDog J3B1YicsIGxhYmVsOiBnZXR0ZXh0KCdQdWJsaWNhdGlvbicpLCB0eXBlOiAndGV4dCcsIGdyb3Vw OiBnZXR0ZXh0KCdDb25uZWN0aW9uJyksCisgICAgICBpZDogJ3Byb3BwdWInLCBsYWJlbDogZ2V0 dGV4dCgnUHVibGljYXRpb24nKSwgdHlwZTogJ3RleHQnLCBncm91cDogZ2V0dGV4dCgnQ29ubmVj dGlvbicpLAogICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJ10sCiAgICAgfSwKICAgICB7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc3Vic2NyaXB0aW9ucy90ZW1wbGF0ZXMvc3Vic2NyaXB0aW9ucy9zcWwvZGVmYXVsdC9wcm9w ZXJ0aWVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zdWJzY3JpcHRpb25zL3RlbXBsYXRlcy9zdWJzY3JpcHRpb25zL3NxbC9kZWZhdWx0 L3Byb3BlcnRpZXMuc3FsCmluZGV4IGY3YTZiYWYzYi4uYTQxNjgyMWRhIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2Ny aXB0aW9ucy90ZW1wbGF0ZXMvc3Vic2NyaXB0aW9ucy9zcWwvZGVmYXVsdC9wcm9wZXJ0aWVzLnNx bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc3Vic2NyaXB0aW9ucy90ZW1wbGF0ZXMvc3Vic2NyaXB0aW9ucy9zcWwvZGVmYXVsdC9wcm9w ZXJ0aWVzLnNxbApAQCAtMSw2ICsxLDcgQEAKIFNFTEVDVCAgc3ViLm9pZCBhcyBvaWQsCiAgICAg ICAgIHN1Ym5hbWUgYXMgbmFtZSwKICAgICAgICAgc3VicHVibGljYXRpb25zIGFzIHB1YiwKKyAg ICAgICAgc3VicHVibGljYXRpb25zIGFzIHByb3BwdWIsCiAgICAgICAgIHN1Yi5zdWJzeW5jY29t bWl0IGFzIHN5bmMsCiAgICAgICAgIHBnYS5yb2xuYW1lIGFzIHN1Ym93bmVyLAogICAgICAgICBz dWJzbG90bmFtZSBhcyBzbG90X25hbWUsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy9zdGF0aWMvanMvcm9sZS5qcyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3N0YXRpYy9qcy9yb2xlLmpz CmluZGV4IDExNDdlMzUyYy4uMGIwMzc4MTNjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy9zdGF0aWMvanMvcm9sZS5qcworKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy9zdGF0aWMvanMv cm9sZS5qcwpAQCAtNTgyLDE1MiArNTgyLDYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUucm9sZScs IFsKICAgICAgICAgICB9LAogICAgICAgICApOwogICAgICAgfSwKLSAgICAgIG1vZGVsOiBwZ0Fk bWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoewotICAgICAgICBpZEF0dHJpYnV0ZTogJ29p ZCcsCi0gICAgICAgIGRlZmF1bHRzOiB7Ci0gICAgICAgICAgb2lkOiBudWxsLAotICAgICAgICAg IHJvbG5hbWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICByb2xjYW5sb2dpbjogZmFsc2UsCi0gICAg ICAgICAgcm9sY29ubmxpbWl0OiAtMSwKLSAgICAgICAgICByb2xzdXBlcjogZmFsc2UsCi0gICAg ICAgICAgcm9sY3JlYXRlcm9sZTogZmFsc2UsCi0gICAgICAgICAgcm9sY3JlYXRlZGI6IGZhbHNl LAotICAgICAgICAgIHJvbGluaGVyaXQ6IHRydWUsCi0gICAgICAgICAgcm9sY2F0dXBkYXRlOiBm YWxzZSwKLSAgICAgICAgICByb2xyZXBsaWNhdGlvbjogZmFsc2UsCi0gICAgICAgICAgcm9sdmFs aWR1bnRpbDogbnVsbCwKLSAgICAgICAgfSwKLSAgICAgICAgc2NoZW1hOiBbewotICAgICAgICAg IGlkOiAncm9sbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIHR5cGU6ICd0ZXh0JywKLSAg ICAgICAgICByZWFkb25seTogJ3JlYWRvbmx5JywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6 ICdvaWQnLCBsYWJlbDogZ2V0dGV4dCgnT0lEJyksIGNlbGw6ICdzdHJpbmcnLCBtb2RlOiBbJ3By b3BlcnRpZXMnXSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICd0ZXh0Jywgdmlz aWJsZTogdHJ1ZSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdyb2x2YWxpZHVudGlsJywg cmVhZG9ubHk6ICdyZWFkb25seScsIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgICBncm91cDogZ2V0 dGV4dCgnRGVmaW5pdGlvbicpLCBsYWJlbDogZ2V0dGV4dCgnQWNjb3VudCBleHBpcmVzJyksCi0g ICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2VkaXQnLCAnY3JlYXRlJ10sIGNvbnRyb2w6 ICdkYXRldGltZXBpY2tlcicsCi0gICAgICAgICAgZGVwczogWydyb2xjYW5sb2dpbiddLAotICAg ICAgICAgIHBsYWNlaG9sZGVyOiBnZXR0ZXh0KCdObyBFeHBpcnknKSwKLSAgICAgICAgICBoZWxw TWVzc2FnZTogZ2V0dGV4dCgnUGxlYXNlIG5vdGUgdGhhdCBpZiB5b3UgbGVhdmUgdGhpcyBmaWVs ZCBibGFuaywgdGhlbiBwYXNzd29yZCB3aWxsIG5ldmVyIGV4cGlyZS4nKSwKLSAgICAgICAgICBz ZXRNaW5EYXRlOiBmYWxzZSwKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdyb2xjb25ubGlt aXQnLCAgdHlwZTogJ2ludCcsIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCi0gICAgICAg ICAgbGFiZWw6IGdldHRleHQoJ0Nvbm5lY3Rpb24gbGltaXQnKSwgY2VsbDogJ2ludGVnZXInLCBt aW4gOiAtMSwKLSAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnZWRpdCcsICdjcmVhdGUn XSwgcmVhZG9ubHk6ICdyZWFkb25seScsCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAncm9s Y2FubG9naW4nLCBsYWJlbDogZ2V0dGV4dCgnQ2FuIGxvZ2luPycpLAotICAgICAgICAgIHR5cGU6 ICdzd2l0Y2gnLAotICAgICAgICAgIGNvbnRyb2xMYWJlbENsYXNzTmFtZTogJ2NvbnRyb2wtbGFi ZWwgcGctZWwtc20tNCBwZy1lbC0xMicsCi0gICAgICAgICAgY29udHJvbHNDbGFzc05hbWU6ICdw Z2FkbWluLWNvbnRyb2xzIHBnLWVsLXNtLTggcGctZWwtMTInLAotICAgICAgICAgIGdyb3VwOiBn ZXR0ZXh0KCdQcml2aWxlZ2VzJyksCi0gICAgICAgICAgcmVhZG9ubHk6ICdyZWFkb25seScsCi0g ICAgICAgIH0sewotICAgICAgICAgIGlkOiAncm9sc3VwZXInLCBsYWJlbDogZ2V0dGV4dCgnU3Vw ZXJ1c2VyPycpLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLAotICAgICAgICAgIGNvbnRyb2xM YWJlbENsYXNzTmFtZTogJ2NvbnRyb2wtbGFiZWwgcGctZWwtc20tNCBwZy1lbC0xMicsCi0gICAg ICAgICAgY29udHJvbHNDbGFzc05hbWU6ICdwZ2FkbWluLWNvbnRyb2xzIHBnLWVsLXNtLTggcGct ZWwtMTInLAotICAgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyksCi0gICAgICAg ICAgY29udHJvbDogQmFja2Zvcm0uU3dpdGNoQ29udHJvbC5leHRlbmQoewotICAgICAgICAgICAg b25DaGFuZ2U6IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBCYWNrZm9ybS5Td2l0Y2hDb250 cm9sLnByb3RvdHlwZS5vbkNoYW5nZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwotCi0gICAgICAg ICAgICAgIHRoaXMubW9kZWwuc2V0KCdyb2xjYXR1cGRhdGUnLCB0aGlzLm1vZGVsLmdldCgncm9s c3VwZXInKSk7Ci0gICAgICAgICAgICAgIHRoaXMubW9kZWwuc2V0KCdyb2xjcmVhdGVyb2xlJywg dGhpcy5tb2RlbC5nZXQoJ3JvbHN1cGVyJykpOwotICAgICAgICAgICAgICB0aGlzLm1vZGVsLnNl dCgncm9sY3JlYXRlZGInLCB0aGlzLm1vZGVsLmdldCgncm9sc3VwZXInKSk7Ci0gICAgICAgICAg ICB9LAotICAgICAgICAgIH0pLAotICAgICAgICAgIHJlYWRvbmx5OiAncmVhZG9ubHknLAotICAg ICAgICB9LHsKLSAgICAgICAgICBpZDogJ3JvbGNyZWF0ZXJvbGUnLCBsYWJlbDogZ2V0dGV4dCgn Q3JlYXRlIHJvbGVzPycpLAotICAgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyks Ci0gICAgICAgICAgdHlwZTogJ3N3aXRjaCcsCi0gICAgICAgICAgY29udHJvbExhYmVsQ2xhc3NO YW1lOiAnY29udHJvbC1sYWJlbCBwZy1lbC1zbS00IHBnLWVsLTEyJywKLSAgICAgICAgICBjb250 cm9sc0NsYXNzTmFtZTogJ3BnYWRtaW4tY29udHJvbHMgcGctZWwtc20tOCBwZy1lbC0xMicsCi0g ICAgICAgICAgcmVhZG9ubHk6ICdyZWFkb25seScsCi0gICAgICAgIH0sewotICAgICAgICAgIGlk OiAnaXNfc3lzX29iaicsIGxhYmVsOiBnZXR0ZXh0KCdTeXN0ZW0gcm9sZT8nKSwKLSAgICAgICAg ICBjZWxsOidib29sZWFuJywgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcyddLAot ICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2Rlc2NyaXB0aW9uJywgbGFiZWw6IGdldHRleHQo J0NvbW1lbnRzJyksIHR5cGU6ICdtdWx0aWxpbmUnLAotICAgICAgICAgIGdyb3VwOiBudWxsLCBt b2RlOiBbJ3Byb3BlcnRpZXMnLCAnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAgICByZWFkb25s eTogJ3JlYWRvbmx5JywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdyb2xjcmVhdGVkYics IGxhYmVsOiBnZXR0ZXh0KCdDcmVhdGUgZGF0YWJhc2VzPycpLAotICAgICAgICAgIGdyb3VwOiBn ZXR0ZXh0KCdQcml2aWxlZ2VzJyksCi0gICAgICAgICAgdHlwZTogJ3N3aXRjaCcsCi0gICAgICAg ICAgY29udHJvbExhYmVsQ2xhc3NOYW1lOiAnY29udHJvbC1sYWJlbCBwZy1lbC1zbS00IHBnLWVs LTEyJywKLSAgICAgICAgICBjb250cm9sc0NsYXNzTmFtZTogJ3BnYWRtaW4tY29udHJvbHMgcGct ZWwtc20tOCBwZy1lbC0xMicsCi0gICAgICAgICAgcmVhZG9ubHk6ICdyZWFkb25seScsCi0gICAg ICAgIH0sewotICAgICAgICAgIGlkOiAncm9sY2F0dXBkYXRlJywgbGFiZWw6IGdldHRleHQoJ1Vw ZGF0ZSBjYXRhbG9nPycpLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLAotICAgICAgICAgIGNv bnRyb2xMYWJlbENsYXNzTmFtZTogJ2NvbnRyb2wtbGFiZWwgcGctZWwtc20tNCBwZy1lbC0xMics Ci0gICAgICAgICAgY29udHJvbHNDbGFzc05hbWU6ICdwZ2FkbWluLWNvbnRyb2xzIHBnLWVsLXNt LTggcGctZWwtMTInLAotICAgICAgICAgIG1heF92ZXJzaW9uOiA5MDQwMCwKLSAgICAgICAgICBn cm91cDogZ2V0dGV4dCgnUHJpdmlsZWdlcycpLCByZWFkb25seTogZnVuY3Rpb24obSkgewotICAg ICAgICAgICAgcmV0dXJuIG0uZ2V0KCdyZWFkX29ubHknKTsKLSAgICAgICAgICB9LAotICAgICAg ICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAgICByZXR1cm4gIW0uZ2V0KCdy b2xzdXBlcicpOwotICAgICAgICAgIH0sCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAncm9s aW5oZXJpdCcsIGdyb3VwOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyksCi0gICAgICAgICAgbGFiZWw6 IGdldHRleHQoJ0luaGVyaXQgcmlnaHRzIGZyb20gdGhlIHBhcmVudCByb2xlcz8nKSwKLSAgICAg ICAgICB0eXBlOiAnc3dpdGNoJywKLSAgICAgICAgICBjb250cm9sTGFiZWxDbGFzc05hbWU6ICdj b250cm9sLWxhYmVsIHBnLWVsLXNtLTQgcGctZWwtMTInLAotICAgICAgICAgIGNvbnRyb2xzQ2xh c3NOYW1lOiAncGdhZG1pbi1jb250cm9scyBwZy1lbC1zbS04IHBnLWVsLTEyJywKLSAgICAgICAg ICByZWFkb25seTogJ3JlYWRvbmx5JywKLSAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdyb2xy ZXBsaWNhdGlvbicsIGdyb3VwOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyksCi0gICAgICAgICAgbGFi ZWw6IGdldHRleHQoJ0NhbiBpbml0aWF0ZSBzdHJlYW1pbmcgcmVwbGljYXRpb24gYW5kIGJhY2t1 cHM/JyksCi0gICAgICAgICAgdHlwZTogJ3N3aXRjaCcsCi0gICAgICAgICAgY29udHJvbExhYmVs Q2xhc3NOYW1lOiAnY29udHJvbC1sYWJlbCBwZy1lbC1zbS00IHBnLWVsLTEyJywKLSAgICAgICAg ICBjb250cm9sc0NsYXNzTmFtZTogJ3BnYWRtaW4tY29udHJvbHMgcGctZWwtc20tOCBwZy1lbC0x MicsCi0gICAgICAgICAgbWluX3ZlcnNpb246IDkwMTAwLAotICAgICAgICAgIHJlYWRvbmx5OiAn cmVhZG9ubHknLAotICAgICAgICB9XSwKLSAgICAgICAgcmVhZG9ubHk6IGZ1bmN0aW9uKG0pIHsK LSAgICAgICAgICBpZiAoIW0uaGFzKCdyZWFkX29ubHknKSkgewotICAgICAgICAgICAgdmFyIHVz ZXIgPSB0aGlzLm5vZGVfaW5mby5zZXJ2ZXIudXNlcjsKLQotICAgICAgICAgICAgbS5zZXQoJ3Jl YWRfb25seScsICEodXNlci5pc19zdXBlcnVzZXIgfHwgdXNlci5jYW5fY3JlYXRlX3JvbGUpKTsK LSAgICAgICAgICB9Ci0KLSAgICAgICAgICByZXR1cm4gbS5nZXQoJ3JlYWRfb25seScpOwotICAg ICAgICB9LAotICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAg ICAgdmFyIGVyciA9IHt9LAotICAgICAgICAgICAgZXJybXNnLAotICAgICAgICAgICAgc2VjbGFi ZWxzID0gdGhpcy5nZXQoJ3NlY2xhYmVscycpOwotCi0gICAgICAgICAgaWYgKF8uaXNVbmRlZmlu ZWQodGhpcy5nZXQoJ3JvbG5hbWUnKSkgfHwgU3RyaW5nKHRoaXMuZ2V0KCdyb2xuYW1lJykpLnJl cGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKLSAgICAgICAgICAgIGVyclsnbmFtZSdd ID0gZ2V0dGV4dCgnTmFtZSBjYW5ub3QgYmUgZW1wdHkuJyk7Ci0gICAgICAgICAgICBlcnJtc2cg PSBlcnJbJ25hbWUnXTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZiAoc2VjbGFiZWxzKSB7 Ci0gICAgICAgICAgICB2YXIgc2VjTGFiZWxzRXJyOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9 IDA7IGkgPCBzZWNsYWJlbHMubW9kZWxzLmxlbmd0aCAmJiAhc2VjTGFiZWxzRXJyOyBpKyspIHsK LSAgICAgICAgICAgICAgc2VjTGFiZWxzRXJyID0gKHNlY2xhYmVscy5tb2RlbHNbaV0pLnZhbGlk YXRlLmFwcGx5KHNlY2xhYmVscy5tb2RlbHNbaV0pOwotICAgICAgICAgICAgICBpZiAoc2VjTGFi ZWxzRXJyKSB7Ci0gICAgICAgICAgICAgICAgZXJyWydzZWNsYWJlbHMnXSA9IHNlY0xhYmVsc0Vy cjsKLSAgICAgICAgICAgICAgICBlcnJtc2cgPSBlcnJtc2cgfHwgc2VjTGFiZWxzRXJyOwotICAg ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgdGhp cy5lcnJvck1vZGVsLmNsZWFyKCkuc2V0KGVycik7Ci0KLSAgICAgICAgICBpZiAoXy5zaXplKGVy cikpIHsKLSAgICAgICAgICAgIHRoaXMudHJpZ2dlcignb24tc3RhdHVzJywge21zZzogZXJybXNn fSk7Ci0gICAgICAgICAgICByZXR1cm4gZXJybXNnOwotICAgICAgICAgIH0KLQotICAgICAgICAg IHJldHVybiBudWxsOwotICAgICAgICB9LAotICAgICAgfSksCiAgICAgfSk7CiAgIH0KIApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvY29sbGVjdGlvbi5qcyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL2NvbGxlY3Rpb24uanMKaW5kZXggOWY5NDRmZjE5 Li4yNDA2NjU0MzIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL2Nv bGxlY3Rpb24uanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvY29sbGVjdGlv bi5qcwpAQCAtNyw4ICs3LDkgQEAKIC8vCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCi1pbXBvcnQge3JlbW92ZU5vZGVWaWV3 fSBmcm9tICcuL25vZGVfdmlldyc7Ci1pbXBvcnQgTm90aWZ5IGZyb20gJy4uLy4uLy4uL3N0YXRp Yy9qcy9oZWxwZXJzL05vdGlmaWVyJzsKKy8vIGltcG9ydCB7cmVtb3ZlTm9kZVZpZXd9IGZyb20g Jy4vbm9kZV92aWV3JzsKKy8vIGltcG9ydCBOb3RpZnkgZnJvbSAnLi4vLi4vLi4vc3RhdGljL2pz L2hlbHBlcnMvTm90aWZpZXInOworaW1wb3J0IHtnZXRQYW5lbFZpZXd9IGZyb20gJy4vcGFuZWxf dmlldyc7CiAKIGRlZmluZShbCiAgICdzb3VyY2VzL2dldHRleHQnLCAnanF1ZXJ5JywgJ3VuZGVy c2NvcmUnLCAnc291cmNlcy9wZ2FkbWluJywKQEAgLTkxLDM5OSArOTIsMTQgQEAgZGVmaW5lKFsK ICAgICAgIGNhbkRyb3BDYXNjYWRlOiB0cnVlLAogICAgICAgc2VsZWN0UGFyZW50Tm9kZU9uRGVs ZXRlOiBmYWxzZSwKICAgICAgIHNob3dQcm9wZXJ0aWVzOiBmdW5jdGlvbihpdGVtLCBkYXRhLCBw YW5lbCkgewotICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCi0gICAgICAgICAgaiA9IHBhbmVsLiRj b250YWluZXIuZmluZCgnLm9ial9wcm9wZXJ0aWVzJykuZmlyc3QoKSwKLSAgICAgICAgICB2aWV3 ID0gai5kYXRhKCdvYmotdmlldycpLAotICAgICAgICAgIGNvbnRlbnQgPSAkKCc8ZGl2PjwvZGl2 PicpCi0gICAgICAgICAgICAuYWRkQ2xhc3MoJ3BnLXByb3AtY29udGVudCBjb2wtMTIgaGFzLXBn LXByb3AtYnRuLWdyb3VwJyksCi0gICAgICAgICAgbm9kZSA9IHBnQnJvd3Nlci5Ob2Rlc1t0aGF0 Lm5vZGVdLAotICAgICAgICAgICRtc2dDb250YWluZXIgPSAnJywKLSAgICAgICAgICAvLyBUaGlz IHdpbGwgYmUgdGhlIFVSTCwgdXNlZCBmb3Igb2JqZWN0IG1hbmlwdWxhdGlvbi4KLSAgICAgICAg ICB1cmxCYXNlID0gdGhpcy5nZW5lcmF0ZV91cmwoaXRlbSwgJ3Byb3BlcnRpZXMnLCBkYXRhKSwK LSAgICAgICAgICBpbmZvID0gcGdCcm93c2VyLnRyZWUuZ2V0VHJlZU5vZGVIaWVyYXJjaHkoaXRl bSksCi0gICAgICAgICAgZ3JpZFNjaGVtYSA9IEJhY2tmb3JtLmdlbmVyYXRlR3JpZENvbHVtbnNG cm9tTW9kZWwoCi0gICAgICAgICAgICBpbmZvLCBub2RlLm1vZGVsLCAncHJvcGVydGllcycsIHRo YXQuY29sdW1ucwotICAgICAgICAgICksCi0gICAgICAgICAgY3JlYXRlQnV0dG9ucyA9IGZ1bmN0 aW9uKGJ1dHRvbnNMaXN0LCBsb2NhdGlvbiwgZXh0cmFDbGFzc2VzKSB7Ci0gICAgICAgICAgICAv LyBBcmd1bWVudHMgbXVzdCBiZSBub24temVybyBsZW5ndGggYXJyYXkgb2YgdHlwZQotICAgICAg ICAgICAgLy8gb2JqZWN0LCB3aGljaCBjb250YWlucyBmb2xsb3dpbmcgYXR0cmlidXRlczoKLSAg ICAgICAgICAgIC8vIGxhYmVsLCB0eXBlLCBleHRyYUNsYXNzZXMsIHJlZ2lzdGVyCi0gICAgICAg ICAgICBpZiAoYnV0dG9uc0xpc3QgJiYgXy5pc0FycmF5KGJ1dHRvbnNMaXN0KSAmJiBidXR0b25z TGlzdC5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgIC8vIEFsbCBidXR0b25zIHdpbGwgYmUg Y3JlYXRlZCB3aXRoaW4gYSBzaW5nbGUKLSAgICAgICAgICAgICAgLy8gZGl2IGFyZWEuCi0gICAg ICAgICAgICAgIHZhciBidG5Hcm91cCA9Ci0gICAgICAgICAgICAgICAgJCgnPGRpdiBjbGFzcz0i cGctcHJvcC1idG4tZ3JvdXAiPjwvZGl2PicpLAotICAgICAgICAgICAgICAgIC8vIFRlbXBsYXRl IHVzZWQgZm9yIGNyZWF0aW5nIGEgYnV0dG9uCi0gICAgICAgICAgICAgICAgdG1wbCA9IF8udGVt cGxhdGUoWwotICAgICAgICAgICAgICAgICAgJzxidXR0b24gdGFiaW5kZXg9IjAiIHR5cGU9Ijwl PSB0eXBlICU+IiAnLAotICAgICAgICAgICAgICAgICAgJ2NsYXNzPSJidG4gPCU9ZXh0cmFDbGFz c2VzLmpvaW4oXCcgXCcpJT4iJywKLSAgICAgICAgICAgICAgICAgICc8JSBpZiAoZGlzYWJsZWQp IHsgJT4gZGlzYWJsZWQ9ImRpc2FibGVkIjwlIH0gJT4gdGl0bGU9IjwlLXRvb2x0aXAlPiI+JywK LSAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iPCU9IGljb24gJT4iIHJvbGU9ImltZyI+ PC9zcGFuPjwlIGlmIChsYWJlbCAhPSAiIikgeyAlPiZuYnNwOzwlLWxhYmVsJT48JSB9ICU+PHNw YW4gY2xhc3M9InNyLW9ubHkiPjwlLXRvb2x0aXAlPjwvc3Bhbj48L2J1dHRvbj4nLAotICAgICAg ICAgICAgICAgIF0uam9pbignICcpKTsKLSAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uID09ICdo ZWFkZXInKSB7Ci0gICAgICAgICAgICAgICAgYnRuR3JvdXAuYXBwZW5kVG8odGhhdC5oZWFkZXIp OwotICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGJ0bkdyb3VwLmFwcGVu ZFRvKHRoYXQuZm9vdGVyKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBpZiAoZXh0 cmFDbGFzc2VzKSB7Ci0gICAgICAgICAgICAgICAgYnRuR3JvdXAuYWRkQ2xhc3MoZXh0cmFDbGFz c2VzKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBfLmVhY2goYnV0dG9uc0xpc3Qs IGZ1bmN0aW9uKGJ0bikgewotICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgYWN0dWFsIGJ1 dHRvbiwgYW5kIGFwcGVuZCB0bwotICAgICAgICAgICAgICAgIC8vIHRoZSBncm91cCBkaXYKIAot ICAgICAgICAgICAgICAgIC8vIGljb24gbWF5IG5vdCBwcmVzZW50IGZvciB0aGlzIGJ1dHRvbgot ICAgICAgICAgICAgICAgIGlmICghYnRuLmljb24pIHsKLSAgICAgICAgICAgICAgICAgIGJ0bi5p Y29uID0gJyc7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHZhciBiID0gJCh0 bXBsKGJ0bikpOwotICAgICAgICAgICAgICAgIGJ0bkdyb3VwLmFwcGVuZChiKTsKLSAgICAgICAg ICAgICAgICAvLyBSZWdpc3RlciBpcyBhIGNhbGxiYWNrIHRvIHNldCBjYWxsYmFjawotICAgICAg ICAgICAgICAgIC8vIGZvciBjZXJ0YWluIG9wZXJhdGlvbiBmb3IgdGhpcyBidXR0b24uCi0gICAg ICAgICAgICAgICAgYnRuLnJlZ2lzdGVyKGIpOwotICAgICAgICAgICAgICB9KTsKLSAgICAgICAg ICAgICAgcmV0dXJuIGJ0bkdyb3VwOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJu IG51bGw7Ci0gICAgICAgICAgfS5iaW5kKHBhbmVsKTsKLQotICAgICAgICB0aGF0LmNvbGxlY3Rp b24gPSBuZXcgKG5vZGUuQ29sbGVjdGlvbi5leHRlbmQoewotICAgICAgICAgIHVybDogdXJsQmFz ZSwKLSAgICAgICAgICBtb2RlbDogbm9kZS5tb2RlbCwKLSAgICAgICAgfSkpKCk7Ci0gICAgICAg IC8vIEFkZCB0aGUgbmV3IGNvbHVtbiBmb3IgdGhlIG11bHRpLXNlbGVjdCBtZW51cwotICAgICAg ICBpZigoXy5pc0Z1bmN0aW9uKHRoYXQuY2FuRHJvcCkgPwotICAgICAgICAgIHRoYXQuY2FuRHJv cC5hcHBseSh0aGF0LCBbZGF0YSwgaXRlbV0pIDogdGhhdC5jYW5Ecm9wKSB8fAotICAgICAgICAg ICAgICAoXy5pc0Z1bmN0aW9uKHRoYXQuY2FuRHJvcENhc2NhZGUpID8KLSAgICAgICAgICAgICAg ICB0aGF0LmNhbkRyb3BDYXNjYWRlLmFwcGx5KHRoYXQsIFtkYXRhLCBpdGVtXSkgOiB0aGF0LmNh bkRyb3BDYXNjYWRlKSkgewotICAgICAgICAgIGdyaWRTY2hlbWEuY29sdW1ucy51bnNoaWZ0KHsK LSAgICAgICAgICAgIG5hbWU6ICdvaWQnLAotICAgICAgICAgICAgY2VsbDogQmFja2dyaWQuRXh0 ZW5zaW9uLlNlbGVjdFJvd0NlbGwuZXh0ZW5kKHsKLSAgICAgICAgICAgICAgaW5pdGlhbGl6ZTog ZnVuY3Rpb24gKG9wdGlvbnMpIHsKLSAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbiA9IG9wdGlv bnMuY29sdW1uOwotICAgICAgICAgICAgICAgIGlmICghKHRoaXMuY29sdW1uIGluc3RhbmNlb2Yg QmFja2dyaWQuQ29sdW1uKSkgewotICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW4gPSBuZXcg QmFja2dyaWQuQ29sdW1uKHRoaXMuY29sdW1uKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAg ICAgICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5jb2x1bW4sIG1vZGVsID0gdGhpcy5tb2RlbCwg JGVsID0gdGhpcy4kZWw7Ci0gICAgICAgICAgICAgICAgdGhpcy5saXN0ZW5Ubyhjb2x1bW4sICdj aGFuZ2U6cmVuZGVyYWJsZScsIGZ1bmN0aW9uIChjb2wsIHJlbmRlcmFibGUpIHsKLSAgICAgICAg ICAgICAgICAgICRlbC50b2dnbGVDbGFzcygncmVuZGVyYWJsZScsIHJlbmRlcmFibGUpOwotICAg ICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgaWYgKEJhY2tncmlkLmNhbGxCeU5l ZWQoY29sdW1uLnJlbmRlcmFibGUoKSwgY29sdW1uLCBtb2RlbCkpICRlbC5hZGRDbGFzcygncmVu ZGVyYWJsZSB3aWR0aF9wZXJjZW50XzMnKTsKLQotICAgICAgICAgICAgICAgIHRoaXMubGlzdGVu VG8obW9kZWwsICdiYWNrZ3JpZDpzZWxlY3QnLCB0aGlzLnRvZ2dsZUNoZWNrYm94KTsKLSAgICAg ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgdG9nZ2xlQ2hlY2tib3g6IGZ1bmN0aW9uKG1vZGVs LCBzZWxlY3RlZCkgewotICAgICAgICAgICAgICAgIGlmICh0aGlzLmNoZWNrYm94KCkucHJvcCgn ZGlzYWJsZWQnKSA9PT0gZmFsc2UpIHsKLSAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3go KS5wcm9wKCdjaGVja2VkJywgc2VsZWN0ZWQpLmNoYW5nZSgpOwotICAgICAgICAgICAgICAgIH0K LSAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgcmVuZGVyOiBmdW5jdGlvbigpIHsKLSAg ICAgICAgICAgICAgICBsZXQgbW9kZWwgPSB0aGlzLm1vZGVsLnRvSlNPTigpOwotICAgICAgICAg ICAgICAgIC8vIGNhbkRyb3AgY2FuIGJlIHNldCB0byBmYWxzZSBmb3IgaW5kaXZpZHVhbCByb3cg ZnJvbSB0aGUgc2VydmVyIHNpZGUgdG8gZGlzYWJsZSB0aGUgY2hlY2tib3gKLSAgICAgICAgICAg ICAgICBsZXQgZGlzYWJsZWQgPSAoJ2NhbkRyb3AnIGluIG1vZGVsICYmIG1vZGVsLmNhbkRyb3Ag PT09IGZhbHNlKTsKLSAgICAgICAgICAgICAgICBsZXQgaWQgPSBgcm93LSR7Xy51bmlxdWVJZCht b2RlbC5vaWQgfHwgbW9kZWwubmFtZSl9YDsKLQotICAgICAgICAgICAgICAgIHRoaXMuJGVsLmVt cHR5KCkuYXBwZW5kKGAKLSAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImN1c3RvbS1jb250 cm9sIGN1c3RvbS1jaGVja2JveCBjdXN0b20tY2hlY2tib3gtbm8tbGFiZWwiPgotICAgICAgICAg ICAgICAgICAgICA8aW5wdXQgdGFiaW5kZXg9Ii0xIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImN1 c3RvbS1jb250cm9sLWlucHV0IiBpZD0iJHtpZH0iICR7ZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ30v PgotICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImN1c3RvbS1jb250cm9sLWxhYmVs IiBmb3I9IiR7aWR9Ij4KLSAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25s eSI+YCArIGdldHRleHQoJ1NlbGVjdCcpICsgYDxzcGFuPgotICAgICAgICAgICAgICAgICAgICA8 L2xhYmVsPgotICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgYCk7Ci0g ICAgICAgICAgICAgICAgdGhpcy5kZWxlZ2F0ZUV2ZW50cygpOwotICAgICAgICAgICAgICAgIHJl dHVybiB0aGlzOwotICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgfSksCi0gICAgICAgICAg ICBoZWFkZXJDZWxsOiBCYWNrZ3JpZC5FeHRlbnNpb24uU2VsZWN0QWxsSGVhZGVyQ2VsbCwKLSAg ICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICAvKiBDb2x1bW5zIHNob3VsZCBiZSBhbHdh eXMgbm9uLWVkaXRhYmxlICAqLwotICAgICAgICBncmlkU2NoZW1hLmNvbHVtbnMuZm9yRWFjaCgo Y29sKT0+ewotICAgICAgICAgIGNvbC5kaXNhYmxlZCA9IHRydWU7Ci0gICAgICAgIH0pOwotCi0g ICAgICAgIC8vIEdldCB0aGUgbGlzdCBvZiBzZWxlY3RlZCBtb2RlbHMsIGJlZm9yZSBpbml0aWFs aXppbmcgdGhlIGdyaWQKLSAgICAgICAgLy8gYWdhaW4uCi0gICAgICAgIHZhciBzZWxlY3RlZE1v ZGVscyA9IFtdOwotICAgICAgICBpZighXy5pc1VuZGVmaW5lZCh0aGF0LmdyaWQpICYmICdjb2xs ZWN0aW9uJyBpbiB0aGF0LmdyaWQpewotICAgICAgICAgIHNlbGVjdGVkTW9kZWxzID0gdGhhdC5n cmlkLmdldFNlbGVjdGVkTW9kZWxzKCk7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBJbml0aWFs aXplIGEgbmV3IEdyaWQgaW5zdGFuY2UKLSAgICAgICAgdGhhdC5ncmlkID0gbmV3IEJhY2tncmlk LkdyaWQoewotICAgICAgICAgIGVtcHR5VGV4dDogZ2V0dGV4dCgnTm8gZGF0YSBmb3VuZCcpLAot ICAgICAgICAgIGNvbHVtbnM6IGdyaWRTY2hlbWEuY29sdW1ucywKLSAgICAgICAgICBjb2xsZWN0 aW9uOiB0aGF0LmNvbGxlY3Rpb24sCi0gICAgICAgICAgY2xhc3NOYW1lOiAnYmFja2dyaWQgdGFi bGUgcHJlc2VudGF0aW9uIHRhYmxlLWJvcmRlcmVkIHRhYmxlLW5vb3V0ZXItYm9yZGVyIHRhYmxl LWhvdmVyJywKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgdmFyIGdyaWRWaWV3ID0gewotICAgICAg ICAgICdyZW1vdmUnOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0aGlzLmdyaWQpIHsK LSAgICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZC5jb2xsZWN0aW9uKSB7Ci0gICAgICAgICAgICAg ICAgdGhpcy5ncmlkLmNvbGxlY3Rpb24ucmVzZXQoW10sIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAg ICAgICAgICAgICBkZWxldGUgKHRoaXMuZ3JpZC5jb2xsZWN0aW9uKTsKLSAgICAgICAgICAgICAg fQotICAgICAgICAgICAgICBkZWxldGUgKHRoaXMuZ3JpZCk7Ci0gICAgICAgICAgICAgIHRoaXMu Z3JpZCA9IG51bGw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICBncmlk OiB0aGF0LmdyaWQsCi0gICAgICAgIH07Ci0KLSAgICAgICAgaWYgKHZpZXcpIHsKLSAgICAgICAg ICAvLyBDYWNoZSB0aGUgY3VycmVudCBJRHMgZm9yIG5leHQgdGltZQotICAgICAgICAgICQocGFu ZWwpLmRhdGEoJ25vZGUtcHJvcCcsIHVybEJhc2UpOwotCi0gICAgICAgICAgLy8gUmVzZXQgdGhl IGRhdGEgb2JqZWN0Ci0gICAgICAgICAgai5kYXRhKCdvYmotdmlldycsIG51bGwpOwotICAgICAg ICB9Ci0KLSAgICAgICAgLyogUmVtb3ZlIGFueSBkb20gcmVuZGVyZWQgYnkgZ2V0Tm9kZVZpZXcg Ki8KLSAgICAgICAgcmVtb3ZlTm9kZVZpZXcoalswXSk7Ci0gICAgICAgIC8vIE1ha2Ugc3VyZSB0 aGUgSFRNTCBlbGVtZW50IGlzIGVtcHR5LgotICAgICAgICBqLmVtcHR5KCk7Ci0gICAgICAgIGou ZGF0YSgnb2JqLXZpZXcnLCBncmlkVmlldyk7Ci0KLSAgICAgICAgJG1zZ0NvbnRhaW5lciA9ICc8 ZGl2IHJvbGU9InN0YXR1cyIgY2xhc3M9InBnLXBhbmVsLW1lc3NhZ2UgcGctcGFuZWwtcHJvcGVy dGllcy1tZXNzYWdlIj4nICsKLSAgICAgICAgIGdldHRleHQoJ1JldHJpZXZpbmcgZGF0YSBmcm9t IHRoZSBzZXJ2ZXIuLi4nKSArICc8L2Rpdj4nOwotCi0gICAgICAgICRtc2dDb250YWluZXIgPSAk KCRtc2dDb250YWluZXIpLmFwcGVuZFRvKGopOwotCi0gICAgICAgIHRoYXQuaGVhZGVyID0gJCgn PGRpdj48L2Rpdj4nKS5hZGRDbGFzcygKLSAgICAgICAgICAncGctcHJvcC1oZWFkZXInCisgICAg ICAgIGxldCBjb250YWluZXIgPSAgcGFuZWwuJGNvbnRhaW5lclswXTsKKyAgICAgICAgZ2V0UGFu ZWxWaWV3KAorICAgICAgICAgIHBnQnJvd3Nlci50cmVlLAorICAgICAgICAgIGNvbnRhaW5lciwK KyAgICAgICAgICBwZ0Jyb3dzZXIsCisgICAgICAgICAgcGFuZWwuX3R5cGUKICAgICAgICAgKTsK LQotICAgICAgICAvLyBSZW5kZXIgdGhlIGJ1dHRvbnMKLSAgICAgICAgdmFyIGJ1dHRvbnMgPSBb XTsKLQotICAgICAgICBidXR0b25zLnB1c2goewotICAgICAgICAgIGxhYmVsOiAnJywKLSAgICAg ICAgICB0eXBlOiAnZGVsZXRlJywKLSAgICAgICAgICB0b29sdGlwOiBnZXR0ZXh0KCdEZWxldGUv RHJvcCcpLAotICAgICAgICAgIGV4dHJhQ2xhc3NlczogWydidG4tcHJpbWFyeS1pY29uIG0tMScs ICdkZWxldGVfbXVsdGlwbGUnXSwKLSAgICAgICAgICBpY29uOiAnZmEgZmEtdHJhc2gtYWx0JywK LSAgICAgICAgICBkaXNhYmxlZDogIChfLmlzRnVuY3Rpb24odGhhdC5jYW5Ecm9wKSkgPyAhKHRo YXQuY2FuRHJvcC5hcHBseShzZWxmLCBbZGF0YSwgaXRlbV0pKSA6ICghdGhhdC5jYW5Ecm9wKSwK LSAgICAgICAgICByZWdpc3RlcjogZnVuY3Rpb24oYnRuKSB7Ci0gICAgICAgICAgICBidG4ub24o J2NsaWNrJywoKSA9PiB7Ci0gICAgICAgICAgICAgIG9uRHJvcCgnZHJvcCcpOwotICAgICAgICAg ICAgfSk7Ci0gICAgICAgICAgfSwKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgYnV0dG9ucy5wdXNo KHsKLSAgICAgICAgICBsYWJlbDogJycsCi0gICAgICAgICAgdHlwZTogJ2RlbGV0ZScsCi0gICAg ICAgICAgdG9vbHRpcDogZ2V0dGV4dCgnRHJvcCBDYXNjYWRlJyksCi0gICAgICAgICAgZXh0cmFD bGFzc2VzOiBbJ2J0bi1wcmltYXJ5LWljb24gbS0xJywgJ2RlbGV0ZV9tdWx0aXBsZV9jYXNjYWRl J10sCi0gICAgICAgICAgaWNvbjogJ3BnLWZvbnQtaWNvbiBpY29uLWRyb3BfY2FzY2FkZScsCi0g ICAgICAgICAgZGlzYWJsZWQ6IChfLmlzRnVuY3Rpb24odGhhdC5jYW5Ecm9wQ2FzY2FkZSkpID8g ISh0aGF0LmNhbkRyb3BDYXNjYWRlLmFwcGx5KHNlbGYsIFtkYXRhLCBpdGVtXSkpIDogKCF0aGF0 LmNhbkRyb3BDYXNjYWRlKSwKLSAgICAgICAgICByZWdpc3RlcjogZnVuY3Rpb24oYnRuKSB7Ci0g ICAgICAgICAgICBidG4ub24oJ2NsaWNrJywoKSA9PiB7Ci0gICAgICAgICAgICAgIG9uRHJvcCgn ZHJvcENhc2NhZGUnKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgIH0sCi0gICAgICAgIH0p OwotCi0gICAgICAgIGNyZWF0ZUJ1dHRvbnMoYnV0dG9ucywgJ2hlYWRlcicsICdwZy1wcm9wLWJ0 bi1ncm91cC1hYm92ZScpOwotCi0gICAgICAgIC8vIFJlbmRlciBzdWJOb2RlIGdyaWQKLSAgICAg ICAgY29udGVudC5hcHBlbmQoJzxkaXYgY2xhc3M9InBnLXByb3AtY29sbC1jb250YWluZXIiPjwv ZGl2PicpOwotICAgICAgICBjb250ZW50LmZpbmQoJy5wZy1wcm9wLWNvbGwtY29udGFpbmVyJyku YXBwZW5kKHRoYXQuZ3JpZC5yZW5kZXIoKS4kZWwpOwotCi0gICAgICAgIHZhciB0aW1lcjsKLSAg ICAgICAgdmFyIGdldEFqYXhIb29rID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgJC5hamF4KHsK LSAgICAgICAgICAgIHVybDogdXJsQmFzZSwKLSAgICAgICAgICAgIHR5cGU6ICdHRVQnLAotICAg ICAgICAgICAgYmVmb3JlU2VuZDogZnVuY3Rpb24oeGhyKSB7Ci0gICAgICAgICAgICAgIHhoci5z ZXRSZXF1ZXN0SGVhZGVyKHBnQWRtaW4uY3NyZl90b2tlbl9oZWFkZXIsIHBnQWRtaW4uY3NyZl90 b2tlbik7Ci0gICAgICAgICAgICAgIC8vIEdlbmVyYXRlIGEgdGltZXIgZm9yIHRoZSByZXF1ZXN0 Ci0gICAgICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAg ICAgICAgICAvLyBub3RpZnkgdXNlciBpZiByZXF1ZXN0IGlzIHRha2luZyBsb25nZXIgdGhhbiAx IHNlY29uZAotCi0gICAgICAgICAgICAgICAgaWYgKCEkbXNnQ29udGFpbmVyLnRleHQoKT09ICdG YWlsZWQgdG8gcmV0cmlldmUgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuJykKLSAgICAgICAgICAgICAg ICAgICRtc2dDb250YWluZXIudGV4dChnZXR0ZXh0KCdSZXRyaWV2aW5nIGRhdGEgZnJvbSB0aGUg c2VydmVyLi4uJykpOwotICAgICAgICAgICAgICAgICRtc2dDb250YWluZXIucmVtb3ZlQ2xhc3Mo J2Qtbm9uZScpOwotICAgICAgICAgICAgICAgIGlmIChzZWxmLmdyaWQpIHsKLSAgICAgICAgICAg ICAgICAgIHNlbGYuZ3JpZC5yZW1vdmUoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg ICAgIH0sIDEwMDApOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICB9KS5kb25lKGZ1bmN0aW9u KHJlcykgewotICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKLQotICAgICAgICAgICAg aWYgKF8uaXNVbmRlZmluZWQodGhhdC5ncmlkKSB8fCBfLmlzTnVsbCh0aGF0LmdyaWQpKSByZXR1 cm47Ci0KLSAgICAgICAgICAgIHRoYXQuZGF0YSA9IHJlczsKLQotICAgICAgICAgICAgaWYgKHRo YXQuZGF0YS5sZW5ndGggPiAwKSB7Ci0KLSAgICAgICAgICAgICAgaWYgKCEkbXNnQ29udGFpbmVy Lmhhc0NsYXNzKCdkLW5vbmUnKSkgewotICAgICAgICAgICAgICAgICRtc2dDb250YWluZXIuYWRk Q2xhc3MoJ2Qtbm9uZScpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIHRoYXQuaGVh ZGVyLmFwcGVuZFRvKGopOwotICAgICAgICAgICAgICBqLmFwcGVuZChjb250ZW50KTsKLQotICAg ICAgICAgICAgICAvLyBMaXN0ZW4gc2Nyb2xsIGV2ZW50IHRvIGxvYWQgbW9yZSByb3dzCi0gICAg ICAgICAgICAgICQoJy5wZy1wcm9wLWNvbnRlbnQnKS5vbignc2Nyb2xsJywgdGhhdC5fX2xvYWRN b3JlUm93cy5iaW5kKHRoYXQpKTsKLQotICAgICAgICAgICAgICB0aGF0LmNvbGxlY3Rpb24ucmVz ZXQodGhhdC5kYXRhLnNwbGljZSgwLCA1MCkpOwotCi0gICAgICAgICAgICAgIC8vIExpc3RlbiB0 byBzZWxlY3QgYWxsIGNoZWNrYm94IGV2ZW50Ci0gICAgICAgICAgICAgIHRoYXQuY29sbGVjdGlv bi5vbignYmFja2dyaWQ6c2VsZWN0LWFsbCcsIHRoYXQuX19sb2FkQWxsUm93cy5iaW5kKHRoYXQp KTsKLQotICAgICAgICAgICAgICAvLyBUcmlnZ2VyIHRoZSBiYWNrZ3JpZDpzZWxlY3QgZXZlbnQg Zm9yIGFscmVhZHkgc2VsZWN0ZWQgaXRlbXMKLSAgICAgICAgICAgICAgLy8gYXMgd2UgaGF2ZSBj cmVhdGVkIGEgbmV3IGdyaWQgaW5zdGFuY2UuCi0gICAgICAgICAgICAgIGlmKHNlbGVjdGVkTW9k ZWxzLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICB0aGF0LmNvbGxlY3Rpb24uZWFjaChm dW5jdGlvbiAobW9kZWwpIHsKLSAgICAgICAgICAgICAgICAgIGZvcihsZXQgbW9kZWxfdmFsIG9m IHNlbGVjdGVkTW9kZWxzKXsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGVsX3ZhbC5pZCA9 PSBtb2RlbC5pZCl7Ci0gICAgICAgICAgICAgICAgICAgICAgbW9kZWwudHJpZ2dlcignYmFja2dy aWQ6c2VsZWN0JywgbW9kZWwsIHRydWUpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIH0KLSAgICAg ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBEbyBub3QgbGlzdGVuIHRoZSBzY3JvbGwg ZXZlbnQKLSAgICAgICAgICAgICAgJCgnLnBnLXByb3AtY29udGVudCcpLm9mZignc2Nyb2xsJywg dGhhdC5fX2xvYWRNb3JlUm93cyk7Ci0KLSAgICAgICAgICAgICAgJG1zZ0NvbnRhaW5lci50ZXh0 KGdldHRleHQoJ05vIHByb3BlcnRpZXMgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHNlbGVjdGVkIG9i amVjdC4nKSk7Ci0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNlbGVjdGVkTW9kZWxzID0g W107Ci0gICAgICAgICAgfSkuZmFpbChmdW5jdGlvbih4aHIsIGVycm9yKSB7Ci0gICAgICAgICAg ICBwZ0Jyb3dzZXIuRXZlbnRzLnRyaWdnZXIoCi0gICAgICAgICAgICAgICdwZ2FkbWluOm5vZGU6 cmV0cmlldmFsOmVycm9yJywgJ3Byb3BlcnRpZXMnLCB4aHIsIGVycm9yLm1lc3NhZ2UsIGl0ZW0s IHRoYXQKLSAgICAgICAgICAgICk7Ci0gICAgICAgICAgICBpZiAoIUFsZXJ0aWZ5LnBnSGFuZGxl SXRlbUVycm9yKHhociwgZXJyb3IubWVzc2FnZSwgewotICAgICAgICAgICAgICBpdGVtOiBpdGVt LAotICAgICAgICAgICAgICBpbmZvOiBpbmZvLAotICAgICAgICAgICAgfSkpIHsKLSAgICAgICAg ICAgICAgTm90aWZ5LnBnTm90aWZpZXIoCi0gICAgICAgICAgICAgICAgZXJyb3IsIHhociwgZ2V0 dGV4dCgnRXJyb3IgcmV0cmlldmluZyBwcm9wZXJ0aWVzIC0gJXMnLCBlcnJvci5tZXNzYWdlIHx8 IHRoYXQubGFiZWwpLAotICAgICAgICAgICAgICAgIGZ1bmN0aW9uKG1zZykgewotICAgICAgICAg ICAgICAgICAgaWYobXNnID09PSAnQ1JZUFRLRVlfU0VUJykgewotICAgICAgICAgICAgICAgICAg ICBnZXRBamF4SG9vaygpOwotICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg ICAgICAgICAgY29uc29sZS53YXJuKGFyZ3VtZW50cyk7Ci0gICAgICAgICAgICAgICAgICB9Ci0g ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICApOwotICAgICAgICAgICAgfQotICAgICAg ICAgICAgLy8gc2hvdyBmYWlsZWQgbWVzc2FnZS4KLSAgICAgICAgICAgICRtc2dDb250YWluZXIu dGV4dChnZXR0ZXh0KCdGYWlsZWQgdG8gcmV0cmlldmUgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuJykp OwotICAgICAgICAgIH0pOwotICAgICAgICB9OwotICAgICAgICBnZXRBamF4SG9vaygpOwotCi0g ICAgICAgIHZhciBvbkRyb3AgPSBmdW5jdGlvbih0eXBlLCBjb25maXJtPXRydWUpIHsKLSAgICAg ICAgICBsZXQgc2VsX3Jvd19tb2RlbHMgPSB0aGlzLmdyaWQuZ2V0U2VsZWN0ZWRNb2RlbHMoKSwK LSAgICAgICAgICAgIHNlbF9yb3dzID0gW10sCi0gICAgICAgICAgICBzZWxfaXRlbSA9IHBnQnJv d3Nlci50cmVlLnNlbGVjdGVkKCksCi0gICAgICAgICAgICBkID0gc2VsX2l0ZW0gPyBwZ0Jyb3dz ZXIudHJlZS5pdGVtRGF0YShzZWxfaXRlbSkgOiBudWxsLAotICAgICAgICAgICAgc2VsX25vZGUg PSBkICYmIHBnQnJvd3Nlci5Ob2Rlc1tkLl90eXBlXSwKLSAgICAgICAgICAgIHVybCA9IHVuZGVm aW5lZCwKLSAgICAgICAgICAgIG1zZyA9IHVuZGVmaW5lZCwKLSAgICAgICAgICAgIHRpdGxlID0g dW5kZWZpbmVkOwotCi0gICAgICAgICAgaWYgKHNlbF9ub2RlICYmIHNlbF9ub2RlLnR5cGUgJiYg c2VsX25vZGUudHlwZSA9PSAnY29sbC1jb25zdHJhaW50cycpIHsKLSAgICAgICAgICAgIC8vIElu IG9yZGVyIHRvIGlkZW50aWZ5IHRoZSBjb25zdHJhaW50IHR5cGUsIHRoZSB0eXBlIHNob3VsZCBi ZSBwYXNzZWQgdG8gdGhlIHNlcnZlcgotICAgICAgICAgICAgc2VsX3Jvd3MgPSBzZWxfcm93X21v ZGVscy5tYXAocm93ID0+ICh7aWQ6IHJvdy5nZXQoJ29pZCcpLCBfdHlwZTogcm93LmdldCgnX3R5 cGUnKX0pKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBzZWxf cm93cyA9IHNlbF9yb3dfbW9kZWxzLm1hcChyb3cgPT4gcm93LmlkKTsKLSAgICAgICAgICB9Ci0K LSAgICAgICAgICBpZiAoc2VsX3Jvd3MubGVuZ3RoID09PSAwKSB7Ci0gICAgICAgICAgICBOb3Rp ZnkuYWxlcnQoZ2V0dGV4dCgnRHJvcCBNdWx0aXBsZScpLAotICAgICAgICAgICAgICBnZXR0ZXh0 KCdQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBvYmplY3QgdG8gZGVsZXRlLicpCi0gICAgICAg ICAgICApOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgIH0KLQotICAgICAgICAgIGlm ICghc2VsX25vZGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICBpZiAodHlwZSA9 PT0gJ2Ryb3BDYXNjYWRlJykgewotICAgICAgICAgICAgdXJsID0gc2VsX25vZGUuZ2VuZXJhdGVf dXJsKHNlbF9pdGVtLCAnZGVsZXRlJyk7Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdBcmUg eW91IHN1cmUgeW91IHdhbnQgdG8gZHJvcCBhbGwgdGhlIHNlbGVjdGVkIG9iamVjdHMgYW5kIGFs bCB0aGUgb2JqZWN0cyB0aGF0IGRlcGVuZCBvbiB0aGVtPycpOwotICAgICAgICAgICAgdGl0bGUg PSBnZXR0ZXh0KCdEUk9QIENBU0NBREUgbXVsdGlwbGUgb2JqZWN0cz8nKTsKLSAgICAgICAgICB9 IGVsc2UgewotICAgICAgICAgICAgdXJsID0gc2VsX25vZGUuZ2VuZXJhdGVfdXJsKHNlbF9pdGVt LCAnZHJvcCcpOwotICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnQXJlIHlvdSBzdXJlIHlvdSB3 YW50IHRvIGRyb3AgYWxsIHRoZSBzZWxlY3RlZCBvYmplY3RzPycpOwotICAgICAgICAgICAgdGl0 bGUgPSBnZXR0ZXh0KCdEUk9QIG11bHRpcGxlIG9iamVjdHM/Jyk7Ci0gICAgICAgICAgfQotCi0g ICAgICAgICAgbGV0IGRyb3BBamF4SG9vayA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgJC5h amF4KHsKLSAgICAgICAgICAgICAgdXJsOiB1cmwsCi0gICAgICAgICAgICAgIHR5cGU6ICdERUxF VEUnLAotICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7J2lkcyc6IHNlbF9yb3dz fSksCi0gICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNl dD11dGYtOCcsCi0gICAgICAgICAgICB9KS5kb25lKGZ1bmN0aW9uKHJlcykgewotICAgICAgICAg ICAgICBpZiAocmVzLnN1Y2Nlc3MgPT0gMCkgewotICAgICAgICAgICAgICAgIHBnQnJvd3Nlci5y ZXBvcnRfZXJyb3IocmVzLmVycm9ybXNnLCByZXMuaW5mbyk7Ci0gICAgICAgICAgICAgIH0gZWxz ZSB7Ci0gICAgICAgICAgICAgICAgJChwZ0Jyb3dzZXIucGFuZWxzWydwcm9wZXJ0aWVzJ10ucGFu ZWwpLnJlbW92ZURhdGEoJ25vZGUtcHJvcCcpOwotICAgICAgICAgICAgICAgIHBnQnJvd3Nlci5F dmVudHMudHJpZ2dlcigKLSAgICAgICAgICAgICAgICAgICdwZ2FkbWluOmJyb3dzZXI6dHJlZTpy ZWZyZXNoJywgc2VsX2l0ZW0gfHwgcGdCcm93c2VyLnRyZWUuc2VsZWN0ZWQoKSwgewotICAgICAg ICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgcGdCcm93 c2VyLnRyZWUuc2VsZWN0KHNlbF9pdGVtKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbF9u b2RlLmNhbGxiYWNrcy5zZWxlY3RlZC5hcHBseShzZWxfbm9kZSwgW3NlbF9pdGVtXSk7Ci0gICAg ICAgICAgICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIHJldHVybiB0 cnVlOwotICAgICAgICAgICAgfSkuZmFpbChmdW5jdGlvbih4aHIsIGVycm9yKSB7Ci0gICAgICAg ICAgICAgIE5vdGlmeS5wZ05vdGlmaWVyKAotICAgICAgICAgICAgICAgIGVycm9yLCB4aHIsCi0g ICAgICAgICAgICAgICAgZ2V0dGV4dCgnRXJyb3IgZHJvcHBpbmcgJXMnLCBkLl9sYWJlbC50b0xv d2VyQ2FzZSgpKSwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihhbGVydE1zZykgewotICAgICAg ICAgICAgICAgICAgaWYgKGFsZXJ0TXNnID09ICdDUllQVEtFWV9TRVQnKSB7Ci0gICAgICAgICAg ICAgICAgICAgIG9uRHJvcCh0eXBlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICB9IGVsc2Ug ewotICAgICAgICAgICAgICAgICAgICAkKHBnQnJvd3Nlci5wYW5lbHNbJ3Byb3BlcnRpZXMnXS5w YW5lbCkucmVtb3ZlRGF0YSgnbm9kZS1wcm9wJyk7Ci0gICAgICAgICAgICAgICAgICAgIHBnQnJv d3Nlci5FdmVudHMudHJpZ2dlcigKLSAgICAgICAgICAgICAgICAgICAgICAncGdhZG1pbjpicm93 c2VyOnRyZWU6cmVmcmVzaCcsIHNlbF9pdGVtIHx8IHBnQnJvd3Nlci50cmVlLnNlbGVjdGVkKCks IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKCkgewotICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWxfbm9kZS5jYWxsYmFja3Muc2VsZWN0ZWQuYXBwbHkoc2Vs X25vZGUsIFtzZWxfaXRlbV0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICAgICAg ICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICApOwotICAgICAgICAgICAgfSk7 Ci0gICAgICAgICAgfTsKLQotICAgICAgICAgIGlmKGNvbmZpcm0pIHsKLSAgICAgICAgICAgIE5v dGlmeS5jb25maXJtKHRpdGxlLCBtc2csIGRyb3BBamF4SG9vaywgbnVsbCk7Ci0gICAgICAgICAg fSBlbHNlIHsKLSAgICAgICAgICAgIGRyb3BBamF4SG9vaygpOwotICAgICAgICAgIH0KLSAgICAg ICAgfS5iaW5kKHRoYXQpOwotICAgICAgfSwKLSAgICAgIF9fbG9hZE1vcmVSb3dzOiBmdW5jdGlv bihlKSB7Ci0gICAgICAgIGxldCBlbGVtID0gZS5jdXJyZW50VGFyZ2V0OwotICAgICAgICBpZiAo KGVsZW0uc2Nyb2xsSGVpZ2h0IC0gMTApIDwgZWxlbS5zY3JvbGxUb3AgKyBlbGVtLm9mZnNldEhl aWdodCkgewotICAgICAgICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoID4gMCkgewotICAgICAgICAg ICAgdGhpcy5jb2xsZWN0aW9uLmFkZCh0aGlzLmRhdGEuc3BsaWNlKDAsIDUwKSk7Ci0gICAgICAg ICAgfQotICAgICAgICB9Ci0gICAgICB9LAotICAgICAgX19sb2FkQWxsUm93czogZnVuY3Rpb24o dG1wLCBjaGVja2VkKSB7Ci0gICAgICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoID4gMCkgewotICAg ICAgICAgIHRoaXMuY29sbGVjdGlvbi5hZGQodGhpcy5kYXRhKTsKLSAgICAgICAgICB0aGlzLmNv bGxlY3Rpb24uZWFjaChmdW5jdGlvbiAobW9kZWwpIHsKLSAgICAgICAgICAgIG1vZGVsLnRyaWdn ZXIoJ2JhY2tncmlkOnNlbGVjdCcsIG1vZGVsLCBjaGVja2VkKTsKLSAgICAgICAgICB9KTsKLSAg ICAgICAgfQogICAgICAgfSwKICAgICAgIGdlbmVyYXRlX3VybDogZnVuY3Rpb24oaXRlbSwgdHlw ZSkgewogICAgICAgICAvKgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMv anMvbm9kZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL25vZGUuanMKaW5kZXgg OWU2ZDNkNTQzLi4yMWFlNGMwNmQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3Rh dGljL2pzL25vZGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZS5q cwpAQCAtMTA4Miw4ICsxMDgyLDYgQEAgZGVmaW5lKCdwZ2FkbWluLmJyb3dzZXIubm9kZScsIFsK ICAgICAgICAgICAgIGIucGFuZWxzWydwcm9wZXJ0aWVzJ10gJiYKICAgICAgICAgICAgIGIucGFu ZWxzWydwcm9wZXJ0aWVzJ10ucGFuZWwgJiYKICAgICAgICAgICAgIGIucGFuZWxzWydwcm9wZXJ0 aWVzJ10ucGFuZWwuaXNWaXNpYmxlKCkpIHsKLSAgICAgICAgICAgIC8vIFNob3cgb2JqZWN0IHBy b3BlcnRpZXMgKG9ubHkgd2hlbiB0aGUgJ3Byb3BlcnRpZXMnIHRhYgotICAgICAgICAgICAgLy8g aXMgYWN0aXZlKS4KICAgICAgICAgICAgIHRoaXMuc2hvd1Byb3BlcnRpZXMoaXRlbSwgZCwgYi5w YW5lbHNbJ3Byb3BlcnRpZXMnXS5wYW5lbCk7CiAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0x MjU5LDIwICsxMjU3LDIwIEBAIGRlZmluZSgncGdhZG1pbi5icm93c2VyLm5vZGUnLCBbCiAgICAg ICAgICAgICBkID0gaSAmJiB0cmVlLml0ZW1EYXRhKGkpLAogICAgICAgICAgICAgdHJlZUhpZXJh cmNoeSA9IHRyZWUuZ2V0VHJlZU5vZGVIaWVyYXJjaHkoaSk7CiAKLSAgICAgICAgICBpZiAoXy5p c0VxdWFsKCQodGhpcykuZGF0YSgnbm9kZS1wcm9wJyksIHRyZWVIaWVyYXJjaHkpKSB7Ci0gICAg ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgfQotCiAgICAgICAgICAgLy8gQ2FjaGUgdGhlIGN1 cnJlbnQgSURzIGZvciBuZXh0IHRpbWUKICAgICAgICAgICAkKHRoaXMpLmRhdGEoJ25vZGUtcHJv cCcsIHRyZWVIaWVyYXJjaHkpOwogCiAgICAgICAgICAgLyogUmVtb3ZlIGFueSBkb20gcmVuZGVy ZWQgYnkgZ2V0Tm9kZVZpZXcgKi8KLSAgICAgICAgICByZW1vdmVOb2RlVmlldyhqWzBdKTsKLSAg ICAgICAgICAvKiBnZXRTY2hlbWEgaXMgYSBzY2hlbWEgZm9yIFJlYWN0LiBHZXQgdGhlIHJlYWN0 IG5vZGUgdmlldyAqLworICAgICAgICAgIHJlbW92ZU5vZGVWaWV3KHBnQnJvd3Nlci5wYW5lbHNb J3Byb3BlcnRpZXMnXS5wYW5lbC4kY29udGFpbmVyWzBdKTsKKworICAgICAgICAgIHZhciBjb250 YWluZXJQcm9wZXJ0aWVzID0gIHBnQnJvd3Nlci5wYW5lbHNbJ3Byb3BlcnRpZXMnXS5wYW5lbC4k Y29udGFpbmVyOworICAgICAgICAgIGNvbnRhaW5lclByb3BlcnRpZXMuYWRkQ2xhc3MoJ3BnLXBh bmVsLWNvbnRlbnQgcGctbm8tb3ZlcmZsb3cgcGctZWwtY29udGFpbmVyJyk7CisKKwogICAgICAg ICAgIGlmKHRoYXQuZ2V0U2NoZW1hKSB7CiAgICAgICAgICAgICBsZXQgdHJlZU5vZGVJbmZvID0g cGdCcm93c2VyLnRyZWUuZ2V0VHJlZU5vZGVIaWVyYXJjaHkoaXRlbSk7CiAgICAgICAgICAgICBn ZXROb2RlVmlldygKLSAgICAgICAgICAgICAgdGhhdC50eXBlLCB0cmVlTm9kZUluZm8sICdwcm9w ZXJ0aWVzJywgZGF0YSwgJ3RhYicsIGpbMF0sIHRoaXMsIG9uRWRpdAorICAgICAgICAgICAgICB0 aGF0LnR5cGUsIHRyZWVOb2RlSW5mbywgJ3Byb3BlcnRpZXMnLCBkYXRhLCAndGFiJywgY29udGFp bmVyUHJvcGVydGllc1swXSwgdGhpcywgb25FZGl0CiAgICAgICAgICAgICApOwogICAgICAgICAg ICAgcmV0dXJuOwogICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c3RhdGljL2pzL25vZGVfYWpheC5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL25v ZGVfYWpheC5qcwppbmRleCAxNGE5YWZhM2MuLjE5YWM3NjU2MiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZV9hamF4LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc3RhdGljL2pzL25vZGVfYWpheC5qcwpAQCAtMjUsOCArMjUsOSBAQCBleHBvcnQgZnVu Y3Rpb24gZ2VuZXJhdGVDb2xsZWN0aW9uVVJMKGl0ZW0sIHR5cGUpIHsKICAgfTsKICAgdmFyIHRy ZWVJbmZvID0gcGdBZG1pbi5Ccm93c2VyLnRyZWUuZ2V0VHJlZU5vZGVIaWVyYXJjaHkoaXRlbSk7 CiAgIHZhciBhY3Rpb25UeXBlID0gdHlwZSBpbiBvcFVSTCA/IG9wVVJMW3R5cGVdIDogdHlwZTsK KyAgdmFyIG5vZGVUeXBlID0gdHlwZSA9PT0gJ3Byb3BlcnRpZXMnID8gbm9kZU9iai50eXBlIDog bm9kZU9iai5ub2RlOwogICByZXR1cm4gZ2VuZXJhdGVfdXJsKAotICAgIHBnQWRtaW4uQnJvd3Nl ci5VUkwsIHRyZWVJbmZvLCBhY3Rpb25UeXBlLCBub2RlT2JqLm5vZGUsCisgICAgcGdBZG1pbi5C cm93c2VyLlVSTCwgdHJlZUluZm8sIGFjdGlvblR5cGUsIG5vZGVUeXBlLAogICAgIGNvbGxlY3Rp b25QaWNrRnVuY3Rpb24KICAgKTsKIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c3RhdGljL2pzL25vZGVfdmlldy5qc3ggYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9u b2RlX3ZpZXcuanN4CmluZGV4IGI5ZWM3OWU5MC4uNDUzZjIwYzk1IDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9ub2RlX3ZpZXcuanN4CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc3RhdGljL2pzL25vZGVfdmlldy5qc3gKQEAgLTE2LDcgKzE2LDYgQEAgaW1wb3J0 IHtnZXRIZWxwVXJsLCBnZXRFUEFTSGVscFVybH0gZnJvbSAncGdhZG1pbi5oZWxwJzsKIGltcG9y dCBTY2hlbWFWaWV3IGZyb20gJ3NvdXJjZXMvU2NoZW1hVmlldyc7CiBpbXBvcnQgeyBnZW5lcmF0 ZU5vZGVVcmwgfSBmcm9tICcuL25vZGVfYWpheCc7CiBpbXBvcnQgTm90aWZ5IGZyb20gJy4uLy4u Ly4uL3N0YXRpYy9qcy9oZWxwZXJzL05vdGlmaWVyJzsKLQogaW1wb3J0IGdldHRleHQgZnJvbSAn c291cmNlcy9nZXR0ZXh0JzsKIGltcG9ydCAnd2Nkb2NrZXInOwogCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9wYW5lbC5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c3RhdGljL2pzL3BhbmVsLmpzCmluZGV4IGZiYmM1NmJkNS4uYzBiZDkxNzhmIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9wYW5lbC5qcworKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3N0YXRpYy9qcy9wYW5lbC5qcwpAQCAtMTIyLDE0ICsxMjIsMzIgQEAgZGVmaW5l KAogICAgICAgICAgICAgICAgIHRoYXQucmVzaXplZENvbnRhaW5lci5hcHBseShteVBhbmVsKTsK ICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgIC8vIEJpbmQgZXZlbnRzIG9ubHkgaWYg dGhleSBhcmUgY29uZmlndXJhYmxlCi0gICAgICAgICAgICAgIGlmICh0aGF0LmNhbkhpZGUpIHsK LSAgICAgICAgICAgICAgICBfLmVhY2goW3djRG9ja2VyLkVWRU5ULkNMT1NFRCwgd2NEb2NrZXIu RVZFTlQuVklTSUJJTElUWV9DSEFOR0VEXSwKLSAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGV2 KSB7Ci0gICAgICAgICAgICAgICAgICAgIG15UGFuZWwub24oZXYsIHRoYXQuaGFuZGxlVmlzaWJp bGl0eS5iaW5kKG15UGFuZWwsIGV2KSk7Ci0gICAgICAgICAgICAgICAgICB9KTsKKworCisgICAg ICAgICAgICAgIGlmIChteVBhbmVsLl90eXBlID09ICdkYXNoYm9hcmQnKSB7CisgICAgICAgICAg ICAgICAgZ2V0UGFuZWxWaWV3KAorICAgICAgICAgICAgICAgICAgcGdCcm93c2VyLnRyZWUsCisg ICAgICAgICAgICAgICAgICAkY29udGFpbmVyWzBdLAorICAgICAgICAgICAgICAgICAgcGdCcm93 c2VyLAorICAgICAgICAgICAgICAgICAgbXlQYW5lbC5fdHlwZQorICAgICAgICAgICAgICAgICk7 CiAgICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgICAvLyBSZXJlbmRlciB0aGUgZGFzaGJv YXJkIHBhbmVsIHdoZW4gcHJlZmVyZW5jZSB2YWx1ZSAnc2hvdyBncmFwaCcgZ2V0cyBjaGFuZ2Vk LgorICAgICAgICAgICAgICBwZ0Jyb3dzZXIub25QcmVmZXJlbmNlc0NoYW5nZSgnZGFzaGJvYXJk cycsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGdldFBhbmVsVmlldygKKyAgICAgICAg ICAgICAgICAgIHBnQnJvd3Nlci50cmVlLAorICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lclsw XSwKKyAgICAgICAgICAgICAgICAgIHBnQnJvd3NlciwKKyAgICAgICAgICAgICAgICAgIG15UGFu ZWwuX3R5cGUKKyAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgICB9KTsKKworICAgICAg ICAgICAgICBfLmVhY2goW3djRG9ja2VyLkVWRU5ULkNMT1NFRCwgd2NEb2NrZXIuRVZFTlQuVklT SUJJTElUWV9DSEFOR0VEXSwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbihldikgeworICAgICAg ICAgICAgICAgICAgbXlQYW5lbC5vbihldiwgdGhhdC5oYW5kbGVWaXNpYmlsaXR5LmJpbmQobXlQ YW5lbCwgZXYpKTsKKyAgICAgICAgICAgICAgICB9KTsKKwogICAgICAgICAgICAgICBwZ0Jyb3dz ZXIuRXZlbnRzLm9uKCdwZ2FkbWluLWJyb3dzZXI6dHJlZTpzZWxlY3RlZCcsICgpID0+IHsKIAog ICAgICAgICAgICAgICAgIGlmKG15UGFuZWwuaXNWaXNpYmxlKCkpIHsKQEAgLTE0MSw2ICsxNTks MTggQEAgZGVmaW5lKAogICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgIHBnQnJvd3Nlci5FdmVudHMub24oJ3Bn YWRtaW4tYnJvd3Nlcjp0cmVlOnJlZnJlc2hpbmcnLCAoKSA9PiB7CisKKyAgICAgICAgICAgICAg ICBpZihteVBhbmVsLmlzVmlzaWJsZSgpKSB7CisgICAgICAgICAgICAgICAgICBnZXRQYW5lbFZp ZXcoCisgICAgICAgICAgICAgICAgICAgIHBnQnJvd3Nlci50cmVlLAorICAgICAgICAgICAgICAg ICAgICAkY29udGFpbmVyWzBdLAorICAgICAgICAgICAgICAgICAgICBwZ0Jyb3dzZXIsCisgICAg ICAgICAgICAgICAgICAgIG15UGFuZWwuX3R5cGUKKyAgICAgICAgICAgICAgICAgICk7CisgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0sCiAgICAgICAg ICAgfSk7CiAgICAgICAgIH0KQEAgLTIwNSwxMSArMjM1LDYgQEAgZGVmaW5lKAogICAgICAgICB9 CiAgICAgICB9LAogICAgICAgaGFuZGxlVmlzaWJpbGl0eTogZnVuY3Rpb24oZXZlbnROYW1lKSB7 Ci0gICAgICAgIC8vIFN1cHBvcnRlZCBtb2R1bGVzCi0gICAgICAgIGxldCB0eXBlX21vZHVsZSA9 IHsKLSAgICAgICAgICBkYXNoYm9hcmQ6IHBnQWRtaW4uRGFzaGJvYXJkLAotICAgICAgICB9Owot ICAgICAgICBsZXQgbW9kdWxlID0gdHlwZV9tb2R1bGVbdGhpcy5fdHlwZV07CiAgICAgICAgIGlm IChfLmlzTnVsbChwZ0Jyb3dzZXIudHJlZSkpIHJldHVybjsKIAogICAgICAgICBsZXQgc2VsZWN0 ZWRQYW5lbCA9IHBnQnJvd3Nlci5kb2NrZXIuZmluZFBhbmVscyh0aGlzLl90eXBlKVswXTsKQEAg LTIxOSwxOCArMjQ0LDYgQEAgZGVmaW5lKAogICAgICAgICAgIC5zY2VuZSgpCiAgICAgICAgICAg LmZpbmQoJy5wZy1wYW5lbC1jb250ZW50Jyk7CiAKLSAgICAgICAgaWYgKHRoaXMuX3R5cGUgPT09 ICdkYXNoYm9hcmQnKSB7Ci0gICAgICAgICAgaWYgKGV2ZW50TmFtZSA9PSAncGFuZWxDbG9zZWQn KSB7Ci0gICAgICAgICAgICBtb2R1bGUudG9nZ2xlVmlzaWJpbGl0eS5jYWxsKG1vZHVsZSwgZmFs c2UsIHRydWUpOwotICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnROYW1lID09ICdwYW5lbFZpc2li aWxpdHlDaGFuZ2VkJykgewotICAgICAgICAgICAgbW9kdWxlLnRvZ2dsZVZpc2liaWxpdHkuY2Fs bCgKLSAgICAgICAgICAgICAgbW9kdWxlLAotICAgICAgICAgICAgICBwZ0Jyb3dzZXIuZG9ja2Vy LmZpbmRQYW5lbHModGhpcy5fdHlwZSlbMF0uaXNWaXNpYmxlKCksCi0gICAgICAgICAgICAgIGZh bHNlCi0gICAgICAgICAgICApOwotICAgICAgICAgIH0KLSAgICAgICAgfQotCiAgICAgICAgIGlm IChpc1BhbmVsVmlzaWJsZSkgewogICAgICAgICAgIGlmIChldmVudE5hbWUgPT0gJ3BhbmVsQ2xv c2VkJykgewogICAgICAgICAgICAgcmVtb3ZlUGFuZWxWaWV3KCRjb250YWluZXJbMF0pOwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvcGFuZWxfdmlldy5qc3ggYi93 ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9wYW5lbF92aWV3LmpzeAppbmRleCBjZjBhNWEw N2UuLjM5MTIyNzU1ZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMv cGFuZWxfdmlldy5qc3gKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvcGFuZWxf dmlldy5qc3gKQEAgLTEzLDYgKzEzLDExIEBAIGltcG9ydCBUaGVtZSBmcm9tICdzb3VyY2VzL1Ro ZW1lJzsKIGltcG9ydCBEZXBlbmRlbmNpZXMgZnJvbSAnLi4vLi4vLi4vbWlzYy9kZXBlbmRlbmNp ZXMvc3RhdGljL2pzL0RlcGVuZGVuY2llcyc7CiBpbXBvcnQgRGVwZW5kZW50cyBmcm9tICcuLi8u Li8uLi9taXNjL2RlcGVuZGVudHMvc3RhdGljL2pzL0RlcGVuZGVudHMnOwogaW1wb3J0IFN0YXRp c3RpY3MgZnJvbSAnLi4vLi4vLi4vbWlzYy9zdGF0aXN0aWNzL3N0YXRpYy9qcy9TdGF0aXN0aWNz JzsKK2ltcG9ydCBTUUwgZnJvbSAnLi4vLi4vLi4vbWlzYy9zcWwvc3RhdGljL2pzL1NRTCc7Citp bXBvcnQgRGFzaGJvYXJkIGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9zdGF0aWMvanMvRGFzaGJv YXJkJzsKK2ltcG9ydCBfIGZyb20gJ2xvZGFzaCc7CitpbXBvcnQgeyBDb2xsZWN0aW9uTm9kZVZp ZXcgfSBmcm9tICcuLi8uLi8uLi9taXNjL3Byb3BlcnRpZXMvQ29sbGVjdGlvbk5vZGVQcm9wZXJ0 aWVzJzsKKwogCiAvKiBUaGUgZW50cnkgcG9pbnQgZm9yIHJlbmRlcmluZyBSZWFjdCBiYXNlZCB2 aWV3IGluIHByb3BlcnRpZXMsIGNhbGxlZCBpbiBub2RlLmpzICovCiBleHBvcnQgZnVuY3Rpb24g Z2V0UGFuZWxWaWV3KApAQCAtMjEsMTAgKzI2LDMzIEBAIGV4cG9ydCBmdW5jdGlvbiBnZXRQYW5l bFZpZXcoCiAgIHBnQnJvd3NlciwKICAgcGFuZWxUeXBlCiApIHsKLSAgbGV0IGl0ZW0gPSB0cmVl LnNlbGVjdGVkKCksCi0gICAgbm9kZURhdGEgPSBpdGVtICYmIHRyZWUuaXRlbURhdGEoaXRlbSks Ci0gICAgbm9kZSA9IGl0ZW0gJiYgbm9kZURhdGEgJiYgcGdCcm93c2VyLk5vZGVzW25vZGVEYXRh Ll90eXBlXSwKKyAgbGV0IGl0ZW0gPSAhXy5pc051bGwodHJlZSk/IHRyZWUuc2VsZWN0ZWQoKTog bnVsbCwKKworICAgIG5vZGVEYXRhLCBub2RlLCB0cmVlTm9kZUluZm8sIHByZWZlcmVuY2VzOwor ICBpZiAoaXRlbSl7CisgICAgbm9kZURhdGEgPSB0cmVlLml0ZW1EYXRhKGl0ZW0pOworICAgIG5v ZGUgPSBub2RlRGF0YSAmJiBwZ0Jyb3dzZXIuTm9kZXNbbm9kZURhdGEuX3R5cGVdOwogICAgIHRy ZWVOb2RlSW5mbyA9IHBnQnJvd3Nlci50cmVlLmdldFRyZWVOb2RlSGllcmFyY2h5KGl0ZW0pOwor ICAgIHByZWZlcmVuY2VzID0gcGdCcm93c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdk YXNoYm9hcmRzJyk7CisgIH0KKyAgaWYgKHBhbmVsVHlwZSA9PSAnZGFzaGJvYXJkJykgeworICAg IFJlYWN0RE9NLnJlbmRlcigKKyAgICAgIDxUaGVtZT4KKyAgICAgICAgPERhc2hib2FyZAorICAg ICAgICAgIHRyZWVOb2RlSW5mbz17dHJlZU5vZGVJbmZvfQorICAgICAgICAgIHBnQnJvd3Nlcj17 cGdCcm93c2VyfQorICAgICAgICAgIG5vZGVEYXRhPXtub2RlRGF0YX0KKyAgICAgICAgICBub2Rl PXtub2RlfQorICAgICAgICAgIGl0ZW09e2l0ZW19CisgICAgICAgICAgcHJlZmVyZW5jZXM9e3By ZWZlcmVuY2VzfQorICAgICAgICAgIGRpZD17KCghXy5pc1VuZGVmaW5lZCh0cmVlTm9kZUluZm8p KSAmJiAoIV8uaXNVbmRlZmluZWQodHJlZU5vZGVJbmZvWydkYXRhYmFzZSddKSkpID8gdHJlZU5v ZGVJbmZvWydkYXRhYmFzZSddLl9pZDogMH0KKyAgICAgICAgICBzaWQ9eyFfLmlzVW5kZWZpbmVk KHRyZWVOb2RlSW5mbykgJiYgIV8uaXNVbmRlZmluZWQodHJlZU5vZGVJbmZvWydzZXJ2ZXInXSkg PyB0cmVlTm9kZUluZm9bJ3NlcnZlciddLl9pZCA6ICcnfQorICAgICAgICAgIHNlcnZlckNvbm5l Y3RlZD17IV8uaXNVbmRlZmluZWQodHJlZU5vZGVJbmZvKSAmJiAhXy5pc1VuZGVmaW5lZCh0cmVl Tm9kZUluZm9bJ3NlcnZlciddKSA/IHRyZWVOb2RlSW5mby5zZXJ2ZXIuY29ubmVjdGVkOiBmYWxz ZX0KKyAgICAgICAgLz4KKyAgICAgIDwvVGhlbWU+LAorICAgICAgY29udGFpbmVyCisgICAgKTsK KyAgfQogCiAKICAgaWYgKHBhbmVsVHlwZSA9PSAnc3RhdGlzdGljcycpIHsKQEAgLTQxLDYgKzY5 LDIwIEBAIGV4cG9ydCBmdW5jdGlvbiBnZXRQYW5lbFZpZXcoCiAgICAgICBjb250YWluZXIKICAg ICApOwogICB9CisgIGlmIChwYW5lbFR5cGUgPT0gJ3Byb3BlcnRpZXMnKSB7CisgICAgUmVhY3RE T00ucmVuZGVyKAorICAgICAgPFRoZW1lPgorICAgICAgICA8Q29sbGVjdGlvbk5vZGVWaWV3Cisg ICAgICAgICAgdHJlZU5vZGVJbmZvPXt0cmVlTm9kZUluZm99CisgICAgICAgICAgaXRlbT17aXRl bX0KKyAgICAgICAgICBpdGVtTm9kZURhdGE9e25vZGVEYXRhfQorICAgICAgICAgIG5vZGU9e25v ZGV9CisgICAgICAgICAgcGdCcm93c2VyPXtwZ0Jyb3dzZXJ9CisgICAgICAgIC8+CisgICAgICA8 L1RoZW1lPiwKKyAgICAgIGNvbnRhaW5lcgorICAgICk7CisgIH0KICAgaWYgKHBhbmVsVHlwZSA9 PSAnZGVwZW5kZW5jaWVzJykgewogICAgIFJlYWN0RE9NLnJlbmRlcigKICAgICAgIDxUaGVtZT4K QEAgLTY5LDYgKzExMSwyMCBAQCBleHBvcnQgZnVuY3Rpb24gZ2V0UGFuZWxWaWV3KAogICAgICAg Y29udGFpbmVyCiAgICAgKTsKICAgfQorICBpZiAocGFuZWxUeXBlID09ICdzcWwnKSB7CisgICAg UmVhY3RET00ucmVuZGVyKAorICAgICAgPFRoZW1lPgorICAgICAgICA8U1FMCisgICAgICAgICAg dHJlZU5vZGVJbmZvPXt0cmVlTm9kZUluZm99CisgICAgICAgICAgcGdCcm93c2VyPXtwZ0Jyb3dz ZXJ9CisgICAgICAgICAgbm9kZURhdGE9e25vZGVEYXRhfQorICAgICAgICAgIG5vZGU9e25vZGV9 CisgICAgICAgICAgaXRlbT17aXRlbX0KKyAgICAgICAgLz4KKyAgICAgIDwvVGhlbWU+LAorICAg ICAgY29udGFpbmVyCisgICAgKTsKKyAgfQogfQogCiAvKiBXaGVuIHN3aXRjaGluZyBmcm9tIG5v cm1hbCBub2RlIHRvIGNvbGxlY3Rpb24gbm9kZSwgY2xlYW4gdXAgdGhlIFJlYWN0IG1vdW50ZWQg RE9NICovCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL0FjdGl2 ZVF1ZXJ5LnVpLmpzIGIvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3N0YXRpYy9qcy9BY3RpdmVRdWVy eS51aS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjY5MDgwZTQ3ZAot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC9zdGF0aWMvanMvQWN0aXZl UXVlcnkudWkuanMKQEAgLTAsMCArMSw2NyBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIyLCBUaGUgcGdB ZG1pbiBEZXZlbG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVy IHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgZ2V0dGV4dCBmcm9t ICdzb3VyY2VzL2dldHRleHQnOworaW1wb3J0IEJhc2VVSVNjaGVtYSBmcm9tICdzb3VyY2VzL1Nj aGVtYVZpZXcvYmFzZV9zY2hlbWEudWknOworCitleHBvcnQgZGVmYXVsdCBjbGFzcyBBY3RpdmVR dWVyeSBleHRlbmRzIEJhc2VVSVNjaGVtYSB7CisgIGNvbnN0cnVjdG9yKGluaXRWYWx1ZXMpIHsK KyAgICBzdXBlcih7CisgICAgICAuLi5pbml0VmFsdWVzLAorICAgIH0pOworCisgIH0KKyAgCisg IGdldCBiYXNlRmllbGRzKCkgeworICAgIHJldHVybiBbCisKKyAgICAgIHsKKyAgICAgICAgaWQ6 ICdiYWNrZW5kX3R5cGUnLAorICAgICAgICBsYWJlbDogZ2V0dGV4dCgnQmFja2VuZCB0eXBlJyks CisgICAgICAgIHR5cGU6ICd0ZXh0JywKKyAgICAgICAgZWRpdGFibGU6IHRydWUsCisgICAgICAg IG5vRW1wdHk6IHRydWUsCisgICAgICAgIHJlYWRvbmx5OiB0cnVlLAorICAgICAgICBtb2RlOiBb J3Byb3BlcnRpZXMnXSwKKyAgICAgICAgZ3JvdXA6IGdldHRleHQoJ0RldGFpbHMnKSwKKyAgICAg ICAgZGlzYWJsZWQ6IHRydWUKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIGlkOiAncXVlcnlf c3RhcnQnLAorICAgICAgICBsYWJlbDogZ2V0dGV4dCgnUXVlcnkgc3RhcnRlZCBhdCcpLAorICAg ICAgICB0eXBlOiAndGV4dCcsCisgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgcmVh ZG9ubHk6IHRydWUsCisgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdEZXRhaWxzJyksCisgICAgICAg IGRpc2FibGVkOiB0cnVlCisKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgIGlkOiAnc3RhdGVf Y2hhbmdlJywKKyAgICAgICAgbGFiZWw6IGdldHRleHQoJ0xhc3Qgc3RhdGUgY2hhbmdlZCBhdCcp LAorICAgICAgICB0eXBlOiAndGV4dCcsCisgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKKyAgICAg ICAgcmVhZG9ubHk6IHRydWUsCisgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdEZXRhaWxzJyksCisg ICAgICAgIGRpc2FibGVkOiB0cnVlCisgICAgICB9LAorICAgICAgeworICAgICAgICBpZDogJ3F1 ZXJ5JywKKyAgICAgICAgbGFiZWw6IGdldHRleHQoJ1NRTCcpLAorICAgICAgICBjZWxsOiAnc3Ry aW5nJywKKyAgICAgICAgZWRpdGFibGU6IGZhbHNlLAorICAgICAgICByZWFkb25seTogdHJ1ZSwK KyAgICAgICAgdHlwZTogJ3NxbCcsCisgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdEZXRhaWxzJyks CisgICAgICB9LAorICAgIF07CisKKyAgfQorCit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9k YXNoYm9hcmQvc3RhdGljL2pzL0Rhc2hib2FyZC5qc3ggYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQv c3RhdGljL2pzL0Rhc2hib2FyZC5qc3gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi45YzAwOGIzY2IKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQv c3RhdGljL2pzL0Rhc2hib2FyZC5qc3gKQEAgLTAsMCArMSw5MDcgQEAKKy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0g MjAyMiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vIGVzbGlu dC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9kaXNwbGF5LW5hbWUKK2ltcG9ydCBSZWFjdCwgeyB1 c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnOworaW1wb3J0IGdldHRleHQgZnJvbSAn c291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7Citp bXBvcnQgZ2V0QXBpSW5zdGFuY2UgZnJvbSAnc291cmNlcy9hcGlfaW5zdGFuY2UnOworaW1wb3J0 IFBnVGFibGUgZnJvbSAnc291cmNlcy9jb21wb25lbnRzL1BnVGFibGUnOworaW1wb3J0IHsgbWFr ZVN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7CitpbXBvcnQgdXJsX2Zv ciBmcm9tICdzb3VyY2VzL3VybF9mb3InOworaW1wb3J0IEdyYXBocyBmcm9tICcuL0dyYXBocyc7 CitpbXBvcnQgTm90aWZ5IGZyb20gJy4uLy4uLy4uL3N0YXRpYy9qcy9oZWxwZXJzL05vdGlmaWVy JzsKK2ltcG9ydCB7IEJveCwgVGFiLCBUYWJzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnOwor aW1wb3J0IHsgUGdJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vc3RhdGljL2pzL2NvbXBvbmVu dHMvQnV0dG9ucyc7CitpbXBvcnQgQ2FuY2VsSWNvbiBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFs L0NhbmNlbCc7CitpbXBvcnQgU3F1YXJlSWNvbiBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL1Nx dWFyZSc7CitpbXBvcnQgQXJyb3dSaWdodE91dGxpbmVkSWNvbiBmcm9tICdAbXVpL2ljb25zLW1h dGVyaWFsL0Fycm93UmlnaHRPdXRsaW5lZCc7CitpbXBvcnQgQXJyb3dEcm9wRG93bk91dGxpbmVk SWNvbiBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL0Fycm93RHJvcERvd25PdXRsaW5lZCc7Citp bXBvcnQgV2VsY29tZURhc2hib2FyZCBmcm9tICcuL1dlbGNvbWVEYXNoYm9hcmQnOworaW1wb3J0 IEFjdGl2ZVF1ZXJ5IGZyb20gJy4vQWN0aXZlUXVlcnkudWknOworaW1wb3J0IF8gZnJvbSAnbG9k YXNoJzsKKworZnVuY3Rpb24gcGFyc2VEYXRhKGRhdGEpIHsKKyAgdmFyIHJlcyA9IFtdOworCisg IGRhdGEuZm9yRWFjaCgocm93KSA9PiB7CisgICAgcmVzLnB1c2goeyAuLi5yb3csIGljb246ICcn IH0pOworICB9KTsKKyAgcmV0dXJuIHJlczsKK30KKworY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0 eWxlcygodGhlbWUpID0+ICh7CisgIGVtcHR5UGFuZWw6IHsKKyAgICBoZWlnaHQ6ICcxMDAlJywK KyAgICBiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLmdyZXlbNDAwXSwKKyAgICBvdmVyZmxvdzog J2F1dG8nLAorICAgIHBhZGRpbmc6ICc4cHgnLAorICAgIGRpc3BsYXk6ICdmbGV4JywKKyAgICBm bGV4RGlyZWN0aW9uOiAnY29sdW1uJywKKyAgICBmbGV4R3JvdzogMSwKKyAgfSwKKyAgZml4ZWRT aXplTGlzdDogeworICAgIG92ZXJmbG93WDogJ2hpZGRlbiAhaW1wb3J0YW50JywKKyAgICBvdmVy ZmxvdzogJ292ZXJsYXkgIWltcG9ydGFudCcsCisgICAgaGVpZ2h0OiAnYXV0byAhaW1wb3J0YW50 JywKKyAgfSwKKyAgZGFzaGJvYXJkUGFuZWw6IHsKKyAgICBoZWlnaHQ6ICcxMDAlJywKKyAgICBi YWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLmdyZXlbNDAwXSwKKyAgfSwKKyAgY2FyZEhlYWRlcjog eworICAgIHBhZGRpbmc6ICcwLjI1cmVtIDAuNXJlbScsCisgICAgZm9udFdlaWdodDogJ2JvbGQn LAorICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUub3RoZXJWYXJzLnRhYmxlQmcsCisgICAgYm9y ZGVyQm90dG9tOiAnMXB4IHNvbGlkJywKKyAgICBib3JkZXJCb3R0b21Db2xvcjogdGhlbWUub3Ro ZXJWYXJzLmJvcmRlckNvbG9yLAorICB9LAorICBzZWFyY2hQYWRkaW5nOiB7CisgICAgZGlzcGxh eTogJ2ZsZXgnLAorICAgIGZsZXg6IDIuNSwKKyAgfSwKKyAgY29tcG9uZW50OiB7CisgICAgcGFk ZGluZzogJzhweCcsCisgIH0sCisgIHNlYXJjaElucHV0OiB7CisgICAgZmxleDogMSwKKyAgfSwK KyAgcGFuZWxJY29uOiB7CisgICAgd2lkdGg6ICc4MCUnLAorICAgIG1hcmdpbjogJzAgYXV0bycs CisgICAgbWFyZ2luVG9wOiAnMjVweCAhaW1wb3J0YW50JywKKyAgICBwb3NpdGlvbjogJ3JlbGF0 aXZlJywKKyAgICB0ZXh0QWxpZ246ICdjZW50ZXInLAorICB9LAorICBwYW5lbE1lc3NhZ2U6IHsK KyAgICBtYXJnaW5MZWZ0OiAnMC41cmVtJywKKyAgICBmb250U2l6ZTogJzAuODc1cmVtJywKKyAg fSwKKyAgcGFuZWxDb250ZW50OiB7CisgICAgLi4udGhlbWUubWl4aW5zLnBhbmVsQm9yZGVyLAor ICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLAorICAgIG92ZXJmbG93OiAnaGlkZGVuICFpbXBv cnRhbnQnLAorICAgIGZsZXhHcm93OiAxCisgIH0sCisgIHRlcm1pbmF0ZUJ1dHRvbjogeworICAg IGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLm1haW4KKyAgfSwKKyAgYnV0dG9uQ2xpY2s6IHsK KyAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuZ3JleVs0MDBdCisgIH0KK30pKTsK KworLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZGlzcGxheS1uYW1lICovCitleHBvcnQgZGVmYXVs dCBmdW5jdGlvbiBEYXNoYm9hcmQoeworICBub2RlRGF0YSwKKyAgbm9kZSwKKyAgaXRlbSwKKyAg cGdCcm93c2VyLAorICBwcmVmZXJlbmNlcywKKyAgc2lkLAorICBkaWQsCisgIHRyZWVOb2RlSW5m bywKKyAgLi4ucHJvcHMKK30pIHsKKyAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlcygpOworICBs ZXQgdGFiID0gWydTZXNzaW9ucycsICdMb2NrcycsICdQcmVwYXJlZCBUcmFuc2FjdGlvbnMnXTsK KyAgY29uc3QgW2Rhc2hEYXRhLCBzZXRkYXNoRGF0YV0gPSB1c2VTdGF0ZShbXSk7CisgIGNvbnN0 IFttc2csIHNldE1zZ10gPSB1c2VTdGF0ZSgnJyk7CisgIGNvbnN0W2luZm9Nc2csIHNldEluZm9d ID0gdXNlU3RhdGUoJycpOworICBjb25zdCBbdmFsLCBzZXRWYWxdID0gdXNlU3RhdGUoMCk7Cisg IGNvbnN0IFtzY2hlbWFEaWN0LCBzZXRTY2hlbWFEaWN0XSA9IFJlYWN0LnVzZVN0YXRlKHt9KTsK KworICBpZiAoIWRpZCkgeworICAgIHRhYi5wdXNoKCdDb25maWd1cmF0aW9uJyk7CisgIH0KKyAg dmFsID09IDMgJiYgZGlkICYmIHNldFZhbCgwKTsKKyAgY29uc3QgdGFiQ2hhbmdlZCA9IChlLCB0 YWJWYWwpID0+IHsKKyAgICBzZXRWYWwodGFiVmFsKTsKKyAgfTsKKworICBjb25zdCBzZXJ2ZXJD b25maWdDb2x1bW5zID0gWworICAgIHsKKyAgICAgIGFjY2Vzc29yOiAnbmFtZScsCisgICAgICBI ZWFkZXI6IGdldHRleHQoJ05hbWUnKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNp emFibGU6IHRydWUsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICAgIG1p bldpZHRoOiA1MCwKKyAgICAgIG1heFdpZHRoOiAxMTAsCisgICAgfSwKKyAgICB7CisgICAgICBh Y2Nlc3NvcjogJ2NhdGVnb3J5JywKKyAgICAgIEhlYWRlcjogZ2V0dGV4dCgnQ2F0ZWdvcnknKSwK KyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFibGU6IHRydWUsCisgICAgICBkaXNh YmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICAgIG1pbldpZHRoOiA1MCwKKyAgICAgIG1heFdp ZHRoOiAxNTAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3NvcjogJ3NldHRpbmcnLAorICAg ICAgSGVhZGVyOiBnZXR0ZXh0KCdTZXR0aW5nJyksCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAg ICAgcmVzaXphYmxlOiB0cnVlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisg ICAgICBtaW5XaWR0aDogNTAsCisgICAgICBtYXhXaWR0aDogNTAsCisgICAgfSwKKyAgICB7Cisg ICAgICBhY2Nlc3NvcjogJ3VuaXQnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdVbml0JyksCisg ICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiB0cnVlLAorICAgICAgZGlzYWJs ZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5XaWR0aDogMjYsCisgICAgICBtYXhXaWR0 aDogMzAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3NvcjogJ3Nob3J0X2Rlc2MnLAorICAg ICAgSGVhZGVyOiBnZXR0ZXh0KCdEZXNjcmlwdGlvbicpLAorICAgICAgc29ydGJsZTogdHJ1ZSwK KyAgICAgIHJlc2l6YWJsZTogZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxz ZSwKKyAgICB9LAorICBdOworCisgIGNvbnN0IGFjdGl2aXR5Q29sdW1ucyA9IFsKKyAgICB7Cisg ICAgICBhY2Nlc3NvcjogJ3Rlcm1pbmF0ZV9xdWVyeScsCisgICAgICBIZWFkZXI6ICgpID0+IG51 bGwsCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiB0cnVlLAorICAgICAg ZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5XaWR0aDogMTYsCisgICAgICBt YXhXaWR0aDogMzAsCisgICAgICBpZDogJ2J0bi10ZXJtaW5hdGUnLAorICAgICAgLy8gZXNsaW50 LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2Rpc3BsYXktbmFtZQorICAgICAgQ2VsbDogKHsgcm93 IH0pID0+IHsKKyAgICAgICAgdmFyIHRlcm1pbmF0ZV9zZXNzaW9uX3VybCA9CisgICAgICAgICAg dXJsX2ZvcignZGFzaGJvYXJkLmluZGV4JykgKyAndGVybWluYXRlX3Nlc3Npb24nICsgJy8nICsg c2lkLAorICAgICAgICAgIHRpdGxlID0gZ2V0dGV4dCgnVGVybWluYXRlIFNlc3Npb24/JyksCisg ICAgICAgICAgdHh0Q29uZmlybSA9IGdldHRleHQoCisgICAgICAgICAgICAnQXJlIHlvdSBzdXJl IHlvdSB3aXNoIHRvIHRlcm1pbmF0ZSB0aGUgc2Vzc2lvbj8nCisgICAgICAgICAgKSwKKyAgICAg ICAgICB0eHRTdWNjZXNzID0gZ2V0dGV4dCgnU2Vzc2lvbiB0ZXJtaW5hdGVkIHN1Y2Nlc3NmdWxs eS4nKSwKKyAgICAgICAgICB0eHRFcnJvciA9IGdldHRleHQoCisgICAgICAgICAgICAnQW4gZXJy b3Igb2NjdXJyZWQgd2hpbHN0IHRlcm1pbmF0aW5nIHRoZSBhY3RpdmUgcXVlcnkuJworICAgICAg ICAgICk7CisgICAgICAgIGNvbnN0IGFjdGlvbl91cmwgPSBkaWQKKyAgICAgICAgICA/IHRlcm1p bmF0ZV9zZXNzaW9uX3VybCArICcvJyArIGRpZAorICAgICAgICAgIDogdGVybWluYXRlX3Nlc3Np b25fdXJsOworCisgICAgICAgIGNvbnN0IGFwaSA9IGdldEFwaUluc3RhbmNlKCk7CisKKyAgICAg ICAgcmV0dXJuICgKKyAgICAgICAgICA8UGdJY29uQnV0dG9uCisgICAgICAgICAgICBzaXplPSJ4 cyIKKyAgICAgICAgICAgIG5vQm9yZGVyCisgICAgICAgICAgICBpY29uPXs8Q2FuY2VsSWNvbiAv Pn0KKyAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXJtaW5hdGVCdXR0b259CisgICAg ICAgICAgICBvbkNsaWNrPXsoKSA9PiB7CisgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAg ICAgICAhY2FuVGFrZUFjdGlvbihyb3csICd0ZXJtaW5hdGUnKQorICAgICAgICAgICAgICApCisg ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICBsZXQgdXJsID0gYWN0aW9uX3Vy bCArICcvJyArIHJvdy52YWx1ZXMucGlkOworICAgICAgICAgICAgICBOb3RpZnkuY29uZmlybSgK KyAgICAgICAgICAgICAgICB0aXRsZSwKKyAgICAgICAgICAgICAgICB0eHRDb25maXJtLAorICAg ICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgIGFwaQorICAgICAg ICAgICAgICAgICAgICAuZGVsZXRlKHVybCkKKyAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVu Y3Rpb24gKHJlcykgeworICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMuZGF0YSA9PSBnZXR0 ZXh0KCdTdWNjZXNzJykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldEluZm8odHh0U3Vj Y2Vzcyk7CisgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkuc3VjY2Vzcyh0eHRTdWNjZXNz KTsKKyAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAg ICAgc2V0SW5mbyh0eHRFcnJvcik7CisgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkuZXJy b3IodHh0RXJyb3IpOworICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg ICAgfSkKKyAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgeworICAg ICAgICAgICAgICAgICAgICAgIE5vdGlmeS5hbGVydCgKKyAgICAgICAgICAgICAgICAgICAgICAg IGdldHRleHQoJ0ZhaWxlZCB0byByZXRyaWV2ZSBkYXRhIGZyb20gdGhlIHNlcnZlci4nKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgIGdldHRleHQoZXJyb3IubWVzc2FnZSkKKyAgICAgICAgICAg ICAgICAgICAgICApOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9 LAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgIHJldHVy biB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAg IH19CisgICAgICAgICAgICBjb2xvcj0iZGVmYXVsdCIKKyAgICAgICAgICAgIGFyaWEtbGFiZWw9 IlRlcm1pbmF0ZSBTZXNzaW9uPyIKKyAgICAgICAgICAgIHRpdGxlPXtnZXR0ZXh0KCdUZXJtaW5h dGUgU2Vzc2lvbj8nKX0KKyAgICAgICAgICA+PC9QZ0ljb25CdXR0b24+CisgICAgICAgICk7Cisg ICAgICB9LAorICAgIH0sCisgICAgeworICAgICAgYWNjZXNzb3I6ICdjYW5jZWxfUXVlcnknLAor ICAgICAgSGVhZGVyOiAoKSA9PiBudWxsLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJl c2l6YWJsZTogdHJ1ZSwKKyAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAg bWluV2lkdGg6IDE2LAorICAgICAgbWF4V2lkdGg6IDMwLAorICAgICAgaWQ6ICdidG4tY2FuY2Vs JywKKyAgICAgIENlbGw6ICh7IHJvdyB9KSA9PiB7CisgICAgICAgIHZhciBjYW5jZWxfcXVlcnlf dXJsID0KKyAgICAgICAgICB1cmxfZm9yKCdkYXNoYm9hcmQuaW5kZXgnKSArICdjYW5jZWxfcXVl cnknICsgJy8nICsgc2lkLAorICAgICAgICAgIHRpdGxlID0gZ2V0dGV4dCgnQ2FuY2VsIEFjdGl2 ZSBRdWVyeT8nKSwKKyAgICAgICAgICB0eHRDb25maXJtID0gZ2V0dGV4dCgKKyAgICAgICAgICAg ICdBcmUgeW91IHN1cmUgeW91IHdpc2ggdG8gY2FuY2VsIHRoZSBhY3RpdmUgcXVlcnk/JworICAg ICAgICAgICksCisgICAgICAgICAgdHh0U3VjY2VzcyA9IGdldHRleHQoJ0FjdGl2ZSBxdWVyeSBj YW5jZWxsZWQgc3VjY2Vzc2Z1bGx5LicpLAorICAgICAgICAgIHR4dEVycm9yID0gZ2V0dGV4dCgK KyAgICAgICAgICAgICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsc3QgY2FuY2VsbGluZyB0aGUgYWN0 aXZlIHF1ZXJ5LicKKyAgICAgICAgICApOworCisgICAgICAgIGNvbnN0IGFjdGlvbl91cmwgPSBk aWQgPyBjYW5jZWxfcXVlcnlfdXJsICsgJy8nICsgZGlkIDogY2FuY2VsX3F1ZXJ5X3VybDsKKwor ICAgICAgICBjb25zdCBhcGkgPSBnZXRBcGlJbnN0YW5jZSgpOworCisgICAgICAgIHJldHVybiAo CisgICAgICAgICAgPFBnSWNvbkJ1dHRvbgorICAgICAgICAgICAgc2l6ZT0ieHMiCisgICAgICAg ICAgICBub0JvcmRlcgorICAgICAgICAgICAgaWNvbj17PFNxdWFyZUljb24gZm9udFNpemU9InNt YWxsIiAvPn0KKyAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHsKKyAgICAgICAgICAgICAgaWYg KCFjYW5UYWtlQWN0aW9uKHJvdywgJ2NhbmNlbCcpKQorICAgICAgICAgICAgICAgIHJldHVybjsK KyAgICAgICAgICAgICAgbGV0IHVybCA9IGFjdGlvbl91cmwgKyAnLycgKyByb3cudmFsdWVzLnBp ZDsKKyAgICAgICAgICAgICAgTm90aWZ5LmNvbmZpcm0oCisgICAgICAgICAgICAgICAgdGl0bGUs CisgICAgICAgICAgICAgICAgdHh0Q29uZmlybSwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiAo KSB7CisgICAgICAgICAgICAgICAgICBhcGkKKyAgICAgICAgICAgICAgICAgICAgLmRlbGV0ZSh1 cmwpCisgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHsKKyAgICAgICAg ICAgICAgICAgICAgICBpZiAocmVzLmRhdGEgPT0gZ2V0dGV4dCgnU3VjY2VzcycpKSB7CisgICAg ICAgICAgICAgICAgICAgICAgICBzZXRJbmZvKHR4dFN1Y2Nlc3MpOworICAgICAgICAgICAgICAg ICAgICAgICAgTm90aWZ5LnN1Y2Nlc3ModHh0U3VjY2Vzcyk7CisgICAgICAgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldEluZm8odHh0RXJyb3IpOwor ICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5LmVycm9yKHR4dEVycm9yKTsKKyAgICAgICAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAg ICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgICBOb3Rp ZnkuYWxlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCdGYWlsZWQgdG8gcmV0 cmlldmUgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuJyksCisgICAgICAgICAgICAgICAgICAgICAgICBn ZXR0ZXh0KGVycm9yLm1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAg ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICBmdW5j dGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICk7CisgICAgICAgICAgICB9fQorICAgICAgICAgICAgY29sb3I9 ImRlZmF1bHQiCisgICAgICAgICAgICBhcmlhLWxhYmVsPSJDYW5jZWwgdGhlIHF1ZXJ5IgorICAg ICAgICAgICAgdGl0bGU9e2dldHRleHQoJ0NhbmNlbCB0aGUgYWN0aXZlIHF1ZXJ5Jyl9CisgICAg ICAgICAgPjwvUGdJY29uQnV0dG9uPgorICAgICAgICApOworICAgICAgfSwKKyAgICB9LAorICAg IHsKKyAgICAgIGFjY2Vzc29yOiAndmlld19hY3RpdmVfcXVlcnknLAorICAgICAgSGVhZGVyOiAo KSA9PiBudWxsLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTogdHJ1ZSwK KyAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDE2LAor ICAgICAgbWF4V2lkdGg6IDMwLAorICAgICAgaWQ6ICdidG4tZWRpdCcsCisgICAgICBDZWxsOiAo eyByb3cgfSkgPT4geworICAgICAgICBsZXQgY2FuRWRpdFJvdyA9IHRydWU7CisgICAgICAgIHJl dHVybiAoCisgICAgICAgICAgPFBnSWNvbkJ1dHRvbgorICAgICAgICAgICAgY2xhc3NOYW1lPXty b3cuaXNFeHBhbmRlZCA/Y2xhc3Nlcy5idXR0b25DbGljayA6ICcnfQorICAgICAgICAgICAgaWNv bj17CisgICAgICAgICAgICAgIHJvdy5pc0V4cGFuZGVkID8gKAorICAgICAgICAgICAgICAgIDxB cnJvd0Ryb3BEb3duT3V0bGluZWRJY29uICAvPgorICAgICAgICAgICAgICApIDogKAorICAgICAg ICAgICAgICAgIDxBcnJvd1JpZ2h0T3V0bGluZWRJY29uIC8+CisgICAgICAgICAgICAgICkKKyAg ICAgICAgICAgIH0KKyAgICAgICAgICAgIHNpemU9InhzIgorICAgICAgICAgICAgbm9Cb3JkZXIK KyAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7CisgICAgICAgICAgICAgIGUucHJldmVudERl ZmF1bHQoKTsKKyAgICAgICAgICAgICAgcm93LnRvZ2dsZVJvd0V4cGFuZGVkKCFyb3cuaXNFeHBh bmRlZCk7CisgICAgICAgICAgICAgIGlmKCEocm93LmlkIGluIHNjaGVtYURpY3QpKXsKKyAgICAg ICAgICAgICAgICBsZXQgc2NoZW1hID0gbmV3IEFjdGl2ZVF1ZXJ5KHsKKyAgICAgICAgICAgICAg ICAgIHF1ZXJ5OiByb3cub3JpZ2luYWwucXVlcnksCisgICAgICAgICAgICAgICAgICBiYWNrZW5k X3R5cGU6IHJvdy5vcmlnaW5hbC5iYWNrZW5kX3R5cGUsCisgICAgICAgICAgICAgICAgICBzdGF0 ZV9jaGFuZ2U6IHJvdy5vcmlnaW5hbC5zdGF0ZV9jaGFuZ2UsCisgICAgICAgICAgICAgICAgICBx dWVyeV9zdGFydDogcm93Lm9yaWdpbmFsLnF1ZXJ5X3N0YXJ0LAorICAgICAgICAgICAgICAgIH0p OworICAgICAgICAgICAgICAgIHNldFNjaGVtYURpY3QocHJldlN0YXRlID0+ICh7CisgICAgICAg ICAgICAgICAgICAuLi5wcmV2U3RhdGUsCisgICAgICAgICAgICAgICAgICBbcm93LmlkXTogc2No ZW1hCisgICAgICAgICAgICAgICAgfSkpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9 fQorICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5FZGl0Um93fQorICAgICAgICAgICAgYXJpYS1s YWJlbD0iVmlldyB0aGUgYWN0aXZlIHNlc3Npb24gZGV0YWlscyIKKyAgICAgICAgICAgIHRpdGxl PXtnZXR0ZXh0KCdWaWV3IHRoZSBhY3RpdmUgc2Vzc2lvbiBkZXRhaWxzJyl9CisgICAgICAgICAg Lz4KKyAgICAgICAgKTsKKyAgICAgIH0sCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3Nvcjog J3BpZCcsCisgICAgICBIZWFkZXI6IGdldHRleHQoJ1BJRCcpLAorICAgICAgc29ydGJsZTogdHJ1 ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBm YWxzZSwKKyAgICAgIG1pbldpZHRoOiAyNiwKKyAgICAgIG1heFdpZHRoOiA2MCwKKyAgICB9LAor ICAgIHsKKyAgICAgIGFjY2Vzc29yOiAnZGF0bmFtZScsCisgICAgICBIZWFkZXI6IGdldHRleHQo J0RhdGFiYXNlJyksCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBmYWxz ZSwKKyAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDI2 LAorICAgICAgbWF4V2lkdGg6IDgwLAorICAgICAgaXNWaXNpYmxlOiAhZGlkID8gdHJ1ZTogZmFs c2UKKyAgICB9LAorICAgIHsKKyAgICAgIGFjY2Vzc29yOiAndXNlbmFtZScsCisgICAgICBIZWFk ZXI6IGdldHRleHQoJ1VzZXInKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFi bGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5X aWR0aDogMjYsCisgICAgICBtYXhXaWR0aDogODAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nl c3NvcjogJ2FwcGxpY2F0aW9uX25hbWUnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdBcHBsaWNh dGlvbicpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFsc2UsCisg ICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICAgIG1pbldpZHRoOiAyNiwKKyAg ICAgIG1heFdpZHRoOiAxNTAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3NvcjogJ2NsaWVu dF9hZGRyJywKKyAgICAgIEhlYWRlcjogZ2V0dGV4dCgnQ2xpZW50JyksCisgICAgICBzb3J0Ymxl OiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBmYWxzZSwKKyAgICAgIGRpc2FibGVHbG9iYWxGaWx0 ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDI2LAorICAgICAgbWF4V2lkdGg6IDYwLAorICAg IH0sCisgICAgeworICAgICAgYWNjZXNzb3I6ICdiYWNrZW5kX3N0YXJ0JywKKyAgICAgIEhlYWRl cjogZ2V0dGV4dCgnQmFja2VuZCBzdGFydCcpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAg IHJlc2l6YWJsZTogZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAg ICAgIG1pbldpZHRoOiAyNiwKKyAgICAgIG1heFdpZHRoOiAxNTAsCisgICAgfSwKKyAgICB7Cisg ICAgICBhY2Nlc3NvcjogJ3hhY3Rfc3RhcnQnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdUcmFu c2FjdGlvbiBzdGFydCcpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTog ZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICAgIG1pbldpZHRo OiAyNiwKKyAgICAgIG1heFdpZHRoOiAxNTAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3Nv cjogJ3N0YXRlJywKKyAgICAgIEhlYWRlcjogZ2V0dGV4dCgnU3RhdGUnKSwKKyAgICAgIHNvcnRi bGU6IHRydWUsCisgICAgICByZXNpemFibGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZp bHRlcjogZmFsc2UsCisgICAgICBtaW5XaWR0aDogMjYsCisgICAgICBtYXhXaWR0aDogNjAsCisg ICAgfSwKKworICAgIHsKKyAgICAgIGFjY2Vzc29yOiAnd2FpdGluZycsCisgICAgICBIZWFkZXI6 IGdldHRleHQoJ1dhaXRpbmcnKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFi bGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBpc1Zp c2libGU6IHRyZWVOb2RlSW5mbz8uc2VydmVyPy52ZXJzaW9uIDwgOTA2MDAKKyAgICB9LAorICAg IHsKKyAgICAgIGFjY2Vzc29yOiAnd2FpdF9ldmVudCcsCisgICAgICBIZWFkZXI6IGdldHRleHQo J1dhaXQgZXZlbnQnKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFibGU6IGZh bHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgfSwKKyAgICB7Cisg ICAgICBhY2Nlc3NvcjogJ2Jsb2NraW5nX3BpZHMnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdC bG9ja2luZyBQSURzJyksCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBm YWxzZSwKKyAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgIH0sCisgIF07CisK KyAgY29uc3QgZGF0YWJhc2VMb2Nrc0NvbHVtbnMgPSBbCisgICAgeworICAgICAgYWNjZXNzb3I6 ICdwaWQnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdQSUQnKSwKKyAgICAgIHNvcnRibGU6IHRy dWUsCisgICAgICByZXNpemFibGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjog ZmFsc2UsCisgICAgICBtaW5XaWR0aDogMjYsCisgICAgICBtYXhXaWR0aDogNTAsCisgICAgfSwK KyAgICB7CisgICAgICBhY2Nlc3NvcjogJ2RhdG5hbWUnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0 KCdEYXRhYmFzZScpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFs c2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICAgIG1pbldpZHRoOiAy NiwKKyAgICAgIG1heFdpZHRoOiA4MCwKKyAgICAgIGlzVmlzaWJsZTogIWRpZCA/IHRydWU6IGZh bHNlCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3NvcjogJ2xvY2t0eXBlJywKKyAgICAgIEhl YWRlcjogZ2V0dGV4dCgnTG9jayB0eXBlJyksCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAg cmVzaXphYmxlOiBmYWxzZSwKKyAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAg ICAgbWluV2lkdGg6IDI2LAorICAgICAgbWF4V2lkdGg6IDYwLAorICAgIH0sCisgICAgeworICAg ICAgYWNjZXNzb3I6ICdyZWxhdGlvbicsCisgICAgICBIZWFkZXI6IGdldHRleHQoJ1RhcmdldCBy ZWxhdGlvbicpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFsc2Us CisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICB9LAorICAgIHsKKyAgICAg IGFjY2Vzc29yOiAncGFnZScsCisgICAgICBIZWFkZXI6IGdldHRleHQoJ1BhZ2UnKSwKKyAgICAg IHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFibGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUds b2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5XaWR0aDogMjYsCisgICAgICBtYXhXaWR0aDog NTAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3NvcjogJ3R1cGxlJywKKyAgICAgIEhlYWRl cjogZ2V0dGV4dCgnVHVwbGUnKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFi bGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5X aWR0aDogMjYsCisgICAgICBtYXhXaWR0aDogNTAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nl c3NvcjogJ3ZpcnR1YWx4aWQnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCd2WElEICh0YXJnZXQp JyksCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBmYWxzZSwKKyAgICAg IGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDEwMCwKKyAgICAg IG1heFdpZHRoOiAxMDAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nlc3NvcjogJ3RyYW5zYWN0 aW9uaWQnLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdYSUQgKHRhcmdldCknKSwKKyAgICAgIHNv cnRibGU6IHRydWUsCisgICAgICByZXNpemFibGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2Jh bEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5XaWR0aDogNTAsCisgICAgICBtYXhXaWR0aDogMTAw LAorICAgIH0sCisgICAgeworICAgICAgYWNjZXNzb3I6ICdjbGFzc2lkJywKKyAgICAgIEhlYWRl cjogZ2V0dGV4dCgnQ2xhc3MnKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFi bGU6IGZhbHNlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgICBtaW5X aWR0aDogMjYsCisgICAgICBtYXhXaWR0aDogNTAsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nl c3NvcjogJ29iamlkJywKKyAgICAgIEhlYWRlcjogZ2V0dGV4dCgnT2JqZWN0IElEJyksCisgICAg ICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBmYWxzZSwKKyAgICAgIGRpc2FibGVH bG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDUwLAorICAgICAgbWF4V2lkdGg6 IDEwMCwKKyAgICB9LAorICAgIHsKKyAgICAgIGFjY2Vzc29yOiAndmlydHVhbHRyYW5zYWN0aW9u JywKKyAgICAgIEhlYWRlcjogZ2V0dGV4dCgndlhJRCAob3duZXIpJyksCisgICAgICBzb3J0Ymxl OiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBmYWxzZSwKKyAgICAgIGRpc2FibGVHbG9iYWxGaWx0 ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDUwLAorICAgICAgbWF4V2lkdGg6IDgwLAorICAg IH0sCisgICAgeworICAgICAgYWNjZXNzb3I6ICdtb2RlJywKKyAgICAgIEhlYWRlcjogZ2V0dGV4 dCgnTW9kZScpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFsc2Us CisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICB9LAorICAgIHsKKyAgICAg IGlkOiAnZ3JhbnRlZCcsCisgICAgICBhY2Nlc3NvcjogJ2dyYW50ZWQnLAorICAgICAgSGVhZGVy OiBnZXR0ZXh0KCdHcmFudGVkPycpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6 YWJsZTogZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICAgIG1p bldpZHRoOiA1MCwKKyAgICAgIG1heFdpZHRoOiA4MCwKKyAgICAgIENlbGw6ICh7IHZhbHVlIH0p ID0+IFN0cmluZyh2YWx1ZSkKKyAgICB9LAorICBdOworCisgIGNvbnN0IGRhdGFiYXNlUHJlcGFy ZWRDb2x1bW5zID0gWworICAgIHsKKyAgICAgIGFjY2Vzc29yOiAnZ2l0JywKKyAgICAgIEhlYWRl cjogZ2V0dGV4dCgnTmFtZScpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJs ZTogZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICB9LAorICAg IHsKKyAgICAgIGFjY2Vzc29yOiAnZGF0bmFtZScsCisgICAgICBIZWFkZXI6IGdldHRleHQoJ0Rh dGFiYXNlJyksCisgICAgICBzb3J0YmxlOiB0cnVlLAorICAgICAgcmVzaXphYmxlOiBmYWxzZSwK KyAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAgbWluV2lkdGg6IDI2LAor ICAgICAgbWF4V2lkdGg6IDgwLAorICAgICAgaXNWaXNpYmxlOiAhZGlkID8gdHJ1ZTogZmFsc2UK KyAgICB9LAorICAgIHsKKyAgICAgIGFjY2Vzc29yOiAnT3duZXInLAorICAgICAgSGVhZGVyOiBn ZXR0ZXh0KCdPd25lcicpLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTog ZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICB9LAorICAgIHsK KyAgICAgIGFjY2Vzc29yOiAndHJhbnNhY3Rpb24nLAorICAgICAgSGVhZGVyOiBnZXR0ZXh0KCdY SUQnKSwKKyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFibGU6IGZhbHNlLAorICAg ICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgfSwKKyAgICB7CisgICAgICBhY2Nl c3NvcjogJ3ByZXBhcmVkJywKKyAgICAgIEhlYWRlcjogZ2V0dGV4dCgnUHJlcGFyZWQgYXQnKSwK KyAgICAgIHNvcnRibGU6IHRydWUsCisgICAgICByZXNpemFibGU6IGZhbHNlLAorICAgICAgZGlz YWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCisgICAgfSwKKyAgXTsKKworICBjb25zdCBjYW5UYWtl QWN0aW9uID0gKHJvdywgY2VsbEFjdGlvbikgPT4geworICAgIC8vIFdlIHdpbGwgdmFsaWRhdGUg aWYgdXNlciBpcyBhbGxvd2VkIHRvIGNhbmNlbCB0aGUgYWN0aXZlIHF1ZXJ5CisgICAgLy8gSWYg dGhlcmUgaXMgb25seSBvbmUgYWN0aXZlIHNlc3Npb24gbWVhbnMgaXQgcHJvYmFibHkgb3VyIG1h aW4KKyAgICAvLyBjb25uZWN0aW9uIHNlc3Npb24KKyAgICBjZWxsQWN0aW9uID0gY2VsbEFjdGlv biB8fCBudWxsOworICAgIHZhciBwZ192ZXJzaW9uID0gdHJlZU5vZGVJbmZvLnNlcnZlci52ZXJz aW9uIHx8IG51bGwsCisgICAgICBpc19jYW5jZWxfc2Vzc2lvbiA9IGNlbGxBY3Rpb24gPT09ICdj YW5jZWwnLAorICAgICAgdHh0TWVzc2FnZSwKKyAgICAgIG1haW50ZW5hbmNlX2RhdGFiYXNlID0g dHJlZU5vZGVJbmZvLnNlcnZlci5kYiwKKyAgICAgIGlzX3N1cGVyX3VzZXIsCisgICAgICBjdXJy ZW50X3VzZXI7CisKKyAgICB2YXIgY2FuX3NpZ25hbF9iYWNrZW5kID0KKyAgICAgIHRyZWVOb2Rl SW5mby5zZXJ2ZXIgJiYgdHJlZU5vZGVJbmZvLnNlcnZlci51c2VyCisgICAgICAgID8gdHJlZU5v ZGVJbmZvLnNlcnZlci51c2VyLmNhbl9zaWduYWxfYmFja2VuZAorICAgICAgICA6IGZhbHNlOwor CisgICAgaWYgKAorICAgICAgdHJlZU5vZGVJbmZvLnNlcnZlciAmJgorICAgICAgdHJlZU5vZGVJ bmZvLnNlcnZlci51c2VyICYmCisgICAgICB0cmVlTm9kZUluZm8uc2VydmVyLnVzZXIuaXNfc3Vw ZXJ1c2VyCisgICAgKSB7CisgICAgICBpc19zdXBlcl91c2VyID0gdHJ1ZTsKKyAgICB9IGVsc2Ug eworICAgICAgaXNfc3VwZXJfdXNlciA9IGZhbHNlOworICAgICAgY3VycmVudF91c2VyID0KKyAg ICAgICAgdHJlZU5vZGVJbmZvLnNlcnZlciAmJiB0cmVlTm9kZUluZm8uc2VydmVyLnVzZXIKKyAg ICAgICAgICA/IHRyZWVOb2RlSW5mby5zZXJ2ZXIudXNlci5uYW1lCisgICAgICAgICAgOiBudWxs OworICAgIH0KKworICAgIC8vIFdpdGggUEcxMCwgV2UgaGF2ZSBiYWNrZ3JvdW5kIHByb2Nlc3Mg c2hvd2luZyBvbiBkYXNoYm9hcmQKKyAgICAvLyBXZSB3aWxsIG5vdCBhbGxvdyB1c2VyIHRvIGNh bmNlbCB0aGVtIGFzIHRoZXkgd2lsbCBmYWlsIHdpdGggZXJyb3IKKyAgICAvLyBhbnl3YXksIHNv IGJldHRlciB1c2FiaWxpdHkgd2Ugd2lsbCB0aHJvdyBvdXIgb24gbm90aWZpY2F0aW9uCisKKyAg ICAvLyBCYWNrZ3JvdW5kIHByb2Nlc3NlcyBkbyBub3QgaGF2ZSBkYXRhYmFzZSBmaWVsZCBwb3B1 bGF0ZWQKKyAgICBpZiAocGdfdmVyc2lvbiAmJiBwZ192ZXJzaW9uID49IDEwMDAwMCAmJiAhcm93 Lm9yaWdpbmFsLmRhdG5hbWUpIHsKKyAgICAgIGlmIChpc19jYW5jZWxfc2Vzc2lvbikgeworICAg ICAgICB0eHRNZXNzYWdlID0gZ2V0dGV4dCgnWW91IGNhbm5vdCBjYW5jZWwgYmFja2dyb3VuZCB3 b3JrZXIgcHJvY2Vzc2VzLicpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdHh0TWVzc2FnZSA9 IGdldHRleHQoCisgICAgICAgICAgJ1lvdSBjYW5ub3QgdGVybWluYXRlIGJhY2tncm91bmQgd29y a2VyIHByb2Nlc3Nlcy4nCisgICAgICAgICk7CisgICAgICB9CisgICAgICBOb3RpZnkuaW5mbyh0 eHRNZXNzYWdlKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIC8vIElmIGl0IGlzIHRoZSBs YXN0IGFjdGl2ZSBjb25uZWN0aW9uIG9uIG1haW50ZW5hbmNlIGRiIHRoZW4gZXJyb3Igb3V0Cisg ICAgfSBlbHNlIGlmICgKKyAgICAgIG1haW50ZW5hbmNlX2RhdGFiYXNlID09IHJvdy5vcmlnaW5h bC5kYXRuYW1lICYmCisgICAgICByb3cub3JpZ2luYWwuc3RhdGUgPT0gJ2FjdGl2ZScKKyAgICAp IHsKKyAgICAgIGlmIChpc19jYW5jZWxfc2Vzc2lvbikgeworICAgICAgICB0eHRNZXNzYWdlID0g Z2V0dGV4dCgKKyAgICAgICAgICAnWW91IGFyZSBub3QgYWxsb3dlZCB0byBjYW5jZWwgdGhlIG1h aW4gYWN0aXZlIHNlc3Npb24uJworICAgICAgICApOworICAgICAgfSBlbHNlIHsKKyAgICAgICAg dHh0TWVzc2FnZSA9IGdldHRleHQoCisgICAgICAgICAgJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8g dGVybWluYXRlIHRoZSBtYWluIGFjdGl2ZSBzZXNzaW9uLicKKyAgICAgICAgKTsKKyAgICAgIH0K KyAgICAgIE5vdGlmeS5lcnJvcih0eHRNZXNzYWdlKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAg ICB9IGVsc2UgaWYgKGlzX2NhbmNlbF9zZXNzaW9uICYmIHJvdy5vcmlnaW5hbC5zdGF0ZSA9PSAn aWRsZScpIHsKKyAgICAgIC8vIElmIHRoaXMgc2Vzc2lvbiBpcyBhbHJlYWR5IGlkbGUgdGhlbiBk byBub3RoaW5nCisgICAgICBOb3RpZnkuaW5mbyhnZXR0ZXh0KCdUaGUgc2Vzc2lvbiBpcyBhbHJl YWR5IGluIGlkbGUgc3RhdGUuJykpOworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0gZWxzZSBp ZiAoY2FuX3NpZ25hbF9iYWNrZW5kKSB7CisgICAgICAvLyB1c2VyIHdpdGggbWVtYmVyc2hpcCBv ZiAncGdfc2lnbmFsX2JhY2tlbmQnIGNhbiB0ZXJtaW5hdGUgdGhlIHNlc3Npb24gb2Ygbm9uIGFk bWluIHVzZXIuCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9IGVsc2UgaWYgKGlzX3N1cGVyX3Vz ZXIpIHsKKyAgICAgIC8vIFN1cGVyIHVzZXIgY2FuIGRvIGFueXRoaW5nCisgICAgICByZXR1cm4g dHJ1ZTsKKyAgICB9IGVsc2UgaWYgKGN1cnJlbnRfdXNlciAmJiBjdXJyZW50X3VzZXIgPT0gdHJl ZU5vZGVJbmZvLnNlcnZlci51c2VyKSB7CisgICAgICAvLyBOb24tc3VwZXIgdXNlciBjYW4gY2Fu Y2VsIG9ubHkgdGhlaXIgYWN0aXZlIHF1ZXJpZXMKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0g ZWxzZSB7CisgICAgICAvLyBEbyBub3QgYWxsb3cgdG8gY2FuY2VsIHNvbWVvbmUgZWxzZSBzZXNz aW9uIHRvIG5vbi1zdXBlciB1c2VyCisgICAgICBpZiAoaXNfY2FuY2VsX3Nlc3Npb24pIHsKKyAg ICAgICAgdHh0TWVzc2FnZSA9IGdldHRleHQoCisgICAgICAgICAgJ1N1cGVydXNlciBwcml2aWxl Z2VzIGFyZSByZXF1aXJlZCB0byBjYW5jZWwgYW5vdGhlciB1c2VycyBxdWVyeS4nCisgICAgICAg ICk7CisgICAgICB9IGVsc2UgeworICAgICAgICB0eHRNZXNzYWdlID0gZ2V0dGV4dCgKKyAgICAg ICAgICAnU3VwZXJ1c2VyIHByaXZpbGVnZXMgYXJlIHJlcXVpcmVkIHRvIHRlcm1pbmF0ZSBhbm90 aGVyIHVzZXJzIHF1ZXJ5LicKKyAgICAgICAgKTsKKyAgICAgIH0KKyAgICAgIE5vdGlmeS5lcnJv cih0eHRNZXNzYWdlKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH07CisKKyAgdXNl RWZmZWN0KCgpID0+IHsKKyAgICBsZXQgdXJsLAorICAgICAgbWVzc2FnZSA9IGdldHRleHQoCisg ICAgICAgICdQbGVhc2UgY29ubmVjdCB0byB0aGUgc2VsZWN0ZWQgc2VydmVyIHRvIHZpZXcgdGhl IGRhc2hib2FyZC4nCisgICAgICApOworCisgICAgaWYgKHNpZCAmJiBwcm9wcy5zZXJ2ZXJDb25u ZWN0ZWQpIHsKKworICAgICAgaWYgKHZhbCA9PT0gMCkgeworICAgICAgICB1cmwgPSB1cmxfZm9y KCdkYXNoYm9hcmQuYWN0aXZpdHknKTsKKyAgICAgIH0gZWxzZSBpZiAodmFsID09PSAxKSB7Cisg ICAgICAgIHVybCA9IHVybF9mb3IoJ2Rhc2hib2FyZC5sb2NrcycpOworICAgICAgfSBlbHNlIGlm ICh2YWwgPT09IDIpIHsKKyAgICAgICAgdXJsID0gdXJsX2ZvcignZGFzaGJvYXJkLnByZXBhcmVk Jyk7CisgICAgICB9IGVsc2UgeworICAgICAgICB1cmwgPSB1cmxfZm9yKCdkYXNoYm9hcmQuY29u ZmlnJyk7CisgICAgICB9CisKKyAgICAgIG1lc3NhZ2UgPSBnZXR0ZXh0KCdMb2FkaW5nIGRhc2hi b2FyZC4uLicpOworICAgICAgaWYgKGRpZCkgdXJsICs9IHNpZCArICcvJyArIGRpZDsKKyAgICAg IGVsc2UgdXJsICs9IHNpZDsKKworICAgICAgY29uc3QgYXBpID0gZ2V0QXBpSW5zdGFuY2UoKTsK KyAgICAgIGlmIChub2RlKSB7CisgICAgICAgIGFwaSh7CisgICAgICAgICAgdXJsOiB1cmwsCisg ICAgICAgICAgdHlwZTogJ0dFVCcsCisgICAgICAgIH0pCisgICAgICAgICAgLnRoZW4oKHJlcykg PT4geworICAgICAgICAgICAgc2V0ZGFzaERhdGEocGFyc2VEYXRhKHJlcy5kYXRhKSk7CisgICAg ICAgICAgfSkKKyAgICAgICAgICAuY2F0Y2goKGUpID0+IHsKKyAgICAgICAgICAgIE5vdGlmeS5h bGVydCgKKyAgICAgICAgICAgICAgZ2V0dGV4dCgnRmFpbGVkIHRvIHJldHJpZXZlIGRhdGEgZnJv bSB0aGUgc2VydmVyLicpLAorICAgICAgICAgICAgICBnZXR0ZXh0KGUubWVzc2FnZSkKKyAgICAg ICAgICAgICk7CisgICAgICAgICAgICAvLyBzaG93IGZhaWxlZCBtZXNzYWdlLgorICAgICAgICAg ICAgc2V0TXNnKGdldHRleHQoJ0ZhaWxlZCB0byByZXRyaWV2ZSBkYXRhIGZyb20gdGhlIHNlcnZl ci4nKSk7CisgICAgICAgICAgfSk7CisgICAgICB9IGVsc2UgeworICAgICAgICBzZXRNc2cobWVz c2FnZSk7CisgICAgICB9CisgICAgfQorICAgIGlmIChtZXNzYWdlICE9ICcnKSB7CisgICAgICBz ZXRNc2cobWVzc2FnZSk7CisgICAgfQorICB9LCBbbm9kZURhdGEsIHZhbCwgZGlkLCBwcmVmZXJl bmNlcywgaW5mb01zZ10pOworCisgIHJldHVybiAoCisgICAgPD4KKyAgICAgIHtzaWQgJiYgcHJv cHMuc2VydmVyQ29ubmVjdGVkID8gKAorICAgICAgICA8Qm94IGNsYXNzTmFtZT17Y2xhc3Nlcy5k YXNoYm9hcmRQYW5lbH0+CisgICAgICAgICAgPEJveCBjbGFzc05hbWU9e2NsYXNzZXMuZW1wdHlQ YW5lbH0+CisgICAgICAgICAgICB7IV8uaXNVbmRlZmluZWQocHJlZmVyZW5jZXMpICYmIHByZWZl cmVuY2VzLnNob3dfZ3JhcGhzICYmICgKKyAgICAgICAgICAgICAgPEdyYXBocworICAgICAgICAg ICAgICAgIHByZWZlcmVuY2VzPXtwcmVmZXJlbmNlc30KKyAgICAgICAgICAgICAgICBzaWQ9e3Np ZH0KKyAgICAgICAgICAgICAgICBkaWQ9e2RpZH0KKyAgICAgICAgICAgICAgICBwYWdlVmlzaWJs ZT17dHJ1ZX0KKyAgICAgICAgICAgICAgPjwvR3JhcGhzPgorICAgICAgICAgICAgKX0KKyAgICAg ICAgICAgIDxCb3ggY2xhc3NOYW1lPXtjbGFzc2VzLnBhbmVsQ29udGVudH0+CisgICAgICAgICAg ICAgIDxCb3gKKyAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuY2FyZEhlYWRlcn0K KyAgICAgICAgICAgICAgICB0aXRsZT17Z2V0dGV4dCgnU2VydmVyIGFjdGl2aXR5Jyl9CisgICAg ICAgICAgICAgID4KKyAgICAgICAgICAgICAgICB7Z2V0dGV4dCgnU2VydmVyIGFjdGl2aXR5Jyl9 eycgJ30KKyAgICAgICAgICAgICAgPC9Cb3g+CisgICAgICAgICAgICAgIDxUYWJzCisgICAgICAg ICAgICAgICAgdmFsdWU9e3ZhbH0KKyAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGFiQ2hhbmdl ZH0KKyAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuc2VhcmNoSW5wdXR9CisgICAg ICAgICAgICAgID4KKyAgICAgICAgICAgICAgICB7dGFiLm1hcCgodGFiVmFsdWUsIGkpID0+IHsK KyAgICAgICAgICAgICAgICAgIHJldHVybiA8VGFiIGtleT17aX0gbGFiZWw9e3RhYlZhbHVlfSAv PjsKKyAgICAgICAgICAgICAgICB9KX0KKyAgICAgICAgICAgICAgPC9UYWJzPgorCisgICAgICAg ICAgICAgIDxQZ1RhYmxlCisgICAgICAgICAgICAgICAgY29sdW1ucz17CisgICAgICAgICAgICAg ICAgICB2YWwgPT09IDAKKyAgICAgICAgICAgICAgICAgICAgPyBhY3Rpdml0eUNvbHVtbnMKKyAg ICAgICAgICAgICAgICAgICAgOiB2YWwgPT09IDEKKyAgICAgICAgICAgICAgICAgICAgICA/IGRh dGFiYXNlTG9ja3NDb2x1bW5zCisgICAgICAgICAgICAgICAgICAgICAgOiB2YWwgPT0gMgorICAg ICAgICAgICAgICAgICAgICAgICAgPyBkYXRhYmFzZVByZXBhcmVkQ29sdW1ucworICAgICAgICAg ICAgICAgICAgICAgICAgOiBzZXJ2ZXJDb25maWdDb2x1bW5zCisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICAgIGRhdGE9e2Rhc2hEYXRhfQorICAgICAgICAgICAgICAgIHNjaGVtYT17 c2NoZW1hRGljdH0KKyAgICAgICAgICAgICAgICBvZmZzZXQ9ezE0NX0KKyAgICAgICAgICAgICAg PjwvUGdUYWJsZT4KKyAgICAgICAgICAgIDwvQm94PgorICAgICAgICAgIDwvQm94PgorICAgICAg ICA8L0JveD4KKyAgICAgICkgOiBzaWQgJiYgIXByb3BzLnNlcnZlckNvbm5lY3RlZCA/ICgKKyAg ICAgICAgPEJveCBjbGFzc05hbWU9e2NsYXNzZXMuZGFzaGJvYXJkUGFuZWx9PgorICAgICAgICAg IDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmVtcHR5UGFuZWx9PgorICAgICAgICAgICAgPGRpdiBj bGFzc05hbWU9e2NsYXNzZXMucGFuZWxJY29ufT4KKyAgICAgICAgICAgICAgPGkgY2xhc3NOYW1l PSJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGUiPjwvaT4KKyAgICAgICAgICAgICAgPHNwYW4gY2xh c3NOYW1lPXtjbGFzc2VzLnBhbmVsTWVzc2FnZX0+e2dldHRleHQobXNnKX08L3NwYW4+CisgICAg ICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9Cb3g+CisgICAgICAp IDogKAorICAgICAgICA8V2VsY29tZURhc2hib2FyZAorICAgICAgICAgIHBnQnJvd3Nlcj17cGdC cm93c2VyfQorICAgICAgICAgIG5vZGU9e25vZGV9CisgICAgICAgICAgaXRlbURhdGE9e25vZGVE YXRhfQorICAgICAgICAgIGl0ZW09e2l0ZW19CisgICAgICAgICAgc2lkPXtzaWR9CisgICAgICAg ICAgZGlkPXtkaWR9CisgICAgICAgIC8+CisgICAgICApfQorICAgIDwvPgorICApOworfQorCitE YXNoYm9hcmQucHJvcFR5cGVzID0geworICBub2RlOiBQcm9wVHlwZXMuZnVuYywKKyAgaXRlbURh dGE6IFByb3BUeXBlcy5vYmplY3QsCisgIG5vZGVEYXRhOiBQcm9wVHlwZXMub2JqZWN0LAorICB0 cmVlTm9kZUluZm86IFByb3BUeXBlcy5vYmplY3QsCisgIGl0ZW06IFByb3BUeXBlcy5vYmplY3Qs CisgIHBnQnJvd3NlcjogUHJvcFR5cGVzLm9iamVjdCwKKyAgcHJlZmVyZW5jZXM6IFByb3BUeXBl cy5vYmplY3QsCisgIHNpZDogUHJvcFR5cGVzLnN0cmluZywKKyAgZGlkOiBQcm9wVHlwZXMub25l T2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLAorICByb3c6IFByb3BU eXBlcy5vYmplY3QsCisgIHNlcnZlckNvbm5lY3RlZDogUHJvcFR5cGVzLmJvb2wsCit9OworCitl eHBvcnQgZnVuY3Rpb24gQ2hhcnRDb250YWluZXIocHJvcHMpIHsKKyAgcmV0dXJuICgKKyAgICA8 ZGl2CisgICAgICBjbGFzc05hbWU9ImNhcmQgZGFzaGJvYXJkLWdyYXBoIgorICAgICAgcm9sZT0i b2JqZWN0LWRvY3VtZW50IgorICAgICAgdGFiSW5kZXg9IjAiCisgICAgICBhcmlhLWxhYmVsbGVk Ynk9e3Byb3BzLmlkfQorICAgID4KKyAgICAgIDxkaXYgY2xhc3NOYW1lPSJjYXJkLWhlYWRlciI+ CisgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJkLWZsZXgiPgorICAgICAgICAgIDxkaXYgaWQ9e3By b3BzLmlkfT57cHJvcHMudGl0bGV9PC9kaXY+CisgICAgICAgICAgPGRpdiBjbGFzc05hbWU9Im1s LWF1dG8gbXktYXV0byBsZWdlbmQiIHJlZj17cHJvcHMubGVnZW5kUmVmfT48L2Rpdj4KKyAgICAg ICAgPC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICAgIDxkaXYgY2xhc3NOYW1lPSJjYXJkLWJvZHkg ZGFzaGJvYXJkLWdyYXBoLWJvZHkiPgorICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2NoYXJ0LXdy YXBwZXIgJyArIChwcm9wcy5lcnJvck1zZyA/ICdkLW5vbmUnIDogJycpfT4KKyAgICAgICAgICB7 cHJvcHMuY2hpbGRyZW59CisgICAgICAgIDwvZGl2PgorICAgICAgICA8Q2hhcnRFcnJvciBtZXNz YWdlPXtwcm9wcy5lcnJvck1zZ30gLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICApOwor fQorCitDaGFydENvbnRhaW5lci5wcm9wVHlwZXMgPSB7CisgIGlkOiBQcm9wVHlwZXMuc3RyaW5n LmlzUmVxdWlyZWQsCisgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsCisgIGxl Z2VuZFJlZjogUHJvcFR5cGVzLm9uZU9mVHlwZShbCisgICAgUHJvcFR5cGVzLmZ1bmMsCisgICAg UHJvcFR5cGVzLnNoYXBlKHsgY3VycmVudDogUHJvcFR5cGVzLmFueSB9KSwKKyAgXSkuaXNSZXF1 aXJlZCwKKyAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsCisgIGVycm9yTXNn OiBQcm9wVHlwZXMuc3RyaW5nLAorfTsKKworZXhwb3J0IGZ1bmN0aW9uIENoYXJ0RXJyb3IocHJv cHMpIHsKKyAgaWYgKHByb3BzLm1lc3NhZ2UgPT09IG51bGwpIHsKKyAgICByZXR1cm4gPD48Lz47 CisgIH0KKyAgcmV0dXJuICgKKyAgICA8ZGl2IGNsYXNzTmFtZT0icGctcGFuZWwtZXJyb3IgcGct cGFuZWwtbWVzc2FnZSIgcm9sZT0iYWxlcnQiPgorICAgICAge3Byb3BzLm1lc3NhZ2V9CisgICAg PC9kaXY+CisgICk7Cit9CisKK0NoYXJ0RXJyb3IucHJvcFR5cGVzID0geworICBtZXNzYWdlOiBQ cm9wVHlwZXMuc3RyaW5nLAorfTsKKworZXhwb3J0IGZ1bmN0aW9uIERhc2hib2FyZFJvdyh7IGNo aWxkcmVuIH0pIHsKKyAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPSJyb3cgZGFzaGJvYXJkLXJvdyI+ e2NoaWxkcmVufTwvZGl2PjsKK30KK0Rhc2hib2FyZFJvdy5wcm9wVHlwZXMgPSB7CisgIGNoaWxk cmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLAorfTsKKworZXhwb3J0IGZ1bmN0aW9uIERh c2hib2FyZFJvd0NvbCh7IGJyZWFrcG9pbnQsIHBhcnRzLCBjaGlsZHJlbiB9KSB7CisgIHJldHVy biA8ZGl2IGNsYXNzTmFtZT17YGNvbC0ke2JyZWFrcG9pbnR9LSR7cGFydHN9YH0+e2NoaWxkcmVu fTwvZGl2PjsKK30KKworRGFzaGJvYXJkUm93Q29sLnByb3BUeXBlcyA9IHsKKyAgYnJlYWtwb2lu dDogUHJvcFR5cGVzLm9uZU9mKFsneHMnLCAnc20nLCAnbWQnLCAnbGcnLCAneGwnXSkuaXNSZXF1 aXJlZCwKKyAgcGFydHM6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCwKKyAgY2hpbGRyZW46 IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsCit9OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v ZGFzaGJvYXJkL3N0YXRpYy9qcy9HcmFwaHMuanN4IGIvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3N0 YXRpYy9qcy9HcmFwaHMuanN4CmluZGV4IGNkOGZhNjVhMy4uNjlhOWFmNGZjIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL0dyYXBocy5qc3gKKysrIGIvd2ViL3Bn YWRtaW4vZGFzaGJvYXJkL3N0YXRpYy9qcy9HcmFwaHMuanN4CkBAIC04LDcgKzgsNyBAQAogLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8KIGltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZVJlZHVj ZXIsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnOwogaW1wb3J0IHtMaW5lQ2hh cnR9IGZyb20gJ3NvdXJjZXMvY2hhcnRqcyc7Ci1pbXBvcnQge0NoYXJ0Q29udGFpbmVyLCBEYXNo Ym9hcmRSb3dDb2wsIERhc2hib2FyZFJvd30gZnJvbSAnLi9kYXNoYm9hcmRfY29tcG9uZW50cyc7 CitpbXBvcnQge0NoYXJ0Q29udGFpbmVyLCBEYXNoYm9hcmRSb3dDb2wsIERhc2hib2FyZFJvd30g ZnJvbSAnLi9EYXNoYm9hcmQnOwogaW1wb3J0IHVybF9mb3IgZnJvbSAnc291cmNlcy91cmxfZm9y JzsKIGltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7CiBpbXBvcnQgZ2V0dGV4dCBmcm9tICdzb3Vy Y2VzL2dldHRleHQnOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3N0YXRpYy9q cy9QZ0FkbWluTG9nby5qc3ggYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL1BnQWRt aW5Mb2dvLmpzeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmVjZmU2ZTll MQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC9zdGF0aWMvanMvUGdB ZG1pbkxvZ28uanN4CkBAIC0wLDAgKzEsMjE5IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0g UG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjIsIFRoZSBw Z0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5k ZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitpbXBvcnQgUmVhY3QgZnJvbSAn cmVhY3QnOworCitleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQZ0FkbWluTG9nbygpIHsKKworICBy ZXR1cm4gKAorICAgIDxkaXYgY2xhc3NOYW1lPSJ3ZWxjb21lLWxvZ28iIGFyaWEtaGlkZGVuPSJ0 cnVlIj4KKyAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3 Qm94PSIwIDAgNjAwIDEzMCI+CisgICAgICAgIDxkZWZzPgorICAgICAgICAgIDxzdHlsZT57Jy5j bHMtMXtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTAuMTlweDt9LmNscy0ye2ZpbGw6IzMzNjc5 MTt9LmNscy0zLC5jbHMtNCwuY2xzLTl7ZmlsbDpub25lO30uY2xzLTMsLmNscy00LC5jbHMtNSwu Y2xzLTZ7c3Ryb2tlOiNmZmY7fS5jbHMtMywuY2xzLTR7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ry b2tlLXdpZHRoOjMuNHB4O30uY2xzLTN7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO30uY2xzLTR7c3Ry b2tlLWxpbmVqb2luOmJldmVsO30uY2xzLTUsLmNscy02e2ZpbGw6I2ZmZjt9LmNscy01e3N0cm9r ZS13aWR0aDoxLjEzcHg7fS5jbHMtNntzdHJva2Utd2lkdGg6MC41N3B4O30uY2xzLTd7ZmlsbDoj Mjc3NWI2O30uY2xzLTh7ZmlsbDojMzMzO30uY2xzLTl7c3Ryb2tlOiMzMzM7c3Ryb2tlLXdpZHRo OjNweDt9J308L3N0eWxlPgorICAgICAgICA8L2RlZnM+CisgICAgICAgIDx0aXRsZT5wZ0FkbWlu X1Bvc3RncmVTUUw8L3RpdGxlPgorICAgICAgICA8ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJM YXllciAxIj4KKyAgICAgICAgICA8ZyBpZD0iTGF5ZXJfMyI+CisgICAgICAgICAgICA8cGF0aAor ICAgICAgICAgICAgICBjbGFzc05hbWU9ImNscy0xIgorICAgICAgICAgICAgICBkPSJNOTUuNTks OTMuNjVjLjc3LTYuNDQuNTQtNy4zOCw1LjMzLTYuMzRsMS4yMS4xMWEyNy42LDI3LjYsMCwwLDAs MTEuMzQtMS45MWM2LjA5LTIuODMsOS43MS03LjU1LDMuNy02LjMxLTEzLjcxLDIuODMtMTQuNjUt MS44MS0xNC42NS0xLjgxQzExNyw1NS45MSwxMjMsMjguNjQsMTE3LjgyLDIyLDEwMy41NywzLjc2 LDc4LjkxLDEyLjM3LDc4LjUsMTIuNmwtLjEzLDBhNDguNjUsNDguNjUsMCwwLDAtOS4xNS0uOTVD NjMsMTEuNTcsNTguMzEsMTMuMjksNTQuNzQsMTZjMCwwLTQ0LTE4LjEyLTQxLjk1LDIyLjguNDQs OC43LDEyLjQ4LDY1Ljg2LDI2Ljg0LDQ4LjZDNDQuODgsODEuMDgsNTAsNzUuNzUsNTAsNzUuNzVB MTMuMzksMTMuMzksMCwwLDAsNTguNjUsNzhsLjI1LS4yMWE5LDksMCwwLDAsLjEsMi40NmMtMy43 LDQuMTMtMi42Miw0Ljg2LTEwLDYuMzhzLTMuMDksNC4yOS0uMjIsNWMzLjQ4Ljg3LDExLjUzLDIu MSwxNy01LjUybC0uMjIuODdjMS40NiwxLjE2LDEuMzYsOC4zNSwxLjU2LDEzLjQ4cy41NSw5Ljkz LDEuNiwxMi43NSwyLjI4LDEwLjEsMTIsOEM4OC44MSwxMTkuNDYsOTUsMTE3LDk1LjU5LDkzLjY1 IgorICAgICAgICAgICAgLz4KKyAgICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICAgIGNsYXNz TmFtZT0iY2xzLTIiCisgICAgICAgICAgICAgIGQ9Ik0xMTcuMTcsNzkuMmMtMTMuNzEsMi44My0x NC42NS0xLjgxLTE0LjY1LTEuODFDMTE3LDU1LjkxLDEyMywyOC42NCwxMTcuODIsMjIsMTAzLjU3 LDMuNzYsNzguOTEsMTIuMzcsNzguNSwxMi42bC0uMTMsMGE0OC42NSw0OC42NSwwLDAsMC05LjE1 LS45NUM2MywxMS41Nyw1OC4zMSwxMy4yOSw1NC43NCwxNmMwLDAtNDQtMTguMTItNDEuOTUsMjIu OC40NCw4LjcsMTIuNDgsNjUuODYsMjYuODQsNDguNkM0NC44OCw4MS4wOCw1MCw3NS43NSw1MCw3 NS43NUExMy4zOSwxMy4zOSwwLDAsMCw1OC42NSw3OGwuMjUtLjIxQTkuNDEsOS40MSwwLDAsMCw1 OSw4MC4yMmMtMy43LDQuMTMtMi42MSw0Ljg2LTEwLDYuMzhzLTMuMDgsNC4yOS0uMjEsNWMzLjQ4 Ljg3LDExLjUzLDIuMSwxNy01LjUybC0uMjIuODdjMS40NSwxLjE2LDIuNDcsNy41NiwyLjMsMTMu MzVzLS4yOCw5Ljc3Ljg2LDEyLjg4LDIuMjgsMTAuMSwxMiw4Qzg4LjgxLDExOS40Niw5MywxMTUs OTMuNiwxMDcuNDIsOTQsMTAyLjA3LDk1LDEwMi44Nyw5NSw5OC4wOGwuNzUtMi4yNmMuODctNy4y Ni4xNC05LjYsNS4xNS04LjUxbDEuMjEuMTFhMjcuNiwyNy42LDAsMCwwLDExLjM0LTEuOTFjNi4w OS0yLjgzLDkuNzEtNy41NSwzLjctNi4zMVoiCisgICAgICAgICAgICAvPgorICAgICAgICAgICAg PHBhdGgKKyAgICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtMyIKKyAgICAgICAgICAgICAgZD0i TTY2LjMzLDgzLjM2Yy0uMzgsMTMuNS4wOSwyNy4wOSwxLjQxLDMwLjM5czQuMTUsOS43MywxMy44 OCw3LjY0YzguMTItMS43NCwxMS4wOC01LjExLDEyLjM2LTEyLjU1Ljk0LTUuNDcsMi43Ny0yMC42 NywzLTIzLjc5IgorICAgICAgICAgICAgLz4KKyAgICAgICAgICAgIDxwYXRoCisgICAgICAgICAg ICAgIGNsYXNzTmFtZT0iY2xzLTMiCisgICAgICAgICAgICAgIGQ9Ik01NC42NywxNS43cy00NC0x OC00MiwyMi45M2MuNDQsOC43LDEyLjQ4LDY1Ljg3LDI2Ljg0LDQ4LjYsNS4yNS02LjMyLDEwLTEx LjI3LDEwLTExLjI3IgorICAgICAgICAgICAgLz4KKyAgICAgICAgICAgIDxwYXRoCisgICAgICAg ICAgICAgIGNsYXNzTmFtZT0iY2xzLTMiCisgICAgICAgICAgICAgIGQ9Ik03OC40NSwxMi40MmMt MS41Mi40NywyNC40OS05LjUxLDM5LjI4LDkuMzgsNS4yMiw2LjY3LS44MywzMy45NC0xNS4zMSw1 NS40MiIKKyAgICAgICAgICAgIC8+CisgICAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgICBj bGFzc05hbWU9ImNscy00IgorICAgICAgICAgICAgICBkPSJNMTAyLjQyLDc3LjIycy45NCw0LjY0 LDE0LjY1LDEuODFjNi0xLjI0LDIuNCwzLjQ4LTMuNyw2LjMxLTUsMi4zMi0xNi4yMSwyLjkyLTE2 LjM5LS4yOS0uNDctOC4yNyw1LjktNS43Niw1LjQ0LTcuODMtLjQyLTEuODctMy4yNi0zLjctNS4x NS04LjI3LTEuNjQtNC0yMi41Ny0zNC41OCw1LjgtMzAsMS0uMjItNy40LTI3LTMzLjk1LTI3LjQy UzQzLjQ1LDQ0LjE0LDQzLjQ1LDQ0LjE0IgorICAgICAgICAgICAgLz4KKyAgICAgICAgICAgIDxw YXRoCisgICAgICAgICAgICAgIGNsYXNzTmFtZT0iY2xzLTMiCisgICAgICAgICAgICAgIGQ9Ik01 OC45LDgwLjA1Yy0zLjcsNC4xMy0yLjYxLDQuODYtMTAsNi4zOHMtMy4wOSw0LjI5LS4yMiw1YzMu NDguODcsMTEuNTMsMi4xLDE3LTUuNTIsMS42Ni0yLjMyLDAtNi0yLjI4LTctMS4xLS40Ni0yLjU3 LTEtNC40NiwxLjA5WiIKKyAgICAgICAgICAgIC8+CisgICAgICAgICAgICA8cGF0aAorICAgICAg ICAgICAgICBjbGFzc05hbWU9ImNscy0zIgorICAgICAgICAgICAgICBkPSJNNTguNjYsODBjLS4z OC0yLjQ0Ljc5LTUuMzMsMi4wNS04LjcxQzYyLjYsNjYuMTksNjcsNjEuMTEsNjMuNDcsNDVjLTIu Ni0xMi0yMC0yLjUtMjAtLjg3YTgxLjQ4LDgxLjQ4LDAsMCwxLS4yOSwxNmMtMS40MSwxMC4wNiw2 LjQsMTguNTcsMTUuMzksMTcuNyIKKyAgICAgICAgICAgIC8+CisgICAgICAgICAgICA8cGF0aAor ICAgICAgICAgICAgICBjbGFzc05hbWU9ImNscy01IgorICAgICAgICAgICAgICBkPSJNNTQuNTEs NDMuOWMtLjA4LjU1LDEsMiwyLjQ1LDIuMjNhMi42MiwyLjYyLDAsMCwwLDIuNzItMS41MWMuMDgt LjU2LTEtMS4xNy0yLjQ0LTEuMzdzLTIuNjUuMDktMi43My42NVoiCisgICAgICAgICAgICAvPgor ICAgICAgICAgICAgPHBhdGgKKyAgICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtNiIKKyAgICAg ICAgICAgICAgZD0iTTk4LDQyLjc2Yy4wNy41Ni0xLDItMi40NSwyLjI0YTIuNjQsMi42NCwwLDAs MS0yLjczLTEuNTJjLS4wNy0uNTUsMS0xLjE2LDIuNDUtMS4zNnMyLjY1LjA5LDIuNzMuNjRaIgor ICAgICAgICAgICAgLz4KKyAgICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICAgIGNsYXNzTmFt ZT0iY2xzLTMiCisgICAgICAgICAgICAgIGQ9Ik0xMDMuMDcsMzguOTJjLjI0LDQuMzYtLjk0LDcu MzMtMS4wOCwxMi0uMjIsNi43NCwzLjIxLDE0LjQ2LTIsMjIuMTkiCisgICAgICAgICAgICAvPgor ICAgICAgICAgIDwvZz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJj bHMtNyBhcHAtbmFtZSIKKyAgICAgICAgICAgIGQ9Ik0xNTQuNzIsMjguMTVoNS4xNnY0LjE2QTEy Ljg0LDEyLjg0LDAsMCwxLDE2My4zNSwyOWExMS4xNywxMS4xNywwLDAsMSw2LjI4LTEuNzYsMTEu ODQsMTEuODQsMCwwLDEsOS4wOCw0LjA5YzIuNDgsMi43MiwzLjczLDYuNjIsMy43MywxMS42N3Ew LDEwLjI2LTUuMzgsMTQuNjVhMTIuMiwxMi4yLDAsMCwxLTcuOTUsMi43OSwxMC43OCwxMC43OCww LDAsMS02LTEuNTYsMTMuNTUsMTMuNTUsMCwwLDEtMy4xNC0zdjE2aC01LjI4Wm0xOS44NCwyNC42 UTE3Nyw0OS42NSwxNzcsNDMuNWExNywxNywwLDAsMC0xLjA5LTYuNDQsNy41MSw3LjUxLDAsMCww LTcuNTMtNS4xOXEtNS40OSwwLTcuNTIsNS40OGEyMS40OSwyMS40OSwwLDAsMC0xLjA5LDcuNDRB MTUuNjQsMTUuNjQsMCwwLDAsMTYwLjg4LDUxYTgsOCwwLDAsMCwxMy42OCwxLjc4WiIKKyAgICAg ICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICBjbGFzc05hbWU9ImNscy03IGFw cC1uYW1lIgorICAgICAgICAgICAgZD0iTTIwNiwyOS4yNmExNC42LDE0LjYsMCwwLDEsMywzVjI4 LjNoNC44NlY1Ni44M2MwLDQtLjU4LDcuMTMtMS43NSw5LjQ0cS0zLjI3LDYuMzgtMTIuMzUsNi4z OGExNS4wNywxNS4wNywwLDAsMS04LjUtMi4yNyw4Ljg2LDguODYsMCwwLDEtMy44NS03LjFoNS4z NmE2LDYsMCwwLDAsMS41MiwzLjI1cTEuNzcsMS43NSw1LjU5LDEuNzYsNiwwLDcuOS00LjI4LDEu MS0yLjUyLDEtOWExMC4zOSwxMC4zOSwwLDAsMS0zLjgsMy41NywxMy41NiwxMy41NiwwLDAsMS0x NC43NS0yLjQ1cS0zLjgxLTMuNjItMy44MS0xMiwwLTcuODksMy44NC0xMi4zMWExMS44NSwxMS44 NSwwLDAsMSw5LjI3LTQuNDJBMTEuMzcsMTEuMzcsMCwwLDEsMjA2LDI5LjI2Wm0uNjQsNS42NmE3 LjYxLDcuNjEsMCwwLDAtNi4wOS0yLjgxQTcuNTIsNy41MiwwLDAsMCwxOTMsMzcuMzJhMjAuNTYs MjAuNTYsMCwwLDAtMS4wOCw3LjNjMCwzLjUzLjcyLDYuMjIsMi4xNCw4LjA3YTYuOTMsNi45Myww LDAsMCw1Ljc2LDIuNzcsOC4wOSw4LjA5LDAsMCwwLDgtNS4xM0ExNi43MiwxNi43MiwwLDAsMCwy MDksNDMuNTZRMjA5LDM3LjczLDIwNi42MiwzNC45MloiCisgICAgICAgICAgLz4KKyAgICAgICAg ICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtNyBhcHAtbmFtZSIKKyAgICAgICAg ICAgIGQ9Ik0yMzUuMTYsMTYuMzRoNi41OGwxNS42Miw0M0gyNTFsLTQuNS0xMi44OUgyMjkuNmwt NC42NywxMi44OWgtNlptOS42NywyNS40LTYuNjMtMTktNi44OCwxOVoiCisgICAgICAgICAgLz4K KyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtNyBhcHAtbmFtZSIK KyAgICAgICAgICAgIGQ9Ik0yNzkuMTYsMjlhMTQuMywxNC4zLDAsMCwxLDMuMTgsMy4wOFYxNi4y aDUuMDdWNTkuMzhoLTQuNzVWNTVhMTEuMzMsMTEuMzMsMCwwLDEtNC4zNSw0LjE5LDEyLjUxLDEy LjUxLDAsMCwxLTUuNzUsMS4yOCwxMS42MSwxMS42MSwwLDAsMS05LTQuNHEtMy44Mi00LjQxLTMu ODMtMTEuNzRhMjAuMzUsMjAuMzUsMCwwLDEsMy40OS0xMS44OCwxMS40MSwxMS40MSwwLDAsMSwx MC01QTExLjE1LDExLjE1LDAsMCwxLDI3OS4xNiwyOVpNMjY3LjM5LDUyLjVxMi4xMywzLjM5LDYu ODIsMy4zOWE3LjE3LDcuMTcsMCwwLDAsNi0zLjE0YzEuNTYtMi4xLDIuMzUtNS4xMiwyLjM1LTlz LS44MS02LjktMi40Mi04LjgxYTcuNTYsNy41NiwwLDAsMC02LTIuODUsNy44OCw3Ljg4LDAsMCww LTYuNDMsM2MtMS42NCwyLTIuNDYsNS0yLjQ2LDlBMTUuNjIsMTUuNjIsMCwwLDAsMjY3LjM5LDUy LjVaIgorICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAgICAgICAgICAgIGNsYXNzTmFt ZT0iY2xzLTcgYXBwLW5hbWUiCisgICAgICAgICAgICBkPSJNMjk1LjI5LDI4aDUuMjF2NC40NmEx Ny40LDE3LjQsMCwwLDEsMy40LTMuMzcsMTAuMjQsMTAuMjQsMCwwLDEsNS45Mi0xLjc5LDkuMzQs OS4zNCwwLDAsMSw2LDEuODUsOS42MSw5LjYxLDAsMCwxLDIuMzQsMy4xLDExLjM3LDExLjM3LDAs MCwxLDQuMTMtMy43MywxMS41MiwxMS41MiwwLDAsMSw1LjMzLTEuMjJxNi4zMywwLDguNjIsNC41 N2ExNSwxNSwwLDAsMSwxLjIzLDYuNjJWNTkuMzhIMzMyVjM3LjU4YzAtMi4wOS0uNTItMy41Mi0x LjU3LTQuM2E2LjIsNi4yLDAsMCwwLTMuODItMS4xNyw3LjU4LDcuNTgsMCwwLDAtNS4zNSwyLjA4 Yy0xLjQ5LDEuMzgtMi4yNCwzLjctMi4yNCw2Ljk0VjU5LjM4aC01LjM2VjM4LjlhMTAuNzgsMTAu NzgsMCwwLDAtLjc2LTQuNjZxLTEuMi0yLjE5LTQuNDktMi4xOUE3LjczLDcuNzMsMCwwLDAsMzAz LDM0LjM2Yy0xLjYzLDEuNTQtMi40NSw0LjM0LTIuNDUsOC4zOFY1OS4zOGgtNS4yN1oiCisgICAg ICAgICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtNyBh cHAtbmFtZSIKKyAgICAgICAgICAgIGQ9Ik0zNDUuMjcsMTYuMzRoNS4zNnY2aC01LjM2Wm0wLDEx LjgxaDUuMzZWNTkuMzhoLTUuMzZaIgorICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAg ICAgICAgICAgIGNsYXNzTmFtZT0iY2xzLTcgYXBwLW5hbWUiCisgICAgICAgICAgICBkPSJNMzU4 LjYsMjhoNXY0LjQ2YTE0LDE0LDAsMCwxLDQuNzItNCwxMi41NiwxMi41NiwwLDAsMSw1LjUzLTEu MmM0LjQ2LDAsNy40NiwxLjU1LDksNC42NmExNi41MiwxNi41MiwwLDAsMSwxLjI5LDcuMjlWNTku MzhoLTUuMzdWMzkuNjFBMTAuOCwxMC44LDAsMCwwLDM3OCwzNWE1LjE1LDUuMTUsMCwwLDAtNS4x LTIuOTMsMTAuMjEsMTAuMjEsMCwwLDAtMy4wOC4zOEE4LDgsMCwwLDAsMzY2LDM1YTcuNjYsNy42 NiwwLDAsMC0xLjcxLDMuMiwyMS44NCwyMS44NCwwLDAsMC0uNCw0Ljc0VjU5LjM4SDM1OC42WiIK KyAgICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICBjbGFzc05hbWU9ImNs cy04IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTE1NS4yNCw4Ni44N2gzLjlsNS43Nywx Nyw1Ljc0LTE3aDMuODdWMTA3aC0yLjZWOTUuMXEwLS42MSwwLTJjMC0uOTQsMC0yLDAtM0wxNjYu MjQsMTA3aC0yLjdMMTU3Ljc1LDkwdi42MWMwLC40OSwwLDEuMjQsMCwyLjI1cy4wNSwxLjc1LjA1 LDIuMjJWMTA3aC0yLjZaIgorICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAgICAgICAg ICAgIGNsYXNzTmFtZT0iY2xzLTggYXBwLXRhZ2xpbmUiCisgICAgICAgICAgICBkPSJNMTg2LjE1 LDk4LjA5YTEuMzUsMS4zNSwwLDAsMCwxLjE0LS43MSwyLjMxLDIuMzEsMCwwLDAsLjE2LS45NCwy LDIsMCwwLDAtLjg5LTEuODRBNC43OSw0Ljc5LDAsMCwwLDE4NCw5NGEzLjIxLDMuMjEsMCwwLDAt Mi43MywxLDMuNDQsMy40NCwwLDAsMC0uNTksMS43MmgtMi4zQTQuMjgsNC4yOCwwLDAsMSwxODAu MTQsOTMsNy4xNiw3LjE2LDAsMCwxLDE4NC4wNSw5MmE4LDgsMCwwLDEsNC4xOSwxLDMuMzQsMy4z NCwwLDAsMSwxLjYsMy4wNnY4LjQ0YTEuMDYsMS4wNiwwLDAsMCwuMTYuNjIuNzcuNzcsMCwwLDAs LjY2LjIzbC4zNywwLC40NC0uMDdWMTA3YTcuMzgsNy4zOCwwLDAsMS0uODguMjEsNS45Miw1Ljky LDAsMCwxLS44MiwwLDIsMiwwLDAsMS0xLjg0LS45LDMuNjMsMy42MywwLDAsMS0uNDMtMS4zNiw2 LjE2LDYuMTYsMCwwLDEtMi4xNiwxLjcxLDYuNTYsNi41NiwwLDAsMS0zLjEuNzMsNC41OSw0LjU5 LDAsMCwxLTMuMzMtMS4yNCw0LjA5LDQuMDksMCwwLDEtMS4yOS0zLjA5LDQsNCwwLDAsMSwxLjI3 LTMuMTYsNi4xNiw2LjE2LDAsMCwxLDMuMzQtMS4zOFpNMTgxLDEwNC43NGEyLjg4LDIuODgsMCww LDAsMS44NC42Miw1LjUxLDUuNTEsMCwwLDAsMi41Mi0uNjEsMy4zNywzLjM3LDAsMCwwLDItMy4y NnYtMmEzLjc5LDMuNzksMCwwLDEtMS4xNi40OCwxMC4zNywxMC4zNywwLDAsMS0xLjM5LjI4bC0x LjQ5LjE5YTUuNjgsNS42OCwwLDAsMC0yLC41NiwyLjE4LDIuMTgsMCwwLDAtMS4xNCwyQTIsMiww LDAsMCwxODEsMTA0Ljc0WiIKKyAgICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAgICAg ICAgICBjbGFzc05hbWU9ImNscy04IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTE5My44 OCw5Mi4zMWgyLjMzdjIuMDhhNi43Myw2LjczLDAsMCwxLDIuMi0xLjg1QTYsNiwwLDAsMSwyMDEs OTJxMy4xMiwwLDQuMjEsMi4xOGE3LjczLDcuNzMsMCwwLDEsLjYsMy40VjEwN2gtMi41Vjk3Ljcz YTQuODcsNC44NywwLDAsMC0uNC0yLjE2LDIuNDEsMi40MSwwLDAsMC0yLjM4LTEuMzcsNC43NSw0 Ljc1LDAsMCwwLTEuNDMuMTgsMy42OCwzLjY4LDAsMCwwLTEuNzgsMS4yLDMuNTUsMy41NSwwLDAs MC0uOCwxLjUsMTAuMywxMC4zLDAsMCwwLS4xOCwyLjIxVjEwN2gtMi40NloiCisgICAgICAgICAg Lz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFn bGluZSIKKyAgICAgICAgICAgIGQ9Ik0yMTcuMjksOTguMDlhMS4zMywxLjMzLDAsMCwwLDEuMTQt LjcxLDIuMTUsMi4xNSwwLDAsMCwuMTYtLjk0LDIsMiwwLDAsMC0uODktMS44NCw0Ljc5LDQuNzks MCwwLDAtMi41Ni0uNTYsMy4yNCwzLjI0LDAsMCwwLTIuNzMsMSwzLjQ0LDMuNDQsMCwwLDAtLjU4 LDEuNzJoLTIuM0E0LjI3LDQuMjcsMCwwLDEsMjExLjI4LDkzLDcuMTksNy4xOSwwLDAsMSwyMTUu Miw5MmE4LDgsMCwwLDEsNC4xOSwxQTMuMzYsMy4zNiwwLDAsMSwyMjEsOTZ2OC40NGExLjE0LDEu MTQsMCwwLDAsLjE1LjYyLjc5Ljc5LDAsMCwwLC42Ny4yM2wuMzcsMCwuNDMtLjA3VjEwN2E3LjMy LDcuMzIsMCwwLDEtLjg3LjIxLDYsNiwwLDAsMS0uODIsMCwyLDIsMCwwLDEtMS44NS0uOSwzLjQ2 LDMuNDYsMCwwLDEtLjQyLTEuMzYsNi4xNiw2LjE2LDAsMCwxLTIuMTYsMS43MSw2LjYzLDYuNjMs MCwwLDEtMy4xMS43Myw0LjU4LDQuNTgsMCwwLDEtMy4zMi0xLjI0LDQuMDYsNC4wNiwwLDAsMS0x LjMtMy4wOUE0LDQsMCwwLDEsMjEwLDEwMGE2LjEzLDYuMTMsMCwwLDEsMy4zMy0xLjM4Wm0tNS4x OCw2LjY1YTIuOTEsMi45MSwwLDAsMCwxLjg1LjYyLDUuNDcsNS40NywwLDAsMCwyLjUxLS42MSwz LjM4LDMuMzgsMCwwLDAsMi4wNi0zLjI2di0yYTMuOSwzLjksMCwwLDEtMS4xNi40OCwxMC41MSwx MC41MSwwLDAsMS0xLjQuMjhsLTEuNDguMTlhNS41NSw1LjU1LDAsMCwwLTIsLjU2LDIuMTcsMi4x NywwLDAsMC0xLjE1LDJBMiwyLDAsMCwwLDIxMi4xMSwxMDQuNzRaIgorICAgICAgICAgIC8+Cisg ICAgICAgICAgPHBhdGgKKyAgICAgICAgICAgIGNsYXNzTmFtZT0iY2xzLTggYXBwLXRhZ2xpbmUi CisgICAgICAgICAgICBkPSJNMjMzLjE2LDkyLjlhNy4wNSw3LjA1LDAsMCwxLDEuNDIsMS4zOVY5 Mi40NWgyLjI3djEzLjMyYTEwLDEwLDAsMCwxLS44Miw0LjRjLTEsMi0yLjk0LDMtNS43NywzYTcu MDksNy4wOSwwLDAsMS00LTEuMDYsNC4xNSw0LjE1LDAsMCwxLTEuOC0zLjMySDIyN2EyLjgxLDIu ODEsMCwwLDAsLjcxLDEuNTIsMy41NywzLjU3LDAsMCwwLDIuNjEuODJjMS44OCwwLDMuMS0uNjYs My42OC0yYTExLjE1LDExLjE1LDAsMCwwLC40OC00LjIsNC44NCw0Ljg0LDAsMCwxLTEuNzcsMS42 Nyw1LjkzLDUuOTMsMCwwLDEtMi43NC41NCw1Ljc5LDUuNzksMCwwLDEtNC4xNC0xLjY5cS0xLjc5 LTEuNjgtMS43OC01LjU4YTguNDksOC40OSwwLDAsMSwxLjc5LTUuNzQsNS41MSw1LjUxLDAsMCwx LDQuMzItMi4wN0E1LjMzLDUuMzMsMCwwLDEsMjMzLjE2LDkyLjlabS4zLDIuNjRhMy43NywzLjc3 LDAsMCwwLTYuMzgsMS4xMiw5LjczLDkuNzMsMCwwLDAtLjUsMy40LDYuMDUsNi4wNSwwLDAsMCwx LDMuNzcsMy4yMSwzLjIxLDAsMCwwLDIuNjgsMS4yOSwzLjc3LDMuNzcsMCwwLDAsMy43Mi0yLjM5 LDcuNzEsNy43MSwwLDAsMCwuNi0zLjE2QTYuMTMsNi4xMywwLDAsMCwyMzMuNDYsOTUuNTRaIgor ICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAgICAgICAgICAgIGNsYXNzTmFtZT0iY2xz LTggYXBwLXRhZ2xpbmUiCisgICAgICAgICAgICBkPSJNMjQ5LjY0LDkyLjcyYTUuNDQsNS40NCww LDAsMSwyLjIxLDEuODksNi41Miw2LjUyLDAsMCwxLDEsMi41OCwxNy40NCwxNy40NCwwLDAsMSwu MjIsMy4yM0gyNDIuNGE2LjM0LDYuMzQsMCwwLDAsMSwzLjU5LDMuNDksMy40OSwwLDAsMCwzLDEu MzUsMy45LDMuOSwwLDAsMCwzLjA1LTEuMjgsNC41LDQuNSwwLDAsMCwuOS0xLjcyaDIuNDJhNSw1 LDAsMCwxLS42MywxLjgsNi41OCw2LjU4LDAsMCwxLTEuMjEsMS42Miw1LjcxLDUuNzEsMCwwLDEt Mi43NSwxLjQ4LDguNzEsOC43MSwwLDAsMS0yLC4yMSw2LjExLDYuMTEsMCwwLDEtNC42LTIsNy43 OSw3Ljc5LDAsMCwxLTEuODktNS41OCw4LjQxLDguNDEsMCwwLDEsMS45LTUuNzIsNi4yNiw2LjI2 LDAsMCwxLDUtMi4yMUE2LjU5LDYuNTksMCwwLDEsMjQ5LjY0LDkyLjcyWm0uODgsNS43NGE2LjQ2 LDYuNDYsMCwwLDAtLjY5LTIuNTUsMy41NCwzLjU0LDAsMCwwLTMuMzUtMS43OCwzLjcyLDMuNzIs MCwwLDAtMi44MiwxLjIyLDQuNjksNC42OSwwLDAsMC0xLjIxLDMuMTFaIgorICAgICAgICAgIC8+ CisgICAgICAgICAgPHBhdGgKKyAgICAgICAgICAgIGNsYXNzTmFtZT0iY2xzLTggYXBwLXRhZ2xp bmUiCisgICAgICAgICAgICBkPSJNMjU2LjE2LDkyLjMxaDIuNDR2Mi4wOGE4LjIzLDguMjMsMCww LDEsMS41OC0xLjU3QTQuNzksNC43OSwwLDAsMSwyNjMsOTJhNC4zMSw0LjMxLDAsMCwxLDIuODEu ODcsNC41LDQuNSwwLDAsMSwxLjEsMS40NCw1LjI3LDUuMjcsMCwwLDEsMS45Mi0xLjc0LDUuMzcs NS4zNywwLDAsMSwyLjQ5LS41Nyw0LjA4LDQuMDgsMCwwLDEsNCwyLjE0LDcsNywwLDAsMSwuNTgs My4wOVYxMDdoLTIuNTZWOTYuNzhhMi40MSwyLjQxLDAsMCwwLS43My0yLDIuOTMsMi45MywwLDAs MC0xLjc5LS41NCwzLjUzLDMuNTMsMCwwLDAtMi40OSwxLDQuMjMsNC4yMywwLDAsMC0xLjA1LDMu MjRWMTA3aC0yLjVWOTcuNGE1LDUsMCwwLDAtLjM2LTIuMTgsMi4xNywyLjE3LDAsMCwwLTIuMDkt MSwzLjU5LDMuNTksMCwwLDAtMi41MywxLjA4Yy0uNzYuNzItMS4xNCwyLTEuMTQsMy45MVYxMDdo LTIuNDdaIgorICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAgICAgICAgICAgIGNsYXNz TmFtZT0iY2xzLTggYXBwLXRhZ2xpbmUiCisgICAgICAgICAgICBkPSJNMjg4LjUzLDkyLjcyYTUu NDcsNS40NywwLDAsMSwyLjIyLDEuODksNi42Nyw2LjY3LDAsMCwxLDEsMi41OCwxNy42NiwxNy42 NiwwLDAsMSwuMjEsMy4yM0gyODEuMjlhNi40Miw2LjQyLDAsMCwwLDEsMy41OSwzLjQ4LDMuNDgs MCwwLDAsMywxLjM1LDMuOSwzLjksMCwwLDAsMy4wNi0xLjI4LDQuNSw0LjUsMCwwLDAsLjktMS43 MmgyLjQyYTUuMjMsNS4yMywwLDAsMS0uNjQsMS44LDYuNTYsNi41NiwwLDAsMS0xLjIsMS42Miw1 LjcsNS43LDAsMCwxLTIuNzYsMS40OCw4LjYyLDguNjIsMCwwLDEtMiwuMjEsNi4xNCw2LjE0LDAs MCwxLTQuNjEtMiw3Ljc5LDcuNzksMCwwLDEtMS44OS01LjU4LDguNDEsOC40MSwwLDAsMSwxLjkx LTUuNzIsNi4yNCw2LjI0LDAsMCwxLDUtMi4yMUE2LjU4LDYuNTgsMCwwLDEsMjg4LjUzLDkyLjcy Wm0uODgsNS43NGE2LjQ2LDYuNDYsMCwwLDAtLjY5LTIuNTUsMy41MywzLjUzLDAsMCwwLTMuMzUt MS43OCwzLjcyLDMuNzIsMCwwLDAtMi44MiwxLjIyLDQuNjMsNC42MywwLDAsMC0xLjIsMy4xMVoi CisgICAgICAgICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJj bHMtOCBhcHAtdGFnbGluZSIKKyAgICAgICAgICAgIGQ9Ik0yOTUuMDYsOTIuMzFoMi4zNHYyLjA4 YTYuNjMsNi42MywwLDAsMSwyLjItMS44NSw1LjkxLDUuOTEsMCwwLDEsMi41OC0uNTZjMi4wOCww LDMuNDkuNzMsNC4yMSwyLjE4YTcuNTcsNy41NywwLDAsMSwuNjEsMy40VjEwN2gtMi41MVY5Ny43 M2E1LDUsMCwwLDAtLjM5LTIuMTYsMi40MSwyLjQxLDAsMCwwLTIuMzgtMS4zNyw0Ljg2LDQuODYs MCwwLDAtMS40NC4xOCwzLjcsMy43LDAsMCwwLTEuNzcsMS4yLDMuNTUsMy41NSwwLDAsMC0uOCwx LjUsOS41OCw5LjU4LDAsMCwwLS4xOSwyLjIxVjEwN2gtMi40NloiCisgICAgICAgICAgLz4KKyAg ICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIK KyAgICAgICAgICAgIGQ9Ik0zMTEuMTMsODguMjJoMi40OHY0LjA5SDMxNnYyaC0yLjM0djkuNTZh MSwxLDAsMCwwLC41MiwxLDIuMjEsMi4yMSwwLDAsMCwxLC4xNWguMzhsLjQ4LDB2MmE0LjE2LDQu MTYsMCwwLDEtLjg4LjE4LDcuNzQsNy43NCwwLDAsMS0xLC4wNiwyLjY5LDIuNjksMCwwLDEtMi4z NC0uODgsMy45NCwzLjk0LDAsMCwxLS42MS0yLjI5di05LjdoLTJ2LTJoMloiCisgICAgICAgICAg Lz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFn bGluZSIKKyAgICAgICAgICAgIGQ9Ik0zNDAuNjMsODYuODd2Mi4zOWgtNi43N1YxMDdoLTIuNzVW ODkuMjZoLTYuNzZWODYuODdaIgorICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAgICAg ICAgICAgIGNsYXNzTmFtZT0iY2xzLTggYXBwLXRhZ2xpbmUiCisgICAgICAgICAgICBkPSJNMzUw LjMxLDkzLjc3YTcuNDIsNy40MiwwLDAsMSwxLjk0LDUuNTUsOS41Nyw5LjU3LDAsMCwxLTEuNzEs NS44NSw2LjE5LDYuMTksMCwwLDEtNS4zMSwyLjMsNiw2LDAsMCwxLTQuNzYtMkE4LjA4LDguMDgs MCwwLDEsMzM4LjcsMTAwYTguNzgsOC43OCwwLDAsMSwxLjg2LTUuODgsNi4yNSw2LjI1LDAsMCwx LDUtMi4xOEE2LjYsNi42LDAsMCwxLDM1MC4zMSw5My43N1ptLTEuNTMsOS43NGE5LjMyLDkuMzIs MCwwLDAsLjktNC4xMiw3LjM5LDcuMzksMCwwLDAtLjY1LTMuMzMsMy42MywzLjYzLDAsMCwwLTMu NTQtMiwzLjQ5LDMuNDksMCwwLDAtMy4yNSwxLjcyLDguMDcsOC4wNywwLDAsMC0xLDQuMTUsNy4w NSw3LjA1LDAsMCwwLDEsMy44OSwzLjU2LDMuNTYsMCwwLDAsMy4yMiwxLjU2QTMuMzUsMy4zNSww LDAsMCwzNDguNzgsMTAzLjUxWiIKKyAgICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAg ICAgICAgICBjbGFzc05hbWU9ImNscy04IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTM2 NS44OCw5My43N2E3LjQyLDcuNDIsMCwwLDEsMS45NCw1LjU1LDkuNTcsOS41NywwLDAsMS0xLjcx LDUuODUsNi4xOSw2LjE5LDAsMCwxLTUuMzEsMi4zLDYsNiwwLDAsMS00Ljc2LTIsOC4wOCw4LjA4 LDAsMCwxLTEuNzctNS40OCw4Ljc4LDguNzgsMCwwLDEsMS44Ni01Ljg4LDYuMjUsNi4yNSwwLDAs MSw1LTIuMThBNi41OCw2LjU4LDAsMCwxLDM2NS44OCw5My43N1ptLTEuNTMsOS43NGE5LjMyLDku MzIsMCwwLDAsLjktNC4xMiw3LjI2LDcuMjYsMCwwLDAtLjY1LTMuMzMsMy42MywzLjYzLDAsMCww LTMuNTQtMiwzLjQ2LDMuNDYsMCwwLDAtMy4yNCwxLjcyLDgsOCwwLDAsMC0xLDQuMTUsNyw3LDAs MCwwLDEsMy44OSwzLjU0LDMuNTQsMCwwLDAsMy4yMSwxLjU2QTMuMzUsMy4zNSwwLDAsMCwzNjQu MzUsMTAzLjUxWiIKKyAgICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICBj bGFzc05hbWU9ImNscy04IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTM3MC45MSw4Ni44 N2gyLjQ2VjEwN2gtMi40NloiCisgICAgICAgICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAg ICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIKKyAgICAgICAgICAgIGQ9Ik0zNzgu NTMsMTAyLjM2YTMuNDcsMy40NywwLDAsMCwuNjMsMS44OSw0LDQsMCwwLDAsMy4yOSwxLjE5LDQu ODYsNC44NiwwLDAsMCwyLjQ1LS42QTIsMiwwLDAsMCwzODYsMTAzYTEuNTYsMS41NiwwLDAsMC0u ODQtMS40MywxMC42MywxMC42MywwLDAsMC0yLjE0LS43bC0yLS40OWExMCwxMCwwLDAsMS0yLjgx LTEsMy4xMSwzLjExLDAsMCwxLTEuNjEtMi43Niw0LjIxLDQuMjEsMCwwLDEsMS41Mi0zLjM3LDYu MTMsNi4xMywwLDAsMSw0LjA4LTEuMjhxMy4zNiwwLDQuODMsMS45NGE0LjI0LDQuMjQsMCwwLDEs LjkxLDIuNjVoLTIuMzNBMi43MiwyLjcyLDAsMCwwLDM4NSw5NWEzLjkyLDMuOTIsMCwwLDAtMy0x LDMuNywzLjcsMCwwLDAtMi4xNi41MywxLjY1LDEuNjUsMCwwLDAtLjc0LDEuNCwxLjczLDEuNzMs MCwwLDAsMSwxLjUzLDUuNjksNS42OSwwLDAsMCwxLjY0LjZsMS42Ni40QTEyLjczLDEyLjczLDAs MCwxLDM4Nyw5OS43NWEzLjMsMy4zLDAsMCwxLDEuNDQsMyw0LjQ4LDQuNDgsMCwwLDEtMS41LDMu MzcsNi40NSw2LjQ1LDAsMCwxLTQuNTgsMS40M2MtMi4yLDAtMy43Ny0uNS00LjY4LTEuNDlhNS41 OSw1LjU5LDAsMCwxLTEuNDgtMy42N1oiCisgICAgICAgICAgLz4KKyAgICAgICAgICA8cGF0aAor ICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIKKyAgICAgICAgICAgIGQ9 Ik00MDAsODcuODRjLjU4LS44NCwxLjY4LTEuMjYsMy4zMi0xLjI2bC40OCwwLC41NiwwdjIuMjRs LS41NiwwaC0uMzJjLS43NiwwLTEuMjEuMTktMS4zNi41OGExMS43NSwxMS43NSwwLDAsMC0uMjIs M2gyLjQ2djEuOTRoLTIuNDZWMTA3aC0yLjQzVjk0LjMyaC0yVjkyLjM4aDJ2LTIuM0E0LjQzLDQu NDMsMCwwLDEsNDAwLDg3Ljg0WiIKKyAgICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAg ICAgICAgICBjbGFzc05hbWU9ImNscy04IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTQx Ny4yMyw5My43N2E3LjM4LDcuMzgsMCwwLDEsMS45NCw1LjU1LDkuNTcsOS41NywwLDAsMS0xLjcx LDUuODUsNi4xOCw2LjE4LDAsMCwxLTUuMywyLjMsNiw2LDAsMCwxLTQuNzctMiw4LjA3LDguMDcs MCwwLDEtMS43Ni01LjQ4LDguODMsOC44MywwLDAsMSwxLjg1LTUuODgsNi4yNSw2LjI1LDAsMCwx LDUtMi4xOEE2LjU4LDYuNTgsMCwwLDEsNDE3LjIzLDkzLjc3Wm0tMS41Myw5Ljc0YTkuMzIsOS4z MiwwLDAsMCwuOS00LjEyLDcuMjYsNy4yNiwwLDAsMC0uNjUtMy4zMywzLjYzLDMuNjMsMCwwLDAt My41NC0yLDMuNDcsMy40NywwLDAsMC0zLjI0LDEuNzIsOCw4LDAsMCwwLTEsNC4xNSw3LDcsMCww LDAsMSwzLjg5LDMuNTUsMy41NSwwLDAsMCwzLjIyLDEuNTZBMy4zNSwzLjM1LDAsMCwwLDQxNS43 LDEwMy41MVoiCisgICAgICAgICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xh c3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIKKyAgICAgICAgICAgIGQ9Ik00MjIuMjYsOTIuMzFo Mi4zNHYyLjUzQTUuNjEsNS42MSwwLDAsMSw0MjYsOTMsMy42OCwzLjY4LDAsMCwxLDQyOC41OSw5 MmwuMjQsMCwuNTYsMHYyLjZhMi4wOCwyLjA4LDAsMCwwLS40MS0uMDVsLS40LDBhMy41MiwzLjUy LDAsMCwwLTIuODYsMS4yLDQuMiw0LjIsMCwwLDAtMSwyLjc1VjEwN2gtMi40NloiCisgICAgICAg ICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAt dGFnbGluZSIKKyAgICAgICAgICAgIGQ9Ik00MzkuODksODYuODdoOWE2LjA5LDYuMDksMCwwLDEs NC4zMSwxLjUxLDUuNSw1LjUsMCwwLDEsMS42NCw0LjI1LDYuMTUsNi4xNSwwLDAsMS0xLjQ3LDQu MDksNS41LDUuNSwwLDAsMS00LjQ3LDEuNzRoLTYuMjdWMTA3aC0yLjcyWm0xMC41NSwyLjc2YTUu OTIsNS45MiwwLDAsMC0yLjQ2LS40MmgtNS4zN3Y3SDQ0OGE1LjA3LDUuMDcsMCwwLDAsMi45NS0u NzgsMy4xLDMuMSwwLDAsMCwxLjE0LTIuNzVBMywzLDAsMCwwLDQ1MC40NCw4OS42M1oiCisgICAg ICAgICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBh cHAtdGFnbGluZSIKKyAgICAgICAgICAgIGQ9Ik00NjguNTgsOTMuNzdhNy4zOCw3LjM4LDAsMCwx LDEuOTUsNS41NSw5LjUxLDkuNTEsMCwwLDEtMS43Miw1Ljg1LDYuMTcsNi4xNywwLDAsMS01LjMs Mi4zLDYsNiwwLDAsMS00Ljc3LTJBOC4wNyw4LjA3LDAsMCwxLDQ1NywxMDBhOC43OCw4Ljc4LDAs MCwxLDEuODYtNS44OCw2LjIzLDYuMjMsMCwwLDEsNS0yLjE4QTYuNTYsNi41NiwwLDAsMSw0Njgu NTgsOTMuNzdabS0xLjUyLDkuNzRhOS4zMiw5LjMyLDAsMCwwLC45LTQuMTIsNy4zOSw3LjM5LDAs MCwwLS42NS0zLjMzLDMuNjUsMy42NSwwLDAsMC0zLjU1LTIsMy40OCwzLjQ4LDAsMCwwLTMuMjQs MS43Miw4LDgsMCwwLDAtMSw0LjE1LDcsNywwLDAsMCwxLDMuODksMy41NiwzLjU2LDAsMCwwLDMu MjIsMS41NkEzLjM2LDMuMzYsMCwwLDAsNDY3LjA2LDEwMy41MVoiCisgICAgICAgICAgLz4KKyAg ICAgICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIK KyAgICAgICAgICAgIGQ9Ik00NzUsMTAyLjM2YTMuNDcsMy40NywwLDAsMCwuNjMsMS44OSw0LDQs MCwwLDAsMy4yOSwxLjE5LDQuOTMsNC45MywwLDAsMCwyLjQ2LS42LDIsMiwwLDAsMCwxLjA2LTEu ODQsMS41NSwxLjU1LDAsMCwwLS44NS0xLjQzLDEwLjQsMTAuNCwwLDAsMC0yLjE0LS43bC0yLS40 OWE5Ljc4LDkuNzgsMCwwLDEtMi44LTEsMy4xLDMuMSwwLDAsMS0xLjYyLTIuNzYsNC4yMSw0LjIx LDAsMCwxLDEuNTItMy4zNyw2LjEzLDYuMTMsMCwwLDEsNC4wOC0xLjI4cTMuMzYsMCw0Ljg0LDEu OTRhNC4xNyw0LjE3LDAsMCwxLC45LDIuNjVoLTIuMzNhMi43MiwyLjcyLDAsMCwwLS42LTEuNTEs My45MiwzLjkyLDAsMCwwLTMtMSwzLjcsMy43LDAsMCwwLTIuMTYuNTMsMS42NCwxLjY0LDAsMCww LS43MywxLjQsMS43MiwxLjcyLDAsMCwwLDEsMS41Myw1LjY2LDUuNjYsMCwwLDAsMS42NS42bDEu NjUuNGExMi44MywxMi44MywwLDAsMSwzLjYzLDEuMjQsMy4zMSwzLjMxLDAsMCwxLDEuNDMsMyw0 LjQ4LDQuNDgsMCwwLDEtMS41LDMuMzcsNi40NSw2LjQ1LDAsMCwxLTQuNTgsMS40M3EtMy4zLDAt NC42OC0xLjQ5YTUuNTksNS41OSwwLDAsMS0xLjQ4LTMuNjdaIgorICAgICAgICAgIC8+CisgICAg ICAgICAgPHBhdGgKKyAgICAgICAgICAgIGNsYXNzTmFtZT0iY2xzLTggYXBwLXRhZ2xpbmUiCisg ICAgICAgICAgICBkPSJNNDg4LDg4LjIyaDIuNDl2NC4wOWgyLjM0djJoLTIuMzR2OS41NmExLDEs MCwwLDAsLjUyLDEsMi4xOSwyLjE5LDAsMCwwLC45NS4xNWguMzlsLjQ4LDB2MmE0LjM5LDQuMzks MCwwLDEtLjg5LjE4LDcuNTIsNy41MiwwLDAsMS0xLC4wNiwyLjY5LDIuNjksMCwwLDEtMi4zNC0u ODhBMy45NCwzLjk0LDAsMCwxLDQ4OCwxMDR2LTkuN2gtMnYtMmgyWiIKKyAgICAgICAgICAvPgor ICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICBjbGFzc05hbWU9ImNscy04IGFwcC10YWdsaW5l IgorICAgICAgICAgICAgZD0iTTUwMy40Nyw5Mi45YTYuNzgsNi43OCwwLDAsMSwxLjQxLDEuMzlW OTIuNDVoMi4yN3YxMy4zMmExMCwxMCwwLDAsMS0uODEsNC40Yy0xLDItMi45NCwzLTUuNzcsM2E3 LjA5LDcuMDksMCwwLDEtNC0xLjA2LDQuMSw0LjEsMCwwLDEtMS44LTMuMzJoMi41YTIuNzQsMi43 NCwwLDAsMCwuNzEsMS41MiwzLjU3LDMuNTcsMCwwLDAsMi42MS44MmMxLjg3LDAsMy4xLS42Niwz LjY4LTJhMTEuMzcsMTEuMzcsMCwwLDAsLjQ4LTQuMiw0Ljg0LDQuODQsMCwwLDEtMS43NywxLjY3 LDYsNiwwLDAsMS0yLjc0LjU0LDUuODMsNS44MywwLDAsMS00LjE1LTEuNjlxLTEuNzctMS42OC0x Ljc3LTUuNThhOC40Myw4LjQzLDAsMCwxLDEuNzktNS43NCw1LjUxLDUuNTEsMCwwLDEsNC4zMi0y LjA3QTUuMzgsNS4zOCwwLDAsMSw1MDMuNDcsOTIuOVptLjMsMi42NGEzLjU2LDMuNTYsMCwwLDAt Mi44NS0xLjMxLDMuNSwzLjUsMCwwLDAtMy41MywyLjQzLDkuNDgsOS40OCwwLDAsMC0uNTEsMy40 LDYuMTIsNi4xMiwwLDAsMCwxLDMuNzcsMy4yNCwzLjI0LDAsMCwwLDIuNjksMS4yOSwzLjc1LDMu NzUsMCwwLDAsMy43MS0yLjM5LDcuNzEsNy43MSwwLDAsMCwuNi0zLjE2QTYuMTQsNi4xNCwwLDAs MCw1MDMuNzcsOTUuNTRaIgorICAgICAgICAgIC8+CisgICAgICAgICAgPHBhdGgKKyAgICAgICAg ICAgIGNsYXNzTmFtZT0iY2xzLTggYXBwLXRhZ2xpbmUiCisgICAgICAgICAgICBkPSJNNTExLDky LjMxaDIuMzN2Mi41M2E1LjkxLDUuOTEsMCwwLDEsMS40MS0xLjhBMy42OSwzLjY5LDAsMCwxLDUx Ny4zLDkybC4yMywwLC41NiwwdjIuNmEyLjA4LDIuMDgsMCwwLDAtLjQtLjA1bC0uNDEsMGEzLjQ4 LDMuNDgsMCwwLDAtMi44NSwxLjIsNC4xNCw0LjE0LDAsMCwwLTEsMi43NVYxMDdINTExWiIKKyAg ICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICBjbGFzc05hbWU9ImNscy04 IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTUyOS4yNyw5Mi43MmE1LjQ0LDUuNDQsMCww LDEsMi4yMSwxLjg5LDYuNTIsNi41MiwwLDAsMSwxLDIuNTgsMTYuNiwxNi42LDAsMCwxLC4yMiwz LjIzSDUyMmE2LjM0LDYuMzQsMCwwLDAsMSwzLjU5LDMuNDksMy40OSwwLDAsMCwzLDEuMzUsMy45 LDMuOSwwLDAsMCwzLTEuMjgsNC4zNyw0LjM3LDAsMCwwLC45LTEuNzJoMi40MmE1LDUsMCwwLDEt LjYzLDEuOCw2LjM0LDYuMzQsMCwwLDEtMS4yMSwxLjYyLDUuNzEsNS43MSwwLDAsMS0yLjc1LDEu NDgsOC42NSw4LjY1LDAsMCwxLTIsLjIxLDYuMTEsNi4xMSwwLDAsMS00LjYtMiw3Ljc5LDcuNzks MCwwLDEtMS44OS01LjU4LDguNDEsOC40MSwwLDAsMSwxLjktNS43Miw2LjI2LDYuMjYsMCwwLDEs NS0yLjIxQTYuNTksNi41OSwwLDAsMSw1MjkuMjcsOTIuNzJabS44OCw1Ljc0YTYuNDYsNi40Niww LDAsMC0uNjktMi41NSwzLjU0LDMuNTQsMCwwLDAtMy4zNS0xLjc4LDMuNzIsMy43MiwwLDAsMC0y LjgyLDEuMjIsNC42OSw0LjY5LDAsMCwwLTEuMjEsMy4xMVoiCisgICAgICAgICAgLz4KKyAgICAg ICAgICA8cGF0aAorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIKKyAg ICAgICAgICAgIGQ9Ik01MzcuOSwxMDAuNDdhNS42LDUuNiwwLDAsMCwuNzgsMi43OHExLjMsMiw0 LjU5LDJhNy45LDcuOSwwLDAsMCwyLjY5LS40NCwzLjA5LDMuMDksMCwwLDAsMi4zNC0zLDIuNjQs Mi42NCwwLDAsMC0xLTIuMzMsOS41NSw5LjU1LDAsMCwwLTMuMTUtMS4xOWwtMi42NC0uNjJhMTEu NDEsMTEuNDEsMCwwLDEtMy42NS0xLjMzQTQuMjMsNC4yMywwLDAsMSw1MzYsOTIuNTRhNS44Niw1 Ljg2LDAsMCwxLDEuODMtNC40NEE3LjE2LDcuMTYsMCwwLDEsNTQzLDg2LjM3YTguNzUsOC43NSww LDAsMSw1LjIyLDEuNTIsNS41Nyw1LjU3LDAsMCwxLDIuMTUsNC44N2gtMi41NmE1LjEyLDUuMTIs MCwwLDAtLjg0LTIuNDdjLS43OS0xLjA1LTIuMTQtMS41Ny00LjA1LTEuNTdhNC41MSw0LjUxLDAs MCwwLTMuMzEsMSwzLjIsMy4yLDAsMCwwLTEsMi4zNSwyLjMzLDIuMzMsMCwwLDAsMS4xOSwyLjE2 LDE2Ljc2LDE2Ljc2LDAsMCwwLDMuNTQsMS4wOWwyLjczLjY1YTguMTUsOC4xNSwwLDAsMSwzLDEu MjcsNC44MSw0LjgxLDAsMCwxLDEuODYsNC4wOSw1LjE0LDUuMTQsMCwwLDEtMi4zNyw0Ljc3LDEw LjQ2LDEwLjQ2LDAsMCwxLTUuNSwxLjQzLDguMDcsOC4wNywwLDAsMS01LjcyLTEuOTEsNi41Nyw2 LjU3LDAsMCwxLTItNS4xNloiCisgICAgICAgICAgLz4KKyAgICAgICAgICA8cGF0aAorICAgICAg ICAgICAgY2xhc3NOYW1lPSJjbHMtOCBhcHAtdGFnbGluZSIKKyAgICAgICAgICAgIGQ9Ik01NzMu MTcsMTA2LjlsLTEuMzYsMS42NS0zLjExLTIuMzZhMTEuMzMsMTEuMzMsMCwwLDEtMi40MywxLDEw LjI5LDEwLjI5LDAsMCwxLTIuODUuMzcsOS4xOCw5LjE4LDAsMCwxLTcuMzItMy4wNkExMS43MSwx MS43MSwwLDAsMSw1NTMuNzYsOTdhMTEuOSwxMS45LDAsMCwxLDItNyw4Ljc4LDguNzgsMCwwLDEs Ny42OS0zLjcyYzMuNTQsMCw2LjE3LDEuMTQsNy44NywzLjQyYTExLjA4LDExLjA4LDAsMCwxLDIs Ni44MiwxNC4yOCwxNC4yOCwwLDAsMS0uNDgsMy43Myw5LjY3LDkuNjcsMCwwLDEtMi40NCw0LjQ2 Wk01NjUuMzUsMTA1YTMuMzYsMy4zNiwwLDAsMCwxLjI5LS40N2wtMi4yMi0xLjcyLDEuMzctMS42 OCwyLjYyLDJBNy41LDcuNSwwLDAsMCw1NzAuMSwxMDBhMTMuNzYsMTMuNzYsMCwwLDAsLjQ1LTMu MzksOC40OCw4LjQ4LDAsMCwwLTEuODUtNS43LDYuMzUsNi4zNSwwLDAsMC01LjA3LTIuMTcsNi42 LDYuNiwwLDAsMC01LjE1LDIuMDhxLTEuOSwyLjA3LTEuOSw2LjM4QTguNjQsOC42NCwwLDAsMCw1 NTguNCwxMDNhNi42Myw2LjYzLDAsMCwwLDUuMzYsMi4xNUExMS4yNCwxMS4yNCwwLDAsMCw1NjUu MzUsMTA1WiIKKyAgICAgICAgICAvPgorICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICBjbGFz c05hbWU9ImNscy04IGFwcC10YWdsaW5lIgorICAgICAgICAgICAgZD0iTTU3Ni41OCw4Ni44N2gy LjcydjE3LjY5aDEwLjA4VjEwN2gtMTIuOFoiCisgICAgICAgICAgLz4KKyAgICAgICAgICA8bGlu ZQorICAgICAgICAgICAgY2xhc3NOYW1lPSJjbHMtOSBhcHAtbmFtZS11bmRlcmxpbmUiCisgICAg ICAgICAgICB4MT0iMjE5LjE3IgorICAgICAgICAgICAgeTE9IjY2LjUiCisgICAgICAgICAgICB4 Mj0iMzg0LjE3IgorICAgICAgICAgICAgeTI9IjY2LjUiCisgICAgICAgICAgLz4KKyAgICAgICAg PC9nPgorICAgICAgPC9zdmc+CisgICAgPC9kaXY+KTsKKworCit9CmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9kYXNoYm9hcmQvc3RhdGljL2pzL1dlbGNvbWVEYXNoYm9hcmQuanN4IGIvd2ViL3Bn YWRtaW4vZGFzaGJvYXJkL3N0YXRpYy9qcy9XZWxjb21lRGFzaGJvYXJkLmpzeApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmVhNGI1ODAwMwotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL2Rhc2hib2FyZC9zdGF0aWMvanMvV2VsY29tZURhc2hib2FyZC5qc3gKQEAg LTAsMCArMSwyNDkgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xz CisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsKK2ltcG9y dCBnZXR0ZXh0IGZyb20gJ3NvdXJjZXMvZ2V0dGV4dCc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gn OworaW1wb3J0IHsgTGluaywgQnJvd3NlclJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20n OworaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJzsKK2ltcG9ydCB7IG1ha2VTdHls ZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnOworaW1wb3J0IHBnQWRtaW4gZnJv bSAnc291cmNlcy9wZ2FkbWluJzsKK2ltcG9ydCBQZ0FkbWluTG9nbyBmcm9tICcuL1BnQWRtaW5M b2dvJzsKKworY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0eWxlcygodGhlbWUpID0+ICh7CisgIGVt cHR5UGFuZWw6IHsKKyAgICBiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLmdyZXlbNDAwXSwKKyAg ICBvdmVyZmxvdzogJ2hpZGRlbicsCisgICAgcGFkZGluZzogJzhweCcsCisgICAgZGlzcGxheTog J2ZsZXgnLAorICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLAorICAgIGZsZXhHcm93OiAxLAor ICAgIGhlaWdodDogJzEwMCUnCisKKyAgfSwKKyAgZGFzaGJvYXJkQ29udGFpbmVyOiB7CisgICAg cGFkZGluZ0JvdHRvbTogJzhweCcsCisgICAgbWluSGVpZ2h0OiAnMTAwJScKKyAgfSwKKyAgY2Fy ZDogeworICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLAorICAgIG1pbldpZHRoOiAwLAorICAgIHdv cmRXcmFwOiAnYnJlYWstd29yZCcsCisgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5vdGhlclZh cnMudGFibGVCZywKKyAgICBiYWNrZ3JvdW5kQ2xpcDogJ2JvcmRlci1ib3gnLAorICAgIGJvcmRl cjogJzFweCBzb2xpZCcgKyB0aGVtZS5vdGhlclZhcnMuYm9yZGVyQ29sb3IsCisgICAgYm9yZGVy UmFkaXVzOiB0aGVtZS5zaGFwZS5ib3JkZXJSYWRpdXMsCisgICAgbWFyZ2luVG9wOiA4CisgIH0s CisgIHJvdzogeworICAgIG1hcmdpblJpZ2h0OiAnLThweCcsCisgICAgbWFyZ2luTGVmdDogJy04 cHgnCisgIH0sCisgIHJvd0NvbnRlbnQ6IHsKKyAgICBkaXNwbGF5OiAnZmxleCcsCisgICAgZmxl eFdyYXA6ICd3cmFwJywKKyAgICBtYXJnaW5SaWdodDogJy03LjVweCcsCisgICAgbWFyZ2luTGVm dDogJy03LjVweCcKKyAgfSwKKyAgY2FyZEhlYWRlcjogeworICAgIHBhZGRpbmc6ICcwLjI1cmVt IDAuNXJlbScsCisgICAgZm9udFdlaWdodDogJ2JvbGQnLAorICAgIGJhY2tncm91bmRDb2xvcjog dGhlbWUub3RoZXJWYXJzLnRhYmxlQmcsCisgICAgYm9yZGVyQm90dG9tOiAnMXB4IHNvbGlkJywK KyAgICBib3JkZXJCb3R0b21Db2xvcjogdGhlbWUub3RoZXJWYXJzLmJvcmRlckNvbG9yLAorICB9 LAorICBkYXNoYm9hcmRMaW5rOiB7CisgICAgY29sb3I6IHRoZW1lLm90aGVyVmFycy5jb2xvckZn ICsgJyFpbXBvcnRhbnQnLAorICAgIGZsZXg6ICcwIDAgNTAlJywKKyAgICBtYXhXaWR0aDogJzUw JScsCisgICAgdGV4dEFsaWduOiAnY2VudGVyJywKKyAgICBjdXJzb3I6ICdwb2ludGVyJworICB9 LAorICBnZXR0aW5nU3RhcnRlZExpbms6IHsKKyAgICBmbGV4OiAnMCAwIDI1JScsCisgICAgbWF4 V2lkdGg6ICc1MCUnLAorICAgIHRleHRBbGlnbjogJ2NlbnRlcicsCisgICAgY3Vyc29yOiAncG9p bnRlcicKKyAgfSwKKyAgbGluazogeworICAgIGNvbG9yOiB0aGVtZS5vdGhlclZhcnMuY29sb3JG ZyArICchaW1wb3J0YW50JywKKyAgfSwKKyAgY2FyZENvbHVtbjogeworICAgIGZsZXg6ICcwIDAg MTAwJScsCisgICAgbWF4V2lkdGg6ICcxMDAlJywKKyAgICBtYXJnaW46ICc4cHgnCisgIH0sCisg IGNhcmRCb2R5OiB7CisgICAgZmxleDogJzEgMSBhdXRvJywKKyAgICBtaW5IZWlnaHQ6ICcxcHgn LAorICAgIHBhZGRpbmc6ICcwLjVyZW0gIWltcG9ydGFudCcsCisgIH0KK30pKTsKKworCitmdW5j dGlvbiBBZGROZXdTZXJ2ZXIocGdCcm93c2VyKSB7CisgIGlmIChwZ0Jyb3dzZXIgJiYgcGdCcm93 c2VyLnRyZWUpIHsKKyAgICB2YXIgaSA9IF8uaXNVbmRlZmluZWQocGdCcm93c2VyLnRyZWUuc2Vs ZWN0ZWQoKSkgPworICAgICAgICBwZ0Jyb3dzZXIudHJlZS5maXJzdChudWxsLCBmYWxzZSkgOgor ICAgICAgICBwZ0Jyb3dzZXIudHJlZS5zZWxlY3RlZCgpLAorICAgICAgc2VydmVyTW9kdWxlID0g cGdBZG1pbi5Ccm93c2VyLk5vZGVzLnNlcnZlciwKKyAgICAgIGl0ZW1EYXRhID0gcGdCcm93c2Vy LnRyZWUuaXRlbURhdGEoaSk7CisKKyAgICB3aGlsZSAoaXRlbURhdGEgJiYgaXRlbURhdGEuX3R5 cGUgIT0gJ3NlcnZlcl9ncm91cCcpIHsKKyAgICAgIGkgPSBwZ0Jyb3dzZXIudHJlZS5uZXh0KGkp OworICAgICAgaXRlbURhdGEgPSBwZ0Jyb3dzZXIudHJlZS5pdGVtRGF0YShpKTsKKyAgICB9CisK KyAgICBpZiAoIWl0ZW1EYXRhKSB7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHNl cnZlck1vZHVsZSkgeworICAgICAgc2VydmVyTW9kdWxlLmNhbGxiYWNrcy5zaG93X29ial9wcm9w ZXJ0aWVzLmFwcGx5KAorICAgICAgICBzZXJ2ZXJNb2R1bGUsIFt7CisgICAgICAgICAgYWN0aW9u OiAnY3JlYXRlJywKKyAgICAgICAgfSwgaV0KKyAgICAgICk7CisgICAgfQorICB9Cit9CisKK2V4 cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFdlbGNvbWVEYXNoYm9hcmQoeyBwZ0Jyb3dzZXIgfSkgewor CisgIGNvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXMoKTsKKworICByZXR1cm4gKAorICAgIDxCcm93 c2VyUm91dGVyPgorICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZW1wdHlQYW5lbH0+Cisg ICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmRhc2hib2FyZENvbnRhaW5lcn0+CisgICAg ICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucm93fT4KKyAgICAgICAgICAgIDxkaXYgY2xh c3NOYW1lPXtjbGFzc2VzLmNhcmRDb2x1bW59PgorICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFt ZT17Y2xhc3Nlcy5jYXJkfT4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nl cy5jYXJkSGVhZGVyfT57Z2V0dGV4dCgnV2VsY29tZScpfTwvZGl2PgorICAgICAgICAgICAgICAg IDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNhcmRCb2R5fT4KKyAgICAgICAgICAgICAgICAgIDxQ Z0FkbWluTG9nbyAvPgorICAgICAgICAgICAgICAgICAgPGg0PgorICAgICAgICAgICAgICAgICAg ICB7Z2V0dGV4dCgnRmVhdHVyZSByaWNoJyl9IHwge2dldHRleHQoJ01heGltaXNlcyBQb3N0Z3Jl U1FMJyl9eycgJ30KKyAgICAgICAgICAgICAgICAgICAgfCB7Z2V0dGV4dCgnT3BlbiBTb3VyY2Un KX17JyAnfQorICAgICAgICAgICAgICAgICAgPC9oND4KKyAgICAgICAgICAgICAgICAgIDxwPgor ICAgICAgICAgICAgICAgICAgICB7Z2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAncGdB ZG1pbiBpcyBhbiBPcGVuIFNvdXJjZSBhZG1pbmlzdHJhdGlvbiBhbmQgbWFuYWdlbWVudCB0b29s IGZvciB0aGUgUG9zdGdyZVNRTCBkYXRhYmFzZS4gSXQgaW5jbHVkZXMgYSBncmFwaGljYWwgYWRt aW5pc3RyYXRpb24gaW50ZXJmYWNlLCBhbiBTUUwgcXVlcnkgdG9vbCwgYSBwcm9jZWR1cmFsIGNv ZGUgZGVidWdnZXIgYW5kIG11Y2ggbW9yZS4gVGhlIHRvb2wgaXMgZGVzaWduZWQgdG8gYW5zd2Vy IHRoZSBuZWVkcyBvZiBkZXZlbG9wZXJzLCBEQkFzIGFuZCBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMg YWxpa2UuJworICAgICAgICAgICAgICAgICAgICApfQorICAgICAgICAgICAgICAgICAgPC9wPgor ICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAg IDwvZGl2PgorICAgICAgICAgIDwvZGl2PgorICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFz c2VzLnJvd30+CisgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jYXJkQ29sdW1u fT4KKyAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY2FyZH0+CisgICAgICAg ICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY2FyZEhlYWRlcn0+e2dldHRleHQoJ1F1 aWNrIExpbmtzJyl9PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNz ZXMuY2FyZEJvZHl9PgorICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMu cm93Q29udGVudH0+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2Vz LmRhc2hib2FyZExpbmt9PgorICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPSIjIiBvbkNs aWNrPXsoKSA9PiB7IEFkZE5ld1NlcnZlcihwZ0Jyb3dzZXIpOyB9fSBjbGFzc05hbWU9e2NsYXNz ZXMubGlua30+CisgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbgorICAgICAgICAgICAgICAg ICAgICAgICAgICBjbGFzc05hbWU9ImZhIGZhLTR4IGRhc2hib2FyZC1pY29uIGZhLXNlcnZlciIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiCisgICAgICAgICAg ICAgICAgICAgICAgICA+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+Cisg ICAgICAgICAgICAgICAgICAgICAgICB7Z2V0dGV4dCgnQWRkIE5ldyBTZXJ2ZXInKX0KKyAgICAg ICAgICAgICAgICAgICAgICA8L0xpbms+CisgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAg ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5kYXNoYm9hcmRMaW5rfT4K KyAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz0iIyIgb25DbGljaz17KCkgPT4gcGdBZG1p bi5QcmVmZXJlbmNlcy5zaG93KCl9IGNsYXNzTmFtZT17Y2xhc3Nlcy5saW5rfT4KKyAgICAgICAg ICAgICAgICAgICAgICAgIDxzcGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJtbnVf cHJlZmVyZW5jZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0iZmEgZmEt NHggZGFzaGJvYXJkLWljb24gZmEtY29ncyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJp YS1oaWRkZW49InRydWUiCisgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPgorICAgICAg ICAgICAgICAgICAgICAgICAgPGJyIC8+CisgICAgICAgICAgICAgICAgICAgICAgICB7Z2V0dGV4 dCgnQ29uZmlndXJlIHBnQWRtaW4nKX0KKyAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+Cisg ICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAg ICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC9k aXY+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMu cm93fT4KKyAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNhcmRDb2x1bW59Pgor ICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jYXJkfT4KKyAgICAgICAgICAg ICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jYXJkSGVhZGVyfT57Z2V0dGV4dCgnR2V0dGlu ZyBTdGFydGVkJyl9PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNz ZXMuY2FyZEJvZHl9PgorICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMu cm93Q29udGVudH0+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2Vz LmdldHRpbmdTdGFydGVkTGlua30+CisgICAgICAgICAgICAgICAgICAgICAgPGEKKyAgICAgICAg ICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9jcyIKKyAg ICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0icG9zdGdyZXNfaGVscCIKKyAgICAgICAgICAg ICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5saW5rfQorICAgICAgICAgICAgICAgICAg ICAgID4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuCisgICAgICAgICAgICAgICAgICAg ICAgICAgIGNsYXNzTmFtZT0iZmEgZmEtNHggZGFzaGJvYXJkLWljb24gZGFzaGJvYXJkLXBnLWRv YyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiCisgICAgICAg ICAgICAgICAgICAgICAgICA+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+ CisgICAgICAgICAgICAgICAgICAgICAgICB7Z2V0dGV4dCgnUG9zdGdyZVNRTCBEb2N1bWVudGF0 aW9uJyl9CisgICAgICAgICAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgICAgICAgICA8 L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZ2V0dGlu Z1N0YXJ0ZWRMaW5rfT4KKyAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3 dy5wZ2FkbWluLm9yZyIgdGFyZ2V0PSJwZ2FkbWluX3dlYnNpdGUiIGNsYXNzTmFtZT17Y2xhc3Nl cy5saW5rfT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuCisgICAgICAgICAgICAgICAg ICAgICAgICAgIGNsYXNzTmFtZT0iZmEgZmEtNHggZGFzaGJvYXJkLWljb24gZmEtZ2xvYmUiCisg ICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgorICAgICAgICAgICAg ICAgICAgICAgICAgPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPgorICAg ICAgICAgICAgICAgICAgICAgICAge2dldHRleHQoJ3BnQWRtaW4gV2Vic2l0ZScpfQorICAgICAg ICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAg ICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmdldHRpbmdTdGFydGVkTGlua30+ CisgICAgICAgICAgICAgICAgICAgICAgPGEKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9 Imh0dHA6Ly9wbGFuZXQucG9zdGdyZXNxbC5vcmciCisgICAgICAgICAgICAgICAgICAgICAgICB0 YXJnZXQ9InBsYW5ldF93ZWJzaXRlIgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1l PXtjbGFzc2VzLmxpbmt9CisgICAgICAgICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAg ICAgICAgICAgPHNwYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSJmYSBm YS00eCBkYXNoYm9hcmQtaWNvbiBmYS1ib29rIgorICAgICAgICAgICAgICAgICAgICAgICAgICBh cmlhLWhpZGRlbj0idHJ1ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+CisgICAg ICAgICAgICAgICAgICAgICAgICA8YnIgLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIHtnZXR0 ZXh0KCdQbGFuZXQgUG9zdGdyZVNRTCcpfQorICAgICAgICAgICAgICAgICAgICAgIDwvYT4KKyAg ICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NO YW1lPXtjbGFzc2VzLmdldHRpbmdTdGFydGVkTGlua30+CisgICAgICAgICAgICAgICAgICAgICAg PGEKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cucG9zdGdyZXNxbC5v cmcvY29tbXVuaXR5IgorICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJwb3N0Z3Jlc193 ZWJzaXRlIgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmxpbmt9 CisgICAgICAgICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSJmYSBmYS00eCBkYXNoYm9hcmQt aWNvbiBmYS11c2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49InRy dWUiCisgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPgorICAgICAgICAgICAgICAgICAg ICAgICAgPGJyIC8+CisgICAgICAgICAgICAgICAgICAgICAgICB7Z2V0dGV4dCgnQ29tbXVuaXR5 IFN1cHBvcnQnKX0KKyAgICAgICAgICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICAgICAg ICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9k aXY+CisgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAg PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9Ccm93c2VyUm91dGVy PgorICApOworfQorCisKK1dlbGNvbWVEYXNoYm9hcmQucHJvcFR5cGVzID0geworICBwZ0Jyb3dz ZXI6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZAorfTsKKwpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vZGFzaGJvYXJkL3N0YXRpYy9qcy9kYXNoYm9hcmQuanMgYi93ZWIvcGdhZG1pbi9kYXNo Ym9hcmQvc3RhdGljL2pzL2Rhc2hib2FyZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMjU4MDcxZGE0Li4wMDAwMDAwMDAKLS0tIGEvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3N0YXRp Yy9qcy9kYXNoYm9hcmQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjA5ICswLDAgQEAKLS8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K LS8vCi0vLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCi0vLwotLy8gQ29weXJpZ2h0IChD KSAyMDEzIC0gMjAyMiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQotLy8gVGhpcyBzb2Z0 d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCi0vLwotLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K LQotaW1wb3J0IE5vdGlmeSBmcm9tICcuLi8uLi8uLi9zdGF0aWMvanMvaGVscGVycy9Ob3RpZmll cic7Ci0KLWRlZmluZSgncGdhZG1pbi5kYXNoYm9hcmQnLCBbCi0gICdzb3VyY2VzL3VybF9mb3In LCAnc291cmNlcy9nZXR0ZXh0JywgJ3JlcXVpcmUnLCAnanF1ZXJ5JywgJ3VuZGVyc2NvcmUnLAot ICAnc291cmNlcy9wZ2FkbWluJywgJ2JhY2tib25lJywgJ2JhY2tncmlkJywKLSAgJ3BnYWRtaW4u YWxlcnRpZnlqcycsICdwZ2FkbWluLmJhY2tmb3JtJywgJ3NvdXJjZXMvbm9kZXMvZGFzaGJvYXJk JywKLSAgJ3NvdXJjZXMvd2luZG93JywgJy4vQ2hhcnRzRE9NJywgJ3BnYWRtaW4uYnJvd3Nlcics ICdib290c3RyYXAnLCAnd2Nkb2NrZXInLAotXSwgZnVuY3Rpb24oCi0gIHVybF9mb3IsIGdldHRl eHQsIHIsICQsIF8sIHBnQWRtaW4sIEJhY2tib25lLCBCYWNrZ3JpZCwKLSAgQWxlcnRpZnksIEJh Y2tmb3JtLCBOb2Rlc0Rhc2hib2FyZCwgcGdXaW5kb3csIENoYXJ0c0RPTQotKSB7Ci0KLSAgcGdB ZG1pbi5Ccm93c2VyID0gcGdBZG1pbi5Ccm93c2VyIHx8IHt9OwotICB2YXIgcGdCcm93c2VyID0g cGdBZG1pbi5Ccm93c2VyOwotCi0gIC8qIFJldHVybiBiYWNrLCB0aGlzIGhhcyBiZWVuIGNhbGxl ZCBtb3JlIHRoYW4gb25jZSAqLwotICBpZiAocGdBZG1pbi5EYXNoYm9hcmQpCi0gICAgcmV0dXJu OwotCi0gIHZhciBkYXNoYm9hcmRWaXNpYmxlID0gdHJ1ZSwKLSAgICBjYW5jZWxfcXVlcnlfdXJs ID0gJycsCi0gICAgdGVybWluYXRlX3Nlc3Npb25fdXJsID0gJycsCi0gICAgaXNfc3VwZXJfdXNl ciA9IGZhbHNlLAotICAgIGN1cnJlbnRfdXNlciwgbWFpbnRlbmFuY2VfZGF0YWJhc2UsCi0gICAg aXNfc2VydmVyX2Rhc2hib2FyZCA9IGZhbHNlLAotICAgIGlzX2RhdGFiYXNlX2Rhc2hib2FyZCA9 IGZhbHNlLAotICAgIGNhbl9zaWduYWxfYmFja2VuZCA9IGZhbHNlOwotCi0gIC8vIEN1c3RvbSBC YWNrR3JpZCBjZWxsLCBSZXNwb25zaWJsZSBmb3IgY2FuY2VsbGluZyBhY3RpdmUgc2Vzc2lvbnMK LSAgdmFyIGN1c3RvbURhc2hib2FyZEFjdGlvbkNlbGwgPSBCYWNrZ3JpZC5FeHRlbnNpb24uRGVs ZXRlQ2VsbC5leHRlbmQoewotICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7Ci0gICAgICB0aGlzLiRl bC5lbXB0eSgpOwotICAgICAgdmFyIHNlbGYgPSB0aGlzLAotICAgICAgICBjZWxsX2FjdGlvbiA9 IHNlbGYuY29sdW1uLmdldCgnY2VsbF9hY3Rpb24nKTsKLSAgICAgIC8vIGlmIGNhbmNlbCBxdWVy eSBidXR0b24gdGhlbgotICAgICAgaWYgKGNlbGxfYWN0aW9uID09PSAnY2FuY2VsJykgewotICAg ICAgICB0aGlzLiRlbC5odG1sKAotICAgICAgICAgICc8aSBjbGFzcz1cJ2ZhIGZhLXN0b3BcJyBk YXRhLXRvZ2dsZT1cJ3Rvb2x0aXBcJyAnICsKLSAgICAgICAgICAndGl0bGU9XCcnICsgZ2V0dGV4 dCgnQ2FuY2VsIHRoZSBhY3RpdmUgcXVlcnknKSArCi0gICAgICAgICAgJ1wnIGFyaWEtbGFiZWw9 XCcnKyBnZXR0ZXh0KCdDYW5jZWwgdGhlIGFjdGl2ZSBxdWVyeScpICsnXCc+PC9pPicKLSAgICAg ICAgKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHRoaXMuJGVsLmh0bWwoCi0gICAgICAgICAg JzxpIGNsYXNzPVwnZmEgZmEtdGltZXMtY2lyY2xlIHRleHQtZGFuZ2VyXCcgZGF0YS10b2dnbGU9 XCd0b29sdGlwXCcgJyArCi0gICAgICAgICAgJ3RpdGxlPVwnJyArIGdldHRleHQoJ1Rlcm1pbmF0 ZSB0aGUgc2Vzc2lvbicpICsKLSAgICAgICAgICAnXCcgYXJpYS1sYWJlbD1cJycrIGdldHRleHQo J1Rlcm1pbmF0ZSB0aGUgc2Vzc2lvbicpICsnXCc+PC9pPicKLSAgICAgICAgKTsKLSAgICAgIH0K LSAgICAgIHRoaXMuJGVsLmF0dHIoJ3RhYmluZGV4JywgMCk7Ci0gICAgICB0aGlzLiRlbC5vbign a2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgLy8gdGVybWluYXRpbmcgc2Vzc2lvbiBv ciBjYW5jZWwgdGhlIGFjdGl2ZSBxdWVyeS4KLSAgICAgICAgaWYgKGUua2V5Q29kZSA9PSAzMikg ewotICAgICAgICAgIHNlbGYuJGVsLmNsaWNrKCk7Ci0gICAgICAgIH0KLSAgICAgIH0pOwotICAg ICAgdGhpcy5kZWxlZ2F0ZUV2ZW50cygpOwotICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfSwKLSAg ICBkZWxldGVSb3c6IGZ1bmN0aW9uKGUpIHsKLSAgICAgIHZhciBzZWxmID0gdGhpcywKLSAgICAg ICAgdGl0bGUsIHR4dENvbmZpcm0sIHR4dFN1Y2Nlc3MsIHR4dEVycm9yLCBhY3Rpb25fdXJsLAot ICAgICAgICBjZWxsX2FjdGlvbiA9IHNlbGYuY29sdW1uLmdldCgnY2VsbF9hY3Rpb24nKTsKLQot ICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwotCi0gICAgICB2YXIgY2FuRGVsZXRlUm93ID0gQmFj a2dyaWQuY2FsbEJ5TmVlZCgKLSAgICAgICAgc2VsZi5jb2x1bW4uZ2V0KCdjYW5EZWxldGVSb3cn KSwgc2VsZi5jb2x1bW4sIHNlbGYubW9kZWwKLSAgICAgICk7Ci0gICAgICAvLyBJZiB3ZSBhcmUg bm90IGFsbG93ZWQgdG8gY2FuY2VsIHRoZSBxdWVyeSwgcmV0dXJuIGZyb20gaGVyZQotICAgICAg aWYgKCFjYW5EZWxldGVSb3cpCi0gICAgICAgIHJldHVybjsKLQotICAgICAgLy8gVGhpcyB3aWxs IHJlZnJlc2ggdGhlIGdyaWQKLSAgICAgIGxldCByZWZyZXNoX2dyaWQgPSAoKSA9PiB7Ci0gICAg ICAgICQoJyNidG5fcmVmcmVzaCcpLnRyaWdnZXIoJ2NsaWNrJyk7Ci0gICAgICB9OwotCi0gICAg ICBpZiAoY2VsbF9hY3Rpb24gPT09ICdjYW5jZWwnKSB7Ci0gICAgICAgIHRpdGxlID0gZ2V0dGV4 dCgnQ2FuY2VsIEFjdGl2ZSBRdWVyeT8nKTsKLSAgICAgICAgdHh0Q29uZmlybSA9IGdldHRleHQo J0FyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byBjYW5jZWwgdGhlIGFjdGl2ZSBxdWVyeT8nKTsKLSAg ICAgICAgdHh0U3VjY2VzcyA9IGdldHRleHQoJ0FjdGl2ZSBxdWVyeSBjYW5jZWxsZWQgc3VjY2Vz c2Z1bGx5LicpOwotICAgICAgICB0eHRFcnJvciA9IGdldHRleHQoJ0FuIGVycm9yIG9jY3VycmVk IHdoaWxzdCBjYW5jZWxsaW5nIHRoZSBhY3RpdmUgcXVlcnkuJyk7Ci0gICAgICAgIGFjdGlvbl91 cmwgPSBjYW5jZWxfcXVlcnlfdXJsICsgc2VsZi5tb2RlbC5nZXQoJ3BpZCcpOwotICAgICAgfSBl bHNlIHsKLSAgICAgICAgdGl0bGUgPSBnZXR0ZXh0KCdUZXJtaW5hdGUgU2Vzc2lvbj8nKTsKLSAg ICAgICAgdHh0Q29uZmlybSA9IGdldHRleHQoJ0FyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byB0ZXJt aW5hdGUgdGhlIHNlc3Npb24/Jyk7Ci0gICAgICAgIHR4dFN1Y2Nlc3MgPSBnZXR0ZXh0KCdTZXNz aW9uIHRlcm1pbmF0ZWQgc3VjY2Vzc2Z1bGx5LicpOwotICAgICAgICB0eHRFcnJvciA9IGdldHRl eHQoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxzdCB0ZXJtaW5hdGluZyB0aGUgYWN0aXZlIHF1ZXJ5 LicpOwotICAgICAgICBhY3Rpb25fdXJsID0gdGVybWluYXRlX3Nlc3Npb25fdXJsICsgc2VsZi5t b2RlbC5nZXQoJ3BpZCcpOwotICAgICAgfQotCi0gICAgICBOb3RpZnkuY29uZmlybSgKLSAgICAg ICAgdGl0bGUsIHR4dENvbmZpcm0sCi0gICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICQu YWpheCh7Ci0gICAgICAgICAgICB1cmw6IGFjdGlvbl91cmwsCi0gICAgICAgICAgICB0eXBlOiAn REVMRVRFJywKLSAgICAgICAgICB9KQotICAgICAgICAgICAgLmRvbmUoZnVuY3Rpb24ocmVzKSB7 Ci0gICAgICAgICAgICAgIGlmIChyZXMgPT0gZ2V0dGV4dCgnU3VjY2VzcycpKSB7Ci0gICAgICAg ICAgICAgICAgTm90aWZ5LnN1Y2Nlc3ModHh0U3VjY2Vzcyk7Ci0gICAgICAgICAgICAgICAgcmVm cmVzaF9ncmlkKCk7Ci0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgTm90 aWZ5LmVycm9yKHR4dEVycm9yKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSkKLSAg ICAgICAgICAgIC5mYWlsKGZ1bmN0aW9uKHhociwgc3RhdHVzLCBlcnJvcikgewotICAgICAgICAg ICAgICBOb3RpZnkucGdSZXNwRXJyb3JOb3RpZnkoeGhyLCBlcnJvcik7Ci0gICAgICAgICAgICB9 KTsKLSAgICAgICAgfSwKLSAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgcmV0dXJuIHRy dWU7Ci0gICAgICAgIH0KLSAgICAgICk7Ci0gICAgfSwKLSAgfSk7Ci0KLQotICAvLyBTdWJub2Rl IENlbGwsIHdoaWNoIHdpbGwgZGlzcGxheSBzdWJub2RlIGNvbnRyb2wKLSAgdmFyIFNlc3Npb25E ZXRhaWxzQ2VsbCA9IEJhY2tncmlkLkV4dGVuc2lvbi5PYmplY3RDZWxsLmV4dGVuZCh7Ci0gICAg ZW50ZXJFZGl0TW9kZTogZnVuY3Rpb24oKSB7Ci0gICAgICAvLyBOb3RpZnkgdGhhdCB3ZSBhcmUg YWJvdXQgdG8gZW50ZXIgaW4gZWRpdCBtb2RlIGZvciBjdXJyZW50IGNlbGwuCi0gICAgICB0aGlz Lm1vZGVsLnRyaWdnZXIoJ2VudGVyaW5nRWRpdE1vZGUnLCBbdGhpc10pOwotCi0gICAgICBCYWNr Z3JpZC5DZWxsLnByb3RvdHlwZS5lbnRlckVkaXRNb2RlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7 Ci0gICAgICAvKiBNYWtlIHN1cmUgLSB3ZSBsaXN0ZW4gdG8gdGhlIGNsaWNrIGV2ZW50ICovCi0g ICAgICB0aGlzLmRlbGVnYXRlRXZlbnRzKCk7Ci0gICAgICB2YXIgZWRpdGFibGUgPSBCYWNrZ3Jp ZC5jYWxsQnlOZWVkKHRoaXMuY29sdW1uLmVkaXRhYmxlKCksIHRoaXMuY29sdW1uLCB0aGlzLm1v ZGVsKTsKLQotICAgICAgaWYgKGVkaXRhYmxlKSB7Ci0gICAgICAgIHRoaXMuJGVsLmh0bWwoCi0g ICAgICAgICAgJzxpIGNsYXNzPVwnZmEgZmEtY2FyZXQtZG93biBzdWJub2RlLWVkaXQtaW4tcHJv Y2Vzc1wnPjwvaT4nCi0gICAgICAgICk7Ci0gICAgICAgIHRoaXMubW9kZWwudHJpZ2dlcigKLSAg ICAgICAgICAncGctc3ViLW5vZGU6b3BlbmVkJywgdGhpcy5tb2RlbCwgdGhpcwotICAgICAgICAp OwotICAgICAgfQotICAgIH0sCi0gICAgcmVuZGVyOiBmdW5jdGlvbigpIHsKLSAgICAgIHRoaXMu JGVsLmVtcHR5KCk7Ci0gICAgICB0aGlzLiRlbC5odG1sKAotICAgICAgICAnPGkgY2xhc3M9XCdm YSBmYS1jYXJldC1yaWdodFwnIGRhdGEtdG9nZ2xlPVwndG9vbHRpcFwnICcgKwotICAgICAgICAn dGl0bGU9XCcnICsgZ2V0dGV4dCgnVmlldyB0aGUgYWN0aXZlIHNlc3Npb24gZGV0YWlscycpICsK LSAgICAgICAgJ1wnIGFyaWEtbGFiZWw9XCcnKyBnZXR0ZXh0KCdWaWV3IHRoZSBhY3RpdmUgc2Vz c2lvbiBkZXRhaWxzJykgKydcJz48L2k+JwotICAgICAgKTsKLSAgICAgIHRoaXMuZGVsZWdhdGVF dmVudHMoKTsKLSAgICAgIGlmICh0aGlzLmdyYWJGb2N1cykKLSAgICAgICAgdGhpcy4kZWwudHJp Z2dlcignZm9jdXMnKTsKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0sCi0gIH0pOwotCi0gIC8v IFN1Ym5vZGUgTW9kZWwKLSAgdmFyIEFjdGl2ZVF1ZXJ5RGV0YWlsc01vZGVsID0gQmFja2JvbmUu TW9kZWwuZXh0ZW5kKHsKLSAgICBkZWZhdWx0czogewotICAgICAgdmVyc2lvbjogbnVsbCwKLSAg ICAgIC8qIFBvc3RncmVzIHZlcnNpb24gKi8KLSAgICB9LAotICAgIHNjaGVtYTogW3sKLSAgICAg IGlkOiAnYmFja2VuZF90eXBlJywKLSAgICAgIGxhYmVsOiBnZXR0ZXh0KCdCYWNrZW5kIHR5cGUn KSwKLSAgICAgIHR5cGU6ICd0ZXh0JywKLSAgICAgIGVkaXRhYmxlOiB0cnVlLAotICAgICAgcmVh ZG9ubHk6IHRydWUsCi0gICAgICBncm91cDogZ2V0dGV4dCgnRGV0YWlscycpLAotICAgICAgdmlz aWJsZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb24gPj0gMTAwMDAw OwotICAgICAgfSwKLSAgICB9LCB7Ci0gICAgICBpZDogJ3F1ZXJ5X3N0YXJ0JywKLSAgICAgIGxh YmVsOiBnZXR0ZXh0KCdRdWVyeSBzdGFydGVkIGF0JyksCi0gICAgICB0eXBlOiAndGV4dCcsCi0g ICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICByZWFkb25seTogdHJ1ZSwKLSAgICAgIGdyb3Vw OiBnZXR0ZXh0KCdEZXRhaWxzJyksCi0gICAgfSwgewotICAgICAgaWQ6ICdzdGF0ZV9jaGFuZ2Un LAotICAgICAgbGFiZWw6IGdldHRleHQoJ0xhc3Qgc3RhdGUgY2hhbmdlZCBhdCcpLAotICAgICAg dHlwZTogJ3RleHQnLAotICAgICAgZWRpdGFibGU6IHRydWUsCi0gICAgICByZWFkb25seTogdHJ1 ZSwKLSAgICAgIGdyb3VwOiBnZXR0ZXh0KCdEZXRhaWxzJyksCi0gICAgfSwgewotICAgICAgaWQ6 ICdxdWVyeScsCi0gICAgICBsYWJlbDogZ2V0dGV4dCgnU1FMJyksCi0gICAgICB0eXBlOiAndGV4 dCcsCi0gICAgICBlZGl0YWJsZTogdHJ1ZSwKLSAgICAgIHJlYWRvbmx5OiB0cnVlLAotICAgICAg Y29udHJvbDogQmFja2Zvcm0uU3FsRmllbGRDb250cm9sLAotICAgICAgZ3JvdXA6IGdldHRleHQo J0RldGFpbHMnKSwKLSAgICB9XSwKLSAgfSk7Ci0KLSAgcGdBZG1pbi5EYXNoYm9hcmQgPSB7Ci0g ICAgaW5pdDogZnVuY3Rpb24oKSB7Ci0gICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKLSAgICAg ICAgcmV0dXJuOwotCi0gICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTsKLSAgICAgIHRoaXMu Y2hhcnRzRG9tT2JqID0gbnVsbDsKLQotICAgICAgdGhpcy5zaWQgPSB0aGlzLmRpZCA9IC0xOwot ICAgICAgdGhpcy52ZXJzaW9uID0gLTE7Ci0KLQotICAgICAgLy8gQmluZCB0aGUgRGFzaGJvYXJk IG9iamVjdCB3aXRoIHRoZSAnb2JqZWN0X3NlbGVjdGVkJyBmdW5jdGlvbgotICAgICAgdmFyIHNl bGVjdGVkID0gdGhpcy5vYmplY3Rfc2VsZWN0ZWQuYmluZCh0aGlzKTsKLSAgICAgIHZhciBkaXNj b25uZWN0ZWQgPSB0aGlzLm9iamVjdF9kaXNjb25uZWN0ZWQuYmluZCh0aGlzKTsKLQotICAgICAg Ly8gTGlzdGVuIGZvciBzZWxlY3Rpb24gb2YgYW55IG9mIG9iamVjdAotICAgICAgcGdCcm93c2Vy LkV2ZW50cy5vbigncGdhZG1pbi1icm93c2VyOnRyZWU6c2VsZWN0ZWQnLCBzZWxlY3RlZCk7Ci0K LSAgICAgIC8vIExpc3RlbiBmb3Igc2VydmVyIGRpc2Nvbm5lY3RlZCBldmVudAotICAgICAgcGdC cm93c2VyLkV2ZW50cy5vbigncGdhZG1pbjpzZXJ2ZXI6ZGlzY29ubmVjdCcsIGRpc2Nvbm5lY3Rl ZCk7Ci0KLSAgICAgIC8vIExvYWQgdGhlIGRlZmF1bHQgd2VsY29tZSBkYXNoYm9hcmQKLSAgICAg IHZhciB1cmwgPSB1cmxfZm9yKCdkYXNoYm9hcmQuaW5kZXgnKTsKLQotICAgICAgdmFyIGRhc2hi b2FyZFBhbmVsID0gcGdCcm93c2VyLnBhbmVsc1snZGFzaGJvYXJkJ10ucGFuZWw7Ci0gICAgICBp ZiAoZGFzaGJvYXJkUGFuZWwpIHsKLSAgICAgICAgdmFyIGRpdiA9IGRhc2hib2FyZFBhbmVsLmxh eW91dCgpLnNjZW5lKCkuZmluZCgnLnBnLXBhbmVsLWNvbnRlbnQnKTsKLSAgICAgICAgaWYgKGRp dikgewotICAgICAgICAgIHZhciBhamF4SG9vayA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg JC5hamF4KHsKLSAgICAgICAgICAgICAgdXJsOiB1cmwsCi0gICAgICAgICAgICAgIHR5cGU6ICdH RVQnLAotICAgICAgICAgICAgICBkYXRhVHlwZTogJ2h0bWwnLAotICAgICAgICAgICAgfSkKLSAg ICAgICAgICAgICAgLmRvbmUoZnVuY3Rpb24oZGF0YSkgewotICAgICAgICAgICAgICAgICQoZGl2 KS5odG1sKGRhdGEpOwotICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAuZmFpbChmdW5j dGlvbih4aHIsIGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgc2VsZi5vbkZhaWwoeGhyLCBlcnJv ciwgZGl2LCBhamF4SG9vayk7Ci0gICAgICAgICAgICAgIH0pOwotICAgICAgICAgIH07Ci0gICAg ICAgICAgJChkaXYpLmh0bWwoCi0gICAgICAgICAgICAnPGRpdiBjbGFzcz0icGctcGFuZWwtbWVz c2FnZSIgcm9sZT0iYWxlcnQiPicgKyBnZXR0ZXh0KCdMb2FkaW5nIGRhc2hib2FyZC4uLicpICsg JzwvZGl2PicKLSAgICAgICAgICApOwotICAgICAgICAgIGFqYXhIb29rKCk7Ci0KLSAgICAgICAg ICAvLyBDYWNoZSB0aGUgY3VycmVudCBJRHMgZm9yIG5leHQgdGltZQotICAgICAgICAgICQoZGFz aGJvYXJkUGFuZWwpLmRhdGEoJ3NpZCcsIC0xKTsKLSAgICAgICAgICAkKGRhc2hib2FyZFBhbmVs KS5kYXRhKCdkaWQnLCAtMSk7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAotCi0gICAgb25G YWlsOiBmdW5jdGlvbih4aHIsIGVycm9yLCBkaXYsIGFqYXhIb29rKSB7Ci0gICAgICBOb3RpZnku cGdOb3RpZmllcigKLSAgICAgICAgZXJyb3IsIHhociwKLSAgICAgICAgZ2V0dGV4dCgnQW4gZXJy b3Igb2NjdXJyZWQgd2hpbHN0IGxvYWRpbmcgdGhlIGRhc2hib2FyZC4nKSwKLSAgICAgICAgZnVu Y3Rpb24obXNnKSB7Ci0gICAgICAgICAgaWYobXNnID09PSAnQ1JZUFRLRVlfU0VUJykgewotICAg ICAgICAgICAgYWpheEhvb2soKTsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJChk aXYpLmh0bWwoCi0gICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJwZy1wYW5lbC1tZXNzYWdlIiBy b2xlPSJhbGVydCI+JyArIGdldHRleHQoJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxzdCBsb2FkaW5n IHRoZSBkYXNoYm9hcmQuJykgKyAnPC9kaXY+JwotICAgICAgICAgICAgKTsKLSAgICAgICAgICB9 Ci0gICAgICAgIH0KLSAgICAgICk7Ci0gICAgfSwKLQotICAgIC8vIEhhbmRsZSBTZXJ2ZXIgRGlz Y29ubmVjdAotICAgIG9iamVjdF9kaXNjb25uZWN0ZWQ6IGZ1bmN0aW9uKCkgewotICAgICAgbGV0 IGl0ZW0gPSBwZ0Jyb3dzZXIudHJlZS5zZWxlY3RlZCgpLAotICAgICAgICBpdGVtRGF0YSA9IGl0 ZW0gJiYgcGdCcm93c2VyLnRyZWUuaXRlbURhdGEoaXRlbSk7Ci0KLSAgICAgIC8vIFRoZSBzZXJ2 ZXIgY29ubmVjdGVkIG1heSBub3QgYmUgdGhlIHNhbWUgb25lLCB3aGljaCB3YXMgc2VsZWN0ZWQs IGFuZAotICAgICAgLy8gd2UgZG8gY2FyZSBvdXQgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb25lIG9u bHkuCi0gICAgICBpZiAoaXRlbS5sZW5ndGggIT0gMCkgewotICAgICAgICB0aGlzLm9iamVjdF9z ZWxlY3RlZChpdGVtLCBpdGVtRGF0YSk7Ci0gICAgICB9Ci0gICAgfSwKLQotICAgIC8vIEhhbmRs ZSB0cmVldmlldyBjbGlja3MKLSAgICBvYmplY3Rfc2VsZWN0ZWQ6IGZ1bmN0aW9uKGl0ZW0sIGl0 ZW1EYXRhKSB7Ci0gICAgICBsZXQgc2VsZiA9IHRoaXM7Ci0KLSAgICAgIGlmIChpdGVtRGF0YSAm JiBpdGVtRGF0YS5fdHlwZSkgewotICAgICAgICB2YXIgdHJlZUhpZXJhcmNoeSA9IHBnQnJvd3Nl ci50cmVlLmdldFRyZWVOb2RlSGllcmFyY2h5KGl0ZW0pLAotICAgICAgICAgIHVybCA9IE5vZGVz RGFzaGJvYXJkLnVybChpdGVtRGF0YSwgaXRlbSwgdHJlZUhpZXJhcmNoeSk7Ci0KLSAgICAgICAg aWYgKHVybCA9PT0gbnVsbCkgewotICAgICAgICAgIHVybCA9IHVybF9mb3IoJ2Rhc2hib2FyZC5p bmRleCcpOwotICAgICAgICAgIHNlbGYudmVyc2lvbiA9ICh0cmVlSGllcmFyY2h5LnNlcnZlciAm JiB0cmVlSGllcmFyY2h5LnNlcnZlci52ZXJzaW9uKSB8fCAwOwotCi0gICAgICAgICAgY2FuY2Vs X3F1ZXJ5X3VybCA9IHVybCArICdjYW5jZWxfcXVlcnkvJzsKLSAgICAgICAgICB0ZXJtaW5hdGVf c2Vzc2lvbl91cmwgPSB1cmwgKyAndGVybWluYXRlX3Nlc3Npb24vJzsKLQotICAgICAgICAgIC8v IENoZWNrIGlmIHVzZXIgaXMgc3VwZXIgdXNlcgotICAgICAgICAgIHZhciBzZXJ2ZXIgPSB0cmVl SGllcmFyY2h5WydzZXJ2ZXInXTsKLSAgICAgICAgICBtYWludGVuYW5jZV9kYXRhYmFzZSA9IChz ZXJ2ZXIgJiYgc2VydmVyLmRiKSB8fCBudWxsOwotICAgICAgICAgIGNhbl9zaWduYWxfYmFja2Vu ZCA9IChzZXJ2ZXIgJiYgc2VydmVyLnVzZXIpID8gc2VydmVyLnVzZXIuY2FuX3NpZ25hbF9iYWNr ZW5kIDogZmFsc2U7Ci0KLSAgICAgICAgICBpZiAoc2VydmVyICYmIHNlcnZlci51c2VyICYmIHNl cnZlci51c2VyLmlzX3N1cGVydXNlcikgewotICAgICAgICAgICAgaXNfc3VwZXJfdXNlciA9IHRy dWU7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlzX3N1cGVyX3VzZXIgPSBmYWxz ZTsKLSAgICAgICAgICAgIC8vIFNldCBjdXJyZW50IHVzZXIKLSAgICAgICAgICAgIGN1cnJlbnRf dXNlciA9IChzZXJ2ZXIgJiYgc2VydmVyLnVzZXIpID8gc2VydmVyLnVzZXIubmFtZSA6IG51bGw7 Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgaWYgKCdkYXRhYmFzZScgaW4gdHJlZUhpZXJhcmNo eSkgewotICAgICAgICAgICAgc2VsZi5zaWQgPSB0cmVlSGllcmFyY2h5LnNlcnZlci5faWQ7Ci0g ICAgICAgICAgICBzZWxmLmRpZCA9IHRyZWVIaWVyYXJjaHkuZGF0YWJhc2UuX2lkOwotICAgICAg ICAgICAgaXNfc2VydmVyX2Rhc2hib2FyZCA9IGZhbHNlOwotICAgICAgICAgICAgaXNfZGF0YWJh c2VfZGFzaGJvYXJkID0gdHJ1ZTsKLSAgICAgICAgICAgIHVybCArPSBzZWxmLnNpZCArICcvJyAr IHNlbGYuZGlkOwotICAgICAgICAgICAgY2FuY2VsX3F1ZXJ5X3VybCArPSBzZWxmLnNpZCArICcv JyArIHNlbGYuZGlkICsgJy8nOwotICAgICAgICAgICAgdGVybWluYXRlX3Nlc3Npb25fdXJsICs9 IHNlbGYuc2lkICsgJy8nICsgc2VsZi5kaWQgKyAnLyc7Ci0gICAgICAgICAgfSBlbHNlIGlmICgn c2VydmVyJyBpbiB0cmVlSGllcmFyY2h5KSB7Ci0gICAgICAgICAgICBzZWxmLnNpZCA9IHRyZWVI aWVyYXJjaHkuc2VydmVyLl9pZDsKLSAgICAgICAgICAgIHNlbGYuZGlkID0gLTE7Ci0gICAgICAg ICAgICBpc19zZXJ2ZXJfZGFzaGJvYXJkID0gdHJ1ZTsKLSAgICAgICAgICAgIGlzX2RhdGFiYXNl X2Rhc2hib2FyZCA9IGZhbHNlOwotICAgICAgICAgICAgdXJsICs9IHNlbGYuc2lkOwotICAgICAg ICAgICAgY2FuY2VsX3F1ZXJ5X3VybCArPSBzZWxmLnNpZCArICcvJzsKLSAgICAgICAgICAgIHRl cm1pbmF0ZV9zZXNzaW9uX3VybCArPSBzZWxmLnNpZCArICcvJzsKLSAgICAgICAgICB9IGVsc2Ug ewotICAgICAgICAgICAgaXNfc2VydmVyX2Rhc2hib2FyZCA9IGlzX2RhdGFiYXNlX2Rhc2hib2Fy ZCA9IGZhbHNlOwotICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBpc19z ZXJ2ZXJfZGFzaGJvYXJkID0gaXNfZGF0YWJhc2VfZGFzaGJvYXJkID0gZmFsc2U7Ci0gICAgICAg IH0KLQotICAgICAgICB2YXIgZGFzaGJvYXJkUGFuZWwgPSBwZ0Jyb3dzZXIucGFuZWxzWydkYXNo Ym9hcmQnXS5wYW5lbDsKLSAgICAgICAgaWYgKGRhc2hib2FyZFBhbmVsKSB7Ci0gICAgICAgICAg dmFyIGRpdiA9IGRhc2hib2FyZFBhbmVsLmxheW91dCgpLnNjZW5lKCkuZmluZCgKLSAgICAgICAg ICAgICcucGctcGFuZWwtY29udGVudCcKLSAgICAgICAgICApOwotCi0gICAgICAgICAgaWYgKGRp dikgewotICAgICAgICAgICAgaWYgKGl0ZW1EYXRhLmNvbm5lY3RlZCB8fCBfLmlzVW5kZWZpbmVk KGl0ZW1EYXRhLmNvbm5lY3RlZCkpIHsKLSAgICAgICAgICAgICAgLy8gQXZvaWQgdW5uZWNlc3Nh cnkgcmVsb2FkcwotICAgICAgICAgICAgICBpZiAoCi0gICAgICAgICAgICAgICAgdXJsICE9PSAk KGRhc2hib2FyZFBhbmVsKS5kYXRhKCdkYXNoYm9hcmRfdXJsJykgfHwgKAotICAgICAgICAgICAg ICAgICAgdXJsID09PSAkKGRhc2hib2FyZFBhbmVsKS5kYXRhKCdkYXNoYm9hcmRfdXJsJykgJiYK LSAgICAgICAgICAgICAgICAgICQoZGFzaGJvYXJkUGFuZWwpLmRhdGEoJ3NlcnZlcl9zdGF0dXMn KSA9PSBmYWxzZQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAgKSB7Ci0gICAgICAg ICAgICAgICAgdGhpcy5jaGFydHNEb21PYmogJiYgdGhpcy5jaGFydHNEb21PYmoudW5tb3VudCgp OwotICAgICAgICAgICAgICAgICQoZGl2KS5lbXB0eSgpOwotCi0gICAgICAgICAgICAgICAgbGV0 IGFqYXhIb29rID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAkLmFqYXgoewotICAg ICAgICAgICAgICAgICAgICB1cmw6IHVybCwKLSAgICAgICAgICAgICAgICAgICAgdHlwZTogJ0dF VCcsCi0gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnaHRtbCcsCi0gICAgICAgICAgICAg ICAgICB9KQotICAgICAgICAgICAgICAgICAgICAuZG9uZShmdW5jdGlvbihkYXRhKSB7Ci0gICAg ICAgICAgICAgICAgICAgICAgJChkaXYpLmh0bWwoZGF0YSk7Ci0gICAgICAgICAgICAgICAgICAg ICAgc2VsZi5pbml0X2Rhc2hib2FyZCgpOwotICAgICAgICAgICAgICAgICAgICB9KQotICAgICAg ICAgICAgICAgICAgICAuZmFpbChmdW5jdGlvbih4aHIsIGVycm9yKSB7Ci0gICAgICAgICAgICAg ICAgICAgICAgc2VsZi5vbkZhaWwoeGhyLCBlcnJvciwgZGl2LCBhamF4SG9vayk7Ci0gICAgICAg ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgJChk aXYpLmh0bWwoCi0gICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icGctcGFuZWwtbWVzc2Fn ZSIgcm9sZT0iYWxlcnQiPicgKyBnZXR0ZXh0KCdMb2FkaW5nIGRhc2hib2FyZC4uLicpICsgJzwv ZGl2PicKLSAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICAgIGFqYXhIb29rKCk7Ci0g ICAgICAgICAgICAgICAgJChkYXNoYm9hcmRQYW5lbCkuZGF0YSgnc2VydmVyX3N0YXR1cycsIHRy dWUpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg ICB0aGlzLmNoYXJ0c0RvbU9iaiAmJiB0aGlzLmNoYXJ0c0RvbU9iai51bm1vdW50KCk7Ci0gICAg ICAgICAgICAgICQoZGl2KS5odG1sKAotICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJwZy1w YW5lbC1tZXNzYWdlIiByb2xlPSJhbGVydCI+JyArIGdldHRleHQoJ1BsZWFzZSBjb25uZWN0IHRv IHRoZSBzZWxlY3RlZCBzZXJ2ZXIgdG8gdmlldyB0aGUgZGFzaGJvYXJkLicpICsgJzwvZGl2PicK LSAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgICAgJChkYXNoYm9hcmRQYW5lbCkuZGF0YSgn c2VydmVyX3N0YXR1cycsIGZhbHNlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIENh Y2hlIHRoZSBjdXJyZW50IElEcyBmb3IgbmV4dCB0aW1lCi0gICAgICAgICAgICAkKGRhc2hib2Fy ZFBhbmVsKS5kYXRhKCdkYXNoYm9hcmRfdXJsJywgdXJsKTsKLSAgICAgICAgICB9Ci0gICAgICAg IH0KLSAgICAgIH0KLSAgICB9LAotCi0gICAgLy8gSGFuZGxlciBmdW5jdGlvbiB0byBzdXBwb3J0 IHRoZSAiQWRkIFNlcnZlciIgbGluawotICAgIGFkZF9uZXdfc2VydmVyOiBmdW5jdGlvbigpIHsK LSAgICAgIGlmIChwZ0Jyb3dzZXIgJiYgcGdCcm93c2VyLnRyZWUpIHsKLSAgICAgICAgdmFyIGkg PSBfLmlzVW5kZWZpbmVkKHBnQnJvd3Nlci50cmVlLnNlbGVjdGVkKCkpID8KLSAgICAgICAgICAg IHBnQnJvd3Nlci50cmVlLmZpcnN0KG51bGwsIGZhbHNlKToKLSAgICAgICAgICAgIHBnQnJvd3Nl ci50cmVlLnNlbGVjdGVkKCksCi0gICAgICAgICAgc2VydmVyTW9kdWxlID0gcmVxdWlyZSgncGdh ZG1pbi5ub2RlLnNlcnZlcicpLAotICAgICAgICAgIGl0ZW1EYXRhID0gcGdCcm93c2VyLnRyZWUu aXRlbURhdGEoaSk7Ci0KLSAgICAgICAgd2hpbGUgKGl0ZW1EYXRhICYmIGl0ZW1EYXRhLl90eXBl ICE9ICdzZXJ2ZXJfZ3JvdXAnKSB7Ci0gICAgICAgICAgaSA9IHBnQnJvd3Nlci50cmVlLm5leHQo aSk7Ci0gICAgICAgICAgaXRlbURhdGEgPSBwZ0Jyb3dzZXIudHJlZS5pdGVtRGF0YShpKTsKLSAg ICAgICAgfQotCi0gICAgICAgIGlmICghaXRlbURhdGEpIHsKLSAgICAgICAgICByZXR1cm47Ci0g ICAgICAgIH0KLQotICAgICAgICBpZiAoc2VydmVyTW9kdWxlKSB7Ci0gICAgICAgICAgc2VydmVy TW9kdWxlLmNhbGxiYWNrcy5zaG93X29ial9wcm9wZXJ0aWVzLmFwcGx5KAotICAgICAgICAgICAg c2VydmVyTW9kdWxlLCBbewotICAgICAgICAgICAgICBhY3Rpb246ICdjcmVhdGUnLAotICAgICAg ICAgICAgfSwgaV0KLSAgICAgICAgICApOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfSwKLQot ICAgIC8vIFJlbmRlciBhIGdyaWQKLSAgICByZW5kZXJfZ3JpZDogZnVuY3Rpb24oY29udGFpbmVy LCB1cmwsIGNvbHVtbnMpIHsKLSAgICAgIHZhciBEYXR1bSA9IEJhY2tib25lLk1vZGVsLmV4dGVu ZCh7fSksCi0gICAgICAgIHNlbGYgPSB0aGlzOwotCi0gICAgICB2YXIgcGF0aCA9IHVybCArIHNl bGYuc2lkOwotICAgICAgaWYgKHNlbGYuZGlkICE9IC0xKSB7Ci0gICAgICAgIHBhdGggKz0gJy8n ICsgc2VsZi5kaWQ7Ci0gICAgICB9Ci0KLSAgICAgIHZhciBEYXRhID0gQmFja2JvbmUuQ29sbGVj dGlvbi5leHRlbmQoewotICAgICAgICBtb2RlbDogRGF0dW0sCi0gICAgICAgIHVybDogcGF0aCwK LSAgICAgICAgbW9kZTogJ2NsaWVudCcsCi0gICAgICB9KTsKLQotICAgICAgdmFyIGRhdGEgPSBu ZXcgRGF0YSgpOwotCi0gICAgICB2YXIgSGlnaGxpZ2h0ZWRSb3cgPSBCYWNrZ3JpZC5Sb3cuZXh0 ZW5kKHsKLSAgICAgICAgcmVuZGVyOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICBCYWNrZ3JpZC5S b3cucHJvdG90eXBlLnJlbmRlci5jYWxsKHRoaXMpOwotICAgICAgICAgIHZhciByb3dfdHlwZSA9 IHRoaXMubW9kZWwuZ2V0KCdyb3dfdHlwZScpOwotCi0gICAgICAgICAgaWYgKF8uaXNVbmRlZmlu ZWQocm93X3R5cGUpIHx8IF8uaXNOdWxsKHJvd190eXBlKSkgewotICAgICAgICAgICAgdGhpcy4k ZWwucmVtb3ZlQ2xhc3MoJ2FsZXJ0Jyk7Ci0gICAgICAgICAgICB0aGlzLiRlbC5yZW1vdmVDbGFz cygnd2FybmluZycpOwotICAgICAgICAgIH0gZWxzZSBpZiAocm93X3R5cGUgPT09ICd3YXJuaW5n JykgewotICAgICAgICAgICAgdGhpcy4kZWwuYWRkQ2xhc3MoJ3dhcm5pbmcnKTsKLSAgICAgICAg ICB9IGVsc2UgaWYgKHJvd190eXBlID09PSAnYWxlcnQnKSB7Ci0gICAgICAgICAgICB0aGlzLiRl bC5hZGRDbGFzcygnYWxlcnQnKTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICByZXR1cm4gdGhp czsKLSAgICAgICAgfQotICAgICAgfSk7Ci0KLSAgICAgIC8vIFNldCB1cCB0aGUgZ3JpZAotICAg ICAgdmFyIGdyaWQgPSBuZXcgQmFja2dyaWQuR3JpZCh7Ci0gICAgICAgIGVtcHR5VGV4dDogZ2V0 dGV4dCgnTm8gZGF0YSBmb3VuZCcpLAotICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLAotICAgICAg ICBjb2xsZWN0aW9uOiBkYXRhLAotICAgICAgICBjbGFzc05hbWU6ICdiYWNrZ3JpZCBwcmVzZW50 YXRpb24gdGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtbm9vdXRlci1ib3JkZXIgdGFibGUtaG92 ZXInLAotICAgICAgICByb3c6IEhpZ2hsaWdodGVkUm93Ci0gICAgICB9KTsKLQotICAgICAgLy8g UmVuZGVyIHRoZSBncmlkCi0gICAgICAkKGNvbnRhaW5lcikuZW1wdHkoKTsKLSAgICAgICQoY29u dGFpbmVyKS5hcHBlbmQoZ3JpZC5yZW5kZXIoKS5lbCk7Ci0KLSAgICAgIC8vIEluaXRpYWxpemUg YSBjbGllbnQtc2lkZSBmaWx0ZXIgdG8gZmlsdGVyIG9uIHRoZSBjbGllbnQKLSAgICAgIC8vIG1v ZGUgcGFnZWFibGUgY29sbGVjdGlvbidzIGNhY2hlLgotICAgICAgdmFyIGZpbHRlciA9IG5ldyBC YWNrZ3JpZC5FeHRlbnNpb24uQ2xpZW50U2lkZUZpbHRlcih7Ci0gICAgICAgIGNvbGxlY3Rpb246 IGRhdGEsCi0gICAgICB9KTsKLQotICAgICAgZmlsdGVyLnNldEN1c3RvbVNlYXJjaEJveCgkKCcj dHh0R3JpZFNlYXJjaCcpKTsKLSAgICAgIC8vIFN0YXNoIG9iamVjdHMgZm9yIGZ1dHVyZSB1c2UK LSAgICAgICQoY29udGFpbmVyKS5kYXRhKCdkYXRhJywgZGF0YSk7Ci0gICAgICAkKGNvbnRhaW5l cikuZGF0YSgnZ3JpZCcsIGdyaWQpOwotICAgICAgJChjb250YWluZXIpLmRhdGEoJ2ZpbHRlcics IGZpbHRlcik7Ci0gICAgfSwKLSAgICBfX2xvYWRNb3JlUm93czogZnVuY3Rpb24oZSkgewotICAg ICAgbGV0IGVsZW0gPSBlLmN1cnJlbnRUYXJnZXQ7Ci0gICAgICBpZiAoKGVsZW0uc2Nyb2xsSGVp Z2h0IC0gMTApIDwgZWxlbS5zY3JvbGxUb3AgKyBlbGVtLm9mZnNldEhlaWdodCkgewotICAgICAg ICBpZiAodGhpcy5kYXRhLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICB0aGlzLmxvY2FsX2dyaWQu Y29sbGVjdGlvbi5hZGQodGhpcy5kYXRhLnNwbGljZSgwLCA1MCkpOwotICAgICAgICB9Ci0gICAg ICB9Ci0gICAgfSwKLSAgICAvLyBSZW5kZXIgdGhlIGRhdGEgaW4gYSBncmlkCi0gICAgcmVuZGVy X2dyaWRfZGF0YTogZnVuY3Rpb24oY29udGFpbmVyKSB7Ci0gICAgICB2YXIgdGhhdCA9IHRoaXM7 Ci0gICAgICB2YXIgZGF0YSA9ICQoY29udGFpbmVyKS5kYXRhKCdkYXRhJyksCi0gICAgICAgIGdy aWQgPSAkKGNvbnRhaW5lcikuZGF0YSgnZ3JpZCcpLAotICAgICAgICBmaWx0ZXIgPSAkKGNvbnRh aW5lcikuZGF0YSgnZmlsdGVyJyk7Ci0KLSAgICAgIGlmIChfLmlzVW5kZWZpbmVkKGRhdGEpKSB7 Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgICAgfQotCi0gICAgICBkYXRhLmZldGNoKHsKLSAg ICAgICAgcmVzZXQ6IHRydWUsCi0gICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykgewotICAg ICAgICAgIHRoYXQuZGF0YSA9IHJlcy5tb2RlbHM7Ci0gICAgICAgICAgdGhhdC5sb2NhbF9ncmlk ID0gZ3JpZDsKLSAgICAgICAgICBncmlkLmNvbGxlY3Rpb24ucmVzZXQodGhhdC5kYXRhLnNwbGlj ZSgwLDUwKSk7Ci0KLSAgICAgICAgICAvLyBJZiB3ZSdyZSBzaG93aW5nIGFuIGVycm9yLCByZW1v dmUgaXQsIGFuZCByZXBsYWNlIHRoZSBncmlkICYgZmlsdGVyCi0gICAgICAgICAgaWYgKCQoY29u dGFpbmVyKS5oYXNDbGFzcygnZ3JpZC1lcnJvcicpKSB7Ci0gICAgICAgICAgICAkKGNvbnRhaW5l cikucmVtb3ZlQ2xhc3MoJ2dyaWQtZXJyb3InKTsKLSAgICAgICAgICAgICQoY29udGFpbmVyKS5o dG1sKGdyaWQucmVuZGVyKCkuZWwpOwotICAgICAgICAgICAgJChmaWx0ZXIuZWwpLnNob3coKTsK LSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZih0aGF0LmRhdGEubGVuZ3RoID4gNTApIHsKLSAg ICAgICAgICAgIC8vIExpc3RlbiBzY3JvbGwgZXZlbnQgdG8gbG9hZCBtb3JlIHJvd3MKLSAgICAg ICAgICAgICQoJy53Y1Njcm9sbGFibGVZJykub24oJ3Njcm9sbCcsIHRoYXQuX19sb2FkTW9yZVJv d3MuYmluZCh0aGF0KSk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIExpc3Rl biBzY3JvbGwgZXZlbnQgdG8gbG9hZCBtb3JlIHJvd3MKLSAgICAgICAgICAgICQoJy53Y1Njcm9s bGFibGVZJykub2ZmKCdzY3JvbGwnLCB0aGF0Ll9fbG9hZE1vcmVSb3dzKTsKLSAgICAgICAgICB9 Ci0KLSAgICAgICAgICAvLyBSZS1hcHBseSBzZWFyY2ggY3JpdGVyaWEKLSAgICAgICAgICBmaWx0 ZXIuc2VhcmNoKCk7Ci0gICAgICAgIH0sCi0gICAgICAgIGVycm9yOiBmdW5jdGlvbihtb2RlbCwg eGhyKSB7Ci0gICAgICAgICAgbGV0IGVyciA9ICcnOwotICAgICAgICAgIGxldCBtc2cgPSAnJzsK LSAgICAgICAgICBsZXQgY2xzID0gJ2luZm8nOwotCi0gICAgICAgICAgaWYgKHhoci5yZWFkeVN0 YXRlID09PSAwKSB7Ci0gICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdOb3QgY29ubmVjdGVkIHRv IHRoZSBzZXJ2ZXIgb3IgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBoYXMgYmVlbiBjbG9z ZWQuJyk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGVyciA9IEpTT04ucGFyc2Uo eGhyLnJlc3BvbnNlVGV4dCk7Ci0gICAgICAgICAgICBtc2cgPSBlcnIuZXJyb3Jtc2c7Ci0KLSAg ICAgICAgICAgIC8vIElmIHdlIGdldCBhIDQyOCwgaXQgbWVhbnMgdGhlIHNlcnZlciBpc24ndCBj b25uZWN0ZWQKLSAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzID09PSA0MjgpIHsKLSAgICAgICAg ICAgICAgaWYgKF8uaXNVbmRlZmluZWQobXNnKSB8fCBfLmlzTnVsbChtc2cpKSB7Ci0gICAgICAg ICAgICAgICAgbXNnID0gZ2V0dGV4dCgnUGxlYXNlIGNvbm5lY3QgdG8gdGhlIHNlbGVjdGVkIHNl cnZlciB0byB2aWV3IHRoZSB0YWJsZS4nKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAg fSBlbHNlIHsKLSAgICAgICAgICAgICAgbXNnID0gZ2V0dGV4dCgnQW4gZXJyb3Igb2NjdXJyZWQg d2hpbHN0IHJlbmRlcmluZyB0aGUgdGFibGUuJyk7Ci0gICAgICAgICAgICAgIGNscyA9ICdlcnJv cic7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgLy8gUmVwbGFjZSB0 aGUgY29udGVudCB3aXRoIHRoZSBlcnJvciwgaWYgbm90IGFscmVhZHkgcHJlc2VudC4gQWx3YXlz IHVwZGF0ZSB0aGUgbWVzc2FnZQotICAgICAgICAgIGlmICghJChjb250YWluZXIpLmhhc0NsYXNz KCdncmlkLWVycm9yJykpIHsKLSAgICAgICAgICAgICQoZmlsdGVyLmVsKS5oaWRlKCk7Ci0gICAg ICAgICAgICAkKGNvbnRhaW5lcikuYWRkQ2xhc3MoJ2dyaWQtZXJyb3InKTsKLSAgICAgICAgICB9 Ci0KLSAgICAgICAgICAkKGNvbnRhaW5lcikuaHRtbCgKLSAgICAgICAgICAgICc8ZGl2IGNsYXNz PSJwZy1wYW5lbC0nICsgY2xzICsgJyBwZy1wYW5lbC1tZXNzYWdlIiByb2xlPSJhbGVydCI+JyAr IG1zZyArICc8L2Rpdj4nCi0gICAgICAgICAgKTsKLQotICAgICAgICAgIC8vIFRyeSBhZ2Fpbgot ICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBwZ0FkbWluLkRh c2hib2FyZC5yZW5kZXJfZ3JpZF9kYXRhKGNvbnRhaW5lciwgZGF0YSk7Ci0gICAgICAgICAgfSwg NTAwMCk7Ci0gICAgICAgIH0sCi0gICAgICB9KTsKLSAgICB9LAotCi0gICAgLy8gUm9jayBuJyBy b2xsIG9uIHRoZSBkYXNoYm9hcmQKLSAgICBpbml0X2Rhc2hib2FyZDogZnVuY3Rpb24oKSB7Ci0g ICAgICBsZXQgc2VsZiA9IHRoaXM7Ci0KLSAgICAgIHRoaXMuY2hhcnRzRG9tT2JqID0gbmV3IENo YXJ0c0RPTS5kZWZhdWx0KAotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFzaGJv YXJkLWdyYXBocycpLAotICAgICAgICBzZWxmLnByZWZlcmVuY2VzLAotICAgICAgICBzZWxmLnNp ZCwKLSAgICAgICAgc2VsZi5kaWQsCi0gICAgICAgICQoJy5kYXNoYm9hcmQtY29udGFpbmVyJylb MF0uY2xpZW50SGVpZ2h0IDw9MCA/IGZhbHNlIDogdHJ1ZQotICAgICAgKTsKLQotICAgICAgLyog Q2FjaGUgbWF5IHRha2UgdGltZSB0byBsb2FkIGZvciB0aGUgZmlyc3QgdGltZQotICAgICAgICog S2VlcCB0cnlpbmcgdGlsbCBhdmFpbGFibGUKLSAgICAgICAqLwotICAgICAgbGV0IGNhY2hlSW50 ZXJ2YWxJZCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgewotICAgICAgICB0cnkgewotICAgICAg ICAgIGlmKHBnV2luZG93LmRlZmF1bHQucGdBZG1pbi5Ccm93c2VyLnByZWZlcmVuY2VfdmVyc2lv bigpID4gMCkgewotICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjYWNoZUludGVydmFsSWQpOwot ICAgICAgICAgICAgc2VsZi5yZWZsZWN0UHJlZmVyZW5jZXMoKTsKLSAgICAgICAgICB9Ci0gICAg ICAgIH0KLSAgICAgICAgY2F0Y2goZXJyKSB7Ci0gICAgICAgICAgY2xlYXJJbnRlcnZhbChjYWNo ZUludGVydmFsSWQpOwotICAgICAgICAgIHRocm93IGVycjsKLSAgICAgICAgfQotICAgICAgfSww KTsKLQotICAgICAgLyogUmVnaXN0ZXIgZm9yIHByZWZlcmVuY2UgY2hhbmdlZCBldmVudCBicm9h ZGNhc3RlZCAqLwotICAgICAgcGdCcm93c2VyLm9uUHJlZmVyZW5jZXNDaGFuZ2UoJ2Rhc2hib2Fy ZHMnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgc2VsZi5yZWZsZWN0UHJlZmVyZW5jZXMoKTsKLSAg ICAgIH0pOwotICAgIH0sCi0KLSAgICByZWZsZWN0UHJlZmVyZW5jZXM6IGZ1bmN0aW9uKCkgewot ICAgICAgdmFyIHNlbGYgPSB0aGlzOwotICAgICAgc2VsZi5wcmVmZXJlbmNlcyA9IHBnV2luZG93 LmRlZmF1bHQucGdBZG1pbi5Ccm93c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdkYXNo Ym9hcmRzJyk7Ci0gICAgICB0aGlzLmNoYXJ0c0RvbU9iai5yZWZsZWN0UHJlZmVyZW5jZXMoc2Vs Zi5wcmVmZXJlbmNlcyk7Ci0KLSAgICAgIGlmKGlzX3NlcnZlcl9kYXNoYm9hcmQgfHwgaXNfZGF0 YWJhc2VfZGFzaGJvYXJkKSB7Ci0gICAgICAgIGlmIChzZWxmLnByZWZlcmVuY2VzLnNob3dfYWN0 aXZpdHkgJiYgJCgnI2Rhc2hib2FyZC1hY3Rpdml0eScpLmhhc0NsYXNzKCdkYXNoYm9hcmQtaGlk ZGVuJykpIHsKLSAgICAgICAgICAkKCcjZGFzaGJvYXJkLWFjdGl2aXR5JykucmVtb3ZlQ2xhc3Mo J2Rhc2hib2FyZC1oaWRkZW4nKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGlmKCFzZWxmLnBy ZWZlcmVuY2VzLnNob3dfYWN0aXZpdHkpIHsKLSAgICAgICAgICAkKCcjZGFzaGJvYXJkLWFjdGl2 aXR5JykuYWRkQ2xhc3MoJ2Rhc2hib2FyZC1oaWRkZW4nKTsKLSAgICAgICAgfQotCi0gICAgICAg IGlmIChzZWxmLnByZWZlcmVuY2VzLnNob3dfYWN0aXZpdHkgJiYgJCgnI2Rhc2hib2FyZC1hY3Rp dml0eScpLmhhc0NsYXNzKCdkYXNoYm9hcmQtaGlkZGVuJykpIHsKLSAgICAgICAgICAkKCcjZGFz aGJvYXJkLWFjdGl2aXR5JykucmVtb3ZlQ2xhc3MoJ2Rhc2hib2FyZC1oaWRkZW4nKTsKLSAgICAg ICAgfQotICAgICAgICBlbHNlIGlmKCFzZWxmLnByZWZlcmVuY2VzLnNob3dfYWN0aXZpdHkpIHsK LSAgICAgICAgICAkKCcjZGFzaGJvYXJkLWFjdGl2aXR5JykuYWRkQ2xhc3MoJ2Rhc2hib2FyZC1o aWRkZW4nKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIERhc2hib2FyZCBzcGVjaWZpYyBwcmVm ZXJlbmNlcyBjYW4gYmUgdXBkYXRlZCBpbiB0aGUKLSAgICAgICAgICogYXBwcm9wcmlhdGUgZnVu Y3Rpb25zCi0gICAgICAgICAqLwotICAgICAgICBpZihpc19zZXJ2ZXJfZGFzaGJvYXJkKSB7Ci0g ICAgICAgICAgc2VsZi5yZWZsZWN0UHJlZmVyZW5jZXNTZXJ2ZXIoKTsKLSAgICAgICAgfQotICAg ICAgICBlbHNlIGlmKGlzX2RhdGFiYXNlX2Rhc2hib2FyZCkgewotICAgICAgICAgIHNlbGYucmVm bGVjdFByZWZlcmVuY2VzRGF0YWJhc2UoKTsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0sCi0K LSAgICByZW5kZXJUYWI6IGZ1bmN0aW9uKGUsIHRhYl9ncmlkX21hcCkgewotICAgICAgbGV0IHBy ZXZHcmlkID0gdGFiX2dyaWRfbWFwWyQoZS5yZWxhdGVkVGFyZ2V0KS5hdHRyKCdhcmlhLWNvbnRy b2xzJyldOwotICAgICAgJChwcmV2R3JpZCkuZGF0YSgnZmlsdGVydGV4dCcsICQoJyN0eHRHcmlk U2VhcmNoJykudmFsKCkpOwotCi0gICAgICBsZXQgY3VyckdyaWQgPSB0YWJfZ3JpZF9tYXBbJChl LnRhcmdldCkuYXR0cignYXJpYS1jb250cm9scycpXTsKLSAgICAgICQoJyN0eHRHcmlkU2VhcmNo JykudmFsKCQoY3VyckdyaWQpLmRhdGEoJ2ZpbHRlcnRleHQnKSk7Ci0gICAgICBwZ0FkbWluLkRh c2hib2FyZC5yZW5kZXJfZ3JpZF9kYXRhKGN1cnJHcmlkKTsKLSAgICB9LAotCi0gICAgcmVmbGVj dFByZWZlcmVuY2VzU2VydmVyOiBmdW5jdGlvbigpIHsKLSAgICAgIHZhciBzZWxmID0gdGhpczsK LSAgICAgIHZhciAkZGFzaGJvYXJkQ29udGFpbmVyID0gJCgnLmRhc2hib2FyZC1jb250YWluZXIn KTsKLSAgICAgIHZhciBkaXZfc2VydmVyX2FjdGl2aXR5ID0gJGRhc2hib2FyZENvbnRhaW5lci5m aW5kKCcjc2VydmVyX2FjdGl2aXR5JykuZ2V0KDApOwotICAgICAgdmFyIGRpdl9zZXJ2ZXJfbG9j a3MgPSAkZGFzaGJvYXJkQ29udGFpbmVyLmZpbmQoJyNzZXJ2ZXJfbG9ja3MnKS5nZXQoMCk7Ci0g ICAgICB2YXIgZGl2X3NlcnZlcl9wcmVwYXJlZCA9ICRkYXNoYm9hcmRDb250YWluZXIuZmluZCgn I3NlcnZlcl9wcmVwYXJlZCcpLmdldCgwKTsKLSAgICAgIHZhciBkaXZfc2VydmVyX2NvbmZpZyA9 ICRkYXNoYm9hcmRDb250YWluZXIuZmluZCgnI3NlcnZlcl9jb25maWcnKS5nZXQoMCk7Ci0KLSAg ICAgIHZhciB0YWJfZ3JpZF9tYXAgPSB7Ci0gICAgICAgICd0YWJfc2VydmVyX2FjdGl2aXR5Jzog ZGl2X3NlcnZlcl9hY3Rpdml0eSwKLSAgICAgICAgJ3RhYl9zZXJ2ZXJfbG9ja3MnOiBkaXZfc2Vy dmVyX2xvY2tzLAotICAgICAgICAndGFiX3NlcnZlcl9wcmVwYXJlZCc6IGRpdl9zZXJ2ZXJfcHJl cGFyZWQsCi0gICAgICAgICd0YWJfc2VydmVyX2NvbmZpZyc6IGRpdl9zZXJ2ZXJfY29uZmlnLAot ICAgICAgfTsKLQotICAgICAgLy8gRGlzcGxheSBzZXJ2ZXIgYWN0aXZpdHkKLSAgICAgIGlmIChz ZWxmLnByZWZlcmVuY2VzLnNob3dfYWN0aXZpdHkpIHsKLSAgICAgICAgdmFyIHNlcnZlcl9hY3Rp dml0eV9jb2x1bW5zID0gW3sKLSAgICAgICAgICBuYW1lOiAncGlkJywKLSAgICAgICAgICBsYWJl bDogZ2V0dGV4dCgnUElEJyksCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAg IGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTogJ2RhdG5hbWUn LAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdEYXRhYmFzZScpLAotICAgICAgICAgIGVkaXRh YmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAg ICAgICAgIG5hbWU6ICd1c2VuYW1lJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnVXNlcicp LAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywK LSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdhcHBsaWNhdGlvbl9uYW1lJywKLSAgICAg ICAgICBsYWJlbDogZ2V0dGV4dCgnQXBwbGljYXRpb24nKSwKLSAgICAgICAgICBlZGl0YWJsZTog ZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAg ICBuYW1lOiAnY2xpZW50X2FkZHInLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdDbGllbnQn KSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycs Ci0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1lOiAnYmFja2VuZF9zdGFydCcsCi0gICAgICAg ICAgbGFiZWw6IGdldHRleHQoJ0JhY2tlbmQgc3RhcnQnKSwKLSAgICAgICAgICBlZGl0YWJsZTog ZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAg ICBuYW1lOiAnc3RhdGUnLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTdGF0ZScpLAotICAg ICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAg ICAgfV07Ci0KLSAgICAgICAgaWYgKHNlbGYudmVyc2lvbiA8IDkwNjAwKSB7Ci0gICAgICAgICAg c2VydmVyX2FjdGl2aXR5X2NvbHVtbnMgPSBzZXJ2ZXJfYWN0aXZpdHlfY29sdW1ucy5jb25jYXQo Ci0gICAgICAgICAgICBbewotICAgICAgICAgICAgICBuYW1lOiAnd2FpdGluZycsCi0gICAgICAg ICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdXYWl0aW5nPycpLAotICAgICAgICAgICAgICBlZGl0YWJs ZTogZmFsc2UsCi0gICAgICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAgfV0p OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIHNlcnZlcl9hY3Rpdml0eV9jb2x1bW5zID0g c2VydmVyX2FjdGl2aXR5X2NvbHVtbnMuY29uY2F0KAotICAgICAgICAgICAgW3sKLSAgICAgICAg ICAgICAgbmFtZTogJ3dhaXRfZXZlbnQnLAotICAgICAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgn V2FpdCBldmVudCcpLAotICAgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAg ICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAgfSwgewotICAgICAgICAgICAgICBuYW1l OiAnYmxvY2tpbmdfcGlkcycsCi0gICAgICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdCbG9ja2lu ZyBQSURzJyksCi0gICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICAgICAg Y2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgICB9XSk7Ci0gICAgICAgIH0KLQotICAgICAgICB2 YXIgbmV3QWN0aXZlUXVlcnlEZXRhaWxzTW9kZWwgPSBuZXcgQWN0aXZlUXVlcnlEZXRhaWxzTW9k ZWwoKTsKLQotICAgICAgICB2YXIgc3ViTm9kZUZpZWxkc01vZGVsID0gQmFja2Zvcm0uZ2VuZXJh dGVWaWV3U2NoZW1hKAotICAgICAgICAgIG51bGwsIG5ld0FjdGl2ZVF1ZXJ5RGV0YWlsc01vZGVs LCAnY3JlYXRlJywgbnVsbCwgbnVsbCwgdHJ1ZQotICAgICAgICApOwotCi0gICAgICAgIC8vIEFk ZCB2ZXJzaW9uIHRvIGVhY2ggZmllbGQKLSAgICAgICAgXy5lYWNoKHN1Yk5vZGVGaWVsZHNNb2Rl bFswXS5maWVsZHMsIGZ1bmN0aW9uKG9iaikgewotICAgICAgICAgIG9ialsndmVyc2lvbiddID0g c2VsZi52ZXJzaW9uOwotICAgICAgICB9KTsKLQotICAgICAgICAvLyBBZGQgY2FuY2VsIGFjdGl2 ZSBxdWVyeSBidXR0b24KLSAgICAgICAgc2VydmVyX2FjdGl2aXR5X2NvbHVtbnMudW5zaGlmdCh7 Ci0gICAgICAgICAgbmFtZTogJ3BnLWJhY2tmb3JtLWV4cGFuZCcsCi0gICAgICAgICAgbGFiZWw6 ICcnLAotICAgICAgICAgIGNlbGw6IFNlc3Npb25EZXRhaWxzQ2VsbCwKLSAgICAgICAgICBjZWxs X3ByaW9yaXR5OiAtMSwKLSAgICAgICAgICBwb3N0Z3Jlc192ZXJzaW9uOiBzZWxmLnZlcnNpb24s Ci0gICAgICAgICAgc2NoZW1hOiBzdWJOb2RlRmllbGRzTW9kZWwsCi0gICAgICAgIH0pOwotCi0g ICAgICAgIC8vIEFkZCBjYW5jZWwgYWN0aXZlIHF1ZXJ5IGJ1dHRvbgotICAgICAgICBzZXJ2ZXJf YWN0aXZpdHlfY29sdW1ucy51bnNoaWZ0KHsKLSAgICAgICAgICBuYW1lOiAncGctYmFja2Zvcm0t ZGVsZXRlJywKLSAgICAgICAgICBsYWJlbDogJycsCi0gICAgICAgICAgY2VsbDogY3VzdG9tRGFz aGJvYXJkQWN0aW9uQ2VsbCwKLSAgICAgICAgICBjZWxsX2FjdGlvbjogJ2NhbmNlbCcsCi0gICAg ICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGxfcHJpb3JpdHk6IC0xLAotICAg ICAgICAgIGNhbkRlbGV0ZVJvdzogcGdBZG1pbi5EYXNoYm9hcmQuY2FuX3Rha2VfYWN0aW9uLAot ICAgICAgICAgIHBvc3RncmVzX3ZlcnNpb246IHNlbGYudmVyc2lvbiwKLSAgICAgICAgfSk7Ci0K LSAgICAgICAgc2VydmVyX2FjdGl2aXR5X2NvbHVtbnMudW5zaGlmdCh7Ci0gICAgICAgICAgbmFt ZTogJ3BnLWJhY2tmb3JtLWRlbGV0ZScsCi0gICAgICAgICAgbGFiZWw6ICcnLAotICAgICAgICAg IGNlbGw6IGN1c3RvbURhc2hib2FyZEFjdGlvbkNlbGwsCi0gICAgICAgICAgY2VsbF9hY3Rpb246 ICd0ZXJtaW5hdGUnLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxs X3ByaW9yaXR5OiAtMSwKLSAgICAgICAgICBjYW5EZWxldGVSb3c6IHBnQWRtaW4uRGFzaGJvYXJk LmNhbl90YWtlX2FjdGlvbiwKLSAgICAgICAgICBwb3N0Z3Jlc192ZXJzaW9uOiBzZWxmLnZlcnNp b24sCi0gICAgICAgIH0pOwotCi0gICAgICAgIHZhciBzZXJ2ZXJfbG9ja3NfY29sdW1ucyA9IFt7 Ci0gICAgICAgICAgbmFtZTogJ3BpZCcsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1BJRCcp LAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywK LSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdkYXRuYW1lJywKLSAgICAgICAgICBsYWJl bDogZ2V0dGV4dCgnRGF0YWJhc2UnKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAg ICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1lOiAnbG9j a3R5cGUnLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdMb2NrIHR5cGUnKSwKLSAgICAgICAg ICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0s IHsKLSAgICAgICAgICBuYW1lOiAncmVsYXRpb24nLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0 KCdUYXJnZXQgcmVsYXRpb24nKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAg ICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1lOiAncGFnZScs Ci0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1BhZ2UnKSwKLSAgICAgICAgICBlZGl0YWJsZTog ZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAg ICBuYW1lOiAndHVwbGUnLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdUdXBsZScpLAotICAg ICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAg ICAgfSwgewotICAgICAgICAgIG5hbWU6ICd2aXJ0dWFseGlkJywKLSAgICAgICAgICBsYWJlbDog Z2V0dGV4dCgndlhJRCAodGFyZ2V0KScpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAg ICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICd0 cmFuc2FjdGlvbmlkJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnWElEICh0YXJnZXQpJyks Ci0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAot ICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTogJ2NsYXNzaWQnLAotICAgICAgICAgIGxhYmVs OiBnZXR0ZXh0KCdDbGFzcycpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAg ICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdvYmppZCcs Ci0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ09iamVjdCBJRCcpLAotICAgICAgICAgIGVkaXRh YmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAg ICAgICAgIG5hbWU6ICd2aXJ0dWFsdHJhbnNhY3Rpb24nLAotICAgICAgICAgIGxhYmVsOiBnZXR0 ZXh0KCd2WElEIChvd25lciknKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAg ICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1lOiAnbW9kZScs Ci0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ01vZGUnKSwKLSAgICAgICAgICBlZGl0YWJsZTog ZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAg ICBuYW1lOiAnZ3JhbnRlZCcsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0dyYW50ZWQ/Jyks Ci0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAot ICAgICAgICB9XTsKLQotICAgICAgICB2YXIgc2VydmVyX3ByZXBhcmVkX2NvbHVtbnMgPSBbewot ICAgICAgICAgIG5hbWU6ICdnaXQnLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyks Ci0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAot ICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTogJ2RhdGFiYXNlJywKLSAgICAgICAgICBsYWJl bDogZ2V0dGV4dCgnRGF0YWJhc2UnKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAg ICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1lOiAnT3du ZXInLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdPd25lcicpLAotICAgICAgICAgIGVkaXRh YmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAg ICAgICAgIG5hbWU6ICd0cmFuc2FjdGlvbicsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1hJ RCcpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5n JywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdwcmVwYXJlZCcsCi0gICAgICAgICAg bGFiZWw6IGdldHRleHQoJ1ByZXBhcmVkIGF0JyksCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNl LAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9XTsKLQotICAgICAgICB2YXIg c2VydmVyX2NvbmZpZ19jb2x1bW5zID0gW3sKLSAgICAgICAgICBuYW1lOiAnbmFtZScsCi0gICAg ICAgICAgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2Us Ci0gICAgICAgICAgY2VsbDogJ3N0cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1l OiAnY2F0ZWdvcnknLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdDYXRlZ29yeScpLAotICAg ICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAg ICAgfSwgewotICAgICAgICAgIG5hbWU6ICdzZXR0aW5nJywKLSAgICAgICAgICBsYWJlbDogZ2V0 dGV4dCgnU2V0dGluZycpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBj ZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICd1bml0JywKLSAg ICAgICAgICBsYWJlbDogZ2V0dGV4dCgnVW5pdCcpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxz ZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5h bWU6ICdzaG9ydF9kZXNjJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnRGVzY3JpcHRpb24n KSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0cmluZycs Ci0gICAgICAgIH1dOwotCi0gICAgICAgIC8vIFRvIGFsaWduIHN1Ym5vZGUgY29udHJvbHMgcHJv cGVybHkKLSAgICAgICAgJChkaXZfc2VydmVyX2FjdGl2aXR5KS5hZGRDbGFzcygncGctZWwtY29u dGFpbmVyJyk7Ci0gICAgICAgICQoZGl2X3NlcnZlcl9hY3Rpdml0eSkuYXR0cignZWwnLCAnc20n KTsKLQotICAgICAgICAvLyBSZW5kZXIgdGhlIHRhYnMsIGJ1dCBvbmx5IGdldCBkYXRhIGZvciB0 aGUgYWN0aXZpdHkgdGFiIGZvciBub3cKLSAgICAgICAgcGdBZG1pbi5EYXNoYm9hcmQucmVuZGVy X2dyaWQoCi0gICAgICAgICAgZGl2X3NlcnZlcl9hY3Rpdml0eSwgdXJsX2ZvcignZGFzaGJvYXJk LmFjdGl2aXR5JyksIHNlcnZlcl9hY3Rpdml0eV9jb2x1bW5zCi0gICAgICAgICk7Ci0gICAgICAg IHBnQWRtaW4uRGFzaGJvYXJkLnJlbmRlcl9ncmlkKAotICAgICAgICAgIGRpdl9zZXJ2ZXJfbG9j a3MsIHVybF9mb3IoJ2Rhc2hib2FyZC5sb2NrcycpLCBzZXJ2ZXJfbG9ja3NfY29sdW1ucwotICAg ICAgICApOwotICAgICAgICBwZ0FkbWluLkRhc2hib2FyZC5yZW5kZXJfZ3JpZCgKLSAgICAgICAg ICBkaXZfc2VydmVyX3ByZXBhcmVkLCB1cmxfZm9yKCdkYXNoYm9hcmQucHJlcGFyZWQnKSwgc2Vy dmVyX3ByZXBhcmVkX2NvbHVtbnMKLSAgICAgICAgKTsKLSAgICAgICAgcGdBZG1pbi5EYXNoYm9h cmQucmVuZGVyX2dyaWQoCi0gICAgICAgICAgZGl2X3NlcnZlcl9jb25maWcsIHVybF9mb3IoJ2Rh c2hib2FyZC5jb25maWcnKSwgc2VydmVyX2NvbmZpZ19jb2x1bW5zCi0gICAgICAgICk7Ci0KLSAg ICAgICAgcGdBZG1pbi5EYXNoYm9hcmQucmVuZGVyX2dyaWRfZGF0YShkaXZfc2VydmVyX2FjdGl2 aXR5KTsKLQotICAgICAgICAvLyAoUmUpcmVuZGVyIHRoZSBhcHByb3ByaWF0ZSB0YWIKLSAgICAg ICAgJCgnYVtkYXRhLXRvZ2dsZT0idGFiIl0nKS5vbignc2hvd24uYnMudGFiJywgZnVuY3Rpb24o ZSkgewotICAgICAgICAgIHNlbGYucmVuZGVyVGFiKGUsIHRhYl9ncmlkX21hcCk7Ci0gICAgICAg IH0pOwotCi0gICAgICAgICQoJyNidG5fcmVmcmVzaCcpLm9mZignY2xpY2snKS5vbignY2xpY2sn LCAoKSA9PiB7Ci0gICAgICAgICAgbGV0IGN1cnJHcmlkID0gdGFiX2dyaWRfbWFwWyQoJyNkYXNo Ym9hcmQtYWN0aXZpdHkgLm5hdi10YWJzIC5hY3RpdmUnKS5hdHRyKCdhcmlhLWNvbnRyb2xzJyld OwotICAgICAgICAgIHBnQWRtaW4uRGFzaGJvYXJkLnJlbmRlcl9ncmlkX2RhdGEoY3VyckdyaWQp OwotICAgICAgICB9KTsKLSAgICAgIH0KLSAgICB9LAotICAgIHJlZmxlY3RQcmVmZXJlbmNlc0Rh dGFiYXNlOiBmdW5jdGlvbigpIHsKLSAgICAgIHZhciBzZWxmID0gdGhpczsKLSAgICAgIHZhciBk aXZfZGF0YWJhc2VfYWN0aXZpdHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YWJhc2Vf YWN0aXZpdHknKTsKLSAgICAgIHZhciBkaXZfZGF0YWJhc2VfbG9ja3MgPSBkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgnZGF0YWJhc2VfbG9ja3MnKTsKLSAgICAgIHZhciBkaXZfZGF0YWJhc2VfcHJl cGFyZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YWJhc2VfcHJlcGFyZWQnKTsKLQot ICAgICAgdmFyIHRhYl9ncmlkX21hcCA9IHsKLSAgICAgICAgJ3RhYl9kYXRhYmFzZV9hY3Rpdml0 eSc6IGRpdl9kYXRhYmFzZV9hY3Rpdml0eSwKLSAgICAgICAgJ3RhYl9kYXRhYmFzZV9sb2Nrcyc6 IGRpdl9kYXRhYmFzZV9sb2NrcywKLSAgICAgICAgJ3RhYl9kYXRhYmFzZV9wcmVwYXJlZCc6IGRp dl9kYXRhYmFzZV9wcmVwYXJlZCwKLSAgICAgIH07Ci0KLSAgICAgIC8vIERpc3BsYXkgc2VydmVy IGFjdGl2aXR5Ci0gICAgICBpZiAoc2VsZi5wcmVmZXJlbmNlcy5zaG93X2FjdGl2aXR5KSB7Ci0g ICAgICAgIHZhciBkYXRhYmFzZV9hY3Rpdml0eV9jb2x1bW5zID0gW3sKLSAgICAgICAgICBuYW1l OiAncGlkJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnUElEJyksCi0gICAgICAgICAgZWRp dGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9LCB7Ci0g ICAgICAgICAgbmFtZTogJ3VzZW5hbWUnLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdVc2Vy JyksCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcn LAotICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTogJ2FwcGxpY2F0aW9uX25hbWUnLAotICAg ICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBsaWNhdGlvbicpLAotICAgICAgICAgIGVkaXRhYmxl OiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAg ICAgIG5hbWU6ICdjbGllbnRfYWRkcicsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0NsaWVu dCcpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5n JywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdiYWNrZW5kX3N0YXJ0JywKLSAgICAg ICAgICBsYWJlbDogZ2V0dGV4dCgnQmFja2VuZCBzdGFydCcpLAotICAgICAgICAgIGVkaXRhYmxl OiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAg ICAgIG5hbWU6ICdzdGF0ZScsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1N0YXRlJyksCi0g ICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAg ICAgICB9XTsKLQotICAgICAgICBpZiAoc2VsZi52ZXJzaW9uIDwgOTA2MDApIHsKLSAgICAgICAg ICBkYXRhYmFzZV9hY3Rpdml0eV9jb2x1bW5zID0gZGF0YWJhc2VfYWN0aXZpdHlfY29sdW1ucy5j b25jYXQoCi0gICAgICAgICAgICBbewotICAgICAgICAgICAgICBuYW1lOiAnd2FpdGluZycsCi0g ICAgICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdXYWl0aW5nPycpLAotICAgICAgICAgICAgICBl ZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAg ICAgfV0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIGRhdGFiYXNlX2FjdGl2aXR5X2Nv bHVtbnMgPSBkYXRhYmFzZV9hY3Rpdml0eV9jb2x1bW5zLmNvbmNhdCgKLSAgICAgICAgICAgIFt7 Ci0gICAgICAgICAgICAgIG5hbWU6ICd3YWl0X2V2ZW50JywKLSAgICAgICAgICAgICAgbGFiZWw6 IGdldHRleHQoJ1dhaXQgZXZlbnQnKSwKLSAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAot ICAgICAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICAgIH0sIHsKLSAgICAgICAg ICAgICAgbmFtZTogJ2Jsb2NraW5nX3BpZHMnLAotICAgICAgICAgICAgICBsYWJlbDogZ2V0dGV4 dCgnQmxvY2tpbmcgUElEcycpLAotICAgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAg ICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAgfV0pOwotICAgICAgICB9Ci0K LSAgICAgICAgdmFyIG5ld0FjdGl2ZVF1ZXJ5RGV0YWlsc01vZGVsID0gbmV3IEFjdGl2ZVF1ZXJ5 RGV0YWlsc01vZGVsKCk7Ci0KLSAgICAgICAgdmFyIHN1Yk5vZGVGaWVsZHNNb2RlbCA9IEJhY2tm b3JtLmdlbmVyYXRlVmlld1NjaGVtYSgKLSAgICAgICAgICBudWxsLCBuZXdBY3RpdmVRdWVyeURl dGFpbHNNb2RlbCwgJ2NyZWF0ZScsIG51bGwsIG51bGwsIHRydWUKLSAgICAgICAgKTsKLQotICAg ICAgICAvLyBBZGQgdmVyc2lvbiB0byBlYWNoIGZpZWxkCi0gICAgICAgIF8uZWFjaChzdWJOb2Rl RmllbGRzTW9kZWxbMF0uZmllbGRzLCBmdW5jdGlvbihvYmopIHsKLSAgICAgICAgICBvYmpbJ3Zl cnNpb24nXSA9IHNlbGYudmVyc2lvbjsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgLy8gQWRkIGNh bmNlbCBhY3RpdmUgcXVlcnkgYnV0dG9uCi0gICAgICAgIGRhdGFiYXNlX2FjdGl2aXR5X2NvbHVt bnMudW5zaGlmdCh7Ci0gICAgICAgICAgbmFtZTogJ3BnLWJhY2tmb3JtLWV4cGFuZCcsCi0gICAg ICAgICAgbGFiZWw6ICcnLAotICAgICAgICAgIGNlbGw6IFNlc3Npb25EZXRhaWxzQ2VsbCwKLSAg ICAgICAgICBjZWxsX3ByaW9yaXR5OiAtMSwKLSAgICAgICAgICBwb3N0Z3Jlc192ZXJzaW9uOiBz ZWxmLnZlcnNpb24sCi0gICAgICAgICAgc2NoZW1hOiBzdWJOb2RlRmllbGRzTW9kZWwsCi0gICAg ICAgIH0pOwotCi0gICAgICAgIGRhdGFiYXNlX2FjdGl2aXR5X2NvbHVtbnMudW5zaGlmdCh7Ci0g ICAgICAgICAgbmFtZTogJ3BnLWJhY2tmb3JtLWRlbGV0ZScsCi0gICAgICAgICAgbGFiZWw6ICcn LAotICAgICAgICAgIGNlbGw6IGN1c3RvbURhc2hib2FyZEFjdGlvbkNlbGwsCi0gICAgICAgICAg Y2VsbF9hY3Rpb246ICdjYW5jZWwnLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAg ICAgICBjZWxsX3ByaW9yaXR5OiAtMSwKLSAgICAgICAgICBjYW5EZWxldGVSb3c6IHBnQWRtaW4u RGFzaGJvYXJkLmNhbl90YWtlX2FjdGlvbiwKLSAgICAgICAgICBwb3N0Z3Jlc192ZXJzaW9uOiBz ZWxmLnZlcnNpb24sCi0gICAgICAgIH0pOwotICAgICAgICBkYXRhYmFzZV9hY3Rpdml0eV9jb2x1 bW5zLnVuc2hpZnQoewotICAgICAgICAgIG5hbWU6ICdwZy1iYWNrZm9ybS1kZWxldGUnLAotICAg ICAgICAgIGxhYmVsOiAnJywKLSAgICAgICAgICBjZWxsOiBjdXN0b21EYXNoYm9hcmRBY3Rpb25D ZWxsLAotICAgICAgICAgIGNlbGxfYWN0aW9uOiAndGVybWluYXRlJywKLSAgICAgICAgICBlZGl0 YWJsZTogZmFsc2UsCi0gICAgICAgICAgY2VsbF9wcmlvcml0eTogLTEsCi0gICAgICAgICAgY2Fu RGVsZXRlUm93OiBwZ0FkbWluLkRhc2hib2FyZC5jYW5fdGFrZV9hY3Rpb24sCi0gICAgICAgICAg cG9zdGdyZXNfdmVyc2lvbjogc2VsZi52ZXJzaW9uLAotICAgICAgICB9KTsKLQotICAgICAgICB2 YXIgZGF0YWJhc2VfbG9ja3NfY29sdW1ucyA9IFt7Ci0gICAgICAgICAgbmFtZTogJ3BpZCcsCi0g ICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1BJRCcpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxz ZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5h bWU6ICdsb2NrdHlwZScsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0xvY2sgdHlwZScpLAot ICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAg ICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdyZWxhdGlvbicsCi0gICAgICAgICAgbGFiZWw6 IGdldHRleHQoJ1RhcmdldCByZWxhdGlvbicpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwK LSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6 ICdwYWdlJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnUGFnZScpLAotICAgICAgICAgIGVk aXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewot ICAgICAgICAgIG5hbWU6ICd0dXBsZScsCi0gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ1R1cGxl JyksCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcn LAotICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTogJ3ZpcnR1YWx4aWQnLAotICAgICAgICAg IGxhYmVsOiBnZXR0ZXh0KCd2WElEICh0YXJnZXQpJyksCi0gICAgICAgICAgZWRpdGFibGU6IGZh bHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9LCB7Ci0gICAgICAgICAg bmFtZTogJ3RyYW5zYWN0aW9uaWQnLAotICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdYSUQgKHRh cmdldCknKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0 cmluZycsCi0gICAgICAgIH0sIHsKLSAgICAgICAgICBuYW1lOiAnY2xhc3NpZCcsCi0gICAgICAg ICAgbGFiZWw6IGdldHRleHQoJ0NsYXNzJyksCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAot ICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTog J29iamlkJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnT2JqZWN0IElEJyksCi0gICAgICAg ICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9 LCB7Ci0gICAgICAgICAgbmFtZTogJ3ZpcnR1YWx0cmFuc2FjdGlvbicsCi0gICAgICAgICAgbGFi ZWw6IGdldHRleHQoJ3ZYSUQgKG93bmVyKScpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwK LSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6 ICdtb2RlJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnTW9kZScpLAotICAgICAgICAgIGVk aXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKLSAgICAgICAgfSwgewot ICAgICAgICAgIG5hbWU6ICdncmFudGVkJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnR3Jh bnRlZD8nKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAgY2VsbDogJ3N0 cmluZycsCi0gICAgICAgIH1dOwotCi0gICAgICAgIHZhciBkYXRhYmFzZV9wcmVwYXJlZF9jb2x1 bW5zID0gW3sKLSAgICAgICAgICBuYW1lOiAnZ2l0JywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4 dCgnTmFtZScpLAotICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwKLSAgICAgICAgICBjZWxsOiAn c3RyaW5nJywKLSAgICAgICAgfSwgewotICAgICAgICAgIG5hbWU6ICdPd25lcicsCi0gICAgICAg ICAgbGFiZWw6IGdldHRleHQoJ093bmVyJyksCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLAot ICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9LCB7Ci0gICAgICAgICAgbmFtZTog J3RyYW5zYWN0aW9uJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnWElEJyksCi0gICAgICAg ICAgZWRpdGFibGU6IGZhbHNlLAotICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICB9 LCB7Ci0gICAgICAgICAgbmFtZTogJ3ByZXBhcmVkJywKLSAgICAgICAgICBsYWJlbDogZ2V0dGV4 dCgnUHJlcGFyZWQgYXQnKSwKLSAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICAgICAg Y2VsbDogJ3N0cmluZycsCi0gICAgICAgIH1dOwotCi0gICAgICAgIC8vIFRvIGFsaWduIHN1Ym5v ZGUgY29udHJvbHMgcHJvcGVybHkKLSAgICAgICAgJChkaXZfZGF0YWJhc2VfYWN0aXZpdHkpLmFk ZENsYXNzKCdwZy1lbC1jb250YWluZXInKTsKLSAgICAgICAgJChkaXZfZGF0YWJhc2VfYWN0aXZp dHkpLmF0dHIoJ2VsJywgJ3NtJyk7Ci0KLSAgICAgICAgLy8gUmVuZGVyIHRoZSB0YWJzLCBidXQg b25seSBnZXQgZGF0YSBmb3IgdGhlIGFjdGl2aXR5IHRhYiBmb3Igbm93Ci0gICAgICAgIHBnQWRt aW4uRGFzaGJvYXJkLnJlbmRlcl9ncmlkKAotICAgICAgICAgIGRpdl9kYXRhYmFzZV9hY3Rpdml0 eSwgdXJsX2ZvcignZGFzaGJvYXJkLmFjdGl2aXR5JyksIGRhdGFiYXNlX2FjdGl2aXR5X2NvbHVt bnMKLSAgICAgICAgKTsKLSAgICAgICAgcGdBZG1pbi5EYXNoYm9hcmQucmVuZGVyX2dyaWQoCi0g ICAgICAgICAgZGl2X2RhdGFiYXNlX2xvY2tzLCB1cmxfZm9yKCdkYXNoYm9hcmQubG9ja3MnKSwg ZGF0YWJhc2VfbG9ja3NfY29sdW1ucwotICAgICAgICApOwotICAgICAgICBwZ0FkbWluLkRhc2hi b2FyZC5yZW5kZXJfZ3JpZCgKLSAgICAgICAgICBkaXZfZGF0YWJhc2VfcHJlcGFyZWQsIHVybF9m b3IoJ2Rhc2hib2FyZC5wcmVwYXJlZCcpLCBkYXRhYmFzZV9wcmVwYXJlZF9jb2x1bW5zCi0gICAg ICAgICk7Ci0KLSAgICAgICAgcGdBZG1pbi5EYXNoYm9hcmQucmVuZGVyX2dyaWRfZGF0YShkaXZf ZGF0YWJhc2VfYWN0aXZpdHkpOwotCi0gICAgICAgIC8vIChSZSlyZW5kZXIgdGhlIGFwcHJvcHJp YXRlIHRhYgotICAgICAgICAkKCdhW2RhdGEtdG9nZ2xlPSJ0YWIiXScpLm9uKCdzaG93bi5icy50 YWInLCBmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgc2VsZi5yZW5kZXJUYWIoZSwgdGFiX2dyaWRf bWFwKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgJCgnI2J0bl9yZWZyZXNoJykub2ZmKCdjbGlj aycpLm9uKCdjbGljaycsICgpID0+IHsKLSAgICAgICAgICBsZXQgY3VyckdyaWQgPSB0YWJfZ3Jp ZF9tYXBbJCgnI2Rhc2hib2FyZC1hY3Rpdml0eSAubmF2LXRhYnMgLmFjdGl2ZScpLmF0dHIoJ2Fy aWEtY29udHJvbHMnKV07Ci0gICAgICAgICAgcGdBZG1pbi5EYXNoYm9hcmQucmVuZGVyX2dyaWRf ZGF0YShjdXJyR3JpZCk7Ci0gICAgICAgIH0pOwotICAgICAgfQotICAgIH0sCi0gICAgdG9nZ2xl VmlzaWJpbGl0eTogZnVuY3Rpb24odmlzaWJsZSwgY2xvc2VkPWZhbHNlKSB7Ci0gICAgICBkYXNo Ym9hcmRWaXNpYmxlID0gdmlzaWJsZTsKLSAgICAgIGlmKGNsb3NlZCkgewotICAgICAgICB0aGlz LmNoYXJ0c0RvbU9iaiAmJiB0aGlzLmNoYXJ0c0RvbU9iai51bm1vdW50KCk7Ci0gICAgICB9IGVs c2UgewotICAgICAgICB2YXIgdCA9IHBnQnJvd3Nlci50cmVlLAotICAgICAgICAgIGkgPSB0ID8g dC5zZWxlY3RlZCgpIDogMCwKLSAgICAgICAgICBkID0gaSAmJiB0Lml0ZW1EYXRhKGkpOwotCi0g ICAgICAgIHRoaXMuY2hhcnRzRG9tT2JqICYmIHRoaXMuY2hhcnRzRG9tT2JqLnNldFBhZ2VWaXNp YmxlKGRhc2hib2FyZFZpc2libGUpOwotICAgICAgICB0aGlzLm9iamVjdF9zZWxlY3RlZChpLCBk KTsKLSAgICAgIH0KLSAgICB9LAotICAgIGNhbl90YWtlX2FjdGlvbjogZnVuY3Rpb24obSkgewot ICAgICAgLy8gV2Ugd2lsbCB2YWxpZGF0ZSBpZiB1c2VyIGlzIGFsbG93ZWQgdG8gY2FuY2VsIHRo ZSBhY3RpdmUgcXVlcnkKLSAgICAgIC8vIElmIHRoZXJlIGlzIG9ubHkgb25lIGFjdGl2ZSBzZXNz aW9uIG1lYW5zIGl0IHByb2JhYmx5IG91ciBtYWluCi0gICAgICAvLyBjb25uZWN0aW9uIHNlc3Np b24KLSAgICAgIHZhciBhY3RpdmVfc2Vzc2lvbnMgPSBtLmNvbGxlY3Rpb24ud2hlcmUoewotICAg ICAgICAgICdzdGF0ZSc6ICdhY3RpdmUnLAotICAgICAgICB9KSwKLSAgICAgICAgcGdfdmVyc2lv biA9IHRoaXMuZ2V0KCdwb3N0Z3Jlc192ZXJzaW9uJykgfHwgbnVsbCwKLSAgICAgICAgY2VsbF9h Y3Rpb24gPSB0aGlzLmdldCgnY2VsbF9hY3Rpb24nKSB8fCBudWxsLAotICAgICAgICBpc19jYW5j ZWxfc2Vzc2lvbiA9IGNlbGxfYWN0aW9uID09PSAnY2FuY2VsJywKLSAgICAgICAgdHh0TWVzc2Fn ZTsKLQotICAgICAgLy8gV2l0aCBQRzEwLCBXZSBoYXZlIGJhY2tncm91bmQgcHJvY2VzcyBzaG93 aW5nIG9uIGRhc2hib2FyZAotICAgICAgLy8gV2Ugd2lsbCBub3QgYWxsb3cgdXNlciB0byBjYW5j ZWwgdGhlbSBhcyB0aGV5IHdpbGwgZmFpbCB3aXRoIGVycm9yCi0gICAgICAvLyBhbnl3YXksIHNv IGJldHRlciB1c2FiaWxpdHkgd2Ugd2lsbCB0aHJvdyBvdXIgb24gbm90aWZpY2F0aW9uCi0KLSAg ICAgIC8vIEJhY2tncm91bmQgcHJvY2Vzc2VzIGRvIG5vdCBoYXZlIGRhdGFiYXNlIGZpZWxkIHBv cHVsYXRlZAotICAgICAgaWYgKHBnX3ZlcnNpb24gJiYgcGdfdmVyc2lvbiA+PSAxMDAwMDAgJiYg IW0uZ2V0KCdkYXRuYW1lJykpIHsKLSAgICAgICAgaWYgKGlzX2NhbmNlbF9zZXNzaW9uKSB7Ci0g ICAgICAgICAgdHh0TWVzc2FnZSA9IGdldHRleHQoJ1lvdSBjYW5ub3QgY2FuY2VsIGJhY2tncm91 bmQgd29ya2VyIHByb2Nlc3Nlcy4nKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICB0eHRN ZXNzYWdlID0gZ2V0dGV4dCgnWW91IGNhbm5vdCB0ZXJtaW5hdGUgYmFja2dyb3VuZCB3b3JrZXIg cHJvY2Vzc2VzLicpOwotICAgICAgICB9Ci0gICAgICAgIE5vdGlmeS5pbmZvKHR4dE1lc3NhZ2Up OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIC8vIElmIGl0IGlzIHRoZSBsYXN0IGFj dGl2ZSBjb25uZWN0aW9uIG9uIG1haW50ZW5hbmNlIGRiIHRoZW4gZXJyb3Igb3V0Ci0gICAgICB9 IGVsc2UgaWYgKG1haW50ZW5hbmNlX2RhdGFiYXNlID09IG0uZ2V0KCdkYXRuYW1lJykgJiYKLSAg ICAgICAgbS5nZXQoJ3N0YXRlJykgPT0gJ2FjdGl2ZScgJiYgYWN0aXZlX3Nlc3Npb25zLmxlbmd0 aCA9PSAxKSB7Ci0gICAgICAgIGlmIChpc19jYW5jZWxfc2Vzc2lvbikgewotICAgICAgICAgIHR4 dE1lc3NhZ2UgPSBnZXR0ZXh0KCdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbmNlbCB0aGUgbWFp biBhY3RpdmUgc2Vzc2lvbi4nKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICB0eHRNZXNz YWdlID0gZ2V0dGV4dCgnWW91IGFyZSBub3QgYWxsb3dlZCB0byB0ZXJtaW5hdGUgdGhlIG1haW4g YWN0aXZlIHNlc3Npb24uJyk7Ci0gICAgICAgIH0KLSAgICAgICAgTm90aWZ5LmVycm9yKHR4dE1l c3NhZ2UpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9IGVsc2UgaWYgKGlzX2NhbmNl bF9zZXNzaW9uICYmIG0uZ2V0KCdzdGF0ZScpID09ICdpZGxlJykgewotICAgICAgICAvLyBJZiB0 aGlzIHNlc3Npb24gaXMgYWxyZWFkeSBpZGxlIHRoZW4gZG8gbm90aGluZwotICAgICAgICBOb3Rp ZnkuaW5mbygKLSAgICAgICAgICBnZXR0ZXh0KCdUaGUgc2Vzc2lvbiBpcyBhbHJlYWR5IGluIGlk bGUgc3RhdGUuJykKLSAgICAgICAgKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfSBl bHNlIGlmIChjYW5fc2lnbmFsX2JhY2tlbmQpIHsKLSAgICAgICAgLy8gdXNlciB3aXRoIG1lbWJl cnNoaXAgb2YgJ3BnX3NpZ25hbF9iYWNrZW5kJyBjYW4gdGVybWluYXRlIHRoZSBzZXNzaW9uIG9m IG5vbiBhZG1pbiB1c2VyLgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgIH0gZWxzZSBpZiAo aXNfc3VwZXJfdXNlcikgewotICAgICAgICAvLyBTdXBlciB1c2VyIGNhbiBkbyBhbnl0aGluZwot ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgIH0gZWxzZSBpZiAoY3VycmVudF91c2VyICYmIGN1 cnJlbnRfdXNlciA9PSBtLmdldCgndXNlbmFtZScpKSB7Ci0gICAgICAgIC8vIE5vbi1zdXBlciB1 c2VyIGNhbiBjYW5jZWwgb25seSB0aGVpciBhY3RpdmUgcXVlcmllcwotICAgICAgICByZXR1cm4g dHJ1ZTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIERvIG5vdCBhbGxvdyB0byBjYW5jZWwg c29tZW9uZSBlbHNlIHNlc3Npb24gdG8gbm9uLXN1cGVyIHVzZXIKLSAgICAgICAgaWYgKGlzX2Nh bmNlbF9zZXNzaW9uKSB7Ci0gICAgICAgICAgdHh0TWVzc2FnZSA9IGdldHRleHQoJ1N1cGVydXNl ciBwcml2aWxlZ2VzIGFyZSByZXF1aXJlZCB0byBjYW5jZWwgYW5vdGhlciB1c2VycyBxdWVyeS4n KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICB0eHRNZXNzYWdlID0gZ2V0dGV4dCgnU3Vw ZXJ1c2VyIHByaXZpbGVnZXMgYXJlIHJlcXVpcmVkIHRvIHRlcm1pbmF0ZSBhbm90aGVyIHVzZXJz IHF1ZXJ5LicpOwotICAgICAgICB9Ci0gICAgICAgIE5vdGlmeS5lcnJvcih0eHRNZXNzYWdlKTsK LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfQotICAgIH0sCi0gIH07Ci0KLSAgcmV0dXJu IHBnQWRtaW4uRGFzaGJvYXJkOwotfSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9kYXNoYm9h cmQvc3RhdGljL2pzL2Rhc2hib2FyZF9jb21wb25lbnRzLmpzeCBiL3dlYi9wZ2FkbWluL2Rhc2hi b2FyZC9zdGF0aWMvanMvZGFzaGJvYXJkX2NvbXBvbmVudHMuanN4CmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCBhNzIzZGQyNDIuLjAwMDAwMDAwMAotLS0gYS93ZWIvcGdhZG1pbi9kYXNo Ym9hcmQvc3RhdGljL2pzL2Rhc2hib2FyZF9jb21wb25lbnRzLmpzeAorKysgL2Rldi9udWxsCkBA IC0xLDc0ICswLDAgQEAKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xz Ci0vLwotLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQotLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCi0vLwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8KLWltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7Ci1pbXBvcnQg UHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnOwotCi1leHBvcnQgZnVuY3Rpb24gQ2hhcnRDb250 YWluZXIocHJvcHMpIHsKLSAgcmV0dXJuICgKLSAgICA8ZGl2IGNsYXNzTmFtZT0iY2FyZCBkYXNo Ym9hcmQtZ3JhcGgiIHJvbGU9Im9iamVjdC1kb2N1bWVudCIgdGFiSW5kZXg9IjAiIGFyaWEtbGFi ZWxsZWRieT17cHJvcHMuaWR9PgotICAgICAgPGRpdiBjbGFzc05hbWU9ImNhcmQtaGVhZGVyIj4K LSAgICAgICAgPGRpdiBjbGFzc05hbWU9ImQtZmxleCI+Ci0gICAgICAgICAgPGRpdiBpZD17cHJv cHMuaWR9Pntwcm9wcy50aXRsZX08L2Rpdj4KLSAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ibWwt YXV0byBteS1hdXRvIGxlZ2VuZCIgcmVmPXtwcm9wcy5sZWdlbmRSZWZ9PjwvZGl2PgotICAgICAg ICA8L2Rpdj4KLSAgICAgIDwvZGl2PgotICAgICAgPGRpdiBjbGFzc05hbWU9ImNhcmQtYm9keSBk YXNoYm9hcmQtZ3JhcGgtYm9keSI+Ci0gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY2hhcnQtd3Jh cHBlciAnICsgKHByb3BzLmVycm9yTXNnID8gJ2Qtbm9uZSc6ICcnKX0+Ci0gICAgICAgICAge3By b3BzLmNoaWxkcmVufQotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPENoYXJ0RXJyb3IgbWVzc2Fn ZT17cHJvcHMuZXJyb3JNc2d9IC8+Ci0gICAgICA8L2Rpdj4KLSAgICA8L2Rpdj4KLSAgKTsKLX0K LQotQ2hhcnRDb250YWluZXIucHJvcFR5cGVzID0gewotICBpZDogUHJvcFR5cGVzLnN0cmluZy5p c1JlcXVpcmVkLAotICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLAotICBsZWdl bmRSZWY6IFByb3BUeXBlcy5vbmVPZlR5cGUoWwotICAgIFByb3BUeXBlcy5mdW5jLAotICAgIFBy b3BUeXBlcy5zaGFwZSh7IGN1cnJlbnQ6IFByb3BUeXBlcy5hbnkgfSksCi0gIF0pLmlzUmVxdWly ZWQsCi0gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLAotICBlcnJvck1zZzog UHJvcFR5cGVzLnN0cmluZywKLX07Ci0KLWV4cG9ydCBmdW5jdGlvbiBDaGFydEVycm9yKHByb3Bz KSB7Ci0gIGlmKHByb3BzLm1lc3NhZ2UgPT09IG51bGwpIHsKLSAgICByZXR1cm4gIDw+PC8+Owot ICB9Ci0gIHJldHVybiAoCi0gICAgPGRpdiBjbGFzc05hbWU9InBnLXBhbmVsLWVycm9yIHBnLXBh bmVsLW1lc3NhZ2UiIHJvbGU9ImFsZXJ0Ij57cHJvcHMubWVzc2FnZX08L2Rpdj4KLSAgKTsKLX0K LQotQ2hhcnRFcnJvci5wcm9wVHlwZXMgPSB7Ci0gIG1lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcs Ci19OwotCi1leHBvcnQgZnVuY3Rpb24gRGFzaGJvYXJkUm93KHtjaGlsZHJlbn0pIHsKLSAgcmV0 dXJuICgKLSAgICA8ZGl2IGNsYXNzTmFtZT0icm93IGRhc2hib2FyZC1yb3ciPntjaGlsZHJlbn08 L2Rpdj4KLSAgKTsKLX0KLURhc2hib2FyZFJvdy5wcm9wVHlwZXMgPSB7Ci0gIGNoaWxkcmVuOiBQ cm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLAotfTsKLQotZXhwb3J0IGZ1bmN0aW9uIERhc2hib2Fy ZFJvd0NvbCh7YnJlYWtwb2ludCwgcGFydHMsIGNoaWxkcmVufSkgewotICByZXR1cm4gKAotICAg IDxkaXYgY2xhc3NOYW1lPXtgY29sLSR7YnJlYWtwb2ludH0tJHtwYXJ0c31gfT57Y2hpbGRyZW59 PC9kaXY+Ci0gICk7Ci19Ci0KLURhc2hib2FyZFJvd0NvbC5wcm9wVHlwZXMgPSB7Ci0gIGJyZWFr cG9pbnQ6IFByb3BUeXBlcy5vbmVPZihbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJywgJ3hsJ10pLmlz UmVxdWlyZWQsCi0gIHBhcnRzOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsCi0gIGNoaWxk cmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLAotfTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Rhc2hib2FyZC90ZW1wbGF0ZXMvZGFzaGJvYXJkL2RhdGFiYXNlX2Rhc2hib2FyZC5odG1s IGIvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3RlbXBsYXRlcy9kYXNoYm9hcmQvZGF0YWJhc2VfZGFz aGJvYXJkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0OGNlOTZhYi4uMDAw MDAwMDAwCi0tLSBhL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC90ZW1wbGF0ZXMvZGFzaGJvYXJkL2Rh dGFiYXNlX2Rhc2hib2FyZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotPGRp diBjbGFzcz0iY29udGFpbmVyLWZsdWlkIGRhc2hib2FyZC1jb250YWluZXIgbmVnYXRpdmUtc3Bh Y2UiPgotICAgIDxkaXYgaWQ9ImRhc2hib2FyZC1ncmFwaHMiPjwvZGl2PgotICAgIDxkaXYgaWQ9 ImRhc2hib2FyZC1hY3Rpdml0eSIgY2xhc3M9ImNhcmQgZGFzaGJvYXJkLXJvdyBkYXNoYm9hcmQt aGlkZGVuIj4KLSAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgotICAgICAgICAgICAg PHNwYW4gaWQ9ImRhc2hib2FyZC1hY3Rpdml0eS1oZWFkZXIiPnt7IF8oJ1NlcnZlciBhY3Rpdml0 eScpIH19PC9zcGFuPgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1i b2R5Ij4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+Ci0gICAgICAgICAgICAgICAgPGRp diBjbGFzcz0iY29sLW1kLTkgY29sLTEyIHByLTAiPgotICAgICAgICAgICAgICAgICAgICA8dWwg Y2xhc3M9Im5hdiBuYXYtdGFicyIgcm9sZT0idGFibGlzdCIgYXJpYS1sYWJlbGxlZGJ5PSJkYXNo Ym9hcmQtYWN0aXZpdHktaGVhZGVyIj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFz cz0ibmF2LWl0ZW0iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYt bGluayBhY3RpdmUgc2hvdyIgaWQ9InRhYl9wYW5lbF9kYXRhYmFzZV9hY3Rpdml0eV90YWIiIGhy ZWY9IiN0YWJfcGFuZWxfZGF0YWJhc2VfYWN0aXZpdHkiIGFyaWEtY29udHJvbHM9InRhYl9kYXRh YmFzZV9hY3Rpdml0eSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT0idGFi IiBkYXRhLXRvZ2dsZT0idGFiIj57eyBfKCdTZXNzaW9ucycpIH19PC9hPgotICAgICAgICAgICAg ICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2 LWl0ZW0iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIg aWQ9InRhYl9wYW5lbF9kYXRhYmFzZV9sb2Nrc190YWIiIGhyZWY9IiN0YWJfcGFuZWxfZGF0YWJh c2VfbG9ja3MiIGFyaWEtY29udHJvbHM9InRhYl9kYXRhYmFzZV9sb2NrcyIKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByb2xlPSJ0YWIiIGRhdGEtdG9nZ2xlPSJ0YWIiPnt7IF8oJ0xv Y2tzJykgfX08L2E+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAg ICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBpZD0idGFiX3BhbmVsX2RhdGFiYXNlX3ByZXBhcmVk X3RhYiIgaHJlZj0iI3RhYl9wYW5lbF9kYXRhYmFzZV9wcmVwYXJlZCIgYXJpYS1jb250cm9scz0i dGFiX2RhdGFiYXNlX3ByZXBhcmVkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJv bGU9InRhYiIgZGF0YS10b2dnbGU9InRhYiI+e3sgXygnUHJlcGFyZWQgVHJhbnNhY3Rpb25zJykg fX08L2E+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAg ICA8L3VsPgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgIDxkaXYgY2xh c3M9ImNvbC1tZC0zIGNvbC0xMiBwbC0wIHRleHQtcmlnaHQiPgotICAgICAgICAgICAgICAgICAg ICA8ZGl2IGNsYXNzPSJuYXZ0YWItaW5saW5lLWNvbnRyb2xzIj4KLSAgICAgICAgICAgICAgICAg ICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cC1wcmVwZW5kIj4KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLXRleHQgZmEgZmEtc2VhcmNo IiBpZD0ibGFiZWxTZWFyY2giIGFyaWEtbGFiZWw9Int7IF8oJ1NlYXJjaCcpIH19Ij48L3NwYW4+ Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgPGlucHV0IHR5cGU9InNlYXJjaCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9InR4 dEdyaWRTZWFyY2giIHBsYWNlaG9sZGVyPSJ7eyBfKCdTZWFyY2gnKSB9fSIgYXJpYS1kZXNjcmli ZWRieT0ibGFiZWxTZWFyY2giIGFyaWEtbGFiZWxsZWRieT0ibGFiZWxTZWFyY2giPgotICAgICAg ICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9u IGlkPSJidG5fcmVmcmVzaCIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5LWlj b24gYnRuLW5hdnRhYi1pbmxpbmUiIHRpdGxlPSJ7eyBfKCdSZWZyZXNoJykgfX0iIGFyaWEtbGFi ZWw9Int7IF8oJ1JlZnJlc2gnKSB9fSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNw YW4gY2xhc3M9ImZhIGZhLXN5bmMtYWx0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgotICAg ICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+Ci0gICAgICAgICAgICAgICAgICAgIDwvZGl2 PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAg ICA8IS0tIE5hdiB0YWJzIC0tPgotCi0KLSAgICAgICAgICAgIDwhLS0gVGFiIHBhbmVzIC0tPgot ICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgotICAgICAgICAgICAgICAgIDxk aXYgcm9sZT0idGFicGFuZWwiIGNsYXNzPSJ0YWItcGFuZSBuZWdhdGl2ZS1zcGFjZSBwLTIgYWN0 aXZlIHNob3ciIGlkPSJ0YWJfcGFuZWxfZGF0YWJhc2VfYWN0aXZpdHkiIGFyaWEtbGFiZWxsZWRi eT0idGFiX3BhbmVsX2RhdGFiYXNlX2FjdGl2aXR5X3RhYiI+Ci0gICAgICAgICAgICAgICAgICAg IDxkaXYgaWQ9ImRhdGFiYXNlX2FjdGl2aXR5IiBjbGFzcz0iZ3JpZC1jb250YWluZXIiPjwvZGl2 PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgIDxkaXYgcm9sZT0idGFi cGFuZWwiIGNsYXNzPSJ0YWItcGFuZSBuZWdhdGl2ZS1zcGFjZSBwLTIiIGlkPSJ0YWJfcGFuZWxf ZGF0YWJhc2VfbG9ja3MiIGFyaWEtbGFiZWxsZWRieT0idGFiX3BhbmVsX2RhdGFiYXNlX2xvY2tz X3RhYiI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdGFiYXNlX2xvY2tzIiBjbGFz cz0iZ3JpZC1jb250YWluZXIiPjwvZGl2PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAg ICAgICAgICAgIDxkaXYgcm9sZT0idGFicGFuZWwiIGNsYXNzPSJ0YWItcGFuZSBuZWdhdGl2ZS1z cGFjZSBwLTIiIGlkPSJ0YWJfcGFuZWxfZGF0YWJhc2VfcHJlcGFyZWQiIGFyaWEtbGFiZWxsZWRi eT0idGFiX3BhbmVsX2RhdGFiYXNlX3ByZXBhcmVkX3RhYiI+Ci0gICAgICAgICAgICAgICAgICAg IDxkaXYgaWQ9ImRhdGFiYXNlX3ByZXBhcmVkIiBjbGFzcz0iZ3JpZC1jb250YWluZXIiPjwvZGl2 PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwv ZGl2PgotICAgIDwvZGl2PgotICAgIDxkaXYgaWQ9ImRhc2hib2FyZC1ub25lLXNob3ciIGNsYXNz PSJhbGVydCBhbGVydC1pbmZvIHBnLXBhbmVsLW1lc3NhZ2UgZGFzaGJvYXJkLWhpZGRlbiIgcm9s ZT0iYWxlcnQiPgotICAgICAgICB7eyBfKCdBbGwgRGFzaGJvYXJkIGVsZW1lbnRzIGFyZSBjdXJy ZW50bHkgZGlzYWJsZWQuJykgfX0KLSAgICA8L2Rpdj4KLTwvZGl2PgpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vZGFzaGJvYXJkL3RlbXBsYXRlcy9kYXNoYm9hcmQvc2VydmVyX2Rhc2hib2FyZC5o dG1sIGIvd2ViL3BnYWRtaW4vZGFzaGJvYXJkL3RlbXBsYXRlcy9kYXNoYm9hcmQvc2VydmVyX2Rh c2hib2FyZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzRhMWUyMDYuLjAw MDAwMDAwMAotLS0gYS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9z ZXJ2ZXJfZGFzaGJvYXJkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi08ZGl2 IGNsYXNzPSJjb250YWluZXItZmx1aWQgZGFzaGJvYXJkLWNvbnRhaW5lciBuZWdhdGl2ZS1zcGFj ZSI+Ci0gICAgPGRpdiBpZD0iZGFzaGJvYXJkLWdyYXBocyI+Ci0gICAgPC9kaXY+Ci0gICAgPGRp diBpZD0iZGFzaGJvYXJkLWFjdGl2aXR5IiBjbGFzcz0iY2FyZCBkYXNoYm9hcmQtcm93IGRhc2hi b2FyZC1oaWRkZW4iPgotICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+Ci0gICAgICAg ICAgICA8c3BhbiBpZD0ic2VydmVyLWFjdGl2aXR5LWhlYWRlciI+e3sgXygnU2VydmVyIGFjdGl2 aXR5JykgfX08L3NwYW4+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJjYXJk LWJvZHkiPgotICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KLSAgICAgICAgICAgICAgICA8 ZGl2IGNsYXNzPSJjb2wtbWQtOSBjb2wtMTIgcHItMCI+Ci0gICAgICAgICAgICAgICAgICAgIDx1 bCBjbGFzcz0ibmF2IG5hdi10YWJzIiByb2xlPSJ0YWJsaXN0IiBhcmlhLWxhYmVsbGVkYnk9InNl cnZlci1hY3Rpdml0eS1oZWFkZXIiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNz PSJuYXYtaXRlbSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1s aW5rIGFjdGl2ZSBzaG93IiBpZD0idGFiX3BhbmVsX3NlcnZlcl9hY3Rpdml0eV90YWIiIGhyZWY9 IiN0YWJfcGFuZWxfc2VydmVyX2FjdGl2aXR5IiBhcmlhLWNvbnRyb2xzPSJ0YWJfc2VydmVyX2Fj dGl2aXR5IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJ0YWIiIGRhdGEt dG9nZ2xlPSJ0YWIiPnt7XygnU2Vzc2lvbnMnKSB9fTwvYT4KLSAgICAgICAgICAgICAgICAgICAg ICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ0YWJf cGFuZWxfc2VydmVyX2xvY2tzX3RhYiIgaHJlZj0iI3RhYl9wYW5lbF9zZXJ2ZXJfbG9ja3MiIGFy aWEtY29udHJvbHM9InRhYl9zZXJ2ZXJfbG9ja3MiCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJvbGU9InRhYiIgZGF0YS10b2dnbGU9InRhYiI+e3sgXygnTG9ja3MnKSB9fTwvYT4K LSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8 bGkgY2xhc3M9Im5hdi1pdGVtIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFz cz0ibmF2LWxpbmsiIGlkPSJ0YWJfcGFuZWxfc2VydmVyX3ByZXBhcmVkX3RhYiIgaHJlZj0iI3Rh Yl9wYW5lbF9zZXJ2ZXJfcHJlcGFyZWQiIGFyaWEtY29udHJvbHM9InRhYl9zZXJ2ZXJfcHJlcGFy ZWQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9InRhYiIgZGF0YS10b2dn bGU9InRhYiI+e3sgXygnUHJlcGFyZWQgVHJhbnNhY3Rpb25zJykgfX08L2E+Ci0gICAgICAgICAg ICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJu YXYtaXRlbSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5r IiBpZD0idGFiX3BhbmVsX3NlcnZlcl9jb25maWdfdGFiIiBocmVmPSIjdGFiX3BhbmVsX3NlcnZl cl9jb25maWciIGFyaWEtY29udHJvbHM9InRhYl9zZXJ2ZXJfY29uZmlnIgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByb2xlPSJ0YWIiIGRhdGEtdG9nZ2xlPSJ0YWIiPnt7IF8oJ0Nv bmZpZ3VyYXRpb24nKSB9fTwvYT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAg ICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAg ICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMgY29sLTEyIHBsLTAgdGV4dC1yaWdodCI+Ci0gICAg ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdnRhYi1pbmxpbmUtY29udHJvbHMiPgotICAg ICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwLXByZXBlbmQiPgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtdGV4 dCBmYSBmYS1zZWFyY2giIGlkPSJsYWJlbFNlYXJjaCI+PC9zcGFuPgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0 eXBlPSJzZWFyY2giIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJ0eHRHcmlkU2VhcmNoIiBwbGFj ZWhvbGRlcj0ie3sgXygnU2VhcmNoJykgfX0iIGFyaWEtbGFiZWw9Int7IF8oJ1NlYXJjaCcpIH19 IiBhcmlhLWRlc2NyaWJlZGJ5PSJsYWJlbFNlYXJjaCI+Ci0gICAgICAgICAgICAgICAgICAgICAg ICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bl9yZWZyZXNo IiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnktaWNvbiBidG4tbmF2dGFiLWlu bGluZSIgdGl0bGU9Int7IF8oJ1JlZnJlc2gnKSB9fSIgYXJpYS1sYWJlbD0ie3sgXygnUmVmcmVz aCcpIH19Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmEgZmEt c3luYy1hbHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAg ICAgICA8L2J1dHRvbj4KLSAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAg ICAgPC9kaXY+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwhLS0gTmF2IHRhYnMg LS0+Ci0KLQotICAgICAgICAgICAgPCEtLSBUYWIgcGFuZXMgLS0+Ci0gICAgICAgICAgICA8ZGl2 IGNsYXNzPSJ0YWItY29udGVudCI+Ci0gICAgICAgICAgICAgICAgPGRpdiByb2xlPSJ0YWJwYW5l bCIgY2xhc3M9InRhYi1wYW5lIG5lZ2F0aXZlLXNwYWNlIHAtMiBhY3RpdmUgc2hvdyIgaWQ9InRh Yl9wYW5lbF9zZXJ2ZXJfYWN0aXZpdHkiIGFyaWEtbGFiZWxsZWRieT0idGFiX3BhbmVsX3NlcnZl cl9hY3Rpdml0eV90YWIiPgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZXJ2ZXJfYWN0 aXZpdHkiIGNsYXNzPSJncmlkLWNvbnRhaW5lciI+PC9kaXY+Ci0gICAgICAgICAgICAgICAgPC9k aXY+Ci0gICAgICAgICAgICAgICAgPGRpdiByb2xlPSJ0YWJwYW5lbCIgY2xhc3M9InRhYi1wYW5l IG5lZ2F0aXZlLXNwYWNlIHAtMiIgaWQ9InRhYl9wYW5lbF9zZXJ2ZXJfbG9ja3MiIGFyaWEtbGFi ZWxsZWRieT0idGFiX3BhbmVsX3NlcnZlcl9sb2Nrc190YWIiPgotICAgICAgICAgICAgICAgICAg ICA8ZGl2IGlkPSJzZXJ2ZXJfbG9ja3MiIGNsYXNzPSJncmlkLWNvbnRhaW5lciI+PC9kaXY+Ci0g ICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgPGRpdiByb2xlPSJ0YWJwYW5l bCIgY2xhc3M9InRhYi1wYW5lIG5lZ2F0aXZlLXNwYWNlIHAtMiIgaWQ9InRhYl9wYW5lbF9zZXJ2 ZXJfcHJlcGFyZWQiIGFyaWEtbGFiZWxsZWRieT0idGFiX3BhbmVsX3NlcnZlcl9wcmVwYXJlZF90 YWIiPgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzZXJ2ZXJfcHJlcGFyZWQiIGNsYXNz PSJncmlkLWNvbnRhaW5lciI+PC9kaXY+Ci0gICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAg ICAgICAgICAgPGRpdiByb2xlPSJ0YWJwYW5lbCIgY2xhc3M9InRhYi1wYW5lIG5lZ2F0aXZlLXNw YWNlIHAtMiIgaWQ9InRhYl9wYW5lbF9zZXJ2ZXJfY29uZmlnIiBhcmlhLWxhYmVsbGVkYnk9InRh Yl9wYW5lbF9zZXJ2ZXJfY29uZmlnX3RhYiI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9 InNlcnZlcl9jb25maWciIGNsYXNzPSJncmlkLWNvbnRhaW5lciI+PC9kaXY+Ci0gICAgICAgICAg ICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9k aXY+Ci0gICAgPGRpdiBpZD0iZGFzaGJvYXJkLW5vbmUtc2hvdyIgY2xhc3M9ImFsZXJ0IGFsZXJ0 LWluZm8gcGctcGFuZWwtbWVzc2FnZSBkYXNoYm9hcmQtaGlkZGVuIiByb2xlPSJhbGVydCI+Ci0g ICAgICAgIHt7IF8oJ0FsbCBEYXNoYm9hcmQgZWxlbWVudHMgYXJlIGN1cnJlbnRseSBkaXNhYmxl ZC4nKSB9fQotICAgIDwvZGl2PgotPC9kaXY+CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9kYXNo Ym9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9zcWwvMTBfcGx1cy9hY3Rpdml0eS5zcWwgYi93ZWIv cGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9zcWwvMTBfcGx1cy9hY3Rpdml0 eS5zcWwKaW5kZXggYTkzNzlmNjdiLi5kMDJkMDcxZmMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L2Rhc2hib2FyZC90ZW1wbGF0ZXMvZGFzaGJvYXJkL3NxbC8xMF9wbHVzL2FjdGl2aXR5LnNxbAor KysgYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9zcWwvMTBfcGx1 cy9hY3Rpdml0eS5zcWwKQEAgLTEyLDYgKzEyLDcgQEAgU0VMRUNUCiAgICAgcXVlcnksCiAgICAg cGdfY2F0YWxvZy50b19jaGFyKHN0YXRlX2NoYW5nZSwgJ1lZWVktTU0tREQgSEgyNDpNSTpTUyBU WicpIEFTIHN0YXRlX2NoYW5nZSwKICAgICBwZ19jYXRhbG9nLnRvX2NoYXIocXVlcnlfc3RhcnQs ICdZWVlZLU1NLUREIEhIMjQ6TUk6U1MgVFonKSBBUyBxdWVyeV9zdGFydCwKKyAgICBwZ19jYXRh bG9nLnRvX2NoYXIoeGFjdF9zdGFydCwgJ1lZWVktTU0tREQgSEgyNDpNSTpTUyBUWicpIEFTIHhh Y3Rfc3RhcnQsCiAgICAgYmFja2VuZF90eXBlLAogICAgIENBU0UgV0hFTiBzdGF0ZSA9ICdhY3Rp dmUnIFRIRU4gUk9VTkQoKGV4dHJhY3QoZXBvY2ggZnJvbSBub3coKSAtIHF1ZXJ5X3N0YXJ0KSAv IDYwKTo6bnVtZXJpYywgMikgRUxTRSAwIEVORCBBUyBhY3RpdmVfc2luY2UKIEZST00KZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC90ZW1wbGF0ZXMvZGFzaGJvYXJkL3NxbC85LjZf cGx1cy9hY3Rpdml0eS5zcWwgYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hi b2FyZC9zcWwvOS42X3BsdXMvYWN0aXZpdHkuc3FsCmluZGV4IGIwYTljNTg0Ny4uNjdjYjQ1ODhm IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9z cWwvOS42X3BsdXMvYWN0aXZpdHkuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC90ZW1w bGF0ZXMvZGFzaGJvYXJkL3NxbC85LjZfcGx1cy9hY3Rpdml0eS5zcWwKQEAgLTExLDYgKzExLDcg QEAgU0VMRUNUCiAgICAgcGdfY2F0YWxvZy5wZ19ibG9ja2luZ19waWRzKHBpZCkgQVMgYmxvY2tp bmdfcGlkcywKICAgICBxdWVyeSwKICAgICBwZ19jYXRhbG9nLnRvX2NoYXIoc3RhdGVfY2hhbmdl LCAnWVlZWS1NTS1ERCBISDI0Ok1JOlNTIFRaJykgQVMgc3RhdGVfY2hhbmdlLAorICAgIHBnX2Nh dGFsb2cudG9fY2hhcih4YWN0X3N0YXJ0LCAnWVlZWS1NTS1ERCBISDI0Ok1JOlNTIFRaJykgQVMg eGFjdF9zdGFydCwKICAgICBwZ19jYXRhbG9nLnRvX2NoYXIocXVlcnlfc3RhcnQsICdZWVlZLU1N LUREIEhIMjQ6TUk6U1MgVFonKSBBUyBxdWVyeV9zdGFydCwKICAgICBDQVNFIFdIRU4gc3RhdGUg PSAnYWN0aXZlJyBUSEVOIFJPVU5EKChleHRyYWN0KGVwb2NoIGZyb20gbm93KCkgLSBxdWVyeV9z dGFydCkgLyA2MCk6Om51bWVyaWMsIDIpIEVMU0UgMCBFTkQgQVMgYWN0aXZlX3NpbmNlCiBGUk9N CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC9z cWwvZGVmYXVsdC9hY3Rpdml0eS5zcWwgYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVz L2Rhc2hib2FyZC9zcWwvZGVmYXVsdC9hY3Rpdml0eS5zcWwKaW5kZXggNDk0YjVhZGJiLi4zZTZj ZjgxYjAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Rhc2hib2FyZC90ZW1wbGF0ZXMvZGFzaGJv YXJkL3NxbC9kZWZhdWx0L2FjdGl2aXR5LnNxbAorKysgYi93ZWIvcGdhZG1pbi9kYXNoYm9hcmQv dGVtcGxhdGVzL2Rhc2hib2FyZC9zcWwvZGVmYXVsdC9hY3Rpdml0eS5zcWwKQEAgLTEwLDYgKzEw LDcgQEAgU0VMRUNUCiAgICAgQ0FTRSBXSEVOIHdhaXRpbmcgVEhFTiAne3sgXygneWVzJykgfX0n IEVMU0UgJ3t7IF8oJ25vJykgfX0nIEVORCBBUyB3YWl0aW5nLAogICAgIHF1ZXJ5LAogICAgIHBn X2NhdGFsb2cudG9fY2hhcihzdGF0ZV9jaGFuZ2UsICdZWVlZLU1NLUREIEhIMjQ6TUk6U1MgVFon KSBBUyBzdGF0ZV9jaGFuZ2UsCisgICAgcGdfY2F0YWxvZy50b19jaGFyKHhhY3Rfc3RhcnQsICdZ WVlZLU1NLUREIEhIMjQ6TUk6U1MgVFonKSBBUyB4YWN0X3N0YXJ0LAogICAgIHBnX2NhdGFsb2cu dG9fY2hhcihxdWVyeV9zdGFydCwgJ1lZWVktTU0tREQgSEgyNDpNSTpTUyBUWicpIEFTIHF1ZXJ5 X3N0YXJ0LAogICAgIENBU0UgV0hFTiBzdGF0ZSA9ICdhY3RpdmUnIFRIRU4gUk9VTkQoKGV4dHJh Y3QoZXBvY2ggZnJvbSBub3coKSAtIHF1ZXJ5X3N0YXJ0KSAvIDYwKTo6bnVtZXJpYywgMikgRUxT RSAwIEVORCBBUyBhY3RpdmVfc2luY2UKIEZST00KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Rh c2hib2FyZC90ZW1wbGF0ZXMvZGFzaGJvYXJkL3dlbGNvbWVfZGFzaGJvYXJkLmh0bWwgYi93ZWIv cGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC93ZWxjb21lX2Rhc2hib2FyZC5o dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzc5OGFiMTkuLjAwMDAwMDAwMAot LS0gYS93ZWIvcGdhZG1pbi9kYXNoYm9hcmQvdGVtcGxhdGVzL2Rhc2hib2FyZC93ZWxjb21lX2Rh c2hib2FyZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLTxkaXYgY2xhc3M9 ImNvbnRhaW5lci1mbHVpZCBuZWdhdGl2ZS1zcGFjZSI+Ci0gICAgPGRpdiBjbGFzcz0iZGFzaGJv YXJkLWNvbnRhaW5lciI+Ci0gICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYi0yIj4KLSAgICAgICAg ICAgIDxkaXYgY2xhc3M9ImNvbC0xMiI+Ci0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2Fy ZCI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj57eyBfKCdX ZWxjb21lJykgfX08L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1i b2R5IHAtMiI+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3ZWxjb21lLWxv Z28iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Zn IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDYwMCAxMzAi PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxzdHlsZT4uY2xzLTF7c3Ryb2tlOiMwMDA7c3Ryb2tlLXdpZHRo OjEwLjE5cHg7fS5jbHMtMntmaWxsOiMzMzY3OTE7fS5jbHMtMywuY2xzLTQsLmNscy05e2ZpbGw6 bm9uZTt9LmNscy0zLC5jbHMtNCwuY2xzLTUsLmNscy02e3N0cm9rZTojZmZmO30uY2xzLTMsLmNs cy00e3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS13aWR0aDozLjRweDt9LmNscy0ze3N0cm9r ZS1saW5lam9pbjpyb3VuZDt9LmNscy00e3N0cm9rZS1saW5lam9pbjpiZXZlbDt9LmNscy01LC5j bHMtNntmaWxsOiNmZmY7fS5jbHMtNXtzdHJva2Utd2lkdGg6MS4xM3B4O30uY2xzLTZ7c3Ryb2tl LXdpZHRoOjAuNTdweDt9LmNscy03e2ZpbGw6IzI3NzViNjt9LmNscy04e2ZpbGw6IzMzMzt9LmNs cy05e3N0cm9rZTojMzMzO3N0cm9rZS13aWR0aDozcHg7fTwvc3R5bGU+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9kZWZzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDx0aXRsZT5wZ0FkbWluX1Bvc3RncmVTUUw8L3RpdGxlPgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxnIGlkPSJMYXllcl8xIiBkYXRhLW5hbWU9IkxheWVyIDEiPgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJMYXllcl8zIj4KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik05NS41OSw5My42 NWMuNzctNi40NC41NC03LjM4LDUuMzMtNi4zNGwxLjIxLjExYTI3LjYsMjcuNiwwLDAsMCwxMS4z NC0xLjkxYzYuMDktMi44Myw5LjcxLTcuNTUsMy43LTYuMzEtMTMuNzEsMi44My0xNC42NS0xLjgx LTE0LjY1LTEuODFDMTE3LDU1LjkxLDEyMywyOC42NCwxMTcuODIsMjIsMTAzLjU3LDMuNzYsNzgu OTEsMTIuMzcsNzguNSwxMi42bC0uMTMsMGE0OC42NSw0OC42NSwwLDAsMC05LjE1LS45NUM2Mywx MS41Nyw1OC4zMSwxMy4yOSw1NC43NCwxNmMwLDAtNDQtMTguMTItNDEuOTUsMjIuOC40NCw4Ljcs MTIuNDgsNjUuODYsMjYuODQsNDguNkM0NC44OCw4MS4wOCw1MCw3NS43NSw1MCw3NS43NUExMy4z OSwxMy4zOSwwLDAsMCw1OC42NSw3OGwuMjUtLjIxYTksOSwwLDAsMCwuMSwyLjQ2Yy0zLjcsNC4x My0yLjYyLDQuODYtMTAsNi4zOHMtMy4wOSw0LjI5LS4yMiw1YzMuNDguODcsMTEuNTMsMi4xLDE3 LTUuNTJsLS4yMi44N2MxLjQ2LDEuMTYsMS4zNiw4LjM1LDEuNTYsMTMuNDhzLjU1LDkuOTMsMS42 LDEyLjc1LDIuMjgsMTAuMSwxMiw4Qzg4LjgxLDExOS40Niw5NSwxMTcsOTUuNTksOTMuNjUiIC8+ Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy0y IiBkPSJNMTE3LjE3LDc5LjJjLTEzLjcxLDIuODMtMTQuNjUtMS44MS0xNC42NS0xLjgxQzExNyw1 NS45MSwxMjMsMjguNjQsMTE3LjgyLDIyLDEwMy41NywzLjc2LDc4LjkxLDEyLjM3LDc4LjUsMTIu NmwtLjEzLDBhNDguNjUsNDguNjUsMCwwLDAtOS4xNS0uOTVDNjMsMTEuNTcsNTguMzEsMTMuMjks NTQuNzQsMTZjMCwwLTQ0LTE4LjEyLTQxLjk1LDIyLjguNDQsOC43LDEyLjQ4LDY1Ljg2LDI2Ljg0 LDQ4LjZDNDQuODgsODEuMDgsNTAsNzUuNzUsNTAsNzUuNzVBMTMuMzksMTMuMzksMCwwLDAsNTgu NjUsNzhsLjI1LS4yMUE5LjQxLDkuNDEsMCwwLDAsNTksODAuMjJjLTMuNyw0LjEzLTIuNjEsNC44 Ni0xMCw2LjM4cy0zLjA4LDQuMjktLjIxLDVjMy40OC44NywxMS41MywyLjEsMTctNS41MmwtLjIy Ljg3YzEuNDUsMS4xNiwyLjQ3LDcuNTYsMi4zLDEzLjM1cy0uMjgsOS43Ny44NiwxMi44OCwyLjI4 LDEwLjEsMTIsOEM4OC44MSwxMTkuNDYsOTMsMTE1LDkzLjYsMTA3LjQyLDk0LDEwMi4wNyw5NSwx MDIuODcsOTUsOTguMDhsLjc1LTIuMjZjLjg3LTcuMjYuMTQtOS42LDUuMTUtOC41MWwxLjIxLjEx YTI3LjYsMjcuNiwwLDAsMCwxMS4zNC0xLjkxYzYuMDktMi44Myw5LjcxLTcuNTUsMy43LTYuMzFa IiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJj bHMtMyIgZD0iTTY2LjMzLDgzLjM2Yy0uMzgsMTMuNS4wOSwyNy4wOSwxLjQxLDMwLjM5czQuMTUs OS43MywxMy44OCw3LjY0YzguMTItMS43NCwxMS4wOC01LjExLDEyLjM2LTEyLjU1Ljk0LTUuNDcs Mi43Ny0yMC42NywzLTIzLjc5IiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTU0LjY3LDE1LjdzLTQ0LTE4LTQyLDIyLjkzYy40 NCw4LjcsMTIuNDgsNjUuODcsMjYuODQsNDguNiw1LjI1LTYuMzIsMTAtMTEuMjcsMTAtMTEuMjci IC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNs cy0zIiBkPSJNNzguNDUsMTIuNDJjLTEuNTIuNDcsMjQuNDktOS41MSwzOS4yOCw5LjM4LDUuMjIs Ni42Ny0uODMsMzMuOTQtMTUuMzEsNTUuNDIiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy00IiBkPSJNMTAyLjQyLDc3LjIycy45NCw0LjY0 LDE0LjY1LDEuODFjNi0xLjI0LDIuNCwzLjQ4LTMuNyw2LjMxLTUsMi4zMi0xNi4yMSwyLjkyLTE2 LjM5LS4yOS0uNDctOC4yNyw1LjktNS43Niw1LjQ0LTcuODMtLjQyLTEuODctMy4yNi0zLjctNS4x NS04LjI3LTEuNjQtNC0yMi41Ny0zNC41OCw1LjgtMzAsMS0uMjItNy40LTI3LTMzLjk1LTI3LjQy UzQzLjQ1LDQ0LjE0LDQzLjQ1LDQ0LjE0IiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTU4LjksODAuMDVjLTMuNyw0LjEzLTIu NjEsNC44Ni0xMCw2LjM4cy0zLjA5LDQuMjktLjIyLDVjMy40OC44NywxMS41MywyLjEsMTctNS41 MiwxLjY2LTIuMzIsMC02LTIuMjgtNy0xLjEtLjQ2LTIuNTctMS00LjQ2LDEuMDlaIiAvPgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0i TTU4LjY2LDgwYy0uMzgtMi40NC43OS01LjMzLDIuMDUtOC43MUM2Mi42LDY2LjE5LDY3LDYxLjEx LDYzLjQ3LDQ1Yy0yLjYtMTItMjAtMi41LTIwLS44N2E4MS40OCw4MS40OCwwLDAsMS0uMjksMTZj LTEuNDEsMTAuMDYsNi40LDE4LjU3LDE1LjM5LDE3LjciIC8+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy01IiBkPSJNNTQuNTEsNDMuOWMtLjA4 LjU1LDEsMiwyLjQ1LDIuMjNhMi42MiwyLjYyLDAsMCwwLDIuNzItMS41MWMuMDgtLjU2LTEtMS4x Ny0yLjQ0LTEuMzdzLTIuNjUuMDktMi43My42NVoiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy02IiBkPSJNOTgsNDIuNzZjLjA3LjU2LTEs Mi0yLjQ1LDIuMjRhMi42NCwyLjY0LDAsMCwxLTIuNzMtMS41MmMtLjA3LS41NSwxLTEuMTYsMi40 NS0xLjM2czIuNjUuMDksMi43My42NFoiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJNMTAzLjA3LDM4LjkyYy4yNCw0LjM2LS45 NCw3LjMzLTEuMDgsMTItLjIyLDYuNzQsMy4yMSwxNC40Ni0yLDIyLjE5IiAvPgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTcgYXBwLW5hbWUiIGQ9Ik0xNTQuNzIsMjguMTVoNS4x NnY0LjE2QTEyLjg0LDEyLjg0LDAsMCwxLDE2My4zNSwyOWExMS4xNywxMS4xNywwLDAsMSw2LjI4 LTEuNzYsMTEuODQsMTEuODQsMCwwLDEsOS4wOCw0LjA5YzIuNDgsMi43MiwzLjczLDYuNjIsMy43 MywxMS42N3EwLDEwLjI2LTUuMzgsMTQuNjVhMTIuMiwxMi4yLDAsMCwxLTcuOTUsMi43OSwxMC43 OCwxMC43OCwwLDAsMS02LTEuNTYsMTMuNTUsMTMuNTUsMCwwLDEtMy4xNC0zdjE2aC01LjI4Wm0x OS44NCwyNC42UTE3Nyw0OS42NSwxNzcsNDMuNWExNywxNywwLDAsMC0xLjA5LTYuNDQsNy41MSw3 LjUxLDAsMCwwLTcuNTMtNS4xOXEtNS40OSwwLTcuNTIsNS40OGEyMS40OSwyMS40OSwwLDAsMC0x LjA5LDcuNDRBMTUuNjQsMTUuNjQsMCwwLDAsMTYwLjg4LDUxYTgsOCwwLDAsMCwxMy42OCwxLjc4 WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xz LTcgYXBwLW5hbWUiIGQ9Ik0yMDYsMjkuMjZhMTQuNiwxNC42LDAsMCwxLDMsM1YyOC4zaDQuODZW NTYuODNjMCw0LS41OCw3LjEzLTEuNzUsOS40NHEtMy4yNyw2LjM4LTEyLjM1LDYuMzhhMTUuMDcs MTUuMDcsMCwwLDEtOC41LTIuMjcsOC44Niw4Ljg2LDAsMCwxLTMuODUtNy4xaDUuMzZhNiw2LDAs MCwwLDEuNTIsMy4yNXExLjc3LDEuNzUsNS41OSwxLjc2LDYsMCw3LjktNC4yOCwxLjEtMi41Miwx LTlhMTAuMzksMTAuMzksMCwwLDEtMy44LDMuNTcsMTMuNTYsMTMuNTYsMCwwLDEtMTQuNzUtMi40 NXEtMy44MS0zLjYyLTMuODEtMTIsMC03Ljg5LDMuODQtMTIuMzFhMTEuODUsMTEuODUsMCwwLDEs OS4yNy00LjQyQTExLjM3LDExLjM3LDAsMCwxLDIwNiwyOS4yNlptLjY0LDUuNjZhNy42MSw3LjYx LDAsMCwwLTYuMDktMi44MUE3LjUyLDcuNTIsMCwwLDAsMTkzLDM3LjMyYTIwLjU2LDIwLjU2LDAs MCwwLTEuMDgsNy4zYzAsMy41My43Miw2LjIyLDIuMTQsOC4wN2E2LjkzLDYuOTMsMCwwLDAsNS43 NiwyLjc3LDguMDksOC4wOSwwLDAsMCw4LTUuMTNBMTYuNzIsMTYuNzIsMCwwLDAsMjA5LDQzLjU2 UTIwOSwzNy43MywyMDYuNjIsMzQuOTJaIiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyBhcHAtbmFtZSIgZD0iTTIzNS4xNiwxNi4zNGg2LjU4 bDE1LjYyLDQzSDI1MWwtNC41LTEyLjg5SDIyOS42bC00LjY3LDEyLjg5aC02Wm05LjY3LDI1LjQt Ni42My0xOS02Ljg4LDE5WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cGF0aCBjbGFzcz0iY2xzLTcgYXBwLW5hbWUiIGQ9Ik0yNzkuMTYsMjlhMTQuMywxNC4zLDAsMCwx LDMuMTgsMy4wOFYxNi4yaDUuMDdWNTkuMzhoLTQuNzVWNTVhMTEuMzMsMTEuMzMsMCwwLDEtNC4z NSw0LjE5LDEyLjUxLDEyLjUxLDAsMCwxLTUuNzUsMS4yOCwxMS42MSwxMS42MSwwLDAsMS05LTQu NHEtMy44Mi00LjQxLTMuODMtMTEuNzRhMjAuMzUsMjAuMzUsMCwwLDEsMy40OS0xMS44OCwxMS40 MSwxMS40MSwwLDAsMSwxMC01QTExLjE1LDExLjE1LDAsMCwxLDI3OS4xNiwyOVpNMjY3LjM5LDUy LjVxMi4xMywzLjM5LDYuODIsMy4zOWE3LjE3LDcuMTcsMCwwLDAsNi0zLjE0YzEuNTYtMi4xLDIu MzUtNS4xMiwyLjM1LTlzLS44MS02LjktMi40Mi04LjgxYTcuNTYsNy41NiwwLDAsMC02LTIuODUs Ny44OCw3Ljg4LDAsMCwwLTYuNDMsM2MtMS42NCwyLTIuNDYsNS0yLjQ2LDlBMTUuNjIsMTUuNjIs MCwwLDAsMjY3LjM5LDUyLjVaIiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwYXRoIGNsYXNzPSJjbHMtNyBhcHAtbmFtZSIgZD0iTTI5NS4yOSwyOGg1LjIxdjQuNDZhMTcu NCwxNy40LDAsMCwxLDMuNC0zLjM3LDEwLjI0LDEwLjI0LDAsMCwxLDUuOTItMS43OSw5LjM0LDku MzQsMCwwLDEsNiwxLjg1LDkuNjEsOS42MSwwLDAsMSwyLjM0LDMuMSwxMS4zNywxMS4zNywwLDAs MSw0LjEzLTMuNzMsMTEuNTIsMTEuNTIsMCwwLDEsNS4zMy0xLjIycTYuMzMsMCw4LjYyLDQuNTdh MTUsMTUsMCwwLDEsMS4yMyw2LjYyVjU5LjM4SDMzMlYzNy41OGMwLTIuMDktLjUyLTMuNTItMS41 Ny00LjNhNi4yLDYuMiwwLDAsMC0zLjgyLTEuMTcsNy41OCw3LjU4LDAsMCwwLTUuMzUsMi4wOGMt MS40OSwxLjM4LTIuMjQsMy43LTIuMjQsNi45NFY1OS4zOGgtNS4zNlYzOC45YTEwLjc4LDEwLjc4 LDAsMCwwLS43Ni00LjY2cS0xLjItMi4xOS00LjQ5LTIuMTlBNy43Myw3LjczLDAsMCwwLDMwMywz NC4zNmMtMS42MywxLjU0LTIuNDUsNC4zNC0yLjQ1LDguMzhWNTkuMzhoLTUuMjdaIiAvPgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtNyBhcHAtbmFt ZSIgZD0iTTM0NS4yNywxNi4zNGg1LjM2djZoLTUuMzZabTAsMTEuODFoNS4zNlY1OS4zOGgtNS4z NloiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNs cy03IGFwcC1uYW1lIiBkPSJNMzU4LjYsMjhoNXY0LjQ2YTE0LDE0LDAsMCwxLDQuNzItNCwxMi41 NiwxMi41NiwwLDAsMSw1LjUzLTEuMmM0LjQ2LDAsNy40NiwxLjU1LDksNC42NmExNi41MiwxNi41 MiwwLDAsMSwxLjI5LDcuMjlWNTkuMzhoLTUuMzdWMzkuNjFBMTAuOCwxMC44LDAsMCwwLDM3OCwz NWE1LjE1LDUuMTUsMCwwLDAtNS4xLTIuOTMsMTAuMjEsMTAuMjEsMCwwLDAtMy4wOC4zOEE4LDgs MCwwLDAsMzY2LDM1YTcuNjYsNy42NiwwLDAsMC0xLjcxLDMuMiwyMS44NCwyMS44NCwwLDAsMC0u NCw0Ljc0VjU5LjM4SDM1OC42WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik0xNTUuMjQsODYuODdoMy45bDUu NzcsMTcsNS43NC0xN2gzLjg3VjEwN2gtMi42Vjk1LjFxMC0uNjEsMC0yYzAtLjk0LDAtMiwwLTNM MTY2LjI0LDEwN2gtMi43TDE1Ny43NSw5MHYuNjFjMCwuNDksMCwxLjI0LDAsMi4yNXMuMDUsMS43 NS4wNSwyLjIyVjEwN2gtMi42WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik0xODYuMTUsOTguMDlhMS4zNSwx LjM1LDAsMCwwLDEuMTQtLjcxLDIuMzEsMi4zMSwwLDAsMCwuMTYtLjk0LDIsMiwwLDAsMC0uODkt MS44NEE0Ljc5LDQuNzksMCwwLDAsMTg0LDk0YTMuMjEsMy4yMSwwLDAsMC0yLjczLDEsMy40NCwz LjQ0LDAsMCwwLS41OSwxLjcyaC0yLjNBNC4yOCw0LjI4LDAsMCwxLDE4MC4xNCw5Myw3LjE2LDcu MTYsMCwwLDEsMTg0LjA1LDkyYTgsOCwwLDAsMSw0LjE5LDEsMy4zNCwzLjM0LDAsMCwxLDEuNiwz LjA2djguNDRhMS4wNiwxLjA2LDAsMCwwLC4xNi42Mi43Ny43NywwLDAsMCwuNjYuMjNsLjM3LDAs LjQ0LS4wN1YxMDdhNy4zOCw3LjM4LDAsMCwxLS44OC4yMSw1LjkyLDUuOTIsMCwwLDEtLjgyLDAs MiwyLDAsMCwxLTEuODQtLjksMy42MywzLjYzLDAsMCwxLS40My0xLjM2LDYuMTYsNi4xNiwwLDAs MS0yLjE2LDEuNzEsNi41Niw2LjU2LDAsMCwxLTMuMS43Myw0LjU5LDQuNTksMCwwLDEtMy4zMy0x LjI0LDQuMDksNC4wOSwwLDAsMS0xLjI5LTMuMDksNCw0LDAsMCwxLDEuMjctMy4xNiw2LjE2LDYu MTYsMCwwLDEsMy4zNC0xLjM4Wk0xODEsMTA0Ljc0YTIuODgsMi44OCwwLDAsMCwxLjg0LjYyLDUu NTEsNS41MSwwLDAsMCwyLjUyLS42MSwzLjM3LDMuMzcsMCwwLDAsMi0zLjI2di0yYTMuNzksMy43 OSwwLDAsMS0xLjE2LjQ4LDEwLjM3LDEwLjM3LDAsMCwxLTEuMzkuMjhsLTEuNDkuMTlhNS42OCw1 LjY4LDAsMCwwLTIsLjU2LDIuMTgsMi4xOCwwLDAsMC0xLjE0LDJBMiwyLDAsMCwwLDE4MSwxMDQu NzRaIiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJj bHMtOCBhcHAtdGFnbGluZSIgZD0iTTE5My44OCw5Mi4zMWgyLjMzdjIuMDhhNi43Myw2LjczLDAs MCwxLDIuMi0xLjg1QTYsNiwwLDAsMSwyMDEsOTJxMy4xMiwwLDQuMjEsMi4xOGE3LjczLDcuNzMs MCwwLDEsLjYsMy40VjEwN2gtMi41Vjk3LjczYTQuODcsNC44NywwLDAsMC0uNC0yLjE2LDIuNDEs Mi40MSwwLDAsMC0yLjM4LTEuMzcsNC43NSw0Ljc1LDAsMCwwLTEuNDMuMTgsMy42OCwzLjY4LDAs MCwwLTEuNzgsMS4yLDMuNTUsMy41NSwwLDAsMC0uOCwxLjUsMTAuMywxMC4zLDAsMCwwLS4xOCwy LjIxVjEwN2gtMi40NloiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBh dGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5lIiBkPSJNMjE3LjI5LDk4LjA5YTEuMzMsMS4zMyww LDAsMCwxLjE0LS43MSwyLjE1LDIuMTUsMCwwLDAsLjE2LS45NCwyLDIsMCwwLDAtLjg5LTEuODQs NC43OSw0Ljc5LDAsMCwwLTIuNTYtLjU2LDMuMjQsMy4yNCwwLDAsMC0yLjczLDEsMy40NCwzLjQ0 LDAsMCwwLS41OCwxLjcyaC0yLjNBNC4yNyw0LjI3LDAsMCwxLDIxMS4yOCw5Myw3LjE5LDcuMTks MCwwLDEsMjE1LjIsOTJhOCw4LDAsMCwxLDQuMTksMUEzLjM2LDMuMzYsMCwwLDEsMjIxLDk2djgu NDRhMS4xNCwxLjE0LDAsMCwwLC4xNS42Mi43OS43OSwwLDAsMCwuNjcuMjNsLjM3LDAsLjQzLS4w N1YxMDdhNy4zMiw3LjMyLDAsMCwxLS44Ny4yMSw2LDYsMCwwLDEtLjgyLDAsMiwyLDAsMCwxLTEu ODUtLjksMy40NiwzLjQ2LDAsMCwxLS40Mi0xLjM2LDYuMTYsNi4xNiwwLDAsMS0yLjE2LDEuNzEs Ni42Myw2LjYzLDAsMCwxLTMuMTEuNzMsNC41OCw0LjU4LDAsMCwxLTMuMzItMS4yNCw0LjA2LDQu MDYsMCwwLDEtMS4zLTMuMDlBNCw0LDAsMCwxLDIxMCwxMDBhNi4xMyw2LjEzLDAsMCwxLDMuMzMt MS4zOFptLTUuMTgsNi42NWEyLjkxLDIuOTEsMCwwLDAsMS44NS42Miw1LjQ3LDUuNDcsMCwwLDAs Mi41MS0uNjEsMy4zOCwzLjM4LDAsMCwwLDIuMDYtMy4yNnYtMmEzLjksMy45LDAsMCwxLTEuMTYu NDgsMTAuNTEsMTAuNTEsMCwwLDEtMS40LjI4bC0xLjQ4LjE5YTUuNTUsNS41NSwwLDAsMC0yLC41 NiwyLjE3LDIuMTcsMCwwLDAtMS4xNSwyQTIsMiwwLDAsMCwyMTIuMTEsMTA0Ljc0WiIgLz4KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRh Z2xpbmUiIGQ9Ik0yMzMuMTYsOTIuOWE3LjA1LDcuMDUsMCwwLDEsMS40MiwxLjM5VjkyLjQ1aDIu Mjd2MTMuMzJhMTAsMTAsMCwwLDEtLjgyLDQuNGMtMSwyLTIuOTQsMy01Ljc3LDNhNy4wOSw3LjA5 LDAsMCwxLTQtMS4wNiw0LjE1LDQuMTUsMCwwLDEtMS44LTMuMzJIMjI3YTIuODEsMi44MSwwLDAs MCwuNzEsMS41MiwzLjU3LDMuNTcsMCwwLDAsMi42MS44MmMxLjg4LDAsMy4xLS42NiwzLjY4LTJh MTEuMTUsMTEuMTUsMCwwLDAsLjQ4LTQuMiw0Ljg0LDQuODQsMCwwLDEtMS43NywxLjY3LDUuOTMs NS45MywwLDAsMS0yLjc0LjU0LDUuNzksNS43OSwwLDAsMS00LjE0LTEuNjlxLTEuNzktMS42OC0x Ljc4LTUuNThhOC40OSw4LjQ5LDAsMCwxLDEuNzktNS43NCw1LjUxLDUuNTEsMCwwLDEsNC4zMi0y LjA3QTUuMzMsNS4zMywwLDAsMSwyMzMuMTYsOTIuOVptLjMsMi42NGEzLjc3LDMuNzcsMCwwLDAt Ni4zOCwxLjEyLDkuNzMsOS43MywwLDAsMC0uNSwzLjQsNi4wNSw2LjA1LDAsMCwwLDEsMy43Nywz LjIxLDMuMjEsMCwwLDAsMi42OCwxLjI5LDMuNzcsMy43NywwLDAsMCwzLjcyLTIuMzksNy43MSw3 LjcxLDAsMCwwLC42LTMuMTZBNi4xMyw2LjEzLDAsMCwwLDIzMy40Niw5NS41NFoiIC8+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWds aW5lIiBkPSJNMjQ5LjY0LDkyLjcyYTUuNDQsNS40NCwwLDAsMSwyLjIxLDEuODksNi41Miw2LjUy LDAsMCwxLDEsMi41OCwxNy40NCwxNy40NCwwLDAsMSwuMjIsMy4yM0gyNDIuNGE2LjM0LDYuMzQs MCwwLDAsMSwzLjU5LDMuNDksMy40OSwwLDAsMCwzLDEuMzUsMy45LDMuOSwwLDAsMCwzLjA1LTEu MjgsNC41LDQuNSwwLDAsMCwuOS0xLjcyaDIuNDJhNSw1LDAsMCwxLS42MywxLjgsNi41OCw2LjU4 LDAsMCwxLTEuMjEsMS42Miw1LjcxLDUuNzEsMCwwLDEtMi43NSwxLjQ4LDguNzEsOC43MSwwLDAs MS0yLC4yMSw2LjExLDYuMTEsMCwwLDEtNC42LTIsNy43OSw3Ljc5LDAsMCwxLTEuODktNS41OCw4 LjQxLDguNDEsMCwwLDEsMS45LTUuNzIsNi4yNiw2LjI2LDAsMCwxLDUtMi4yMUE2LjU5LDYuNTks MCwwLDEsMjQ5LjY0LDkyLjcyWm0uODgsNS43NGE2LjQ2LDYuNDYsMCwwLDAtLjY5LTIuNTUsMy41 NCwzLjU0LDAsMCwwLTMuMzUtMS43OCwzLjcyLDMuNzIsMCwwLDAtMi44MiwxLjIyLDQuNjksNC42 OSwwLDAsMC0xLjIxLDMuMTFaIiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwYXRoIGNsYXNzPSJjbHMtOCBhcHAtdGFnbGluZSIgZD0iTTI1Ni4xNiw5Mi4zMWgyLjQ0djIu MDhhOC4yMyw4LjIzLDAsMCwxLDEuNTgtMS41N0E0Ljc5LDQuNzksMCwwLDEsMjYzLDkyYTQuMzEs NC4zMSwwLDAsMSwyLjgxLjg3LDQuNSw0LjUsMCwwLDEsMS4xLDEuNDQsNS4yNyw1LjI3LDAsMCwx LDEuOTItMS43NCw1LjM3LDUuMzcsMCwwLDEsMi40OS0uNTcsNC4wOCw0LjA4LDAsMCwxLDQsMi4x NCw3LDcsMCwwLDEsLjU4LDMuMDlWMTA3aC0yLjU2Vjk2Ljc4YTIuNDEsMi40MSwwLDAsMC0uNzMt MiwyLjkzLDIuOTMsMCwwLDAtMS43OS0uNTQsMy41MywzLjUzLDAsMCwwLTIuNDksMSw0LjIzLDQu MjMsMCwwLDAtMS4wNSwzLjI0VjEwN2gtMi41Vjk3LjRhNSw1LDAsMCwwLS4zNi0yLjE4LDIuMTcs Mi4xNywwLDAsMC0yLjA5LTEsMy41OSwzLjU5LDAsMCwwLTIuNTMsMS4wOGMtLjc2LjcyLTEuMTQs Mi0xLjE0LDMuOTFWMTA3aC0yLjQ3WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik0yODguNTMsOTIuNzJhNS40 Nyw1LjQ3LDAsMCwxLDIuMjIsMS44OSw2LjY3LDYuNjcsMCwwLDEsMSwyLjU4LDE3LjY2LDE3LjY2 LDAsMCwxLC4yMSwzLjIzSDI4MS4yOWE2LjQyLDYuNDIsMCwwLDAsMSwzLjU5LDMuNDgsMy40OCww LDAsMCwzLDEuMzUsMy45LDMuOSwwLDAsMCwzLjA2LTEuMjgsNC41LDQuNSwwLDAsMCwuOS0xLjcy aDIuNDJhNS4yMyw1LjIzLDAsMCwxLS42NCwxLjgsNi41Niw2LjU2LDAsMCwxLTEuMiwxLjYyLDUu Nyw1LjcsMCwwLDEtMi43NiwxLjQ4LDguNjIsOC42MiwwLDAsMS0yLC4yMSw2LjE0LDYuMTQsMCww LDEtNC42MS0yLDcuNzksNy43OSwwLDAsMS0xLjg5LTUuNTgsOC40MSw4LjQxLDAsMCwxLDEuOTEt NS43Miw2LjI0LDYuMjQsMCwwLDEsNS0yLjIxQTYuNTgsNi41OCwwLDAsMSwyODguNTMsOTIuNzJa bS44OCw1Ljc0YTYuNDYsNi40NiwwLDAsMC0uNjktMi41NSwzLjUzLDMuNTMsMCwwLDAtMy4zNS0x Ljc4LDMuNzIsMy43MiwwLDAsMC0yLjgyLDEuMjIsNC42Myw0LjYzLDAsMCwwLTEuMiwzLjExWiIg Lz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTgg YXBwLXRhZ2xpbmUiIGQ9Ik0yOTUuMDYsOTIuMzFoMi4zNHYyLjA4YTYuNjMsNi42MywwLDAsMSwy LjItMS44NSw1LjkxLDUuOTEsMCwwLDEsMi41OC0uNTZjMi4wOCwwLDMuNDkuNzMsNC4yMSwyLjE4 YTcuNTcsNy41NywwLDAsMSwuNjEsMy40VjEwN2gtMi41MVY5Ny43M2E1LDUsMCwwLDAtLjM5LTIu MTYsMi40MSwyLjQxLDAsMCwwLTIuMzgtMS4zNyw0Ljg2LDQuODYsMCwwLDAtMS40NC4xOCwzLjcs My43LDAsMCwwLTEuNzcsMS4yLDMuNTUsMy41NSwwLDAsMC0uOCwxLjUsOS41OCw5LjU4LDAsMCww LS4xOSwyLjIxVjEwN2gtMi40NloiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5lIiBkPSJNMzExLjEzLDg4LjIyaDIuNDh2 NC4wOUgzMTZ2MmgtMi4zNHY5LjU2YTEsMSwwLDAsMCwuNTIsMSwyLjIxLDIuMjEsMCwwLDAsMSwu MTVoLjM4bC40OCwwdjJhNC4xNiw0LjE2LDAsMCwxLS44OC4xOCw3Ljc0LDcuNzQsMCwwLDEtMSwu MDYsMi42OSwyLjY5LDAsMCwxLTIuMzQtLjg4LDMuOTQsMy45NCwwLDAsMS0uNjEtMi4yOXYtOS43 aC0ydi0yaDJaIiAvPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGNs YXNzPSJjbHMtOCBhcHAtdGFnbGluZSIgZD0iTTM0MC42Myw4Ni44N3YyLjM5aC02Ljc3VjEwN2gt Mi43NVY4OS4yNmgtNi43NlY4Ni44N1oiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5lIiBkPSJNMzUwLjMxLDkzLjc3YTcu NDIsNy40MiwwLDAsMSwxLjk0LDUuNTUsOS41Nyw5LjU3LDAsMCwxLTEuNzEsNS44NSw2LjE5LDYu MTksMCwwLDEtNS4zMSwyLjMsNiw2LDAsMCwxLTQuNzYtMkE4LjA4LDguMDgsMCwwLDEsMzM4Ljcs MTAwYTguNzgsOC43OCwwLDAsMSwxLjg2LTUuODgsNi4yNSw2LjI1LDAsMCwxLDUtMi4xOEE2LjYs Ni42LDAsMCwxLDM1MC4zMSw5My43N1ptLTEuNTMsOS43NGE5LjMyLDkuMzIsMCwwLDAsLjktNC4x Miw3LjM5LDcuMzksMCwwLDAtLjY1LTMuMzMsMy42MywzLjYzLDAsMCwwLTMuNTQtMiwzLjQ5LDMu NDksMCwwLDAtMy4yNSwxLjcyLDguMDcsOC4wNywwLDAsMC0xLDQuMTUsNy4wNSw3LjA1LDAsMCww LDEsMy44OSwzLjU2LDMuNTYsMCwwLDAsMy4yMiwxLjU2QTMuMzUsMy4zNSwwLDAsMCwzNDguNzgs MTAzLjUxWiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFz cz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik0zNjUuODgsOTMuNzdhNy40Miw3LjQyLDAsMCwxLDEu OTQsNS41NSw5LjU3LDkuNTcsMCwwLDEtMS43MSw1Ljg1LDYuMTksNi4xOSwwLDAsMS01LjMxLDIu Myw2LDYsMCwwLDEtNC43Ni0yLDguMDgsOC4wOCwwLDAsMS0xLjc3LTUuNDgsOC43OCw4Ljc4LDAs MCwxLDEuODYtNS44OCw2LjI1LDYuMjUsMCwwLDEsNS0yLjE4QTYuNTgsNi41OCwwLDAsMSwzNjUu ODgsOTMuNzdabS0xLjUzLDkuNzRhOS4zMiw5LjMyLDAsMCwwLC45LTQuMTIsNy4yNiw3LjI2LDAs MCwwLS42NS0zLjMzLDMuNjMsMy42MywwLDAsMC0zLjU0LTIsMy40NiwzLjQ2LDAsMCwwLTMuMjQs MS43Miw4LDgsMCwwLDAtMSw0LjE1LDcsNywwLDAsMCwxLDMuODksMy41NCwzLjU0LDAsMCwwLDMu MjEsMS41NkEzLjM1LDMuMzUsMCwwLDAsMzY0LjM1LDEwMy41MVoiIC8+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5lIiBkPSJN MzcwLjkxLDg2Ljg3aDIuNDZWMTA3aC0yLjQ2WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik0zNzguNTMsMTAy LjM2YTMuNDcsMy40NywwLDAsMCwuNjMsMS44OSw0LDQsMCwwLDAsMy4yOSwxLjE5LDQuODYsNC44 NiwwLDAsMCwyLjQ1LS42QTIsMiwwLDAsMCwzODYsMTAzYTEuNTYsMS41NiwwLDAsMC0uODQtMS40 MywxMC42MywxMC42MywwLDAsMC0yLjE0LS43bC0yLS40OWExMCwxMCwwLDAsMS0yLjgxLTEsMy4x MSwzLjExLDAsMCwxLTEuNjEtMi43Niw0LjIxLDQuMjEsMCwwLDEsMS41Mi0zLjM3LDYuMTMsNi4x MywwLDAsMSw0LjA4LTEuMjhxMy4zNiwwLDQuODMsMS45NGE0LjI0LDQuMjQsMCwwLDEsLjkxLDIu NjVoLTIuMzNBMi43MiwyLjcyLDAsMCwwLDM4NSw5NWEzLjkyLDMuOTIsMCwwLDAtMy0xLDMuNywz LjcsMCwwLDAtMi4xNi41MywxLjY1LDEuNjUsMCwwLDAtLjc0LDEuNCwxLjczLDEuNzMsMCwwLDAs MSwxLjUzLDUuNjksNS42OSwwLDAsMCwxLjY0LjZsMS42Ni40QTEyLjczLDEyLjczLDAsMCwxLDM4 Nyw5OS43NWEzLjMsMy4zLDAsMCwxLDEuNDQsMyw0LjQ4LDQuNDgsMCwwLDEtMS41LDMuMzcsNi40 NSw2LjQ1LDAsMCwxLTQuNTgsMS40M2MtMi4yLDAtMy43Ny0uNS00LjY4LTEuNDlhNS41OSw1LjU5 LDAsMCwxLTEuNDgtMy42N1oiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHBhdGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5lIiBkPSJNNDAwLDg3Ljg0Yy41OC0uODQsMS42 OC0xLjI2LDMuMzItMS4yNmwuNDgsMCwuNTYsMHYyLjI0bC0uNTYsMGgtLjMyYy0uNzYsMC0xLjIx LjE5LTEuMzYuNThhMTEuNzUsMTEuNzUsMCwwLDAtLjIyLDNoMi40NnYxLjk0aC0yLjQ2VjEwN2gt Mi40M1Y5NC4zMmgtMlY5Mi4zOGgydi0yLjNBNC40Myw0LjQzLDAsMCwxLDQwMCw4Ny44NFoiIC8+ Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFw cC10YWdsaW5lIiBkPSJNNDE3LjIzLDkzLjc3YTcuMzgsNy4zOCwwLDAsMSwxLjk0LDUuNTUsOS41 Nyw5LjU3LDAsMCwxLTEuNzEsNS44NSw2LjE4LDYuMTgsMCwwLDEtNS4zLDIuMyw2LDYsMCwwLDEt NC43Ny0yLDguMDcsOC4wNywwLDAsMS0xLjc2LTUuNDgsOC44Myw4LjgzLDAsMCwxLDEuODUtNS44 OCw2LjI1LDYuMjUsMCwwLDEsNS0yLjE4QTYuNTgsNi41OCwwLDAsMSw0MTcuMjMsOTMuNzdabS0x LjUzLDkuNzRhOS4zMiw5LjMyLDAsMCwwLC45LTQuMTIsNy4yNiw3LjI2LDAsMCwwLS42NS0zLjMz LDMuNjMsMy42MywwLDAsMC0zLjU0LTIsMy40NywzLjQ3LDAsMCwwLTMuMjQsMS43Miw4LDgsMCww LDAtMSw0LjE1LDcsNywwLDAsMCwxLDMuODksMy41NSwzLjU1LDAsMCwwLDMuMjIsMS41NkEzLjM1 LDMuMzUsMCwwLDAsNDE1LjcsMTAzLjUxWiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik00MjIuMjYsOTIuMzFo Mi4zNHYyLjUzQTUuNjEsNS42MSwwLDAsMSw0MjYsOTMsMy42OCwzLjY4LDAsMCwxLDQyOC41OSw5 MmwuMjQsMCwuNTYsMHYyLjZhMi4wOCwyLjA4LDAsMCwwLS40MS0uMDVsLS40LDBhMy41MiwzLjUy LDAsMCwwLTIuODYsMS4yLDQuMiw0LjIsMCwwLDAtMSwyLjc1VjEwN2gtMi40NloiIC8+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWds aW5lIiBkPSJNNDM5Ljg5LDg2Ljg3aDlhNi4wOSw2LjA5LDAsMCwxLDQuMzEsMS41MSw1LjUsNS41 LDAsMCwxLDEuNjQsNC4yNSw2LjE1LDYuMTUsMCwwLDEtMS40Nyw0LjA5LDUuNSw1LjUsMCwwLDEt NC40NywxLjc0aC02LjI3VjEwN2gtMi43MlptMTAuNTUsMi43NmE1LjkyLDUuOTIsMCwwLDAtMi40 Ni0uNDJoLTUuMzd2N0g0NDhhNS4wNyw1LjA3LDAsMCwwLDIuOTUtLjc4LDMuMSwzLjEsMCwwLDAs MS4xNC0yLjc1QTMsMywwLDAsMCw0NTAuNDQsODkuNjNaIiAvPgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOCBhcHAtdGFnbGluZSIgZD0iTTQ2OC41 OCw5My43N2E3LjM4LDcuMzgsMCwwLDEsMS45NSw1LjU1LDkuNTEsOS41MSwwLDAsMS0xLjcyLDUu ODUsNi4xNyw2LjE3LDAsMCwxLTUuMywyLjMsNiw2LDAsMCwxLTQuNzctMkE4LjA3LDguMDcsMCww LDEsNDU3LDEwMGE4Ljc4LDguNzgsMCwwLDEsMS44Ni01Ljg4LDYuMjMsNi4yMywwLDAsMSw1LTIu MThBNi41Niw2LjU2LDAsMCwxLDQ2OC41OCw5My43N1ptLTEuNTIsOS43NGE5LjMyLDkuMzIsMCww LDAsLjktNC4xMiw3LjM5LDcuMzksMCwwLDAtLjY1LTMuMzMsMy42NSwzLjY1LDAsMCwwLTMuNTUt MiwzLjQ4LDMuNDgsMCwwLDAtMy4yNCwxLjcyLDgsOCwwLDAsMC0xLDQuMTUsNyw3LDAsMCwwLDEs My44OSwzLjU2LDMuNTYsMCwwLDAsMy4yMiwxLjU2QTMuMzYsMy4zNiwwLDAsMCw0NjcuMDYsMTAz LjUxWiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0i Y2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik00NzUsMTAyLjM2YTMuNDcsMy40NywwLDAsMCwuNjMsMS44 OSw0LDQsMCwwLDAsMy4yOSwxLjE5LDQuOTMsNC45MywwLDAsMCwyLjQ2LS42LDIsMiwwLDAsMCwx LjA2LTEuODQsMS41NSwxLjU1LDAsMCwwLS44NS0xLjQzLDEwLjQsMTAuNCwwLDAsMC0yLjE0LS43 bC0yLS40OWE5Ljc4LDkuNzgsMCwwLDEtMi44LTEsMy4xLDMuMSwwLDAsMS0xLjYyLTIuNzYsNC4y MSw0LjIxLDAsMCwxLDEuNTItMy4zNyw2LjEzLDYuMTMsMCwwLDEsNC4wOC0xLjI4cTMuMzYsMCw0 Ljg0LDEuOTRhNC4xNyw0LjE3LDAsMCwxLC45LDIuNjVoLTIuMzNhMi43MiwyLjcyLDAsMCwwLS42 LTEuNTEsMy45MiwzLjkyLDAsMCwwLTMtMSwzLjcsMy43LDAsMCwwLTIuMTYuNTMsMS42NCwxLjY0 LDAsMCwwLS43MywxLjQsMS43MiwxLjcyLDAsMCwwLDEsMS41Myw1LjY2LDUuNjYsMCwwLDAsMS42 NS42bDEuNjUuNGExMi44MywxMi44MywwLDAsMSwzLjYzLDEuMjQsMy4zMSwzLjMxLDAsMCwxLDEu NDMsMyw0LjQ4LDQuNDgsMCwwLDEtMS41LDMuMzcsNi40NSw2LjQ1LDAsMCwxLTQuNTgsMS40M3Et My4zLDAtNC42OC0xLjQ5YTUuNTksNS41OSwwLDAsMS0xLjQ4LTMuNjdaIiAvPgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOCBhcHAtdGFnbGluZSIg ZD0iTTQ4OCw4OC4yMmgyLjQ5djQuMDloMi4zNHYyaC0yLjM0djkuNTZhMSwxLDAsMCwwLC41Miwx LDIuMTksMi4xOSwwLDAsMCwuOTUuMTVoLjM5bC40OCwwdjJhNC4zOSw0LjM5LDAsMCwxLS44OS4x OCw3LjUyLDcuNTIsMCwwLDEtMSwuMDYsMi42OSwyLjY5LDAsMCwxLTIuMzQtLjg4QTMuOTQsMy45 NCwwLDAsMSw0ODgsMTA0di05LjdoLTJ2LTJoMloiIC8+Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5lIiBkPSJNNTAzLjQ3LDky LjlhNi43OCw2Ljc4LDAsMCwxLDEuNDEsMS4zOVY5Mi40NWgyLjI3djEzLjMyYTEwLDEwLDAsMCwx LS44MSw0LjRjLTEsMi0yLjk0LDMtNS43NywzYTcuMDksNy4wOSwwLDAsMS00LTEuMDYsNC4xLDQu MSwwLDAsMS0xLjgtMy4zMmgyLjVhMi43NCwyLjc0LDAsMCwwLC43MSwxLjUyLDMuNTcsMy41Nyww LDAsMCwyLjYxLjgyYzEuODcsMCwzLjEtLjY2LDMuNjgtMmExMS4zNywxMS4zNywwLDAsMCwuNDgt NC4yLDQuODQsNC44NCwwLDAsMS0xLjc3LDEuNjcsNiw2LDAsMCwxLTIuNzQuNTQsNS44Myw1Ljgz LDAsMCwxLTQuMTUtMS42OXEtMS43Ny0xLjY4LTEuNzctNS41OGE4LjQzLDguNDMsMCwwLDEsMS43 OS01Ljc0LDUuNTEsNS41MSwwLDAsMSw0LjMyLTIuMDdBNS4zOCw1LjM4LDAsMCwxLDUwMy40Nyw5 Mi45Wm0uMywyLjY0YTMuNTYsMy41NiwwLDAsMC0yLjg1LTEuMzEsMy41LDMuNSwwLDAsMC0zLjUz LDIuNDMsOS40OCw5LjQ4LDAsMCwwLS41MSwzLjQsNi4xMiw2LjEyLDAsMCwwLDEsMy43NywzLjI0 LDMuMjQsMCwwLDAsMi42OSwxLjI5LDMuNzUsMy43NSwwLDAsMCwzLjcxLTIuMzksNy43MSw3Ljcx LDAsMCwwLC42LTMuMTZBNi4xNCw2LjE0LDAsMCwwLDUwMy43Nyw5NS41NFoiIC8+Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImNscy04IGFwcC10YWdsaW5l IiBkPSJNNTExLDkyLjMxaDIuMzN2Mi41M2E1LjkxLDUuOTEsMCwwLDEsMS40MS0xLjhBMy42OSwz LjY5LDAsMCwxLDUxNy4zLDkybC4yMywwLC41NiwwdjIuNmEyLjA4LDIuMDgsMCwwLDAtLjQtLjA1 bC0uNDEsMGEzLjQ4LDMuNDgsMCwwLDAtMi44NSwxLjIsNC4xNCw0LjE0LDAsMCwwLTEsMi43NVYx MDdINTExWiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFz cz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik01MjkuMjcsOTIuNzJhNS40NCw1LjQ0LDAsMCwxLDIu MjEsMS44OSw2LjUyLDYuNTIsMCwwLDEsMSwyLjU4LDE2LjYsMTYuNiwwLDAsMSwuMjIsMy4yM0g1 MjJhNi4zNCw2LjM0LDAsMCwwLDEsMy41OSwzLjQ5LDMuNDksMCwwLDAsMywxLjM1LDMuOSwzLjks MCwwLDAsMy0xLjI4LDQuMzcsNC4zNywwLDAsMCwuOS0xLjcyaDIuNDJhNSw1LDAsMCwxLS42Mywx LjgsNi4zNCw2LjM0LDAsMCwxLTEuMjEsMS42Miw1LjcxLDUuNzEsMCwwLDEtMi43NSwxLjQ4LDgu NjUsOC42NSwwLDAsMS0yLC4yMSw2LjExLDYuMTEsMCwwLDEtNC42LTIsNy43OSw3Ljc5LDAsMCwx LTEuODktNS41OCw4LjQxLDguNDEsMCwwLDEsMS45LTUuNzIsNi4yNiw2LjI2LDAsMCwxLDUtMi4y MUE2LjU5LDYuNTksMCwwLDEsNTI5LjI3LDkyLjcyWm0uODgsNS43NGE2LjQ2LDYuNDYsMCwwLDAt LjY5LTIuNTUsMy41NCwzLjU0LDAsMCwwLTMuMzUtMS43OCwzLjcyLDMuNzIsMCwwLDAtMi44Miwx LjIyLDQuNjksNC42OSwwLDAsMC0xLjIxLDMuMTFaIiAvPgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtOCBhcHAtdGFnbGluZSIgZD0iTTUzNy45LDEw MC40N2E1LjYsNS42LDAsMCwwLC43OCwyLjc4cTEuMywyLDQuNTksMmE3LjksNy45LDAsMCwwLDIu NjktLjQ0LDMuMDksMy4wOSwwLDAsMCwyLjM0LTMsMi42NCwyLjY0LDAsMCwwLTEtMi4zMyw5LjU1 LDkuNTUsMCwwLDAtMy4xNS0xLjE5bC0yLjY0LS42MmExMS40MSwxMS40MSwwLDAsMS0zLjY1LTEu MzNBNC4yMyw0LjIzLDAsMCwxLDUzNiw5Mi41NGE1Ljg2LDUuODYsMCwwLDEsMS44My00LjQ0QTcu MTYsNy4xNiwwLDAsMSw1NDMsODYuMzdhOC43NSw4Ljc1LDAsMCwxLDUuMjIsMS41Miw1LjU3LDUu NTcsMCwwLDEsMi4xNSw0Ljg3aC0yLjU2YTUuMTIsNS4xMiwwLDAsMC0uODQtMi40N2MtLjc5LTEu MDUtMi4xNC0xLjU3LTQuMDUtMS41N2E0LjUxLDQuNTEsMCwwLDAtMy4zMSwxLDMuMiwzLjIsMCww LDAtMSwyLjM1LDIuMzMsMi4zMywwLDAsMCwxLjE5LDIuMTYsMTYuNzYsMTYuNzYsMCwwLDAsMy41 NCwxLjA5bDIuNzMuNjVhOC4xNSw4LjE1LDAsMCwxLDMsMS4yNyw0LjgxLDQuODEsMCwwLDEsMS44 Niw0LjA5LDUuMTQsNS4xNCwwLDAsMS0yLjM3LDQuNzcsMTAuNDYsMTAuNDYsMCwwLDEtNS41LDEu NDMsOC4wNyw4LjA3LDAsMCwxLTUuNzItMS45MSw2LjU3LDYuNTcsMCwwLDEtMi01LjE2WiIgLz4K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTggYXBw LXRhZ2xpbmUiIGQ9Ik01NzMuMTcsMTA2LjlsLTEuMzYsMS42NS0zLjExLTIuMzZhMTEuMzMsMTEu MzMsMCwwLDEtMi40MywxLDEwLjI5LDEwLjI5LDAsMCwxLTIuODUuMzcsOS4xOCw5LjE4LDAsMCwx LTcuMzItMy4wNkExMS43MSwxMS43MSwwLDAsMSw1NTMuNzYsOTdhMTEuOSwxMS45LDAsMCwxLDIt Nyw4Ljc4LDguNzgsMCwwLDEsNy42OS0zLjcyYzMuNTQsMCw2LjE3LDEuMTQsNy44NywzLjQyYTEx LjA4LDExLjA4LDAsMCwxLDIsNi44MiwxNC4yOCwxNC4yOCwwLDAsMS0uNDgsMy43Myw5LjY3LDku NjcsMCwwLDEtMi40NCw0LjQ2Wk01NjUuMzUsMTA1YTMuMzYsMy4zNiwwLDAsMCwxLjI5LS40N2wt Mi4yMi0xLjcyLDEuMzctMS42OCwyLjYyLDJBNy41LDcuNSwwLDAsMCw1NzAuMSwxMDBhMTMuNzYs MTMuNzYsMCwwLDAsLjQ1LTMuMzksOC40OCw4LjQ4LDAsMCwwLTEuODUtNS43LDYuMzUsNi4zNSww LDAsMC01LjA3LTIuMTcsNi42LDYuNiwwLDAsMC01LjE1LDIuMDhxLTEuOSwyLjA3LTEuOSw2LjM4 QTguNjQsOC42NCwwLDAsMCw1NTguNCwxMDNhNi42Myw2LjYzLDAsMCwwLDUuMzYsMi4xNUExMS4y NCwxMS4yNCwwLDAsMCw1NjUuMzUsMTA1WiIgLz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTggYXBwLXRhZ2xpbmUiIGQ9Ik01NzYuNTgsODYuODdo Mi43MnYxNy42OWgxMC4wOFYxMDdoLTEyLjhaIiAvPgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxsaW5lIGNsYXNzPSJjbHMtOSBhcHAtbmFtZS11bmRlcmxpbmUiIHgxPSIyMTku MTciIHkxPSI2Ni41IiB4Mj0iMzg0LjE3IiB5Mj0iNjYuNSIgLz4KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L2c+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+Ci0g ICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxo ND57eyBfKCdGZWF0dXJlIHJpY2gnKSB9fSB8IHt7IF8oJ01heGltaXNlcyBQb3N0Z3JlU1FMJykg fX0gfCB7eyBfKCdPcGVuIFNvdXJjZScpIH19IDwvaDQ+Ci0gICAgICAgICAgICAgICAgICAgICAg ICA8cD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBfKCdwZ0FkbWluIGlzIGFuIE9w ZW4gU291cmNlIGFkbWluaXN0cmF0aW9uIGFuZCBtYW5hZ2VtZW50IHRvb2wgZm9yIHRoZSBQb3N0 Z3JlU1FMIGRhdGFiYXNlLiBJdCBpbmNsdWRlcyBhIGdyYXBoaWNhbCBhZG1pbmlzdHJhdGlvbiBp bnRlcmZhY2UsIGFuIFNRTCBxdWVyeSB0b29sLCBhIHByb2NlZHVyYWwgY29kZSBkZWJ1Z2dlciBh bmQgbXVjaCBtb3JlLiBUaGUgdG9vbCBpcyBkZXNpZ25lZCB0byBhbnN3ZXIgdGhlIG5lZWRzIG9m IGRldmVsb3BlcnMsIERCQXMgYW5kIHN5c3RlbSBhZG1pbmlzdHJhdG9ycyBhbGlrZS4nKSB9fQot ICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4K LSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L2Rp dj4KLSAgICAgICAgPGRpdiBjbGFzcz0icm93IG1iLTIiPgotICAgICAgICAgICAgPGRpdiBjbGFz cz0iY29sLTEyIj4KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkICI+Ci0gICAgICAg ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj57eyBfKCdRdWljayBMaW5rcycp IH19PC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSBwLTIi PgotICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNiBkYXNoYm9hcmQtbGluayI+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIG9uY2xpY2s9InBnQWRtaW4u RGFzaGJvYXJkLmFkZF9uZXdfc2VydmVyKCkiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHNwYW4gY2xhc3M9ImZhIGZhLTR4IGRhc2hib2FyZC1pY29uIGZhLXNlcnZlciIg YXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48YnIvPgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAge3sgXygnQWRkIE5ldyBTZXJ2ZXInKSB9fQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L2E+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTYgZGFzaGJvYXJkLWxp bmsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBvbmNsaWNr PSJwZ0FkbWluLlByZWZlcmVuY2VzLnNob3coKSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8c3BhbiBpZD0ibW51X3ByZWZlcmVuY2VzIiBjbGFzcz0iZmEgZmEtNHggZGFz aGJvYXJkLWljb24gZmEtY29ncyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PGJyLz4KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHt7IF8oJ0NvbmZpZ3VyZSBwZ0FkbWluJykgfX0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAg ICAgIDwvZGl2PgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC9kaXY+Ci0g ICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWItMiI+Ci0gICAgICAgICAg ICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgotICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQg Ij4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPnt7IF8oJ0dl dHRpbmcgU3RhcnRlZCcpIH19PC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9 ImNhcmQtYm9keSBwLTIiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93 Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0zIGRhc2hib2FyZC1s aW5rIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LnBv c3RncmVzcWwub3JnL2RvY3MiIHRhcmdldD0icG9zdGdyZXNfaGVscCI+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmYSBmYS00eCBkYXNoYm9hcmQtaWNvbiBk YXNoYm9hcmQtcGctZG9jIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxici8+Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHt7IF8oJ1Bvc3RncmVTUUwgRG9jdW1lbnRhdGlvbicp IH19Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgotICAgICAgICAgICAgICAgICAg ICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMyBk YXNoYm9hcmQtbGluayI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0 cHM6Ly93d3cucGdhZG1pbi5vcmciIHRhcmdldD0icGdhZG1pbl93ZWJzaXRlIj4KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZhIGZhLTR4IGRhc2hib2FyZC1p Y29uIGZhLWdsb2JlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxici8+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHt7IF8oJ3BnQWRtaW4gV2Vic2l0ZScpIH19Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgPC9hPgotICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMyBkYXNoYm9hcmQtbGlu ayI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3BsYW5ldC5w b3N0Z3Jlc3FsLm9yZyIgdGFyZ2V0PSJwbGFuZXRfd2Vic2l0ZSI+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmYSBmYS00eCBkYXNoYm9hcmQtaWNvbiBmYS1i b29rIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxici8+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHt7IF8oJ1BsYW5ldCBQb3N0Z3JlU1FMJykgfX0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L2E+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAg ICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0zIGRhc2hib2FyZC1saW5rIj4KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LnBvc3RncmVzcWwu b3JnL2NvbW11bml0eSIgdGFyZ2V0PSJwb3N0Z3Jlc193ZWJzaXRlIj4KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZhIGZhLTR4IGRhc2hib2FyZC1pY29uIGZh LXVzZXJzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxici8+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHt7IF8oJ0NvbW11bml0eSBTdXBwb3J0JykgfX0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8L2E+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAg ICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAg ICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDwvZGl2Pgot ICAgIDwvZGl2PgotPC9kaXY+CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2RlcGVuZGVu Y2llcy9zdGF0aWMvanMvRGVwZW5kZW5jaWVzLmpzeCBiL3dlYi9wZ2FkbWluL21pc2MvZGVwZW5k ZW5jaWVzL3N0YXRpYy9qcy9EZXBlbmRlbmNpZXMuanN4CmluZGV4IGVlN2VhNmU0Ni4uY2NiNjA1 ZDY3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2RlcGVuZGVuY2llcy9zdGF0aWMvanMv RGVwZW5kZW5jaWVzLmpzeAorKysgYi93ZWIvcGdhZG1pbi9taXNjL2RlcGVuZGVuY2llcy9zdGF0 aWMvanMvRGVwZW5kZW5jaWVzLmpzeApAQCAtMTYsNiArMTYsNyBAQCBpbXBvcnQgTm90aWZ5IGZy b20gJy4uLy4uLy4uLy4uL3N0YXRpYy9qcy9oZWxwZXJzL05vdGlmaWVyJzsKIGltcG9ydCBnZXRB cGlJbnN0YW5jZSBmcm9tICdzb3VyY2VzL2FwaV9pbnN0YW5jZSc7CiBpbXBvcnQgeyBtYWtlU3R5 bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJzsKIGltcG9ydCB7IGdldFVSTCB9 IGZyb20gJy4uLy4uLy4uL3N0YXRpYy91dGlscy91dGlscyc7CitpbXBvcnQgTG9hZGVyIGZyb20g J3NvdXJjZXMvY29tcG9uZW50cy9Mb2FkZXInOwogCiBjb25zdCB1c2VTdHlsZXMgPSBtYWtlU3R5 bGVzKCh0aGVtZSkgPT4gKHsKICAgZW1wdHlQYW5lbDogewpAQCAtNzEsNyArNzIsNyBAQCBmdW5j dGlvbiBwYXJzZURhdGEoZGF0YSwgbm9kZSkgewogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGVw ZW5kZW5jaWVzKHsgbm9kZURhdGEsIGl0ZW0sIG5vZGUsIC4uLnByb3BzIH0pIHsKICAgY29uc3Qg Y2xhc3NlcyA9IHVzZVN0eWxlcygpOwogICBjb25zdCBbdGFibGVEYXRhLCBzZXRUYWJsZURhdGFd ID0gUmVhY3QudXNlU3RhdGUoW10pOwotCisgIGNvbnN0IFtsb2FkZXJUZXh0LCBzZXRMb2FkZXJU ZXh0XSA9IFJlYWN0LnVzZVN0YXRlKCcnKTsKICAgY29uc3QgW21zZywgc2V0TXNnXSA9IFJlYWN0 LnVzZVN0YXRlKCcnKTsKICAgdmFyIGNvbHVtbnMgPSBbCiAgICAgewpAQCAtNzksMTQgKzgwLDE0 IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERlcGVuZGVuY2llcyh7IG5vZGVEYXRhLCBpdGVt LCBub2RlLCAuLi5wcm9wcyB9KSB7CiAgICAgICBhY2Nlc3NvcjogJ3R5cGUnLAogICAgICAgc29y dGJsZTogdHJ1ZSwKICAgICAgIHJlc2l6YWJsZTogZmFsc2UsCi0gICAgICBkaXNhYmxlR2xvYmFs RmlsdGVyOiB0cnVlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCiAgICAgfSwK ICAgICB7CiAgICAgICBIZWFkZXI6ICdOYW1lJywKICAgICAgIGFjY2Vzc29yOiAnbmFtZScsCiAg ICAgICBzb3J0YmxlOiB0cnVlLAogICAgICAgcmVzaXphYmxlOiBmYWxzZSwKLSAgICAgIGRpc2Fi bGVHbG9iYWxGaWx0ZXI6IHRydWUsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwK ICAgICB9LAogICAgIHsKICAgICAgIEhlYWRlcjogJ1Jlc3RyaWN0aW9uJywKQEAgLTExNCw3ICsx MTUsNyBAQCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEZXBlbmRlbmNpZXMoeyBub2RlRGF0YSwg aXRlbSwgbm9kZSwgLi4ucHJvcHMgfSkgewogICAgICAgKTsKICAgICAgIGlmIChub2RlLmhhc0Rl cGVuZHMpIHsKICAgICAgICAgY29uc3QgYXBpID0gZ2V0QXBpSW5zdGFuY2UoKTsKLQorICAgICAg ICBzZXRMb2FkZXJUZXh0KCdMb2FkaW5nLi4uJyk7CiAgICAgICAgIGFwaSh7CiAgICAgICAgICAg dXJsOiB1cmwsCiAgICAgICAgICAgdHlwZTogJ0dFVCcsCkBAIC0xMjMsOCArMTI0LDEwIEBAIGV4 cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERlcGVuZGVuY2llcyh7IG5vZGVEYXRhLCBpdGVtLCBub2Rl LCAuLi5wcm9wcyB9KSB7CiAgICAgICAgICAgICBpZiAocmVzLmRhdGEubGVuZ3RoID4gMCkgewog ICAgICAgICAgICAgICBsZXQgZGF0YSA9IHBhcnNlRGF0YShyZXMuZGF0YSwgbm9kZSk7CiAgICAg ICAgICAgICAgIHNldFRhYmxlRGF0YShkYXRhKTsKKyAgICAgICAgICAgICAgc2V0TG9hZGVyVGV4 dCgnJyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICBzZXRNc2cobWVzc2Fn ZSk7CisgICAgICAgICAgICAgIHNldExvYWRlclRleHQoJycpOwogICAgICAgICAgICAgfQogICAg ICAgICAgIH0pCiAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7CkBAIC0xNTcsMTAgKzE2MCwxMiBA QCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEZXBlbmRlbmNpZXMoeyBub2RlRGF0YSwgaXRlbSwg bm9kZSwgLi4ucHJvcHMgfSkgewogICAgICAgICA+PC9QZ1RhYmxlPgogICAgICAgKSA6ICgKICAg ICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZW1wdHlQYW5lbH0+Ci0gICAgICAgICAgPGRp diBjbGFzc05hbWU9e2NsYXNzZXMucGFuZWxJY29ufT4KLSAgICAgICAgICAgIDxpIGNsYXNzTmFt ZT0iZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIj48L2k+Ci0gICAgICAgICAgICA8c3BhbiBjbGFz c05hbWU9e2NsYXNzZXMucGFuZWxNZXNzYWdlfT57Z2V0dGV4dChtc2cpfTwvc3Bhbj4KLSAgICAg ICAgICA8L2Rpdj4KKyAgICAgICAgICB7bG9hZGVyVGV4dCA/ICg8TG9hZGVyIG1lc3NhZ2U9e2xv YWRlclRleHR9IGNsYXNzTmFtZT17Y2xhc3Nlcy5sb2FkaW5nfSAvPikgOgorICAgICAgICAgICAg PGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucGFuZWxJY29ufT4KKyAgICAgICAgICAgICAgPGkgY2xh c3NOYW1lPSJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGUiPjwvaT4KKyAgICAgICAgICAgICAgPHNw YW4gY2xhc3NOYW1lPXtjbGFzc2VzLnBhbmVsTWVzc2FnZX0+e2dldHRleHQobXNnKX08L3NwYW4+ CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICB9CiAgICAgICAgIDwvZGl2PgogICAgICAg KX0KICAgICA8Lz4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21pc2MvZGVwZW5kZW50cy9zdGF0 aWMvanMvRGVwZW5kZW50cy5qc3ggYi93ZWIvcGdhZG1pbi9taXNjL2RlcGVuZGVudHMvc3RhdGlj L2pzL0RlcGVuZGVudHMuanN4CmluZGV4IDQ4N2UyZDI5Yi4uODY3MzY4Yjk3IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9taXNjL2RlcGVuZGVudHMvc3RhdGljL2pzL0RlcGVuZGVudHMuanN4Cisr KyBiL3dlYi9wZ2FkbWluL21pc2MvZGVwZW5kZW50cy9zdGF0aWMvanMvRGVwZW5kZW50cy5qc3gK QEAgLTE2LDYgKzE2LDcgQEAgaW1wb3J0IE5vdGlmeSBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMv anMvaGVscGVycy9Ob3RpZmllcic7CiBpbXBvcnQgZ2V0QXBpSW5zdGFuY2UgZnJvbSAnc291cmNl cy9hcGlfaW5zdGFuY2UnOwogaW1wb3J0IHsgbWFrZVN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11 aS9jb3JlL3N0eWxlcyc7CiBpbXBvcnQgeyBnZXRVUkwgfSBmcm9tICcuLi8uLi8uLi9zdGF0aWMv dXRpbHMvdXRpbHMnOworaW1wb3J0IExvYWRlciBmcm9tICdzb3VyY2VzL2NvbXBvbmVudHMvTG9h ZGVyJzsKIAogY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0eWxlcygodGhlbWUpID0+ICh7CiAgIGVt cHR5UGFuZWw6IHsKQEAgLTcxLDcgKzcyLDcgQEAgZnVuY3Rpb24gcGFyc2VEYXRhKGRhdGEsIG5v ZGUpIHsKIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERlcGVuZGVudHMoeyBub2RlRGF0YSwgaXRl bSwgbm9kZSwgLi4ucHJvcHMgfSkgewogICBjb25zdCBjbGFzc2VzID0gdXNlU3R5bGVzKCk7CiAg IGNvbnN0IFt0YWJsZURhdGEsIHNldFRhYmxlRGF0YV0gPSBSZWFjdC51c2VTdGF0ZShbXSk7Ci0K KyAgY29uc3QgW2xvYWRlclRleHQsIHNldExvYWRlclRleHRdID0gUmVhY3QudXNlU3RhdGUoJycp OwogICBjb25zdCBbbXNnLCBzZXRNc2ddID0gUmVhY3QudXNlU3RhdGUoJycpOwogCiAgIHZhciBj b2x1bW5zID0gWwpAQCAtODAsMTQgKzgxLDE0IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERl cGVuZGVudHMoeyBub2RlRGF0YSwgaXRlbSwgbm9kZSwgLi4ucHJvcHMgfSkgewogICAgICAgYWNj ZXNzb3I6ICd0eXBlJywKICAgICAgIHNvcnRibGU6IHRydWUsCiAgICAgICByZXNpemFibGU6IGZh bHNlLAotICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogdHJ1ZSwKKyAgICAgIGRpc2FibGVHbG9i YWxGaWx0ZXI6IGZhbHNlLAogICAgIH0sCiAgICAgewogICAgICAgSGVhZGVyOiAnTmFtZScsCiAg ICAgICBhY2Nlc3NvcjogJ25hbWUnLAogICAgICAgc29ydGJsZTogdHJ1ZSwKICAgICAgIHJlc2l6 YWJsZTogZmFsc2UsCi0gICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiB0cnVlLAorICAgICAgZGlz YWJsZUdsb2JhbEZpbHRlcjogZmFsc2UsCiAgICAgfSwKICAgICB7CiAgICAgICBIZWFkZXI6ICdS ZXN0cmljdGlvbicsCkBAIC0xMTUsNiArMTE2LDcgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24g RGVwZW5kZW50cyh7IG5vZGVEYXRhLCBpdGVtLCBub2RlLCAuLi5wcm9wcyB9KSB7CiAgICAgICAp OwogICAgICAgaWYgKG5vZGUuaGFzRGVwZW5kcyAmJiAhbm9kZURhdGEuaXNfY29sbGVjdGlvbikg ewogICAgICAgICBjb25zdCBhcGkgPSBnZXRBcGlJbnN0YW5jZSgpOworICAgICAgICBzZXRMb2Fk ZXJUZXh0KCdMb2FkaW5nLi4uJyk7CiAgICAgICAgIGFwaSh7CiAgICAgICAgICAgdXJsOiB1cmws CiAgICAgICAgICAgdHlwZTogJ0dFVCcsCkBAIC0xMjUsNiArMTI3LDcgQEAgZXhwb3J0IGRlZmF1 bHQgZnVuY3Rpb24gRGVwZW5kZW50cyh7IG5vZGVEYXRhLCBpdGVtLCBub2RlLCAuLi5wcm9wcyB9 KSB7CiAgICAgICAgICAgICAgIHNldFRhYmxlRGF0YShkYXRhKTsKICAgICAgICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgICAgIHNldE1zZyhtZXNzYWdlKTsKKyAgICAgICAgICAgICAgc2V0TG9h ZGVyVGV4dCgnJyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgfSkKICAgICAgICAgICAuY2F0 Y2goKGUpID0+IHsKQEAgLTE1OCwxMSArMTYxLDE1IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9u IERlcGVuZGVudHMoeyBub2RlRGF0YSwgaXRlbSwgbm9kZSwgLi4ucHJvcHMgfSkgewogICAgICAg ICA+PC9QZ1RhYmxlPgogICAgICAgKSA6ICgKICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNz ZXMuZW1wdHlQYW5lbH0+Ci0gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucGFuZWxJ Y29ufT4KLSAgICAgICAgICAgIDxpIGNsYXNzTmFtZT0iZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xl Ij48L2k+Ci0gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucGFuZWxNZXNzYWdl fT57Z2V0dGV4dChtc2cpfTwvc3Bhbj4KLSAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICB7bG9h ZGVyVGV4dCA/ICg8TG9hZGVyIG1lc3NhZ2U9e2xvYWRlclRleHR9IGNsYXNzTmFtZT17Y2xhc3Nl cy5sb2FkaW5nfSAvPikgOgorCisgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5w YW5lbEljb259PgorICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9ImZhIGZhLWV4Y2xhbWF0aW9u LWNpcmNsZSI+PC9pPgorICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucGFu ZWxNZXNzYWdlfT57Z2V0dGV4dChtc2cpfTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAg ICAgICAgIH0KICAgICAgICAgPC9kaXY+CisKICAgICAgICl9CiAgICAgPC8+CiAgICk7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL3Byb3BlcnRpZXMvQ29sbGVjdGlvbk5vZGVQcm9wZXJ0 aWVzLmpzeCBiL3dlYi9wZ2FkbWluL21pc2MvcHJvcGVydGllcy9Db2xsZWN0aW9uTm9kZVByb3Bl cnRpZXMuanN4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZGIyMDMzMWE5 Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9wcm9wZXJ0aWVzL0NvbGxlY3Rp b25Ob2RlUHJvcGVydGllcy5qc3gKQEAgLTAsMCArMSwzMzEgQEAKKy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK2ltcG9ydCBSZWFj dCBmcm9tICdyZWFjdCc7CitpbXBvcnQgcGdBZG1pbiBmcm9tICdzb3VyY2VzL3BnYWRtaW4nOwor aW1wb3J0IGdldEFwaUluc3RhbmNlIGZyb20gJ3NvdXJjZXMvYXBpX2luc3RhbmNlJzsKK2ltcG9y dCB7IG1ha2VTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnOworaW1wb3J0 IHsgQm94LCBTd2l0Y2ggfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZSc7CitpbXBvcnQgeyBnZW5l cmF0ZUNvbGxlY3Rpb25VUkwgfSBmcm9tICcuLi8uLi9icm93c2VyL3N0YXRpYy9qcy9ub2RlX2Fq YXgnOworaW1wb3J0IE5vdGlmeSBmcm9tICcuLi8uLi9zdGF0aWMvanMvaGVscGVycy9Ob3RpZmll cic7CitpbXBvcnQgZ2V0dGV4dCBmcm9tICdzb3VyY2VzL2dldHRleHQnOworaW1wb3J0ICd3Y2Rv Y2tlcic7CitpbXBvcnQgUGdUYWJsZSBmcm9tICdzb3VyY2VzL2NvbXBvbmVudHMvUGdUYWJsZSc7 CitpbXBvcnQgVGhlbWUgZnJvbSAnc291cmNlcy9UaGVtZSc7CitpbXBvcnQgUHJvcFR5cGVzIGZy b20gJ3Byb3AtdHlwZXMnOworaW1wb3J0IHsgUGdJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vc3Rh dGljL2pzL2NvbXBvbmVudHMvQnV0dG9ucyc7CisKK2NvbnN0IHVzZVN0eWxlcyA9IG1ha2VTdHls ZXMoKHRoZW1lKSA9PiAoeworICBlbXB0eVBhbmVsOiB7CisgICAgbWluSGVpZ2h0OiAnMTAwJScs CisgICAgbWluV2lkdGg6ICcxMDAlJywKKyAgICBiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLmdy ZXlbNDAwXSwKKyAgICBvdmVyZmxvdzogJ2F1dG8nLAorICAgIHBhZGRpbmc6ICc3LjVweCcsCisg IH0sCisgIHBhbmVsSWNvbjogeworICAgIHdpZHRoOiAnODAlJywKKyAgICBtYXJnaW46ICcwIGF1 dG8nLAorICAgIG1hcmdpblRvcDogJzI1cHggIWltcG9ydGFudCcsCisgICAgcG9zaXRpb246ICdy ZWxhdGl2ZScsCisgICAgdGV4dEFsaWduOiAnY2VudGVyJywKKyAgfSwKKyAgcGFuZWxNZXNzYWdl OiB7CisgICAgbWFyZ2luTGVmdDogJzAuNXJlbScsCisgICAgZm9udFNpemU6ICcwLjg3NXJlbScs CisgIH0sCisgIHNlYXJjaFBhZGRpbmc6IHsKKyAgICBmbGV4OiAyLjUKKyAgfSwKKyAgc2VhcmNo SW5wdXQ6IHsKKyAgICBmbGV4OiAxLAorICAgIG1hcmdpbjogJzQgMCA0IDAnLAorICAgIGJvcmRl ckxlZnQ6ICdub25lJywKKyAgICBwYWRkaW5nTGVmdDogNQorICB9LAorICBwcm9wZXJ0aWVzUGFu ZWw6IHsKKyAgICBoZWlnaHQ6ICcxMDAlJworICB9LAorICBhdXRvUmVzaXplcjogeworICAgIGhl aWdodDogJzEwMCUgIWltcG9ydGFudCcsCisgICAgd2lkdGg6ICcxMDAlICFpbXBvcnRhbnQnLAor ICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuZ3JleVs0MDBdLAorICAgIHBhZGRpbmc6ICc4 cHgnLAorICB9LAorICBkcm9wQnV0dG9uOiB7CisgICAgbWFyZ2luUmlnaHQ6ICc1cHggIWltcG9y dGFudCcKKyAgfSwKKyAgcmVhZE9ubHlTd2l0Y2g6IHsKKyAgICBvcGFjaXR5OiAwLjc1LAorICAg ICcmIC5NdWlTd2l0Y2gtdHJhY2snOiB7CisgICAgICBvcGFjaXR5OiB0aGVtZS5wYWxldHRlLmFj dGlvbi5kaXNhYmxlZE9wYWNpdHksCisgICAgfQorICB9Cit9KSk7CisKK2V4cG9ydCBmdW5jdGlv biBDb2xsZWN0aW9uTm9kZVZpZXcoeworICBub2RlLAorICB0cmVlTm9kZUluZm8sCisgIGl0ZW1O b2RlRGF0YSwKKyAgaXRlbSwKKyAgcGdCcm93c2VyCit9KSB7CisgIGNvbnN0IGNsYXNzZXMgPSB1 c2VTdHlsZXMoKTsKKworICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSBSZWFjdC51c2VTdGF0ZShb XSk7CisgIGNvbnN0IFtpbmZvTXNnLCBzZXRJbmZvTXNnXSA9IFJlYWN0LnVzZVN0YXRlKCdQbGVh c2Ugc2VsZWN0IGFuIG9iamVjdCBpbiB0aGUgdHJlZSB2aWV3LicpOworICBjb25zdCBbc2VsZWN0 ZWRPYmplY3QsIHNldFNlbGVjdGVkT2JqZWN0XSA9IFJlYWN0LnVzZVN0YXRlKFtdKTsKKyAgY29u c3QgW3JlbG9hZCwgc2V0UmVsb2FkXSA9IFJlYWN0LnVzZVN0YXRlKCk7CisKKyAgY29uc3QgW3Bn VGFibGVDb2x1bW5zLCBzZXRQZ1RhYmxlQ29sdW1uc10gPSBSZWFjdC51c2VTdGF0ZShbCisgICAg eworICAgICAgSGVhZGVyOiAncHJvcGVydGllcycsCisgICAgICBhY2Nlc3NvcjogJ1Byb3BlcnRp ZXMnLAorICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFsc2UsCisgICAg ICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKKyAgICB9LAorICAgIHsKKyAgICAgIEhlYWRl cjogJ3ZhbHVlJywKKyAgICAgIGFjY2Vzc29yOiAndmFsdWUnLAorICAgICAgc29ydGJsZTogdHJ1 ZSwKKyAgICAgIHJlc2l6YWJsZTogZmFsc2UsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBm YWxzZSwKKyAgICB9LAorICBdKTsKKworICBjb25zdCBnZXRUYWJsZVNlbGVjdGVkUm93cyA9IChz ZWxSb3dzKSA9PiB7CisgICAgc2V0U2VsZWN0ZWRPYmplY3Qoc2VsUm93cyk7CisgIH07CisKKyAg Y29uc3Qgb25Ecm9wID0gKHR5cGUpID0+IHsKKyAgICBsZXQgc2VsUm93TW9kZWxzID0gc2VsZWN0 ZWRPYmplY3QsCisgICAgICBzZWxSb3dzID0gW10sCisgICAgICBzZWxJdGVtID0gcGdCcm93c2Vy LnRyZWUuc2VsZWN0ZWQoKSwKKyAgICAgIHNlbGVjdGVkSXRlbURhdGEgPSBzZWxJdGVtID8gcGdC cm93c2VyLnRyZWUuaXRlbURhdGEoc2VsSXRlbSkgOiBudWxsLAorICAgICAgc2VsTm9kZSA9IHNl bGVjdGVkSXRlbURhdGEgJiYgcGdCcm93c2VyLk5vZGVzW3NlbGVjdGVkSXRlbURhdGEuX3R5cGVd LAorICAgICAgdXJsID0gdW5kZWZpbmVkLAorICAgICAgbXNnID0gdW5kZWZpbmVkLAorICAgICAg dGl0bGUgPSB1bmRlZmluZWQ7CisKKyAgICBpZiAoc2VsTm9kZSAmJiBzZWxOb2RlLnR5cGUgJiYg c2VsTm9kZS50eXBlID09ICdjb2xsLWNvbnN0cmFpbnRzJykgeworICAgICAgLy8gSW4gb3JkZXIg dG8gaWRlbnRpZnkgdGhlIGNvbnN0cmFpbnQgdHlwZSwgdGhlIHR5cGUgc2hvdWxkIGJlIHBhc3Nl ZCB0byB0aGUgc2VydmVyCisgICAgICBzZWxSb3dzID0gc2VsUm93TW9kZWxzLm1hcCgocm93KSA9 PiAoeworICAgICAgICBpZDogcm93LmdldCgnb2lkJyksCisgICAgICAgIF90eXBlOiByb3cuZ2V0 KCdfdHlwZScpLAorICAgICAgfSkpOworICAgIH0gZWxzZSB7CisgICAgICBzZWxSb3dzID0gc2Vs Um93TW9kZWxzLm1hcCgocm93KSA9PiByb3cub3JpZ2luYWwub2lkKTsKKyAgICB9CisKKyAgICBp ZiAoc2VsUm93cy5sZW5ndGggPT09IDApIHsKKyAgICAgIE5vdGlmeS5hbGVydCgKKyAgICAgICAg Z2V0dGV4dCgnRHJvcCBNdWx0aXBsZScpLAorICAgICAgICBnZXR0ZXh0KCdQbGVhc2Ugc2VsZWN0 IGF0IGxlYXN0IG9uZSBvYmplY3QgdG8gZGVsZXRlLicpCisgICAgICApOworICAgICAgcmV0dXJu OworICAgIH0KKworICAgIGlmICghc2VsTm9kZSkgcmV0dXJuOworCisgICAgaWYgKHR5cGUgPT09 ICdkcm9wQ2FzY2FkZScpIHsKKyAgICAgIHVybCA9IHNlbE5vZGUuZ2VuZXJhdGVfdXJsKHNlbEl0 ZW0sICdkZWxldGUnKTsKKyAgICAgIG1zZyA9IGdldHRleHQoCisgICAgICAgICdBcmUgeW91IHN1 cmUgeW91IHdhbnQgdG8gZHJvcCBhbGwgdGhlIHNlbGVjdGVkIG9iamVjdHMgYW5kIGFsbCB0aGUg b2JqZWN0cyB0aGF0IGRlcGVuZCBvbiB0aGVtPycKKyAgICAgICk7CisgICAgICB0aXRsZSA9IGdl dHRleHQoJ0RST1AgQ0FTQ0FERSBtdWx0aXBsZSBvYmplY3RzPycpOworICAgIH0gZWxzZSB7Cisg ICAgICB1cmwgPSBzZWxOb2RlLmdlbmVyYXRlX3VybChzZWxJdGVtLCAnZHJvcCcpOworICAgICAg bXNnID0gZ2V0dGV4dCgnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRyb3AgYWxsIHRoZSBzZWxl Y3RlZCBvYmplY3RzPycpOworICAgICAgdGl0bGUgPSBnZXR0ZXh0KCdEUk9QIG11bHRpcGxlIG9i amVjdHM/Jyk7CisgICAgfQorCisgICAgY29uc3QgYXBpID0gZ2V0QXBpSW5zdGFuY2UoKTsKKyAg ICBsZXQgZHJvcE5vZGVQcm9wZXJ0aWVzID0gZnVuY3Rpb24gKCkgeworICAgICAgYXBpCisgICAg ICAgIC5kZWxldGUodXJsLCB7CisgICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyBpZHM6 IHNlbFJvd3MgfSksCisgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uOyBj aGFyc2V0PXV0Zi04JywKKyAgICAgICAgfSkKKyAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykg eworICAgICAgICAgIGlmIChyZXMuc3VjY2VzcyA9PSAwKSB7CisgICAgICAgICAgICBwZ0Jyb3dz ZXIucmVwb3J0X2Vycm9yKHJlcy5lcnJvcm1zZywgcmVzLmluZm8pOworICAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICBwZ0Jyb3dzZXIuRXZlbnRzLnRyaWdnZXIoCisgICAgICAgICAgICAg ICdwZ2FkbWluOmJyb3dzZXI6dHJlZTpyZWZyZXNoJywKKyAgICAgICAgICAgICAgc2VsSXRlbSB8 fCBwZ0Jyb3dzZXIudHJlZS5zZWxlY3RlZCgpLAorICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgc3VjY2VzczogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgcGdCcm93c2Vy LnRyZWUuc2VsZWN0KHNlbEl0ZW0pOworICAgICAgICAgICAgICAgICAgc2VsTm9kZS5jYWxsYmFj a3Muc2VsZWN0ZWQuYXBwbHkoc2VsTm9kZSwgW3NlbEl0ZW1dKTsKKyAgICAgICAgICAgICAgICB9 LAorICAgICAgICAgICAgICB9CisgICAgICAgICAgICApOworICAgICAgICAgIH0KKyAgICAgICAg ICBzZXRSZWxvYWQodHJ1ZSk7CisgICAgICAgIH0pCisgICAgICAgIC5jYXRjaChmdW5jdGlvbiAo ZXJyb3IpIHsKKyAgICAgICAgICBOb3RpZnkuZXJyb3IoCisgICAgICAgICAgICBnZXR0ZXh0KCdF cnJvciBkcm9wcGluZyAlcycsIHNlbGVjdGVkSXRlbURhdGEuX2xhYmVsLnRvTG93ZXJDYXNlKCkp LAorICAgICAgICAgICAgZXJyb3IubWVzc2FnZQorICAgICAgICAgICk7CisgICAgICAgIH0pOwor ICAgIH07CisKKyAgICBpZiAoY29uZmlybSkgeworICAgICAgTm90aWZ5LmNvbmZpcm0odGl0bGUs IG1zZywgZHJvcE5vZGVQcm9wZXJ0aWVzLCBudWxsKTsKKyAgICB9IGVsc2UgeworICAgICAgZHJv cE5vZGVQcm9wZXJ0aWVzKCk7CisgICAgfQorICB9OworCisgIFJlYWN0LnVzZUVmZmVjdCgoKSA9 PiB7CisgICAgaWYgKG5vZGUpeworCisgICAgICBsZXQgbm9kZU9iaiA9CisgICAgICBwZ0FkbWlu LkJyb3dzZXIuTm9kZXNbaXRlbU5vZGVEYXRhPy5fdHlwZS5yZXBsYWNlKCdjb2xsLScsICcnKV07 CisKKyAgICAgIGxldCBzY2hlbWEgPSBub2RlT2JqLmdldFNjaGVtYS5jYWxsKG5vZGVPYmosIHRy ZWVOb2RlSW5mbywgaXRlbU5vZGVEYXRhKTsKKyAgICAgIGxldCB1cmwgPSBnZW5lcmF0ZUNvbGxl Y3Rpb25VUkwuY2FsbChub2RlT2JqLCBpdGVtLCAncHJvcGVydGllcycpOworCisgICAgICBjb25z dCBhcGkgPSBnZXRBcGlJbnN0YW5jZSgpOworCisgICAgICBsZXQgdGFibGVDb2x1bW5zID0gW107 CisgICAgICB2YXIgY29sdW1uID0ge307CisKKyAgICAgIGlmIChpdGVtTm9kZURhdGEuX3R5cGUu aW5kZXhPZignY29sbC0nKSA+IC0xKSB7CisgICAgICAgIHNjaGVtYS5maWVsZHMuZm9yRWFjaCgo ZmllbGQpID0+IHsKKyAgICAgICAgICBpZiAobm9kZS5jb2x1bW5zLmluZGV4T2YoZmllbGQuaWQp ID4gLTEpIHsKKyAgICAgICAgICAgIGlmIChmaWVsZC5sYWJlbC5pbmRleE9mKCc/JykgPiAtMSkg eworICAgICAgICAgICAgICBjb2x1bW4gPSB7CisgICAgICAgICAgICAgICAgSGVhZGVyOiBmaWVs ZC5sYWJlbCwKKyAgICAgICAgICAgICAgICBhY2Nlc3NvcjogZmllbGQuaWQsCisgICAgICAgICAg ICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLAor ICAgICAgICAgICAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAorICAgICAgICAgICAg ICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9kaXNwbGF5LW5hbWUKKyAgICAg ICAgICAgICAgICBDZWxsOiAoeyB2YWx1ZSB9KSA9PiB7CisgICAgICAgICAgICAgICAgICByZXR1 cm4gKDxTd2l0Y2ggY29sb3I9InByaW1hcnkiIGNoZWNrZWQ9e3ZhbHVlfSBjbGFzc05hbWU9e2Ns YXNzZXMucmVhZE9ubHlTd2l0Y2h9IHZhbHVlPXt2YWx1ZX0gcmVhZE9ubHkgdGl0bGU9e1N0cmlu Zyh2YWx1ZSl9IC8+KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH07CisgICAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBjb2x1bW4gPSB7CisgICAgICAgICAgICAg ICAgSGVhZGVyOiBmaWVsZC5sYWJlbCwKKyAgICAgICAgICAgICAgICBhY2Nlc3NvcjogZmllbGQu aWQsCisgICAgICAgICAgICAgICAgc29ydGJsZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICByZXNp emFibGU6IGZhbHNlLAorICAgICAgICAgICAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNl LAorICAgICAgICAgICAgICB9OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGFibGVDb2x1 bW5zLnB1c2goY29sdW1uKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBhcGko eworICAgICAgICAgIHVybDogdXJsLAorICAgICAgICAgIHR5cGU6ICdHRVQnLAorICAgICAgICB9 KQorICAgICAgICAgIC50aGVuKChyZXMpID0+IHsKKyAgICAgICAgICAgIHJlcy5kYXRhLmZvckVh Y2goKGVsZW1lbnQpID0+IHsKKyAgICAgICAgICAgICAgZWxlbWVudFsnaWNvbiddID0gJyc7Cisg ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHNldFBnVGFibGVDb2x1bW5zKHRhYmxlQ29sdW1u cyk7CisgICAgICAgICAgICBzZXREYXRhKHJlcy5kYXRhKTsKKyAgICAgICAgICAgIHNldEluZm9N c2coJ05vIHByb3BlcnRpZXMgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHNlbGVjdGVkIG9iamVjdC4n KTsKKyAgICAgICAgICB9KQorICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7CisgICAgICAgICAg ICBOb3RpZnkuYWxlcnQoCisgICAgICAgICAgICAgIGdldHRleHQoJ0ZhaWxlZCB0byByZXRyaWV2 ZSBkYXRhIGZyb20gdGhlIHNlcnZlci4nKSwKKyAgICAgICAgICAgICAgZ2V0dGV4dChlcnIubWVz c2FnZSkKKyAgICAgICAgICAgICk7CisgICAgICAgICAgfSk7CisgICAgICB9CisgICAgfQorICB9 LCBbaXRlbU5vZGVEYXRhLCBub2RlLCBpdGVtLCByZWxvYWRdKTsKKworICBjb25zdCBjdXN0b21I ZWFkZXIgPSAoKSA9PiB7CisgICAgcmV0dXJuICgKKyAgICAgIDxCb3ggPgorICAgICAgICA8UGdJ Y29uQnV0dG9uCisgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmRyb3BCdXR0b259CisgICAg ICAgICAgdmFyaWFudD0ib3V0bGluZWQiCisgICAgICAgICAgaWNvbj17PGkgY2xhc3NOYW1lPSdm YSBmYS10cmFzaC1hbHQgZGVsZXRlX211bHRpcGxlJyBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0i aW1nIj48L2k+fQorICAgICAgICAgIGFyaWEtbGFiZWw9IkRlbGV0ZS9Ecm9wIgorICAgICAgICAg IHRpdGxlPXtnZXR0ZXh0KCdEZWxldGUvRHJvcCcpfQorICAgICAgICAgIG9uQ2xpY2s9eygpID0+ IHsKKyAgICAgICAgICAgIG9uRHJvcCgnZHJvcCcpOworICAgICAgICAgIH19CisgICAgICAgICAg ZGlzYWJsZWQ9eworICAgICAgICAgICAgKHNlbGVjdGVkT2JqZWN0Lmxlbmd0aCA+IDApCisgICAg ICAgICAgICAgID8gIW5vZGUuY2FuRHJvcAorICAgICAgICAgICAgICA6IHRydWUKKyAgICAgICAg ICB9CisgICAgICAgID48L1BnSWNvbkJ1dHRvbj4KKyAgICAgICAgPFBnSWNvbkJ1dHRvbgorICAg ICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5kcm9wQnV0dG9ufQorICAgICAgICAgIHZhcmlhbnQ9 Im91dGxpbmVkIgorICAgICAgICAgIGljb249ezxpIGNsYXNzTmFtZT0ncGctZm9udC1pY29uIGlj b24tZHJvcF9jYXNjYWRlIGRlbGV0ZV9tdWx0aXBsZV9jYXNjYWRlJyBhcmlhLWhpZGRlbj0idHJ1 ZSIgcm9sZT0iaW1nIj48L2k+fQorICAgICAgICAgIGFyaWEtbGFiZWw9IkRyb3AgQ2FzY2FkZSIK KyAgICAgICAgICB0aXRsZT17Z2V0dGV4dCgnRHJvcCBDYXNjYWRlJyl9CisgICAgICAgICAgb25D bGljaz17KCkgPT4geworICAgICAgICAgICAgb25Ecm9wKCdkcm9wQ2FzY2FkZScpOworICAgICAg ICAgIH19CisgICAgICAgICAgZGlzYWJsZWQ9eworICAgICAgICAgICAgKHNlbGVjdGVkT2JqZWN0 Lmxlbmd0aCA+IDApCisgICAgICAgICAgICAgID8gIW5vZGUuY2FuRHJvcENhc2NhZGUKKyAgICAg ICAgICAgICAgOiB0cnVlCisgICAgICAgICAgfQorICAgICAgICA+PC9QZ0ljb25CdXR0b24+Cisg ICAgICA8L0JveD4pOworICB9OworCisgIHJldHVybiAoCisgICAgPFRoZW1lPgorICAgICAgPEJv eCBjbGFzc05hbWU9e2NsYXNzZXMucHJvcGVydGllc1BhbmVsfT4KKyAgICAgICAge2RhdGEubGVu Z3RoID4gMCA/CisgICAgICAgICAgKAorICAgICAgICAgICAgPFBnVGFibGUKKyAgICAgICAgICAg ICAgaXNTZWxlY3RSb3c9eyEoJ2NhdGFsb2cnIGluIHRyZWVOb2RlSW5mbykgJiYgKGl0ZW1Ob2Rl RGF0YS5sYWJlbCAhPT0gJ0NhdGFsb2dzJyl9CisgICAgICAgICAgICAgIGN1c3RvbUhlYWRlcj17 Y3VzdG9tSGVhZGVyfQorICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYXV0b1Jlc2l6 ZXJ9CisgICAgICAgICAgICAgIGNvbHVtbnM9e3BnVGFibGVDb2x1bW5zfQorICAgICAgICAgICAg ICBkYXRhPXtkYXRhfQorICAgICAgICAgICAgICB0eXBlPXsncGFuZWwnfQorICAgICAgICAgICAg ICBpc1NlYXJjaD17ZmFsc2V9CisgICAgICAgICAgICAgIGdldFNlbGVjdGVkUm93cz17Z2V0VGFi bGVTZWxlY3RlZFJvd3N9CisgICAgICAgICAgICAvPgorICAgICAgICAgICkKKyAgICAgICAgICA6 CisgICAgICAgICAgKAorICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZW1wdHlQ YW5lbH0+CisgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnBhbmVsSWNvbn0+ CisgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPSJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGUi PjwvaT4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzZXMucGFuZWxNZXNz YWdlfT57Z2V0dGV4dChpbmZvTXNnKX08L3NwYW4+CisgICAgICAgICAgICAgIDwvZGl2PgorICAg ICAgICAgICAgPC9kaXY+CisKKyAgICAgICAgICApCisgICAgICAgIH0KKyAgICAgIDwvQm94Pgor ICAgIDwvVGhlbWU+CisgICk7Cit9CisKK0NvbGxlY3Rpb25Ob2RlVmlldy5wcm9wVHlwZXMgPSB7 CisgIG5vZGU6IFByb3BUeXBlcy5mdW5jLAorICBpdGVtRGF0YTogUHJvcFR5cGVzLm9iamVjdCwK KyAgaXRlbU5vZGVEYXRhOiBQcm9wVHlwZXMub2JqZWN0LAorICB0cmVlTm9kZUluZm86IFByb3BU eXBlcy5vYmplY3QsCisgIGl0ZW06IFByb3BUeXBlcy5vYmplY3QsCisgIHBnQnJvd3NlcjogUHJv cFR5cGVzLm9iamVjdCwKKyAgcHJlZmVyZW5jZXM6IFByb3BUeXBlcy5vYmplY3QsCisgIHNpZDog UHJvcFR5cGVzLm51bWJlciwKKyAgZGlkOiBQcm9wVHlwZXMubnVtYmVyLAorICByb3c6IFByb3BU eXBlcy5vYmplY3QsCisgIHNlcnZlckNvbm5lY3RlZDogUHJvcFR5cGVzLmJvb2wsCisgIHZhbHVl OiBQcm9wVHlwZXMuYm9vbCwKK307CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL3NxbC9z dGF0aWMvanMvU1FMLmpzeCBiL3dlYi9wZ2FkbWluL21pc2Mvc3FsL3N0YXRpYy9qcy9TUUwuanN4 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNWVlYzU3ZThkCi0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9zcWwvc3RhdGljL2pzL1NRTC5qc3gKQEAgLTAs MCArMSwxMTQgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisv LworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQg VGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBM aWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3Jl YWN0JzsKK2ltcG9ydCB7IGdlbmVyYXRlTm9kZVVybCB9IGZyb20gJy4uLy4uLy4uLy4uL2Jyb3dz ZXIvc3RhdGljL2pzL25vZGVfYWpheCc7CitpbXBvcnQgZ2V0dGV4dCBmcm9tICdzb3VyY2VzL2dl dHRleHQnOworaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJzsKK2ltcG9ydCBOb3Rp ZnkgZnJvbSAnLi4vLi4vLi4vLi4vc3RhdGljL2pzL2hlbHBlcnMvTm90aWZpZXInOworaW1wb3J0 IGdldEFwaUluc3RhbmNlIGZyb20gJ3NvdXJjZXMvYXBpX2luc3RhbmNlJzsKK2ltcG9ydCB7IG1h a2VTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnOworaW1wb3J0IENvZGVN aXJyb3IgZnJvbSAnLi4vLi4vLi4vLi4vc3RhdGljL2pzL2NvbXBvbmVudHMvQ29kZU1pcnJvcic7 CisKK2NvbnN0IHVzZVN0eWxlcyA9IG1ha2VTdHlsZXMoKHRoZW1lKSA9PiAoeworICB0ZXh0QXJl YTogeworICAgIGhlaWdodDogJzEwMCUgIWltcG9ydGFudCcsCisgICAgd2lkdGg6ICcxMDAlICFp bXBvcnRhbnQnLAorICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUuZ3JleVs0MDBdLAorICAg IG92ZXJmbG93OiAnYXV0byAhaW1wb3J0YW50JywKKyAgICBtaW5IZWlnaHQ6ICcxMDAlJywKKyAg ICBtaW5XaWR0aDogJzEwMCUnLAorICB9LAorfSkpOworCitleHBvcnQgZGVmYXVsdCBmdW5jdGlv biBTUUwoeyBub2RlRGF0YSwgbm9kZSwgLi4ucHJvcHMgfSkgeworICBjb25zdCBjbGFzc2VzID0g dXNlU3R5bGVzKCk7CisgIGNvbnN0IFtub2RlU1FMLCBzZXROb2RlU1FMXSA9IFJlYWN0LnVzZVN0 YXRlKCcnKTsKKworICBjb25zdCBbbXNnLCBzZXRNc2ddID0gUmVhY3QudXNlU3RhdGUoJycpOwor CisgIHVzZUVmZmVjdCgoKSA9PiB7CisgICAgdmFyIHNxbCA9ICctLSAnICsgZ2V0dGV4dCgnUGxl YXNlIHNlbGVjdCBhbiBvYmplY3QgaW4gdGhlIHRyZWUgdmlldy4nKTsKKyAgICBpZiAobm9kZSkg eworICAgICAgbGV0IHVybCA9IGdlbmVyYXRlTm9kZVVybC5jYWxsKAorICAgICAgICBub2RlLAor ICAgICAgICBwcm9wcy50cmVlTm9kZUluZm8sCisgICAgICAgICdzcWwnLAorICAgICAgICBub2Rl RGF0YSwKKyAgICAgICAgdHJ1ZSwKKyAgICAgICAgbm9kZS51cmxfanVtcF9hZnRlcl9ub2RlCisg ICAgICApOworICAgICAgc3FsID0KKyAgICAgICAgJy0tICcgKyBnZXR0ZXh0KCdObyBTUUwgY291 bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGUgc2VsZWN0ZWQgb2JqZWN0LicpOworCisgICAgICBpZiAo bm9kZS5oYXNTUUwpIHsKKyAgICAgICAgY29uc3QgYXBpID0gZ2V0QXBpSW5zdGFuY2UoKTsKKwor ICAgICAgICBhcGkoeworICAgICAgICAgIHVybDogdXJsLAorICAgICAgICAgIHR5cGU6ICdHRVQn LAorICAgICAgICB9KQorICAgICAgICAgIC50aGVuKChyZXMpID0+IHsKKyAgICAgICAgICAgIGlm IChyZXMuZGF0YS5sZW5ndGggPiAwKSB7CisgICAgICAgICAgICAgIHNldE5vZGVTUUwocmVzLmRh dGEpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgc2V0TXNnKHNxbCk7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgfSkKKyAgICAgICAgICAuY2F0Y2goKGUpID0+IHsKKyAg ICAgICAgICAgIE5vdGlmeS5hbGVydCgKKyAgICAgICAgICAgICAgZ2V0dGV4dCgnRmFpbGVkIHRv IHJldHJpZXZlIGRhdGEgZnJvbSB0aGUgc2VydmVyLicpLAorICAgICAgICAgICAgICBnZXR0ZXh0 KGUubWVzc2FnZSkKKyAgICAgICAgICAgICk7CisgICAgICAgICAgICAvLyBzaG93IGZhaWxlZCBt ZXNzYWdlLgorICAgICAgICAgICAgc2V0TXNnKGdldHRleHQoJ0ZhaWxlZCB0byByZXRyaWV2ZSBk YXRhIGZyb20gdGhlIHNlcnZlci4nKSk7CisgICAgICAgICAgfSk7CisgICAgICB9CisgICAgfQor ICAgIGlmIChzcWwgIT0gJycpIHsKKyAgICAgIHNldE1zZyhzcWwpOworICAgIH0KKyAgICByZXR1 cm4gKCkgPT4geworICAgICAgc2V0Tm9kZVNRTChbXSk7CisgICAgfTsKKyAgfSwgW25vZGVEYXRh XSk7CisKKyAgcmV0dXJuICgKKyAgICA8PgorICAgICAge25vZGVTUUwubGVuZ3RoID4gMCA/ICgK KyAgICAgICAgPENvZGVNaXJyb3IKKyAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dEFy ZWF9CisgICAgICAgICAgdmFsdWU9e25vZGVTUUx9CisgICAgICAgICAgb3B0aW9ucz17eworICAg ICAgICAgICAgbGluZU51bWJlcnM6IHRydWUsCisgICAgICAgICAgICBtb2RlOiAndGV4dC94LXBn c3FsJywKKyAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLAorICAgICAgICAgIH19CisgICAgICAg IC8+CisgICAgICApIDogKAorICAgICAgICA8Q29kZU1pcnJvcgorICAgICAgICAgIGNsYXNzTmFt ZT17Y2xhc3Nlcy50ZXh0QXJlYX0KKyAgICAgICAgICB2YWx1ZT17bXNnfQorICAgICAgICAgIG9w dGlvbnM9e3sKKyAgICAgICAgICAgIGxpbmVOdW1iZXJzOiB0cnVlLAorICAgICAgICAgICAgbW9k ZTogJ3RleHQveC1wZ3NxbCcsCisgICAgICAgICAgICByZWFkT25seTogdHJ1ZSwKKyAgICAgICAg ICB9fQorICAgICAgICAvPgorICAgICAgKX0KKyAgICA8Lz4KKyAgKTsKK30KKworU1FMLnByb3BU eXBlcyA9IHsKKyAgcmVzOiBQcm9wVHlwZXMuYXJyYXksCisgIG5vZGVEYXRhOiBQcm9wVHlwZXMu b2JqZWN0LAorICB0cmVlTm9kZUluZm86IFByb3BUeXBlcy5vYmplY3QsCisgIG5vZGU6IFByb3BU eXBlcy5mdW5jLAorfTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21pc2Mvc3FsL3N0YXRpYy9q cy9zcWwuanMgYi93ZWIvcGdhZG1pbi9taXNjL3NxbC9zdGF0aWMvanMvc3FsLmpzCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2VlMzEyOWEuLjAwMDAwMDAwMAotLS0gYS93ZWIvcGdh ZG1pbi9taXNjL3NxbC9zdGF0aWMvanMvc3FsLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjA3ICsw LDAgQEAKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KLS8vCi0vLyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCi0vLwotLy8g Q29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQot Ly8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNl Ci0vLwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KLQotaW1wb3J0IE5vdGlmeSBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMvanMv aGVscGVycy9Ob3RpZmllcic7Ci0KLWRlZmluZSgnbWlzYy5zcWwnLCBbCi0gICdzb3VyY2VzL2dl dHRleHQnLCAndW5kZXJzY29yZScsICdqcXVlcnknLAotICAnc291cmNlcy9wZ2FkbWluJywgJ3Bn YWRtaW4uYnJvd3NlcicsICdwZ2FkbWluLmFsZXJ0aWZ5anMnLAotXSwgZnVuY3Rpb24oZ2V0dGV4 dCwgXywgJCwgcGdBZG1pbiwgcGdCcm93c2VyLCBBbGVydGlmeSkgewotCi0gIHBnQnJvd3Nlci5T aG93Tm9kZVNRTCA9IHBnQnJvd3Nlci5TaG93Tm9kZVNRTCB8fCB7fTsKLQotICBpZiAocGdCcm93 c2VyLlNob3dOb2RlU1FMLmluaXRpYWxpemVkKSB7Ci0gICAgcmV0dXJuIHBnQnJvd3Nlci5TaG93 Tm9kZVNRTDsKLSAgfQotICB2YXIgd2NEb2NrZXIgPSB3aW5kb3cud2NEb2NrZXI7Ci0KLSAgXy5l eHRlbmQocGdCcm93c2VyLlNob3dOb2RlU1FMLCB7Ci0gICAgaW5pdDogZnVuY3Rpb24oKSB7Ci0g ICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkgewotICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0g ICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTsKLSAgICAgIF8uYmluZEFsbCh0aGlzLCAnc2hv d1NRTCcsICdzcWxQYW5lbFZpc2liaWxpdHlDaGFuZ2VkJyk7Ci0KLSAgICAgIHZhciBzcWxQYW5l bHM7Ci0gICAgICB0aGlzLnNxbFBhbmVscyA9IHNxbFBhbmVscyA9IHBnQnJvd3Nlci5kb2NrZXIu ZmluZFBhbmVscygnc3FsJyk7Ci0KLSAgICAgIC8vIFdlIHdpbGwgbGlzdGVuZCB0byB0aGUgdmlz aWJpbGl0eSBjaGFuZ2Ugb2YgdGhlIFNRTCBwYW5lbAotICAgICAgcGdCcm93c2VyLkV2ZW50cy5v bigKLSAgICAgICAgJ3BnYWRtaW4tYnJvd3NlcjpwYW5lbC1zcWw6JyArIHdjRG9ja2VyLkVWRU5U LlZJU0lCSUxJVFlfQ0hBTkdFRCwKLSAgICAgICAgdGhpcy5zcWxQYW5lbFZpc2liaWxpdHlDaGFu Z2VkCi0gICAgICApOwotCi0gICAgICBwZ0Jyb3dzZXIuRXZlbnRzLm9uKAotICAgICAgICAncGdh ZG1pbjpicm93c2VyOm5vZGU6dXBkYXRlZCcsCi0gICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAg ICAgIGlmICh0aGlzLnNxbFBhbmVscyAmJiB0aGlzLnNxbFBhbmVscy5sZW5ndGgpIHsKLSAgICAg ICAgICAgICQodGhpcy5zcWxQYW5lbHNbMF0pLmRhdGEoJ25vZGUtcHJvcCcsICcnKTsKLSAgICAg ICAgICAgIHRoaXMuc3FsUGFuZWxWaXNpYmlsaXR5Q2hhbmdlZCh0aGlzLnNxbFBhbmVsc1swXSk7 Ci0gICAgICAgICAgfQotICAgICAgICB9LCB0aGlzCi0gICAgICApOwotCi0gICAgICAvLyBIbW0u LiBEaWQgd2UgZmluZCB0aGUgU1FMIHBhbmVsLCBhbmQgaXMgaXQgdmlzaWJsZSAob3BlbmVkKT8K LSAgICAgIC8vIElmIHRoYXQgaXMgdGhlIGNhc2UgLSB3ZSBuZWVkIHRvIGxpc3RlbiB0aGUgYnJv d3NlciB0cmVlIHNlbGVjdGlvbgotICAgICAgLy8gZXZlbnRzLgotICAgICAgaWYgKHNxbFBhbmVs cy5sZW5ndGggPT0gMCkgewotICAgICAgICBwZ0Jyb3dzZXIuRXZlbnRzLm9uKAotICAgICAgICAg ICdwZ2FkbWluLWJyb3dzZXI6cGFuZWwtc3FsOicgKyB3Y0RvY2tlci5FVkVOVC5JTklULAotICAg ICAgICAgIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKChzcWxQYW5lbHNbMF0uaXNWaXNp YmxlKCkpIHx8IHNxbFBhbmVscy5sZW5ndGggIT0gMSkgewotICAgICAgICAgICAgICBwZ0Jyb3dz ZXIuRXZlbnRzLm9uKAotICAgICAgICAgICAgICAgICdwZ2FkbWluLWJyb3dzZXI6dHJlZTpzZWxl Y3RlZCcsIHRoaXMuc2hvd1NRTAotICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICBwZ0Jy b3dzZXIuRXZlbnRzLm9uKAotICAgICAgICAgICAgICAgICdwZ2FkbWluLWJyb3dzZXI6dHJlZTpy ZWFjdFNlbGVjdGVkJywgdGhpcy5yZWFjdFNob3dTUUwKLSAgICAgICAgICAgICAgKTsKLSAgICAg ICAgICAgICAgcGdCcm93c2VyLkV2ZW50cy5vbigKLSAgICAgICAgICAgICAgICAncGdhZG1pbi1i cm93c2VyOnRyZWU6cmVmcmVzaGluZycsIHRoaXMucmVmcmVzaFNRTCwgdGhpcwotICAgICAgICAg ICAgICApOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0uYmluZCh0aGlzKQotICAgICAgICAp OwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKChzcWxQYW5lbHNbMF0uaXNWaXNpYmxlKCkp IHx8IHNxbFBhbmVscy5sZW5ndGggIT0gMSkgewotICAgICAgICAgIHBnQnJvd3Nlci5FdmVudHMu b24oJ3BnYWRtaW4tYnJvd3Nlcjp0cmVlOnNlbGVjdGVkJywgdGhpcy5zaG93U1FMKTsKLSAgICAg ICAgICBwZ0Jyb3dzZXIuRXZlbnRzLm9uKCdwZ2FkbWluLWJyb3dzZXI6dHJlZTpyZWFjdFNlbGVj dGVkJywgdGhpcy5yZWFjdFNob3dTUUwpOwotICAgICAgICAgIHBnQnJvd3Nlci5FdmVudHMub24o Ci0gICAgICAgICAgICAncGdhZG1pbi1icm93c2VyOnRyZWU6cmVmcmVzaGluZycsIHRoaXMucmVm cmVzaFNRTCwgdGhpcwotICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAot ICAgIHJlZnJlc2hTUUw6IGZ1bmN0aW9uKGl0ZW0sIGRhdGEsIG5vZGUpIHsKLSAgICAgIHZhciB0 aGF0ID0gdGhpcywKLSAgICAgICAgY2FjaGVfZmxhZyA9IHsKLSAgICAgICAgICBub2RlX3R5cGU6 IGRhdGEuX3R5cGUsCi0gICAgICAgICAgdXJsOiBub2RlLmdlbmVyYXRlX3VybChpdGVtLCAnc3Fs JywgZGF0YSwgdHJ1ZSksCi0gICAgICAgIH07Ci0KLSAgICAgIGlmIChfLmlzRXF1YWwoJCh0aGF0 LnNxbFBhbmVsc1swXSkuZGF0YSgnbm9kZS1wcm9wJyksIGNhY2hlX2ZsYWcpKSB7Ci0gICAgICAg IC8vIFJlc2V0IHRoZSBjdXJyZW50IGl0ZW0gc2VsZWN0aW9uCi0gICAgICAgICQodGhhdC5zcWxQ YW5lbHNbMF0pLmRhdGEoJ25vZGUtcHJvcCcsICcnKTsKLSAgICAgICAgdGhhdC5zaG93U1FMKGl0 ZW0sIGRhdGEsIG5vZGUpOwotICAgICAgfQotICAgIH0sCi0gICAgc2hvd1NRTDogZnVuY3Rpb24o aXRlbSwgZGF0YSwgbm9kZSkgewotICAgICAgLyoqCi0gICAgICAgKiBXZSBjYW4ndCBzdGFydCBm ZXRjaGluZyB0aGUgU1FMIGltbWVkaWF0ZWx5LCBpdCBpcyBwb3NzaWJsZSAtIHRoZSB1c2VyCi0g ICAgICAgKiBpcyBqdXN0IHVzaW5nIGtleWJvYXJkcyB0byBzZWxlY3QgdGhlIG5vZGUsIGFuZCBq dXN0IHRyYXZlcnNpbmcKLSAgICAgICAqIHRocm91Z2guIFdlIHdpbGwgd2FpdCBmb3Igc29tZSB0 aW1lIGJlZm9yZSBmZXRjaGluZyB0aGUgUmV2ZXJzZWQKLSAgICAgICAqIEVuZ2luZWVyaW5nIFNR TC4KLSAgICAgICAqKi8KLQotICAgICAgdGhpcy50aW1lb3V0ICYmIGNsZWFyVGltZW91dCh0aGlz LnRpbWVvdXQpOwotCi0gICAgICB2YXIgdGhhdCA9IHRoaXM7Ci0gICAgICB0aGlzLnRpbWVvdXQg PSBzZXRUaW1lb3V0KAotICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICB2YXIgc3FsID0g Jy0tICcgKyBnZXR0ZXh0KCdQbGVhc2Ugc2VsZWN0IGFuIG9iamVjdCBpbiB0aGUgdHJlZSB2aWV3 LicpOwotICAgICAgICAgIGlmIChub2RlKSB7Ci0gICAgICAgICAgICBzcWwgPSAnLS0gJyArIGdl dHRleHQoJ05vIFNRTCBjb3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBzZWxlY3RlZCBvYmplY3Qu Jyk7Ci0gICAgICAgICAgICB2YXIgbl90eXBlID0gZGF0YS5fdHlwZSwKLSAgICAgICAgICAgICAg dXJsID0gbm9kZS5nZW5lcmF0ZV91cmwoaXRlbSwgJ3NxbCcsIGRhdGEsIHRydWUpLAotICAgICAg ICAgICAgICB0cmVlSGllcmFyY2h5ID0gcGdCcm93c2VyLnRyZWUuZ2V0VHJlZU5vZGVIaWVyYXJj aHkoaXRlbSksCi0gICAgICAgICAgICAgIGNhY2hlX2ZsYWcgPSB7Ci0gICAgICAgICAgICAgICAg bm9kZV90eXBlOiBuX3R5cGUsCi0gICAgICAgICAgICAgICAgdXJsOiB1cmwsCi0gICAgICAgICAg ICAgIH07Ci0KLSAgICAgICAgICAgIC8vIEF2b2lkIHVubmVjZXNzYXJ5IHJlbG9hZHMKLSAgICAg ICAgICAgIGlmIChfLmlzRXF1YWwoJCh0aGF0LnNxbFBhbmVsc1swXSkuZGF0YSgnbm9kZS1wcm9w JyksIGNhY2hlX2ZsYWcpKSB7Ci0gICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K LSAgICAgICAgICAgIC8vIENhY2hlIHRoZSBjdXJyZW50IElEcyBmb3IgbmV4dCB0aW1lCi0gICAg ICAgICAgICAkKHRoYXQuc3FsUGFuZWxzWzBdKS5kYXRhKCdub2RlLXByb3AnLCBjYWNoZV9mbGFn KTsKLQotICAgICAgICAgICAgaWYgKG5vZGUuaGFzU1FMKSB7Ci0KLSAgICAgICAgICAgICAgc3Fs ID0gJyc7Ci0gICAgICAgICAgICAgIHZhciB0aW1lcjsKLSAgICAgICAgICAgICAgdmFyIGFqYXhI b29rID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgJC5hamF4KHsKLSAgICAgICAgICAg ICAgICAgIHVybDogdXJsLAotICAgICAgICAgICAgICAgICAgdHlwZTogJ0dFVCcsCi0gICAgICAg ICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbih4aHIpIHsKLSAgICAgICAgICAgICAgICAg ICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoCi0gICAgICAgICAgICAgICAgICAgICAgcGdBZG1pbi5j c3JmX3Rva2VuX2hlYWRlciwgcGdBZG1pbi5jc3JmX3Rva2VuCi0gICAgICAgICAgICAgICAgICAg ICk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYXRlIGEgdGltZXIgZm9yIHRoZSByZXF1 ZXN0Ci0gICAgICAgICAgICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsK LSAgICAgICAgICAgICAgICAgICAgICAvLyBOb3RpZnkgdXNlciBpZiByZXF1ZXN0IGlzIHRha2lu ZyBsb25nZXIgdGhhbiAxIHNlY29uZAotICAgICAgICAgICAgICAgICAgICAgIHBnQWRtaW4uQnJv d3Nlci5lZGl0b3Iuc2V0VmFsdWUoCi0gICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCdS ZXRyaWV2aW5nIGRhdGEgZnJvbSB0aGUgc2VydmVyLi4uJykKLSAgICAgICAgICAgICAgICAgICAg ICApOwotICAgICAgICAgICAgICAgICAgICB9LCAxMDAwKTsKLSAgICAgICAgICAgICAgICAgIH0s Ci0gICAgICAgICAgICAgICAgfSkuZG9uZShmdW5jdGlvbihyZXMpIHsKLSAgICAgICAgICAgICAg ICAgIGlmIChwZ0FkbWluLkJyb3dzZXIuZWRpdG9yLmdldFZhbHVlKCkgIT0gcmVzKSB7Ci0gICAg ICAgICAgICAgICAgICAgIHBnQWRtaW4uQnJvd3Nlci5lZGl0b3Iuc2V0VmFsdWUocmVzKTsKLSAg ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7 Ci0gICAgICAgICAgICAgICAgfSkuZmFpbChmdW5jdGlvbih4aHIsIGVycm9yLCBtZXNzYWdlKSB7 Ci0gICAgICAgICAgICAgICAgICB2YXIgX2xhYmVsID0gdHJlZUhpZXJhcmNoeVtuX3R5cGVdLmxh YmVsOwotICAgICAgICAgICAgICAgICAgcGdCcm93c2VyLkV2ZW50cy50cmlnZ2VyKAotICAgICAg ICAgICAgICAgICAgICAncGdhZG1pbjpub2RlOnJldHJpZXZhbDplcnJvcicsICdzcWwnLCB4aHIs IGVycm9yLCBtZXNzYWdlLCBpdGVtCi0gICAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAg ICAgICAgaWYgKCFBbGVydGlmeS5wZ0hhbmRsZUl0ZW1FcnJvcih4aHIsIGVycm9yLCBtZXNzYWdl LCB7Ci0gICAgICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sCi0gICAgICAgICAgICAgICAgICAg IGluZm86IHRyZWVIaWVyYXJjaHksCi0gICAgICAgICAgICAgICAgICB9KSkgewotICAgICAgICAg ICAgICAgICAgICBOb3RpZnkucGdOb3RpZmllcigKLSAgICAgICAgICAgICAgICAgICAgICBlcnJv ciwgeGhyLAotICAgICAgICAgICAgICAgICAgICAgIGdldHRleHQoJ0Vycm9yIHJldHJpZXZpbmcg dGhlIGluZm9ybWF0aW9uIC0gJXMnLCBtZXNzYWdlIHx8IF9sYWJlbCksCi0gICAgICAgICAgICAg ICAgICAgICAgZnVuY3Rpb24obXNnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZihtc2cg PT09ICdDUllQVEtFWV9TRVQnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhIb29r KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zb2xlLndhcm4oYXJndW1lbnRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAg IH0KLSAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICk7Ci0gICAg ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIH07Ci0g ICAgICAgICAgICAgIGFqYXhIb29rKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotCi0g ICAgICAgICAgaWYgKHNxbCAhPSAnJykgewotICAgICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLmVk aXRvci5zZXRWYWx1ZShzcWwpOwotICAgICAgICAgIH0KLSAgICAgICAgfSwgNDAwKTsKLSAgICB9 LAotICAgIHNxbFBhbmVsVmlzaWJpbGl0eUNoYW5nZWQ6IGZ1bmN0aW9uKHBhbmVsKSB7Ci0gICAg ICBpZiAocGFuZWwuaXNWaXNpYmxlKCkpIHsKLSAgICAgICAgdmFyIHQgPSBwZ0Jyb3dzZXIudHJl ZSwKLSAgICAgICAgICBpID0gdC5zZWxlY3RlZCgpLAotICAgICAgICAgIGQgPSBpICYmIHQuaXRl bURhdGEoaSksCi0gICAgICAgICAgbiA9IGkgJiYgZCAmJiBwZ0Jyb3dzZXIuTm9kZXNbZC5fdHlw ZV07Ci0KLSAgICAgICAgcGdCcm93c2VyLlNob3dOb2RlU1FMLnNob3dTUUwuYXBwbHkocGdCcm93 c2VyLlNob3dOb2RlU1FMLCBbaSwgZCwgbl0pOwotCi0gICAgICAgIC8vIFdlIHdpbGwgc3RhcnQg bGlzdGVuaW5nIHRoZSB0cmVlIHNlbGVjdGlvbiBldmVudC4KLSAgICAgICAgcGdCcm93c2VyLkV2 ZW50cy5vbigncGdhZG1pbi1icm93c2VyOnRyZWU6c2VsZWN0ZWQnLCBwZ0Jyb3dzZXIuU2hvd05v ZGVTUUwuc2hvd1NRTCk7Ci0gICAgICAgIHBnQnJvd3Nlci5FdmVudHMub24oCi0gICAgICAgICAg J3BnYWRtaW4tYnJvd3Nlcjp0cmVlOnJlZnJlc2hpbmcnLCBwZ0Jyb3dzZXIuU2hvd05vZGVTUUwu cmVmcmVzaFNRTCwgdGhpcwotICAgICAgICApOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgLy8g V2UgZG9uJ3QgbmVlZCB0byBsaXN0ZW4gdGhlIHRyZWUgaXRlbSBzZWxlY3Rpb24gZXZlbnQuCi0g ICAgICAgIHBnQnJvd3Nlci5FdmVudHMub2ZmKCdwZ2FkbWluLWJyb3dzZXI6dHJlZTpzZWxlY3Rl ZCcsIHBnQnJvd3Nlci5TaG93Tm9kZVNRTC5zaG93U1FMKTsKLSAgICAgICAgcGdCcm93c2VyLkV2 ZW50cy5vZmYoCi0gICAgICAgICAgJ3BnYWRtaW4tYnJvd3Nlcjp0cmVlOnJlZnJlc2hpbmcnLCBw Z0Jyb3dzZXIuU2hvd05vZGVTUUwucmVmcmVzaFNRTCwgdGhpcwotICAgICAgICApOwotICAgICAg fQotICAgIH0sCi0gIH0pOwotCi0gIHJldHVybiBwZ0Jyb3dzZXIuU2hvd05vZGVTUUw7Ci19KTsK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGlzdGljcy9zdGF0aWMvanMvU3RhdGlz dGljcy5qc3ggYi93ZWIvcGdhZG1pbi9taXNjL3N0YXRpc3RpY3Mvc3RhdGljL2pzL1N0YXRpc3Rp Y3MuanN4CmluZGV4IGNhZjYzNTM1MS4uMzA1MjYyNjgwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9taXNjL3N0YXRpc3RpY3Mvc3RhdGljL2pzL1N0YXRpc3RpY3MuanN4CisrKyBiL3dlYi9wZ2Fk bWluL21pc2Mvc3RhdGlzdGljcy9zdGF0aWMvanMvU3RhdGlzdGljcy5qc3gKQEAgLTE3LDcgKzE3 LDcgQEAgaW1wb3J0IGdldEFwaUluc3RhbmNlIGZyb20gJ3NvdXJjZXMvYXBpX2luc3RhbmNlJzsK IGltcG9ydCB7IG1ha2VTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnOwog aW1wb3J0IHNpemVQcmV0dGlmeSBmcm9tICdzb3VyY2VzL3NpemVfcHJldHRpZnknOwogaW1wb3J0 IHsgZ2V0VVJMIH0gZnJvbSAnLi4vLi4vLi4vc3RhdGljL3V0aWxzL3V0aWxzJzsKLQoraW1wb3J0 IExvYWRlciBmcm9tICdzb3VyY2VzL2NvbXBvbmVudHMvTG9hZGVyJzsKIGNvbnN0IHVzZVN0eWxl cyA9IG1ha2VTdHlsZXMoKHRoZW1lKSA9PiAoewogICBlbXB0eVBhbmVsOiB7CiAgICAgbWluSGVp Z2h0OiAnMTAwJScsCkBAIC0zNywxMiArMzcsMTggQEAgY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0 eWxlcygodGhlbWUpID0+ICh7CiAgICAgbWFyZ2luTGVmdDogJzAuNXJlbScsCiAgICAgZm9udFNp emU6ICcwLjg3NXJlbScsCiAgIH0sCisgIGxvYWRpbmc6IHsKKyAgICBtYXJnaW5MZWZ0OiAnMC41 cmVtJywKKyAgICBmb250U2l6ZTogJzAuODc1cmVtJywKKyAgICBjb2xvdXI6IHRoZW1lLnBhbGV0 dGUuZ3JleVs0MDBdCisgIH0sCiAgIGF1dG9SZXNpemVyOiB7CiAgICAgaGVpZ2h0OiAnMTAwJSAh aW1wb3J0YW50JywKICAgICB3aWR0aDogJzEwMCUgIWltcG9ydGFudCcsCiAgICAgYmFja2dyb3Vu ZDogdGhlbWUucGFsZXR0ZS5ncmV5WzQwMF0sCiAgICAgcGFkZGluZzogJzcuNXB4JywKLSAgICBv dmVyZmxvdzogJ2F1dG8gIWltcG9ydGFudCcsCisgICAgb3ZlcmZsb3dYOiAnYXV0byAhaW1wb3J0 YW50JywKKyAgICBvdmVyZmxvd1k6ICdoaWRkZW4gIWltcG9ydGFudCcsCiAgICAgbWluSGVpZ2h0 OiAnMTAwJScsCiAgICAgbWluV2lkdGg6ICcxMDAlJywKICAgfSwKQEAgLTU4LDcgKzY0LDcgQEAg ZnVuY3Rpb24gZ2V0Q29sdW1uKGRhdGEsIHNpbmdsZUxpbmVTdGF0aXN0aWNzKSB7CiAgICAgICAg ICAgYWNjZXNzb3I6IHJvdy5uYW1lLAogICAgICAgICAgIHNvcnRibGU6IHRydWUsCiAgICAgICAg ICAgcmVzaXphYmxlOiBmYWxzZSwKLSAgICAgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiB0cnVl LAorICAgICAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAogICAgICAgICB9OwogICAg ICAgICBjb2x1bW5zLnB1c2goY29sdW1uKTsKICAgICAgIH0pOwpAQCAtNzEsMTQgKzc3LDE0IEBA IGZ1bmN0aW9uIGdldENvbHVtbihkYXRhLCBzaW5nbGVMaW5lU3RhdGlzdGljcykgewogICAgICAg ICBhY2Nlc3NvcjogJ25hbWUnLAogICAgICAgICBzb3J0YmxlOiB0cnVlLAogICAgICAgICByZXNp emFibGU6IGZhbHNlLAotICAgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiB0cnVlLAorICAgICAg ICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKICAgICAgIH0sCiAgICAgICB7CiAgICAgICAg IEhlYWRlcjogJ1ZhbHVlJywKICAgICAgICAgYWNjZXNzb3I6ICd2YWx1ZScsCiAgICAgICAgIHNv cnRibGU6IHRydWUsCiAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsCi0gICAgICAgIGRpc2FibGVH bG9iYWxGaWx0ZXI6IHRydWUsCisgICAgICAgIGRpc2FibGVHbG9iYWxGaWx0ZXI6IGZhbHNlLAog ICAgICAgfSwKICAgICBdOwogICB9CkBAIC0xNDIsMjAgKzE0OCwyMSBAQCBleHBvcnQgZGVmYXVs dCBmdW5jdGlvbiBTdGF0aXN0aWNzKHsgbm9kZURhdGEsIGl0ZW0sIG5vZGUsIC4uLnByb3BzIH0p IHsKICAgY29uc3QgW3RhYmxlRGF0YSwgc2V0VGFibGVEYXRhXSA9IFJlYWN0LnVzZVN0YXRlKFtd KTsKIAogICBjb25zdCBbbXNnLCBzZXRNc2ddID0gUmVhY3QudXNlU3RhdGUoJycpOworICBjb25z dCBbbG9hZGVyVGV4dCwgc2V0TG9hZGVyVGV4dF0gPSBSZWFjdC51c2VTdGF0ZSgnJyk7CiAgIGNv bnN0IFtjb2x1bW5zLCBzZXRDb2x1bW5zXSA9IFJlYWN0LnVzZVN0YXRlKFsKICAgICB7CiAgICAg ICBIZWFkZXI6ICdTdGF0aWN0aWNzJywKICAgICAgIGFjY2Vzc29yOiAnbmFtZScsCiAgICAgICBz b3J0YmxlOiB0cnVlLAogICAgICAgcmVzaXphYmxlOiBmYWxzZSwKLSAgICAgIGRpc2FibGVHbG9i YWxGaWx0ZXI6IHRydWUsCisgICAgICBkaXNhYmxlR2xvYmFsRmlsdGVyOiBmYWxzZSwKICAgICB9 LAogICAgIHsKICAgICAgIEhlYWRlcjogJ1ZhbHVlJywKICAgICAgIGFjY2Vzc29yOiAndmFsdWUn LAogICAgICAgc29ydGJsZTogdHJ1ZSwKICAgICAgIHJlc2l6YWJsZTogZmFsc2UsCi0gICAgICBk aXNhYmxlR2xvYmFsRmlsdGVyOiB0cnVlLAorICAgICAgZGlzYWJsZUdsb2JhbEZpbHRlcjogZmFs c2UsCiAgICAgfSwKICAgXSk7CiAKQEAgLTE3MCw2ICsxNzcsNyBAQCBleHBvcnQgZGVmYXVsdCBm dW5jdGlvbiBTdGF0aXN0aWNzKHsgbm9kZURhdGEsIGl0ZW0sIG5vZGUsIC4uLnByb3BzIH0pIHsK IAogICAgICAgY29uc3QgYXBpID0gZ2V0QXBpSW5zdGFuY2UoKTsKICAgICAgIGlmIChub2RlLmhh c1N0YXRpc3RpY3MpIHsKKyAgICAgICAgc2V0TG9hZGVyVGV4dCgnTG9hZGluZy4uLicpOwogICAg ICAgICBhcGkoewogICAgICAgICAgIHVybDogdXJsLAogICAgICAgICAgIHR5cGU6ICdHRVQnLApA QCAtMTgwLDYgKzE4OCw3IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFN0YXRpc3RpY3MoeyBu b2RlRGF0YSwgaXRlbSwgbm9kZSwgLi4ucHJvcHMgfSkgewogICAgICAgICAgICAgaWYgKCFfLmlz VW5kZWZpbmVkKGNvbERhdGEpKSB7CiAgICAgICAgICAgICAgIHNldENvbHVtbnMoY29sRGF0YSk7 CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBzZXRMb2FkZXJUZXh0KCcnKTsKICAgICAgICAg ICB9KQogICAgICAgICAgIC5jYXRjaCgoZSkgPT4gewogICAgICAgICAgICAgTm90aWZ5LmFsZXJ0 KApAQCAtMTg3LDEwICsxOTYsMTIgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU3RhdGlzdGlj cyh7IG5vZGVEYXRhLCBpdGVtLCBub2RlLCAuLi5wcm9wcyB9KSB7CiAgICAgICAgICAgICAgIGdl dHRleHQoZS5tZXNzYWdlKQogICAgICAgICAgICAgKTsKICAgICAgICAgICAgIC8vIHNob3cgZmFp bGVkIG1lc3NhZ2UuCisgICAgICAgICAgICBzZXRMb2FkZXJUZXh0KCcnKTsKICAgICAgICAgICAg IHNldE1zZyhnZXR0ZXh0KCdGYWlsZWQgdG8gcmV0cmlldmUgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIu JykpOwogICAgICAgICAgIH0pOwogICAgICAgfSBlbHNlIHsKLSAgICAgICAgc2V0TXNnKG1lc3Nh Z2UpOworICAgICAgICBzZXRMb2FkZXJUZXh0KCcnKTsKKyAgICAgICAgc2V0TXNnKCdObyBzdGF0 aXN0aWNzIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBvYmplY3QuJyk7CiAgICAgICB9 CiAgICAgfQogICAgIGlmIChtZXNzYWdlICE9ICcnKSB7CkBAIC0yMTMsMTAgKzIyNCwxMiBAQCBl eHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTdGF0aXN0aWNzKHsgbm9kZURhdGEsIGl0ZW0sIG5vZGUs IC4uLnByb3BzIH0pIHsKICAgICAgICAgPjwvUGdUYWJsZT4KICAgICAgICkgOiAoCiAgICAgICAg IDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmVtcHR5UGFuZWx9PgotICAgICAgICAgIDxkaXYgY2xh c3NOYW1lPXtjbGFzc2VzLnBhbmVsSWNvbn0+Ci0gICAgICAgICAgICA8aSBjbGFzc05hbWU9ImZh IGZhLWV4Y2xhbWF0aW9uLWNpcmNsZSI+PC9pPgotICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1l PXtjbGFzc2VzLnBhbmVsTWVzc2FnZX0+e2dldHRleHQobXNnKX08L3NwYW4+Ci0gICAgICAgICAg PC9kaXY+CisgICAgICAgICAge2xvYWRlclRleHQgPyAoPExvYWRlciBtZXNzYWdlPXtsb2FkZXJU ZXh0fSBjbGFzc05hbWU9e2NsYXNzZXMubG9hZGluZ30gLz4pIDoKKyAgICAgICAgICAgIDxkaXYg Y2xhc3NOYW1lPXtjbGFzc2VzLnBhbmVsSWNvbn0+CisgICAgICAgICAgICAgIDxpIGNsYXNzTmFt ZT0iZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIj48L2k+CisgICAgICAgICAgICAgIDxzcGFuIGNs YXNzTmFtZT17Y2xhc3Nlcy5wYW5lbE1lc3NhZ2V9PntnZXR0ZXh0KG1zZyl9PC9zcGFuPgorICAg ICAgICAgICAgPC9kaXY+CisgICAgICAgICAgfQogICAgICAgICA8L2Rpdj4KICAgICAgICl9CiAg ICAgPC8+CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvZGFyay5qcyBi L3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9UaGVtZS9kYXJrLmpzCmluZGV4IDBmZDVjYzVhNC4uY2Fm YWFhZTNlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvZGFyay5qcwor KysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvZGFyay5qcwpAQCAtOTIsNyArOTIsOCBA QCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbihiYXNpY1NldHRpbmdzKSB7CiAgICAgICBhY3RpdmVT dGVwRmc6ICcjRkZGRkZGJywKICAgICAgIHN0ZXBCZzogJyNGRkZGRkYnLAogICAgICAgc3RlcEZn OiAnIzAwMCcsCi0gICAgICB0b2dnbGVCdG5CZzogJyMwMDAnCisgICAgICB0b2dnbGVCdG5CZzog JyMwMDAnLAorICAgICAgY29sb3JGZzogJyNGRkZGRkYnLAogICAgIH0KICAgfSk7CiB9CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvaGlnaF9jb250cmFzdC5qcyBiL3dl Yi9wZ2FkbWluL3N0YXRpYy9qcy9UaGVtZS9oaWdoX2NvbnRyYXN0LmpzCmluZGV4IGI1NjdjYTIz ZS4uYTljMTcyYWM3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvaGln aF9jb250cmFzdC5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvaGlnaF9jb250 cmFzdC5qcwpAQCAtOTAsNyArOTAsOCBAQCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbihiYXNpY1Nl dHRpbmdzKSB7CiAgICAgICBhY3RpdmVTdGVwRmc6ICcjMDEwYjE1JywKICAgICAgIHN0ZXBCZzog JyNGRkZGRkYnLAogICAgICAgc3RlcEZnOiAnIzAwMCcsCi0gICAgICB0b2dnbGVCdG5CZzogJyM2 QjZCNkInCisgICAgICB0b2dnbGVCdG5CZzogJyM2QjZCNkInLAorICAgICAgY29sb3JGZzogJyNG RkZGRkYnLAogICAgIH0KICAgfSk7CiB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMv anMvVGhlbWUvc3RhbmRhcmQuanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvVGhlbWUvc3RhbmRh cmQuanMKaW5kZXggZGRjOWNkNzM1Li44Y2Y0NjNhNzEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3N0YXRpYy9qcy9UaGVtZS9zdGFuZGFyZC5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMv VGhlbWUvc3RhbmRhcmQuanMKQEAgLTg1LDYgKzg1LDcgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rp b24oYmFzaWNTZXR0aW5ncykgewogICAgICAgICBwYWRkaW5nOiAnNXB4IDhweCcsCiAgICAgICB9 LAogICAgICAgYm9yZGVyQ29sb3I6ICcjZGRlMGU2JywKKyAgICAgIGNvbG9yRmc6ICcjMjIyMjIy JywKICAgICAgIGxvYWRlcjogewogICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGZhZGUoJyMwMDAn LCAwLjY1KSwKICAgICAgICAgY29sb3I6ICcjZmZmJywKQEAgLTEwMiw2ICsxMDMsNyBAQCBleHBv cnQgZGVmYXVsdCBmdW5jdGlvbihiYXNpY1NldHRpbmdzKSB7CiAgICAgICB0b2dnbGVCdG5CZzog JyMwMDAnLAogICAgICAgZWRpdG9yVG9vbGJhckJnOiAnI2ViZWVmMycsCiAgICAgICBkYXRhZ3Jp ZEJnOiAnI2ZmZicsCisKICAgICB9CiAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v c3RhdGljL2pzL2NvbXBvbmVudHMvUGdUYWJsZS5qc3ggYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMv Y29tcG9uZW50cy9QZ1RhYmxlLmpzeAppbmRleCAxYjUxNzlhYzAuLmI2ZjlkMTJjYiAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2NvbXBvbmVudHMvUGdUYWJsZS5qc3gKKysrIGIv d2ViL3BnYWRtaW4vc3RhdGljL2pzL2NvbXBvbmVudHMvUGdUYWJsZS5qc3gKQEAgLTgsMTMgKzgs MjYgQEAKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vCiAKIGltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7Ci1pbXBvcnQgeyB1c2VU YWJsZSwgdXNlUm93U2VsZWN0LCB1c2VTb3J0QnksIHVzZVJlc2l6ZUNvbHVtbnMsIHVzZUZsZXhM YXlvdXQsIHVzZUdsb2JhbEZpbHRlciB9IGZyb20gJ3JlYWN0LXRhYmxlJzsKLWltcG9ydCB7IEZp eGVkU2l6ZUxpc3QgfSBmcm9tICdyZWFjdC13aW5kb3cnOworaW1wb3J0IHsKKyAgdXNlVGFibGUs CisgIHVzZVJvd1NlbGVjdCwKKyAgdXNlU29ydEJ5LAorICB1c2VSZXNpemVDb2x1bW5zLAorICB1 c2VGbGV4TGF5b3V0LAorICB1c2VHbG9iYWxGaWx0ZXIsCisgIHVzZUV4cGFuZGVkLAorfSBmcm9t ICdyZWFjdC10YWJsZSc7CitpbXBvcnQgeyBWYXJpYWJsZVNpemVMaXN0IH0gZnJvbSAncmVhY3Qt d2luZG93JzsKIGltcG9ydCB7IG1ha2VTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9z dHlsZXMnOwogaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCc7CiBpbXBvcnQgUHJvcFR5cGVzIGZyb20g J3Byb3AtdHlwZXMnOwogaW1wb3J0IEF1dG9TaXplciBmcm9tICdyZWFjdC12aXJ0dWFsaXplZC1h dXRvLXNpemVyJzsKLWltcG9ydCB7IENoZWNrYm94IH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUn OworaW1wb3J0IHsgQ2hlY2tib3gsIEJveCB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJzsKK2lt cG9ydCB7IElucHV0VGV4dCB9IGZyb20gJy4vRm9ybUNvbXBvbmVudHMnOworaW1wb3J0IEZvcm1W aWV3IGZyb20gJ3NvdXJjZXMvU2NoZW1hVmlldyc7CitpbXBvcnQgXyBmcm9tICdsb2Rhc2gnOwor aW1wb3J0IGdldHRleHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKKwogLyogZXNsaW50LWRpc2Fi bGUgcmVhY3QvZGlzcGxheS1uYW1lICovCiBjb25zdCB1c2VTdHlsZXMgPSBtYWtlU3R5bGVzKCh0 aGVtZSkgPT4gKHsKICAgcm9vdDogewpAQCAtMjksMjIgKzQyLDU2IEBAIGNvbnN0IHVzZVN0eWxl cyA9IG1ha2VTdHlsZXMoKHRoZW1lKSA9PiAoewogICAgIHdpZHRoOiAnMTAwJSAhaW1wb3J0YW50 JywKICAgfSwKICAgZml4ZWRTaXplTGlzdDogewotICAgIC8vIHBvc2l0aW9uOiAncmVsYXRpdmUn LAogICAgIGRpcmVjdGlvbjogJ2x0cicsCiAgICAgb3ZlcmZsb3dYOiAnaGlkZGVuICFpbXBvcnRh bnQnLAotICAgIG92ZXJmbG93OiAnb3ZlcmxheSAhaW1wb3J0YW50JworICAgIG92ZXJmbG93OiAn b3ZlcmxheSAhaW1wb3J0YW50JywKKyAgfSwKKyAgY3VzdG9tSGVhZGVyOnsKKyAgICBtYXJnaW5U b3A6ICcxMnB4JywKKyAgICBtYXJnaW5MZWZ0OiAnNHB4JworICB9LAorICBzZWFyY2hCb3g6IHsK KyAgICBtYXJnaW5Cb3R0b206ICc1cHgnLAorICAgIGRpc3BsYXk6ICdmbGV4JywKKyAgICBiYWNr Z3JvdW5kOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQuZGVmYXVsdAorICB9LAorICB0YWJsZUNv bnRlbnRXaWR0aDogeworICAgIHdpZHRoOiAnY2FsYygxMDAlIC0gM3B4KScsCisgIH0sCisgIHNl YXJjaFBhZGRpbmc6IHsKKyAgICBmbGV4OiAyLjUKKyAgfSwKKyAgc2VhcmNoSW5wdXQ6IHsKKyAg ICBmbGV4OiAxLAorICAgIG1hcmdpblRvcDogOCwKKyAgICBib3JkZXJMZWZ0OiAnbm9uZScsCisg ICAgcGFkZGluZ0xlZnQ6IDUsCisgICAgbWFyZ2luUmlnaHQ6IDgsCisgICAgbWFyZ2luQm90dG9t OiA4LAorCiAgIH0sCiAgIHRhYmxlOiB7Ci0gICAgZmxleEdyb3c6MSwKLSAgICBtaW5IZWlnaHQ6 MCwKKyAgICBmbGV4R3JvdzogMSwKKyAgICBtaW5IZWlnaHQ6IDAsCiAgICAgYm9yZGVyU3BhY2lu ZzogMCwKICAgICB3aWR0aDogJzEwMCUnLAogICAgIG92ZXJmbG93OiAnaGlkZGVuJywKICAgICBi b3JkZXJSYWRpdXM6IHRoZW1lLnNoYXBlLmJvcmRlclJhZGl1cywKKyAgICBib3JkZXI6ICcxcHgg c29saWQnKyB0aGVtZS5wYWxldHRlLmdyZXlbNDAwXQogICB9LAotICBleHRyYVRhYmxlOnsKLSAg ICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuZ3JleVs0MDBdLAotICAgIGZsZXhHcm93 OjEsCisgIHBnVGFibGVIZWFkYXI6IHsKKyAgICBkaXNwbGF5OiAnZmxleCcsCisgICAgZmxleEdy b3c6IDEsCisgICAgb3ZlcmZsb3c6ICdoaWRkZW4gIWltcG9ydGFudCcsCisgICAgaGVpZ2h0OiAn MTAwJSAhaW1wb3J0YW50JywKKyAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJworICB9LAorCisg IGV4cGFuZGVkRm9ybTogeworICAgIC4uLnRoZW1lLm1peGlucy5wYW5lbEJvcmRlciwKKyAgICBt YXJnaW46ICc4cHgnLAorICAgIHBhZGRpbmdCb3R0b206ICcxMnB4JywKKyAgICBtYXJnaW5SaWdo dDogJzE1cHgnLAogICB9LAogCiAgIHRhYmxlQ2VsbDogewpAQCAtNTQsMTUgKzEwMSwxNCBAQCBj b25zdCB1c2VTdHlsZXMgPSBtYWtlU3R5bGVzKCh0aGVtZSkgPT4gKHsKICAgICAuLi50aGVtZS5t aXhpbnMucGFuZWxCb3JkZXIucmlnaHQsCiAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsCiAgICAg b3ZlcmZsb3c6ICdoaWRkZW4nLAorICAgIGhlaWdodDogJzM1cHgnLAogICAgIHRleHRPdmVyZmxv dzogJ2VsbGlwc2lzJywKICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJywKICAgICBiYWNrZ3JvdW5k Q29sb3I6IHRoZW1lLm90aGVyVmFycy50YWJsZUJnLAotICAgIC8vIC4uLnRoZW1lLm1peGlucy5w YW5lbEJvcmRlci50b3AsCi0gICAgLi4udGhlbWUubWl4aW5zLnBhbmVsQm9yZGVyLmxlZnQsCi0K ICAgfSwKICAgc2VsZWN0Q2VsbDogewotICAgIHRleHRBbGlnbjogJ2NlbnRlcicKKyAgICB0ZXh0 QWxpZ246ICdjZW50ZXInLAorICAgIG1pbldpZHRoOiAnMjVweCcKICAgfSwKICAgdGFibGVDZWxs SGVhZGVyOiB7CiAgICAgZm9udFdlaWdodDogdGhlbWUudHlwb2dyYXBoeS5mb250V2VpZ2h0Qm9s ZCwKQEAgLTkzLDEzICsxMzksNTcgQEAgY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0eWxlcygodGhl bWUpID0+ICh7CiAgICAgcGFkZGluZ1RvcDogJzAuMzVlbScsCiAgICAgaGVpZ2h0OiAzNSwKICAg ICBiYWNrZ3JvdW5kUG9zaXRpb246ICcxJScsCi0gIH0KLX0pLAotKTsKKyAgfSwKKyAgZW1wdHlQ YW5lbDogeworICAgIG1pbkhlaWdodDogJzEwMCUnLAorICAgIG1pbldpZHRoOiAnMTAwJScsCisg ICAgYmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLmRlZmF1bHQsCisgICAgb3Zl cmZsb3c6ICdhdXRvJywKKyAgICBwYWRkaW5nOiAnNy41cHgnLAorICB9LAorICBwYW5lbEljb246 IHsKKyAgICB3aWR0aDogJzgwJScsCisgICAgbWFyZ2luOiAnMCBhdXRvJywKKyAgICBtYXJnaW5U b3A6ICcyNXB4ICFpbXBvcnRhbnQnLAorICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLAorICAgIHRl eHRBbGlnbjogJ2NlbnRlcicsCisgIH0sCisgIHBhbmVsTWVzc2FnZTogeworICAgIG1hcmdpbkxl ZnQ6ICcwLjVyZW0nLAorICAgIGZvbnRTaXplOiAnMC44NzVyZW0nLAorICB9LAorICBleHBhbmRl ZEljb25DZWxsOiB7CisgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmdyZXlbNDAw XSwKKyAgICAuLi50aGVtZS5taXhpbnMucGFuZWxCb3JkZXIudG9wLAorICAgIGJvcmRlckJvdHRv bTogJ25vbmUnLAorICB9LAorICBidG5DZWxsOiB7CisgICAgcGFkZGluZzogdGhlbWUuc3BhY2lu ZygwLjUsIDApLAorICAgIHRleHRBbGlnbjogJ2NlbnRlcicsCisgIH0sCit9KSk7CiAKLWV4cG9y dCBkZWZhdWx0IGZ1bmN0aW9uIFBnVGFibGUoeyBjb2x1bW5zLCBkYXRhLCBpc1NlbGVjdFJvdywg Li4ucHJvcHMgfSkgeworZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGdUYWJsZSh7IGNvbHVtbnMs IGRhdGEsIGlzU2VsZWN0Um93LCBvZmZzZXQ9MTA1LCAuLi5wcm9wcyB9KSB7CiAgIC8vIFVzZSB0 aGUgc3RhdGUgYW5kIGZ1bmN0aW9ucyByZXR1cm5lZCBmcm9tIHVzZVRhYmxlIHRvIGJ1aWxkIHlv dXIgVUkKICAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlcygpOworICBjb25zdCBbc2VhcmNoVmFs LCBzZXRTZWFyY2hWYWxdID0gUmVhY3QudXNlU3RhdGUoJycpOworICBjb25zdCB0YWJsZVJlZiA9 IFJlYWN0LnVzZVJlZigpOworICBjb25zdCByb3dIZWlnaHRzID0gUmVhY3QudXNlUmVmKHt9KTsK KyAgY29uc3Qgcm93UmVmID0gUmVhY3QudXNlUmVmKHt9KTsKKworICBmdW5jdGlvbiBnZXRSb3dI ZWlnaHQoaW5kZXgsIHNpemUpIHsKKyAgICByZXR1cm4gcm93SGVpZ2h0cy5jdXJyZW50W2luZGV4 XSArIHNpemUgfHwgMzU7CisgIH0KKworICBjb25zdCBzZXRSb3dIZWlnaHQgPSBSZWFjdC51c2VD YWxsYmFjaygoaW5kZXgsIHNpemUpID0+IHsKKyAgICBpZih0YWJsZVJlZi5jdXJyZW50KSB7Cisg ICAgICB0YWJsZVJlZi5jdXJyZW50LnJlc2V0QWZ0ZXJJbmRleChpbmRleCk7CisgICAgICBpZiAo IShyb3dIZWlnaHRzLmN1cnJlbnQuaGFzT3duUHJvcGVydHkoaW5kZXgpKSl7CisgICAgICAgIHJv d0hlaWdodHMuY3VycmVudCA9IHsgLi4ucm93SGVpZ2h0cy5jdXJyZW50LCBbaW5kZXhdOiBzaXpl IH07CisgICAgICB9CisgICAgfQorICB9LCBbXSk7CisKICAgY29uc3QgZGVmYXVsdENvbHVtbiA9 IFJlYWN0LnVzZU1lbW8oCiAgICAgKCkgPT4gKHsKICAgICAgIG1pbldpZHRoOiAxNTAsCkBAIC0x MTksNyArMjA5LDggQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGdUYWJsZSh7IGNvbHVtbnMs IGRhdGEsIGlzU2VsZWN0Um93LCAuLi5wcm9wcyB9KSB7CiAgICAgICAgIDw+CiAgICAgICAgICAg PENoZWNrYm94CiAgICAgICAgICAgICBjb2xvcj0icHJpbWFyeSIKLSAgICAgICAgICAgIHJlZj17 cmVzb2x2ZWRSZWZ9IHsuLi5yZXN0fSAvPgorICAgICAgICAgICAgcmVmPXtyZXNvbHZlZFJlZn0g ey4uLnJlc3R9CisgICAgICAgICAgLz4KICAgICAgICAgPC8+CiAgICAgICApOwogICAgIH0sCkBA IC0xNDEsOSArMjMyLDkgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGdUYWJsZSh7IGNvbHVt bnMsIGRhdGEsIGlzU2VsZWN0Um93LCAuLi5wcm9wcyB9KSB7CiAgICAgcm93cywKICAgICBwcmVw YXJlUm93LAogICAgIHNlbGVjdGVkRmxhdFJvd3MsCi0gICAgc3RhdGU6IHsgc2VsZWN0ZWRSb3dJ ZHMgfSwKKyAgICBzdGF0ZTogeyBzZWxlY3RlZFJvd0lkcywgZXhwYW5kZWQgfSwKICAgICBzZXRH bG9iYWxGaWx0ZXIsCi0gICAgc2V0SGlkZGVuQ29sdW1ucworICAgIHNldEhpZGRlbkNvbHVtbnMs CiAgIH0gPSB1c2VUYWJsZSgKICAgICB7CiAgICAgICBjb2x1bW5zLApAQCAtMTUzLDExICsyNDQs MTIgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGdUYWJsZSh7IGNvbHVtbnMsIGRhdGEsIGlz U2VsZWN0Um93LCAuLi5wcm9wcyB9KSB7CiAgICAgfSwKICAgICB1c2VHbG9iYWxGaWx0ZXIsCiAg ICAgdXNlU29ydEJ5LAorICAgIHVzZUV4cGFuZGVkLAogICAgIHVzZVJvd1NlbGVjdCwKICAgICB1 c2VSZXNpemVDb2x1bW5zLAogICAgIHVzZUZsZXhMYXlvdXQsCi0gICAgaG9va3MgPT4gewotICAg ICAgaG9va3MudmlzaWJsZUNvbHVtbnMucHVzaChDTE9VTU5TID0+IHsKKyAgICAoaG9va3MpID0+ IHsKKyAgICAgIGhvb2tzLnZpc2libGVDb2x1bW5zLnB1c2goKENMT1VNTlMpID0+IHsKICAgICAg ICAgaWYgKGlzU2VsZWN0Um93KSB7CiAgICAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgIC8v IExldCdzIG1ha2UgYSBjb2x1bW4gZm9yIHNlbGVjdGlvbgpAQCAtMTc4LDcgKzI3MCw3IEBAIGV4 cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBnVGFibGUoeyBjb2x1bW5zLCBkYXRhLCBpc1NlbGVjdFJv dywgLi4ucHJvcHMgfSkgewogICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAp LAogICAgICAgICAgICAgICBzb3J0YmxlOiBmYWxzZSwKLSAgICAgICAgICAgICAgd2lkdGg6IDUw LAorICAgICAgICAgICAgICB3aWR0aDogMzAsCiAgICAgICAgICAgICAgIG1pbldpZHRoOiAwLAog ICAgICAgICAgICAgfSwKICAgICAgICAgICAgIC4uLkNMT1VNTlMsCkBAIC0xOTUsMTEgKzI4Nywx NiBAQCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQZ1RhYmxlKHsgY29sdW1ucywgZGF0YSwgaXNT ZWxlY3RSb3csIC4uLnByb3BzIH0pIHsKICAgICB9CiAgICk7CiAKKyAgUmVhY3QudXNlRWZmZWN0 KCgpPT57CisgICAgdGFibGVSZWYuY3VycmVudD8ucmVzZXRBZnRlckluZGV4KDApOworICB9LFtl eHBhbmRlZF0pOworCisKICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsKICAgICBzZXRIaWRkZW5D b2x1bW5zKAogICAgICAgY29sdW1ucwogICAgICAgICAuZmlsdGVyKChjb2x1bW4pID0+IHsKLSAg ICAgICAgICBpZiAoY29sdW1uLmlzVmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGNvbHVtbnMuaXNW aXNpYmxlID09PSB0cnVlKSB7CisgICAgICAgICAgaWYgKGNvbHVtbi5pc1Zpc2libGUgPT09IHVu ZGVmaW5lZCB8fCBjb2x1bW4uaXNWaXNpYmxlID09PSB0cnVlKSB7CiAgICAgICAgICAgICByZXR1 cm4gZmFsc2U7CiAgICAgICAgICAgfQogICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjIyLDI4 ICszMTksNDQgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGdUYWJsZSh7IGNvbHVtbnMsIGRh dGEsIGlzU2VsZWN0Um93LCAuLi5wcm9wcyB9KSB7CiAgIH0sIFtzZWxlY3RlZFJvd0lkc10pOwog CiAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7Ci0gICAgc2V0R2xvYmFsRmlsdGVyKHByb3BzLnNl YXJjaFRleHQgfHwgdW5kZWZpbmVkKTsKLSAgfSwgW3Byb3BzLnNlYXJjaFRleHRdKTsKLQorICAg IHNldEdsb2JhbEZpbHRlcihzZWFyY2hWYWwgfHwgdW5kZWZpbmVkKTsKKyAgfSwgW3NlYXJjaFZh bF0pOwogCiAgIGNvbnN0IFJlbmRlclJvdyA9IFJlYWN0LnVzZUNhbGxiYWNrKAogICAgICh7IGlu ZGV4LCBzdHlsZSB9KSA9PiB7CiAgICAgICBjb25zdCByb3cgPSByb3dzW2luZGV4XTsKICAgICAg IHByZXBhcmVSb3cocm93KTsKICAgICAgIHJldHVybiAoCi0gICAgICAgIDxkaXYKLSAgICAgICAg ICB7Li4ucm93LmdldFJvd1Byb3BzKHsKLSAgICAgICAgICAgIHN0eWxlLAotICAgICAgICAgIH0p fQotICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50cn0KLSAgICAgICAgPgotICAgICAgICAg IHtyb3cuY2VsbHMubWFwKChjZWxsKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gKAotICAgICAg ICAgICAgICA8ZGl2IGtleT17Y2VsbC5jb2x1bW4uaWR9IHsuLi5jZWxsLmdldENlbGxQcm9wcygp fSBjbGFzc05hbWU9e2Nsc3goY2xhc3Nlcy50YWJsZUNlbGwsIHJvdy5vcmlnaW5hbC5pY29uICYm IHJvdy5vcmlnaW5hbC5pY29uW2NlbGwuY29sdW1uLmlkXSwgcm93Lm9yaWdpbmFsLmljb25bY2Vs bC5jb2x1bW4uaWRdICYmIGNsYXNzZXMuY2VsbEljb24pfSB0aXRsZT17Y2VsbC52YWx1ZX0+Ci0g ICAgICAgICAgICAgICAge2NlbGwucmVuZGVyKCdDZWxsJyl9Ci0gICAgICAgICAgICAgIDwvZGl2 PgotICAgICAgICAgICAgKTsKLSAgICAgICAgICB9KX0KKyAgICAgICAgPGRpdiBjbGFzc05hbWU9 e2NsYXNzZXMudGFibGVDb250ZW50V2lkdGh9IHN0eWxlPXtzdHlsZX0ga2V5PXtyb3cuaWR9Pgor ICAgICAgICAgIDxkaXYgey4uLnJvdy5nZXRSb3dQcm9wcygpfSBjbGFzc05hbWU9e2NsYXNzZXMu dHJ9PgorICAgICAgICAgICAge3Jvdy5jZWxscy5tYXAoKGNlbGwpID0+IHsKKyAgICAgICAgICAg ICAgbGV0IGNsYXNzTmFtZXMgPSBbY2xhc3Nlcy50YWJsZUNlbGxdOworICAgICAgICAgICAgICBp Zih0eXBlb2YoY2VsbC5jb2x1bW4uaWQpID09ICdzdHJpbmcnICYmIGNlbGwuY29sdW1uLmlkLnN0 YXJ0c1dpdGgoJ2J0bi0nKSkgeworICAgICAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChjbGFz c2VzLmJ0bkNlbGwpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIGlmKGNlbGwuY29s dW1uLmlkID09ICdidG4tZWRpdCcgJiYgcm93LmlzRXhwYW5kZWQpIHsKKyAgICAgICAgICAgICAg ICBjbGFzc05hbWVzLnB1c2goY2xhc3Nlcy5leHBhbmRlZEljb25DZWxsKTsKKyAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICByZXR1cm4gKAorICAgICAgICAgICAgICAgIDxkaXYga2V5PXtj ZWxsLmNvbHVtbi5pZH0gey4uLmNlbGwuZ2V0Q2VsbFByb3BzKCl9IGNsYXNzTmFtZT17Y2xzeChj bGFzc05hbWVzLCByb3cub3JpZ2luYWwuaWNvbiAmJiByb3cub3JpZ2luYWwuaWNvbltjZWxsLmNv bHVtbi5pZF0sIHJvdy5vcmlnaW5hbC5pY29uW2NlbGwuY29sdW1uLmlkXSAmJiBjbGFzc2VzLmNl bGxJY29uKX0gdGl0bGU9e1N0cmluZyhjZWxsLnZhbHVlKX0+CisgICAgICAgICAgICAgICAgICB7 Y2VsbC5yZW5kZXIoJ0NlbGwnKX0KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAg ICAgKTsKKyAgICAgICAgICAgIH0pfQorICAgICAgICAgIDwvZGl2PgorICAgICAgICAgIHshXy5p c1VuZGVmaW5lZChyb3cpICYmIHJvdy5pc0V4cGFuZGVkICYmICgKKyAgICAgICAgICAgIDxCb3gg a2V5PXtyb3cuaWR9IGNsYXNzTmFtZT17Y2xhc3Nlcy5leHBhbmRlZEZvcm19IHJlZj17cm93UmVm fSBzdHlsZT17e2hlaWdodDogcm93SGVpZ2h0cy5jdXJyZW50W2luZGV4XX19PgorICAgICAgICAg ICAgICA8Rm9ybVZpZXcKKyAgICAgICAgICAgICAgICBnZXRJbml0RGF0YT17KCkgPT4geworICAg ICAgICAgICAgICAgICAgLypUaGlzIGlzIGludGVudGlvbmFsIChTb25hclF1YmUpKi8KKyAgICAg ICAgICAgICAgICB9fQorICAgICAgICAgICAgICAgIHZpZXdIZWxwZXJQcm9wcz17eyBtb2RlOiAn cHJvcGVydGllcycgfX0KKyAgICAgICAgICAgICAgICBzY2hlbWE9e3Byb3BzLnNjaGVtYVtyb3cu aWRdfQorICAgICAgICAgICAgICAgIHNob3dGb290ZXI9e2ZhbHNlfQorICAgICAgICAgICAgICAg IG9uRGF0YUNoYW5nZT17KCkgPT4geyB9fQorICAgICAgICAgICAgICAvPgorICAgICAgICAgICAg PC9Cb3g+CisgICAgICAgICAgKX0KICAgICAgICAgPC9kaXY+CiAgICAgICApOwogICAgIH0sCkBA IC0yNTEsNzAgKzM2NCwxMDggQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGdUYWJsZSh7IGNv bHVtbnMsIGRhdGEsIGlzU2VsZWN0Um93LCAuLi5wcm9wcyB9KSB7CiAgICk7CiAgIC8vIFJlbmRl ciB0aGUgVUkgZm9yIHlvdXIgdGFibGUKICAgcmV0dXJuICgKLSAgICA8QXV0b1NpemVyIGNsYXNz TmFtZT17KHByb3BzLnR5cGUgPT09J3BhbmVsJyA/IHByb3BzLmNsYXNzTmFtZTogY2xhc3Nlcy5h dXRvUmVzaXplcil9PgotICAgICAgeyh7IGhlaWdodH0pID0+ICgKLSAgICAgICAgPGRpdiB7Li4u Z2V0VGFibGVQcm9wcygpfSBjbGFzc05hbWU9e2NsYXNzZXMudGFibGV9PgotICAgICAgICAgIDxk aXY+Ci0gICAgICAgICAgICB7aGVhZGVyR3JvdXBzLm1hcCgoaGVhZGVyR3JvdXApID0+ICgKLSAg ICAgICAgICAgICAgPGRpdiBrZXk9eycnfSB7Li4uaGVhZGVyR3JvdXAuZ2V0SGVhZGVyR3JvdXBQ cm9wcygpfT4KLSAgICAgICAgICAgICAgICB7aGVhZGVyR3JvdXAuaGVhZGVycy5tYXAoKGNvbHVt bikgPT4gKAotICAgICAgICAgICAgICAgICAgPGRpdgotICAgICAgICAgICAgICAgICAgICBrZXk9 e2NvbHVtbi5pZH0KLSAgICAgICAgICAgICAgICAgICAgey4uLmNvbHVtbi5nZXRIZWFkZXJQcm9w cygpfQotICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goCi0gICAgICAgICAgICAg ICAgICAgICAgY2xhc3Nlcy50YWJsZUNlbGxIZWFkZXIsCi0gICAgICAgICAgICAgICAgICAgICAg Y29sdW1uLmNsYXNzTmFtZQotICAgICAgICAgICAgICAgICAgICApfQotICAgICAgICAgICAgICAg ICAgPgorICAgIDxCb3ggY2xhc3NOYW1lPXtjbGFzc2VzLnBnVGFibGVIZWFkYXJ9PgorICAgICAg PEJveCBjbGFzc05hbWU9e2NsYXNzZXMuc2VhcmNoQm94fT4KKyAgICAgICAge3Byb3BzLmN1c3Rv bUhlYWRlciAmJiAoPEJveCBjbGFzc05hbWU9e2NsYXNzZXMuY3VzdG9tSGVhZGVyfT4gPHByb3Bz LmN1c3RvbUhlYWRlciAvPjwvQm94Pil9CisgICAgICAgIDxCb3ggY2xhc3NOYW1lPXtjbGFzc2Vz LnNlYXJjaFBhZGRpbmd9PjwvQm94PgorICAgICAgICA8SW5wdXRUZXh0CisgICAgICAgICAgcGxh Y2Vob2xkZXI9eydTZWFyY2gnfQorICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5zZWFyY2hJ bnB1dH0KKyAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsfQorICAgICAgICAgIG9uQ2hhbmdlPXso dmFsKSA9PiB7CisgICAgICAgICAgICBzZXRTZWFyY2hWYWwodmFsKTsKKyAgICAgICAgICB9fQor ICAgICAgICAvPgorICAgICAgPC9Cb3g+CisgICAgICA8QXV0b1NpemVyCisgICAgICAgIGNsYXNz TmFtZT17cHJvcHMudHlwZSA9PT0gJ3BhbmVsJyA/IHByb3BzLmNsYXNzTmFtZSA6IGNsYXNzZXMu YXV0b1Jlc2l6ZXJ9CisgICAgICA+CisgICAgICAgIHsoeyBoZWlnaHQgfSkgPT4gKAorICAgICAg ICAgIDxkaXYgey4uLmdldFRhYmxlUHJvcHMoKX0gY2xhc3NOYW1lPXtjbGFzc2VzLnRhYmxlfT4K KyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgIHtoZWFkZXJHcm91cHMubWFwKChoZWFk ZXJHcm91cCkgPT4gKAorICAgICAgICAgICAgICAgIDxkaXYga2V5PXsnJ30gey4uLmhlYWRlckdy b3VwLmdldEhlYWRlckdyb3VwUHJvcHMoKX0+CisgICAgICAgICAgICAgICAgICB7aGVhZGVyR3Jv dXAuaGVhZGVycy5tYXAoKGNvbHVtbikgPT4gKAogICAgICAgICAgICAgICAgICAgICA8ZGl2Ci0g ICAgICAgICAgICAgICAgICAgICAgey4uLihjb2x1bW4uc29ydGJsZQotICAgICAgICAgICAgICAg ICAgICAgICAgPyBjb2x1bW4uZ2V0U29ydEJ5VG9nZ2xlUHJvcHMoKQotICAgICAgICAgICAgICAg ICAgICAgICAgOiB7fSl9CisgICAgICAgICAgICAgICAgICAgICAga2V5PXtjb2x1bW4uaWR9Cisg ICAgICAgICAgICAgICAgICAgICAgey4uLmNvbHVtbi5nZXRIZWFkZXJQcm9wcygpfQorICAgICAg ICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChjbGFzc2VzLnRhYmxlQ2VsbEhlYWRlciwg Y29sdW1uLmNsYXNzTmFtZSl9CiAgICAgICAgICAgICAgICAgICAgID4KLSAgICAgICAgICAgICAg ICAgICAgICB7Y29sdW1uLnJlbmRlcignSGVhZGVyJyl9Ci0gICAgICAgICAgICAgICAgICAgICAg PHNwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICB7Y29sdW1uLmlzU29ydGVkCi0gICAgICAg ICAgICAgICAgICAgICAgICAgID8gY29sdW1uLmlzU29ydGVkRGVzYwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgID8gJyDwn5S9JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyDw n5S8JwotICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnfQotICAgICAgICAgICAgICAgICAg ICAgIDwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICB7Y29sdW1uLnJlc2l6YWJsZSAmJiAo Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Ci0gICAgICAgICAgICAgICAgICAgICAgICAg IHsuLi5jb2x1bW4uZ2V0UmVzaXplclByb3BzKCl9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg IGNsYXNzTmFtZT17Y2xhc3Nlcy5yZXNpemVyfQotICAgICAgICAgICAgICAgICAgICAgICAgLz4K LSAgICAgICAgICAgICAgICAgICAgICApfQorICAgICAgICAgICAgICAgICAgICAgIDxkaXYKKyAg ICAgICAgICAgICAgICAgICAgICAgIHsuLi4oY29sdW1uLnNvcnRibGUgPyBjb2x1bW4uZ2V0U29y dEJ5VG9nZ2xlUHJvcHMoKSA6IHt9KX0KKyAgICAgICAgICAgICAgICAgICAgICA+CisgICAgICAg ICAgICAgICAgICAgICAgICB7Y29sdW1uLnJlbmRlcignSGVhZGVyJyl9CisgICAgICAgICAgICAg ICAgICAgICAgICA8c3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbi5pc1Nv cnRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29sdW1uLmlzU29ydGVkRGVzYwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnIPCflL0nCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6ICcg8J+UvCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcn fQorICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAg ICAge2NvbHVtbi5yZXNpemFibGUgJiYgKAorICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLmNvbHVtbi5nZXRSZXNpemVyUHJvcHMo KX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucmVzaXpl cn0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgLz4KKyAgICAgICAgICAgICAgICAgICAgICAg ICl9CisgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgIDwv ZGl2PgorICAgICAgICAgICAgICAgICAgKSl9CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAg ICAgICAgICAgICkpfQorICAgICAgICAgICAgPC9kaXY+CisKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgZGF0YS5sZW5ndGggPiAwID8gKAorICAgICAgICAgICAgICAgIDxkaXYgey4uLmdl dFRhYmxlQm9keVByb3BzKCl9ID4KKyAgICAgICAgICAgICAgICAgIDxWYXJpYWJsZVNpemVMaXN0 CisgICAgICAgICAgICAgICAgICAgIHJlZj17dGFibGVSZWZ9CisgICAgICAgICAgICAgICAgICAg IGNsYXNzTmFtZT17cHJvcHMudHlwZSA9PT0gJ2Rhc2hib2FyZCcgPyBwcm9wcy5maXhlZFNpemVM aXN0IDogY2xhc3Nlcy5maXhlZFNpemVMaXN0fQorICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9 e2hlaWdodCAtIG9mZnNldH0KKyAgICAgICAgICAgICAgICAgICAgaXRlbUNvdW50PXtyb3dzLmxl bmd0aH0KKyAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9eyhpKSA9PiB7CisgICAgICAgICAg ICAgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQocm93c1tpXS5pc0V4cGFuZGVkKSkgeworICAg ICAgICAgICAgICAgICAgICAgICAgcm93c1tpXS5pc0V4cGFuZGVkID0gZmFsc2U7CisgICAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgIGlmIChyb3dSZWYuY3VycmVu dCAmJiByb3dzW2ldLmlzRXhwYW5kZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldFJv d0hlaWdodChpLCByb3dSZWYuY3VycmVudC5vZmZzZXRIZWlnaHQgKyAzNSk7CisgICAgICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByb3dzW2ldLmlzRXhw YW5kZWQgPyBnZXRSb3dIZWlnaHQoaSwgMzUpIDogMzU7CisgICAgICAgICAgICAgICAgICAgIH19 CisgICAgICAgICAgICAgICAgICAgIHNvcnRlZD17cHJvcHM/LnNvcnRPcHRpb25zfQorICAgICAg ICAgICAgICAgICAgPgorICAgICAgICAgICAgICAgICAgICB7UmVuZGVyUm93fQorCisgICAgICAg ICAgICAgICAgICA8L1ZhcmlhYmxlU2l6ZUxpc3Q+CisgICAgICAgICAgICAgICAgPC9kaXY+Cisg ICAgICAgICAgICAgICkgOiAoCisKKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xh c3Nlcy5lbXB0eVBhbmVsfT4KKyAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFz c2VzLnBhbmVsSWNvbn0+CisgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT0iZmEgZmEt ZXhjbGFtYXRpb24tY2lyY2xlIj48L2k+CisgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz TmFtZT17Y2xhc3Nlcy5wYW5lbE1lc3NhZ2V9PntnZXR0ZXh0KCdObyByZWNvcmQgZm91bmQnKX08 L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICApKX0KLSAg ICAgICAgICAgICAgICB7LyogPHNwYW4gY2xhc3NOYW1lPXtjbGFzc2VzLmV4dHJhVGFibGV9Pjwv c3Bhbj4gKi99Ci0gICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgKSl9Ci0gICAgICAg ICAgPC9kaXY+CiAKLSAgICAgICAgICA8ZGl2IHsuLi5nZXRUYWJsZUJvZHlQcm9wcygpfSBjbGFz c05hbWU9e2NsYXNzZXN9PgotICAgICAgICAgICAgPEZpeGVkU2l6ZUxpc3QKLSAgICAgICAgICAg ICAgY2xhc3NOYW1lPXtjbGFzc2VzLmZpeGVkU2l6ZUxpc3R9Ci0gICAgICAgICAgICAgIGhlaWdo dD17aGVpZ2h0IC0gNzV9Ci0gICAgICAgICAgICAgIGl0ZW1Db3VudD17cm93cy5sZW5ndGh9Ci0g ICAgICAgICAgICAgIGl0ZW1TaXplPXszNX0gCi0gICAgICAgICAgICAgIHNvcnRlZD17cHJvcHM/ LnNvcnRPcHRpb25zfQotICAgICAgICAgICAgPgotICAgICAgICAgICAgICB7UmVuZGVyUm93fQot ICAgICAgICAgICAgPC9GaXhlZFNpemVMaXN0PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAg ICAgICAgICAgICApfQogICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICl9 Ci0gICAgPC9BdXRvU2l6ZXI+CisgICAgICAgICl9CisgICAgICA8L0F1dG9TaXplcj4KKyAgICA8 L0JveD4KICAgKTsKIH0KIAogUGdUYWJsZS5wcm9wVHlwZXMgPSB7CiAgIHN0ZXBJZDogUHJvcFR5 cGVzLm51bWJlciwKICAgaGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLAorICBvZmZzZXQ6IFByb3BU eXBlcy5udW1iZXIsCisgIGN1c3RvbUhlYWRlcjogUHJvcFR5cGVzLmZ1bmMsCiAgIGNsYXNzTmFt ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm9iamVj dF0pLAotICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2Yo UHJvcFR5cGVzLm5vZGUpLCBQcm9wVHlwZXMubm9kZV0pLAorICBmaXhlZFNpemVMaXN0OiBQcm9w VHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMub2JqZWN0XSksCisg IGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFsKKyAgICBQcm9wVHlwZXMuYXJyYXlPZihQ cm9wVHlwZXMubm9kZSksCisgICAgUHJvcFR5cGVzLm5vZGUsCisgIF0pLAogICBnZXRUb2dnbGVB bGxSb3dzU2VsZWN0ZWRQcm9wczogUHJvcFR5cGVzLmZ1bmMsCiAgIGNvbHVtbnM6IFByb3BUeXBl cy5hcnJheSwKICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LApAQCAtMzI0LDggKzQ3NSw2IEBAIFBn VGFibGUucHJvcFR5cGVzID0gewogICBnZXRTZWxlY3RlZFJvd3M6IFByb3BUeXBlcy5mdW5jLAog ICBzZWFyY2hUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLAogICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5n LAotICBzb3J0T3B0aW9uczogIFByb3BUeXBlcy5hcnJheSwKLQorICBzb3J0T3B0aW9uczogUHJv cFR5cGVzLmFycmF5LAorICBzY2hlbWE6IFByb3BUeXBlcy5vYmplY3QKIH07Ci0KLQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL25vZGVzL2Rhc2hib2FyZC5qcyBiL3dlYi9wZ2Fk bWluL3N0YXRpYy9qcy9ub2Rlcy9kYXNoYm9hcmQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDgzYjg3YmY5OS4uMDAwMDAwMDAwCi0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9u b2Rlcy9kYXNoYm9hcmQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0v LwotLy8gcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scwotLy8KLS8vIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMjIsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KLS8vIFRoaXMgc29mdHdh cmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQotLy8KLS8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0K LWltcG9ydCB7aXNTdHJpbmcsIGlzRnVuY3Rpb259IGZyb20gJ3NvdXJjZXMvdXRpbHMnOwotaW1w b3J0IHBnQnJvd3NlciBmcm9tICdwZ2FkbWluLmJyb3dzZXInOwotCi0KLWV4cG9ydCBmdW5jdGlv biB1cmwoaXRlbURhdGEsIGl0ZW0sIHRyZWVIaWVyYXJjaHkpIHsKLSAgbGV0IHRyZWVOb2RlID0g cGdCcm93c2VyLnRyZWUuZmluZE5vZGVCeURvbUVsZW1lbnQoaXRlbSk7Ci0gIGxldCByZXR1cm5f dXJsID0gbnVsbDsKLQotICBpZiAodHJlZU5vZGUpIHsKLSAgICB0cmVlTm9kZS5hbnlGYW1pbHlN ZW1iZXIoCi0gICAgICAobm9kZSkgPT4gewotICAgICAgICBsZXQgbm9kZURhdGEgPSBub2RlLmdl dERhdGEoKTsKLSAgICAgICAgbGV0IGJyb3dzZXJOb2RlID0gcGdCcm93c2VyLk5vZGVzW25vZGVE YXRhLl90eXBlXTsKLSAgICAgICAgbGV0IGRhc2hib2FyZFVSTCA9IGJyb3dzZXJOb2RlICYmIGJy b3dzZXJOb2RlLmRhc2hib2FyZDsKLQotICAgICAgICBpZiAoaXNGdW5jdGlvbihkYXNoYm9hcmRV UkwpKSB7Ci0gICAgICAgICAgZGFzaGJvYXJkVVJMID0gZGFzaGJvYXJkVVJMLmFwcGx5KAotICAg ICAgICAgICAgYnJvd3Nlck5vZGUsIFtub2RlLCBub2RlRGF0YSwgdHJlZUhpZXJhcmNoeV0KLSAg ICAgICAgICApOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybl91cmwgPSBpc1N0cmluZyhkYXNo Ym9hcmRVUkwpID8gZGFzaGJvYXJkVVJMIDogbnVsbDsKLQotICAgICAgICByZXR1cm4gKHJldHVy bl91cmwgIT09IG51bGwpOwotICAgICAgfSk7Ci0gIH0KLQotICByZXR1cm4gcmV0dXJuX3VybDsK LX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMvanMv R3JhbnRXaXphcmQuanN4IGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3N0YXRpYy9q cy9HcmFudFdpemFyZC5qc3gKaW5kZXggYTBmMzhlYTJmLi4wMTVjMzkzOWQgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMvanMvR3JhbnRXaXphcmQuanN4 CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMvanMvR3JhbnRXaXph cmQuanN4CkBAIC0xNyw3ICsxNyw3IEBAIGltcG9ydCBXaXphcmQgZnJvbSAnLi4vLi4vLi4vLi4v c3RhdGljL2pzL2hlbHBlcnMvd2l6YXJkL1dpemFyZCc7CiBpbXBvcnQgV2l6YXJkU3RlcCBmcm9t ICcuLi8uLi8uLi8uLi9zdGF0aWMvanMvaGVscGVycy93aXphcmQvV2l6YXJkU3RlcCc7CiBpbXBv cnQgUGdUYWJsZSBmcm9tICdzb3VyY2VzL2NvbXBvbmVudHMvUGdUYWJsZSc7CiBpbXBvcnQgeyBn ZXROb2RlUHJpdmlsZWdlUm9sZVNjaGVtYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2pzL3ByaXZpbGVnZS51aS5qcyc7 Ci1pbXBvcnQgeyBJbnB1dFNRTCwgSW5wdXRUZXh0LCBGb3JtRm9vdGVyTWVzc2FnZSwgTUVTU0FH RV9UWVBFIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RhdGljL2pzL2NvbXBvbmVudHMvRm9ybUNvbXBv bmVudHMnOworaW1wb3J0IHsgSW5wdXRTUUwsIEZvcm1Gb290ZXJNZXNzYWdlLCBNRVNTQUdFX1RZ UEUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMvanMvY29tcG9uZW50cy9Gb3JtQ29tcG9uZW50 cyc7CiBpbXBvcnQgZ2V0QXBpSW5zdGFuY2UgZnJvbSAnLi4vLi4vLi4vLi4vc3RhdGljL2pzL2Fw aV9pbnN0YW5jZSc7CiBpbXBvcnQgU2NoZW1hVmlldyBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMv anMvU2NoZW1hVmlldyc7CiBpbXBvcnQgY2xzeCBmcm9tICdjbHN4JzsKQEAgLTExNyw3ICsxMTcs NiBAQCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBHcmFudFdpemFyZCh7IHNpZCwgZGlkLCBub2Rl SW5mbywgbm9kZURhdGEgfSkgewogICBjb25zdCBbc2VsZWN0ZWRPYmplY3QsIHNldFNlbGVjdGVk T2JqZWN0XSA9IFJlYWN0LnVzZVN0YXRlKFtdKTsKICAgY29uc3QgW3NlbGVjdGVkQWNsLCBzZXRT ZWxlY3RlZEFjbF0gPSBSZWFjdC51c2VTdGF0ZSh7fSk7CiAgIGNvbnN0IFttc3FsRGF0YSwgc2V0 U1FMXSA9IFJlYWN0LnVzZVN0YXRlKCcnKTsKLSAgY29uc3QgW3NlYXJjaFZhbCwgc2V0U2VhcmNo VmFsXSA9IFJlYWN0LnVzZVN0YXRlKCcnKTsKICAgY29uc3QgW2xvYWRlclRleHQsIHNldExvYWRl clRleHRdID0gUmVhY3QudXNlU3RhdGUoJycpOwogICBjb25zdCBbdGFibGViRGF0YSwgc2V0VGFi bGVEYXRhXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTsKICAgY29uc3QgW3ByaXZPcHRpb25zLCBzZXRQ cml2T3B0aW9uc10gPSBSZWFjdC51c2VTdGF0ZSh7fSk7CkBAIC0zMTQsMTcgKzMxMyw2IEBAIGV4 cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEdyYW50V2l6YXJkKHsgc2lkLCBkaWQsIG5vZGVJbmZvLCBu b2RlRGF0YSB9KSB7CiAgICAgICBsb2FkZXJUZXh0PXtsb2FkZXJUZXh0fQogICAgID4KICAgICAg IDxXaXphcmRTdGVwIHN0ZXBJZD17MH0+Ci0gICAgICAgIDxCb3ggY2xhc3NOYW1lPXtjbGFzc2Vz LnNlYXJjaEJveH0+Ci0gICAgICAgICAgPEJveCBjbGFzc05hbWU9e2NsYXNzZXMuc2VhcmNoUGFk ZGluZ30+PC9Cb3g+Ci0gICAgICAgICAgPElucHV0VGV4dAotICAgICAgICAgICAgcGxhY2Vob2xk ZXI9eydTZWFyY2gnfQotICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnNlYXJjaElucHV0 fQotICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFZhbH0KLSAgICAgICAgICAgIG9uQ2hhbmdlPXso dmFsKSA9PiB7Ci0gICAgICAgICAgICAgIHNldFNlYXJjaFZhbCh2YWwpO30KLSAgICAgICAgICAg IH0+Ci0gICAgICAgICAgPC9JbnB1dFRleHQ+Ci0gICAgICAgIDwvQm94PgogICAgICAgICA8Qm94 IGNsYXNzTmFtZT17Y2xhc3Nlcy5wYW5lbENvbnRlbnR9PgogICAgICAgICAgIDxQZ1RhYmxlCiAg ICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGFibGV9CkBAIC0zMzIsNyArMzIwLDYgQEAg ZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR3JhbnRXaXphcmQoeyBzaWQsIGRpZCwgbm9kZUluZm8s IG5vZGVEYXRhIH0pIHsKICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9CiAgICAgICAgICAg ICBkYXRhPXt0YWJsZWJEYXRhfQogICAgICAgICAgICAgaXNTZWxlY3RSb3c9e3RydWV9Ci0gICAg ICAgICAgICBzZWFyY2hUZXh0PXtzZWFyY2hWYWx9CiAgICAgICAgICAgICBnZXRTZWxlY3RlZFJv d3M9e2dldFRhYmxlU2VsZWN0ZWRSb3dzfT4KICAgICAgICAgICA8L1BnVGFibGU+CiAgICAgICAg IDwvQm94PgpkaWZmIC0tZ2l0IGEvd2ViL3dlYnBhY2suY29uZmlnLmpzIGIvd2ViL3dlYnBhY2su Y29uZmlnLmpzCmluZGV4IDNmOWM1ZjhmNC4uZWQ5YWQ0NDcyIDEwMDY0NAotLS0gYS93ZWIvd2Vi cGFjay5jb25maWcuanMKKysrIGIvd2ViL3dlYnBhY2suY29uZmlnLmpzCkBAIC00NjksMTAgKzQ2 OSw4IEBAIG1vZHVsZS5leHBvcnRzID0gW3sKICAgICAgICAgb3B0aW9uczogewogICAgICAgICAg IHR5cGU6ICdjb21tb25qcycsCiAgICAgICAgICAgaW1wb3J0czogWwotICAgICAgICAgICAgJ3B1 cmV8cGdhZG1pbi5kYXNoYm9hcmQnLAogICAgICAgICAgICAgJ3B1cmV8cGdhZG1pbi5icm93c2Vy LnF1aWNrX3NlYXJjaCcsCiAgICAgICAgICAgICAncHVyZXxwZ2FkbWluLnRvb2xzLnVzZXJfbWFu YWdlbWVudCcsCi0gICAgICAgICAgICAncHVyZXxwZ2FkbWluLmJyb3dzZXIub2JqZWN0X3NxbCcs CiAgICAgICAgICAgICAncHVyZXxwZ2FkbWluLmJyb3dzZXIuYmdwcm9jZXNzJywKICAgICAgICAg ICAgICdwdXJlfHBnYWRtaW4ubm9kZS5zZXJ2ZXJfZ3JvdXAnLAogICAgICAgICAgICAgJ3B1cmV8 cGdhZG1pbi5ub2RlLnNlcnZlcicsCmRpZmYgLS1naXQgYS93ZWIvd2VicGFjay5zaGltLmpzIGIv d2ViL3dlYnBhY2suc2hpbS5qcwppbmRleCBhMmU4ZjI4ZTcuLmY5YWYxNTMxZiAxMDA2NDQKLS0t IGEvd2ViL3dlYnBhY2suc2hpbS5qcworKysgYi93ZWIvd2VicGFjay5zaGltLmpzCkBAIC0yMDgs MTQgKzIwOCwxMyBAQCB2YXIgd2VicGFja1NoaW1Db25maWcgPSB7CiAgICAgJ3BnYWRtaW4uYnJv d3Nlci5kaWFsb2cnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIvc3Rh dGljL2pzL2RpYWxvZycpLAogICAgICdwZ2FkbWluLmJyb3dzZXIubm9kZSc6IHBhdGguam9pbihf X2Rpcm5hbWUsICcuL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZScpLAogICAgICdwZ2Fk bWluLmJyb3dzZXIubm9kZS51aSc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vYnJv d3Nlci9zdGF0aWMvanMvbm9kZS51aScpLAotICAgICdwZ2FkbWluLmJyb3dzZXIub2JqZWN0X3Nx bCc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vbWlzYy9zcWwvc3RhdGljL2pzL3Nx bCcpLAogICAgICdwZ2FkbWluLmJyb3dzZXIucGFuZWwnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAn Li9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3BhbmVsJyksCiAgICAgJ3BnYWRtaW4uYnJvd3Nl ci50b29sYmFyJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9icm93c2VyL3N0YXRp Yy9qcy90b29sYmFyJyksCiAgICAgJ3BnYWRtaW4uYnJvd3Nlci5zZXJ2ZXIucHJpdmlsZWdlJzog cGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9zdGF0aWMvanMvcHJpdmlsZWdlJyksCiAgICAgJ3BnYWRtaW4uYnJvd3Nlci5zZXJ2ZXIu dmFyaWFibGUnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy92YXJpYWJsZScpLAogICAgICdwZ2FkbWluLmJyb3dz ZXIudXRpbHMnOiAnL2Jyb3dzZXIvanMvdXRpbHMnLAogICAgICdwZ2FkbWluLmJyb3dzZXIud2l6 YXJkJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy93 aXphcmQnKSwKLSAgICAncGdhZG1pbi5kYXNoYm9hcmQnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAn Li9wZ2FkbWluL2Rhc2hib2FyZC9zdGF0aWMvanMvZGFzaGJvYXJkJyksCisgICAgJ3BnYWRtaW4u ZGFzaGJvYXJkJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9kYXNoYm9hcmQvc3Rh dGljL2pzL0Rhc2hib2FyZCcpLAogICAgICdwZ2FkbWluLmRhdGFncmlkJzogcGF0aC5qb2luKF9f ZGlybmFtZSwgJy4vcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZGF0YWdyaWQnKSwK ICAgICAncGdhZG1pbi5maWxlX21hbmFnZXInOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2Fk bWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy9maWxlX21hbmFnZXInKSwKICAgICAncGdh ZG1pbi5maWxlX3V0aWxpdHknOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL21pc2Mv ZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy91dGlsaXR5JyksCg== --00000000000095b0ef05db694539--