Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1aLXOY-0006gK-P1 for pgadmin-hackers@arkaria.postgresql.org; Tue, 19 Jan 2016 14:36:31 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1aLXOY-0005XT-C3 for pgadmin-hackers@arkaria.postgresql.org; Tue, 19 Jan 2016 14:36: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.84) (envelope-from ) id 1aLXOW-0005Uy-Gb for pgadmin-hackers@postgresql.org; Tue, 19 Jan 2016 14:36:28 +0000 Received: from mail-yk0-x233.google.com ([2607:f8b0:4002:c07::233]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1aLXOR-0007AJ-BZ for pgadmin-hackers@postgresql.org; Tue, 19 Jan 2016 14:36:28 +0000 Received: by mail-yk0-x233.google.com with SMTP id k129so626859255yke.0 for ; Tue, 19 Jan 2016 06:36:22 -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:date:message-id:subject:from:to :content-type; bh=ZexEcGaA2/+JpfDmZ9pMREzny2NfKE10YOaG1M3K6jY=; b=itSGLqgwaDwUpmriMR/7Jjlu+juPfqRldXXQ+luV0TvtJRp46xKssFlk+VzCglkw6j GPPjfTwyl6FxH/m2e/MfwtaPEfAZZyRQPbrJmN39IoeHgbJg1T0lM0Ar2AQAnnsrqlxO js6ZRRtWBWwPRSGYOYia+zfOU1EDHA2+hf6ImR4nQ24O7pp6gIW7OHGl2NAflP/nTFjJ 0LUN9kb/v/A6nd4viey4go43ccu2Yr8pKyc6A1sN+Lp9pj9qJfM8BoML33aGBVZ06hPv CMgg/IkEZvfdGlW1Sa5k5YwetiVUpAEJmHOt8JZxnpnMULSgO3yQWI0DJYukIwDW44T8 FeMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=ZexEcGaA2/+JpfDmZ9pMREzny2NfKE10YOaG1M3K6jY=; b=jL2xbMNdephUncslMp/VUqZvaOsJbjAiVGZndrisUKy0Um9ztb2kHMVVBVuYvFQ6Xt ySX/uSR5iQ1eNA9NI6IimPSd3BJVi+w4E8KrlDVQm/syF3Mm5XEex4Q/a2Te2dXsGfrk YefPggxn65SVEiG3yV2JnY83QY1a2pDMDRIJmhjdh2a4pVBQ5FW8THTcFX2OQsMm7w2V Jd3p2NGTNAbYQ8qMZWR4qH+PHYUeXJv64z5Ij3id072ldVcvudrGKAVVMzcXQOVJFdm5 rRvRuko5nJXvXj1P63Gw1rY+1N6nG/zxZ8/b8eLCchjDx1SpVNlMui8IpZuSiwu/Dixg ePxw== X-Gm-Message-State: ALoCoQmC4Br8R8zdftePSpyYDM0jQXTcH43AX6KkkC+TYRgAaE5ptTYm9efSHSdB6mnrrkaA6roCwof9O27XJ2FOXgaVFUwGlHPXuXo6SFa74whT4V/VUqs= MIME-Version: 1.0 X-Received: by 10.37.230.195 with SMTP id d186mr8080789ybh.138.1453214180884; Tue, 19 Jan 2016 06:36:20 -0800 (PST) Received: by 10.129.84.198 with HTTP; Tue, 19 Jan 2016 06:36:20 -0800 (PST) In-Reply-To: References: Date: Tue, 19 Jan 2016 20:06:20 +0530 Message-ID: Subject: Re: patch for cast module From: Sanket Mehta To: pgadmin-hackers@postgresql.org Content-Type: multipart/mixed; boundary=94eb2c0b00c00941890529b0cbbf X-Pg-Spam-Score: -2.6 (--) 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 --94eb2c0b00c00941890529b0cbbf Content-Type: multipart/alternative; boundary=94eb2c0b00c00941810529b0cbbd --94eb2c0b00c00941810529b0cbbd Content-Type: text/plain; charset=UTF-8 Hi, PFA updated patch for cast module as per check list provided by Neel. Please do review it and let me know in case of anything is missing. Regards, Sanket Mehta Sr Software engineer Enterprisedb On Mon, Jan 18, 2016 at 7:16 PM, Sanket Mehta wrote: > Hi, > > PFA patch for cast module. > Please do review it and let me know in case of any issue. > > > Regards, > Sanket Mehta > Sr Software engineer > Enterprisedb > --94eb2c0b00c00941810529b0cbbd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

PFA updated patch for cast module a= s per check list provided by Neel.
Please do review it and let me= know in case of anything is missing.



Regards,
Sanket Mehta
Sr Software = engineer
Enterprisedb

On Mon, Jan 18, 2016 at 7:16 PM, Sanket Meht= a <sanket.mehta@enterprisedb.com> wrote:
Hi,

PFA patc= h for cast module.
Please do review it and let me know in case of= any issue.


Regards,
Sanket Mehta
Sr Software engineer
Enterprisedb

--94eb2c0b00c00941810529b0cbbd-- --94eb2c0b00c00941890529b0cbbf Content-Type: text/x-patch; charset=US-ASCII; name="castv2.patch" Content-Disposition: attachment; filename="castv2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ijli77j31 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy9fX2luaXRfXy5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9jYXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4zZWJjMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L2Nhc3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMzk4IEBACisjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0 Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxNiwgVGhlIHBn QWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJl bGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitpbXBvcnQganNvbgorZnJvbSBm bGFzayBpbXBvcnQgcmVuZGVyX3RlbXBsYXRlLCBtYWtlX3Jlc3BvbnNlLCBj dXJyZW50X2FwcCwgcmVxdWVzdCwganNvbmlmeQorZnJvbSBmbGFzay5leHQu YmFiZWwgaW1wb3J0IGdldHRleHQKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4 IGltcG9ydCBtYWtlX2pzb25fcmVzcG9uc2UsIFwKKyAgICBtYWtlX3Jlc3Bv bnNlIGFzIGFqYXhfcmVzcG9uc2UsIGludGVybmFsX3NlcnZlcl9lcnJvcgor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudXRpbHMgaW1wb3J0IE5vZGVWaWV3Citm cm9tIHBnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uIGltcG9ydCBDb2xsZWN0 aW9uTm9kZU1vZHVsZQoraW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJf Z3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlcworZnJvbSBw Z2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IHByZWNvbmRpdGlvbl9yZXF1aXJl ZAorZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZl cgorZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCitmcm9t IGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKKworCitjbGFzcyBDYXN0TW9kdWxl KENvbGxlY3Rpb25Ob2RlTW9kdWxlKToKKyAgICBOT0RFX1RZUEUgPSAnY2Fz dCcKKyAgICBDT0xMRUNUSU9OX0xBQkVMID0gJ0Nhc3RzJworCisgICAgZGVm IF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHN1 cGVyKENhc3RNb2R1bGUsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJn cykKKworICAgIGRlZiBnZXRfbm9kZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCk6 CisgICAgICAgICIiIgorICAgICAgICBHZW5lcmF0ZSB0aGUgY29sbGVjdGlv biBub2RlCisgICAgICAgICIiIgorICAgICAgICB5aWVsZCBzZWxmLmdlbmVy YXRlX2Jyb3dzZXJfY29sbGVjdGlvbl9ub2RlKGRpZCkKKworICAgIEBwcm9w ZXJ0eQorICAgIGRlZiBzY3JpcHRfbG9hZChzZWxmKToKKyAgICAgICAgIiIi CisgICAgICAgIExvYWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9yIHNlcnZlciwg d2hlbiBhbnkgb2YgdGhlIHNlcnZlci1ncm91cCBub2RlIGlzCisgICAgICAg IGluaXRpYWxpemVkLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIGRh dGFiYXNlcy5EYXRhYmFzZU1vZHVsZS5OT0RFX1RZUEUKKworCitibHVlcHJp bnQgPSBDYXN0TW9kdWxlKF9fbmFtZV9fKQorCisKK2NsYXNzIENhc3RWaWV3 KE5vZGVWaWV3KToKKyAgICBub2RlX3R5cGUgPSBibHVlcHJpbnQubm9kZV90 eXBlCisKKworICAgIHBhcmVudF9pZHMgPSBbCisgICAgICAgICAgICB7J3R5 cGUnOiAnaW50JywgJ2lkJzogJ2dpZCd9LAorICAgICAgICAgICAgeyd0eXBl JzogJ2ludCcsICdpZCc6ICdzaWQnfSwKKyAgICAgICAgICAgIHsndHlwZSc6 ICdpbnQnLCAnaWQnOiAnZGlkJ30KKyAgICAgICAgICAgIF0KKyAgICBpZHMg PSBbCisgICAgICAgICAgICB7J3R5cGUnOiAnaW50JywgJ2lkJzogJ2NpZCd9 CisgICAgICAgICAgICBdCisKKyAgICBvcGVyYXRpb25zID0gZGljdCh7Cisg ICAgICAgICdvYmonOiBbCisgICAgICAgICAgICB7J2dldCc6ICdwcm9wZXJ0 aWVzJywgJ2RlbGV0ZSc6ICdkZWxldGUnLCAncHV0JzogJ3VwZGF0ZSd9LAor ICAgICAgICAgICAgeydnZXQnOiAnbGlzdCcsICdwb3N0JzogJ2NyZWF0ZSd9 CisgICAgICAgIF0sCisgICAgICAgICdjaGlsZHJlbic6IFt7CisgICAgICAg ICAgICAnZ2V0JzogJ2NoaWxkcmVuJworICAgICAgICB9XSwKKyAgICAgICAg J25vZGVzJzogW3snZ2V0JzogJ25vZGUnfSwgeydnZXQnOiAnbm9kZXMnfV0s CisgICAgICAgICdzcWwnOiBbeydnZXQnOiAnc3FsJ31dLAorICAgICAgICAn bXNxbCc6IFt7J2dldCc6ICdtc3FsJ30sIHsnZ2V0JzogJ21zcWwnfV0sCisg ICAgICAgICdzdGF0cyc6IFt7J2dldCc6ICdzdGF0aXN0aWNzJ31dLAorICAg ICAgICAnZGVwZW5kZW5jeSc6IFt7J2dldCc6ICdkZXBlbmRlbmNpZXMnfV0s CisgICAgICAgICdkZXBlbmRlbnQnOiBbeydnZXQnOiAnZGVwZW5kZW50cyd9 XSwKKyAgICAgICAgJ21vZHVsZS5qcyc6IFt7fSwge30sIHsnZ2V0JzogJ21v ZHVsZV9qcyd9XSwKKyAgICAgICAgJ2NvbmZpZ3MnOiBbeydnZXQnOiAnY29u Zmlncyd9XSwKKyAgICAgICAgJ2dldF90eXBlJzogW3snZ2V0JzogJ2dldF9z b3VyY2VUYXJnZXRfdHlwZSd9LCB7J2dldCc6ICdnZXRfc291cmNlVGFyZ2V0 X3R5cGUnfV0sCisgICAgICAgICdnZXRmdW5jdGlvbnMnOiBbeydwb3N0Jzog J2dldF9mdW5jdGlvbnMnfSwgeydwb3N0JzogJ2dldF9mdW5jdGlvbnMnfV0K KyAgICB9KQorCisgICAgZGVmIG1vZHVsZV9qcyhzZWxmKToKKyAgICAgICAg IiIiCisgICAgICAgIFRoaXMgcHJvcGVydHkgZGVmaW5lcyAoaWYgamF2YXNj cmlwdCkgZXhpc3RzIGZvciB0aGlzIG5vZGUuCisgICAgICAgIE92ZXJyaWRl IHRoaXMgcHJvcGVydHkgZm9yIHlvdXIgb3duIGxvZ2ljLgorICAgICAgICAi IiIKKyAgICAgICAgcmV0dXJuIG1ha2VfcmVzcG9uc2UoCisgICAgICAgICAg ICAgICAgcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAgICAgICAi Y2FzdC9qcy9jYXN0cy5qcyIsCisgICAgICAgICAgICAgICAgICAgIF89Z2V0 dGV4dAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAg IDIwMCwgeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC1qYXZhc2Ny aXB0J30KKyAgICAgICAgICAgICAgICApCisKKyAgICBkZWYgY2hlY2tfcHJl Y29uZGl0aW9uKGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5j dGlvbiB3aWxsIGJlaGF2ZSBhcyBhIGRlY29yYXRvciB3aGljaCB3aWxsIGNo ZWNrcworICAgICAgICBkYXRhYmFzZSBjb25uZWN0aW9uIGJlZm9yZSBydW5u aW5nIHZpZXcsIGl0IHdpbGwgYWxzbyBhdHRhY2hlcworICAgICAgICBtYW5h Z2VyLGNvbm4gJiB0ZW1wbGF0ZV9wYXRoIHByb3BlcnRpZXMgdG8gc2VsZgor ICAgICAgICAiIiIKKyAgICAgICAgQHdyYXBzKGYpCisgICAgICAgIGRlZiB3 cmFwKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICAjIEhlcmUgYXJn c1swXSB3aWxsIGhvbGQgc2VsZiAmIGt3YXJncyB3aWxsIGhvbGQgZ2lkLHNp ZCxkaWQKKyAgICAgICAgICAgIHNlbGYgPSBhcmdzWzBdCisgICAgICAgICAg ICBzZWxmLm1hbmFnZXIgPSBnZXRfZHJpdmVyKFBHX0RFRkFVTFRfRFJJVkVS KS5jb25uZWN0aW9uX21hbmFnZXIoa3dhcmdzWydzaWQnXSkKKyAgICAgICAg ICAgIHNlbGYuY29ubiA9IHNlbGYubWFuYWdlci5jb25uZWN0aW9uKGRpZD1r d2FyZ3NbJ2RpZCddKQorICAgICAgICAgICAgIyBJZiBEQiBub3QgY29ubmVj dGVkIHRoZW4gcmV0dXJuIGVycm9yIHRvIGJyb3dzZXIKKyAgICAgICAgICAg IGlmIG5vdCBzZWxmLmNvbm4uY29ubmVjdGVkKCk6CisgICAgICAgICAgICAg ICAgcmV0dXJuIHByZWNvbmRpdGlvbl9yZXF1aXJlZCgKKyAgICAgICAgICAg ICAgICAgICAgZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiQ29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGhhcyBiZWVuIGxvc3QhIgor ICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAg ICAgICAgICAgdmVyID0gc2VsZi5tYW5hZ2VyLnZlcnNpb24KKyAgICAgICAg ICAgICMgd2Ugd2lsbCBzZXQgdGVtcGxhdGUgcGF0aCBmb3Igc3FsIHNjcmlw dHMKKyAgICAgICAgICAgIGlmIHZlciA+PSA5MDAwMDoKKyAgICAgICAgICAg ICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAnY2FzdC9zcWwvOS4wX3BsdXMn CisKKyAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJncykKKwor ICAgICAgICByZXR1cm4gd3JhcAorCisKKyAgICBAY2hlY2tfcHJlY29uZGl0 aW9uCisgICAgZGVmIGxpc3Qoc2VsZiwgZ2lkLCBzaWQsIGRpZCk6CisgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwK KyAgICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9c2VsZi5tYW5hZ2VyLmRiX2lu Zm9bZGlkXVsnZGF0bGFzdHN5c29pZCddCisgICAgICAgICAgICApCisgICAg ICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwp CisKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgIHJldHVy biBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAgICAg ICByZXR1cm4gYWpheF9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICByZXNw b25zZT1yZXNbJ3Jvd3MnXSwKKyAgICAgICAgICAgICAgICBzdGF0dXM9MjAw CisgICAgICAgICAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlv bgorICAgIGRlZiBub2RlcyhzZWxmLCBnaWQsIHNpZCwgZGlkKToKKyAgICAg ICAgcmVzID0gW10KKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAor ICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3By b3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgZGF0bGFzdHN5c29pZD1z ZWxmLm1hbmFnZXIuZGJfaW5mb1tkaWRdWydkYXRsYXN0c3lzb2lkJ10KKyAg ICAgICAgICAgICkKKyAgICAgICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25u LmV4ZWN1dGVfMmRhcnJheShTUUwpCisgICAgICAgIGlmIG5vdCBzdGF0dXM6 CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXJzZXQpCisKKyAgICAgICAgZm9yIHJvdyBpbiByc2V0Wydyb3dz J106CisgICAgICAgICAgICByZXMuYXBwZW5kKAorICAgICAgICAgICAgICAg ICAgICBzZWxmLmJsdWVwcmludC5nZW5lcmF0ZV9icm93c2VyX25vZGUoCisg ICAgICAgICAgICAgICAgICAgICAgICByb3dbJ29pZCddLAorICAgICAgICAg ICAgICAgICAgICAgICAgcm93WyduYW1lJ10sCisgICAgICAgICAgICAgICAg ICAgICAgICBpY29uPSJpY29uLWNhc3QiCisgICAgICAgICAgICAgICAgICAg ICkpCisKKyAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICBkYXRhPXJlcywKKyAgICAgICAgICAgICAgICBzdGF0 dXM9MjAwCisgICAgICAgICAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNv bmRpdGlvbgorICAgIGRlZiBwcm9wZXJ0aWVzKHNlbGYsIGdpZCwgc2lkLCBk aWQsIGNpZCk6CisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAg ICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9w ZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgICAgIGNpZD1jaWQsCisgICAgICAg ICAgICBkYXRsYXN0c3lzb2lkPXNlbGYubWFuYWdlci5kYl9pbmZvW2RpZF1b J2RhdGxhc3RzeXNvaWQnXQorICAgICAgICAgICAgKQorICAgICAgICBzdGF0 dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQorCisgICAg ICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJu YWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKworICAgICAgICByZXR1 cm4gYWpheF9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICByZXNwb25zZT1y ZXNbJ3Jvd3MnXVswXSwKKyAgICAgICAgICAgICAgICBzdGF0dXM9MjAwCisg ICAgICAgICAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgor ICAgIGRlZiBjcmVhdGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCk6CisgICAgICAg ICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlcyBuZXcg dGhlIGNhc3Qgb2JqZWN0CisgICAgICAgICIiIgorCisgICAgICAgIHJlcXVp cmVkX2FyZ3MgPSBbCisgICAgICAgICAgICAnc3JjdHlwJywKKyAgICAgICAg ICAgICd0cmd0eXAnCisgICAgICAgIF0KKworICAgICAgICBkYXRhID0gcmVx dWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMocmVx dWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBmb3IgYXJnIGluIHJlcXVp cmVkX2FyZ3M6CisgICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGE6Cisg ICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICAgICAgc3RhdHVzPTQxMCwKKyAgICAgICAgICAgICAg ICAgICAgc3VjY2Vzcz0wLAorICAgICAgICAgICAgICAgICAgICBlcnJvcm1z Zz1nZXR0ZXh0KAorICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkbid0 IGZpbmQgdGhlIHJlcXVpcmVkIHBhcmFtZXRlciAoJXMpLiIgJSBhcmcKKyAg ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAg ICAgdHJ5OgorICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIv Ii5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg ICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihTUUwp CisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAg IHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQor CisgICAgICAgICAgICAjIHdlIG5lZWQgb2lkIHRvIHRvIGFkZCBvYmplY3Qg aW4gdHJlZSBhdCBicm93c2VyLCBiZWxvdyBzcWwgd2lsbCBnaXZlcyB0aGUg c2FtZQorICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmN0eXA9ZGF0 YS5zcmN0eXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dHJndHlwPWRhdGEudHJndHlwLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9c2VsZi5tYW5hZ2VyLmRiX2luZm9b ZGlkXVsnZGF0bGFzdHN5c29pZCddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKKyAgICAgICAgICAgIHN0YXR1cywgY2lkID0gc2VsZi5j b25uLmV4ZWN1dGVfc2NhbGFyKFNRTCkKKyAgICAgICAgICAgIGlmIG5vdCBz dGF0dXM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZl cl9lcnJvcihlcnJvcm1zZz1jaWQpCisKKyAgICAgICAgICAgIHJldHVybiBq c29uaWZ5KAorICAgICAgICAgICAgICAgIG5vZGU9c2VsZi5ibHVlcHJpbnQu Z2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAorICAgICAgICAgICAgICAgICAgICBj aWQsCisgICAgICAgICAgICAgICAgICAgIGRhdGFbJ25hbWUnXSwKKyAgICAg ICAgICAgICAgICAgICAgaWNvbj0icGctaWNvbi1jYXN0IgorICAgICAgICAg ICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZl cl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisKKworICAgIEBjaGVja19wcmVj b25kaXRpb24KKyAgICBkZWYgdXBkYXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQs IGNpZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdp bGwgdXBkYXRlIGNhc3Qgb2JqZWN0CisgICAgICAgICIiIgorICAgICAgICBk YXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24u bG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBTUUwgPSBz ZWxmLmdldFNRTChnaWQsIHNpZCwgZGF0YSwgY2lkKQorICAgICAgICB0cnk6 CisgICAgICAgICAgICBpZiBTUUwgYW5kIFNRTC5zdHJpcCgnXG4nKSBhbmQg U1FMLnN0cmlwKCcgJyk6CisgICAgICAgICAgICAgICAgc3RhdHVzLCByZXMg PSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoU1FMKQorICAgICAgICAgICAg ICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgICAgIHJldHVy biBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAg ICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAg ICAgICAgICAgICAgICAgc3VjY2Vzcz0xLAorICAgICAgICAgICAgICAgICAg ICBpbmZvPSJDYXN0IHVwZGF0ZWQiLAorICAgICAgICAgICAgICAgICAgICBk YXRhPXsKKyAgICAgICAgICAgICAgICAgICAgICAgICdpZCc6IGNpZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICdzaWQnOiBzaWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAnZ2lkJzogZ2lkLAorICAgICAgICAgICAgICAgICAg ICAgICAgJ2RpZCc6IGRpZAorICAgICAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgICAgKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg ICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAg ICAgICAgICBzdWNjZXNzPTEsCisgICAgICAgICAgICAgICAgICAgIGluZm89 Ik5vdGhpbmcgdG8gdXBkYXRlIiwKKyAgICAgICAgICAgICAgICAgICAgZGF0 YT17CisgICAgICAgICAgICAgICAgICAgICAgICAnaWQnOiBjaWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAnc2lkJzogc2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgJ2dpZCc6IGdpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICdkaWQnOiBkaWQKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICAgICkKKworICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6 CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXN0cihlKSkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAg ICBkZWYgZGVsZXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQsIGNpZCk6CisgICAg ICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZHJvcCB0aGUg Y2FzdCBvYmplY3QKKyAgICAgICAgIiIiCisgICAgICAgICMgQmVsb3cgd2ls bCBkZWNpZGUgaWYgaXQncyBzaW1wbGUgZHJvcCBvciBkcm9wIHdpdGggY2Fz Y2FkZSBjYWxsCisgICAgICAgIGlmIHNlbGYuY21kID09ICdkZWxldGUnOgor ICAgICAgICAgICAgIyBUaGlzIGlzIGEgY2FzY2FkZSBvcGVyYXRpb24KKyAg ICAgICAgICAgIGNhc2NhZGUgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAg ICAgICAgICBjYXNjYWRlID0gRmFsc2UKKworICAgICAgICB0cnk6CisgICAg ICAgICAgICAjIEdldCBuYW1lIGZvciBjYXN0IGZyb20gY2lkIGFuZCBkcm9w IGl0CisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpv aW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2RlbGV0ZS5zcWwnXSksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2lkPWNpZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNjYWRlPWNhc2NhZGUK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg ICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoU1FM KQorICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAg ICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykK KworICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICBzdWNjZXNzPTEsCisgICAgICAgICAgICAgICAgaW5m bz1nZXR0ZXh0KCJDYXN0IGRyb3BwZWQiKSwKKyAgICAgICAgICAgICAgICBk YXRhPXsKKyAgICAgICAgICAgICAgICAgICAgJ2lkJzogY2lkLAorICAgICAg ICAgICAgICAgICAgICAnc2lkJzogc2lkLAorICAgICAgICAgICAgICAgICAg ICAnZ2lkJzogZ2lkLAorICAgICAgICAgICAgICAgICAgICAnZGlkJzogZGlk CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQorCisgICAgICAg IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQorCisgICAg QGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBtc3FsKHNlbGYsIGdpZCwg c2lkLCBkaWQsIGNpZD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgICBU aGlzIGZ1bmN0aW9uIHJldHVybnMgbW9kaWZpZWQgU1FMCisgICAgICAgICIi IgorICAgICAgICBkYXRhID0gcmVxdWVzdC5hcmdzCisgICAgICAgIFNRTCA9 IHNlbGYuZ2V0U1FMKGdpZCwgc2lkLCBkaWQsIGRhdGEsIGNpZCkKKyAgICAg ICAgaWYgaXNpbnN0YW5jZShTUUwsIHN0cikgYW5kIFNRTCBhbmQgU1FMLnN0 cmlwKCdcbicpIGFuZCBTUUwuc3RyaXAoJyAnKToKKyAgICAgICAgICAgIHJl dHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgICAg IGRhdGE9U1FMLAorICAgICAgICAgICAgICAgICAgICBzdGF0dXM9MjAwCisg ICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgZWxzZToKKyAgICAgICAg ICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAg ICAgICAgIGRhdGE9Ii0tbW9kaWZpZWQgU1FMIiwKKyAgICAgICAgICAgICAg ICAgICAgc3RhdHVzPTIwMAorICAgICAgICAgICAgICAgICAgICApCisKKyAg ICBkZWYgZ2V0U1FMKHNlbGYsIGdpZCwgc2lkLCBkaWQsIGRhdGEsIGNpZD1O b25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2ls bCByZXR1cm4gU1FMIGZvciBtb2RlbCBkYXRhCisgICAgICAgICIiIgorICAg ICAgICB0cnk6CisgICAgICAgICAgICBpZiBjaWQgaXMgbm90IE5vbmU6Cisg ICAgICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2lkPWNpZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0bGFz dHN5c29pZD1zZWxmLm1hbmFnZXIuZGJfaW5mb1tkaWRdWydkYXRsYXN0c3lz b2lkJ10pCisgICAgICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNv bm4uZXhlY3V0ZV9kaWN0KFNRTCkKKworICAgICAgICAgICAgICAgIGlmIG5v dCBzdGF0dXM6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5h bF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAgICAg ICAgb2xkX2RhdGEgPSByZXNbJ3Jvd3MnXVswXQorICAgICAgICAgICAgICAg IFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAgICAg Ii8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3VwZGF0ZS5zcWwnXSks CisgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgb19kYXRhPW9sZF9k YXRhCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIGVsc2U6 CisgICAgICAgICAgICAgICAgaWYgJ3NyY3R5cCcgaW4gZGF0YSBhbmQgJ3Ry Z3R5cCcgaW4gZGF0YToKKyAgICAgICAgICAgICAgICAgICAgU1FMID0gcmVu ZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdj cmVhdGUuc3FsJ10pLCBkYXRhPWRhdGEpCisgICAgICAgICAgICAgICAgZWxz ZToKKyAgICAgICAgICAgICAgICAgICAgU1FMID0gIi0tIGluY29tcGxldGUg ZGVmaW5pdGlvbiIKKyAgICAgICAgICAgIHJldHVybiBTUUwKKworICAgICAg ICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4g aW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworICAg IEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgZ2V0X2Z1bmN0aW9ucyhz ZWxmLCBnaWQsIHNpZCwgZGlkLCBjaWQ9Tm9uZSk6CisgICAgICAgIHJlcz1b XQorICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9y bSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAg ICAgICAjc3JjT2lkID0gZGF0YVsnc3JjdHlwJ10uc3BsaXQoIjoiKVswXQor ICAgICAgICAjdHJnT2lkID0gZGF0YVsndHJndHlwJ10uc3BsaXQoIjoiKVsw XQorICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3Nl bGYudGVtcGxhdGVfcGF0aCwgJ2Z1bmN0aW9ucy5zcWwnXSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY3R5cD1kYXRhWydz cmN0eXAnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdHJndHlwPWRhdGFbJ3RyZ3R5cCddKQorICAgICAgICBzdGF0dXMsIHJz ZXQgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKKworICAgICAgICBp ZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJvcm1zZz1yc2V0KQorCisgICAgICAgICMgVE9ETzog YWRkIHNjaGVtYXByZWZpeCB0byBwcm9uYW1lIGJlZm9yZSBhZGRpbmcgaXQg dG8gdmFsdWUgaW4gcmVzCisgICAgICAgIGZvciByb3cgaW4gcnNldFsncm93 cyddOgorICAgICAgICAgICAgcmVzLmFwcGVuZCh7J2xhYmVsJzogcm93Wydw cm9uYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IHJv d1sncHJvbmFtZSddfSkKKyAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNw b25zZSgKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1yZXMsCisgICAgICAg ICAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAgICAgICAgICAgICAgICAgICAg KQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBnZXRfc291 cmNlVGFyZ2V0X3R5cGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgY2lkPU5vbmUp OgorICAgICAgICByZXMgPSBbXQorICAgICAgICBTUUwgPSByZW5kZXJfdGVt cGxhdGUoCisgICAgICAgICAgICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLCAnZ2V0c3JjYW5kdHJndHR5cGUuc3FsJ10pLAorICAgICAgICAgICAg Y2lkPWNpZAorICAgICAgICAgICAgKQorICAgICAgICBzdGF0dXMsIHJzZXQg PSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKKworICAgICAgICBpZiBu b3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZl cl9lcnJvcihlcnJvcm1zZz1yc2V0KQorCisgICAgICAgIHJlcyA9IFt7J2xh YmVsJzogJycsICd2YWx1ZSc6ICcnfV0KKyAgICAgICAgZm9yIHJvdyBpbiBy c2V0Wydyb3dzJ106CisgICAgICAgICAgICAjIFRPRE86IEZvbGxvdyBkbGdU eXBlUHJvcGVydHk6OkZpbGxEYXRhVHlwZSgpIGZ1bmN0aW9uIGJlZm9yZSBh ZGRpbmcgdHlwZW5hbWUgdG8gcmVzCisgICAgICAgICAgICByZXMuYXBwZW5k KHsnbGFiZWwnOiByb3dbJ3R5cG5hbWUnXSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICd2YWx1ZSc6IHJvd1sndHlwbmFtZSddfSkKKworCisgICAgICAg IHByaW50KHJlcykKKyAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25z ZSgKKyAgICAgICAgICAgIGRhdGE9cmVzLAorICAgICAgICAgICAgc3RhdHVz PTIwMAorICAgICAgICAgICAgKQorCitDYXN0Vmlldy5yZWdpc3Rlcl9ub2Rl X3ZpZXcoYmx1ZXByaW50KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy9zdGF0aWMvaW1nL2Nhc3QucG5n IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2Nhc3RzL3N0YXRpYy9pbWcvY2FzdC5wbmcKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uMmJlN2YzNzQyYTc2MGZhYTc3MDkwNTI2NjlmNDQ0 YmE4OTQ5YzMzMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDI2CnpjbWVB U0BOPyhvbEh5YHVWQnEhaWEwdnBeMHdCITYzP3d5bGBHYkt9YSkze1dFMEE4 PVhMSVl+YGJocz5iRWpYcwp6ZHRjKDwjKV9We15HbGNoS2VlfiMtVUdRNkVC QGJxc0loTHt8QSZ1X0gqZnlgPGY7OXhVSF9qd19jP2cqfEJJSlYKekNyPG8t e1d7fnFoNXY4Z21SYEh8fE5aLT5kLXdpLXtNaF5XQCZDYENyb0RMYWY2dztF KFF7KHNmen5qVjFvO0lzCnpJNlMrTjJJTyFTY3RqUWhYJThAVkpERl88V1ls QE9JRUZ9RSZPTHV5c0w0UXBgTkZaUXl3akRHSXlgcCVfI2RCbgp6UTAoYEVP N0NVSFhRZSpOYD8pPXReUTdEOHc4fTlWKk0mT1htWWNTUU1UVHhYYTVlWl5z WWJ6VmpvSHRsQU02WD4KencpVnQ3O1hVaHU/YUNnOC1xKVQjZGpzcD8xdlFu MCgjSFp7JmF2Sz5HOzdNfEtlemkqMUp8OUB3TUBBOEdJdTVhCno3a0BTdktB JWxMZmk2KWthZzhXUk5pMGRWTi1qelRRVmQyMGg2Y0taTSFFKXVBd352UENk TzdLQ2ZXdzNSdDUkWgpzR2dha0tIMDApfFdUc1VARyNGVGRIR291RzhKSXlk b1NHaUcyQj85LSk3OCZxb2xgOyswNnpAM2h5VlpwCgpsaXRlcmFsIDAKSGNt Vj9kMDAwMDEKCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvc3RhdGljL2lt Zy9jb2xsLWNhc3QucG5nIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3N0YXRpYy9pbWcvY29s bC1jYXN0LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWViNjVhZjAy YzY2YmQ2NGFiMzQwNWM1OTJlZmU0ZDkwZDQxYzk4CkdJVCBiaW5hcnkgcGF0 Y2gKbGl0ZXJhbCA0MDIKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cF4wd0Ih NjM/d3lsYEdiS31SRGUmMkUwOHw1d2BYYWVPPGxxNE5kSH1QCnpyKGU1IVUh cCMqZGc7PnRfWn0hdFo0QXAjb2NpI1F7PVNYb1BvQ1FFLSg8VUwpJkdxZnxM QHhNfExGRkY9UHY+ZQp6QU84UjBlY1AqN0RRRDBBfE1ZM3srcWIzSHVLbUEl fE5wYVJ8MVpoUmowYyp8U1E2d0glOzUwc01qRFhBUz5PPl8KejQ1VTU0KnpJ SnQ5Z3ZhbD5FYWs3YWs9I1RaTjZwJjBoU0E/eUdwJjVYNlElaGUqMGVeVG9a WldOVHNyK2IpdClsCnpqOSU0THE0cVpPd2ZGRGN6Y3tPcTw2KXJta3NFSiZu RWlPRndAeTNEVnoqWk89OCtUQVo9SlFDJkNoPUlsSiVxMAp6biNhJWQkT241 fWVRIV97YE8wPDFQa1dzXmBnKU8hIUpBbS11eztYZzR6eWFlIzVKTk1DOXgj Y0QhQ3tYTkhHezAKejcjaXByOHRFRHNoOFApR25IWER7bX1uY0FTe1dFdiV2 NjtfKFU2OztsOV5UcyhPX1QrKSZOcCVXbmMhO2FCNnohClE4bFZPU1BnZyZl YnhzTFEwOVhmfmZkQnZpCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvY2FzdHMvdGVtcGxhdGVzL2Nhc3QvanMvY2FzdHMu anMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvY2FzdHMvdGVtcGxhdGVzL2Nhc3QvanMvY2FzdHMuanMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg3YWE4OQot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZW1wbGF0ZXMvY2Fz dC9qcy9jYXN0cy5qcwpAQCAtMCwwICsxLDIwNCBAQAorZGVmaW5lKAorICAg ICAgICBbJ2pxdWVyeScsICd1bmRlcnNjb3JlJywgJ3VuZGVyc2NvcmUuc3Ry aW5nJywgJ3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2VyJywgJ2FsZXJ0aWZ5 JywgJ3BnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uJ10sCitmdW5jdGlvbigk LCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CisKKyAg ICBpZiAoIXBnQnJvd3Nlci5Ob2Rlc1snY29sbC1jYXN0J10pIHsKKyAgICAg IHZhciBjYXN0cyA9IHBnQWRtaW4uQnJvd3Nlci5Ob2Rlc1snY29sbC1jYXN0 J10gPQorICAgICAgICBwZ0FkbWluLkJyb3dzZXIuQ29sbGVjdGlvbi5leHRl bmQoeworICAgICAgICAgIG5vZGU6ICdjYXN0JywKKyAgICAgICAgICBsYWJl bDogJ3t7IF8oJ0Nhc3RzJykgfX0nLAorICAgICAgICAgIHR5cGU6ICdjb2xs LWNhc3QnCisgICAgICAgIH0pOworICAgIH07CisKKyAgICBpZiAoIXBnQnJv d3Nlci5Ob2Rlc1snY2FzdCddKSB7CisgICAgICBwZ0FkbWluLkJyb3dzZXIu Tm9kZXNbJ2Nhc3QnXSA9IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLmV4dGVuZCh7 CisgICAgICAgIHBhcmVudF90eXBlOiAnZGF0YWJhc2UnLAorICAgICAgICB0 eXBlOiAnY2FzdCcsCisgICAgICAgIGNhbkRyb3A6IHRydWUsCisgICAgICAg IGNhbkRyb3BDYXNjYWRlOiB0cnVlLAorICAgICAgICBsYWJlbDogJ3t7IF8o J0Nhc3QnKSB9fScsCisgICAgICAgIGhhc1NRTDogdHJ1ZSwKKyAgICAgICAg SW5pdDogZnVuY3Rpb24oKSB7CisgICAgICAgICAgLyogQXZvaWQgbXVsaXRw bGUgcmVnaXN0cmF0aW9uIG9mIG1lbnVzICovCisgICAgICAgICAgaWYgKHRo aXMuaW5pdGlhbGl6ZWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg ICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTsKKworICAgICAgICAgIHBn QnJvd3Nlci5hZGRfbWVudXMoW3sKKyAgICAgICAgICAgIG5hbWU6ICdjcmVh dGVfY2FzdF9vbl9kYXRhYmFzZScsIG5vZGU6ICdkYXRhYmFzZScsIG1vZHVs ZTogdGhpcywKKyAgICAgICAgICAgIGFwcGxpZXM6IFsnb2JqZWN0JywgJ2Nv bnRleHQnXSwgY2FsbGJhY2s6ICdzaG93X29ial9wcm9wZXJ0aWVzJywKKyAg ICAgICAgICAgIGNhdGVnb3J5OiAnY3JlYXRlJywgcHJpb3JpdHk6IDQsIGxh YmVsOiAne3sgXygnQ2FzdC4uLicpIH19JywKKyAgICAgICAgICAgIGljb246 ICd3Y1RhYkljb24gaWNvbi1jYXN0JywgZGF0YToge2FjdGlvbjogJ2NyZWF0 ZSd9CisgICAgICAgICAgfSx7CisgICAgICAgICAgICBuYW1lOiAnY3JlYXRl X2Nhc3Rfb25fY29sbCcsIG5vZGU6ICdjb2xsLWNhc3QnLCBtb2R1bGU6IHRo aXMsCisgICAgICAgICAgICBhcHBsaWVzOiBbJ29iamVjdCcsICdjb250ZXh0 J10sIGNhbGxiYWNrOiAnc2hvd19vYmpfcHJvcGVydGllcycsCisgICAgICAg ICAgICBjYXRlZ29yeTogJ2NyZWF0ZScsIHByaW9yaXR5OiA0LCBsYWJlbDog J3t7IF8oJ0Nhc3QuLi4nKSB9fScsCisgICAgICAgICAgICBpY29uOiAnd2NU YWJJY29uIGljb24tY2FzdCcsIGRhdGE6IHthY3Rpb246ICdjcmVhdGUnfQor ICAgICAgICAgIH0seworICAgICAgICAgICAgbmFtZTogJ2NyZWF0ZV9jYXN0 Jywgbm9kZTogJ2Nhc3QnLCBtb2R1bGU6IHRoaXMsCisgICAgICAgICAgICBh cHBsaWVzOiBbJ29iamVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAnc2hv d19vYmpfcHJvcGVydGllcycsCisgICAgICAgICAgICBjYXRlZ29yeTogJ2Ny ZWF0ZScsIHByaW9yaXR5OiA0LCBsYWJlbDogJ3t7IF8oJ0Nhc3QuLi4nKSB9 fScsCisgICAgICAgICAgICBpY29uOiAnd2NUYWJJY29uIGljb24tY2FzdCcs IGRhdGE6IHthY3Rpb246ICdjcmVhdGUnfQorICAgICAgICAgIH1dKTsKKwor ICAgICAgICB9LAorICAgICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5v ZGUuTW9kZWwuZXh0ZW5kKHsKKyAgICAgICAgICBkZWZhdWx0czogeworICAg ICAgICAgICAgbmFtZTogdW5kZWZpbmVkLAorICAgICAgICAgICAgY29tbWVu dDogdW5kZWZpbmVkLAorICAgICAgICAgICAgZW5jb2Rpbmc6ICdVVEY4JywK KyAgICAgICAgICAgIHNyY3R5cDogdW5kZWZpbmVkLAorICAgICAgICAgICAg dHJndHlwOiB1bmRlZmluZWQsCisgICAgICAgICAgICBwcm9uYW1lOiB1bmRl ZmluZWQsCisgICAgICAgICAgICBjYXN0Y29udGV4dDogdW5kZWZpbmVkLAor ICAgICAgICAgICAgc3lzY2FzdDogdW5kZWZpbmVkLAorICAgICAgICAgICAg ZGVzY3JpcHRpb246IHVuZGVmaW5lZAorICAgICAgICAgIH0sCisgICAgICAg ICAgc2NoZW1hOiBbeworICAgICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6 ICd7eyBfKCdOYW1lJykgfX0nLCBjZWxsOiAnc3RyaW5nJywgZ3JvdXA6ICd7 eyBfKCdEZWZpbml0aW9uJykgfX0nLAorICAgICAgICAgICAgZWRpdGFibGU6 IGZhbHNlLCB0eXBlOiAndGV4dCcsIGRpc2FibGVkOiB0cnVlCisgICAgICAg ICAgfSx7CisgICAgICAgICAgICBpZDogJ29pZCcsIGxhYmVsOid7eyBfKCdP aWQnKSB9fScsIGNlbGw6ICdzdHJpbmcnLCBncm91cDogJ3t7IF8oJ0RlZmlu aXRpb24nKSB9fScsCisgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5 cGU6ICd0ZXh0JywgZGlzYWJsZWQ6IHRydWUsCisgICAgICAgICAgfSx7Cisg ICAgICAgICAgICBpZDogJ3NyY3R5cCcsIGxhYmVsOid7eyBfKCdTb3VyY2Ug dHlwZScpIH19JywgdXJsOiAnZ2V0X3R5cGUnLAorICAgICAgICAgICAgdHlw ZTogJ3RleHQnLCBncm91cDogJ0RlZmluaXRpb24nLCBkaXNhYmxlZDogZnVu Y3Rpb24obSkgeworICAgICAgICAgICAgcmV0dXJuICFtLmlzTmV3KCkKKyAg ICAgICAgICB9LAorICAgICAgICAgIHRyYW5zZm9ybTogZnVuY3Rpb24ocm93 cykgeworICAgICAgICAgICAgXy5lYWNoKHJvd3MsIGZ1bmN0aW9uKHIpIHsK KyAgICAgICAgICAgICAgclsnaW1hZ2UnXSA9ICdpY29uLWNhc3QnOworICAg ICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gcm93czsKKyAgICAg ICAgICB9LAorICAgICAgICAgIC8qICBBcyBuYW1lIGlzIGJlaW5nIGdlbmVy YXRlZCBmcm9tIHNyY3R5cCBhbmQgdHJndHlwLCBhIGNoZWNrIGhhcyBiZWVu IHB1dCBpbgorICAgICAgICAgICAqICBjb250cm9sIGZpZWxkIGlmIGJvdGgg YXJlIGNoYW5nZWQgb3Igbm90IGFuZCBkZXBlbmRpbmcgdXBvbiBpdCwgbmFt ZSBoYXMgYmVlbiBzZXQuCisgICAgICAgICAgKi8KKyAgICAgICAgICAgIGNv bnRyb2w6IEJhY2tmb3JtLk5vZGVBamF4T3B0aW9uc0NvbnRyb2wuZXh0ZW5k KHsKKyAgICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oKSB7Cisg ICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy4kZWwuZmluZCgic2Vs ZWN0IikudmFsKCkpOworICAgICAgICAgICAgICAgIEJhY2tmb3JtLk5vZGVB amF4T3B0aW9uc0NvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KHRo aXMsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICAgICAgdmFyIHNyY1R5cGUg PSB0aGlzLm1vZGVsLmdldCgnc3JjdHlwJyk7CisgICAgICAgICAgICAgICAg dmFyIHRyZ3R5cGUgPSB0aGlzLm1vZGVsLmdldCgndHJndHlwJyk7CisgICAg ICAgICAgICAgICAgaWYoc3JjVHlwZSAhPSB1bmRlZmluZWQgJiYgc3JjVHlw ZSAhPSAnJyAmJiB0cmd0eXBlICE9IHVuZGVmaW5lZCAmJiB0cmd0eXBlICE9 ICcnKQorICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuc2V0KCJuYW1l Iiwgc3JjVHlwZSsiLT4iK3RyZ3R5cGUpOworICAgICAgICAgICAgICAgIGVs c2UKKyAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnVuc2V0KCJuYW1l Iik7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSkKKyAgICAgICAgfSx7 CisgICAgICAgICAgaWQ6ICd0cmd0eXAnLCBsYWJlbDone3sgXygnVGFyZ2V0 IHR5cGUnKSB9fScsIHVybDogJ2dldF90eXBlJywKKyAgICAgICAgICB0eXBl OiAndGV4dCcsIGdyb3VwOiAnRGVmaW5pdGlvbicsIGRpc2FibGVkOiBmdW5j dGlvbihtKSB7CisgICAgICAgICAgICByZXR1cm4gIW0uaXNOZXcoKQorICAg ICAgICAgICAgfSwKKyAgICAgICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uKHJv d3MpIHsKKyAgICAgICAgICAgIF8uZWFjaChyb3dzLCBmdW5jdGlvbihyKSB7 CisgICAgICAgICAgICAgIHJbJ2ltYWdlJ10gPSAnaWNvbi1jYXN0JzsKKyAg ICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIHJvd3M7CisgICAg ICAgICAgfSwKKyAgICAgICAgICAvKiAgQXMgbmFtZSBpcyBiZWluZyBnZW5l cmF0ZWQgZnJvbSBzcmN0eXAgYW5kIHRyZ3R5cCwgYSBjaGVjayBoYXMgYmVl biBwdXQgaW4KKyAgICAgICAgICAgKiAgY29udHJvbCBmaWVsZCBpZiBib3Ro IGFyZSBjaGFuZ2VkIG9yIG5vdCBhbmQgZGVwZW5kaW5nIHVwb24gaXQsIG5h bWUgaGFzIGJlZW4gc2V0LgorICAgICAgICAgICovCisgICAgICAgICAgY29u dHJvbDogQmFja2Zvcm0uTm9kZUFqYXhPcHRpb25zQ29udHJvbC5leHRlbmQo eworICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oKSB7CisgICAg ICAgICAgICAgIEJhY2tmb3JtLk5vZGVBamF4T3B0aW9uc0NvbnRyb2wucHJv dG90eXBlLm9uQ2hhbmdlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAg ICAgICAgICAgIHZhciBzcmNUeXBlID0gdGhpcy5tb2RlbC5nZXQoJ3NyY3R5 cCcpOworICAgICAgICAgICAgICB2YXIgdHJndHlwZSA9IHRoaXMubW9kZWwu Z2V0KCd0cmd0eXAnKTsKKyAgICAgICAgICAgICAgaWYoc3JjVHlwZSAhPSB1 bmRlZmluZWQgJiYgc3JjVHlwZSAhPSAnJyAmJiB0cmd0eXBlICE9IHVuZGVm aW5lZCAmJiB0cmd0eXBlICE9ICcnKQorICAgICAgICAgICAgICAgICAgdGhp cy5tb2RlbC5zZXQoIm5hbWUiLCBzcmNUeXBlKyItPiIrdHJndHlwZSk7Cisg ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgIHRoaXMubW9k ZWwudW5zZXQoIm5hbWUiKTsKKyAgICAgICAgICB9CisgICAgICAgICAgfSkK KyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdwcm9uYW1lJywgbGFiZWw6 J3t7IF8oJ0Z1bmN0aW9uJykgfX0nLCBkZXBzOlsnc3JjdHlwJywgJ3RyZ3R5 cCddLAorICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ3RleHQn LCBkaXNhYmxlZDogZnVuY3Rpb24obSkgeyByZXR1cm4gIW0uaXNOZXcoKTsg fSwKKyAgICAgICAgICBncm91cDogJ0RlZmluaXRpb24nLAorICAgICAgICAg IGNvbnRyb2w6ICdzZWxlY3QnLCBvcHRpb25zOiBmdW5jdGlvbigpIHsKKwor ICAgICAgICAgICAgIHZhciBzcmNUeXAgPSB0aGlzLm1vZGVsLmdldCgnc3Jj dHlwJyk7CisgICAgICAgICAgICAgdmFyIHRyZ3R5cCA9IHRoaXMubW9kZWwu Z2V0KCd0cmd0eXAnKTsKKyAgICAgICAgICAgICB2YXIgcmVzID0gW107Cisg ICAgICAgICAgICAgLyogIE9uIHNyY3R5cCBhbmQgdHJndHlwIHN0YXRlIGNo YW5nZSBldmVudCBhbiBhamF4IGNhbGwgaXMgbWFkZSB0bworICAgICAgICAg ICAgICogICBmZXRjaCBsaXN0IG9mIHJlbGF0ZWQgZnVuY3Rpb25zCisgICAg ICAgICAgICAgKi8KKyAgICAgICAgICAgICBpZihzcmNUeXAgIT0gdW5kZWZp bmVkICYmIHNyY1R5cCAhPSAnJyAmJiB0cmd0eXAgIT0gdW5kZWZpbmVkICYm IHRyZ3R5cCAhPSAnJykKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICAgIHZhciBub2RlID0gdGhpcy5maWVsZC5nZXQoJ3NjaGVtYV9ub2Rl JyksCisgICAgICAgICAgICAgICAgICAgIF91cmwgPSBub2RlLmdlbmVyYXRl X3VybC5hcHBseSgKKyAgICAgICAgICAgICAgICAgICAgbm9kZSwgWworICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsICdnZXRmdW5jdGlvbnMn LCB0aGlzLmZpZWxkLmdldCgnbm9kZV9kYXRhJyksIGZhbHNlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQuZ2V0KCdub2RlX2lu Zm8nKQorICAgICAgICAgICAgICAgICAgICBdKTsKKyAgICAgICAgICAgICAg ICAgICQuYWpheCh7CisgICAgICAgICAgICAgICAgICB0eXBlOiAnUE9TVCcs CisgICAgICAgICAgICAgICAgICB0aW1lb3V0OiAzMDAwMCwKKyAgICAgICAg ICAgICAgICAgIHVybDogX3VybCwKKyAgICAgICAgICAgICAgICAgIGNhY2hl OiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgIGRhdGE6IHsic3JjdHlwIiA6 IHNyY1R5cCwgInRyZ3R5cCIgOiB0cmd0eXB9LAorICAgICAgICAgICAgICAg ICAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICAgICAg ICAgIHJldHVybiByZXMuZGF0YTsKKyAgICAgICAgICAgICAgICAgIH0sCisg ICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oeGhyLCBzdGF0dXMs IGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0cnkgeworICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnIgPSAkLnBhcnNlSlNP Tih4aHIucmVzcG9uc2VUZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoZXJyLnN1Y2Nlc3MgPT0gMCkgeworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtc2cgPSBTKCd7eyBfKCcgKyBlcnIuZXJyb3Jt c2cgKyAnKX19JykudmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYWxlcnRpZnkuZXJyb3IoInt7IF8oJyIgKyBlcnIuZXJyb3Jt c2cgKyAiJykgfX0iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUp IHt9CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICB9 KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICByZXR1cm4gcmVz OworICAgICAgICAgIH0KKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdj YXN0Y29udGV4dCcsIGxhYmVsOid7eyBfKCdDb250ZXh0JykgfX0nLCBvcHRp b25zOnsnb25UZXh0JzonSW1wbGljaXQnLCdvZmZUZXh0JzonRXhwbGljaXQn fSwKKyAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdzd2l0Y2gn LCBkaXNhYmxlZDogZnVuY3Rpb24obSkgeyByZXR1cm4gIW0uaXNOZXcoKTsg fSwKKyAgICAgICAgICBncm91cDogJ0RlZmluaXRpb24nCisgICAgICAgIH0s eworICAgICAgICAgIGlkOiAnc3lzY2FzdCcsIGxhYmVsOid7eyBfKCdTeXN0 ZW0gQ2FzdD8nKSB9fScsIG1vZGU6IFsncHJvcGVydGllcyddLAorICAgICAg ICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ3RleHQnCisgICAgICAgIH0s eworICAgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDone3sgXygn Q29tbWVudCcpIH19JywgZ3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0n LAorICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZ3JvdXA6ICdQcm9wZXJ0aWVz JworICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgIHZhbGlkYXRlOiBm dW5jdGlvbihrZXlzKXsKKyAgICAgICAgLyoKKyAgICAgICAgICAgICogVHJp Z2dlcnMgc3BlY2lmaWMgZXJyb3IgbWVzc2FnZXMgZm9yIHNyY3R5cCBhbmQK KyAgICAgICAgICAgICogdHJndHlwIGlmIGFueSBvbmUgb2YgdGhlbSBpcyBu b3Qgc2VsZWN0ZWQKKyAgICAgICAgKi8KKyAgICAgICAgICB2YXIgc3JjdHlw ZSA9IHRoaXMuZ2V0KCdzcmN0eXAnKTsKKyAgICAgICAgICB2YXIgdHJndHlw ZSA9IHRoaXMuZ2V0KCd0cmd0eXAnKTsKKyAgICAgICAgICBpZiAoXy5pc1Vu ZGVmaW5lZChzcmN0eXBlKSB8fCBfLmlzTnVsbChzcmN0eXBlKSB8fCBTdHJp bmcoc3JjdHlwZSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykg eworICAgICAgICAgICAgdmFyIG1zZyA9ICd7eyBfKCdTb3VyY2UgdHlwZSBt dXN0IGJlIHNlbGVjdGVkIScpIH19JzsKKyAgICAgICAgICAgIHRoaXMuZXJy b3JNb2RlbC5zZXQoJ3NyY3R5cCcsIG1zZyk7CisgICAgICAgICAgICByZXR1 cm4gbXNnOworICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAg ICAgeworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdzcmN0 eXAnKTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpZiAoXy5pc1VuZGVm aW5lZCh0cmd0eXBlKSB8fCBfLmlzTnVsbCh0cmd0eXBlKSB8fCBTdHJpbmco dHJndHlwZSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgewor ICAgICAgICAgICAgdmFyIG1zZyA9ICd7eyBfKCdUYXJnZXQgdHlwZSBtdXN0 IGJlIHNlbGVjdGVkIScpIH19JzsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC5zZXQoJ3RyZ3R5cCcsIG1zZyk7CisgICAgICAgICAgICByZXR1cm4g bXNnOworICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAgICAg eworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCd0cmd0eXAn KTsKKyAgICAgICAgICB9CisgICAgICAgICAgdGhpcy50cmlnZ2VyKCdvbi1z dGF0dXMtY2xlYXInKTsKKyAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAg ICAgfQorICAgICAgfSkKKyAgfSk7CisKKyAgfQorICAgIHJldHVybiBwZ0Jy b3dzZXIuTm9kZXNbJ2NvbGwtY2FzdCddOworfSk7ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3RlbXBs YXRlcy9jYXN0L3NxbC85LjBfcGx1cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nh c3RzL3RlbXBsYXRlcy9jYXN0L3NxbC85LjBfcGx1cy9jcmVhdGUuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZTQ2YjMKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVtcGxhdGVzL2Nhc3Qv c3FsLzkuMF9wbHVzL2NyZWF0ZS5zcWwKQEAgLTAsMCArMSwxOSBAQAoreyMg PT09PT09PT09PSBCZWxvdyBTUUwgd2lsbCBjcmVhdGUgY2FzdCA9PT09PT09 PT09PSAjfQoreyUgaWYgZGF0YSBhbmQgZGF0YS5zcmN0eXAgYW5kIGRhdGEu dHJndHlwICV9CisgIENSRUFURSBDQVNUICh7e2RhdGEuc3JjdHlwfX0gQVMg e3tkYXRhLnRyZ3R5cH19KQorICB7JSBpZiBkYXRhLnByb25hbWUgJX0KKyAg ICBXSVRIIEZVTkNUSU9OIHt7ZGF0YS5wcm9uYW1lfX0KKyAgeyUgZWxzZSAl fQorICAgIFdJVEhPVVQgRlVOQ1RJT04KKyAgeyUgZW5kaWYgJX0KKyAgeyUg aWYgZGF0YS5jYXN0Y29udGV4dCA9PSAndHJ1ZScgJX0KKyAgICBBUyBJTVBM SUNJVAorICB7JSBlbmRpZiAlfTsKKworeyMgPT09PT09PT09PSBCZWxvdyBj cmVhdGVzIGRlc2NyaXB0aW9uIGZvciBjYXN0ID09PT09PT09PT09ICN9Cisg IHslIGlmIGRhdGEuZGVzY3JpcHRpb24gJX0KKyAgICBDT01NRU5UIE9OIENB U1QgKHt7IGRhdGEuc3JjdHlwIH19IEFTIHt7IGRhdGEudHJndHlwIH19KQor ICAgICAgSVMge3sgZGF0YS5kZXNjcmlwdGlvbnxxdExpdGVyYWwgfX07Cisg IHslIGVuZGlmICV9CisKK3slIGVuZGlmICV9ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3RlbXBsYXRl cy9jYXN0L3NxbC85LjBfcGx1cy9kZWxldGUuc3FsIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3Rz L3RlbXBsYXRlcy9jYXN0L3NxbC85LjBfcGx1cy9kZWxldGUuc3FsCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YTFiMGEKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVtcGxhdGVzL2Nhc3Qvc3Fs LzkuMF9wbHVzL2RlbGV0ZS5zcWwKQEAgLTAsMCArMSwxMCBAQAoreyUgaWYg Y2lkICV9CisgIFNFTEVDVAorICAgIGNhLmNhc3Rzb3VyY2UgaW4gY2FzdHNv dXJjZSwKKyAgICBjYS5jYXN0dGFyZ2V0IGluIGNhc3R0YXJnZXQKKyAgRlJP TQorICAgIHBnX2Nhc3QgY2EKKyAgV0hFUkUKKyAgICBjYS5vaWQgPSB7e2Np ZH19OjpPSUQKK3slIGVuZGlmICV9CitEUk9QIENBU1QgKGNvbm58cXRJZGVu dChjYXN0c291cmNlKSBBUyBjb25ufHF0SWRlbnQoY2FzdHRhcmdldCkpIHsl IGlmIGNhc2NhZGUgJX1DQVNDQURFeyVlbmRpZiV9OwpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZW1w bGF0ZXMvY2FzdC9zcWwvOS4wX3BsdXMvZnVuY3Rpb25zLnNxbCBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9jYXN0cy90ZW1wbGF0ZXMvY2FzdC9zcWwvOS4wX3BsdXMvZnVuY3Rpb25z LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGEx YjE1Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3RlbXBsYXRl cy9jYXN0L3NxbC85LjBfcGx1cy9mdW5jdGlvbnMuc3FsCkBAIC0wLDAgKzEs MTcgQEAKK1NFTEVDVAorICBwcm9uYW1lLAorICBuc3BuYW1lLAorICBwcm9h cmd0eXBlcworRlJPTQorICBwZ19wcm9jIHAgSk9JTiBwZ19uYW1lc3BhY2Ug biBPTiBuLm9pZD1wLnByb25hbWVzcGFjZQorV0hFUkUKKyAgcHJvYXJndHlw ZXNbMF0gPSAoU0VMRUNUIHQub2lkIEZST00gcGdfdHlwZSB0IFdIRVJFIGZv cm1hdF90eXBlKHQub2lkLCBOVUxMKSA9IHt7c3JjdHlwfHF0TGl0ZXJhbH19 KQorICBBTkQgcHJvcmV0dHlwZSA9IChTRUxFQ1QgdC5vaWQgRlJPTSBwZ190 eXBlIHQgV0hFUkUgZm9ybWF0X3R5cGUodC5vaWQsIE5VTEwpID0ge3t0cmd0 eXB8cXRMaXRlcmFsfX0pCisgIEFORAorICAgIENBU0UKKyAgICBXSEVOIGFy cmF5X2xlbmd0aChwcm9hcmd0eXBlcywxKSAgPSAyIFRIRU4KKyAgICAgIHBy b2FyZ3R5cGVzWzFdID0gMjMKKyAgICBXSEVOIGFycmF5X2xlbmd0aChwcm9h cmd0eXBlcywxKSAgPj0gMyBUSEVOCisgICAgICBwcm9hcmd0eXBlc1sxXSA9 IDIzIEFORCBwcm9hcmd0eXBlc1syXSA9IDE2CisgICAgRUxTRSBUUlVFCisg ICAgRU5ECmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVtcGxhdGVzL2Nh c3Qvc3FsLzkuMF9wbHVzL2dldHNyY2FuZHRyZ3R0eXBlLnNxbCBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9jYXN0cy90ZW1wbGF0ZXMvY2FzdC9zcWwvOS4wX3BsdXMvZ2V0c3JjYW5k dHJndHR5cGUuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjFlMDVjY2IKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMv dGVtcGxhdGVzL2Nhc3Qvc3FsLzkuMF9wbHVzL2dldHNyY2FuZHRyZ3R0eXBl LnNxbApAQCAtMCwwICsxLDQzIEBACitTRUxFQ1QKKyAgICAqCitGUk9NICgK KwkgICAgU0VMRUNUIGZvcm1hdF90eXBlKHQub2lkLE5VTEwpIEFTIHR5cG5h bWUsCisJCUNBU0UKKwkJICBXSEVOIHR5cGVsZW0gPiAwIFRIRU4gdHlwZWxl bQorCSAgICAgIEVMU0UgdC5vaWQKKwkJRU5EIGFzIGVsZW1vaWQsCisJCSAg dHlwbGVuLAorCQkgIHR5cHR5cGUsCisJCSAgdC5vaWQsCisJICAgICAgbnNw bmFtZSwKKwkJICAoU0VMRUNUIENPVU5UKDEpIEZST00gcGdfdHlwZSB0MiBX SEVSRSB0Mi50eXBuYW1lID0gdC50eXBuYW1lKSA+IDEgQVMgaXNkdXAKKwkg ICAgRlJPTQorCSAgICAgIHBnX3R5cGUgdAorCSAgICAgIEpPSU4gcGdfbmFt ZXNwYWNlIG5zcCBPTiB0eXBuYW1lc3BhY2U9bnNwLm9pZAorCQlXSEVSRQor CQkgIChOT1QgKHR5cG5hbWUgPSAndW5rbm93bicKKwkJICAgQU5EIG5zcG5h bWUgPSAncGdfY2F0YWxvZycpKQorCQkgICBBTkQgdHlwaXNkZWZpbmVkCisJ CSAgIEFORCB0eXB0eXBlIElOICgnYicsICdjJywgJ2UnLCAncicpCisJCSAg IEFORCBOT1QgRVhJU1RTICgKKwkJICAgICAgICAgICAgICAgICAgICAgU0VM RUNUCisJCSAgICAgICAgICAgICAgICAgICAgICAgMQorCQkgICAgICAgICAg ICAgICAgICAgICBGUk9NCisJCSAgICAgICAgICAgICAgICAgICAgICAgcGdf Y2xhc3MKKwkJICAgICAgICAgICAgICAgICAgICAgV0hFUkUKKwkJICAgICAg ICAgICAgICAgICAgICAgICByZWxuYW1lc3BhY2UgPSB0eXBuYW1lc3BhY2UK KwkJICAgICAgICAgICAgICAgICAgICAgICBBTkQgcmVsbmFtZSA9IHR5cG5h bWUKKwkJICAgICAgICAgICAgICAgICAgICAgICBBTkQgcmVsa2luZCAhPSAn YycpCisJCSAgICAgICAgICAgICAgICAgICAgICAgQU5EICh0eXBuYW1lIE5P VCBMSUtFICdfJScKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9S IE5PVCBFWElTVFMgKAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTRUxFQ1QKKwkJICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisJCSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZST00KKwkJICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw Z19jbGFzcworCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBXSEVSRQorCQkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlbG5hbWVzcGFjZSA9IHR5cG5hbWVz cGFjZQorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFORCByZWxuYW1lID0gU1VCU1RSSU5HKHR5cG5hbWUgRlJP TSAyKTo6bmFtZQorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFORCByZWxraW5kICE9ICdjJykpCisJCSAgIEFO RCBuc3AubnNwbmFtZSAhPSAnaW5mb3JtYXRpb25fc2NoZW1hJyApIEFTIGR1 bW15CitPUkRFUiBCWQorICBuc3BuYW1lIDw+ICdwZ19jYXRhbG9nJywgbnNw bmFtZSA8PiAncHVibGljJywgbnNwbmFtZSwgMQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2Nhc3RzL3RlbXBsYXRlcy9jYXN0L3NxbC85LjBfcGx1cy9wcm9wZXJ0 aWVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZW1wbGF0ZXMvY2FzdC9zcWwvOS4w X3BsdXMvcHJvcGVydGllcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNjk3NDc5ZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9jYXN0cy90ZW1wbGF0ZXMvY2FzdC9zcWwvOS4wX3BsdXMvcHJvcGVydGll cy5zcWwKQEAgLTAsMCArMSw1OCBAQAoreyMgPT09PT09PT0gQmVsb3cgU1FM IHdpbGwgZmV0Y2ggaWQgZm9yIGdpdmVuIGNhc3QgPT09PT09PT0gI30KK3sl IGlmIHNyY3R5cCBhbmQgdHJndHlwICV9CisgIFNFTEVDVAorICAgIGNhLm9p ZAorICBGUk9NIHBnX2Nhc3QgY2EKKyAgV0hFUkUgcGdfY2FzdC5jYXN0c291 cmNlID0gKFNFTEVDVCB0Lm9pZCBGUk9NIHBnX3R5cGUgdCBXSEVSRSBmb3Jt YXRfdHlwZSh0Lm9pZCwgTlVMTCkgPSB7e3NyY3R5cHxxdExpdGVyYWx9fSkK KyAgQU5EIHBnX2Nhc3QuY2FzdHRhcmdldCA9IChTRUxFQ1QgdC5vaWQgRlJP TSBwZ190eXBlIHQgV0hFUkUgZm9ybWF0X3R5cGUodC5vaWQsIE5VTEwpID0g e3t0cmd0eXB8cXRMaXRlcmFsfX0pCisgIHslIGlmIGRhdGxhc3RzeXNvaWQg JX0KKyAgIEFORCBjYS5vaWQgPiB7e2RhdGxhc3RzeXNvaWR9fTo6T0lECisg IHslIGVuZGlmICV9CisKK3slIGVsc2UgJX0KKyAgU0VMRUNUCisgICAgY2Eu b2lkLAorICBDQVNFCisgICAgV0hFTiB7e2RhdGxhc3RzeXNvaWR9fTo6T0lE ID4gY2Eub2lkIHRoZW4gJ1lFUycgRUxTRSAnTk8nCisgIEVORCBBUyBzeXNj YXN0LAorICBDQVNFCisgICAgV0hFTiBjYS5jYXN0Y29udGV4dCA9ICdhJyBU SEVOICdBU1NJR05NRU5UJworICAgIFdIRU4gY2EuY2FzdGNvbnRleHQgPSAn aScgVEhFTiAnSU1QTElDSVQnCisgICAgV0hFTiBjYS5jYXN0Y29udGV4dCA9 ICdlJyBUSEVOICdFWFBMSUNJVCcKKyAgRU5EIEFTIGNhc3Rjb250ZXh0LAor ICBDQVNFCisgICAgV0hFTiBwcm9uYW1lIElTIE5VTEwgVEhFTiAnYmluYXJ5 IGNvbXBhdGlibGUnCisgIEVORCBBUyBwcm9uYW1lLAorICAgIGNhLmNhc3Rm dW5jLAorICAgIGZvcm1hdF90eXBlKHN0Lm9pZCxOVUxMKSBBUyBzcmN0eXAs CisgICAgZm9ybWF0X3R5cGUodHQub2lkLHR0LnR5cHR5cG1vZCkgQVMgdHJn dHlwLAorICAgIG5zLm5zcG5hbWUgQVMgc3JjbnNwbmFtZSwKKyAgICBudC5u c3BuYW1lIEFTIHRyZ25zcG5hbWUsCisgICAgbnAubnNwbmFtZSBBUyBwcm9u c3BuYW1lLAorICAgIGRlc2NyaXB0aW9uLAorICAgIGNvbmNhdChmb3JtYXRf dHlwZShzdC5vaWQsTlVMTCksJy0+Jyxmb3JtYXRfdHlwZSh0dC5vaWQsdHQu dHlwdHlwbW9kKSkgYXMgbmFtZQorICBGUk9NIHBnX2Nhc3QgY2EKKyAgSk9J TiBwZ190eXBlIHN0IE9OIHN0Lm9pZD1jYXN0c291cmNlCisgIEpPSU4gcGdf bmFtZXNwYWNlIG5zIE9OIG5zLm9pZD1zdC50eXBuYW1lc3BhY2UKKyAgSk9J TiBwZ190eXBlIHR0IE9OIHR0Lm9pZD1jYXN0dGFyZ2V0CisgIEpPSU4gcGdf bmFtZXNwYWNlIG50IE9OIG50Lm9pZD10dC50eXBuYW1lc3BhY2UKKyAgTEVG VCBKT0lOIHBnX3Byb2MgcHIgT04gcHIub2lkPWNhc3RmdW5jCisgIExFRlQg Sk9JTiBwZ19uYW1lc3BhY2UgbnAgT04gbnAub2lkPXByLnByb25hbWVzcGFj ZQorICBMRUZUIE9VVEVSIEpPSU4gcGdfZGVzY3JpcHRpb24gZGVzIE9OIChk ZXMub2Jqb2lkPWNhLm9pZCBBTkQgZGVzLm9ianN1YmlkPTAgQU5EIGRlcy5j bGFzc29pZD0ncGdfY2FzdCc6OnJlZ2NsYXNzKQorCisgIHslIGlmIGNpZCAl fQorICAgIFdIRVJFIGNhLm9pZD17e2NpZH19OjppbnQKKyAgeyUgZW5kaWYg JX0KKworLS1UT0RPOiBhZGQgY2hlY2sgZm9yIHNob3dTeXN0ZW1PYmplY3Qo KS4gY3VycmVudGx5IGFzc3VtZWQgYXMgZmFsc2UKKyAgeyUgaWYgZGF0bGFz dHN5c29pZCAlfQorICAgIHslIGlmIGNpZCAlfQorICAgICAgQU5ECisgICAg eyUgZWxzZSAlfQorICAgICAgV0hFUkUKKyAgICB7JSBlbmRpZiAlfQorICAg IGNhLm9pZCA+IHt7ZGF0bGFzdHN5c29pZH19OjpPSUQKKyAgeyUgZW5kaWYg JX0KKworICBPUkRFUiBCWSBzdC50eXBuYW1lLCB0dC50eXBuYW1lCit7JSBl bmRpZiAlfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9jYXN0cy90ZW1wbGF0ZXMvY2FzdC9zcWwvOS4wX3BsdXMv dXBkYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZW1wbGF0ZXMvY2FzdC9zcWwv OS4wX3BsdXMvdXBkYXRlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5jYzE0MWU3Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L2Nhc3RzL3RlbXBsYXRlcy9jYXN0L3NxbC85LjBfcGx1cy91cGRhdGUuc3Fs CkBAIC0wLDAgKzEsNiBAQAoreyMgPT09PT09PT09PT1CZWxvdyBTUUwgd2ls bCB1cGRhdGUgY2FzdCBjb21tZW50cz09PT09PT09PT09PT09PT09PT0gI30K KworeyUgIGlmIGRhdGEgYW5kIGRhdGEuZGVzY3JpcHRpb24gYW5kIGRhdGEu ZGVzY3JpcHRpb24gIT0gb19kYXRhLmRlc2NyaXB0aW9uICV9CisgIENPTU1F TlQgT04gQ0FTVCAoe3tvX2RhdGEuc3JjdHlwfX0gQVMge3tvX2RhdGEudHJn dHlwfX0pCisgICAgSVMge3sgZGF0YS5kZXNjcmlwdGlvbiB9fTsKK3slIGVu ZGlmICV9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo= --94eb2c0b00c00941890529b0cbbf 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 --94eb2c0b00c00941890529b0cbbf--