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 1kDj9i-0000Ku-4Z for pgadmin-hackers@arkaria.postgresql.org; Thu, 03 Sep 2020 06:55:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kDj9h-00017K-27 for pgadmin-hackers@arkaria.postgresql.org; Thu, 03 Sep 2020 06:55:33 +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 1kDj9g-00017C-IJ for pgadmin-hackers@lists.postgresql.org; Thu, 03 Sep 2020 06:55:32 +0000 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kDj9c-0003i4-06 for pgadmin-hackers@postgresql.org; Thu, 03 Sep 2020 06:55:31 +0000 Received: by mail-pg1-x52e.google.com with SMTP id v15so1341815pgh.6 for ; Wed, 02 Sep 2020 23:55:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GZPtO/yTC4PIoIZNC1GWzJTyh8EZOwJ5kI8uh2gTbc8=; b=xqaKrlbvm6Y0yqzQAY/gDudGpK8UKQviykCifLt99pNQUniip3RrjI9NSNE/M3POCn Y0wsqpK2OfFg9bRyR2wQJ0MW4vAGKAeXs9jHvOsb01rehfDXZFL7kaBtM6drjxv1k8i2 cz2LTW+RpXM24tuRhkhU2tKkG5qQuq8wKKrhyGg1pxunH9JDi8QOw7HKB6CSlyUS/Rf/ gLKmVScNSzX+2bzxjIizwwkg0GYkLZNu5X5VYs7CmJna/OhoVIQ2meODw8yR6ccJBe4r E1NPiC7yqOLb7Un4FQvSc5v9ESb0+rJOajswqqrpWA5rRHqXZgr+8AGLsf6bKmL669wJ Ym0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GZPtO/yTC4PIoIZNC1GWzJTyh8EZOwJ5kI8uh2gTbc8=; b=oRnXMdXxjc33ZDPhSKCwjptmgG97RwTJ52DEvJZ4Zb/f9nGbbNaKS+FhNFW/AZxyFF l5qeP9Eud6ogBB1aGHeSNBDMMO+7ej0GyDP2bE3yfdaH3PEbMT+mXdLumrWdl1PRBB/3 gWWqAF+ZOQYMp0MpN3IvOOXymQOMx1RrcAJDuJV3unB+bw0JDjJM0ImUkVJCieEZCFGE 9AdDMC5WZFAe1chGpP6F0I39SAbXiw4ws7e3vekty6R4VQFE/EWqwQ5vrwTyfkYnBsvT fUHWGaX58GSU/2tBxN6iTpvrZOg9y1lzMPYlSsv99FSk0A/aQH5Z7vHz12mCvcT+tgCK XjqQ== X-Gm-Message-State: AOAM5318Zx9AN0twJkQ7JImYOUj7cZ74/wkNe20+NlFyXwF5NabZ0eib /BqgYdRSsJ8GHh/hW8nR/CbkyZ3Vbm+kyLvyCgb++30eWYldACcDxsjqU3iKn4uxXe3/n5zxYBB u4/iycREN03nTt636+oI+98szxTdCzg9IU3WbkBO9txZk+tcSiI1IfqU4x0bRp/m9hK9uJAbA1D BcTvHnvSmQoHrUh8CzuQ+1+AEzv7FtsGhmqalBQoTMWymN2mOZ8cTyri8Pqg== X-Google-Smtp-Source: ABdhPJy+HegxitwbYOeXnUj6akLDkyRNTl95sHP4as+TS0WmuAp+7KxWxU/GRRa8eEmJEciFQj5SVqRXsrC7ng43p1E= X-Received: by 2002:a05:6a00:2285:: with SMTP id f5mr2398224pfe.173.1599116125410; Wed, 02 Sep 2020 23:55:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Pradip Parkale Date: Thu, 3 Sep 2020 12:25:14 +0530 Message-ID: Subject: Re: [pgAdmin][RM4979]: Configuration files for data sources or similar. To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000009d4e1b05ae633c54" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000009d4e1b05ae633c54 Content-Type: multipart/related; boundary="0000000000009d4e1b05ae633c53" --0000000000009d4e1b05ae633c53 Content-Type: multipart/alternative; boundary="0000000000009d4e1a05ae633c52" --0000000000009d4e1a05ae633c52 Content-Type: text/plain; charset="UTF-8" Hi Akshay, Please find the updated patch. On Wed, Sep 2, 2020 at 1:48 PM Akshay Joshi wrote: > Hi Pradip > > Please fix SonarQube issues that introduce with this patch. > > On Tue, Sep 1, 2020 at 4:47 PM Pradip Parkale < > pradip.parkale@enterprisedb.com> wrote: > >> Hi Akshay, >> >> Please find the updated patch. >> >> On Tue, Aug 25, 2020 at 5:53 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Pradip >>> >>> Following are the GUI review comments: >>> *Testing Scenario*: I have three users U1 and U2 are Admin and U3 is a >>> normal user. Login from U1 first time and pgAdmin4 discover all the local >>> servers. Steps that I perform: >>> >>> - Shared one server. >>> - Create a group 'Test' and move one server to that group. >>> - Share the server of the 'Test' group as well. >>> >>> [image: Screenshot 2020-08-25 at 4.38.32 PM.png] >>> *Issues:* >>> >>> - When login using U2 or U3 PostgreSQL 9.2 and 10 shown twice which >>> should not. Refer below screenshot >>> [image: Screenshot 2020-08-25 at 4.30.22 PM.png] >>> >>> Fixed. If the server is auto-discovered and U1 shared the >> auto-discovered server(PostgreSQL 9.2 in the above example) and then log in >> using U2, in this case, shared server(PostgreSQL 9.2) will not visible to >> U2 as the same server will be auto-discovered for U2. >> >>> >>> - >>> - When expanding the server or clicking on the 'Connect Server' menu >>> of the shared server, it opens the properties dialog. >>> >>> This is expected. Properties dialogue will open the first time for a >> shared server where the user has to enter server details. This will happen >> for the user who is not the owner of the server. >> >>> >>> - Try to update the IPAddress, Port it is not updating for the >>> shared server. Check other properties too. >>> >>> Fixed. >> >>> >>> - >>> - When we set "Hide shared server?" setting to true/false. A >>> complete browser tree should be refreshed. With the current implementation, >>> each group needs to be refreshed individually and the server group still >>> visible while refreshing the complete page Browser Tree looks perfect. >>> >>> Fixed. >> >>> >>> - When there is only one server in a group and we expanded the group >>> 'Connect to server' dialog appears which should not. (*This may be an old >>> issue) >>> >>> This is expected and its an old behavior. >> >>> >>> - >>> - Schema Diff shared servers are not visible inside the appropriate >>> group in the source and target server list. >>> >>> Fixed >> >>> >>> - Documentation changes required (Create a new Redmine). >>> >>> Done. >> >>> >>> - >>> - SonarQube shows 1 new Bug and 4 new code smell. (Fixed the Bug, >>> code smell can be fixed later) >>> >>> Fixed. >> >>> >>> - 'pgAdmin4_test_non_admin_credentials' should be added in ' >>> test_config.json.in' file. >>> >>> Fixed. >> >>> >>> - For Desktop mode shared server test cases should be skipped. It is >>> failing at the moment. >>> >>> Fixed. >> >>> Code review still remains :) >>> >>> On Fri, Aug 21, 2020 at 6:00 PM Pradip Parkale < >>> pradip.parkale@enterprisedb.com> wrote: >>> >>>> Hi Akshay, >>>> Please find the updated patch. >>>> >>>> On Fri, Aug 21, 2020 at 1:55 PM Akshay Joshi < >>>> akshay.joshi@enterprisedb.com> wrote: >>>> >>>>> Hi Pradip >>>>> >>>>> The patch is not applied, can you please rebase and send it again. >>>>> >>>>> On Thu, Aug 20, 2020 at 3:58 PM Pradip Parkale < >>>>> pradip.parkale@enterprisedb.com> wrote: >>>>> >>>>>> Hi Hackers, >>>>>> >>>>>> Please find the attached patch for the shared server implementation. >>>>>> >>>>>> Few key points: >>>>>> >>>>>> 1. The admin who is the owner of the server user can share the >>>>>> server with other users. >>>>>> 2. This option will be available only for admin users. >>>>>> 3. If the user doesn't want to see the shared server then the >>>>>> option to hide the shared server is available in preferences. >>>>>> 4. The user who is not the owner of the server, can't delete the >>>>>> shared server and server group. >>>>>> 5. This option is only available in server mode. >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks & Regards, >>>>>> Pradip Parkale >>>>>> Software Engineer | EnterpriseDB Corporation >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Thanks & Regards* >>>>> *Akshay Joshi* >>>>> *pgAdmin Hacker | Sr. Software Architect* >>>>> *EDB Postgres * >>>>> >>>>> *Mobile: +91 976-788-8246* >>>>> >>>> >>>> >>>> -- >>>> Thanks & Regards, >>>> Pradip Parkale >>>> Software Engineer | EnterpriseDB Corporation >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> *pgAdmin Hacker | Sr. Software Architect* >>> *EDB Postgres * >>> >>> *Mobile: +91 976-788-8246* >>> >> >> >> -- >> Thanks & Regards, >> Pradip Parkale >> Software Engineer | EnterpriseDB Corporation >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Sr. Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > -- Thanks & Regards, Pradip Parkale Software Engineer | EnterpriseDB Corporation --0000000000009d4e1a05ae633c52 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,
Please find the updated patch.
<= br>
On Wed,= Sep 2, 2020 at 1:48 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Pradip

Please = fix SonarQube issues that introduce with this patch.

On Tue, Sep = 1, 2020 at 4:47 PM Pradip Parkale <pradip.parkale@enterprisedb.com> wro= te:
Hi Akshay,

Please find the updated patch.

On = Tue, Aug 25, 2020 at 5:53 PM Akshay Joshi <akshay.joshi@enterprisedb.com>= wrote:
Hi Pradip

Following are the GUI review comments:
Te= sting Scenario: I have three users U1 and U2 are Admin and U3 is a norm= al user. Login from U1 first time and pgAdmin4 discover all the local serve= rs. Steps that I perform:
  • Shared one server.
  • Crea= te a group 'Test' and move one server to that group.
  • Share = the server of the 'Test' group as well.
=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 3D"Screenshot
Issues:
  • When login using U2 or U3 PostgreS= QL 9.2 and 10 shown twice which should not. Refer below screenshot
    =C2= =A03D"Screenshot
  • =
Fixed. If the server is auto-discovered = and U1 shared the auto-discovered server(PostgreSQL 9.2 in the above exampl= e) and then log in using U2, in this case, shared server(PostgreSQL 9.2) wi= ll not visible to U2 as the same server will be auto-discovered for U2.=C2= =A0
  • When expanding the server or clicking on the 'Connect Server' menu= of the shared server, it opens the properties dialog.
This is expected. Properties dialogue will open the firs= t time for a shared server where the user has to enter server details. This= will happen for the user who is not the owner of the server.=C2=A0
  • Try to update the IPAddress, P= ort it is not updating for the shared server. Check other properties too.
Fixed.=C2=A0
  • When we set "Hide shared serv= er?" setting to true/false. A complete browser tree should be refreshe= d. With the current implementation, each group needs to be refreshed indivi= dually and the server group still visible while refreshing the complete pag= e Browser Tree looks perfect.
Fixed.= =C2=A0
  • When there is on= ly one server in a group and we expanded the group 'Connect to server&#= 39; dialog appears which should not. (*This may be an old issue)
  • <= /ul>
This is expected and its an old behavior.=
  • Schema Diff s= hared servers are not visible inside the appropriate group in the source an= d target server list.
Fixed=C2=A0
  • Documentation changes req= uired (Create a new Redmine).
D= one.
  • SonarQube= shows 1 new Bug and 4 new code smell. (Fixed the Bug, code smell can be fi= xed later)
Fixed.=C2=A0
Fixed.
  • = For Desktop mode shared server test cases should be skipped. It is failing = at the moment.
Fixed.=C2=A0
Code review still remains :)
<= /div>
O= n Fri, Aug 21, 2020 at 6:00 PM Pradip Parkale <pradip.parkale@enterprisedb.com= > wrote:
Hi Akshay,
P= lease find the updated patch.

On Fri, Aug 21, 2020 at 1:55 PM Akshay J= oshi <akshay.joshi@enterprisedb.com> wrote:
Hi Pradip

The patch is not= applied, can you please rebase and send it again.

On Thu, Aug 20,= 2020 at 3:58 PM Pradip Parkale <pradip.parkale@enterprisedb.com> wrote= :
Hi Hackers,

<= /font>
Few key points:
  1. The admin who is the owner of the server use= r can share the server with other users.=C2=A0
  2. This option will be available only for admin users.=C2= =A0
  3. If the user doesn't= want to see the shared server then the option to hide the shared server is= available=C2=A0in preferences.
  4. The user who is not the owner of the server, can't delete the shar= ed server and server group.
  5. This option is only available in server mode.
<= br>
--
Thanks & Regards,
Pradi= p Parkale
Software Engineer | EnterpriseDB Corporation
=


--
Thanks & R= egards
Akshay Joshi
pgAdmin Hacker | Sr. Software Architect=
= EDB Postgres
Mobile: +91 976-788-8246



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


--
Thanks & R= egards
Akshay Joshi
pgAdmin Hacker | Sr. Software Architect=
= EDB Postgres
Mobile: +91 976-788-8246



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


--
Thanks & R= egards
Akshay Joshi
pgAdmin Hacker | Sr. Software Architect=
= EDB Postgres
Mobile: +91 976-788-8246



--
Thanks & Regards,
Pradip Park= ale
Software Engineer | EnterpriseDB Corporation
--0000000000009d4e1a05ae633c52-- --0000000000009d4e1b05ae633c53 Content-Type: image/png; name="Screenshot 2020-08-25 at 4.30.22 PM.png" Content-Disposition: inline; filename="Screenshot 2020-08-25 at 4.30.22 PM.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_ke9unayt0 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 9jXud9hfe4BxoLwJaZre1NMsala2pLd0HBx9sK01sPXAr8N+3X7I5lDNYePDy45Qj5Qe6T9acrT3 mPRY9/Gc4w/bJrfdPjHuxNWTY0+2n4o5dea3yN9OnGafPnom6MyhswFnD57zO9d83ud80wXvCwd+ 9/79QLtPe9NF34stl/wvtXaM6jhyOeTy8SvhV367yr16/lrctY7rKddv3phwQ3lTcPPprfxbL/4o +qPv9tw7hDvld/XvVt6zuFf3L5d/7Vb6KA/fD79/4UHSg9sP+Q+fPZI/+thZ+pj+uPKJ9ZP6p55P D3VFdl36c/yfnc+kz/q6y/4y+Kv2ufPz/X+H/n2hZ1xP5wvZi/6XS16Zvdr+euTrtt6E3ntvCt70 vS1/Z/Zux3u/96c/pH140jftI+lj1SeXT62fYz7f6S/o75fyZDz1VgCDDc3OBuDldgDo6QAwLsH9 w3jNOU8tiOZsqkbgP2HNWVAtPgA0wptqu845BsAe2BznQm7YVFv15FCAenkNNq3Is708NVw0eOIh vOvvf2UJAKkVgE+y/v6+9f39n7bCYG8BcGyq5nypEiI8G2wKVaFrplkD/gfl3/5mf27cNipMAAAA CXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0 YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8 cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRh eC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4 bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlm OlBpeGVsWERpbWVuc2lvbj40MDQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhp ZjpQaXhlbFlEaW1lbnNpb24+NTM4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6 RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CqXB5tsAAAAcaURPVAAAAAIA AAAAAAABDQAAACgAAAENAAABDQAAhrE6H4VMAABAAElEQVR4AeydCdwV0xvHH1tFRakoRCF7ZctS RMlWkTVE9jX7P/u+7/u+V7YIpdKGNm0oVEJKilBKokWLmP/zPXXG3Lkz9869921573uez2femTnb nHnOfc/vPNuZtebOneuttdZaYil4TZq9t+dgWlSdpOXC7QTr2XbDZbKlx7URrBe8zrV8sK69Lok2 bFvu7DjgOOA4UJo5sJYDlMKGzwFKYfxztR0HHAeKhwNrjR0/USWU/14oPEHa+7UkpdB/FfTKliEx 7jqcF74P9oE8SynPtYmcIyoEnx0sGneda/modkqijah2XZrjgOOA40Bp44ADlAJHzAFKgQx01R0H HAeKhgNO5VXgUDpAKZCBrrrjgONA0XDAAUqBQ+kApUAGuuqOA44DRcMBBygFDqUDlAIZ6Ko7DjgO FA0HHKAUOJQOUApkoKvuOOA4UDQccIBS4FA6QCmQga6644DjQNFwwAFKgUPpAKVABrrqjgOOA0XD gaIDlKVL/5bJU3+UX3/9TZYu+zvLQP0XW1NuvfWk5qbVpV7dLaVcufWy1Psv2wHKf7xwV44DjgNl mwNFBSh//71MevYfIgsW/pX3qG5cdSNpedB+iUHFAUrerHYVHQccB4qMA0UFKMM/+UK+mzpdqmxY SXbcrq6UW2/djMMVBoOvvp0qs+fMlXpbbyn777N7xro2M9yGTXdnxwHHAceBssaBogKUt3t/aKST Noc2lfWygAkDHQYDJJw+A0dI+XLlpG2bQxL9FsJtJKrkCpU4B8aMGSOff/65nHvuuXm3/d1330mP Hj3kf//7n6yzzjp5t+MqOg6UVQ4UFaB0fqOXGcfjWjc3554DPkob18Z71pca1aqa9CgwGDLycyOl nNnuqLS6UQlRbUSVc2krjwO9evWSK664QnbeeWcDCPk+qWfPngZM9t9/f3nhhRdk3XUzS7j5PsfV cxwoVg44QAmNbL6AsnDhQnnnnXdk0qRJ8sMPP0iVKlWkYcOGsttuu0n9+vXVJlMu9CR3WxIc+Oyz z+SUU06RDTbYQLp27SrbbbddbLN//fWX9O3bVypWrCiHH354ZLnbbrtNunTpIm3btpW77747soxL dBxwHIjmQFEBilV5WQkl+pX/S42SLgCURYuX5KTyeuONN+SBBx4Q/RTAf40HrurVqycvvfSSbLbZ ZoFUd1koB/7++29p1qyZzJw5U958803ZY4890pr0PE8++eQTefvtt2XAgAECqJx33nly1VVXpZUl 4Z9//pGjjjpKvv76a3nyySflsMMOiyznEh0HHAfSOVBUgGKN8tvW3UJ23Tl+pWrZEAaUn2fOlpGj x+dklO/Tp49ceumlpslNN91UmjZtao4KFSoIOvnOnTurC/OvQh5qlJ122sk+3p0L5EC3bt3k2muv lVatWsljjz2W0tovv/wib731lnTv3l1++umnlLxMgEJBpB4kFMaqd+/eKXXdjeOA40A8B4oKUDCq 9+g7SP5atNgY3FmdJiXAhfIbqYfYEYcckMhteMmSJbLnnnvKokWLpEWLFvLMM8+kGfpZER9//PEy ceJE2WqrreTDDz+UtddeO2m3XLkYDiBJHHzwwQYs3n//falTp05KyZtvvlleffVVkwaYH3nkkQYc kGayAQqVDj30ULMg6NSpk1kgpDTubhwHHAciOVBUgDL3j3kmDiXyTRMmEuDYssV+QjxKNsKriJUs hEoFe0kUjRgxQk499VST9frrr8vee+8dVcykAWphySm2cCAj33qBJtIuC2kzW91s+WmdCSW89957 RjI84IADjDoxlC333HOPzJo1S44++mhp3Lix8dqyIJEEUJ5//nnTxl577WVsM+H23b3jgONAOgdy AhSMzXfccYdZ7bHisxScAMPX/GOOHTvW1Nt4441tFXMOl03JXHETLBPMj0ofNOxT+fHnmVJni5rS UFVe2VyHw22M/WqSTP5+umy5RS1p0TR+0rf9wMB7ySWXmFskj7p169qslPO8efPkpJNOMmkXX3xx ml7+jz/+MJMikyTqmU022UR23HFHadeunbERpDSmN6QvXbpUOnbsKDgDYJ+Bxy1btpSLLrrIeDxR h0l12223DVc3KrgLL7zQpN9yyy2yyy67+GWWLVtmwBHgmzJlipQvX1522GEHI4GdccYZaWCHm+1r r70mW2yxhdx1111y5513yvDhw+W3336Td999V7AfQQAI/Hr55ZdNu/CEOrvuuqvAkzje+R0LXaDm Quq79dZbjVE+lB15mwugzJ49W5o0aWJsKqjWouwzkQ9xiY4DZZgDOQEKE9b06dPNpMJEdOyxxxrW BSfm4DV67WeffdaU4Z8TG0KQgmWD13FlsqW//k4/WaqGWmuU/2Pe/GAV/7rKhpXNddQz+3w4Qpap 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 cuWVV2atEy6wYMECoxJjkoPwVkKFZlfwrKCvueaalGro9lG3YTD+4IMPzKRHAdRu8BtD9Y8//mjA ztp3gg288sorwvhVrVpVPv744xT3WNxvAQkIz7R///1XebzM3ONO+/jjjxs1kUnQPzwPW0TNmjVl 8803TzGGY3+gr7wLQNqvXz9bzbQNKELEfDzyyCNmkvcLZLjACM/vCfroo4/MczMUT8tinLp3755m ewkXbN++vTpnjJTzzjtPrrrqqnC2u3cccBwIcSAnQLn88suNDcBO3BZU7D1t2+tHH31UnnvuOf9x Z555ZtqEa8sG6/kVVlwEy9i8vv1GyCeffGlvA+eSkVBosNmBjaR580aBtqMvzz33XBk0aJDJRCcP j6pVqxZdOJTKRA1fUInhYswKf/vttzdSB8Z8eMiEHtbjW0Chua233tpMxLgnAxC0Qz3AHOmgf//+ oaeKcZEFSJgwGUNLtl6NGjVMX3AwAAyQvq6//noNJv0zDTgtoNAGK36k13333ddIWUgfG264oXHj vfnmm81jAEekC3g0dOhQ8xv54osvDJBiC6lVq5btTuz5k08+MdIbktyoUaNiy0VlAEaoyeA9oAK/ 4ujGG2803l8spABSR44DjgNZOIDbsKpc/EMnDS94qGrC45g/f743Z84cT33+PVVP+If67HuqdvEP NUJ76r/v51NWV3ce6YsXL045dJXt2UNXq17Uoa6hXvi49rrHveuuf9wbNvwzb+bMXz3eIfwewXeK uw6+J9ezZs32ho/43Lv+hifMoZO5l+3guTqJejqxm0PjIDwFCU8nK8M3nZBjSVflps4+++wTWfa6 664z+W3atElpQ9VhJl1X6Z56M6XkcTN16lSTT58mT56ckv/77797CjQmX21Afp5OzCZNVWReMN0W 0KA/k6/BgynPVEcE/1lPP/20LZ5yPuuss0wZBdyUdG7gHzyjr/AsCambtimv7r1JiqeUUdA2ddX2 lZIedfPEE0+YskcccURUtktzHHAcCHGA2AkfTJh4w5NsEFAsqOjKNgUwgqASByaqxkkBE8DFggnn KDAhLQwmkydP8wCUhx951QcS3iH8HnEgEkwPv6u9f+TR1wygTJkyPSugwE9d7XpMrLvvvruZgCy4 qLThdejQwRs/fnyI7ctv1fvLlFdJLjJ/woQJfnsAgSULKGq7sElpZ1VHmroqqaTkabyGST/wwANT 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 --0000000000009d4e1b05ae633c53 Content-Type: image/png; name="Screenshot 2020-08-25 at 4.38.32 PM.png" Content-Disposition: inline; filename="Screenshot 2020-08-25 at 4.38.32 PM.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_ke9x2uu71 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 9jXud9hfe4BxoLwJaZre1NMsala2pLd0HBx9sK01sPXAr8N+3X7I5lDNYePDy45Qj5Qe6T9acrT3 mPRY9/Gc4w/bJrfdPjHuxNWTY0+2n4o5dea3yN9OnGafPnom6MyhswFnD57zO9d83ud80wXvCwd+ 9/79QLtPe9NF34stl/wvtXaM6jhyOeTy8SvhV367yr16/lrctY7rKddv3phwQ3lTcPPprfxbL/4o +qPv9tw7hDvld/XvVt6zuFf3L5d/7Vb6KA/fD79/4UHSg9sP+Q+fPZI/+thZ+pj+uPKJ9ZP6p55P D3VFdl36c/yfnc+kz/q6y/4y+Kv2ufPz/X+H/n2hZ1xP5wvZi/6XS16Zvdr+euTrtt6E3ntvCt70 vS1/Z/Zux3u/96c/pH140jftI+lj1SeXT62fYz7f6S/o75fyZDz1VgCDDc3OBuDldgDo6QAwLsH9 w3jNOU8tiOZsqkbgP2HNWVAtPgA0wptqu845BsAe2BznQm7YVFv15FCAenkNNq3Is708NVw0eOIh vOvvf2UJAKkVgE+y/v6+9f39n7bCYG8BcGyq5nypEiI8G2wKVaFrplkD/gfl3/5mf27cNipMAAAA CXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0 YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8 cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRh eC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4 bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlm OlBpeGVsWERpbWVuc2lvbj4zNTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhp ZjpQaXhlbFlEaW1lbnNpb24+NDEyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6 RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CnprJ0oAAAAcaURPVAAAAAIA AAAAAAAAzgAAACgAAADOAAAAzgAAbjxv0lVRAABAAElEQVR4AeydCdwW0xfHD/4qVEQhZN9ChYTK UsnSIktokwpZsste2RLKrqxZCokolEoIWQppI1kqISqhUFFZnv/53rrjPvPMPO+zvXjf957P53lm 5s69d2bOzPzuub9z7p11pn/4aWKddSSQddwNTbXb60hSpiA/KzZPuvXwvvB26LDsNpJ0XJvIMqKA ex5u1rj1bPNH1VOIOqLq9WleA14DZU8D63hAzu+me0DOT3++tNeA18DfGlhnypffq4X8t/XrrpPN btulmxZUE1PeLWPKuVa2U3dknWsrD9exNtlbyIEi/IrXgNdAadGAB+Q872Rsg5Fnvb6414DXQNnT gAfkPO+5B+Q8FeiLew14DQQa8IAcqCK3FQ/IuenNl/Ia8BpI1YAH5FSdZJXiATkrdfnMXgNeA2k0 4AE5jXIy2eUBORMt+TxeA14DmWjAA3ImWkqTxwNyGuX4XV4DXgNZaaDEAvLvq3+XJT/8GLrYv8P3 QjsiN8NgunrlKilXobxsWm0zKVe+XGSZcGK4jvB+v+014DXgNZCpBkokIC/5/kd5feSrsmLZstB1 ZgvIoeJrN9cvV06aHHOEbFljq+gMTqoHZEcZftVrwGsgLw2USEAe/vBQBeMVUq1aFdlllxqBApzx KUFa+pVUAJ89e758//1S2ahSJTmha7v0xXWvB+QiVfSPZJg5fYrMmjFNTup0es7H+/qLOfLq6Bek 8zkXyrrrrpdzPb6g10CuGihxgLz8l2Uy/OGnpXLljeSsM49Luu5swTEu/513PSWrlRJpfXo7qVi5 UtIxwhtxdYTz+e3i08DrL42Sfr0ul51r7iH9H3s25wO9NnaU9O15idQ98CC5/q4H5H//+1/OdfmC XgO5aKDEAfKibxbIuGfGSI0aW0i7tofL52rRfvPNYnPtLjg2aVy3SH24+d3Mo8dMlI8/nitHntiy SNrC1vHbryvk5ZEj5Cu1shbM/0oqVd5Ydq9VR397y6419xJoEC+F18DHM6bK5Wd1kgoVNpBbHxoi 2++0S+xBEomEfPv1VzL3s1kyb87ncvIZ56aA7n239JHnn3pMjjr2BLmoV5/YuvwOr4Hi0ECpAOQX XpiwVjdrKIgNNigv5517YpH6smAazvj2OzNk4sQPMwbksc8Nk0cH3C4//7Q0XJXZ3k5B4oa7H5TN tyyak46swCdGauCP33+XzsccLj8sXiS3Pfyk7Fln38h8v69eLQPv6qcN5nD57ddfgzwjJ86Q8uUr BNus/Pnnn3Jex9YK2p9Ir353y0GHHZm03294DRSnBko8IM+Z802kflxuOTKDJsYBcjYW8oSXx8hN V11sDlF18y2kbv2DZL8Gh+iLXl6t5bny/NDB8uP3i2WzaptL77selJ12qxl3Oj49Sw289Pyzckfv HnLoEc3lqpvuiCy98Nv50ufyC2T2Jx+b/TvsspvsqL8aO+ykfHNXWW+9VK4Yq/viU9vJzrvtIfc8 +VxkvT7Ra6A4NFDiANlyyOU1LO2C809K0kkcwCZlcjbi8lsOud05ndOGv61evUpObHKgrFr5m9Q/ tIlcc9u9KSC/8rff5MIubWTe7M9kqxrbySMjXpJ11l3XOQu/mosG/vrrTznt+Gby3YJvZOCzY2Xr bbdLqeaXn3+SLsceLst/+UWqb11DzrvqWsMPp2SMSOh6YgvByden/0PawB4ckcMneQ0UXgMlDpBR wagnRsjSH5ZIOeVld9Uoi403rmg0k2+Uxc8/Lzec9Grt4lapupm0OqV1Wo3j1b/4tDWRGHcOelpq Kl8cJdPemyhXdOtidt3y4ONSu+7+UdlMGjxnXEMRW0h35FquuOos6nyK2p/uvNj3xrjRpmdSr+Eh SgcNjMw+6J47ZOgj9xuq6IFho2TDjdY8J5GZQ4nPPv6wDLyzn9Tat57cOvCJ0F6/6TVQPBrICpC/ /fpreeD2G6XxUUdLk2Yt/z4jBwldMGGdB/uTD2fIBVddJxtX2fTvMroWzpu0c+2Gm8fuJw75nXFv KijnOzDE1pi83GLr6rJ/4way6eabJe8Ibb356kty4xUXmtSHR4yTbbbbPpRjzebyZb/IJV1PNhsn dz0nhZfEknvuycEGZLD4Nq26uey46+7S8oS2sv9BjVLqvPSMjgIv2vmciwwnOmLIo/LpRzPk4MOP kg6nnyO3XH2ZKXPxNTfKtto1DwsUSu9LzzPJ51x+texSc88gyx9//CGvjBohLz77lMyfN1fW157I jrvsrj2Aw+S49p2S7hmFxmuY2KhnnpQtt95GLujRW5+Pm2Tqe+/ITz/+KP0ff1bgzxEA+C3V1wtP PS7zv/xC0MkWW20ju+9VWzp0PTdWd6ZwxN9ZbVuZXse5V1wjR5/YPiUHVvHJLRrJyt9+lZvufVT2 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 G+UCMkAc9WHTPA8hFaZNk0rPPRdZjQfjSLX4RK+BEqkBD8h53jYXkPkaMpPT83l6PuFUSFl4992y csyYpCrXWW892bN/f6nauHFSut/wGvAaKJka8ICc531zAfmZZ56RDTbYQA499NA8a00u/tObb8rc Sy5JTly75Tr6ojIMHDhQftTQuCipUqWKaTz4Dh0/L/lrgA+ujtGGc/r06eYL4Xwduk6dOrLPPvvI 3nvvLRtvvHGRB4H24ln67LPPZNGiRcKXymnkjzvuONl1111jy8+aNUtGjhxp9vOR10J905EKv/76 a9P7owe4atUqqV27thxyyCFSq1at2PMpasdtt91mDJh0+fbbbz9p2rRpuiylap8H5DxvZxiQN910 U9l///3ll19+kZkzZ0oikUg6wgEHHJDV59vTgbGtOB0o8zDPmzfPZo1dNmnSRK688krZcccdY/P8 UzsWL14sf/75pwGUihUr/lOHzfs4H3zwgfTs2VNmz54dWRcAed9990n9+vUj9/Os3HHHHUIjunr1 6sg8Rx55pNxyyy2Rn/MaNWqUXLg2KodvO2655ZaRdWSbyPncfPPNKcXW0x4az0yXLl1S9hWVwAd7 99prr6KySefOnaVXr15F5istGUotIONU69atm3mpecj5Jl1YXDAN78t0260Dq8YF5Cg+GYDkU/WZ yG9z58qsdu2Ssv6lAFWpeXNZMWxYUnrF3XaT/ZQyCYsFZKw0vlbtCo3GJ598Im9ruByWHTp64YUX /nVQxvKCj+/evbu5h+45/1fXv/jiCzn++ONlmQ7S4duHDRo0kEaNGkmNGjWMdfn000/LRx99ZL4W Drgde+yxKZdyifaCnlvrK9hdBwKhh930vs6fP1+mTJkib731limzxx57yJNPPpliARcHIL/44osG 5Gks2mjEz1FHHWWMjBEjRgj7kB49esipp55q1jP9++qrrwQjADn66KNj34mDDjooUleZHqek5Su1 gEzL/eyzz5r7gcVKKx8GZRdMc71xbh0uZUFXNU4yBeQlL78s89TisrKOdneXKEDvf8IJst7778un V11ld5llgwkTpNzmmyelWUBup+VuuOGGpH1240MNr+OFWrp0qeypkRqAAtbPvyUlEZBPPvlkmaQR MdvowB0atfCXwQE0gAtgRrfjNUQRsLYC1XDRRReZTYDv+uuvTwGpp556Sq7WcEd6Dx06dDB5bHmW hQbkn3/+WQ488EBjrZ933nmB9W2PybkMGTLEGCFvKq0GXZepvK/PL89k+fLlBarFy1oN6EuYUGsy +OlNSLg/taIS/LTlD37Lly9PuL8VK1Yk7O/XX39N2J92SxLub+XKlQn3p1xUwv60i5aI+qmTLBH1 U8BLhH/6oCbsb9y4cYlddtkloV1w82vbtq05f7ufpVqFef/0RQtEgSwxbNiwhFpCCeVtjd6s/nJd TunUKfH67rsn3qxfPzFywABTP/cMWThihNnH/jl9+wbn4a4cdthh5voVDNzklHV1SAa6Uqs5Zb+b gN5ylUzKHnzwweZc7rnnnowOk0md6SoqqnxR+3kO1Wo156yUROyheEfU8jX57rzzziAfz7dSWSZd QSpIj1q56667TD7l/BNKjSRlUVA3+3jmFy5cmLQvl40JEyaY+urWrWve6XAd4IbSDibPoEGDwrvT bmvjYco1btw4bb6ytrPUWsi0N3Sp6AYq+JrmJ2wpu9bt2vYp64Vbx8cff1wsrX055ST/0IEff2lX eCtdNmzYMDjPFZ9/Lr+rJbNJvXpBmruSiYVMfigeffFM0VtvvdU4kNx6PtfjPPTQQ8axA8dbvXp1 oetM1xteM060AZZHH31URo8ebZxc+oLJtttuaxyfZ+lQb+vkek2Hgd97772mGvQIh8oxLA/6+OOP p1hgWPJEtsyYMcNQAXCSWI5wtJ108AzywAMPGKcY6+THosOKvfHGG6VPnz6Grvnhhx9MPdqAk83I nDlz5H6N7YZ2Yv/2OlcI13v++eenUDpLliyRemv1T53a+NtqUpbQaHTXoTMuvfRSsx/KyJ7vYxpz 7t7fcAX0YujGo1cs6nPPPTfIUmgLecCAAYbT1gZSFHCD47gr6IN7e8wxx8jtt9/u7kq7/vDDD5t7 gE8F+sXLGg2UakDmEtOBsgumuT4Q4Tq+/PJL4afWkGhPIddqk8qtv/76pgtcrVo142VnO1PJFJDx nANoag3KddddJ3TBrcB9tm/fPrgeuqY4ZawAQDheKlSoYJPMEpBv3bq10QcJlgaxDSRRHtBKgB10 zxVXXJFU3t2AVoGbRTjH3r1763iZx4Is3AfAniXRCHCciOvcApz79etnQH7rrbc2vKytADADcBF4 dWgD7iEC1WXvJet9+/aV5srjuwJn/N133xlgBvTttbp54tbRN9dSVQf4vPfee3HZgnQasldeecVE bQwfPjxILzQgA/ZjdR4V7iF6ixIabxyVNObaO4zKEpl20003mQaeBp1oC+4dFEmY6oksXIoTSz0g c++iQBlrL8wp53KfXUBeuXKVTJz0oUyb+qks/WlZLtXFlqlQobzsUXMHadyknlTZpFJsvvCOTAEZ KxOnFDJ06FATKcI6DiVeSELnsJSIIthJh29jFQKivEwA5Omnn2487pSxAu9ICFjlypWFFxDQAoyV TpK7Na4aAMN5hYVFuo0swPm4YMECY42eccYZpjqXn3T5Vq4PS5HoEKJasLawhK1EATL71l13XWnV qpWxpjdX3p2QNM6TMDP0wLmxxIplP+k0Ai+99JJ5buBMaVCs8DxxjQhWH/wq15aJnHbaafLGG2/I vvvua3RaVBnOA4sVB/LkyZOD7IUGZJyP+F7SWcg0JDQoxN1HObGDkwutEA3C+fJM4FN59913zf0n EqVmzZqGr0aPZU3KBCBzU6NAmW6T+6LncvNdQB495m117HxoqqlceSPtjhcmZGvVqtWyePFSU2/1 6lXlnG4nZXyqmQAyQEhXf+rUqUKYGV1oG8OKtYl1Spc8yvJ74okn5JprrjEvFUCLtYsA0sTeqq/B AOsFOhudK1AUXbt2NUlED0DFWEnn1KNePP1zNQIFhxNUBuBqBUuLl537jcQBMkCLpRkWegJYqcSS P/LII0m7aTSwjKEzwg0Qx7388svFtViJ0W3ZsqU0a9ZMsMjjhIYBmibTbr8NQ+O6P9WpWa01XmhA pqGEksBq5ZmIeldwVOJsJA+RIJmK1XNcfq6Ne2Qb5Lh8pS69tDr19OUJHHx2Xb3fSY6+M888s6BO vR4970nwmzlzdkEceq4jcP78BYm+/QaZ+r/44ht9/zMT69RTAEmoBZP00+5oQnnbhHKSgTMI554V HLk4j3ASKWja5KQlDi0FL5NHoziCfegcZxBllc4I0u0Kzl3q5IdzyJV0Tj1tHIJzxekUJRrtEORx nVvKCZt0HGhRggPaOoK1xxCVJaGWsKlDefPI/UolJDScKzg+189PexkJta7N8xYu2KhRI5NHrerw rshtHMe2Xp4RK4V26mnvKKG9IXOs/v3728MES6WFgvOI00eQObSiQGueLW2MEupjSGgjl1Cu3uhI rWZTL/dCfRehkqV7s8xYyLSkOICwYrCyECwXfdDMeq5/roXcs9e92r2tIl06twws2nC9m2xSUcqV y5wDdsuPHz9ZPpjyqXRo30y7dTu4u2LXrYUcm2HtDrrfWEOnnHJKkBXrkm04a0KTXEs0yKQr1koK W5VwwtAadEkZPIC1CE8bV4+tM52FDAUCFYLA9ZYrV84WC5Z0f7H4kSgLGUch6WHBwjvppJMMF07o mrU83XxQBIRUQnfBrccJvQ2sZThYuFErOEA1UsLo1KbZewRvjbOxKMEiRecI52Cpt0JbyNSvkS6B s45ngd4J9BX34dVXXzXvEj0H7hnO22wEveAXCIeB4jRGJ3D4HI9zKCtSZgA5DMZwVw8++GCKIyrb Gx8G5Bo1tpD27Y5QzvFHGfzYmJTqLrqwbc6A/PY7MxRIPpQmjetpUH10VEX4gPZlh+NTqyppN91M Ig6gGQjOt04zm8m+jMTLwnHGiXWWET3x+uuvB9mgQq7SWGmX02UYMBwxjSGUQxTopQNk7hlONRoQ RsZFSa6AbD3/UXVGpQHO8LjpRHsQAt8Mx2wddlwfOrONCU5R6soU1DRkzhgSOFGhOqwUByBTN3ST pYDssVgysANHM7HVXAMRJoUSRiMS5QKVBaVVVqRMAHIUGPNCRHFi2d74dIA8cVKqBdWyRcO8Abl5 s4bqDKmT0alaQE43MCSuIoAPAMTJEvVC2nIWJOMcOzjb4JdxiDGizQrzIfDShSdiSgfIFvzhZAG6 KMkVkK0Ti+ci3ZwR9picOw6/TMVyv+THmuQ6EQt4zCeCnooSO6KPxlRpmyB7cQEyPUr8COibRhCn Lg43rH2GNsMvX6xftmH+jEKJ5a95v2h0GEBSJqS0c8jabQx4UHg3Decyg1jgOPVBy/vnMlrwx9f3 Hlhw/thyyYMGj8yZQy5qYIh7HXZdLR/D5WkEgk2KXKpTz+SDFyxKdJKahAJ4wC9rzK3h+t1y6Thk bRjMsXRIcSQfSz1FcchwlFGiERqmbp3QJmp3bJrSHwmeM+1FxOaxOyxfrxEZNimhERPBNWl3PUiP W9HehcmvzsukLIXmkJMqj9jQHlBwH9FBIUWdvuYaeWcZhFZWpFRbyHGWsY2Xda3bXFtft45bb3tc B1gs04EPW0itvXYqWJTFypWrdcKa+fLRzLnmNLt375hx6Fs+FjLWELwmwlBfqI0osVECWG5nn322 yULYGvNRoOuoGcHc0DVikYnIsJLOQmYWNcLwECxudzCHLZ+rhQylgPcfoZvsRn7YuqOWlkPPJI74 BB32Pk3nt8a6tANhCLFjMIiCjtEfeowTdxAJXDS8vJXispBt/eEloYucA/fOTlMQzhO1TYw4tAu9 C2KXo3wKNpyOPAxJLytSagGZl5WuoHXgwRnT3bVgzA12wTTXG+7WMW/etzLkybE6iip6pq5cj+GW y4auoFw+gAwHDN9rY5GjBgcQe9qxY0dzioTFwQsjOHw0isXwpDi4wvQQI80Aau4PI8LglK1o1IE5 Jk7GcLgc802zn7jgOCcYI8asIygbpx5OJOomxppwPwY9RMnLOseIRq8E/LfraASkWrRoEVXMzBVC Y8Mgk/DESTYul3BDYqntIBW3IiYuwrEGfcB0nDzjlocm3z8JyPgUCBvkfhATTaxypoIz1jYkUfqi YWLACFQX+srWWZjpefwX85VaQMaZhIcfiQJj0l0wZTsXCdfBgJDp02ZqkHv85EK5HIcy+9bdU6pV Te9ECtedDyBTF+BjrV6iGwBIe81YeoAuXvfwaC5G/jGXLeCDp/yyyy4zIEKdjPKjcSTChbqwRhkm bcU6ueApiTMOO/6s9URZ6iUmGCuLerG4mJjHSjaATBkckNZCJU6adRsFQFQAEzRh4bmATaNCo4Rl TsMDuBLl4TZCxAszqAadkU7vzZ2DGh3S+DG6kagJBn/oPA9maDmgBwgT3UH8NdeKA9Jy0PZaixOQ iaRgTmSOj47pMSFxsdMWqHkOmLjKRoJQBsBl0A3XhA6I97Zx2hyHATaAMPeXYzFgpqxIqQVk5V1N GBcWBx5b1zK2N9cCi93OZenWwcuExWiH3OZSX7oyhJ/RtcWznankC8gch1AsAAAhMoMh1lASzLPM y4V1RBSBBS6TUf94aRlFZ/VBlAfleRGJPkCinEE2uoP9RDFABWCFWecfLzkgbEeGER2Cxcg8xAAB +mGSdyRbQKYMjTmRAwij97BWubfM5wH4ch2DBw9OojQAEvTEeSJYrjjdmKsDa17joU06jQsNEZRF WDh/wAvdIjxb0CaEgXFdCOUZHUlUTFhcQA7vC2/HOWDD+djm/AF/rtEKA4iuvfbalDlP7H7uvR3U gV4s9WX3f/PNNwbM0Su6YpZB7iPWM40Tgi5seJ8tV9qXpRaQM7lxLphmkj8qj1sH3TiAAAsI7iub OSei6nbT4BnpslInXeJM6y4EIHMehLMRdUGUhH0xeYGwjLEiwyFz9twBGcKhAGE3HhfLCK88/HNY sKqxxtGnFbhT14rmHLBWsWjRC8I5MAcHtImdNB3QtkBuIzTi4pDtsVhCudCQc72W9iL8D6sfkHCH TbvloBGIYeZ6ATIrRAkwyo9r3mGH+Bhy6BKsQ2gLwCosADKNWNQow+ICZBoTQty4Z8zPzJBwKCZr 1YbPkW0mUMIK5j7ReDEfd1h4V6CF0JdtcHifCJ8khp0eQ1kTD8h53nEXkC1FAr+YKWBmc3isPcAH njMbKzmbYxSVF+6XocOAHy+ky2EWVRYuGlDGcsRSLkoAAqxD8hO/HCVY6HSjOQ8Ak/thaQd6RQyc iHIaRdUVlcb1Uj+gjqWejTBLHI5NGhLul/usFFUP10UjjA7QFdcH72znrgCsALO4hrCo+rPdz/lk c/7UTy8IQC4qZI08WMw82/Q+XHoj2/Ms6fk9IOd5B+1DSgsPL+h+MYSXMSxEBYS79uE8cdsAIT/m ldg+JuIhrmxpS8cCg6aIErhWuEeoBqzG0iIAHL0NOHQE6gg+O8yxl5brLYvX4QE5z7tuAZlqsJBd QLYcp3sIKIR8ARmggXMrq0LDhzPPOvRcPUA14ISEZmDSI3couJuvJK8DwljHhM0xS52X0qMBD8h5 3st0gOzOGWwPQ9c7V0DG4YFlWNYtZEAXHhVnITQFc/HSrUc/dngyOoKHzYeusPfsv7jEWs71Ofov Xo8/pzUa8ICc55MQBmSqKy4OmWGygPy/ySHnqa6CFYe6YaIonGfW6UblgBTefZxnUZE1BTsBX5HX QDFowANynkp1ARmnmw1Zwglk5xTO8xDGOYKDBzDG4YFDpzichvme579RnogMQBm9w6sTCUComhev gZKoAQ/Ied41F5Bx7AHKNgY2z6pTigPGxCFnEqGQUtgneA14DfznNeABOc9b5AKyrQpgjoohtftz WQLG/1SIUy7n58t4DXgN5K8BD8h56jAKkPOs0hf3GvAaKKMa8ICc5433gJynAn1xrwGvgUADHpAD VeS24gE5N735Ul4DXgOpGvCAnKqTrFI8IGelLp/Za8BrII0GPCCnUU4muzwgZ6Iln8drwGsgEw14 QM5ES2nyeEBOoxy/y2vAayArDXhAzkpdqZk9IKfqxKd4DXgN5KYBD8i56S0o5QE5UIVf8RrwGshT Ax6Q81XgOuvkWYMv7jXgNeA1sEYDHpDzfBK8hZynAn1xrwGvgUADHpADVeS28k8A8nL9QGZF/WxO lKzW74/9oV9a2LCMT1gfpRuf5jVQ0jTgATnPO1bcgDxL5/1dPHasbLjTTlL7/vulgn7OyMoPr70m M3WaSWQH/Rr0dvpZdi9eA14DJVcDHpDzvHfFCcjf6wczP9avNltxQdkFY7u/gX4ItFzMt+dsHr/0 GvAa+O9qwANynvemOAH5F53nd2qbNklnCChv06mTfH711UnpFfRz8Qfqp9e9eA14DZRcDXhAzvPe hQGZuZD5uGnBpt+cNEn0q5Zpz7Kcfg25ltIZlcrwd/bSKsjv9BooIRrwgJznjXIBGSCO+rBpnoeQ CtOmSaXnnousxoNxpFp8otdAidSAB+Q8b5sLyHwNmcnp+Tw9n3AqpCy8+25ZOWZMUpXrrLee7Nm/ v1Rt3Dgp3W94DXgNlEwNeEDO8765gPzMM8/IBhtsIIceemietSYX/+nNN2XuJZckJ67dch19URkG DhwoP2poXJRUqVLFNB58h46fl/w1wAdXx2jDOX36dPOFcL4OXadOHdlnn31k7733lo033rjIg0B7 8Sx99tlnsmjRIuFL5TTyxx13nOy6666x5WfNmiUjR440+/nIa6G+6UiFX3/9ten90QNctWqV1K5d Ww455BCpVatW7Plku2Px4sXCNXz88cdy1FFHyU7qLylr4gE5zzseBuRNN91U9t9/f/nll19k5syZ kkgkko5wwAEHZPX59nRgbCtOB8pNmzaVefPm2ayxyyZNmsiVV14pO+64Y2yef2oHL+aff/5pAKVi xYr/1GHzPs4HH3wgPXv2lNmzZ0fWBUDed999Ur9+/cj9PCt33HGH0IiuXr06Ms+RRx4pt9xyS+Tn vEaNGiUXXnihKce3HbfccsvIOrJN5HxuvvnmlGLraQ+NZ6ZLly4p+7JJePrpp+X222+XH374ISj2 yCOPFNywCSr/D6+UWkDGqdatWzfzUvOQ8026sLhgGt6X6bZbB1aNC8hRfDIAyafqM5Hf5s6VWe3a JWX9SwGqUvPmsmLYsKT0irvtJvspZRIWC8hYaXyt2hUajU8++UTe1nA5LDt09MILL/zroIzlBR/f vXt3cw/dc/6vrn/xxRdy/PHHyzIdpMO3Dxs0aCCNGjWSGjVqGOsS0Pnoo4/M18IBt2OPPTblUi7R XtBza30Fu+tAIPSwm97X+fPny5QpU+Stt94yZfbYYw958sknUyzg4gDkF1980YA8jUUbjfjBcmV9 xIgRwj6kR48ecuqpp5r1bP74YnivXr0Eqg/ZSiOF9tprL9MLOPHEE2UbJ+Y+m3pLct5SC8i03M8+ +6y5N1istPJhUHbBNNeb6NbhUhZ0VeMkU0Be8vLLMk8tLivraHd3iQL0/iecIOu9/758etVVdpdZ NpgwQcptvnlSmgXkdlruhhtuSNpnNz7U8DpeqKVLl8qeGqkBKGD9/FtSEgH55JNPlkkaEQOI0KiF vwwOiAFcADO6Ha8hioC1FaiGi9bGnAN8119/fUrD/dRTT8nVGu5I76FDhw4mjy3PstCA/PPPP8uB Bx5orPXzzjsvsL7tMTmXIUOGGCPkTaXVoOuyEZ7J9/U5pgGj8e3YsaOsu+662VRR+vLqS5hQazL4 6U1IuD+1ohL8tOUPfsuXL0+4vxUrViTsT1u9hP399ttvCfe3cuXKhPtTLiphf9pFS0T91EmWiPop 4CXCP31QE/Y3bty4xC677JLQLrj5tW3b1py/3c9SrcK8f/qiBaJAlhg2bFhCLaGE8rZGb1Z/uS6n dOqUeH333RNv1q+fGDlggKmfe4YsHDHC7GP/nL59g/NwVw477DBz/QoGbnLKulopga7Uak7Z7yag t1wlk7IHH3ywOZd77rkno8NkUme6iooqX9R+nkO1Ws05KyUReyjeEbV8Tb4777wzyMfzrVSWSVeQ CtKjVu666y6TTzn/hFIjSVkU1M0+nvmFCxcm7ctlY8KECaa+unXrmnc6XAe4oRatyTNo0KDw7rTb au2bcryjahCkzVuWdpZaC5mmky4V3UAFX9OShi1l17rNtal168AZgVOi0FJOOck/tDv3l1oSdOsa NmwYHGLF55/L72rJbFKvXpDmrmRiIZMfikdfPFP01ltvNQ4kt57P9TgPPfSQcezA8VavXl3oOtP1 hteME22A5dFHH5XRo0cbJ5e+XLLtttsafvAsHeptnVyv6TDwe++911SDHuFQOYblQR9//PEUCwxL nu7ujBkzDBVAdxfLEY62kw6eQR544AHjFGOd/Fh0WLE33nij9OnTx9A1cJfUo+BANiNz5syR+zW2 G9qJ/dvrXCFc7/nnn59C6SxZskTqrdU/dWrjb6tJWUKjffXVV4bOuPTSS81+KCN7vo9pzLl7f8MV 0Is56KCDBL1iUZ977rlBlkJbyAMGDDCctjaQooAbHMddQR/c22OOOcbwwO6+dOsnnXSSoWE4f9sz SJe/rOwr1YDMTUwHyi6Y5nrDw3V8+eWXwk+tIYEjK4Ssv/76pgtcrVo1w6+xnalkCsh4zgE0tQbl uuuuE7rgVuA+27dvH1wPXVPt+djdBoDgAitUqBCksQLIt27d2uiDbUuD2AaSKA9oJcAOuueKK64g W6RAq9C1RTjH3r1763iZx4K83AfAniXRCHCciOvcApz79etnQH7rrbc2gGArAMwAXAReHdqAe4hA ddl7yXrfvn2lufL4rsAZf/fddwaYAX17rW6euHX0zbVU1QE+7733Xly2IJ2G7JVXXjFRG8OHDw/S Cw3IgOVYnUeFe4jeooTGG0cljbn2DqOypKQRgUKd3Cu4cRpl7h364xnPRncplZfwhFIPyNyfKFDG 2gtzyrncSxeQV65cJRMnfSjTpn4qS39alkt1sWUqVCgve9TcQRo3qSdVNqkUmy+8I1NAxsrEKYUM HTrURIqwjkOJl4fQOSwloggIR8IqBERvu+02A5Cnn3668bhTxgq8IyFglStXlptuusk4ugBjpZPk bo2r5gXEeYWFRbqNLMD5uGDBAmONnnHGGaY6l590+VauDwuL6BCiWnB2YQlbiQJk9sFVtmrVyljT myvvTkga50mYGXrg3FhixbKfdBqBl3R+EZ4bOFMaFCs8T1wjQiQN/CrXlomcdtpp8sYbb8i+++5r dFpUGc4DixUH8uTJk4PshQZknI/4XtJZyDQkNCjE3Uc5sYOTc1bg0a9S/wchfErdmPI0+jR65cuX N36Ma665xhgITrEysVomAJk7GQXKDz/8cEo3ONu77gLy6DFvq2PnQ1NF5cobactfmJCtVatWy+LF S0291atXlXO6nZTxaWYCyAAhXf2pU6cKYWZ0oW0MK9Ym1ild8ijL74knnhBeHhyVAO32au0iWLHE 3qqvwQDrBTobnStQFF27djVJRA9AxVhJ59SjXjz9czUCBYcTVIbrCMLSIvSL+43EATJAi6UZFnoC WKnEkhN65QqNBpYxdEa4AeK4l19+ubgWKzG6LVu2lGbNmgkWeZzQMEDTZNrtt2FoXPenOjWrtSgL Dcg0lFASOCh5JtxG0V4LjkqcjeTB2s1ECHFT/4C55zT09M7KlStnrGOiaxB6gTT2LVq0yKTK0pOn tDr19OUJHHx2Xb3fSY6+M888s6BOvR4970nwmzlzdkEceq4jcP78BYm+/QaZ+r/44ht9/zMT69RT AEmoBZP00+5oQnnbhHKSgTMI554VHLk4j3AS4YSJEhxaCl4mj0ZxBFnQOc4gyiqdEaTbFZy71MkP 55Ar6Zx6OICokx9OpyjRaIcgj+vcUk7YpONAixIc0NYRrD2GqCwJtYRNHcqbR+5XKiGhMd3B8e25 ai8joda1ed7CBRs1amTyq1Ud3hW5jePY1sszYqXQTj3tHSW0N2SO1b9/f3uYYKm0UHAecfoIMjsr GlERlFO+P8F5EySAKL+eUBA2+3l+3Otzqii1q2XGQqYJxXGDFYOVhWC56INm1nP9cy3knr3u1e5t FenSuWVg0Ybr3WSTimoNZM4Bu+XHj58sH0z5VDq0byY1lb7IRKyFXFReut9YQ6ecckqQFeuSbawV nJWuJRpk0hVrJYWtSjhhaA2sZwYPYC3C08bVY+tMZyFDgUCFIHC9WFZheffdd43FT3qUhYyjkPSw YOHhbIILJ3TNWp5uPigCQiqhLehmxwm9DaxlOFjCx6zgANVICaNTm2bvEbw1zsaiBIsUnSOcg6Xe Cm0hUz+WLBYtwrNA7wSrlvvw6quvmneJngP3DOdtJmJ7ITwX0GNQNa5AVzFQiWkILtb5wBl1WFak zAByGIxxwjz44IMpjqhsb3wYkGvU2ELatztCOccfZfBjY1Kqu+jCtjkD8tvvzFAg+VCaNK6nD2x0 VEX4gPZlh+NTqyppN91MIg6gGY4++ujAaWYz2ZeReFk4zjixzjKiJ15//fUgG1QIXKHL6TIMGI6Y xhDKIQr00gEy9wynGg0II+OiJFdAhsLKBBDtMQFneNx0oj0IwzfDMVuHHdeHzmxjQlQGdWUKavCu GBI0HFAdVooDkKkbuslSQPZYLAFNnHBwwlwDESaZCDQEVEu62Hjrf+BZwWlYVqRMAHIUGPNCRHFi 2d74dIA8cVKqBdWyRcO8Abl5s4bqIKuT0alaQE738MdVBPABgDVr1ox8IW05C5Jxjh2cbfDLOMQY 0WaF+RAILQtPxJQOkC34w8niWIuSXAHZOrF4LtLNGWGPybnj8MtULPdLfqxJrhOxgMd8IuipKLEj +mhMlbYJshcXINOjxI+AvmkEceriuMTa79y5s+GXs7Fk7SCaqMEt9mIYXUvYHaGIPDdlRko7h6zd xoAHhXfTh8EMYoHj1Act759LZsEfX997YMH5Y8slDxo8MmcOuaiBIe512HW1fAyXpxEINilyqU49 k08jIiL3u4k6SU1CATzglzXm1nD9bp50HLJaauZYOqQ4ko+lnqI4ZO0duYcL1jVCw9S93377BWmZ rCj9keA5015EkdktX68RGUFejZgIrkljvIP0uBXtXZj86rxMylJoDjmp8ogN7QEF9xEdZCraazLn r6NDY4vAWfO+wieXJSnVFnKcZWzjZV3rNtcW2K3j1tse19jbZTrwYQuptddOBYuyWLlytU5YM18+ mjnXnGb37h0zDn3Lx0LGGoLXRBjqayMoTILzZ6MEsNzOPvtsswceEI85uo6aEcwNXSMWmYgMK+ks ZBvDSl4sJ3cwhy2fq4UMpQC/iYQjP2zdUUvLoWcSR3yCDnufpvNbY13agTCE2DEYRIHH6A89xok7 iAQuGl7eSnFZyLb+8JLQRc6Be2enKQjnidq2PQV6F1jdUXH1thcAvcFxyoqUWkDmZaUraB14cMZ0 dy0Yc4NdMM31hrt1zJv3rQx5cqyOooqeqSvXY7jlsqErKJcPIMMBw+HZWOSowQHEnjIHAUJYHLww gsNHo1gMT4qDK0wPMdIMoOb+0DWFU7aiUQfmmDgZw+FyOHrYT1xwnBPMhlVRXzZOPQaCUDcx1oT7 MeghSl7WOUY0eiXgv11HI+ABiEQJo+xobIi3DU+cRKgegEq4IbHUdpCKWw8TF+FYgz5gOk6ecctD k++fBGR8CoQNcj/Uwjexyu65plunAWqsc3gT7kbsNo5UVxhQhJ64HzjhbSy6m6e0rpdaQMaZhIcf iQJj0l0wZTsXCdfBgJDp02bqIIf4yYVyOQ5l9q27p1Srmt6JFK47H0CmLsDHWr04WgBIe81YeoAu XvfwaC5eNu36G/DBM3/ZZZcZEKFORvnROOKYoi6sUYZJW7FOLnhK4ozDjj87GIGy1EtMMJEb1Mto MSbmsZINIFMGB6S1UImTZt1OBkW0BBM0MQrQBWwaFRolLHMaHsAVftRthHBiMagGnZFO782dgxod 0vgBRkRNMPgD0GIUG6AHCBPdQfz1/wXyK2gCEjYGDfMrLQtk0EoK0JnIIPtBYQzqMYEArrXTsIIa lA5AB1fBVoLA3AobrweJgyaPYX4BhTEonYHiDTS3AKrY0fXCzBiONAAAAP//eeVIDQAAQABJREFU 7Z0J/BXT+8efQoVKpVIoKtlJUpaIkqXN/hcRyp79lz37vmbPFhUKpVJpQaksJSGKUFoIJSltWiz3 f96nzjh37sy9c+98v3y/957n9bp3Zs6cc2bmMzOf85znec6ZMsuWLUuUKVNGjNjrpJlts7TTgspE zeevxy5n6vXnyZRu17FixQq59NJLpVKlSnL//fdLhQoV7OJ63c6fsjNigl3Hb7/9JpMmTZLVq1dH LJ1dts0220yaN28uNWrUiFywdevWMm/ePDn11FPljjvuiFzOznjXXXfJc889p5OqVKkie+65p/z0 00+63kQiIYcccoj07t1bNt10U7uYjBs3Tq644goPj/r16wvlp0+fLn/++afO+7///U8uuuiipHJP PPGE9OzZU6dVq1ZNqlevLn379pVtttlGp61bt07OOeccjTUJW265peywww4ye/Zs+eOPPzQ+v/zy i877wQcfSK1atfT6008/Lffdd5/eJj1Mrr/+enn11Vf17sqVK8vuu+8u3NtZs2bJ33//LVxHv379 ZNttt/Wq+OuvvwScOE+kXLlysv3228tWW20lixYtkoULF+r0TTbZRB577DE56qij9Lb9x/l37dpV Y0s6zxbHWLx4sb4u0ij/4IMPSocOHdhMkhEjRsjll1+elBa2AZY8q1GE82/RooVwjUYqVqwot9xy ixx//PEmKWnJvT/vvPN0Grh07Ngxaf+qVaukW7duYu7DjjvuKNzrr776StasWaPf10cffVQOP/zw pHL5vlEmXwk5yo2zyTRK/qA8dh0TJkwQiGDzzTeXmjVrCgRaVPLzzz/LypUrdZ3t2rWLXHdREDLX MH78eLn33ntl7ty53osJEZ544oly5ZVXalIMulZI5s4779QkvHz5ci/LTjvtpIn4mGOO8dLMyu+/ /y6XXHKJgKeR999/X2rXrm029TnQwAwdOlTjwg7O5/TTT5cDDjhAunTpovNCOobIoxIyBceOHasb cq4XEkbq1Kkj++23n/To0UOqVq2q0/x/Y8aMkWHDhunrhciMlC9fXtq2bauvuV69eiY5Zbl06VLp 06ePDBgwQDcC/gwQMo3YBRdc4N8lxUXINCatWrUS7tkuu+wiu+66q7Rp00a22267lHMwCd99952c cMIJ+j7ReDVq1Mjs8pYQPA3v4MGD9XvDDq6vcePG+pnheIUmjpBj3nGbkAcNGqRro1UvSjI2p4g2 ASkfdthhWWnJpnxRLNeuXSvffvutJj9eSDTBqLJgwQKBlNEc0ZQzCUSAdkj+rbfeOjA7GvqcOXP0 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 6RAo/Qg4Qo55D4uTkIPI+O9qW0vZpb8mnXU6p96zytn366/J+U3hqlWryg477CA77bST/pl0t8wd gb///ltGjRoln332mXz33Xfy559/SiPldG3cuLHss88+6uO5W2Ws/JdffpFBgwbJN998I4sWLZKt t95a36fjjz9edt5559DyM2fOlOHDh+v9F110kVQqJicv5zR06FBp1aqV7LLLLqHnY3ZMmTJF+H35 5Zfyh3Jk77bbbhqP1q1bmyxuuREBR8gxH4VsCNmYLIyGnOnQ0w49VP5es8bLtuWee8rPp3aRxJRJ Umn4YC+dlbCwNx76efPmJeUN2uDluu6666R+/fpBu//VtMWLF8tff/2lCaVixYr/6rHjHIwPv/JF 7tmzZwdWA0E++eSTcuCBBwbuTyQS8tBDDwmN6Pr1/g/4bihy1FFHyf333y9bbrllSh0jRoyQyy+/ XKd/8MEHUqtWrZQ8uSasW7dO3nrrLRmsBiNRNw1Pnz59pEWLFqFVkqdnz576moMyHXPMMXLXXXfJ 5ptvHrS7INPylpB/++036datm36peci32GKLlBucDZmmFN6YkE0dxqnXsH4d2WePcE3HHGuW0nJW Tp2qNyHjLa/rIR+qL243rF9X6n87MykWOWxgiCFktLQjjzzSVK2XK1asEL7+/P777+sXDIyGDRv2 n5MyL/mPP/4o3VVsNfewNMjcuXPlhBNOkJUrV2qyPOigg+Swww6TOnXqyPfffy+vvvqqzJgxQ/kO NpN77rlHjjvuuJTLulKNxkTzRHbddVdNdmigCxYskE8++UTee+89vW/33XfXX+z2a8DFQciff/65 1tbfULHvXJstmQj5iSee0IRMmTPPPFOOOOIIff0QOvtodMGMBsbJBgTylpDR9l577TV9lc2aNdNa h5+UsyHTsAcmmzoIexsycpz8vmat+kJ2GUEjSiebrFopW48brbMsbd1W/tyyomylIjQ6HHmolCu3 mUQZOm0I+dRTT5U77rgj8HDTp0+Xrl27yrJly2QPFbkBKWyyySaBef+NxNJIyKeffrpMnjxZtt9+ e92oVdk4otLgxb3u0aOHJmawHTdunCZrsx9TwxVXXKE3O3bsKLfddptsumlyFM4rr7wiN910kyay 0047Tecx5VkWByGjkX/77bf6MDQSPE+PP/643k5HyJhqDj74YMH8cvHFF3vXpguqvyFDhshVV12l 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 --0000000000009d4e1b05ae633c53-- --0000000000009d4e1b05ae633c54 Content-Type: application/octet-stream; name="RM4979_v4.patch" Content-Disposition: attachment; filename="RM4979_v4.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kemgfq4r2 ZGlmZiAtLWdpdCBhL3dlYi9taWdyYXRpb25zL3ZlcnNpb25zL2EwOTFjOTYxMWQyMF8ucHkgYi93 ZWIvbWlncmF0aW9ucy92ZXJzaW9ucy9hMDkxYzk2MTFkMjBfLnB5Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uZDlkYTJiMTBmCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL21p Z3JhdGlvbnMvdmVyc2lvbnMvYTA5MWM5NjExZDIwXy5weQpAQCAtMCwwICsxLDcyIEBACisKKyIi ImVtcHR5IG1lc3NhZ2UKKworUmV2aXNpb24gSUQ6IGEwOTFjOTYxMWQyMAorUmV2aXNlczogODQ3 MDAxMzliZWIwCitDcmVhdGUgRGF0ZTogMjAyMC0wNy0xNCAxNzoyMDoyMi43MDU3MzcKKworIiIi Citmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IGRiCisKKworIyByZXZpc2lvbiBpZGVudGlmaWVy cywgdXNlZCBieSBBbGVtYmljLgorcmV2aXNpb24gPSAnYTA5MWM5NjExZDIwJworZG93bl9yZXZp c2lvbiA9ICc4NDcwMDEzOWJlYjAnCiticmFuY2hfbGFiZWxzID0gTm9uZQorZGVwZW5kc19vbiA9 IE5vbmUKKworCitkZWYgdXBncmFkZSgpOgorICAgIGRiLmVuZ2luZS5leGVjdXRlKAorICAgICAg ICAnQUxURVIgVEFCTEUgc2VydmVyIEFERCBDT0xVTU4gc2hhcmVkIEJPT0xFQU4nCisgICAgKQor CisgICAgZGIuZW5naW5lLmV4ZWN1dGUoIiIiCisgICAgICAgICAgICBDUkVBVEUgVEFCTEUgc2hh cmVkc2VydmVyICgKKyAgICAgICAgICAgIGlkCUlOVEVHRVIgTk9UIE5VTEwsCisgICAgICAgICAg ICB1c2VyX2lkCUlOVEVHRVIgTk9UIE5VTEwsCisgICAgICAgICAgICBzZXJ2ZXJfb3duZXIgVkFS Q0hBUig2NCksCisgICAgICAgICAgICBzZXJ2ZXJncm91cF9pZAlJTlRFR0VSIE5PVCBOVUxMLAor ICAgICAgICAgICAgbmFtZQlWQVJDSEFSKDEyOCkgTk9UIE5VTEwsCisgICAgICAgICAgICBob3N0 CVZBUkNIQVIoMTI4KSwKKyAgICAgICAgICAgIHBvcnQJSU5URUdFUiBOT1QgTlVMTCBDSEVDSyhw b3J0ID49IDEgQU5EIHBvcnQgPD0gNjU1MzQpLAorICAgICAgICAgICAgbWFpbnRlbmFuY2VfZGIJ VkFSQ0hBUig2NCksCisgICAgICAgICAgICB1c2VybmFtZQlWQVJDSEFSKDY0KSwKKyAgICAgICAg ICAgIHBhc3N3b3JkCVZBUkNIQVIoNjQpLAorICAgICAgICAgICAgcm9sZQlWQVJDSEFSKDY0KSwK KyAgICAgICAgICAgIHNzbF9tb2RlCVZBUkNIQVIoMTYpIE5PVCBOVUxMIENIRUNLKHNzbF9tb2Rl IElOCisgICAgICAgICAgICAgICAgKCAnYWxsb3cnICwgJ3ByZWZlcicgLCAncmVxdWlyZScgLCAn ZGlzYWJsZScgLAorICAgICAgICAgICAgICAgICAgJ3ZlcmlmeS1jYScgLCAndmVyaWZ5LWZ1bGwn ICkKKyAgICAgICAgICAgICksCisgICAgICAgICAgICBjb21tZW50CVZBUkNIQVIoMTAyNCksCisg ICAgICAgICAgICBkaXNjb3ZlcnlfaWQJVkFSQ0hBUigxMjgpLAorICAgICAgICAgICAgaG9zdGFk ZHIJVEVYVCgxMDI0KSwKKyAgICAgICAgICAgIGRiX3JlcwlURVhULAorICAgICAgICAgICAgcGFz c2ZpbGUJVEVYVCwKKyAgICAgICAgICAgIHNzbGNlcnQJVEVYVCwKKyAgICAgICAgICAgIHNzbGtl eQlURVhULAorICAgICAgICAgICAgc3Nscm9vdGNlcnQJVEVYVCwKKyAgICAgICAgICAgIHNzbGNy bAlURVhULAorICAgICAgICAgICAgc3NsY29tcHJlc3Npb24JSU5URUdFUiBERUZBVUxUIDAsCisg ICAgICAgICAgICBiZ2NvbG9yIFRFWFQoMTApLAorICAgICAgICAgICAgZmdjb2xvciBURVhUKDEw KSwKKyAgICAgICAgICAgIHNlcnZpY2UgVEVYVCwKKyAgICAgICAgICAgIHVzZV9zc2hfdHVubmVs IElOVEVHRVIgREVGQVVMVCAwLAorICAgICAgICAgICAgdHVubmVsX2hvc3QgVEVYVCwKKyAgICAg ICAgICAgIHR1bm5lbF9wb3J0IFRFWFQsCisgICAgICAgICAgICB0dW5uZWxfdXNlcm5hbWUgVEVY VCwKKyAgICAgICAgICAgIHR1bm5lbF9hdXRoZW50aWNhdGlvbiBJTlRFR0VSIERFRkFVTFQgMCwK KyAgICAgICAgICAgIHR1bm5lbF9pZGVudGl0eV9maWxlIFRFWFQsCisgICAgICAgICAgICBzaGFy ZWQgQk9PTEVBTiBOT1QgTlVMTCwKKyAgICAgICAgICAgIHNhdmVfcGFzc3dvcmQgQk9PTEVBTiBO T1QgTlVMTCwKKyAgICAgICAgICAgIHR1bm5lbF9wYXNzd29yZCBWQVJDSEFSKDY0KSwKKyAgICAg ICAgICAgIGNvbm5lY3RfdGltZW91dCBJTlRFR0VSICwKKyAgICAgICAgICAgIFBSSU1BUlkgS0VZ KGlkKSwKKyAgICAgICAgICAgIEZPUkVJR04gS0VZKHVzZXJfaWQpIFJFRkVSRU5DRVMgdXNlcihp ZCksCisgICAgICAgICAgICBGT1JFSUdOIEtFWShzZXJ2ZXJncm91cF9pZCkgUkVGRVJFTkNFUyBz ZXJ2ZXJncm91cChpZCkKKyAgICAgICAgKTsKKyAgICAiIiIpCisKKworZGVmIGRvd25ncmFkZSgp OgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL19faW5pdF9fLnB5IGIvd2ViL3Bn YWRtaW4vX19pbml0X18ucHkKaW5kZXggNTE2YmEyYzRkLi4xYTcxMjE1MWEgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL19faW5pdF9fLnB5CkBA IC0yOCw3ICsyOCw3IEBAIGZyb20gd2Vya3pldWcuZGF0YXN0cnVjdHVyZXMgaW1wb3J0IEltbXV0 YWJsZURpY3QKIGZyb20gd2Vya3pldWcubG9jYWwgaW1wb3J0IExvY2FsUHJveHkKIGZyb20gd2Vy a3pldWcudXRpbHMgaW1wb3J0IGZpbmRfbW9kdWxlcwogCi1mcm9tIHBnYWRtaW4ubW9kZWwgaW1w b3J0IGRiLCBSb2xlLCBTZXJ2ZXIsIFNlcnZlckdyb3VwLCBcCitmcm9tIHBnYWRtaW4ubW9kZWwg aW1wb3J0IGRiLCBSb2xlLCBTZXJ2ZXIsIFNoYXJlZFNlcnZlciwgU2VydmVyR3JvdXAsIFwKICAg ICBVc2VyLCBLZXlzLCBWZXJzaW9uLCBTQ0hFTUFfVkVSU0lPTiBhcyBDVVJSRU5UX1NDSEVNQV9W RVJTSU9OCiBmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IFBnQWRtaW5Nb2R1bGUsIGRyaXZlciwg S2V5TWFuYWdlcgogZnJvbSBwZ2FkbWluLnV0aWxzLnByZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJl bmNlcwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3By ZWZlcmVuY2VzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3ByZWZl cmVuY2VzLnB5CmluZGV4IDk0OGJlNDFiOC4uMjE1NDIxY2JmIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3JlZ2lzdGVyX2Jyb3dzZXJfcHJlZmVyZW5jZXMucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9yZWdpc3Rlcl9icm93c2VyX3ByZWZlcmVuY2VzLnB5CkBAIC05LDYgKzks NyBAQAogZnJvbSBmbGFza19iYWJlbGV4IGltcG9ydCBnZXR0ZXh0CiBmcm9tIHBnYWRtaW4udXRp bHMuY29uc3RhbnRzIGltcG9ydCBQUkVGX0xBQkVMX0RJU1BMQVksXAogICAgIFBSRUZfTEFCRUxf S0VZQk9BUkRfU0hPUlRDVVRTCitpbXBvcnQgY29uZmlnCiAKIExPQ0tfTEFZT1VUX0xFVkVMID0g ewogICAgICdQUkVWRU5UX0RPQ0tJTkcnOiAnZG9ja2luZycsCkBAIC0yMyw2ICsyNCwxNSBAQCBk ZWYgcmVnaXN0ZXJfYnJvd3Nlcl9wcmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgZ2V0dGV4dCgi U2hvdyBzeXN0ZW0gb2JqZWN0cz8iKSwgJ2Jvb2xlYW4nLCBGYWxzZSwKICAgICAgICAgY2F0ZWdv cnlfbGFiZWw9UFJFRl9MQUJFTF9ESVNQTEFZCiAgICAgKQorICAgIGlmIGNvbmZpZy5TRVJWRVJf TU9ERToKKyAgICAgICAgc2VsZi5oaWRlX3NoYXJlZF9zZXJ2ZXIgPSBzZWxmLnByZWZlcmVuY2Uu cmVnaXN0ZXIoCisgICAgICAgICAgICAnZGlzcGxheScsICdoaWRlX3NoYXJlZF9zZXJ2ZXInLAor ICAgICAgICAgICAgZ2V0dGV4dCgiSGlkZSBzaGFyZWQgc2VydmVyPyIpLCAnYm9vbGVhbicsIEZh bHNlLAorICAgICAgICAgICAgY2F0ZWdvcnlfbGFiZWw9Z2V0dGV4dCgnRGlzcGxheScpLAorICAg ICAgICAgICAgaGVscF9zdHI9Z2V0dGV4dCgKKyAgICAgICAgICAgICAgICAnSWYgc2V0IHRvIHRy dWUsIHRoZW4gYWxsIHNoYXJlZCBzZXJ2ZXIgd2lsbCBiZSBoaWRkZW4nCisgICAgICAgICAgICAp CisgICAgICAgICkKIAogICAgIHNlbGYucHJlZmVyZW5jZS5yZWdpc3RlcigKICAgICAgICAgJ2Rp c3BsYXknLCAnZW5hYmxlX2FjaXRyZWVfYW5pbWF0aW9uJywKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9fX2luaXRfXy5weQppbmRleCA3MTc3OTViZGUuLmNiYjNmZGU2YSAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9fX2luaXRfXy5weQpAQCAt MTMsNyArMTMsNyBAQCBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGFiYyBpbXBvcnQg QUJDTWV0YSwgYWJzdHJhY3RtZXRob2QKIAogaW1wb3J0IHNpeAotZnJvbSBmbGFzayBpbXBvcnQg cmVxdWVzdCwganNvbmlmeQorZnJvbSBmbGFzayBpbXBvcnQgcmVxdWVzdCwganNvbmlmeSwgcmVu ZGVyX3RlbXBsYXRlCiBmcm9tIGZsYXNrX2JhYmVsZXggaW1wb3J0IGdldHRleHQKIGZyb20gZmxh c2tfc2VjdXJpdHkgaW1wb3J0IGN1cnJlbnRfdXNlciwgbG9naW5fcmVxdWlyZWQKIGZyb20gcGdh ZG1pbi5icm93c2VyIGltcG9ydCBCcm93c2VyUGx1Z2luTW9kdWxlCkBAIC0yMiw3ICsyMiwyNyBA QCBmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBnb25l LCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNlLCBiYWRfcmVxdWVzdAogZnJv bSBwZ2FkbWluLnV0aWxzLm1lbnUgaW1wb3J0IE1lbnVJdGVtCiBmcm9tIHNxbGFsY2hlbXkgaW1w b3J0IGV4YwotZnJvbSBwZ2FkbWluLm1vZGVsIGltcG9ydCBkYiwgU2VydmVyR3JvdXAKK2Zyb20g cGdhZG1pbi5tb2RlbCBpbXBvcnQgZGIsIFNlcnZlckdyb3VwLCBTZXJ2ZXIKK2ltcG9ydCBjb25m aWcKK2Zyb20gcGdhZG1pbi51dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMKKwor CitkZWYgZ2V0X2ljb25fY3NzX2NsYXNzKGdyb3VwX2lkLCBncm91cF91c2VyX2lkLAorICAgICAg ICAgICAgICAgICAgICAgICBkZWZhdWx0X3ZhbD0naWNvbi1zZXJ2ZXJfZ3JvdXAnKToKKyAgICAi IiIKKyAgICBSZXR1cm5zIGNzcyB2YWx1ZQorICAgIDpwYXJhbSBncm91cF9pZDoKKyAgICA6cGFy YW0gZ3JvdXBfdXNlcl9pZDoKKyAgICA6cGFyYW0gZGVmYXVsdF92YWw6CisgICAgOnJldHVybjog ZGVmYXVsdF92YWwKKyAgICAiIiIKKyAgICBpZiAoY29uZmlnLlNFUlZFUl9NT0RFIGFuZAorICAg ICAgICBncm91cF91c2VyX2lkICE9IGN1cnJlbnRfdXNlci5pZCBhbmQKKyAgICAgICAgICAgIFNl cnZlckdyb3VwTW9kdWxlLmhhc19zaGFyZWRfc2VydmVyKGdyb3VwX2lkKSk6CisgICAgICAgIGRl ZmF1bHRfdmFsID0gJ2ljb24tc2VydmVyX2dyb3VwX3NoYXJlZCcKKworICAgIHJldHVybiBkZWZh dWx0X3ZhbAorCiAKIFNHX05PVF9GT1VORF9FUlJPUiA9ICdUaGUgc3BlY2lmaWVkIHNlcnZlciBn cm91cCBjb3VsZCBub3QgYmUgZm91bmQuJwogCkBAIC0zMSwxOSArNTEsNTAgQEAgY2xhc3MgU2Vy dmVyR3JvdXBNb2R1bGUoQnJvd3NlclBsdWdpbk1vZHVsZSk6CiAgICAgX05PREVfVFlQRSA9ICJz ZXJ2ZXJfZ3JvdXAiCiAgICAgbm9kZV9pY29uID0gImljb24tJXMiICUgX05PREVfVFlQRQogCisg ICAgQHByb3BlcnR5CisgICAgZGVmIGNzc3NuaXBwZXRzKHNlbGYpOgorICAgICAgICAiIiIKKyAg ICAgICAgUmV0dXJucyBhIHNuaXBwZXQgb2YgY3NzIHRvIGluY2x1ZGUgaW4gdGhlIHBhZ2UKKyAg ICAgICAgIiIiCisgICAgICAgIHNuaXBwZXRzID0gW3JlbmRlcl90ZW1wbGF0ZSgiY3NzL3NlcnZl cl9ncm91cC5jc3MiKV0KKworICAgICAgICBmb3Igc3VibW9kdWxlIGluIHNlbGYuc3VibW9kdWxl czoKKyAgICAgICAgICAgIHNuaXBwZXRzLmV4dGVuZChzdWJtb2R1bGUuY3Nzc25pcHBldHMpCisK KyAgICAgICAgcmV0dXJuIHNuaXBwZXRzCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGhh c19zaGFyZWRfc2VydmVyKGdpZCk6CisgICAgICAgICIiIgorICAgICAgICBUbyBjaGVjayB3aGV0 aGVyIGdpdmVuIHNlcnZlciBncm91cCBjb250YWlucyBzaGFyZWQgc2VydmVyIG9yIG5vdAorICAg ICAgICA6cGFyYW0gZ2lkOgorICAgICAgICA6cmV0dXJuOiBUcnVlIGlmIHNlcnZlcmdyb3VwIGNv bnRhaW5zIHNoYXJlZCBzZXJ2ZXIgZWxzZSBmYWxzZQorICAgICAgICAiIiIKKyAgICAgICAgc2Vy dmVycyA9IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoc2VydmVyZ3JvdXBfaWQ9Z2lkKQorICAgICAg ICBmb3IgcyBpbiBzZXJ2ZXJzOgorICAgICAgICAgICAgaWYgcy5zaGFyZWQ6CisgICAgICAgICAg ICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKICAgICBkZWYgZ2V0X25v ZGVzKHNlbGYsICphcmcsICoqa3dhcmdzKToKICAgICAgICAgIiIiUmV0dXJuIGEgSlNPTiBkb2N1 bWVudCBsaXN0aW5nIHRoZSBzZXJ2ZXIgZ3JvdXBzIGZvciB0aGUgdXNlciIiIgotICAgICAgICBn cm91cHMgPSBTZXJ2ZXJHcm91cC5xdWVyeS5maWx0ZXJfYnkoCi0gICAgICAgICAgICB1c2VyX2lk PWN1cnJlbnRfdXNlci5pZAotICAgICAgICApLm9yZGVyX2J5KCJpZCIpCisKKyAgICAgICAgaWYg Y29uZmlnLlNFUlZFUl9NT0RFOgorICAgICAgICAgICAgZ3JvdXBzID0gU2VydmVyR3JvdXBWaWV3 LmdldF9hbGxfc2VydmVyX2dyb3VwcygpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBncm91 cHMgPSBTZXJ2ZXJHcm91cC5xdWVyeS5maWx0ZXJfYnkoCisgICAgICAgICAgICAgICAgdXNlcl9p ZD1jdXJyZW50X3VzZXIuaWQKKyAgICAgICAgICAgICkub3JkZXJfYnkoImlkIikKKwogICAgICAg ICBmb3IgaWR4LCBncm91cCBpbiBlbnVtZXJhdGUoZ3JvdXBzKToKICAgICAgICAgICAgIHlpZWxk IHNlbGYuZ2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAogICAgICAgICAgICAgICAgICIlZCIgJSAoZ3Jv dXAuaWQpLCBOb25lLAogICAgICAgICAgICAgICAgIGdyb3VwLm5hbWUsCi0gICAgICAgICAgICAg ICAgc2VsZi5ub2RlX2ljb24sCisgICAgICAgICAgICAgICAgZ2V0X2ljb25fY3NzX2NsYXNzKGdy b3VwLmlkLCBncm91cC51c2VyX2lkKSwKICAgICAgICAgICAgICAgICBUcnVlLAogICAgICAgICAg ICAgICAgIHNlbGYubm9kZV90eXBlLAotICAgICAgICAgICAgICAgIGNhbl9kZWxldGU9VHJ1ZSBp ZiBpZHggPiAwIGVsc2UgRmFsc2UKKyAgICAgICAgICAgICAgICBjYW5fZGVsZXRlPVRydWUgaWYg aWR4ID4gMCBlbHNlIEZhbHNlLAorICAgICAgICAgICAgICAgIHVzZXJfaWQ9Z3JvdXAudXNlcl9p ZAogICAgICAgICAgICAgKQogCiAgICAgQHByb3BlcnR5CkBAIC0xOTYsNyArMjQ3LDcgQEAgY2xh c3MgU2VydmVyR3JvdXBWaWV3KE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBnaWQsCiAgICAg ICAgICAgICAgICAgTm9uZSwKICAgICAgICAgICAgICAgICBzZXJ2ZXJncm91cC5uYW1lLAotICAg ICAgICAgICAgICAgIHNlbGYubm9kZV9pY29uLAorICAgICAgICAgICAgICAgIGdldF9pY29uX2Nz c19jbGFzcyhnaWQsIHNlcnZlcmdyb3VwLnVzZXJfaWQpLAogICAgICAgICAgICAgICAgIFRydWUs CiAgICAgICAgICAgICAgICAgc2VsZi5ub2RlX3R5cGUsCiAgICAgICAgICAgICAgICAgY2FuX2Rl bGV0ZT1UcnVlICAjIFRoaXMgaXMgdXNlciBjcmVhdGVkIGhlbmNlIGNhbiBkZWxldGVkCkBAIC0y MDcsMTAgKzI1OCw3IEBAIGNsYXNzIFNlcnZlckdyb3VwVmlldyhOb2RlVmlldyk6CiAgICAgZGVm IHByb3BlcnRpZXMoc2VsZiwgZ2lkKToKICAgICAgICAgIiIiVXBkYXRlIHRoZSBzZXJ2ZXItZ3Jv dXAgcHJvcGVydGllcyIiIgogCi0gICAgICAgICMgVGhlcmUgY2FuIGJlIG9ubHkgb25lIHJlY29y ZCBhdCBtb3N0Ci0gICAgICAgIHNnID0gU2VydmVyR3JvdXAucXVlcnkuZmlsdGVyX2J5KAotICAg ICAgICAgICAgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQsCi0gICAgICAgICAgICBpZD1naWQpLmZp cnN0KCkKKyAgICAgICAgc2cgPSBTZXJ2ZXJHcm91cC5xdWVyeS5maWx0ZXIoU2VydmVyR3JvdXAu aWQgPT0gZ2lkKS5maXJzdCgpCiAKICAgICAgICAgaWYgc2cgaXMgTm9uZToKICAgICAgICAgICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCkBAIC0yMjAsNyArMjY4LDcgQEAgY2xhc3MgU2Vy dmVyR3JvdXBWaWV3KE5vZGVWaWV3KToKICAgICAgICAgICAgICkKICAgICAgICAgZWxzZToKICAg ICAgICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKAotICAgICAgICAgICAgICAgIHJlc3BvbnNl PXsnaWQnOiBzZy5pZCwgJ25hbWUnOiBzZy5uYW1lfSwKKyAgICAgICAgICAgICAgICByZXNwb25z ZT17J2lkJzogc2cuaWQsICduYW1lJzogc2cubmFtZSwgJ3VzZXJfaWQnOiBzZy51c2VyX2lkfSwK ICAgICAgICAgICAgICAgICBzdGF0dXM9MjAwCiAgICAgICAgICAgICApCiAKQEAgLTI0Niw3ICsy OTQsNyBAQCBjbGFzcyBTZXJ2ZXJHcm91cFZpZXcoTm9kZVZpZXcpOgogICAgICAgICAgICAgICAg ICAgICAgICAgIiVkIiAlIHNnLmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwKICAg ICAgICAgICAgICAgICAgICAgICAgIHNnLm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLm5vZGVfaWNvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGdldF9pY29uX2Nzc19jbGFz cyhzZy5pZCwgc2cudXNlcl9pZCksCiAgICAgICAgICAgICAgICAgICAgICAgICBUcnVlLAogICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5ub2RlX3R5cGUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAjIFRoaXMgaXMgdXNlciBjcmVhdGVkIGhlbmNlIGNhbiBkZWxldGVkCkBAIC0yOTIsMTMg KzM0MCw0MSBAQCBjbGFzcyBTZXJ2ZXJHcm91cFZpZXcoTm9kZVZpZXcpOgogICAgIGRlZiBkZXBl bmRlbnRzKHNlbGYsIGdpZCk6CiAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2Uoc3Rh dHVzPTQyMikKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgZ2V0X2FsbF9zZXJ2ZXJfZ3Jv dXBzKCk6CisgICAgICAgICIiIgorICAgICAgICBSZXR1cm5zIHRoZSBsaXN0IG9mIHNlcnZlciBn cm91cHMgdG8gc2hvdyBpbiBzZXJ2ZXIgbW9kZSBhbmQKKyAgICAgICAgaWYgdGhlcmUgaXMgYW55 IHNoYXJlZCBzZXJ2ZXIgaW4gdGhlIGdyb3VwLgorICAgICAgICA6cmV0dXJuOiBzZXJ2ZXIgZ3Jv dXBzCisgICAgICAgICIiIgorCisgICAgICAgICMgRG9uJ3QgZGlzcGxheSBzaGFyZWQgc2VydmVy IGlmIHVzZXIgaGFzCisgICAgICAgICMgc2VsZWN0ZWQgJ0hpZGUgc2hhcmVkIHNlcnZlcicKKyAg ICAgICAgcHJlZiA9IFByZWZlcmVuY2VzLm1vZHVsZSgnYnJvd3NlcicpCisgICAgICAgIGhpZGVf c2hhcmVkX3NlcnZlciA9IHByZWYucHJlZmVyZW5jZSgnaGlkZV9zaGFyZWRfc2VydmVyJykuZ2V0 KCkKKworICAgICAgICBzZXJ2ZXJfZ3JvdXBzID0gU2VydmVyR3JvdXAucXVlcnkuYWxsKCkKKyAg ICAgICAgZ3JvdXBzID0gW10KKyAgICAgICAgZm9yIGdyb3VwIGluIHNlcnZlcl9ncm91cHM6Cisg ICAgICAgICAgICBpZiBoaWRlX3NoYXJlZF9zZXJ2ZXIgYW5kIFwKKyAgICAgICAgICAgICAgICBT ZXJ2ZXJHcm91cE1vZHVsZS5oYXNfc2hhcmVkX3NlcnZlcihncm91cC5pZCkgYW5kIFwKKyAgICAg ICAgICAgICAgICAgICAgZ3JvdXAudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIuaWQ6CisgICAgICAg ICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGdyb3VwLnVzZXJfaWQgPT0gY3VycmVu dF91c2VyLmlkIG9yIFwKKyAgICAgICAgICAgICAgICAgICAgU2VydmVyR3JvdXBNb2R1bGUuaGFz X3NoYXJlZF9zZXJ2ZXIoZ3JvdXAuaWQpOgorICAgICAgICAgICAgICAgIGdyb3Vwcy5hcHBlbmQo Z3JvdXApCisgICAgICAgIHJldHVybiBncm91cHMKKwogICAgIEBsb2dpbl9yZXF1aXJlZAogICAg IGRlZiBub2RlcyhzZWxmLCBnaWQ9Tm9uZSk6CiAgICAgICAgICIiIlJldHVybiBhIEpTT04gZG9j dW1lbnQgbGlzdGluZyB0aGUgc2VydmVyIGdyb3VwcyBmb3IgdGhlIHVzZXIiIiIKICAgICAgICAg bm9kZXMgPSBbXQotCiAgICAgICAgIGlmIGdpZCBpcyBOb25lOgotICAgICAgICAgICAgZ3JvdXBz ID0gU2VydmVyR3JvdXAucXVlcnkuZmlsdGVyX2J5KHVzZXJfaWQ9Y3VycmVudF91c2VyLmlkKQor ICAgICAgICAgICAgaWYgY29uZmlnLlNFUlZFUl9NT0RFOgorCisgICAgICAgICAgICAgICAgZ3Jv dXBzID0gc2VsZi5nZXRfYWxsX3NlcnZlcl9ncm91cHMoKQorICAgICAgICAgICAgZWxzZToKKyAg ICAgICAgICAgICAgICBncm91cHMgPSBTZXJ2ZXJHcm91cC5xdWVyeS5maWx0ZXJfYnkodXNlcl9p ZD1jdXJyZW50X3VzZXIuaWQpCiAKICAgICAgICAgICAgIGZvciBncm91cCBpbiBncm91cHM6CiAg ICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKApAQCAtMzA2LDE0ICszODIsMTQgQEAgY2xhc3Mg U2VydmVyR3JvdXBWaWV3KE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICAgICAgICAgICIlZCIg JSBncm91cC5pZCwKICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUsCiAgICAgICAgICAgICAg ICAgICAgICAgICBncm91cC5uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5ub2Rl X2ljb24sCisgICAgICAgICAgICAgICAgICAgICAgICBnZXRfaWNvbl9jc3NfY2xhc3MoZ3JvdXAu aWQsIGdyb3VwLnVzZXJfaWQpLAogICAgICAgICAgICAgICAgICAgICAgICAgVHJ1ZSwKICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYubm9kZV90eXBlCiAgICAgICAgICAgICAgICAgICAgICkK ICAgICAgICAgICAgICAgICApCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBncm91cCA9IFNl cnZlckdyb3VwLnF1ZXJ5LmZpbHRlcl9ieSh1c2VyX2lkPWN1cnJlbnRfdXNlci5pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPWdpZCkuZmlyc3Qo KQorICAgICAgICAgICAgZ3JvdXAgPSBTZXJ2ZXJHcm91cC5xdWVyeS5maWx0ZXIoU2VydmVyR3Jv dXAuaWQgPT0gZ2lkKS5maXJzdCgpCisKICAgICAgICAgICAgIGlmIG5vdCBncm91cDoKICAgICAg ICAgICAgICAgICByZXR1cm4gZ29uZSgKICAgICAgICAgICAgICAgICAgICAgZXJyb3Jtc2c9Z2V0 dGV4dCgiQ291bGQgbm90IGZpbmQgdGhlIHNlcnZlciBncm91cC4iKQpAQCAtMzIyLDcgKzM5OCw3 IEBAIGNsYXNzIFNlcnZlckdyb3VwVmlldyhOb2RlVmlldyk6CiAgICAgICAgICAgICBub2RlcyA9 IHNlbGYuYmx1ZXByaW50LmdlbmVyYXRlX2Jyb3dzZXJfbm9kZSgKICAgICAgICAgICAgICAgICAi JWQiICUgKGdyb3VwLmlkKSwgTm9uZSwKICAgICAgICAgICAgICAgICBncm91cC5uYW1lLAotICAg ICAgICAgICAgICAgIHNlbGYubm9kZV9pY29uLAorICAgICAgICAgICAgICAgIGdldF9pY29uX2Nz c19jbGFzcyhncm91cC5pZCwgZ3JvdXAudXNlcl9pZCksCiAgICAgICAgICAgICAgICAgVHJ1ZSwK ICAgICAgICAgICAgICAgICBzZWxmLm5vZGVfdHlwZQogICAgICAgICAgICAgKQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9fX2luaXRfXy5weQpp bmRleCAyZWIwNThhNDAuLmVkOGZhZTBmMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkKQEAgLTIzLDcgKzIzLDcgQEAg ZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRvci51dGlscy5xdWVyeV9oaXN0b3J5IGltcG9ydCBR dWVyeUhpc3RvcnkKIAogaW1wb3J0IGNvbmZpZwogZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFV TFRfRFJJVkVSCi1mcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IGRiLCBTZXJ2ZXIsIFNlcnZlckdy b3VwLCBVc2VyCitmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IGRiLCBTZXJ2ZXIsIFNlcnZlckdy b3VwLCBVc2VyLCBTaGFyZWRTZXJ2ZXIKIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0 IGdldF9kcml2ZXIKIGZyb20gcGdhZG1pbi51dGlscy5tYXN0ZXJfcGFzc3dvcmQgaW1wb3J0IGdl dF9jcnlwdF9rZXkKIGZyb20gcGdhZG1pbi51dGlscy5leGNlcHRpb24gaW1wb3J0IENyeXB0S2V5 TWlzc2luZwpAQCAtMzIsNiArMzIsOCBAQCBmcm9tIHBzeWNvcGcyIGltcG9ydCBFcnJvciBhcyBw c3ljb3BnMl9FcnJvciwgT3BlcmF0aW9uYWxFcnJvcgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzLnV0aWxzIGltcG9ydCBpc192YWxpZF9pcGFkZHJlc3MKIGZyb20g cGdhZG1pbi51dGlscy5jb25zdGFudHMgaW1wb3J0IFVOQVVUSF9SRVEsIE1JTUVUWVBFX0FQUF9K UywgXAogICAgIFNFUlZFUl9DT05ORUNUSU9OX0NMT1NFRAorZnJvbSBzcWxhbGNoZW15IGltcG9y dCBvcl8KK2Zyb20gcGdhZG1pbi51dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMK IAogCiBkZWYgaGFzX2FueShkYXRhLCBrZXlzKToKQEAgLTY1LDYgKzY3LDE5IEBAIGRlZiByZWNv dmVyeV9zdGF0ZShjb25uZWN0aW9uLCBwb3N0Z3Jlc192ZXJzaW9uKToKICAgICByZXR1cm4gc3Rh dHVzLCByZXN1bHQsIGluX3JlY292ZXJ5LCB3YWxfcGF1c2VkCiAKIAorZGVmIGdldF9wcmVmZXJl bmNlcygpOgorICAgICIiIgorICAgIEdldCBwcmVmZXJlbmNlcyBzZXR0aW5nCisgICAgOnJldHVy bjogd2hldGhlciB0byBoaWRlIHNoYXJlZCBzZXJ2ZXIgb3Igbm90LgorICAgICIiIgorICAgIGhp ZGVfc2hhcmVkX3NlcnZlciA9IE5vbmUKKyAgICBpZiBjb25maWcuU0VSVkVSX01PREU6CisgICAg ICAgIHByZWYgPSBQcmVmZXJlbmNlcy5tb2R1bGUoJ2Jyb3dzZXInKQorICAgICAgICBoaWRlX3No YXJlZF9zZXJ2ZXIgPSBwcmVmLnByZWZlcmVuY2UoJ2hpZGVfc2hhcmVkX3NlcnZlcicpLmdldCgp CisKKyAgICByZXR1cm4gaGlkZV9zaGFyZWRfc2VydmVyCisKKwogZGVmIHNlcnZlcl9pY29uX2Fu ZF9iYWNrZ3JvdW5kKGlzX2Nvbm5lY3RlZCwgbWFuYWdlciwgc2VydmVyKToKICAgICAiIiIKIApA QCAtOTIsNiArMTA3LDEwIEBAIGRlZiBzZXJ2ZXJfaWNvbl9hbmRfYmFja2dyb3VuZChpc19jb25u ZWN0ZWQsIG1hbmFnZXIsIHNlcnZlcik6CiAgICAgICAgIHJldHVybiAnaWNvbi17MH17MX0nLmZv cm1hdCgKICAgICAgICAgICAgIG1hbmFnZXIuc2VydmVyX3R5cGUsIHNlcnZlcl9iYWNrZ3JvdW5k X2NvbG9yCiAgICAgICAgICkKKyAgICBlbGlmIHNlcnZlci5zaGFyZWQgYW5kIGNvbmZpZy5TRVJW RVJfTU9ERToKKyAgICAgICAgcmV0dXJuICdpY29uLXNoYXJlZC1zZXJ2ZXItbm90LWNvbm5lY3Rl ZHswfScuZm9ybWF0KAorICAgICAgICAgICAgc2VydmVyX2JhY2tncm91bmRfY29sb3IKKyAgICAg ICAgKQogICAgIGVsc2U6CiAgICAgICAgIHJldHVybiAnaWNvbi1zZXJ2ZXItbm90LWNvbm5lY3Rl ZHswfScuZm9ybWF0KAogICAgICAgICAgICAgc2VydmVyX2JhY2tncm91bmRfY29sb3IKQEAgLTEx NCwyNSArMTMzLDkzIEBAIGNsYXNzIFNlcnZlck1vZHVsZShzZy5TZXJ2ZXJHcm91cFBsdWdpbk1v ZHVsZSk6CiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gc2cuU2VydmVyR3JvdXBNb2R1bGUu bm9kZV90eXBlCiAKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGdldF9zaGFyZWRfc2VydmVy X3Byb3BlcnRpZXMoc2VydmVyLCBzaGFyZWRzZXJ2ZXIpOgorICAgICAgICAiIiIKKyAgICAgICAg UmV0dXJuIHNoYXJlZCBzZXJ2ZXIgcHJvcGVydGllcworICAgICAgICA6cGFyYW0gc2VydmVyOgor ICAgICAgICA6cGFyYW0gc2hhcmVkc2VydmVyOgorICAgICAgICA6cmV0dXJuOgorICAgICAgICAi IiIKKworICAgICAgICBzZXJ2ZXIuYmdjb2xvciA9IHNoYXJlZHNlcnZlci5iZ2NvbG9yCisgICAg ICAgIHNlcnZlci5mZ2NvbG9yID0gc2hhcmVkc2VydmVyLmZnY29sb3IKKyAgICAgICAgc2VydmVy Lm5hbWUgPSBzaGFyZWRzZXJ2ZXIubmFtZQorICAgICAgICBzZXJ2ZXIucm9sZSA9IHNoYXJlZHNl cnZlci5yb2xlCisgICAgICAgIHNlcnZlci50dW5uZWxfdXNlcm5hbWUgPSBzaGFyZWRzZXJ2ZXIu dHVubmVsX3VzZXJuYW1lCisgICAgICAgIHNlcnZlci50dW5uZWxfcGFzc3dvcmQgPSBzaGFyZWRz ZXJ2ZXIudHVubmVsX3Bhc3N3b3JkCisgICAgICAgIHNlcnZlci5zYXZlX3Bhc3N3b3JkID0gc2hh cmVkc2VydmVyLnNhdmVfcGFzc3dvcmQKKyAgICAgICAgc2VydmVyLnBhc3NmaWxlID0gc2hhcmVk c2VydmVyLnBhc3NmaWxlCisgICAgICAgIHNlcnZlci5zZXJ2ZXJncm91cF9pZCA9IHNoYXJlZHNl cnZlci5zZXJ2ZXJncm91cF9pZAorICAgICAgICBzZXJ2ZXIuc3NsY2VydCA9IHNoYXJlZHNlcnZl ci5zc2xjZXJ0CisgICAgICAgIHNlcnZlci51c2VybmFtZSA9IHNoYXJlZHNlcnZlci51c2VybmFt ZQorICAgICAgICBzZXJ2ZXIuc2VydmVyX293bmVyID0gc2hhcmVkc2VydmVyLnNlcnZlcl9vd25l cgorCisgICAgICAgIHJldHVybiBzZXJ2ZXIKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYg Y2hlY2tfdG9faGlkZV9zaGFyZWRfc2VydmVyKGhpZGVfc2hhcmVkX3NlcnZlciwgc2hhcmVkX3Nl cnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fZGV0ZWN0ZWRf c2VydmVyKToKKworICAgICAgICBoaWRlX3NlcnZlciA9IEZhbHNlCisgICAgICAgIGlmIGhpZGVf c2hhcmVkX3NlcnZlciBvciBcCisgICAgICAgICAgICAgICAgc2hhcmVkX3NlcnZlci5uYW1lID09 IGF1dG9fZGV0ZWN0ZWRfc2VydmVyOgorICAgICAgICAgICAgaGlkZV9zZXJ2ZXIgPSBUcnVlCisK KyAgICAgICAgcmV0dXJuIGhpZGVfc2VydmVyCisKICAgICBAbG9naW5fcmVxdWlyZWQKICAgICBk ZWYgZ2V0X25vZGVzKHNlbGYsIGdpZCk6CiAgICAgICAgICIiIlJldHVybiBhIEpTT04gZG9jdW1l bnQgbGlzdGluZyB0aGUgc2VydmVyIGdyb3VwcyBmb3IgdGhlIHVzZXIiIiIKLSAgICAgICAgc2Vy dmVycyA9IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkodXNlcl9pZD1jdXJyZW50X3VzZXIuaWQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcmdyb3VwX2lkPWdp ZCkKKworICAgICAgICBoaWRlX3NoYXJlZF9zZXJ2ZXIgPSBnZXRfcHJlZmVyZW5jZXMoKQorCisg ICAgICAgIHNlcnZlcnMgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyKAorICAgICAgICAgICAgb3JfKFNl cnZlci51c2VyX2lkID09IGN1cnJlbnRfdXNlci5pZCwgU2VydmVyLnNoYXJlZCksCisgICAgICAg ICAgICBTZXJ2ZXIuc2VydmVyZ3JvdXBfaWQgPT0gZ2lkKQogCiAgICAgICAgIGRyaXZlciA9IGdl dF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpCiAKICAgICAgICAgZm9yIHNlcnZlciBpbiBzZXJ2 ZXJzOgorCisgICAgICAgICAgICBpZiBzZXJ2ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAh PSBjdXJyZW50X3VzZXIuaWQ6CisKKyAgICAgICAgICAgICAgICBzaGFyZWRfc2VydmVyLCBhdXRv X2RldGVjdGVkX3NlcnZlciA9IFwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfc2hhcmVk X3NlcnZlcihzZXJ2ZXIsIGdpZCkKKworICAgICAgICAgICAgICAgIGlmIHNlbGYuY2hlY2tfdG9f aGlkZV9zaGFyZWRfc2VydmVyKGhpZGVfc2hhcmVkX3NlcnZlciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWRfc2VydmVyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fZGV0ZWN0 ZWRfc2VydmVyKToKKyAgICAgICAgICAgICAgICAgICAgIyBEb24ndCBpbmNsdWRlIHNoYXJlZCBz ZXJ2ZXIgaWYgaGlkZSBzaGFyZWQgc2VydmVyIGlzCisgICAgICAgICAgICAgICAgICAgICMgc2V0 IHRvIHRydWUKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgICAg ICMgaWYgaGlkZV9zaGFyZWRfc2VydmVyIG9yIFwKKyAgICAgICAgICAgICAgICAjICAgICAgICAg c2hhcmVkX3NlcnZlci5uYW1lID09IGF1dG9fZGV0ZWN0ZWRfc2VydmVyOgorICAgICAgICAgICAg ICAgICMgICAgICMgRG9uJ3QgaW5jbHVkZSBzaGFyZWQgc2VydmVyIGlmIGhpZGUgc2hhcmVkIHNl cnZlciBpcworICAgICAgICAgICAgICAgICMgICAgICMgc2V0IHRvIHRydWUKKyAgICAgICAgICAg ICAgICAjICAgICBjb250aW51ZQorCisgICAgICAgICAgICAgICAgIyBpZiBzaGFyZWRfc2VydmVy Lm5hbWUgPT0gYXV0b19kZXRlY3RlZF9zZXJ2ZXI6CisgICAgICAgICAgICAgICAgIyAgICAgY29u dGludWUKKyAgICAgICAgICAgICAgICBzZXJ2ZXIgPSBzZWxmLmdldF9zaGFyZWRfc2VydmVyX3By b3BlcnRpZXMoc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaGFyZWRfc2VydmVyKQogICAgICAgICAgICAgY29ubmVjdGVk ID0gRmFsc2UKICAgICAgICAgICAgIG1hbmFnZXIgPSBOb25lCiAgICAgICAgICAgICBlcnJtc2cg PSBOb25lCiAgICAgICAgICAgICB3YXNfY29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgIGlu X3JlY292ZXJ5ID0gTm9uZQogICAgICAgICAgICAgd2FsX3BhdXNlZCA9IE5vbmUKKyAgICAgICAg ICAgIHNlcnZlcl90eXBlID0gJ3BnJworICAgICAgICAgICAgdXNlcl9pbmZvID0gTm9uZQogICAg ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG1hbmFnZXIgPSBkcml2ZXIuY29ubmVjdGlv bl9tYW5hZ2VyKHNlcnZlci5pZCkKICAgICAgICAgICAgICAgICBjb25uID0gbWFuYWdlci5jb25u ZWN0aW9uKCkKICAgICAgICAgICAgICAgICB3YXNfY29ubmVjdGVkID0gY29ubi53YXNDb25uZWN0 ZWQKKyAgICAgICAgICAgICAgICBjb25uZWN0ZWQgPSBjb25uLmNvbm5lY3RlZCgpCisgICAgICAg ICAgICAgICAgaWYgY29ubmVjdGVkOgorICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfdHlwZSA9 IG1hbmFnZXIuc2VydmVyX3R5cGUKKyAgICAgICAgICAgICAgICAgICAgdXNlcl9pbmZvID0gbWFu YWdlci51c2VyX2luZm8KICAgICAgICAgICAgIGV4Y2VwdCBDcnlwdEtleU1pc3Npbmc6CiAgICAg ICAgICAgICAgICAgIyBzaG93IHRoZSBub2RlcyBhdCBsZWFzdCBldmVuIGlmIG5vdCBhYmxlIHRv IGNvbm5lY3QuCiAgICAgICAgICAgICAgICAgcGFzcwpAQCAtMTQ4LDE3ICsyMzUsMjAgQEAgY2xh c3MgU2VydmVyTW9kdWxlKHNnLlNlcnZlckdyb3VwUGx1Z2luTW9kdWxlKToKICAgICAgICAgICAg ICAgICBUcnVlLAogICAgICAgICAgICAgICAgIHNlbGYubm9kZV90eXBlLAogICAgICAgICAgICAg ICAgIGNvbm5lY3RlZD1jb25uZWN0ZWQsCi0gICAgICAgICAgICAgICAgc2VydmVyX3R5cGU9bWFu YWdlci5zZXJ2ZXJfdHlwZSBpZiBjb25uZWN0ZWQgZWxzZSAicGciLAorICAgICAgICAgICAgICAg IHNlcnZlcl90eXBlPXNlcnZlcl90eXBlLAogICAgICAgICAgICAgICAgIHZlcnNpb249bWFuYWdl ci52ZXJzaW9uLAogICAgICAgICAgICAgICAgIGRiPW1hbmFnZXIuZGIsCi0gICAgICAgICAgICAg ICAgdXNlcj1tYW5hZ2VyLnVzZXJfaW5mbyBpZiBjb25uZWN0ZWQgZWxzZSBOb25lLAorICAgICAg ICAgICAgICAgIHVzZXI9dXNlcl9pbmZvLAogICAgICAgICAgICAgICAgIGluX3JlY292ZXJ5PWlu X3JlY292ZXJ5LAogICAgICAgICAgICAgICAgIHdhbF9wYXVzZT13YWxfcGF1c2VkLAogICAgICAg ICAgICAgICAgIGlzX3Bhc3N3b3JkX3NhdmVkPWJvb2woc2VydmVyLnNhdmVfcGFzc3dvcmQpLAog ICAgICAgICAgICAgICAgIGlzX3R1bm5lbF9wYXNzd29yZF9zYXZlZD1UcnVlCiAgICAgICAgICAg ICAgICAgaWYgc2VydmVyLnR1bm5lbF9wYXNzd29yZCBpcyBub3QgTm9uZSBlbHNlIEZhbHNlLAog ICAgICAgICAgICAgICAgIHdhc19jb25uZWN0ZWQ9d2FzX2Nvbm5lY3RlZCwKLSAgICAgICAgICAg ICAgICBlcnJtc2c9ZXJybXNnCisgICAgICAgICAgICAgICAgZXJybXNnPWVycm1zZywKKyAgICAg ICAgICAgICAgICB1c2VyX2lkPXNlcnZlci51c2VyX2lkLAorICAgICAgICAgICAgICAgIHVzZXJf bmFtZT1zZXJ2ZXIudXNlcm5hbWUsCisgICAgICAgICAgICAgICAgc2hhcmVkPXNlcnZlci5zaGFy ZWQKICAgICAgICAgICAgICkKIAogICAgIEBwcm9wZXJ0eQpAQCAtMjMwLDYgKzMyMCw4MiBAQCBj bGFzcyBTZXJ2ZXJNb2R1bGUoc2cuU2VydmVyR3JvdXBQbHVnaW5Nb2R1bGUpOgogICAgIGRlZiBn ZXRfZXhwb3NlZF91cmxfZW5kcG9pbnRzKHNlbGYpOgogICAgICAgICByZXR1cm4gWydOT0RFLXNl cnZlci5jb25uZWN0X2lkJ10KIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgY3JlYXRlX3No YXJlZF9zZXJ2ZXIoZGF0YSwgZ2lkKToKKyAgICAgICAgIiIiCisgICAgICAgIENyZWF0ZSBzaGFy ZWQgc2VydmVyCisgICAgICAgIDpwYXJhbSBkYXRhOgorICAgICAgICA6cGFyYW0gZ2lkOgorICAg ICAgICA6cmV0dXJuOiBOb25lCisgICAgICAgICIiIgorCisgICAgICAgIHNoYXJlZF9zZXJ2ZXIg PSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHVzZXIgPSBVc2VyLnF1ZXJ5LmZpbHRl cl9ieShpZD1kYXRhLnVzZXJfaWQpLmZpcnN0KCkKKyAgICAgICAgICAgIHNoYXJlZF9zZXJ2ZXIg PSBTaGFyZWRTZXJ2ZXIoCisgICAgICAgICAgICAgICAgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQs CisgICAgICAgICAgICAgICAgc2VydmVyX293bmVyPXVzZXIudXNlcm5hbWUsCisgICAgICAgICAg ICAgICAgc2VydmVyZ3JvdXBfaWQ9Z2lkLAorICAgICAgICAgICAgICAgIG5hbWU9ZGF0YS5uYW1l LAorICAgICAgICAgICAgICAgIGhvc3Q9ZGF0YS5ob3N0LAorICAgICAgICAgICAgICAgIGhvc3Rh ZGRyPWRhdGEuaG9zdGFkZHIsCisgICAgICAgICAgICAgICAgcG9ydD1kYXRhLnBvcnQsCisgICAg ICAgICAgICAgICAgbWFpbnRlbmFuY2VfZGI9Tm9uZSwKKyAgICAgICAgICAgICAgICB1c2VybmFt ZT1Ob25lLAorICAgICAgICAgICAgICAgIHNhdmVfcGFzc3dvcmQ9MCwKKyAgICAgICAgICAgICAg ICBzc2xfbW9kZT1kYXRhLnNzbF9tb2RlLAorICAgICAgICAgICAgICAgIGNvbW1lbnQ9Tm9uZSwK KyAgICAgICAgICAgICAgICByb2xlPWRhdGEucm9sZSwKKyAgICAgICAgICAgICAgICBzc2xjZXJ0 PU5vbmUsCisgICAgICAgICAgICAgICAgc3Nsa2V5PU5vbmUsCisgICAgICAgICAgICAgICAgc3Ns cm9vdGNlcnQ9Tm9uZSwKKyAgICAgICAgICAgICAgICBzc2xjcmw9Tm9uZSwKKyAgICAgICAgICAg ICAgICBiZ2NvbG9yPWRhdGEuYmdjb2xvciBpZiBkYXRhLmJnY29sb3IgZWxzZSBOb25lLAorICAg ICAgICAgICAgICAgIGZnY29sb3I9ZGF0YS5mZ2NvbG9yIGlmIGRhdGEuZmdjb2xvciBlbHNlIE5v bmUsCisgICAgICAgICAgICAgICAgc2VydmljZT1kYXRhLnNlcnZpY2UgaWYgZGF0YS5zZXJ2aWNl IGVsc2UgTm9uZSwKKyAgICAgICAgICAgICAgICBjb25uZWN0X3RpbWVvdXQ9MCwKKyAgICAgICAg ICAgICAgICB1c2Vfc3NoX3R1bm5lbD0wLAorICAgICAgICAgICAgICAgIHR1bm5lbF9ob3N0PU5v bmUsCisgICAgICAgICAgICAgICAgdHVubmVsX3BvcnQ9MjIsCisgICAgICAgICAgICAgICAgdHVu bmVsX3VzZXJuYW1lPU5vbmUsCisgICAgICAgICAgICAgICAgdHVubmVsX2F1dGhlbnRpY2F0aW9u PTAsCisgICAgICAgICAgICAgICAgdHVubmVsX2lkZW50aXR5X2ZpbGU9Tm9uZSwKKyAgICAgICAg ICAgICAgICBzaGFyZWQ9ZGF0YS5zaGFyZWQgaWYgZGF0YS5zaGFyZWQgZWxzZSBOb25lCisgICAg ICAgICAgICApCisgICAgICAgICAgICBkYi5zZXNzaW9uLmFkZChzaGFyZWRfc2VydmVyKQorICAg ICAgICAgICAgZGIuc2Vzc2lvbi5jb21taXQoKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz IGU6CisgICAgICAgICAgICBpZiBzaGFyZWRfc2VydmVyOgorICAgICAgICAgICAgICAgIGRiLnNl c3Npb24uZGVsZXRlKHNoYXJlZF9zZXJ2ZXIpCisgICAgICAgICAgICAgICAgZGIuc2Vzc2lvbi5j b21taXQoKQorCisgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXhjZXB0aW9uKGUpCisg ICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkK KworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgZ2V0X3NoYXJlZF9zZXJ2ZXIoc2VydmVyLCBn aWQpOgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHRoZSBzaGFyZWQgc2VydmVyCisgICAg ICAgIDpwYXJhbSBzZXJ2ZXI6CisgICAgICAgIDpwYXJhbSBnaWQ6CisgICAgICAgIDpyZXR1cm46 IHNoYXJlZF9zZXJ2ZXIKKyAgICAgICAgIiIiCisgICAgICAgIGF1dG9fZGV0ZWN0ZWRfc2VydmVy ID0gTm9uZQorICAgICAgICBzaGFyZWRfc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRl cl9ieSgKKyAgICAgICAgICAgIG5hbWU9c2VydmVyLm5hbWUsIHVzZXJfaWQ9Y3VycmVudF91c2Vy LmlkLAorICAgICAgICAgICAgc2VydmVyZ3JvdXBfaWQ9Z2lkKS5maXJzdCgpCisgICAgICAgIGlm IHNlcnZlci5kaXNjb3ZlcnlfaWQ6CisgICAgICAgICAgICBhdXRvX2RldGVjdGVkX3NlcnZlciA9 IHNlcnZlci5uYW1lCisKKyAgICAgICAgaWYgc2hhcmVkX3NlcnZlciBpcyBOb25lOgorICAgICAg ICAgICAgU2VydmVyTW9kdWxlLmNyZWF0ZV9zaGFyZWRfc2VydmVyKHNlcnZlciwgZ2lkKQorCisg ICAgICAgICAgICBzaGFyZWRfc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgK KyAgICAgICAgICAgICAgICBuYW1lPXNlcnZlci5uYW1lLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5p ZCwKKyAgICAgICAgICAgICAgICBzZXJ2ZXJncm91cF9pZD1naWQpLmZpcnN0KCkKKworICAgICAg ICByZXR1cm4gc2hhcmVkX3NlcnZlciwgYXV0b19kZXRlY3RlZF9zZXJ2ZXIKKwogCiBjbGFzcyBT ZXJ2ZXJNZW51SXRlbShNZW51SXRlbSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdz KToKQEAgLTMyNywxOSArNDkzLDI5IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3 KToKICAgICAgICAgUmV0dXJuIGEgSlNPTiBkb2N1bWVudCBsaXN0aW5nIHRoZSBzZXJ2ZXJzIHVu ZGVyIHRoaXMgc2VydmVyIGdyb3VwCiAgICAgICAgIGZvciB0aGUgdXNlci4KICAgICAgICAgIiIi Ci0gICAgICAgIHNlcnZlcnMgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KHVzZXJfaWQ9Y3VycmVu dF91c2VyLmlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2 ZXJncm91cF9pZD1naWQpCisgICAgICAgIHNlcnZlcnMgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyKAor ICAgICAgICAgICAgb3JfKFNlcnZlci51c2VyX2lkID09IGN1cnJlbnRfdXNlci5pZCwKKyAgICAg ICAgICAgICAgICBTZXJ2ZXIuc2hhcmVkKSwKKyAgICAgICAgICAgIFNlcnZlci5zZXJ2ZXJncm91 cF9pZCA9PSBnaWQpCiAKICAgICAgICAgZHJpdmVyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RS SVZFUikKIAogICAgICAgICBmb3Igc2VydmVyIGluIHNlcnZlcnM6CisgICAgICAgICAgICBpZiBz ZXJ2ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIuaWQ6CisgICAg ICAgICAgICAgICAgc2hhcmVkX3NlcnZlciwgYXV0b19kZXRlY3RlZF9zZXJ2ZXIgPSBcCisgICAg ICAgICAgICAgICAgICAgIFNlcnZlck1vZHVsZS5nZXRfc2hhcmVkX3NlcnZlcihzZXJ2ZXIsIGdp ZCkKKyAgICAgICAgICAgICAgICBzZXJ2ZXIgPSBcCisgICAgICAgICAgICAgICAgICAgIFNlcnZl ck1vZHVsZS5nZXRfc2hhcmVkX3NlcnZlcl9wcm9wZXJ0aWVzKHNlcnZlciwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVk X3NlcnZlcikKICAgICAgICAgICAgIG1hbmFnZXIgPSBkcml2ZXIuY29ubmVjdGlvbl9tYW5hZ2Vy KHNlcnZlci5pZCkKICAgICAgICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oKQogICAg ICAgICAgICAgY29ubmVjdGVkID0gY29ubi5jb25uZWN0ZWQoKQogICAgICAgICAgICAgZXJybXNn ID0gTm9uZQogICAgICAgICAgICAgaW5fcmVjb3ZlcnkgPSBOb25lCiAgICAgICAgICAgICB3YWxf cGF1c2VkID0gTm9uZQorICAgICAgICAgICAgc2VydmVyX3R5cGUgPSAncGcnCiAgICAgICAgICAg ICBpZiBjb25uZWN0ZWQ6CisgICAgICAgICAgICAgICAgc2VydmVyX3R5cGUgPSBtYW5hZ2VyLnNl cnZlcl90eXBlCiAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXN1bHQsIGluX3JlY292ZXJ5LCB3 YWxfcGF1c2VkID1cCiAgICAgICAgICAgICAgICAgICAgIHJlY292ZXJ5X3N0YXRlKGNvbm4sIG1h bmFnZXIudmVyc2lvbikKICAgICAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgpAQCAtMzU2LDcg KzUzMiw3IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAg ICAgICAgICAgVHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgc2VsZi5ub2RlX3R5cGUsCiAgICAg ICAgICAgICAgICAgICAgIGNvbm5lY3RlZD1jb25uZWN0ZWQsCi0gICAgICAgICAgICAgICAgICAg IHNlcnZlcl90eXBlPW1hbmFnZXIuc2VydmVyX3R5cGUgaWYgY29ubmVjdGVkIGVsc2UgJ3BnJywK KyAgICAgICAgICAgICAgICAgICAgc2VydmVyX3R5cGU9c2VydmVyX3R5cGUsCiAgICAgICAgICAg ICAgICAgICAgIHZlcnNpb249bWFuYWdlci52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBk Yj1tYW5hZ2VyLmRiLAogICAgICAgICAgICAgICAgICAgICB1c2VyPW1hbmFnZXIudXNlcl9pbmZv IGlmIGNvbm5lY3RlZCBlbHNlIE5vbmUsCkBAIC0zNjUsNyArNTQxLDkgQEAgY2xhc3MgU2VydmVy Tm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgICAgICBpc19wYXNzd29yZF9z YXZlZD1ib29sKHNlcnZlci5zYXZlX3Bhc3N3b3JkKSwKICAgICAgICAgICAgICAgICAgICAgaXNf dHVubmVsX3Bhc3N3b3JkX3NhdmVkPVRydWUKICAgICAgICAgICAgICAgICAgICAgaWYgc2VydmVy LnR1bm5lbF9wYXNzd29yZCBpcyBub3QgTm9uZSBlbHNlIEZhbHNlLAotICAgICAgICAgICAgICAg ICAgICBlcnJtc2c9ZXJybXNnCisgICAgICAgICAgICAgICAgICAgIGVycm1zZz1lcnJtc2csCisg ICAgICAgICAgICAgICAgICAgIHVzZXJfbmFtZT1zZXJ2ZXIudXNlcm5hbWUsCisgICAgICAgICAg ICAgICAgICAgIHNoYXJlZD1zZXJ2ZXIuc2hhcmVkCiAgICAgICAgICAgICAgICAgKQogICAgICAg ICAgICAgKQogCkBAIC0zNzksOSArNTU3LDEzIEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5v ZGVWaWV3KToKICAgICBAbG9naW5fcmVxdWlyZWQKICAgICBkZWYgbm9kZShzZWxmLCBnaWQsIHNp ZCk6CiAgICAgICAgICIiIlJldHVybiBhIEpTT04gZG9jdW1lbnQgbGlzdGluZyB0aGUgc2VydmVy IGdyb3VwcyBmb3IgdGhlIHVzZXIiIiIKLSAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5LmZp bHRlcl9ieSh1c2VyX2lkPWN1cnJlbnRfdXNlci5pZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZXJ2ZXJncm91cF9pZD1naWQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaWQ9c2lkKS5maXJzdCgpCisgICAgICAgIHNlcnZlciA9IFNl cnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkKS5maXJzdCgpCisKKyAgICAgICAgaWYgc2VydmVy LnNoYXJlZCBhbmQgc2VydmVyLnVzZXJfaWQgIT0gY3VycmVudF91c2VyLmlkOgorICAgICAgICAg ICAgc2hhcmVkX3NlcnZlciwgYXV0b19kZXRlY3RlZF9zZXJ2ZXIgPSBcCisgICAgICAgICAgICAg ICAgU2VydmVyTW9kdWxlLmdldF9zaGFyZWRfc2VydmVyKHNlcnZlciwgZ2lkKQorICAgICAgICAg ICAgc2VydmVyID0gU2VydmVyTW9kdWxlLmdldF9zaGFyZWRfc2VydmVyX3Byb3BlcnRpZXMoc2Vy dmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2hhcmVkX3NlcnZlcikKIAogICAgICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToK ICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCkBAIC00MjYsMTQgKzYwOCwz NyBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAg aXNfcGFzc3dvcmRfc2F2ZWQ9Ym9vbChzZXJ2ZXIuc2F2ZV9wYXNzd29yZCksCiAgICAgICAgICAg ICAgICAgaXNfdHVubmVsX3Bhc3N3b3JkX3NhdmVkPVRydWUKICAgICAgICAgICAgICAgICBpZiBz ZXJ2ZXIudHVubmVsX3Bhc3N3b3JkIGlzIG5vdCBOb25lIGVsc2UgRmFsc2UsCi0gICAgICAgICAg ICAgICAgZXJybXNnPWVycm1zZworICAgICAgICAgICAgICAgIGVycm1zZz1lcnJtc2csCisgICAg ICAgICAgICAgICAgc2hhcmVkPXNlcnZlci5zaGFyZWQsCisgICAgICAgICAgICAgICAgdXNlcl9u YW1lPXNlcnZlci51c2VybmFtZQogICAgICAgICAgICAgKSwKICAgICAgICAgKQogCisgICAgZGVm IGRlbGV0ZV9zaGFyZWRfc2VydmVyKHNlbGYsIHNlcnZlcl9uYW1lLCBnaWQpOgorICAgICAgICAi IiIKKyAgICAgICAgRGVsZXRlIHRoZSBzaGFyZWQgc2VydmVyCisgICAgICAgIDpwYXJhbSBzZXJ2 ZXJfbmFtZToKKyAgICAgICAgOnJldHVybjoKKyAgICAgICAgIiIiCisgICAgICAgIHRyeToKKyAg ICAgICAgICAgIHNoYXJlZF9zZXJ2ZXIgPSBTaGFyZWRTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KG5h bWU9c2VydmVyX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZXJ2ZXJncm91cF9pZD1naWQpCisgICAgICAgICAgICBmb3IgcyBp biBzaGFyZWRfc2VydmVyOgorICAgICAgICAgICAgICAgIGdldF9kcml2ZXIoUEdfREVGQVVMVF9E UklWRVIpLmRlbGV0ZV9tYW5hZ2VyKHMuaWQpCisgICAgICAgICAgICAgICAgZGIuc2Vzc2lvbi5k ZWxldGUocykKKyAgICAgICAgICAgIGRiLnNlc3Npb24uY29tbWl0KCkKKworICAgICAgICBleGNl cHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXhjZXB0 aW9uKGUpCisgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAg ICAgICAgIHN1Y2Nlc3M9MCwKKyAgICAgICAgICAgICAgICBlcnJvcm1zZz1lLm1lc3NhZ2UpCisK ICAgICBAbG9naW5fcmVxdWlyZWQKICAgICBkZWYgZGVsZXRlKHNlbGYsIGdpZCwgc2lkKToKICAg ICAgICAgIiIiRGVsZXRlIGEgc2VydmVyIG5vZGUgaW4gdGhlIHNldHRpbmdzIGRhdGFiYXNlLiIi IgogICAgICAgICBzZXJ2ZXJzID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSh1c2VyX2lkPWN1cnJl bnRfdXNlci5pZCwgaWQ9c2lkKQorICAgICAgICBzZXJ2ZXJfbmFtZSA9IE5vbmUKIAogICAgICAg ICAjIFRPRE86OiBBIHNlcnZlciwgd2hpY2ggaXMgY29ubmVjdGVkLCBjYW5ub3QgYmUgZGVsZXRl ZAogICAgICAgICBpZiBzZXJ2ZXJzIGlzIE5vbmU6CkBAIC00NDksMTAgKzY1NCwxMSBAQCBjbGFz cyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICB0cnk6CiAgICAgICAgICAgICAgICAgZm9yIHMgaW4gc2VydmVyczoKKyAgICAgICAgICAgICAg ICAgICAgc2VydmVyX25hbWUgPSBzLm5hbWUKICAgICAgICAgICAgICAgICAgICAgZ2V0X2RyaXZl cihQR19ERUZBVUxUX0RSSVZFUikuZGVsZXRlX21hbmFnZXIocy5pZCkKICAgICAgICAgICAgICAg ICAgICAgZGIuc2Vzc2lvbi5kZWxldGUocykKICAgICAgICAgICAgICAgICBkYi5zZXNzaW9uLmNv bW1pdCgpCi0KKyAgICAgICAgICAgICAgICBzZWxmLmRlbGV0ZV9zaGFyZWRfc2VydmVyKHNlcnZl cl9uYW1lLCBnaWQpCiAgICAgICAgICAgICAgICAgUXVlcnlIaXN0b3J5LmNsZWFyX2hpc3Rvcnko Y3VycmVudF91c2VyLmlkLCBzaWQpCiAKICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg ZToKQEAgLTQ2Nyw4ICs2NzMsOCBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgQGxvZ2luX3JlcXVpcmVkCiAgICAgZGVmIHVwZGF0ZShzZWxmLCBnaWQsIHNpZCk6CiAg ICAgICAgICIiIlVwZGF0ZSB0aGUgc2VydmVyIHNldHRpbmdzIiIiCi0gICAgICAgIHNlcnZlciA9 IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoCi0gICAgICAgICAgICB1c2VyX2lkPWN1cnJlbnRfdXNl ci5pZCwgaWQ9c2lkKS5maXJzdCgpCisgICAgICAgIHNlcnZlciA9IFNlcnZlci5xdWVyeS5maWx0 ZXJfYnkoaWQ9c2lkKS5maXJzdCgpCisgICAgICAgIHNoYXJlZHNlcnZlciA9IE5vbmUKIAogICAg ICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVz cG9uc2UoCkBAIC00NzcsNiArNjgzLDExIEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0 aGUgcmVxdWlyZWQgc2VydmVyLiIpCiAgICAgICAgICAgICApCiAKKyAgICAgICAgaWYgY29uZmln LlNFUlZFUl9NT0RFIGFuZCBzZXJ2ZXIuc2hhcmVkIGFuZCBcCisgICAgICAgICAgICAgICAgc2Vy dmVyLnVzZXJfaWQgIT0gY3VycmVudF91c2VyLmlkOgorICAgICAgICAgICAgc2hhcmVkc2VydmVy LCBhdXRvX2RldGVjdGVkX3NlcnZlciA9IFwKKyAgICAgICAgICAgICAgICBTZXJ2ZXJNb2R1bGUu Z2V0X3NoYXJlZF9zZXJ2ZXIoc2VydmVyLCBnaWQpCisKICAgICAgICAgIyBOb3QgYWxsIHBhcmFt ZXRlcnMgY2FuIGJlIG1vZGlmaWVkLCB3aGlsZSB0aGUgc2VydmVyIGlzIGNvbm5lY3RlZAogICAg ICAgICBjb25maWdfcGFyYW1fbWFwID0gewogICAgICAgICAgICAgJ25hbWUnOiAnbmFtZScsCkBA IC01MDYsMTEgKzcxNywxMiBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAg ICAgICAgICAgICAndHVubmVsX3VzZXJuYW1lJzogJ3R1bm5lbF91c2VybmFtZScsCiAgICAgICAg ICAgICAndHVubmVsX2F1dGhlbnRpY2F0aW9uJzogJ3R1bm5lbF9hdXRoZW50aWNhdGlvbicsCiAg ICAgICAgICAgICAndHVubmVsX2lkZW50aXR5X2ZpbGUnOiAndHVubmVsX2lkZW50aXR5X2ZpbGUn LAorICAgICAgICAgICAgJ3NoYXJlZCc6ICdzaGFyZWQnCiAgICAgICAgIH0KIAogICAgICAgICBk aXNwX2xibCA9IHsKICAgICAgICAgICAgICduYW1lJzogZ2V0dGV4dCgnbmFtZScpLAotICAgICAg ICAgICAgJ2hvc3QnOiBnZXR0ZXh0KCdIb3N0IG5hbWUvYWRkcmVzcycpLAorICAgICAgICAgICAg J2hvc3RhZGRyJzogZ2V0dGV4dCgnSG9zdCBuYW1lL2FkZHJlc3MnKSwKICAgICAgICAgICAgICdw b3J0JzogZ2V0dGV4dCgnUG9ydCcpLAogICAgICAgICAgICAgJ2RiJzogZ2V0dGV4dCgnTWFpbnRl bmFuY2UgZGF0YWJhc2UnKSwKICAgICAgICAgICAgICd1c2VybmFtZSc6IGdldHRleHQoJ1VzZXJu YW1lJyksCkBAIC01NDEsNyArNzUzLDggQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZp ZXcpOgogICAgICAgICBzZWxmLl9zZXJ2ZXJfbW9kaWZ5X2Rpc2FsbG93ZWRfd2hlbl9jb25uZWN0 ZWQoCiAgICAgICAgICAgICBjb25uZWN0ZWQsIGRhdGEsIGRpc3BfbGJsKQogCi0gICAgICAgIGlk eCA9IHNlbGYuX3NldF92YWxpZF9hdHRyX3ZhbHVlKGRhdGEsIGNvbmZpZ19wYXJhbV9tYXAsIHNl cnZlcikKKyAgICAgICAgaWR4ID0gc2VsZi5fc2V0X3ZhbGlkX2F0dHJfdmFsdWUoZ2lkLCBkYXRh LCBjb25maWdfcGFyYW1fbWFwLCBzZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNoYXJlZHNlcnZlcikKIAogICAgICAgICBpZiBpZHggPT0gMDoKICAgICAg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCkBAIC01NjgsNyArNzgxLDExIEBAIGNs YXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIG5vZGU9c2VsZi5i bHVlcHJpbnQuZ2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAogICAgICAgICAgICAgICAgICIlZCIgJSAo c2VydmVyLmlkKSwgc2VydmVyLnNlcnZlcmdyb3VwX2lkLAogICAgICAgICAgICAgICAgIHNlcnZl ci5uYW1lLAotICAgICAgICAgICAgICAgIHNlcnZlcl9pY29uX2FuZF9iYWNrZ3JvdW5kKGNvbm5l Y3RlZCwgbWFuYWdlciwgc2VydmVyKSwKKyAgICAgICAgICAgICAgICBzZXJ2ZXJfaWNvbl9hbmRf YmFja2dyb3VuZCgKKyAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkLCBtYW5hZ2VyLCBzaGFy ZWRzZXJ2ZXIpCisgICAgICAgICAgICAgICAgaWYgc2VydmVyLnNoYXJlZCBhbmQgc2VydmVyLnVz ZXJfaWQgIT0gY3VycmVudF91c2VyLmlkCisgICAgICAgICAgICAgICAgZWxzZSBzZXJ2ZXJfaWNv bl9hbmRfYmFja2dyb3VuZCgKKyAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkLCBtYW5hZ2Vy LCBzZXJ2ZXIpLAogICAgICAgICAgICAgICAgIFRydWUsCiAgICAgICAgICAgICAgICAgc2VsZi5u b2RlX3R5cGUsCiAgICAgICAgICAgICAgICAgY29ubmVjdGVkPWNvbm5lY3RlZCwKQEAgLTU3Nyw3 ICs3OTQsMTYgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAg ICAgKQogICAgICAgICApCiAKLSAgICBkZWYgX3NldF92YWxpZF9hdHRyX3ZhbHVlKHNlbGYsIGRh dGEsIGNvbmZpZ19wYXJhbV9tYXAsIHNlcnZlcik6CisgICAgQHN0YXRpY21ldGhvZAorICAgIGRl ZiBfdXBkYXRlX3NlcnZlcl9kZXRhaWxzKHNlcnZlciwgc2hhcmVkc2VydmVyLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ19wYXJhbV9tYXAsIGFyZywgdmFsdWUpOgorICAg ICAgICBpZiBzZXJ2ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIu aWQ6CisgICAgICAgICAgICBzZXRhdHRyKHNoYXJlZHNlcnZlciwgY29uZmlnX3BhcmFtX21hcFth cmddLCB2YWx1ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNldGF0dHIoc2VydmVyLCBj b25maWdfcGFyYW1fbWFwW2FyZ10sIHZhbHVlKQorCisgICAgZGVmIF9zZXRfdmFsaWRfYXR0cl92 YWx1ZShzZWxmLCBnaWQsIGRhdGEsIGNvbmZpZ19wYXJhbV9tYXAsIHNlcnZlciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZHNlcnZlcik6CiAKICAgICAgICAgaWR4ID0gMAog ICAgICAgICBmb3IgYXJnIGluIGNvbmZpZ19wYXJhbV9tYXA6CkBAIC01ODUsOSArODExLDE0IEBA IGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICB2YWx1 ZSA9IGRhdGFbYXJnXQogICAgICAgICAgICAgICAgICMgc3FsaXRlMyBkbyBub3QgaGF2ZSBib29s ZWFuIHR5cGUgc28gd2UgbmVlZCB0byBjb252ZXJ0CiAgICAgICAgICAgICAgICAgIyBpdCBtYW51 YWxseSB0byBpbnRlZ2VyCisgICAgICAgICAgICAgICAgaWYgJ3NoYXJlZCcgaW4gZGF0YSBhbmQg bm90IGRhdGFbJ3NoYXJlZCddOgorICAgICAgICAgICAgICAgICAgICAjIERlbGV0ZSB0aGUgc2hh cmVkIHNlcnZlciBmcm9tIERCIGlmIHNlcnZlcgorICAgICAgICAgICAgICAgICAgICAjIG93bmVy IHVuY2hlY2sgc2hhcmVkIHByb3BlcnR5CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVsZXRl X3NoYXJlZF9zZXJ2ZXIoc2VydmVyLm5hbWUsIGdpZCkKICAgICAgICAgICAgICAgICBpZiBhcmcg PT0gJ3NzbGNvbXByZXNzaW9uJzoKICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSAxIGlmIHZh bHVlIGVsc2UgMAotICAgICAgICAgICAgICAgIHNldGF0dHIoc2VydmVyLCBjb25maWdfcGFyYW1f bWFwW2FyZ10sIHZhbHVlKQorICAgICAgICAgICAgICAgIHNlbGYuX3VwZGF0ZV9zZXJ2ZXJfZGV0 YWlscyhzZXJ2ZXIsIHNoYXJlZHNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uZmlnX3BhcmFtX21hcCwgYXJnLCB2YWx1ZSkKICAgICAgICAgICAg ICAgICBpZHggKz0gMQogCiAgICAgICAgIHJldHVybiBpZHgKQEAgLTYxMywxMSArODQ0LDExIEBA IGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgIiIiCiAgICAgICAg IFJldHVybiBsaXN0IG9mIGF0dHJpYnV0ZXMgb2YgYWxsIHNlcnZlcnMuCiAgICAgICAgICIiIgot ICAgICAgICBzZXJ2ZXJzID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAgICAgICAgIHVz ZXJfaWQ9Y3VycmVudF91c2VyLmlkLAotICAgICAgICAgICAgc2VydmVyZ3JvdXBfaWQ9Z2lkKS5v cmRlcl9ieShTZXJ2ZXIubmFtZSkKKyAgICAgICAgc2VydmVycyA9IFNlcnZlci5xdWVyeS5maWx0 ZXIoCisgICAgICAgICAgICBvcl8oU2VydmVyLnVzZXJfaWQgPT0gY3VycmVudF91c2VyLmlkLAor ICAgICAgICAgICAgICAgIFNlcnZlci5zaGFyZWQpLAorICAgICAgICAgICAgU2VydmVyLnNlcnZl cmdyb3VwX2lkID09IGdpZCkub3JkZXJfYnkoU2VydmVyLm5hbWUpCiAgICAgICAgIHNnID0gU2Vy dmVyR3JvdXAucXVlcnkuZmlsdGVyX2J5KAotICAgICAgICAgICAgdXNlcl9pZD1jdXJyZW50X3Vz ZXIuaWQsCiAgICAgICAgICAgICBpZD1naWQKICAgICAgICAgKS5maXJzdCgpCiAgICAgICAgIHJl cyA9IFtdCkBAIC02MjUsNiArODU2LDEyIEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgZHJpdmVyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikKIAog ICAgICAgICBmb3Igc2VydmVyIGluIHNlcnZlcnM6CisgICAgICAgICAgICBpZiBzZXJ2ZXIuc2hh cmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIuaWQ6CisgICAgICAgICAgICAg ICAgc2hhcmVkX3NlcnZlciwgYXV0b19kZXRlY3RlZF9zZXJ2ZXIgPSBcCisgICAgICAgICAgICAg ICAgICAgIFNlcnZlck1vZHVsZS5nZXRfc2hhcmVkX3NlcnZlcihzZXJ2ZXIsIGdpZCkKKyAgICAg ICAgICAgICAgICBzZXJ2ZXIgPSBcCisgICAgICAgICAgICAgICAgICAgIFNlcnZlck1vZHVsZS5n ZXRfc2hhcmVkX3NlcnZlcl9wcm9wZXJ0aWVzKHNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkX3NlcnZlcikK ICAgICAgICAgICAgIG1hbmFnZXIgPSBkcml2ZXIuY29ubmVjdGlvbl9tYW5hZ2VyKHNlcnZlci5p ZCkKICAgICAgICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oKQogICAgICAgICAgICAg Y29ubmVjdGVkID0gY29ubi5jb25uZWN0ZWQoKQpAQCAtNjUzLDggKzg5MCwxMiBAQCBjbGFzcyBT ZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGxvZ2luX3JlcXVpcmVkCiAgICAgZGVm IHByb3BlcnRpZXMoc2VsZiwgZ2lkLCBzaWQpOgogICAgICAgICAiIiJSZXR1cm4gbGlzdCBvZiBh dHRyaWJ1dGVzIG9mIGEgc2VydmVyIiIiCisKKyAgICAgICAgc3NsY2VydCA9IE5vbmUKKyAgICAg ICAgc3Nsa2V5ID0gTm9uZQorICAgICAgICBzc2xyb290Y2VydCA9IE5vbmUKKyAgICAgICAgc3Ns Y3JsID0gTm9uZQogICAgICAgICBzZXJ2ZXIgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KAotICAg ICAgICAgICAgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQsCiAgICAgICAgICAgICBpZD1zaWQpLmZp cnN0KCkKIAogICAgICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToKQEAgLTY2Myw5ICs5MDQsOCBAQCBj bGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgc3VjY2Vz cz0wLAogICAgICAgICAgICAgICAgIGVycm9ybXNnPXNlbGYubm90X2ZvdW5kX2Vycm9yX21zZygp CiAgICAgICAgICAgICApCi0KKyAgICAgICAgc2VydmVyX293bmVyID0gTm9uZQogICAgICAgICBz ZyA9IFNlcnZlckdyb3VwLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAgICAgICAgIHVzZXJfaWQ9Y3Vy cmVudF91c2VyLmlkLAogICAgICAgICAgICAgaWQ9c2VydmVyLnNlcnZlcmdyb3VwX2lkCiAgICAg ICAgICkuZmlyc3QoKQogCkBAIC02NzUsNTIgKzkxNSw3NyBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oKQogICAg ICAgICBjb25uZWN0ZWQgPSBjb25uLmNvbm5lY3RlZCgpCiAKKyAgICAgICAgIyBpZiBzZXJ2ZXIu c2hhcmVkIGFuZCBub3QgY3VycmVudF91c2VyLmhhc19yb2xlKCJBZG1pbmlzdHJhdG9yIik6Cisg ICAgICAgIGlmIHNlcnZlci5zaGFyZWQgYW5kIHNlcnZlci51c2VyX2lkICE9IGN1cnJlbnRfdXNl ci5pZDoKKyAgICAgICAgICAgIHNoYXJlZF9zZXJ2ZXIsIGF1dG9fZGV0ZWN0ZWRfc2VydmVyID0g XAorICAgICAgICAgICAgICAgIFNlcnZlck1vZHVsZS5nZXRfc2hhcmVkX3NlcnZlcihzZXJ2ZXIs IGdpZCkKKyAgICAgICAgICAgIHNlcnZlciA9IFNlcnZlck1vZHVsZS5nZXRfc2hhcmVkX3NlcnZl cl9wcm9wZXJ0aWVzKHNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZF9zZXJ2ZXIpCisgICAgICAgICAgICBz ZXJ2ZXJfb3duZXIgPSBzZXJ2ZXIuc2VydmVyX293bmVyCisKICAgICAgICAgaXNfc3NsID0gVHJ1 ZSBpZiBzZXJ2ZXIuc3NsX21vZGUgaW4gc2VsZi5TU0xfTU9ERVMgZWxzZSBGYWxzZQogCi0gICAg ICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKAotICAgICAgICAgICAgcmVzcG9uc2U9ewotICAgICAg ICAgICAgICAgICdpZCc6IHNlcnZlci5pZCwKLSAgICAgICAgICAgICAgICAnbmFtZSc6IHNlcnZl ci5uYW1lLAotICAgICAgICAgICAgICAgICdob3N0Jzogc2VydmVyLmhvc3QsCi0gICAgICAgICAg ICAgICAgJ2hvc3RhZGRyJzogc2VydmVyLmhvc3RhZGRyLAotICAgICAgICAgICAgICAgICdwb3J0 Jzogc2VydmVyLnBvcnQsCi0gICAgICAgICAgICAgICAgJ2RiJzogc2VydmVyLm1haW50ZW5hbmNl X2RiLAotICAgICAgICAgICAgICAgICd1c2VybmFtZSc6IHNlcnZlci51c2VybmFtZSwKLSAgICAg ICAgICAgICAgICAnZ2lkJzogc3RyKHNlcnZlci5zZXJ2ZXJncm91cF9pZCksCi0gICAgICAgICAg ICAgICAgJ2dyb3VwLW5hbWUnOiBzZy5uYW1lLAotICAgICAgICAgICAgICAgICdjb21tZW50Jzog c2VydmVyLmNvbW1lbnQsCi0gICAgICAgICAgICAgICAgJ3JvbGUnOiBzZXJ2ZXIucm9sZSwKLSAg ICAgICAgICAgICAgICAnY29ubmVjdGVkJzogY29ubmVjdGVkLAotICAgICAgICAgICAgICAgICd2 ZXJzaW9uJzogbWFuYWdlci52ZXIsCi0gICAgICAgICAgICAgICAgJ3NzbG1vZGUnOiBzZXJ2ZXIu c3NsX21vZGUsCi0gICAgICAgICAgICAgICAgJ3NlcnZlcl90eXBlJzogbWFuYWdlci5zZXJ2ZXJf dHlwZSBpZiBjb25uZWN0ZWQgZWxzZSAncGcnLAotICAgICAgICAgICAgICAgICdiZ2NvbG9yJzog c2VydmVyLmJnY29sb3IsCi0gICAgICAgICAgICAgICAgJ2ZnY29sb3InOiBzZXJ2ZXIuZmdjb2xv ciwKLSAgICAgICAgICAgICAgICAnZGJfcmVzJzogc2VydmVyLmRiX3Jlcy5zcGxpdCgnLCcpIGlm IHNlcnZlci5kYl9yZXMgZWxzZSBOb25lLAotICAgICAgICAgICAgICAgICdwYXNzZmlsZSc6IHNl cnZlci5wYXNzZmlsZSBpZiBzZXJ2ZXIucGFzc2ZpbGUgZWxzZSBOb25lLAotICAgICAgICAgICAg ICAgICdzc2xjZXJ0Jzogc2VydmVyLnNzbGNlcnQgaWYgaXNfc3NsIGVsc2UgTm9uZSwKLSAgICAg ICAgICAgICAgICAnc3Nsa2V5Jzogc2VydmVyLnNzbGtleSBpZiBpc19zc2wgZWxzZSBOb25lLAot ICAgICAgICAgICAgICAgICdzc2xyb290Y2VydCc6IHNlcnZlci5zc2xyb290Y2VydCBpZiBpc19z c2wgZWxzZSBOb25lLAotICAgICAgICAgICAgICAgICdzc2xjcmwnOiBzZXJ2ZXIuc3NsY3JsIGlm IGlzX3NzbCBlbHNlIE5vbmUsCi0gICAgICAgICAgICAgICAgJ3NzbGNvbXByZXNzaW9uJzogVHJ1 ZSBpZiBpc19zc2wgYW5kIHNlcnZlci5zc2xjb21wcmVzc2lvbgotICAgICAgICAgICAgICAgIGVs c2UgRmFsc2UsCi0gICAgICAgICAgICAgICAgJ3NlcnZpY2UnOiBzZXJ2ZXIuc2VydmljZSBpZiBz ZXJ2ZXIuc2VydmljZSBlbHNlIE5vbmUsCi0gICAgICAgICAgICAgICAgJ2Nvbm5lY3RfdGltZW91 dCc6Ci0gICAgICAgICAgICAgICAgICAgIHNlcnZlci5jb25uZWN0X3RpbWVvdXQgaWYgc2VydmVy LmNvbm5lY3RfdGltZW91dCBlbHNlIDAsCi0gICAgICAgICAgICAgICAgJ3VzZV9zc2hfdHVubmVs Jzogc2VydmVyLnVzZV9zc2hfdHVubmVsCi0gICAgICAgICAgICAgICAgaWYgc2VydmVyLnVzZV9z c2hfdHVubmVsIGVsc2UgMCwKLSAgICAgICAgICAgICAgICAndHVubmVsX2hvc3QnOiBzZXJ2ZXIu dHVubmVsX2hvc3QgaWYgc2VydmVyLnR1bm5lbF9ob3N0Ci0gICAgICAgICAgICAgICAgZWxzZSBO b25lLAotICAgICAgICAgICAgICAgICd0dW5uZWxfcG9ydCc6IHNlcnZlci50dW5uZWxfcG9ydCBp ZiBzZXJ2ZXIudHVubmVsX3BvcnQKLSAgICAgICAgICAgICAgICBlbHNlIDIyLAotICAgICAgICAg ICAgICAgICd0dW5uZWxfdXNlcm5hbWUnOiBzZXJ2ZXIudHVubmVsX3VzZXJuYW1lCi0gICAgICAg ICAgICAgICAgaWYgc2VydmVyLnR1bm5lbF91c2VybmFtZSBlbHNlIE5vbmUsCi0gICAgICAgICAg ICAgICAgJ3R1bm5lbF9pZGVudGl0eV9maWxlJzogc2VydmVyLnR1bm5lbF9pZGVudGl0eV9maWxl Ci0gICAgICAgICAgICAgICAgaWYgc2VydmVyLnR1bm5lbF9pZGVudGl0eV9maWxlIGVsc2UgTm9u ZSwKLSAgICAgICAgICAgICAgICAndHVubmVsX2F1dGhlbnRpY2F0aW9uJzogc2VydmVyLnR1bm5l bF9hdXRoZW50aWNhdGlvbgotICAgICAgICAgICAgICAgIGlmIHNlcnZlci50dW5uZWxfYXV0aGVu dGljYXRpb24gZWxzZSAwCi0gICAgICAgICAgICB9Ci0gICAgICAgICkKKyAgICAgICAgaWYgaXNf c3NsOgorICAgICAgICAgICAgc3NsY2VydCA9IHNlcnZlci5zc2xjZXJ0CisgICAgICAgICAgICBz c2xrZXkgPSBzZXJ2ZXIuc3Nsa2V5CisgICAgICAgICAgICBzc2xyb290Y2VydCA9IHNlcnZlci5z c2xyb290Y2VydAorICAgICAgICAgICAgc3NsY3JsID0gc2VydmVyLnNzbGNybAorCisgICAgICAg IHVzZV9zc2hfdHVubmVsID0gMAorICAgICAgICB0dW5uZWxfaG9zdCA9IE5vbmUKKyAgICAgICAg dHVubmVsX3BvcnQgPSAyMgorICAgICAgICB0dW5uZWxfdXNlcm5hbWUgPSBOb25lCisgICAgICAg IHR1bm5lbF9hdXRoZW50aWNhdGlvbiA9IDAKKworICAgICAgICBpZiBzZXJ2ZXIudXNlX3NzaF90 dW5uZWw6CisgICAgICAgICAgICB1c2Vfc3NoX3R1bm5lbCA9IHNlcnZlci51c2Vfc3NoX3R1bm5l bAorICAgICAgICAgICAgdHVubmVsX2hvc3QgPSBzZXJ2ZXIudHVubmVsX2hvc3QKKyAgICAgICAg ICAgIHR1bm5lbF9wb3J0ID0gc2VydmVyLnR1bm5lbF9wb3J0CisgICAgICAgICAgICB0dW5uZWxf dXNlcm5hbWUgPSBzZXJ2ZXIudHVubmVsX3VzZXJuYW1lCisgICAgICAgICAgICB0dW5uZWxfYXV0 aGVudGljYXRpb24gPSBzZXJ2ZXIudHVubmVsX2F1dGhlbnRpY2F0aW9uCisKKyAgICAgICAgcmVz cG9uc2UgPSB7CisgICAgICAgICAgICAnaWQnOiBzZXJ2ZXIuaWQsCisgICAgICAgICAgICAnbmFt ZSc6IHNlcnZlci5uYW1lLAorICAgICAgICAgICAgJ3NlcnZlcl9vd25lcic6IHNlcnZlcl9vd25l ciwKKyAgICAgICAgICAgICd1c2VyX2lkJzogc2VydmVyLnVzZXJfaWQsCisgICAgICAgICAgICAn aG9zdCc6IHNlcnZlci5ob3N0LAorICAgICAgICAgICAgJ2hvc3RhZGRyJzogc2VydmVyLmhvc3Rh ZGRyLAorICAgICAgICAgICAgJ3BvcnQnOiBzZXJ2ZXIucG9ydCwKKyAgICAgICAgICAgICdkYic6 IHNlcnZlci5tYWludGVuYW5jZV9kYiwKKyAgICAgICAgICAgICdzaGFyZWQnOiBzZXJ2ZXIuc2hh cmVkIGlmIGNvbmZpZy5TRVJWRVJfTU9ERSBlbHNlIE5vbmUsCisgICAgICAgICAgICAndXNlcm5h bWUnOiBzZXJ2ZXIudXNlcm5hbWUsCisgICAgICAgICAgICAnZ2lkJzogc3RyKHNlcnZlci5zZXJ2 ZXJncm91cF9pZCksCisgICAgICAgICAgICAnZ3JvdXAtbmFtZSc6IHNnLm5hbWUsCisgICAgICAg ICAgICAnY29tbWVudCc6IHNlcnZlci5jb21tZW50LAorICAgICAgICAgICAgJ3JvbGUnOiBzZXJ2 ZXIucm9sZSwKKyAgICAgICAgICAgICdjb25uZWN0ZWQnOiBjb25uZWN0ZWQsCisgICAgICAgICAg ICAndmVyc2lvbic6IG1hbmFnZXIudmVyLAorICAgICAgICAgICAgJ3NzbG1vZGUnOiBzZXJ2ZXIu c3NsX21vZGUsCisgICAgICAgICAgICAnc2VydmVyX3R5cGUnOiBtYW5hZ2VyLnNlcnZlcl90eXBl IGlmIGNvbm5lY3RlZCBlbHNlICdwZycsCisgICAgICAgICAgICAnYmdjb2xvcic6IHNlcnZlci5i Z2NvbG9yLAorICAgICAgICAgICAgJ2ZnY29sb3InOiBzZXJ2ZXIuZmdjb2xvciwKKyAgICAgICAg ICAgICdkYl9yZXMnOiBzZXJ2ZXIuZGJfcmVzLnNwbGl0KCcsJykgaWYgc2VydmVyLmRiX3JlcyBl bHNlIE5vbmUsCisgICAgICAgICAgICAncGFzc2ZpbGUnOiBzZXJ2ZXIucGFzc2ZpbGUgaWYgc2Vy dmVyLnBhc3NmaWxlIGVsc2UgTm9uZSwKKyAgICAgICAgICAgICdzc2xjZXJ0Jzogc3NsY2VydCwK KyAgICAgICAgICAgICdzc2xrZXknOiBzc2xrZXksCisgICAgICAgICAgICAnc3Nscm9vdGNlcnQn OiBzc2xyb290Y2VydCwKKyAgICAgICAgICAgICdzc2xjcmwnOiBzc2xjcmwsCisgICAgICAgICAg ICAnc3NsY29tcHJlc3Npb24nOiBUcnVlIGlmIGlzX3NzbCBhbmQgc2VydmVyLnNzbGNvbXByZXNz aW9uCisgICAgICAgICAgICBlbHNlIEZhbHNlLAorICAgICAgICAgICAgJ3NlcnZpY2UnOiBzZXJ2 ZXIuc2VydmljZSBpZiBzZXJ2ZXIuc2VydmljZSBlbHNlIE5vbmUsCisgICAgICAgICAgICAnY29u bmVjdF90aW1lb3V0JzoKKyAgICAgICAgICAgICAgICBzZXJ2ZXIuY29ubmVjdF90aW1lb3V0IGlm IHNlcnZlci5jb25uZWN0X3RpbWVvdXQgZWxzZSAwLAorICAgICAgICAgICAgJ3VzZV9zc2hfdHVu bmVsJzogdXNlX3NzaF90dW5uZWwsCisgICAgICAgICAgICAndHVubmVsX2hvc3QnOiB0dW5uZWxf aG9zdCwKKyAgICAgICAgICAgICd0dW5uZWxfcG9ydCc6IHR1bm5lbF9wb3J0LAorICAgICAgICAg ICAgJ3R1bm5lbF91c2VybmFtZSc6IHR1bm5lbF91c2VybmFtZSwKKyAgICAgICAgICAgICd0dW5u ZWxfaWRlbnRpdHlfZmlsZSc6IHNlcnZlci50dW5uZWxfaWRlbnRpdHlfZmlsZQorICAgICAgICAg ICAgaWYgc2VydmVyLnR1bm5lbF9pZGVudGl0eV9maWxlIGVsc2UgTm9uZSwKKyAgICAgICAgICAg ICd0dW5uZWxfYXV0aGVudGljYXRpb24nOiB0dW5uZWxfYXV0aGVudGljYXRpb24KKyAgICAgICAg fQorCisgICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKHJlc3BvbnNlKQogCiAgICAgQGxvZ2lu X3JlcXVpcmVkCiAgICAgZGVmIGNyZWF0ZShzZWxmLCBnaWQpOgpAQCAtODAyLDExICsxMDY3LDEx IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICB0 dW5uZWxfcG9ydD1kYXRhLmdldCgndHVubmVsX3BvcnQnLCAyMiksCiAgICAgICAgICAgICAgICAg dHVubmVsX3VzZXJuYW1lPWRhdGEuZ2V0KCd0dW5uZWxfdXNlcm5hbWUnLCBOb25lKSwKICAgICAg ICAgICAgICAgICB0dW5uZWxfYXV0aGVudGljYXRpb249ZGF0YS5nZXQoJ3R1bm5lbF9hdXRoZW50 aWNhdGlvbicsIDApLAotICAgICAgICAgICAgICAgIHR1bm5lbF9pZGVudGl0eV9maWxlPWRhdGEu Z2V0KCd0dW5uZWxfaWRlbnRpdHlfZmlsZScsIE5vbmUpCisgICAgICAgICAgICAgICAgdHVubmVs X2lkZW50aXR5X2ZpbGU9ZGF0YS5nZXQoJ3R1bm5lbF9pZGVudGl0eV9maWxlJywgTm9uZSksCisg ICAgICAgICAgICAgICAgc2hhcmVkPWRhdGEuZ2V0KCdzaGFyZWQnLCBOb25lKQogICAgICAgICAg ICAgKQogICAgICAgICAgICAgZGIuc2Vzc2lvbi5hZGQoc2VydmVyKQogICAgICAgICAgICAgZGIu c2Vzc2lvbi5jb21taXQoKQotCiAgICAgICAgICAgICBjb25uZWN0ZWQgPSBGYWxzZQogICAgICAg ICAgICAgdXNlciA9IE5vbmUKICAgICAgICAgICAgIG1hbmFnZXIgPSBOb25lCkBAIC0xMDA2LDkg KzEyNzEsMjMgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogCiAgICAgICAg ICMgRmV0Y2ggU2VydmVyIERldGFpbHMKICAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5LmZp bHRlcl9ieShpZD1zaWQpLmZpcnN0KCkKKyAgICAgICAgc2hhcmVkX3NlcnZlciA9IE5vbmUKKyAg ICAgICAgaWYgc2VydmVyLnNoYXJlZCBhbmQgc2VydmVyLnVzZXJfaWQgIT0gY3VycmVudF91c2Vy LmlkOgorICAgICAgICAgICAgc2hhcmVkX3NlcnZlciwgYXV0b19kZXRlY3RlZF9zZXJ2ZXIgPSBc CisgICAgICAgICAgICAgICAgU2VydmVyTW9kdWxlLmdldF9zaGFyZWRfc2VydmVyKHNlcnZlciwg Z2lkKQorICAgICAgICAgICAgc2VydmVyID0gU2VydmVyTW9kdWxlLmdldF9zaGFyZWRfc2VydmVy X3Byb3BlcnRpZXMoc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkX3NlcnZlcikKICAgICAgICAgaWYgc2Vy dmVyIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gYmFkX3JlcXVlc3Qoc2VsZi5ub3RfZm91 bmRfZXJyb3JfbXNnKCkpCiAKKyAgICAgICAgIyBSZXR1cm4gaWYgdXNlcm5hbWUgaXMgYmxhbmsK KyAgICAgICAgaWYgc2VydmVyLnVzZXJuYW1lIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4g bWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAsCisgICAgICAg ICAgICAgICAgc3VjY2Vzcz0wLAorICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoCisg ICAgICAgICAgICAgICAgICAgIHUiUGxlYXNlIGVudGVyIHRoZSBzZXJ2ZXIgZGV0YWlscyB0byBj b25uZWN0IikKKyAgICAgICAgICAgICkKICAgICAgICAgaWYgY3VycmVudF91c2VyIGFuZCBoYXNh dHRyKGN1cnJlbnRfdXNlciwgJ2lkJyk6CiAgICAgICAgICAgICAjIEZldGNoIFVzZXIgRGV0YWls cy4KICAgICAgICAgICAgIHVzZXIgPSBVc2VyLnF1ZXJ5LmZpbHRlcl9ieShpZD1jdXJyZW50X3Vz ZXIuaWQpLmZpcnN0KCkKQEAgLTEwNjMsNyArMTM0Miw2IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdD aGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAg ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5leGNlcHRpb24oZSkKICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIo ZSkpCi0KICAgICAgICAgaWYgJ3Bhc3N3b3JkJyBub3QgaW4gZGF0YToKICAgICAgICAgICAgIGNv bm5fcGFzc3dkID0gZ2V0YXR0cihjb25uLCAncGFzc3dvcmQnLCBOb25lKQogICAgICAgICAgICAg aWYgY29ubl9wYXNzd2QgaXMgTm9uZSBhbmQgbm90IHNlcnZlci5zYXZlX3Bhc3N3b3JkIGFuZCBc CkBAIC0xMTI1LDEwICsxNDAzLDE4IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3 KToKICAgICAgICAgICAgICAgICAgICAgIyBldmVyeSB0aW1lIHVzZXIgdHJ5IHRvIGNvbm5lY3QK ICAgICAgICAgICAgICAgICAgICAgIyAxIGlzIFRydWUgaW4gU1FMaXRlIGFzIG5vIGJvb2xlYW4g dHlwZQogICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKHNlcnZlciwgJ3NhdmVfcGFzc3dvcmQn LCAxKQorICAgICAgICAgICAgICAgICAgICBpZiBzZXJ2ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNl cl9pZCAhPSBjdXJyZW50X3VzZXIuaWQ6CisgICAgICAgICAgICAgICAgICAgICAgICBzZXRhdHRy KHNoYXJlZF9zZXJ2ZXIsICdzYXZlX3Bhc3N3b3JkJywgMSkKKyAgICAgICAgICAgICAgICAgICAg ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldGF0dHIoc2VydmVyLCAnc2F2ZV9wYXNz d29yZCcsIDEpCisKICAgICAgICAgICAgICAgICAgICAgIyBTYXZlIHRoZSBlbmNyeXB0ZWQgcGFz c3dvcmQgdXNpbmcgdGhlIHVzZXIncyBsb2dpbgogICAgICAgICAgICAgICAgICAgICAjIHBhc3N3 b3JkIGtleSwgaWYgdGhlcmUgaXMgYW55IHBhc3N3b3JkIHRvIHNhdmUKICAgICAgICAgICAgICAg ICAgICAgaWYgcGFzc3dvcmQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKHNlcnZl ciwgJ3Bhc3N3b3JkJywgcGFzc3dvcmQpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZXJ2 ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIuaWQ6CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihzaGFyZWRfc2VydmVyLCAncGFzc3dvcmQnLCBw YXNzd29yZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2V0YXR0cihzZXJ2ZXIsICdwYXNzd29yZCcsIHBhc3N3b3JkKQogICAgICAg ICAgICAgICAgICAgICBkYi5zZXNzaW9uLmNvbW1pdCgpCiAgICAgICAgICAgICAgICAgZXhjZXB0 IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgICAgICAgICAjIFJlbGVhc2UgQ29ubmVjdGlv bgpAQCAtMTU2MCwyMSArMTg0NiwzOSBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmll dyk6CiAgICAgICAgIDpyZXR1cm46CiAgICAgICAgICIiIgogICAgICAgICB0cnk6Ci0gICAgICAg ICAgICBzZXJ2ZXIgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KAotICAgICAgICAgICAgICAgIHVz ZXJfaWQ9Y3VycmVudF91c2VyLmlkLCBpZD1zaWQKLSAgICAgICAgICAgICkuZmlyc3QoKQotCisg ICAgICAgICAgICBzZXJ2ZXIgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KGlkPXNpZCkuZmlyc3Qo KQorICAgICAgICAgICAgc2hhcmVkX3NlcnZlciA9IE5vbmUKICAgICAgICAgICAgIGlmIHNlcnZl ciBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAg ICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MCwKICAgICAgICAgICAgICAgICAgICAgaW5mbz1z ZWxmLm5vdF9mb3VuZF9lcnJvcl9tc2coKQogICAgICAgICAgICAgICAgICkKIAotICAgICAgICAg ICAgc2V0YXR0cihzZXJ2ZXIsICdwYXNzd29yZCcsIE5vbmUpCisgICAgICAgICAgICBpZiBzZXJ2 ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIuaWQ6CisgICAgICAg ICAgICAgICAgc2hhcmVkX3NlcnZlciA9IFNoYXJlZFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoCisg ICAgICAgICAgICAgICAgICAgIG5hbWU9c2VydmVyLm5hbWUsIHVzZXJfaWQ9Y3VycmVudF91c2Vy LmlkLAorICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJncm91cF9pZD1naWQpLmZpcnN0KCkKKwor ICAgICAgICAgICAgICAgIGlmIHNoYXJlZF9zZXJ2ZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICAgICAgICAg IHN1Y2Nlc3M9MCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm89Z2V0dGV4dCgiQ291bGQg bm90IGZpbmQgdGhlIHJlcXVpcmVkIHNlcnZlci4iKQorICAgICAgICAgICAgICAgICAgICApCisg ICAgICAgICAgICAgICAgc2VydmVyID0gU2VydmVyTW9kdWxlLiBcCisgICAgICAgICAgICAgICAg ICAgIGdldF9zaGFyZWRfc2VydmVyX3Byb3BlcnRpZXMoc2VydmVyLCBzaGFyZWRfc2VydmVyKQor CisgICAgICAgICAgICBpZiBzZXJ2ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAhPSBjdXJy ZW50X3VzZXIuaWQ6CisgICAgICAgICAgICAgICAgc2V0YXR0cihzaGFyZWRfc2VydmVyLCAnc2F2 ZV9wYXNzd29yZCcsIE5vbmUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNl dGF0dHIoc2VydmVyLCAnc2F2ZV9wYXNzd29yZCcsIE5vbmUpCisKICAgICAgICAgICAgICMgSWYg cGFzc3dvcmQgd2FzIHNhdmVkIHRoZW4gY2xlYXIgdGhlIGZsYWcgYWxzbwogICAgICAgICAgICAg IyAwIGlzIEZhbHNlIGluIFNRTGl0ZSBkYgogICAgICAgICAgICAgaWYgc2VydmVyLnNhdmVfcGFz c3dvcmQ6Ci0gICAgICAgICAgICAgICAgc2V0YXR0cihzZXJ2ZXIsICdzYXZlX3Bhc3N3b3JkJywg MCkKKyAgICAgICAgICAgICAgICBpZiBzZXJ2ZXIuc2hhcmVkIGFuZCBzZXJ2ZXIudXNlcl9pZCAh PSBjdXJyZW50X3VzZXIuaWQ6CisgICAgICAgICAgICAgICAgICAgIHNldGF0dHIoc2hhcmVkX3Nl cnZlciwgJ3NhdmVfcGFzc3dvcmQnLCAwKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAg ICAgICAgICAgICAgIHNldGF0dHIoc2VydmVyLCAnc2F2ZV9wYXNzd29yZCcsIDApCiAgICAgICAg ICAgICBkYi5zZXNzaW9uLmNvbW1pdCgpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToK ICAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5lcnJvcigKQEAgLTE1OTksMTAgKzE5MDMs NyBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIDpyZXR1cm46 CiAgICAgICAgICIiIgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZXJ2ZXIgPSBTZXJ2ZXIu cXVlcnkuZmlsdGVyX2J5KAotICAgICAgICAgICAgICAgIHVzZXJfaWQ9Y3VycmVudF91c2VyLmlk LCBpZD1zaWQKLSAgICAgICAgICAgICkuZmlyc3QoKQotCisgICAgICAgICAgICBzZXJ2ZXIgPSBT ZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KGlkPXNpZCkuZmlyc3QoKQogICAgICAgICAgICAgaWYgc2Vy dmVyIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgK ICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2ltZy9zaGFyZWRzZXJ2ZXJiYWQu c3ZnIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2lt Zy9zaGFyZWRzZXJ2ZXJiYWQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uNDQ1NTA4OWFjCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2ltZy9zaGFyZWRzZXJ2ZXJiYWQuc3ZnCkBAIC0wLDAg KzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIEdl bmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjQuMi4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBT VkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+Cis8c3ZnIHZlcnNpb249IjEuMSIgaWQ9Ikxh eWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0 dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgorCSB2aWV3Qm94PSIw IDAgMTYgMTYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDE2OyIgeG1sOnNw YWNlPSJwcmVzZXJ2ZSI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCS5zdDB7ZmlsbDojRjJG MkYyO30KKwkuc3Qxe2ZpbGw6IzlCQTVCMDt9CisJLnN0MntmaWxsOm5vbmU7c3Ryb2tlOiM5QkE1 QjA7c3Ryb2tlLXdpZHRoOjAuNzU7c3Ryb2tlLW1pdGVybGltaXQ6MTt9CisJLnN0M3tmaWxsOiNG N0Y3Rjc7fQorCS5zdDR7ZmlsbDojMzU0QTVGO30KKwkuc3Q1e2ZpbGw6bm9uZTtzdHJva2U6I0Qw MDIxQjtzdHJva2Utd2lkdGg6MS41O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9p bjpyb3VuZDt9Cis8L3N0eWxlPgorPGc+CisJPHBhdGggY2xhc3M9InN0MCIgZD0iTTYuNywyLjFo NC42YzAuNiwwLDEuMSwwLjUsMS4xLDEuMXYwLjhjMCwwLjYtMC41LDEuMS0xLjEsMS4xSDYuN2Mt MC42LDAtMS4xLTAuNS0xLjEtMS4xVjMuMgorCQlDNS42LDIuNiw2LjEsMi4xLDYuNywyLjF6Ii8+ CisJPHBhdGggY2xhc3M9InN0MSIgZD0iTTExLjMsMi41YzAuNCwwLDAuOCwwLjMsMC44LDAuOHYw LjhjMCwwLjQtMC4zLDAuOC0wLjgsMC44SDYuN0M2LjMsNC44LDYsNC41LDYsNC4xVjMuMgorCQlj MC0wLjQsMC4zLTAuNywwLjgtMC43SDExLjMgTTExLjMsMS43SDYuN2MtMC44LDAtMS41LDAuNy0x LjUsMS41djAuOGMwLDAuOCwwLjcsMS41LDEuNSwxLjVoNC42YzAuOCwwLDEuNS0wLjcsMS41LTEu NVYzLjIKKwkJQzEyLjgsMi40LDEyLjEsMS43LDExLjMsMS43TDExLjMsMS43eiIvPgorCTxsaW5l IGNsYXNzPSJzdDIiIHgxPSI4LjkiIHkxPSIzLjYiIHgyPSI2LjgiIHkyPSIzLjYiLz4KKwk8cGF0 aCBjbGFzcz0ic3QwIiBkPSJNNi43LDUuMmg0LjZjMC42LDAsMS4xLDAuNSwxLjEsMS4xdjAuOGMw LDAuNi0wLjUsMS4xLTEuMSwxLjFINi43Yy0wLjYsMC0xLjEtMC41LTEuMS0xLjFWNi4zCisJCUM1 LjYsNS43LDYuMSw1LjIsNi43LDUuMnoiLz4KKwk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTEuMyw1 LjZjMC40LDAsMC44LDAuMywwLjgsMC44djAuOGMwLDAuNC0wLjMsMC44LTAuOCwwLjhINi43QzYu Myw3LjksNiw3LjYsNiw3LjFWNi4zCisJCWMwLTAuNCwwLjMtMC43LDAuOC0wLjdIMTEuMyBNMTEu Myw0LjhINi43Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MC44YzAsMC44LDAuNywxLjUsMS41LDEu NWg0LjZjMC44LDAsMS41LTAuNywxLjUtMS41VjYuMworCQlDMTIuOCw1LjUsMTIuMSw0LjgsMTEu Myw0LjhMMTEuMyw0Ljh6Ii8+CisJPGxpbmUgY2xhc3M9InN0MiIgeDE9IjguOSIgeTE9IjYuNyIg eDI9IjYuOCIgeTI9IjYuNyIvPgorCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02LjcsOC4zaDQuNmMw LjYsMCwxLjEsMC41LDEuMSwxLjF2MC45YzAsMC42LTAuNSwxLjEtMS4xLDEuMWMwLDAsMCwwLDAs MEg2LjdjLTAuNiwwLTEuMS0wLjUtMS4xLTEuMWwwLDAKKwkJVjkuNEM1LjYsOC44LDYuMSw4LjMs Ni43LDguM0M2LjcsOC4zLDYuNyw4LjMsNi43LDguM3oiLz4KKwk8cGF0aCBjbGFzcz0ic3QxIiBk PSJNMTEuMyw4LjdjMC40LDAsMC44LDAuMywwLjgsMC44djAuOGMwLDAuNC0wLjMsMC44LTAuOCww LjhINi43QzYuMywxMSw2LDEwLjcsNiwxMC4zVjkuNEM2LDksNi4zLDguNyw2LjcsOC43CisJCUgx MS4zIE0xMS4zLDcuOUg2LjdjLTAuOCwwLTEuNSwwLjctMS41LDEuNXYwLjhjMCwwLjgsMC43LDEu NSwxLjUsMS41aDQuNmMwLjgsMCwxLjUtMC43LDEuNS0xLjVWOS40QzEyLjgsOC42LDEyLjEsNy45 LDExLjMsNy45egorCQkiLz4KKwk8bGluZSBjbGFzcz0ic3QyIiB4MT0iOC45IiB5MT0iOS44IiB4 Mj0iNi44IiB5Mj0iOS44Ii8+Cis8L2c+Cis8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMTEuNiwxMC41 Yy0wLjYsMC4zLTAuOCwwLjEtMS4xLTAuMmMtMC4xLTAuMi0wLjMtMC40LTAuNi0wLjVMNy4xLDgu NUM2LjgsOC40LDYuNCw4LjMsNi4xLDguMworCUM1LjEsOC4xLDQuMiw4LjQsMy40LDlsLTEuNCwx LjF2Mi43aDAuOXYtMC4ybDMuNywxLjhjMC40LDAuMiwwLjcsMC4zLDEuMSwwLjNjMC4zLDAsMC43 LTAuMSwxLTAuMmw2LjEtMi42CisJYzAuMy0wLjEsMC42LTAuNCwwLjctMC43YzAuMS0wLjMsMC4x LTAuNywwLTFjLTAuMy0wLjYtMS4xLTAuOS0xLjctMC42bC0wLjQsMC4yTDExLjYsMTAuNSIvPgor PHBhdGggY2xhc3M9InN0NCIgZD0iTTE1LjUsMTAuMmMtMC4zLTAuNi0xLjEtMC45LTEuNy0wLjZs LTAuNCwwLjJsLTEuOCwwLjhsMC4zLDAuOGwxLjgtMC44bDAuNC0wLjJjMC4yLTAuMSwwLjUsMCww LjYsMC4yCisJYzAuMSwwLjEsMC4xLDAuMiwwLDAuM2MwLDAuMS0wLjEsMC4yLTAuMiwwLjJsLTYu MSwyLjZjLTAuNSwwLjItMSwwLjItMS40LDBsLTQuMS0ydi0xLjJsMS0wLjhDNC41LDkuMiw1LjIs OSw2LDkuMQorCWMwLjMsMCwwLjYsMC4xLDAuOCwwLjJsMi44LDEuMmMwLjEsMCwwLjEsMC4xLDAu MiwwLjJjMC4xLDAuMSwwLjEsMC4zLDAsMC40YzAsMCwwLDAuMS0wLjEsMC4xYy0wLjEsMC4xLTAu MywwLjItMC41LDAuMWwtMi4yLTEKKwlsLTAuNCwwLjhsMi4yLDFjMC4yLDAuMSwwLjQsMC4xLDAu NSwwLjFjMC40LDAsMC43LTAuMiwxLTAuNGMwLjEtMC4xLDAuMi0wLjIsMC4yLTAuM2MwLjItMC40 LDAuMS0wLjktMC4xLTEuMgorCWMtMC4xLTAuMi0wLjMtMC40LTAuNi0wLjVMNy4xLDguNUM2Ljgs OC40LDYuNCw4LjMsNi4xLDguM0M1LjEsOC4xLDQuMiw4LjQsMy40LDlMMi45LDkuNFY5LjNjMC0w LjYtMC40LTEtMS0xSDEuNAorCWMtMC42LDAtMSwwLjQtMSwxdjQuMWMwLDAuNiwwLjQsMSwxLDFo MC41YzAuNiwwLDEtMC40LDEtMXYtMC42aDB2LTAuMmwzLjcsMS44YzAuNCwwLjIsMC43LDAuMywx LjEsMC4zYzAuMywwLDAuNy0wLjEsMS0wLjIKKwlsNi4xLTIuNmMwLjMtMC4xLDAuNi0wLjQsMC43 LTAuN0MxNS43LDEwLjksMTUuNywxMC41LDE1LjUsMTAuMnogTTEuOSwxMy40SDEuNFY5LjNoMC41 TDEuOSwxMy40eiIvPgorPGxpbmUgY2xhc3M9InN0NSIgeDE9IjEzLjgiIHkxPSIxLjMiIHgyPSIx MC44IiB5Mj0iNC4zIi8+Cis8bGluZSBjbGFzcz0ic3Q1IiB4MT0iMTMuOCIgeTE9IjQuMyIgeDI9 IjEwLjgiIHkyPSIxLjMiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2pzL3NlcnZlci5qcyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy9zZXJ2ZXIuanMKaW5kZXgg OGM0M2E1NWY3Li45MTcwZTBkNDQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy9zZXJ2ZXIuanMKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2pzL3NlcnZlci5qcwpAQCAtNTYs NyArNTYsMTIgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwogICAgICAgdHlwZTog J3NlcnZlcicsCiAgICAgICBkaWFsb2dIZWxwOiB1cmxfZm9yKCdoZWxwLnN0YXRpYycsIHsnZmls ZW5hbWUnOiAnc2VydmVyX2RpYWxvZy5odG1sJ30pLAogICAgICAgbGFiZWw6IGdldHRleHQoJ1Nl cnZlcicpLAotICAgICAgY2FuRHJvcDogdHJ1ZSwKKyAgICAgIGNhbkRyb3A6IGZ1bmN0aW9uKG5v ZGUpeworICAgICAgICB2YXIgc2VydmVyT3duZXIgPSBub2RlLnVzZXJfaWQ7CisgICAgICAgIGlm IChzZXJ2ZXJPd25lciAhPSBjdXJyZW50X3VzZXIuaWQpCisgICAgICAgICAgcmV0dXJuIGZhbHNl OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0sCiAgICAgICBkcm9wQXNSZW1vdmU6IHRy dWUsCiAgICAgICBkcm9wUHJpb3JpdHk6IDUsCiAgICAgICBoYXNTdGF0aXN0aWNzOiB0cnVlLApA QCAtNzUsMTIgKzgwLDEyIEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnNlcnZlcicsIFsKICAgICAg ICAgICBuYW1lOiAnY3JlYXRlX3NlcnZlcl9vbl9zZycsIG5vZGU6ICdzZXJ2ZXJfZ3JvdXAnLCBt b2R1bGU6IHRoaXMsCiAgICAgICAgICAgYXBwbGllczogWydvYmplY3QnLCAnY29udGV4dCddLCBj YWxsYmFjazogJ3Nob3dfb2JqX3Byb3BlcnRpZXMnLAogICAgICAgICAgIGNhdGVnb3J5OiAnY3Jl YXRlJywgcHJpb3JpdHk6IDEsIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2ZXIuLi4nKSwKLSAgICAgICAg ICBkYXRhOiB7YWN0aW9uOiAnY3JlYXRlJ30sIGljb246ICd3Y1RhYkljb24gaWNvbi1zZXJ2ZXIn LAorICAgICAgICAgIGRhdGE6IHthY3Rpb246ICdjcmVhdGUnfSwgaWNvbjogJ3djVGFiSWNvbiBp Y29uLXNlcnZlcicsIGVuYWJsZTogJ2NhbkNyZWF0ZScsCiAgICAgICAgIH0sewogICAgICAgICAg IG5hbWU6ICdjcmVhdGVfc2VydmVyJywgbm9kZTogJ3NlcnZlcicsIG1vZHVsZTogdGhpcywKICAg ICAgICAgICBhcHBsaWVzOiBbJ29iamVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAnc2hvd19v YmpfcHJvcGVydGllcycsCiAgICAgICAgICAgY2F0ZWdvcnk6ICdjcmVhdGUnLCBwcmlvcml0eTog MywgbGFiZWw6IGdldHRleHQoJ1NlcnZlci4uLicpLAotICAgICAgICAgIGRhdGE6IHthY3Rpb246 ICdjcmVhdGUnfSwgaWNvbjogJ3djVGFiSWNvbiBpY29uLXNlcnZlcicsCisgICAgICAgICAgZGF0 YToge2FjdGlvbjogJ2NyZWF0ZSd9LCBpY29uOiAnd2NUYWJJY29uIGljb24tc2VydmVyJywgZW5h YmxlOiAnY2FuQ3JlYXRlJywKICAgICAgICAgfSx7CiAgICAgICAgICAgbmFtZTogJ2Nvbm5lY3Rf c2VydmVyJywgbm9kZTogJ3NlcnZlcicsIG1vZHVsZTogdGhpcywKICAgICAgICAgICBhcHBsaWVz OiBbJ29iamVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAnY29ubmVjdF9zZXJ2ZXInLApAQCAt MTUwLDYgKzE1NSwxMyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBbCiAgICAgICBp c19ub3RfY29ubmVjdGVkOiBmdW5jdGlvbihub2RlKSB7CiAgICAgICAgIHJldHVybiAobm9kZSAm JiBub2RlLmNvbm5lY3RlZCAhPSB0cnVlKTsKICAgICAgIH0sCisgICAgICBjYW5DcmVhdGU6IGZ1 bmN0aW9uKG5vZGUpeworICAgICAgICB2YXIgc2VydmVyT3duZXIgPSBub2RlLnVzZXJfaWQ7Cisg ICAgICAgIGlmIChzZXJ2ZXJPd25lciA9PSBjdXJyZW50X3VzZXIuaWQgfHwgXy5pc1VuZGVmaW5l ZChzZXJ2ZXJPd25lcikpCisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBm YWxzZTsKKworICAgICAgfSwKICAgICAgIGlzX2Nvbm5lY3RlZDogZnVuY3Rpb24obm9kZSkgewog ICAgICAgICByZXR1cm4gKG5vZGUgJiYgbm9kZS5jb25uZWN0ZWQgPT0gdHJ1ZSk7CiAgICAgICB9 LApAQCAtMjI2LDI4ICsyMzgsMjUgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwog ICAgICAgICAgICAgICAgICAgICBkID0gdC5pdGVtRGF0YShpKTsKICAgICAgICAgICAgICAgICAg ICAgdC5yZW1vdmVJY29uKGkpOwogICAgICAgICAgICAgICAgICAgICBkLmNvbm5lY3RlZCA9IGZh bHNlOwotICAgICAgICAgICAgICAgICAgICBkLmljb24gPSAnaWNvbi1zZXJ2ZXItbm90LWNvbm5l Y3RlZCc7CisgICAgICAgICAgICAgICAgICAgIGlmIChkLnNoYXJlZCl7CisgICAgICAgICAgICAg ICAgICAgICAgZC5pY29uID0gJ2ljb24tc2hhcmVkLXNlcnZlci1ub3QtY29ubmVjdGVkJzsKKyAg ICAgICAgICAgICAgICAgICAgfWVsc2V7CisgICAgICAgICAgICAgICAgICAgICAgZC5pY29uID0g J2ljb24tc2VydmVyLW5vdC1jb25uZWN0ZWQnOworICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgIHQuYWRkSWNvbihpLCB7aWNvbjogZC5pY29ufSk7CiAgICAgICAgICAg ICAgICAgICAgIG9iai5jYWxsYmFja3MucmVmcmVzaC5hcHBseShvYmosIFtudWxsLCBpXSk7CiAg ICAgICAgICAgICAgICAgICAgIGlmIChwZ0Jyb3dzZXIuc2VydmVySW5mbyAmJiBkLl9pZCBpbiBw Z0Jyb3dzZXIuc2VydmVySW5mbykgewogICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBwZ0Jy b3dzZXIuc2VydmVySW5mb1tkLl9pZF07CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgICAgICAgICAgcGdCcm93c2VyLmVuYWJsZV9kaXNhYmxlX21lbnVzKGkpOwotICAgICAgICAg ICAgICAgICAgICAvLyBUcmlnZ2VyIHNlcnZlciBkaXNjb25uZWN0IGV2ZW50Ci0gICAgICAgICAg ICAgICAgICAgIHBnQnJvd3Nlci5FdmVudHMudHJpZ2dlcigKLSAgICAgICAgICAgICAgICAgICAg ICAncGdhZG1pbjpzZXJ2ZXI6ZGlzY29ubmVjdCcsCi0gICAgICAgICAgICAgICAgICAgICAge2l0 ZW06IGksIGRhdGE6IGR9LCBmYWxzZQotICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICAg ICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg IHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgQWxlcnRpZnkuZXJyb3IocmVzLmVycm9ybXNn KTsKLSAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAg ICAgIGNvbnNvbGUud2FybihlLnN0YWNrIHx8IGUpOworICAgICAgICAgICAgICAgICAgICBlbHNl IHsKKyAgICAgICAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAgICAg QWxlcnRpZnkuZXJyb3IocmVzLmVycm9ybXNnKTsKKyAgICAgICAgICAgICAgICAgICAgICB9IGNh dGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oZS5zdGFjayB8 fCBlKTsKKyAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgdC51 bmxvYWQoaSk7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgdC51 bmxvYWQoaSk7Ci0gICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSkKKyAgICAg ICAgICAgICAgICAgIH19KQogICAgICAgICAgICAgICAgIC5mYWlsKGZ1bmN0aW9uKHhociwgc3Rh dHVzLCBlcnJvcikgewogICAgICAgICAgICAgICAgICAgQWxlcnRpZnkucGdSZXNwRXJyb3JOb3Rp ZnkoeGhyLCBlcnJvcik7CiAgICAgICAgICAgICAgICAgICB0LnVubG9hZChpKTsKQEAgLTczNSw2 ICs3NDQsNyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBbCiAgICAgICAgIC8vIERl ZmF1bHQgdmFsdWVzIQogICAgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykg ewogICAgICAgICAgIHZhciBpc05ldyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKKyAgICAgICAg ICBjb25zb2xlLndhcm4oJ3dhcm4nKTsKIAogICAgICAgICAgIGlmIChpc05ldykgewogICAgICAg ICAgICAgdGhpcy5zZXQoeydnaWQnOiBhcmdzLm5vZGVfaW5mb1snc2VydmVyX2dyb3VwJ10uX2lk fSk7CkBAIC03NDUsMTIgKzc1NSwxNyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBb CiAgICAgICAgICAgaWQ6ICdpZCcsIGxhYmVsOiBnZXR0ZXh0KCdJRCcpLCB0eXBlOiAnaW50Jywg bW9kZTogWydwcm9wZXJ0aWVzJ10sCiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnbmFtZScs IGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIHR5cGU6ICd0ZXh0JywKLSAgICAgICAgICBtb2RlOiBb J3Byb3BlcnRpZXMnLCAnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAgfSx7CisgICAgICAgICAg bW9kZTogWydwcm9wZXJ0aWVzJywgJ2VkaXQnLCAnY3JlYXRlJ10sIGRpc2FibGVkOiAnaXNTaGFy ZWQnLAorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgaWQ6ICdnaWQnLCBsYWJlbDog Z2V0dGV4dCgnU2VydmVyIGdyb3VwJyksIHR5cGU6ICdpbnQnLAogICAgICAgICAgIGNvbnRyb2w6 ICdub2RlLWxpc3QtYnktaWQnLCBub2RlOiAnc2VydmVyX2dyb3VwJywKLSAgICAgICAgICBtb2Rl OiBbJ2NyZWF0ZScsICdlZGl0J10sIHNlbGVjdDI6IHthbGxvd0NsZWFyOiBmYWxzZX0sCi0gICAg ICAgIH0seworICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwgc2VsZWN0Mjoge2Fs bG93Q2xlYXI6IGZhbHNlfSwgdmlzaWJsZTogJ2lzVmlzaWJsZScsCisgICAgICAgIH0sCisgICAg ICAgIHsKKyAgICAgICAgICBpZDogJ3NlcnZlcl9vd25lcicsIGxhYmVsOiBnZXR0ZXh0KCdTaGFy ZWQgU2VydmVyIE93bmVyJyksIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCisg ICAgICAgIH0sCisgICAgICAgIHsKICAgICAgICAgICBpZDogJ3NlcnZlcl90eXBlJywgbGFiZWw6 IGdldHRleHQoJ1NlcnZlciB0eXBlJyksIHR5cGU6ICdvcHRpb25zJywKICAgICAgICAgICBtb2Rl OiBbJ3Byb3BlcnRpZXMnXSwgdmlzaWJsZTogJ2lzQ29ubmVjdGVkJywKICAgICAgICAgICAnb3B0 aW9ucyc6IHN1cHBvcnRlZF9zZXJ2ZXJzLApAQCAtNzczLDExICs3ODgsMjcgQEAgZGVmaW5lKCdw Z2FkbWluLm5vZGUuc2VydmVyJywgWwogICAgICAgICAgIGlkOiAnY29ubmVjdF9ub3cnLCBjb250 cm9sTGFiZWw6IGdldHRleHQoJ0Nvbm5lY3Qgbm93PycpLCB0eXBlOiAnY2hlY2tib3gnLAogICAg ICAgICAgIGdyb3VwOiBudWxsLCBtb2RlOiBbJ2NyZWF0ZSddLAogICAgICAgICB9LHsKKyAgICAg ICAgICBpZDogJ3NoYXJlZCcsIGxhYmVsOiBnZXR0ZXh0KCdTaGFyZWQgd2l0aCBhbGw/JyksIHR5 cGU6ICdzd2l0Y2gnLAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAn ZWRpdCddLCAnb3B0aW9ucyc6IHsnc2l6ZSc6ICdtaW5pJ30sCisgICAgICAgICAgcmVhZG9ubHk6 IGZ1bmN0aW9uKG1vZGVsKXsKKyAgICAgICAgICAgIHZhciBzZXJ2ZXJPd25lciA9IG1vZGVsLmF0 dHJpYnV0ZXMudXNlcl9pZDsKKyAgICAgICAgICAgIGlmICghbW9kZWwuaXNOZXcoKSAmJiBzZXJ2 ZXJPd25lciAhPSBjdXJyZW50X3VzZXIuaWQpeworICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICB9LHZp c2libGU6IGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBpZiAoY3VycmVudF91c2VyLmlzX2FkbWlu ICYmIHBnQWRtaW4uc2VydmVyX21vZGUgPT0gJ1RydWUnKQorICAgICAgICAgICAgICByZXR1cm4g dHJ1ZTsKKworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0sCisgICAgICAg IH0sCisgICAgICAgIHsKICAgICAgICAgICBpZDogJ2NvbW1lbnQnLCBsYWJlbDogZ2V0dGV4dCgn Q29tbWVudHMnKSwgdHlwZTogJ211bHRpbGluZScsIGdyb3VwOiBudWxsLAogICAgICAgICAgIG1v ZGU6IFsncHJvcGVydGllcycsICdlZGl0JywgJ2NyZWF0ZSddLAogICAgICAgICB9LHsKICAgICAg ICAgICBpZDogJ2hvc3QnLCBsYWJlbDogZ2V0dGV4dCgnSG9zdCBuYW1lL2FkZHJlc3MnKSwgdHlw ZTogJ3RleHQnLCBncm91cDogZ2V0dGV4dCgnQ29ubmVjdGlvbicpLAotICAgICAgICAgIG1vZGU6 IFsncHJvcGVydGllcycsICdlZGl0JywgJ2NyZWF0ZSddLAorICAgICAgICAgIG1vZGU6IFsncHJv cGVydGllcycsICdlZGl0JywgJ2NyZWF0ZSddLGRpc2FibGVkOiAnaXNTaGFyZWQnLAogICAgICAg ICAgIGNvbnRyb2w6IEJhY2tmb3JtLklucHV0Q29udHJvbC5leHRlbmQoewogICAgICAgICAgICAg b25DaGFuZ2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICBCYWNrZm9ybS5JbnB1dENvbnRy b2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CkBAIC03OTgsNyAr ODI5LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwogICAgICAgICAgIH0pLAog ICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ3BvcnQnLCBsYWJlbDogZ2V0dGV4dCgnUG9ydCcp LCB0eXBlOiAnaW50JywgZ3JvdXA6IGdldHRleHQoJ0Nvbm5lY3Rpb24nKSwKLSAgICAgICAgICBt b2RlOiBbJ3Byb3BlcnRpZXMnLCAnZWRpdCcsICdjcmVhdGUnXSwgbWluOiAxLCBtYXg6IDY1NTM1 LAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdlZGl0JywgJ2NyZWF0ZSddLCBtaW46 IDEsIG1heDogNjU1MzUsIGRpc2FibGVkOiAnaXNTaGFyZWQnLAogICAgICAgICAgIGNvbnRyb2w6 IEJhY2tmb3JtLklucHV0Q29udHJvbC5leHRlbmQoewogICAgICAgICAgICAgb25DaGFuZ2U6IGZ1 bmN0aW9uKCkgewogICAgICAgICAgICAgICBCYWNrZm9ybS5JbnB1dENvbnRyb2wucHJvdG90eXBl Lm9uQ2hhbmdlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CkBAIC04MTksNyArODUwLDcgQEAgZGVm aW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwogICAgICAgICAgIH0pLAogICAgICAgICB9LHsK ICAgICAgICAgICBpZDogJ2RiJywgbGFiZWw6IGdldHRleHQoJ01haW50ZW5hbmNlIGRhdGFiYXNl JyksIHR5cGU6ICd0ZXh0JywgZ3JvdXA6IGdldHRleHQoJ0Nvbm5lY3Rpb24nKSwKLSAgICAgICAg ICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnZWRpdCcsICdjcmVhdGUnXSwgcmVhZG9ubHk6ICdpc0Nv bm5lY3RlZCcsCisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2VkaXQnLCAnY3JlYXRl J10sIHJlYWRvbmx5OiAnaXNDb25uZWN0ZWQnLGRpc2FibGVkOiAnaXNTaGFyZWQnLAogICAgICAg ICB9LHsKICAgICAgICAgICBpZDogJ3VzZXJuYW1lJywgbGFiZWw6IGdldHRleHQoJ1VzZXJuYW1l JyksIHR5cGU6ICd0ZXh0JywgZ3JvdXA6IGdldHRleHQoJ0Nvbm5lY3Rpb24nKSwKICAgICAgICAg ICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnZWRpdCcsICdjcmVhdGUnXSwKQEAgLTEwNTcsNiArMTA4 OCwyMSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBbCiAgICAgICAgICAgbW9kZTog Wydwcm9wZXJ0aWVzJywgJ2VkaXQnLCAnY3JlYXRlJ10sIHJlYWRvbmx5OiAnaXNDb25uZWN0ZWQn LAogICAgICAgICAgIG1pbjogMCwKICAgICAgICAgfV0sCisgICAgICAgIGlzVmlzaWJsZTogZnVu Y3Rpb24obW9kZWwpeworICAgICAgICAgIHZhciBzZXJ2ZXJPd25lciA9IG1vZGVsLmF0dHJpYnV0 ZXMudXNlcl9pZDsKKyAgICAgICAgICBpZiAoIW1vZGVsLmlzTmV3KCkgJiYgc2VydmVyT3duZXIg IT0gY3VycmVudF91c2VyLmlkKXsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg ICB9CisgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgfSwKKyAgICAgICAgaXNTaGFy ZWQ6IGZ1bmN0aW9uKG1vZGVsKXsKKyAgICAgICAgICB2YXIgc2VydmVyT3duZXIgPSBtb2RlbC5h dHRyaWJ1dGVzLnVzZXJfaWQ7CisgICAgICAgICAgaWYgKCFtb2RlbC5pc05ldygpICYmIHNlcnZl ck93bmVyICE9IGN1cnJlbnRfdXNlci5pZCAmJiBtb2RlbC5hdHRyaWJ1dGVzLnNoYXJlZCl7Cisg ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIGZh bHNlOworICAgICAgICB9LAogICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAg ICAgY29uc3QgdmFsaWRhdGVNb2RlbCA9IG5ldyBtb2RlbFZhbGlkYXRpb24uTW9kZWxWYWxpZGF0 aW9uKHRoaXMpOwogICAgICAgICAgIHJldHVybiB2YWxpZGF0ZU1vZGVsLnZhbGlkYXRlKCk7CkBA IC0xMTUzLDcgKzExOTksMzYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwogICAg ICAgICB9CiAgICAgICB9LAogICAgIH0pOworCiAgICAgdmFyIGNvbm5lY3RfdG9fc2VydmVyID0g ZnVuY3Rpb24ob2JqLCBkYXRhLCB0cmVlLCBpdGVtLCByZWNvbm5lY3QpIHsKKyAgICAvLyBPcGVu IHByb3BlcnRpZXMgZGlhbG9nIGluIGVkaXQgbW9kZQorICAgICAgY29uc3Qgc2VsZWN0ZWRUcmVl Tm9kZSA9IHRyZWUuc2VsZWN0ZWQoKS5sZW5ndGggPiAwID8gdHJlZS5zZWxlY3RlZCgpIDogdHJl ZS5maXJzdCgpOworICAgICAgY29uc3Qgc2VsZWN0ZWRUcmVlTm9kZURhdGEgPSBzZWxlY3RlZFRy ZWVOb2RlICYmIHNlbGVjdGVkVHJlZU5vZGUubGVuZ3RoID09PSAxID8gdHJlZS5pdGVtRGF0YShz ZWxlY3RlZFRyZWVOb2RlKSA6IHVuZGVmaW5lZDsKKyAgICAgIHZhciBzZXJ2ZXJfdXJsID0gb2Jq LmdlbmVyYXRlX3VybChpdGVtLCAnb2JqJywgZGF0YSwgdHJ1ZSk7CisgICAgICAvLyBGZXRjaCB0 aGUgdXBkYXRlZCBkYXRhCisgICAgICAkLmdldChzZXJ2ZXJfdXJsKQorICAgICAgICAuZG9uZShm dW5jdGlvbihyZXMpIHsKKyAgICAgICAgICBpZiAocmVzLnNoYXJlZCAmJiBfLmlzTnVsbChyZXMu dXNlcm5hbWUpICYmIGRhdGEudXNlcl9pZCAhPSBjdXJyZW50X3VzZXIuaWQpeworICAgICAgICAg ICAgaWYgKHNlbGVjdGVkVHJlZU5vZGVEYXRhLl90eXBlID09ICdzZXJ2ZXInKXsKKyAgICAgICAg ICAgICAgcGdBZG1pbi5Ccm93c2VyLk5vZGUuY2FsbGJhY2tzLnNob3dfb2JqX3Byb3BlcnRpZXMu Y2FsbCgKKyAgICAgICAgICAgICAgICBwZ0FkbWluLkJyb3dzZXIuTm9kZXNbdHJlZS5pdGVtRGF0 YShpdGVtKS5fdHlwZV0sIHthY3Rpb246ICdlZGl0J30KKyAgICAgICAgICAgICAgKTsKKyAgICAg ICAgICAgICAgZGF0YS5pc19jb25uZWN0aW5nID0gZmFsc2U7CisgICAgICAgICAgICAgIHRyZWUu dW5sb2FkKGl0ZW0pOworICAgICAgICAgICAgICB0cmVlLnNldElub2RlKGl0ZW0pOworICAgICAg ICAgICAgICB0cmVlLmFkZEljb24oaXRlbSwge2ljb246ICdpY29uLXNoYXJlZC1zZXJ2ZXItbm90 LWNvbm5lY3RlZCd9KTsKKyAgICAgICAgICAgIH1lbHNleworICAgICAgICAgICAgICBkYXRhLmlz X2Nvbm5lY3RpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgICAgdHJlZS51bmxvYWQoaXRlbSk7Cisg ICAgICAgICAgICAgIHRyZWUuc2V0SW5vZGUoaXRlbSk7CisgICAgICAgICAgICAgIHRyZWUuYWRk SWNvbihpdGVtLCB7aWNvbjogJ2ljb24tc2hhcmVkLXNlcnZlci1ub3QtY29ubmVjdGVkJ30pOwor ICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0p LmFsd2F5cyhmdW5jdGlvbigpeworICAgICAgICAgIGRhdGEuaXNfY29ubmVjdGluZyA9IGZhbHNl OworICAgICAgICB9KTsKKwogICAgICAgdmFyIHdhc0Nvbm5lY3RlZCA9IHJlY29ubmVjdCB8fCBk YXRhLmNvbm5lY3RlZCwKICAgICAgICAgb25GYWlsdXJlID0gZnVuY3Rpb24oCiAgICAgICAgICAg eGhyLCBzdGF0dXMsIGVycm9yLCBfbm9kZSwgX2RhdGEsIF90cmVlLCBfaXRlbSwgX3dhc0Nvbm5l Y3RlZApAQCAtMTE2NCw3ICsxMjM5LDEyIEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnNlcnZlcics IFsKICAgICAgICAgICAvLyBMZXQncyBub3QgY2hhbmdlIHRoZSBzdGF0dXMgb2YgdGhlIHRyZWUg bm9kZSBub3cuCiAgICAgICAgICAgaWYgKCFfd2FzQ29ubmVjdGVkKSB7CiAgICAgICAgICAgICB0 cmVlLnNldElub2RlKF9pdGVtKTsKLSAgICAgICAgICAgIHRyZWUuYWRkSWNvbihfaXRlbSwge2lj b246ICdpY29uLXNlcnZlci1ub3QtY29ubmVjdGVkJ30pOworICAgICAgICAgICAgaWYgKGRhdGEu c2hhcmVkKXsKKyAgICAgICAgICAgICAgdHJlZS5hZGRJY29uKF9pdGVtLCB7aWNvbjogJ2ljb24t c2hhcmVkLXNlcnZlci1ub3QtY29ubmVjdGVkJ30pOworICAgICAgICAgICAgfWVsc2V7CisgICAg ICAgICAgICAgIHRyZWUuYWRkSWNvbihfaXRlbSwge2ljb246ICdpY29uLXNlcnZlci1ub3QtY29u bmVjdGVkJ30pOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgfQogCiAgICAgICAgICAgQWxl cnRpZnkucGdOb3RpZmllcignZXJyb3InLCB4aHIsIGVycm9yLCBmdW5jdGlvbihtc2cpIHsKQEAg LTEzMjEsNyArMTQwMSwxMSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBbCiAgICAg ICAgIF90cmVlLnVubG9hZChfaXRlbSk7CiAgICAgICAgIF90cmVlLnNldElub2RlKF9pdGVtKTsK ICAgICAgICAgX3RyZWUucmVtb3ZlSWNvbihfaXRlbSk7Ci0gICAgICAgIF90cmVlLmFkZEljb24o X2l0ZW0sIHtpY29uOiAnaWNvbi1zZXJ2ZXItbm90LWNvbm5lY3RlZCd9KTsKKyAgICAgICAgaWYg KF9kYXRhLnNoYXJlZCl7CisgICAgICAgICAgX3RyZWUuYWRkSWNvbihfaXRlbSwge2ljb246ICdp Y29uLXNoYXJlZC1zZXJ2ZXItbm90LWNvbm5lY3RlZCd9KTsKKyAgICAgICAgfWVsc2V7CisgICAg ICAgICAgX3RyZWUuYWRkSWNvbihfaXRlbSwge2ljb246ICdpY29uLXNlcnZlci1ub3QtY29ubmVj dGVkJ30pOworICAgICAgICB9CiAgICAgICAgIG9iai50cmlnZ2VyKCdjb25uZWN0OmNhbmNlbGxl ZCcsIGRhdGEuX2lkLCBkYXRhLmRiLCBvYmosIF9pdGVtLCBfZGF0YSk7CiAgICAgICAgIHBnQnJv d3Nlci5FdmVudHMudHJpZ2dlcigKICAgICAgICAgICAncGdhZG1pbjpzZXJ2ZXI6Y29ubmVjdDpj YW5jZWxsZWQnLCBkYXRhLl9pZCwgX2l0ZW0sIF9kYXRhLCBvYmoKQEAgLTEzODcsNyArMTQ3MSwx MSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBbCiAgICAgICAgIH0pCiAgICAgICAg IC5mYWlsKGZ1bmN0aW9uKHhociwgc3RhdHVzLCBlcnJvcikgewogICAgICAgICAgIHRyZWUuc2V0 SW5vZGUoaXRlbSk7Ci0gICAgICAgICAgdHJlZS5hZGRJY29uKGl0ZW0sIHtpY29uOiAnaWNvbi1z ZXJ2ZXItbm90LWNvbm5lY3RlZCd9KTsKKyAgICAgICAgICBpZiAoZGF0YS5zaGFyZWQpeworICAg ICAgICAgICAgdHJlZS5hZGRJY29uKGl0ZW0sIHtpY29uOiAnaWNvbi1zaGFyZWQtc2VydmVyLW5v dC1jb25uZWN0ZWQnfSk7CisgICAgICAgICAgfWVsc2V7CisgICAgICAgICAgICB0cmVlLmFkZElj b24oaXRlbSwge2ljb246ICdpY29uLXNlcnZlci1ub3QtY29ubmVjdGVkJ30pOworICAgICAgICAg IH0KICAgICAgICAgICBBbGVydGlmeS5wZ1Jlc3BFcnJvck5vdGlmeSh4aHIsIGVycm9yKTsKICAg ICAgICAgfSk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9jc3Mvc2VydmVycy5jc3MgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvY3NzL3NlcnZlcnMuY3NzCmlu ZGV4IDkzYzQ1MzZkNC4uODI5YzI3M2FhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvY3NzL3NlcnZlcnMuY3NzCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9jc3Mvc2Vy dmVycy5jc3MKQEAgLTE1LDMgKzE1LDIxIEBACiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAg IGhlaWdodDogMS4zZW07CiB9CisKKy5pY29uLXNoYXJlZC1zZXJ2ZXItbm90LWNvbm5lY3RlZCB7 CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgne3sgdXJsX2ZvcignTk9ERS1zZXJ2ZXIuc3RhdGlj JywgZmlsZW5hbWU9J2ltZy9zaGFyZWRzZXJ2ZXJiYWQuc3ZnJykgfX0nKSAhaW1wb3J0YW50Owor ICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICBiYWNrZ3JvdW5kLXNpemU6IDIwcHgg IWltcG9ydGFudDsKKyAgYWxpZ24tY29udGVudDogY2VudGVyOworICB2ZXJ0aWNhbC1hbGlnbjog bWlkZGxlOworICBoZWlnaHQ6IDEuM2VtOworfQorCisuaWNvbi1zaGFyZWQtc2VydmVyLW5vdC1j b25uZWN0ZWQgeworICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3t7IHVybF9mb3IoJ05PREUtc2Vy dmVyLnN0YXRpYycsIGZpbGVuYW1lPSdpbWcvc2hhcmVkc2VydmVyYmFkLnN2ZycpIH19JykgIWlt cG9ydGFudDsKKyAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgYmFja2dyb3VuZC1z aXplOiAyMHB4ICFpbXBvcnRhbnQ7CisgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKKyAgdmVydGlj YWwtYWxpZ246IG1pZGRsZTsKKyAgaGVpZ2h0OiAxLjNlbTsKK30KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3NlcnZlcnNfdGVzdF9k YXRhLmpzb24gYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0 cy9zZXJ2ZXJzX3Rlc3RfZGF0YS5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uMTE3YTI5ODJiCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvc2VydmVyc190ZXN0X2RhdGEuanNvbgpAQCAtMCww ICsxLDg2MiBAQAoreworICAiYWRkX3NlcnZlciI6IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJB ZGQgc2VydmVyIHdpdGggc2VydmljZSBpZCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZl ci9vYmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJvd25lcl9z ZXJ2ZXIiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgInNlcnZpY2UiOiAi VGVzdERCIgorICAgICAgfSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAg ICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0 YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJU ZXN0IGRlZmF1bHQgc2VydmVyIHVybCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9v YmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJvd25lcl9zZXJ2 ZXIiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgIH0sCisgICAgICAibW9ja2lu Z19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVj dGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0s CisgICAgeworICAgICAgIm5hbWUiOiAiQWRkIHNlcnZlciB3aXRoIGNvbm5lY3QgdGltZW91dCIs CisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmovIiwKKyAgICAgICJpc19wb3NpdGl2 ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJjb25uZWN0X3Rp bWVvdXQiOiA1CisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAg ICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAi c3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjog IkFkZCBzZXJ2ZXIgdXNpbmcgU1NIIHR1bm5lbCB3aXRoIHBhc3N3b3JkIiwKKyAgICAgICJ1cmwi OiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVl LAorICAgICAgInNzaF90dW5uZWwiOiB0cnVlLAorICAgICAgIndpdGhfcGFzc3dvcmQiOiB0cnVl LAorICAgICAgInNhdmVfcGFzc3dvcmQiOiBmYWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7Cisg ICAgICAgICJ1c2Vfc3NoX3R1bm5lbCI6IDEsCisgICAgICAgICJ0dW5uZWxfaG9zdCI6ICIxMjcu MC4wLjEiLAorICAgICAgICAidHVubmVsX3BvcnQiOiAyMiwKKyAgICAgICAgInR1bm5lbF91c2Vy bmFtZSI6ICJ1c2VyIiwKKyAgICAgICAgInR1bm5lbF9hdXRoZW50aWNhdGlvbiI6IDEsCisgICAg ICAgICJ0dW5uZWxfaWRlbnRpdHlfZmlsZSI6ICJwa2V5X3JzYSIKKyAgICAgIH0sCisgICAgICAi bW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAg ImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQor ICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiQWRkIHNlcnZlciB1c2luZyBTU0ggdHVubmVs IHdpdGggaWRlbnRpdHkgZmlsZSIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmov IiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJzc2hfdHVubmVsIjog dHJ1ZSwKKyAgICAgICJ3aXRoX3Bhc3N3b3JkIjogZmFsc2UsCisgICAgICAic2F2ZV9wYXNzd29y ZCI6IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgInVzZV9zc2hfdHVubmVs IjogMSwKKyAgICAgICAgInR1bm5lbF9ob3N0IjogIjEyNy4wLjAuMSIsCisgICAgICAgICJ0dW5u ZWxfcG9ydCI6IDIyLAorICAgICAgICAidHVubmVsX3VzZXJuYW1lIjogInVzZXIiLAorICAgICAg ICAidHVubmVsX2F1dGhlbnRpY2F0aW9uIjogMSwKKyAgICAgICAgInR1bm5lbF9pZGVudGl0eV9m aWxlIjogInBrZXlfcnNhIgorICAgICAgfSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFs c2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAg ICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAi bmFtZSI6ICJBZGQgc2VydmVyIHVzaW5nIFNTSCB0dW5uZWwgd2l0aCBwYXNzd29yZCBhbmQgc2F2 ZWQgaXQiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNf cG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAic3NoX3R1bm5lbCI6IHRydWUsCisgICAgICAi d2l0aF9wYXNzd29yZCI6IHRydWUsCisgICAgICAic2F2ZV9wYXNzd29yZCI6IHRydWUsCisgICAg ICAidGVzdF9kYXRhIjogeworICAgICAgICAidXNlX3NzaF90dW5uZWwiOiAxLAorICAgICAgICAi dHVubmVsX2hvc3QiOiAiMTI3LjAuMC4xIiwKKyAgICAgICAgInR1bm5lbF9wb3J0IjogMjIsCisg ICAgICAgICJ0dW5uZWxfdXNlcm5hbWUiOiAidXNlciIsCisgICAgICAgICJ0dW5uZWxfYXV0aGVu dGljYXRpb24iOiAwLAorICAgICAgICAidHVubmVsX3Bhc3N3b3JkIjogIjEyMzQ1NiIKKyAgICAg IH0sCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6 IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIw MAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiQWRkIHNlcnZlciB1c2lu ZyBTU0ggdHVubmVsIHdpdGggaWRlbnRpdHkgZmlsZSBhbmQgc2F2ZSB0aGUgcGFzc3dvcmQiLAor ICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNfcG9zaXRpdmVf dGVzdCI6IHRydWUsCisgICAgICAic3NoX3R1bm5lbCI6IHRydWUsCisgICAgICAid2l0aF9wYXNz d29yZCI6IGZhbHNlLAorICAgICAgInNhdmVfcGFzc3dvcmQiOiB0cnVlLAorICAgICAgInRlc3Rf ZGF0YSI6IHsKKyAgICAgICAgInVzZV9zc2hfdHVubmVsIjogMSwKKyAgICAgICAgInR1bm5lbF9o b3N0IjogIjEyNy4wLjAuMSIsCisgICAgICAgICJ0dW5uZWxfcG9ydCI6IDIyLAorICAgICAgICAi dHVubmVsX3VzZXJuYW1lIjogInVzZXIiLAorICAgICAgICAidHVubmVsX2F1dGhlbnRpY2F0aW9u IjogMSwKKyAgICAgICAgInR1bm5lbF9pZGVudGl0eV9maWxlIjogInBrZXlfcnNhIiwKKyAgICAg ICAgInR1bm5lbF9wYXNzd29yZCI6ICIxMjM0NTYiCisgICAgICB9LAorICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3Rl ZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAor ICAgIHsKKyAgICAgICJuYW1lIjogIkFkZCBzZXJ2ZXIgd2l0aCBwYXNzd29yZCBhbmQgc2F2ZSBw YXNzd29yZCB0byB0cnVlIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAor ICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIndpdGhfcHdkIjogdHJ1ZSwK KyAgICAgICJ3aXRoX3NhdmUiOiB0cnVlLAorICAgICAgIm93bmVyX3NlcnZlciI6IHRydWUsCisg ICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAic2VydmljZSI6ICJUZXN0REIiCisgICAgICB9 LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7 fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAK KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkFkZCBzZXJ2ZXIgd2l0aCBw YXNzd29yZCBhbmQgc2F2ZSBwYXNzd29yZCB0byBmYWxzZSIsCisgICAgICAidXJsIjogIi9icm93 c2VyL3NlcnZlci9vYmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAg ICJ3aXRoX3B3ZCI6IHRydWUsCisgICAgICAid2l0aF9zYXZlIjogZmFsc2UsCisgICAgICAib3du ZXJfc2VydmVyIjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJzZXJ2aWNl IjogIlRlc3REQiIKKyAgICAgIH0sCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAor ICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAg ICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUi OiAiQWRkIHNlcnZlciB3aXRob3V0IHBhc3N3b3JkIGFuZCBzYXZlIHBhc3N3b3JkIHRvIHRydWUi LAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IHRydWUsCisgICAgICAid2l0aF9wd2QiOiBmYWxzZSwKKyAgICAgICJ3aXRoX3Nh dmUiOiB0cnVlLAorICAgICAgIm93bmVyX3NlcnZlciI6IHRydWUsCisgICAgICAidGVzdF9kYXRh IjogeworICAgICAgICAic2VydmljZSI6ICJUZXN0REIiCisgICAgICB9LAorICAgICAgIm1vY2tp bmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBl Y3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9 LAorICAgIHsKKyAgICAgICJuYW1lIjogIkFkZCBzZXJ2ZXIgd2l0aCBjb25uZWN0IG5vdyIsCisg ICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90 ZXN0IjogdHJ1ZSwKKyAgICAgICJvd25lcl9zZXJ2ZXIiOiB0cnVlLAorICAgICAgInRlc3RfZGF0 YSI6IHsKKyAgICAgICAgInNlcnZpY2UiOiAiVGVzdERCIgorICAgICAgfSwKKyAgICAgICJtb2Nr aW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhw ZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAg fQorICBdLAorICAiaXNfcGFzc3dvcmRfc2F2ZWQiOiBbCisgICAgeworICAgICAgIm5hbWUiOiAi Q29ubmVjdCBzZXJ2ZXIgd2l0aCAnc2F2ZSBwYXNzd29yZCIsCisgICAgICAidXJsIjogIi9icm93 c2VyL3NlcnZlci9jb25uZWN0LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisg ICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiaXNfcGFzc3dvcmRfc2F2ZWQiOiB0cnVlCisg ICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2Rh dGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUi OiAyMDAsCisgICAgICAgICJtZXNzYWdlIjogIlNlcnZlciBjb25uZWN0ZWQuIgorICAgICAgfQor ICAgIH0KKyAgXSwKKyAgImdldF9zZXJ2ZXIiOiBbCisgICAgeworICAgICAgIm5hbWUiOiAiR2V0 IGEgc2VydmVyIFVSTCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmovIiwKKyAg ICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjog ZmFsc2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsK KyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg ICAibmFtZSI6ICJSZWxvYWQgYSBzZXJ2ZXIgY29uZmlndXJhdGlvbiIsCisgICAgICAidXJsIjog Ii9icm93c2VyL3NlcnZlci9yZWxvYWQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1 ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjog e30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAw CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJHZXQgYSBzZXJ2ZXIgVVJM IHVzaW5nIHdyb25nIHNlcnZlciBpZCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9v YmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJpbmNvcnJlY3Rf c2VydmVyX2lkIjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAg ICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0 YXR1c19jb2RlIjogNDEwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJH ZXQgYSBzZXJ2ZXIgTm9kZSBkZXBlbmRhbnRzIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2Vy dmVyL2RlcGVuZGVudC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAg Im1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAg ICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0K KyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkdldCBhIHNlcnZlciBOb2RlIGRlcGVuZGVu Y3kiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvZGVwZW5kZW5jeS8iLAorICAgICAg ImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxz ZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAg ICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJu YW1lIjogIkdldCBhIHNlcnZlciBOb2RlIHNxbCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3Nl cnZlci9zcWwvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2Nr aW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhw ZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAg fSwKKyAgICB7CisgICAgICAibmFtZSI6ICJHZXQgYSBzZXJ2ZXIgTm9kZSBtc3FsIiwKKyAgICAg ICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL21zcWwvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0 IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19k YXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2Rl IjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJHZXQgYSBzZXJ2 ZXIgTm9kZSBzdGF0aXN0aWNzIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL3N0YXRz LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2Rh dGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAg eworICAgICAgIm5hbWUiOiAiR2V0IGEgc2VydmVyIHBncGFzcyBkZXRhaWxzIiwKKyAgICAgICJ1 cmwiOiAiL2Jyb3dzZXIvc2VydmVyL2NoZWNrX3BncGFzcy8iLAorICAgICAgImlzX3Bvc2l0aXZl X3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJt b2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVz X2NvZGUiOiA0MTAKKyAgICAgIH0KKyAgICB9CisgIF0sCisgICJnZXRfc2hhcmVkX3NlcnZlciI6 IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJHZXQgYSBzaGFyZWQgc2VydmVyIiwKKyAgICAgICJ1 cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0 cnVlLAorICAgICAgInNoYXJlZCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZh bHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7Cisg ICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg Im5hbWUiOiAiR2V0IGEgYWxsIHNoYXJlZCBzZXJ2ZXIiLAorICAgICAgInVybCI6ICIvYnJvd3Nl ci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAi c2hhcmVkIjogdHJ1ZSwKKyAgICAgICJub19zZXJ2ZXJfaWQiOiB0cnVlLAorICAgICAgIm1vY2tp bmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBl Y3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9 LAorICAgIHsKKyAgICAgICJuYW1lIjogIkdldCB0aGUgYWxsIGF2YWlsYWJsZSBzaGFyZWQgc2Vy dmVyIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlzX3Bv c2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm5vX3NlcnZlcl9pZCI6IHRydWUsCisgICAgICAi c2hhcmVkIjogdHJ1ZSwKKyAgICAgICJzZXJ2ZXJfbGlzdCI6IHRydWUsCisgICAgICAibW9ja2lu Z19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgIH0sCisgICAg ICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9 CisgICAgfQorICBdLAorICAiZ2V0X2FsbF9zZXJ2ZXIiOiBbCisgICAgeworICAgICAgIm5hbWUi OiAiR2V0IHRoZSBhbGwgY2hpbGRyZW4gb2Ygc2VydmVyIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dz ZXIvc2VydmVyL2NoaWxkcmVuLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisg ICAgICAiY2hpbGRyZW4iOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwK KyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7 CisgICAgICAgICJzdGF0dXNfY29kZSI6IDUwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAg ICAgIm5hbWUiOiAiR2V0IHRoZSBhbGwgYXZhaWxhYmxlIHNlcnZlcnMiLAorICAgICAgInVybCI6 ICIvYnJvd3Nlci9zZXJ2ZXIvbm9kZXMvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1 ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjog eworICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2Nv ZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkdldCB0aGUg YWxsIGF2YWlsYWJsZSBzZXJ2ZXIgb2Ygc2VydmVyIGdyb3VwIiwKKyAgICAgICJ1cmwiOiAiL2Jy b3dzZXIvc2VydmVyL25vZGVzLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisg ICAgICAic2VydmVyX2xpc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxz ZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEi OiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgewor ICAgICAgIm5hbWUiOiAiR2V0IHRoZSBhbGwgYXZhaWxhYmxlIHNlcnZlciBvZiBzZXJ2ZXIgZ3Jv dXAiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvbm9kZXMvIiwKKyAgICAgICJpc19w b3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJzZXJ2ZXJfbGlzdCI6IHRydWUsCisgICAgICAi c2VydmVycyI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAg Im1vY2tfZGF0YSI6IHsKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAg ICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFt ZSI6ICJHZXQgdGhlIGFsbCBjb25uZWN0ZWQgc2VydmVycyIsCisgICAgICAidXJsIjogIi9icm93 c2VyL3NlcnZlci9ub2Rlcy8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAg ICAgInNlcnZlcl9saXN0IjogdHJ1ZSwKKyAgICAgICJzZXJ2ZXJzIjogdHJ1ZSwKKyAgICAgICJj b25uZWN0ZWQiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAg ICJtb2NrX2RhdGEiOiB7CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAg ICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgImNvbm5lY3Rf c2VydmVyIjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkdldCBhIHNlcnZlciBjb25uZWN0aW9u IiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL2Nvbm5lY3QvIiwKKyAgICAgICJpc19w b3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisg ICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAg InN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6 ICJjb25uZWN0IHRvIGEgc2VydmVyIHVzaW5nIHBhc3N3b3JkIiwKKyAgICAgICJ1cmwiOiAiL2Jy b3dzZXIvc2VydmVyL2Nvbm5lY3QvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwK KyAgICAgICJjb25uZWN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2Us CisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAg ICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFt ZSI6ICJEaXNjb25uZWN0IHNlcnZlciB0ZXN0IiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2Vy dmVyL2Nvbm5lY3QvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJk aXNjb25uZWN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAg ICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0 YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJE aXNjb25uZWN0IHNlcnZlciB3aGVuIHdyb25nIHNlcnZlciBpZCBwYXNzZWQiLAorICAgICAgInVy bCI6ICIvYnJvd3Nlci9zZXJ2ZXIvY29ubmVjdC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3Qi OiB0cnVlLAorICAgICAgImRpc2Nvbm5lY3QiOiB0cnVlLAorICAgICAgIndyb25nX3NlcnZlcl9p ZCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tf ZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29k ZSI6IDQwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiUmVsb2FkIGEg c2VydmVyIGNvbmZpZ3VyYXRpb24iLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvcmVs b2FkLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19y ZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVk X2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisg ICAgeworICAgICAgIm5hbWUiOiAiRXJyb3Igd2hpbGUgY3JlYXRpbmcgc2VydmVyIHJlc3RvcmUg cG9pbnQiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvcmVzdG9yZV9wb2ludC8iLAor ICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgInJlc3RvcmVfcG9pbnQiOiB0 cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgIk5hbWVkIHJlc3RvcmUgcG9pbnQg Y3JlYXRlZCI6ICJQTEFDRV9IT0xERVIiCisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWly ZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRh IjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9CisgIF0sCisg ICJkZWxldGVfc2VydmVyIjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkRlbGV0ZSBhIHNlcnZl ciBVUkwiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNf cG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAor ICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAg ICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUi OiAiRGlzY29ubmVjdCBzZXJ2ZXIgdGVzdCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZl ci9jb25uZWN0LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9j a2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4 cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAg IH0sCisgICAgeworICAgICAgIm5hbWUiOiAiRXJyb3Igd2hpbGUgZmV0Y2hpbmcgYSBzZXJ2ZXIg dG8gZGVsZXRlIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAg ImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1 ZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBnYWRt aW4udXRpbHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRlX2Rp Y3QiLAorICAgICAgICAicmV0dXJuX3ZhbHVlIjogIihUcnVlLCAnTW9ja2VkIEludGVybmFsIFNl cnZlciBFcnJvcicpIgorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAg ICAic3RhdHVzX2NvZGUiOiA1MDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1l IjogInNlcnZlciBub3QgZm91bmQgd2hpbGUgZGVsZXRpbmcgYSBzZXJ2ZXIiLAorICAgICAgInVy bCI6ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRy dWUsCisgICAgICAiaW52YWxpZF9zZXJ2ZXJfaWQiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVx dWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9k YXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA0MTAKKyAgICAgIH0KKyAgICB9CisgIF0s CisgICJ1cGRhdGVfc2VydmVyIjogWworICAgIHsKKyAgICAgICJuYW1lIjogInVwZGF0ZSBhIHNl cnZlciBuYW1lIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAg ImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAg ImNvbW1lbnQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlkIjogIlBMQUNFX0hPTERFUiIs CisgICAgICAgICJzc2xjb21wcmVzc2lvbiI6IDEKKyAgICAgIH0sCisgICAgICAibW9ja2luZ19y ZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVk X2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisg ICAgeworICAgICAgIm5hbWUiOiAidXBkYXRlIGEgc2VydmVyIGRldGFpbHMgd2l0aG91dCBkYXRh IiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlzX3Bvc2l0 aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHt9LAorICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3Rl ZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAor ICAgIHsKKyAgICAgICJuYW1lIjogIlVwZGF0ZSBzZXJ2ZXIgd2l0aCB3cm9uZyBzZXJ2ZXIgaWQi LAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqLyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IGZhbHNlLAorICAgICAgImNsZWFyX3NhdmVfcGFzc3dvcmQiOiB0cnVlLAorICAg ICAgIndyb25nX3NlcnZlcl9pZCI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAg ICAiY29tbWVudCI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiaWQiOiAiUExBQ0VfSE9MREVS IgorICAgICAgfSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9j a19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19j b2RlIjogNDEwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJVcGRhdGUg c2VydmVyIHdpdGggaW5jb3JyZWN0IGhvc3RhZGRyIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIv c2VydmVyL29iai8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgInRl c3RfZGF0YSI6IHsKKyAgICAgICAgImNvbW1lbnQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAg Imhvc3RhZGRyIjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJkYl9yZXMiOiAiUExBQ0VfSE9M REVSIiwKKyAgICAgICAgImlkIjogIlBMQUNFX0hPTERFUiIKKyAgICAgIH0sCisgICAgICAibW9j a2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4 cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDQwMAorICAgICAgfQorICAg IH0sCisgICAgeworICAgICAgIm5hbWUiOiAidXBkYXRlIGEgc2VydmVyICwgbWFrZSBzZXJ2ZXIg c2hhcmVkIiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlz X3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm93bmVyX3NlcnZlciI6IHRydWUsCisgICAg ICAidGVzdF9kYXRhIjogeworICAgICAgICAiY29tbWVudCI6ICJQTEFDRV9IT0xERVIiLAorICAg ICAgICAiaWQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgInNoYXJlZCI6IHRydWUKKyAgICAg IH0sCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6 IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIw MAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiQ2xlYXIgc2F2ZWQgcGFz c3dvcmQiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvY2xlYXJfc2F2ZWRfcGFzc3dv cmQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJjbGVhcl9zYXZl X3Bhc3N3b3JkIjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJjb21tZW50 IjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpZCI6ICJQTEFDRV9IT0xERVIiLAorICAgICAg ICAiaXNfcGFzc3dvcmRfc2F2ZWQiOiBmYWxzZQorICAgICAgfSwKKyAgICAgICJtb2NraW5nX3Jl cXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRf ZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAg ICB7CisgICAgICAibmFtZSI6ICJDbGVhciBzYXZlZCBwYXNzd29yZCB3aXRoIHdyb25nIHNlcnZl ciBpZCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9jbGVhcl9zYXZlZF9wYXNzd29y ZC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwKKyAgICAgICJjbGVhcl9zYXZl X3Bhc3N3b3JkIjogdHJ1ZSwKKyAgICAgICJ3cm9uZ19zZXJ2ZXJfaWQiOiB0cnVlLAorICAgICAg InRlc3RfZGF0YSI6IHsKKyAgICAgICAgImNvbW1lbnQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAg ICAgImlkIjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpc19wYXNzd29yZF9zYXZlZCI6IGZh bHNlCisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJt b2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVz X2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIndhbCBy ZXBsYXkiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvd2FsX3JlcGxheS8iLAorICAg ICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAg ICAgImNvbW1lbnQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlkIjogIlBMQUNFX0hPTERF UiIsCisgICAgICAgICJpc19wYXNzd29yZF9zYXZlZCI6IGZhbHNlCisgICAgICB9LAorICAgICAg Im1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAg ICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA0MTAKKyAgICAgIH0K KyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkNsZWFyIHNzaCB0dW5uZWwgcGFzc3dvcmQi LAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvY2xlYXJfc3NodHVubmVsX3Bhc3N3b3Jk LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAiY2xlYXJfc2F2ZV9w YXNzd29yZCI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjogeworICAgICAgICAiY29tbWVudCI6 ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiaWQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAg ImlzX3Bhc3N3b3JkX3NhdmVkIjogZmFsc2UKKyAgICAgIH0sCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2Rh dGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAg eworICAgICAgIm5hbWUiOiAiQ2xlYXIgc3NoIHR1bm5lbCBwYXNzd29yZCB3aXRoIHdyb25nIHNl cnZlciBpZCIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9jbGVhcl9zc2h0dW5uZWxf cGFzc3dvcmQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAiY2xl YXJfc2F2ZV9wYXNzd29yZCI6IHRydWUsCisgICAgICAid3Jvbmdfc2VydmVyX2lkIjogdHJ1ZSwK KyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJjb21tZW50IjogIlBMQUNFX0hPTERFUiIs CisgICAgICAgICJpZCI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiaXNfcGFzc3dvcmRfc2F2 ZWQiOiBmYWxzZQorICAgICAgfSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisg ICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAg InN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6 ICJlcnJvciB3aGlsZSBjbGVhcmluZyBhIHNzaCBwYXNzd29yZCIsCisgICAgICAidXJsIjogIi9i cm93c2VyL3NlcnZlci9jbGVhcl9zc2h0dW5uZWxfcGFzc3dvcmQvIiwKKyAgICAgICJpc19wb3Np dGl2ZV90ZXN0IjogZmFsc2UsCisgICAgICAiZXJyb3JfY2xlYXJpbmdfcGFzc3dvcmQiOiB0cnVl LAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImNvbW1lbnQiOiAiUExBQ0VfSE9MREVS IiwKKyAgICAgICAgImlkIjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpc19wYXNzd29yZF9z YXZlZCI6IGZhbHNlCisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwK KyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAg ICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9CisgIF0sCisgICJ1cGRhdGVfc2hh cmVkX3NlcnZlciI6IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJ1cGRhdGUgYSBzZXJ2ZXIgbmFt ZSIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmovIiwKKyAgICAgICJpc19wb3Np dGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJjb21tZW50 IjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpZCI6ICJQTEFDRV9IT0xERVIiLAorICAgICAg ICAic3NsY29tcHJlc3Npb24iOiAxCisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQi OiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjog eworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg ICAgICJuYW1lIjogInVwZGF0ZSBhIHNlcnZlciBkZXRhaWxzIHdpdGhvdXQgZGF0YSIsCisgICAg ICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0 IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVk IjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6 IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7Cisg ICAgICAibmFtZSI6ICJVcGRhdGUgc2VydmVyIHdpdGggd3Jvbmcgc2VydmVyIGlkIiwKKyAgICAg ICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3Qi OiBmYWxzZSwKKyAgICAgICJjbGVhcl9zYXZlX3Bhc3N3b3JkIjogdHJ1ZSwKKyAgICAgICJ3cm9u Z19zZXJ2ZXJfaWQiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImNvbW1l bnQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlkIjogIlBMQUNFX0hPTERFUiIKKyAgICAg IH0sCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1vY2tfZGF0YSI6 IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDQx MAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiVXBkYXRlIHNlcnZlciB3 aXRoIGluY29ycmVjdCBob3N0YWRkciIsCisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9v YmovIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEi OiB7CisgICAgICAgICJjb21tZW50IjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJob3N0YWRk ciI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiZGJfcmVzIjogIlBMQUNFX0hPTERFUiIsCisg ICAgICAgICJpZCI6ICJQTEFDRV9IT0xERVIiCisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVx dWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9k YXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA0MDAKKyAgICAgIH0KKyAgICB9LAorICAg IHsKKyAgICAgICJuYW1lIjogInVwZGF0ZSBhIHNlcnZlciAsIG1ha2Ugc2VydmVyIHNoYXJlZCIs CisgICAgICAidXJsIjogIi9icm93c2VyL3NlcnZlci9vYmovIiwKKyAgICAgICJpc19wb3NpdGl2 ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJvd25lcl9zZXJ2ZXIiOiB0cnVlLAorICAgICAgInRlc3Rf ZGF0YSI6IHsKKyAgICAgICAgImNvbW1lbnQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlk IjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJzaGFyZWQiOiB0cnVlCisgICAgICB9LAorICAg ICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAg ICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAg IH0KKyAgICB9LAorICAgIHsKKyAgICAgICJuYW1lIjogIkNsZWFyIHNhdmVkIHBhc3N3b3JkIHdo ZW4gbG9naW4gdXNlciBpcyBub3Qgb3duZXIgb2Ygc2VydmVyIiwKKyAgICAgICJ1cmwiOiAiL2Jy b3dzZXIvc2VydmVyL2NsZWFyX3NhdmVkX3Bhc3N3b3JkLyIsCisgICAgICAiaXNfcG9zaXRpdmVf dGVzdCI6IHRydWUsCisgICAgICAiY2xlYXJfc2F2ZV9wYXNzd29yZCI6IHRydWUsCisgICAgICAi dGVzdF9kYXRhIjogeworICAgICAgICAiY29tbWVudCI6ICJQTEFDRV9IT0xERVIiLAorICAgICAg ICAiaWQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlzX3Bhc3N3b3JkX3NhdmVkIjogZmFs c2UKKyAgICAgIH0sCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgIm1v Y2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNf Y29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiQ2xlYXIg c2F2ZWQgcGFzc3dvcmQgd2l0aCB3cm9uZyBzZXJ2ZXIgaWQiLAorICAgICAgInVybCI6ICIvYnJv d3Nlci9zZXJ2ZXIvY2xlYXJfc2F2ZWRfcGFzc3dvcmQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90 ZXN0IjogZmFsc2UsCisgICAgICAiY2xlYXJfc2F2ZV9wYXNzd29yZCI6IHRydWUsCisgICAgICAi d3Jvbmdfc2VydmVyX2lkIjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJj b21tZW50IjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpZCI6ICJQTEFDRV9IT0xERVIiLAor ICAgICAgICAiaXNfcGFzc3dvcmRfc2F2ZWQiOiBmYWxzZQorICAgICAgfSwKKyAgICAgICJtb2Nr aW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhw ZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAg fSwKKyAgICB7CisgICAgICAibmFtZSI6ICJDbGVhciBzc2ggdHVubmVsIHBhc3N3b3JkIiwKKyAg ICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL2NsZWFyX3NzaHR1bm5lbF9wYXNzd29yZC8iLAor ICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgImNsZWFyX3NhdmVfcGFzc3dv cmQiOiB0cnVlLAorICAgICAgInRlc3RfZGF0YSI6IHsKKyAgICAgICAgImNvbW1lbnQiOiAiUExB Q0VfSE9MREVSIiwKKyAgICAgICAgImlkIjogIlBMQUNFX0hPTERFUiIsCisgICAgICAgICJpc19w YXNzd29yZF9zYXZlZCI6IGZhbHNlCisgICAgICB9LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQi OiBmYWxzZSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjog eworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg ICAgICJuYW1lIjogIkNsZWFyIHNzaCB0dW5uZWwgcGFzc3dvcmQgd2l0aCB3cm9uZyBzZXJ2ZXIg aWQiLAorICAgICAgInVybCI6ICIvYnJvd3Nlci9zZXJ2ZXIvY2xlYXJfc3NodHVubmVsX3Bhc3N3 b3JkLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IGZhbHNlLAorICAgICAgImNsZWFyX3Nh dmVfcGFzc3dvcmQiOiB0cnVlLAorICAgICAgIndyb25nX3NlcnZlcl9pZCI6IHRydWUsCisgICAg ICAidGVzdF9kYXRhIjogeworICAgICAgICAiY29tbWVudCI6ICJQTEFDRV9IT0xERVIiLAorICAg ICAgICAiaWQiOiAiUExBQ0VfSE9MREVSIiwKKyAgICAgICAgImlzX3Bhc3N3b3JkX3NhdmVkIjog ZmFsc2UKKyAgICAgIH0sCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAg Im1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0 dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgIm5hbWUiOiAiZXJy b3Igd2hpbGUgY2xlYXJpbmcgYSBzc2ggcGFzc3dvcmQiLAorICAgICAgInVybCI6ICIvYnJvd3Nl ci9zZXJ2ZXIvY2xlYXJfc3NodHVubmVsX3Bhc3N3b3JkLyIsCisgICAgICAiaXNfcG9zaXRpdmVf dGVzdCI6IGZhbHNlLAorICAgICAgImVycm9yX2NsZWFyaW5nX3Bhc3N3b3JkIjogdHJ1ZSwKKyAg ICAgICJ0ZXN0X2RhdGEiOiB7CisgICAgICAgICJjb21tZW50IjogIlBMQUNFX0hPTERFUiIsCisg ICAgICAgICJpZCI6ICJQTEFDRV9IT0xERVIiLAorICAgICAgICAiaXNfcGFzc3dvcmRfc2F2ZWQi OiBmYWxzZQorICAgICAgfSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAg ICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0 YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfQorICBdLAorICAiZGVsZXRlX211bHRpcGxl X3NlcnZlciI6IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJEZWxldGUgbXVsdGlwbGUgc2VydmVy IiwKKyAgICAgICJ1cmwiOiAiL2Jyb3dzZXIvc2VydmVyL29iai8iLAorICAgICAgImlzX3Bvc2l0 aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAg ICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3Rh dHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9CisgIF0KK30KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfYWRkX3NlcnZl ci5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rl c3RfYWRkX3NlcnZlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjFi MjNmY2RiOAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfYWRkX3NlcnZlci5weQpAQCAtMCwwICsxLDg0IEBACisj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisj IENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0K KyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNl CisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBvcnQganNvbgorCitmcm9tIHBnYWRtaW4udXRp bHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9u X3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRp bHMgYXMgc2VydmVyc191dGlscworCisKK2NsYXNzIEFkZFNlcnZlclRlc3QoQmFzZVRlc3RHZW5l cmF0b3IpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIHRoZSBzZXJ2ZXJzIHVuZGVyIGRl ZmF1bHQgc2VydmVyIGdyb3VwLiAiIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRl X3NjZW5hcmlvcygnYWRkX3NlcnZlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlcnZlcnNfdXRpbHMudGVzdF9jYXNlcykKKworICAgIGRlZiBzZXRVcChzZWxm KToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGNyZWF0ZV9zZXJ2ZXIoc2VsZiwgdXJsKToKKyAg ICAgICAgcmV0dXJuIHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICB1cmwsCisgICAgICAg ICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5zZXJ2ZXIpLAorICAgICAgICAgICAgY29udGVudF90 eXBlPSdodG1sL2pzb24nCisgICAgICAgICkKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAg ICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCB0aGUgc2VydmVyIHVuZGVyIGRlZmF1bHQg c2VydmVyIGdyb3VwLiIiIgorICAgICAgICB1cmwgPSAiezB9ezF9LyIuZm9ybWF0KHNlbGYudXJs LCB1dGlscy5TRVJWRVJfR1JPVVApCisKKyAgICAgICAgIyBBZGQgc2VydmljZSBuYW1lIGluIHRo ZSBjb25maWcKKyAgICAgICAgaWYgJ2Nvbm5lY3RfdGltZW91dCcgaW4gc2VsZi50ZXN0X2RhdGE6 CisgICAgICAgICAgICBzZWxmLnNlcnZlclsnY29ubmVjdF90aW1lb3V0J10gPSBzZWxmLnRlc3Rf ZGF0YVsnY29ubmVjdF90aW1lb3V0J10KKyAgICAgICAgZWxpZiAnc2hhcmVkJyBpbiBzZWxmLnRl c3RfZGF0YToKKyAgICAgICAgICAgIHNlbGYuc2VydmVyWydzaGFyZWQnXSA9IHNlbGYudGVzdF9k YXRhWydzaGFyZWQnXQorICAgICAgICBlbGlmICdzZXJ2aWNlJyBpbiBzZWxmLnRlc3RfZGF0YToK KyAgICAgICAgICAgIHNlbGYuc2VydmVyWydzZXJ2aWNlJ10gPSBzZWxmLnRlc3RfZGF0YVsnc2Vy dmljZSddCisKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnc3NoX3R1bm5lbCcpOgorICAgICAg ICAgICAgc2VsZi5zZXJ2ZXJbJ3VzZV9zc2hfdHVubmVsJ10gPSBzZWxmLnRlc3RfZGF0YVsndXNl X3NzaF90dW5uZWwnXQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3R1bm5lbF9ob3N0J10gPSBz ZWxmLnRlc3RfZGF0YVsndHVubmVsX2hvc3QnXQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3R1 bm5lbF9wb3J0J10gPSBzZWxmLnRlc3RfZGF0YVsndHVubmVsX3BvcnQnXQorICAgICAgICAgICAg c2VsZi5zZXJ2ZXJbJ3R1bm5lbF91c2VybmFtZSddID0gc2VsZi50ZXN0X2RhdGFbJ3R1bm5lbF91 c2VybmFtZSddCisKKyAgICAgICAgICAgIGlmIHNlbGYud2l0aF9wYXNzd29yZDoKKyAgICAgICAg ICAgICAgICBzZWxmLnNlcnZlclsndHVubmVsX2F1dGhlbnRpY2F0aW9uJ10gPSBzZWxmLnRlc3Rf ZGF0YVsKKyAgICAgICAgICAgICAgICAgICAgJ3R1bm5lbF9hdXRoZW50aWNhdGlvbiddCisgICAg ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWyd0dW5uZWxfYXV0aGVu dGljYXRpb24nXSA9IDEKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsndHVubmVsX2lkZW50 aXR5X2ZpbGUnXSA9ICdwa2V5X3JzYScKKworICAgICAgICAgICAgaWYgc2VsZi5zYXZlX3Bhc3N3 b3JkOgorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWyd0dW5uZWxfcGFzc3dvcmQnXSA9IHNl bGYudGVzdF9kYXRhWworICAgICAgICAgICAgICAgICAgICAndHVubmVsX3Bhc3N3b3JkJ10KKyAg ICAgICAgaWYgJ2Nvbm5lY3Rfbm93JyBpbiBzZWxmLnRlc3RfZGF0YToKKyAgICAgICAgICAgIHNl bGYuc2VydmVyWydjb25uZWN0X25vdyddID0gc2VsZi50ZXN0X2RhdGFbJ2Nvbm5lY3Rfbm93J10K KyAgICAgICAgICAgIHNlbGYuc2VydmVyWydwYXNzd29yZCddID0gc2VsZi5zZXJ2ZXJbJ2RiX3Bh c3N3b3JkJ10KKworICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAg ICBpZiBoYXNhdHRyKHNlbGYsICd3aXRoX3NhdmUnKToKKyAgICAgICAgICAgICAgICBzZWxmLnNl cnZlclsnc2F2ZV9wYXNzd29yZCddID0gc2VsZi53aXRoX3NhdmUKKyAgICAgICAgICAgIGlmIGhh c2F0dHIoc2VsZiwgJ3dpdGhfcHdkJykgYW5kIG5vdCBzZWxmLndpdGhfcHdkOgorICAgICAgICAg ICAgICAgICMgUmVtb3ZlIHRoZSBwYXNzd29yZCBmcm9tIHNlcnZlciBvYmplY3QKKyAgICAgICAg ICAgICAgICBkYl9wYXNzd29yZCA9IHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddCisgICAgICAg ICAgICAgICAgZGVsIHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddCisgICAgICAgICAgICByZXNw b25zZSA9IHNlbGYuY3JlYXRlX3NlcnZlcih1cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz KHJlc3BvbnNlLnN0YXR1c19jb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV4 cGVjdGVkX2RhdGFbInN0YXR1c19jb2RlIl0pCisgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29u LmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQorICAgICAgICBzZWxmLnNlcnZl cl9pZCA9IHJlc3BvbnNlX2RhdGFbJ25vZGUnXVsnX2lkJ10KKworICAgICAgICBpZiBoYXNhdHRy KHNlbGYsICd3aXRoX3B3ZCcpIGFuZCBub3Qgc2VsZi53aXRoX3B3ZDoKKyAgICAgICAgICAgICMg UmVtb3ZlIHRoZSBwYXNzd29yZCBmcm9tIHNlcnZlciBvYmplY3QKKyAgICAgICAgICAgIHNlbGYu c2VydmVyWydkYl9wYXNzd29yZCddID0gZGJfcGFzc3dvcmQKKworICAgIGRlZiB0ZWFyRG93bihz ZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNR TGl0ZSAiIiIKKyAgICAgICAgdXRpbHMuZGVsZXRlX3NlcnZlcl93aXRoX2FwaShzZWxmLnRlc3Rl ciwgc2VsZi5zZXJ2ZXJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X2FkZF9zZXJ2ZXJfd2l0aF9jb25uZWN0X3RpbWVv dXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90 ZXN0X2FkZF9zZXJ2ZXJfd2l0aF9jb25uZWN0X3RpbWVvdXQucHkKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDk0ZDU1NTYxNy4uMDAwMDAwMDAwCi0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfYWRkX3NlcnZlcl93aXRoX2Nvbm5l Y3RfdGltZW91dC5weQorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCi0jCi0jIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKLSMKLSMgQ29weXJpZ2h0 IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQotIyBUaGlzIHNv ZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKLSMKLSMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCi0KLWltcG9ydCBqc29uCi0KLWZyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBp bXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKLWZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGls cyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscwotCi0KLWNsYXNzIFNlcnZlcnNXaXRoQ29ubmVj dFRpbWVvdXRBZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6Ci0gICAgIiIiIFRoaXMgY2xh c3Mgd2lsbCBhZGQgdGhlIHNlcnZlcnMgdW5kZXIgZGVmYXVsdCBzZXJ2ZXIgZ3JvdXAuICIiIgot Ci0gICAgc2NlbmFyaW9zID0gWwotICAgICAgICAjIEZldGNoIHRoZSBkZWZhdWx0IHVybCBmb3Ig c2VydmVyIG9iamVjdAotICAgICAgICAoCi0gICAgICAgICAgICAnRGVmYXVsdCBTZXJ2ZXIgTm9k ZSB1cmwnLCBkaWN0KAotICAgICAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvc2VydmVyL29iai8n Ci0gICAgICAgICAgICApCi0gICAgICAgICkKLSAgICBdCi0KLSAgICBkZWYgc2V0VXAoc2VsZik6 Ci0gICAgICAgIHBhc3MKLQotICAgIGRlZiBydW5UZXN0KHNlbGYpOgotICAgICAgICAiIiIgVGhp cyBmdW5jdGlvbiB3aWxsIGFkZCB0aGUgc2VydmVyIHVuZGVyIGRlZmF1bHQgc2VydmVyIGdyb3Vw LiIiIgotICAgICAgICB1cmwgPSAiezB9ezF9LyIuZm9ybWF0KHNlbGYudXJsLCB1dGlscy5TRVJW RVJfR1JPVVApCi0gICAgICAgICMgQWRkIHNlcnZpY2UgbmFtZSBpbiB0aGUgY29uZmlnCi0gICAg ICAgIHNlbGYuc2VydmVyWydjb25uZWN0X3RpbWVvdXQnXSA9IDUKLSAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5wb3N0KAotICAgICAgICAgICAgdXJsLAotICAgICAgICAgICAgZGF0YT1q c29uLmR1bXBzKHNlbGYuc2VydmVyKSwKLSAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJwotICAgICAgICApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVz X2NvZGUsIDIwMCkKLSAgICAgICAgcmVzcG9uc2VfZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2Uu ZGF0YS5kZWNvZGUoJ3V0Zi04JykpCi0gICAgICAgIHNlbGYuc2VydmVyX2lkID0gcmVzcG9uc2Vf ZGF0YVsnbm9kZSddWydfaWQnXQotCi0gICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICAi IiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FMaXRlICIiIgotICAgICAg ICB1dGlscy5kZWxldGVfc2VydmVyX3dpdGhfYXBpKHNlbGYudGVzdGVyLCBzZWxmLnNlcnZlcl9p ZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L3Rlc3RzL3Rlc3RfYWRkX3NlcnZlcl93aXRoX3NlcnZpY2VfaWQucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X2FkZF9zZXJ2ZXJfd2l0aF9z ZXJ2aWNlX2lkLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjRkNGQzNzcuLjAw MDAwMDAwMAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90 ZXN0cy90ZXN0X2FkZF9zZXJ2ZXJfd2l0aF9zZXJ2aWNlX2lkLnB5CisrKyAvZGV2L251bGwKQEAg LTEsNDcgKzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scwotIwotIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBE ZXZlbG9wbWVudCBUZWFtCi0jIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBv c3RncmVTUUwgTGljZW5jZQotIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotaW1wb3J0IGpzb24KLQot ZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgotZnJvbSBy ZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCi0K LQotY2xhc3MgU2VydmVyc1dpdGhTZXJ2aWNlSURBZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRv cik6Ci0gICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBhZGQgdGhlIHNlcnZlcnMgdW5kZXIgZGVmYXVs dCBzZXJ2ZXIgZ3JvdXAuICIiIgotCi0gICAgc2NlbmFyaW9zID0gWwotICAgICAgICAjIEZldGNo IHRoZSBkZWZhdWx0IHVybCBmb3Igc2VydmVyIG9iamVjdAotICAgICAgICAoCi0gICAgICAgICAg ICAnRGVmYXVsdCBTZXJ2ZXIgTm9kZSB1cmwnLCBkaWN0KAotICAgICAgICAgICAgICAgIHVybD0n L2Jyb3dzZXIvc2VydmVyL29iai8nCi0gICAgICAgICAgICApCi0gICAgICAgICkKLSAgICBdCi0K LSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHBhc3MKLQotICAgIGRlZiBydW5UZXN0KHNl bGYpOgotICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCB0aGUgc2VydmVyIHVuZGVy IGRlZmF1bHQgc2VydmVyIGdyb3VwLiIiIgotICAgICAgICB1cmwgPSAiezB9ezF9LyIuZm9ybWF0 KHNlbGYudXJsLCB1dGlscy5TRVJWRVJfR1JPVVApCi0gICAgICAgICMgQWRkIHNlcnZpY2UgbmFt ZSBpbiB0aGUgY29uZmlnCi0gICAgICAgIHNlbGYuc2VydmVyWydzZXJ2aWNlJ10gPSAiVGVzdERC IgotICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCi0gICAgICAgICAgICB1cmws Ci0gICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5zZXJ2ZXIpLAotICAgICAgICAgICAg Y29udGVudF90eXBlPSdodG1sL2pzb24nCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQotICAgICAgICByZXNwb25zZV9kYXRhID0g anNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKLSAgICAgICAgc2VsZi5z ZXJ2ZXJfaWQgPSByZXNwb25zZV9kYXRhWydub2RlJ11bJ19pZCddCi0KLSAgICBkZWYgdGVhckRv d24oc2VsZik6Ci0gICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBzZXJ2ZXIgZnJv bSBTUUxpdGUgIiIiCi0gICAgICAgIHV0aWxzLmRlbGV0ZV9zZXJ2ZXJfd2l0aF9hcGkoc2VsZi50 ZXN0ZXIsIHNlbGYuc2VydmVyX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9hZGRfc2VydmVyX3dpdGhfc3NoX3R1bm5l bC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rl c3RfYWRkX3NlcnZlcl93aXRoX3NzaF90dW5uZWwucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDdjMGIwMDVkOS4uMDAwMDAwMDAwCi0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfYWRkX3NlcnZlcl93aXRoX3NzaF90dW5uZWwu cHkKKysrIC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIwot IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCi0jCi0jIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KLSMgVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCi0jCi0jIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwotCi1pbXBvcnQganNvbgotCi1mcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VU ZXN0R2VuZXJhdG9yCi1mcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRl c3RfdXRpbHMgYXMgdXRpbHMKLQotCi1jbGFzcyBTZXJ2ZXJzV2l0aFNTSFR1bm5lbEFkZFRlc3RD YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKLSAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGFkZCB0aGUg c2VydmVycyB1bmRlciBkZWZhdWx0IHNlcnZlciBncm91cC4gIiIiCi0KLSAgICBzY2VuYXJpb3Mg PSBbCi0gICAgICAgICgKLSAgICAgICAgICAgICdBZGQgc2VydmVyIHVzaW5nIFNTSCB0dW5uZWwg d2l0aCBwYXNzd29yZCcsIGRpY3QoCi0gICAgICAgICAgICAgICAgdXJsPScvYnJvd3Nlci9zZXJ2 ZXIvb2JqLycsCi0gICAgICAgICAgICAgICAgd2l0aF9wYXNzd29yZD1UcnVlLAotICAgICAgICAg ICAgICAgIHNhdmVfcGFzc3dvcmQ9RmFsc2UsCi0gICAgICAgICAgICApCi0gICAgICAgICksCi0g ICAgICAgICgKLSAgICAgICAgICAgICdBZGQgc2VydmVyIHVzaW5nIFNTSCB0dW5uZWwgd2l0aCBp ZGVudGl0eSBmaWxlJywgZGljdCgKLSAgICAgICAgICAgICAgICB1cmw9Jy9icm93c2VyL3NlcnZl ci9vYmovJywKLSAgICAgICAgICAgICAgICB3aXRoX3Bhc3N3b3JkPUZhbHNlLAotICAgICAgICAg ICAgICAgIHNhdmVfcGFzc3dvcmQ9RmFsc2UsCi0gICAgICAgICAgICApCi0gICAgICAgICksCi0g ICAgICAgICgKLSAgICAgICAgICAgICdBZGQgc2VydmVyIHVzaW5nIFNTSCB0dW5uZWwgd2l0aCBw YXNzd29yZCBhbmQgc2F2ZWQgaXQnLCBkaWN0KAotICAgICAgICAgICAgICAgIHVybD0nL2Jyb3dz ZXIvc2VydmVyL29iai8nLAotICAgICAgICAgICAgICAgIHdpdGhfcGFzc3dvcmQ9VHJ1ZSwKLSAg ICAgICAgICAgICAgICBzYXZlX3Bhc3N3b3JkPVRydWUsCi0gICAgICAgICAgICApCi0gICAgICAg ICksCi0gICAgICAgICgKLSAgICAgICAgICAgICdBZGQgc2VydmVyIHVzaW5nIFNTSCB0dW5uZWwg d2l0aCBpZGVudGl0eSBmaWxlIGFuZCBzYXZlIHRoZSAnCi0gICAgICAgICAgICAncGFzc3dvcmQn LCBkaWN0KAotICAgICAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvc2VydmVyL29iai8nLAotICAg ICAgICAgICAgICAgIHdpdGhfcGFzc3dvcmQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgc2F2ZV9w YXNzd29yZD1UcnVlLAotICAgICAgICAgICAgKQotICAgICAgICApLAotICAgIF0KLQotICAgIGRl ZiBzZXRVcChzZWxmKToKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0g ICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgYWRkIHRoZSBzZXJ2ZXIgdW5kZXIgZGVmYXVs dCBzZXJ2ZXIgZ3JvdXAuIiIiCi0gICAgICAgIHVybCA9ICJ7MH17MX0vIi5mb3JtYXQoc2VsZi51 cmwsIHV0aWxzLlNFUlZFUl9HUk9VUCkKLSAgICAgICAgIyBBZGQgc2VydmljZSBuYW1lIGluIHRo ZSBjb25maWcKLSAgICAgICAgc2VsZi5zZXJ2ZXJbJ3VzZV9zc2hfdHVubmVsJ10gPSAxCi0gICAg ICAgIHNlbGYuc2VydmVyWyd0dW5uZWxfaG9zdCddID0gJzEyNy4wLjAuMScKLSAgICAgICAgc2Vs Zi5zZXJ2ZXJbJ3R1bm5lbF9wb3J0J10gPSAyMgotICAgICAgICBzZWxmLnNlcnZlclsndHVubmVs X3VzZXJuYW1lJ10gPSAndXNlcicKLSAgICAgICAgaWYgc2VsZi53aXRoX3Bhc3N3b3JkOgotICAg ICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3R1bm5lbF9hdXRoZW50aWNhdGlvbiddID0gMAotICAgICAg ICBlbHNlOgotICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3R1bm5lbF9hdXRoZW50aWNhdGlvbidd ID0gMQotICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3R1bm5lbF9pZGVudGl0eV9maWxlJ10gPSAn cGtleV9yc2EnCi0KLSAgICAgICAgaWYgc2VsZi5zYXZlX3Bhc3N3b3JkOgotICAgICAgICAgICAg c2VsZi5zZXJ2ZXJbJ3R1bm5lbF9wYXNzd29yZCddID0gJzEyMzQ1NicKLQotICAgICAgICByZXNw b25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCi0gICAgICAgICAgICB1cmwsCi0gICAgICAgICAgICBk YXRhPWpzb24uZHVtcHMoc2VsZi5zZXJ2ZXIpLAotICAgICAgICAgICAgY29udGVudF90eXBlPSdo dG1sL2pzb24nCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5z dGF0dXNfY29kZSwgMjAwKQotICAgICAgICByZXNwb25zZV9kYXRhID0ganNvbi5sb2FkcyhyZXNw b25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKLSAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSByZXNw b25zZV9kYXRhWydub2RlJ11bJ19pZCddCi0KLSAgICBkZWYgdGVhckRvd24oc2VsZik6Ci0gICAg ICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBzZXJ2ZXIgZnJvbSBTUUxpdGUgIiIiCi0g ICAgICAgIHV0aWxzLmRlbGV0ZV9zZXJ2ZXJfd2l0aF9hcGkoc2VsZi50ZXN0ZXIsIHNlbGYuc2Vy dmVyX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvdGVzdHMvdGVzdF9hbGxfc2VydmVyX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfYWxsX3NlcnZlcl9nZXQucHkKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jZDM1YTdhMDUKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0 X2FsbF9zZXJ2ZXJfZ2V0LnB5CkBAIC0wLDAgKzEsNzggQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj CisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlz IHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCitpbXBvcnQgcmFuZG9tCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFz ZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAor ZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0 aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIHNlcnZlcnNfdXRpbHMKKworCitjbGFzcyBBbGxT ZXJ2ZXJzR2V0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIgorICAgIFRoaXMg Y2xhc3Mgd2lsbCBmZXRjaCBhZGRlZCBzZXJ2ZXJzIHVuZGVyIGRlZmF1bHQgc2VydmVyIGdyb3Vw CisgICAgYnkgcmVzcG9uc2UgY29kZS4KKyAgICAiIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxz LmdlbmVyYXRlX3NjZW5hcmlvcygnZ2V0X2FsbF9zZXJ2ZXInLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJzX3V0aWxzLnRlc3RfY2FzZXMpCisKKyAgICBk ZWYgc2V0VXAoc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gYWRkIHRoZSBzZXJ2ZXIg dG8gdGVzdCB0aGUgR0VUIEFQSSIiIgorICAgICAgICBzZWxmLnNlcnZlclsncGFzc3dvcmQnXSA9 ICdlZGInCisgICAgICAgIHNlbGYuc2VydmVyX2lkID0gdXRpbHMuY3JlYXRlX3NlcnZlcihzZWxm LnNlcnZlcikKKyAgICAgICAgc2VydmVyX2RpY3QgPSB7InNlcnZlcl9pZCI6IHNlbGYuc2VydmVy X2lkfQorICAgICAgICB1dGlscy53cml0ZV9ub2RlX2luZm8oInNpZCIsIHNlcnZlcl9kaWN0KQor CisgICAgZGVmIGdldF9zZXJ2ZXIoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnRlc3Rlci5n ZXQoc2VsZi51cmwsIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgIGRlZiBjb25uZWN0X3Rv X3NlcnZlcihzZWxmLCB1cmwpOgorICAgICAgICByZXR1cm4gc2VsZi50ZXN0ZXIucG9zdCgKKyAg ICAgICAgICAgIHVybCwKKyAgICAgICAgICAgIGRhdGE9c2VsZi5zZXJ2ZXIsCisgICAgICAgICAg ICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgKQorCisgICAgZGVmIHJ1blRlc3Qo c2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2ggdGhlIGFkZGVkIHNl cnZlcnMgdG8gb2JqZWN0IGJyb3dzZXIuICIiIgorICAgICAgICBzZXJ2ZXJfaWQgPSBwYXJlbnRf bm9kZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIGlmIG5vdCBzZXJ2 ZXJfaWQ6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlNlcnZlciBub3QgZm91bmQgdG8g dGVzdCBHRVQgQVBJIikKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAgICAgIGlmIHNlbGYu aXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2ludmFsaWRf c2VydmVyX2dyb3VwJyk6CisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSBzZWxmLnVybCArICd7 MH0vezF9P189ezF9Jy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZFUl9H Uk9VUCwgcmFuZG9tLnJhbmRpbnQoMSwgOTk5OTk5OSkpCisgICAgICAgICAgICBlbGlmIGhhc2F0 dHIoc2VsZiwgJ2NoaWxkcmVuJyk6CisKKyAgICAgICAgICAgICAgICBzZWxmLnVybCA9IHNlbGYu dXJsICsgJ3swfS97MX0nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgdXRpbHMuU0VSVkVS X0dST1VQLCBzZXJ2ZXJfaWQpCisgICAgICAgICAgICBlbGlmIGhhc2F0dHIoc2VsZiwgJ3NlcnZl cl9saXN0Jyk6CisgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnc2VydmVycycpOgor ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQgPSAnJworICAgICAgICAgICAgICAgIHNlbGYu dXJsID0gc2VsZi51cmwgKyAnezB9L3sxfScuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICB1 dGlscy5TRVJWRVJfR1JPVVAsIHNlcnZlcl9pZCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAg ICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAiY29ubmVjdGVkIik6CisgICAgICAgICAgICAgICAg ICAgIHVybCA9ICcvYnJvd3Nlci9zZXJ2ZXIvY29ubmVjdC8nICsgJ3swfS97MX0nLmZvcm1hdCgK KyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNl cnZlclsncGFzc3dvcmQnXSA9ICdlZGInCisKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25u ZWN0X3RvX3NlcnZlcih1cmwpCisgICAgICAgICAgICAgICAgc2VsZi51cmwgPSBzZWxmLnVybCAr ICd7MH0vezF9P189ezJ9Jy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZF Ul9HUk9VUCwgc2VydmVyX2lkLCByYW5kb20ucmFuZGludCgxLCA5OTk5OTk5KSkKKyAgICAgICAg ICAgIHJlc3BvbnNlID0gc2VsZi5nZXRfc2VydmVyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh bHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu ZXhwZWN0ZWRfZGF0YVsic3RhdHVzX2NvZGUiXSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToK KyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBkZWxldGUgdGhlIHNlcnZlciBmcm9tIFNRTGl0ZSAi IiIKKyAgICAgICAgdXRpbHMuZGVsZXRlX3NlcnZlcl93aXRoX2FwaShzZWxmLnRlc3Rlciwgc2Vs Zi5zZXJ2ZXJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy90ZXN0cy90ZXN0X2NoZWNrX2Nvbm5lY3QucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X2NoZWNrX2Nvbm5lY3QucHkKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42ZDQ5Y2VhN2IKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90 ZXN0X2NoZWNrX2Nvbm5lY3QucHkKQEAgLTAsMCArMSwxMDcgQEAKKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJl IGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0 b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNz aW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4g aW1wb3J0IHV0aWxzIGFzIHNlcnZlcnNfdXRpbHMKK2ltcG9ydCBqc29uCisKKworY2xhc3MgU2Vy dmVyc0Nvbm5lY3RUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiCisgICAgVGhp cyBjbGFzcyB3aWxsIGZldGNoIGFkZGVkIHNlcnZlcnMgdW5kZXIgZGVmYXVsdCBzZXJ2ZXIgZ3Jv dXAKKyAgICBieSByZXNwb25zZSBjb2RlLgorICAgICIiIgorCisgICAgc2NlbmFyaW9zID0gdXRp bHMuZ2VuZXJhdGVfc2NlbmFyaW9zKCdjb25uZWN0X3NlcnZlcicsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcnNfdXRpbHMudGVzdF9jYXNlcykKKworICAg IGRlZiBnZXRfc3NoX3R1bm5lbChzZWxmKToKKyAgICAgICAgcHJpbnQoImluX2dldF9zc2giKQor ICAgICAgICBzZWxmLnNlcnZlclsndXNlX3NzaF90dW5uZWwnXSA9IDEKKyAgICAgICAgc2VsZi5z ZXJ2ZXJbJ3R1bm5lbF9ob3N0J10gPSAnMTI3LjAuMC4xJworICAgICAgICBzZWxmLnNlcnZlclsn dHVubmVsX3BvcnQnXSA9IDIyCisgICAgICAgIHNlbGYuc2VydmVyWyd0dW5uZWxfdXNlcm5hbWUn XSA9ICd1c2VyJworICAgICAgICBpZiBzZWxmLndpdGhfcGFzc3dvcmQ6CisgICAgICAgICAgICBz ZWxmLnNlcnZlclsndHVubmVsX2F1dGhlbnRpY2F0aW9uJ10gPSAwCisgICAgICAgIGVsc2U6Cisg ICAgICAgICAgICBzZWxmLnNlcnZlclsndHVubmVsX2F1dGhlbnRpY2F0aW9uJ10gPSAxCisgICAg ICAgICAgICBzZWxmLnNlcnZlclsndHVubmVsX2lkZW50aXR5X2ZpbGUnXSA9ICdwa2V5X3JzYScK KworICAgICAgICBpZiBzZWxmLnNhdmVfcGFzc3dvcmQ6CisgICAgICAgICAgICBzZWxmLnNlcnZl clsndHVubmVsX3Bhc3N3b3JkJ10gPSAnMTIzNDU2JworCisgICAgZGVmIHNldFVwKHNlbGYpOgor ICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGFkZCB0aGUgc2VydmVyIHRvIHRlc3QgdGhlIEdFVCBB UEkiIiIKKworICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHV0aWxzLmNyZWF0ZV9zZXJ2ZXIoc2Vs Zi5zZXJ2ZXIpCisgICAgICAgIHNlcnZlcl9kaWN0ID0geyJzZXJ2ZXJfaWQiOiBzZWxmLnNlcnZl cl9pZH0KKyAgICAgICAgdXRpbHMud3JpdGVfbm9kZV9pbmZvKCJzaWQiLCBzZXJ2ZXJfZGljdCkK KworICAgIGRlZiBnZXRfc2VydmVyX2Nvbm5lY3Rpb24oc2VsZiwgc2VydmVyX2lkKToKKyAgICAg ICAgcmV0dXJuIHNlbGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JP VVApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lk KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUp CisKKyAgICBkZWYgc2VydmVyX2Rpc29ubmVjdChzZWxmLCBzZXJ2ZXJfaWQpOgorICAgICAgICBy ZXR1cm4gc2VsZi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9V UCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJf aWQpKQorCisgICAgZGVmIGNvbm5lY3RfdG9fc2VydmVyKHNlbGYsIHVybCk6CisgICAgICAgIHJl dHVybiBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgdXJsLAorICAgICAgICAgICAgZGF0 YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRt bC9qc29uJworICAgICAgICApCisKKyAgICBkZWYgYWRkX3NlcnZlcl9kZXRhaWxzKHNlbGYsIHVy bCk6CisgICAgICAgIHJldHVybiBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgdXJsLAor ICAgICAgICAgICAgZGF0YT1zdHIoc2VsZi50ZXN0X2RhdGEpLAorICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nCisgICAgICAgICkKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgor ICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIHRoZSBhZGRlZCBzZXJ2ZXJzIHRv IG9iamVjdCBicm93c2VyLiAiIiIKKyAgICAgICAgc2VydmVyX2lkID0gcGFyZW50X25vZGVfZGlj dFsic2VydmVyIl1bLTFdWyJzZXJ2ZXJfaWQiXQorICAgICAgICBpZiBub3Qgc2VydmVyX2lkOgor ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJTZXJ2ZXIgbm90IGZvdW5kIHRvIHRlc3QgR0VU IEFQSSIpCisgICAgICAgIHJlc3BvbnNlID0gTm9uZQorICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0 aXZlX3Rlc3Q6CisgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICdkaXNjb25uZWN0Jyk6Cisg ICAgICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnd3Jvbmdfc2VydmVyX2lkJyk6CisgICAg ICAgICAgICAgICAgICAgIHNlcnZlcl9pZCA9IDk5OTk5CisgICAgICAgICAgICAgICAgcmVzcG9u c2UgPSBzZWxmLnNlcnZlcl9kaXNvbm5lY3Qoc2VydmVyX2lkKQorICAgICAgICAgICAgZWxpZiBo YXNhdHRyKHNlbGYsICJjb25uZWN0Iik6CisgICAgICAgICAgICAgICAgdXJsID0gc2VsZi51cmwg KyAnezB9L3sxfScuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JP VVAsCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkKQorICAgICAgICAgICAgICAg IHNlbGYuc2VydmVyWydwYXNzd29yZCddID0gc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10KKyAg ICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuY29ubmVjdF90b19zZXJ2ZXIodXJsKQorICAg ICAgICAgICAgZWxpZiBoYXNhdHRyKHNlbGYsICdyZXN0b3JlX3BvaW50Jykgb3IgaGFzYXR0cihz ZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnY2hhbmdlX3Bhc3N3b3JkJyk6CisgICAgICAgICAgICAgICAgY29ubmVjdF91cmwg PSAnL2Jyb3dzZXIvc2VydmVyL2Nvbm5lY3QvezB9L3sxfScuZm9ybWF0KAorICAgICAgICAgICAg ICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Vy dmVyX2lkKQorICAgICAgICAgICAgICAgIHVybCA9IHNlbGYudXJsICsgJ3swfS97MX0nLmZvcm1h dCgKKyAgICAgICAgICAgICAgICAgICAgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAg ICAgICAgICBzZWxmLnNlcnZlcl9pZCkKKworICAgICAgICAgICAgICAgIHNlbGYuY29ubmVjdF90 b19zZXJ2ZXIoY29ubmVjdF91cmwpCisgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmFk ZF9zZXJ2ZXJfZGV0YWlscyh1cmwpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg IHJlc3BvbnNlID0gc2VsZi5nZXRfc2VydmVyX2Nvbm5lY3Rpb24oc2VydmVyX2lkKQorCisgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkX2RhdGFbInN0YXR1c19jb2RlIl0pCisKKyAgICBk ZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBz ZXJ2ZXIgZnJvbSBTUUxpdGUgIiIiCisgICAgICAgIHV0aWxzLmRlbGV0ZV9zZXJ2ZXJfd2l0aF9h cGkoc2VsZi50ZXN0ZXIsIHNlbGYuc2VydmVyX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9pc19wYXNzd29yZF9zYXZl ZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rl c3RfaXNfcGFzc3dvcmRfc2F2ZWQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi43ZDE0NGQzZDcKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X2lzX3Bhc3N3b3JkX3NhdmVkLnB5CkBAIC0w LDAgKzEsNTIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVT UUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2 ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCisKK2Zy b20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVn cmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJv bSAuIGltcG9ydCB1dGlscyBhcyBzZXJ2ZXJzX3V0aWxzCisKKworY2xhc3MgSXNQYXNzd29yZFNh dmVkKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHRlc3QgdGhl IHNhdmUgcGFzc3dvcmQgZnVuY3Rpb25hbGl0eS4gIiIiCisKKyAgICBzY2VuYXJpb3MgPSB1dGls cy5nZW5lcmF0ZV9zY2VuYXJpb3MoJ2lzX3Bhc3N3b3JkX3NhdmVkJywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyc191dGlscy50ZXN0X2Nhc2VzKQorCisg ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHV0aWxzLmNyZWF0 ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCisgICAgICAgIHNlcnZlcl9kaWN0ID0geyJzZXJ2ZXJfaWQi OiBzZWxmLnNlcnZlcl9pZH0KKyAgICAgICAgdXRpbHMud3JpdGVfbm9kZV9pbmZvKCJzaWQiLCBz ZXJ2ZXJfZGljdCkKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1 bmN0aW9uIHdpbGwgZXhlY3V0ZSB0aGUgY29ubmVjdCBzZXJ2ZXIgQVBJcyIiIgorICAgICAgICBy ZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cih1 dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsgc3RyKHNlbGYuc2VydmVyX2lkKSwKKyAgICAgICAg ICAgIGRhdGE9ZGljdCgKKyAgICAgICAgICAgICAgICBwYXNzd29yZD1zZWxmLnNlcnZlclsnZGJf cGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICBzYXZlX3Bhc3N3b3JkPSdvbicpLAorICAgICAg ICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgIGV4cGVjdGVkX3N0YXR1c19j b2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWyJzdGF0dXNfY29kZSJdCisgICAgICAgIGFjdHVhbF9z dGF0dXNfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKGFjdHVhbF9zdGF0dXNfY29kZSwgZXhwZWN0ZWRfc3RhdHVzX2NvZGUpCisgICAgICAgIHJl c3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQor CisgICAgICAgIGV4cGVjdGVkX21lc3NhZ2UgPSBzZWxmLmV4cGVjdGVkX2RhdGFbIm1lc3NhZ2Ui XQorICAgICAgICBhY3R1YWxfbWVzc2FnZSA9IHJlc3BvbnNlX2RhdGFbImluZm8iXQorICAgICAg ICBzZWxmLmFzc2VydEVxdWFscyhhY3R1YWxfbWVzc2FnZSwgZXhwZWN0ZWRfbWVzc2FnZSkKKwor ICAgICAgICBleHBlY3RlZF9pc19wYXNzd29yZF9zYXZlZCA9IHNlbGYudGVzdF9kYXRhWyJpc19w YXNzd29yZF9zYXZlZCJdCisgICAgICAgIGFjdHVhbF9pc19wYXNzd29yZF9zYXZlZCA9IHJlc3Bv bnNlX2RhdGFbImRhdGEiXVsiaXNfcGFzc3dvcmRfc2F2ZWQiXQorICAgICAgICBzZWxmLmFzc2Vy dEVxdWFscyhhY3R1YWxfaXNfcGFzc3dvcmRfc2F2ZWQsIGV4cGVjdGVkX2lzX3Bhc3N3b3JkX3Nh dmVkKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9u IGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FMaXRlICIiIgorICAgICAgICB1dGlscy5kZWxldGVf c2VydmVyX3dpdGhfYXBpKHNlbGYudGVzdGVyLCBzZWxmLnNlcnZlcl9pZCkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2Vy dmVyX2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl c3RzL3Rlc3Rfc2VydmVyX2FkZC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ0 NGUxZDcyLi4wMDAwMDAwMDAKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfYWRkLnB5CisrKyAvZGV2L251bGwKQEAgLTEsODYg KzAsMCBAQAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBU b29scwotIwotIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCi0jIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVT UUwgTGljZW5jZQotIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotaW1wb3J0IGpzb24KLWltcG9ydCBj b3B5Ci1mcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCi1m cm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRp bHMKLQotCi1jbGFzcyBTZXJ2ZXJzQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgotICAg ICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIHRoZSBzZXJ2ZXJzIHVuZGVyIGRlZmF1bHQgc2VydmVy IGdyb3VwLiAiIiIKLQotICAgIHNjZW5hcmlvcyA9IFsKLSAgICAgICAgIyBGZXRjaCB0aGUgZGVm YXVsdCB1cmwgZm9yIHNlcnZlciBvYmplY3QKLSAgICAgICAgKCdEZWZhdWx0IFNlcnZlciBOb2Rl IHVybCcsIGRpY3QodXJsPScvYnJvd3Nlci9zZXJ2ZXIvb2JqLycpKQotICAgIF0KLQotICAgIGRl ZiBzZXRVcChzZWxmKToKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0g ICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgYWRkIHRoZSBzZXJ2ZXIgdW5kZXIgZGVmYXVs dCBzZXJ2ZXIgZ3JvdXAuIiIiCi0gICAgICAgIHVybCA9ICJ7MH17MX0vIi5mb3JtYXQoc2VsZi51 cmwsIHV0aWxzLlNFUlZFUl9HUk9VUCkKLSAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5w b3N0KHVybCwgZGF0YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKLSAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQotICAgICAgICByZXNwb25z ZV9kYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKLSAgICAg ICAgc2VsZi5zZXJ2ZXJfaWQgPSByZXNwb25zZV9kYXRhWydub2RlJ11bJ19pZCddCi0gICAgICAg IHNlcnZlcl9kaWN0ID0geyJzZXJ2ZXJfaWQiOiBpbnQoc2VsZi5zZXJ2ZXJfaWQpfQotICAgICAg ICB1dGlscy53cml0ZV9ub2RlX2luZm8oInNpZCIsIHNlcnZlcl9kaWN0KQotCi0gICAgZGVmIHRl YXJEb3duKHNlbGYpOgotICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2VydmVy IGZyb20gU1FMaXRlICIiIgotICAgICAgICB1dGlscy5kZWxldGVfc2VydmVyX3dpdGhfYXBpKHNl bGYudGVzdGVyLCBzZWxmLnNlcnZlcl9pZCkKLQotCi1jbGFzcyBBZGRTZXJ2ZXJzV2l0aFNhdmVQ YXNzd29yZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKLSAgICAiIiIgVGhpcyBjbGFzcyB3 aWxsIGFkZCB0aGUgc2VydmVycyB1bmRlciBkZWZhdWx0IHNlcnZlciBncm91cC4gIiIiCi0KLSAg ICBzY2VuYXJpb3MgPSBbCi0gICAgICAgICMgRmV0Y2ggdGhlIGRlZmF1bHQgdXJsIGZvciBzZXJ2 ZXIgb2JqZWN0Ci0gICAgICAgICgnQWRkIHNlcnZlciB3aXRoIHBhc3N3b3JkIGFuZCBzYXZlIHBh c3N3b3JkIHRvIHRydWUnLAotICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL3NlcnZlci9vYmov Jywgd2l0aF9wd2Q9VHJ1ZSwgd2l0aF9zYXZlPVRydWUpKSwKLSAgICAgICAgKCdBZGQgc2VydmVy IHdpdGggcGFzc3dvcmQgYW5kIHNhdmUgcGFzc3dvcmQgdG8gZmFsc2UnLAotICAgICAgICAgZGlj dCh1cmw9Jy9icm93c2VyL3NlcnZlci9vYmovJywgd2l0aF9wd2Q9VHJ1ZSwgd2l0aF9zYXZlPUZh bHNlKSksCi0gICAgICAgICgnQWRkIHNlcnZlciB3aXRob3V0IHBhc3N3b3JkIGFuZCBzYXZlIHBh c3N3b3JkIHRvIHRydWUnLAotICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL3NlcnZlci9vYmov Jywgd2l0aF9wd2Q9RmFsc2UsIHdpdGhfc2F2ZT1UcnVlKSksCi0gICAgXQotCi0gICAgZGVmIHNl dFVwKHNlbGYpOgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgcnVuVGVzdChzZWxmKToKLSAgICAg ICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdGhlIHNlcnZlciB1bmRlciBkZWZhdWx0IHNl cnZlciBncm91cC4iIiIKLSAgICAgICAgdXJsID0gInswfXsxfS8iLmZvcm1hdChzZWxmLnVybCwg dXRpbHMuU0VSVkVSX0dST1VQKQotICAgICAgICBfc2VydmVyID0gY29weS5kZWVwY29weShzZWxm LnNlcnZlcikKLSAgICAgICAgIyBVcGRhdGUgdGhlIGZsYWcgYXMgcmVxdWlyZWQKLSAgICAgICAg X3NlcnZlclsnc2F2ZV9wYXNzd29yZCddID0gc2VsZi53aXRoX3NhdmUKLSAgICAgICAgaWYgbm90 IHNlbGYud2l0aF9wd2Q6Ci0gICAgICAgICAgICAjIFJlbW92ZSB0aGUgcGFzc3dvcmQgZnJvbSBz ZXJ2ZXIgb2JqZWN0Ci0gICAgICAgICAgICBkZWwgX3NlcnZlclsnZGJfcGFzc3dvcmQnXQotCi0g ICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCh1cmwsIGRhdGE9anNvbi5kdW1wcyhf c2VydmVyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlw ZT0naHRtbC9qc29uJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5zdGF0dXNf Y29kZSwgMjAwKQotICAgICAgICByZXNwb25zZV9kYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5k YXRhLmRlY29kZSgndXRmLTgnKSkKLSAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSByZXNwb25zZV9k YXRhWydub2RlJ11bJ19pZCddCi0gICAgICAgIHNlcnZlcl9kaWN0ID0geyJzZXJ2ZXJfaWQiOiBp bnQoc2VsZi5zZXJ2ZXJfaWQpfQotICAgICAgICAjIEZldGNoIHRoZSBub2RlIGluZm8gdG8gY2hl Y2sgaWYgcGFzc3dvcmQgd2FzIHNhdmVkIG9yIG5vdAotICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLmdldChzZWxmLnVybC5yZXBsYWNlKCdvYmonLCAnbm9kZXMnKSArCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVl KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCi0g ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnaXNfcGFzc3dvcmRfc2F2ZWQnIGluIHJlc3BvbnNlLmpz b25bJ3Jlc3VsdCddKQotICAgICAgICB1dGlscy53cml0ZV9ub2RlX2luZm8oInNpZCIsIHNlcnZl cl9kaWN0KQotCi0gICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICAiIiJUaGlzIGZ1bmN0 aW9uIGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FMaXRlICIiIgotICAgICAgICB1dGlscy5kZWxl dGVfc2VydmVyX3dpdGhfYXBpKHNlbGYudGVzdGVyLCBzZWxmLnNlcnZlcl9pZCkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rf c2VydmVyX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2RlbGV0ZS5weQppbmRleCAzMDkxN2JkM2MuLjc4OTExZjVh OCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv dGVzdHMvdGVzdF9zZXJ2ZXJfZGVsZXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2RlbGV0ZS5weQpAQCAtOSwxNSAr OSwxNCBAQAogCiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJh dG9yCiBmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMg YXMgdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMgc2VydmVyc191dGlscwogCiAKIGNsYXNz IFNlcnZlckRlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAiIiIgVGhpcyBj bGFzcyB3aWxsIGRlbGV0ZSB0aGUgbGFzdCBzZXJ2ZXIgcHJlc2VudCB1bmRlciB0cmVlIG5vZGUu IiIiCiAKLSAgICBzY2VuYXJpb3MgPSBbCi0gICAgICAgICMgRmV0Y2hpbmcgdGhlIGRlZmF1bHQg dXJsIGZvciBzZXJ2ZXIgbm9kZQotICAgICAgICAoJ0RlZmF1bHQgU2VydmVyIE5vZGUgdXJsJywg ZGljdCh1cmw9Jy9icm93c2VyL3NlcnZlci9vYmovJykpCi0gICAgXQorICAgIHNjZW5hcmlvcyA9 IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygnZGVsZXRlX3NlcnZlcicsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcnNfdXRpbHMudGVzdF9jYXNlcykKIAog ICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBhZGQgdGhlIHNl cnZlciB0byB0ZXN0IHRoZSBERUxFVEUgQVBJIiIiCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9nZXQucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZl cl9nZXQucHkKaW5kZXggMGI0ZGMxODNiLi41YTgzZTJhMDggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2dldC5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90 ZXN0X3NlcnZlcl9nZXQucHkKQEAgLTEwLDYgKzEwLDggQEAKIGZyb20gcGdhZG1pbi51dGlscy5y b3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIGZyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFy ZW50X25vZGVfZGljdAogZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0 ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIHNlcnZlcnNfdXRpbHMK K2ltcG9ydCBqc29uCiAKIAogY2xhc3MgU2VydmVyc0dldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJh dG9yKToKQEAgLTE4LDI2ICsyMCw1MCBAQCBjbGFzcyBTZXJ2ZXJzR2V0VGVzdENhc2UoQmFzZVRl c3RHZW5lcmF0b3IpOgogICAgIGJ5IHJlc3BvbnNlIGNvZGUuCiAgICAgIiIiCiAKLSAgICBzY2Vu YXJpb3MgPSBbCi0gICAgICAgICMgRmV0Y2ggdGhlIGRlZmF1bHQgdXJsIGZvciBzZXJ2ZXIgbm9k ZQotICAgICAgICAoJ0RlZmF1bHQgU2VydmVyIE5vZGUgdXJsJywgZGljdCh1cmw9Jy9icm93c2Vy L3NlcnZlci9vYmovJykpCi0gICAgXQorICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3Nj ZW5hcmlvcygnZ2V0X3NlcnZlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlcnZlcnNfdXRpbHMudGVzdF9jYXNlcykKIAogICAgIGRlZiBzZXRVcChzZWxmKToK ICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBhZGQgdGhlIHNlcnZlciB0byB0ZXN0IHRoZSBHRVQg QVBJIiIiCi0gICAgICAgIHNlbGYuc2VydmVyX2lkID0gdXRpbHMuY3JlYXRlX3NlcnZlcihzZWxm LnNlcnZlcikKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnc2hhcmVkJyk6CisKKyAgICAgICAg ICAgIHNlbGYuc2VydmVyWydzaGFyZWQnXSA9IFRydWUKKyAgICAgICAgICAgIHVybCA9ICJ7MH17 MX0vIi5mb3JtYXQoc2VsZi51cmwsIHV0aWxzLlNFUlZFUl9HUk9VUCkKKyAgICAgICAgICAgIHJl c3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAgICAgICB1cmwsCisgICAgICAg ICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKKyAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHJlc3Bv bnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQorICAg ICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSByZXNwb25zZV9kYXRhWydub2RlJ11bJ19pZCddCisg ICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHV0aWxzLmNyZWF0ZV9z ZXJ2ZXIoc2VsZi5zZXJ2ZXIpCiAgICAgICAgIHNlcnZlcl9kaWN0ID0geyJzZXJ2ZXJfaWQiOiBz ZWxmLnNlcnZlcl9pZH0KICAgICAgICAgdXRpbHMud3JpdGVfbm9kZV9pbmZvKCJzaWQiLCBzZXJ2 ZXJfZGljdCkKIAorICAgIGRlZiBnZXRfc2VydmVyKHNlbGYsIHNlcnZlcl9pZCk6CisgICAgICAg IHJldHVybiBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQ KSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQor CiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwg ZmV0Y2ggdGhlIGFkZGVkIHNlcnZlcnMgdG8gb2JqZWN0IGJyb3dzZXIuICIiIgogICAgICAgICBz ZXJ2ZXJfaWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCiAg ICAgICAgIGlmIG5vdCBzZXJ2ZXJfaWQ6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlNl cnZlciBub3QgZm91bmQgdG8gdGVzdCBHRVQgQVBJIikKLSAgICAgICAgcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCi0gICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKyAgICAgICAg cmVzcG9uc2UgPSBOb25lCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAg ICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgImluY29ycmVjdF9zZXJ2ZXJfaWQiKToKKyAgICAgICAg ICAgICAgICBzZXJ2ZXJfaWQgPSA5OTk5CisgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICJz ZXJ2ZXJfbGlzdCIpOgorICAgICAgICAgICAgICAgIHNlcnZlcl9pZCA9ICcnCisgICAgICAgICAg ICBpZiBoYXNhdHRyKHNlbGYsICJzZXJ2ZXJfbm9kZSIpOgorICAgICAgICAgICAgICAgIHNlcnZl cl9pZCA9ICcnCisgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICdzaGFyZWQnKToKKyAgICAg ICAgICAgICAgICBzZXJ2ZXJfaWQgPSBzZWxmLnNlcnZlcl9pZAorICAgICAgICAgICAgcmVzcG9u c2UgPSBzZWxmLmdldF9zZXJ2ZXIoc2VydmVyX2lkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs cyhyZXNwb25zZS5zdGF0dXNfY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5l eHBlY3RlZF9kYXRhWyJzdGF0dXNfY29kZSJdKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgog ICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FMaXRlICIi IgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv dGVzdHMvdGVzdF9zZXJ2ZXJfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfcHV0LnB5CmluZGV4IDMxYzdhNDc2ZS4uNzQ2 NzRjN2NiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90ZXN0cy90ZXN0X3NlcnZlcl9wdXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfcHV0LnB5CkBAIC0xMSwzMiAr MTEsNjEgQEAgaW1wb3J0IGpzb24KIAogZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBC YXNlVGVzdEdlbmVyYXRvcgogZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9y dCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIHNlcnZlcnNfdXRp bHMKIAogCiBjbGFzcyBTZXJ2ZXJVcGRhdGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAg ICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCB1cGRhdGUgc2VydmVyJ3MgY29tbWVudCBmaWVsZC4gIiIi CiAKLSAgICBzY2VuYXJpb3MgPSBbCi0gICAgICAgICMgRmV0Y2hpbmcgdGhlIGRlZmF1bHQgdXJs IGZvciBzZXJ2ZXIgbm9kZQotICAgICAgICAoJ0RlZmF1bHQgU2VydmVyIE5vZGUgdXJsJywgZGlj dCh1cmw9Jy9icm93c2VyL3NlcnZlci9vYmovJykpCi0gICAgXQorICAgIHNjZW5hcmlvcyA9IHV0 aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygndXBkYXRlX3NlcnZlcicsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcnNfdXRpbHMudGVzdF9jYXNlcykKIAogICAg IGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBhZGQgdGhlIHNlcnZl ciB0byB0ZXN0IHRoZSBQVVQgQVBJIiIiCi0gICAgICAgIHNlbGYuc2VydmVyX2lkID0gdXRpbHMu Y3JlYXRlX3NlcnZlcihzZWxmLnNlcnZlcikKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnY2xl YXJfc2F2ZV9wYXNzd29yZCcpOgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3NhdmVfcGFzc3dv cmQnXSA9IDEKKyAgICAgICAgY3JlYXRlX3NlcnZlcl91cmwgPSAiL2Jyb3dzZXIvc2VydmVyL29i ai97MH0vIi5mb3JtYXQoCisgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVApCisKKyAgICAg ICAgc2VsZi5zZXJ2ZXJfaWQgPSBcCisgICAgICAgICAgICBzZXJ2ZXJzX3V0aWxzLmNyZWF0ZV9z ZXJ2ZXJfd2l0aF9hcGkoc2VsZiwgY3JlYXRlX3NlcnZlcl91cmwpCiAgICAgICAgIHNlcnZlcl9k aWN0ID0geyJzZXJ2ZXJfaWQiOiBzZWxmLnNlcnZlcl9pZH0KICAgICAgICAgdXRpbHMud3JpdGVf bm9kZV9pbmZvKCJzaWQiLCBzZXJ2ZXJfZGljdCkKIAorICAgIGRlZiB1cGRhdGVfc2VydmVyKHNl bGYpOgorICAgICAgICByZXR1cm4gc2VsZi50ZXN0ZXIucHV0KAorICAgICAgICAgICAgc2VsZi51 cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCisgICAgICAgICAgICBzdHIoc2Vs Zi5zZXJ2ZXJfaWQpLCBkYXRhPWpzb24uZHVtcHMoc2VsZi50ZXN0X2RhdGEpLAorICAgICAgICAg ICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgZGVmIGNvbm5lY3RfdG9fc2VydmVy KHNlbGYsIHVybCk6CisgICAgICAgIHJldHVybiBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAg ICAgdXJsLAorICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKKyAgICAg ICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICApCisKICAgICBkZWYgcnVu VGVzdChzZWxmKToKICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiB1cGRhdGUgdGhlIHNlcnZlciBk ZXRhaWxzIiIiCiAgICAgICAgIGlmIG5vdCBzZWxmLnNlcnZlcl9pZDoKICAgICAgICAgICAgIHJh aXNlIEV4Y2VwdGlvbigiTm8gc2VydmVyIHRvIHVwZGF0ZS4iKQotICAgICAgICBkYXRhID0geyJj b21tZW50Ijogc2VsZi5zZXJ2ZXJbJ2NvbW1lbnQnXSwgImlkIjogc2VsZi5zZXJ2ZXJfaWR9Ci0g ICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dCgKLSAgICAgICAgICAgIHNlbGYu dXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKwotICAgICAgICAgICAgc3RyKHNl bGYuc2VydmVyX2lkKSwgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAotICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1dF9yZXNwb25z ZS5zdGF0dXNfY29kZSwgMjAwKQorICAgICAgICBpZiAnY29tbWVudCcgaW4gc2VsZi50ZXN0X2Rh dGE6CisgICAgICAgICAgICBzZWxmLnRlc3RfZGF0YVsiY29tbWVudCJdID0gc2VsZi5zZXJ2ZXJb J2NvbW1lbnQnXQorICAgICAgICBzZWxmLnRlc3RfZGF0YVsiaWQiXSA9IHNlbGYuc2VydmVyX2lk CisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAgICAgIGlmIGhhc2F0 dHIoc2VsZiwgJ3NlcnZlcl9jb25uZWN0ZWQnKToKKyAgICAgICAgICAgICAgICB1cmwgPSAnL2Jy b3dzZXIvc2VydmVyL2Nvbm5lY3QvezB9L3sxfScuZm9ybWF0KAorICAgICAgICAgICAgICAgICAg ICB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lk KQorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydwYXNzd29yZCddID0gc2VsZi5zZXJ2ZXJb J2RiX3Bhc3N3b3JkJ10KKyAgICAgICAgICAgICAgICBzZWxmLmNvbm5lY3RfdG9fc2VydmVyKHVy bCkKKyAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudXBkYXRlX3NlcnZlcigpCisgICAg ICAgIGVsc2U6CisgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICd3cm9uZ19zZXJ2ZXJfaWQn KToKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IDk5OTkKKyAgICAgICAgICAgIHB1 dF9yZXNwb25zZSA9IHNlbGYudXBkYXRlX3NlcnZlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5leHBlY3RlZF9kYXRhWyJzdGF0dXNfY29kZSJdKQogCiAgICAgZGVmIHRlYXJEb3duKHNl bGYpOgogICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FM aXRlIiIiCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90ZXN0cy90ZXN0X3NoYXJlZF9zZXJ2ZXIucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NoYXJlZF9zZXJ2ZXIucHkKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iM2Y4MjE1YTQKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3No YXJlZF9zZXJ2ZXIucHkKQEAgLTAsMCArMSwxMzQgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisj IHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0g MjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJl bGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zy b20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5 dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0 IHV0aWxzIGFzIHNlcnZlcnNfdXRpbHMKK2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24udGVz dF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91 dGlscy50ZXN0X3V0aWxzIGltcG9ydCBcCisgICAgY3JlYXRlX3VzZXJfd2lzZV90ZXN0X2NsaWVu dAoraW1wb3J0IGNvbmZpZworCit0ZXN0X3VzZXJfZGV0YWlscyA9IGNvbmZpZ19kYXRhWworICAg ICdwZ0FkbWluNF90ZXN0X25vbl9hZG1pbl9jcmVkZW50aWFscyddCisKKworY2xhc3MgU2hhcmVk U2VydmVyc0dldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIKKyAgICBUaGlz IGNsYXNzIHdpbGwgZmV0Y2ggYWRkZWQgc2VydmVycyB1bmRlciBkZWZhdWx0IHNlcnZlciBncm91 cAorICAgIGJ5IHJlc3BvbnNlIGNvZGUuCisgICAgIiIiCisKKyAgICBzY2VuYXJpb3MgPSB1dGls cy5nZW5lcmF0ZV9zY2VuYXJpb3MoJ2dldF9zaGFyZWRfc2VydmVyJywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyc191dGlscy50ZXN0X2Nhc2VzKQorCisg ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGFkZCB0aGUgc2Vy dmVyIHRvIHRlc3QgdGhlIEdFVCBBUEkiIiIKKworICAgICAgICBpZiBjb25maWcuU0VSVkVSX01P REUgaXMgRmFsc2U6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KAorICAgICAgICAgICAgICAg ICJDYW4gbm90IHJ1biBzaGFyZWQgc2VydmVycyB0ZXN0IGNhc2VzIGluIHRoZSBTRVJWRVIgbW9k ZS4iCisgICAgICAgICAgICApCisgICAgICAgIHNlbGYuc2VydmVyWydzaGFyZWQnXSA9IFRydWUK KyAgICAgICAgdXJsID0gInswfXsxfS8iLmZvcm1hdChzZWxmLnVybCwgdXRpbHMuU0VSVkVSX0dS T1VQKQorICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICB1 cmwsCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5zZXJ2ZXIpLAorICAgICAgICAg ICAgY29udGVudF90eXBlPSdodG1sL2pzb24nCisgICAgICAgICkKKyAgICAgICAgcmVzcG9uc2Vf ZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoJ3V0Zi04JykpCisgICAgICAg IHNlbGYuc2VydmVyX2lkID0gcmVzcG9uc2VfZGF0YVsnbm9kZSddWydfaWQnXQorCisgICAgICAg IHNlcnZlcl9kaWN0ID0geyJzZXJ2ZXJfaWQiOiBzZWxmLnNlcnZlcl9pZH0KKyAgICAgICAgdXRp bHMud3JpdGVfbm9kZV9pbmZvKCJzaWQiLCBzZXJ2ZXJfZGljdCkKKworICAgIGRlZiBnZXRfc2Vy dmVyKHNlbGYsIHNlcnZlcl9pZCk6CisgICAgICAgIHJldHVybiBzZWxmLnRlc3Rlci5nZXQoc2Vs Zi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgQGNyZWF0ZV91c2VyX3dpc2VfdGVz dF9jbGllbnQodGVzdF91c2VyX2RldGFpbHMpCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAg ICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2ggdGhlIGFkZGVkIHNlcnZlcnMgdG8gb2Jq ZWN0IGJyb3dzZXIuICIiIgorICAgICAgICBpZiBub3Qgc2VsZi5zZXJ2ZXJfaWQ6CisgICAgICAg ICAgICByYWlzZSBFeGNlcHRpb24oIlNlcnZlciBub3QgZm91bmQgdG8gdGVzdCBHRVQgQVBJIikK KyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVz dDoKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ25vX3NlcnZlcl9pZCcpOgorICAgICAg ICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ3NlcnZlcl9saXN0Jyk6CisgICAgICAgICAgICAg ICAgICAgIHNlbGYudXJsID0gJy9icm93c2VyL3NlcnZlci9ub2Rlcy8nCisgICAgICAgICAgICAg ICAgc2VydmVyX2lkID0gJycKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuZ2V0X3Nl cnZlcihzZXJ2ZXJfaWQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3Bv bnNlID0gc2VsZi5nZXRfc2VydmVyKHNlbGYuc2VydmVyX2lkKQorICAgICAgICBzZWxmLmFzc2Vy dEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5leHBlY3RlZF9kYXRhWyJzdGF0dXNfY29kZSJdKQorCisgICAgZGVmIHRlYXJEb3duKHNl bGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUgc2VydmVyIGZyb20gU1FM aXRlICIiIgorICAgICAgICB1dGlscy5kZWxldGVfc2VydmVyX3dpdGhfYXBpKHNlbGYudGVzdGVy LCBzZWxmLnNlcnZlcl9pZCkKKworCitjbGFzcyBTaGFyZWRTZXJ2ZXJVcGRhdGVUZXN0Q2FzZShC YXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCB1cGRhdGUgc2VydmVy J3MgY29tbWVudCBmaWVsZC4gIiIiCisKKyAgICBzY2VuYXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9z Y2VuYXJpb3MoJ3VwZGF0ZV9zaGFyZWRfc2VydmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyc191dGlscy50ZXN0X2Nhc2VzKQorCisgICAgZGVmIHNl dFVwKHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGFkZCB0aGUgc2VydmVyIHRvIHRl c3QgdGhlIFBVVCBBUEkiIiIKKyAgICAgICAgaWYgY29uZmlnLlNFUlZFUl9NT0RFIGlzIEZhbHNl OgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgKKyAgICAgICAgICAgICAgICAiQ2FuIG5vdCBy dW4gc2hhcmVkIHNlcnZlcnMgdGVzdCBjYXNlcyBpbiB0aGUgRGVza3RvcCBtb2RlLiIKKyAgICAg ICAgICAgICkKKyAgICAgICAgc2VsZi5zZXJ2ZXJbJ3NoYXJlZCddID0gVHJ1ZQorICAgICAgICBp ZiBoYXNhdHRyKHNlbGYsICdjbGVhcl9zYXZlX3Bhc3N3b3JkJyk6CisgICAgICAgICAgICBzZWxm LnNlcnZlclsnc2F2ZV9wYXNzd29yZCddID0gMQorICAgICAgICBjcmVhdGVfc2VydmVyX3VybCA9 ICIvYnJvd3Nlci9zZXJ2ZXIvb2JqL3swfS8iLmZvcm1hdCgKKyAgICAgICAgICAgIHV0aWxzLlNF UlZFUl9HUk9VUCkKKworICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IFwKKyAgICAgICAgICAgIHNl cnZlcnNfdXRpbHMuY3JlYXRlX3NlcnZlcl93aXRoX2FwaShzZWxmLCBjcmVhdGVfc2VydmVyX3Vy bCkKKyAgICAgICAgc2VydmVyX2RpY3QgPSB7InNlcnZlcl9pZCI6IHNlbGYuc2VydmVyX2lkfQor ICAgICAgICB1dGlscy53cml0ZV9ub2RlX2luZm8oInNpZCIsIHNlcnZlcl9kaWN0KQorCisgICAg ZGVmIHVwZGF0ZV9zZXJ2ZXIoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnRlc3Rlci5wdXQo CisgICAgICAgICAgICBzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsK KyAgICAgICAgICAgIHN0cihzZWxmLnNlcnZlcl9pZCksIGRhdGE9anNvbi5kdW1wcyhzZWxmLnRl c3RfZGF0YSksCisgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICBk ZWYgY29ubmVjdF90b19zZXJ2ZXIoc2VsZiwgdXJsKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGVz dGVyLnBvc3QoCisgICAgICAgICAgICB1cmwsCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMo c2VsZi5zZXJ2ZXIpLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nCisgICAg ICAgICkKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9u IHVwZGF0ZSB0aGUgc2VydmVyIGRldGFpbHMiIiIKKyAgICAgICAgaWYgbm90IHNlbGYuc2VydmVy X2lkOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBzZXJ2ZXIgdG8gdXBkYXRlLiIp CisgICAgICAgIGlmICdjb21tZW50JyBpbiBzZWxmLnRlc3RfZGF0YToKKyAgICAgICAgICAgIHNl bGYudGVzdF9kYXRhWyJjb21tZW50Il0gPSBzZWxmLnNlcnZlclsnY29tbWVudCddCisgICAgICAg IHNlbGYudGVzdF9kYXRhWyJpZCJdID0gc2VsZi5zZXJ2ZXJfaWQKKyAgICAgICAgaWYgc2VsZi5p c19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2VsZi51cGRhdGVf c2VydmVyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ3dy b25nX3NlcnZlcl9pZCcpOgorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkID0gOTk5OQor ICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2VsZi51cGRhdGVfc2VydmVyKCkKKyAgICAgICAg c2VsZi5hc3NlcnRFcXVhbHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkX2RhdGFbInN0YXR1c19jb2RlIl0pCisKKyAgICBk ZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBz ZXJ2ZXIgZnJvbSBTUUxpdGUiIiIKKyAgICAgICAgdXRpbHMuZGVsZXRlX3NlcnZlcl93aXRoX2Fw aShzZWxmLnRlc3Rlciwgc2VsZi5zZXJ2ZXJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy91dGlscy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3V0aWxzLnB5Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uODY4MGIyOWZiCi0tLSAvZGV2L251bGwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdXRpbHMucHkK QEAgLTAsMCArMSw1MiBAQAoraW1wb3J0IG9zCitpbXBvcnQganNvbgoraW1wb3J0IHNxbGl0ZTMK K2ltcG9ydCBjb25maWcKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQg dGVzdF91dGlscyBhcyB1dGlscworCisKK0NVUlJFTlRfUEFUSCA9IG9zLnBhdGguZGlybmFtZShv cy5wYXRoLnJlYWxwYXRoKF9fZmlsZV9fKSkKK3dpdGggb3BlbihDVVJSRU5UX1BBVEggKyAiL3Nl cnZlcnNfdGVzdF9kYXRhLmpzb24iKSBhcyBkYXRhX2ZpbGU6CisgICAgdGVzdF9jYXNlcyA9IGpz b24ubG9hZChkYXRhX2ZpbGUpCisKKworZGVmIGNyZWF0ZV9zZXJ2ZXIoc2VydmVyLCBTRVJWRVJf R1JPVVApOgorICAgICIiIlRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjcmVhdGUgc2VydmVyIiIi CisgICAgdHJ5OgorICAgICAgICBjb25uID0gc3FsaXRlMy5jb25uZWN0KGNvbmZpZy5URVNUX1NR TElURV9QQVRIKQorICAgICAgICAjIENyZWF0ZSB0aGUgc2VydmVyCisgICAgICAgIGN1ciA9IGNv bm4uY3Vyc29yKCkKKyAgICAgICAgaWYgJ3NoYXJlZCcgbm90IGluIHNlcnZlcjoKKyAgICAgICAg ICAgIHNlcnZlclsnc2hhcmVkJ10gPSBGYWxzZQorICAgICAgICBzZXJ2ZXJfZGV0YWlscyA9ICgx LCBTRVJWRVJfR1JPVVAsIHNlcnZlclsnbmFtZSddLCBzZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyWydwb3J0J10sIHNlcnZlclsnZGInXSwgc2VydmVyWyd1 c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3JvbGUnXSwgc2Vy dmVyWydzc2xtb2RlJ10sIHNlcnZlclsnY29tbWVudCddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXJ2ZXJbJ3NoYXJlZCddKQorICAgICAgICBjdXIuZXhlY3V0ZSgnSU5TRVJUIElOVE8g c2VydmVyICh1c2VyX2lkLCBzZXJ2ZXJncm91cF9pZCwgbmFtZSwgaG9zdCwgJworICAgICAgICAg ICAgICAgICAgICAncG9ydCwgbWFpbnRlbmFuY2VfZGIsIHVzZXJuYW1lLCByb2xlLCBzc2xfbW9k ZSwnCisgICAgICAgICAgICAgICAgICAgICcgY29tbWVudCwgc2hhcmVkKSBWQUxVRVMgKD8sPyw/ LD8sPyw/LD8sPyw/LD8sPyknLAorICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfZGV0YWlscykK KyAgICAgICAgc2VydmVyX2lkID0gY3VyLmxhc3Ryb3dpZAorICAgICAgICBjb25uLmNvbW1pdCgp CisgICAgICAgIGNvbm4uY2xvc2UoKQorCisgICAgICAgIHR5cGUgPSB1dGlscy5nZXRfc2VydmVy X3R5cGUoc2VydmVyKQorICAgICAgICBzZXJ2ZXJbJ3R5cGUnXSA9IHR5cGUKKworICAgICAgICBy ZXR1cm4gc2VydmVyX2lkCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGNlcHRpb246CisgICAg ICAgIHJhaXNlIEV4Y2VwdGlvbigiRXJyb3Igd2hpbGUgY3JlYXRpbmcgc2VydmVyLiAlcyIgJSBl eGNlcHRpb24pCisKKworZGVmIGNyZWF0ZV9zZXJ2ZXJfd2l0aF9hcGkoc2VsZiwgdXJsKToKKyAg ICB0cnk6CisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAg IHVybCwKKyAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhzZWxmLnNlcnZlciksCisgICAgICAg ICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgKQorICAgICAgICByZXNwb25z ZV9kYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKKyAgICAg ICAgc2VydmVyX2lkID0gcmVzcG9uc2VfZGF0YVsnbm9kZSddWydfaWQnXQorICAgICAgICByZXR1 cm4gc2VydmVyX2lkCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGNlcHRpb246CisgICAgICAg IHJhaXNlIEV4Y2VwdGlvbigiRXJyb3Igd2hpbGUgY3JlYXRpbmcgc2VydmVyLiAlcyIgJSBleGNl cHRpb24pCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc3Rh dGljL2ltZy9zZXJ2ZXJfZ3JvdXBfc2hhcmVkLnN2ZyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zdGF0aWMvaW1nL3NlcnZlcl9ncm91cF9zaGFyZWQuc3ZnCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNmE0ZTIyYmY4Ci0tLSAvZGV2L251bGwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3N0YXRpYy9pbWcvc2VydmVyX2dyb3Vw X3NoYXJlZC5zdmcKQEAgLTAsMCArMSw0MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu Zz0idXRmLTgiPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4yLjMsIFNW RyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4KKzxzdmcg dmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv c3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5 PSIwcHgiCisJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5l dyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz cyI+CisJLnN0MHtmaWxsOiNGMkYyRjI7fQorCS5zdDF7ZmlsbDojOUJBNUIwO30KKwkuc3Qye2Zp bGw6bm9uZTtzdHJva2U6IzlCQTVCMDtzdHJva2Utd2lkdGg6MC43NTtzdHJva2UtbWl0ZXJsaW1p dDoxO30KKwkuc3Qze2ZpbGw6I0Y3RjdGNzt9CisJLnN0NHtmaWxsOiMzNTRBNUY7fQorPC9zdHls ZT4KKzxnPgorCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02LjcsMi4xaDQuNmMwLjYsMCwxLjEsMC41 LDEuMSwxLjFWNGMwLDAuNi0wLjUsMS4xLTEuMSwxLjFINi43QzYuMSw1LjEsNS42LDQuNiw1LjYs NFYzLjIKKwkJQzUuNiwyLjYsNi4xLDIuMSw2LjcsMi4xeiIvPgorCTxwYXRoIGNsYXNzPSJzdDEi IGQ9Ik0xMS4zLDIuNWMwLjQsMCwwLjgsMC4zLDAuOCwwLjh2MC44YzAsMC40LTAuMywwLjgtMC44 LDAuOEg2LjdDNi4zLDQuOCw2LDQuNSw2LDQuMVYzLjIKKwkJYzAtMC40LDAuMy0wLjcsMC44LTAu N0gxMS4zIE0xMS4zLDEuN0g2LjdjLTAuOCwwLTEuNSwwLjctMS41LDEuNVY0YzAsMC44LDAuNywx LjUsMS41LDEuNWg0LjZjMC44LDAsMS41LTAuNywxLjUtMS41VjMuMgorCQlDMTIuOCwyLjQsMTIu MSwxLjcsMTEuMywxLjdMMTEuMywxLjd6Ii8+CisJPGxpbmUgY2xhc3M9InN0MiIgeDE9IjguOSIg eTE9IjMuNiIgeDI9IjYuOCIgeTI9IjMuNiIvPgorCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02Ljcs NS4yaDQuNmMwLjYsMCwxLjEsMC41LDEuMSwxLjF2MC44YzAsMC42LTAuNSwxLjEtMS4xLDEuMUg2 LjdjLTAuNiwwLTEuMS0wLjUtMS4xLTEuMVY2LjMKKwkJQzUuNiw1LjcsNi4xLDUuMiw2LjcsNS4y eiIvPgorCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xMS4zLDUuNmMwLjQsMCwwLjgsMC4zLDAuOCww Ljh2MC44YzAsMC40LTAuMywwLjgtMC44LDAuOEg2LjdDNi4zLDcuOSw2LDcuNiw2LDcuMVY2LjMK KwkJYzAtMC40LDAuMy0wLjcsMC44LTAuN0wxMS4zLDUuNiBNMTEuMyw0LjhINi43Yy0wLjgsMC0x LjUsMC43LTEuNSwxLjV2MC44YzAsMC44LDAuNywxLjUsMS41LDEuNWg0LjZjMC44LDAsMS41LTAu NywxLjUtMS41VjYuMworCQlDMTIuOCw1LjUsMTIuMSw0LjgsMTEuMyw0LjhMMTEuMyw0Ljh6Ii8+ CisJPGxpbmUgY2xhc3M9InN0MiIgeDE9IjguOSIgeTE9IjYuNyIgeDI9IjYuOCIgeTI9IjYuNyIv PgorCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02LjcsOC4zaDQuNmMwLjYsMCwxLjEsMC41LDEuMSwx LjF2MC45YzAsMC42LTAuNSwxLjEtMS4xLDEuMWwwLDBINi43Yy0wLjYsMC0xLjEtMC41LTEuMS0x LjFsMCwwVjkuNAorCQlDNS42LDguOCw2LjEsOC4zLDYuNyw4LjNMNi43LDguM3oiLz4KKwk8cGF0 aCBjbGFzcz0ic3QxIiBkPSJNMTEuMyw4LjdjMC40LDAsMC44LDAuMywwLjgsMC44djAuOGMwLDAu NC0wLjMsMC44LTAuOCwwLjhINi43QzYuMywxMSw2LDEwLjcsNiwxMC4zVjkuNEM2LDksNi4zLDgu Nyw2LjcsOC43CisJCUgxMS4zIE0xMS4zLDcuOUg2LjdjLTAuOCwwLTEuNSwwLjctMS41LDEuNXYw LjhjMCwwLjgsMC43LDEuNSwxLjUsMS41aDQuNmMwLjgsMCwxLjUtMC43LDEuNS0xLjVWOS40QzEy LjgsOC42LDEyLjEsNy45LDExLjMsNy45egorCQkiLz4KKwk8bGluZSBjbGFzcz0ic3QyIiB4MT0i OC45IiB5MT0iOS44IiB4Mj0iNi44IiB5Mj0iOS44Ii8+Cis8L2c+Cis8cGF0aCBjbGFzcz0ic3Qz IiBkPSJNMTEuNiwxMC41Yy0wLjYsMC4zLTAuOCwwLjEtMS4xLTAuMmMtMC4xLTAuMi0wLjMtMC40 LTAuNi0wLjVMNy4xLDguNWMtMC4zLTAuMS0wLjctMC4yLTEtMC4yCisJQzUuMSw4LjEsNC4yLDgu NCwzLjQsOUwyLDEwLjF2Mi43aDAuOXYtMC4ybDMuNywxLjhjMC40LDAuMiwwLjcsMC4zLDEuMSww LjNjMC4zLDAsMC43LTAuMSwxLTAuMmw2LjEtMi42YzAuMy0wLjEsMC42LTAuNCwwLjctMC43CisJ YzAuMS0wLjMsMC4xLTAuNywwLTFjLTAuMy0wLjYtMS4xLTAuOS0xLjctMC42bC0wLjQsMC4yTDEx LjYsMTAuNSIvPgorPHBhdGggY2xhc3M9InN0NCIgZD0iTTE1LjUsMTAuMmMtMC4zLTAuNi0xLjEt MC45LTEuNy0wLjZsLTAuNCwwLjJsLTEuOCwwLjhsMC4zLDAuOGwxLjgtMC44bDAuNC0wLjJjMC4y LTAuMSwwLjUsMCwwLjYsMC4yCisJYzAuMSwwLjEsMC4xLDAuMiwwLDAuM2MwLDAuMS0wLjEsMC4y LTAuMiwwLjJsLTYuMSwyLjZjLTAuNSwwLjItMSwwLjItMS40LDBsLTQuMS0ydi0xLjJsMS0wLjhD NC41LDkuMiw1LjIsOSw2LDkuMQorCWMwLjMsMCwwLjYsMC4xLDAuOCwwLjJsMi44LDEuMmMwLjEs MCwwLjEsMC4xLDAuMiwwLjJjMC4xLDAuMSwwLjEsMC4zLDAsMC40YzAsMCwwLDAuMS0wLjEsMC4x Yy0wLjEsMC4xLTAuMywwLjItMC41LDAuMWwtMi4yLTEKKwlsLTAuNCwwLjhsMi4yLDFjMC4yLDAu MSwwLjQsMC4xLDAuNSwwLjFjMC40LDAsMC43LTAuMiwxLTAuNGMwLjEtMC4xLDAuMi0wLjIsMC4y LTAuM2MwLjItMC40LDAuMS0wLjktMC4xLTEuMgorCWMtMC4xLTAuMi0wLjMtMC40LTAuNi0wLjVM Ny4xLDguNWMtMC4zLTAuMS0wLjctMC4yLTEtMC4yQzUuMSw4LjEsNC4yLDguNCwzLjQsOUwyLjks OS40VjkuM2MwLTAuNi0wLjQtMS0xLTFIMS40Yy0wLjYsMC0xLDAuNC0xLDEKKwl2NC4xYzAsMC42 LDAuNCwxLDEsMWgwLjVjMC42LDAsMS0wLjQsMS0xdi0wLjZsMCwwdi0wLjJsMy43LDEuOGMwLjQs MC4yLDAuNywwLjMsMS4xLDAuM2MwLjMsMCwwLjctMC4xLDEtMC4ybDYuMS0yLjYKKwljMC4zLTAu MSwwLjYtMC40LDAuNy0wLjdDMTUuNywxMC45LDE1LjcsMTAuNSwxNS41LDEwLjJ6IE0xLjksMTMu NEgxLjRWOS4zaDAuNVYxMy40eiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc3RhdGljL2pzL3NlcnZlcl9ncm91cC5qcyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zdGF0aWMvanMvc2VydmVyX2dyb3VwLmpzCmluZGV4 IDliZDdkZjBmMy4uYWMxYTBjODIxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc3RhdGljL2pzL3NlcnZlcl9ncm91cC5qcworKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc3RhdGljL2pzL3NlcnZlcl9ncm91cC5qcwpAQCAtOSw4ICs5 LDggQEAKIAogZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyX2dyb3VwJywgWwogICAnc291cmNl cy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2ZvcicsICdqcXVlcnknLCAndW5kZXJzY29yZScsCi0g ICdzb3VyY2VzL3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2VyJywgJ3BnYWRtaW4uYnJvd3Nlci5u b2RlJywKLV0sIGZ1bmN0aW9uKGdldHRleHQsIHVybF9mb3IsICQsIF8sIHBnQWRtaW4pIHsKKyAg J3NvdXJjZXMvcGdhZG1pbicsICdwZ2FkbWluLnVzZXJfbWFuYWdlbWVudC5jdXJyZW50X3VzZXIn LCAncGdhZG1pbi5icm93c2VyJywgJ3BnYWRtaW4uYnJvd3Nlci5ub2RlJywKK10sIGZ1bmN0aW9u KGdldHRleHQsIHVybF9mb3IsICQsIF8sIHBnQWRtaW4sIGN1cnJlbnRfdXNlcikgewogCiAgIGlm ICghcGdBZG1pbi5Ccm93c2VyLk5vZGVzWydzZXJ2ZXJfZ3JvdXAnXSkgewogICAgIHBnQWRtaW4u QnJvd3Nlci5Ob2Rlc1snc2VydmVyX2dyb3VwJ10gPSBwZ0FkbWluLkJyb3dzZXIuTm9kZS5leHRl bmQoewpAQCAtMzksMTQgKzM5LDI1IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnNlcnZlcl9ncm91 cCcsIFsKICAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICBpZDogdW5kZWZpbmVkLAogICAg ICAgICAgIG5hbWU6IG51bGwsCisgICAgICAgICAgdXNlcl9pZDogdW5kZWZpbmVkLAogICAgICAg ICB9LAogICAgICAgICBzY2hlbWE6IFsKICAgICAgICAgICB7CiAgICAgICAgICAgICBpZDogJ2lk JywgbGFiZWw6IGdldHRleHQoJ0lEJyksIHR5cGU6ICdpbnQnLCBncm91cDogbnVsbCwKICAgICAg ICAgICAgIG1vZGU6IFsncHJvcGVydGllcyddLAorICAgICAgICAgICAgdmlzaWJsZTogZnVuY3Rp b24obW9kZWwpeworICAgICAgICAgICAgICBpZiAobW9kZWwuYXR0cmlidXRlcy51c2VyX2lkICE9 IGN1cnJlbnRfdXNlci5pZCAmJiAhY3VycmVudF91c2VyLmlzX2FkbWluKQorICAgICAgICAgICAg ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg ICB9LAogICAgICAgICAgIH0sewogICAgICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6IGdldHRl eHQoJ05hbWUnKSwgdHlwZTogJ3RleHQnLCBncm91cDogbnVsbCwKICAgICAgICAgICAgIG1vZGU6 IFsncHJvcGVydGllcycsICdlZGl0JywgJ2NyZWF0ZSddLAorICAgICAgICAgICAgZGlzYWJsZWQ6 IGZ1bmN0aW9uKG1vZGVsKXsKKyAgICAgICAgICAgICAgaWYgKG1vZGVsLmF0dHJpYnV0ZXMudXNl cl9pZCAhPSBjdXJyZW50X3VzZXIuaWQgJiYgIV8uaXNVbmRlZmluZWQobW9kZWwuYXR0cmlidXRl cy51c2VyX2lkKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAg cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfSwKICAgICAgICAgICB9LAogICAgICAgICBdLAog ICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7CkBAIC02OSw3ICs4MCwxMiBAQCBkZWZpbmUo J3BnYWRtaW4ubm9kZS5zZXJ2ZXJfZ3JvdXAnLCBbCiAgICAgICAgICAgcmV0dXJuIG51bGw7CiAg ICAgICAgIH0sCiAgICAgICB9KSwKLSAgICAgIGNhbkRyb3A6IGZ1bmN0aW9uKGl0ZW1EYXRhKSB7 IHJldHVybiBpdGVtRGF0YS5jYW5fZGVsZXRlOyB9LAorCisgICAgICBjYW5Ecm9wOiBmdW5jdGlv bihpdGVtRGF0YSkgeworICAgICAgICB2YXIgc2VydmVyT3duZXIgPSBpdGVtRGF0YS51c2VyX2lk OworICAgICAgICBpZiAoc2VydmVyT3duZXIgIT0gY3VycmVudF91c2VyLmlkKQorICAgICAgICAg IHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7IH0sCiAgICAgICBkcm9wQXNSZW1v dmU6IHRydWUsCiAgICAgICBjYW5EZWxldGU6IGZ1bmN0aW9uKGkpIHsKICAgICAgICAgdmFyIHMg PSBwZ0FkbWluLkJyb3dzZXIudHJlZS5zaWJsaW5ncyhpLCB0cnVlKTsKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy90ZW1wbGF0ZXMvY3NzL3NlcnZlcl9ncm91 cC5jc3MgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvdGVtcGxhdGVzL2Nzcy9z ZXJ2ZXJfZ3JvdXAuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2I1 YjhlNThhCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3RlbXBsYXRlcy9jc3Mvc2VydmVyX2dyb3VwLmNzcwpAQCAtMCwwICsxLDE3IEBACisuaWNv bi1zZXJ2ZXJfZ3JvdXAgeworICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3t7IHVybF9mb3IoJ05P REUtc2VydmVyX2dyb3VwLnN0YXRpYycsIGZpbGVuYW1lPSdpbWcvc2VydmVyX2dyb3VwLnN2Zycp IH19JykgIWltcG9ydGFudDsKKyAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgYmFj a2dyb3VuZC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7CisgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsK KyAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKKyAgaGVpZ2h0OiAxLjNlbTsKK30KKworLmljb24t c2VydmVyX2dyb3VwX3NoYXJlZCB7CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgne3sgdXJsX2Zv cignTk9ERS1zZXJ2ZXJfZ3JvdXAuc3RhdGljJywgZmlsZW5hbWU9J2ltZy9zZXJ2ZXJfZ3JvdXBf c2hhcmVkLnN2ZycpIH19JykgIWltcG9ydGFudDsKKyAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJl cGVhdDsKKyAgYmFja2dyb3VuZC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7CisgIGFsaWduLWNvbnRl bnQ6IGNlbnRlcjsKKyAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKKyAgaGVpZ2h0OiAxLjNlbTsK K30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL2Jyb3dzZXIuanMg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9icm93c2VyLmpzCmluZGV4IGY1YWIwOTM5 OS4uMGViNzg0MGIwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9i cm93c2VyLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL2Jyb3dzZXIuanMK QEAgLTE5LDcgKzE5LDcgQEAgZGVmaW5lKCdwZ2FkbWluLmJyb3dzZXInLCBbCiAgICdwZ2FkbWlu LmJyb3dzZXIuZXJyb3InLCAncGdhZG1pbi5icm93c2VyLmZyYW1lJywKICAgJ3BnYWRtaW4uYnJv d3Nlci5ub2RlJywgJ3BnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uJywgJ3BnYWRtaW4uYnJvd3Nl ci5hY3Rpdml0eScsCiAgICdzb3VyY2VzL2NvZGVtaXJyb3IvYWRkb24vZm9sZC9wZ2FkbWluLXNx bGZvbGRjb2RlJywKLSAgJ3BnYWRtaW4uYnJvd3Nlci5rZXlib2FyZCcsICdzb3VyY2VzL3RyZWUv cGdhZG1pbl90cmVlX3NhdmVfc3RhdGUnLAorICAncGdhZG1pbi5icm93c2VyLmtleWJvYXJkJywg J3NvdXJjZXMvdHJlZS9wZ2FkbWluX3RyZWVfc2F2ZV9zdGF0ZScsJ2pxdWVyeS5hY2lzb3J0YWJs ZScsICdqcXVlcnkuYWNpZnJhZ21lbnQnLAogXSwgZnVuY3Rpb24oCiAgIHRyZWUsCiAgIGdldHRl eHQsIHVybF9mb3IsIHJlcXVpcmUsICQsIF8sCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3RlbXBsYXRlcy9icm93c2VyL2pzL3V0aWxzLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci90 ZW1wbGF0ZXMvYnJvd3Nlci9qcy91dGlscy5qcwppbmRleCAzM2RkNjgwOWUuLjUxNmI2MjY5NyAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZW1wbGF0ZXMvYnJvd3Nlci9qcy91dGls cy5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3RlbXBsYXRlcy9icm93c2VyL2pzL3V0aWxz LmpzCkBAIC00NCw2ICs0NCw3IEBAIGRlZmluZSgncGdhZG1pbi5icm93c2VyLnV0aWxzJywKIAog ICBwZ0FkbWluWydjc3JmX3Rva2VuX2hlYWRlciddID0gJ3t7IGN1cnJlbnRfYXBwLmNvbmZpZy5n ZXQoJ1dURl9DU1JGX0hFQURFUlMnKVswXSB9fSc7CiAgIHBnQWRtaW5bJ2NzcmZfdG9rZW4nXSA9 ICd7eyBjc3JmX3Rva2VuKCkgfX0nOworICBwZ0FkbWluWydzZXJ2ZXJfbW9kZSddID0gJ3t7IGN1 cnJlbnRfYXBwLmNvbmZpZy5nZXQoJ1NFUlZFUl9NT0RFJykgfX0nOwogCiAgIC8qIEdldCB0aGUg aW5hY3Rpdml0eSByZWxhdGVkIGNvbmZpZyAqLwogICBwZ0FkbWluWyd1c2VyX2luYWN0aXZpdHlf dGltZW91dCddID0ge3sgY3VycmVudF9hcHAuY29uZmlnLmdldCgnVVNFUl9JTkFDVElWSVRZX1RJ TUVPVVQnKSB9fTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5IGIv d2ViL3BnYWRtaW4vbW9kZWwvX19pbml0X18ucHkKaW5kZXggMDM2ODFlMTIwLi5iMzNhZGMwNjIg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2Fk bWluL21vZGVsL19faW5pdF9fLnB5CkBAIC0yOSw3ICsyOSw3IEBAIGZyb20gZmxhc2tfc3FsYWxj aGVteSBpbXBvcnQgU1FMQWxjaGVteQogIwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotU0NIRU1BX1ZF UlNJT04gPSAyNQorU0NIRU1BX1ZFUlNJT04gPSAyNgogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIwpA QCAtMTczLDYgKzE3Myw3IEBAIGNsYXNzIFNlcnZlcihkYi5Nb2RlbCk6CiAgICAgKQogICAgIHR1 bm5lbF9pZGVudGl0eV9maWxlID0gZGIuQ29sdW1uKGRiLlN0cmluZyg2NCksIG51bGxhYmxlPVRy dWUpCiAgICAgdHVubmVsX3Bhc3N3b3JkID0gZGIuQ29sdW1uKGRiLlN0cmluZyg2NCksIG51bGxh YmxlPVRydWUpCisgICAgc2hhcmVkID0gZGIuQ29sdW1uKGRiLkJvb2xlYW4oKSwgbnVsbGFibGU9 RmFsc2UpCiAKIAogY2xhc3MgTW9kdWxlUHJlZmVyZW5jZShkYi5Nb2RlbCk6CkBAIC0zMDUsMyAr MzA2LDg4IEBAIGNsYXNzIERhdGFiYXNlKGRiLk1vZGVsKToKICAgICAgICAgbnVsbGFibGU9RmFs c2UsCiAgICAgICAgIHByaW1hcnlfa2V5PVRydWUKICAgICApCisKKworY2xhc3MgU2hhcmVkU2Vy dmVyKGRiLk1vZGVsKToKKyAgICAiIiJEZWZpbmUgYSBzaGFyZWQgUG9zdGdyZXMgc2VydmVyIiIi CisKKyAgICBfX3RhYmxlbmFtZV9fID0gJ3NoYXJlZHNlcnZlcicKKyAgICBpZCA9IGRiLkNvbHVt bihkYi5JbnRlZ2VyLCBwcmltYXJ5X2tleT1UcnVlKQorICAgIHVzZXJfaWQgPSBkYi5Db2x1bW4o CisgICAgICAgIGRiLkludGVnZXIsCisgICAgICAgIGRiLkZvcmVpZ25LZXkoJ3VzZXIuaWQnKQor ICAgICkKKyAgICBzZXJ2ZXJfb3duZXIgPSBkYi5Db2x1bW4oCisgICAgICAgIGRiLlN0cmluZygx MjgpLAorICAgICAgICBkYi5Gb3JlaWduS2V5KCd1c2VyLnVzZXJuYW1lJykKKyAgICApCisgICAg c2VydmVyZ3JvdXBfaWQgPSBkYi5Db2x1bW4oCisgICAgICAgIGRiLkludGVnZXIsCisgICAgICAg IGRiLkZvcmVpZ25LZXkoJ3NlcnZlcmdyb3VwLmlkJyksCisgICAgICAgIG51bGxhYmxlPUZhbHNl CisgICAgKQorICAgIG5hbWUgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKDEyOCksIG51bGxhYmxlPUZh bHNlKQorICAgIGhvc3QgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKDEyOCksIG51bGxhYmxlPVRydWUp CisgICAgaG9zdGFkZHIgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKDEyOCksIG51bGxhYmxlPVRydWUp CisgICAgcG9ydCA9IGRiLkNvbHVtbigKKyAgICAgICAgZGIuSW50ZWdlcigpLAorICAgICAgICBk Yi5DaGVja0NvbnN0cmFpbnQoJ3BvcnQgPj0gMSBBTkQgcG9ydCA8PSA2NTUzNCcpLAorICAgICAg ICBudWxsYWJsZT1GYWxzZSkKKyAgICBtYWludGVuYW5jZV9kYiA9IGRiLkNvbHVtbihkYi5TdHJp bmcoNjQpLCBudWxsYWJsZT1UcnVlKQorICAgIHVzZXJuYW1lID0gZGIuQ29sdW1uKGRiLlN0cmlu Zyg2NCksIG51bGxhYmxlPUZhbHNlKQorICAgIHBhc3N3b3JkID0gZGIuQ29sdW1uKGRiLlN0cmlu Zyg2NCksIG51bGxhYmxlPVRydWUpCisgICAgc2F2ZV9wYXNzd29yZCA9IGRiLkNvbHVtbigKKyAg ICAgICAgZGIuSW50ZWdlcigpLAorICAgICAgICBkYi5DaGVja0NvbnN0cmFpbnQoJ3NhdmVfcGFz c3dvcmQgPj0gMCBBTkQgc2F2ZV9wYXNzd29yZCA8PSAxJyksCisgICAgICAgIG51bGxhYmxlPUZh bHNlCisgICAgKQorICAgIHJvbGUgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKDY0KSwgbnVsbGFibGU9 VHJ1ZSkKKyAgICBzc2xfbW9kZSA9IGRiLkNvbHVtbigKKyAgICAgICAgZGIuU3RyaW5nKDE2KSwK KyAgICAgICAgZGIuQ2hlY2tDb25zdHJhaW50KAorICAgICAgICAgICAgInNzbF9tb2RlIElOICgn YWxsb3cnLCAncHJlZmVyJywgJ3JlcXVpcmUnLCAnZGlzYWJsZScsICIKKyAgICAgICAgICAgICIn dmVyaWZ5LWNhJywgJ3ZlcmlmeS1mdWxsJykiCisgICAgICAgICksCisgICAgICAgIG51bGxhYmxl PUZhbHNlKQorICAgIGNvbW1lbnQgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKDEwMjQpLCBudWxsYWJs ZT1UcnVlKQorICAgIGRpc2NvdmVyeV9pZCA9IGRiLkNvbHVtbihkYi5TdHJpbmcoMTI4KSwgbnVs bGFibGU9VHJ1ZSkKKyAgICBzZXJ2ZXJzID0gZGIucmVsYXRpb25zaGlwKAorICAgICAgICAnU2Vy dmVyR3JvdXAnLAorICAgICAgICBiYWNrcmVmPWRiLmJhY2tyZWYoJ3NoYXJlZHNlcnZlcicsIGNh c2NhZGU9ImFsbCwgZGVsZXRlLW9ycGhhbiIpLAorICAgICAgICBsYXp5PSdqb2luZWQnCisgICAg KQorICAgIGRiX3JlcyA9IGRiLkNvbHVtbihkYi5UZXh0KCksIG51bGxhYmxlPVRydWUpCisgICAg cGFzc2ZpbGUgPSBkYi5Db2x1bW4oZGIuVGV4dCgpLCBudWxsYWJsZT1UcnVlKQorICAgIHNzbGNl cnQgPSBkYi5Db2x1bW4oZGIuVGV4dCgpLCBudWxsYWJsZT1UcnVlKQorICAgIHNzbGtleSA9IGRi LkNvbHVtbihkYi5UZXh0KCksIG51bGxhYmxlPVRydWUpCisgICAgc3Nscm9vdGNlcnQgPSBkYi5D b2x1bW4oZGIuVGV4dCgpLCBudWxsYWJsZT1UcnVlKQorICAgIHNzbGNybCA9IGRiLkNvbHVtbihk Yi5UZXh0KCksIG51bGxhYmxlPVRydWUpCisgICAgc3NsY29tcHJlc3Npb24gPSBkYi5Db2x1bW4o CisgICAgICAgIGRiLkludGVnZXIoKSwKKyAgICAgICAgZGIuQ2hlY2tDb25zdHJhaW50KCdzc2xj b21wcmVzc2lvbiA+PSAwIEFORCBzc2xjb21wcmVzc2lvbiA8PSAxJyksCisgICAgICAgIG51bGxh YmxlPUZhbHNlCisgICAgKQorICAgIGJnY29sb3IgPSBkYi5Db2x1bW4oZGIuVGV4dCgxMCksIG51 bGxhYmxlPVRydWUpCisgICAgZmdjb2xvciA9IGRiLkNvbHVtbihkYi5UZXh0KDEwKSwgbnVsbGFi bGU9VHJ1ZSkKKyAgICBzZXJ2aWNlID0gZGIuQ29sdW1uKGRiLlRleHQoKSwgbnVsbGFibGU9VHJ1 ZSkKKyAgICBjb25uZWN0X3RpbWVvdXQgPSBkYi5Db2x1bW4oZGIuSW50ZWdlcigpLCBudWxsYWJs ZT1GYWxzZSkKKyAgICB1c2Vfc3NoX3R1bm5lbCA9IGRiLkNvbHVtbigKKyAgICAgICAgZGIuSW50 ZWdlcigpLAorICAgICAgICBkYi5DaGVja0NvbnN0cmFpbnQoJ3VzZV9zc2hfdHVubmVsID49IDAg QU5EIHVzZV9zc2hfdHVubmVsIDw9IDEnKSwKKyAgICAgICAgbnVsbGFibGU9RmFsc2UKKyAgICAp CisgICAgdHVubmVsX2hvc3QgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKDEyOCksIG51bGxhYmxlPVRy dWUpCisgICAgdHVubmVsX3BvcnQgPSBkYi5Db2x1bW4oCisgICAgICAgIGRiLkludGVnZXIoKSwK KyAgICAgICAgZGIuQ2hlY2tDb25zdHJhaW50KCdwb3J0IDw9IDY1NTM0JyksCisgICAgICAgIG51 bGxhYmxlPVRydWUpCisgICAgdHVubmVsX3VzZXJuYW1lID0gZGIuQ29sdW1uKGRiLlN0cmluZyg2 NCksIG51bGxhYmxlPVRydWUpCisgICAgdHVubmVsX2F1dGhlbnRpY2F0aW9uID0gZGIuQ29sdW1u KAorICAgICAgICBkYi5JbnRlZ2VyKCksCisgICAgICAgIGRiLkNoZWNrQ29uc3RyYWludCgndHVu bmVsX2F1dGhlbnRpY2F0aW9uID49IDAgQU5EICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICd0dW5uZWxfYXV0aGVudGljYXRpb24gPD0gMScpLAorICAgICAgICBudWxsYWJsZT1GYWxzZQor ICAgICkKKyAgICB0dW5uZWxfaWRlbnRpdHlfZmlsZSA9IGRiLkNvbHVtbihkYi5TdHJpbmcoNjQp LCBudWxsYWJsZT1UcnVlKQorICAgIHR1bm5lbF9wYXNzd29yZCA9IGRiLkNvbHVtbihkYi5TdHJp bmcoNjQpLCBudWxsYWJsZT1UcnVlKQorICAgIHNoYXJlZCA9IGRiLkNvbHVtbihkYi5Cb29sZWFu KCksIG51bGxhYmxlPUZhbHNlKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vcHJlZmVyZW5jZXMv X19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9wcmVmZXJlbmNlcy9fX2luaXRfXy5weQppbmRleCA2 MjEyZjYzZjguLmRiMTFkMWQwOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vcHJlZmVyZW5jZXMv X19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vcHJlZmVyZW5jZXMvX19pbml0X18ucHkKQEAg LTIzLDYgKzIzLDcgQEAgZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IHN1Y2Nlc3NfcmV0 dXJuLCBcCiBmcm9tIHBnYWRtaW4udXRpbHMubWVudSBpbXBvcnQgTWVudUl0ZW0KIGZyb20gcGdh ZG1pbi51dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMKIGZyb20gcGdhZG1pbi51 dGlscy5jb25zdGFudHMgaW1wb3J0IE1JTUVUWVBFX0FQUF9KUworZnJvbSBwZ2FkbWluLmJyb3dz ZXIuc2VydmVyX2dyb3VwcyBpbXBvcnQgU2VydmVyR3JvdXBNb2R1bGUgYXMgc2dtCiAKIE1PRFVM RV9OQU1FID0gJ3ByZWZlcmVuY2VzJwogCkBAIC0yMDMsNiArMjA0LDcgQEAgZGVmIHNhdmUocGlk KToKIAogICAgIHJlcywgbXNnID0gUHJlZmVyZW5jZXMuc2F2ZSgKICAgICAgICAgZGF0YVsnbWlk J10sIGRhdGFbJ2NhdGVnb3J5X2lkJ10sIGRhdGFbJ2lkJ10sIGRhdGFbJ3ZhbHVlJ10pCisgICAg c2dtLmdldF9ub2RlcyhzZ20pCiAKICAgICBpZiBub3QgcmVzOgogICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPW1zZykKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3ByZWZlcmVuY2VzL3N0YXRpYy9qcy9wcmVmZXJlbmNlcy5qcyBiL3dlYi9wZ2FkbWluL3ByZWZl cmVuY2VzL3N0YXRpYy9qcy9wcmVmZXJlbmNlcy5qcwppbmRleCA2MmVkYTdhYTYuLjZjMzVjZjBk NiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vcHJlZmVyZW5jZXMvc3RhdGljL2pzL3ByZWZlcmVu Y2VzLmpzCisrKyBiL3dlYi9wZ2FkbWluL3ByZWZlcmVuY2VzL3N0YXRpYy9qcy9wcmVmZXJlbmNl cy5qcwpAQCAtNDYzLDYgKzQ2Myw3IEBAIGRlZmluZSgncGdhZG1pbi5wcmVmZXJlbmNlcycsIFsK ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKGUuYnV0dG9uLnRleHQgPT0gZ2V0dGV4 dCgnU2F2ZScpKSB7CisgICAgICAgICAgICAgIGRlYnVnZ2VyOwogICAgICAgICAgICAgICBsZXQg cmVxdWlyZXNfcmVmcmVzaCA9IGZhbHNlOwogICAgICAgICAgICAgICBwcmVmZXJlbmNlcy51cGRh dGVBbGwoKTsKIApAQCAtNDc3LDYgKzQ3OCwyOSBAQCBkZWZpbmUoJ3BnYWRtaW4ucHJlZmVyZW5j ZXMnLCBbCiAgICAgICAgICAgICAgICAgaWYocHJlZi5uYW1lID09ICd0aGVtZScpIHsKICAgICAg ICAgICAgICAgICAgIHJlcXVpcmVzX3JlZnJlc2ggPSB0cnVlOwogICAgICAgICAgICAgICAgIH0K KworICAgICAgICAgICAgICAgIGlmKHByZWYubmFtZSA9PSAnaGlkZV9zaGFyZWRfc2VydmVyJykg eworICAgICAgICAgICAgICAgICAgQWxlcnRpZnkuY29uZmlybSgKKyAgICAgICAgICAgICAgICAg ICAgZ2V0dGV4dCgnQnJvd3NlciB0cmVlIHJlZnJlc2ggcmVxdWlyZWQnKSwKKyAgICAgICAgICAg ICAgICAgICAgZ2V0dGV4dCgnQSBicm93c2VyIHRyZWUgcmVmcmVzaCBpcyByZXF1aXJlZC4gRG8g eW91IHdpc2ggdG8gcmVmcmVzaCB0aGUgdHJlZT8nKSwKKyAgICAgICAgICAgICAgICAgICAgZnVu Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLnRyZWUuZGVz dHJveSh7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbigpIHsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLmluaXRpYWxpemVCcm93c2Vy VHJlZShwZ0FkbWluLkJyb3dzZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAg fSk7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u KCkgeworICAgICAgICAgICAgICAgICAgICAgIHByZWZlcmVuY2VzLnJlc2V0KCk7CisgICAgICAg ICAgICAgICAgICAgICAgY2hhbmdlZCA9IHt9OworICAgICAgICAgICAgICAgICAgICAgIHJldHVy biB0cnVlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICApLnNldCgn bGFiZWxzJywgeworICAgICAgICAgICAgICAgICAgICBvazogZ2V0dGV4dCgnUmVmcmVzaCcpLAor ICAgICAgICAgICAgICAgICAgICBjYW5jZWw6IGdldHRleHQoJ0xhdGVyJyksCisgICAgICAgICAg ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0pOwogCiAgICAg ICAgICAgICAgIGlmKHJlcXVpcmVzX3JlZnJlc2gpIHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3Rvb2xzL3NjaGVtYV9kaWZmL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1h X2RpZmYvX19pbml0X18ucHkKaW5kZXggYTMyNWU5YTAxLi5iYWJiMDU4ODggMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9kaWZmL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2Fk bWluL3Rvb2xzL3NjaGVtYV9kaWZmL19faW5pdF9fLnB5CkBAIC0yMCwxMyArMjAsMTQgQEAgZnJv bSBmbGFza19iYWJlbGV4IGltcG9ydCBnZXR0ZXh0CiBmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0 IFBnQWRtaW5Nb2R1bGUKIGZyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBtYWtlX2pzb25f cmVzcG9uc2UsIGJhZF9yZXF1ZXN0LCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3Bv bnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IKLWZyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgU2Vy dmVyCitmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IFNlcnZlciwgU2hhcmVkU2VydmVyCiBmcm9t IHBnYWRtaW4udG9vbHMuc2NoZW1hX2RpZmYubm9kZV9yZWdpc3RyeSBpbXBvcnQgU2NoZW1hRGlm ZlJlZ2lzdHJ5CiBmcm9tIHBnYWRtaW4udG9vbHMuc2NoZW1hX2RpZmYubW9kZWwgaW1wb3J0IFNj aGVtYURpZmZNb2RlbAogZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCiBmcm9t IHBnYWRtaW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCiBmcm9tIHBnYWRtaW4udXRp bHMucHJlZmVyZW5jZXMgaW1wb3J0IFByZWZlcmVuY2VzCiBmcm9tIHBnYWRtaW4udXRpbHMuY29u c3RhbnRzIGltcG9ydCBQUkVGX0xBQkVMX0RJU1BMQVksIE1JTUVUWVBFX0FQUF9KUworZnJvbSBz cWxhbGNoZW15IGltcG9ydCBvcl8KIAogTU9EVUxFX05BTUUgPSAnc2NoZW1hX2RpZmYnCiAKQEAg LTI3MCw2ICsyNzEsNyBAQCBkZWYgc2VydmVycygpOgogICAgIHNlcnZlciBpZC4KICAgICAiIiIK ICAgICByZXMgPSB7fQorICAgIGF1dG9fZGV0ZWN0ZWRfc2VydmVyID0gTm9uZQogICAgIHRyeToK ICAgICAgICAgIiIiUmV0dXJuIGEgSlNPTiBkb2N1bWVudCBsaXN0aW5nIHRoZSBzZXJ2ZXIgZ3Jv dXBzIGZvciB0aGUgdXNlciIiIgogICAgICAgICBkcml2ZXIgPSBnZXRfZHJpdmVyKFBHX0RFRkFV TFRfRFJJVkVSKQpAQCAtMjc3LDcgKzI3OSwxOSBAQCBkZWYgc2VydmVycygpOgogICAgICAgICBm cm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMgaW1wb3J0XAogICAgICAg ICAgICAgc2VydmVyX2ljb25fYW5kX2JhY2tncm91bmQKIAotICAgICAgICBmb3Igc2VydmVyIGlu IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkodXNlcl9pZD1jdXJyZW50X3VzZXIuaWQpOgorICAgICAg ICBmb3Igc2VydmVyIGluIFNlcnZlci5xdWVyeS5maWx0ZXIoCisgICAgICAgICAgICAgICAgb3Jf KFNlcnZlci51c2VyX2lkID09IGN1cnJlbnRfdXNlci5pZCwgU2VydmVyLnNoYXJlZCkpOgorCisg ICAgICAgICAgICBzaGFyZWRfc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgK KyAgICAgICAgICAgICAgICBuYW1lPXNlcnZlci5uYW1lLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5p ZCwKKyAgICAgICAgICAgICAgICBzZXJ2ZXJncm91cF9pZD1zZXJ2ZXIuc2VydmVyZ3JvdXBfaWQp LmZpcnN0KCkKKworICAgICAgICAgICAgaWYgc2VydmVyLmRpc2NvdmVyeV9pZDoKKyAgICAgICAg ICAgICAgICBhdXRvX2RldGVjdGVkX3NlcnZlciA9IHNlcnZlci5uYW1lCisKKyAgICAgICAgICAg IGlmIHNoYXJlZF9zZXJ2ZXIgYW5kIHNoYXJlZF9zZXJ2ZXIubmFtZSA9PSBhdXRvX2RldGVjdGVk X3NlcnZlcjoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCiAgICAgICAgICAgICBtYW5hZ2Vy ID0gZHJpdmVyLmNvbm5lY3Rpb25fbWFuYWdlcihzZXJ2ZXIuaWQpCiAgICAgICAgICAgICBjb25u ID0gbWFuYWdlci5jb25uZWN0aW9uKCkKICAgICAgICAgICAgIGNvbm5lY3RlZCA9IGNvbm4uY29u bmVjdGVkKCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9kaWZmL3N0YXRp Yy9qcy9zY2hlbWFfZGlmZi5iYWNrZm9ybS5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9k aWZmL3N0YXRpYy9qcy9zY2hlbWFfZGlmZi5iYWNrZm9ybS5qcwppbmRleCA1NWVmMWU1ZjQuLjFi MDk1ZGI5OCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvc3RhdGlj L2pzL3NjaGVtYV9kaWZmLmJhY2tmb3JtLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVt YV9kaWZmL3N0YXRpYy9qcy9zY2hlbWFfZGlmZi5iYWNrZm9ybS5qcwpAQCAtMTc1LDcgKzE3NSw3 IEBAIGxldCBTY2hlbWFEaWZmU2VsZWN0MkNvbnRyb2wgPQogICAgICAgbGV0IHNwYW4gPSB0aGlz LiRlbC5maW5kKCcuc2VsZWN0Mi1zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJl ZCBzcGFuLndjVGFiSWNvbicpLAogICAgICAgICBzZWxTcGFuID0gdGhpcy4kZWwuZmluZCgnb3B0 aW9uOnNlbGVjdGVkJyk7CiAKLSAgICAgIGlmIChzcGFuLmhhc0NsYXNzKCdpY29uLXNlcnZlci1u b3QtY29ubmVjdGVkJykpIHsKKyAgICAgIGlmIChzcGFuLmhhc0NsYXNzKCdpY29uLXNlcnZlci1u b3QtY29ubmVjdGVkJykgfHwgc3Bhbi5oYXNDbGFzcygnaWNvbi1zaGFyZWQtc2VydmVyLW5vdC1j b25uZWN0ZWQnKSkgewogICAgICAgICBsZXQgaWNvbiA9IChkYXRhLmljb24pID8gZGF0YS5pY29u IDogJ2ljb24tcGcnOwogICAgICAgICBzcGFuLnJlbW92ZUNsYXNzKCdpY29uLXNlcnZlci1ub3Qt Y29ubmVjdGVkJyk7CiAgICAgICAgIHNwYW4uYWRkQ2xhc3MoaWNvbik7CmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvc2VydmVyX21hbmFnZXIucHkgYi93ZWIv cGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvc2VydmVyX21hbmFnZXIucHkKaW5kZXggYzM1 YTM3MjZmLi42ZDNjZTI1ZmYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9w c3ljb3BnMi9zZXJ2ZXJfbWFuYWdlci5weQorKysgYi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIv cHN5Y29wZzIvc2VydmVyX21hbmFnZXIucHkKQEAgLTY2LDYgKzY2LDcgQEAgY2xhc3MgU2VydmVy TWFuYWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLmhvc3RhZGRyID0gc2VydmVyLmhvc3RhZGRy CiAgICAgICAgIHNlbGYucG9ydCA9IHNlcnZlci5wb3J0CiAgICAgICAgIHNlbGYuZGIgPSBzZXJ2 ZXIubWFpbnRlbmFuY2VfZGIKKyAgICAgICAgc2VsZi5zaGFyZWQgPSBzZXJ2ZXIuc2hhcmVkCiAg ICAgICAgIHNlbGYuZGlkID0gTm9uZQogICAgICAgICBzZWxmLnVzZXIgPSBzZXJ2ZXIudXNlcm5h bWUKICAgICAgICAgc2VsZi5wYXNzd29yZCA9IHNlcnZlci5wYXNzd29yZApkaWZmIC0tZ2l0IGEv d2ViL3JlZ3Jlc3Npb24vcHl0aG9uX3Rlc3RfdXRpbHMvdGVzdF91dGlscy5weSBiL3dlYi9yZWdy ZXNzaW9uL3B5dGhvbl90ZXN0X3V0aWxzL3Rlc3RfdXRpbHMucHkKaW5kZXggNmQ2NmFmMTVhLi4w MjI4NTZjMGMgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL3B5dGhvbl90ZXN0X3V0aWxzL3Rl c3RfdXRpbHMucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vcHl0aG9uX3Rlc3RfdXRpbHMvdGVzdF91 dGlscy5weQpAQCAtMzYsNiArMzYsOCBAQCBmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHRlc3Rfc2V0 dXAKIAogZnJvbSBwZ2FkbWluLnV0aWxzLnByZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJlbmNlcwog Citmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKKwogQ1VSUkVOVF9QQVRIID0gb3MucGF0aC5h YnNwYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoCiAgICAgb3MucGF0aC5yZWFscGF0 aChfX2ZpbGVfXykpLCAiLi4vIikpCiAKQEAgLTE1OTgsMyArMTYwMCwxMDcgQEAgZGVmIGdldF9z ZWxlbm9pZF9icm93c2Vyc19saXN0KGFyZ3VtZW50cyk6CiAgICAgICAgIGxpc3Rfb2ZfYnJvd3Nl cnMgPSB0ZXN0X3NldHVwLmNvbmZpZ19kYXRhWydzZWxlbm9pZF9jb25maWcnXVsKICAgICAgICAg ICAgICdicm93c2Vyc19saXN0J10KICAgICByZXR1cm4gbGlzdF9vZl9icm93c2VycworCisKK2Rl ZiBsb2dpbl91c2luZ191c2VyX2FjY291bnQodGVzdGVyKToKKyAgICAiIiIKKyAgICBUaGlzIGZ1 bmN0aW9uIGxvZ2luIHRoZSB0ZXN0IGNsaWVudCB1c2VybmFtZSBhbmQgcGFzc3dvcmQKKyAgICA6 cGFyYW0gdGVzdGVyOiB0ZXN0IGNsaWVudAorICAgIDp0eXBlIHRlc3RlcjogZmxhc2sgdGVzdCBj bGllbnQgb2JqZWN0CisgICAgOnJldHVybjogTm9uZQorICAgICIiIgorICAgIHVzZXJuYW1lID0g dGVzdGVyLnRlc3RfY29uZmlnX2RhdGFbJ2xvZ2luX3VzZXJuYW1lJ10KKyAgICBwYXNzd29yZCA9 IHRlc3Rlci50ZXN0X2NvbmZpZ19kYXRhWydsb2dpbl9wYXNzd29yZCddCisgICAgcmVzcG9uc2Ug PSB0ZXN0ZXIubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKQorCisgICAgaWYgcmVzcG9uc2Uuc3Rh dHVzX2NvZGUgIT0gMzAyOgorICAgICAgICBwcmludCgiVW5hYmxlIHRvIGxvZ2luIHRlc3QgY2xp ZW50LCBlbWFpbCBhbmQgcGFzc3dvcmQgbm90IGZvdW5kLiIsCisgICAgICAgICAgICAgIGZpbGU9 c3lzLnN0ZGVycikKKyAgICAgICAgc3lzLmV4aXQoMSkKKworCitkZWYgbG9nb3V0X3Rlc3Rlcl9h Y2NvdW50KHRlc3Rlcik6CisgICAgIiIiCisgICAgVGhpcyBmdW5jdGlvbiBsb2dvdXQgdGhlIHRl c3QgYWNjb3VudAorICAgIDpwYXJhbSB0ZXN0ZXI6IHRlc3QgY2xpZW50CisgICAgOnR5cGUgdGVz dGVyOiBmbGFzayB0ZXN0IGNsaWVudCBvYmplY3QKKyAgICA6cmV0dXJuOiBOb25lCisgICAgIiIi CisgICAgdGVzdGVyLmxvZ291dCgpCisKKworZGVmIGNyZWF0ZV91c2VyKHVzZXJfZGV0YWlscyk6 CisgICAgdHJ5OgorICAgICAgICBjb25uID0gc3FsaXRlMy5jb25uZWN0KGNvbmZpZy5URVNUX1NR TElURV9QQVRIKQorICAgICAgICAjIENyZWF0ZSB0aGUgc2VydmVyCisgICAgICAgIGN1ciA9IGNv bm4uY3Vyc29yKCkKKyAgICAgICAgdXNlcl9kZXRhaWxzID0gKAorICAgICAgICAgICAgdXNlcl9k ZXRhaWxzWydsb2dpbl91c2VybmFtZSddLCB1c2VyX2RldGFpbHNbJ2xvZ2luX3VzZXJuYW1lJ10s CisgICAgICAgICAgICB1c2VyX2RldGFpbHNbJ2xvZ2luX3Bhc3N3b3JkJ10sIDEpCisKKyAgICAg ICAgY3VyLmV4ZWN1dGUoCisgICAgICAgICAgICAnc2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVz ZXJuYW1lID0gIiVzIicgJSB1c2VyX2RldGFpbHNbMF0pCisgICAgICAgIHVzZXIgPSBjdXIuZmV0 Y2hvbmUoKQorICAgICAgICBpZiB1c2VyIGlzIE5vbmU6CisgICAgICAgICAgICBjdXIuZXhlY3V0 ZSgnSU5TRVJUIElOVE8gdXNlciAodXNlcm5hbWUsIGVtYWlsLCBwYXNzd29yZCwgYWN0aXZlKSAn CisgICAgICAgICAgICAgICAgICAgICAgICAnVkFMVUVTICg/LD8sPyw/KScsIHVzZXJfZGV0YWls cykKKyAgICAgICAgICAgIHVzZXJfaWQgPSBjdXIubGFzdHJvd2lkCisgICAgICAgICAgICBjb25u LmNvbW1pdCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB1c2VyX2lkID0gdXNlclswXQor ICAgICAgICBjb25uLmNsb3NlKCkKKworICAgICAgICByZXR1cm4gdXNlcl9pZAorICAgIGV4Y2Vw dCBFeGNlcHRpb24gYXMgZXhjZXB0aW9uOgorICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKGZp bGU9c3lzLnN0ZGVycikKKyAgICAgICAgcmFpc2UgKCJFcnJvciB3aGlsZSBjcmVhdGluZyBzZXJ2 ZXIuICVzIiAlIGV4Y2VwdGlvbikKKworCitkZWYgZ2V0X3Rlc3RfdXNlcihzZWxmLCB1c2VyX2Rl dGFpbHMsCisgICAgICAgICAgICAgICAgICBpc19hcGk9VHJ1ZSwgY3JlYXRlX2Nvbm49VHJ1ZSk6 CisgICAgaWYgdXNlcl9kZXRhaWxzIGlzIE5vbmU6CisgICAgICAgIHJldHVybiBOb25lLCBOb25l CisKKyAgICBpZiBpc19hcGkgaXMgVHJ1ZToKKworICAgICAgICAjIENyZWF0ZSB0ZXN0X2NsaWVu dCBmb3IgdGhpcyB1c2VyLCBhbmQgbG9naW4gdGhyb3VnaCBpdC4KKyAgICAgICAgdGVzdF9jbGll bnQgPSBzZWxmLmFwcC50ZXN0X2NsaWVudCgpCisgICAgICAgIHVzZXIgPSBjcmVhdGVfdXNlcih1 c2VyX2RldGFpbHMpCisgICAgICAgIGlmIHVzZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB0 ZXN0X2NsaWVudC50ZXN0X2NvbmZpZ19kYXRhID0gZGljdCh7CisgICAgICAgICAgICAgICAgImxv Z2luX3VzZXJuYW1lIjogdXNlcl9kZXRhaWxzWydsb2dpbl91c2VybmFtZSddLAorICAgICAgICAg ICAgICAgICJsb2dpbl9wYXNzd29yZCI6IHVzZXJfZGV0YWlsc1snbG9naW5fcGFzc3dvcmQnXQor ICAgICAgICAgICAgfSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAiVXNlciBu b3QgY3JlYXRlZCIKKyAgICAgICAgbG9naW5fdXNpbmdfdXNlcl9hY2NvdW50KHRlc3RfY2xpZW50 KQorICAgICAgICB1c2VyID0gdGVzdF9jbGllbnQKKworICAgIHJldHVybiB1c2VyCisKKworZGVm IGNyZWF0ZV91c2VyX3dpc2VfdGVzdF9jbGllbnQodXNlcik6CisgICAgIiIiCisgICAgVGhpcyBm dW5jdGlvbiBjcmVhdGVzIG5ldyB0ZXN0IGNsaWVudCBhbmQgcGVtIGRhdGFiYXNlIGNvbm5lY3Rp b24gYXMgcGVyCisgICAgcHJvdmlkZWQgdXNlciBhbmQgZXhlY3V0ZSB0aGUgdGVzdCBjYXNlcy4K KyAgICA6cmV0dXJuOiBOb25lCisgICAgIiIiCisKKyAgICBkZWYgbXVsdGlfdXNlcl9kZWNvcmF0 b3IoZnVuYyk6CisgICAgICAgIEB3cmFwcyhmdW5jKQorICAgICAgICBkZWYgd3JhcHBlcihzZWxm LCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgbWFpbl90ZXN0ZXIgPSBzZWxmLl9fY2xh c3NfXy50ZXN0ZXIKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIExvZ2luIHdp dGggbm9uLWFkbWluX3VzZXIKKyAgICAgICAgICAgICAgICB0ZXN0X3VzZXIgPSBnZXRfdGVzdF91 c2VyKHNlbGYsIHVzZXIpCisgICAgICAgICAgICAgICAgc2VsZi5zZXRUZXN0Q2xpZW50KHRlc3Rf dXNlcikKKworICAgICAgICAgICAgICAgICMgQ2FsbCAncnVuVGVzdCcgd2l0aCBuZXcgdGVzdCBj bGllbnQKKyAgICAgICAgICAgICAgICBmdW5jKHNlbGYsICphcmdzLCAqKmt3YXJncykKKyAgICAg ICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgIyBSZXN0b3JlIHRoZSBvcmlnaW5hbCB1 c2VyIGFuZCBkcml2ZXIKKyAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy50ZXN0ZXIgPSBt YWluX3Rlc3RlcgorCisgICAgICAgIHJldHVybiB3cmFwcGVyCisKKyAgICByZXR1cm4gbXVsdGlf dXNlcl9kZWNvcmF0b3IKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RfY29uZmlnLmpz b24uaW4gYi93ZWIvcmVncmVzc2lvbi90ZXN0X2NvbmZpZy5qc29uLmluCmluZGV4IDY5MGY0NmMx Yy4uMzkzYmU2YTg0IDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi90ZXN0X2NvbmZpZy5qc29u LmluCisrKyBiL3dlYi9yZWdyZXNzaW9uL3Rlc3RfY29uZmlnLmpzb24uaW4KQEAgLTExLDYgKzEx LDExIEBACiAgICAgImxvZ2luX3Bhc3N3b3JkIjogIlBBU1NXT1JEIiwKICAgICAibG9naW5fdXNl cm5hbWUiOiAiVVNFUjJARVhBTVBMRS5DT00iCiAgIH0sCisgICJwZ0FkbWluNF90ZXN0X25vbl9h ZG1pbl9jcmVkZW50aWFscyI6IHsKKyAgICAibmV3X3Bhc3N3b3JkIjogIk5FV1BBU1NXT1JEIiwK KyAgICAibG9naW5fcGFzc3dvcmQiOiAiUEFTU1dPUkQiLAorICAgICJsb2dpbl91c2VybmFtZSI6 ICJVU0VSQEVYQU1QTEUuQ09NIgorICB9LAogICAicGdBZG1pbjRfbGRhcF9jcmVkZW50aWFscyI6 IHsKICAgICAibG9naW5fcGFzc3dvcmQiOiAiUEFTU1dPUkQiLAogICAgICJsb2dpbl91c2VybmFt ZSI6ICJVU0VSTkFNRSIKZGlmZiAtLWdpdCBhL3dlYi9zZXR1cC5weSBiL3dlYi9zZXR1cC5weQpp bmRleCBlOWM0MmRlY2QuLmNmZGYyMDQ1YSAxMDA2NDQKLS0tIGEvd2ViL3NldHVwLnB5CisrKyBi L3dlYi9zZXR1cC5weQpAQCAtMTEwLDYgKzExMCw3IEBAIGRlZiBkdW1wX3NlcnZlcnMoYXJncyk6 CiAgICAgICAgICAgICAgICAgYWRkX3ZhbHVlKGF0dHJfZGljdCwgIlJvbGUiLCBzZXJ2ZXIucm9s ZSkKICAgICAgICAgICAgICAgICBhZGRfdmFsdWUoYXR0cl9kaWN0LCAiU1NMTW9kZSIsIHNlcnZl ci5zc2xfbW9kZSkKICAgICAgICAgICAgICAgICBhZGRfdmFsdWUoYXR0cl9kaWN0LCAiQ29tbWVu dCIsIHNlcnZlci5jb21tZW50KQorICAgICAgICAgICAgICAgIGFkZF92YWx1ZShhdHRyX2RpY3Qs ICJTaGFyZWQiLCBzZXJ2ZXIuc2hhcmVkKQogICAgICAgICAgICAgICAgIGFkZF92YWx1ZShhdHRy X2RpY3QsICJEQlJlc3RyaWN0aW9uIiwgc2VydmVyLmRiX3JlcykKICAgICAgICAgICAgICAgICBh ZGRfdmFsdWUoYXR0cl9kaWN0LCAiUGFzc0ZpbGUiLCBzZXJ2ZXIucGFzc2ZpbGUpCiAgICAgICAg ICAgICAgICAgYWRkX3ZhbHVlKGF0dHJfZGljdCwgIlNTTENlcnQiLCBzZXJ2ZXIuc3NsY2VydCkK QEAgLTI1OCw2ICsyNTksMTQgQEAgZGVmIGxvYWRfc2VydmVycyhhcmdzKToKICAgICAgICAgZm9y IHNlcnZlciBpbiBkYXRhWyJTZXJ2ZXJzIl06CiAgICAgICAgICAgICBvYmogPSBkYXRhWyJTZXJ2 ZXJzIl1bc2VydmVyXQogCisgICAgICAgICAgICAjIENoZWNrIGlmIHNlcnZlciBpcyBzaGFyZWQu V29uJ3QgaW1wb3J0IGlmIHVzZXIgaXMgbm9uLWFkbWluCisgICAgICAgICAgICBpZiAnU2hhcmVk JyBpbiBvYmogXAorICAgICAgICAgICAgICAgIGFuZCBvYmpbJ1NoYXJlZCddIGFuZCBcCisgICAg ICAgICAgICAgICAgICAgIG5vdCB1c2VyLmhhc19yb2xlKCJBZG1pbmlzdHJhdG9yIik6CisgICAg ICAgICAgICAgICAgcHJpbnQoIkNhbid0IGltcG9ydCB0aGUgc2VydmVyICclcycgYXMgaXQgaXMg c2hhcmVkICIgJQorICAgICAgICAgICAgICAgICAgICAgIG9ialsiTmFtZSJdKQorICAgICAgICAg ICAgICAgIGNvbnRpbnVlCisKICAgICAgICAgICAgICMgR2V0IHRoZSBncm91cC4gQ3JlYXRlIGlm IG5lY2Vzc2FyeQogICAgICAgICAgICAgZ3JvdXBfaWQgPSBuZXh0KAogICAgICAgICAgICAgICAg IChnLmlkIGZvciBnIGluIGdyb3VwcyBpZiBnLm5hbWUgPT0gb2JqWyJHcm91cCJdKSwgLTEpCg== --0000000000009d4e1b05ae633c54--