Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gqzMn-0005qT-MQ for pgadmin-hackers@arkaria.postgresql.org; Tue, 05 Feb 2019 11:58:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gqzMl-0004vv-Te for pgadmin-hackers@arkaria.postgresql.org; Tue, 05 Feb 2019 11:58:15 +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_SHA1:256) (Exim 4.89) (envelope-from ) id 1gqzMl-0004vo-G2 for pgadmin-hackers@lists.postgresql.org; Tue, 05 Feb 2019 11:58:15 +0000 Received: from mail-lj1-x243.google.com ([2a00:1450:4864:20::243]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gqzMh-0007ck-OM for pgadmin-hackers@postgresql.org; Tue, 05 Feb 2019 11:58:14 +0000 Received: by mail-lj1-x243.google.com with SMTP id n18-v6so2625766lji.7 for ; Tue, 05 Feb 2019 03:58:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=aoQZFz7B72t8WLATTamO66qq+2iyQTD2rY+BYxJ1ZvY=; b=LLKnBbjefam2DqfJ11e2V1eV+kThaCZkhhb/y3PhLNhds6OdrZLzqCP56PO+x5KqAk t+0g2ioH8Rw10M7TRv+WQFNaAsupkWxEQwjV8ZzKdGh82DPJ6LJZKwV2dLtZiKFbvP8Z OujBB2zfytNcjvuiqs4Pb0yOuLW2wLHDNuS7QFTRjAZL61z1/xmvztpIfw7FehQNVvXh c01N/prwA8fkX2nLdTa+ektWst78JzfGk3LklCgAhx/waV41E8Cncv4peDeyhgEkRqhb IK/gjmhlsSLraVbXYWVrsm83UDVp+yEhhW7tw65UQ958zvO/tgN4jbeeq5h14y/cbTAx CwEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=aoQZFz7B72t8WLATTamO66qq+2iyQTD2rY+BYxJ1ZvY=; b=ij/VKDEPsBbh0UCZpdwXTtekOuDoZNUKSLqfD7FBWLYH/4EA023JNjuLgkfNJBGYPl myuVf34qlzUPGWWzOxGUDbxKxeFWY91LLV9h+mF9nkQ5Wrea/9As+eWdBoYN11jMCDLF dXSI3MGilJqqfE2Q2r9hFkss8dxwuz7T/DVPmHG2Gc/RWmX4VsWQ5ST9xiGjFln7laDM x3i3HrO20qKJhW5ccDAMDhdIMfgGdnbUic7CEGryaoyPyes4pA2mlpFMy7QRzxw2llG/ 3AQynsrjava+fM3zPdNLrknd2EjfK1gtueOhO5EvuJ4qy1z85b3r2FhKq6tL9vBqXqbP 2/4Q== X-Gm-Message-State: AHQUAuYZL1BeJjvCyYW0aBKEwDH17OoKJxuq9h1LEOavkPffnMbCI3z9 BS1qw29Q94tlc1jABmpYN+9iBuSHOQo+oSCX2OEzWQ== X-Google-Smtp-Source: AHgI3IbM0Ff21QVqASAk7I0w+theCbL9Aze8SScNwfB9G7WNRw8Jvtrh6gLy5nTA1s6+aARYUzpmP1vb1u18F0u7Qs0= X-Received: by 2002:a2e:4784:: with SMTP id u126-v6mr2712569lja.124.1549367890066; Tue, 05 Feb 2019 03:58:10 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Aditya Toshniwal Date: Tue, 5 Feb 2019 17:27:58 +0530 Message-ID: Subject: Re: [pgAdmin4][RM3936] Feature tests failing intermittently for SQL editor related test cases To: Khushboo Vashi Cc: Akshay Joshi , pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000b717100581245209" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000b717100581245209 Content-Type: multipart/alternative; boundary="000000000000b7170d0581245207" --000000000000b7170d0581245207 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the updated patch to fix possible causes of failure. Kindly review (fingers crossed) On Tue, Feb 5, 2019 at 10:48 AM Khushboo Vashi < khushboo.vashi@enterprisedb.com> wrote: > > > On Tue, Feb 5, 2019 at 10:40 AM Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> Hi Aditya >> >> On Mon, Feb 4, 2019 at 2:18 PM Aditya Toshniwal < >> aditya.toshniwal@enterprisedb.com> wrote: >> >>> Hi Akshay, >>> >>> I tried to simulate, but no luck. It works on my system :( >>> >> >> I have tried and Feature test are failing randomly for each run. I >> have verified it on OSX and Ubuntu both. >> >>> >>> +1 > >> On Wed, Jan 30, 2019 at 7:15 PM Akshay Joshi < >>> akshay.joshi@enterprisedb.com> wrote: >>> >>>> Hi Aditya >>>> >>>> I have applied your patch but following test cases are failing >>>> consistently: >>>> >>>> - CopySelectedQueryResultsFeatureTest >>>> - QueryToolAutoCompleteFeatureTest >>>> >>>> I have verified your patch on Mac OSX and Ubuntu. Chrome Version >>>> 71.0.3578.98 >>>> >>>> On Tue, Jan 29, 2019 at 7:38 PM Akshay Joshi < >>>> akshay.joshi@enterprisedb.com> wrote: >>>> >>>>> >>>>> >>>>> On Tue, 29 Jan 2019, 19:09 Dave Page >>>> >>>>>> Akshay, can you look at this please? >>>>>> >>>>> >>>>> Sure. >>>>> >>>>>> >>>>>> On Tue, Jan 29, 2019 at 1:36 PM Aditya Toshniwal >>>>>> wrote: >>>>>> > >>>>>> > Hi Hackers, >>>>>> > >>>>>> > Attached is the updated patch. I have changed >>>>>> fill_input_by_field_name function to use javascript to set values of text >>>>>> boxes and the selector is changed from xpath to CSS with a :not(:disabled) >>>>>> clause. With this, test case will fail if tried to set the value of a >>>>>> disabled input. >>>>>> > >>>>>> > Kindly review. >>>>>> > >>>>>> > >>>>>> > On Mon, Jan 28, 2019 at 5:44 PM Aditya Toshniwal < >>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> On Mon, Jan 28, 2019 at 5:39 PM Dave Page >>>>>> wrote: >>>>>> >>> >>>>>> >>> On Mon, Jan 28, 2019 at 12:05 PM Aditya Toshniwal >>>>>> >>> wrote: >>>>>> >>> > >>>>>> >>> > Hi Dave, >>>>>> >>> > >>>>>> >>> > On Mon, Jan 28, 2019 at 5:01 PM Dave Page >>>>>> wrote: >>>>>> >>> >> >>>>>> >>> >> Hi >>>>>> >>> >> >>>>>> >>> >> On Mon, Jan 28, 2019 at 7:00 AM Aditya Toshniwal >>>>>> >>> >> wrote: >>>>>> >>> >> > >>>>>> >>> >> > Hi Hackers, >>>>>> >>> >> > >>>>>> >>> >> > Attached is the patch to fix failing SQL editor related >>>>>> feature tests. >>>>>> >>> >> > The failure is occurring mostly because of send_keys >>>>>> function of selenium which sometimes does not input the complete text. The >>>>>> change will use Codemirror javascript object to set the text. >>>>>> >>> >> > >>>>>> >>> >> > I have also added new args flag "--modules" which can be >>>>>> used after --pkg where you can test a specific module file under the pkg. >>>>>> This is not so useful for build but definitely helpful for the developers. >>>>>> >>> >> >>>>>> >>> >> One of the most common failures I see is failure to fill in the >>>>>> >>> >> details on the Add Server dialogue (it might type half of an >>>>>> entry, >>>>>> >>> >> then just hang). Should we get rid of all uses of send_keys? >>>>>> >>> > >>>>>> >>> > Setting the text using javascript executor can be done. >>>>>> send_keys simulate an actual person, so if you try to set a disabled text >>>>>> box using send_keys, it won't. Places where disabled fields doesn't matter, >>>>>> send_keys can be removed. >>>>>> >>> >>>>>> >>> Can't we just do something like: >>>>>> >>> >>>>>> >>> if input.disabled == false: >>>>>> >>> input.value = 'Foo'; >>>>>> >>> else: >>>>>> >>> raise exception .... >>>>>> >> >>>>>> >> I'll check if this can be done. Will get back. >>>>>> >>> >>>>>> >>> >>>>>> >>> -- >>>>>> >>> Dave Page >>>>>> >>> Blog: http://pgsnake.blogspot.com >>>>>> >>> Twitter: @pgsnake >>>>>> >>> >>>>>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> >>> The Enterprise PostgreSQL Company >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> -- >>>>>> >> Thanks and Regards, >>>>>> >> Aditya Toshniwal >>>>>> >> Software Engineer | EnterpriseDB Software Solutions | Pune >>>>>> >> "Don't Complain about Heat, Plant a tree" >>>>>> > >>>>>> > >>>>>> > >>>>>> > -- >>>>>> > Thanks and Regards, >>>>>> > Aditya Toshniwal >>>>>> > Software Engineer | EnterpriseDB Software Solutions | Pune >>>>>> > "Don't Complain about Heat, Plant a tree" >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> The Enterprise PostgreSQL Company >>>>>> >>>>> >>>> >>>> -- >>>> *Akshay Joshi* >>>> >>>> *Sr. Software Architect * >>>> >>>> >>>> >>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Software Engineer | EnterpriseDB Software Solutions | Pune >>> "Don't Complain about Heat, Plant a tree" >>> >> >> >> -- >> *Akshay Joshi* >> >> *Sr. Software Architect * >> >> >> >> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >> > -- Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB Software Solutions | Pune "Don't Complain about Heat, Plant a tree" --000000000000b7170d0581245207 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the updated patch to fix possible = causes of failure.=C2=A0
Kindly review (fingers crossed)

On Tue, = Feb 5, 2019 at 10:48 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
=


On Tue, Feb 5, 2019 at 10:40 AM Akshay Joshi <akshay.joshi@enterpri= sedb.com> wrote:
Hi=C2=A0Aditya

On Mon, Feb 4, 2019= at 2:18 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrot= e:
Hi Akshay,

I tried to simulate, but no luck. It works on my system := (

=C2=A0 =C2=A0I have tried and= Feature test are failing randomly for each run. I have verified it on OSX = and Ubuntu both.=C2=A0=C2=A0

+1=C2=A0
On Wed, Jan 30, 20= 19 at 7:15 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0Aditya

I have applie= d your patch but following test cases are failing consistently:
<= ul>
  • CopySelectedQueryResultsFeatureTest
  • QueryToolAutoCompleteFea= tureTest
  • I have verified your patch on Mac OSX and Ubuntu. Chr= ome=C2=A0Version 71.0.3578.98

    On T= ue, Jan 29, 2019 at 7:38 PM Akshay Joshi <akshay.joshi@enterprisedb.com> = wrote:


    On Tue, = 29 Jan 2019, 19:09 Dave Page <dpage@pgadmin.org wrote:
    Akshay, can you look at this please?

    =C2=A0 =C2=A0= Sure.

    On Tue, Jan 29, 2019 at 1:36 PM Aditya Toshniwal
    <aditya.toshniwal@enterprisedb.com> wrote:
    >
    > Hi Hackers,
    >
    > Attached is the updated patch. I have changed fill_input_by_field_name= function to use javascript to set values of text boxes and the selector is= changed from xpath to CSS with a :not(:disabled) clause. With this, test c= ase will fail if tried to set the value of a disabled input.
    >
    > Kindly review.
    >
    >
    > On Mon, Jan 28, 2019 at 5:44 PM Aditya Toshniwal <ad= itya.toshniwal@enterprisedb.com> wrote:
    >>
    >>
    >>
    >> On Mon, Jan 28, 2019 at 5:39 PM Dave Page <dpage@pgadmin.org= > wrote:
    >>>
    >>> On Mon, Jan 28, 2019 at 12:05 PM Aditya Toshniwal
    >>> <aditya.toshniwal@enterprisedb.com>= wrote:
    >>> >
    >>> > Hi Dave,
    >>> >
    >>> > On Mon, Jan 28, 2019 at 5:01 PM Dave Page <dpage@pgadmi= n.org> wrote:
    >>> >>
    >>> >> Hi
    >>> >>
    >>> >> On Mon, Jan 28, 2019 at 7:00 AM Aditya Toshniwal
    >>> >> <aditya.toshniwal@enterprisedb.com<= /a>> wrote:
    >>> >> >
    >>> >> > Hi Hackers,
    >>> >> >
    >>> >> > Attached is the patch to fix failing SQL editor = related feature tests.
    >>> >> > The failure is occurring mostly because of send_= keys function of selenium which sometimes does not input the complete text.= The change will use Codemirror javascript object to set the text.
    >>> >> >
    >>> >> > I have also added new args flag "--modules&= quot; which can be used after --pkg where you can test a specific module fi= le under the pkg. This is not so useful for build but definitely helpful fo= r the developers.
    >>> >>
    >>> >> One of the most common failures I see is failure to f= ill in the
    >>> >> details on the Add Server dialogue (it might type hal= f of an entry,
    >>> >> then just hang). Should we get rid of all uses of sen= d_keys?
    >>> >
    >>> > Setting the text using javascript executor can be done. s= end_keys simulate an actual person,=C2=A0 so if you try to set a disabled t= ext box using send_keys, it won't. Places where disabled fields doesn&#= 39;t matter, send_keys can be removed.
    >>>
    >>> Can't we just do something like:
    >>>
    >>> if input.disabled =3D=3D false:
    >>>=C2=A0 =C2=A0input.value =3D 'Foo';
    >>> else:
    >>>=C2=A0 =C2=A0raise exception ....
    >>
    >> I'll check if this can be done. Will get back.
    >>>
    >>>
    >>> --
    >>> Dave Page
    >>> Blog:
    http://pgsnake.blogspot.com
    >>> Twitter: @pgsnake
    >>>
    >>> EnterpriseDB UK: http://www.enterprisedb.com
    >>> The Enterprise PostgreSQL Company
    >>
    >>
    >>
    >> --
    >> Thanks and Regards,
    >> Aditya Toshniwal
    >> Software Engineer | EnterpriseDB Software Solutions | Pune
    >> "Don't Complain about Heat, Plant a tree"
    >
    >
    >
    > --
    > Thanks and Regards,
    > Aditya Toshniwal
    > Software Engineer | EnterpriseDB Software Solutions | Pune
    > "Don't Complain about Heat, Plant a tree"



    --
    Dave Page
    Blog:
    http://pgsnake.blogspot.com
    Twitter: @pgsnake

    EnterpriseDB UK: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company


    --
    Akshay Joshi
    = Sr. Software Architect
    =


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


    --
    Thanks a= nd Regards,
    Aditya T= oshniwal
    Software Engineer |=C2=A0EnterpriseDB Software Solutions |=C2=A0Pune
    "Don't Complain about Heat, Plant a tree"<= /div>


    --
    <= b>Akshay Joshi
    Sr. Software Architect

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


    --
    Thanks and Rega= rds,
    Aditya Toshniwa= l
    Softw= are Engineer |=C2=A0EnterpriseDB Software Solutions |=C2=A0Pune
    &q= uot;Don't Complain about Heat, Plant a tree"
    --000000000000b7170d0581245207-- --000000000000b717100581245209 Content-Type: application/octet-stream; name="RM3936_v3.patch" Content-Disposition: attachment; filename="RM3936_v3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jrrpmi4q0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcGdfdXRpbGl0aWVzX2JhY2t1 cF9yZXN0b3JlX3Rlc3QucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3BnX3V0aWxpdGll c19iYWNrdXBfcmVzdG9yZV90ZXN0LnB5CmluZGV4IDFjODkzOTNkLi40ZTExZjk5NCAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9wZ191dGlsaXRpZXNfYmFja3VwX3Jlc3Rv cmVfdGVzdC5weQorKysgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3BnX3V0aWxpdGllc19i YWNrdXBfcmVzdG9yZV90ZXN0LnB5CkBAIC04Myw2ICs4Myw3IEBAIGNsYXNzIFBHVXRpbGl0aWVz QmFja3VwRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2VsZi5wYWdlLmZp bmRfYnlfY3NzX3NlbGVjdG9yKAogICAgICAgICAgICAgIi5wZy1iZy1tb3JlLWRldGFpbHMiKS5j bGljaygpCiAKKyAgICAgICAgYmFja3VwX2ZpbGUgPSBOb25lCiAgICAgICAgICMgQ2hlY2sgZm9y IFhTUyBpbiBCYWNrdXAgZGV0YWlscwogICAgICAgICBpZiBzZWxmLmlzX3hzc19jaGVjazoKICAg ICAgICAgICAgIHNlbGYuX2NoZWNrX2RldGFpbGVkX3dpbmRvd19mb3JfeHNzKCdCYWNrdXAnKQpA QCAtOTksNyArMTAwLDYgQEAgY2xhc3MgUEdVdGlsaXRpZXNCYWNrdXBGZWF0dXJlVGVzdChCYXNl RmVhdHVyZVRlc3QpOgogCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJwZ19kdW1wIiwgc3Ry KGNvbW1hbmQpKQogCi0gICAgICAgICAgICBiYWNrdXBfZmlsZSA9IE5vbmUKICAgICAgICAgICAg IGlmIGNvbW1hbmQ6CiAgICAgICAgICAgICAgICAgYmFja3VwX2ZpbGUgPSBjb21tYW5kW2ludChj b21tYW5kLmZpbmQoJy0tZmlsZScpKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDg6aW50KGNvbW1hbmQuZmluZCgnLS1ob3N0JykpIC0gMl0KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvdmlld19kYXRhX2RtbF9xdWVyaWVzLnB5IGIvd2ViL3Bn YWRtaW4vZmVhdHVyZV90ZXN0cy92aWV3X2RhdGFfZG1sX3F1ZXJpZXMucHkKaW5kZXggMWJlOWRj ZmEuLjM2ZDIyNGE4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3ZpZXdf ZGF0YV9kbWxfcXVlcmllcy5weQorKysgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3ZpZXdf ZGF0YV9kbWxfcXVlcmllcy5weQpAQCAtMzA5LDYgKzMwOSw3IEBAIENSRUFURSBUQUJMRSBwdWJs aWMuZGVmYXVsdHNfezB9CiAKICAgICAgICAgICAgIGlmIChpZHggIT0gMSBhbmQgbm90IGlzX25l d19yb3cpIG9yIGlzX25ld19yb3c6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo ZWxlbWVudC50ZXh0LCBjb25maWdfZGF0YVtzdHIoaWR4KV1bMV0pCisgICAgICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbHMoZWxlbWVudC50ZXh0LCBjb25maWdfZGF0YVtzdHIoaWR4KV1bMV0p CiAKICAgICAgICAgIyBzY3JvbGwgYnJvd3NlciBiYWNrIHRvIHRoZSBsZWZ0CiAgICAgICAgICMg dG8gcmVzZXQgcG9zaXRpb24gc28gb3RoZXIgYXNzZXJ0aW9ucyBjYW4gc3VjY2VlZApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3BhbmVsc19hbmRfcXVl cnlfdG9vbF90ZXN0LnB5IGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3Bh bmVsc19hbmRfcXVlcnlfdG9vbF90ZXN0LnB5CmluZGV4IDI3YWM4YzJjLi4zNjVkMTA5YiAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3BhbmVsc19hbmRf cXVlcnlfdG9vbF90ZXN0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMveHNzX2No ZWNrc19wYW5lbHNfYW5kX3F1ZXJ5X3Rvb2xfdGVzdC5weQpAQCAtNTUsMTAgKzU1LDEyIEBAIGNs YXNzIENoZWNrRm9yWHNzRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2Vs Zi5fY2hlY2tfeHNzX2luX2RlcGVuZGVudHNfdGFiKCkKIAogICAgICAgICAjIFF1ZXJ5IHRvb2wK KyAgICAgICAgc2VsZi5wYWdlLm9wZW5fcXVlcnlfdG9vbCgpCiAgICAgICAgIHNlbGYuX2NoZWNr X3hzc19pbl9xdWVyeV90b29sKCkKICAgICAgICAgc2VsZi5wYWdlLmNsb3NlX3F1ZXJ5X3Rvb2wo KQogCiAgICAgICAgICMgRXhwbGFpbiBtb2R1bGUKKyAgICAgICAgc2VsZi5wYWdlLm9wZW5fcXVl cnlfdG9vbCgpCiAgICAgICAgIHNlbGYuX2NoZWNrX3hzc19pbl9leHBsYWluX21vZHVsZSgpCiAg ICAgICAgIHNlbGYucGFnZS5jbG9zZV9xdWVyeV90b29sKCkKIApAQCAtMTQyLDE3ICsxNDQsMTEg QEAgY2xhc3MgQ2hlY2tGb3JYc3NGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAg ICAgICAgIkRlcGVuZGVudHMgdGFiIChCYWNrR3JpZCkiCiAgICAgICAgICkKIAotICAgIGRlZiBf b3Blbl9xdWVyeV90b29sKHNlbGYpOgotICAgICAgICBzZWxmLnBhZ2UuZHJpdmVyLmZpbmRfZWxl bWVudF9ieV9saW5rX3RleHQoIlRvb2xzIikuY2xpY2soKQotICAgICAgICBzZWxmLnBhZ2UuZmlu ZF9ieV9wYXJ0aWFsX2xpbmtfdGV4dCgiUXVlcnkgVG9vbCIpLmNsaWNrKCkKLSAgICAgICAgc2Vs Zi5wYWdlLmNsaWNrX3RhYignUXVlcnkgLScpCi0KICAgICBkZWYgX2NoZWNrX3hzc19pbl9xdWVy eV90b29sKHNlbGYpOgogICAgICAgICBwcmludCgKICAgICAgICAgICAgICJcblx0Q2hlY2tpbmcg dGhlIFNsaWNrR3JpZCBjZWxsIGZvciB0aGUgWFNTIiwKICAgICAgICAgICAgIGZpbGU9c3lzLnN0 ZGVyciwgZW5kPSIiCiAgICAgICAgICkKLSAgICAgICAgc2VsZi5fb3Blbl9xdWVyeV90b29sKCkK ICAgICAgICAgc2VsZi5wYWdlLmZpbGxfY29kZW1pcnJvcl9hcmVhX3dpdGgoCiAgICAgICAgICAg ICAic2VsZWN0ICc8aW1nIHNyYz1cInhcIiBvbmVycm9yPVwiY29uc29sZS5sb2coMSlcIj4nIgog ICAgICAgICApCkBAIC0xNzksMTQgKzE3NSwxMCBAQCBjbGFzcyBDaGVja0Zvclhzc0ZlYXR1cmVU ZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgICAgICAiXG5cdENoZWNraW5nIHRoZSBHcmFw aGljYWwgRXhwbGFpbiBwbGFuIGZvciB0aGUgWFNTIC4uLiIsCiAgICAgICAgICAgICBmaWxlPXN5 cy5zdGRlcnIsIGVuZD0iIgogICAgICAgICApCi0gICAgICAgIHNlbGYuX29wZW5fcXVlcnlfdG9v bCgpCiAgICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKAogICAgICAg ICAgICAgJ3NlbGVjdCAqIGZyb20gInswfSInLmZvcm1hdChzZWxmLnRlc3RfdGFibGVfbmFtZSkK ICAgICAgICAgKQogCi0gICAgICAgIHF1ZXJ5X29wID0gc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0 bi1xdWVyeS1kcm9wZG93biIpCi0gICAgICAgIHF1ZXJ5X29wLmNsaWNrKCkKLQogICAgICAgICBz ZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWV4cGxhaW4iKS5jbGljaygpCiAgICAgICAgIHNlbGYu cGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2FwcGVhcigp CiAgICAgICAgIHNlbGYucGFnZS5jbGlja190YWIoJ0V4cGxhaW4nKQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlkLmpzIGIvd2ViL3BnYWRt aW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlkLmpzCmluZGV4IGRmMTZkMGJiLi4y NTlkMmEyYSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pz L2RhdGFncmlkLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9k YXRhZ3JpZC5qcwpAQCAtNTQsMTQgKzU0LDcgQEAgZGVmaW5lKCdwZ2FkbWluLmRhdGFncmlkJywg WwogICAgICAgICAgIHNlbGYucHJlZmVyZW5jZXMgPSBwZ0Jyb3dzZXIuZ2V0X3ByZWZlcmVuY2Vz X2Zvcl9tb2R1bGUoJ3NxbGVkaXRvcicpOwogICAgICAgICB9KTsKIAotICAgICAgICB0aGlzLnNw aW5uZXJfZWwgPQotICAgICAgICAgIGA8ZGl2IGNsYXNzPSJwZy1zcC1jb250YWluZXIiPgotICAg ICAgICAgICAgICA8ZGl2IGNsYXNzPSJwZy1zcC1jb250ZW50Ij4KLSAgICAgICAgICAgICAgICAg IDxkaXYgY2xhc3M9InJvdyI+Ci0gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29s LTEyIHBnLXNwLWljb24iPjwvZGl2PgotICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAg ICAgICAgIDwvZGl2PgotICAgICAgICAgIDwvZGl2PmA7CisKICAgICAgICAgLy8gRGVmaW5lIGxp c3Qgb2Ygbm9kZXMgb24gd2hpY2ggdmlldyBkYXRhIG9wdGlvbiBhcHBlYXJzCiAgICAgICAgIHZh ciBzdXBwb3J0ZWRfbm9kZXMgPSBbCiAgICAgICAgICAgICAndGFibGUnLCAndmlldycsICdtdmll dycsCkBAIC01MTQsMTcgKzUwNywyNiBAQCBkZWZpbmUoJ3BnYWRtaW4uZGF0YWdyaWQnLCBbCiAK ICAgICAgICAgICB2YXIgb3BlblF1ZXJ5VG9vbFVSTCA9IGZ1bmN0aW9uKGopIHsKICAgICAgICAg ICAgIC8vIGFkZCBzcGlubmVyIGVsZW1lbnQKLSAgICAgICAgICAgICQoaikuZGF0YSgnZW1iZWRk ZWRGcmFtZScpLiRjb250YWluZXIuYXBwZW5kKHBnQWRtaW4uRGF0YUdyaWQuc3Bpbm5lcl9lbCk7 Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgbGV0ICRz cGlubmVyX2VsID0KKyAgICAgICAgICAgICAgJChgPGRpdiBjbGFzcz0icGctc3AtY29udGFpbmVy Ij4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGctc3AtY29udGVudCI+CisgICAg ICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBwZy1zcC1pY29uIj48L2Rpdj4KKyAgICAgICAg ICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAg ICAgICAgICAgICA8L2Rpdj5gKS5hcHBlbmRUbygkKGopLmRhdGEoJ2VtYmVkZGVkRnJhbWUnKS4k Y29udGFpbmVyKTsKKworICAgICAgICAgICAgbGV0IGluaXRfcG9sbGVyX2lkID0gc2V0SW50ZXJ2 YWwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIHZhciBmcmFtZUluaXRpYWxpemVkID0gJChq KS5kYXRhKCdmcmFtZUluaXRpYWxpemVkJyk7CiAgICAgICAgICAgICAgIGlmIChmcmFtZUluaXRp YWxpemVkKSB7CisgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbml0X3BvbGxlcl9pZCk7 CiAgICAgICAgICAgICAgICAgdmFyIGZyYW1lID0gJChqKS5kYXRhKCdlbWJlZGRlZEZyYW1lJyk7 CiAgICAgICAgICAgICAgICAgaWYgKGZyYW1lKSB7CisgICAgICAgICAgICAgICAgICBmcmFtZS5v bkxvYWRlZCgoKT0+eworICAgICAgICAgICAgICAgICAgICAkc3Bpbm5lcl9lbC5yZW1vdmUoKTsK KyAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgZnJhbWUub3BlblVSTChi YXNlVXJsKTsKLSAgICAgICAgICAgICAgICAgIGZyYW1lLiRjb250YWluZXIuZmluZCgnLnBnLXNw LWNvbnRhaW5lcicpLmRlbGF5KDEwMDApLmhpZGUoMSk7CiAgICAgICAgICAgICAgICAgfQotICAg ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG9wZW5RdWVyeVRvb2xVUkwoaik7 CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgICAgfTsKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5IGIvd2ViL3BnYWRtaW4vdXRpbHMv cm91dGUucHkKaW5kZXggZTY3ZjAxOTUuLmIyMDZjYjJlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi91dGlscy9yb3V0ZS5weQorKysgYi93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQpAQCAtNTMs NyArNTMsNyBAQCBjbGFzcyBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5KEFCQ01ldGEpOgogICAgICAg ICBBQkNNZXRhLl9faW5pdF9fKGNscywgbmFtZSwgYmFzZXMsIGQpCiAKICAgICBAY2xhc3NtZXRo b2QKLSAgICBkZWYgbG9hZF9nZW5lcmF0b3JzKGNscywgcGtnX3Jvb3QsIGV4Y2x1ZGVfcGtncyk6 CisgICAgZGVmIGxvYWRfZ2VuZXJhdG9ycyhjbHMsIHBrZ19yb290LCBleGNsdWRlX3BrZ3MsIGZv cl9tb2R1bGVzPVtdKToKIAogICAgICAgICBjbHMucmVnaXN0cnkgPSBkaWN0KCkKIApAQCAtNjEs NiArNjEsMTMgQEAgY2xhc3MgVGVzdHNHZW5lcmF0b3JSZWdpc3RyeShBQkNNZXRhKToKIAogICAg ICAgICBhbGxfbW9kdWxlcyArPSBmaW5kX21vZHVsZXMocGtnX3Jvb3QsIEZhbHNlLCBUcnVlKQog CisgICAgICAgICMgSWYgc3BlY2lmaWMgbW9kdWxlcyBhcmUgdG8gYmUgdGVzdGVkLCBleGNsdWRl IG90aGVycworICAgICAgICBpZiBsZW4oZm9yX21vZHVsZXMpID4gMDoKKyAgICAgICAgICAgIGFs bF9tb2R1bGVzID0gW21vZHVsZV9uYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Ig bW9kdWxlX25hbWUgaW4gYWxsX21vZHVsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZv ciBmbW9kIGluIGZvcl9tb2R1bGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBtb2R1 bGVfbmFtZS5lbmRzd2l0aChmbW9kKV0KKwogICAgICAgICAjIENoZWNrIGZvciBTRVJWRVIgbW9k ZQogICAgICAgICBmb3IgbW9kdWxlX25hbWUgaW4gYWxsX21vZHVsZXM6CiAgICAgICAgICAgICB0 cnk6CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9SRUFETUUgYi93ZWIvcmVncmVzc2lvbi9S RUFETUUKaW5kZXggN2U2NjhjZmQuLjZhNjhkMzZmIDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lv bi9SRUFETUUKKysrIGIvd2ViL3JlZ3Jlc3Npb24vUkVBRE1FCkBAIC0xNjcsNiArMTY3LDE0IEBA IFB5dGhvbiBUZXN0czoKICAgICAgRXhhbXBsZSAyKSBSdW4gdGVzdCBmcmFtZXdvcmsgZm9yICdk YXRhYmFzZScgbm9kZQogICAgICBydW4gJ3B5dGhvbiBydW50ZXN0cy5weSAtLXBrZyBicm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMudGVzdHMnCiAKKy0gRXhlY3V0ZSB0ZXN0 IGZyYW1ld29yayBmb3IgY2VydGFpbiBtb2R1bGVzIG9mIGEgdGVzdCBwa2cKKworICAgICBFeGFt cGxlIDEpIFJ1biB0ZXN0IGZyYW1ld29yayBmb3IgJ3NxbGVkaXRvcicgcGFja2FnZSBhbmQgdGVz dF9zdGFydF9ydW5uaW5nX3F1ZXJ5IG1vZHVsZQorICAgICBydW4gJ3B5dGhvbiBydW50ZXN0cy5w eSAtLXBrZyB0b29scy5zcWxlZGl0b3IgLS1tb2R1bGVzIHRlc3Rfc3RhcnRfcnVubmluZ19xdWVy eScKKworICAgICBFeGFtcGxlIDIpIFJ1biB0ZXN0IGZyYW1ld29yayBmb3IgJ3NxbGVkaXRvcicg cGFja2FnZSBhbmQgdGVzdF9zdGFydF9ydW5uaW5nX3F1ZXJ5LHRlc3RfcXVlcnlfdG9vbF9mc191 dGlscyBtb2R1bGVzCisgICAgIHJ1biAncHl0aG9uIHJ1bnRlc3RzLnB5IC0tcGtnIHRvb2xzLnNx bGVkaXRvciAtLW1vZHVsZXMgdGVzdF9zdGFydF9ydW5uaW5nX3F1ZXJ5LHRlc3RfcXVlcnlfdG9v bF9mc191dGlscycKKwogLSBFeGNsdWRlIGEgcGFja2FnZSBhbmQgaXRzIHN1YnBhY2thZ2VzIHdo ZW4gcnVubmluZyB0ZXN0czoKIAogICAgIEV4YW1wbGU6IGV4Y2x1ZGUgZmVhdHVyZSB0ZXN0cyBi dXQgcnVuIGFsbCBvdGhlcnM6CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9mZWF0dXJlX3V0 aWxzL3BnYWRtaW5fcGFnZS5weSBiL3dlYi9yZWdyZXNzaW9uL2ZlYXR1cmVfdXRpbHMvcGdhZG1p bl9wYWdlLnB5CmluZGV4IDBjOGYwZmEzLi4xZmI1MjVlZSAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jl c3Npb24vZmVhdHVyZV91dGlscy9wZ2FkbWluX3BhZ2UucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24v ZmVhdHVyZV91dGlscy9wZ2FkbWluX3BhZ2UucHkKQEAgLTk0LDYgKzk0LDcgQEAgY2xhc3MgUGdh ZG1pblBhZ2U6CiAKICAgICAgICAgc2VsZi5maW5kX2J5X3BhcnRpYWxfbGlua190ZXh0KCJRdWVy eSBUb29sIikuY2xpY2soKQogICAgICAgICBzZWxmLmNsaWNrX3RhYignUXVlcnkgLScpCisgICAg ICAgIHNlbGYuZmluZF9ieV9jc3Nfc2VsZWN0b3IoJ2lmcmFtZScpCiAKICAgICBkZWYgZW5hYmxl X21lbnVfaXRlbShzZWxmLCBtZW51X2l0ZW0sIHdhaXRfdGltZSk6CiAgICAgICAgIHN0YXJ0X3Rp bWUgPSB0aW1lLnRpbWUoKQpAQCAtMjI0LDM4ICsyMjUsNjAgQEAgY2xhc3MgUGdhZG1pblBhZ2U6 CiAgICAgICAgICAgICAiY2xpY2tpbmcgdGhlIGVsZW1lbnQgbm90IHRvIHRocm93IGFuIGV4Y2Vw dGlvbiIsIGNsaWNrX3N1Y2NlZWRlZAogICAgICAgICApCiAKLSAgICBkZWYgZmlsbF9pbnB1dF9i eV9maWVsZF9uYW1lKHNlbGYsIGZpZWxkX25hbWUsIGZpZWxkX2NvbnRlbnQpOgotICAgICAgICBm aWVsZCA9IHNlbGYuZmluZF9ieV94cGF0aCgiLy9pbnB1dFtAbmFtZT0nIiArIGZpZWxkX25hbWUg KyAiJ10iKQorICAgIGRlZiBmaWxsX2lucHV0X2J5X2ZpZWxkX25hbWUoc2VsZiwgZmllbGRfbmFt ZSwgZmllbGRfY29udGVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0 X2tleXM9RmFsc2UpOgorICAgICAgICBmaWVsZCA9IHNlbGYuZmluZF9ieV9jc3Nfc2VsZWN0b3Io CisgICAgICAgICAgICAiaW5wdXRbbmFtZT0nIiArIGZpZWxkX25hbWUgKyAiJ106bm90KDpkaXNh YmxlZCkiKQogICAgICAgICBiYWNrc3BhY2VzID0gW0tleXMuQkFDS1NQQUNFXSAqIGxlbihmaWVs ZC5nZXRfYXR0cmlidXRlKCd2YWx1ZScpKQogCiAgICAgICAgIGZpZWxkLmNsaWNrKCkKLSAgICAg ICAgZmllbGQuc2VuZF9rZXlzKGJhY2tzcGFjZXMpCi0gICAgICAgIGZpZWxkLnNlbmRfa2V5cyhz dHIoZmllbGRfY29udGVudCkpCi0gICAgICAgIHNlbGYud2FpdF9mb3JfaW5wdXRfZmllbGRfY29u dGVudChmaWVsZF9uYW1lLCBmaWVsZF9jb250ZW50KQogCi0gICAgZGVmIGZpbGxfY29kZW1pcnJv cl9hcmVhX3dpdGgoc2VsZiwgZmllbGRfY29udGVudCk6CisgICAgICAgICMgVXNlIHNlbmQga2V5 cyBpZiBpbnB1dF9rZXlzIHRydWUsIGVsc2UgdXNlIGphdmFzY3JpcHQgdG8gc2V0IGNvbnRlbnQK KyAgICAgICAgaWYgaW5wdXRfa2V5czoKKyAgICAgICAgICAgIGZpZWxkLnNlbmRfa2V5cyhiYWNr c3BhY2VzKQorICAgICAgICAgICAgZmllbGQuc2VuZF9rZXlzKHN0cihmaWVsZF9jb250ZW50KSkK KyAgICAgICAgICAgIHNlbGYud2FpdF9mb3JfaW5wdXRfZmllbGRfY29udGVudChmaWVsZF9uYW1l LCBmaWVsZF9jb250ZW50KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5kcml2ZXIu ZXhlY3V0ZV9zY3JpcHQoCisgICAgICAgICAgICAgICAgImFyZ3VtZW50c1swXS5zZXRBdHRyaWJ1 dGUoJ3ZhbHVlJywgYXJndW1lbnRzWzFdKSIsCisgICAgICAgICAgICAgICAgZmllbGQsIGZpZWxk X2NvbnRlbnQpCisKKyAgICAgICAgICAgIGFjdGlvbiA9IEFjdGlvbkNoYWlucyhzZWxmLmRyaXZl cikKKyAgICAgICAgICAgIGFjdGlvbi5rZXlfZG93bihLZXlzLkFSUk9XX0RPV04pCisgICAgICAg ICAgICBhY3Rpb24ucGVyZm9ybSgpCisKKyAgICBkZWYgZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0 aChzZWxmLCBmaWVsZF9jb250ZW50LCBpbnB1dF9rZXlzPUZhbHNlKToKICAgICAgICAgZGVmIGZp bmRfY29kZW1pcnJvcihkcml2ZXIpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAg IGRyaXZlci5zd2l0Y2hfdG8uZGVmYXVsdF9jb250ZW50KCkKICAgICAgICAgICAgICAgICBkcml2 ZXIuc3dpdGNoX3RvX2ZyYW1lKAogICAgICAgICAgICAgICAgICAgICBkcml2ZXIuZmluZF9lbGVt ZW50X2J5X3RhZ19uYW1lKCJpZnJhbWUiKSkKLSAgICAgICAgICAgICAgICBlbGVtZW50ID0gZHJp dmVyLmZpbmRfZWxlbWVudF9ieV94cGF0aCgKLSAgICAgICAgICAgICAgICAgICAgIi8vcHJlW2Nv bnRhaW5zKEBjbGFzcywnQ29kZU1pcnJvci1saW5lJyldLy4uLy4uLy4uLyIKLSAgICAgICAgICAg ICAgICAgICAgIipbY29udGFpbnMoQGNsYXNzLCdDb2RlTWlycm9yLWNvZGUnKV0iKQorICAgICAg ICAgICAgICAgIGVsZW1lbnQgPSBkcml2ZXIuZmluZF9lbGVtZW50X2J5X2Nzc19zZWxlY3RvcigK KyAgICAgICAgICAgICAgICAgICAgIiNvdXRwdXQtcGFuZWwgLkNvZGVNaXJyb3IiKQogICAgICAg ICAgICAgICAgIGlmIGVsZW1lbnQuaXNfZGlzcGxheWVkKCkgYW5kIGVsZW1lbnQuaXNfZW5hYmxl ZCgpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudAogICAgICAgICAgICAgZXhj ZXB0IChOb1N1Y2hFbGVtZW50RXhjZXB0aW9uLCBXZWJEcml2ZXJFeGNlcHRpb24pOgogICAgICAg ICAgICAgICAgIHJldHVybiBGYWxzZQogCisgICAgICAgIGNvZGVtaXJyb3JfZWxlID0gV2ViRHJp dmVyV2FpdCgKKyAgICAgICAgICAgIHNlbGYuZHJpdmVyLCB0aW1lb3V0PXNlbGYudGltZW91dCwg cG9sbF9mcmVxdWVuY3k9MC4wMSlcCisgICAgICAgICAgICAudW50aWwoZmluZF9jb2RlbWlycm9y LAorICAgICAgICAgICAgICAgICAgICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgY29kZW1pcnJvciB0 byBhcHBlYXIiKQorCiAgICAgICAgIHRpbWUuc2xlZXAoMSkKLSAgICAgICAgV2ViRHJpdmVyV2Fp dChzZWxmLmRyaXZlciwgdGltZW91dD1zZWxmLnRpbWVvdXQsIHBvbGxfZnJlcXVlbmN5PTAuMDEp LlwKLSAgICAgICAgICAgIHVudGlsKGZpbmRfY29kZW1pcnJvciwgIlRpbWVkIG91dCB3YWl0aW5n IGZvciBjb2RlbWlycm9yICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRv IGFwcGVhciIpLmNsaWNrKCkKLSAgICAgICAgdGltZS5zbGVlcCgxKQorICAgICAgICBjb2RlbWly cm9yX2VsZS5jbGljaygpCiAKLSAgICAgICAgYWN0aW9uID0gQWN0aW9uQ2hhaW5zKHNlbGYuZHJp dmVyKQotICAgICAgICBhY3Rpb24uc2VuZF9rZXlzKGZpZWxkX2NvbnRlbnQpCi0gICAgICAgIGFj dGlvbi5wZXJmb3JtKCkKKyAgICAgICAgIyBVc2Ugc2VuZCBrZXlzIGlmIGlucHV0X2tleXMgdHJ1 ZSwgZWxzZSB1c2UgamF2YXNjcmlwdCB0byBzZXQgY29udGVudAorICAgICAgICBpZiBpbnB1dF9r ZXlzOgorICAgICAgICAgICAgYWN0aW9uID0gQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVyKQorICAg ICAgICAgICAgYWN0aW9uLnNlbmRfa2V5cyhmaWVsZF9jb250ZW50KQorICAgICAgICAgICAgYWN0 aW9uLnBlcmZvcm0oKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5kcml2ZXIuZXhl Y3V0ZV9zY3JpcHQoCisgICAgICAgICAgICAgICAgImFyZ3VtZW50c1swXS5Db2RlTWlycm9yLnNl dFZhbHVlKGFyZ3VtZW50c1sxXSk7IgorICAgICAgICAgICAgICAgICJhcmd1bWVudHNbMF0uQ29k ZU1pcnJvci5zZXRDdXJzb3IoIgorICAgICAgICAgICAgICAgICJhcmd1bWVudHNbMF0uQ29kZU1p cnJvci5saW5lQ291bnQoKSwwKTsiLAorICAgICAgICAgICAgICAgIGNvZGVtaXJyb3JfZWxlLCBm aWVsZF9jb250ZW50KQogCiAgICAgZGVmIGNsaWNrX3RhYihzZWxmLCB0YWJfbmFtZSk6CiAgICAg ICAgIFdlYkRyaXZlcldhaXQoc2VsZi5kcml2ZXIsIDEwKS51bnRpbChFQy5lbGVtZW50X3RvX2Jl X2NsaWNrYWJsZSgKQEAgLTMyOSwxMCArMzUyLDEwIEBAIGNsYXNzIFBnYWRtaW5QYWdlOgogICAg IGRlZiB3YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2FwcGVhcihz ZWxmKToKICAgICAgICAgZGVmIHNwaW5uZXJfaGFzX2Rpc2FwcGVhcmVkKGRyaXZlcik6CiAgICAg ICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZHJpdmVyLmZpbmRfZWxlbWVudF9ieV94cGF0 aCgKLSAgICAgICAgICAgICAgICAgICAgIi8vKltAaWQ9J2ZldGNoaW5nX2RhdGEnIGFuZCBAY2xh c3M9J2hpZGUnXSIKKyAgICAgICAgICAgICAgICBzcGlubmVyID0gZHJpdmVyLmZpbmRfZWxlbWVu dF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICAgICAgICAgICIjZWRpdG9yLXBhbmVsIC5w Zy1zcC1jb250YWluZXIiCiAgICAgICAgICAgICAgICAgKQotICAgICAgICAgICAgICAgIHJldHVy biBGYWxzZQorICAgICAgICAgICAgICAgIHJldHVybiAiZC1ub25lIiBpbiBzcGlubmVyLmdldF9h dHRyaWJ1dGUoImNsYXNzIikKICAgICAgICAgICAgIGV4Y2VwdCBOb1N1Y2hFbGVtZW50RXhjZXB0 aW9uOgogICAgICAgICAgICAgICAgICMgd2FpdCBmb3IgbG9hZGluZyBpbmRpY2F0b3IgZGlzYXBw ZWFyIGFuaW1hdGlvbiB0byBjb21wbGV0ZS4KICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAu NSkKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5IGIvd2ViL3JlZ3Jlc3Np b24vcnVudGVzdHMucHkKaW5kZXggNDhkMzc0OWYuLjZmOTUzNzBmIDEwMDY0NAotLS0gYS93ZWIv cmVncmVzc2lvbi9ydW50ZXN0cy5weQorKysgYi93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5weQpA QCAtMjMwLDkgKzIzMCwxNCBAQCBkZWYgZ2V0X3Rlc3RfbW9kdWxlcyhhcmd1bWVudHMpOgogICAg IGlmIGFyZ3VtZW50c1sncGtnJ10gaXMgTm9uZSBvciBhcmd1bWVudHNbJ3BrZyddID09ICJhbGwi OgogICAgICAgICBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5LmxvYWRfZ2VuZXJhdG9ycygncGdhZG1p bicsIGV4Y2x1ZGVfcGtncykKICAgICBlbHNlOgorICAgICAgICBmb3JfbW9kdWxlcyA9IFtdCisg ICAgICAgIGlmIGFyZ3VtZW50c1snbW9kdWxlcyddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAg Zm9yX21vZHVsZXMgPSBhcmd1bWVudHNbJ21vZHVsZXMnXS5zcGxpdCgnLCcpCisKICAgICAgICAg VGVzdHNHZW5lcmF0b3JSZWdpc3RyeS5sb2FkX2dlbmVyYXRvcnMoJ3BnYWRtaW4uJXMnICUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzWydw a2cnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhj bHVkZV9wa2dzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBleGNsdWRlX3BrZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZvcl9tb2R1bGVzKQogCiAgICAgIyBTb3J0IG1vZHVsZSBsaXN0IHNvIHRoYXQgdGVz dCBzdWl0ZSBleGVjdXRlcyB0aGUgdGVzdCBjYXNlcyBzZXF1ZW50aWFsbHkKICAgICBtb2R1bGVf bGlzdCA9IFRlc3RzR2VuZXJhdG9yUmVnaXN0cnkucmVnaXN0cnkuaXRlbXMoKQpAQCAtMjYzLDYg KzI2OCwxMCBAQCBkZWYgYWRkX2FyZ3VtZW50cygpOgogICAgICAgICAnLS1kZWZhdWx0X2Jyb3dz ZXInLAogICAgICAgICBoZWxwPSdFeGVjdXRlcyB0aGUgZmVhdHVyZSB0ZXN0IGluIHNwZWNpZmlj IGJyb3dzZXInCiAgICAgKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICctLW1v ZHVsZXMnLAorICAgICAgICBoZWxwPSdFeGVjdXRlcyB0aGUgZmVhdHVyZSB0ZXN0IGZvciBzcGVj aWZpYyBtb2R1bGVzIGluIHBrZycKKyAgICApCiAgICAgYXJnID0gcGFyc2VyLnBhcnNlX2FyZ3Mo KQogCiAgICAgcmV0dXJuIGFyZwo= --000000000000b717100581245209--