Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cZcKs-0003w0-9F for pgadmin-hackers@arkaria.postgresql.org; Fri, 03 Feb 2017 11:47:26 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cZcKr-0005u5-5N for pgadmin-hackers@arkaria.postgresql.org; Fri, 03 Feb 2017 11:47:25 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cZcKo-0005tq-5o for pgadmin-hackers@postgresql.org; Fri, 03 Feb 2017 11:47:22 +0000 Received: from mail-ot0-x22d.google.com ([2607:f8b0:4003:c0f::22d]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1cZcKe-0002V0-Mg for pgadmin-hackers@postgresql.org; Fri, 03 Feb 2017 11:47:20 +0000 Received: by mail-ot0-x22d.google.com with SMTP id 73so12473666otj.0 for ; Fri, 03 Feb 2017 03:47:12 -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=A8dyWbCikE8ocHLY/DKNP4l6COvlmnDSHBZP+WdETYg=; b=kZU6/nuD4xj4tXpo7eJNyHp0gOhXJhz0C2rVO69b8Bcv2hxwYEXpsdVM6bgzeZ+5mv blRNPaVut6QNw4ONs39mT7nxaD3boLqYL6ICs1DG4NRprxBuZB9B4QJHe2N9Yd2UlXyE KxH38FG7y/+Lses2w9Pw/AIebpU5V3q831C0Uz8cOpcT1LEFeQxE9mPPNz/2zk5ecNFe SkG/Lyku+TrozAid2p3OafSo1GLc/z7QNgplnRMFuPocY5aga3nc+tSmr6H+0IdpF/TS cWfYkx7L4RZMOH0dliq/oKny+4zQrAhknIPzZRSy90D81HMOEc5WzmJLmqyL/lJVdWXR PvZQ== 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=A8dyWbCikE8ocHLY/DKNP4l6COvlmnDSHBZP+WdETYg=; b=Divrt0KBzdae8EXpnruI2FkOxb2x1QqrBk7eET0q2V+A9whPigofnofgHsBTy4+RhT 5NF8XviAiwMhZwLBHmrbCmXaP78uG3hndM9A6BKgO2GYhBZv88rONW/rfKz2nedyCJTa cHSvME7aE9zHHHtIeVc6+tQeNVP8hghYVOQOjmWbSsYSmU+abPvLpdG4PShe52rsvFAF 0OAFM7fPlqjwD3N8ARuJBcDeyJ37l94/druiQ4/gWqW0akyqGD+yvkOozu5H9ziKc+h6 G6uuittrd+jwdNbiDQpEfguBvBaMP29CbJMVX0VsOgq7oZjQ65YOOcrRLNYqR0yMkxTi kOIw== X-Gm-Message-State: AIkVDXKKNAl1rY/j2mugXLqoajJRi8W+PsRw1tXMbAOezfTTQVmB5O+xgh1u5rKSY4PKjAb6hVshgQwLQxz9/10X X-Received: by 10.157.5.161 with SMTP id 30mr6201491otd.74.1486122431625; Fri, 03 Feb 2017 03:47:11 -0800 (PST) MIME-Version: 1.0 Received: by 10.183.26.2 with HTTP; Fri, 3 Feb 2017 03:46:51 -0800 (PST) In-Reply-To: References: From: Murtuza Zabuawala Date: Fri, 3 Feb 2017 17:16:51 +0530 Message-ID: Subject: Re: [pgAdmin4][PATCH] To fix the issue in handling of timestamp type To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a11392664a178be05479ed73b X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a11392664a178be05479ed73b Content-Type: multipart/alternative; boundary=001a11392664a178b705479ed739 --001a11392664a178b705479ed739 Content-Type: text/plain; charset=UTF-8 Hi, Please find updates patch for the same. RM#2076 -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Wed, Feb 1, 2017 at 3:08 PM, Dave Page wrote: > Hi > > On Tue, Jan 31, 2017 at 5:19 AM, Murtuza Zabuawala > wrote: > > Hi Dave, > > > > PFA updated patch. > > This seems to display "timestamp(0) with[out] timezone" columns > correctly in both the properties panel and dialog now, but the size is > still ignored if I try to add a new column through the table or column > dialogue. > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --001a11392664a178b705479ed739 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Please find updates patch for the s= ame.
RM#2076

--
Regards,Murt= uza Zabuawala
EnterpriseDB:=C2=A0http://www.enterprisedb.com
<= span style=3D"color:rgb(136,136,136)">The Enterprise PostgreSQL Company


On Wed, Feb 1, 2017 at 3:08 PM, Dave Page <= dpage@pgadmin.org> wrote:
H= i

On Tue, Jan 31, 2017 at 5:19 AM, Murtuza Zabuawala
<murtuza.zabuawala= @enterprisedb.com> wrote:
> Hi Dave,
>
> PFA updated patch.

This seems to display "timestamp(0) with[out] timezone" columns correctly in both the properties panel and dialog now, but the size is
still ignored if I try to add a new column through the table or column
dialogue.

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

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

--001a11392664a178b705479ed739-- --001a11392664a178be05479ed73b Content-Type: text/plain; charset=US-ASCII; name="fix_timestamp_type_issue_v3.diff" Content-Disposition: attachment; filename="fix_timestamp_type_issue_v3.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iypqvev80 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9fX2luaXRfXy5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9fX2luaXRfXy5weQppbmRleCA5 MjkyOTg5Li42NDZmMTJhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L19faW5pdF9fLnB5CkBAIC02NTQsMTMgKzY1NCwxMyBAQCBjbGFzcyBUYWJs ZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVt U2V0dGluZ3MpOgogICAgICAgICAgICAgICAgICMgSWYgd2UgaGF2ZSBsZW5n dGggJiBwcmVjaXNpb24gYm90aAogICAgICAgICAgICAgICAgIG1hdGNoT2Jq ID0gcmUuc2VhcmNoKHInKFxkKyksKFxkKyknLCBmdWxsdHlwZSkKICAgICAg ICAgICAgICAgICBpZiBtYXRjaE9iajoKLSAgICAgICAgICAgICAgICAgICAg Y29sdW1uWydhdHRsZW4nXSA9IGludChtYXRjaE9iai5ncm91cCgxKSkKLSAg ICAgICAgICAgICAgICAgICAgY29sdW1uWydhdHRwcmVjaXNpb24nXSA9IGlu dChtYXRjaE9iai5ncm91cCgyKSkKKyAgICAgICAgICAgICAgICAgICAgY29s dW1uWydhdHRsZW4nXSA9IG1hdGNoT2JqLmdyb3VwKDEpCisgICAgICAgICAg ICAgICAgICAgIGNvbHVtblsnYXR0cHJlY2lzaW9uJ10gPSBtYXRjaE9iai5n cm91cCgyKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAg ICAgICAgICMgSWYgd2UgaGF2ZSBsZW5ndGggb25seQogICAgICAgICAgICAg ICAgICAgICBtYXRjaE9iaiA9IHJlLnNlYXJjaChyJyhcZCspJywgZnVsbHR5 cGUpCiAgICAgICAgICAgICAgICAgICAgIGlmIG1hdGNoT2JqOgotICAgICAg ICAgICAgICAgICAgICAgICAgY29sdW1uWydhdHRsZW4nXSA9IGludChtYXRj aE9iai5ncm91cCgxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVt blsnYXR0bGVuJ10gPSBtYXRjaE9iai5ncm91cCgxKQogICAgICAgICAgICAg ICAgICAgICAgICAgY29sdW1uWydhdHRwcmVjaXNpb24nXSA9IE5vbmUKICAg ICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbHVtblsnYXR0bGVuJ10gPSBOb25lCkBAIC02OTQsMjEgKzY5NCw3 IEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBl UmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAgICAgICAgICAgICAg IGVkaXRfdHlwZXNfbGlzdC5hcHBlbmQocHJlc2VudF90eXBlKQogCiAgICAg ICAgICAgICAgICAgY29sdW1uWydlZGl0X3R5cGVzJ10gPSBlZGl0X3R5cGVz X2xpc3QKLQotICAgICAgICAgICAgICAgICMgTWFudWFsIERhdGEgdHlwZSBm b3JtYXR0aW5nCi0gICAgICAgICAgICAgICAgIyBJZiBkYXRhIHR5cGUgaGFz ICgpIHdpdGggdGhlbSB0aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZW0KLSAg ICAgICAgICAgICAgICAjIGVnIGJpdCgxKSBiZWNhdXNlIHdlIG5lZWQgdG8g bWF0Y2ggdGhlIG5hbWUgd2l0aCBjb21ib2JveAotICAgICAgICAgICAgICAg IGlzQXJyYXkgPSBGYWxzZQotICAgICAgICAgICAgICAgIGlmIGNvbHVtblsn Y2x0eXBlJ10uZW5kc3dpdGgoJ1tdJyk6Ci0gICAgICAgICAgICAgICAgICAg IGlzQXJyYXkgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgIGNvbHVtblsn Y2x0eXBlJ10gPSBjb2x1bW5bJ2NsdHlwZSddLnJzdHJpcCgnW10nKQotCi0g ICAgICAgICAgICAgICAgaWR4ID0gY29sdW1uWydjbHR5cGUnXS5maW5kKCco JykKLSAgICAgICAgICAgICAgICBpZiBpZHggYW5kIGNvbHVtblsnY2x0eXBl J10uZW5kc3dpdGgoJyknKToKLSAgICAgICAgICAgICAgICAgICAgY29sdW1u WydjbHR5cGUnXSA9IGNvbHVtblsnY2x0eXBlJ11bOmlkeF0KLQotICAgICAg ICAgICAgICAgIGlmIGlzQXJyYXk6Ci0gICAgICAgICAgICAgICAgICAgIGNv bHVtblsnY2x0eXBlJ10gKz0gIltdIgorICAgICAgICAgICAgICAgIGNvbHVt blsnY2x0eXBlJ10gPSBEYXRhVHlwZVJlYWRlci5wYXJzZV90eXBlX25hbWUo Y29sdW1uWydjbHR5cGUnXSkKIAogICAgICAgICAgICAgICAgIGlmICdpbmRr ZXknIGluIGNvbHVtbjoKICAgICAgICAgICAgICAgICAgICAgIyBDdXJyZW50 IGNvbHVtbgpAQCAtMTMxNiw2ICsxMzAyLDI0IEBAIGNsYXNzIFRhYmxlVmll dyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0 aW5ncyk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gZGF0 YV90eXBlLCBGYWxzZQogCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBj b252ZXJ0X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5nKGRhdGEpOgorICAg ICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNv bnZlcnQgbGVuZ3RoICYgcHJlY2lzaW9uIHRvIHN0cmluZworICAgICAgICB0 byBoYW5kbGUgY2FzZSBsaWtlIHdoZW4gdXNlciBnaXZlcyAwIGFzIGxlbmd0 aAorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBkYXRhOiBEYXRhIGZy b20gY2xpZW50CisKKyAgICAgICAgUmV0dXJuczoKKyAgICAgICAgICAgIENv bnZlcnRlZCBkYXRhCisgICAgICAgICIiIgorICAgICAgICBpZiAnYXR0bGVu JyBpbiBkYXRhIGFuZCBkYXRhWydhdHRsZW4nXSBpcyBub3QgTm9uZToKKyAg ICAgICAgICAgIGRhdGFbJ2F0dGxlbiddID0gc3RyKGRhdGFbJ2F0dGxlbidd KQorICAgICAgICBpZiAnYXR0cHJlY2lzaW9uJyBpbiBkYXRhIGFuZCBkYXRh WydhdHRwcmVjaXNpb24nXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRh dGFbJ2F0dHByZWNpc2lvbiddID0gc3RyKGRhdGFbJ2F0dHByZWNpc2lvbidd KQorICAgICAgICByZXR1cm4gZGF0YQorCiAgICAgZGVmIF9wYXJzZV9mb3Jt YXRfY29sdW1ucyhzZWxmLCBkYXRhLCBtb2RlPU5vbmUpOgogICAgICAgICAi IiIKICAgICAgICAgZGF0YToKQEAgLTEzNDMsNiArMTM0Nyw4IEBAIGNsYXNz IFRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBW YWN1dW1TZXR0aW5ncyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyBjaGVjayB0eXBlIGZvciAnW10nIGluIGl0CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY1snY2x0eXBlJ10sIGNbJ2hhc1NxckJyYWNrZXQnXSA9 IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIoY1snY2x0eXBlJ10pCiAKKyAgICAg ICAgICAgICAgICAgICAgICAgIGMgPSBzZWxmLmNvbnZlcnRfbGVuZ3RoX3By ZWNpc2lvbl90b19zdHJpbmcoYykKKwogICAgICAgICAgICAgICAgICAgICBk YXRhWydjb2x1bW5zJ11bYWN0aW9uXSA9IGZpbmFsX2NvbHVtbnMKICAgICAg ICAgZWxzZToKICAgICAgICAgICAgICMgV2UgbmVlZCB0byBleGNsdWRlIGFs bCB0aGUgY29sdW1ucyB3aGljaCBhcmUgaW5oZXJpdGVkIGZyb20gb3RoZXIg dGFibGVzCkBAIC0xMzYzLDYgKzEzNjksOCBAQCBjbGFzcyBUYWJsZVZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGlu Z3MpOgogICAgICAgICAgICAgICAgICAgICAjIGNoZWNrIHR5cGUgZm9yICdb XScgaW4gaXQKICAgICAgICAgICAgICAgICAgICAgY1snY2x0eXBlJ10sIGNb J2hhc1NxckJyYWNrZXQnXSA9IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIoY1sn Y2x0eXBlJ10pCiAKKyAgICAgICAgICAgICAgICBjID0gc2VsZi5jb252ZXJ0 X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5nKGMpCisKICAgICAgICAgICAg IGRhdGFbJ2NvbHVtbnMnXSA9IGZpbmFsX2NvbHVtbnMKIAogICAgICAgICBy ZXR1cm4gZGF0YQpAQCAtMjE5OSw2ICsyMjA3LDcgQEAgY2xhc3MgVGFibGVW aWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNl dHRpbmdzKToKICAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9kYXRhID0g cmVzWydyb3dzJ11bMF0KIAogICAgICAgICAgICAgICAgICAgICAgICAgb2xk X2RhdGFbJ2NsdHlwZSddLCBvbGRfZGF0YVsnaGFzU3FyQnJhY2tldCddID0g c2VsZi5fY2x0eXBlX2Zvcm1hdHRlcihvbGRfZGF0YVsnY2x0eXBlJ10pCisg ICAgICAgICAgICAgICAgICAgICAgICBvbGRfZGF0YSA9IHNlbGYuY29udmVy dF9sZW5ndGhfcHJlY2lzaW9uX3RvX3N0cmluZyhvbGRfZGF0YSkKIAogICAg ICAgICAgICAgICAgICAgICAgICAgZnVsbHR5cGUgPSBzZWxmLmdldF9mdWxs X3R5cGUoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2RhdGFb J3R5cG5zcG5hbWUnXSwgb2xkX2RhdGFbJ3R5cG5hbWUnXSwKQEAgLTIyMjAs MjAgKzIyMjksNyBAQCBjbGFzcyBUYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvbGRfZGF0YVsnYXR0bGVuJ10gPSBO b25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9kYXRh WydhdHRwcmVjaXNpb24nXSA9IE5vbmUKIAotICAgICAgICAgICAgICAgICAg ICAgICAgIyBNYW51YWwgRGF0YSB0eXBlIGZvcm1hdHRpbmcKLSAgICAgICAg ICAgICAgICAgICAgICAgICMgSWYgZGF0YSB0eXBlIGhhcyAoKSB3aXRoIHRo ZW0gdGhlbiB3ZSBuZWVkIHRvIHJlbW92ZSB0aGVtCi0gICAgICAgICAgICAg ICAgICAgICAgICAjIGVnIGJpdCgxKSBiZWNhdXNlIHdlIG5lZWQgdG8gbWF0 Y2ggdGhlIG5hbWUgd2l0aCBjb21ib2JveAotICAgICAgICAgICAgICAgICAg ICAgICAgaXNBcnJheSA9IEZhbHNlCi0gICAgICAgICAgICAgICAgICAgICAg ICBpZiBvbGRfZGF0YVsnY2x0eXBlJ10uZW5kc3dpdGgoJ1tdJyk6Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgaXNBcnJheSA9IFRydWUKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvbGRfZGF0YVsnY2x0eXBlJ10gPSBv bGRfZGF0YVsnY2x0eXBlJ10ucnN0cmlwKCdbXScpCi0KLSAgICAgICAgICAg ICAgICAgICAgICAgIGlkeCA9IG9sZF9kYXRhWydjbHR5cGUnXS5maW5kKCco JykKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlkeCBhbmQgb2xkX2Rh dGFbJ2NsdHlwZSddLmVuZHN3aXRoKCcpJyk6Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgb2xkX2RhdGFbJ2NsdHlwZSddID0gb2xkX2RhdGFbJ2Ns dHlwZSddWzppZHhdCi0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlz QXJyYXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2RhdGFb J2NsdHlwZSddICs9ICJbXSIKKyAgICAgICAgICAgICAgICAgICAgICAgIG9s ZF9kYXRhWydjbHR5cGUnXSA9IERhdGFUeXBlUmVhZGVyLnBhcnNlX3R5cGVf bmFtZShvbGRfZGF0YVsnY2x0eXBlJ10pCiAKICAgICAgICAgICAgICAgICAg ICAgICAgICMgU3FsIGZvciBhbHRlciBjb2x1bW4KICAgICAgICAgICAgICAg ICAgICAgICAgIGlmICdpbmhlcml0ZWRmcm9tJyBub3QgaW4gYzoKQEAgLTIy NTAsNiArMjI0Niw5IEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxkTm9kZVZp ZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAnYXR0YWNsJyBpbiBjOgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNbJ2F0dGFjbCddID0gcGFyc2VfcHJpdl90 b19kYihjWydhdHRhY2wnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb2x1bW5f YWNsKQorCisgICAgICAgICAgICAgICAgICAgICAgICBjID0gc2VsZi5jb252 ZXJ0X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5nKGMpCisKICAgICAgICAg ICAgICAgICAgICAgICAgIGlmICdpbmhlcml0ZWRmcm9tJyBub3QgaW4gYzoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5fc3FsICs9IHJl bmRlcl90ZW1wbGF0ZSgiLyIuam9pbigKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgW3NlbGYuY29sdW1uX3RlbXBsYXRlX3BhdGgsICdjcmVh dGUuc3FsJ10pLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L2NvbHVtbi9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9j b2x1bW4vX19pbml0X18ucHkKaW5kZXggOGQ3MmQxNS4uYWM5YTEwMyAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbi9fX2luaXRf Xy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1uL19faW5p dF9fLnB5CkBAIC00MzYsMjAgKzQzNiw3IEBAIGNsYXNzIENvbHVtbnNWaWV3 KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogCiAgICAgICAg IGRhdGFbJ2VkaXRfdHlwZXMnXSA9IGVkaXRfdHlwZXNfbGlzdAogCi0gICAg ICAgICMgTWFudWFsIERhdGEgdHlwZSBmb3JtYXR0aW5nCi0gICAgICAgICMg SWYgZGF0YSB0eXBlIGhhcyAoKSB3aXRoIHRoZW0gdGhlbiB3ZSBuZWVkIHRv IHJlbW92ZSB0aGVtCi0gICAgICAgICMgZWcgYml0KDEpIGJlY2F1c2Ugd2Ug bmVlZCB0byBtYXRjaCB0aGUgbmFtZSB3aXRoIGNvbWJvYm94Ci0gICAgICAg IGlzQXJyYXkgPSBGYWxzZQotICAgICAgICBpZiBkYXRhWydjbHR5cGUnXS5l bmRzd2l0aCgnW10nKToKLSAgICAgICAgICAgIGlzQXJyYXkgPSBUcnVlCi0g ICAgICAgICAgICBkYXRhWydjbHR5cGUnXSA9IGRhdGFbJ2NsdHlwZSddLnJz dHJpcCgnW10nKQotCi0gICAgICAgIGlkeCA9IGRhdGFbJ2NsdHlwZSddLmZp bmQoJygnKQotICAgICAgICBpZiBpZHggYW5kIGRhdGFbJ2NsdHlwZSddLmVu ZHN3aXRoKCcpJyk6Ci0gICAgICAgICAgICBkYXRhWydjbHR5cGUnXSA9IGRh dGFbJ2NsdHlwZSddWzppZHhdCi0KLSAgICAgICAgaWYgaXNBcnJheToKLSAg ICAgICAgICAgIGRhdGFbJ2NsdHlwZSddICs9ICJbXSIKKyAgICAgICAgZGF0 YVsnY2x0eXBlJ10gPSBEYXRhVHlwZVJlYWRlci5wYXJzZV90eXBlX25hbWUo ZGF0YVsnY2x0eXBlJ10pCiAKICAgICAgICAgcmV0dXJuIGRhdGEKIApAQCAt NTExLDYgKzQ5OCwyNCBAQCBjbGFzcyBDb2x1bW5zVmlldyhQR0NoaWxkTm9k ZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKIAogICAgICAgICByZXR1cm4gdHlw ZQogCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBjb252ZXJ0X2xlbmd0 aF9wcmVjaXNpb25fdG9fc3RyaW5nKGRhdGEpOgorICAgICAgICAiIiIKKyAg ICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNvbnZlcnQgbGVuZ3Ro ICYgcHJlY2lzaW9uIHRvIHN0cmluZworICAgICAgICB0byBoYW5kbGUgY2Fz ZSBsaWtlIHdoZW4gdXNlciBnaXZlcyAwIGFzIGxlbmd0aAorCisgICAgICAg IEFyZ3M6CisgICAgICAgICAgICBkYXRhOiBEYXRhIGZyb20gY2xpZW50CisK KyAgICAgICAgUmV0dXJuczoKKyAgICAgICAgICAgIENvbnZlcnRlZCBkYXRh CisgICAgICAgICIiIgorICAgICAgICBpZiAnYXR0bGVuJyBpbiBkYXRhIGFu ZCBkYXRhWydhdHRsZW4nXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRh dGFbJ2F0dGxlbiddID0gc3RyKGRhdGFbJ2F0dGxlbiddKQorICAgICAgICBp ZiAnYXR0cHJlY2lzaW9uJyBpbiBkYXRhIGFuZCBkYXRhWydhdHRwcmVjaXNp b24nXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRhdGFbJ2F0dHByZWNp c2lvbiddID0gc3RyKGRhdGFbJ2F0dHByZWNpc2lvbiddKQorICAgICAgICBy ZXR1cm4gZGF0YQorCiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRl ZiBjcmVhdGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdGlkKToKICAg ICAgICAgIiIiCkBAIC01NjAsNiArNTY1LDcgQEAgY2xhc3MgQ29sdW1uc1Zp ZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAg ICMgY2hlY2sgdHlwZSBmb3IgJ1tdJyBpbiBpdAogICAgICAgICBkYXRhWydj bHR5cGUnXSA9IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIoZGF0YVsnY2x0eXBl J10pCiAgICAgICAgIGRhdGFbJ2hhc1NxckJyYWNrZXQnXSA9IHNlbGYuaGFz U3FyQnJhY2tldAorICAgICAgICBkYXRhID0gc2VsZi5jb252ZXJ0X2xlbmd0 aF9wcmVjaXNpb25fdG9fc3RyaW5nKGRhdGEpCiAKICAgICAgICAgU1FMID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Ny ZWF0ZS5zcWwnXSksCkBAIC03MzMsNiArNzM5LDggQEAgY2xhc3MgQ29sdW1u c1ZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAg ICAgICIiIgogICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VucmF0ZSBz cWwgZnJvbSBtb2RlbCBkYXRhCiAgICAgICAgICIiIgorICAgICAgICBkYXRh ID0gc2VsZi5jb252ZXJ0X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5nKGRh dGEpCisKICAgICAgICAgaWYgY2xpZCBpcyBub3QgTm9uZToKICAgICAgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1w bGF0ZV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAncHJvcGVydGllcy5zcWwnXSksIHRpZD10aWQsIGNsaWQ9 Y2xpZApAQCAtNzQ2LDYgKzc1NCwxMSBAQCBjbGFzcyBDb2x1bW5zVmlldyhQ R0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAg ICMgV2Ugd2lsbCBhZGQgdGFibGUgJiBzY2hlbWEgYXMgd2VsbAogICAgICAg ICAgICAgb2xkX2RhdGEgPSBzZWxmLl9mb3JtYXR0ZXIoc2NpZCwgdGlkLCBj bGlkLCBvbGRfZGF0YSkKIAorICAgICAgICAgICAgIyBjaGVjayB0eXBlIGZv ciAnW10nIGluIGl0CisgICAgICAgICAgICBpZiAnY2x0eXBlJyBpbiBvbGRf ZGF0YToKKyAgICAgICAgICAgICAgICBvbGRfZGF0YVsnY2x0eXBlJ10gPSBz ZWxmLl9jbHR5cGVfZm9ybWF0dGVyKG9sZF9kYXRhWydjbHR5cGUnXSkKKyAg ICAgICAgICAgICAgICBvbGRfZGF0YVsnaGFzU3FyQnJhY2tldCddID0gc2Vs Zi5oYXNTcXJCcmFja2V0CisKICAgICAgICAgICAgICMgSWYgbmFtZSBpcyBu b3QgcHJlc2VudCBpbiBkYXRhIHRoZW4KICAgICAgICAgICAgICMgd2Ugd2ls bCBmZXRjaCBpdCBmcm9tIG9sZCBkYXRhLCB3ZSBhbHNvIG5lZWQgc2NoZW1h ICYgdGFibGUgbmFtZQogICAgICAgICAgICAgaWYgJ25hbWUnIG5vdCBpbiBk YXRhOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBs YXRlcy9jb2x1bW4vc3FsLzkuMl9wbHVzL3VwZGF0ZS5zcWwgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwvOS4yX3BsdXMv dXBkYXRlLnNxbAppbmRleCAxNDJmNmFlLi5mY2ZkM2MxIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwv OS4yX3BsdXMvdXBkYXRlLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwvOS4yX3BsdXMvdXBkYXRlLnNxbApA QCAtMSw2ICsxLDcgQEAKIHslIGltcG9ydCAnY29sdW1uL21hY3Jvcy9zZWN1 cml0eS5tYWNyb3MnIGFzIFNFQ0xBQkVMICV9CiB7JSBpbXBvcnQgJ2NvbHVt bi9tYWNyb3MvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9CiB7 JSBpbXBvcnQgJ21hY3Jvcy92YXJpYWJsZS5tYWNyb3MnIGFzIFZBUklBQkxF ICV9Cit7JSBpbXBvcnQgJ3R5cGUvbWFjcm9zL2dldF9mdWxsX3R5cGVfc3Fs X2Zvcm1hdC5tYWNyb3MnIGFzIEdFVF9UWVBFICV9CiB7IyMjICBSZW5hbWUg Y29sdW1uIG5hbWUgIyMjfQogeyUgaWYgZGF0YS5uYW1lIGFuZCBkYXRhLm5h bWUgIT0gb19kYXRhLm5hbWUgJX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElk ZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19CkBAIC04LDExICs5LDkg QEAgQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRh dGEudGFibGUpfX0KIAogeyUgZW5kaWYgJX0KIHsjIyMgIEFsdGVyIGNvbHVt biB0eXBlIGFuZCBjb2xsYXRpb24gIyMjfQoteyUgaWYgKGRhdGEuY2x0eXBl IGFuZCBkYXRhLmNsdHlwZSAhPSBvX2RhdGEuY2x0eXBlKSBvciAoZGF0YS5h dHRsZW4gYW5kIGRhdGEuYXR0bGVuICE9IG9fZGF0YS5hdHRsZW4pIG9yIChk YXRhLmF0dHByZWNpc2lvbiBvciBkYXRhLmF0dHByZWNpc2lvbiAhPSBvX2Rh dGEuYXR0cHJlY2lzaW9uKSAlfQoreyUgaWYgKGRhdGEuY2x0eXBlIGFuZCBk YXRhLmNsdHlwZSAhPSBvX2RhdGEuY2x0eXBlKSBvciAoZGF0YS5hdHRsZW4g YW5kIGRhdGEuYXR0bGVuICE9IG9fZGF0YS5hdHRsZW4pIG9yIChkYXRhLmF0 dHByZWNpc2lvbiBhbmQgZGF0YS5hdHRwcmVjaXNpb24gIT0gb19kYXRhLmF0 dHByZWNpc2lvbikgJX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRh dGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19Ci0gICAgQUxURVIgQ09MVU1OIHsl IGlmIGRhdGEubmFtZSAlfXt7Y29ubnxxdFR5cGVJZGVudChkYXRhLm5hbWUp fX17JSBlbHNlICV9e3tjb25ufHF0VHlwZUlkZW50KG9fZGF0YS5uYW1lKX19 eyUgZW5kaWYgJX0gVFlQRSB7JSBpZiBkYXRhLmNsdHlwZSAlfXt7Y29ubnxx dFR5cGVJZGVudChkYXRhLmNsdHlwZSl9fSB7JSBlbGlmIG9fZGF0YS50eXBu c3BuYW1lICE9ICdwZ19jYXRhbG9nJyAlfXt7Y29ubnxxdFR5cGVJZGVudChv X2RhdGEudHlwbnNwbmFtZSwgb19kYXRhLmNsdHlwZSl9fXslIGVsc2UgJX17 e2Nvbm58cXRUeXBlSWRlbnQob19kYXRhLmNsdHlwZSl9fSB7JSBlbmRpZiAl fQoteyUgaWYgZGF0YS5hdHRsZW4gYW5kIGRhdGEuYXR0bGVuICE9ICdOb25l JyAlfSh7e2RhdGEuYXR0bGVufX17JSBpZiBkYXRhLmF0dGxlbiAhPSAnTm9u ZScgYW5kIGRhdGEuYXR0cHJlY2lzaW9uICV9LCB7e2RhdGEuYXR0cHJlY2lz aW9ufX0peyUgZWxpZiAoZGF0YS5jbHR5cGUgaXMgZGVmaW5lZCBhbmQgbm90 IGRhdGEuY2x0eXBlKSAlfSwge3tvX2RhdGEuYXR0cHJlY2lzaW9ufX0peyUg ZWxpZiBkYXRhLmF0dGxlbiAlfSl7JSBlbmRpZiAlfXslIGVuZGlmICV9eyUg aWYgZGF0YS5oYXNTcXJCcmFja2V0ICV9Ci1bXXslIGVuZGlmICV9eyUgaWYg ZGF0YS5jb2xsc3BjbmFtZSBhbmQgZGF0YS5jb2xsc3BjbmFtZSAhPSBvX2Rh dGEuY29sbHNwY25hbWUgJX0KKyAgICBBTFRFUiBDT0xVTU4geyUgaWYgZGF0 YS5uYW1lICV9e3tjb25ufHF0VHlwZUlkZW50KGRhdGEubmFtZSl9fXslIGVs c2UgJX17e2Nvbm58cXRUeXBlSWRlbnQob19kYXRhLm5hbWUpfX17JSBlbmRp ZiAlfSBUWVBFIHt7IEdFVF9UWVBFLlVQREFURV9UWVBFX1NRTChjb25uLCBk YXRhLCBvX2RhdGEpIH19eyUgaWYgZGF0YS5jb2xsc3BjbmFtZSBhbmQgZGF0 YS5jb2xsc3BjbmFtZSAhPSBvX2RhdGEuY29sbHNwY25hbWUgJX0KICBDT0xM QVRFIHt7ZGF0YS5jb2xsc3BjbmFtZX19eyUgZW5kaWYgJX07CiB7JSBlbmRp ZiAlfQogeyMjIyAgQWx0ZXIgY29sdW1uIGRlZmF1bHQgdmFsdWUgIyMjfQpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9j b2x1bW4vc3FsL2RlZmF1bHQvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC9kZWZhdWx0L2NyZWF0ZS5z cWwKaW5kZXggOGYwZTc1NC4uMGZjZTQ0NiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9jb2x1bW4vc3FsL2RlZmF1bHQv Y3JlYXRlLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxh dGVzL2NvbHVtbi9zcWwvZGVmYXVsdC9jcmVhdGUuc3FsCkBAIC0xLDEyICsx LDExIEBACiB7JSBpbXBvcnQgJ2NvbHVtbi9tYWNyb3Mvc2VjdXJpdHkubWFj cm9zJyBhcyBTRUNMQUJFTCAlfQogeyUgaW1wb3J0ICdjb2x1bW4vbWFjcm9z L3ByaXZpbGVnZS5tYWNyb3MnIGFzIFBSSVZJTEVHRSAlfQogeyUgaW1wb3J0 ICdtYWNyb3MvdmFyaWFibGUubWFjcm9zJyBhcyBWQVJJQUJMRSAlfQoreyUg aW1wb3J0ICd0eXBlL21hY3Jvcy9nZXRfZnVsbF90eXBlX3NxbF9mb3JtYXQu bWFjcm9zJyBhcyBHRVRfVFlQRSAlfQogeyMjIyAgQWRkIGNvbHVtbiAjIyN9 CiB7JSBpZiBkYXRhLm5hbWUgYW5kICBkYXRhLmNsdHlwZSAlfQogQUxURVIg VEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFibGUp fX0KLSAgICBBREQgQ09MVU1OIHt7Y29ubnxxdElkZW50KGRhdGEubmFtZSl9 fSB7e2Nvbm58cXRUeXBlSWRlbnQoZGF0YS5jbHR5cGUpfX17JSBpZiBkYXRh LmF0dGxlbiAlfQotKHt7ZGF0YS5hdHRsZW59fXslIGlmIGRhdGEuYXR0cHJl Y2lzaW9uJX0sIHt7ZGF0YS5hdHRwcmVjaXNpb259fXslIGVuZGlmICV9KXsl IGVuZGlmICV9eyUgaWYgZGF0YS5oYXNTcXJCcmFja2V0ICV9Ci1bXXslIGVu ZGlmICV9eyUgaWYgZGF0YS5jb2xsc3BjbmFtZSAlfQorICAgIEFERCBDT0xV TU4ge3tjb25ufHF0SWRlbnQoZGF0YS5uYW1lKX19IHt7IEdFVF9UWVBFLkNS RUFURV9UWVBFX1NRTChjb25uLCBkYXRhLmNsdHlwZSwgZGF0YS5hdHRsZW4s IGRhdGEuYXR0cHJlY2lzaW9uLCBkYXRhLmhhc1NxckJyYWNrZXQpIH19eyUg aWYgZGF0YS5jb2xsc3BjbmFtZSAlfQogIENPTExBVEUge3tkYXRhLmNvbGxz cGNuYW1lfX17JSBlbmRpZiAlfXslIGlmIGRhdGEuYXR0bm90bnVsbCAlfQog IE5PVCBOVUxMeyUgZW5kaWYgJX17JSBpZiBkYXRhLmRlZnZhbCAlfQogIERF RkFVTFQge3tkYXRhLmRlZnZhbH19eyUgZW5kaWYgJX07CmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwv ZGVmYXVsdC91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rl bXBsYXRlcy9jb2x1bW4vc3FsL2RlZmF1bHQvdXBkYXRlLnNxbAppbmRleCAz ZTcxNzgwLi5iMDQ1MTMxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwvZGVmYXVsdC91cGRhdGUuc3Fs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1u L3NxbC9kZWZhdWx0L3VwZGF0ZS5zcWwKQEAgLTEsNiArMSw3IEBACiB7JSBp bXBvcnQgJ2NvbHVtbi9tYWNyb3Mvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNM QUJFTCAlfQogeyUgaW1wb3J0ICdjb2x1bW4vbWFjcm9zL3ByaXZpbGVnZS5t YWNyb3MnIGFzIFBSSVZJTEVHRSAlfQogeyUgaW1wb3J0ICdtYWNyb3MvdmFy aWFibGUubWFjcm9zJyBhcyBWQVJJQUJMRSAlfQoreyUgaW1wb3J0ICd0eXBl L21hY3Jvcy9nZXRfZnVsbF90eXBlX3NxbF9mb3JtYXQubWFjcm9zJyBhcyBH RVRfVFlQRSAlfQogeyMjIyAgUmVuYW1lIGNvbHVtbiBuYW1lICMjI30KIHsl IGlmIGRhdGEubmFtZSBhbmQgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9 CiBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0 YS50YWJsZSl9fQpAQCAtOCwxMSArOSw5IEBAIEFMVEVSIFRBQkxFIHt7Y29u bnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19CiAKIHslIGVu ZGlmICV9CiB7IyMjICBBbHRlciBjb2x1bW4gdHlwZSBhbmQgY29sbGF0aW9u ICMjI30KLXslIGlmIChkYXRhLmNsdHlwZSBhbmQgZGF0YS5jbHR5cGUgIT0g b19kYXRhLmNsdHlwZSkgb3IgKGRhdGEuYXR0bGVuIGFuZCBkYXRhLmF0dGxl biAhPSBvX2RhdGEuYXR0bGVuKSBvciAoZGF0YS5hdHRwcmVjaXNpb24gb3Ig ZGF0YS5hdHRwcmVjaXNpb24gIT0gb19kYXRhLmF0dHByZWNpc2lvbikgJX0K K3slIGlmIChkYXRhLmNsdHlwZSBhbmQgZGF0YS5jbHR5cGUgIT0gb19kYXRh LmNsdHlwZSkgb3IgKGRhdGEuYXR0bGVuIGFuZCBkYXRhLmF0dGxlbiAhPSBv X2RhdGEuYXR0bGVuKSBvciAoZGF0YS5hdHRwcmVjaXNpb24gYW5kIGRhdGEu YXR0cHJlY2lzaW9uICE9IG9fZGF0YS5hdHRwcmVjaXNpb24pICV9CiBBTFRF UiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJs ZSl9fQotICAgIEFMVEVSIENPTFVNTiB7JSBpZiBkYXRhLm5hbWUgJX17e2Nv bm58cXRUeXBlSWRlbnQoZGF0YS5uYW1lKX19eyUgZWxzZSAlfXt7Y29ubnxx dFR5cGVJZGVudChvX2RhdGEubmFtZSl9fXslIGVuZGlmICV9IFRZUEUgeyUg aWYgZGF0YS5jbHR5cGUgJX17e2Nvbm58cXRUeXBlSWRlbnQoZGF0YS5jbHR5 cGUpfX0geyUgZWxpZiBvX2RhdGEudHlwbnNwbmFtZSAhPSAncGdfY2F0YWxv ZycgJX17e2Nvbm58cXRUeXBlSWRlbnQob19kYXRhLnR5cG5zcG5hbWUsIG9f ZGF0YS5jbHR5cGUpfX17JSBlbHNlICV9e3tjb25ufHF0VHlwZUlkZW50KG9f ZGF0YS5jbHR5cGUpfX0geyUgZW5kaWYgJX0KLXslIGlmIGRhdGEuYXR0bGVu IGFuZCBkYXRhLmF0dGxlbiAhPSAnTm9uZScgJX0oe3tkYXRhLmF0dGxlbn19 eyUgaWYgZGF0YS5hdHRsZW4gIT0gJ05vbmUnIGFuZCBkYXRhLmF0dHByZWNp c2lvbiAlfSwge3tkYXRhLmF0dHByZWNpc2lvbn19KXslIGVsaWYgKGRhdGEu Y2x0eXBlIGlzIGRlZmluZWQgYW5kIG5vdCBkYXRhLmNsdHlwZSkgJX0sIHt7 b19kYXRhLmF0dHByZWNpc2lvbn19KXslIGVsaWYgZGF0YS5hdHRsZW4gJX0p eyUgZW5kaWYgJX17JSBlbmRpZiAlfXslIGlmIGRhdGEuaGFzU3FyQnJhY2tl dCAlfQotW117JSBlbmRpZiAlfXslIGlmIGRhdGEuY29sbHNwY25hbWUgYW5k IGRhdGEuY29sbHNwY25hbWUgIT0gb19kYXRhLmNvbGxzcGNuYW1lICV9Cisg ICAgQUxURVIgQ09MVU1OIHslIGlmIGRhdGEubmFtZSAlfXt7Y29ubnxxdFR5 cGVJZGVudChkYXRhLm5hbWUpfX17JSBlbHNlICV9e3tjb25ufHF0VHlwZUlk ZW50KG9fZGF0YS5uYW1lKX19eyUgZW5kaWYgJX0gVFlQRSB7eyBHRVRfVFlQ RS5VUERBVEVfVFlQRV9TUUwoY29ubiwgZGF0YSwgb19kYXRhKSB9fXslIGlm IGRhdGEuY29sbHNwY25hbWUgYW5kIGRhdGEuY29sbHNwY25hbWUgIT0gb19k YXRhLmNvbGxzcGNuYW1lICV9CiAgQ09MTEFURSB7e2RhdGEuY29sbHNwY25h bWV9fXslIGVuZGlmICV9OwogeyUgZW5kaWYgJX0KIHsjIyMgIEFsdGVyIGNv bHVtbiBkZWZhdWx0IHZhbHVlICMjI30KZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGUvc3FsL2RlZmF1bHQvY3Jl YXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFi bGUvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbAppbmRleCBiYTkxYWM1Li5lMzI2 ZDVmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxh dGVzL3RhYmxlL3NxbC9kZWZhdWx0L2NyZWF0ZS5zcWwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZS9zcWwvZGVmYXVsdC9j cmVhdGUuc3FsCkBAIC00LDYgKzQsNyBAQAogeyUgaW1wb3J0ICdjb2x1bW4v bWFjcm9zL3NlY3VyaXR5Lm1hY3JvcycgYXMgQ09MVU1OX1NFQ0xBQkVMICV9 CiB7JSBpbXBvcnQgJ2NvbHVtbi9tYWNyb3MvcHJpdmlsZWdlLm1hY3Jvcycg YXMgQ09MVU1OX1BSSVZJTEVHRSAlfQogeyUgaW1wb3J0ICd0YWJsZS9zcWwv bWFjcm9zL2NvbnN0cmFpbnRzLm1hY3JvJyBhcyBDT05TVFJBSU5UUyAlfQor eyUgaW1wb3J0ICd0eXBlL21hY3Jvcy9nZXRfZnVsbF90eXBlX3NxbF9mb3Jt YXQubWFjcm9zJyBhcyBHRVRfVFlQRSAlfQogeyM9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09I30KIHsjPT09PT09IE1BSU4g VEFCTEUgVEVNUExBVEUgU1RBUlRTIEhFUkUgPT09PT09I30KIHsjPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSN9CkBAIC00 Myw5ICs0NCw3IEBAIENSRUFURSB7JSBpZiBkYXRhLnJlbHBlcnNpc3RlbmNl ICV9VU5MT0dHRUQgeyUgZW5kaWYgJX1UQUJMRSB7e2Nvbm58cXRJZGVudChk YXRhCiB7JSBpZiBjLm5hbWUgYW5kIGMuY2x0eXBlICV9CiB7JSBpZiBsb29w LmluZGV4ICE9IDEgJX0sCiB7JSBlbmRpZiAlfQotICAgIHt7Y29ubnxxdElk ZW50KGMubmFtZSl9fSB7e2Nvbm58cXRUeXBlSWRlbnQoYy5jbHR5cGUpfX17 JSBpZiBjLmF0dGxlbiAlfQotKHt7Yy5hdHRsZW59fXslIGlmIGMuYXR0cHJl Y2lzaW9uJX0sIHt7Yy5hdHRwcmVjaXNpb259fXslIGVuZGlmICV9KXslIGVu ZGlmICV9eyUgaWYgYy5oYXNTcXJCcmFja2V0ICV9Ci1bXXslIGVuZGlmICV9 eyUgaWYgYy5jb2xsc3BjbmFtZSAlfSBDT0xMQVRFIHt7Yy5jb2xsc3BjbmFt ZX19eyUgZW5kaWYgJX17JSBpZiBjLmF0dG5vdG51bGwgJX0gTk9UIE5VTEx7 JSBlbmRpZiAlfXslIGlmIGMuZGVmdmFsICV9IERFRkFVTFQge3tjLmRlZnZh bH19eyUgZW5kaWYgJX0KKyAgICB7e2Nvbm58cXRJZGVudChjLm5hbWUpfX0g e3sgR0VUX1RZUEUuQ1JFQVRFX1RZUEVfU1FMKGNvbm4sIGMuY2x0eXBlLCBj LmF0dGxlbiwgYy5hdHRwcmVjaXNpb24sIGMuaGFzU3FyQnJhY2tldCkgfX17 JSBpZiBjLmNvbGxzcGNuYW1lICV9IENPTExBVEUge3tjLmNvbGxzcGNuYW1l fX17JSBlbmRpZiAlfXslIGlmIGMuYXR0bm90bnVsbCAlfSBOT1QgTlVMTHsl IGVuZGlmICV9eyUgaWYgYy5kZWZ2YWwgJX0gREVGQVVMVCB7e2MuZGVmdmFs fX17JSBlbmRpZiAlfQogeyUgZW5kaWYgJX0KIHslIGVuZGZvciAlfQogeyUg ZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvX19pbml0X18ucHkK aW5kZXggMGJjODI1My4uOWJlMjcwZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdHlwZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dHlwZXMvX19pbml0X18ucHkKQEAgLTM0Nyw2ICszNDcsNDMgQEAgY2xhc3Mg VHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAg ICAgICAgICAgICBzdGF0dXM9MjAwCiAgICAgICAgICkKIAorICAgIGRlZiBf Y2x0eXBlX2Zvcm1hdHRlcihzZWxmLCB0eXBlKToKKyAgICAgICAgIiIiCisK KyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGRhdGE6IFR5cGUgc3RyaW5n CisKKyAgICAgICAgUmV0dXJuczoKKyAgICAgICAgICAgIFdlIG5lZWQgdG8g cmVtb3ZlIFtdIGZyb20gdHlwZSBhbmQgYXBwZW5kIGl0CisgICAgICAgICAg ICBhZnRlciBsZW5ndGgvcHJlY2lzaW9uIHNvIHdlIHdpbGwgc2V0IGZsYWcg Zm9yCisgICAgICAgICAgICBzcWwgdGVtcGxhdGUKKyAgICAgICAgIiIiCisg ICAgICAgIGlmICdbXScgaW4gdHlwZToKKyAgICAgICAgICAgIHR5cGUgPSB0 eXBlLnJlcGxhY2UoJ1tdJywgJycpCisgICAgICAgICAgICBzZWxmLmhhc1Nx ckJyYWNrZXQgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBz ZWxmLmhhc1NxckJyYWNrZXQgPSBGYWxzZQorCisgICAgICAgIHJldHVybiB0 eXBlCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNvbnZlcnRfbGVu Z3RoX3ByZWNpc2lvbl90b19zdHJpbmcoZGF0YSk6CisgICAgICAgICIiIgor ICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29udmVydCBsZW5n dGggJiBwcmVjaXNpb24gdG8gc3RyaW5nCisgICAgICAgIHRvIGhhbmRsZSBj YXNlIGxpa2Ugd2hlbiB1c2VyIGdpdmVzIDAgYXMgbGVuZ3RoCisKKyAgICAg ICAgQXJnczoKKyAgICAgICAgICAgIGRhdGE6IERhdGEgZnJvbSBjbGllbnQK KworICAgICAgICBSZXR1cm5zOgorICAgICAgICAgICAgQ29udmVydGVkIGRh dGEKKyAgICAgICAgIiIiCisgICAgICAgIGlmICd0bGVuZ3RoJyBpbiBkYXRh IGFuZCBkYXRhWyd0bGVuZ3RoJ10gaXMgbm90IE5vbmU6CisgICAgICAgICAg ICBkYXRhWyd0bGVuZ3RoJ10gPSBzdHIoZGF0YVsndGxlbmd0aCddKQorICAg ICAgICBpZiAncHJlY2lzaW9uJyBpbiBkYXRhIGFuZCBkYXRhWydwcmVjaXNp b24nXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRhdGFbJ3ByZWNpc2lv biddID0gc3RyKGRhdGFbJ3ByZWNpc2lvbiddKQorICAgICAgICByZXR1cm4g ZGF0YQorCiAgICAgZGVmIGFkZGl0aW9uYWxfcHJvcGVydGllcyhzZWxmLCBj b3B5X2RpY3QsIHRpZCk6CiAgICAgICAgICIiIgogICAgICAgICBXZSB3aWxs IHVzZSB0aGlzIGZ1bmN0aW9uIHRvIGFkZCBhZGRpdGlvbmFsIHByb3BlcnRp ZXMgYWNjb3JkaW5nIHRvIHR5cGUKQEAgLTQxMiwxMSArNDQ5LDE3IEBAIGNs YXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIp OgogICAgICAgICAgICAgICAgIGlzX3RsZW5ndGggPSBUcnVlIGlmIHRfbGVu IGVsc2UgRmFsc2UKICAgICAgICAgICAgICAgICBpc19wcmVjaXNpb24gPSBU cnVlIGlmIHRfcHJlYyBlbHNlIEZhbHNlCiAKKyAgICAgICAgICAgICAgICB0 eXBlX25hbWUgPSBEYXRhVHlwZVJlYWRlci5wYXJzZV90eXBlX25hbWUocm93 Wyd0eXBuYW1lJ10pCisKKyAgICAgICAgICAgICAgICByb3dbJ3R5cGUnXSA9 IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIodHlwZV9uYW1lKQorICAgICAgICAg ICAgICAgIHJvd1snaGFzU3FyQnJhY2tldCddID0gc2VsZi5oYXNTcXJCcmFj a2V0CisgICAgICAgICAgICAgICAgcm93ID0gc2VsZi5jb252ZXJ0X2xlbmd0 aF9wcmVjaXNpb25fdG9fc3RyaW5nKHJvdykKICAgICAgICAgICAgICAgICBj b21wb3NpdGVfbHN0LmFwcGVuZCh7Ci0gICAgICAgICAgICAgICAgICAgICdh dHRudW0nOiByb3dbJ2F0dG51bSddLCAnbWVtYmVyX25hbWUnOiByb3dbJ2F0 dG5hbWUnXSwgJ3R5cGUnOiByb3dbJ3R5cG5hbWUnXSwKLSAgICAgICAgICAg ICAgICAgICAgJ2NvbGxhdGlvbic6IGZ1bGxfY29sbGF0ZSwKKyAgICAgICAg ICAgICAgICAgICAgJ2F0dG51bSc6IHJvd1snYXR0bnVtJ10sICdtZW1iZXJf bmFtZSc6IHJvd1snYXR0bmFtZSddLCAndHlwZSc6IHR5cGVfbmFtZSwKKyAg ICAgICAgICAgICAgICAgICAgJ2NvbGxhdGlvbic6IGZ1bGxfY29sbGF0ZSwg J2NsdHlwZSc6IHJvd1sndHlwZSddLAogICAgICAgICAgICAgICAgICAgICAn dGxlbmd0aCc6IHRfbGVuLCAncHJlY2lzaW9uJzogdF9wcmVjLAotICAgICAg ICAgICAgICAgICAgICAnaXNfdGxlbmd0aCc6IGlzX3RsZW5ndGgsICdpc19w cmVjaXNpb24nOiBpc19wcmVjaXNpb259KQorICAgICAgICAgICAgICAgICAg ICAnaXNfdGxlbmd0aCc6IGlzX3RsZW5ndGgsICdpc19wcmVjaXNpb24nOiBp c19wcmVjaXNpb24sCisgICAgICAgICAgICAgICAgICAgICdoYXNTcXJCcmFj a2V0Jzogcm93WydoYXNTcXJCcmFja2V0J119KQogCiAgICAgICAgICAgICAj IEFkZGluZyBib3RoIHJlc3VsdHMKICAgICAgICAgICAgIHJlc1snbWVtYmVy X2xpc3QnXSA9ICcsICcuam9pbihwcm9wZXJ0aWVzX2xpc3QpCkBAIC05MDAs NiArOTQzLDEyIEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIpOgogICAgICAgICBkYXRhID0gc2VsZi5fY29udmVy dF9mb3Jfc3FsKGRhdGEpCiAKICAgICAgICAgdHJ5OgorICAgICAgICAgICAg aWYgJ2NvbXBvc2l0ZScgaW4gZGF0YSBhbmQgbGVuKGRhdGFbJ2NvbXBvc2l0 ZSddKSA+IDA6CisgICAgICAgICAgICAgICAgZm9yIGVhY2hfdHlwZSBpbiBk YXRhWydjb21wb3NpdGUnXToKKyAgICAgICAgICAgICAgICAgICAgZWFjaF90 eXBlID0gc2VsZi5jb252ZXJ0X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5n KGVhY2hfdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgZWFjaF90eXBlWydj bHR5cGUnXSA9IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIoZWFjaF90eXBlWyd0 eXBlJ10pCisgICAgICAgICAgICAgICAgICAgIGVhY2hfdHlwZVsnaGFzU3Fy QnJhY2tldCddID0gc2VsZi5oYXNTcXJCcmFja2V0CisKICAgICAgICAgICAg IFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLCAnY3JlYXRlLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhPWRhdGEsIGNvbm49c2VsZi5jb25uKQogICAg ICAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0 KFNRTCkKQEAgLTExMTgsNiArMTE2NywxNSBAQCBjbGFzcyBUeXBlVmlldyhQ R0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAg ICAgICAgICAgaWYgJ2RlbGV0ZWQnIGluIGRhdGFba2V5XToKICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnZGVsZXRlZCddID0gcGFyc2Vf cHJpdl90b19kYihkYXRhW2tleV1bJ2RlbGV0ZWQnXSwgc2VsZi5hY2wpCiAK KyAgICAgICAgICAgIGlmICdjb21wb3NpdGUnIGluIGRhdGEgYW5kIGxlbihk YXRhWydjb21wb3NpdGUnXSkgPiAwOgorICAgICAgICAgICAgICAgIGZvciBr ZXkgaW4gWydhZGRlZCcsICdjaGFuZ2VkJywgJ2RlbGV0ZWQnXToKKyAgICAg ICAgICAgICAgICAgICAgaWYga2V5IGluIGRhdGFbJ2NvbXBvc2l0ZSddOgor ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGVhY2hfdHlwZSBpbiBkYXRh Wydjb21wb3NpdGUnXVtrZXldOgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVhY2hfdHlwZSA9IHNlbGYuY29udmVydF9sZW5ndGhfcHJlY2lzaW9u X3RvX3N0cmluZyhlYWNoX3R5cGUpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgJ3R5cGUnIGluIGVhY2hfdHlwZToKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZWFjaF90eXBlWydjbHR5cGUnXSA9IHNlbGYu X2NsdHlwZV9mb3JtYXR0ZXIoZWFjaF90eXBlWyd0eXBlJ10pCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hfdHlwZVsnaGFzU3FyQnJh Y2tldCddID0gc2VsZi5oYXNTcXJCcmFja2V0CisKICAgICAgICAgICAgIFNR TCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAncHJvcGVydGllcy5zcWwnXSksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlkLApAQCAtMTE2OSw3 ICsxMjI3LDE1IEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgIyBQcml2aWxlZ2VzCiAg ICAgICAgICAgICBpZiAndHlwYWNsJyBpbiBkYXRhIGFuZCBkYXRhWyd0eXBh Y2wnXSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBkYXRhWyd0eXBh Y2wnXSA9IHBhcnNlX3ByaXZfdG9fZGIoZGF0YVsndHlwYWNsJ10sIHNlbGYu YWNsKQorCiAgICAgICAgICAgICBkYXRhID0gc2VsZi5fY29udmVydF9mb3Jf c3FsKGRhdGEpCisKKyAgICAgICAgICAgIGlmICdjb21wb3NpdGUnIGluIGRh dGEgYW5kIGxlbihkYXRhWydjb21wb3NpdGUnXSkgPiAwOgorICAgICAgICAg ICAgICAgIGZvciBlYWNoX3R5cGUgaW4gZGF0YVsnY29tcG9zaXRlJ106Cisg ICAgICAgICAgICAgICAgICAgIGVhY2hfdHlwZSA9IHNlbGYuY29udmVydF9s ZW5ndGhfcHJlY2lzaW9uX3RvX3N0cmluZyhlYWNoX3R5cGUpCisgICAgICAg ICAgICAgICAgICAgIGVhY2hfdHlwZVsnY2x0eXBlJ10gPSBzZWxmLl9jbHR5 cGVfZm9ybWF0dGVyKGVhY2hfdHlwZVsndHlwZSddKQorICAgICAgICAgICAg ICAgICAgICBlYWNoX3R5cGVbJ2hhc1NxckJyYWNrZXQnXSA9IHNlbGYuaGFz U3FyQnJhY2tldAorCiAgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxh dGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NyZWF0ZS5zcWwn XSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1k YXRhLCBjb25uPXNlbGYuY29ubikKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL2pzL3R5cGUuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9qcy90eXBlLmpzCmluZGV4 IDk2NTgyNmUuLjk0ZjMxMzkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3R5cGVzL3RlbXBsYXRlcy90eXBlL2pzL3R5cGUuanMKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvanMvdHlwZS5qcwpAQCAt MTEzLDYgKzExMyw5IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBn QnJvd3NlciwgYWxlcnRpZnksIEJhY2tncmlkKSB7CiAgICAgICAgICAgICAg ICAgICBtLnNldCgnaXNfdGxlbmd0aCcsIHRydWUsIHtzaWxlbnQ6IHRydWV9 KTsKICAgICAgICAgICAgICAgICAgIG0uc2V0KCdtaW5fdmFsJywgby5taW5f dmFsLCB7c2lsZW50OiB0cnVlfSk7CiAgICAgICAgICAgICAgICAgICBtLnNl dCgnbWF4X3ZhbCcsIG8ubWF4X3ZhbCwge3NpbGVudDogdHJ1ZX0pOworICAg ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAvLyBz ZXQgdGhlIHZhbHVlcyBpbiBtb2RlbAorICAgICAgICAgICAgICAgICAgbS5z ZXQoJ2lzX3RsZW5ndGgnLCBmYWxzZSwge3NpbGVudDogdHJ1ZX0pOwogICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICB9KTsK QEAgLTE0MCw2ICsxNDMsOSBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5LCBCYWNrZ3JpZCkgewogICAgICAgICAg ICAgICAgICAgbS5zZXQoJ2lzX3ByZWNpc2lvbicsIHRydWUsIHtzaWxlbnQ6 IHRydWV9KTsKICAgICAgICAgICAgICAgICAgIG0uc2V0KCdtaW5fdmFsJywg by5taW5fdmFsLCB7c2lsZW50OiB0cnVlfSk7CiAgICAgICAgICAgICAgICAg ICBtLnNldCgnbWF4X3ZhbCcsIG8ubWF4X3ZhbCwge3NpbGVudDogdHJ1ZX0p OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg ICAvLyBzZXQgdGhlIHZhbHVlcyBpbiBtb2RlbAorICAgICAgICAgICAgICAg ICAgbS5zZXQoJ2lzX3ByZWNpc2lvbicsIGZhbHNlLCB7c2lsZW50OiB0cnVl fSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAg ICAgIH0pOwpAQCAtMTY2LDcgKzE3Miw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMs IHBnQWRtaW4sIHBnQnJvd3NlciwgYWxlcnRpZnksIEJhY2tncmlkKSB7CiAK ICAgICAgICAgIGlmIChmbGFnKSB7CiAgICAgICAgICAgIHNldFRpbWVvdXQo ZnVuY3Rpb24oKXsKLSAgICAgICAgICAgICBtLnNldCgnY29sbHNwY25hbWUn LCAiIik7CisgICAgICAgICAgICAgbS5zZXQoJ2NvbGxzcGNuYW1lJywgIiIs IHtzaWxlbnQ6IHRydWV9KTsKICAgICAgICAgICAgfSwgMTApOwogICAgICAg ICAgfQogICAgICAgICAgcmV0dXJuIGZsYWc7CmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9tYWNyb3MvZ2V0X2Z1 bGxfdHlwZV9zcWxfZm9ybWF0Lm1hY3JvcyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5 cGVzL3RlbXBsYXRlcy90eXBlL21hY3Jvcy9nZXRfZnVsbF90eXBlX3NxbF9m b3JtYXQubWFjcm9zCmluZGV4IGNlNzBhYWQuLjRiOWMwZTkgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL21hY3Jv cy9nZXRfZnVsbF90eXBlX3NxbF9mb3JtYXQubWFjcm9zCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL21hY3Jvcy9nZXRfZnVs bF90eXBlX3NxbF9mb3JtYXQubWFjcm9zCkBAIC0xLDEzICsxLDE3IEBACiB7 JSBtYWNybyBDUkVBVEVfVFlQRV9TUUwoY29ubiwgdHlwZV9uYW1lLCB0eXBl X2xlbmd0aCwgdHlwZV9wcmVjaXNpb24sIGlzX3R5cGVfYXJyYXkpICV9CiB7 JSBpZiB0eXBlX25hbWUuc3RhcnRzd2l0aCgndGltZScpIGFuZCB0eXBlX2xl bmd0aCAlfQoreyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyN9CiB7IyMjIyMjIE5lZWQgdG8g Y2hlY2sgYWdhaW5zdCBzZXBhcmF0ZSB0aW1lIHR5cGVzIC0gU1RBUlQgIyMj IyMjfQoreyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyN9CiB7JSBpZiB0eXBlX25hbWUgPT0g InRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSIgJX0KIHRpbWVzdGFtcCh7 eyB0eXBlX2xlbmd0aCB9fSkgd2l0aG91dCB0aW1lIHpvbmV7JSBlbGlmIHR5 cGVfbmFtZSA9PSAidGltZXN0YW1wIHdpdGggdGltZSB6b25lIiAlfQogdGlt ZXN0YW1wKHt7IHR5cGVfbGVuZ3RoIH19KSB3aXRoIHRpbWUgem9uZXslIGVs aWYgdHlwZV9uYW1lID09ICJ0aW1lIHdpdGhvdXQgdGltZSB6b25lIiAlfQog dGltZSh7eyB0eXBlX2xlbmd0aCB9fSkgd2l0aG91dCB0aW1lIHpvbmV7JSBl bGlmIHR5cGVfbmFtZSA9PSAidGltZSB3aXRoIHRpbWUgem9uZSIgJX0KIHRp bWUoe3sgdHlwZV9sZW5ndGggfX0pIHdpdGggdGltZSB6b25leyUgZW5kaWYg JX17JSBpZiBpc190eXBlX2FycmF5ICV9CiBbXXslIGVuZGlmICV9Cit7IyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjI30KIHsjIyMjIyMgTmVlZCB0byBjaGVjayBhZ2FpbnN0 IHNlcGFyYXRlIHRpbWUgdHlwZXMgLSBFTkQgIyMjIyMjfQoreyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyN9CiB7JSBlbHNlICV9CiB7eyBjb25ufHF0VHlwZUlkZW50KHR5 cGVfbmFtZSkgfX17JSBpZiB0eXBlX2xlbmd0aCAlfQogKHt7IHR5cGVfbGVu Z3RoIH19eyUgaWYgdHlwZV9wcmVjaXNpb24lfSwge3sgdHlwZV9wcmVjaXNp b24gfX17JSBlbmRpZiAlfSl7JSBlbmRpZiAlfXslIGlmIGlzX3R5cGVfYXJy YXkgJX0KQEAgLTE5LDQ1ICsyMyw0MSBAQCB0aW1lKHt7IHR5cGVfbGVuZ3Ro IH19KSB3aXRoIHRpbWUgem9uZXslIGVuZGlmICV9eyUgaWYgaXNfdHlwZV9h cnJheSAlfQogeyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjI30KIHslIG1hY3JvIFVQREFURV9UWVBFX1NR TChjb25uLCBkYXRhLCBvX2RhdGEpICV9CiB7JSBpZiBkYXRhLmNsdHlwZSBh bmQgZGF0YS5jbHR5cGUuc3RhcnRzd2l0aCgndGltZScpIGFuZCBkYXRhLmF0 dGxlbiAlfQoreyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyN9CiB7IyMjIyMjIE5lZWQgdG8g Y2hlY2sgYWdhaW5zdCBzZXBhcmF0ZSB0aW1lIHR5cGVzIC0gU1RBUlQgIyMj IyMjfQoreyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyN9CiB7JSBpZiBkYXRhLmNsdHlwZSA9 PSAidGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIiAlfQotdGltZXN0YW1w KHt7IGRhdGEuYXR0bGVuIH19KSB3aXRob3V0IHRpbWUgem9uZQoteyUgZWxp ZiBkYXRhLmNsdHlwZSA9PSAidGltZXN0YW1wIHdpdGggdGltZSB6b25lIiAl fQotdGltZXN0YW1wKHt7IGRhdGEuYXR0bGVuIH19KSB3aXRoIHRpbWUgem9u ZQoteyUgZWxpZiBkYXRhLmNsdHlwZSA9PSAidGltZSB3aXRob3V0IHRpbWUg em9uZSIgJX0KLXRpbWUoe3sgZGF0YS5hdHRsZW4gfX0pIHdpdGhvdXQgdGlt ZSB6b25lCi17JSBlbGlmIGRhdGEuY2x0eXBlID09ICJ0aW1lIHdpdGggdGlt ZSB6b25lIiAlfQotdGltZSh7eyBkYXRhLmF0dGxlbiB9fSkgd2l0aCB0aW1l IHpvbmUKLXslIGVuZGlmICV9eyUgaWYgZGF0YS5oYXNTcXJCcmFja2V0ICV9 Ci1bXXslIGVuZGlmICV9Cit0aW1lc3RhbXAoe3sgZGF0YS5hdHRsZW4gfX0p IHdpdGhvdXQgdGltZSB6b25lIHslIGVsaWYgZGF0YS5jbHR5cGUgPT0gInRp bWVzdGFtcCB3aXRoIHRpbWUgem9uZSIgJX0KK3RpbWVzdGFtcCh7eyBkYXRh LmF0dGxlbiB9fSkgd2l0aCB0aW1lIHpvbmUgeyUgZWxpZiBkYXRhLmNsdHlw ZSA9PSAidGltZSB3aXRob3V0IHRpbWUgem9uZSIgJX0KK3RpbWUoe3sgZGF0 YS5hdHRsZW4gfX0pIHdpdGhvdXQgdGltZSB6b25lIHslIGVsaWYgZGF0YS5j bHR5cGUgPT0gInRpbWUgd2l0aCB0aW1lIHpvbmUiICV9Cit0aW1lKHt7IGRh dGEuYXR0bGVuIH19KSB3aXRoIHRpbWUgem9uZSB7JSBlbmRpZiAlfXslIGlm IGRhdGEuaGFzU3FyQnJhY2tldCAlfVtdeyUgZW5kaWYgJX0KK3sjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjfQogeyMgaWYgb25seSB0eXBlIGNoYW5nZXMsIHdlIG5lZWQg dG8gZ2l2ZSBwcmV2aW91cyBsZW5ndGggdG8gY3VycmVudCB0eXBlI30KK3sj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjfQogeyUgZWxpZiBkYXRhLmNsdHlwZSBhbmQgZGF0 YS5jbHR5cGUuc3RhcnRzd2l0aCgndGltZScpIGFuZCBvX2RhdGEuYXR0bGVu ICE9ICdOb25lJyAlfQogeyUgaWYgZGF0YS5jbHR5cGUgPT0gInRpbWVzdGFt cCB3aXRob3V0IHRpbWUgem9uZSIgJX0KLXRpbWVzdGFtcCh7eyBvX2RhdGEu YXR0bGVuIH19KSB3aXRob3V0IHRpbWUgem9uZQoteyUgZWxpZiBkYXRhLmNs dHlwZSA9PSAidGltZXN0YW1wIHdpdGggdGltZSB6b25lIiAlfQotdGltZXN0 YW1wKHt7IG9fZGF0YS5hdHRsZW4gfX0pIHdpdGggdGltZSB6b25lCi17JSBl bGlmIGRhdGEuY2x0eXBlID09ICJ0aW1lIHdpdGhvdXQgdGltZSB6b25lIiAl fQotdGltZSh7eyBvX2RhdGEuYXR0bGVuIH19KSB3aXRob3V0IHRpbWUgem9u ZQoteyUgZWxpZiBkYXRhLmNsdHlwZSA9PSAidGltZSB3aXRoIHRpbWUgem9u ZSIgJX0KLXRpbWUoe3sgb19kYXRhLmF0dGxlbiB9fSkgd2l0aCB0aW1lIHpv bmUKLXslIGVuZGlmICV9eyUgaWYgZGF0YS5oYXNTcXJCcmFja2V0ICV9Ci1b XXslIGVuZGlmICV9Cit0aW1lc3RhbXAoe3sgb19kYXRhLmF0dGxlbiB9fSkg d2l0aG91dCB0aW1lIHpvbmUgeyUgZWxpZiBkYXRhLmNsdHlwZSA9PSAidGlt ZXN0YW1wIHdpdGggdGltZSB6b25lIiAlfQordGltZXN0YW1wKHt7IG9fZGF0 YS5hdHRsZW4gfX0pIHdpdGggdGltZSB6b25lIHslIGVsaWYgZGF0YS5jbHR5 cGUgPT0gInRpbWUgd2l0aG91dCB0aW1lIHpvbmUiICV9Cit0aW1lKHt7IG9f ZGF0YS5hdHRsZW4gfX0pIHdpdGhvdXQgdGltZSB6b25lIHslIGVsaWYgZGF0 YS5jbHR5cGUgPT0gInRpbWUgd2l0aCB0aW1lIHpvbmUiICV9Cit0aW1lKHt7 IG9fZGF0YS5hdHRsZW4gfX0pIHdpdGggdGltZSB6b25lIHslIGVuZGlmICV9 eyUgaWYgZGF0YS5oYXNTcXJCcmFja2V0ICV9W117JSBlbmRpZiAlfQoreyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyN9CiB7IyBpZiBvbmx5IGxlbmd0aCBjaGFuZ2VzLCB3 ZSBuZWVkIHRvIGdpdmUgcHJldmlvdXMgbGVuZ3RoIHRvIGN1cnJlbnQgdHlw ZSN9Cit7IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjI30KIHslIGVsaWYgZGF0YS5hdHRsZW4g YW5kIG9fZGF0YS5jbHR5cGUuc3RhcnRzd2l0aCgndGltZScpICV9CiB7JSBp ZiBvX2RhdGEuY2x0eXBlID09ICJ0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpv bmUiICV9Ci10aW1lc3RhbXAoe3sgZGF0YS5hdHRsZW4gfX0pIHdpdGhvdXQg dGltZSB6b25lCi17JSBlbGlmIG9fZGF0YS5jbHR5cGUgPT0gInRpbWVzdGFt cCB3aXRoIHRpbWUgem9uZSIgJX0KLXRpbWVzdGFtcCh7eyBkYXRhLmF0dGxl biB9fSkgd2l0aCB0aW1lIHpvbmUKLXslIGVsaWYgb19kYXRhLmNsdHlwZSA9 PSAidGltZSB3aXRob3V0IHRpbWUgem9uZSIgJX0KLXRpbWUoe3sgZGF0YS5h dHRsZW4gfX0pIHdpdGhvdXQgdGltZSB6b25lCi17JSBlbGlmIG9fZGF0YS5j bHR5cGUgPT0gInRpbWUgd2l0aCB0aW1lIHpvbmUiICV9Ci10aW1lKHt7IGRh dGEuYXR0bGVuIH19KSB3aXRoIHRpbWUgem9uZQoteyUgZW5kaWYgJX17JSBp ZiBvX2RhdGEuaGFzU3FyQnJhY2tldCAlfQotW117JSBlbmRpZiAlfQordGlt ZXN0YW1wKHt7IGRhdGEuYXR0bGVuIH19KSB3aXRob3V0IHRpbWUgem9uZSB7 JSBlbGlmIG9fZGF0YS5jbHR5cGUgPT0gInRpbWVzdGFtcCB3aXRoIHRpbWUg em9uZSIgJX0KK3RpbWVzdGFtcCh7eyBkYXRhLmF0dGxlbiB9fSkgd2l0aCB0 aW1lIHpvbmUgeyUgZWxpZiBvX2RhdGEuY2x0eXBlID09ICJ0aW1lIHdpdGhv dXQgdGltZSB6b25lIiAlfQordGltZSh7eyBkYXRhLmF0dGxlbiB9fSkgd2l0 aG91dCB0aW1lIHpvbmUgeyUgZWxpZiBvX2RhdGEuY2x0eXBlID09ICJ0aW1l IHdpdGggdGltZSB6b25lIiAlfQordGltZSh7eyBkYXRhLmF0dGxlbiB9fSkg d2l0aCB0aW1lIHpvbmUgeyUgZW5kaWYgJX17JSBpZiBvX2RhdGEuaGFzU3Fy QnJhY2tldCAlfVtdeyUgZW5kaWYgJX0KIHsjIyMjIyMgTmVlZCB0byBjaGVj ayBhZ2FpbnN0IHNlcGFyYXRlIHRpbWUgdHlwZXMgLSBFTkQgIyMjIyMjfQot eyUgZWxzZSAlfQoteyUgaWYgZGF0YS5jbHR5cGUgJX17e2Nvbm58cXRUeXBl SWRlbnQoZGF0YS5jbHR5cGUpfX0geyUgZWxpZiBvX2RhdGEudHlwbnNwbmFt ZSAhPSAncGdfY2F0YWxvZycgJX17e2Nvbm58cXRUeXBlSWRlbnQob19kYXRh LnR5cG5zcG5hbWUsIG9fZGF0YS5jbHR5cGUpfX17JSBlbHNlICV9e3tjb25u fHF0VHlwZUlkZW50KG9fZGF0YS5jbHR5cGUpfX0geyUgZW5kaWYgJX0KLXsl IGlmIGRhdGEuYXR0bGVuIGFuZCBkYXRhLmF0dGxlbiAhPSAnTm9uZScgJX0o e3tkYXRhLmF0dGxlbn19eyUgaWYgZGF0YS5hdHRsZW4gIT0gJ05vbmUnIGFu ZCBkYXRhLmF0dHByZWNpc2lvbiAlfSwge3tkYXRhLmF0dHByZWNpc2lvbn19 KXslIGVsaWYgKGRhdGEuY2x0eXBlIGlzIGRlZmluZWQgYW5kIG5vdCBkYXRh LmNsdHlwZSkgJX0sIHt7b19kYXRhLmF0dHByZWNpc2lvbn19KXslIGVsaWYg ZGF0YS5hdHRsZW4gJX0peyUgZW5kaWYgJX17JSBlbmRpZiAlfXslIGlmIGRh dGEuaGFzU3FyQnJhY2tldCAlfQotW117JSBlbmRpZiAlfQoreyUgZWxpZiAo ZGF0YS5jbHR5cGUgYW5kIG5vdCBkYXRhLmNsdHlwZS5zdGFydHN3aXRoKCd0 aW1lJykpIG9yIG5vdCBvX2RhdGEuY2x0eXBlLnN0YXJ0c3dpdGgoJ3RpbWUn KSAlfQoreyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyN9Cit7IyMjIyMjIyMjIyBXZSB3aWxs IGNyZWF0ZSBTUUwgZm9yIG90aGVyIHR5cGVzIGhlcmUgIyMjIyMjIyMjI30K K3sjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjfQoreyUgaWYgZGF0YS5jbHR5cGUgJX17e2Nv bm58cXRUeXBlSWRlbnQoZGF0YS5jbHR5cGUpfX0geyUgZWxpZiBvX2RhdGEu dHlwbnNwbmFtZSAhPSAncGdfY2F0YWxvZycgJX17e2Nvbm58cXRUeXBlSWRl bnQob19kYXRhLnR5cG5zcG5hbWUsIG9fZGF0YS5jbHR5cGUpfX17JSBlbHNl ICV9e3tjb25ufHF0VHlwZUlkZW50KG9fZGF0YS5jbHR5cGUpfX0geyUgZW5k aWYgJX17JSBpZiAoZGF0YS5hdHRsZW4gYW5kIGRhdGEuYXR0bGVuICE9ICdO b25lJykgb3IgKGRhdGEuYXR0cHJlY2lzaW9uIGFuZCBkYXRhLmF0dHByZWNp c2lvbiAhPSAnTm9uZScpICV9Cit7JSBpZiBkYXRhLmF0dGxlbiBhbmQgZGF0 YS5hdHRsZW4gIT0gJ05vbmUnICV9Cisoe3sgZGF0YS5hdHRsZW4gfX17JSBl bGlmIGRhdGEuYXR0cHJlY2lzaW9uIGFuZCBkYXRhLmF0dHByZWNpc2lvbiAh PSAnTm9uZScgJX0oe3sgb19kYXRhLmF0dGxlbiB9fXslIGVuZGlmICV9eyUg aWYgZGF0YS5hdHRwcmVjaXNpb24gYW5kIGRhdGEuYXR0cHJlY2lzaW9uICE9 ICdOb25lJyAlfQorLCB7eyBkYXRhLmF0dHByZWNpc2lvbiB9fSl7JSBlbGlm IG9fZGF0YS5hdHRwcmVjaXNpb24gYW5kIG9fZGF0YS5hdHRwcmVjaXNpb24g IT0gJ05vbmUnICV9LCB7eyBvX2RhdGEuYXR0cHJlY2lzaW9uIH19KXslIGVs c2UgJX0peyUgZW5kaWYgJX0KK3slIGVuZGlmICV9CiB7JSBlbmRpZiAlfQog eyUgZW5kbWFjcm8gJX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlw ZS9zcWwvZGVmYXVsdC9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlw ZXMvdGVtcGxhdGVzL3R5cGUvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbAppbmRl eCA1M2JkOWY2Li43NTk4Mjk0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwvZGVmYXVsdC9jcmVhdGUuc3Fs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3Nx bC9kZWZhdWx0L2NyZWF0ZS5zcWwKQEAgLTEsNSArMSw2IEBACiB7JSBpbXBv cnQgJ21hY3Jvcy9zY2hlbWFzL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFC RUwgJX0KIHslIGltcG9ydCAnbWFjcm9zL3NjaGVtYXMvcHJpdmlsZWdlLm1h Y3JvcycgYXMgUFJJVklMRUdFICV9Cit7JSBpbXBvcnQgJ3R5cGUvbWFjcm9z L2dldF9mdWxsX3R5cGVfc3FsX2Zvcm1hdC5tYWNyb3MnIGFzIEdFVF9UWVBF ICV9CiB7IyMgSWYgdXNlciBzZWxlY3RlZCBzaGVsbCB0eXBlIHRoZW4ganVz dCBjcmVhdGUgdHlwZSB0ZW1wbGF0ZSAjI30KIHslIGlmIGRhdGEgYW5kIGRh dGEudHlwdHlwZSA9PSAncCcgJX0KIENSRUFURSBUWVBFIHt7IGNvbm58cXRJ ZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fTsKQEAgLTcsNyArOCw3 IEBAIENSRUFURSBUWVBFIHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwg ZGF0YS5uYW1lKSB9fTsKIHsjIyMgIENvbXBvc2l0ZSBUeXBlICMjI30KIHsl IGlmIGRhdGEgYW5kIGRhdGEudHlwdHlwZSA9PSAnYycgJX0KIENSRUFURSBU WVBFIHslIGlmIGRhdGEuc2NoZW1hICV9e3sgY29ubnxxdElkZW50KGRhdGEu c2NoZW1hLCBkYXRhLm5hbWUpIH19eyUgZWxzZSAlfXt7IGNvbm58cXRJZGVu dChkYXRhLm5hbWUpIH19eyUgZW5kaWYgJX0gQVMKLSh7eyJcblx0In19eyUg aWYgZGF0YS5jb21wb3NpdGUgJX17JSBmb3IgZCBpbiBkYXRhLmNvbXBvc2l0 ZSAlfXslIGlmIGxvb3AuaW5kZXggIT0gMSAlfSx7eyJcblx0In19eyUgZW5k aWYgJX17eyBjb25ufHF0SWRlbnQoZC5tZW1iZXJfbmFtZSkgfX0ge3sgZC50 eXBlIH19eyUgaWYgZC5pc190bGVuZ3RoIGFuZCBkLnRsZW5ndGggJX0oe3tk LnRsZW5ndGh9fXslIGlmIGQuaXNfcHJlY2lzaW9uIGFuZCBkLnByZWNpc2lv biAlfSx7e2QucHJlY2lzaW9ufX17JSBlbmRpZiAlfSl7JSBlbmRpZiAlfXsl IGlmIGQuY29sbGF0aW9uICV9IENPTExBVEUge3tkLmNvbGxhdGlvbn19eyUg ZW5kaWYgJX17JSBlbmRmb3IgJX17JSBlbmRpZiAlfXt7IlxuIn19KTsKKyh7 eyJcblx0In19eyUgaWYgZGF0YS5jb21wb3NpdGUgJX17JSBmb3IgZCBpbiBk YXRhLmNvbXBvc2l0ZSAlfXslIGlmIGxvb3AuaW5kZXggIT0gMSAlfSx7eyJc blx0In19eyUgZW5kaWYgJX17eyBjb25ufHF0SWRlbnQoZC5tZW1iZXJfbmFt ZSkgfX0ge3sgR0VUX1RZUEUuQ1JFQVRFX1RZUEVfU1FMKGNvbm4sIGQuY2x0 eXBlLCBkLnRsZW5ndGgsIGQucHJlY2lzaW9uLCBkLmhhc1NxckJyYWNrZXQp IH19eyUgaWYgZC5jb2xsYXRpb24gJX0gQ09MTEFURSB7e2QuY29sbGF0aW9u fX17JSBlbmRpZiAlfXslIGVuZGZvciAlfXslIGVuZGlmICV9e3siXG4ifX0p OwogeyUgZW5kaWYgJX0KIHsjIyMgIEVudW0gVHlwZSAjIyN9CiB7JSBpZiBk YXRhIGFuZCBkYXRhLnR5cHR5cGUgPT0gJ2UnICV9CmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwvZGVmYXVs dC91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVz L3R5cGUvc3FsL2RlZmF1bHQvdXBkYXRlLnNxbAppbmRleCAzYWYyZWExLi43 ZjM4ZTk3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1w bGF0ZXMvdHlwZS9zcWwvZGVmYXVsdC91cGRhdGUuc3FsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC9kZWZhdWx0L3Vw ZGF0ZS5zcWwKQEAgLTEsNiArMSw2IEBACiB7JSBpbXBvcnQgJ21hY3Jvcy9z Y2hlbWFzL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFCRUwgJX0KIHslIGlt cG9ydCAnbWFjcm9zL3NjaGVtYXMvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJ VklMRUdFICV9Ci17JSBpZiBkYXRhICV9Cit7JSBpbXBvcnQgJ3R5cGUvbWFj cm9zL2dldF9mdWxsX3R5cGVfc3FsX2Zvcm1hdC5tYWNyb3MnIGFzIEdFVF9U WVBFICV9CiB7Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09I30KIHsjIEJlbG93IHdpbGwgY2hhbmdlIG9iamVjdCBvd25lciAjfQog eyUgaWYgZGF0YS50eXBlb3duZXIgYW5kIGRhdGEudHlwZW93bmVyICE9IG9f ZGF0YS50eXBlb3duZXIgJX0KQEAgLTI4LDI5ICsyOCw0OCBAQCBBTFRFUiBU WVBFIHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFt ZSkgfX0KIHslIGlmICdhZGRlZCcgaW4gY29tcG9zaXRlIGFuZCBjb21wb3Np dGUuYWRkZWR8bGVuZ3RoID4gMCAlfQogeyUgZm9yIHIgaW4gY29tcG9zaXRl LmFkZGVkICV9CiBBTFRFUiBUWVBFIHt7IGNvbm58cXRJZGVudChvX2RhdGEu c2NoZW1hLCBvX2RhdGEubmFtZSkgfX0KLSAgICBBREQgQVRUUklCVVRFIHt7 Y29ubnxxdElkZW50KHIubWVtYmVyX25hbWUpfX0ge3tjb25ufHF0VHlwZUlk ZW50KHIudHlwZSl9fXslIGlmIHIuaXNfdGxlbmd0aCBhbmQgci50bGVuZ3Ro ICV9Ci0oe3tyLnRsZW5ndGh9fXslIGlmIHIuaXNfcHJlY2lzaW9uIGFuZCBy LnByZWNpc2lvbiAlfSx7e3IucHJlY2lzaW9ufX17JSBlbmRpZiAlfSl7JSBl bmRpZiAlfXslIGlmIHIuY29sbGF0aW9uICV9CisgICAgQUREIEFUVFJJQlVU RSB7e2Nvbm58cXRJZGVudChyLm1lbWJlcl9uYW1lKX19IHt7IEdFVF9UWVBF LkNSRUFURV9UWVBFX1NRTChjb25uLCByLmNsdHlwZSwgci50bGVuZ3RoLCBy LnByZWNpc2lvbiwgci5oYXNTcXJCcmFja2V0KSB9fXslIGlmIHIuY29sbGF0 aW9uICV9CiAgQ09MTEFURSB7e3IuY29sbGF0aW9ufX17JSBlbmRpZiAlfTsK IHslIGVuZGZvciAlfQogeyUgZW5kaWYgJX0KIHslIGlmICdjaGFuZ2VkJyBp biBjb21wb3NpdGUgYW5kIGNvbXBvc2l0ZS5jaGFuZ2VkfGxlbmd0aCA+IDAg JX0KIHslIGZvciByIGluIGNvbXBvc2l0ZS5jaGFuZ2VkICV9CiB7JSBmb3Ig byBpbiBvX2RhdGEuY29tcG9zaXRlICV9Ci17JSBpZiBvLmF0dG51bSA9PSBy LmF0dG51bSBhbmQgci5tZW1iZXJfbmFtZSBhbmQgby5tZW1iZXJfbmFtZSAh PSByLm1lbWJlcl9uYW1lICV9Cit7IyMjIyMgVmFyaWFibGVzIGZvciB0aGUg bG9vcCAjIyMjI30KK3slIHNldCBtZW1iZXJfbmFtZSA9IG8ubWVtYmVyX25h bWUgJX0KK3slIHNldCBjbHR5cGUgPSBvLmNsdHlwZSAlfQoreyUgc2V0IHRs ZW5ndGggPSBvLnRsZW5ndGggJX0KK3slIHNldCBwcmVjaXNpb24gPSBvLnBy ZWNpc2lvbiAlfQoreyUgc2V0IGhhc1NxckJyYWNrZXQgPSBvLmhhc1NxckJy YWNrZXQgJX0KK3sjIyMjIyBJZiBtZW1iZXIgbmFtZSBjaGFuZ2VkICMjIyMj fQoreyUgaWYgby5hdHRudW0gPT0gci5hdHRudW0gJX0KK3slIGlmIHIubWVt YmVyX25hbWUgYW5kIG8ubWVtYmVyX25hbWUgIT0gci5tZW1iZXJfbmFtZSAl fQogQUxURVIgVFlQRSB7eyBjb25ufHF0SWRlbnQob19kYXRhLnNjaGVtYSwg b19kYXRhLm5hbWUpIH19CiAgICAgUkVOQU1FIEFUVFJJQlVURSB7e28ubWVt YmVyX25hbWV9fSBUTyB7e3IubWVtYmVyX25hbWV9fTsKLXslIGlmIHIudHlw ZSBhbmQgby50eXBlICE9IHIudHlwZSAlfQotQUxURVIgVFlQRSB7eyBjb25u fHF0SWRlbnQob19kYXRhLnNjaGVtYSwgb19kYXRhLm5hbWUpIH19Ci0gICAg ICAgIEFMVEVSIEFUVFJJQlVURSB7e2Nvbm58cXRJZGVudChyLm1lbWJlcl9u YW1lKX19IFNFVCBEQVRBIFRZUEUge3tjb25ufHF0VHlwZUlkZW50KHIudHlw ZSl9fXslIGlmIHIuaXNfdGxlbmd0aCBhbmQgci50bGVuZ3RoICV9Ci0oe3ty LnRsZW5ndGh9fXslIGlmIHIuaXNfcHJlY2lzaW9uIGFuZCByLnByZWNpc2lv biAlfSx7e3IucHJlY2lzaW9ufX17JSBlbmRpZiAlfSl7JSBlbmRpZiAlfXsl IGlmIHIuY29sbGF0aW9uICV9Ci0gQ09MTEFURSB7e3IuY29sbGF0aW9ufX17 JSBlbmRpZiAlfTsKLXslIGVsc2UgJX0KK3slIHNldCBtZW1iZXJfbmFtZSA9 IHIubWVtYmVyX25hbWUgJX0KK3slIGVuZGlmICV9Cit7IyMjIyMgSWYgdHlw ZSBjaGFuZ2VkICMjIyMjfQoreyUgaWYgci5jbHR5cGUgYW5kIGNsdHlwZSAh PSByLmNsdHlwZSAlfQoreyUgc2V0IGNsdHlwZSA9IHIuY2x0eXBlICV9Cit7 JSBzZXQgaGFzU3FyQnJhY2tldCA9IHIuaGFzU3FyQnJhY2tldCAlfQoreyMj IyMjIElmIGxlbmd0aCBpcyBub3QgYWxsb3dlZCBvbiB0eXBlICMjIyMjfQor eyUgaWYgbm90IHIuaXNfdGxlbmd0aCAlfQoreyUgc2V0IHRsZW5ndGggPSAw ICV9Cit7JSBzZXQgcHJlY2lzaW9uID0gMCAlfQoreyUgZW5kaWYgJX0KK3sl IGVuZGlmICV9Cit7IyMjIyMgSWYgbGVuZ3RoIGNoYW5nZWQgIyMjIyN9Cit7 JSBpZiByLnRsZW5ndGggYW5kIHRsZW5ndGggIT0gci50bGVuZ3RoICV9Cit7 JSBzZXQgdGxlbmd0aCA9IHIudGxlbmd0aCAlfQoreyUgZW5kaWYgJX0KK3sj IyMjIyBJZiBwcmVjaXNpb24gY2hhbmdlZCAjIyMjI30KK3slIGlmIHRsZW5n dGggYW5kIHIucHJlY2lzaW9uIGFuZCBwcmVjaXNpb24gIT0gci5wcmVjaXNp b24gJX0KK3slIHNldCBwcmVjaXNpb24gPSByLnByZWNpc2lvbiAlfQoreyUg ZW5kaWYgJX0KIEFMVEVSIFRZUEUge3sgY29ubnxxdElkZW50KG9fZGF0YS5z Y2hlbWEsIG9fZGF0YS5uYW1lKSB9fQotICAgICAgICBBTFRFUiBBVFRSSUJV VEUge3tjb25ufHF0SWRlbnQoci5tZW1iZXJfbmFtZSl9fSBTRVQgREFUQSBU WVBFIHt7Y29ubnxxdFR5cGVJZGVudChvLnR5cGUpfX17JSBpZiBvLmlzX3Rs ZW5ndGggYW5kIG8udGxlbmd0aCAlfQotKHt7by50bGVuZ3RofX17JSBpZiBv LmlzX3ByZWNpc2lvbiBhbmQgby5wcmVjaXNpb24gJX0se3tvLnByZWNpc2lv bn19eyUgZW5kaWYgJX0peyUgZW5kaWYgJX17JSBpZiBvLmNvbGxhdGlvbiAl fQorICAgICAgICBBTFRFUiBBVFRSSUJVVEUge3tjb25ufHF0SWRlbnQobWVt YmVyX25hbWUpfX0gU0VUIERBVEEgVFlQRSB7eyBHRVRfVFlQRS5DUkVBVEVf VFlQRV9TUUwoY29ubiwgY2x0eXBlLCB0bGVuZ3RoLCBwcmVjaXNpb24sIGhh c1NxckJyYWNrZXQpIH19eyUgaWYgci5jb2xsYXRpb24gJX0KICBDT0xMQVRF IHt7ci5jb2xsYXRpb259fXslIGVuZGlmICV9OwogeyUgZW5kaWYlfQoteyUg ZW5kaWYlfQogeyUgZW5kZm9yICV9CiB7JSBlbmRmb3IgJX0KIHslIGVuZGlm ICV9CkBAIC0xMzUsNSArMTU0LDQgQEAgQUxURVIgVFlQRSB7JSBpZiBkYXRh Lm5hbWUgYW5kIGRhdGEubmFtZSAhPSBvX2RhdGEubmFtZSAlfXt7IGNvbm58 cXRJZGVudChvX2RhdGEKIHslIGVsc2UgJX17eyBjb25ufHF0SWRlbnQob19k YXRhLnNjaGVtYSwgb19kYXRhLm5hbWUpIH19CiB7JSBlbmRpZiAlfQogICAg IFNFVCBTQ0hFTUEge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hKSB9fTsK LXslIGVuZGlmICV9Ci17JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3V0aWxzLnB5CmluZGV4 IDI0OTBkNzAuLmEwOWNmZmYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3V0aWxzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3V0aWxzLnB5CkBAIC0y MzQsNiArMjM0LDQ0IEBAIGNsYXNzIERhdGFUeXBlUmVhZGVyOgogICAgICAg ICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIG5hbWUgKyBsZW5ndGggKyBh cnJheQogCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHBhcnNlX3R5cGVf bmFtZShjbHMsIHR5cGVfbmFtZSk6CisgICAgICAgICIiIgorICAgICAgICBS ZXR1cm5zIHByYXNlIHR5cGUgbmFtZSB3aXRob3V0IGxlbmd0aCBhbmQgcHJl Y2lzaW9uCisgICAgICAgIHNvIHRoYXQgd2UgY2FuIG1hdGNoIHRoZSBlbmQg cmVzdWx0IHdpdGggdHlwZXMgaW4gdGhlIHNlbGVjdDIuCisKKyAgICAgICAg QXJnczoKKyAgICAgICAgICAgIHNlbGY6IHNlbGYKKyAgICAgICAgICAgIHR5 cGVfbmFtZTogVHlwZSBuYW1lCisgICAgICAgICIiIgorCisgICAgICAgICMg TWFudWFsIERhdGEgdHlwZSBmb3JtYXR0aW5nCisgICAgICAgICMgSWYgZGF0 YSB0eXBlIGhhcyAoKSB3aXRoIHRoZW0gdGhlbiB3ZSBuZWVkIHRvIHJlbW92 ZSB0aGVtCisgICAgICAgICMgZWcgYml0KDEpIGJlY2F1c2Ugd2UgbmVlZCB0 byBtYXRjaCB0aGUgbmFtZSB3aXRoIGNvbWJvYm94CisKKyAgICAgICAgaXNf YXJyYXkgPSBGYWxzZQorICAgICAgICBpZiB0eXBlX25hbWUuZW5kc3dpdGgo J1tdJyk6CisgICAgICAgICAgICBpc19hcnJheSA9IFRydWUKKyAgICAgICAg ICAgIHR5cGVfbmFtZSA9IHR5cGVfbmFtZS5yc3RyaXAoJ1tdJykKKworICAg ICAgICBpZHggPSB0eXBlX25hbWUuZmluZCgnKCcpCisgICAgICAgIGlmIGlk eCBhbmQgdHlwZV9uYW1lLmVuZHN3aXRoKCcpJyk6CisgICAgICAgICAgICB0 eXBlX25hbWUgPSB0eXBlX25hbWVbOmlkeF0KKyAgICAgICAgIyBXZSBuZWVk IHNwZWNpYWwgaGFuZGxpbmcgb2YgdGltZXN0YW1wIHR5cGVzIGFzCisgICAg ICAgICMgdmFyaWFibGUgcHJlY2lzaW9uIGlzIGJldHdlZW4gdGhlIHR5cGUK KyAgICAgICAgZWxpZiBpZHggYW5kIHR5cGVfbmFtZS5zdGFydHN3aXRoKCJ0 aW1lIik6CisgICAgICAgICAgICBlbmRfaWR4ID0gdHlwZV9uYW1lLmZpbmQo JyknKQorICAgICAgICAgICAgIyBJZiB3ZSBmb3VuZCB0aGUgZW5kIHRoZW4g Zm9ybSB0aGUgdHlwZSBzdHJpbmcKKyAgICAgICAgICAgIGlmIGVuZF9pZHgg IT0gMToKKyAgICAgICAgICAgICAgICBmcm9tIHJlIGltcG9ydCBzdWIgYXMg c3ViX3N0cgorICAgICAgICAgICAgICAgIHBhdHRlcm4gPSByJyhcKFxkK1wp KScKKyAgICAgICAgICAgICAgICB0eXBlX25hbWUgPSBzdWJfc3RyKHBhdHRl cm4sICcnLCB0eXBlX25hbWUpCisKKyAgICAgICAgaWYgaXNfYXJyYXk6Cisg ICAgICAgICAgICB0eXBlX25hbWUgKz0gIltdIgorCisgICAgICAgIHJldHVy biB0eXBlX25hbWUKKwogCiBkZWYgdHJpZ2dlcl9kZWZpbml0aW9uKGRhdGEp OgogICAgICIiIgo= --001a11392664a178be05479ed73b Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a11392664a178be05479ed73b--