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 1erQZM-0001OG-9p for pgadmin-hackers@arkaria.postgresql.org; Thu, 01 Mar 2018 15:56:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1erQZK-0002ha-TE for pgadmin-hackers@arkaria.postgresql.org; Thu, 01 Mar 2018 15:56:30 +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 1erQZK-0002hQ-Hr for pgadmin-hackers@lists.postgresql.org; Thu, 01 Mar 2018 15:56:30 +0000 Received: from mail-ot0-x22d.google.com ([2607:f8b0:4003:c0f::22d]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1erQZE-0003kZ-K5 for pgadmin-hackers@postgresql.org; Thu, 01 Mar 2018 15:56:29 +0000 Received: by mail-ot0-x22d.google.com with SMTP id 79so5983845oth.11 for ; Thu, 01 Mar 2018 07:56:24 -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=hLnmj0RFkavahnMiQtpkQh2pIrnlz6YpaD1l5xtQjUs=; b=dVrsh7JoJQRGt2bckiSq8sbLkFmaaj3SxrlkoRLUoj/Q+vNGwx0P2ijviA4r+D9D1I cd4qYXnlSiwo1JP7hw/wX4oip+3bCDJQcVYC0GqDxTN0xJ3UUwQltcI3AafMjsNvZDWP 9F51ysdR3Ch+bBeXrDm8QwgyYqnFhFVcdQ19onoeDgOGNH+3AEdAqFTYXhzHL4faPUbr yhxzJ3kh01NwUPOnvqrD/UN5ConURl4FIZTbsQxmOutXQMR8IzKcPtAmq528ukpBLcyk iojEMgucDWDaogQhuH+8Iukk9r85sMFCrfDeqeLZZuF1ljdzJffdVnsZPFXSQrpK8kOq QKnw== 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=hLnmj0RFkavahnMiQtpkQh2pIrnlz6YpaD1l5xtQjUs=; b=p9zXWFX/8wQzyEpWhEJNnvHdE0zJMt8Bo1oy95ezfZ8PjfxFMKTTLq807JwdEy6TlP INkfmp7S0WwALpYv1ZdOYD0p6T966/FOdhHgQ2TjGNvwVU4WdLBKWp4A5hDM80o7a5SU qqt4kYuOkrlKqEnf6gdqelIm6cBs3BHwsXHGSKWRnB6GXztcRNKX+VBwgu5rv5ozV8kf 73x8+Zha1U/lQzV9NUM1+TjRAPP2FE/gChCVqIE3FDk0DlLHCXhdcZlyphMhZnICPOZi yjJwbtvJTZ9NQZIZyjIIcalvg2ctiCnN6AXQhhqqcmJRtb4QUjmnrW9E3jfWBQp/O/qJ xTWA== X-Gm-Message-State: AElRT7GD1BiriWcwmyeIFX/bLsLAYetndqmgnG4fV0OT78y8QVSpaXk9 9+CDjOE+4o8cNUuDaLKxWIL7iERYjBrz+KVi4zrFNg== X-Google-Smtp-Source: AG47ELtKuuU/C/a74PI7KhUeuL6i+N2dtr4NFDe1JAqipUiBTG0pVSTjG3Jg3+HOHC8LrGTmFBKXX5gsnomuBUAqi5I= X-Received: by 10.157.41.199 with SMTP id g7mr1806381otd.155.1519919782487; Thu, 01 Mar 2018 07:56:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.8.150 with HTTP; Thu, 1 Mar 2018 07:56:02 -0800 (PST) In-Reply-To: References: From: Murtuza Zabuawala Date: Thu, 1 Mar 2018 21:26:02 +0530 Message-ID: Subject: Re: [pgAdmin4][RM#3129] handle encoding issue in File manager To: Joao De Almeida Pereira Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="001a113ecb26b9246005665be67a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --001a113ecb26b9246005665be67a Content-Type: multipart/alternative; boundary="001a113ecb26b9245d05665be678" --001a113ecb26b9245d05665be678 Content-Type: text/plain; charset="UTF-8" Thanks Joao for reviewing. Attaching updated patch fixing PEP8 issues. -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Thu, Mar 1, 2018 at 8:56 PM, Joao De Almeida Pereira < jdealmeidapereira@pivotal.io> wrote: > Hello Murtuza, > > The code looks pretty good, love the fact that you extracted it so that > our file size stop growing and get more manageable. All tests pass on our > CI. > > The only issue I found was linting: > > pycodestyle --config=.pycodestyle pgadmin/tools/sqleditor/ > pgadmin/tools/sqleditor/utils/query_tool_fs_utils.py:12: [E302] expected > 2 blank lines, found 1 > pgadmin/tools/sqleditor/utils/query_tool_fs_utils.py:53: [W391] blank > line at end of file > pgadmin/tools/sqleditor/utils/tests/test_query_tool_fs_utils.py:27: > [E121] continuation line under-indented for hanging indent > pgadmin/tools/sqleditor/utils/tests/test_query_tool_fs_utils.py:29: > [E122] continuation line missing indentation or outdented > 1 E121 continuation line under-indented for hanging indent > 1 E122 continuation line missing indentation or outdented > 1 E302 expected 2 blank lines, found 1 > 1 W391 blank line at end of file > 4 > > When this is fixed I think we are good to go > > Thanks > Joao > > On Thu, Mar 1, 2018 at 3:01 AM Murtuza Zabuawala enterprisedb.com> wrote: > >> Hi, >> >> PFA patch to fix the issue where user was not able to open the file with >> non utf-8 encoding. >> >> >> -- >> Regards, >> Murtuza Zabuawala >> EnterpriseDB: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> >> --001a113ecb26b9245d05665be678 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks Joao for reviewing.

Attaching updated patch fixing PEP8 issues.

--=
Regards,
Murtuza Zabuawala
EnterpriseDB:=C2=A0http://www.enter= prisedb.com
The Enterprise PostgreSQL Company
=

On Thu, Mar 1, 2018 at 8:56 PM, Joao De Alme= ida Pereira <jdealmeidapereira@pivotal.io> wrote:=
Hello Murtuza,

=
The code looks pretty good, love the fact that you extracted it = so that our file size stop growing and get more manageable. All tests pass = on our CI.

The only issue I found was linting:

pycodestyle --config=3D.pycodestyle pgadmin/tool= s/sqleditor/
pgadmin/tools/sqleditor/utils/query_tool_fs_uti= ls.py:12: [E302] expected 2 blank lines, found 1
pgadmin/tools/sq= leditor/utils/query_tool_fs_utils.py:53: [W391] blank line at end of f= ile
pgadmin/tools/sqleditor/utils/tests/test_query_tool_fs_<= wbr>utils.py:27: [E121] continuation line under-indented for hanging indent=
pgadmin/tools/sqleditor/utils/tests/test_query_tool_fs_utils.py:29: [E122] continuation line missing indentation or outdented
1=C2=A0 =C2=A0 =C2=A0 =C2=A0E121 continuation line under-indented fo= r hanging indent
1=C2=A0 =C2=A0 =C2=A0 =C2=A0E122 continuation li= ne missing indentation or outdented
1=C2=A0 =C2=A0 =C2=A0 =C2=A0E= 302 expected 2 blank lines, found 1
1=C2=A0 =C2=A0 =C2=A0 =C2=A0W= 391 blank line at end of file
4

Wh= en this is fixed I think we are good to go

Thanks<= /div>
Joao

O= n Thu, Mar 1, 2018 at 3:01 AM Murtuza Zabuawala <murtuza.zabuawala@ent= erprisedb.com> wrote:
Hi,

PFA patch to fix t= he issue where user was not able to open the file with non utf-8 encoding.<= /div>


= --Regards,=
Murtuza Zabuawala
EnterpriseDB:=C2=A0http://www.enterpris= edb.com
The Enterprise PostgreSQL Company
<= div><= img src=3D"https://drive.google.com/a/enterprisedb.com/uc?id=3D0B6jGeB3BfKR= MV0t4MEp0YnZCTTA&export=3Ddownload" width=3D"420" height=3D"31">

--001a113ecb26b9245d05665be678-- --001a113ecb26b9246005665be67a Content-Type: text/plain; charset="UTF-8"; name="RM_3129_v1.diff" Content-Disposition: attachment; filename="RM_3129_v1.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_je8oyyem0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weSBiL3dl Yi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weQppbmRleCA4YzE3Yzk3Li4wZjNj OTA5IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkK KysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5CkBAIC0zOCw2ICsz OCw4IEBAIGZyb20gcGdhZG1pbi51dGlscy5leGNlcHRpb24gaW1wb3J0IENvbm5lY3Rpb25Mb3N0 CiBmcm9tIHBnYWRtaW4udXRpbHMuc3FsYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZSBpbXBvcnQg U1FMQXV0b0NvbXBsZXRlCiBmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLnF1ZXJ5 X3Rvb2xfcHJlZmVyZW5jZXMgaW1wb3J0IFwKICAgICBSZWdpc3RlclF1ZXJ5VG9vbFByZWZlcmVu Y2VzCitmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLnF1ZXJ5X3Rvb2xfZnNfdXRp bHMgaW1wb3J0IFwKKyAgICByZWFkX2ZpbGVfZ2VuZXJhdG9yCiAKIE1PRFVMRV9OQU1FID0gJ3Nx bGVkaXRvcicKIApAQCAtMTM2MCwxNiArMTM2Miw3IEBAIGRlZiBsb2FkX2ZpbGUoKToKICAgICAg ICAgICAgIGVycm9ybXNnPWdldHRleHQoIkZpbGUgdHlwZSBub3Qgc3VwcG9ydGVkIikKICAgICAg ICAgKQogCi0gICAgZGVmIGdlbigpOgotICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGZpbGVfcGF0 aCwgJ3InLCBlbmNvZGluZz1lbmMpIGFzIGZpbGVPYmo6Ci0gICAgICAgICAgICB3aGlsZSBUcnVl OgotICAgICAgICAgICAgICAgICMgNE1CIGNodW5rICg0ICogMTAyNCAqIDEwMjQgQnl0ZXMpCi0g ICAgICAgICAgICAgICAgZGF0YSA9IGZpbGVPYmoucmVhZCg0MTk0MzA0KQotICAgICAgICAgICAg ICAgIGlmIG5vdCBkYXRhOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAg ICAgIHlpZWxkIGRhdGEKLQotICAgIHJldHVybiBSZXNwb25zZShnZW4oKSwgbWltZXR5cGU9J3Rl eHQvcGxhaW4nKQorICAgIHJldHVybiBSZXNwb25zZShyZWFkX2ZpbGVfZ2VuZXJhdG9yKGZpbGVf cGF0aCwgZW5jKSwgbWltZXR5cGU9J3RleHQvcGxhaW4nKQogCiAKIEBibHVlcHJpbnQucm91dGUo Jy9zYXZlX2ZpbGUvJywgbWV0aG9kcz1bIlBVVCIsICJQT1NUIl0sIGVuZHBvaW50PSdzYXZlX2Zp bGUnKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3V0aWxzL3F1ZXJ5 X3Rvb2xfZnNfdXRpbHMucHkgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvcXVl cnlfdG9vbF9mc191dGlscy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h ZDFkZjBmCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3V0 aWxzL3F1ZXJ5X3Rvb2xfZnNfdXRpbHMucHkKQEAgLTAsMCArMSw1MyBAQAorIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE4LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworaW1wb3J0IGNvZGVjcworCisKK2RlZiByZWFkX2ZpbGVfZ2VuZXJhdG9y KGZpbGUsIGVuYyk6CisgICAgIiIiCisgICAgVGhpcyB3aWxsIHJlYWQgdGhlIGNvbnRlbnQgb2Yg dGhlIGZpbGUgc2VsZWN0ZWQgYnkgdXNlcgorCisgICAgUmV0dXJuczoKKyAgICAgICAgQ29udGVu dCBvZiBmaWxlCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGZp bGUsICdyJywgZW5jb2Rpbmc9ZW5jKSBhcyBmaWxlT2JqOgorICAgICAgICAgICAgd2hpbGUgVHJ1 ZToKKyAgICAgICAgICAgICAgICAjIDRNQiBjaHVuayAoNCAqIDEwMjQgKiAxMDI0IEJ5dGVzKQor ICAgICAgICAgICAgICAgIGRhdGEgPSBmaWxlT2JqLnJlYWQoNDE5NDMwNCkKKyAgICAgICAgICAg ICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAg ICAgICB5aWVsZCBkYXRhCisgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKKyAgICAgICAg IyBUaGlzIGlzIHRoZSBjbG9zZXN0IGVxdWl2YWxlbnQgUHl0aG9uIDMgb2ZmZXJzIHRvIHRoZSBw ZXJtaXNzaXZlCisgICAgICAgICMgUHl0aG9uIDIgdGV4dCBoYW5kbGluZyBtb2RlbC4gVGhlIGxh dGluLTEgZW5jb2RpbmcgaW4gUHl0aG9uCisgICAgICAgICMgaW1wbGVtZW50cyBJU09fODg1OS0x OjE5ODcgd2hpY2ggbWFwcyBhbGwgcG9zc2libGUgYnl0ZSB2YWx1ZXMKKyAgICAgICAgIyB0byB0 aGUgZmlyc3QgMjU2IFVuaWNvZGUgY29kZSBwb2ludHMsIGFuZCB0aHVzIGVuc3VyZXMgZGVjb2Rp bmcKKyAgICAgICAgIyBlcnJvcnMgd2lsbCBuZXZlciBvY2N1ciByZWdhcmRsZXNzIG9mIHRoZSBj b25maWd1cmVkIGVycm9yIGFuZAorICAgICAgICAjIGhhbmRsZXMgbW9zdCBvZiB0aGUgV2luZG93 cyBlbmNvZGluZ3MKKyAgICAgICAgIyBoYW5kbGVyLgorICAgICAgICAjIFJlZjogaHR0cHM6Ly9n b28uZ2wvdkRoZ2dTCisgICAgICAgIHdpdGggY29kZWNzLm9wZW4oZmlsZSwgJ3InLCBlbmNvZGlu Zz0nbGF0aW4tMScpIGFzIGZpbGVPYmo6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAg ICAgICAgICAgICMgNE1CIGNodW5rICg0ICogMTAyNCAqIDEwMjQgQnl0ZXMpCisgICAgICAgICAg ICAgICAgZGF0YSA9IGZpbGVPYmoucmVhZCg0MTk0MzA0KQorICAgICAgICAgICAgICAgIGlmIG5v dCBkYXRhOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIHlpZWxk IGRhdGEKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAjIEFzIGEgbGFzdCByZXNvcnQg d2Ugd2lsbCB1c2UgdGhlIHByb3ZpZGVkIGVuY29kaW5nIGFuZCB0aGVuCisgICAgICAgICMgaWdu b3JlIHRoZSBkZWNvZGluZyBlcnJvcnMKKyAgICAgICAgd2l0aCBjb2RlY3Mub3BlbihmaWxlLCAn cicsIGVuY29kaW5nPWVuYywgZXJyb3JzPSdpZ25vcmUnKSBhcyBmaWxlT2JqOgorICAgICAgICAg ICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAjIDRNQiBjaHVuayAoNCAqIDEwMjQgKiAx MDI0IEJ5dGVzKQorICAgICAgICAgICAgICAgIGRhdGEgPSBmaWxlT2JqLnJlYWQoNDE5NDMwNCkK KyAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsK KyAgICAgICAgICAgICAgICB5aWVsZCBkYXRhCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9zcWxlZGl0b3IvdXRpbHMvdGVzdHMvdGVzdF9maWxlX290aGVyX2VuY29kaW5nLnNxbCBiL3dl Yi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci91dGlscy90ZXN0cy90ZXN0X2ZpbGVfb3RoZXJfZW5j b2Rpbmcuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlM2JmM2YKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvdGVzdHMv dGVzdF9maWxlX290aGVyX2VuY29kaW5nLnNxbApAQCAtMCwwICsxLDIgQEAKKy8qQ29weXJpZ2h0 IO+/vSAyMDE3LyoKK1NFTEVDVCAxOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci91dGlscy90ZXN0cy90ZXN0X2ZpbGVf dXRmOF9lbmNvZGluZy5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRpbHMvdGVz dHMvdGVzdF9maWxlX3V0ZjhfZW5jb2Rpbmcuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjczNTg3NDEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9z cWxlZGl0b3IvdXRpbHMvdGVzdHMvdGVzdF9maWxlX3V0ZjhfZW5jb2Rpbmcuc3FsCkBAIC0wLDAg KzEsMiBAQAorLypDb3B5cmlnaHQgwqkgMjAxNy8qCitTRUxFQ1QgMTsKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdXRp bHMvdGVzdHMvdGVzdF9xdWVyeV90b29sX2ZzX3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMv c3FsZWRpdG9yL3V0aWxzL3Rlc3RzL3Rlc3RfcXVlcnlfdG9vbF9mc191dGlscy5weQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2FiMDY3Ci0tLSAvZGV2L251bGwKKysrIGIv d2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3V0aWxzL3Rlc3RzL3Rlc3RfcXVlcnlfdG9vbF9m c191dGlscy5weQpAQCAtMCwwICsxLDQ1IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTgs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNl ZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworaW1w b3J0IG9zCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9y Citmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLnF1ZXJ5X3Rvb2xfZnNfdXRpbHMg aW1wb3J0IFwKKyAgICByZWFkX2ZpbGVfZ2VuZXJhdG9yCisKKworY2xhc3MgVGVzdFJlYWRGaWxl R2VuZXJhdG9yRm9yRW5jb2RpbmcoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIgorICAgIENo ZWNrIHRoYXQgdGhlIHN0YXJ0X3J1bm5pbmdfcXVlcnkgbWV0aG9kIHdvcmtzIGFzIGludGVuZGVk CisgICAgIiIiCisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICgKKyAgICAgICAgICAgICdX aGVuIHVzZXIgaXMgdHJ5aW5nIHRvIGxvYWQgdGhlIGZpbGUgd2l0aCB1dGYtOCBlbmNvZGluZycs CisgICAgICAgICAgICBkaWN0KAorICAgICAgICAgICAgICAgIGZpbGU9J3Rlc3RfZmlsZV91dGY4 X2VuY29kaW5nLnNxbCcsCisgICAgICAgICAgICAgICAgZW5jb2Rpbmc9J3V0Zi04JworICAgICAg ICAgICAgKQorICAgICAgICApLAorICAgICAgICAoCisgICAgICAgICAgICAnV2hlbiB1c2VyIGlz IHRyeWluZyB0byBsb2FkIHRoZSBmaWxlIHdpdGggb3RoZXIgZW5jb2RpbmcgYW5kJworICAgICAg ICAgICAgJyB0cnlpbmcgdG8gdXNlIHV0Zi04IGVuY29kaW5nIHRvIHJlYWQgaXQnLAorICAgICAg ICAgICAgZGljdCgKKyAgICAgICAgICAgICAgICBmaWxlPSd0ZXN0X2ZpbGVfb3RoZXJfZW5jb2Rp bmcuc3FsJywKKyAgICAgICAgICAgICAgICBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICAgICAp CisgICAgICAgICksCisgICAgXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxm LmRpcl9wYXRoID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGgucmVhbHBhdGgoX19maWxlX18pKQor ICAgICAgICBzZWxmLmNvbXBsYXRlX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5kaXJfcGF0aCwg c2VsZi5maWxlKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIHJlc3VsdCA9IHJl YWRfZmlsZV9nZW5lcmF0b3Ioc2VsZi5jb21wbGF0ZV9wYXRoLCBzZWxmLmVuY29kaW5nKQorICAg ICAgICAjIENoZWNrIGlmIGZpbGUgaXMgcmVhZCBwcm9wZXJseSBieSB0aGUgZ2VuZXJhdG9yCisg ICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1NFTEVDVCAxJywgbmV4dChyZXN1bHQpKQo= --001a113ecb26b9246005665be67a--