Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1erckK-0004op-VX for pgadmin-hackers@arkaria.postgresql.org; Fri, 02 Mar 2018 04:56:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1erckJ-0004aO-Oi for pgadmin-hackers@arkaria.postgresql.org; Fri, 02 Mar 2018 04:56:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1erckJ-0004aE-F2 for pgadmin-hackers@lists.postgresql.org; Fri, 02 Mar 2018 04:56:39 +0000 Received: from mail-ot0-x22c.google.com ([2607:f8b0:4003:c0f::22c]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1erckD-0006YY-7K for pgadmin-hackers@postgresql.org; Fri, 02 Mar 2018 04:56:38 +0000 Received: by mail-ot0-x22c.google.com with SMTP id l12so7748805otj.7 for ; Thu, 01 Mar 2018 20:56:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=5314Exnvy9yInQKa2ayfG4yBFF/NLG509NdS7O3IGbw=; b=MHgEFlPYahuh279WcNAGyeDxdl+lXzyuSWNT+EVBz+JW0UajWpsR9pKrUCwfO8D1iC lXG0KjNOZKkQAE/ASdVoBbFTYwuR8PTj4W7jYZdSPP9QqvWShbXhD075XXXevT5jg+VG P4GETXuovPJZZhowC26LFOCRQRxjuMy2/wRIZ6XXknJKdXnGue5GUEK9IEzaPvLq4p/Q WFDWQ4wwBUTfp7INEA+1sgWjNAA6qe5PUAHDAoU7+sC6mcJQZCbWzRJG3l8HtGCxpw3D MUPWzl0SlWXgMKMlXp9xEYdlnjJS1mfC116TmjfLxaPV61CD9Im8zDn3PNjlhN653sii gnWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=5314Exnvy9yInQKa2ayfG4yBFF/NLG509NdS7O3IGbw=; b=DA1Jd8Iu4DMow74VXojGm7UEfhF8eBFwIFC1fQDwT/Jr+KCtLsuANcFJWl2C4Rs+Eo LHA0oM9rIrDEapwy6iKJTKFk3WCJYXmJmJU7tCNS7h8/hxJ7bvraSBDbjOOnMii9hV9p k0ueS/LnSrO/QZy0XZ6gSlog4QL8ZOzUydw0ctuiZ8LGS+fzc46xv8Obo8sWPgQPK4m4 OhhS/EYWzwrUXyu+lldwNEYo/2QMrioMljR1YaNEHDD3hoBJ47+WtpyxBjyUJmPYp6BW o+Cf203su3i33kdQcU/QjwEsX4LBhI9f57PU1kSUUzgVThJ+zoVMfqwmfKScOa0EWANW B5HQ== X-Gm-Message-State: AElRT7HhpMedoWX2CvAJsdbilL85XUSZc/h7Y6k+DHfgrpPnojocPr7Y GDX5Bz7BBGKERhBeKt3+GWMe5E28qMsNQ+O7D/fDhA== X-Google-Smtp-Source: AG47ELuKoKyTdCcz5SfRmBXOq5i5ii/OFykV6dwqc41KuloIZbUFB1eULK4rGbQrv2g+wCUFB7NNL5QMEB5qAuDb2dE= X-Received: by 10.157.37.206 with SMTP id q72mr2990380ota.296.1519966589660; Thu, 01 Mar 2018 20:56:29 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.203.154 with HTTP; Thu, 1 Mar 2018 20:56:28 -0800 (PST) In-Reply-To: References: From: Khushboo Vashi Date: Fri, 2 Mar 2018 10:26:28 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch]: PEP-8 fixes in the foreign data wrapper module To: Joao De Almeida Pereira Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="001a113d747ca702e3056666cc87" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --001a113d747ca702e3056666cc87 Content-Type: multipart/alternative; boundary="001a113d747ca702df056666cc85" --001a113d747ca702df056666cc85 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Joao, On Thu, Mar 1, 2018 at 8:13 PM, Joao De Almeida Pereira < jdealmeidapereira@pivotal.io> wrote: > Hello Khushboo, > I applied this patch and here is the result: > > 2018-03-01 09:41:00 =E2=8C=9A |ruby-2.4.1| pgadmin-dev in ~/workspace/pg= admin4/web > =C2=B1 |pep-8-fdw {2} U:13 =E2=9C=97| =E2=86=92 git st > On branch pep-8-fdw > Changes not staged for commit: > (use "git add ..." to update what will be committed) > (use "git checkout -- ..." to discard changes in working director= y) > > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/__init__.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/__init__.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_add.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_delete.p= y > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_get.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/tests/test_foreign_servers_put.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/tests/utils.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/user_mapping/__init__.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/user_mapping/tests/ > test_user_mapping_add.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/user_mapping/tests/ > test_user_mapping_delete.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/user_mapping/tests/ > test_user_mapping_get.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/user_mapping/tests/ > test_user_mapping_put.py > modified: pgadmin/browser/server_groups/servers/databases/ > foreign_data_wrappers/foreign_servers/user_mapping/tests/utils.py > > no changes added to commit (use "git add" and/or "git commit -a") > > 2018-03-01 09:41:03 =E2=8C=9A |ruby-2.4.1| pgadmin-dev in ~/workspace/pg= admin4/web > =C2=B1 |pep-8-fdw {2} U:13 =E2=9C=97| =E2=86=92 pycodestyle --config=3D.p= ycodestyle > pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/ > pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/__i= nit__.py:644: > [E123] closing bracket does not match indentation of opening bracket's li= ne > pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/__i= nit__.py:651: > [E123] closing bracket does not match indentation of opening bracket's li= ne > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/__init__.py:593: [E123] closing bracket > does not match indentation of opening bracket's line > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/__init__.py:662: [E123] closing bracket > does not match indentation of opening bracket's line > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/__init__.py:669: [E123] closing bracket > does not match indentation of opening bracket's line > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/user_mapping/__init__.py:622: [E123] > closing bracket does not match indentation of opening bracket's line > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/user_mapping/__init__.py:685: [E123] > closing bracket does not match indentation of opening bracket's line > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/user_mapping/__init__.py:692: [E123] > closing bracket does not match indentation of opening bracket's line > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/user_mapping/tests/test_user_mapping_add.py= :72: > [E126] continuation line over-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/user_mapping/tests/test_user_mapping_add.py= :84: > [E121] continuation line under-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/user_mapping/tests/test_user_mapping_get.py= :74: > [E126] continuation line over-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/tests/test_foreign_servers_put.py:69: > [E126] continuation line over-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/foreign_servers/tests/test_foreign_servers_put.py:71: > [E121] continuation line under-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/tests/test_fdw_delete.py:25: [E126] continuation line > over-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/tests/test_fdw_delete.py:28: [E121] continuation line > under-indented for hanging indent > pgadmin/browser/server_groups/servers/databases/foreign_ > data_wrappers/tests/test_fdw_delete.py:55: [E126] continuation line > over-indented for hanging indent > 3 E121 continuation line under-indented for hanging indent > 8 E123 closing bracket does not match indentation of opening > bracket's line > 5 E126 continuation line over-indented for hanging indent > 16 > > Did I execute the command correctly? > If so there are some things that need to be solved still > > Fixed. Patch updated. > Thanks > Joao > > > > On Thu, Mar 1, 2018 at 8:08 AM Khushboo Vashi < > khushboo.vashi@enterprisedb.com> wrote: > >> Hi, >> >> Please find the attached patch to fix the PEP-8 issues in the foreign >> data wrapper module. >> >> Thanks, >> Khushboo >> > --001a113d747ca702df056666cc85 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Joao,

On Thu, Mar 1, 2018 at 8:13 PM, Jo= ao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hello Khushbo= o,
I applied this patch and here is the result:

=C2=A02018-03-01 09:41:00 =E2=8C=9A |ruby-2.4.1| pgadmin-dev in ~/wo= rkspace/pgadmin4/web
=C2=B1 |pep-8-fdw {2} U:13 =E2=9C=97| =E2=86= =92 git st
On branch pep-8-fdw
Changes not staged for c= ommit:
=C2=A0 (use "git add <file>..." to update = what will be committed)
=C2=A0 (use "git checkout -- <fil= e>..." to discard changes in working directory)

modified:=C2=A0 =C2=A0pg= admin/browser/server_groups/servers/databases/foreign_data_wrappe= rs/__init__.py
= modified:=C2=A0 =C2=A0pgadmin/browser/server_groups/servers/databases/= foreign_data_wrappers/foreign_servers/__init__.py
modified:=C2=A0 =C2=A0pgadmin/brows= er/server_groups/servers/databases/foreign_data_wrappers/foreign_= servers/tests/test_foreign_servers_add.py
modified:=C2=A0 =C2=A0pgadmin/browser/ser= ver_groups/servers/databases/foreign_data_wrappers/foreign_s= ervers/tests/test_foreign_servers_delete.py
modified:=C2=A0 =C2=A0pgadmin/browser/server_<= wbr>groups/servers/databases/foreign_data_wrappers/foreign_server= s/tests/test_foreign_servers_get.py
modified:=C2=A0 =C2=A0pgadmin/browser/server_grou= ps/servers/databases/foreign_data_wrappers/foreign_servers/tests/= test_foreign_servers_put.py
modified:=C2=A0 =C2=A0pgadmin/browser/server_groups/serve= rs/databases/foreign_data_wrappers/foreign_servers/tests/utils.py=
modified:=C2=A0 =C2= =A0pgadmin/browser/server_groups/servers/databases/foreign_data_w= rappers/foreign_servers/user_mapping/__init__.py
modified:=C2=A0 =C2=A0pgadmin/browse= r/server_groups/servers/databases/foreign_data_wrappers/foreign_<= wbr>servers/user_mapping/tests/test_user_mapping_add.py
modified:=C2=A0 =C2=A0pgadmin/brow= ser/server_groups/servers/databases/foreign_data_wrappers/foreign= _servers/user_mapping/tests/test_user_mapping_delete.py
modified:=C2=A0 =C2=A0pgadmin= /browser/server_groups/servers/databases/foreign_data_wrappers/fo= reign_servers/user_mapping/tests/test_user_mapping_get.py
modified:=C2=A0 =C2=A0pgadm= in/browser/server_groups/servers/databases/foreign_data_wrappers/= foreign_servers/user_mapping/tests/test_user_mapping_put.py
=
modified:=C2=A0 =C2=A0pga= dmin/browser/server_groups/servers/databases/foreign_data_wrapper= s/foreign_servers/user_mapping/tests/utils.py

no changes added to commit (use "git add" and/or "git = commit -a")

=C2=A02018-03-01 09:41:03 =E2=8C= =9A |ruby-2.4.1| pgadmin-dev in ~/workspace/pgadmin4/web
=C2=B1 |= pep-8-fdw {2} U:13 =E2=9C=97| =E2=86=92 pycodestyle --config=3D.pycodestyle= pgadmin/browser/server_groups/servers/databases/foreign_data_wra= ppers/
pgadmin/browser/server_groups/servers/databases/forei= gn_data_wrappers/__init__.py:644: [E123] closing bracket does not matc= h indentation of opening bracket's line
pgadmin/browser/serve= r_groups/servers/databases/foreign_data_wrappers/__init__.py:651:= [E123] closing bracket does not match indentation of opening bracket's= line
pgadmin/browser/server_groups/servers/databases/foreig= n_data_wrappers/foreign_servers/__init__.py:593: [E123] closing b= racket does not match indentation of opening bracket's line
p= gadmin/browser/server_groups/servers/databases/foreign_data_wrapp= ers/foreign_servers/__init__.py:662: [E123] closing bracket does not m= atch indentation of opening bracket's line
pgadmin/browser/se= rver_groups/servers/databases/foreign_data_wrappers/foreign_serve= rs/__init__.py:669: [E123] closing bracket does not match indentation = of opening bracket's line
pgadmin/browser/server_groups/= servers/databases/foreign_data_wrappers/foreign_servers/user_mapp= ing/__init__.py:622: [E123] closing bracket does not match indentation of o= pening bracket's line
pgadmin/browser/server_groups/serv= ers/databases/foreign_data_wrappers/foreign_servers/user_mapping/= __init__.py:685: [E123] closing bracket does not match indentation of openi= ng bracket's line
pgadmin/browser/server_groups/servers/= databases/foreign_data_wrappers/foreign_servers/user_mapping/__in= it__.py:692: [E123] closing bracket does not match indentation of opening b= racket's line
pgadmin/browser/server_groups/servers/data= bases/foreign_data_wrappers/foreign_servers/user_mapping/tests/te= st_user_mapping_add.py:72: [E126] continuation line over-indented for = hanging indent
pgadmin/browser/server_groups/servers/databas= es/foreign_data_wrappers/foreign_servers/user_mapping/tests/test_= user_mapping_add.py:84: [E121] continuation line under-indented for ha= nging indent
pgadmin/browser/server_groups/servers/databases= /foreign_data_wrappers/foreign_servers/user_mapping/tests/test_us= er_mapping_get.py:74: [E126] continuation line over-indented for hangi= ng indent
pgadmin/browser/server_groups/servers/databases/fo= reign_data_wrappers/foreign_servers/tests/test_foreign_servers_put.py:69: [E126] continuation line over-indented for hanging indent
pgadmin/browser/server_groups/servers/databases/foreign_da= ta_wrappers/foreign_servers/tests/test_foreign_servers_put.py:71:= [E121] continuation line under-indented for hanging indent
pgadm= in/browser/server_groups/servers/databases/foreign_data_wrappers/= tests/test_fdw_delete.py:25: [E126] continuation line over-indented fo= r hanging indent
pgadmin/browser/server_groups/servers/datab= ases/foreign_data_wrappers/tests/test_fdw_delete.py:28: [E121] co= ntinuation line under-indented for hanging indent
pgadmin/browser= /server_groups/servers/databases/foreign_data_wrappers/tests/test= _fdw_delete.py:55: [E126] continuation line over-indented for hanging = indent
3=C2=A0 =C2=A0 =C2=A0 =C2=A0E121 continuation line under-i= ndented for hanging indent
8=C2=A0 =C2=A0 =C2=A0 =C2=A0E123 closi= ng bracket does not match indentation of opening bracket's line
5=C2=A0 =C2=A0 =C2=A0 =C2=A0E126 continuation line over-indented for han= ging indent
16

Did I execute the c= ommand correctly?
If so there are some things that need to be= solved still

Fixed. Patch upda= ted.=C2=A0

--001a113d747ca702df056666cc85-- --001a113d747ca702e3056666cc87 Content-Type: text/x-patch; charset="US-ASCII"; name="PEP-8-FDW_ver1.patch" Content-Disposition: attachment; filename="PEP-8-FDW_ver1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_je9gs7su0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBw ZXJzL19faW5pdF9fLnB5CmluZGV4IGQ1YTRjYzIuLmM5M2EyZmIgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2Rh dGFfd3JhcHBlcnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9fX2luaXRfXy5w eQpAQCAtMzMsMTkgKzMzLDIxIEBAIGNsYXNzIEZvcmVpZ25EYXRhV3JhcHBlck1vZHVsZShDb2xs ZWN0aW9uTm9kZU1vZHVsZSk6CiAgICAgIiIiCiAgICAgY2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVy TW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9kdWxlKQogCi0gICAgICAgIEEgbW9kdWxlIGNsYXNzIGZv ciBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlIGRlcml2ZWQgZnJvbSBDb2xsZWN0aW9uTm9kZU1v ZHVsZS4KKyAgICAgICAgQSBtb2R1bGUgY2xhc3MgZm9yIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5v ZGUgZGVyaXZlZAorICAgICAgICBmcm9tIENvbGxlY3Rpb25Ob2RlTW9kdWxlLgogCiAgICAgTWV0 aG9kczoKICAgICAtLS0tLS0tCiAgICAgKiBfX2luaXRfXygqYXJncywgKiprd2FyZ3MpCi0gICAg ICAtIE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIEZvcmVpZ24gZGF0YSB3cmFwcGVy IG1vZHVsZSBhbmQgaXQncyBiYXNlIG1vZHVsZS4KKyAgICAgIC0gTWV0aG9kIGlzIHVzZWQgdG8g aW5pdGlhbGl6ZSB0aGUgRm9yZWlnbiBkYXRhIHdyYXBwZXIKKyAgICAgICAgbW9kdWxlIGFuZCBp dCdzIGJhc2UgbW9kdWxlLgogCiAgICAgKiBnZXRfbm9kZXMoZ2lkLCBzaWQsIGRpZCkKICAgICAg IC0gTWV0aG9kIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGJyb3dzZXIgY29sbGVjdGlvbiBub2Rl LgogCiAgICAgKiBzY3JpcHRfbG9hZCgpCi0gICAgICAtIExvYWQgdGhlIG1vZHVsZSBzY3JpcHQg Zm9yIGZvcmVpZ24gZGF0YSB3cmFwcGVyLCB3aGVuIGFueSBvZiB0aGUgZGF0YWJhc2Ugbm9kZSBp cwotICAgICAgICBpbml0aWFsaXplZC4KKyAgICAgIC0gTG9hZCB0aGUgbW9kdWxlIHNjcmlwdCBm b3IgZm9yZWlnbiBkYXRhIHdyYXBwZXIsCisgICAgICAgIHdoZW4gYW55IG9mIHRoZSBkYXRhYmFz ZSBub2RlIGlzIGluaXRpYWxpemVkLgogICAgICIiIgogCiAgICAgTk9ERV9UWVBFID0gJ2ZvcmVp Z25fZGF0YV93cmFwcGVyJwpAQCAtNTMsNyArNTUsOCBAQCBjbGFzcyBGb3JlaWduRGF0YVdyYXBw ZXJNb2R1bGUoQ29sbGVjdGlvbk5vZGVNb2R1bGUpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYs ICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICIiIgotICAgICAgICBNZXRob2QgaXMgdXNlZCB0 byBpbml0aWFsaXplIHRoZSBGb3JlaWduIGRhdGEgd3JhcHBlciBtb2R1bGUgYW5kIGl0J3MgYmFz ZSBtb2R1bGUuCisgICAgICAgIE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIEZvcmVp Z24gZGF0YSB3cmFwcGVyIG1vZHVsZQorICAgICAgICBhbmQgaXQncyBiYXNlIG1vZHVsZS4KIAog ICAgICAgICBBcmdzOgogICAgICAgICAgICAgKmFyZ3M6CkBAIC04MCw3ICs4Myw4IEBAIGNsYXNz IEZvcmVpZ25EYXRhV3JhcHBlck1vZHVsZShDb2xsZWN0aW9uTm9kZU1vZHVsZSk6CiAgICAgQHBy b3BlcnR5CiAgICAgZGVmIHNjcmlwdF9sb2FkKHNlbGYpOgogICAgICAgICAiIiIKLSAgICAgICAg TG9hZCB0aGUgbW9kdWxlIHNjcmlwdCBmb3IgZm9yZWlnbiBkYXRhIHdyYXBwZXIsIHdoZW4gYW55 IG9mIHRoZSBkYXRhYmFzZSBub2RlIGlzIGluaXRpYWxpemVkLgorICAgICAgICBMb2FkIHRoZSBt b2R1bGUgc2NyaXB0IGZvciBmb3JlaWduIGRhdGEgd3JhcHBlciwKKyAgICAgICAgd2hlbiBhbnkg b2YgdGhlIGRhdGFiYXNlIG5vZGUgaXMgaW5pdGlhbGl6ZWQuCiAKICAgICAgICAgUmV0dXJuczog bm9kZSB0eXBlIG9mIHRoZSBkYXRhYnNlIG1vZHVsZS4KICAgICAgICAgIiIiCkBAIC04OSw4ICs5 Myw4IEBAIGNsYXNzIEZvcmVpZ25EYXRhV3JhcHBlck1vZHVsZShDb2xsZWN0aW9uTm9kZU1vZHVs ZSk6CiAgICAgQHByb3BlcnR5CiAgICAgZGVmIG1vZHVsZV91c2VfdGVtcGxhdGVfamF2YXNjcmlw dChzZWxmKToKICAgICAgICAgIiIiCi0gICAgICAgIFJldHVybnMgd2hldGhlciBKaW5qYTIgdGVt cGxhdGUgaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyB0aGUgamF2YXNjcmlwdAotICAgICAgICBtb2R1 bGUuCisgICAgICAgIFJldHVybnMgd2hldGhlciBKaW5qYTIgdGVtcGxhdGUgaXMgdXNlZCBmb3IK KyAgICAgICAgZ2VuZXJhdGluZyB0aGUgamF2YXNjcmlwdCBtb2R1bGUuCiAgICAgICAgICIiIgog ICAgICAgICByZXR1cm4gRmFsc2UKIApAQCAtMTAyLDE0ICsxMDYsMTYgQEAgY2xhc3MgRm9yZWln bkRhdGFXcmFwcGVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICIiIgogICAgIGNsYXNzIEZv cmVpZ25EYXRhV3JhcHBlclZpZXcoUEdDaGlsZE5vZGVWaWV3KQogCi0gICAgICAgIEEgdmlldyBj bGFzcyBmb3IgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZSBkZXJpdmVkIGZyb20gUEdDaGlsZE5v ZGVWaWV3LiBUaGlzIGNsYXNzIGlzCi0gICAgICAgIHJlc3BvbnNpYmxlIGZvciBhbGwgdGhlIHN0 dWZmIHJlbGF0ZWQgdG8gdmlldyBsaWtlIHVwZGF0aW5nIGZvcmVpZ24gZGF0YSB3cmFwcGVyCisg ICAgICAgIEEgdmlldyBjbGFzcyBmb3IgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZSBkZXJpdmVk CisgICAgICAgIGZyb20gUEdDaGlsZE5vZGVWaWV3LiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxl IGZvciBhbGwgdGhlCisgICAgICAgIHN0dWZmIHJlbGF0ZWQgdG8gdmlldyBsaWtlIHVwZGF0aW5n IGZvcmVpZ24gZGF0YSB3cmFwcGVyCiAgICAgICAgIG5vZGUsIHNob3dpbmcgcHJvcGVydGllcywg c2hvd2luZyBzcWwgaW4gc3FsIHBhbmUuCiAKICAgICBNZXRob2RzOgogICAgIC0tLS0tLS0KICAg ICAqIF9faW5pdF9fKCoqa3dhcmdzKQotICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBpbml0aWFs aXplIHRoZSBGb3JlaWduRGF0YVdyYXBwZXJWaWV3IGFuZCBpdCdzIGJhc2Ugdmlldy4KKyAgICAg IC0gTWV0aG9kIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRm9yZWlnbkRhdGFXcmFwcGVyVmll dworICAgICAgICBhbmQgaXQncyBiYXNlIHZpZXcuCiAKICAgICAqIGNoZWNrX3ByZWNvbmRpdGlv bigpCiAgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBiZWhhdmUgYXMgYSBkZWNvcmF0b3Igd2hp Y2ggd2lsbCBjaGVja3MKQEAgLTExNywxNCArMTIzLDE2IEBAIGNsYXNzIEZvcmVpZ25EYXRhV3Jh cHBlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgbWFuYWdlcixjb25uICYgdGVtcGxh dGVfcGF0aCBwcm9wZXJ0aWVzIHRvIHNlbGYKIAogICAgICogbGlzdChnaWQsIHNpZCwgZGlkKQot ICAgICAgLSBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIGZvcmVpZ24gZGF0 YSB3cmFwcGVyIG5vZGVzIHdpdGhpbiB0aGF0IGNvbGxlY3Rpb24uCisgICAgICAtIFRoaXMgZnVu Y3Rpb24gaXMgdXNlZCB0byBsaXN0IGFsbCB0aGUgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZXMK KyAgICAgICAgd2l0aGluIHRoYXQgY29sbGVjdGlvbi4KIAogICAgICogbm9kZXMoZ2lkLCBzaWQs IGRpZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUg Y2hpbGQgbm9kZSB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgotICAgICAgICBIZXJlIGl0IHdpbGwg Y3JlYXRlIGFsbCB0aGUgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KKyAgICAgIC0gVGhpcyBm dW5jdGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhh dAorICAgICAgICBjb2xsZWN0aW9uLiBIZXJlIGl0IHdpbGwgY3JlYXRlIGFsbCB0aGUgZm9yZWln biBkYXRhIHdyYXBwZXIgbm9kZS4KIAogICAgICogcHJvcGVydGllcyhnaWQsIHNpZCwgZGlkLCBm aWQpCi0gICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRo ZSBzZWxlY3RlZCBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCisgICAgICAtIFRoaXMgZnVuY3Rp b24gd2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZAorICAgICAgICBmb3Jl aWduIGRhdGEgd3JhcHBlciBub2RlCiAKICAgICAqIGNyZWF0ZShnaWQsIHNpZCwgZGlkKQogICAg ICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIHRoZSBuZXcgZm9yZWlnbiBkYXRhIHdyYXBw ZXIgbm9kZQpAQCAtMTMzLDI4ICsxNDEsMzUgQEAgY2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVyVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHRo ZSBzZWxlY3RlZCBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCiAKICAgICAqIHVwZGF0ZShnaWQs IHNpZCwgZGlkLCBmaWQpCi0gICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIGRh dGEgZm9yIHRoZSBzZWxlY3RlZCBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCisgICAgICAtIFRo aXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZAorICAgICAg ICBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCiAKICAgICAqIG1zcWwoZ2lkLCBzaWQsIGRpZCwg ZmlkKQotICAgICAgLSBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmV0dXJuIG1vZGlmaWVkIFNR TCBmb3IgdGhlIHNlbGVjdGVkIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUKKyAgICAgIC0gVGhp cyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJldHVybiBtb2RpZmllZCBTUUwgZm9yIHRoZSBzZWxlY3Rl ZAorICAgICAgICBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCiAKICAgICAqIGdldF9zcWwoZGF0 YSwgZmlkKQogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIGZyb20gbW9k ZWwgZGF0YQogCiAgICAgKiBnZXRfdmFsaWRhdG9ycyhnaWQsIHNpZCwgZGlkKQotICAgICAgLSBU aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHZhbGlkYXRvcnMgZm9yIHRoZSBzZWxlY3RlZCBmb3Jl aWduIGRhdGEgd3JhcHBlciBub2RlCisgICAgICAtIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUg dmFsaWRhdG9ycyBmb3IgdGhlIHNlbGVjdGVkCisgICAgICAgIGZvcmVpZ24gZGF0YSB3cmFwcGVy IG5vZGUKIAogICAgICogZ2V0X2hhbmRsZXJzKGdpZCwgc2lkLCBkaWQpCi0gICAgICAtIFRoaXMg ZnVuY3Rpb24gcmV0dXJucyB0aGUgaGFuZGxlcnMgZm9yIHRoZSBzZWxlY3RlZCBmb3JlaWduIGRh dGEgd3JhcHBlciBub2RlCisgICAgICAtIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgaGFuZGxl cnMgZm9yIHRoZSBzZWxlY3RlZAorICAgICAgICBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlCiAK ICAgICAqIHNxbChnaWQsIHNpZCwgZGlkLCBmaWQpOgotICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdp bGwgZ2VuZXJhdGUgc3FsIHRvIHNob3cgaXQgaW4gc3FsIHBhbmUgZm9yIHRoZSBzZWxlY3RlZCBm b3JlaWduIGRhdGEgd3JhcHBlciBub2RlLgorICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2Vu ZXJhdGUgc3FsIHRvIHNob3cgaXQgaW4gc3FsIHBhbmUgZm9yCisgICAgICAgIHRoZSBzZWxlY3Rl ZCBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlLgogCiAgICAgKiBkZXBlbmRlbnRzKGdpZCwgc2lk LCBkaWQsIGZpZCk6Ci0gICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0IHRoZSBkZXBlbmRlbnRzIGFu ZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3IgdGhlIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUu CisgICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0IHRoZSBkZXBlbmRlbnRzIGFuZCByZXR1cm4gYWph eCByZXNwb25zZSBmb3IgdGhlCisgICAgICAgIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUuCiAK ICAgICAqIGRlcGVuZGVuY2llcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBmaWQpOgotICAgICAgLSBU aGlzIGZ1bmN0aW9uIGdldCB0aGUgZGVwZW5kZW5jaWVzIGFuZCByZXR1cm4gYWpheCByZXNwb25z ZSBmb3IgdGhlIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUuCisgICAgICAtIFRoaXMgZnVuY3Rp b24gZ2V0IHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJldHVybiBhamF4IHJlc3BvbnNlIGZvciB0aGUK KyAgICAgICAgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KICAgICAiIiIKIAogICAgIG5vZGVf dHlwZSA9IGJsdWVwcmludC5ub2RlX3R5cGUKQEAgLTI0NCw4ICsyNTksOCBAQCBjbGFzcyBGb3Jl aWduRGF0YVdyYXBwZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGNoZWNrX3ByZWNvbmRp dGlvbgogICAgIGRlZiBub2RlcyhzZWxmLCBnaWQsIHNpZCwgZGlkKToKICAgICAgICAgIiIiCi0g ICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCB1c2VkIHRvIGNyZWF0ZSBhbGwgdGhlIGNoaWxkIG5v ZGUgd2l0aGluIHRoYXQgY29sbGVjdGlvbi4KLSAgICAgICAgSGVyZSBpdCB3aWxsIGNyZWF0ZSBh bGwgdGhlIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUuCisgICAgICAgIFRoaXMgZnVuY3Rpb24g d2lsbCB1c2VkIHRvIGNyZWF0ZSBhbGwgdGhlIGNoaWxkIG5vZGUgd2l0aGluIHRoYXQKKyAgICAg ICAgY29sbGVjdGlvbi4gSGVyZSBpdCB3aWxsIGNyZWF0ZSBhbGwgdGhlIGZvcmVpZ24gZGF0YSB3 cmFwcGVyIG5vZGUuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIGdpZDogU2VydmVyIEdy b3VwIElECkBAIC0zMDIsMTIgKzMxNywxNCBAQCBjbGFzcyBGb3JlaWduRGF0YVdyYXBwZXJWaWV3 KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAogICAgICAgICAg ICAgKQogCi0gICAgICAgIHJldHVybiBnb25lKGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBz cGVjaWZpZWQgZm9yZWlnbiBkYXRhIHdyYXBwZXIuIikpCisgICAgICAgIHJldHVybiBnb25lKGdl dHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQiCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiBmb3JlaWduIGRhdGEgd3JhcHBlci4iKSkKIAogICAgIEBjaGVja19wcmVjb25k aXRpb24KICAgICBkZWYgcHJvcGVydGllcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBmaWQpOgogICAg ICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMg b2YgdGhlIHNlbGVjdGVkIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUuCisgICAgICAgIFRoaXMg ZnVuY3Rpb24gd2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZQorICAgICAgICBzZWxlY3Rl ZCBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAg ICBnaWQ6IFNlcnZlciBHcm91cCBJRApAQCAtMzE1LDcgKzMzMiw4IEBAIGNsYXNzIEZvcmVpZ25E YXRhV3JhcHBlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGRpZDogRGF0YWJh c2UgSUQKICAgICAgICAgICAgIGZpZDogZm9yZWlnbiBkYXRhIHdyYXBwZXIgSUQKICAgICAgICAg IiIiCi0gICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0 ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZpZD1maWQsIGNvbm49c2VsZi5jb25uCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChz cWwpCkBAIC0zMjUsNyArMzQzLDggQEAgY2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVyVmlldyhQR0No aWxkTm9kZVZpZXcpOgogCiAgICAgICAgIGlmIGxlbihyZXNbJ3Jvd3MnXSkgPT0gMDoKICAgICAg ICAgICAgIHJldHVybiBnb25lKAotICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBm aW5kIHRoZSBmb3JlaWduIGRhdGEgd3JhcHBlciBpbmZvcm1hdGlvbi4iKQorICAgICAgICAgICAg ICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBmb3JlaWduIGRhdGEiCisgICAgICAgICAg ICAgICAgICAgICAgICAiIHdyYXBwZXIgaW5mb3JtYXRpb24uIikKICAgICAgICAgICAgICkKIAog ICAgICAgICBpZiByZXNbJ3Jvd3MnXVswXVsnZmR3b3B0aW9ucyddIGlzIG5vdCBOb25lOgpAQCAt MzM0LDcgKzM1Myw5IEBAIGNsYXNzIEZvcmVpZ25EYXRhV3JhcHBlclZpZXcoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgICAgICAgICAnZmR3b3B0aW9uJywgJ2Zkd3ZhbHVlJwogICAgICAgICAg ICAgKQogCi0gICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1w bGF0ZV9wYXRoLCAnYWNsLnNxbCddKSwgZmlkPWZpZCkKKyAgICAgICAgc3FsID0gcmVuZGVyX3Rl bXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdhY2wuc3FsJ10pLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmlkPWZpZAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQogICAgICAgICBzdGF0dXMsIGZkd19hY2xfcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVf ZGljdChzcWwpCiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPWZkd19hY2xfcmVzKQpAQCAtMzg5LDE1ICs0MTAs MTggQEAgY2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAg ICAgICAgICAgICAgICkKIAogICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgY29ubj1zZWxmLmNvbm4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRhLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbm49c2VsZi5jb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlzX3ZhbGlkX29wdGlvbnM9aXNfdmFsaWRfb3B0aW9ucwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25u LmV4ZWN1dGVfZGljdChzcWwpCiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAg ICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQogCi0gICAg ICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0 aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZuYW1lPWRhdGFbJ25hbWUnXSwgY29ubj1zZWxmLmNvbm4KKyAgICAgICAgICAgIHNxbCA9IHJl bmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcy5zcWwnXSksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm5hbWU9ZGF0YVsnbmFtZSddLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm49c2VsZi5jb25uCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogCiAgICAgICAgICAgICBzdGF0dXMsIHJfc2V0ID0gc2Vs Zi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCkBAIC00MjAsNyArNDQ0LDggQEAgY2xhc3MgRm9yZWln bkRhdGFXcmFwcGVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgIEBjaGVja19wcmVjb25kaXRp b24KICAgICBkZWYgdXBkYXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQsIGZpZCk6CiAgICAgICAgICIi IgotICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIHRoZSBkYXRhIGZvciB0aGUgc2Vs ZWN0ZWQgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3 aWxsIHVwZGF0ZSB0aGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVkCisgICAgICAgIGZvcmVpZ24gZGF0 YSB3cmFwcGVyIG5vZGUuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIGdpZDogU2VydmVy IEdyb3VwIElECkBAIC00ODYsMTIgKzUxMSwxNSBAQCBjbGFzcyBGb3JlaWduRGF0YVdyYXBwZXJW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3I6IE9i amVjdCBub3QgZm91bmQuJwogICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAg ICAgICBpbmZvPWdldHRleHQoCi0gICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHNwZWNpZmll ZCBmb3JlaWduIGRhdGEgd3JhcHBlciBjb3VsZCBub3QgYmUgZm91bmQuXG4nCisgICAgICAgICAg ICAgICAgICAgICAgICAnVGhlIHNwZWNpZmllZCBmb3JlaWduIGRhdGEnCisgICAgICAgICAgICAg ICAgICAgICAgICAnIHdyYXBwZXIgY291bGQgbm90IGJlIGZvdW5kLlxuJwogICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgIyBkcm9wIGZvcmVpZ24g ZGF0YSB3cmFwcGVyIG5vZGUKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIu am9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnZGVsZXRlLnNxbCddKSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuYW1lPW5hbWUsIGNhc2NhZGU9Y2FzY2FkZSwKKyAgICAgICAg ICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLnNxbCdd KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPW5hbWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzY2FkZT1jYXNjYWRlLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbm49c2VsZi5jb25uKQogICAgICAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoc3FsKQogICAgICAgICAgICAgaWYgbm90 IHN0YXR1czoKQEAgLTUxNCw3ICs1NDIsOCBAQCBjbGFzcyBGb3JlaWduRGF0YVdyYXBwZXJWaWV3 KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiBtc3Fs KHNlbGYsIGdpZCwgc2lkLCBkaWQsIGZpZD1Ob25lKToKICAgICAgICAgIiIiCi0gICAgICAgIFRo aXMgZnVuY3Rpb24gaXMgdXNlZCB0byByZXR1cm4gbW9kaWZpZWQgU1FMIGZvciB0aGUgc2VsZWN0 ZWQgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1 c2VkIHRvIHJldHVybiBtb2RpZmllZCBTUUwgZm9yIHRoZQorICAgICAgICBzZWxlY3RlZCBmb3Jl aWduIGRhdGEgd3JhcHBlciBub2RlLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6 IFNlcnZlciBHcm91cCBJRApAQCAtNTUxLDcgKzU4MCw4IEBAIGNsYXNzIEZvcmVpZ25EYXRhV3Jh cHBlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGdpZDogU2VydmVyIEdyb3Vw IElECiAgICAgICAgICAgICBzaWQ6IFNlcnZlciBJRAogICAgICAgICAgICAgZGlkOiBEYXRhYmFz ZSBJRAotICAgICAgICAgICAgZGF0YTogQ29udGFpbnMgdGhlIGRhdGEgb2YgdGhlIHNlbGVjdGVk IGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUKKyAgICAgICAgICAgIGRhdGE6IENvbnRhaW5zIHRo ZSBkYXRhIG9mIHRoZSBzZWxlY3RlZAorICAgICAgICAgICAgICAgICAgZm9yZWlnbiBkYXRhIHdy YXBwZXIgbm9kZQogICAgICAgICAgICAgZmlkOiBmb3JlaWduIGRhdGEgd3JhcHBlciBJRAogICAg ICAgICAiIiIKICAgICAgICAgcmVxdWlyZWRfYXJncyA9IFsKQEAgLTU1OSw4ICs1ODksMTAgQEAg Y2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBd CiAKICAgICAgICAgaWYgZmlkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc3FsID0gcmVuZGVy X3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCdd KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWQ9ZmlkLCBjb25uPXNlbGYu Y29ubgorICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRl bXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm aWQ9ZmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm49c2VsZi5jb25u CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KHNxbCkKICAgICAgICAgICAgIGlmIG5vdCBz dGF0dXM6CkBAIC01NjgsNyArNjAwLDggQEAgY2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVyVmlldyhQ R0NoaWxkTm9kZVZpZXcpOgogCiAgICAgICAgICAgICBpZiBsZW4ocmVzWydyb3dzJ10pID09IDA6 CiAgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0gICAgICAgICAgICAgICAgICAgIGdldHRl eHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBmb3JlaWduIGRhdGEgd3JhcHBlciBpbmZvcm1hdGlvbi4i KQorICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgZm9yZWln biIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGRhdGEgd3JhcHBlciBpbmZvcm1hdGlv bi4iKQogICAgICAgICAgICAgICAgICkKIAogICAgICAgICAgICAgaWYgcmVzWydyb3dzJ11bMF1b J2Zkd29wdGlvbnMnXSBpcyBub3QgTm9uZToKQEAgLTU4MCwzMyArNjEzLDQ5IEBAIGNsYXNzIEZv cmVpZ25EYXRhV3JhcHBlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGZvciBr ZXkgaW4gWydmZHdhY2wnXToKICAgICAgICAgICAgICAgICBpZiBrZXkgaW4gZGF0YSBhbmQgZGF0 YVtrZXldIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICBpZiAnYWRkZWQnIGluIGRh dGFba2V5XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnYWRkZWQnXSA9IHBh cnNlX3ByaXZfdG9fZGIoZGF0YVtrZXldWydhZGRlZCddLCBbJ1UnXSkKKyAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGFba2V5XVsnYWRkZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydhZGRlZCddLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsnVSddCisgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgIGlmICdjaGFuZ2VkJyBpbiBkYXRhW2tleV06Ci0gICAgICAgICAgICAgICAgICAg ICAgICBkYXRhW2tleV1bJ2NoYW5nZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoZGF0YVtrZXldWydj aGFuZ2VkJ10sIFsnVSddKQorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydjaGFu Z2VkJ10gPSBwYXJzZV9wcml2X3RvX2RiKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh dGFba2V5XVsnY2hhbmdlZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnVSddCisg ICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgIGlmICdkZWxldGVk JyBpbiBkYXRhW2tleV06Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2RlbGV0 ZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoZGF0YVtrZXldWydkZWxldGVkJ10sIFsnVSddKQorICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydkZWxldGVkJ10gPSBwYXJzZV9wcml2X3Rv X2RiKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnZGVsZXRlZCddLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnVSddCisgICAgICAgICAgICAgICAgICAgICAg ICApCiAKICAgICAgICAgICAgIG9sZF9kYXRhID0gcmVzWydyb3dzJ11bMF0KICAgICAgICAgICAg IGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKICAgICAgICAgICAgICAgICBpZiBhcmcgbm90IGlu IGRhdGE6CiAgICAgICAgICAgICAgICAgICAgIGRhdGFbYXJnXSA9IG9sZF9kYXRhW2FyZ10KIAot ICAgICAgICAgICAgIyBBbGxvdyB1c2VyIHRvIHNldCB0aGUgYmxhbmsgdmFsdWUgaW4gZmR3dmFs dWUgZmllbGQgaW4gb3B0aW9uIG1vZGVsCisgICAgICAgICAgICAjIEFsbG93IHVzZXIgdG8gc2V0 IHRoZSBibGFuayB2YWx1ZSBpbiBmZHd2YWx1ZQorICAgICAgICAgICAgIyBmaWVsZCBpbiBvcHRp b24gbW9kZWwKICAgICAgICAgICAgIGlzX3ZhbGlkX2FkZGVkX29wdGlvbnMgPSBpc192YWxpZF9j aGFuZ2VkX29wdGlvbnMgPSBGYWxzZQogICAgICAgICAgICAgaWYgJ2Zkd29wdGlvbnMnIGluIGRh dGEgYW5kICdhZGRlZCcgaW4gZGF0YVsnZmR3b3B0aW9ucyddOgotICAgICAgICAgICAgICAgIGlz X3ZhbGlkX2FkZGVkX29wdGlvbnMsIGRhdGFbJ2Zkd29wdGlvbnMnXVsnYWRkZWQnXSA9IHZhbGlk YXRlX29wdGlvbnMoCi0gICAgICAgICAgICAgICAgICAgIGRhdGFbJ2Zkd29wdGlvbnMnXVsnYWRk ZWQnXSwgJ2Zkd29wdGlvbicsICdmZHd2YWx1ZScKLSAgICAgICAgICAgICAgICApCisgICAgICAg ICAgICAgICAgaXNfdmFsaWRfYWRkZWRfb3B0aW9ucywgZGF0YVsnZmR3b3B0aW9ucyddWydhZGRl ZCddID0gXAorICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9vcHRpb25zKAorICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YVsnZmR3b3B0aW9ucyddWydhZGRlZCddLAorICAgICAgICAgICAg ICAgICAgICAgICAgJ2Zkd29wdGlvbicsCisgICAgICAgICAgICAgICAgICAgICAgICAnZmR3dmFs dWUnKQogICAgICAgICAgICAgaWYgJ2Zkd29wdGlvbnMnIGluIGRhdGEgYW5kICdjaGFuZ2VkJyBp biBkYXRhWydmZHdvcHRpb25zJ106Ci0gICAgICAgICAgICAgICAgaXNfdmFsaWRfY2hhbmdlZF9v cHRpb25zLCBkYXRhWydmZHdvcHRpb25zJ11bJ2NoYW5nZWQnXSA9IHZhbGlkYXRlX29wdGlvbnMo Ci0gICAgICAgICAgICAgICAgICAgIGRhdGFbJ2Zkd29wdGlvbnMnXVsnY2hhbmdlZCddLCAnZmR3 b3B0aW9uJywgJ2Zkd3ZhbHVlJwotICAgICAgICAgICAgICAgICkKLQotICAgICAgICAgICAgc3Fs ID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICd1cGRhdGUu c3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgb19k YXRhPW9sZF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3ZhbGlk X2FkZGVkX29wdGlvbnM9aXNfdmFsaWRfYWRkZWRfb3B0aW9ucywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpc192YWxpZF9jaGFuZ2VkX29wdGlvbnM9aXNfdmFsaWRfY2hhbmdl ZF9vcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm49c2VsZi5j b25uCisgICAgICAgICAgICAgICAgaXNfdmFsaWRfY2hhbmdlZF9vcHRpb25zLCBkYXRhWydmZHdv cHRpb25zJ11bJ2NoYW5nZWQnXSA9IFwKKyAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVfb3B0 aW9ucygKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ2Zkd29wdGlvbnMnXVsnY2hhbmdl ZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2Zkd29wdGlvbicsCisgICAgICAgICAgICAg ICAgICAgICAgICAnZmR3dmFsdWUnKQorCisgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxh dGUoCisgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3VwZGF0 ZS5zcWwnXSksCisgICAgICAgICAgICAgICAgZGF0YT1kYXRhLAorICAgICAgICAgICAgICAgIG9f ZGF0YT1vbGRfZGF0YSwKKyAgICAgICAgICAgICAgICBpc192YWxpZF9hZGRlZF9vcHRpb25zPWlz X3ZhbGlkX2FkZGVkX29wdGlvbnMsCisgICAgICAgICAgICAgICAgaXNfdmFsaWRfY2hhbmdlZF9v cHRpb25zPWlzX3ZhbGlkX2NoYW5nZWRfb3B0aW9ucywKKyAgICAgICAgICAgICAgICBjb25uPXNl bGYuY29ubgogICAgICAgICAgICAgKQogICAgICAgICAgICAgcmV0dXJuIHNxbCwgZGF0YVsnbmFt ZSddIGlmICduYW1lJyBpbiBkYXRhIGVsc2Ugb2xkX2RhdGFbJ25hbWUnXQogICAgICAgICBlbHNl OgpAQCAtNjE0LDI1ICs2NjMsMjcgQEAgY2xhc3MgRm9yZWlnbkRhdGFXcmFwcGVyVmlldyhQR0No aWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIGlmIGtleSBpbiBkYXRhIGFuZCBkYXRhW2tl eV0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHBhcnNlX3By aXZfdG9fZGIoZGF0YVtrZXldLCBbJ1UnXSkKIAotICAgICAgICAgICAgIyBBbGxvdyB1c2VyIHRv IHNldCB0aGUgYmxhbmsgdmFsdWUgaW4gZmR3dmFsdWUgZmllbGQgaW4gb3B0aW9uIG1vZGVsCisg ICAgICAgICAgICAjIEFsbG93IHVzZXIgdG8gc2V0IHRoZSBibGFuayB2YWx1ZSBpbgorICAgICAg ICAgICAgIyBmZHd2YWx1ZSBmaWVsZCBpbiBvcHRpb24gbW9kZWwKICAgICAgICAgICAgIGlzX3Zh bGlkX29wdGlvbnMgPSBGYWxzZQogICAgICAgICAgICAgaWYgJ2Zkd29wdGlvbnMnIGluIGRhdGE6 CiAgICAgICAgICAgICAgICAgaXNfdmFsaWRfb3B0aW9ucywgZGF0YVsnZmR3b3B0aW9ucyddID0g dmFsaWRhdGVfb3B0aW9ucygKICAgICAgICAgICAgICAgICAgICAgZGF0YVsnZmR3b3B0aW9ucydd LCAnZmR3b3B0aW9uJywgJ2Zkd3ZhbHVlJwogICAgICAgICAgICAgICAgICkKIAotICAgICAgICAg ICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdj cmVhdGUuc3FsJ10pLAorICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdjcmVhdGUuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGE9ZGF0YSwgY29ubj1zZWxmLmNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaXNfdmFsaWRfb3B0aW9ucz1pc192YWxpZF9vcHRpb25zCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogCiAgICAgICAgIHJldHVybiBzcWwsIGRhdGFbJ25hbWUn XQogCi0KICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIHNxbChzZWxmLCBnaWQsIHNp ZCwgZGlkLCBmaWQpOgogICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGdl bmVyYXRlIHNxbCB0byBzaG93IGl0IGluIHNxbCBwYW5lIGZvciB0aGUgc2VsZWN0ZWQgZm9yZWln biBkYXRhIHdyYXBwZXIgbm9kZS4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRl IHNxbCB0byBzaG93IGl0IGluIHNxbCBwYW5lCisgICAgICAgIGZvciB0aGUgc2VsZWN0ZWQgZm9y ZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KIAogICAgICAgICBBcmdzOgogICAgICAgICAgICAgZ2lk OiBTZXJ2ZXIgR3JvdXAgSUQKQEAgLTY2MCw3ICs3MTEsOCBAQCBjbGFzcyBGb3JlaWduRGF0YVdy YXBwZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBpZiBsZW4ocmVzWydyb3dz J11bMF1bJ2Zkd29wdGlvbnMnXSkgPiAwOgogICAgICAgICAgICAgICAgIGlzX3ZhbGlkX29wdGlv bnMgPSBUcnVlCiAKLSAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxm LnRlbXBsYXRlX3BhdGgsICdhY2wuc3FsJ10pLCBmaWQ9ZmlkKQorICAgICAgICBzcWwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2FjbC5zcWwnXSksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWQ9ZmlkKQogICAgICAgICBzdGF0dXMsIGZk d19hY2xfcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCiAgICAgICAgIGlmIG5vdCBz dGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNn PWZkd19hY2xfcmVzKQpAQCAtNjc0LDcgKzcyNiwxMCBAQCBjbGFzcyBGb3JlaWduRGF0YVdyYXBw ZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAgICAgIyBUbyBmb3JtYXQgcHJpdmlsZWdl cwogICAgICAgICBpZiAnZmR3YWNsJyBpbiByZXNbJ3Jvd3MnXVswXToKLSAgICAgICAgICAgIHJl c1sncm93cyddWzBdWydmZHdhY2wnXSA9IHBhcnNlX3ByaXZfdG9fZGIocmVzWydyb3dzJ11bMF1b J2Zkd2FjbCddLCBbJ1UnXSkKKyAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydmZHdhY2wnXSA9 IHBhcnNlX3ByaXZfdG9fZGIoCisgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ2Zkd2Fj bCddLAorICAgICAgICAgICAgICAgIFsnVSddCisgICAgICAgICAgICApCiAKICAgICAgICAgc3Fs ID0gJycKICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLApAQCAtNjk2LDcgKzc1MSw4IEBAIGNsYXNzIEZvcmVp Z25EYXRhV3JhcHBlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29uZGl0 aW9uCiAgICAgZGVmIGdldF92YWxpZGF0b3JzKHNlbGYsIGdpZCwgc2lkLCBkaWQpOgogICAgICAg ICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSB2YWxpZGF0b3JzIGZvciB0 aGUgc2VsZWN0ZWQgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KKyAgICAgICAgVGhpcyBmdW5j dGlvbiByZXR1cm5zIHRoZSB2YWxpZGF0b3JzIGZvciB0aGUgc2VsZWN0ZWQKKyAgICAgICAgZm9y ZWlnbiBkYXRhIHdyYXBwZXIgbm9kZS4KIAogICAgICAgICBBcmdzOgogICAgICAgICAgICAgZ2lk OiBTZXJ2ZXIgR3JvdXAgSUQKQEAgLTcwNSw3ICs3NjEsOCBAQCBjbGFzcyBGb3JlaWduRGF0YVdy YXBwZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICIiIgogICAgICAgICByZXMgPSBb eydsYWJlbCc6ICcnLCAndmFsdWUnOiAnJ31dCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNx bCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAndmFsaWRh dG9ycy5zcWwnXSksCisgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ3ZhbGlkYXRvcnMuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbm49c2VsZi5jb25uKQogICAgICAgICAgICAgc3RhdHVzLCByX3NldCA9IHNlbGYu Y29ubi5leGVjdXRlXzJkYXJyYXkoc3FsKQogCkBAIC03MjQsNyArNzgxLDggQEAgY2xhc3MgRm9y ZWlnbkRhdGFXcmFwcGVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgIEBjaGVja19wcmVjb25k aXRpb24KICAgICBkZWYgZ2V0X2hhbmRsZXJzKHNlbGYsIGdpZCwgc2lkLCBkaWQpOgogICAgICAg ICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBoYW5kbGVycyBmb3IgdGhl IHNlbGVjdGVkIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUuCisgICAgICAgIFRoaXMgZnVuY3Rp b24gcmV0dXJucyB0aGUgaGFuZGxlcnMgZm9yIHRoZSBzZWxlY3RlZAorICAgICAgICBmb3JlaWdu IGRhdGEgd3JhcHBlciBub2RlLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6IFNl cnZlciBHcm91cCBJRApAQCAtNzMzLDcgKzc5MSw4IEBAIGNsYXNzIEZvcmVpZ25EYXRhV3JhcHBl clZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgIiIiCiAgICAgICAgIHJlcyA9IFt7J2xh YmVsJzogJycsICd2YWx1ZSc6ICcnfV0KICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3FsID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdoYW5kbGVycy5z cWwnXSksCisgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYu dGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2hhbmRsZXJzLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25uPXNlbGYuY29ubikKICAgICAgICAgICAgIHN0YXR1cywgcl9zZXQgPSBzZWxmLmNvbm4uZXhl Y3V0ZV8yZGFycmF5KHNxbCkKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWdu X3NlcnZlcnMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy9f X2luaXRfXy5weQppbmRleCBmZGM5NGE5Li5lZTEzMjVhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dy YXBwZXJzL2ZvcmVpZ25fc2VydmVycy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJz L2ZvcmVpZ25fc2VydmVycy9fX2luaXRfXy5weQpAQCAtMzMsMTkgKzMzLDIxIEBAIGNsYXNzIEZv cmVpZ25TZXJ2ZXJNb2R1bGUoQ29sbGVjdGlvbk5vZGVNb2R1bGUpOgogICAgICIiIgogICAgIGNs YXNzIEZvcmVpZ25TZXJ2ZXJNb2R1bGUoQ29sbGVjdGlvbk5vZGVNb2R1bGUpCiAKLSAgICAgICAg QSBtb2R1bGUgY2xhc3MgZm9yIGZvcmVpZ24gc2VydmVyIG5vZGUgZGVyaXZlZCBmcm9tIENvbGxl Y3Rpb25Ob2RlTW9kdWxlLgorICAgICAgICBBIG1vZHVsZSBjbGFzcyBmb3IgZm9yZWlnbiBzZXJ2 ZXIgbm9kZSBkZXJpdmVkIGZyb20KKyAgICAgICAgQ29sbGVjdGlvbk5vZGVNb2R1bGUuCiAKICAg ICBNZXRob2RzOgogICAgIC0tLS0tLS0KICAgICAqIF9faW5pdF9fKCphcmdzLCAqKmt3YXJncykK LSAgICAgIC0gTWV0aG9kIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRm9yZWlnbiBzZXJ2ZXIg bW9kdWxlIGFuZCBpdCdzIGJhc2UgbW9kdWxlLgorICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBp bml0aWFsaXplIHRoZSBGb3JlaWduIHNlcnZlciBtb2R1bGUgYW5kCisgICAgICAgIGl0J3MgYmFz ZSBtb2R1bGUuCiAKICAgICAqIGdldF9ub2RlcyhnaWQsIHNpZCwgZGlkKQogICAgICAgLSBNZXRo b2QgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgYnJvd3NlciBjb2xsZWN0aW9uIG5vZGUuCiAKICAg ICAqIHNjcmlwdF9sb2FkKHNlbGYpCi0gICAgICAtIExvYWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9y IGZvcmVpZ24gc2VydmVyLCB3aGVuIGFueSBvZiB0aGUgZGF0YWJhc2Ugbm9kZSBpcwotICAgICAg ICBpbml0aWFsaXplZC4KKyAgICAgIC0gTG9hZCB0aGUgbW9kdWxlIHNjcmlwdCBmb3IgZm9yZWln biBzZXJ2ZXIsIHdoZW4gYW55IG9mCisgICAgICAgIHRoZSBkYXRhYmFzZSBub2RlIGlzIGluaXRp YWxpemVkLgogICAgICIiIgogCiAgICAgTk9ERV9UWVBFID0gJ2ZvcmVpZ25fc2VydmVyJwpAQCAt NTMsNyArNTUsOCBAQCBjbGFzcyBGb3JlaWduU2VydmVyTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9k dWxlKToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAg ICAiIiIKLSAgICAgICAgTWV0aG9kIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgRm9yZWlnbiBz ZXJ2ZXIgbW9kdWxlIGFuZCBpdCdzIGJhc2UgbW9kdWxlLgorICAgICAgICBNZXRob2QgaXMgdXNl ZCB0byBpbml0aWFsaXplIHRoZSBGb3JlaWduIHNlcnZlciBtb2R1bGUgYW5kCisgICAgICAgIGl0 J3MgYmFzZSBtb2R1bGUuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgICphcmdzOgpAQCAt ODAsNyArODMsOCBAQCBjbGFzcyBGb3JlaWduU2VydmVyTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9k dWxlKToKICAgICBAcHJvcGVydHkKICAgICBkZWYgc2NyaXB0X2xvYWQoc2VsZik6CiAgICAgICAg ICIiIgotICAgICAgICBMb2FkIHRoZSBtb2R1bGUgc2NyaXB0IGZvciBmb3JlaWduIHNlcnZlciwg d2hlbiBhbnkgb2YgdGhlIGZvcmVpZ24gZGF0YSB3cmFwcGVyIG5vZGUgaXMgaW5pdGlhbGl6ZWQu CisgICAgICAgIExvYWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9yIGZvcmVpZ24gc2VydmVyLCB3aGVu IGFueSBvZiB0aGUKKyAgICAgICAgZm9yZWlnbiBkYXRhIHdyYXBwZXIgbm9kZSBpcyBpbml0aWFs aXplZC4KIAogICAgICAgICBSZXR1cm5zOiBub2RlIHR5cGUgb2YgdGhlIHNlcnZlciBtb2R1bGUu CiAgICAgICAgICIiIgpAQCAtMTAyLDkgKzEwNiwxMCBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICIiIgogICAgIGNsYXNzIEZvcmVpZ25TZXJ2ZXJWaWV3 KFBHQ2hpbGROb2RlVmlldykKIAotICAgICAgICBBIHZpZXcgY2xhc3MgZm9yIGZvcmVpZ24gc2Vy dmVyIG5vZGUgZGVyaXZlZCBmcm9tIFBHQ2hpbGROb2RlVmlldy4gVGhpcyBjbGFzcyBpcwotICAg ICAgICByZXNwb25zaWJsZSBmb3IgYWxsIHRoZSBzdHVmZiByZWxhdGVkIHRvIHZpZXcgbGlrZSB1 cGRhdGluZyBmb3JlaWduIHNlcnZlcgotICAgICAgICBub2RlLCBzaG93aW5nIHByb3BlcnRpZXMs IHNob3dpbmcgc3FsIGluIHNxbCBwYW5lLgorICAgICAgICBBIHZpZXcgY2xhc3MgZm9yIGZvcmVp Z24gc2VydmVyIG5vZGUgZGVyaXZlZCBmcm9tIFBHQ2hpbGROb2RlVmlldy4KKyAgICAgICAgVGhp cyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgYWxsIHRoZSBzdHVmZiByZWxhdGVkIHRvIHZpZXcg bGlrZQorICAgICAgICB1cGRhdGluZyBmb3JlaWduIHNlcnZlciBub2RlLCBzaG93aW5nIHByb3Bl cnRpZXMsCisgICAgICAgIHNob3dpbmcgc3FsIGluIHNxbCBwYW5lLgogCiAgICAgTWV0aG9kczoK ICAgICAtLS0tLS0tCkBAIC0xMjEsMTcgKzEyNiwyMSBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBtYW5hZ2VyLGNvbm4gJiB0ZW1wbGF0ZV9wYXRo IHByb3BlcnRpZXMgdG8gc2VsZgogCiAgICAgKiBsaXN0KGdpZCwgc2lkLCBkaWQsIGZpZCkKLSAg ICAgIC0gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSBmb3JlaWduIHNlcnZl ciBub2RlcyB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgLSBUaGlzIGZ1bmN0aW9uIGlz IHVzZWQgdG8gbGlzdCBhbGwgdGhlIGZvcmVpZ24gc2VydmVyIG5vZGVzIHdpdGhpbgorICAgICAg ICB0aGF0IGNvbGxlY3Rpb24uCiAKICAgICAqIG5vZGVzKGdpZCwgc2lkLCBkaWQsIGZpZCkKLSAg ICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9k ZSB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNl ZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbgorICAgICAgICB0aGF0IGNvbGxl Y3Rpb24uCiAgICAgICAgIEhlcmUgaXQgd2lsbCBjcmVhdGUgYWxsIHRoZSBmb3JlaWduIHNlcnZl ciBub2RlLgogCiAgICAgKiBwcm9wZXJ0aWVzKGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCkKLSAg ICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVj dGVkIGZvcmVpZ24gc2VydmVyIG5vZGUKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cg dGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdGVkCisgICAgICAgIGZvcmVpZ24gc2VydmVyIG5v ZGUKIAogICAgICogdXBkYXRlKGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCkKLSAgICAgIC0gVGhp cyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSB0aGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVkIGZvcmVpZ24g c2VydmVyIG5vZGUKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSB0aGUgZGF0YSBm b3IgdGhlIHNlbGVjdGVkCisgICAgICAgIGZvcmVpZ24gc2VydmVyIG5vZGUKIAogICAgICogY3Jl YXRlKGdpZCwgc2lkLCBkaWQsIGZpZCkKICAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0 ZSB0aGUgbmV3IGZvcmVpZ24gc2VydmVyIG5vZGUKQEAgLTE0MCwxOSArMTQ5LDIzIEBAIGNsYXNz IEZvcmVpZ25TZXJ2ZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAtIFRoaXMgZnVuY3Rp b24gd2lsbCBkZWxldGUgdGhlIHNlbGVjdGVkIGZvcmVpZ24gc2VydmVyIG5vZGUKIAogICAgICog bXNxbChnaWQsIHNpZCwgZGlkLCBmaWQsIGZzaWQpCi0gICAgICAtIFRoaXMgZnVuY3Rpb24gaXMg dXNlZCB0byByZXR1cm4gbW9kaWZpZWQgU1FMIGZvciB0aGUgc2VsZWN0ZWQgZm9yZWlnbiBzZXJ2 ZXIgbm9kZQorICAgICAgLSBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmV0dXJuIG1vZGlmaWVk IFNRTCBmb3IgdGhlIHNlbGVjdGVkCisgICAgICAgIGZvcmVpZ24gc2VydmVyIG5vZGUKIAogICAg ICogZ2V0X3NxbChkYXRhLCBmaWQsIGZzaWQpCiAgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBn ZW5lcmF0ZSBzcWwgZnJvbSBtb2RlbCBkYXRhCiAKICAgICAqIHNxbChnaWQsIHNpZCwgZGlkLCBm aWQsIGZzaWQpOgotICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIHRvIHNo b3cgaXQgaW4gc3FsIHBhbmUgZm9yIHRoZSBzZWxlY3RlZCBmb3JlaWduIHNlcnZlciBub2RlLgor ICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIHRvIHNob3cgaXQgaW4gc3Fs IHBhbmUgZm9yIHRoZQorICAgICAgICBzZWxlY3RlZCBmb3JlaWduIHNlcnZlciBub2RlLgogCiAg ICAgKiBkZXBlbmRlbnRzKGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCk6Ci0gICAgICAtIFRoaXMg ZnVuY3Rpb24gZ2V0IHRoZSBkZXBlbmRlbnRzIGFuZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3Ig dGhlIGZvcmVpZ24gc2VydmVyIG5vZGUuCisgICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0IHRoZSBk ZXBlbmRlbnRzIGFuZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3IgdGhlCisgICAgICAgIGZvcmVp Z24gc2VydmVyIG5vZGUuCiAKICAgICAqIGRlcGVuZGVuY2llcyhzZWxmLCBnaWQsIHNpZCwgZGlk LCBmaWQsIGZzaWQpOgotICAgICAgLSBUaGlzIGZ1bmN0aW9uIGdldCB0aGUgZGVwZW5kZW5jaWVz IGFuZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3IgdGhlIGZvcmVpZ24gc2VydmVyIG5vZGUuCisg ICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0IHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJldHVybiBhamF4 IHJlc3BvbnNlIGZvciB0aGUKKyAgICAgICAgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4KICAgICAiIiIK IAogICAgIG5vZGVfdHlwZSA9IGJsdWVwcmludC5ub2RlX3R5cGUKQEAgLTIyNiw3ICsyMzksOCBA QCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgIEBjaGVja19w cmVjb25kaXRpb24KICAgICBkZWYgbGlzdChzZWxmLCBnaWQsIHNpZCwgZGlkLCBmaWQpOgogICAg ICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSBm b3JlaWduIHNlcnZlciBub2RlcyB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgICBUaGlz IGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIGZvcmVpZ24gc2VydmVyIG5vZGVzCisg ICAgICAgIHdpdGhpbiB0aGF0IGNvbGxlY3Rpb24uCiAKICAgICAgICAgQXJnczoKICAgICAgICAg ICAgIGdpZDogU2VydmVyIEdyb3VwIElECkBAIC0yNTAsNyArMjY0LDggQEAgY2xhc3MgRm9yZWln blNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAg ICAgZGVmIG5vZGVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIGZpZCk6CiAgICAgICAgICIiIgotICAg ICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2Rl IHdpdGhpbiB0aGF0IGNvbGxlY3Rpb24uCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCB1c2Vk IHRvIGNyZWF0ZSBhbGwgdGhlIGNoaWxkIG5vZGUKKyAgICAgICAgd2l0aGluIHRoYXQgY29sbGVj dGlvbi4KICAgICAgICAgSGVyZSBpdCB3aWxsIGNyZWF0ZSBhbGwgdGhlIGZvcmVpZ24gc2VydmVy IG5vZGUuCiAKICAgICAgICAgQXJnczoKQEAgLTMyMCw3ICszMzUsOCBAQCBjbGFzcyBGb3JlaWdu U2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgIEBjaGVja19wcmVjb25kaXRpb24KICAg ICBkZWYgcHJvcGVydGllcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBmaWQsIGZzaWQpOgogICAgICAg ICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMgb2Yg dGhlIHNlbGVjdGVkIGZvcmVpZ24gc2VydmVyIG5vZGUuCisgICAgICAgIFRoaXMgZnVuY3Rpb24g d2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZAorICAgICAgICBmb3JlaWdu IHNlcnZlciBub2RlLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6IFNlcnZlciBH cm91cCBJRApAQCAtMzQ3LDcgKzM2Myw5IEBAIGNsYXNzIEZvcmVpZ25TZXJ2ZXJWaWV3KFBHQ2hp bGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ2ZzcnZvcHRpb25z J10sICdmc3J2b3B0aW9uJywgJ2ZzcnZ2YWx1ZScKICAgICAgICAgICAgICkKIAotICAgICAgICBz cWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2FjbC5z cWwnXSksIGZzaWQ9ZnNpZCkKKyAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsICdhY2wuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZnNpZD1mc2lkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgIHN0YXR1cywgZnNfcnZfYWNsX3JlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQog CiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CkBAIC0zOTcsNyArNDE1LDggQEAgY2xhc3MgRm9yZWln blNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGlmICdmc3J2YWNsJyBp biBkYXRhOgogICAgICAgICAgICAgICAgIGRhdGFbJ2ZzcnZhY2wnXSA9IHBhcnNlX3ByaXZfdG9f ZGIoZGF0YVsnZnNydmFjbCddLCBbJ1UnXSkKIAotICAgICAgICAgICAgc3FsID0gcmVuZGVyX3Rl bXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwK KyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJv cGVydGllcy5zcWwnXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmR3aWQ9 ZmlkLCBjb25uPXNlbGYuY29ubikKICAgICAgICAgICAgIHN0YXR1cywgcmVzMSA9IHNlbGYuY29u bi5leGVjdXRlX2RpY3Qoc3FsKQogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTQxOSw3 ICs0MzgsOCBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAg ICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxf c2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKIAotICAgICAgICAgICAgc3FsID0gcmVuZGVyX3Rl bXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwK KyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJv cGVydGllcy5zcWwnXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1k YXRhLCBmZHdkYXRhPWZkd19kYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbm49c2VsZi5jb25uKQogICAgICAgICAgICAgc3RhdHVzLCByX3NldCA9IHNlbGYuY29ubi5l eGVjdXRlX2RpY3Qoc3FsKQpAQCAtNDQwLDcgKzQ2MCw4IEBAIGNsYXNzIEZvcmVpZ25TZXJ2ZXJW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiB1 cGRhdGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgZmlkLCBmc2lkKToKICAgICAgICAgIiIiCi0gICAg ICAgIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZCBm b3JlaWduIHNlcnZlciBub2RlLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIHRo ZSBkYXRhIGZvciB0aGUgc2VsZWN0ZWQKKyAgICAgICAgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4KIAog ICAgICAgICBBcmdzOgogICAgICAgICAgICAgZ2lkOiBTZXJ2ZXIgR3JvdXAgSUQKQEAgLTU0MSw3 ICs1NjIsOCBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAg IEBjaGVja19wcmVjb25kaXRpb24KICAgICBkZWYgbXNxbChzZWxmLCBnaWQsIHNpZCwgZGlkLCBm aWQsIGZzaWQ9Tm9uZSk6CiAgICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVz ZWQgdG8gcmV0dXJuIG1vZGlmaWVkIFNRTCBmb3IgdGhlIHNlbGVjdGVkIGZvcmVpZ24gc2VydmVy IG5vZGUuCisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byByZXR1cm4gbW9kaWZpZWQg U1FMIGZvciB0aGUgc2VsZWN0ZWQgZm9yZWlnbgorICAgICAgICBzZXJ2ZXIgbm9kZS4KIAogICAg ICAgICBBcmdzOgogICAgICAgICAgICAgZ2lkOiBTZXJ2ZXIgR3JvdXAgSUQKQEAgLTU2Nyw4ICs1 ODksNyBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogCiAgICAg ICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgIGRhdGE9 c3FsLnN0cmlwKCdcbicpLAotICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKLSAgICAgICAgICAg ICAgICApCisgICAgICAgICAgICAgICAgc3RhdHVzPTIwMCkKIAogICAgICAgICBleGNlcHQgRXhj ZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXN0cihlKSkKQEAgLTU5MSw3ICs2MTIsOCBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBdCiAKICAgICAgICAgaWYgZnNpZCBpcyBub3Qg Tm9uZToKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgICAgICBzcWwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzaWQ9ZnNpZCwgY29ubj1zZWxmLmNvbm4pCiAg ICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQogICAg ICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTYwOSwxMSArNjMxLDIwIEBAIGNsYXNzIEZvcmVp Z25TZXJ2ZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBmb3Iga2V5IGluIFsn ZnNydmFjbCddOgogICAgICAgICAgICAgICAgIGlmIGtleSBpbiBkYXRhIGFuZCBkYXRhW2tleV0g aXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGlmICdhZGRlZCcgaW4gZGF0YVtrZXld OgotICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydhZGRlZCddID0gcGFyc2VfcHJp dl90b19kYihkYXRhW2tleV1bJ2FkZGVkJ10sIFsnVSddKQorICAgICAgICAgICAgICAgICAgICAg ICAgZGF0YVtrZXldWydhZGRlZCddID0gcGFyc2VfcHJpdl90b19kYigKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhW2tleV1bJ2FkZGVkJ10sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWydVJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAg ICAgaWYgJ2NoYW5nZWQnIGluIGRhdGFba2V5XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGRh dGFba2V5XVsnY2hhbmdlZCddID0gcGFyc2VfcHJpdl90b19kYihkYXRhW2tleV1bJ2NoYW5nZWQn XSwgWydVJ10pCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2NoYW5nZWQnXSA9 IHBhcnNlX3ByaXZfdG9fZGIoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXld WydjaGFuZ2VkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydVJ10KKyAgICAgICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgaWYgJ2RlbGV0ZWQnIGluIGRh dGFba2V5XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnZGVsZXRlZCddID0g cGFyc2VfcHJpdl90b19kYihkYXRhW2tleV1bJ2RlbGV0ZWQnXSwgWydVJ10pCisgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhW2tleV1bJ2RlbGV0ZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydkZWxldGVkJ10sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWydVJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICkKIAog ICAgICAgICAgICAgb2xkX2RhdGEgPSByZXNbJ3Jvd3MnXVswXQogICAgICAgICAgICAgZm9yIGFy ZyBpbiByZXF1aXJlZF9hcmdzOgpAQCAtNjIyLDIyICs2NTMsMzEgQEAgY2xhc3MgRm9yZWlnblNl cnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKIAogICAgICAgICAgICAgaXNfdmFsaWRfYWRkZWRf b3B0aW9ucyA9IGlzX3ZhbGlkX2NoYW5nZWRfb3B0aW9ucyA9IEZhbHNlCiAgICAgICAgICAgICBp ZiAnZnNydm9wdGlvbnMnIGluIGRhdGEgYW5kICdhZGRlZCcgaW4gZGF0YVsnZnNydm9wdGlvbnMn XToKLSAgICAgICAgICAgICAgICBpc192YWxpZF9hZGRlZF9vcHRpb25zLCBkYXRhWydmc3J2b3B0 aW9ucyddWydhZGRlZCddID0gdmFsaWRhdGVfb3B0aW9ucygKLSAgICAgICAgICAgICAgICAgICAg ZGF0YVsnZnNydm9wdGlvbnMnXVsnYWRkZWQnXSwgJ2ZzcnZvcHRpb24nLCAnZnNydnZhbHVlJwot ICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGlmICdmc3J2b3B0aW9ucycgaW4gZGF0YSBh bmQgJ2NoYW5nZWQnIGluIGRhdGFbJ2ZzcnZvcHRpb25zJ106Ci0gICAgICAgICAgICAgICAgaXNf dmFsaWRfY2hhbmdlZF9vcHRpb25zLCBkYXRhWydmc3J2b3B0aW9ucyddWydjaGFuZ2VkJ10gPSB2 YWxpZGF0ZV9vcHRpb25zKAotICAgICAgICAgICAgICAgICAgICBkYXRhWydmc3J2b3B0aW9ucydd WydjaGFuZ2VkJ10sICdmc3J2b3B0aW9uJywgJ2ZzcnZ2YWx1ZScKLSAgICAgICAgICAgICAgICAp CisgICAgICAgICAgICAgICAgaXNfdmFsaWRfYWRkZWRfb3B0aW9ucywgZGF0YVsnZnNydm9wdGlv bnMnXVsnYWRkZWQnXSA9XAorICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9vcHRpb25zKAor ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVsnZnNydm9wdGlvbnMnXVsnYWRkZWQnXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICdmc3J2b3B0aW9uJywKKyAgICAgICAgICAgICAgICAgICAg ICAgICdmc3J2dmFsdWUnKQogCi0gICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8i LmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3VwZGF0ZS5zcWwnXSksCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRhLCBvX2RhdGE9b2xkX2RhdGEsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfdmFsaWRfYWRkZWRfb3B0aW9ucz1pc192YWxp ZF9hZGRlZF9vcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3Zh bGlkX2NoYW5nZWRfb3B0aW9ucz1pc192YWxpZF9jaGFuZ2VkX29wdGlvbnMsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29ubj1zZWxmLmNvbm4pCisgICAgICAgICAgICBpZiAn ZnNydm9wdGlvbnMnIGluIGRhdGEgYW5kICdjaGFuZ2VkJyBpbiBkYXRhWydmc3J2b3B0aW9ucydd OgorICAgICAgICAgICAgICAgIGlzX3ZhbGlkX2NoYW5nZWRfb3B0aW9ucywgZGF0YVsnZnNydm9w dGlvbnMnXVsnY2hhbmdlZCddID1cCisgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlX29wdGlv bnMoCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydmc3J2b3B0aW9ucyddWydjaGFuZ2Vk J10sCisgICAgICAgICAgICAgICAgICAgICAgICAnZnNydm9wdGlvbicsCisgICAgICAgICAgICAg ICAgICAgICAgICAnZnNydnZhbHVlJykKKworICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBs YXRlKAorICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICd1cGRh dGUuc3FsJ10pLAorICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwKKyAgICAgICAgICAgICAgICBv X2RhdGE9b2xkX2RhdGEsCisgICAgICAgICAgICAgICAgaXNfdmFsaWRfYWRkZWRfb3B0aW9ucz1p c192YWxpZF9hZGRlZF9vcHRpb25zLAorICAgICAgICAgICAgICAgIGlzX3ZhbGlkX2NoYW5nZWRf b3B0aW9ucz1pc192YWxpZF9jaGFuZ2VkX29wdGlvbnMsCisgICAgICAgICAgICAgICAgY29ubj1z ZWxmLmNvbm4KKyAgICAgICAgICAgICkKICAgICAgICAgICAgIHJldHVybiBzcWwsIGRhdGFbJ25h bWUnXSBpZiAnbmFtZScgaW4gZGF0YSBlbHNlIG9sZF9kYXRhWyduYW1lJ10KICAgICAgICAgZWxz ZToKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1w bGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgICAgICBzcWwgPSByZW5kZXJf dGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZkd2lkPWZpZCwgY29ubj1zZWxmLmNvbm4pCiAgICAg ICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQogICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTY0OSw3ICs2ODksNiBAQCBjbGFzcyBGb3JlaWduU2Vy dmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIGlmIGtleSBpbiBkYXRh IGFuZCBkYXRhW2tleV0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5 XSA9IHBhcnNlX3ByaXZfdG9fZGIoZGF0YVtrZXldLCBbJ1UnXSkKIAotCiAgICAgICAgICAgICBp c192YWxpZF9vcHRpb25zID0gRmFsc2UKICAgICAgICAgICAgIGlmICdmc3J2b3B0aW9ucycgaW4g ZGF0YToKICAgICAgICAgICAgICAgICBpc192YWxpZF9vcHRpb25zLCBkYXRhWydmc3J2b3B0aW9u cyddID0gdmFsaWRhdGVfb3B0aW9ucygKQEAgLTY2MywxMSArNzAyLDExIEBAIGNsYXNzIEZvcmVp Z25TZXJ2ZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBzcWwgKz0gIlxuIgog ICAgICAgICByZXR1cm4gc3FsLCBkYXRhWyduYW1lJ10KIAotCiAgICAgQGNoZWNrX3ByZWNvbmRp dGlvbgogICAgIGRlZiBzcWwoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgZmlkLCBmc2lkKToKICAgICAg ICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZSBzcWwgdG8gc2hvdyBp dCBpbiBzcWwgcGFuZSBmb3IgdGhlIHNlbGVjdGVkIGZvcmVpZ24gc2VydmVyIG5vZGUuCisgICAg ICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZSBzcWwgdG8gc2hvdyBpdCBpbiBzcWwgcGFu ZSBmb3IgdGhlCisgICAgICAgIHNlbGVjdGVkIGZvcmVpZ24gc2VydmVyIG5vZGUuCiAKICAgICAg ICAgQXJnczoKICAgICAgICAgICAgIGdpZDogU2VydmVyIEdyb3VwIElECkBAIC02OTYsNyArNzM1 LDggQEAgY2xhc3MgRm9yZWlnblNlcnZlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAg ICAgIGlmIGxlbihyZXNbJ3Jvd3MnXVswXVsnZnNydm9wdGlvbnMnXSkgPiAwOgogICAgICAgICAg ICAgICAgIGlzX3ZhbGlkX29wdGlvbnMgPSBUcnVlCiAKLSAgICAgICAgc3FsID0gcmVuZGVyX3Rl bXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdhY2wuc3FsJ10pLCBmc2lkPWZz aWQpCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLCAnYWNsLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzaWQ9 ZnNpZCkKICAgICAgICAgc3RhdHVzLCBmc19ydl9hY2xfcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVf ZGljdChzcWwpCiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPWZzX3J2X2FjbF9yZXMpCkBAIC03MTAsNyArNzUw LDEwIEBAIGNsYXNzIEZvcmVpZ25TZXJ2ZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAg ICAgIyBUbyBmb3JtYXQgcHJpdmlsZWdlcwogICAgICAgICBpZiAnZnNydmFjbCcgaW4gcmVzWydy b3dzJ11bMF06Ci0gICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsnZnNydmFjbCddID0gcGFyc2Vf cHJpdl90b19kYihyZXNbJ3Jvd3MnXVswXVsnZnNydmFjbCddLCBbJ1UnXSkKKyAgICAgICAgICAg IHJlc1sncm93cyddWzBdWydmc3J2YWNsJ10gPSBwYXJzZV9wcml2X3RvX2RiKAorICAgICAgICAg ICAgICAgIHJlc1sncm93cyddWzBdWydmc3J2YWNsJ10sCisgICAgICAgICAgICAgICAgWydVJ10K KyAgICAgICAgICAgICkKIAogICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZmR3aWQ9ZmlkLCBjb25uPXNlbGYuY29ubikKQEAgLTc1Myw3ICs3OTYs OCBAQCBjbGFzcyBGb3JlaWduU2VydmVyVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBk ZXBlbmRlbnRzX3Jlc3VsdCA9IHNlbGYuZ2V0X2RlcGVuZGVudHMoc2VsZi5jb25uLCBmc2lkKQog CiAgICAgICAgICMgRmV0Y2hpbmcgZGVwZW5kZW50cyBvZiBmb3JlaWduIHNlcnZlcnMKLSAgICAg ICAgcXVlcnkgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwg J2RlcGVuZGVudHMuc3FsJ10pLAorICAgICAgICBxdWVyeSA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIu am9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2RlcGVuZGVudHMuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmc2lkPWZzaWQpCiAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gc2VsZi5jb25uLmV4 ZWN1dGVfZGljdChxdWVyeSkKICAgICAgICAgaWYgbm90IHN0YXR1czoKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWdu X2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9zZXJ2ZXJz X2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZm9y ZWlnbl9zZXJ2ZXJzX2FkZC5weQppbmRleCA5Y2JjYzJhLi44OWQzMzQ5IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWln bl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90ZXN0cy90ZXN0X2ZvcmVpZ25fc2VydmVy c19hZGQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVz dF9mb3JlaWduX3NlcnZlcnNfYWRkLnB5CkBAIC0xNCw4ICsxNCw4IEBAIGltcG9ydCB1dWlkCiAK IGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuZXh0 ZW5zaW9ucy50ZXN0cyBpbXBvcnQgXAogICAgIHV0aWxzIGFzIGV4dGVuc2lvbl91dGlscwotZnJv bSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5mb3JlaWdu X2RhdGFfd3JhcHBlcnMudGVzdHMgXAotICAgIGltcG9ydCB1dGlscyBhcyBmZHdfdXRpbHMKK2Zy b20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuZm9yZWln bl9kYXRhX3dyYXBwZXJzLlwKKyAgICB0ZXN0cyBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCiBm cm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3Rz IGltcG9ydCBcCiAgICAgdXRpbHMgYXMgZGF0YWJhc2VfdXRpbHMKIGZyb20gcGdhZG1pbi51dGls cy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKQEAgLTk0LDggKzk0LDkgQEAgY2xhc3Mg Rm9yZWlnblNlcnZlckFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgfQog ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCiAgICAgICAgICAgICBzZWxmLnVy bCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsKLSAgICAgICAgICAgIHN0cihzZWxm LnNlcnZlcl9pZCkgKyAnLycgKyBzdHIoc2VsZi5kYl9pZCkgKyAnLycKLSAgICAgICAgICAgICsg c3RyKHNlbGYuZmR3X2lkKSArICcvJywgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAorICAgICAgICAg ICAgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArIHN0cihzZWxmLmRiX2lkKSArCisgICAgICAg ICAgICAnLycgKyBzdHIoc2VsZi5mZHdfaWQpICsgJy8nLAorICAgICAgICAgICAgZGF0YT1qc29u LmR1bXBzKGRhdGEpLAogICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQogICAg ICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90ZXN0cy90ZXN0X2ZvcmVp Z25fc2VydmVyc19kZWxldGUucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90 ZXN0cy90ZXN0X2ZvcmVpZ25fc2VydmVyc19kZWxldGUucHkKaW5kZXggOTE0MzRlOC4uN2Q2ODE1 MCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVz dF9mb3JlaWduX3NlcnZlcnNfZGVsZXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWln bl9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9zZXJ2ZXJzX2RlbGV0ZS5weQpAQCAtMTMsOCAr MTMsOCBAQCBpbXBvcnQgdXVpZAogCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzLmV4dGVuc2lvbnMudGVzdHMgaW1wb3J0IFwKICAgICB1dGlscyBh cyBleHRlbnNpb25fdXRpbHMKLWZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMuZm9yZWlnbl9kYXRhX3dyYXBwZXJzLnRlc3RzIFwKLSAgICBpbXBvcnQg dXRpbHMgYXMgZmR3X3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNl cnZlcnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0YV93cmFwcGVycy5cCisgICAgdGVzdHMgaW1wb3J0 IHV0aWxzIGFzIGZkd191dGlscwogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5z ZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgXAogICAgIHV0aWxzIGFzIGRhdGFiYXNlX3V0 aWxzCiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90ZXN0cy90ZXN0X2Zv cmVpZ25fc2VydmVyc19nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90 ZXN0cy90ZXN0X2ZvcmVpZ25fc2VydmVyc19nZXQucHkKaW5kZXggY2ZhYTk2Yy4uYmFhZTg1ZCAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVzdF9m b3JlaWduX3NlcnZlcnNfZ2V0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2 ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9zZXJ2ZXJzX2dldC5weQpAQCAtMTMsOCArMTMsOCBAQCBp bXBvcnQgdXVpZAogCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMu ZGF0YWJhc2VzLmV4dGVuc2lvbnMudGVzdHMgaW1wb3J0IFwKICAgICB1dGlscyBhcyBleHRlbnNp b25fdXRpbHMKLWZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMuZm9yZWlnbl9kYXRhX3dyYXBwZXJzLnRlc3RzXAotICAgIGltcG9ydCB1dGlscyBhcyBm ZHdfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMuZm9yZWlnbl9kYXRhX3dyYXBwZXJzLlwKKyAgICB0ZXN0cyBpbXBvcnQgdXRpbHMgYXMg ZmR3X3V0aWxzCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzLnRlc3RzIGltcG9ydCBcCiAgICAgdXRpbHMgYXMgZGF0YWJhc2VfdXRpbHMKIGZyb20g cGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKQEAgLTYyLDggKzYy LDggQEAgY2xhc3MgRm9yZWlnblNlcnZlckdldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK ICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgRkRXLiIpCiAgICAg ICAgIGZzcnZfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoCiAgICAgICAgICAgICBzZWxmLnVy bCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsKLSAgICAgICAgICAgIHN0cihzZWxm LnNlcnZlcl9pZCkgKyAnLycgKyBzdHIoc2VsZi5kYl9pZCkgKyAnLycKLSAgICAgICAgICAgICsg c3RyKHNlbGYuZmR3X2lkKSArICcvJyArIHN0cihzZWxmLmZzcnZfaWQpLAorICAgICAgICAgICAg c3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArIHN0cihzZWxmLmRiX2lkKSArCisgICAgICAgICAg ICAnLycgKyBzdHIoc2VsZi5mZHdfaWQpICsgJy8nICsgc3RyKHNlbGYuZnNydl9pZCksCiAgICAg ICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKGZzcnZfcmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKIApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0 YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVzdF9mb3JlaWduX3NlcnZlcnNfcHV0 LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVzdF9mb3JlaWdu X3NlcnZlcnNfcHV0LnB5CmluZGV4IDg0N2I0YWQuLjJjYTczYTQgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2Rh dGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9zZXJ2ZXJzX3B1 dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90ZXN0cy90ZXN0X2Zv cmVpZ25fc2VydmVyc19wdXQucHkKQEAgLTE0LDggKzE0LDggQEAgaW1wb3J0IHV1aWQKIAogZnJv bSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5leHRlbnNp b25zLnRlc3RzIGltcG9ydCBcCiAgICAgdXRpbHMgYXMgZXh0ZW5zaW9uX3V0aWxzCi1mcm9tIHBn YWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0 YV93cmFwcGVycy50ZXN0c1wKLSAgICBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCitmcm9tIHBn YWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0 YV93cmFwcGVycy5cCisgICAgdGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZkd191dGlscwogZnJvbSBw Z2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBv cnQgXAogICAgIHV0aWxzIGFzIGRhdGFiYXNlX3V0aWxzCiBmcm9tIHBnYWRtaW4udXRpbHMucm91 dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCkBAIC02NSwxMCArNjUsOCBAQCBjbGFzcyBGb3Jl aWduU2VydmVyUHV0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZzcnZfbmFtZSkKICAgICAgICAg aWYgbm90IGZzcnZfcmVzcG9uc2U6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxk IG5vdCBmaW5kIEZTUlYuIikKLSAgICAgICAgZGF0YSA9IHsKLSAgICAgICAgICAgICAgICAiZGVz Y3JpcHRpb24iOiAiVGhpcyBpcyBmb3JlaWduIHNlcnZlciB1cGRhdGUgY29tbWVudCIsCi0gICAg ICAgICAgICAgICAgImlkIjogc2VsZi5mc3J2X2lkCi0gICAgICAgICAgICB9CisgICAgICAgIGRh dGEgPSB7ImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgZm9yZWlnbiBzZXJ2ZXIgdXBkYXRlIGNvbW1l bnQiLAorICAgICAgICAgICAgICAgICJpZCI6IHNlbGYuZnNydl9pZH0KICAgICAgICAgcHV0X3Jl c3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KAogICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIodXRp bHMuU0VSVkVSX0dST1VQKSArICcvJyArCiAgICAgICAgICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQp ICsgJy8nICsgc3RyKHNlbGYuZGJfaWQpICsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMv Zm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWdu X3NlcnZlcnMvdGVzdHMvdXRpbHMucHkKaW5kZXggNzQ4MjNkOC4uNGY2ODE0NyAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Zv cmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdXRpbHMucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVp Z25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdXRpbHMucHkKQEAgLTYwLDE2 ICs2MCwxNiBAQCBkZWYgY3JlYXRlX2ZzcnYoc2VydmVyLCBkYl9uYW1lLCBmc3J2X25hbWUsIGZk d19uYW1lKToKICAgICAgICAgcHJpbnQoZXhjZXB0aW9uLCBmaWxlPXN5cy5zdGRlcnIpCiAKIAot ZGVmIHZlcmlmeV9mc3J2KHNlcnZlciwgZGJfbmFtZSAsIGZzcnZfbmFtZSk6CitkZWYgdmVyaWZ5 X2ZzcnYoc2VydmVyLCBkYl9uYW1lLCBmc3J2X25hbWUpOgogICAgICIiIiBUaGlzIGZ1bmN0aW9u IHdpbGwgdmVyaWZ5IGN1cnJlbnQgZm9yZWlnbiBzZXJ2ZXIuIiIiCiAKICAgICB0cnk6CiAgICAg ICAgIGNvbm5lY3Rpb24gPSBnZXRfZGJfY29ubmVjdGlvbihkYl9uYW1lLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWyd1c2VybmFtZSddLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydkYl9wYXNz d29yZCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyWydob3N0J10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZXJ2ZXJbJ3BvcnQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlcnZlclsnc3NsbW9kZSddKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyWydob3N0J10sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3BvcnQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlcnZlclsnc3NsbW9kZSddKQogICAgICAgICBwZ19jdXJzb3IgPSBj b25uZWN0aW9uLmN1cnNvcigpCiAKICAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv Zm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvX19pbml0 X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvX19p bml0X18ucHkKaW5kZXggYjk2N2E0Ni4uMzk4MzUxZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFw cGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL19faW5pdF9fLnB5CisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2Rh dGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy9fX2luaXRfXy5weQpAQCAt MzMsMjIgKzMzLDI1IEBAIGNsYXNzIFVzZXJNYXBwaW5nTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9k dWxlKToKICAgICAiIiIKICAgICBjbGFzcyBVc2VyTWFwcGluZ01vZHVsZShDb2xsZWN0aW9uTm9k ZU1vZHVsZSkKIAotICAgICAgICBBIG1vZHVsZSBjbGFzcyBmb3IgdXNlciBtYXBwaW5nIG5vZGUg ZGVyaXZlZCBmcm9tIENvbGxlY3Rpb25Ob2RlTW9kdWxlLgorICAgICAgICBBIG1vZHVsZSBjbGFz cyBmb3IgdXNlciBtYXBwaW5nIG5vZGUgZGVyaXZlZAorICAgICAgICBmcm9tIENvbGxlY3Rpb25O b2RlTW9kdWxlLgogCiAgICAgTWV0aG9kczoKICAgICAtLS0tLS0tCiAgICAgKiBfX2luaXRfXygq YXJncywgKiprd2FyZ3MpCi0gICAgICAtIE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhl IHVzZXIgbWFwcGluZyBtb2R1bGUgYW5kIGl0J3MgYmFzZSBtb2R1bGUuCisgICAgICAtIE1ldGhv ZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHVzZXIgbWFwcGluZyBtb2R1bGUgYW5kCisgICAg ICAgIGl0J3MgYmFzZSBtb2R1bGUuCiAKICAgICAqIGdldF9ub2RlcyhnaWQsIHNpZCwgZGlkLCBm aWQsIGZzaWQpCiAgICAgICAtIE1ldGhvZCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBicm93c2Vy IGNvbGxlY3Rpb24gbm9kZS4KIAogICAgICogbm9kZV9pbm9kZSgpCi0gICAgICAtIE1ldGhvZCBp cyBvdmVycmlkZGVuIGZyb20gaXRzIGJhc2UgY2xhc3MgdG8gbWFrZSB0aGUgbm9kZSBhcyBsZWFm IG5vZGUuCisgICAgICAtIE1ldGhvZCBpcyBvdmVycmlkZGVuIGZyb20gaXRzIGJhc2UgY2xhc3Mg dG8gbWFrZSB0aGUgbm9kZQorICAgICAgICBhcyBsZWFmIG5vZGUuCiAKICAgICAqIHNjcmlwdF9s b2FkKHNlbGYpCi0gICAgICAtIExvYWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9yIHVzZXIgbWFwcGlu Zywgd2hlbiBhbnkgb2YgdGhlIGZvcmVpZ24gc2VydmVyIG5vZGUgaXMKLSAgICAgICAgaW5pdGlh bGl6ZWQuCisgICAgICAtIExvYWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9yIHVzZXIgbWFwcGluZywg d2hlbiBhbnkgb2YgdGhlCisgICAgICAgIGZvcmVpZ24gc2VydmVyIG5vZGUgaXMgaW5pdGlhbGl6 ZWQuCiAgICAgIiIiCiAKICAgICBOT0RFX1RZUEUgPSAndXNlcl9tYXBwaW5nJwpAQCAtNTYsNyAr NTksOCBAQCBjbGFzcyBVc2VyTWFwcGluZ01vZHVsZShDb2xsZWN0aW9uTm9kZU1vZHVsZSk6CiAK ICAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCi0g ICAgICAgIE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIFVzZXIgbWFwcGluZyBtb2R1 bGUgYW5kIGl0J3MgYmFzZSBtb2R1bGUuCisgICAgICAgIE1ldGhvZCBpcyB1c2VkIHRvIGluaXRp YWxpemUgdGhlIFVzZXIgbWFwcGluZyBtb2R1bGUgYW5kCisgICAgICAgIGl0J3MgYmFzZSBtb2R1 bGUuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgICphcmdzOgpAQCAtOTQsNyArOTgsOCBA QCBjbGFzcyBVc2VyTWFwcGluZ01vZHVsZShDb2xsZWN0aW9uTm9kZU1vZHVsZSk6CiAgICAgQHBy b3BlcnR5CiAgICAgZGVmIHNjcmlwdF9sb2FkKHNlbGYpOgogICAgICAgICAiIiIKLSAgICAgICAg TG9hZCB0aGUgbW9kdWxlIHNjcmlwdCBmb3IgdXNlciBtYXBwaW5nLCB3aGVuIGFueSBvZiB0aGUg Zm9yZWlnbiBzZXJ2ZXIgbm9kZSBpcyBpbml0aWFsaXplZC4KKyAgICAgICAgTG9hZCB0aGUgbW9k dWxlIHNjcmlwdCBmb3IgdXNlciBtYXBwaW5nLCB3aGVuIGFueSBvZiB0aGUKKyAgICAgICAgZm9y ZWlnbiBzZXJ2ZXIgbm9kZSBpcyBpbml0aWFsaXplZC4KIAogICAgICAgICBSZXR1cm5zOiBub2Rl IHR5cGUgb2YgdGhlIHNlcnZlciBtb2R1bGUuCiAgICAgICAgICIiIgpAQCAtMTE3LDkgKzEyMiwx MCBAQCBjbGFzcyBVc2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAiIiIKICAg ICBjbGFzcyBVc2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KQogCi0gICAgICAgIEEgdmll dyBjbGFzcyBmb3IgdXNlciBtYXBwaW5nIG5vZGUgZGVyaXZlZCBmcm9tIFBHQ2hpbGROb2RlVmll dy4gVGhpcyBjbGFzcyBpcwotICAgICAgICByZXNwb25zaWJsZSBmb3IgYWxsIHRoZSBzdHVmZiBy ZWxhdGVkIHRvIHZpZXcgbGlrZSB1cGRhdGluZyB1c2VyIG1hcHBpbmcKLSAgICAgICAgbm9kZSwg c2hvd2luZyBwcm9wZXJ0aWVzLCBzaG93aW5nIHNxbCBpbiBzcWwgcGFuZS4KKyAgICAgICAgQSB2 aWV3IGNsYXNzIGZvciB1c2VyIG1hcHBpbmcgbm9kZSBkZXJpdmVkIGZyb20gUEdDaGlsZE5vZGVW aWV3LgorICAgICAgICBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBhbGwgdGhlIHN0dWZm IHJlbGF0ZWQgdG8gdmlldyBsaWtlCisgICAgICAgIHVwZGF0aW5nIHVzZXIgbWFwcGluZyBub2Rl LCBzaG93aW5nIHByb3BlcnRpZXMsCisgICAgICAgIHNob3dpbmcgc3FsIGluIHNxbCBwYW5lLgog CiAgICAgTWV0aG9kczoKICAgICAtLS0tLS0tCkBAIC0xMzYsMTcgKzE0MiwyMSBAQCBjbGFzcyBV c2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgbWFuYWdlcixjb25uICYg dGVtcGxhdGVfcGF0aCBwcm9wZXJ0aWVzIHRvIHNlbGYKIAogICAgICogbGlzdChnaWQsIHNpZCwg ZGlkLCBmaWQsIGZzaWQpCi0gICAgICAtIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBsaXN0IGFs bCB0aGUgdXNlciBtYXBwaW5nIG5vZGVzIHdpdGhpbiB0aGF0IGNvbGxlY3Rpb24uCisgICAgICAt IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBsaXN0IGFsbCB0aGUgdXNlciBtYXBwaW5nIG5vZGVz CisgICAgICAgIHdpdGhpbiB0aGF0IGNvbGxlY3Rpb24uCiAKICAgICAqIG5vZGVzKGdpZCwgc2lk LCBkaWQsIGZpZCwgZnNpZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVzZWQgdG8gY3Jl YXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgLSBU aGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2RlCisgICAg ICAgIHdpdGhpbiB0aGF0IGNvbGxlY3Rpb24uCiAgICAgICAgIEhlcmUgaXQgd2lsbCBjcmVhdGUg YWxsIHRoZSB1c2VyIG1hcHBpbmcgbm9kZS4KIAogICAgICogcHJvcGVydGllcyhnaWQsIHNpZCwg ZGlkLCBmaWQsIGZzaWQsIHVtaWQpCi0gICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBzaG93IHRo ZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZCB1c2VyIG1hcHBpbmcgbm9kZQorICAgICAgLSBU aGlzIGZ1bmN0aW9uIHdpbGwgc2hvdyB0aGUgcHJvcGVydGllcyBvZiB0aGUgc2VsZWN0ZWQKKyAg ICAgICAgdXNlciBtYXBwaW5nIG5vZGUKIAogICAgICogdXBkYXRlKGdpZCwgc2lkLCBkaWQsIGZp ZCwgZnNpZCwgdW1pZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSB0aGUgZGF0 YSBmb3IgdGhlIHNlbGVjdGVkIHVzZXIgbWFwcGluZyBub2RlCisgICAgICAtIFRoaXMgZnVuY3Rp b24gd2lsbCB1cGRhdGUgdGhlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZAorICAgICAgICB1c2VyIG1h cHBpbmcgbm9kZQogCiAgICAgKiBjcmVhdGUoZ2lkLCBzaWQsIGRpZCwgZmlkLCBmc2lkKQogICAg ICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIHRoZSBuZXcgdXNlciBtYXBwaW5nIG5vZGUK QEAgLTE1NSwxOSArMTY1LDIzIEBAIGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9kZVZp ZXcpOgogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHRoZSBzZWxlY3RlZCB1c2Vy IG1hcHBpbmcgbm9kZQogCiAgICAgKiBtc3FsKGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCwgdW1p ZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJldHVybiBtb2RpZmllZCBTUUwg Zm9yIHRoZSBzZWxlY3RlZCB1c2VyIG1hcHBpbmcgbm9kZQorICAgICAgLSBUaGlzIGZ1bmN0aW9u IGlzIHVzZWQgdG8gcmV0dXJuIG1vZGlmaWVkIFNRTCBmb3IgdGhlCisgICAgICAgIHNlbGVjdGVk IHVzZXIgbWFwcGluZyBub2RlCiAKICAgICAqIGdldF9zcWwoZGF0YSwgZmlkLCBmc2lkLCB1bWlk KQogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIGZyb20gbW9kZWwgZGF0 YQogCiAgICAgKiBzcWwoZ2lkLCBzaWQsIGRpZCwgZmlkLCBmc2lkLCB1bWlkKToKLSAgICAgIC0g VGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlIHNxbCB0byBzaG93IGl0IGluIHNxbCBwYW5lIGZv ciB0aGUgc2VsZWN0ZWQgdXNlciBtYXBwaW5nIG5vZGUuCisgICAgICAtIFRoaXMgZnVuY3Rpb24g d2lsbCBnZW5lcmF0ZSBzcWwgdG8gc2hvdyBpdCBpbiBzcWwgcGFuZSBmb3IgdGhlCisgICAgICAg IHNlbGVjdGVkIHVzZXIgbWFwcGluZyBub2RlLgogCiAgICAgKiBkZXBlbmRlbnRzKGdpZCwgc2lk LCBkaWQsIGZpZCwgZnNpZCwgdW1pZCk6Ci0gICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0IHRoZSBk ZXBlbmRlbnRzIGFuZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3IgdGhlIHVzZXIgbWFwcGluZyBu b2RlLgorICAgICAgLSBUaGlzIGZ1bmN0aW9uIGdldCB0aGUgZGVwZW5kZW50cyBhbmQgcmV0dXJu IGFqYXggcmVzcG9uc2UgZm9yIHRoZQorICAgICAgICB1c2VyIG1hcHBpbmcgbm9kZS4KIAogICAg ICogZGVwZW5kZW5jaWVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCwgdW1pZCk6Ci0g ICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0IHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJldHVybiBhamF4 IHJlc3BvbnNlIGZvciB0aGUgdXNlciBtYXBwaW5nIG5vZGUuCisgICAgICAtIFRoaXMgZnVuY3Rp b24gZ2V0IHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJldHVybiBhamF4IHJlc3BvbnNlIGZvciB0aGUK KyAgICAgICAgdXNlciBtYXBwaW5nIG5vZGUuCiAgICAgIiIiCiAKICAgICBub2RlX3R5cGUgPSBi bHVlcHJpbnQubm9kZV90eXBlCkBAIC0yNDIsNyArMjU2LDggQEAgY2xhc3MgVXNlck1hcHBpbmdW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiBs aXN0KHNlbGYsIGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCk6CiAgICAgICAgICIiIgotICAgICAg ICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIHVzZXIgbWFwcGluZyBub2Rl cyB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQg dG8gbGlzdCBhbGwgdGhlIHVzZXIgbWFwcGluZyBub2RlcworICAgICAgICB3aXRoaW4gdGhhdCBj b2xsZWN0aW9uLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91 cCBJRApAQCAtMjUyLDcgKzI2Nyw4IEBAIGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9k ZVZpZXcpOgogICAgICAgICAgICAgZnNpZDogRm9yZWlnbiBzZXJ2ZXIgSUQKICAgICAgICAgIiIi CiAKLSAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRl X3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRl KCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZnNpZD1mc2lkLCBjb25uPXNlbGYuY29ubikKICAgICAgICAgc3RhdHVzLCByZXMg PSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KHNxbCkKIApAQCAtMjY3LDcgKzI4Myw4IEBAIGNsYXNz IFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgIEBjaGVja19wcmVjb25kaXRp b24KICAgICBkZWYgbm9kZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgZmlkLCBmc2lkKToKICAgICAg ICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCB1c2VkIHRvIGNyZWF0ZSBhbGwgdGhl IGNoaWxkIG5vZGUgd2l0aGluIHRoYXQgY29sbGVjdGlvbi4KKyAgICAgICAgVGhpcyBmdW5jdGlv biB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQKKyAgICAgICAgbm9kZSB3aXRoaW4g dGhhdCBjb2xsZWN0aW9uLgogICAgICAgICBIZXJlIGl0IHdpbGwgY3JlYXRlIGFsbCB0aGUgdXNl ciBtYXBwaW5nIG5vZGUuCiAKICAgICAgICAgQXJnczoKQEAgLTI3OSw3ICsyOTYsOCBAQCBjbGFz cyBVc2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgIiIiCiAKICAgICAg ICAgcmVzID0gW10KLSAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxm LnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgc3FsID0gcmVuZGVy X3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZnNpZD1mc2lkLCBjb25uPXNlbGYuY29ubikKICAgICAgICAgc3Rh dHVzLCByX3NldCA9IHNlbGYuY29ubi5leGVjdXRlXzJkYXJyYXkoc3FsKQogCkBAIC0zMTMsNyAr MzMxLDggQEAgY2xhc3MgVXNlck1hcHBpbmdWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAg ICAgICBmc2lkOiBGb3JlaWduIHNlcnZlciBJRAogICAgICAgICAgICAgdW1pZDogVXNlciBtYXBw aW5nIElECiAgICAgICAgICIiIgotICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpv aW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICBzcWwg PSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcy5zcWwnXSksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uPXNlbGYuY29ubiwgdW1pZD11bWlkKQogICAg ICAgICBzdGF0dXMsIHJfc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShzcWwpCiAKQEAg LTMzNiw3ICszNTUsOCBAQCBjbGFzcyBVc2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToK ICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIHByb3BlcnRpZXMoc2VsZiwgZ2lkLCBz aWQsIGRpZCwgZmlkLCBmc2lkLCB1bWlkKToKICAgICAgICAgIiIiCi0gICAgICAgIFRoaXMgZnVu Y3Rpb24gd2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZCB1c2VyIG1hcHBp bmcgbm9kZS4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMg b2YgdGhlCisgICAgICAgIHNlbGVjdGVkIHVzZXIgbWFwcGluZyBub2RlLgogCiAgICAgICAgIEFy Z3M6CiAgICAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRApAQCAtMzQ3LDcgKzM2Nyw4IEBA IGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgdW1p ZDogVXNlciBtYXBwaW5nIElECiAgICAgICAgICIiIgogCi0gICAgICAgIHNxbCA9IHJlbmRlcl90 ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSks CisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVz LnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVtaWQ9dW1pZCwgY29ubj1z ZWxmLmNvbm4pCiAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChz cWwpCiAKQEAgLTQwMCw3ICs0MjEsOCBAQCBjbGFzcyBVc2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICAgICAgICAgICAgICApCiAKICAgICAgICAgdHJ5OgotICAgICAgICAgICAg c3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9w ZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9p bihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAncHJvcGVydGllcy5zcWwnXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZnNlcmlkPWZzaWQsIGNvbm49c2VsZi5jb25uKQogICAgICAgICAgICAgc3RhdHVz LCByZXMxID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCiAKQEAgLTQyMyw3ICs0NDUsOCBA QCBjbGFzcyBVc2VyTWFwcGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIGlm IG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJv cihlcnJvcm1zZz1yZXMpCiAKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIu am9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgICAg ICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3Fs J10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzaWQ9ZnNpZCwgZGF0YT1k YXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm49c2VsZi5jb25uKQog ICAgICAgICAgICAgc3RhdHVzLCByX3NldCA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQpA QCAtNTIyLDcgKzU0NSw4IEBAIGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9kZVZpZXcp OgogICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogCi0gICAgICAgICAg ICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3By b3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdwcm9wZXJ0aWVzLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bWlkPXVtaWQsIGNvbm49c2VsZi5jb25uKQogICAgICAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KHNxbCkKICAgICAgICAgICAgIGlmIG5vdCBz dGF0dXM6CkBAIC01NjYsNyArNTkwLDggQEAgY2xhc3MgVXNlck1hcHBpbmdWaWV3KFBHQ2hpbGRO b2RlVmlldyk6CiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiBtc3FsKHNlbGYsIGdp ZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCwgdW1pZD1Ob25lKToKICAgICAgICAgIiIiCi0gICAgICAg IFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byByZXR1cm4gbW9kaWZpZWQgU1FMIGZvciB0aGUgc2Vs ZWN0ZWQgdXNlciBtYXBwaW5nIG5vZGUuCisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0 byByZXR1cm4gbW9kaWZpZWQgU1FMIGZvciB0aGUKKyAgICAgICAgc2VsZWN0ZWQgdXNlciBtYXBw aW5nIG5vZGUuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIGdpZDogU2VydmVyIEdyb3Vw IElECkBAIC01OTMsOCArNjE4LDcgQEAgY2xhc3MgVXNlck1hcHBpbmdWaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAKICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAg ICAgICAgICAgZGF0YT1zcWwsCi0gICAgICAgICAgICAgICAgc3RhdHVzPTIwMAotICAgICAgICAg ICAgICAgICkKKyAgICAgICAgICAgICAgICBzdGF0dXM9MjAwKQogICAgICAgICBleGNlcHQgRXhj ZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXN0cihlKSkKIApAQCAtNjE3LDcgKzY0MSw4IEBAIGNsYXNzIFVzZXJNYXBwaW5nVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBdCiAKICAgICAgICAgaWYgdW1pZCBpcyBub3Qg Tm9uZToKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgICAgICBzcWwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVtaWQ9dW1pZCwgY29ubj1zZWxmLmNvbm4pCiAg ICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQogICAg ICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTYzNCw3ICs2NTksOCBAQCBjbGFzcyBVc2VyTWFw cGluZ1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICBvbGRfZGF0YSA9IHJlc1sncm93cyddWzBdCiAKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90 ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSks CisgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxh dGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3By b3BlcnRpZXMuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzZXJp ZD1mc2lkLCBjb25uPXNlbGYuY29ubikKICAgICAgICAgICAgIHN0YXR1cywgcmVzMSA9IHNlbGYu Y29ubi5leGVjdXRlX2RpY3Qoc3FsKQogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTY0 NiwyNSArNjcyLDM1IEBAIGNsYXNzIFVzZXJNYXBwaW5nVmlldyhQR0NoaWxkTm9kZVZpZXcpOgog ICAgICAgICAgICAgICAgIGlmIGFyZyBub3QgaW4gZGF0YToKICAgICAgICAgICAgICAgICAgICAg ZGF0YVthcmddID0gb2xkX2RhdGFbYXJnXQogCi0gICAgICAgICAgICAjIEFsbG93IHVzZXIgdG8g c2V0IHRoZSBibGFuayB2YWx1ZSBpbiBmZHd2YWx1ZSBmaWVsZCBpbiBvcHRpb24gbW9kZWwKKyAg ICAgICAgICAgICMgQWxsb3cgdXNlciB0byBzZXQgdGhlIGJsYW5rIHZhbHVlIGluIGZkd3ZhbHVl CisgICAgICAgICAgICAjIGZpZWxkIGluIG9wdGlvbiBtb2RlbAogICAgICAgICAgICAgaXNfdmFs aWRfYWRkZWRfb3B0aW9ucyA9IGlzX3ZhbGlkX2NoYW5nZWRfb3B0aW9ucyA9IEZhbHNlCiAgICAg ICAgICAgICBpZiAndW1vcHRpb25zJyBpbiBkYXRhIGFuZCAnYWRkZWQnIGluIGRhdGFbJ3Vtb3B0 aW9ucyddOgotICAgICAgICAgICAgICAgIGlzX3ZhbGlkX2FkZGVkX29wdGlvbnMsIGRhdGFbJ3Vt b3B0aW9ucyddWydhZGRlZCddID0gdmFsaWRhdGVfb3B0aW9ucygKLSAgICAgICAgICAgICAgICAg ICAgZGF0YVsndW1vcHRpb25zJ11bJ2FkZGVkJ10sICd1bW9wdGlvbicsICd1bXZhbHVlJwotICAg ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBpc192YWxpZF9hZGRlZF9vcHRpb25zLCBk YXRhWyd1bW9wdGlvbnMnXVsnYWRkZWQnXSA9XAorICAgICAgICAgICAgICAgICAgICB2YWxpZGF0 ZV9vcHRpb25zKAorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVsndW1vcHRpb25zJ11bJ2Fk ZGVkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAndW1vcHRpb24nLAorICAgICAgICAgICAg ICAgICAgICAgICAgJ3VtdmFsdWUnKQogICAgICAgICAgICAgaWYgJ3Vtb3B0aW9ucycgaW4gZGF0 YSBhbmQgJ2NoYW5nZWQnIGluIGRhdGFbJ3Vtb3B0aW9ucyddOgotICAgICAgICAgICAgICAgIGlz X3ZhbGlkX2NoYW5nZWRfb3B0aW9ucywgZGF0YVsndW1vcHRpb25zJ11bJ2NoYW5nZWQnXSA9IHZh bGlkYXRlX29wdGlvbnMoCi0gICAgICAgICAgICAgICAgICAgIGRhdGFbJ3Vtb3B0aW9ucyddWydj aGFuZ2VkJ10sICd1bW9wdGlvbicsICd1bXZhbHVlJwotICAgICAgICAgICAgICAgICkKLQotICAg ICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3Bh dGgsICd1cGRhdGUuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh dGE9ZGF0YSwgb19kYXRhPW9sZF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlzX3ZhbGlkX2FkZGVkX29wdGlvbnM9aXNfdmFsaWRfYWRkZWRfb3B0aW9ucywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc192YWxpZF9jaGFuZ2VkX29wdGlvbnM9aXNf dmFsaWRfY2hhbmdlZF9vcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZkd2RhdGE9ZmR3X2RhdGEsIGNvbm49c2VsZi5jb25uKQorICAgICAgICAgICAgICAgIGlzX3Zh bGlkX2NoYW5nZWRfb3B0aW9ucywgZGF0YVsndW1vcHRpb25zJ11bJ2NoYW5nZWQnXSA9XAorICAg ICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9vcHRpb25zKAorICAgICAgICAgICAgICAgICAgICAg ICAgZGF0YVsndW1vcHRpb25zJ11bJ2NoYW5nZWQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICd1bW9wdGlvbicsCisgICAgICAgICAgICAgICAgICAgICAgICAndW12YWx1ZScpCisKKyAgICAg ICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAiLyIuam9pbihb c2VsZi50ZW1wbGF0ZV9wYXRoLCAndXBkYXRlLnNxbCddKSwKKyAgICAgICAgICAgICAgICBkYXRh PWRhdGEsCisgICAgICAgICAgICAgICAgb19kYXRhPW9sZF9kYXRhLAorICAgICAgICAgICAgICAg IGlzX3ZhbGlkX2FkZGVkX29wdGlvbnM9aXNfdmFsaWRfYWRkZWRfb3B0aW9ucywKKyAgICAgICAg ICAgICAgICBpc192YWxpZF9jaGFuZ2VkX29wdGlvbnM9aXNfdmFsaWRfY2hhbmdlZF9vcHRpb25z LAorICAgICAgICAgICAgICAgIGZkd2RhdGE9ZmR3X2RhdGEsCisgICAgICAgICAgICAgICAgY29u bj1zZWxmLmNvbm4KKyAgICAgICAgICAgICkKICAgICAgICAgICAgIHJldHVybiBzcWwsIGRhdGFb J25hbWUnXSBpZiAnbmFtZScgaW4gZGF0YSBlbHNlIG9sZF9kYXRhWyduYW1lJ10KICAgICAgICAg ZWxzZToKLSAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgICAgICBzcWwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzZXJpZD1mc2lkLCBjb25uPXNlbGYuY29ubikK ICAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCiAg ICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgpAQCAtNjg3LDcgKzcyMyw4IEBAIGNsYXNzIFVzZXJN YXBwaW5nVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgIEBjaGVja19wcmVjb25kaXRpb24KICAg ICBkZWYgc3FsKHNlbGYsIGdpZCwgc2lkLCBkaWQsIGZpZCwgZnNpZCwgdW1pZCk6CiAgICAgICAg ICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIHRvIHNob3cgaXQg aW4gc3FsIHBhbmUgZm9yIHRoZSBzZWxlY3RlZCB1c2VyIG1hcHBpbmcgbm9kZS4KKyAgICAgICAg VGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlIHNxbCB0byBzaG93IGl0IGluIHNxbCBwYW5lIGZv cgorICAgICAgICB0aGUgc2VsZWN0ZWQgdXNlciBtYXBwaW5nIG5vZGUuCiAKICAgICAgICAgQXJn czoKICAgICAgICAgICAgIGdpZDogU2VydmVyIEdyb3VwIElECmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRh X3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMvdGVzdF91c2VyX21h cHBpbmdfYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBw aW5nL3Rlc3RzL3Rlc3RfdXNlcl9tYXBwaW5nX2FkZC5weQppbmRleCBjOGQzMDZjLi4xZDg2ZTJl IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBp bmcvdGVzdHMvdGVzdF91c2VyX21hcHBpbmdfYWRkLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMv Zm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19hZGQu cHkKQEAgLTE2LDggKzE2LDggQEAgZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5z ZXJ2ZXJzLmRhdGFiYXNlcy5leHRlbnNpb25zLnRlc3RzIGltcG9ydCBcCiAgICAgdXRpbHMgYXMg ZXh0ZW5zaW9uX3V0aWxzCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZl cnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0YV93cmFwcGVycy5cCiAgICAgZm9yZWlnbl9zZXJ2ZXJz LnRlc3RzIGltcG9ydCB1dGlscyBhcyBmc3J2X3V0aWxzCi1mcm9tIHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0YV93cmFwcGVycy50ZXN0 c1wKLSAgICBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLlwKKyAgICBmb3JlaWduX2RhdGFfd3JhcHBl cnMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZkd191dGlscwogZnJvbSBwZ2FkbWluLmJyb3dzZXIu c2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgXAogICAgIHV0aWxz IGFzIGRhdGFiYXNlX3V0aWxzCiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VU ZXN0R2VuZXJhdG9yCkBAIC02OCw4ICs2OCw3IEBAIGNsYXNzIFVzZXJNYXBwaW5nQWRkVGVzdENh c2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBpZiBub3QgZnNydl9yZXNwb25zZToKICAg ICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgRlNSVi4iKQogICAgICAg ICBkYl91c2VyID0gc2VsZi5zZXJ2ZXJbInVzZXJuYW1lIl0KLSAgICAgICAgZGF0YSA9IHsKLSAg ICAgICAgICAgICAgICAibmFtZSI6IGRiX3VzZXIsCisgICAgICAgIGRhdGEgPSB7Im5hbWUiOiBk Yl91c2VyLAogICAgICAgICAgICAgICAgICJ1bV9vcHRpb25zIjogW10sCiAgICAgICAgICAgICAg ICAgInVtb3B0aW9ucyI6IFsKICAgICAgICAgICAgICAgICAgICAgewpAQCAtODAsOCArNzksNyBA QCBjbGFzcyBVc2VyTWFwcGluZ0FkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAg ICAgICAgICAgICAgICAgICAgICJ1bW9wdGlvbiI6ICJwYXNzd29yZCIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAidW12YWx1ZSI6IHNlbGYuc2VydmVyWyJkYl9wYXNzd29yZCJdCiAgICAgICAg ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9CisgICAgICAg ICAgICAgICAgXX0KICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAogICAgICAg ICAgICAgc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCiAgICAgICAg ICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsgc3RyKApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0 YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL3Rlc3RzL3Rlc3RfdXNlcl9t YXBwaW5nX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJf bWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19kZWxldGUucHkKaW5kZXggY2Q4NDVmZi4u NWU2NTc5MCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNl cl9tYXBwaW5nL3Rlc3RzL3Rlc3RfdXNlcl9tYXBwaW5nX2RlbGV0ZS5weQorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRh X3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMvdGVzdF91c2VyX21h cHBpbmdfZGVsZXRlLnB5CkBAIC0xNSw4ICsxNSw4IEBAIGZyb20gcGdhZG1pbi5icm93c2VyLnNl cnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuZXh0ZW5zaW9ucy50ZXN0cyBpbXBvcnQgXAog ICAgIHV0aWxzIGFzIGV4dGVuc2lvbl91dGlscwogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVy X2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5mb3JlaWduX2RhdGFfd3JhcHBlcnMuIFwKICAgICBm b3JlaWduX3NlcnZlcnMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZzcnZfdXRpbHMKLWZyb20gcGdh ZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuZm9yZWlnbl9kYXRh X3dyYXBwZXJzLnRlc3RzIFwKLSAgICBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCitmcm9tIHBn YWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0 YV93cmFwcGVycy5cCisgICAgdGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZkd191dGlscwogZnJvbSBw Z2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBv cnQgXAogICAgIHV0aWxzIGFzIGRhdGFiYXNlX3V0aWxzCiBmcm9tIHBnYWRtaW4udXRpbHMucm91 dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJz L2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMvdGVzdF91c2VyX21hcHBpbmdfZ2V0 LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL3Rlc3Rz L3Rlc3RfdXNlcl9tYXBwaW5nX2dldC5weQppbmRleCA1MDA4OTg3Li5hYTVlOWM2IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv Zm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMv dGVzdF91c2VyX21hcHBpbmdfZ2V0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9z ZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19nZXQucHkKQEAgLTE1 LDggKzE1LDggQEAgZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRh dGFiYXNlcy5leHRlbnNpb25zLnRlc3RzIGltcG9ydCBcCiAgICAgdXRpbHMgYXMgZXh0ZW5zaW9u X3V0aWxzCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJh c2VzLmZvcmVpZ25fZGF0YV93cmFwcGVycy4gXAogICAgIGZvcmVpZ25fc2VydmVycy50ZXN0cyBp bXBvcnQgdXRpbHMgYXMgZnNydl91dGlscwotZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5mb3JlaWduX2RhdGFfd3JhcHBlcnMudGVzdHMgXAotICAg IGltcG9ydCB1dGlscyBhcyBmZHdfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMuZm9yZWlnbl9kYXRhX3dyYXBwZXJzLlwKKyAgICB0ZXN0 cyBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJf Z3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCiAgICAgdXRpbHMgYXMgZGF0 YWJhc2VfdXRpbHMKIGZyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5l cmF0b3IKQEAgLTcwLDggKzcwLDcgQEAgY2xhc3MgVXNlck1hcHBpbmdHZXRUZXN0Q2FzZShCYXNl VGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBm aW5kIEZTUlYuIikKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwg KyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cihzZWxmLnNlcnZlcl9pZCkgKyAnLycgKyBzdHIoCi0gICAgICAgICAg ICBzZWxmLmRiX2lkKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyAr IHN0cihzZWxmLmZkd19pZCkgKyAnLycgKyBzdHIoCisgICAgICAgICAgICBzZWxmLmRiX2lkKSAr ICcvJyArIHN0cihzZWxmLmZkd19pZCkgKyAnLycgKyBzdHIoCiAgICAgICAgICAgICBzZWxmLmZz cnZfaWQpICsgJy8nICsgc3RyKAogICAgICAgICAgICAgc2VsZi51bV9pZCksIGNvbnRlbnRfdHlw ZT0naHRtbC9qc29uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVz X2NvZGUsIDIwMCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJz L3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19wdXQucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dy YXBwZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMvdGVzdF91c2VyX21hcHBp bmdfcHV0LnB5CmluZGV4IGViMDUyMTUuLmJiYmE3MjcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3Jh cHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGlu Z19wdXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBw aW5nL3Rlc3RzL3Rlc3RfdXNlcl9tYXBwaW5nX3B1dC5weQpAQCAtMTYsOCArMTYsOCBAQCBmcm9t IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLmV4dGVuc2lv bnMudGVzdHMgaW1wb3J0IFwKICAgICB1dGlscyBhcyBleHRlbnNpb25fdXRpbHMKIGZyb20gcGdh ZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuZm9yZWlnbl9kYXRh X3dyYXBwZXJzLiBcCiAgICAgZm9yZWlnbl9zZXJ2ZXJzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBm c3J2X3V0aWxzCi1mcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzLmZvcmVpZ25fZGF0YV93cmFwcGVycy50ZXN0cyBcCi0gICAgaW1wb3J0IHV0aWxzIGFz IGZkd191dGlscworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRh dGFiYXNlcy5mb3JlaWduX2RhdGFfd3JhcHBlcnMuXAorICAgIHRlc3RzIGltcG9ydCB1dGlscyBh cyBmZHdfdXRpbHMKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5k YXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKICAgICB1dGlscyBhcyBkYXRhYmFzZV91dGlscwogZnJv bSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgpAQCAtNjUsNyAr NjUsOCBAQCBjbGFzcyBVc2VyTWFwcGluZ1B1dFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHdfbmFt ZSkKICAgICAgICAgaWYgbm90IGZkd19yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiQ291bGQgbm90IGZpbmQgRkRXLiIpCi0gICAgICAgIGZzcnZfcmVzcG9uc2UgPSBmc3J2 X3V0aWxzLnZlcmlmeV9mc3J2KHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsCisgICAgICAgIGZz cnZfcmVzcG9uc2UgPSBmc3J2X3V0aWxzLnZlcmlmeV9mc3J2KHNlbGYuc2VydmVyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnNydl9u YW1lKQogICAgICAgICBpZiBub3QgZnNydl9yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4 Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgRlNSVi4iKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFw cGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0 YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL3Rlc3RzL3V0aWxzLnB5Cmlu ZGV4IGVmMzkzNjYuLmYwZDgyOTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWln bl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBw ZXJzL2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMvdXRpbHMucHkKQEAgLTM5LDcg KzM5LDExIEBAIGRlZiBjcmVhdGVfdXNlcl9tYXBwaW5nKHNlcnZlciwgZGJfbmFtZSwgZnNydl9u YW1lKToKICAgICAgICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVsKDApCiAgICAgICAg IHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKICAgICAgICAgcXVlcnkgPSAiQ1JFQVRF IFVTRVIgTUFQUElORyBGT1IgJXMgU0VSVkVSICVzIE9QVElPTlMiIFwKLSAgICAgICAgICAgICAg ICAiICh1c2VyICclcycsIHBhc3N3b3JkICclcycpIiAlIChzZXJ2ZXJbJ3VzZXJuYW1lJ10sIGZz cnZfbmFtZSwgc2VydmVyWyd1c2VybmFtZSddLCBzZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10pCisgICAg ICAgICAgICAgICAgIiAodXNlciAnJXMnLCBwYXNzd29yZCAnJXMnKSIgJSAoc2VydmVyWyd1c2Vy bmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZzcnZfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyWydkYl9wYXNzd29yZCddCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICBwZ19jdXJzb3IuZXhl Y3V0ZShxdWVyeSkKICAgICAgICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVsKG9sZF9p c29sYXRpb25fbGV2ZWwpCiAgICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3Jl aWduX2RhdGFfd3JhcHBlcnMvdGVzdHMvdGVzdF9mZHdfZGVsZXRlLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFw cGVycy90ZXN0cy90ZXN0X2Zkd19kZWxldGUucHkKaW5kZXggNGYyZDI3Ny4uOGZlN2RmMCAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy90ZXN0cy90ZXN0X2Zkd19kZWxldGUucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVp Z25fZGF0YV93cmFwcGVycy90ZXN0cy90ZXN0X2Zkd19kZWxldGUucHkKQEAgLTIxLDExICsyMSw5 IEBAIGZyb20gLiBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCiAKIGNsYXNzIEZEV0REZWxldGVU ZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgIiIiVGhpcyBjbGFzcyB3aWxsIGRlbGV0 ZSBmb3JlaWduIGRhdGEgd3JhcHBlcnMgdW5kZXIgdGVzdCBkYXRhYmFzZS4iIiIKLSAgICBzY2Vu YXJpb3MgPSBbCi0gICAgICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBmb3JlaWdu X2RhdGFfd3JhcHBlciBub2RlLgotICAgICAgICAgICAgKCdDaGVjayBGRFcgTm9kZScsCi0gICAg ICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL2ZvcmVpZ25fZGF0YV93cmFwcGVyL29iai8nKSkK LSAgICAgICAgXQorICAgIHNjZW5hcmlvcyA9IFsgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9y IGZvcmVpZ25fZGF0YV93cmFwcGVyIG5vZGUuCisgICAgICAgICgnQ2hlY2sgRkRXIE5vZGUnLAor ICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL2ZvcmVpZ25fZGF0YV93cmFwcGVyL29iai8nKSld CiAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwg Y3JlYXRlIGV4dGVuc2lvbiBhbmQgZm9yZWlnbiBkYXRhIHdyYXBwZXIuIiIiCkBAIC01MSwxMSAr NDksMTIgQEAgY2xhc3MgRkRXRERlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHdfbmFtZSkK ICAgICAgICAgaWYgbm90IGZkd19yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiQ291bGQgbm90IGZpbmQgRkRXLiIpCi0gICAgICAgIGRlbGV0ZV9yZXNwb25zZSA9IHNlbGYu dGVzdGVyLmRlbGV0ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnVybCArIHN0 cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKyBzdHIoc2VsZi5mZHdfaWQpLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyAgICAgICAgZGVsZXRlX3Jl c3BvbnNlID0gc2VsZi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihzZWxm LnNlcnZlcl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RyKHNlbGYuZGJfaWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICcvJyArIHN0cihzZWxmLmZkd19pZCksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCiAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGRlbGV0ZV9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQog CiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgo= --001a113d747ca702e3056666cc87--