Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1aQWM5-0001ZA-MS for pgadmin-hackers@arkaria.postgresql.org; Tue, 02 Feb 2016 08:30:34 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1aQWM5-0001ff-8P for pgadmin-hackers@arkaria.postgresql.org; Tue, 02 Feb 2016 08:30:33 +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 1aQWM0-0001fZ-4A for pgadmin-hackers@postgresql.org; Tue, 02 Feb 2016 08:30:28 +0000 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1aQWLx-0001mh-0y for pgadmin-hackers@postgresql.org; Tue, 02 Feb 2016 08:30:27 +0000 Received: by mail-wm0-x22f.google.com with SMTP id l66so10889640wml.0 for ; Tue, 02 Feb 2016 00:30:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:content-type; bh=Y3GIamXugXlqeI+O5M8B3pvkhCjBObBiZZDhrc4Ls5A=; b=XiTo+AEskhFvIUIlUaD9C33J7LZ4s7htAJEaOV72ieLHAb01T1chsW3z2j3BOXt1IC cGzSpPHB2GKj8oIJyVh7g5ugcRMFIhexnhn/OaL48RP6qCxLyd0GCSAhVPbYtwso2X7p Pj2jffJ9W8Rx5urGdejbwJU5C+qpSnxeGRsXb5GPj3XlwQc2Hcmo80D/JsxVcSh3gtS5 okQVAP4QbRSRO2kWkiywvmxkOt8kaB6cIvylwHz1aYIkYPUmcb4JtN59Y0E2s5DH2WKq 8joIxmdJP+gKbfDDtSetUjfDA1T4nDEQWpuxBg6iuhc/18HzW31nHoW4lOOC3dkdo5J0 +kyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=Y3GIamXugXlqeI+O5M8B3pvkhCjBObBiZZDhrc4Ls5A=; b=nHgf0ctcQ/AWq6+CNb1FnTZvTuFqchD0bEMPWuH8DuCcPgFUCrWc7QYKmlooKqD+93 jhCS1CuSodbPglTjA/RMhDlzFHeIqfZUEPS8S3IKf9hkaMWG/cpUdy4dDocW+g6cSy3D fojonk4/0UZuk7M70D9iK8rAnbbjO1SVSnKU+jCiY1KUCWRnAExTdN/ezYQPpJZyYwXA c3Nv7XqCmdUxJ0VIWh/IWcGuGhjgdOqIG0f9lzN/BT2fFBaQL5qMIVPawakYuWcOcTB9 w3svr487mR+OUXQWtvbGZaTiXmUtE/KYZIRB27frtZizKKW0DBjKamOG87siF49rB/5O bO8w== X-Gm-Message-State: AG10YORcDBQtzSaiNhHlDEh+qfDyMS0dLr2Blgx+BtuerIP0OK4RCPFEgxHDZ5rrDBIZyl0atrWxwccR6zKDZ310 X-Received: by 10.28.7.72 with SMTP id 69mr17348286wmh.50.1454401823732; Tue, 02 Feb 2016 00:30:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.15.66 with HTTP; Tue, 2 Feb 2016 00:29:54 -0800 (PST) From: Surinder Kumar Date: Tue, 2 Feb 2016 13:59:54 +0530 Message-ID: Subject: [pgAdmin4] PATCH: View and Role Node To: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a11443a3a10a9ad052ac550f5 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 --001a11443a3a10a9ad052ac550f5 Content-Type: multipart/alternative; boundary=001a11443a3a10a9a8052ac550f3 --001a11443a3a10a9a8052ac550f3 Content-Type: text/plain; charset=UTF-8 Hi, Please find the patch for the View and its child node Rule. You have to apply database node and SqlFieldControl patch to run it. Please review it and Let me know for any comments. Regards, Surinder Kumar --001a11443a3a10a9a8052ac550f3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,


Please find the patc= h for the View and its child node Rule.
You have to apply databas= e node and SqlFieldControl patch to run it.

Please review it and Let me know for any comments.=


Regards,
Surinde= r Kumar
--001a11443a3a10a9a8052ac550f3-- --001a11443a3a10a9ad052ac550f5 Content-Type: application/octet-stream; name="View_and_Roles_node.patch" Content-Disposition: attachment; filename="View_and_Roles_node.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ik558edz0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvX19pbml0X18ucHkKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTc3NjEyMgotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL19faW5pdF9fLnB5CkBA IC0wLDAgKzEsNjA5IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENv cHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3Bt ZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0 aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworaW1wb3J0IGpzb24KK2Zyb20gZmxhc2sgaW1wb3J0IHJl bmRlcl90ZW1wbGF0ZSwgbWFrZV9yZXNwb25zZSwgcmVxdWVzdCwganNvbmlm eQorZnJvbSBmbGFzay5leHQuYmFiZWwgaW1wb3J0IGdldHRleHQKK2Zyb20g cGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBtYWtlX2pzb25fcmVzcG9uc2Us IFwKKyAgICBtYWtlX3Jlc3BvbnNlIGFzIGFqYXhfcmVzcG9uc2UsIGludGVy bmFsX3NlcnZlcl9lcnJvcgorZnJvbSBwZ2FkbWluLmJyb3dzZXIudXRpbHMg aW1wb3J0IFBHQ2hpbGROb2RlVmlldworZnJvbSBwZ2FkbWluLmJyb3dzZXIu Y29sbGVjdGlvbiBpbXBvcnQgQ29sbGVjdGlvbk5vZGVNb2R1bGUKK2ltcG9y dCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFi YXNlcyBhcyBkYXRhYmFzZXMgCitmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBp bXBvcnQgcHJlY29uZGl0aW9uX3JlcXVpcmVkCitmcm9tIHBnYWRtaW4udXRp bHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCitmcm9tIGNvbmZpZyBpbXBv cnQgUEdfREVGQVVMVF9EUklWRVIKK2Zyb20gZnVuY3Rvb2xzIGltcG9ydCB3 cmFwcworZnJvbSAucGFyc2VfZGVmaW5pdGlvbiBpbXBvcnQgcGFyc2VfZGVm aW5pdGlvbiAKKwordHJ5OgorICAgIHVuaWNvZGUgPSB1bmljb2RlCitleGNl cHQgTmFtZUVycm9yOgorICAgICMgJ3VuaWNvZGUnIGlzIHVuZGVmaW5lZCwg bXVzdCBiZSBQeXRob24gMworICAgIHN0ciA9IHN0ciAKKyAgICB1bmljb2Rl ID0gc3RyIAorICAgIGJ5dGVzID0gYnl0ZXMKKyAgICBiYXNlc3RyaW5nID0g KHN0cixieXRlcykKK2Vsc2U6CisgICAgIyAndW5pY29kZScgZXhpc3RzLCBt dXN0IGJlIFB5dGhvbiAyCisgICAgc3RyID0gc3RyIAorICAgIHVuaWNvZGUg PSB1bmljb2RlCisgICAgYnl0ZXMgPSBzdHIgCisgICAgYmFzZXN0cmluZyA9 IGJhc2VzdHJpbmcKKworCitjbGFzcyBWaWV3TW9kdWxlKENvbGxlY3Rpb25O b2RlTW9kdWxlKToKKyAgICBOT0RFX1RZUEUgPSAndmlldycKKyAgICBDT0xM RUNUSU9OX0xBQkVMID0gZ2V0dGV4dCgiVmlld3MiKQorCisgICAgZGVmIF9f aW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYu bWluX3ZlciA9IE5vbmUKKyAgICAgICAgc2VsZi5tYXhfdmVyID0gTm9uZQor CisgICAgICAgIHN1cGVyKFZpZXdNb2R1bGUsIHNlbGYpLl9faW5pdF9fKCph cmdzLCAqKmt3YXJncykKKworICAgICMgQmVmb3JlIGxvYWRpbmcgdGhpcyBt b2R1bGUgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBzY2lkIGlzIGNhdGFs b2cgYW5kIHNjaGVtYSBvYmplY3QKKyAgICAjIGFuZCBjYXRhbG9nIG5hbWUg aXMgJ3N5cycsICdkYm8nLCAnaW5mb3JtYXRpb25fc2NoZW1hJyB0aGVuIG9u bHkgd2UgbG9hZCB0aGlzIG1vZHVsZQorICAgIGRlZiBCYWNrZW5kU3VwcG9y dGVkKHNlbGYsIG1hbmFnZXIsICoqa3dhcmdzKToKKyAgICAgICAgIiIiCisg ICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCB2YWxpZGF0ZSBzY2hlbWEgbmFt ZSAmIHNjaWQgYWdhaW5zdCBjYXRhbG9ncyB0aGVuIGFsbG93IHVzIHRvIAor ICAgICAgICBtYWtlIGRpc3Npb24gaWYgd2Ugd2FudCB0byBsb2FkIHRoaXMg bW9kdWxlIG9yIG5vdCBmb3IgdGhhdCBzY2hlbWEKKyAgICAgICAgIiIiCisg ICAgICAgIGlmIHN1cGVyKFZpZXdNb2R1bGUsIHNlbGYpLkJhY2tlbmRTdXBw b3J0ZWQobWFuYWdlciwgKiprd2FyZ3MpOgorICAgICAgICAgICAgY29ubiA9 IG1hbmFnZXIuY29ubmVjdGlvbigpCisgICAgICAgICAgICAjIElmIERCIGlz IG5vdCBjb25uZWN0ZWQgdGhlbiByZXR1cm4gZXJyb3IgdG8gYnJvd3Nlcgor ICAgICAgICAgICAgaWYgbm90IGNvbm4uY29ubmVjdGVkKCk6CisgICAgICAg ICAgICAgICAgcmV0dXJuIHByZWNvbmRpdGlvbl9yZXF1aXJlZCgKKyAgICAg ICAgICAgICAgICAgICAgZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiQ29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGhhcyBiZWVuIGxv c3QhIgorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAg KQorICAgICAgICAgICAgdmVyID0gbWFuYWdlci52ZXJzaW9uCisgICAgICAg ICAgICBzZXJ2ZXJfdHlwZSA9IG1hbmFnZXIuc2VydmVyX3R5cGUKKyAgICAg ICAgICAgICMgd2Ugd2lsbCBzZXQgdGVtcGxhdGUgcGF0aCBmb3Igc3FsIHNj cmlwdHMKKyAgICAgICAgICAgIGlmIHNlcnZlcl90eXBlID09ICdwcGFzJyBh bmQgdmVyID49IDkwMTAwOgorICAgICAgICAgICAgICAgIHRlbXBsYXRlX3Bh dGggPSAndGVtcGxhdGVzL3ZpZXdzL3NxbC9lZGJfOS4xX3BsdXMnCisgICAg ICAgICAgICBlbGlmIHZlciA+PSA5MDEwMDoKKyAgICAgICAgICAgICAgICB0 ZW1wbGF0ZV9wYXRoID0gJ3RlbXBsYXRlcy92aWV3cy9zcWwvOS40X3BsdXMn CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgTm90ZTog VmlldyBpcyBub3Qgc3VwcG9ydGVkIGJlbG93IHBvc3RncmVzIHZlcnNpb24g OS4xCisgICAgICAgICAgICAgICAgIyBIZW5jZSB3ZSB3aWxsIG5vdCBsb2Fk IHRoaXMgbW9kdWxlCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisK KyAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihb dGVtcGxhdGVfcGF0aCwgJ2JhY2tlbmRfc3VwcG9ydC5zcWwnXSksIHNjaWQ9 a3dhcmdzWydzY2lkJ10pCisgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IGNv bm4uZXhlY3V0ZV9zY2FsYXIoU1FMKQorICAgICAgICAgICAgIyBjaGVjayBp ZiBhbnkgZXJyb3JzCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAg ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9cmVzKQorICAgICAgICAgICAgIyBDaGVjayBzY2lkIGlzIGNhdGFs b2cgYW5kIGZyb20gJ3N5cycsICdkYm8nLCAnaW5mb3JtYXRpb25fc2NoZW1h JywKKyAgICAgICAgICAgICMgdGhlbiBGYWxzZSAoRG8gbm90IGxvYWQgdGhp cyBtb2R1bGUpLCBvdGhld2lzZSBUcnVlCisgICAgICAgICAgICBpZiByZXMg aXMgVHJ1ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAg ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKwor ICAgIGRlZiBnZXRfbm9kZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCk6 CisgICAgICAgICIiIgorICAgICAgICBHZW5lcmF0ZSB0aGUgY29sbGVjdGlv biBub2RlCisgICAgICAgICIiIgorICAgICAgICB5aWVsZCBzZWxmLmdlbmVy YXRlX2Jyb3dzZXJfY29sbGVjdGlvbl9ub2RlKHNjaWQpCisKKyAgICBAcHJv cGVydHkKKyAgICBkZWYgc2NyaXB0X2xvYWQoc2VsZik6CisgICAgICAgICIi IgorICAgICAgICBMb2FkIHRoZSBtb2R1bGUgc2NyaXB0IGZvciB2aWV3LCB3 aGVuIGFueSBvZiB0aGUgZGF0YWJhc2Ugbm9kZSBpcworICAgICAgICBpbml0 aWFsaXplZC4gaXQgaXMgYmVjYXVzZSB2aWV3cyBhcmUgdW5kZXIgY2F0YWxv Z3MgYW5kIHNjaGVtYXMgLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJu IGRhdGFiYXNlcy5EYXRhYmFzZU1vZHVsZS5OT0RFX1RZUEUKKworICAgIEBw cm9wZXJ0eQorICAgIGRlZiBjc3NzbmlwcGV0cyhzZWxmKToKKyAgICAgICAg IiIiCisgICAgICAgIFJldHVybnMgYSBzbmlwcGV0IG9mIGNzcyB0byBpbmNs dWRlIGluIHRoZSBwYWdlCisgICAgICAgICIiIgorICAgICAgICBzbmlwcGV0 cyA9IFsKKyAgICAgICAgICAgICAgICByZW5kZXJfdGVtcGxhdGUoCisgICAg ICAgICAgICAgICAgICAgICJicm93c2VyL2Nzcy9jb2xsZWN0aW9uLmNzcyIs CisgICAgICAgICAgICAgICAgICAgIG5vZGVfdHlwZT1zZWxmLm5vZGVfdHlw ZSwKKyAgICAgICAgICAgICAgICAgICAgXz1nZXR0ZXh0CisgICAgICAgICAg ICAgICAgICAgICksCisgICAgICAgICAgICAgICAgcmVuZGVyX3RlbXBsYXRl KAorICAgICAgICAgICAgICAgICAgICAidGVtcGxhdGVzL3ZpZXdzL2Nzcy92 aWV3LmNzcyIsCisgICAgICAgICAgICAgICAgICAgIG5vZGVfdHlwZT1zZWxm Lm5vZGVfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgXz1nZXR0ZXh0Cisg ICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBdCisKKyAg ICAgICAgZm9yIHN1Ym1vZHVsZSBpbiBzZWxmLnN1Ym1vZHVsZXM6CisgICAg ICAgICAgICBzbmlwcGV0cy5leHRlbmQoc3VibW9kdWxlLmNzc3NuaXBwZXRz KQorCisgICAgICAgIHJldHVybiBzbmlwcGV0cworCisjIFNldCB0ZW1wbGF0 ZV9mb2xkZXIgdG8gdmlld3MsYXMgdmlldyBhbHNvIHVzZXMgcnVsZXMgc3Fs IHRlbXBsYXRlcy4KK2JsdWVwcmludCA9IFZpZXdNb2R1bGUoX19uYW1lX18s IHRlbXBsYXRlX2ZvbGRlcj0iLi4vdmlld3MiKQorCisKK2NsYXNzIFZpZXdO b2RlKFBHQ2hpbGROb2RlVmlldyk6CisgICAgbm9kZV90eXBlID0gYmx1ZXBy aW50Lm5vZGVfdHlwZQorCisgICAgcGFyZW50X2lkcyA9IFsKKyAgICAgICAg ICAgIHsndHlwZSc6ICdpbnQnLCAnaWQnOiAnZ2lkJ30sCisgICAgICAgICAg ICB7J3R5cGUnOiAnaW50JywgJ2lkJzogJ3NpZCd9LAorICAgICAgICAgICAg eyd0eXBlJzogJ2ludCcsICdpZCc6ICdkaWQnfSwKKyAgICAgICAgICAgIHsn dHlwZSc6ICdpbnQnLCAnaWQnOiAnc2NpZCd9CisgICAgICAgICAgICBdCisg ICAgaWRzID0gWworICAgICAgICAgICAgeyd0eXBlJzogJ2ludCcsICdpZCc6 ICd2aWQnfQorICAgICAgICAgICAgXQorCisgICAgb3BlcmF0aW9ucyA9IGRp Y3QoeworICAgICAgICAnb2JqJzogWworICAgICAgICAgICAgeydnZXQnOiAn cHJvcGVydGllcycsICdkZWxldGUnOiAnZGVsZXRlJywgJ3B1dCc6ICd1cGRh dGUnfSwKKyAgICAgICAgICAgIHsnZ2V0JzogJ2xpc3QnLCAncG9zdCc6ICdj cmVhdGUnfQorICAgICAgICBdLAorICAgICAgICAnY2hpbGRyZW4nOiBbewor ICAgICAgICAgICAgJ2dldCc6ICdjaGlsZHJlbicKKyAgICAgICAgfV0sCisg ICAgICAgICdkZWxldGUnOiBbeydkZWxldGUnOiAnZGVsZXRlJ31dLAorICAg ICAgICAnbm9kZXMnOiBbeydnZXQnOiAnbm9kZSd9LCB7J2dldCc6ICdub2Rl cyd9XSwKKyAgICAgICAgJ3NxbCc6IFt7J2dldCc6ICdzcWwnfV0sCisgICAg ICAgICdtc3FsJzogW3snZ2V0JzogJ21zcWwnfSwgeydnZXQnOiAnbXNxbCd9 XSwKKyAgICAgICAgJ3N0YXRzJzogW3snZ2V0JzogJ3N0YXRpc3RpY3MnfV0s CisgICAgICAgICdkZXBlbmRlbmN5JzogW3snZ2V0JzogJ2RlcGVuZGVuY2ll cyd9XSwKKyAgICAgICAgJ2RlcGVuZGVudCc6IFt7J2dldCc6ICdkZXBlbmRl bnRzJ31dLAorICAgICAgICAnbW9kdWxlLmpzJzogW3t9LCB7fSwgeydnZXQn OiAnbW9kdWxlX2pzJ31dLAorICAgICAgICAnY29uZmlncyc6IFt7J2dldCc6 ICdjb25maWdzJ31dCisgICAgfSkKKworICAgIGRlZiBtb2R1bGVfanMoc2Vs Zik6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIHByb3BlcnR5IGRlZmlu ZXMgKGlmIGphdmFzY3JpcHQpIGV4aXN0cyBmb3IgdGhpcyBub2RlLgorICAg ICAgICBPdmVycmlkZSB0aGlzIHByb3BlcnR5IGZvciB5b3VyIG93biBsb2dp Yy4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBtYWtlX3Jlc3BvbnNl KAorICAgICAgICAgICAgICAgIHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAg ICAgICAgICAgICAgInRlbXBsYXRlcy92aWV3cy9qcy92aWV3cy5qcyIsCisg ICAgICAgICAgICAgICAgICAgIF89Z2V0dGV4dAorICAgICAgICAgICAgICAg ICAgICApLAorICAgICAgICAgICAgICAgIDIwMCwgeydDb250ZW50LVR5cGUn OiAnYXBwbGljYXRpb24veC1qYXZhc2NyaXB0J30KKyAgICAgICAgICAgICAg ICApCisKKyAgICBkZWYgY2hlY2tfcHJlY29uZGl0aW9uKGYpOgorICAgICAg ICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGJlaGF2ZSBhcyBh IGRlY29yYXRvciB3aGljaCB3aWxsIGNoZWNrcworICAgICAgICBkYXRhYmFz ZSBjb25uZWN0aW9uIGJlZm9yZSBydW5uaW5nIHZpZXcsIGl0IHdpbGwgYWxz byBhdHRhY2hlcworICAgICAgICBtYW5hZ2VyLGNvbm4gJiB0ZW1wbGF0ZV9w YXRoIHByb3BlcnRpZXMgdG8gc2VsZgorICAgICAgICAiIiIKKyAgICAgICAg QHdyYXBzKGYpCisgICAgICAgIGRlZiB3cmFwKCphcmdzLCAqKmt3YXJncyk6 CisgICAgICAgICAgICAjIEhlcmUgYXJnc1swXSB3aWxsIGhvbGQgc2VsZiAm IGt3YXJncyB3aWxsIGhvbGQgZ2lkLHNpZCxkaWQKKyAgICAgICAgICAgIHNl bGYgPSBhcmdzWzBdCisgICAgICAgICAgICBzZWxmLm1hbmFnZXIgPSBnZXRf ZHJpdmVyKFBHX0RFRkFVTFRfRFJJVkVSKS5jb25uZWN0aW9uX21hbmFnZXIo a3dhcmdzWydzaWQnXSkKKyAgICAgICAgICAgIHNlbGYuY29ubiA9IHNlbGYu bWFuYWdlci5jb25uZWN0aW9uKGRpZD1rd2FyZ3NbJ2RpZCddKQorICAgICAg ICAgICAgIyBJZiBEQiBub3QgY29ubmVjdGVkIHRoZW4gcmV0dXJuIGVycm9y IHRvIGJyb3dzZXIKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmNvbm4uY29u bmVjdGVkKCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHByZWNvbmRpdGlv bl9yZXF1aXJlZCgKKyAgICAgICAgICAgICAgICAgICAgZ2V0dGV4dCgKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29ubmVjdGlvbiB0byB0aGUg c2VydmVyIGhhcyBiZWVuIGxvc3QhIgorICAgICAgICAgICAgICAgICAgICAp CisgICAgICAgICAgICAgICAgKQorCisgICAgICAgICAgICBzZWxmLmRhdGxh c3RzeXNvaWQgPSBzZWxmLm1hbmFnZXIuZGJfaW5mb1trd2FyZ3NbJ2RpZCdd XVsnZGF0bGFzdHN5c29pZCddCisgICAgICAgICAgICB2ZXIgPSBzZWxmLm1h bmFnZXIudmVyc2lvbgorICAgICAgICAgICAgIyB3ZSB3aWxsIHNldCB0ZW1w bGF0ZSBwYXRoIGZvciBzcWwgc2NyaXB0cworICAgICAgICAgICAgaWYgdmVy ID49IDkwNDAwOgorICAgICAgICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0 aCA9ICd0ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzJworICAgICAgICAg ICAgZWxpZiB2ZXIgPj0gOTAzMDA6CisgICAgICAgICAgICAgICAgc2VsZi50 ZW1wbGF0ZV9wYXRoID0gJ3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3BsdXMn CisgICAgICAgICAgICBlbGlmIHZlciA+PSA5MDIwMDoKKyAgICAgICAgICAg ICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAndGVtcGxhdGVzL3ZpZXdzL3Nx bC85LjJfcGx1cycKKyAgICAgICAgICAgIGVsaWYgdmVyID49IDkwMTAwOgor ICAgICAgICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICd0ZW1wbGF0 ZXMvdmlld3Mvc3FsLzkuMV9wbHVzJworICAgICAgICAgICAgZWxzZToKKyAg ICAgICAgICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAndGVtcGxhdGVz L3ZpZXdzL3NxbC9wcmVfOS4xJworCisgICAgICAgICAgICByZXR1cm4gZigq YXJncywgKiprd2FyZ3MpCisKKyAgICAgICAgcmV0dXJuIHdyYXAKKworICAg IEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgbGlzdChzZWxmLCBnaWQs IHNpZCwgZGlkLCBzY2lkKToKKyAgICAgICAgIiIiCisgICAgICAgIEl0IGZl dGNoZXMgYWxsIHZpZXdzIHByb3BlcnRpZXMgYW5kIHJlbmRlciBpbnRvIHBy b3BlcnRpZXMKKyAgICAgICAgdGFiCisgICAgICAgICIiIgorICAgICAgICBT UUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVf cGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLCBzY2lkPXNjaWQpCisgICAgICAg IHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCisg ICAgICAgIAorICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAg cmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisg ICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKAorICAgICAgICAgICAgICAg IHJlc3BvbnNlPXJlc1sncm93cyddLAorICAgICAgICAgICAgICAgIHN0YXR1 cz0yMDAKKyAgICAgICAgICAgICAgICApCisKKyAgICBAY2hlY2tfcHJlY29u ZGl0aW9uCisgICAgZGVmIG5vZGVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNj aWQpOgorICAgICAgICAiIiIKKyAgICAgICAgSXQgbGlzdHMgZG93biB0aGUg YWxsIHZpZXdzIHVuZGVyIHRoZSBWaWV3cyBDb2xsZWN0aW9uIG5vZGUKKyAg ICAgICAgIiIiCisgICAgICAgIHJlcyA9IFtdCisgICAgICAgIFNRTCA9IHJl bmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAn cHJvcGVydGllcy5zcWwnXSksIHNjaWQ9c2NpZCkKKyAgICAgICAgc3RhdHVz LCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCisgICAg ICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJu YWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJzZXQpCisKKyAgICAgICAgZm9y IHJvdyBpbiByc2V0Wydyb3dzJ106CisgICAgICAgICAgICByZXMuYXBwZW5k KAorICAgICAgICAgICAgICAgICAgICBzZWxmLmJsdWVwcmludC5nZW5lcmF0 ZV9icm93c2VyX25vZGUoCisgICAgICAgICAgICAgICAgICAgICAgICByb3db J29pZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgcm93WyduYW1lJ10s CisgICAgICAgICAgICAgICAgICAgICAgICBpY29uPSJwZy1pY29uLXZpZXci CisgICAgICAgICAgICAgICAgICAgICkpCisKKyAgICAgICAgcmV0dXJuIG1h a2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRhPXJlcywK KyAgICAgICAgICAgICAgICBzdGF0dXM9MjAwCisgICAgICAgICAgICAgICAg KQorCisgICAgZGVmIHBhcnNlX3ZpZXdzX3ByaXZpbGVnZXMoc2VsZiwgZGJf cHJpdmlsZWdlcyk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0 aW9uIGZvcm1zIHNlcGFyYXRlIGxpc3Qgb2YgZ3JhbnRhYmxlCisgICAgICAg IGFuZCBub24gZ3JhbnRhYmxlIHByaXZpbGVnZXMuCisgICAgICAgICIiIgor ICAgICAgICBhY2wgPSB7J2dyYW50b3InOmRiX3ByaXZpbGVnZXNbJ2dyYW50 b3InXSwKKyAgICAgICAgICAgICAgICAnZ3JhbnRlZSc6ZGJfcHJpdmlsZWdl c1snZ3JhbnRlZSddLAorICAgICAgICAgICAgICAgICdwcml2aWxlZ2VzJzpb XQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICBwcml2aWxlZ2VzID0g W10KKyAgICAgICAgZm9yIGlkeCwgcHJpdiBpbiBlbnVtZXJhdGUoZGJfcHJp dmlsZWdlc1sncHJpdmlsZWdlcyddKToKKyAgICAgICAgICAgIGlmIGRiX3By aXZpbGVnZXNbJ2dyYW50YWJsZSddW2lkeF06CisgICAgICAgICAgICAgICAg cHJpdmlsZWdlcy5hcHBlbmQoeyJwcml2aWxlZ2VfdHlwZSI6IHByaXYsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdl IjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJ3aXRoX2dyYW50IjogVHJ1ZQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg ICBwcml2aWxlZ2VzLmFwcGVuZCh7InByaXZpbGVnZV90eXBlIjogcHJpdiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxl Z2UiOiBUcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIndpdGhfZ3JhbnQiOiBGYWxzZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9KQorCisgICAgICAgIGFjbFsncHJpdmlsZWdlcyddID0g cHJpdmlsZWdlcworCisgICAgICAgIHJldHVybiBhY2wKKworICAgIEBjaGVj a19wcmVjb25kaXRpb24KKyAgICBkZWYgcHJvcGVydGllcyhzZWxmLCBnaWQs IHNpZCwgZGlkLCBzY2lkLCB2aWQpOgorICAgICAgICAiIiIKKyAgICAgICAg SXQgZmV0Y2hlcyB0aGUgcHJvcGVydGllcyBvZiBhbiBpbmRpdmlkdWFsIHZp ZXcgCisgICAgICAgIGFuZCByZW5kZXIgaW4gcHJvcGVydGllcyB0YWIKKwor ICAgICAgICAiIiIKKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIv Ii5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCdd KSwgdmlkPXZpZCwgZGF0bGFzdHN5c29pZCA9IHNlbGYuZGF0bGFzdHN5c29p ZCkKKyAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9k aWN0KFNRTCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAg IHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQor ICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYu dGVtcGxhdGVfcGF0aCwgJ2FjbC5zcWwnXSksIHZpZD12aWQpCisgICAgICAg IHN0YXR1cywgZGF0YWNscmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChT UUwpCisgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1 cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKyAgICAg ICAgCisgICAgICAgIGZvciByb3cgaW4gZGF0YWNscmVzWydyb3dzJ106Cisg ICAgICAgICAgICBwcml2ID0gc2VsZi5wYXJzZV92aWV3c19wcml2aWxlZ2Vz KHJvdykKKyAgICAgICAgICAgIGlmIHJvd1snZGVmdHlwZSddIGluIHJlc1sn cm93cyddWzBdOgorICAgICAgICAgICAgICAgIHJlc1sncm93cyddWzBdW3Jv d1snZGVmdHlwZSddXS5hcHBlbmQocHJpdikKKyAgICAgICAgICAgIGVsc2U6 CisgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bcm93WydkZWZ0eXBl J11dID0gW3ByaXZdCisKKyAgICAgICAgcmVzdWx0ID0gcmVzWydyb3dzJ11b MF0KKyAgICAgICAgIyBzZW5kaW5nIHJlc3VsdCB0byBmb3JtdHRlcgorICAg ICAgICBmcm10ZF9yZXNsdCA9IHNlbGYuZm9ybWF0dGVyKHJlc3VsdCkKKyAg ICAgICAgIyBtZXJnaW5nIGZvcm1hdGVkIHJlc3VsdCB3aXRoIG1haW4gcmVz dWx0IGFnYWluCisgICAgICAgIHJlc3VsdC51cGRhdGUoZnJtdGRfcmVzbHQp CisgICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKAorICAgICAgICAgICAg ICAgIHJlc3BvbnNlPXJlc3VsdCwKKyAgICAgICAgICAgICAgICBzdGF0dXM9 MjAwCisgICAgICAgICAgICAgICAgKQorCisgICAgQHN0YXRpY21ldGhvZAor ICAgIGRlZiBmb3JtYXR0ZXIocmVzdWx0KToKKyAgICAgICAgIiIiIFRoaXMg ZnVuY3Rpb24gZm9ybWF0cyBvdXRwdXQgZm9yCisgICAgICAgIHNlY3VyaXR5 IGxhYmVsICYgdmFyaWFibGVzIiIiCisgICAgICAgIGZybXRkX3Jlc3VsdCA9 IGRpY3QoKQorICAgICAgICBzZWNfbGJscyA9IFtdCisgICAgICAgIGlmICdz ZWNsYWJlbHMnIGluIHJlc3VsdCBhbmQgcmVzdWx0WydzZWNsYWJlbHMnXSBp cyBub3QgTm9uZToKKyAgICAgICAgICAgIGZvciBzZWMgaW4gcmVzdWx0Wydz ZWNsYWJlbHMnXToKKyAgICAgICAgICAgICAgICBzZWMgPSByZS5zZWFyY2go cicoW149XSspPSguKiQpJywgc2VjKQorICAgICAgICAgICAgICAgIHNlY19s YmxzLmFwcGVuZCh7CisgICAgICAgICAgICAgICAgICAgICdwcm92aWRlcic6 IHNlYy5ncm91cCgxKSwKKyAgICAgICAgICAgICAgICAgICAgJ3NlY3VyaXR5 X2xhYmVsJzogc2VjLmdyb3VwKDIpCisgICAgICAgICAgICAgICAgICAgIH0p CisgICAgICAgIAorICAgICAgICBmcm10ZF9yZXN1bHQudXBkYXRlKHsic2Vj bGFiZWxzIiA6c2VjX2xibHN9KQorICAgICAgICAjIHJldHVybmluZyBmaW5h bCByZXN1bHQKKyAgICAgICAgcmV0dXJuIGZybXRkX3Jlc3VsdAorCisgICAg QGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBjcmVhdGUoc2VsZiwgZ2lk LCBzaWQsIGRpZCwgc2NpZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlz IGZ1bmN0aW9uIHdpbGwgY3JlYXRlcyBuZXcgdmlldyBvYmplY3QKKyAgICAg ICAgIiIiCisgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSBbCisgICAgICAgICAg ICAnbmFtZScsCisgICAgICAgICAgICAnZGVmaW5pdGlvbicKKyAgICAgICAg XQorCisgICAgICAgIGRhdGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5m b3JtIGVsc2UganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisg ICAgICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKKyAgICAgICAgICAg IGlmIGFyZyBub3QgaW4gZGF0YToKKyAgICAgICAgICAgICAgICByZXR1cm4g bWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAgICAgICBzdGF0 dXM9NDEwLAorICAgICAgICAgICAgICAgICAgICBzdWNjZXNzPTAsCisgICAg ICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoCisgICAgICAgICAg ICAgICAgICAgICAgICAiQ291bGRuJ3QgZmluZCB0aGUgcmVxdWlyZWQgcGFy YW1ldGVyICglcykuIiAlIGFyZworICAgICAgICAgICAgICAgICAgICApCisg ICAgICAgICAgICAgICAgKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBT UUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVf cGF0aCwgJ2NyZWF0ZS5zcWwnXSksIGRhdGE9ZGF0YSkKKyAgICAgICAgICAg IHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfc2NhbGFyKFNRTCkK KyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAg cmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisg ICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3Nl bGYudGVtcGxhdGVfcGF0aCwgJ3ZpZXdfaWQuc3FsJ10pLCBkYXRhPWRhdGEp CisgICAgICAgICAgICBzdGF0dXMsIHZpZXdfaWQgPSBzZWxmLmNvbm4uZXhl Y3V0ZV9zY2FsYXIoU1FMKQorICAgICAgICAgICAgaWYgbm90IHN0YXR1czoK KyAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9y KGVycm9ybXNnPXZpZXdfaWQpCisgICAgICAgICAgICByZXR1cm4ganNvbmlm eSgKKyAgICAgICAgICAgICAgICBub2RlPXNlbGYuYmx1ZXByaW50LmdlbmVy YXRlX2Jyb3dzZXJfbm9kZSgKKyAgICAgICAgICAgICAgICAgICAgdmlld19p ZCwKKyAgICAgICAgICAgICAgICAgICAgZGF0YVsnbmFtZSddLAorICAgICAg ICAgICAgICAgICAgICBpY29uPSJwZy1pY29uLXZpZXciCisgICAgICAgICAg ICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICBleGNlcHQgRXhjZXB0 aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVy X2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworICAgIEBjaGVja19wcmVjb25k aXRpb24KKyAgICBkZWYgdXBkYXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNj aWQsIHZpZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9u IHdpbGwgdXBkYXRlIHZpZXcgb2JqZWN0CisgICAgICAgICIiIgorICAgICAg ICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpz b24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAgICAgICBTUUwg PSBzZWxmLmdldFNRTChnaWQsIHNpZCwgZGF0YSwgdmlkKQorICAgICAgICB0 cnk6CisgICAgICAgICAgICBpZiBTUUwgYW5kIGlzaW5zdGFuY2UoU1FMLCBi YXNlc3RyaW5nKSBhbmQgU1FMLnN0cmlwKCdcbicpIGFuZCBTUUwuc3RyaXAo JyAnKToKKyAgICAgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29u bi5leGVjdXRlX3NjYWxhcihTUUwpCisgICAgICAgICAgICAgICAgaWYgbm90 IHN0YXR1czoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAgICAgICAg ICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAg ICAgICBzdWNjZXNzPTEsCisgICAgICAgICAgICAgICAgICAgIGluZm89IlZp ZXcgdXBkYXRlZCIsCisgICAgICAgICAgICAgICAgICAgIGRhdGE9eworICAg ICAgICAgICAgICAgICAgICAgICAgJ2lkJzogdmlkLAorICAgICAgICAgICAg ICAgICAgICAgICAgJ3NpZCc6IHNpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICdnaWQnOiBnaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAnZGlk JzogZGlkCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg ICApCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVy biBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgICAgIHN1 Y2Nlc3M9MSwKKyAgICAgICAgICAgICAgICAgICAgaW5mbz0iTm90aGluZyB0 byB1cGRhdGUiLAorICAgICAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAg ICAgICAgICAgICAgICAgICAgICdpZCc6IHZpZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICdzaWQnOiBzaWQsCisgICAgICAgICAgICAgICAgICAgICAg ICAnZ2lkJzogZ2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2RpZCc6 IGRpZAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg KQorCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3Ry KGUpKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBkZWxl dGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdmlkKToKKyAgICAgICAg IiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBkcm9wIHRoZSB2aWV3 IG9iamVjdAorICAgICAgICAiIiIKKyAgICAgICAgIyBCZWxvdyB3aWxsIGRl Y2lkZSBpZiBpdCdzIHNpbXBsZSBkcm9wIG9yIGRyb3Agd2l0aCBjYXNjYWRl IGNhbGwKKyAgICAgICAgY2FzY2FkZSA9IFRydWUgaWYgc2VsZi5jbWQgPT0g J2RlbGV0ZScgZWxzZSBGYWxzZQorCisgICAgICAgIHRyeToKKyAgICAgICAg ICAgICMgR2V0IG5hbWUgZm9yIHZpZXcgZnJvbSBkaWQKKyAgICAgICAgICAg IFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLCAnZGVsZXRlLnNxbCddKSwgdmlkPXZpZCkKKyAgICAgICAgICAg IHN0YXR1cywgcmVzX2RhdGEgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNR TCkKKyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAg ICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1uYW1l KQorICAgICAgICAgICAgIyBkcm9wIHZpZXcKKyAgICAgICAgICAgIFNRTCA9 IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRo LCAnZGVsZXRlLnNxbCddKSwgbnNwbmFtZT1yZXNfZGF0YVsncm93cyddWzBd Wyduc3BuYW1lJ10sIG5hbWU9cmVzX2RhdGFbJ3Jvd3MnXVswXVsnbmFtZSdd LCBjYXNjYWRlPWNhc2NhZGUpCisgICAgICAgICAgICBzdGF0dXMsIHJlcyA9 IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihTUUwpCisgICAgICAgICAgICBp ZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5h bF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAgICBy ZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAgIHN1 Y2Nlc3M9MSwKKyAgICAgICAgICAgICAgICBpbmZvPWdldHRleHQoIlZpZXcg ZHJvcHBlZCIpLAorICAgICAgICAgICAgICAgIGRhdGE9eworICAgICAgICAg ICAgICAgICAgICAnaWQnOiB2aWQsCisgICAgICAgICAgICAgICAgICAgICdz aWQnOiBzaWQsCisgICAgICAgICAgICAgICAgICAgICdnaWQnOiBnaWQsCisg ICAgICAgICAgICAgICAgICAgICdkaWQnOiBkaWQKKyAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICApCisKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlv biBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9l cnJvcihlcnJvcm1zZz1zdHIoZSkpCisKKyAgICBAY2hlY2tfcHJlY29uZGl0 aW9uCisgICAgZGVmIG1zcWwoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwg dmlkPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlv biB0byByZXR1cm4gbW9kaWZpZWQgU1FMCisgICAgICAgICIiIgorICAgICAg ICBkYXRhID0ge30KKyAgICAgICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdz Lml0ZW1zKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAg ZGF0YVtrXSA9IGpzb24ubG9hZHModikKKyAgICAgICAgICAgIGV4Y2VwdCBW YWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIGRhdGFba10gPSB2CisKKyAg ICAgICAgU1FMID0gc2VsZi5nZXRTUUwoZ2lkLCBzaWQsIGRhdGEsIHZpZCkK KyAgICAgICAgaWYgU1FMIGFuZCBpc2luc3RhbmNlKFNRTCwgYmFzZXN0cmlu ZykgYW5kIFNRTC5zdHJpcCgnXG4nKSBhbmQgU1FMLnN0cmlwKCcgJyk6Cisg ICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAg ICAgICAgICAgICAgICBkYXRhPVNRTCwKKyAgICAgICAgICAgICAgICAgICAg c3RhdHVzPTIwMAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgIGVs c2U6CisgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAor ICAgICAgICAgICAgICAgICAgICBkYXRhPSItLW1vZGlmaWVkIFNRTCIsCisg ICAgICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAgICAgICAgICAgICAg ICAgICAgKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBwYXJzZV9w cml2aWxlZ2VzKHN0cl9wcml2aWxlZ2VzLCBvYmplY3RfdHlwZT0gJ1ZJRVcn KToKKyAgICAgICAgIiIiUGFyc2UgUHJpdmlsZWdlcy4iIiIKKyAgICAgICAg ZGJfcHJpdmlsZWdlcyA9IHsKKyAgICAgICAgICAgICdhJzogJ0lOU0VSVCcs CisgICAgICAgICAgICAncic6ICdTRUxFQ1QnLAorICAgICAgICAgICAgJ3cn OiAnVVBEQVRFJywKKyAgICAgICAgICAgICdkJzogJ0RFTEVURScsCisgICAg ICAgICAgICAneCc6ICdSRUZFUkVOQ0UnLAorICAgICAgICAgICAgJ3QnOiAn VFJJR0dFUicKKyAgICAgICAgICAgIH0KKyAgICAgICAgcHJpdmlsZWdlcyA9 IFtdCisgICAgICAgIGZvciBwcml2IGluIHN0cl9wcml2aWxlZ2VzOgorICAg ICAgICAgICAgcHJpdl93aXRoX2dyYW50ID0gW10KKyAgICAgICAgICAgIHBy aXZfd2l0aG91dF9ncmFudCA9IFtdCisgICAgICAgICAgICBmb3IgcHJpdmls ZWdlIGluIHByaXZbJ3ByaXZpbGVnZXMnXToKKyAgICAgICAgICAgICAgICBp ZiBwcml2aWxlZ2VbJ3dpdGhfZ3JhbnQnXToKKyAgICAgICAgICAgICAgICAg ICAgcHJpdl93aXRoX2dyYW50LmFwcGVuZChkYl9wcml2aWxlZ2VzW3ByaXZp bGVnZVsncHJpdmlsZWdlX3R5cGUnXV0pCisgICAgICAgICAgICAgICAgZWxp ZiBwcml2aWxlZ2VbJ3ByaXZpbGVnZSddOgorICAgICAgICAgICAgICAgICAg ICBwcml2X3dpdGhvdXRfZ3JhbnQuYXBwZW5kKGRiX3ByaXZpbGVnZXNbcHJp dmlsZWdlWydwcml2aWxlZ2VfdHlwZSddXSkKKyAgICAgICAgICAgIHByaXZf d2l0aF9ncmFudCA9ICIsICIuam9pbihwcml2X3dpdGhfZ3JhbnQpCisgICAg ICAgICAgICBwcml2X3dpdGhvdXRfZ3JhbnQgPSAiLCAiLmpvaW4ocHJpdl93 aXRob3V0X2dyYW50KQorICAgICAgICAgICAgIyBTZXJ2ZXIgTGV2ZWwgdmFs aWRhdGlvbgorICAgICAgICAgICAgaWYgJ2dyYW50ZWUnIGluIHByaXY6Cisg ICAgICAgICAgICAgICAgcHJpdmlsZWdlcy5hcHBlbmQoeydncmFudGVlJzog cHJpdlsnZ3JhbnRlZSddIGlmICdncmFudGVlJyBpbiBwcml2IGVsc2UgJycs ICd3aXRoX2dyYW50JzogcHJpdl93aXRoX2dyYW50LCAnd2l0aG91dF9ncmFu dCc6IHByaXZfd2l0aG91dF9ncmFudH0pCisgICAgICAgICAgICBlbHNlOgor ICAgICAgICAgICAgCXJldHVybiAnJworICAgICAgICByZXR1cm4gcHJpdmls ZWdlcworCisgICAgZGVmIGdldFNRTChzZWxmLCBnaWQsIHNpZCwgZGF0YSwg dmlkPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlv biB3aWxsIGdlbnJhdGUgc3FsIGZyb20gbW9kZWwgZGF0YQorICAgICAgICAi IiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaWYgdmlkIGlzIG5vdCBO b25lOgorICAgICAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgi LyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwn XSksCisgICAgICAgICAgICAgICAgICB2aWQ9dmlkLAorICAgICAgICAgICAg ICAgICAgZGF0bGFzdHN5c29pZCA9IHNlbGYuZGF0bGFzdHN5c29pZAorICAg ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBzdGF0dXMsIHJlcyA9 IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQorICAgICAgICAgICAgICAg IGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAgICAgICAg ICAgICAgIG9sZF9kYXRhID0gcmVzWydyb3dzJ11bMF0KKworICAgICAgICAg ICAgICAgIGlmICduYW1lJyBub3QgaW4gZGF0YToKKyAgICAgICAgICAgICAg ICAgICAgZGF0YVsnbmFtZSddID0gcmVzWydyb3dzJ11bMF1bJ25hbWUnXQor ICAgICAgICAgICAgICAgIGlmICdzY2hlbWEnIG5vdCBpbiBkYXRhOgorICAg ICAgICAgICAgICAgICAgICBkYXRhWydzY2hlbWEnXSA9IHJlc1sncm93cydd WzBdWydzY2hlbWEnXQorCisgICAgICAgICAgICAgICAga2V5ID0gJ2RhdGFj bCcKKyAgICAgICAgICAgICAgICBpZiBrZXkgaW4gZGF0YSBhbmQgZGF0YVtr ZXldIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBpZiAnYWRk ZWQnIGluIGRhdGFba2V5XToKKyAgICAgICAgICAgICAgICAgICAgICAgIGRh dGFba2V5XVsnYWRkZWQnXSA9IHNlbGYucGFyc2VfcHJpdmlsZWdlcyhkYXRh W2tleV1bJ2FkZGVkJ10pCisgICAgICAgICAgICAgICAgICAgIGlmICdjaGFu Z2VkJyBpbiBkYXRhW2tleV06CisgICAgICAgICAgICAgICAgICAgICAgICBk YXRhW2tleV1bJ2NoYW5nZWQnXSA9IHNlbGYucGFyc2VfcHJpdmlsZWdlcyhk YXRhW2tleV1bJ2NoYW5nZWQnXSkKKyAgICAgICAgICAgICAgICAgICAgaWYg J2RlbGV0ZWQnIGluIGRhdGFba2V5XToKKyAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGFba2V5XVsnZGVsZXRlZCddID0gc2VsZi5wYXJzZV9wcml2aWxl Z2VzKGRhdGFba2V5XVsnZGVsZXRlZCddKQorICAgICAgICAgICAgICAgIFNR TCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLCAndXBkYXRlLnNxbCddKSwgZGF0YT1kYXRhLAorICAgICAgICAgICAg ICAgICAgICBvX2RhdGE9b2xkX2RhdGEsIGNvbm49c2VsZi5jb25uKQorICAg ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXF1aXJlZF9hcmdz ID0gWworICAgICAgICAgICAgICAgICAgICAnbmFtZScsCisgICAgICAgICAg ICAgICAgICAgICdzY2hlbWEnLAorICAgICAgICAgICAgICAgICAgICAnZGVm aW5pdGlvbicKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAg Zm9yIGFyZyBpbiByZXF1aXJlZF9hcmdzOgorICAgICAgICAgICAgICAgICAg ICBpZiBhcmcgbm90IGluIGRhdGE6CisgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gIiAtLSBkZWZpbml0aW9uIGluY29tcGxldGUiCisKKyAgICAg ICAgICAgICAgICBpZiAnZGF0YWNsJyBpbiBkYXRhIGFuZCBkYXRhWydkYXRh Y2wnXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgZGF0YVsn ZGF0YWNsJ10gPSBzZWxmLnBhcnNlX3ByaXZpbGVnZXMoZGF0YVsnZGF0YWNs J10pCisgICAgICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIv Ii5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdjcmVhdGUuc3FsJ10pLCBk YXRhPWRhdGEpCisgICAgICAgICAgICAgICAgaWYgZGF0YVsnZGVmaW5pdGlv biddOgorICAgICAgICAgICAgICAgICAgICBTUUwgKz0gIlxuIgorICAgICAg ICAgICAgICAgICAgICBTUUwgKz0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsICdncmFudC5zcWwnXSksIGRhdGE9ZGF0 YSkKKyAgICAgICAgICAgIHJldHVybiBTUUwKKworICAgICAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxf c2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworICAgIEBjaGVja19w cmVjb25kaXRpb24KKyAgICBkZWYgc3FsKHNlbGYsIGdpZCwgc2lkLCBkaWQs IHNjaWQsIHZpZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0 aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIHRvIHJlbmRlciBpbnRvIHNxbCBwYW5l bCAKKyAgICAgICAgIiIiCisgICAgICAgIFNRTF9kYXRhID0gJycKKyAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgICB2aWQ9 dmlkLAorICAgICAgICAgIGRhdGxhc3RzeXNvaWQgPSBzZWxmLmRhdGxhc3Rz eXNvaWQKKyAgICAgICAgKQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYu Y29ubi5leGVjdXRlX2RpY3QoU1FMKQorICAgICAgICBpZiBub3Qgc3RhdHVz OgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihl cnJvcm1zZz1yZXMpCisgICAgICAgIAorICAgICAgICAjIEZldGNoIGFsbCBw cml2aWxlZ2VzIGZvciB2aWV3CisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1w bGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnYWNsLnNxbCdd KSwgdmlkPXZpZCkKKyAgICAgICAgc3RhdHVzLCBkYXRhY2xyZXMgPSBzZWxm LmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKKyAgICAgICAgaWYgbm90IHN0YXR1 czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9cmVzKQorICAgICAgICAKKyAgICAgICAgZm9yIHJvdyBpbiBk YXRhY2xyZXNbJ3Jvd3MnXToKKyAgICAgICAgICAgIHByaXYgPSBzZWxmLnBh cnNlX3ZpZXdzX3ByaXZpbGVnZXMocm93KQorICAgICAgICAgICAgaWYgcm93 WydkZWZ0eXBlJ10gaW4gcmVzWydyb3dzJ11bMF06CisgICAgICAgICAgICAg ICAgcmVzWydyb3dzJ11bMF1bJ2RhdGFjbCddLmFwcGVuZChwcml2KQorICAg ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVsw XVsnZGF0YWNsJ10gPSBbcHJpdl0KKworICAgICAgICByZXN1bHQgPSByZXNb J3Jvd3MnXVswXQorICAgICAgICBpZiAnZGF0YWNsJyBpbiByZXN1bHQ6Cisg ICAgICAgICAgICByZXN1bHRbJ2RhdGFjbCddID0gc2VsZi5wYXJzZV9wcml2 aWxlZ2VzKHJlc3VsdFsnZGF0YWNsJ10pCisgICAgICAgIFNRTCA9IHJlbmRl cl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnY3Jl YXRlLnNxbCddKSwKKyAgICAgICAgICAgIGRhdGE9cmVzdWx0LAorICAgICAg ICAgICAgY29ubj1zZWxmLmNvbm4sCisgICAgICAgICAgICBkaXNwbGF5X2Nv bW1lbnRzPVRydWUKKyAgICAgICAgKQorICAgICAgICBTUUwgKz0gIlxuIgor ICAgICAgICBTUUwgKz0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxm LnRlbXBsYXRlX3BhdGgsICdncmFudC5zcWwnXSksIGRhdGE9cmVzdWx0KQor ICAgICAgICAKKyAgICAgICAgU1FMX2RhdGEgKz0gU1FMCisgICAgICAgICMg R2V0IGFsbCBub24gc3lzdGVtIHJ1bGVzIG9mIHZpZXcgbm9kZSwgZ2VuZXJh dGUgdGhlaXIgc3FsIGFuZCByZW5kZXIKKyAgICAgICAgIyBpbnRvIHNxbCB0 YWIKKyAgICAgICAgc2VsZi50ZW1wX3BhdGggPSAncnVsZXMvdGVtcGxhdGVz L3J1bGVzL3NxbCcKKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIv Ii5qb2luKFtzZWxmLnRlbXBfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLCB2 aWQ9dmlkKQorICAgICAgICBzdGF0dXMsIGRhdGFfcHJvcCA9IHNlbGYuY29u bi5leGVjdXRlX2RpY3QoU1FMKQorICAgICAgICBpZiBub3Qgc3RhdHVzOgor ICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJv cm1zZz1yZXMpCisgICAgICAgIAorICAgICAgICBmb3IgcnVsZSBpbiBkYXRh X3Byb3BbJ3Jvd3MnXToKKyAgICAgICAgICAgICMgR2VuZXJhdGUgU1FMIG9u bHkgZm9yIG5vbiBzeXN0ZW0gcnVsZQorICAgICAgICAgICAgaWYgcnVsZVsn bmFtZSddICE9ICdfUkVUVVJOJzoKKyAgICAgICAgICAgICAgICByZXMgPSBb XQorICAgICAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIu am9pbihbc2VsZi50ZW1wX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAg ICAgICAgICAgICAgICAgICAgcmlkPXJ1bGVbJ29pZCddCisgICAgICAgICAg ICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNl bGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQorICAgICAgICAgICAgICAgIHJl c19kYXRhID0gcGFyc2VfZGVmaW5pdGlvbihyZXMpCisgICAgICAgICAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBf cGF0aCwgJ2NyZWF0ZS5zcWwnXSksCisgICAgICAgICAgICAgICAgICAgIGRh dGE9cmVzX2RhdGEsIGRpc3BsYXlfY29tbWVudHM9VHJ1ZSkKKyAgICAgICAg ICAgICAgICBTUUxfZGF0YSArPSAnXG4nCisgICAgICAgICAgICAgICAgU1FM X2RhdGEgKz1TUUwKKworICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZShy ZXNwb25zZT1TUUxfZGF0YSkKKworVmlld05vZGUucmVnaXN0ZXJfbm9kZV92 aWV3KGJsdWVwcmludCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Zp ZXdzL3BhcnNlX2RlZmluaXRpb24ucHkgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy9wYXJzZV9kZWZpbml0aW9uLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjI1N2JlNjEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy92aWV3cy9wYXJzZV9kZWZpbml0aW9uLnB5CkBAIC0wLDAg KzEsNTQgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisj IHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0 IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVh bQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisKKworZGVmIHBhcnNlX2RlZmluaXRpb24ocmVzKToKKyAgICAiIiIK KyAgICBUaGlzIGZ1bmN0aW9uIGV4dHJhY3RzOgorICAgIC0gZXZlbnRzCisg ICAgLSBkb19pbnN0ZWFkCisgICAgLSBzdGF0ZW1lbnRzCisgICAgLSBjb25k aXRpb24KKyAgICBmcm9tIHRoZSBkZWZpbnRpb24gcm93LCBmb3JtIGFuIGFy cmF5IHdpdGgKKyAgICBmaWVsZHMgYW5kIHJldHVybiBpdC4KKyAgICAiIiIK KyAgICByZXNfZGF0YSA9IFtdCisgICAgdHJ5OgorICAgICAgICByZXNfZGF0 YSA9IHJlc1sncm93cyddWzBdCisgICAgICAgIGRhdGFfZGVmID0gcmVzX2Rh dGFbJ2RlZmluaXRpb24nXQorICAgICAgICBpbXBvcnQgcmUKKyAgICAgICAg IyBQYXJzZSBkYXRhIGZvciBldmVudAorICAgICAgICBlX21hdGNoID0gcmUu c2VhcmNoKHIiT05ccysoLiopXHMrVE8iLCBkYXRhX2RlZikKKyAgICAgICAg ZXZlbnRfZGF0YSA9IGVfbWF0Y2guZ3JvdXAoMSkgaWYgZV9tYXRjaCBpcyBu b3QgTm9uZSBlbHNlIE5vbmUKKyAgICAgICAgZXZlbnQgPSBldmVudF9kYXRh IGlmIGV2ZW50X2RhdGEgaXMgbm90IE5vbmUgZWxzZSAnJworCisgICAgICAg ICMgUGFyc2UgZGF0YSBmb3IgZG8gaW5zdGVhZAorICAgICAgICBpbnN0X21h dGNoID0gcmUuc2VhcmNoKHIiXHMrKElOU1RFQUQpXHMrIiwgZGF0YV9kZWYp CisgICAgICAgIGluc3RlYWRfZGF0YSA9IGluc3RfbWF0Y2guZ3JvdXAoMSkg aWYgaW5zdF9tYXRjaCBpcyBub3QgTm9uZSBlbHNlIE5vbmUKKyAgICAgICAg aW5zdGVhZCA9IFRydWUgaWYgaW5zdGVhZF9kYXRhIGlzIG5vdCBOb25lIGVs c2UgRmFsc2UKKworICAgICAgICAjIFBhcnNlIGRhdGEgZm9yIGNvbmRpdGlv bgorICAgICAgICBjb25kaXRpb25fbWF0Y2ggPSByZS5zZWFyY2gociIoPzpX SEVSRSlccysoLiopXHMrKD86RE8pIiwgZGF0YV9kZWYpCisgICAgICAgIGNv bmRpdGlvbl9kYXRhID0gY29uZGl0aW9uX21hdGNoLmdyb3VwKDEpIGlmIGNv bmRpdGlvbl9tYXRjaCBpcyBub3QgTm9uZVwKKyAgICAgICAgICAgIGVsc2Ug Tm9uZQorICAgICAgICBjb25kaXRpb24gPSBjb25kaXRpb25fZGF0YSBpZiBj b25kaXRpb25fZGF0YSBpcyBub3QgTm9uZSBlbHNlICcnCisKKyAgICAgICAg IyBQYXJzZSBkYXRhIGZvciBzdGF0ZW1lbnRzCisgICAgICAgIHN0YXRlbWVu dF9tYXRjaCA9IHJlLnNlYXJjaChyIig/OkRPXHMrKSg/OklOU1RFQURccysp PygoLnxcbikqKSIsIGRhdGFfZGVmKQorICAgICAgICBzdGF0ZW1lbnRfZGF0 YSA9IHN0YXRlbWVudF9tYXRjaC5ncm91cCgxKSBpZiBzdGF0ZW1lbnRfbWF0 Y2ggZWxzZSBOb25lCisgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudF9k YXRhIGlmIHN0YXRlbWVudF9kYXRhIGlzIG5vdCBOb25lIGVsc2UgJycKKwor ICAgICAgICAjIHNldCBjb2x1bW5zIHBhcnNlIGRhdGEKKyAgICAgICAgcmVz X2RhdGFbJ2V2ZW50J10gPSBldmVudC5sb3dlcigpLmNhcGl0YWxpemUoKQor ICAgICAgICByZXNfZGF0YVsnZG9faW5zdGVhZCddID0gaW5zdGVhZAorICAg ICAgICByZXNfZGF0YVsnc3RhdGVtZW50cyddID0gc3RhdGVtZW50CisgICAg ICAgIHJlc19kYXRhWydjb25kaXRpb24nXSA9IGNvbmRpdGlvbgorICAgIGV4 Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisgICAgcmV0dXJuIHJl c19kYXRhCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxl cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3J1bGVzL19f aW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu Ljc5YTAzYTkKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy9ydWxlcy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDQyNiBAQAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0g UG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2ltcG9ydCBq c29uCitmcm9tIGZsYXNrIGltcG9ydCByZW5kZXJfdGVtcGxhdGUsIG1ha2Vf cmVzcG9uc2UsIHJlcXVlc3QsIGpzb25pZnkKK2Zyb20gZmxhc2suZXh0LmJh YmVsIGltcG9ydCBnZXR0ZXh0Citmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBp bXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBcCisgICAgbWFrZV9yZXNwb25z ZSBhcyBhamF4X3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IKK2Zy b20gcGdhZG1pbi5icm93c2VyLnV0aWxzIGltcG9ydCBQR0NoaWxkTm9kZVZp ZXcKK2Zyb20gcGdhZG1pbi5icm93c2VyLmNvbGxlY3Rpb24gaW1wb3J0IENv bGxlY3Rpb25Ob2RlTW9kdWxlCitpbXBvcnQgcGdhZG1pbi5icm93c2VyLnNl cnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy52aWV3cyBh cyB2aWV3cyAKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBwcmVj b25kaXRpb25fcmVxdWlyZWQKK2Zyb20gcGdhZG1pbi51dGlscy5kcml2ZXIg aW1wb3J0IGdldF9kcml2ZXIKK2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZB VUxUX0RSSVZFUgorZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCitmcm9t IC4ucGFyc2VfZGVmaW5pdGlvbiBpbXBvcnQgcGFyc2VfZGVmaW5pdGlvbiAK KwordHJ5OgorICAgIHVuaWNvZGUgPSB1bmljb2RlCitleGNlcHQgTmFtZUVy cm9yOgorICAgICMgJ3VuaWNvZGUnIGlzIHVuZGVmaW5lZCwgbXVzdCBiZSBQ eXRob24gMworICAgIHN0ciA9IHN0ciAKKyAgICB1bmljb2RlID0gc3RyIAor ICAgIGJ5dGVzID0gYnl0ZXMKKyAgICBiYXNlc3RyaW5nID0gKHN0cixieXRl cykKK2Vsc2U6CisgICAgIyAndW5pY29kZScgZXhpc3RzLCBtdXN0IGJlIFB5 dGhvbiAyCisgICAgc3RyID0gc3RyIAorICAgIHVuaWNvZGUgPSB1bmljb2Rl CisgICAgYnl0ZXMgPSBzdHIgCisgICAgYmFzZXN0cmluZyA9IGJhc2VzdHJp bmcKKworCitjbGFzcyBSdWxlTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9kdWxl KToKKyAgICBOT0RFX1RZUEUgPSAncnVsZScKKyAgICBDT0xMRUNUSU9OX0xB QkVMID0gZ2V0dGV4dCgiUnVsZXMiKQorCisgICAgZGVmIF9faW5pdF9fKHNl bGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYubWluX3ZlciA9 IE5vbmUKKyAgICAgICAgc2VsZi5tYXhfdmVyID0gTm9uZQorCisgICAgICAg IHN1cGVyKFJ1bGVNb2R1bGUsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3 YXJncykKKworICAgICMgQmVmb3JlIGxvYWRpbmcgdGhpcyBtb2R1bGUgd2Ug bmVlZCB0byBtYWtlIHN1cmUgdGhhdCBzY2lkIGlzIGNhdGFsb2cgYW5kIHNj aGVtYSBvYmplY3QKKyAgICAjIGFuZCBjYXRhbG9nIG5hbWUgaXMgJ3N5cycs ICdkYm8nLCAnaW5mb3JtYXRpb25fc2NoZW1hJyB0aGVuIG9ubHkgd2UgbG9h ZCB0aGlzIG1vZHVsZQorICAgIGRlZiBCYWNrZW5kU3VwcG9ydGVkKHNlbGYs IG1hbmFnZXIsICoqa3dhcmdzKToKKyAgICAgICAgIiIiCisgICAgICAgIFRo aXMgZnVuY3Rpb24gd2lsbCB2YWxpZGF0ZSBzY2hlbWEgbmFtZSAmIHNjaWQg YWdhaW5zdCBjYXRhbG9ncyB0aGVuIGFsbG93IHVzIHRvIAorICAgICAgICBt YWtlIGRpc3Npb24gaWYgd2Ugd2FudCB0byBsb2FkIHRoaXMgbW9kdWxlIG9y IG5vdCBmb3IgdGhhdCBzY2hlbWEKKyAgICAgICAgIiIiCisgICAgICAgIGlm IHN1cGVyKFJ1bGVNb2R1bGUsIHNlbGYpLkJhY2tlbmRTdXBwb3J0ZWQobWFu YWdlciwgKiprd2FyZ3MpOgorICAgICAgICAgICAgY29ubiA9IG1hbmFnZXIu Y29ubmVjdGlvbigpCisgICAgICAgICAgICAjIElmIERCIGlzIG5vdCBjb25u ZWN0ZWQgdGhlbiByZXR1cm4gZXJyb3IgdG8gYnJvd3NlcgorICAgICAgICAg ICAgaWYgbm90IGNvbm4uY29ubmVjdGVkKCk6CisgICAgICAgICAgICAgICAg cmV0dXJuIHByZWNvbmRpdGlvbl9yZXF1aXJlZCgKKyAgICAgICAgICAgICAg ICAgICAgZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAi Q29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGhhcyBiZWVuIGxvc3QhIgorICAg ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAgICAg ICAgICAgdmVyID0gbWFuYWdlci52ZXJzaW9uCisgICAgICAgICAgICBzZXJ2 ZXJfdHlwZSA9IG1hbmFnZXIuc2VydmVyX3R5cGUKKyAgICAgICAgICAgIHRl bXBsYXRlX3BhdGggPSAncnVsZXMvc3FsJworICAgICAgICAgICAgU1FMID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnYmFj a2VuZF9zdXBwb3J0LnNxbCddKSwgc2NpZD1rd2FyZ3NbJ3NjaWQnXSkKKyAg ICAgICAgICAgIHN0YXR1cywgcmVzID0gY29ubi5leGVjdXRlX3NjYWxhcihT UUwpCisgICAgICAgICAgICAjIGNoZWNrIGlmIGFueSBlcnJvcnMKKyAgICAg ICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmV0dXJu IGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisgICAgICAg ICAgICAjIENoZWNrIHNjaWQgaXMgY2F0YWxvZyBhbmQgZnJvbSAnc3lzJywg J2RibycsICdpbmZvcm1hdGlvbl9zY2hlbWEnLAorICAgICAgICAgICAgIyB0 aGVuIEZhbHNlIChEbyBub3QgbG9hZCB0aGlzIG1vZHVsZSksIG90aGV3aXNl IFRydWUKKyAgICAgICAgICAgIGlmIHJlcyBpcyBUcnVlOgorICAgICAgICAg ICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgZWxzZToKKyAgICAg ICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGdldF9ub2Rlcyhz ZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCB2aWQpOgorICAgICAgICAiIiIK KyAgICAgICAgR2VuZXJhdGUgdGhlIGNvbGxlY3Rpb24gbm9kZQorICAgICAg ICAiIiIKKyAgICAgICAgeWllbGQgc2VsZi5nZW5lcmF0ZV9icm93c2VyX2Nv bGxlY3Rpb25fbm9kZSh2aWQpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYg c2NyaXB0X2xvYWQoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBMb2Fk IHRoZSBtb2R1bGUgc2NyaXB0IGZvciBydWxlLCB3aGVuIGFueSBvZiB0aGUg ZGF0YWJhc2Ugbm9kZSBpcworICAgICAgICBpbml0aWFsaXplZC4KKyAgICAg ICAgIiIiCisgICAgICAgIHJldHVybiB2aWV3cy5WaWV3TW9kdWxlLk5PREVf VFlQRQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGNzc3NuaXBwZXRzKHNl bGYpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJucyBhIHNuaXBwZXQg b2YgY3NzIHRvIGluY2x1ZGUgaW4gdGhlIHBhZ2UKKyAgICAgICAgIiIiCisg ICAgICAgIHNuaXBwZXRzID0gWworICAgICAgICAgICAgICAgIHJlbmRlcl90 ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAgICAgImJyb3dzZXIvY3NzL2Nv bGxlY3Rpb24uY3NzIiwKKyAgICAgICAgICAgICAgICAgICAgbm9kZV90eXBl PXNlbGYubm9kZV90eXBlLAorICAgICAgICAgICAgICAgICAgICBfPWdldHRl eHQKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICBy ZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgICAgICJydWxlcy9j c3MvcnVsZS5jc3MiLAorICAgICAgICAgICAgICAgICAgICBub2RlX3R5cGU9 c2VsZi5ub2RlX3R5cGUsCisgICAgICAgICAgICAgICAgICAgIF89Z2V0dGV4 dAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgXQor CisgICAgICAgIGZvciBzdWJtb2R1bGUgaW4gc2VsZi5zdWJtb2R1bGVzOgor ICAgICAgICAgICAgc25pcHBldHMuZXh0ZW5kKHN1Ym1vZHVsZS5jc3Nzbmlw cGV0cykKKworICAgICAgICByZXR1cm4gc25pcHBldHMKKworCitibHVlcHJp bnQgPSBSdWxlTW9kdWxlKF9fbmFtZV9fKQorCisKK2NsYXNzIFJ1bGVWaWV3 KFBHQ2hpbGROb2RlVmlldyk6CisgICAgbm9kZV90eXBlID0gYmx1ZXByaW50 Lm5vZGVfdHlwZQorCisgICAgcGFyZW50X2lkcyA9IFsKKyAgICAgICAgICAg IHsndHlwZSc6ICdpbnQnLCAnaWQnOiAnZ2lkJ30sCisgICAgICAgICAgICB7 J3R5cGUnOiAnaW50JywgJ2lkJzogJ3NpZCd9LAorICAgICAgICAgICAgeyd0 eXBlJzogJ2ludCcsICdpZCc6ICdkaWQnfSwKKyAgICAgICAgICAgIHsndHlw ZSc6ICdpbnQnLCAnaWQnOiAnc2NpZCd9LAorICAgICAgICAgICAgeyd0eXBl JzogJ2ludCcsICdpZCc6ICd2aWQnfQorICAgICAgICAgICAgXQorICAgIGlk cyA9IFsKKyAgICAgICAgICAgIHsndHlwZSc6ICdpbnQnLCAnaWQnOiAncmlk J30KKyAgICAgICAgICAgIF0KKworICAgIG9wZXJhdGlvbnMgPSBkaWN0KHsK KyAgICAgICAgJ29iaic6IFsKKyAgICAgICAgICAgIHsnZ2V0JzogJ3Byb3Bl cnRpZXMnLCAnZGVsZXRlJzogJ2RlbGV0ZScsICdwdXQnOiAndXBkYXRlJ30s CisgICAgICAgICAgICB7J2dldCc6ICdsaXN0JywgJ3Bvc3QnOiAnY3JlYXRl J30KKyAgICAgICAgXSwKKyAgICAgICAgJ2NoaWxkcmVuJzogW3sKKyAgICAg ICAgICAgICdnZXQnOiAnY2hpbGRyZW4nCisgICAgICAgIH1dLAorICAgICAg ICAnZGVsZXRlJzogW3snZGVsZXRlJzogJ2RlbGV0ZSd9XSwKKyAgICAgICAg J25vZGVzJzogW3snZ2V0JzogJ25vZGUnfSwgeydnZXQnOiAnbm9kZXMnfV0s CisgICAgICAgICdzcWwnOiBbeydnZXQnOiAnc3FsJ31dLAorICAgICAgICAn bXNxbCc6IFt7J2dldCc6ICdtc3FsJ30sIHsnZ2V0JzogJ21zcWwnfV0sCisg ICAgICAgICdzdGF0cyc6IFt7J2dldCc6ICdzdGF0aXN0aWNzJ31dLAorICAg ICAgICAnZGVwZW5kZW5jeSc6IFt7J2dldCc6ICdkZXBlbmRlbmNpZXMnfV0s CisgICAgICAgICdkZXBlbmRlbnQnOiBbeydnZXQnOiAnZGVwZW5kZW50cyd9 XSwKKyAgICAgICAgJ21vZHVsZS5qcyc6IFt7fSwge30sIHsnZ2V0JzogJ21v ZHVsZV9qcyd9XSwKKyAgICAgICAgJ2NvbmZpZ3MnOiBbeydnZXQnOiAnY29u Zmlncyd9XQorICAgIH0pCisKKyAgICBkZWYgbW9kdWxlX2pzKHNlbGYpOgor ICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBwcm9wZXJ0eSBkZWZpbmVzIChp ZiBqYXZhc2NyaXB0KSBleGlzdHMgZm9yIHRoaXMgbm9kZS4KKyAgICAgICAg T3ZlcnJpZGUgdGhpcyBwcm9wZXJ0eSBmb3IgeW91ciBvd24gbG9naWMuCisg ICAgICAgICIiIgorICAgICAgICByZXR1cm4gbWFrZV9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAg ICAgICAgICJydWxlcy9qcy9ydWxlcy5qcyIsCisgICAgICAgICAgICAgICAg ICAgIF89Z2V0dGV4dAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAg ICAgICAgICAgIDIwMCwgeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24v eC1qYXZhc2NyaXB0J30KKyAgICAgICAgICAgICAgICApCisKKyAgICBkZWYg Y2hlY2tfcHJlY29uZGl0aW9uKGYpOgorICAgICAgICAiIiIKKyAgICAgICAg VGhpcyBmdW5jdGlvbiB3aWxsIGJlaGF2ZSBhcyBhIGRlY29yYXRvciB3aGlj aCB3aWxsIGNoZWNrcworICAgICAgICBkYXRhYmFzZSBjb25uZWN0aW9uIGJl Zm9yZSBydW5uaW5nIHJ1bGUsIGl0IHdpbGwgYWxzbyBhdHRhY2hlcworICAg ICAgICBtYW5hZ2VyLGNvbm4gJiB0ZW1wbGF0ZV9wYXRoIHByb3BlcnRpZXMg dG8gc2VsZgorICAgICAgICAiIiIKKyAgICAgICAgQHdyYXBzKGYpCisgICAg ICAgIGRlZiB3cmFwKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICAj IEhlcmUgYXJnc1swXSB3aWxsIGhvbGQgc2VsZiAmIGt3YXJncyB3aWxsIGhv bGQgZ2lkLHNpZCxkaWQKKyAgICAgICAgICAgIHNlbGYgPSBhcmdzWzBdCisg ICAgICAgICAgICBzZWxmLm1hbmFnZXIgPSBnZXRfZHJpdmVyKFBHX0RFRkFV TFRfRFJJVkVSKS5jb25uZWN0aW9uX21hbmFnZXIoa3dhcmdzWydzaWQnXSkK KyAgICAgICAgICAgIHNlbGYuY29ubiA9IHNlbGYubWFuYWdlci5jb25uZWN0 aW9uKGRpZD1rd2FyZ3NbJ2RpZCddKQorICAgICAgICAgICAgIyBJZiBEQiBu b3QgY29ubmVjdGVkIHRoZW4gcmV0dXJuIGVycm9yIHRvIGJyb3dzZXIKKyAg ICAgICAgICAgIGlmIG5vdCBzZWxmLmNvbm4uY29ubmVjdGVkKCk6CisgICAg ICAgICAgICAgICAgcmV0dXJuIHByZWNvbmRpdGlvbl9yZXF1aXJlZCgKKyAg ICAgICAgICAgICAgICAgICAgZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiQ29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGhhcyBiZWVu IGxvc3QhIgorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAg ICAgKQorCisgICAgICAgICAgICBzZWxmLmRhdGxhc3RzeXNvaWQgPSBzZWxm Lm1hbmFnZXIuZGJfaW5mb1trd2FyZ3NbJ2RpZCddXVsnZGF0bGFzdHN5c29p ZCddCisgICAgICAgICAgICB2ZXIgPSBzZWxmLm1hbmFnZXIudmVyc2lvbgor ICAgICAgICAgICAgc2VsZi50ZW1wbGF0ZV9wYXRoID0gJ3J1bGVzL3NxbCcK KyAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJncykKKworICAg ICAgICByZXR1cm4gd3JhcAorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgor ICAgIGRlZiBsaXN0KHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHZpZCk6 CisgICAgICAgICIiIgorICAgICAgICBJdCBmZXRjaGVzIGFsbCBydWxlcyBw cm9wZXJ0aWVzIGFuZCByZW5kZXIgaW50byBwcm9wZXJ0aWVzCisgICAgICAg IHRhYgorICAgICAgICAiIiIKKyAgICAgICAgIyBmZXRjaCBzY2hlbWEgbmFt ZSBieSBzY2hlbWEgaWQKKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRl KCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNx bCddKSwgdmlkPXZpZCkKKyAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNv bm4uZXhlY3V0ZV9kaWN0KFNRTCkKKyAgICAgICAgCisgICAgICAgIGlmIG5v dCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVy X2Vycm9yKGVycm9ybXNnPXJlcykKKyAgICAgICAgcmV0dXJuIGFqYXhfcmVz cG9uc2UoCisgICAgICAgICAgICAgICAgcmVzcG9uc2U9cmVzWydyb3dzJ10s CisgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAgICAgICAgICAg ICkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgbm9kZXMo c2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdmlkKToKKyAgICAgICAgIiIi CisgICAgICAgIEl0IGxpc3RzIGRvd24gdGhlIGFsbCBydWxlcyB1bmRlciB0 aGUgUnVsZXMgQ29sbGVjdGlvbiBub2RlCisgICAgICAgICIiIgorICAgICAg ICByZXMgPSBbXQorICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8i LmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10p LCB2aWQ9dmlkKQorICAgICAgICBzdGF0dXMsIHJzZXQgPSBzZWxmLmNvbm4u ZXhlY3V0ZV8yZGFycmF5KFNRTCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoK KyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9cnNldCkKKyAgICAgICAgCisgICAgICAgIGZvciByb3cgaW4gcnNl dFsncm93cyddOgorICAgICAgICAgICAgcmVzLmFwcGVuZCgKKyAgICAgICAg ICAgICAgICAgICAgc2VsZi5ibHVlcHJpbnQuZ2VuZXJhdGVfYnJvd3Nlcl9u b2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgcm93WydvaWQnXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgIHJvd1snbmFtZSddLAorICAgICAgICAg ICAgICAgICAgICAgICAgaWNvbj0iaWNvbi1ydWxlIgorICAgICAgICAgICAg ICAgICAgICApKQorCisgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9u c2UoCisgICAgICAgICAgICAgICAgZGF0YT1yZXMsCisgICAgICAgICAgICAg ICAgc3RhdHVzPTIwMAorICAgICAgICAgICAgICAgICkKKworICAgIEBjaGVj a19wcmVjb25kaXRpb24KKyAgICBkZWYgcHJvcGVydGllcyhzZWxmLCBnaWQs IHNpZCwgZGlkLCBzY2lkLCB2aWQsIHJpZCk6CisgICAgICAgICIiIgorICAg ICAgICBJdCBmZXRjaGVzIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIGluZGl2aWR1 YWwgcnVsZSAKKyAgICAgICAgYW5kIHJlbmRlciBpbiBwcm9wZXJ0aWVzIHRh YgorCisgICAgICAgICIiIgorICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxh dGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMu c3FsJ10pLCByaWQ9cmlkLCBkYXRsYXN0c3lzb2lkID0gc2VsZi5kYXRsYXN0 c3lzb2lkKQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVj dXRlX2RpY3QoU1FMKQorCisgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAg ICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNn PXJlcykKKyAgICAgICAgCisgICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNl KAorICAgICAgICAgICAgICAgIHJlc3BvbnNlPXBhcnNlX2RlZmluaXRpb24o cmVzKSwKKyAgICAgICAgICAgICAgICBzdGF0dXM9MjAwCisgICAgICAgICAg ICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBj cmVhdGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdmlkKToKKyAgICAg ICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBjcmVhdGVzIG5l dyB0aGUgcnVsZSBvYmplY3QKKyAgICAgICAgIiIiCisgICAgICAgIHJlcXVp cmVkX2FyZ3MgPSBbCisgICAgICAgICAgICAnbmFtZScsCisgICAgICAgIF0K KworICAgICAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9y bSBlbHNlIGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorICAg ICAgICBmb3IgYXJnIGluIHJlcXVpcmVkX2FyZ3M6CisgICAgICAgICAgICBp ZiBhcmcgbm90IGluIGRhdGE6CisgICAgICAgICAgICAgICAgcmV0dXJuIG1h a2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVz PTQxMCwKKyAgICAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAorICAgICAg ICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0ZXh0KAorICAgICAgICAgICAg ICAgICAgICAgICAgIkNvdWxkbid0IGZpbmQgdGhlIHJlcXVpcmVkIHBhcmFt ZXRlciAoJXMpLiIgJSBhcmcKKyAgICAgICAgICAgICAgICAgICAgKQorICAg ICAgICAgICAgICAgICkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgU1FM ID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3Bh dGgsICdjcmVhdGUuc3FsJ10pLCBkYXRhPWRhdGEpCisgICAgICAgICAgICBz dGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihTUUwpCisg ICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJl dHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAg ICAgICAgICAgIyBJdCBmZXRjaGVzIHJ1bGUgaWQgYWdhaW5zdCBydWxlIG5h bWUgdG8gZGlzcGxheSBub2RlIGluIHRyZWUgYnJvd3NlcgorICAgICAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsICdydWxlX2lkLnNxbCddKSwgcnVsZV9uYW1lPWRhdGFbJ25h bWUnXSkKKyAgICAgICAgICAgIHN0YXR1cywgcnVsZV9pZCA9IHNlbGYuY29u bi5leGVjdXRlX3NjYWxhcihTUUwpCisgICAgICAgICAgICBpZiBub3Qgc3Rh dHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJf ZXJyb3IoZXJyb3Jtc2c9cnVsZV9pZCkKKyAgICAgICAgICAgIHJldHVybiBq c29uaWZ5KAorICAgICAgICAgICAgICAgIG5vZGU9c2VsZi5ibHVlcHJpbnQu Z2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAorICAgICAgICAgICAgICAgICAgICBy dWxlX2lkLAorICAgICAgICAgICAgICAgICAgICBkYXRhWyduYW1lJ10sCisg ICAgICAgICAgICAgICAgICAgIGljb249Imljb24tcnVsZSIKKyAgICAgICAg ICAgICAgICApCisgICAgICAgICAgICApCisgICAgICAgIGV4Y2VwdCBFeGNl cHRpb24gYXMgZToKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2 ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQorCisgICAgQGNoZWNrX3ByZWNv bmRpdGlvbgorICAgIGRlZiB1cGRhdGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwg c2NpZCwgdmlkLCByaWQpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBm dW5jdGlvbiB3aWxsIHVwZGF0ZSBydWxlIG9iamVjdAorICAgICAgICAiIiIK KyAgICAgICAgZGF0YSA9IHJlcXVlc3QuZm9ybSBpZiByZXF1ZXN0LmZvcm0g ZWxzZSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKKyAgICAg ICAgU1FMID0gc2VsZi5nZXRTUUwoZ2lkLCBzaWQsIGRhdGEsIHZpZCwgcmlk KQorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBTUUwgYW5kIGlzaW5z dGFuY2UoU1FMLCBiYXNlc3RyaW5nKSBhbmQgU1FMLnN0cmlwKCdcbicpIGFu ZCBTUUwuc3RyaXAoJyAnKToKKyAgICAgICAgICAgICAgICBzdGF0dXMsIHJl cyA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihTUUwpCisgICAgICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAg ICAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAg ICAgICAgICAgICAgICAgICBzdWNjZXNzPTEsCisgICAgICAgICAgICAgICAg ICAgIGluZm89IlJ1bGUgdXBkYXRlZCIsCisgICAgICAgICAgICAgICAgICAg IGRhdGE9eworICAgICAgICAgICAgICAgICAgICAgICAgJ2lkJzogdmlkLAor ICAgICAgICAgICAgICAgICAgICAgICAgJ3NpZCc6IHNpZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICdnaWQnOiBnaWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAnZGlkJzogZGlkCisgICAgICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICAgICApCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAg ICAgICAgICAgIHN1Y2Nlc3M9MSwKKyAgICAgICAgICAgICAgICAgICAgaW5m bz0iTm90aGluZyB0byB1cGRhdGUiLAorICAgICAgICAgICAgICAgICAgICBk YXRhPXsKKyAgICAgICAgICAgICAgICAgICAgICAgICdpZCc6IHZpZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICdzaWQnOiBzaWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAnZ2lkJzogZ2lkLAorICAgICAgICAgICAgICAgICAg ICAgICAgJ2RpZCc6IGRpZAorICAgICAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgICAgKQorCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg ZToKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9c3RyKGUpKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgor ICAgIGRlZiBkZWxldGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdmlk LCByaWQpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3 aWxsIGRyb3AgdGhlIHJ1bGUgb2JqZWN0CisgICAgICAgICIiIgorICAgICAg ICAjIEJlbG93IHdpbGwgZGVjaWRlIGlmIGl0J3Mgc2ltcGxlIGRyb3Agb3Ig ZHJvcCB3aXRoIGNhc2NhZGUgY2FsbAorICAgICAgICBjYXNjYWRlID0gVHJ1 ZSBpZiBzZWxmLmNtZCA9PSAnZGVsZXRlJyBlbHNlIEZhbHNlCisKKyAgICAg ICAgdHJ5OgorICAgICAgICAgICAgIyBHZXQgbmFtZSBmb3IgcnVsZSBmcm9t IGRpZAorICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdkZWxldGUuc3FsJ10pLCByaWQ9 cmlkKQorICAgICAgICAgICAgc3RhdHVzLCByZXNfZGF0YSA9IHNlbGYuY29u bi5leGVjdXRlX2RpY3QoU1FMKQorICAgICAgICAgICAgaWYgbm90IHN0YXR1 czoKKyAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vy cm9yKGVycm9ybXNnPW5hbWUpCisgICAgICAgICAgICAjIGRyb3AgcnVsZQor ICAgICAgICAgICAgcnNldCA9IHJlc19kYXRhWydyb3dzJ11bMF0KKyAgICAg ICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLCAnZGVsZXRlLnNxbCddKSwKKyAgICAgICAgICAgICAg ICBydWxlbmFtZT1yc2V0WydydWxlbmFtZSddLAorICAgICAgICAgICAgICAg IHJlbG5hbWU9cnNldFsncmVsbmFtZSddLAorICAgICAgICAgICAgICAgIG5z cG5hbWU9cnNldFsnbnNwbmFtZSddLAorICAgICAgICAgICAgICAgIGNhc2Nh ZGU9Y2FzY2FkZQorICAgICAgICAgICAgKQorICAgICAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoU1FMKQorICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICByZXR1cm4g aW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKworICAgICAg ICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAg ICAgICBzdWNjZXNzPTEsCisgICAgICAgICAgICAgICAgaW5mbz1nZXR0ZXh0 KCJSdWxlIGRyb3BwZWQiKSwKKyAgICAgICAgICAgICAgICBkYXRhPXsKKyAg ICAgICAgICAgICAgICAgICAgJ2lkJzogdmlkLAorICAgICAgICAgICAgICAg ICAgICAnc2lkJzogc2lkLAorICAgICAgICAgICAgICAgICAgICAnZ2lkJzog Z2lkLAorICAgICAgICAgICAgICAgICAgICAnZGlkJzogZGlkCisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgKQorCisgICAgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9z ZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQorCisgICAgQGNoZWNrX3By ZWNvbmRpdGlvbgorICAgIGRlZiBtc3FsKHNlbGYsIGdpZCwgc2lkLCBkaWQs IHNjaWQsIHZpZCwgcmlkPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAg VGhpcyBmdW5jdGlvbiB0byByZXR1cm4gbW9kaWZpZWQgU1FMCisgICAgICAg ICIiIgorICAgICAgICBkYXRhID0gcmVxdWVzdC5hcmdzCisgICAgICAgIFNR TCA9IHNlbGYuZ2V0U1FMKGdpZCwgc2lkLCBkYXRhLCB2aWQsIHJpZCkKKyAg ICAgICAgaWYgU1FMIGFuZCBpc2luc3RhbmNlKFNRTCwgYmFzZXN0cmluZykg YW5kIFNRTC5zdHJpcCgnXG4nKSBhbmQgU1FMLnN0cmlwKCcgJyk6CisgICAg ICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAg ICAgICAgICAgICBkYXRhPVNRTCwKKyAgICAgICAgICAgICAgICAgICAgc3Rh dHVzPTIwMAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgIGVsc2U6 CisgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAg ICAgICAgICAgICAgICAgICBkYXRhPSItLW1vZGlmaWVkIFNRTCIsCisgICAg ICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAgICAgICAgICAgICAgICAg ICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBzcWwo c2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdmlkLCByaWQpOgorICAgICAg ICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlIHNx bCB0byByZW5kZXIgaW50byBzcWwgcGFuZWwgCisgICAgICAgICIiIgorICAg ICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVt cGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLCByaWQ9cmlkKQorICAg ICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FM KQorICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0dXJu IGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisgICAgICAg IHJlc19kYXRhID0gcGFyc2VfZGVmaW5pdGlvbihyZXMpCisgICAgICAgIFNR TCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLCAnY3JlYXRlLnNxbCddKSwKKyAgICAgICAgICAgIGRhdGE9cmVzX2Rh dGEsIGRpc3BsYXlfY29tbWVudHM9VHJ1ZSkKKworICAgICAgICByZXR1cm4g YWpheF9yZXNwb25zZShyZXNwb25zZT1TUUwpCisKKyAgICBkZWYgZ2V0U1FM KHNlbGYsIGdpZCwgc2lkLCBkYXRhLCB2aWQsIHJpZD1Ob25lKToKKyAgICAg ICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5yYXRlIHNx bCBmcm9tIG1vZGVsIGRhdGEKKyAgICAgICAgIiIiCisgICAgICAgIHRyeToK KyAgICAgICAgICAgIGlmIHJpZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAg ICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVt cGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLCByaWQ9cmlkKQorICAg ICAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVf ZGljdChTUUwpCisgICAgICAgICAgICAgICAgcmVzX2RhdGEgPSBbXQorICAg ICAgICAgICAgICAgIHJlc19kYXRhID0gcGFyc2VfZGVmaW5pdGlvbihyZXMp CisgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1z Zz1yZXMpCisgICAgICAgICAgICAgICAgb2xkX2RhdGEgPSByZXNfZGF0YQor ICAgICAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAg ICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwn dXBkYXRlLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRh LCBvX2RhdGE9b2xkX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgKQorICAg ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBTUUwgPSByZW5kZXJf dGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2NyZWF0 ZS5zcWwnXSksIGRhdGE9ZGF0YSkKKyAgICAgICAgICAgIHJldHVybiBTUUwK KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAg cmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkp CisKK1J1bGVWaWV3LnJlZ2lzdGVyX25vZGVfdmlldyhibHVlcHJpbnQpCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy9zdGF0aWMv aW1nL2NvbGwtcnVsZS5wbmcgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxl cy9zdGF0aWMvaW1nL2NvbGwtcnVsZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMC4uY2ZlNmVkMjdkOTgzNTFhMDNlOTg0NTFmZTgzZTc4NWFlYjUxMzUx ZgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzU3CnpjbWVBU0BOPyhvbEh5 YHVWQnEhaWEwdnBeMHdCITYzP3d5bGBHYkwhUS1EdjFFMEJKRHJ0MG9XKzVi PUh7Q18mQAp6fEM0RnxwR15BeXhiT2VkOFVMVG97e0xqa3xIbCpsS2tqKmIo RXMwfl9KNUIkfDI9QmBfcHNzTCE9YEBePjs2NWcKemBTK204WT1gekVwZWMr Y0w0THN1NCRwMyswWGR1bjkrQWFCKzU/UTtQRztLeThCdn10anYqNDRyfWxh Q0g3TX03CnpKWTNrKHJCVX47S0dkNTw9I0pzK1d0WHF9Tz9AP2VuVEU2a28x MEU+UzszWmBHaVArKDlyfFRoYVZKYzI/d2xoZwp6PHdCRnFtYXI5Vm5FS2FO PUUkVGNPUlhRNStKQnZTenFxIUZRUUN0a1ZSXkNCMzd7PmlDOVYtQURUeVZp Uj4/KUYKeksjSVowenxjVX4mYDgoN0Z2UTVmJUVae3AjOGxoQilYS25NLWFF WmpDPm5DfVEhPiprQXNQJVUhNVY8N097QCZlCldBUjEwaDRfeVApen5KZlg9 ZCNXenAkUCE3Y1o7ZTMKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3J1bGVzL3N0YXRpYy9pbWcv cnVsZS5wbmcgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy9zdGF0aWMv aW1nL3J1bGUucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiNDk3ODA5 MGUzM2JiZTNkNWY3ZWQyNDlmZDkzYzJkYTM0ZjUyZDYKR0lUIGJpbmFyeSBw YXRjaApsaXRlcmFsIDM3Mwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXjB3 QiE2Mz93eWxgR2JLfWN6e29jRTBEZ3NRdWcoa3N7Yz50e0NfKDAKenxDMV5J QU5UJXkpYntVVHtyeyk0e3kmLWV8OGY3bk5BM1J9SHZXNTF7cn5DZ3w0Kmo+ ZT5+eWVxdDFVMW9CbG5oCnpgUyttd3xJLT0mcEdeQXl4Y2xGdW1WWGF4fDI/ U3Ffbj5rSyVqWXpwKFRwV1FlISZiNSZ1KU0/b0NPfHsjWCNCdgp6ak5NTFYr V3tHJm8tVTNkNXxgS1puVHNfVEBIaWBiREVEVWxgZ15gfUdOKVlqS0RCekBP Iy1GfFgxQmVjcm8zPUwKelZuVXpgSjl+ZGEjfXJxNl9NV09rSXBQNmd0OGYz Mj4jSkRTLTR6ZmN5KUopfCh5YTRkUX1fUzNuUDlgciRpdyl+CnpBODNKVWlF QmhqTkA3Vz5SZFBgKGtZWEAwRmZgQ0xHfTFMTjNeNmpXR0JMST9HMVdGT3dL NmM2X2ZCc1dpaVhfJAptbCszaEJoejB7b3VtKyVONkR0RVZoPXg8c0wpUVFg Rm5HSDl4dlg8YVhhV0VqSzktdlIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3J1bGVzL3RlbXBs YXRlcy9ydWxlcy9jc3MvcnVsZS5jc3MgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy9ydWxlcy90ZW1wbGF0ZXMvcnVsZXMvY3NzL3J1bGUuY3NzCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3ZTY3NTAKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90ZW1wbGF0 ZXMvcnVsZXMvY3NzL3J1bGUuY3NzCkBAIC0wLDAgKzEsOSBAQAorLmljb24t cnVsZXsKKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCd7eyB1cmxfZm9yKCdO T0RFLXJ1bGUuc3RhdGljJywgZmlsZW5hbWU9J2ltZy9ydWxlLnBuZycpIH19 JykgIWltcG9ydGFudDsKKyAgYm9yZGVyLXJhZGl1czogMTBweDsKKyAgYmFj a2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgYWxpZ24tY29udGVudDog Y2VudGVyOworICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworICBoZWlnaHQ6 IDEuM2VtOworfQorCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy9ydWxlcy90ZW1wbGF0ZXMvcnVsZXMvanMvcnVsZXMuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy92aWV3cy9ydWxlcy90ZW1wbGF0ZXMvcnVsZXMvanMvcnVsZXMu anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E1MzU0 YwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3J1 bGVzL3RlbXBsYXRlcy9ydWxlcy9qcy9ydWxlcy5qcwpAQCAtMCwwICsxLDE4 NiBAQAorZGVmaW5lKAorICBbJ2pxdWVyeScsICd1bmRlcnNjb3JlJywgJ3Vu ZGVyc2NvcmUuc3RyaW5nJywgJ3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2Vy JywgJ2NvZGVtaXJyb3InXSwKK2Z1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4s IHBnQnJvd3NlciwgQ29kZU1pcnJvcikgeworCisgIGlmICghcGdCcm93c2Vy Lk5vZGVzWydjb2xsLXJ1bGUnXSkgeworICAgIHZhciBydWxlcyA9IHBnQWRt aW4uQnJvd3Nlci5Ob2Rlc1snY29sbC1ydWxlJ10gPQorICAgICAgcGdBZG1p bi5Ccm93c2VyLkNvbGxlY3Rpb24uZXh0ZW5kKHsKKyAgICAgICAgbm9kZTog J3J1bGUnLAorICAgICAgICBsYWJlbDogJ3t7IF8oJ1J1bGVzJykgfX0nLAor ICAgICAgICB0eXBlOiAnY29sbC1ydWxlJywKKyAgICAgICAgY29sdW1uczog WyduYW1lJywgJ293bmVyJywgJ2NvbW1lbnQnXQorICAgICAgfSk7CisgIH07 CisKKyAgaWYgKCFwZ0Jyb3dzZXIuTm9kZXNbJ3J1bGUnXSkgeworICAgIHBn QWRtaW4uQnJvd3Nlci5Ob2Rlc1sncnVsZSddID0gcGdBZG1pbi5Ccm93c2Vy Lk5vZGUuZXh0ZW5kKHsKKyAgICAgIHBhcmVudF90eXBlOiBbJ3ZpZXcnXSwK KyAgICAgIHR5cGU6ICdydWxlJywKKyAgICAgIGxhYmVsOiAne3sgXygncnVs ZScpIH19JywKKyAgICAgIGNvbGxlY3Rpb25fdHlwZTogJ2NvbGwtcnVsZScs CisgICAgICBoYXNTUUw6ICB0cnVlLAorICAgICAgY2FuRHJvcDogcGdCcm93 c2VyLk5vZGVzWydzY2hlbWEnXS5jYW5DaGlsZERyb3AsCisgICAgICBjYW5E cm9wQ2FzY2FkZTogcGdCcm93c2VyLk5vZGVzWydzY2hlbWEnXS5jYW5DaGls ZERyb3AsCisgICAgICBJbml0OiBmdW5jdGlvbigpIHsKKyAgICAgICAgLyog QXZvaWQgbXVsaXRwbGUgcmVnaXN0cmF0aW9uIG9mIG1lbnVzICovCisgICAg ICAgIGlmICh0aGlzLmluaXRpYWxpemVkKQorICAgICAgICAgICAgcmV0dXJu OworCisgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlOworCisgICAg ICAgIHBnQnJvd3Nlci5hZGRfbWVudXMoW3sKKyAgICAgICAgICBuYW1lOiAn Y3JlYXRlX3J1bGVfb25fY29sbCcsIG5vZGU6ICdjb2xsLXJ1bGUnLCBtb2R1 bGU6IHRoaXMsCisgICAgICAgICAgYXBwbGllczogWydvYmplY3QnLCAnY29u dGV4dCddLCBjYWxsYmFjazogJ3Nob3dfb2JqX3Byb3BlcnRpZXMnLAorICAg ICAgICAgIGNhdGVnb3J5OiAnY3JlYXRlJywgcHJpb3JpdHk6IDQsIGxhYmVs OiAne3sgXygnUnVsZS4uLicpIH19JywKKyAgICAgICAgICBpY29uOiAnd2NU YWJJY29uIHBnLWljb24tcnVsZScsIGRhdGE6IHthY3Rpb246ICdjcmVhdGUn LCBjaGVjazogdHJ1ZX0sCisgICAgICAgICAgZW5hYmxlOiAnY2FuQ3JlYXRl JworICAgICAgICB9LHsKKyAgICAgICAgICBuYW1lOiAnY3JlYXRlX3J1bGUn LCBub2RlOiAndmlldycsIG1vZHVsZTogdGhpcywKKyAgICAgICAgICBhcHBs aWVzOiBbJ29iamVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAnc2hvd19v YmpfcHJvcGVydGllcycsCisgICAgICAgICAgY2F0ZWdvcnk6ICdjcmVhdGUn LCBwcmlvcml0eTogNCwgbGFiZWw6ICd7eyBfKCdSdWxlLi4uJykgfX0nLAor ICAgICAgICAgIGljb246ICd3Y1RhYkljb24gcGctaWNvbi1ydWxlJywgZGF0 YToge2FjdGlvbjogJ2NyZWF0ZScsIGNoZWNrOiB0cnVlfSwKKyAgICAgICAg ICBlbmFibGU6ICdjYW5DcmVhdGUnCisgICAgICAgIH0seworICAgICAgICAg IG5hbWU6ICdjcmVhdGVfcnVsZScsIG5vZGU6ICdydWxlJywgbW9kdWxlOiB0 aGlzLAorICAgICAgICAgIGFwcGxpZXM6IFsnb2JqZWN0JywgJ2NvbnRleHQn XSwgY2FsbGJhY2s6ICdzaG93X29ial9wcm9wZXJ0aWVzJywKKyAgICAgICAg ICBjYXRlZ29yeTogJ2NyZWF0ZScsIHByaW9yaXR5OiA0LCBsYWJlbDogJ3t7 IF8oJ1J1bGUuLi4nKSB9fScsCisgICAgICAgICAgaWNvbjogJ3djVGFiSWNv biBwZy1pY29uLXJ1bGUnLCBkYXRhOiB7YWN0aW9uOiAnY3JlYXRlJywgY2hl Y2s6IHRydWV9LAorICAgICAgICAgIGVuYWJsZTogJ2NhbkNyZWF0ZScKKyAg ICAgICAgfQorICAgICAgICBdKTsKKyAgICAgIH0sCisgICAgICBtb2RlbDog cGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKKyAgICAgICAg ZGVmYXVsdHM6IHsKKyAgICAgICAgfSwKKyAgICAgICAgc2NoZW1hOiBbewor ICAgICAgICAgIGlkOiAnbmFtZScsIGxhYmVsOiAne3sgXygnTmFtZScpIH19 JywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIGRpc2FibGVkOiBmdW5jdGlv bihtKXsKKyAgICAgICAgICAgIHJldHVybiAhbS5pc05ldygpOworICAgICAg ICAgIH0KKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdvaWQnLCBsYWJl bDone3sgXygnT0lEJykgfX0nLAorICAgICAgICAgIHR5cGU6ICd0ZXh0Jywg ZGlzYWJsZWQ6IHRydWUKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdz Y2hlbWEnLCBsYWJlbDone3sgXygnJykgfX0nLAorICAgICAgICAgIHR5cGU6 ICd0ZXh0JywgdmlzaWJsZTogZmFsc2UsIGRpc2FibGVkOiBmdW5jdGlvbiht KXsKKyAgICAgICAgICAgIC8vIEl0IGlzIHVzZWQgd2hpbGUgZ2VuZXJhdGlu ZyBzcWwgCisgICAgICAgICAgICBtLnNldCgnc2NoZW1hJywgbS5ub2RlX2lu Zm8uc2NoZW1hLmxhYmVsKTsKKyAgICAgICAgICB9CisgICAgICAgIH0sewor ICAgICAgICAgIGlkOiAndmlldycsIGxhYmVsOid7eyBfKCcnKSB9fScsCisg ICAgICAgICAgdHlwZTogJ3RleHQnLCB2aXNpYmxlOiBmYWxzZSwgZGlzYWJs ZWQ6IGZ1bmN0aW9uKG0peworICAgICAgICAgICAgLy8gSXQgaXMgdXNlZCB3 aGlsZSBnZW5lcmF0aW5nIHNxbCAKKyAgICAgICAgICAgIG0uc2V0KCd2aWV3 JywgbS5ub2RlX2luZm8udmlldy5sYWJlbCk7CisgICAgICAgICAgfQorICAg ICAgICB9LHsKKyAgICAgICAgICBpZDogJ2NvbW1lbnQnLCBsYWJlbDone3sg XygnQ29tbWVudCcpIH19JywgY2VsbDogJ3N0cmluZycsIHR5cGU6ICdtdWx0 aWxpbmUnCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAnZXZlbnQnLCBs YWJlbDone3sgXygnRXZlbnQnKSB9fScsIGNvbnRyb2w6ICdzZWxlY3QyJywK KyAgICAgICAgICBncm91cDogJ0RlZmluaXRpb24nLCB0eXBlOiAndGV4dCcs CisgICAgICAgICAgc2VsZWN0MjogeworICAgICAgICAgICAgd2lkdGg6ICcx MDAlJworICAgICAgICAgIH0sCisgICAgICAgICAgb3B0aW9uczpbIAorICAg ICAgICAgICAge2xhYmVsOiAnU2VsZWN0JywgdmFsdWU6ICdTZWxlY3QnfSwK KyAgICAgICAgICAgIHtsYWJlbDogJ0luc2VydCcsIHZhbHVlOiAnSW5zZXJ0 J30sCisgICAgICAgICAgICB7bGFiZWw6ICdVcGRhdGUnLCB2YWx1ZTogJ1Vw ZGF0ZSd9LAorICAgICAgICAgICAge2xhYmVsOiAnRGVsZXRlJywgdmFsdWU6 ICdEZWxldGUnfQorICAgICAgICAgIF0KKyAgICAgICAgfSx7CisgICAgICAg ICAgaWQ6ICdkb19pbnN0ZWFkJywgbGFiZWw6J3t7IF8oJ0RvIEluc3RlYWQn KSB9fScsIGdyb3VwOiAnRGVmaW5pdGlvbicsCisgICAgICAgICAgdHlwZTog J3N3aXRjaCcsICdvcHRpb25zJzogeworICAgICAgICAgICAgJ29uVGV4dCc6 ICdZZXMnLCAnb2ZmVGV4dCc6ICdObycsICdvbkNvbG9yJzogJ3N1Y2Nlc3Mn LAorICAgICAgICAgICAgJ29mZkNvbG9yJzogJ2RlZmF1bHQnLCAnc2l6ZSc6 ICdzbWFsbCcKKyAgICAgICAgICB9CisgICAgICAgIH0seworICAgICAgICAg IGlkOiAnY29uZGl0aW9uJywgbGFiZWw6J3t7IF8oJ0NvbmRpdGlvbicpIH19 JywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIGdyb3VwOiAnRGVmaW5pdGlv bicsCisgICAgICAgICAgY29udHJvbDogJ3NxbC1maWVsZCcKKyAgICAgICAg fSx7CisgICAgICAgICAgaWQ6ICdzdGF0ZW1lbnRzJywgbGFiZWw6J3t7IF8o J0RlZmluaXRpb24nKSB9fScsCisgICAgICAgICAgdHlwZTogJ3RleHQnLCBn cm91cDogJ1N0YXRlbWVudHMnLCBjb250cm9sOiAnc3FsLWZpZWxkJworICAg ICAgICB9LHsKKyAgICAgICAgICBpZDogJ3N5c3RlbV9ydWxlJywgbGFiZWw6 J3t7IF8oJ1N5c3RlbSBydWxlPycpIH19JywKKyAgICAgICAgICB0eXBlOiAn c3dpdGNoJywgbW9kZTogWydwcm9wZXJ0aWVzJ10sICdvcHRpb25zJzogewor ICAgICAgICAgICAgJ29uVGV4dCc6ICdZZXMnLCAnb2ZmVGV4dCc6ICdObycs ICdvbkNvbG9yJzogJ3N1Y2Nlc3MnLAorICAgICAgICAgICAgJ29mZkNvbG9y JzogJ2RlZmF1bHQnLCAnc2l6ZSc6ICdzbWFsbCcKKyAgICAgICAgICB9Cisg ICAgICAgIH0seworICAgICAgICAgIGlkOiAnZW5hYmxlZCcsIGxhYmVsOid7 eyBfKCdFbmFibGVkPycpIH19JywKKyAgICAgICAgICB0eXBlOiAnc3dpdGNo JywgbW9kZTogWydwcm9wZXJ0aWVzJ10sICdvcHRpb25zJzogeworICAgICAg ICAgICAgJ29uVGV4dCc6ICdZZXMnLCAnb2ZmVGV4dCc6ICdObycsICdvbkNv bG9yJzogJ3N1Y2Nlc3MnLAorICAgICAgICAgICAgJ29mZkNvbG9yJzogJ2Rl ZmF1bHQnLCAnc2l6ZSc6ICdzbWFsbCcKKyAgICAgICAgICB9CisgICAgICAg IH0KKyAgICAgICAgXSwKKyAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkg eworICAgICAgICAgIC8qCisgICAgICAgICAgKiBUcmlnZ2VycyBzcGVjaWZp YyBlcnJvciBtZXNzYWdlcyBmb3IgZmllbGRzIAorICAgICAgICAgICovCisg ICAgICAgICAgdmFyIGVyciA9IHt9LAorICAgICAgICAgICAgZXJybXNnLAor ICAgICAgICAgICAgZmllbGRfbmFtZSA9IHRoaXMuZ2V0KCduYW1lJyk7Cisg ICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQoZmllbGRfbmFtZSkgfHwgXy5p c051bGwoZmllbGRfbmFtZSkgfHwKKyAgICAgICAgICAgIFN0cmluZyhmaWVs ZF9uYW1lKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Cisg ICAgICAgICAgICBlcnJbJ25hbWUnXSA9ICd7eyBfKCJQbGVhc2Ugc3BlY2lm eSBuYW1lLiIpIH19JzsKKyAgICAgICAgICAgIGVycm1zZyA9IGVycm1zZyB8 fCBlcnJbJ25hbWUnXTsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5z ZXQoJ25hbWUnLCBlcnJtc2cpOworICAgICAgICAgICAgcmV0dXJuIGVycm1z ZzsKKyAgICAgICAgICB9ZWxzZXsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC51bnNldCgnbmFtZScpOworICAgICAgICAgIH0KKyAgICAgICAgICBy ZXR1cm4gbnVsbDsKKyAgICAgICAgfQorICAgICAgfSksCisgICAgICBjYW5D cmVhdGU6IGZ1bmN0aW9uKGl0ZW1EYXRhLCBpdGVtLCBkYXRhKSB7CisgICAg ICAgIC8vSWYgY2hlY2sgaXMgZmFsc2UgdGhlbiAsIHdlIHdpbGwgYWxsb3cg Y3JlYXRlIG1lbnUKKyAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5jaGVjayA9 PSBmYWxzZSkKKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICB2 YXIgdCA9IHBnQnJvd3Nlci50cmVlLCBpID0gaXRlbSwgZCA9IGl0ZW1EYXRh OworICAgICAgICAvLyBUbyBpdGVyYXRlIG92ZXIgdHJlZSB0byBjaGVjayBw YXJlbnQgbm9kZQorICAgICAgICB3aGlsZSAoaSkgeworICAgICAgICAgIC8v IElmIGl0IGlzIHNjaGVtYSB0aGVuIGFsbG93IHVzZXIgdG8gY3JlYXRlIHZp ZXcgCisgICAgICAgICAgaWYgKF8uaW5kZXhPZihbJ3NjaGVtYSddLCBkLl90 eXBlKSA+IC0xKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAg ICAgICBpZiAoJ2NvbGwtcnVsZScgPT0gZC5fdHlwZSkgeworICAgICAgICAg ICAgLy9DaGVjayBpZiB3ZSBhcmUgbm90IGNoaWxkIG9mIHJ1bGUgCisgICAg ICAgICAgICBwcmV2X2kgPSB0Lmhhc1BhcmVudChpKSA/IHQucGFyZW50KGkp IDogbnVsbDsKKyAgICAgICAgICAgIHByZXZfZCA9IHByZXZfaSA/IHQuaXRl bURhdGEocHJldl9pKSA6IG51bGw7CisgICAgICAgICAgICBwcmV2X2ogPSB0 Lmhhc1BhcmVudChwcmV2X2kpID8gdC5wYXJlbnQocHJldl9pKSA6IG51bGw7 CisgICAgICAgICAgICBwcmV2X2UgPSBwcmV2X2ogPyB0Lml0ZW1EYXRhKHBy ZXZfaikgOiBudWxsOworICAgICAgICAgICAgcHJldl9rID0gdC5oYXNQYXJl bnQocHJldl9qKSA/IHQucGFyZW50KHByZXZfaikgOiBudWxsOworICAgICAg ICAgICAgcHJldl9mID0gcHJldl9rID8gdC5pdGVtRGF0YShwcmV2X2spIDog bnVsbDsKKyAgICAgICAgICAgIGlmKCBwcmV2X2YuX3R5cGUgPT0gJ2NhdGFs b2cnKSB7CisgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg ICAgICAgICAgfSAgICAgICAgICAgICAgICAKKyAgICAgICAgICB9CisgICAg ICAgICAgLy9DaGVjayBpZiBpdCBpcyB2aWV3IGFuZCBpdHMgcGFyZW50IG5v ZGUgaXMgc2NoZW1hCisgICAgICAgICAgLy90aGVuIGFsbG93IHRvIGNyZWF0 ZSBSdWxlCisgICAgICAgICAgZWxzZSBpZigndmlldycgPT0gZC5fdHlwZSl7 CisgICAgICAgICAgICBwcmV2X2kgPSB0Lmhhc1BhcmVudChpKSA/IHQucGFy ZW50KGkpIDogbnVsbDsKKyAgICAgICAgICAgIHByZXZfZCA9IHByZXZfaSA/ IHQuaXRlbURhdGEocHJldl9pKSA6IG51bGw7CisgICAgICAgICAgICBwcmV2 X2ogPSB0Lmhhc1BhcmVudChwcmV2X2kpID8gdC5wYXJlbnQocHJldl9pKSA6 IG51bGw7CisgICAgICAgICAgICBwcmV2X2UgPSBwcmV2X2ogPyB0Lml0ZW1E YXRhKHByZXZfaikgOiBudWxsOworICAgICAgICAgICAgaWYocHJldl9lLl90 eXBlID09ICdzY2hlbWEnKSB7CisgICAgICAgICAgICAgIHJldHVybiB0cnVl OworICAgICAgICAgICAgfWVsc2V7CisgICAgICAgICAgICAgIHJldHVybiBm YWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgICAg aSA9IHQuaGFzUGFyZW50KGkpID8gdC5wYXJlbnQoaSkgOiBudWxsOworICAg ICAgICAgIGQgPSBpID8gdC5pdGVtRGF0YShpKSA6IG51bGw7CisgICAgICAg IH0KKyAgICAgICAgLy8gYnkgZGVmYXVsdCB3ZSBkbyBub3Qgd2FudCB0byBh bGxvdyBjcmVhdGUgbWVudQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg ICAgCisgICAgICB9CisKKyAgfSk7CisgIH0KKworICByZXR1cm4gcGdCcm93 c2VyLk5vZGVzWydjb2xsLXJ1bGUnXTsKK30pOwpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdmlld3MvcnVsZXMvdGVtcGxhdGVzL3J1bGVzL3NxbC9i YWNrZW5kX3N1cHBvcnQuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvcnVs ZXMvdGVtcGxhdGVzL3J1bGVzL3NxbC9iYWNrZW5kX3N1cHBvcnQuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDkyMjMKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90 ZW1wbGF0ZXMvcnVsZXMvc3FsL2JhY2tlbmRfc3VwcG9ydC5zcWwKQEAgLTAs MCArMSwxOCBAQAorU0VMRUNUCisgQ0FTRSBXSEVOIG5zcC5uc3BuYW1lIElO ICgnc3lzJywgJ2RibycsICdpbmZvcm1hdGlvbl9zY2hlbWEnKSBUSEVOIHRy dWUgRUxTRSBmYWxzZSBFTkQgQVMgZGJTdXBwb3J0CitGUk9NIHBnX25hbWVz cGFjZSBuc3AgCitXSEVSRSBuc3Aub2lkPXt7c2NpZH19OjppbnQKK0FORCAo CisJKG5zcG5hbWUgPSAncGdfY2F0YWxvZycgQU5EIEVYSVNUUyAKKwkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNFTEVDVCAxIEZST00gcGdf Y2xhc3MgV0hFUkUgcmVsbmFtZSA9ICdwZ19jbGFzcycgQU5EIHJlbG5hbWVz cGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAorCU9SIChuc3BuYW1lID0gJ3Bn YWdlbnQnIEFORCBFWElTVFMKKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKFNFTEVDVCAxIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9 ICdwZ2Ffam9iJyBBTkQgcmVsbmFtZXNwYWNlID0gbnNwLm9pZCBMSU1JVCAx KSkgCisJT1IgKG5zcG5hbWUgPSAnaW5mb3JtYXRpb25fc2NoZW1hJyBBTkQg RVhJU1RTIAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0VM RUNUIDEgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gJ3RhYmxlcycg QU5EIHJlbG5hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAorCU9SIChu c3BuYW1lIExJS0UgJ18lJyBBTkQgRVhJU1RTIAorCSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoU0VMRUNUIDEgRlJPTSBwZ19wcm9jIFdIRVJF IHByb25hbWU9J3Nsb255dmVyc2lvbicgQU5EIHByb25hbWVzcGFjZSA9IG5z cC5vaWQgTElNSVQgMSkpCispIAorQU5EIAorIG5zcG5hbWUgTk9UIExJS0Ug RSdwZ1xcdGVtcFxcJScKK0FORCAKKyBuc3BuYW1lIE5PVCBMSUtFIEUncGdc XHRvYXN0X3RlbXBcXCUnCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy9ydWxlcy90ZW1wbGF0ZXMvcnVsZXMvc3FsL2NyZWF0ZS5zcWwgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90ZW1wbGF0ZXMvcnVsZXMvc3Fs L2NyZWF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uM2M3NDM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3ZpZXdzL3J1bGVzL3RlbXBsYXRlcy9ydWxlcy9zcWwvY3JlYXRlLnNxbApA QCAtMCwwICsxLDI2IEBACit7Iz09PT09PT09PT09PUNyZWF0ZSBSdWxlPT09 PT09PT09PT09PSN9Cit7JSBpZiBkaXNwbGF5X2NvbW1lbnRzICV9CistLSBS dWxlOiB7eyBkYXRhLm5hbWUgfX0gT04ge3sgY29ubnxxdElkZW50KGRhdGEu c2NoZW1hLCBkYXRhLm5hbWUpIH19CisKKy0tIERST1AgUnVsZSB7eyBkYXRh Lm5hbWUgfX0gT04ge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRh Lm5hbWUpIH19OworCit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5uYW1lIGFu ZCBkYXRhLnNjaGVtYSBhbmQgZGF0YS52aWV3ICV9CitDUkVBVEUgT1IgUkVQ TEFDRSBSVUxFIHt7IGNvbm58cXRJZGVudChkYXRhLm5hbWUpIH19IEFTCisg ICAgT04ge3sgZGF0YS5ldmVudHx1cHBlciBpZiBkYXRhLmV2ZW50IGVsc2Ug J1NFTEVDVCcgfX0gVE8ge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBk YXRhLnZpZXcpIH19Cit7JSBpZiBkYXRhLmNvbmRpdGlvbiAlfQorICAgIFdI RVJFIHt7IGRhdGEuY29uZGl0aW9uIH19Cit7JSBlbmRpZiAlfQorICAgIERP eyUgaWYgZGF0YS5pc19pbnN0ZWFkID09IFRydWUgJX0KK3t7ICcgSU5TVEVB RCcgfX0KKyAgICB7JSBlbHNlICV9Cit7eyAnICcgfX0KKyAgICB7JSBlbmRp ZiAlfQoreyUgaWYgZGF0YS5zdGF0ZW1lbnRzICV9Cit7eyBkYXRhLnN0YXRl bWVudHMucnN0cmlwKCc7JykgfX07Cit7JSBlbHNlICV9CitOT1RISU5HOwor eyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuY29tbWVudCAlfQorQ09NTUVOVCBP TiBSVUxFIHt7IGNvbm58cXRJZGVudChkYXRhLm5hbWUpIH19IE9OIHt7IGNv bm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS52aWV3KSB9fSBJUyB7eyBk YXRhLmNvbW1lbnR8cXRMaXRlcmFsIH19O3slIGVuZGlmICV9Cit7JSBlbmRp ZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvcnVsZXMv dGVtcGxhdGVzL3J1bGVzL3NxbC9kZWxldGUuc3FsIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdmlld3MvcnVsZXMvdGVtcGxhdGVzL3J1bGVzL3NxbC9kZWxldGUuc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmYTM4MzEK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxl cy90ZW1wbGF0ZXMvcnVsZXMvc3FsL2RlbGV0ZS5zcWwKQEAgLTAsMCArMSwx MSBAQAoreyM9PT09PT09PSBEcm9wL0Nhc2NhZGUgUnVsZSA9PT09PT09PT0j fQoreyUgaWYgcmlkICV9CitTRUxFQ1QgcncucnVsZW5hbWUsIGNsLnJlbG5h bWUsIG5zcC5uc3BuYW1lCisgRlJPTSBwZ19yZXdyaXRlIHJ3CisgIEpPSU4g cGdfY2xhc3MgY2wgT04gY2wub2lkPXJ3LmV2X2NsYXNzCisgIEpPSU4gcGdf bmFtZXNwYWNlIG5zcCBPTiBuc3Aub2lkPWNsLnJlbG5hbWVzcGFjZQorIFdI RVJFIHJ3Lm9pZD17eyByaWQgfX07IAoreyUgZW5kaWYgJX0KK3slIGlmIHJ1 bGVuYW1lIGFuZCByZWxuYW1lIGFuZCBuc3BuYW1lICV9CitEUk9QIFJVTEUg e3sgY29ubnxxdElkZW50KHJ1bGVuYW1lKSB9fSBPTiB7eyBjb25ufHF0SWRl bnQobnNwbmFtZSwgcmVsbmFtZSkgfX0geyUgaWYgY2FzY2FkZSAlfSBDQVND QURFIHslIGVuZGlmICV9OworeyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3J1bGVzL3RlbXBsYXRlcy9ydWxlcy9zcWwv cHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90 ZW1wbGF0ZXMvcnVsZXMvc3FsL3Byb3BlcnRpZXMuc3FsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMzcyNTAKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90ZW1wbGF0ZXMv cnVsZXMvc3FsL3Byb3BlcnRpZXMuc3FsCkBAIC0wLDAgKzEsMjEgQEAKK3sj PT09PT09PT09PT09PT09PT09PUZldGNoIFJ1bGVzPT09PT09PT09PT09PT09 PT09PT0jfQoreyUgaWYgdmlkIG9yIHJpZCAlfQorU0VMRUNUIHJ3Lm9pZCBB UyBvaWQsIHJ3LnJ1bGVuYW1lIEFTIG5hbWUsIHJ3LiosIHJlbG5hbWUgQVMg dmlldywKKyAgICBDQVNFIFdIRU4gcmVsa2luZCA9ICdyJyBUSEVOIFRSVUUg RUxTRSBGQUxTRSBFTkQgQVMgcGFyZW50aXN0YWJsZSwKKyAgICBuc3BuYW1l IEFTIHNjaGVtYSwgZGVzY3JpcHRpb24gQVMgY29tbWVudCwKKyAgICB7Iz09 Q2hlY2tzIHdoZXRoZXIgaXQgaXMgc3lzdGVtIHJ1bGUgb3Igbm90PT09I30K KyAgICBDQVNFIFdIRU4gcncucnVsZW5hbWUgPSAnX1JFVFVSTicgVEhFTiBU cnVlIEVMU0UgRmFsc2UgRU5EIEFTIHN5c3RlbV9ydWxlLAorICAgIENBU0Ug V0hFTiBydy5ldl9lbmFibGVkICE9ICdEJyBUSEVOIFRydWUgRUxTRSBGYWxz ZSBFTkQgQVMgZW5hYmxlZCwKKyAgICBwZ19nZXRfcnVsZWRlZihydy5vaWQs IHRydWUpIEFTIGRlZmluaXRpb24KKyAgRlJPTSBwZ19yZXdyaXRlIHJ3Cisg IEpPSU4gcGdfY2xhc3MgY2wgT04gY2wub2lkPXJ3LmV2X2NsYXNzCisgIEpP SU4gcGdfbmFtZXNwYWNlIG5zcCBPTiBuc3Aub2lkPWNsLnJlbG5hbWVzcGFj ZQorICBMRUZUIE9VVEVSIEpPSU4gcGdfZGVzY3JpcHRpb24gZGVzIE9OIChk ZXMub2Jqb2lkPXJ3Lm9pZCBBTkQgZGVzLmNsYXNzb2lkPSdwZ19yZXdyaXRl Jzo6cmVnY2xhc3MpCisgV0hFUkUgCisgICAgeyUgaWYgdmlkICV9CisgICAg ICAgIGV2X2NsYXNzID0ge3sgdmlkIH19CisgICAgeyUgZWxpZiByaWQgJX0K KyAgICAgICAgcncub2lkID0ge3sgcmlkIH19CisgICAgeyUgZW5kaWYgJX0K KyBPUkRFUiBCWSBydy5ydWxlbmFtZQorIHslIGVuZGlmICV9CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90ZW1wbGF0ZXMvcnVs ZXMvc3FsL3J1bGVfaWQuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvcnVs ZXMvdGVtcGxhdGVzL3J1bGVzL3NxbC9ydWxlX2lkLnNxbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2E4NGJhCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvcnVsZXMvdGVtcGxhdGVz L3J1bGVzL3NxbC9ydWxlX2lkLnNxbApAQCAtMCwwICsxLDQgQEAKK3sjPT09 PT09PT1CZWxvdyB3aWxsIHByb3ZpZGUgcnVsZSBpZCBmb3IgbGFzdCBjcmVh dGVkIHJ1bGU9PT09PT09PSN9Cit7JSBpZiBydWxlX25hbWUgJX0KK1NFTEVD VCBydy5vaWQgRlJPTSBwZ19yZXdyaXRlIHJ3IFdIRVJFIHJ3LnJ1bGVuYW1l PXt7IHJ1bGVfbmFtZXxxdExpdGVyYWwgfX0KK3slIGVuZGlmICV9CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9ydWxlcy90ZW1wbGF0ZXMv cnVsZXMvc3FsL3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9y dWxlcy90ZW1wbGF0ZXMvcnVsZXMvc3FsL3VwZGF0ZS5zcWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJjM2FlZAotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3J1bGVzL3RlbXBsYXRl cy9ydWxlcy9zcWwvdXBkYXRlLnNxbApAQCAtMCwwICsxLDIyIEBACit7Iz09 PT09PT09PT09PVVwZGF0ZSBSdWxlPT09PT09PT09PT09PSN9Cit7JSBpZiBk YXRhLmV2ZW50IG9yIGRhdGEuZG9faW5zdGVhZCBvciBkYXRhLmNvbmRpdGlv biAlfQorQ1JFQVRFIE9SIFJFUExBQ0UgUlVMRSB7eyBjb25ufHF0SWRlbnQo b19kYXRhLm5hbWUpIH19IEFTCisgT04geyUgaWYgZGF0YS5ldmVudCBhbmQg ZGF0YS5ldmVudCAhPSBvX2RhdGEuZXZlbnQgJX17eyBkYXRhLmV2ZW50fHVw cGVyIH19eyUgZWxzZSAlfXt7IG9fZGF0YS5ldmVudHx1cHBlciB9fXslIGVu ZGlmICV9CisgVE8ge3sgY29ubnxxdElkZW50KG9fZGF0YS5zY2hlbWEsIG9f ZGF0YS52aWV3KSB9fQoreyUgaWYgZGF0YS5jb25kaXRpb24gYW5kIG9fZGF0 YS5jb25kaXRpb24gIT0gZGF0YS5jb25kaXRpb24gJX0KKyBXSEVSRSB7eyBk YXRhLmNvbmRpdGlvbiB9fQoreyUgZWxpZiBkYXRhLmNvbmRpdGlvbiBpcyBu b3QgZGVmaW5lZCBhbmQgb19kYXRhLmNvbmRpdGlvbiAlfQorIFdIRVJFIHt7 IG9fZGF0YS5jb25kaXRpb24gfX0KK3slIGVuZGlmICV9CisgRE97JSBpZiBk YXRhLmRvX2luc3RlYWQgaW4gWyd0cnVlJywgVHJ1ZV0gJX17eyAnIElOU1RF QUQnIH19eyUgZWxzZSAlfXt7ICcgJyB9fQoreyUgZW5kaWYgJX0KK3slIGlm IGRhdGEuc3RhdGVtZW50cyBhbmQgZGF0YS5zdGF0ZW1lbnRzICE9IG9fZGF0 YS5zdGF0ZW1lbnRzICV9Cisge3sgZGF0YS5zdGF0ZW1lbnRzLnJzdHJpcCgn OycpIH19OworIHslIGVsaWYgZGF0YS5zdGF0ZW1lbnRzIGlzIG5vdCBkZWZp bmVkIGFuZCBvX2RhdGEuc3RhdGVtZW50cyAlfQorIHt7IG9fZGF0YS5zdGF0 ZW1lbnRzLnJzdHJpcCgnOycpIH19OworeyUgZWxzZSAlfQorIE5PVEhJTkc7 Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuY29tbWVu dCBhbmQgZGF0YS5jb21tZW50ICE9IG9fZGF0YS5jb21tZW50ICV9CitDT01N RU5UIE9OIFJVTEUge3sgY29ubnxxdElkZW50KG9fZGF0YS5uYW1lKSB9fSBP TiB7eyBjb25ufHF0SWRlbnQob19kYXRhLnNjaGVtYSwgb19kYXRhLnZpZXcp IH19IElTIHt7IGRhdGEuY29tbWVudHxxdExpdGVyYWwgfX07eyUgZW5kaWYg JX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0YXRpYy9p bWcvY29sbC12aWV3LnBuZyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0YXRp Yy9pbWcvY29sbC12aWV3LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w NzhkNTMzNjg0YjhiZDdlMTg1NzQ5YzRmMWM5NjIwYWYyM2QxMTRiCkdJVCBi aW5hcnkgcGF0Y2gKbGl0ZXJhbCA0MTgKemNtZUFTQE4/KG9sSHlgdVZCcSFp YTB2cF4wd0IhNjM/d3lsYEdiS31ZPUJSUUUwOHw+eE9kS1JuUnpEXjl7cmoy CnpffWxWRkBBZkA7YkB9UEBkKFdSZ2VmSTN4cW89cDdLVlB9IVYpVWNgLVQo Z21kLSVWNWAlQVV8fE5uMSlwPz5HaAp6bihaJnRQSmEkTns9eGdmenFVSm4+ VGRvakpecz1BQE95YFNaX0lZUigoQUhXezAzK05WQFolLUZvVk9oOCkrYTsK emxERTV5UTF6WjFBZShgK3okM0M0TlBCPj4rc1NNQEFTMig/I1c2KFVhJWd7 flA9Zi1HdisyN1A5Vj5RSnw0O1U2CnpiZSFHS0gra1BTTU5oJTBZRDt3VlBw ISZwJD1IMlFhPjRfaUMtV3NgNG9WdWBrWHZESWU1bF9lVnxqd1c7KzUrUwp6 WWd5Nn5QWWR5Ky1jUzQ1KX5rMlohJFdBQVVjdCtva15rckMrTWxWcytwcGZ5 Y2BARmBuQzw+bC1WTXE/dDVyKX0KekJUNztkT0ghP3BpJkI5VWdPUCF1cHt7 fEV1OTEwJnBeMjVEcklvM3Z3dDw8SWZrRlBoa2V3KFJhYFJJJSg8KlVtClVr YkNAdzZ7dnkxKTc4JnFvbGA7KzBMUU1XNWRaKUgKCmxpdGVyYWwgMApIY21W P2QwMDAwMQoKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3N0 YXRpYy9pbWcvdmlldy5wbmcgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9zdGF0 aWMvaW1nL3ZpZXcucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0MTE2 ZGI1NjQ5NmJiNDc3YzhlY2U3ZDNmZGRhNjY2ZTFiMzc1OGIKR0lUIGJpbmFy eSBwYXRjaApsaXRlcmFsIDQzNwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZw XjB3QiE2Mz93eWxgR2JLfVhARjBORTA4fD54T2RLUm5hQlRvQU80PjcKejtP bjlYWitBVUBkR1lEPGBfRz8wZWZJM3g8RU9XN0pZUkZ7TWVAUV5udmVjPlot MSV3fE5zQihGVnReO3A3UHx5Cnpqb1U5YlQ9fGk2O2NNZFEmdGI8dGRTQ2dU Ykt6VSFAc0hseVUjTEMmLStsYXBfayh8SmNtQ0FmezhmN09OQX1fTwp6NCpU QWk/UnVzNlJkclAmJnw9MXRBaXJQK2hpNW1eSyU2OVJjTmY3JlRXeG0lSWgr TF5rO09wVDFCfjVIWDQ/VDcKelMpTU1BQXJoQzk2QW0hK187QGc9OTV7MDMo NVlrUjR4VClFXno3bCY+X1FMUkgzU2x4STU/YWJvZndxI1BwR2huCnozeTNg d2F1cE8xbzw2fXZhS2ZaJTZCdlV3QmB7aH1YeFB6VzZUPmlqcCtSPHspJjwj UjNzeC1BKE5rUSFYY2Ijbgp6PDBESHFwWXpOTkp6TG18fDUkeXgwSkslTCM1 Sk5NQzl4I2NEIUN7WE5IR3swNyNpcHI4dEVEc2g4UClHbkhYRHsKem19KG9D U3tXRzNkI0FTd01NR3xXTkBpTG1NMXo0UFNPWllDaUlzc0ZNOG0xK3A9KkV8 Nyg4QTVULUdAeUd5d254CkNtOSgoewoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx CgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVz L3ZpZXdzL2Nzcy92aWV3LmNzcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rl bXBsYXRlcy92aWV3cy9jc3Mvdmlldy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uY2EzM2FiMwotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9jc3Mvdmll dy5jc3MKQEAgLTAsMCArMSw5IEBACisucGctaWNvbi12aWV3eworICBiYWNr Z3JvdW5kLWltYWdlOiB1cmwoJ3t7IHVybF9mb3IoJ05PREUtdmlldy5zdGF0 aWMnLCBmaWxlbmFtZT0naW1nL3ZpZXcucG5nJykgfX0nKSAhaW1wb3J0YW50 OworICBib3JkZXItcmFkaXVzOiAxMHB4OworICBiYWNrZ3JvdW5kLXJlcGVh dDogbm8tcmVwZWF0OworICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CisgIHZl cnRpY2FsLWFsaWduOiBtaWRkbGU7CisgIGhlaWdodDogMS4zZW07Cit9CisK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92 aWV3cy9qcy92aWV3cy5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBs YXRlcy92aWV3cy9qcy92aWV3cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi40Y2MyNjNjCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL2pzL3ZpZXdzLmpz CkBAIC0wLDAgKzEsMjM4IEBACitkZWZpbmUoCisgIFsnanF1ZXJ5JywgJ3Vu ZGVyc2NvcmUnLCAndW5kZXJzY29yZS5zdHJpbmcnLCAncGdhZG1pbicsICdw Z2FkbWluLmJyb3dzZXInLCAnY29kZW1pcnJvcicsICdwZ2FkbWluLmJyb3dz ZXIuc2VydmVyLnByaXZpbGVnZSddLAorZnVuY3Rpb24oJCwgXywgUywgcGdB ZG1pbiwgcGdCcm93c2VyLCBDb2RlTWlycm9yKSB7CisKKyAgdmFyIFNlY3Vy aXR5TW9kZWwgPSBwZ0FkbWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQo eworICAgIGRlZmF1bHRzOiB7CisgICAgICBwcm92aWRlcjogdW5kZWZpbmVk LAorICAgICAgc2VjdXJpdHlsYWJlbDogdW5kZWZpbmVkCisgICAgfSwKKyAg ICBzY2hlbWE6IFt7CisgICAgICBpZDogJ3Byb3ZpZGVyJywgbGFiZWw6ICd7 eyBfKCdQcm92aWRlcicpIH19JywKKyAgICAgIHR5cGU6ICd0ZXh0JywgZWRp dGFibGU6IHRydWUKKyAgICB9LHsKKyAgICAgIGlkOiAnc2VjdXJpdHlfbGFi ZWwnLCBsYWJlbDogJ3t7IF8oJ1NlY3VyaXR5IExhYmVsJykgfX0nLAorICAg ICAgdHlwZTogJ3RleHQnLCBlZGl0YWJsZTogdHJ1ZQorICAgIH1dLAorICAg IHZhbGlkYXRlOiBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBlcnIgPSB7fSwK KyAgICAgICAgZXJybXNnID0gbnVsbCwKKyAgICAgICAgZmllbGRfbmFtZSA9 IHRoaXMuZ2V0KCdwcm92aWRlcicpLAorICAgICAgICBmaWVsZF9zZWN1cml0 eV9sYWJlbCA9IHRoaXMuZ2V0KCdzZWN1cml0eV9sYWJlbCcpOworCisgICAg ICBpZiAoXy5pc1VuZGVmaW5lZChmaWVsZF9uYW1lKSB8fCBfLmlzTnVsbChm aWVsZF9uYW1lKSB8fAorICAgICAgICBTdHJpbmcoZmllbGRfbmFtZSkucmVw bGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICBlcnJb J3Byb3ZpZGVyJ10gPSAne3sgXygiUHJvdmlkZXIgY2Fubm90IGJlIGVtcHR5 LiIpIH19JzsKKyAgICAgICAgZXJybXNnID0gZXJybXNnIHx8IGVyclsncHJv dmlkZXInXTsKKyAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgncHJvdmlk ZXInLCBlcnJtc2cpOworICAgICAgICByZXR1cm4gZXJybXNnOworICAgICAg fWVsc2V7CisgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgncHJvdmlk ZXInKTsKKyAgICAgIH0KKworICAgICAgaWYgKF8uaXNVbmRlZmluZWQoZmll bGRfc2VjdXJpdHlfbGFiZWwpIHx8IF8uaXNOdWxsKGZpZWxkX3NlY3VyaXR5 X2xhYmVsKSB8fAorICAgICAgICBTdHJpbmcoZmllbGRfc2VjdXJpdHlfbGFi ZWwpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKKyAgICAg ICAgZXJyWydzZWN1cml0eV9sYWJlbCddID0gJ3t7IF8oIlNlY3VyaXR5IExh YmVsIGNhbm5vdCBiZSBlbXB0eS4iKSB9fSc7CisgICAgICAgIGVycm1zZyA9 IGVycm1zZyB8fCBlcnJbJ3NlY3VyaXR5X2xhYmVsJ107CisgICAgICAgIHRo aXMuZXJyb3JNb2RlbC5zZXQoJ3NlY3VyaXR5X2xhYmVsJywgZXJybXNnKTsK KyAgICAgICAgcmV0dXJuIGVycm1zZzsKKyAgICAgIH1lbHNleworICAgICAg ICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3NlY3VyaXR5X2xhYmVsJyk7Cisg ICAgICB9CisgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisgIH0pOworCisg IGlmICghcGdCcm93c2VyLk5vZGVzWydjb2xsLXZpZXcnXSkgeworICAgIHZh ciB2aWV3cz0gcGdBZG1pbi5Ccm93c2VyLk5vZGVzWydjb2xsLXZpZXcnXSA9 CisgICAgICBwZ0FkbWluLkJyb3dzZXIuQ29sbGVjdGlvbi5leHRlbmQoewor ICAgICAgICBub2RlOiAndmlldycsCisgICAgICAgIGxhYmVsOiAne3sgXygn Vmlld3MnKSB9fScsCisgICAgICAgIHR5cGU6ICdjb2xsLXZpZXcnLAorICAg ICAgICBjb2x1bW5zOiBbJ25hbWUnLCAnb3duZXInXQorICAgICAgfSk7Cisg IH07CisKKyAgaWYgKCFwZ0Jyb3dzZXIuTm9kZXNbJ3ZpZXcnXSkgeworICAg IHBnQWRtaW4uQnJvd3Nlci5Ob2Rlc1sndmlldyddID0gcGdBZG1pbi5Ccm93 c2VyLk5vZGUuZXh0ZW5kKHsKKyAgICAgIHBhcmVudF90eXBlOiBbJ3NjaGVt YScsICdjYXRhbG9nJ10sCisgICAgICB0eXBlOiAndmlldycsCisgICAgICBs YWJlbDogJ3t7IF8oJ1ZpZXcnKSB9fScsCisgICAgICBoYXNTUUw6ICB0cnVl LAorICAgICAgY29sbGVjdGlvbl90eXBlOiAnY29sbC12aWV3JywKKyAgICAg IGNhbkRyb3A6IHBnQnJvd3Nlci5Ob2Rlc1snc2NoZW1hJ10uY2FuQ2hpbGRE cm9wLAorICAgICAgY2FuRHJvcENhc2NhZGU6IHBnQnJvd3Nlci5Ob2Rlc1sn c2NoZW1hJ10uY2FuQ2hpbGREcm9wLAorICAgICAgSW5pdDogZnVuY3Rpb24o KSB7CisgICAgICAgIC8qIEF2b2lkIG11bGl0cGxlIHJlZ2lzdHJhdGlvbiBv ZiBtZW51cyAqLworICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKKyAg ICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9 IHRydWU7CisKKyAgICAgICAgcGdCcm93c2VyLmFkZF9tZW51cyhbeworICAg ICAgICAgIG5hbWU6ICdjcmVhdGVfdmlld19vbl9jb2xsJywgbm9kZTogJ2Nv bGwtdmlldycsIG1vZHVsZTogdGhpcywKKyAgICAgICAgICBhcHBsaWVzOiBb J29iamVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAnc2hvd19vYmpfcHJv cGVydGllcycsCisgICAgICAgICAgY2F0ZWdvcnk6ICdjcmVhdGUnLCBwcmlv cml0eTogNCwgbGFiZWw6ICd7eyBfKCdWaWV3Li4uJykgfX0nLAorICAgICAg ICAgIGljb246ICd3Y1RhYkljb24gcGctaWNvbi12aWV3JywgZGF0YToge2Fj dGlvbjogJ2NyZWF0ZScsIGNoZWNrOiB0cnVlfSwKKyAgICAgICAgICBlbmFi bGU6ICdjYW5DcmVhdGUnCisgICAgICAgIH0seworICAgICAgICAgIG5hbWU6 ICdjcmVhdGVfdmlldycsIG5vZGU6ICd2aWV3JywgbW9kdWxlOiB0aGlzLAor ICAgICAgICAgIGFwcGxpZXM6IFsnb2JqZWN0JywgJ2NvbnRleHQnXSwgY2Fs bGJhY2s6ICdzaG93X29ial9wcm9wZXJ0aWVzJywKKyAgICAgICAgICBjYXRl Z29yeTogJ2NyZWF0ZScsIHByaW9yaXR5OiA0LCBsYWJlbDogJ3t7IF8oJ1Zp ZXcuLi4nKSB9fScsCisgICAgICAgICAgaWNvbjogJ3djVGFiSWNvbiBwZy1p Y29uLXZpZXcnLCBkYXRhOiB7YWN0aW9uOiAnY3JlYXRlJywgY2hlY2s6IHRy dWV9LAorICAgICAgICAgIGVuYWJsZTogJ2NhbkNyZWF0ZScKKyAgICAgICAg fSx7CisgICAgICAgICAgbmFtZTogJ2NyZWF0ZV92aWV3Jywgbm9kZTogJ3Nj aGVtYScsIG1vZHVsZTogdGhpcywKKyAgICAgICAgICBhcHBsaWVzOiBbJ29i amVjdCcsICdjb250ZXh0J10sIGNhbGxiYWNrOiAnc2hvd19vYmpfcHJvcGVy dGllcycsCisgICAgICAgICAgY2F0ZWdvcnk6ICdjcmVhdGUnLCBwcmlvcml0 eTogNCwgbGFiZWw6ICd7eyBfKCdWaWV3Li4uJykgfX0nLAorICAgICAgICAg IGljb246ICd3Y1RhYkljb24gcGctaWNvbi12aWV3JywgZGF0YToge2FjdGlv bjogJ2NyZWF0ZScsIGNoZWNrOiBmYWxzZX0sCisgICAgICAgICAgZW5hYmxl OiAnY2FuQ3JlYXRlJworICAgICAgICB9CisgICAgICAgIF0pOworICAgICAg fSwKKyAgICAgIG1vZGVsOiBwZ0FkbWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5l eHRlbmQoeworICAgICAgICBkZWZhdWx0czogeworICAgICAgICB9LAorICAg ICAgICBzY2hlbWE6IFt7CisgICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6 ICd7eyBfKCdOYW1lJykgfX0nLCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAg ICB0eXBlOiAndGV4dCcKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdv aWQnLCBsYWJlbDone3sgXygnT2lkJykgfX0nLCBjZWxsOiAnc3RyaW5nJywK KyAgICAgICAgICB0eXBlOiAndGV4dCcsIGRpc2FibGVkOiB0cnVlCisgICAg ICAgIH0seworICAgICAgICAgIGlkOiAnb3duZXInLCBsYWJlbDone3sgXygn T3duZXInKSB9fScsIGNlbGw6ICdzdHJpbmcnLCBjb250cm9sOiAnbm9kZS1s aXN0LWJ5LW5hbWUnLAorICAgICAgICAgIG5vZGU6ICdyb2xlJworICAgICAg ICB9LHsKKyAgICAgICAgICBpZDogJ3NjaGVtYScsIGxhYmVsOid7eyBfKCdT Y2hlbWEnKSB9fScsIGNlbGw6ICdzdHJpbmcnLCBmaXJzdF9lbXB0eTogZmFs c2UsCisgICAgICAgICAgdHlwZTogJ29wdGlvbnMnLCBub2RlOiAnc2NoZW1h JywKKyAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFt ZUNvbnRyb2wuZXh0ZW5kKHsKKyAgICAgICAgICAgIHJlbmRlcjogZnVuY3Rp b24oKXsKKyAgICAgICAgICAgICAgQmFja2Zvcm0uTm9kZUxpc3RCeU5hbWVD b250cm9sLnByb3RvdHlwZS5yZW5kZXIuYXBwbHkodGhpcywgYXJndW1lbnRz KTsKKyAgICAgICAgICAgICAgLy8gU2V0IHNjaGVtYSBkZWZhdWx0IHZhbHVl IHRvIGl0cyBwYXJlbnQgU2NoZW1hCisgICAgICAgICAgICAgIGlmKHRoaXMu bW9kZWwuaXNOZXcoKSl7CisgICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5z ZXQoeydzY2hlbWEnOiB0aGlzLm1vZGVsLm5vZGVfaW5mby5zY2hlbWEubGFi ZWx9KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICByZXR1cm4g dGhpczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KSwKKyAgICAgICAg ICBmaWx0ZXI6IGZ1bmN0aW9uKGQpeworICAgICAgICAgICAgaWYoZC5sYWJl bCAmJiBkLmxhYmVsLm1hdGNoKC9ecGdfLykpeworICAgICAgICAgICAgICBy ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0seworICAgICAgICAg IGlkOiAnY29tbWVudCcsIGxhYmVsOid7eyBfKCdDb21tZW50JykgfX0nLCBj ZWxsOiAnc3RyaW5nJywgdHlwZTogJ211bHRpbGluZScKKyAgICAgICAgfSx7 CisgICAgICAgICAgaWQ6ICdzeXN0ZW1fdmlldycsIGxhYmVsOid7eyBfKCdT eXN0ZW0gdmlldz8nKSB9fScsIGNlbGw6ICdzdHJpbmcnLAorICAgICAgICAg IHR5cGU6ICdzd2l0Y2gnLCBkaXNhYmxlZDogdHJ1ZSwgbW9kZTogWydwcm9w ZXJ0aWVzJ10sICdvcHRpb25zJzogeworICAgICAgICAgICAgJ29uVGV4dCc6 ICdZZXMnLCAnb2ZmVGV4dCc6ICdObycsICdvbkNvbG9yJzogJ3N1Y2Nlc3Mn LAorICAgICAgICAgICAgJ29mZkNvbG9yJzogJ2RlZmF1bHQnLCAnc2l6ZSc6 ICdzbWFsbCcKKyAgICAgICAgICB9CisgICAgICAgIH0seworICAgICAgICAg IGlkOiAnc2VjdXJpdHlfYmFycmllcicsIGxhYmVsOid7eyBfKCdTZWN1cml0 eSBCYXJyaWVyJykgfX0nLCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAgICB0 eXBlOiAnc3dpdGNoJywgbWluX3ZlcnNpb246ICc5MDIwMCcsCisgICAgICAg ICAgZ3JvdXA6ICdEZWZpbml0aW9uJywgb3B0aW9uczogeworICAgICAgICAg ICAgJ29uVGV4dCc6ICdZZXMnLCAnb2ZmVGV4dCc6ICdObycsICdvbkNvbG9y JzogJ3N1Y2Nlc3MnLAorICAgICAgICAgICAgJ29mZkNvbG9yJzogJ2RlZmF1 bHQnLCAnc2l6ZSc6ICdzbWFsbCcKKyAgICAgICAgICB9CisgICAgICAgIH0s eworICAgICAgICAgIGlkOiAnY2hlY2tfb3B0aW9uJywgbGFiZWw6J3t7IF8o J0NoZWNrIE9wdGlvbnMnKSB9fScsIGNvbnRyb2w6ICdzZWxlY3QyJywKKyAg ICAgICAgICBncm91cDogJ0RlZmluaXRpb24nLCB0eXBlOiAndGV4dCcsIG1p bl92ZXJzaW9uOiAnOTA0MDAnLCBtb2RlOlsnY3JlYXRlJywgJ2VkaXQnXSwK KyAgICAgICAgICBzZWxlY3QyOiB7CisgICAgICAgICAgICB3aWR0aDogJzEw MCUnCisgICAgICAgICAgfSwKKyAgICAgICAgICBvcHRpb25zOlsgCisgICAg ICAgICAgICB7bGFiZWw6ICJObyIsIHZhbHVlOiAibm8ifSwKKyAgICAgICAg ICAgIHtsYWJlbDogIkxvY2FsIiwgdmFsdWU6ICJsb2NhbCJ9LAorICAgICAg ICAgICAge2xhYmVsOiAiQ2FzY2FkZWQiLCB2YWx1ZTogImNhc2NhZGVkIn0K KyAgICAgICAgICBdCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAnZGVm aW5pdGlvbicsIGxhYmVsOid7eyBfKCdEZWZpbml0aW9uJykgfX0nLCBjZWxs OiAnc3RyaW5nJywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsn cHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLCBncm91cDogJ0RlZmlu aXRpb24nLAorICAgICAgICAgIGNvbnRyb2w6ICdzcWwtZmllbGQnIAorICAg ICAgICB9LHsKKyAgICAgICAgICBpZDogJ21fdmlldycsIGxhYmVsOid7eyBf KCdNYXRlcmlhbGl6ZWQgdmlldz8nKSB9fScsIGNlbGw6ICdzdHJpbmcnLAor ICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBtb2RlOiBbJ3Byb3BlcnRpZXMn XSwgbWluX3ZlcnNpb246ICc5MDMwMCcsCisgICAgICAgICAgZ3JvdXA6ICdN YXRlcmlhbGl6YXRpb24nLCBvcHRpb25zOiB7CisgICAgICAgICAgICAnb25U ZXh0JzogJ1llcycsICdvZmZUZXh0JzogJ05vJywgJ29uQ29sb3InOiAnc3Vj Y2VzcycsCisgICAgICAgICAgICAnb2ZmQ29sb3InOiAnZGVmYXVsdCcsICdz aXplJzogJ3NtYWxsJworICAgICAgICAgIH0KKyAgICAgICAgfSx7CisgICAg ICAgICAgaWQ6ICdzZWNsYWJlbHMnLCBsYWJlbDogJ3t7IF8oJ1NlY3VyaXRp eSBMYWJlbHMnKSB9fScsIG1vZGVsOiBTZWN1cml0eU1vZGVsLAorICAgICAg ICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ2NvbGxlY3Rpb24nLCBjYW5F ZGl0OiBmYWxzZSwKKyAgICAgICAgICBncm91cDogJ3t7IF8oJ1NlY3VyaXR5 JykgfX0nLCBjYW5EZWxldGU6IHRydWUsCisgICAgICAgICAgbW9kZTogWydl ZGl0JywgJ2NyZWF0ZSddLCBjYW5BZGQ6IHRydWUsCisgICAgICAgICAgY29u dHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsIHVuaXF1ZUNvbCA6IFsn cHJvdmlkZXInXQorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ2RhdGFj bCcsIGxhYmVsOiAne3sgXygnUHJpdmlsZWdlcycpIH19JywgbW9kZWw6IHBn QWRtaW4uQnJvd3Nlci5Ob2RlLlByaXZpbGVnZVJvbGVNb2RlbC5leHRlbmQo CisgICAgICAgICAgICB7cHJpdmlsZWdlczogWydhJywgJ3InLCAndycsICdk JywgJ3gnLCAndCddfSksIHVuaXF1ZUNvbCA6IFsnZ3JhbnRlZSddLAorICAg ICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ2NvbGxlY3Rpb24nLCBn cm91cDogJ3t7IF8oJ1NlY3VyaXR5JykgfX0nLCBtb2RlOiBbJ3Byb3BlcnRp ZXMnLCAnZWRpdCcsICdjcmVhdGUnXSwKKyAgICAgICAgICBjYW5BZGQ6IHRy dWUsIGNhbkRlbGV0ZTogdHJ1ZSwgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29s bGVjdGlvbicsCisgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAgICAgdmFs aWRhdGU6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIC8qCisgICAgICAgICAg KiBUcmlnZ2VycyBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcyBmb3IgZmllbGRz IAorICAgICAgICAgICovCisgICAgICAgICAgdmFyIGVyciA9IHt9LAorICAg ICAgICAgICAgZXJybXNnLAorICAgICAgICAgICAgZmllbGRfbmFtZSA9IHRo aXMuZ2V0KCduYW1lJyksCisgICAgICAgICAgICBmaWVsZF9kZWYgPSB0aGlz LmdldCgnZGVmaW5pdGlvbicpOworICAgICAgICAgIGlmIChfLmlzVW5kZWZp bmVkKGZpZWxkX25hbWUpIHx8IF8uaXNOdWxsKGZpZWxkX25hbWUpIHx8Cisg ICAgICAgICAgICBTdHJpbmcoZmllbGRfbmFtZSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgZXJyWyduYW1lJ10g PSAne3sgXygiUGxlYXNlIHNwZWNpZnkgbmFtZS4iKSB9fSc7CisgICAgICAg ICAgICBlcnJtc2cgPSBlcnJtc2cgfHwgZXJyWyduYW1lJ107CisgICAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCduYW1lJywgZXJybXNnKTsKKyAg ICAgICAgICAgIHJldHVybiBlcnJtc2c7CisgICAgICAgICAgfWVsc2V7Cisg ICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ25hbWUnKTsKKyAg ICAgICAgICB9CisgICAgICAgICAgaWYodGhpcy5pc05ldygpKXsKKyAgICAg ICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKGZpZWxkX2RlZikgfHwgXy5pc051 bGwoZmllbGRfZGVmKSB8fAorICAgICAgICAgICAgICBTdHJpbmcoZmllbGRf ZGVmKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7CisgICAg ICAgICAgICAgIGVyclsnZGVmaW5pdGlvbiddID0gJ3t7IF8oIlBsZWFzZSBl bnRlciBmdW5jdGlvbiBkZWZpbml0aW9uLiIpIH19JzsKKyAgICAgICAgICAg ICAgZXJybXNnID0gZXJybXNnIHx8IGVyclsnZGVmaW5pdGlvbiddOworICAg ICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdkZWZpbml0aW9uJywg ZXJybXNnKTsKKyAgICAgICAgICAgICAgcmV0dXJuIGVycm1zZzsKKyAgICAg ICAgICAgIH1lbHNleworICAgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu dW5zZXQoJ2RlZmluaXRpb24nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg ICB9CisgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIH0KKyAgICAg IH0pLAorICAgICAgY2FuQ3JlYXRlOiBmdW5jdGlvbihpdGVtRGF0YSwgaXRl bSwgZGF0YSkgeworICAgICAgICAvL0lmIGNoZWNrIGlzIGZhbHNlIHRoZW4g LCB3ZSB3aWxsIGFsbG93IGNyZWF0ZSBtZW51CisgICAgICAgIGlmIChkYXRh ICYmIGRhdGEuY2hlY2sgPT0gZmFsc2UpCisgICAgICAgICAgcmV0dXJuIHRy dWU7CisKKyAgICAgICAgdmFyIHQgPSBwZ0Jyb3dzZXIudHJlZSwgaSA9IGl0 ZW0sIGQgPSBpdGVtRGF0YTsKKyAgICAgICAgLy8gVG8gaXRlcmF0ZSBvdmVy IHRyZWUgdG8gY2hlY2sgcGFyZW50IG5vZGUKKyAgICAgICAgd2hpbGUgKGkp IHsKKyAgICAgICAgICAvLyBJZiBpdCBpcyBzY2hlbWEgdGhlbiBhbGxvdyB1 c2VyIHRvIGNyZWF0ZSB2aWV3IAorICAgICAgICAgIGlmIChfLmluZGV4T2Yo WydzY2hlbWEnXSwgZC5fdHlwZSkgPiAtMSkKKyAgICAgICAgICAgIHJldHVy biB0cnVlOworCisgICAgICAgICAgaWYgKCdjb2xsLXZpZXcnID09IGQuX3R5 cGUpIHsKKyAgICAgICAgICAgIC8vQ2hlY2sgaWYgd2UgYXJlIG5vdCBjaGls ZCBvZiB2aWV3IAorICAgICAgICAgICAgcHJldl9pID0gdC5oYXNQYXJlbnQo aSkgPyB0LnBhcmVudChpKSA6IG51bGw7CisgICAgICAgICAgICBwcmV2X2Qg PSBwcmV2X2kgPyB0Lml0ZW1EYXRhKHByZXZfaSkgOiBudWxsOworICAgICAg ICAgICAgaWYoIHByZXZfZC5fdHlwZSA9PSAnY2F0YWxvZycpIHsKKyAgICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9ICAg ICAgICAgICAgICAgIAorICAgICAgICAgIH0KKyAgICAgICAgICBpID0gdC5o YXNQYXJlbnQoaSkgPyB0LnBhcmVudChpKSA6IG51bGw7CisgICAgICAgICAg ZCA9IGkgPyB0Lml0ZW1EYXRhKGkpIDogbnVsbDsKKyAgICAgICAgfQorICAg ICAgICAvLyBieSBkZWZhdWx0IHdlIGRvIG5vdCB3YW50IHRvIGFsbG93IGNy ZWF0ZSBtZW51CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAg ICAgIH0KKyAgfSk7CisgIH0KKworICByZXR1cm4gcGdCcm93c2VyLk5vZGVz Wydjb2xsLXZpZXcnXTsKK30pOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjFfcGx1cy9hY2wuc3Fs IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85 LjFfcGx1cy9hY2wuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmYyMzZlNDAKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuMV9wbHVzL2FjbC5z cWwKQEAgLTAsMCArMSwzMCBAQAoreyM9PT09PT09PT09PT09PT09PT09PT09 PT09PT09R2V0IEFDTHM9PT09PT09PT09PT09PT09PT09PT09PT09I30KK3sl IGlmIHZpZCAlfQorU0VMRUNUICdkYXRhY2wnIGFzIGRlZnR5cGUsIENPQUxF U0NFKGd0LnJvbG5hbWUsICdwdWJsaWMnKSBncmFudGVlLCBnLnJvbG5hbWUg Z3JhbnRvciwgYXJyYXlfYWdnKHByaXZpbGVnZV90eXBlKSBhcyBwcml2aWxl Z2VzLCAKK2FycmF5X2FnZyhpc19ncmFudGFibGUpIGFzIGdyYW50YWJsZQor RlJPTQorICAgIChTRUxFQ1QKKyAgICAgICAgZC5ncmFudGVlLCBkLmdyYW50 b3IsIGQuaXNfZ3JhbnRhYmxlLAorICAgICAgICBDQVNFIGQucHJpdmlsZWdl X3R5cGUKKyAgICAgICAgV0hFTiAnREVMRVRFJyBUSEVOICdkJyAKKyAgICAg ICAgV0hFTiAnSU5TRVJUJyBUSEVOICdhJyAKKyAgICAgICAgV0hFTiAnUkVG RVJFTkNFUycgVEhFTiAneCcgCisgICAgICAgIFdIRU4gJ1NFTEVDVCcgVEhF TiAncicgCisgICAgICAgIFdIRU4gJ1RSSUdHRVInIFRIRU4gJ3QnIAorICAg ICAgICBXSEVOICdVUERBVEUnIFRIRU4gJ3cnIAorICAgICAgICBFTFNFICdV TktOT1dOJworICAgICAgICBFTkQgQVMgcHJpdmlsZWdlX3R5cGUKKyAgICBG Uk9NCisgICAgICAgIChTRUxFQ1QgcmVsYWNsIEZST00gcGdfY2xhc3MgY2wg ICAgICAgICAgICAKKyAgICAgICAgICAgIExFRlQgT1VURVIgSk9JTiBwZ19z aGRlc2NyaXB0aW9uIGRlc2NyIE9OICgKKyAgICAgICAgICAgIGNsLm9pZD1k ZXNjci5vYmpvaWQgQU5EIGRlc2NyLmNsYXNzb2lkPSdwZ19jbGFzcyc6OnJl Z2NsYXNzKQorICBXSEVSRSBjbC5vaWQgPSB7eyB2aWQgfX06Ok9JRCBBTkQg cmVsa2luZCA9ICd2JworICAgICAgICApIGFjbCwKKyAgICAgICAgKFNFTEVD VCAoZCkuZ3JhbnRlZSBBUyBncmFudGVlLCAoZCkuZ3JhbnRvciBBUyBncmFu dG9yLCAoZCkuaXNfZ3JhbnRhYmxlIEFTIGlzX2dyYW50YWJsZSwKKyAgICAg ICAgICAgIChkKS5wcml2aWxlZ2VfdHlwZSBBUyBwcml2aWxlZ2VfdHlwZQor ICAgICAgICBGUk9NIChTRUxFQ1QgYWNsZXhwbG9kZShyZWxhY2wpIGFzIGQg RlJPTSBwZ19jbGFzcyBjbDEgV0hFUkUgY2wxLm9pZCA9IHt7dmlkfX0pIGEp IGQKKyAgICAgICAgKSBkCisgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdf cm9sZXMgZyBPTiAoZC5ncmFudG9yID0gZy5vaWQpCisgICAgTEVGVCBKT0lO IHBnX2NhdGFsb2cucGdfcm9sZXMgZ3QgT04gKGQuZ3JhbnRlZSA9IGd0Lm9p ZCkKK0dST1VQIEJZIGcucm9sbmFtZSwgZ3Qucm9sbmFtZQoreyUgZW5kaWYg JX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRl cy92aWV3cy9zcWwvOS4xX3BsdXMvYmFja2VuZF9zdXBwb3J0LnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4xX3Bs dXMvYmFja2VuZF9zdXBwb3J0LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5jZDQ5MjIzCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjFfcGx1 cy9iYWNrZW5kX3N1cHBvcnQuc3FsCkBAIC0wLDAgKzEsMTggQEAKK1NFTEVD VAorIENBU0UgV0hFTiBuc3AubnNwbmFtZSBJTiAoJ3N5cycsICdkYm8nLCAn aW5mb3JtYXRpb25fc2NoZW1hJykgVEhFTiB0cnVlIEVMU0UgZmFsc2UgRU5E IEFTIGRiU3VwcG9ydAorRlJPTSBwZ19uYW1lc3BhY2UgbnNwIAorV0hFUkUg bnNwLm9pZD17e3NjaWR9fTo6aW50CitBTkQgKAorCShuc3BuYW1lID0gJ3Bn X2NhdGFsb2cnIEFORCBFWElTVFMgCisJICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChTRUxFQ1QgMSBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5h bWUgPSAncGdfY2xhc3MnIEFORCByZWxuYW1lc3BhY2UgPSBuc3Aub2lkIExJ TUlUIDEpKSAKKwlPUiAobnNwbmFtZSA9ICdwZ2FnZW50JyBBTkQgRVhJU1RT CisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTRUxFQ1QgMSBG Uk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAncGdhX2pvYicgQU5EIHJl bG5hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAorCU9SIChuc3BuYW1l ID0gJ2luZm9ybWF0aW9uX3NjaGVtYScgQU5EIEVYSVNUUyAKKwkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKFNFTEVDVCAxIEZST00gcGdfY2xh c3MgV0hFUkUgcmVsbmFtZSA9ICd0YWJsZXMnIEFORCByZWxuYW1lc3BhY2Ug PSBuc3Aub2lkIExJTUlUIDEpKSAKKwlPUiAobnNwbmFtZSBMSUtFICdfJScg QU5EIEVYSVNUUyAKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KFNFTEVDVCAxIEZST00gcGdfcHJvYyBXSEVSRSBwcm9uYW1lPSdzbG9ueXZl cnNpb24nIEFORCBwcm9uYW1lc3BhY2UgPSBuc3Aub2lkIExJTUlUIDEpKQor KSAKK0FORCAKKyBuc3BuYW1lIE5PVCBMSUtFIEUncGdcXHRlbXBcXCUnCitB TkQgCisgbnNwbmFtZSBOT1QgTElLRSBFJ3BnXFx0b2FzdF90ZW1wXFwlJwpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3Zp ZXdzL3NxbC85LjFfcGx1cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjFfcGx1cy9jcmVhdGUuc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOTY2YjIK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1w bGF0ZXMvdmlld3Mvc3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwKQEAgLTAsMCAr MSwyNSBAQAoreyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09Q3JlYXRl IG5ldyB2aWV3PT09PT09PT09PT09PT09PT09PT09PT09PSN9Cit7JSBpZiBk aXNwbGF5X2NvbW1lbnRzICV9CistLSBWaWV3OiB7eyBjb25ufHF0SWRlbnQo ZGF0YS5zY2hlbWEsIGRhdGEubmFtZSkgfX0KKworLS0gRFJPUCBWSUVXIHt7 IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fTsKKwor eyUgZW5kaWYgJX0KK3slIGlmIGRhdGEubmFtZSBhbmQgZGF0YS5zY2hlbWEg YW5kIGRhdGEuZGVmaW5pdGlvbiAlfQorQ1JFQVRFIE9SIFJFUExBQ0UgVklF VyB7eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEubmFtZSkgfX0g Cit7JSBpZiAoKGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29w dGlvbi5sb3dlcigpICE9ICdubycpIG9yIGRhdGEuc2VjdXJpdHlfYmFycmll cikgJX0KK1dJVEggKHslIGlmIGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRh LmNoZWNrX29wdGlvbi5sb3dlcigpICE9ICdubycgJX0KK2NoZWNrX29wdGlv bj17eyBkYXRhLmNoZWNrX29wdGlvbiB9fXslIGVuZGlmICV9e3sgJywgJyBp ZiBkYXRhLmNoZWNrX29wdGlvbiBhbmQgCitkYXRhLmNoZWNrX29wdGlvbi5s b3dlcigpICE9ICdubycgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmllciBlbHNl ICcnIH19eyUgaWYgZGF0YS5zZWN1cml0eV9iYXJyaWVyICV9CitzZWN1cml0 eV9iYXJyaWVyPXt7IGRhdGEuc2VjdXJpdHlfYmFycmllciB9fXslIGVuZGlm ICV9KXslIGVuZGlmICV9IEFTCit7eyBkYXRhLmRlZmluaXRpb24ucnN0cmlw KCc7JykgfX07Cit7JSBpZiBkYXRhLm93bmVyICV9CisKK0FMVEVSIFRBQkxF IHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fQor ICBPV05FUiBUTyB7eyBkYXRhLm93bmVyIH19OworeyUgZW5kaWYgJX0KK3sl IGlmIGRhdGEuY29tbWVudCAlfQorQ09NTUVOVCBPTiBWSUVXIHt7IGNvbm58 cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fQorICAgIElTIHt7 IGRhdGEuY29tbWVudHxxdExpdGVyYWwgfX07Cit7JSBlbmRpZiAlfQoreyUg ZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rl bXBsYXRlcy92aWV3cy9zcWwvOS4xX3BsdXMvZGVsZXRlLnNxbCBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4xX3BsdXMv ZGVsZXRlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5hODhhODM4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjFfcGx1cy9kZWxldGUuc3Fs CkBAIC0wLDAgKzEsOSBAQAoreyM9PT09PT09PT09PT09PT09PT09PT09PT09 PT09RHJvcC9DYXNjYWRlIHZpZXcgYnkgbmFtZT09PT09PT09PT09PT09PT09 PT09PT09PT0jfQoreyUgaWYgdmlkICV9CitTRUxFQ1QgYy5yZWxuYW1lIEFz IG5hbWUsIG5zcC5uc3BuYW1lCisgICAgRlJPTSBwZ19jbGFzcyBjCisgICAg TEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuc3Agb24gYy5yZWxuYW1lc3BhY2Ug PSBuc3Aub2lkCisgICAgV0hFUkUgYy5yZWxmaWxlbm9kZSA9IHt7IHZpZCB9 fTsKK3slIGVsaWYgKG5hbWUgYW5kIG5zcG5hbWUpICV9CitEUk9QIFZJRVcg e3tuc3BuYW1lfX0ue3sgY29ubnxxdElkZW50KG5hbWUpIH19IHslIGlmIGNh c2NhZGUgJX0gQ0FTQ0FERSB7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9zcWwvOS4xX3BsdXMvZ3JhbnQuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjFfcGx1cy9ncmFudC5zcWwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZhNzE4MQotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRl cy92aWV3cy9zcWwvOS4xX3BsdXMvZ3JhbnQuc3FsCkBAIC0wLDAgKzEsMTQg QEAKK3sjPT09PT1HcmFudCBQZXJtaXNzaW9ucyB0byBVc2VyIFJvbGUgb24g Vmlld3MvVGFibGVzPT09PSN9Cit7JSBpbXBvcnQgJ21hY3Jvcy9zZWN1cml0 eS5tYWNyb3MnIGFzIFNFQ0xBQkxFICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9w cml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KK3sjIFdlIHdpbGwg Z2VuZXJhdGUgU2VjdXJpdHkgTGFiZWwgU1FMIHVzaW5nIG1hY3JvICN9Cit7 JSBpZiBkYXRhLnNlY2xhYmVscyAlfQoreyUgZm9yIHIgaW4gZGF0YS5zZWNs YWJlbHMgJX0KK3t7IFNFQ0xBQkxFLkFQUExZKGNvbm4sICdWSUVXJywgZGF0 YS5uYW1lLCByLnByb3ZpZGVyLCByLnNlY3VyaXR5X2xhYmVsKSB9fQoreyUg ZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5kYXRhY2wgJX0K K3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsICV9Cit7eyBQUklWSUxFR0Uu QVBQTFkoY29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVlLCBkYXRhLm5hbWUs IGRhdGEuc2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9n cmFudCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwv OS4xX3BsdXMvcHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuMV9wbHVzL3Byb3BlcnRpZXMuc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmZDlhZDEK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1w bGF0ZXMvdmlld3Mvc3FsLzkuMV9wbHVzL3Byb3BlcnRpZXMuc3FsCkBAIC0w LDAgKzEsMjkgQEAKK3slIGlmICh2aWQgYW5kIGRhdGxhc3RzeXNvaWQpIG9y IHNjaWQgJX0KK1NFTEVDVCBjLm9pZCwgYy54bWluLCBjLnJlbG5hbWUgQVMg bmFtZSwgYy5yZWx0YWJsZXNwYWNlIEFTIHNwY29pZCwgc3BjLnNwY25hbWUs CisgICAgcGdfZ2V0X3VzZXJieWlkKGMucmVsb3duZXIpIEFTIG93bmVyLCBk ZXNjcmlwdGlvbiBBUyBjb21tZW50LAorICAgIHBnX2dldF92aWV3ZGVmKGMu b2lkLCB0cnVlKSBBUyBkZWZpbml0aW9uLCBuc3AubnNwbmFtZSBBUyBzY2hl bWEsCisgICAgKFNFTEVDVCBhcnJheV9hZ2cobGFiZWwpIEZST00gcGdfc2Vj bGFiZWxzIHNsMSBXSEVSRSBzbDEub2Jqb2lkPWMub2lkIEFORCBzbDEub2Jq c3ViaWQ9MCkgQVMgbGFiZWxzLAorICAgIChTRUxFQ1QgYXJyYXlfYWdnKHBy b3ZpZGVyKSBGUk9NIHBnX3NlY2xhYmVscyBzbDIgV0hFUkUgc2wyLm9iam9p ZD1jLm9pZCBBTkQgc2wyLm9ianN1YmlkPTApIEFTIHByb3ZpZGVycworRlJP TSBwZ19jbGFzcyBjCisgICAgTEVGVCBPVVRFUiBKT0lOIHBnX25hbWVzcGFj ZSBuc3Agb24gbnNwLm9pZCA9IGMucmVsbmFtZXNwYWNlCisgICAgTEVGVCBP VVRFUiBKT0lOIHBnX3RhYmxlc3BhY2Ugc3BjIG9uIHNwYy5vaWQ9Yy5yZWx0 YWJsZXNwYWNlCisgICAgTEVGVCBPVVRFUiBKT0lOIHBnX2Rlc2NyaXB0aW9u IGRlcyBPTiAoZGVzLm9iam9pZD1jLm9pZCBhbmQgZGVzLm9ianN1YmlkPTAg QU5EIGRlcy5jbGFzc29pZD0ncGdfY2xhc3MnOjpyZWdjbGFzcykKKyAgICAg ICAgV0hFUkUgKChjLnJlbGhhc3J1bGVzIEFORCAoRVhJU1RTICgKKyAgICAg ICAgICAgIFNFTEVDVCByLnJ1bGVuYW1lIEZST00gcGdfcmV3cml0ZSByCisg ICAgICAgICAgICAgICAgV0hFUkUgKChyLmV2X2NsYXNzID0gYy5vaWQpCisg ICAgICAgICAgICAgICAgICAgIEFORCAoYnBjaGFyKHIuZXZfdHlwZSkgPSAn MSc6OmJwY2hhcikpICkpKSBPUiAoYy5yZWxraW5kID0gJ3YnOjpjaGFyKSkK K3slIGlmICh2aWQgYW5kIGRhdGxhc3RzeXNvaWQpICV9CisgICAgICAgIEFO RCBjLm9pZCA9IHt7dmlkfX06Om9pZCAKK3slIGVsaWYgc2NpZCAlfQorICAg ICAgICBBTkQgYy5yZWxuYW1lc3BhY2UgPSB7e3NjaWR9fTo6b2lkIE9SREVS IEJZIGMucmVsbmFtZQoreyUgZW5kaWYgJX0KKworeyUgZWxpZiB0eXBlID09 ICdyb2xlcycgJX0KK1NFTEVDVCBwci5yb2xuYW1lIEZST00gcGdfcm9sZXMg cHIgV0hFUkUgcHIucm9sY2FubG9naW4gT1JERVIgQlkgcHIucm9sbmFtZQor Cit7JSBlbGlmIHR5cGUgPT0gJ3NjaGVtYXMnICV9CitTRUxFQ1QgbnNwLm5z cG5hbWUKKyAgICBGUk9NIHBnX25hbWVzcGFjZSBuc3AKK1dIRVJFIChuc3Au bnNwbmFtZSBOT1QgTElLRSBFJ3BnXFxfJScgCisgICAgQU5EIG5zcC5uc3Bu YW1lICE9ICdpbmZvcm1hdGlvbl9zY2hlbWEnKQoreyUgZW5kaWYgJX0KZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9zcWwvOS4xX3BsdXMvdXBkYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Zp ZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4xX3BsdXMvdXBkYXRlLnNxbApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWJhOWRmCi0t LSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxh dGVzL3ZpZXdzL3NxbC85LjFfcGx1cy91cGRhdGUuc3FsCkBAIC0wLDAgKzEs ODEgQEAKK3sjPT09PT09PT09PT09PT09PT09PT09PT09PT09PVVwZGF0ZSB2 aWV3PT09PT09PT09PT09PT09PT09PT09PT09PSN9Cit7JSBpbXBvcnQgJ21h Y3Jvcy9zZWN1cml0eS5tYWNyb3MnIGFzIFNFQ0xBQkxFICV9Cit7JSBpbXBv cnQgJ21hY3Jvcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0K K3slIGlmIGRhdGEgJX0KK3slIHNldCB2aWV3X25hbWUgPSBkYXRhLm5hbWUg aWYgZGF0YS5uYW1lIGVsc2Ugb19kYXRhLm5hbWUgJX0KK3slIHNldCB2aWV3 X3NjaGVtYSA9IGRhdGEuc2NoZW1hIGlmIGRhdGEuc2NoZW1hIGVsc2Ugb19k YXRhLnNjaGVtYSAlfQoreyUgc2V0IGRlZiA9IGRhdGEuZGVmaW5pdGlvbi5y c3RyaXAoJzsnKSBpZiBkYXRhLmRlZmluaXRpb24gJX0KK3slIGlmIGRhdGEu bmFtZSBhbmQgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9CitBTFRFUiBW SUVXIHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFt ZSkgfX0KKyAgICBSRU5BTUUgVE8ge3sgY29ubnxxdElkZW50KGRhdGEubmFt ZSkgfX07Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5zY2hlbWEgYW5kIGRh dGEuc2NoZW1hICE9IG9fZGF0YS5zY2hlbWEgJX0KK0FMVEVSIFZJRVcge3sg Y29ubnxxdElkZW50KG9fZGF0YS5zY2hlbWEsIHZpZXdfbmFtZSApIH19Cisg ICAgU0VUIFNDSEVNQSB7eyBkYXRhLnNjaGVtYSB9fTsKK3slIGVuZGlmICV9 Cit7JSBpZiBkYXRhLm93bmVyIGFuZCBkYXRhLm93bmVyICE9IG9fZGF0YS5v d25lciAlfQorQUxURVIgVEFCTEUge3sgY29ubnxxdElkZW50KHZpZXdfc2No ZW1hLCB2aWV3X25hbWUpIH19CisgIE9XTkVSIFRPIHt7IGRhdGEub3duZXIg fX07Cit7JSBlbmRpZiAlfQoreyUgaWYgZGVmIGFuZCBkZWYgIT0gb19kYXRh LmRlZmluaXRpb24ucnN0cmlwKCc7JykgJX0KK0NSRUFURSBPUiBSRVBMQUNF IFZJRVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUp IH19IAoreyUgaWYgKGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNr X29wdGlvbiAhPSBvX2RhdGEuY2hlY2tfb3B0aW9uKQorICAgIG9yIChkYXRh LnNlY3VyaXR5X2JhcnJpZXIgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmllciAh PSBvX2RhdGEuc2VjdXJpdHlfYmFycmllcikgJX0KKyAgICBXSVRIICh7JSBp ZiAoZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uICE9 ICdubycpICV9Y2hlY2tfb3B0aW9uPXt7IGRhdGEuY2hlY2tfb3B0aW9uIH19 eyUgZW5kaWYgJX17eycsICcgaWYgZGF0YS5jaGVja19vcHRpb24gYW5kIGRh dGEuY2hlY2tfb3B0aW9uICE9ICdubycgYW5kIGRhdGEuc2VjdXJpdHlfYmFy cmllciB9fXslIGlmIGRhdGEuc2VjdXJpdHlfYmFycmllciAlfXNlY3VyaXR5 X2JhcnJpZXI9e3sgZGF0YS5zZWN1cml0eV9iYXJyaWVyIH19eyUgZW5kaWYg JX0pCit7JSBlbmRpZiAlfQorICAgIEFTe3sgZGVmIH19OworeyUgZWxzZSAl fQoreyUgaWYgKGRhdGEuc2VjdXJpdHlfYmFycmllciBhbmQgZGF0YS5zZWN1 cml0eV9iYXJyaWVyICE9ICBvX2RhdGEuc2VjdXJpdHlfYmFycmllcikgJX0K K0FMVEVSIFZJRVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3 X25hbWUpIH19CisgICAgU0VUIChzZWN1cml0eV9iYXJyaWVyPXt7IGRhdGEu c2VjdXJpdHlfYmFycmllciB9fSk7Cit7JSBlbmRpZiAlfQoreyUgaWYgKGRh dGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSBvX2Rh dGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSAnbm8n KSAlfQorQUxURVIgVklFVyB7eyBjb25ufHF0SWRlbnQodmlld19zY2hlbWEs IHZpZXdfbmFtZSkgfX0KKyAgICBTRVQgKGNoZWNrX29wdGlvbj17eyBkYXRh LmNoZWNrX29wdGlvbiB9fSk7Cit7JSBlbGlmIChkYXRhLmNoZWNrX29wdGlv biBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gb19kYXRhLmNoZWNrX29wdGlv biBhbmQgZGF0YS5jaGVja19vcHRpb24gPT0gJ25vJykgJX0KK0FMVEVSIFZJ RVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19 IFJFU0VUIChjaGVja19vcHRpb24pOworeyUgZW5kaWYgJX0KK3slIGVuZGlm ICV9Cit7JSBpZiBkYXRhLmNvbW1lbnQgYW5kIGRhdGEuY29tbWVudCAhPSBv X2RhdGEuY29tbWVudCAlfQorQ09NTUVOVCBPTiBWSUVXIHt7IGNvbm58cXRJ ZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9fQorICAgIElTIHt7IGRh dGEuY29tbWVudHxxdExpdGVyYWwgfX07Cit7JSBlbmRpZiAlfQoreyMgVGhl IFNRTCBnZW5lcmF0ZWQgYmVsb3cgd2lsbCBjaGFuZ2UgcHJpdmlsZWdlcyAj fQoreyUgaWYgZGF0YS5kYXRhY2wgJX0KK3slIGlmICdkZWxldGVkJyBpbiBk YXRhLmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wuZGVs ZXRlZCAlfQore3sgUFJJVklMRUdFLlJFU0VUQUxMKGNvbm4sICdUQUJMRScs IHByaXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSkgfX0KK3sl IGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdjaGFuZ2VkJyBpbiBk YXRhLmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wuY2hh bmdlZCAlfQore3sgUFJJVklMRUdFLlJFU0VUQUxMKGNvbm4sICdUQUJMRScs IHByaXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSkgfX0KK3t7 IFBSSVZJTEVHRS5BUFBMWShjb25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUs IGRhdGEubmFtZSwgZGF0YS5zY2hlbWEsIHByaXYud2l0aG91dF9ncmFudCwg cHJpdi53aXRoX2dyYW50KSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAl fQoreyUgaWYgJ2FkZGVkJyBpbiBkYXRhLmRhdGFjbCAlfQoreyUgZm9yIHBy aXYgaW4gZGF0YS5kYXRhY2wuYWRkZWQgJX0KK3t7IFBSSVZJTEVHRS5BUFBM WShjb25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0 YS5zY2hlbWEsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50 KSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0K K3sjIFRoZSBTUUwgZ2VuZXJhdGVkIGJlbG93IHdpbGwgY2hhbmdlIFNlY3Vy aXR5IExhYmVsICN9Cit7JSBpZiBkYXRhLnNlY2xhYmVscyBpcyBub3Qgbm9u ZSBhbmQgZGF0YS5zZWNsYWJlbHN8bGVuZ3RoID4gMCAlfQoreyUgc2V0IHNl Y2xhYmVscyA9IGRhdGEuc2VjbGFiZWxzICV9Cit7JSBpZiAnZGVsZXRlZCcg aW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuZGVsZXRlZHxsZW5ndGggPiAw ICV9Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuZGVsZXRlZCAlfQore3sgU0VD TEFCTEUuRFJPUChjb25uLCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRl cikgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdhZGRl ZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuYWRkZWR8bGVuZ3RoID4g MCAlfQoreyUgZm9yIHIgaW4gc2VjbGFiZWxzLmFkZGVkICV9Cit7eyBTRUNM QUJMRS5BUFBMWShjb25uLCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRl ciwgci5zZWN1cml0eV9sYWJlbCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5k aWYgJX0KK3slIGlmICdjaGFuZ2VkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xh YmVscy5jaGFuZ2VkfGxlbmd0aCA+IDAgJX0KK3slIGZvciByIGluIHNlY2xh YmVscy5jaGFuZ2VkICV9Cit7eyBTRUNMQUJMRS5BUFBMWShjb25uLCAnVklF VycsIGRhdGEubmFtZSwgci5wcm92aWRlciwgci5zZWN1cml0eV9sYWJlbCkg fX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9Cit7 JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVtcGxhdGVzL3ZpZXdzL3NxbC85LjFfcGx1cy92aWV3X2lkLnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4xX3Bs dXMvdmlld19pZC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNmRmZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4xX3BsdXMvdmlld19p ZC5zcWwKQEAgLTAsMCArMSw0IEBACit7IyBCZWxvdyB3aWxsIHByb3ZpZGUg dmlldyBpZCBmb3IgbmV3bHkgY3JlYXRlZCB2aWV3ICN9Cit7JSBpZiBkYXRh ICV9CitTRUxFQ1QgYy5vaWQgRlJPTSBwZ19jbGFzcyBjIFdIRVJFIGMucmVs bmFtZSA9ICd7eyBkYXRhLm5hbWUgfX0nOworeyUgZW5kaWYgJX0KZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9z cWwvOS4yX3BsdXMvYWNsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rl bXBsYXRlcy92aWV3cy9zcWwvOS4yX3BsdXMvYWNsLnNxbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjZiMGNiCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdz L3NxbC85LjJfcGx1cy9hY2wuc3FsCkBAIC0wLDAgKzEsMzAgQEAKK3sjPT09 PT09PT09PT09PT09PT09PT09PT09PT09PUdldCBBQ0xzPT09PT09PT09PT09 PT09PT09PT09PT09PSN9Cit7JSBpZiB2aWQgJX0KK1NFTEVDVCAnZGF0YWNs JyBhcyBkZWZ0eXBlLCBDT0FMRVNDRShndC5yb2xuYW1lLCAncHVibGljJykg Z3JhbnRlZSwgZy5yb2xuYW1lIGdyYW50b3IsIGFycmF5X2FnZyhwcml2aWxl Z2VfdHlwZSkgYXMgcHJpdmlsZWdlcywgCithcnJheV9hZ2coaXNfZ3JhbnRh YmxlKSBhcyBncmFudGFibGUKK0ZST00KKyAgICAoU0VMRUNUCisgICAgICAg IGQuZ3JhbnRlZSwgZC5ncmFudG9yLCBkLmlzX2dyYW50YWJsZSwKKyAgICAg ICAgQ0FTRSBkLnByaXZpbGVnZV90eXBlCisgICAgICAgIFdIRU4gJ0RFTEVU RScgVEhFTiAnZCcgCisgICAgICAgIFdIRU4gJ0lOU0VSVCcgVEhFTiAnYScg CisgICAgICAgIFdIRU4gJ1JFRkVSRU5DRVMnIFRIRU4gJ3gnIAorICAgICAg ICBXSEVOICdTRUxFQ1QnIFRIRU4gJ3InIAorICAgICAgICBXSEVOICdUUklH R0VSJyBUSEVOICd0JyAKKyAgICAgICAgV0hFTiAnVVBEQVRFJyBUSEVOICd3 JyAKKyAgICAgICAgRUxTRSAnVU5LTk9XTicKKyAgICAgICAgRU5EIEFTIHBy aXZpbGVnZV90eXBlCisgICAgRlJPTQorICAgICAgICAoU0VMRUNUIHJlbGFj bCBGUk9NIHBnX2NsYXNzIGNsICAgICAgICAgICAgCisgICAgICAgICAgICBM RUZUIE9VVEVSIEpPSU4gcGdfc2hkZXNjcmlwdGlvbiBkZXNjciBPTiAoCisg ICAgICAgICAgICBjbC5vaWQ9ZGVzY3Iub2Jqb2lkIEFORCBkZXNjci5jbGFz c29pZD0ncGdfY2xhc3MnOjpyZWdjbGFzcykKKyAgV0hFUkUgY2wub2lkID0g e3sgdmlkIH19OjpPSUQgQU5EIHJlbGtpbmQgPSAndicKKyAgICAgICAgKSBh Y2wsCisgICAgICAgIChTRUxFQ1QgKGQpLmdyYW50ZWUgQVMgZ3JhbnRlZSwg KGQpLmdyYW50b3IgQVMgZ3JhbnRvciwgKGQpLmlzX2dyYW50YWJsZSBBUyBp c19ncmFudGFibGUsCisgICAgICAgICAgICAoZCkucHJpdmlsZWdlX3R5cGUg QVMgcHJpdmlsZWdlX3R5cGUKKyAgICAgICAgRlJPTSAoU0VMRUNUIGFjbGV4 cGxvZGUocmVsYWNsKSBhcyBkIEZST00gcGdfY2xhc3MgY2wxIFdIRVJFIGNs MS5vaWQgPSB7eyB2aWQgfX06Ok9JRCkgYSkgZAorICAgICAgICApIGQKKyAg ICBMRUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19yb2xlcyBnIE9OIChkLmdyYW50 b3IgPSBnLm9pZCkKKyAgICBMRUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19yb2xl cyBndCBPTiAoZC5ncmFudGVlID0gZ3Qub2lkKQorR1JPVVAgQlkgZy5yb2xu YW1lLCBndC5yb2xuYW1lCit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjJfcGx1 cy9iYWNrZW5kX3N1cHBvcnQuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVtcGxhdGVzL3ZpZXdzL3NxbC85LjJfcGx1cy9iYWNrZW5kX3N1cHBvcnQu c3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDky MjMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90 ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuMl9wbHVzL2JhY2tlbmRfc3VwcG9ydC5z cWwKQEAgLTAsMCArMSwxOCBAQAorU0VMRUNUCisgQ0FTRSBXSEVOIG5zcC5u c3BuYW1lIElOICgnc3lzJywgJ2RibycsICdpbmZvcm1hdGlvbl9zY2hlbWEn KSBUSEVOIHRydWUgRUxTRSBmYWxzZSBFTkQgQVMgZGJTdXBwb3J0CitGUk9N IHBnX25hbWVzcGFjZSBuc3AgCitXSEVSRSBuc3Aub2lkPXt7c2NpZH19Ojpp bnQKK0FORCAoCisJKG5zcG5hbWUgPSAncGdfY2F0YWxvZycgQU5EIEVYSVNU UyAKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNFTEVDVCAx IEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9ICdwZ19jbGFzcycgQU5E IHJlbG5hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAorCU9SIChuc3Bu YW1lID0gJ3BnYWdlbnQnIEFORCBFWElTVFMKKwkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKFNFTEVDVCAxIEZST00gcGdfY2xhc3MgV0hFUkUg cmVsbmFtZSA9ICdwZ2Ffam9iJyBBTkQgcmVsbmFtZXNwYWNlID0gbnNwLm9p ZCBMSU1JVCAxKSkgCisJT1IgKG5zcG5hbWUgPSAnaW5mb3JtYXRpb25fc2No ZW1hJyBBTkQgRVhJU1RTIAorCSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoU0VMRUNUIDEgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0g J3RhYmxlcycgQU5EIHJlbG5hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkp IAorCU9SIChuc3BuYW1lIExJS0UgJ18lJyBBTkQgRVhJU1RTIAorCSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoU0VMRUNUIDEgRlJPTSBwZ19w cm9jIFdIRVJFIHByb25hbWU9J3Nsb255dmVyc2lvbicgQU5EIHByb25hbWVz cGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpCispIAorQU5EIAorIG5zcG5hbWUg Tk9UIExJS0UgRSdwZ1xcdGVtcFxcJScKK0FORCAKKyBuc3BuYW1lIE5PVCBM SUtFIEUncGdcXHRvYXN0X3RlbXBcXCUnCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuMl9wbHVzL2Ny ZWF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmll d3Mvc3FsLzkuMl9wbHVzL2NyZWF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZWM5NjZiMgotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4y X3BsdXMvY3JlYXRlLnNxbApAQCAtMCwwICsxLDI1IEBACit7Iz09PT09PT09 PT09PT09PT09PT09PT09PT09PT1DcmVhdGUgbmV3IHZpZXc9PT09PT09PT09 PT09PT09PT09PT09PT09I30KK3slIGlmIGRpc3BsYXlfY29tbWVudHMgJX0K Ky0tIFZpZXc6IHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5u YW1lKSB9fQorCistLSBEUk9QIFZJRVcge3sgY29ubnxxdElkZW50KGRhdGEu c2NoZW1hLCBkYXRhLm5hbWUpIH19OworCit7JSBlbmRpZiAlfQoreyUgaWYg ZGF0YS5uYW1lIGFuZCBkYXRhLnNjaGVtYSBhbmQgZGF0YS5kZWZpbml0aW9u ICV9CitDUkVBVEUgT1IgUkVQTEFDRSBWSUVXIHt7IGNvbm58cXRJZGVudChk YXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fSAKK3slIGlmICgoZGF0YS5jaGVj a19vcHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uLmxvd2VyKCkgIT0gJ25v Jykgb3IgZGF0YS5zZWN1cml0eV9iYXJyaWVyKSAlfQorV0lUSCAoeyUgaWYg ZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uLmxvd2Vy KCkgIT0gJ25vJyAlfQorY2hlY2tfb3B0aW9uPXt7IGRhdGEuY2hlY2tfb3B0 aW9uIH19eyUgZW5kaWYgJX17eyAnLCAnIGlmIGRhdGEuY2hlY2tfb3B0aW9u IGFuZCAKK2RhdGEuY2hlY2tfb3B0aW9uLmxvd2VyKCkgIT0gJ25vJyBhbmQg ZGF0YS5zZWN1cml0eV9iYXJyaWVyIGVsc2UgJycgfX17JSBpZiBkYXRhLnNl Y3VyaXR5X2JhcnJpZXIgJX0KK3NlY3VyaXR5X2JhcnJpZXI9e3sgZGF0YS5z ZWN1cml0eV9iYXJyaWVyIH19eyUgZW5kaWYgJX0peyUgZW5kaWYgJX0gQVMK K3t7IGRhdGEuZGVmaW5pdGlvbi5yc3RyaXAoJzsnKSB9fTsKK3slIGlmIGRh dGEub3duZXIgJX0KKworQUxURVIgVEFCTEUge3sgY29ubnxxdElkZW50KGRh dGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19CisgIE9XTkVSIFRPIHt7IGRhdGEu b3duZXIgfX07Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5jb21tZW50ICV9 CitDT01NRU5UIE9OIFZJRVcge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1h LCBkYXRhLm5hbWUpIH19CisgICAgSVMge3sgZGF0YS5jb21tZW50fHF0TGl0 ZXJhbCB9fTsKK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85 LjJfcGx1cy9kZWxldGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL3NxbC85LjJfcGx1cy9kZWxldGUuc3FsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4OGE4MzgKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmll d3Mvc3FsLzkuMl9wbHVzL2RlbGV0ZS5zcWwKQEAgLTAsMCArMSw5IEBACit7 Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT1Ecm9wL0Nhc2NhZGUgdmll dyBieSBuYW1lPT09PT09PT09PT09PT09PT09PT09PT09PSN9Cit7JSBpZiB2 aWQgJX0KK1NFTEVDVCBjLnJlbG5hbWUgQXMgbmFtZSwgbnNwLm5zcG5hbWUK KyAgICBGUk9NIHBnX2NsYXNzIGMKKyAgICBMRUZUIEpPSU4gcGdfbmFtZXNw YWNlIG5zcCBvbiBjLnJlbG5hbWVzcGFjZSA9IG5zcC5vaWQKKyAgICBXSEVS RSBjLnJlbGZpbGVub2RlID0ge3sgdmlkIH19OworeyUgZWxpZiAobmFtZSBh bmQgbnNwbmFtZSkgJX0KK0RST1AgVklFVyB7e25zcG5hbWV9fS57eyBjb25u fHF0SWRlbnQobmFtZSkgfX0geyUgaWYgY2FzY2FkZSAlfSBDQVNDQURFIHsl IGVuZGlmICV9Cit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjJfcGx1cy9ncmFu dC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mv c3FsLzkuMl9wbHVzL2dyYW50LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi45ZmE3MTgxCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjJfcGx1 cy9ncmFudC5zcWwKQEAgLTAsMCArMSwxNCBAQAoreyM9PT09PUdyYW50IFBl cm1pc3Npb25zIHRvIFVzZXIgUm9sZSBvbiBWaWV3cy9UYWJsZXM9PT09I30K K3slIGltcG9ydCAnbWFjcm9zL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFC TEUgJX0KK3slIGltcG9ydCAnbWFjcm9zL3ByaXZpbGVnZS5tYWNyb3MnIGFz IFBSSVZJTEVHRSAlfQoreyMgV2Ugd2lsbCBnZW5lcmF0ZSBTZWN1cml0eSBM YWJlbCBTUUwgdXNpbmcgbWFjcm8gI30KK3slIGlmIGRhdGEuc2VjbGFiZWxz ICV9Cit7JSBmb3IgciBpbiBkYXRhLnNlY2xhYmVscyAlfQore3sgU0VDTEFC TEUuQVBQTFkoY29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIs IHIuc2VjdXJpdHlfbGFiZWwpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlm ICV9Cit7JSBpZiBkYXRhLmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0 YS5kYXRhY2wgJX0KK3t7IFBSSVZJTEVHRS5BUFBMWShjb25uLCAnVEFCTEUn LCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEsIHByaXYu d2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50KSB9fQoreyUgZW5kZm9y ICV9Cit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjJfcGx1cy9wcm9wZXJ0aWVz LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9z cWwvOS4yX3BsdXMvcHJvcGVydGllcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uMzQ0MGU4OQotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4y X3BsdXMvcHJvcGVydGllcy5zcWwKQEAgLTAsMCArMSwzNiBAQAoreyUgaWYg KHZpZCBhbmQgZGF0bGFzdHN5c29pZCkgb3Igc2NpZCAlfQorU0VMRUNUIGMu b2lkLCBjLnhtaW4sIGMucmVsbmFtZSBBUyBuYW1lLCBjLnJlbHRhYmxlc3Bh Y2UgQVMgc3Bjb2lkLCBzcGMuc3BjbmFtZSwKKyAgICBwZ19nZXRfdXNlcmJ5 aWQoYy5yZWxvd25lcikgQVMgb3duZXIsIGMucmVsYWNsLCBkZXNjcmlwdGlv biBBcyBjb21tZW50LAorICAgIHBnX2dldF92aWV3ZGVmKGMub2lkLCB0cnVl KSBBUyBkZWZpbml0aW9uLCBuc3AubnNwbmFtZSBBUyBzY2hlbWEsCisgICAg eyM9PT09PT09PT09PT09Q2hlY2tzIGlmIGl0IGlzIHN5c3RlbSB2aWV3PT09 PT09PT09PT09PT09PSN9CisgICAgeyUgaWYgdmlkIGFuZCBkYXRsYXN0c3lz b2lkICV9CisgICAgQ0FTRSBXSEVOIHt7dmlkfX0gPD0ge3tkYXRsYXN0c3lz b2lkfX0gVEhFTiBUcnVlIEVMU0UgRmFsc2UgRU5EIEFTIHN5c3RlbV92aWV3 LAorICAgIHslIGVuZGlmICV9CisgICAgeyM9PT09PT09PT09PT09Q2hlY2tz IGlmIGl0IGlzIG1hdGVyaWFsaXplZCB2aWV3PT09PT09PT0jfQorICAgIENB U0UgV0hFTiBjLnJlbGtpbmQgPSAnbScgVEhFTiBUcnVlIEVMU0UgRmFsc2Ug RU5EIEFzIG1fdmlldywKKyAgICAoU0VMRUNUIGFycmF5X2FnZyhsYWJlbCkg RlJPTSBwZ19zZWNsYWJlbHMgc2wxIFdIRVJFIHNsMS5vYmpvaWQ9Yy5vaWQg QU5EIHNsMS5vYmpzdWJpZD0wKSBBUyBsYWJlbHMsCisgICAgKFNFTEVDVCBh cnJheV9hZ2cocHJvdmlkZXIpIEZST00gcGdfc2VjbGFiZWxzIHNsMiBXSEVS RSBzbDIub2Jqb2lkPWMub2lkIEFORCBzbDIub2Jqc3ViaWQ9MCkgQVMgcHJv dmlkZXJzCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVs b3B0aW9ucywgJywnKSBGUk9NICdzZWN1cml0eV9iYXJyaWVyPShbYS16fDAt OV0qKScpIEFTIHNlY3VyaXR5X2JhcnJpZXIKK0ZST00gcGdfY2xhc3MgYwor ICAgIExFRlQgT1VURVIgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIG9uIG5zcC5v aWQgPSBjLnJlbG5hbWVzcGFjZQorICAgIExFRlQgT1VURVIgSk9JTiBwZ190 YWJsZXNwYWNlIHNwYyBvbiBzcGMub2lkPWMucmVsdGFibGVzcGFjZQorICAg IExFRlQgT1VURVIgSk9JTiBwZ19kZXNjcmlwdGlvbiBkZXMgT04gKGRlcy5v YmpvaWQ9Yy5vaWQgYW5kIGRlcy5vYmpzdWJpZD0wIEFORCBkZXMuY2xhc3Nv aWQ9J3BnX2NsYXNzJzo6cmVnY2xhc3MpCisgICAgICAgIFdIRVJFICgoYy5y ZWxoYXNydWxlcyBBTkQgKEVYSVNUUyAoCisgICAgICAgICAgICBTRUxFQ1Qg ci5ydWxlbmFtZSBGUk9NIHBnX3Jld3JpdGUgcgorICAgICAgICAgICAgICAg IFdIRVJFICgoci5ldl9jbGFzcyA9IGMub2lkKQorICAgICAgICAgICAgICAg ICAgICBBTkQgKGJwY2hhcihyLmV2X3R5cGUpID0gJzEnOjpicGNoYXIpKSAp KSkgT1IgKGMucmVsa2luZCA9ICd2Jzo6Y2hhcikpCit7JSBpZiAodmlkIGFu ZCBkYXRsYXN0c3lzb2lkKSAlfQorICAgICAgICBBTkQgYy5vaWQgPSB7e3Zp ZH19OjpvaWQgCit7JSBlbGlmIHNjaWQgJX0KKyAgICAgICAgQU5EIGMucmVs bmFtZXNwYWNlID0ge3tzY2lkfX06Om9pZCBPUkRFUiBCWSBjLnJlbG5hbWUK K3slIGVuZGlmICV9CisKK3slIGVsaWYgdHlwZSA9PSAncm9sZXMnICV9CitT RUxFQ1QgcHIucm9sbmFtZSBGUk9NIHBnX3JvbGVzIHByIFdIRVJFIHByLnJv bGNhbmxvZ2luIE9SREVSIEJZIHByLnJvbG5hbWUKKworeyUgZWxpZiB0eXBl ID09ICdzY2hlbWFzJyAlfQorU0VMRUNUIG5zcC5uc3BuYW1lCisgICAgRlJP TSBwZ19uYW1lc3BhY2UgbnNwCitXSEVSRSAobnNwLm5zcG5hbWUgTk9UIExJ S0UgRSdwZ1xcXyUnIAorICAgIEFORCBuc3AubnNwbmFtZSAhPSAnaW5mb3Jt YXRpb25fc2NoZW1hJykKK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuMl9wbHVz L3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMv dmlld3Mvc3FsLzkuMl9wbHVzL3VwZGF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uOGViYTlkZgotLS0gL2Rldi9udWxsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwv OS4yX3BsdXMvdXBkYXRlLnNxbApAQCAtMCwwICsxLDgxIEBACit7Iz09PT09 PT09PT09PT09PT09PT09PT09PT09PT1VcGRhdGUgdmlldz09PT09PT09PT09 PT09PT09PT09PT09PT0jfQoreyUgaW1wb3J0ICdtYWNyb3Mvc2VjdXJpdHku bWFjcm9zJyBhcyBTRUNMQUJMRSAlfQoreyUgaW1wb3J0ICdtYWNyb3MvcHJp dmlsZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9Cit7JSBpZiBkYXRhICV9 Cit7JSBzZXQgdmlld19uYW1lID0gZGF0YS5uYW1lIGlmIGRhdGEubmFtZSBl bHNlIG9fZGF0YS5uYW1lICV9Cit7JSBzZXQgdmlld19zY2hlbWEgPSBkYXRh LnNjaGVtYSBpZiBkYXRhLnNjaGVtYSBlbHNlIG9fZGF0YS5zY2hlbWEgJX0K K3slIHNldCBkZWYgPSBkYXRhLmRlZmluaXRpb24ucnN0cmlwKCc7JykgaWYg ZGF0YS5kZWZpbml0aW9uICV9Cit7JSBpZiBkYXRhLm5hbWUgYW5kIGRhdGEu bmFtZSAhPSBvX2RhdGEubmFtZSAlfQorQUxURVIgVklFVyB7eyBjb25ufHF0 SWRlbnQob19kYXRhLnNjaGVtYSwgb19kYXRhLm5hbWUpIH19CisgICAgUkVO QU1FIFRPIHt7IGNvbm58cXRJZGVudChkYXRhLm5hbWUpIH19OworeyUgZW5k aWYgJX0KK3slIGlmIGRhdGEuc2NoZW1hIGFuZCBkYXRhLnNjaGVtYSAhPSBv X2RhdGEuc2NoZW1hICV9CitBTFRFUiBWSUVXIHt7IGNvbm58cXRJZGVudChv X2RhdGEuc2NoZW1hLCB2aWV3X25hbWUgKSB9fQorICAgIFNFVCBTQ0hFTUEg e3sgZGF0YS5zY2hlbWEgfX07Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5v d25lciBhbmQgZGF0YS5vd25lciAhPSBvX2RhdGEub3duZXIgJX0KK0FMVEVS IFRBQkxFIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1l KSB9fQorICBPV05FUiBUTyB7eyBkYXRhLm93bmVyIH19OworeyUgZW5kaWYg JX0KK3slIGlmIGRlZiBhbmQgZGVmICE9IG9fZGF0YS5kZWZpbml0aW9uLnJz dHJpcCgnOycpICV9CitDUkVBVEUgT1IgUkVQTEFDRSBWSUVXIHt7IGNvbm58 cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9fSAKK3slIGlmIChk YXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gb19k YXRhLmNoZWNrX29wdGlvbikKKyAgICBvciAoZGF0YS5zZWN1cml0eV9iYXJy aWVyIGFuZCBkYXRhLnNlY3VyaXR5X2JhcnJpZXIgIT0gb19kYXRhLnNlY3Vy aXR5X2JhcnJpZXIpICV9CisgICAgV0lUSCAoeyUgaWYgKGRhdGEuY2hlY2tf b3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSAnbm8nKSAlfWNoZWNr X29wdGlvbj17eyBkYXRhLmNoZWNrX29wdGlvbiB9fXslIGVuZGlmICV9e3sn LCAnIGlmIGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlv biAhPSAnbm8nIGFuZCBkYXRhLnNlY3VyaXR5X2JhcnJpZXIgfX17JSBpZiBk YXRhLnNlY3VyaXR5X2JhcnJpZXIgJX1zZWN1cml0eV9iYXJyaWVyPXt7IGRh dGEuc2VjdXJpdHlfYmFycmllciB9fXslIGVuZGlmICV9KQoreyUgZW5kaWYg JX0KKyAgICBBU3t7IGRlZiB9fTsKK3slIGVsc2UgJX0KK3slIGlmIChkYXRh LnNlY3VyaXR5X2JhcnJpZXIgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmllciAh PSAgb19kYXRhLnNlY3VyaXR5X2JhcnJpZXIpICV9CitBTFRFUiBWSUVXIHt7 IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9fQorICAg IFNFVCAoc2VjdXJpdHlfYmFycmllcj17eyBkYXRhLnNlY3VyaXR5X2JhcnJp ZXIgfX0pOworeyUgZW5kaWYgJX0KK3slIGlmIChkYXRhLmNoZWNrX29wdGlv biBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gb19kYXRhLmNoZWNrX29wdGlv biBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gJ25vJykgJX0KK0FMVEVSIFZJ RVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19 CisgICAgU0VUIChjaGVja19vcHRpb249e3sgZGF0YS5jaGVja19vcHRpb24g fX0pOworeyUgZWxpZiAoZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEuY2hl Y2tfb3B0aW9uICE9IG9fZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEuY2hl Y2tfb3B0aW9uID09ICdubycpICV9CitBTFRFUiBWSUVXIHt7IGNvbm58cXRJ ZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9fSBSRVNFVCAoY2hlY2tf b3B0aW9uKTsKK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0 YS5jb21tZW50IGFuZCBkYXRhLmNvbW1lbnQgIT0gb19kYXRhLmNvbW1lbnQg JX0KK0NPTU1FTlQgT04gVklFVyB7eyBjb25ufHF0SWRlbnQodmlld19zY2hl bWEsIHZpZXdfbmFtZSkgfX0KKyAgICBJUyB7eyBkYXRhLmNvbW1lbnR8cXRM aXRlcmFsIH19OworeyUgZW5kaWYgJX0KK3sjIFRoZSBTUUwgZ2VuZXJhdGVk IGJlbG93IHdpbGwgY2hhbmdlIHByaXZpbGVnZXMgI30KK3slIGlmIGRhdGEu ZGF0YWNsICV9Cit7JSBpZiAnZGVsZXRlZCcgaW4gZGF0YS5kYXRhY2wgJX0K K3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsLmRlbGV0ZWQgJX0KK3t7IFBS SVZJTEVHRS5SRVNFVEFMTChjb25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUs IGRhdGEubmFtZSwgZGF0YS5zY2hlbWEpIH19Cit7JSBlbmRmb3IgJX0KK3sl IGVuZGlmICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gZGF0YS5kYXRhY2wgJX0K K3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsLmNoYW5nZWQgJX0KK3t7IFBS SVZJTEVHRS5SRVNFVEFMTChjb25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUs IGRhdGEubmFtZSwgZGF0YS5zY2hlbWEpIH19Cit7eyBQUklWSUxFR0UuQVBQ TFkoY29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVlLCBkYXRhLm5hbWUsIGRh dGEuc2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFu dCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdhZGRl ZCcgaW4gZGF0YS5kYXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuZGF0 YWNsLmFkZGVkICV9Cit7eyBQUklWSUxFR0UuQVBQTFkoY29ubiwgJ1RBQkxF JywgcHJpdi5ncmFudGVlLCBkYXRhLm5hbWUsIGRhdGEuc2NoZW1hLCBwcml2 LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFudCkgfX0KK3slIGVuZGZv ciAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9Cit7IyBUaGUgU1FMIGdl bmVyYXRlZCBiZWxvdyB3aWxsIGNoYW5nZSBTZWN1cml0eSBMYWJlbCAjfQor eyUgaWYgZGF0YS5zZWNsYWJlbHMgaXMgbm90IG5vbmUgYW5kIGRhdGEuc2Vj bGFiZWxzfGxlbmd0aCA+IDAgJX0KK3slIHNldCBzZWNsYWJlbHMgPSBkYXRh LnNlY2xhYmVscyAlfQoreyUgaWYgJ2RlbGV0ZWQnIGluIHNlY2xhYmVscyBh bmQgc2VjbGFiZWxzLmRlbGV0ZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9yIHIg aW4gc2VjbGFiZWxzLmRlbGV0ZWQgJX0KK3t7IFNFQ0xBQkxFLkRST1AoY29u biwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIpIH19Cit7JSBlbmRm b3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnYWRkZWQnIGluIHNlY2xhYmVs cyBhbmQgc2VjbGFiZWxzLmFkZGVkfGxlbmd0aCA+IDAgJX0KK3slIGZvciBy IGluIHNlY2xhYmVscy5hZGRlZCAlfQore3sgU0VDTEFCTEUuQVBQTFkoY29u biwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIuc2VjdXJpdHlf bGFiZWwpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAn Y2hhbmdlZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuY2hhbmdlZHxs ZW5ndGggPiAwICV9Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuY2hhbmdlZCAl fQore3sgU0VDTEFCTEUuQVBQTFkoY29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUs IHIucHJvdmlkZXIsIHIuc2VjdXJpdHlfbGFiZWwpIH19Cit7JSBlbmRmb3Ig JX0KK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9zcWwvOS4yX3BsdXMvdmlld19pZC5zcWwgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuMl9wbHVzL3ZpZXdfaWQuc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkZmYwNGUK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1w bGF0ZXMvdmlld3Mvc3FsLzkuMl9wbHVzL3ZpZXdfaWQuc3FsCkBAIC0wLDAg KzEsNCBAQAoreyMgQmVsb3cgd2lsbCBwcm92aWRlIHZpZXcgaWQgZm9yIG5l d2x5IGNyZWF0ZWQgdmlldyAjfQoreyUgaWYgZGF0YSAlfQorU0VMRUNUIGMu b2lkIEZST00gcGdfY2xhc3MgYyBXSEVSRSBjLnJlbG5hbWUgPSAne3sgZGF0 YS5uYW1lIH19JzsKK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuM19wbHVzL2Fj bC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mv c3FsLzkuM19wbHVzL2FjbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uOGYyYTRjOQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3BsdXMv YWNsLnNxbApAQCAtMCwwICsxLDI4IEBACit7Iz09PT09PT09PT09PT09PT09 PT09PT09PT09PT1HZXQgQUNMcz09PT09PT09PT09PT09PT09PT09PT09PT0j fQoreyUgaWYgdmlkICV9CitTRUxFQ1QgJ2RhdGFjbCcgYXMgZGVmdHlwZSwg Q09BTEVTQ0UoZ3Qucm9sbmFtZSwgJ3B1YmxpYycpIGdyYW50ZWUsIGcucm9s bmFtZSBncmFudG9yLCBhcnJheV9hZ2cocHJpdmlsZWdlX3R5cGUpIGFzIHBy aXZpbGVnZXMsIAorYXJyYXlfYWdnKGlzX2dyYW50YWJsZSkgYXMgZ3JhbnRh YmxlCitGUk9NCisgICAgKFNFTEVDVAorICAgICAgICBkLmdyYW50ZWUsIGQu Z3JhbnRvciwgZC5pc19ncmFudGFibGUsCisgICAgICAgIENBU0UgZC5wcml2 aWxlZ2VfdHlwZQorICAgICAgICBXSEVOICdERUxFVEUnIFRIRU4gJ2QnIAor ICAgICAgICBXSEVOICdJTlNFUlQnIFRIRU4gJ2EnIAorICAgICAgICBXSEVO ICdSRUZFUkVOQ0VTJyBUSEVOICd4JyAKKyAgICAgICAgV0hFTiAnU0VMRUNU JyBUSEVOICdyJyAKKyAgICAgICAgV0hFTiAnVFJJR0dFUicgVEhFTiAndCcg CisgICAgICAgIFdIRU4gJ1VQREFURScgVEhFTiAndycgCisgICAgICAgIEVM U0UgJ1VOS05PV04nCisgICAgICAgIEVORCBBUyBwcml2aWxlZ2VfdHlwZQor ICAgIEZST00KKyAgICAgICAgKFNFTEVDVCByZWxhY2wgRlJPTSBwZ19jbGFz cyBjbCAgICAgICAgICAgIAorICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lO IHBnX3NoZGVzY3JpcHRpb24gZGVzY3IgT04gKAorICAgICAgICAgICAgY2wu b2lkPWRlc2NyLm9iam9pZCBBTkQgZGVzY3IuY2xhc3NvaWQ9J3BnX2NsYXNz Jzo6cmVnY2xhc3MpCisgIFdIRVJFIGNsLm9pZCA9IHt7IHZpZCB9fTo6T0lE IEFORCByZWxraW5kID0gJ3YnCisgICAgICAgICkgYWNsLAorICAgICAgICBh Y2xleHBsb2RlKHJlbGFjbCkgZAorICAgICAgICApIGQKKyAgICBMRUZUIEpP SU4gcGdfY2F0YWxvZy5wZ19yb2xlcyBnIE9OIChkLmdyYW50b3IgPSBnLm9p ZCkKKyAgICBMRUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19yb2xlcyBndCBPTiAo ZC5ncmFudGVlID0gZ3Qub2lkKQorR1JPVVAgQlkgZy5yb2xuYW1lLCBndC5y b2xuYW1lCit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjNfcGx1cy9iYWNrZW5k X3N1cHBvcnQuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVz L3ZpZXdzL3NxbC85LjNfcGx1cy9iYWNrZW5kX3N1cHBvcnQuc3FsCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDkyMjMKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMv dmlld3Mvc3FsLzkuM19wbHVzL2JhY2tlbmRfc3VwcG9ydC5zcWwKQEAgLTAs MCArMSwxOCBAQAorU0VMRUNUCisgQ0FTRSBXSEVOIG5zcC5uc3BuYW1lIElO ICgnc3lzJywgJ2RibycsICdpbmZvcm1hdGlvbl9zY2hlbWEnKSBUSEVOIHRy dWUgRUxTRSBmYWxzZSBFTkQgQVMgZGJTdXBwb3J0CitGUk9NIHBnX25hbWVz cGFjZSBuc3AgCitXSEVSRSBuc3Aub2lkPXt7c2NpZH19OjppbnQKK0FORCAo CisJKG5zcG5hbWUgPSAncGdfY2F0YWxvZycgQU5EIEVYSVNUUyAKKwkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNFTEVDVCAxIEZST00gcGdf Y2xhc3MgV0hFUkUgcmVsbmFtZSA9ICdwZ19jbGFzcycgQU5EIHJlbG5hbWVz cGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAorCU9SIChuc3BuYW1lID0gJ3Bn YWdlbnQnIEFORCBFWElTVFMKKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKFNFTEVDVCAxIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9 ICdwZ2Ffam9iJyBBTkQgcmVsbmFtZXNwYWNlID0gbnNwLm9pZCBMSU1JVCAx KSkgCisJT1IgKG5zcG5hbWUgPSAnaW5mb3JtYXRpb25fc2NoZW1hJyBBTkQg RVhJU1RTIAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0VM RUNUIDEgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gJ3RhYmxlcycg QU5EIHJlbG5hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAorCU9SIChu c3BuYW1lIExJS0UgJ18lJyBBTkQgRVhJU1RTIAorCSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoU0VMRUNUIDEgRlJPTSBwZ19wcm9jIFdIRVJF IHByb25hbWU9J3Nsb255dmVyc2lvbicgQU5EIHByb25hbWVzcGFjZSA9IG5z cC5vaWQgTElNSVQgMSkpCispIAorQU5EIAorIG5zcG5hbWUgTk9UIExJS0Ug RSdwZ1xcdGVtcFxcJScKK0FORCAKKyBuc3BuYW1lIE5PVCBMSUtFIEUncGdc XHRvYXN0X3RlbXBcXCUnCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuM19wbHVzL2NyZWF0ZS5zcWwg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzku M19wbHVzL2NyZWF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uZWM5NjZiMgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3BsdXMvY3Jl YXRlLnNxbApAQCAtMCwwICsxLDI1IEBACit7Iz09PT09PT09PT09PT09PT09 PT09PT09PT09PT1DcmVhdGUgbmV3IHZpZXc9PT09PT09PT09PT09PT09PT09 PT09PT09I30KK3slIGlmIGRpc3BsYXlfY29tbWVudHMgJX0KKy0tIFZpZXc6 IHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fQor CistLSBEUk9QIFZJRVcge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBk YXRhLm5hbWUpIH19OworCit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5uYW1l IGFuZCBkYXRhLnNjaGVtYSBhbmQgZGF0YS5kZWZpbml0aW9uICV9CitDUkVB VEUgT1IgUkVQTEFDRSBWSUVXIHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVt YSwgZGF0YS5uYW1lKSB9fSAKK3slIGlmICgoZGF0YS5jaGVja19vcHRpb24g YW5kIGRhdGEuY2hlY2tfb3B0aW9uLmxvd2VyKCkgIT0gJ25vJykgb3IgZGF0 YS5zZWN1cml0eV9iYXJyaWVyKSAlfQorV0lUSCAoeyUgaWYgZGF0YS5jaGVj a19vcHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uLmxvd2VyKCkgIT0gJ25v JyAlfQorY2hlY2tfb3B0aW9uPXt7IGRhdGEuY2hlY2tfb3B0aW9uIH19eyUg ZW5kaWYgJX17eyAnLCAnIGlmIGRhdGEuY2hlY2tfb3B0aW9uIGFuZCAKK2Rh dGEuY2hlY2tfb3B0aW9uLmxvd2VyKCkgIT0gJ25vJyBhbmQgZGF0YS5zZWN1 cml0eV9iYXJyaWVyIGVsc2UgJycgfX17JSBpZiBkYXRhLnNlY3VyaXR5X2Jh cnJpZXIgJX0KK3NlY3VyaXR5X2JhcnJpZXI9e3sgZGF0YS5zZWN1cml0eV9i YXJyaWVyIH19eyUgZW5kaWYgJX0peyUgZW5kaWYgJX0gQVMKK3t7IGRhdGEu ZGVmaW5pdGlvbi5yc3RyaXAoJzsnKSB9fTsKK3slIGlmIGRhdGEub3duZXIg JX0KKworQUxURVIgVEFCTEUge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1h LCBkYXRhLm5hbWUpIH19CisgIE9XTkVSIFRPIHt7IGRhdGEub3duZXIgfX07 Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5jb21tZW50ICV9CitDT01NRU5U IE9OIFZJRVcge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLm5h bWUpIH19CisgICAgSVMge3sgZGF0YS5jb21tZW50fHF0TGl0ZXJhbCB9fTsK K3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjNfcGx1cy9k ZWxldGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3Zp ZXdzL3NxbC85LjNfcGx1cy9kZWxldGUuc3FsCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmE4OGE4MzgKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzku M19wbHVzL2RlbGV0ZS5zcWwKQEAgLTAsMCArMSw5IEBACit7Iz09PT09PT09 PT09PT09PT09PT09PT09PT09PT1Ecm9wL0Nhc2NhZGUgdmlldyBieSBuYW1l PT09PT09PT09PT09PT09PT09PT09PT09PSN9Cit7JSBpZiB2aWQgJX0KK1NF TEVDVCBjLnJlbG5hbWUgQXMgbmFtZSwgbnNwLm5zcG5hbWUKKyAgICBGUk9N IHBnX2NsYXNzIGMKKyAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG5zcCBv biBjLnJlbG5hbWVzcGFjZSA9IG5zcC5vaWQKKyAgICBXSEVSRSBjLnJlbGZp bGVub2RlID0ge3sgdmlkIH19OworeyUgZWxpZiAobmFtZSBhbmQgbnNwbmFt ZSkgJX0KK0RST1AgVklFVyB7e25zcG5hbWV9fS57eyBjb25ufHF0SWRlbnQo bmFtZSkgfX0geyUgaWYgY2FzY2FkZSAlfSBDQVNDQURFIHslIGVuZGlmICV9 Cit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjNfcGx1cy9ncmFudC5zcWwgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuM19w bHVzL2dyYW50LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi45ZmE3MTgxCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85LjNfcGx1cy9ncmFudC5z cWwKQEAgLTAsMCArMSwxNCBAQAoreyM9PT09PUdyYW50IFBlcm1pc3Npb25z IHRvIFVzZXIgUm9sZSBvbiBWaWV3cy9UYWJsZXM9PT09I30KK3slIGltcG9y dCAnbWFjcm9zL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFCTEUgJX0KK3sl IGltcG9ydCAnbWFjcm9zL3ByaXZpbGVnZS5tYWNyb3MnIGFzIFBSSVZJTEVH RSAlfQoreyMgV2Ugd2lsbCBnZW5lcmF0ZSBTZWN1cml0eSBMYWJlbCBTUUwg dXNpbmcgbWFjcm8gI30KK3slIGlmIGRhdGEuc2VjbGFiZWxzICV9Cit7JSBm b3IgciBpbiBkYXRhLnNlY2xhYmVscyAlfQore3sgU0VDTEFCTEUuQVBQTFko Y29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIuc2VjdXJp dHlfbGFiZWwpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBp ZiBkYXRhLmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wg JX0KK3t7IFBSSVZJTEVHRS5BUFBMWShjb25uLCAnVEFCTEUnLCBwcml2Lmdy YW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEsIHByaXYud2l0aG91dF9n cmFudCwgcHJpdi53aXRoX2dyYW50KSB9fQoreyUgZW5kZm9yICV9Cit7JSBl bmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL3NxbC85LjNfcGx1cy9wcm9wZXJ0aWVzLnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3Bs dXMvcHJvcGVydGllcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uYjkwNjQ3NQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3BsdXMvcHJv cGVydGllcy5zcWwKQEAgLTAsMCArMSw2MCBAQAoreyUgaWYgKHZpZCBhbmQg ZGF0bGFzdHN5c29pZCkgb3Igc2NpZCAlfQorU0VMRUNUIGMub2lkLCBjLnht aW4sIGMucmVsbmFtZSBBUyBuYW1lLCBjLnJlbHRhYmxlc3BhY2UgQVMgc3Bj b2lkLCBjLnJlbGtpbmQsIG5zcC5uc3BuYW1lIEFTIHNjaGVtYSwKKyAgICBj LnJlbGlzcG9wdWxhdGVkIEFTIGlzcG9wdWxhdGVkLCBzcGMuc3BjbmFtZSwg cGdfZ2V0X3VzZXJieWlkKGMucmVsb3duZXIpCisgICAgQVMgb3duZXIsIGMu cmVsYWNsLCBkZXNjcmlwdGlvbiwgcGdfZ2V0X3ZpZXdkZWYoYy5vaWQsIHRy dWUpIEFTIGRlZmluaXRpb24sIAorICAgIHsjPT09PT09PT09PT09PUNoZWNr cyBpZiBpdCBpcyBzeXN0ZW0gdmlldz09PT09PT09PT09PT09PT0jfQorICAg IHslIGlmIHZpZCBhbmQgZGF0bGFzdHN5c29pZCAlfQorICAgIENBU0UgV0hF TiB7e3ZpZH19IDw9IHt7ZGF0bGFzdHN5c29pZH19IFRIRU4gVHJ1ZSBFTFNF IEZhbHNlIEVORCBBUyBzeXN0ZW1fdmlldywKKyAgICB7JSBlbmRpZiAlfQor ICAgIHsjPT09PT09PT09PT09PUNoZWNrcyBpZiBpdCBpcyBtYXRlcmlhbGl6 ZWQgdmlldz09PT09PT09I30KKyAgICBDQVNFIFdIRU4gYy5yZWxraW5kID0g J20nIFRIRU4gVHJ1ZSBFTFNFIEZhbHNlIEVORCBBcyBtX3ZpZXcsCisgICAg KFNFTEVDVCBhcnJheV9hZ2cobGFiZWwpIEZST00gcGdfc2VjbGFiZWxzIHNs MSBXSEVSRSBzbDEub2Jqb2lkPWMub2lkIEFORCBzbDEub2Jqc3ViaWQ9MCkg QVMgbGFiZWxzLAorICAgIChTRUxFQ1QgYXJyYXlfYWdnKHByb3ZpZGVyKSBG Uk9NIHBnX3NlY2xhYmVscyBzbDIgV0hFUkUgc2wyLm9iam9pZD1jLm9pZCBB TkQgc2wyLm9ianN1YmlkPTApIEFTIHByb3ZpZGVycworICAgICwgc3Vic3Ry aW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAn c2VjdXJpdHlfYmFycmllcj0oW2EtenwwLTldKiknKSBBUyBzZWN1cml0eV9i YXJyaWVyCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVs b3B0aW9ucywgJywnKSBGUk9NICdmaWxsZmFjdG9yPShbMC05XSopJykgQVMg ZmlsbGZhY3RvciAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmco Yy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZW5hYmxlZD0o W2EtenwwLTldKiknKSBBUyBhdXRvdmFjdXVtX2VuYWJsZWQgCisgICAgLCBz dWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBG Uk9NICdhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQ9KFswLTldKiknKSBB UyBhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQgCisgICAgLCBzdWJzdHJp bmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdh dXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3I9KFswLTldKlsuXVswLTld KiknKSBBUyBhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3IgCisgICAg LCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywn KSBGUk9NICdhdXRvdmFjdXVtX2FuYWx5emVfdGhyZXNob2xkPShbMC05XSop JykgQVMgYXV0b3ZhY3V1bV9hbmFseXplX3RocmVzaG9sZCAKKyAgICAsIHN1 YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZS T00gJ2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3I9KFswLTldKlsu XVswLTldKiknKSBBUyBhdXRvdmFjdXVtX2FuYWx5emVfc2NhbGVfZmFjdG9y IAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlv bnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheT0o WzAtOV0qKScpIEFTIGF1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXkgCisg ICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywg JywnKSBGUk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0PShbMC05 XSopJykgQVMgYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCAKKyAgICAs IHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcp IEZST00gJ2F1dG92YWN1dW1fZnJlZXplX21pbl9hZ2U9KFswLTldKiknKSBB UyBhdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlIAorICAgICwgc3Vic3RyaW5n KGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0 b3ZhY3V1bV9mcmVlemVfbWF4X2FnZT0oWzAtOV0qKScpIEFTIGF1dG92YWN1 dW1fZnJlZXplX21heF9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9f c3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2Zy ZWV6ZV90YWJsZV9hZ2U9KFswLTldKiknKSBBUyBhdXRvdmFjdXVtX2ZyZWV6 ZV90YWJsZV9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5n KHRzdC5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZW5hYmxl ZD0oW2EtenwwLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2VuYWJsZWQg CisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRp b25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZD0o WzAtOV0qKScpIEFTIHRvYXN0X2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9s ZCAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9w dGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFj dG9yPShbMC05XSpbLl1bMC05XSopJykgQVMgdG9hc3RfYXV0b3ZhY3V1bV92 YWN1dW1fc2NhbGVfZmFjdG9yIAorICAgICwgc3Vic3RyaW5nKGFycmF5X3Rv X3N0cmluZyh0c3QucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVt X2FuYWx5emVfdGhyZXNob2xkPShbMC05XSopJykgQVMgdG9hc3RfYXV0b3Zh Y3V1bV9hbmFseXplX3RocmVzaG9sZCAKKyAgICAsIHN1YnN0cmluZyhhcnJh eV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3Zh Y3V1bV9hbmFseXplX3NjYWxlX2ZhY3Rvcj0oWzAtOV0qWy5dWzAtOV0qKScp IEFTIHRvYXN0X2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3IgCisg ICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRpb25z LCAnLCcpIEZST00gJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXk9KFsw LTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5 IAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVsb3B0 aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0 PShbMC05XSopJykgQVMgdG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9s aW1pdCAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJl bG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV9mcmVlemVfbWluX2Fn ZT0oWzAtOV0qKScpIEFTIHRvYXN0X2F1dG92YWN1dW1fZnJlZXplX21pbl9h Z2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxv cHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZnJlZXplX21heF9hZ2U9 KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6ZV9tYXhfYWdl IAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVsb3B0 aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2U9 KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6ZV90YWJsZV9h Z2UgCisgICAgLCBjLnJlbG9wdGlvbnMgQVMgcmVsb3B0aW9ucywgdHN0LnJl bG9wdGlvbnMgQVMgdG9hc3RfcmVsb3B0aW9ucyAKKyAgICAsIChDQVNFIFdI RU4gYy5yZWx0b2FzdHJlbGlkID0gMCBUSEVOIGZhbHNlIEVMU0UgdHJ1ZSBF TkQpIEFTIGhhc3RvYXN0dGFibGUKK0ZST00gcGdfY2xhc3MgYworICAgIExF RlQgT1VURVIgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIG9uIG5zcC5vaWQgPSBj LnJlbG5hbWVzcGFjZQorICAgIExFRlQgT1VURVIgSk9JTiBwZ190YWJsZXNw YWNlIHNwYyBvbiBzcGMub2lkPWMucmVsdGFibGVzcGFjZQorICAgIExFRlQg T1VURVIgSk9JTiBwZ19kZXNjcmlwdGlvbiBkZXMgT04gKGRlcy5vYmpvaWQ9 Yy5vaWQgYW5kIGRlcy5vYmpzdWJpZD0wIEFORCBkZXMuY2xhc3NvaWQ9J3Bn X2NsYXNzJzo6cmVnY2xhc3MpCisgICAgTEVGVCBPVVRFUiBKT0lOIHBnX2Ns YXNzIHRzdCBPTiB0c3Qub2lkID0gYy5yZWx0b2FzdHJlbGlkCisgICAgICAg IFdIRVJFICgoYy5yZWxoYXNydWxlcyBBTkQgKEVYSVNUUyAoCisgICAgICAg ICAgICBTRUxFQ1Qgci5ydWxlbmFtZSBGUk9NIHBnX3Jld3JpdGUgcgorICAg ICAgICAgICAgICAgIFdIRVJFICgoci5ldl9jbGFzcyA9IGMub2lkKQorICAg ICAgICAgICAgICAgICAgICBBTkQgKGJwY2hhcihyLmV2X3R5cGUpID0gJzEn OjpicGNoYXIpKSApKSkgT1IgKGMucmVsa2luZCA9ICd2Jzo6Y2hhcikpCit7 JSBpZiAodmlkIGFuZCBkYXRsYXN0c3lzb2lkKSAlfQorICAgICAgICBBTkQg Yy5vaWQgPSB7e3ZpZH19OjpvaWQgCit7JSBlbGlmIHNjaWQgJX0KKyAgICAg ICAgQU5EIGMucmVsbmFtZXNwYWNlID0ge3tzY2lkfX06Om9pZCBPUkRFUiBC WSBjLnJlbG5hbWUKK3slIGVuZGlmICV9CisKK3slIGVsaWYgdHlwZSA9PSAn cm9sZXMnICV9CitTRUxFQ1QgcHIucm9sbmFtZSBGUk9NIHBnX3JvbGVzIHBy IFdIRVJFIHByLnJvbGNhbmxvZ2luIE9SREVSIEJZIHByLnJvbG5hbWUKKwor eyUgZWxpZiB0eXBlID09ICdzY2hlbWFzJyAlfQorU0VMRUNUIG5zcC5uc3Bu YW1lCisgICAgRlJPTSBwZ19uYW1lc3BhY2UgbnNwCitXSEVSRSAobnNwLm5z cG5hbWUgTk9UIExJS0UgRSdwZ1xcXyUnIAorICAgIEFORCBuc3AubnNwbmFt ZSAhPSAnaW5mb3JtYXRpb25fc2NoZW1hJykKK3slIGVuZGlmICV9CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mv c3FsLzkuM19wbHVzL3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuM19wbHVzL3VwZGF0ZS5zcWwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFiMjM1NwotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRl cy92aWV3cy9zcWwvOS4zX3BsdXMvdXBkYXRlLnNxbApAQCAtMCwwICsxLDgy IEBACit7Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT1VcGRhdGUgdmll dz09PT09PT09PT09PT09PT09PT09PT09PT0jfQoreyUgaW1wb3J0ICdtYWNy b3Mvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNMQUJMRSAlfQoreyUgaW1wb3J0 ICdtYWNyb3MvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9Cit7 JSBpZiBkYXRhICV9Cit7JSBzZXQgdmlld19uYW1lID0gZGF0YS5uYW1lIGlm IGRhdGEubmFtZSBlbHNlIG9fZGF0YS5uYW1lICV9Cit7JSBzZXQgdmlld19z Y2hlbWEgPSBkYXRhLnNjaGVtYSBpZiBkYXRhLnNjaGVtYSBlbHNlIG9fZGF0 YS5zY2hlbWEgJX0KK3slIHNldCBkZWYgPSBkYXRhLmRlZmluaXRpb24ucnN0 cmlwKCc7JykgaWYgZGF0YS5kZWZpbml0aW9uICV9Cit7JSBpZiBkYXRhLm5h bWUgYW5kIGRhdGEubmFtZSAhPSBvX2RhdGEubmFtZSAlfQorQUxURVIgVklF VyB7eyBjb25ufHF0SWRlbnQob19kYXRhLnNjaGVtYSwgb19kYXRhLm5hbWUp IH19CisgICAgUkVOQU1FIFRPIHt7IGNvbm58cXRJZGVudChkYXRhLm5hbWUp IH19OworeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuc2NoZW1hIGFuZCBkYXRh LnNjaGVtYSAhPSBvX2RhdGEuc2NoZW1hICV9CitBTFRFUiBWSUVXIHt7IGNv bm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCB2aWV3X25hbWUgKSB9fQorICAg IFNFVCBTQ0hFTUEge3sgZGF0YS5zY2hlbWEgfX07Cit7JSBlbmRpZiAlfQor eyUgaWYgZGF0YS5vd25lciBhbmQgZGF0YS5vd25lciAhPSBvX2RhdGEub3du ZXIgJX0KK0FMVEVSIFRBQkxFIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVt YSwgdmlld19uYW1lKSB9fQorICBPV05FUiBUTyB7eyBkYXRhLm93bmVyIH19 OworeyUgZW5kaWYgJX0KK3slIGlmIGRlZiBhbmQgZGVmICE9IG9fZGF0YS5k ZWZpbml0aW9uLnJzdHJpcCgnOycpICV9CitDUkVBVEUgT1IgUkVQTEFDRSBW SUVXIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9 fSAKK3slIGlmIChkYXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19v cHRpb24gIT0gb19kYXRhLmNoZWNrX29wdGlvbikKKyAgICBvciAoZGF0YS5z ZWN1cml0eV9iYXJyaWVyIGFuZCBkYXRhLnNlY3VyaXR5X2JhcnJpZXIgIT0g b19kYXRhLnNlY3VyaXR5X2JhcnJpZXIpICV9CisgICAgV0lUSCAoeyUgaWYg KGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSAn bm8nKSAlfWNoZWNrX29wdGlvbj17eyBkYXRhLmNoZWNrX29wdGlvbiB9fXsl IGVuZGlmICV9e3snLCAnIGlmIGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRh LmNoZWNrX29wdGlvbiAhPSAnbm8nIGFuZCBkYXRhLnNlY3VyaXR5X2JhcnJp ZXIgfX17JSBpZiBkYXRhLnNlY3VyaXR5X2JhcnJpZXIgJX1zZWN1cml0eV9i YXJyaWVyPXt7IGRhdGEuc2VjdXJpdHlfYmFycmllciB9fXslIGVuZGlmICV9 KQoreyUgZW5kaWYgJX0KKyAgICBBU3t7IGRlZiB9fTsKK3slIGVsc2UgJX0K K3slIGlmIChkYXRhLnNlY3VyaXR5X2JhcnJpZXIgYW5kIGRhdGEuc2VjdXJp dHlfYmFycmllciAhPSAgb19kYXRhLnNlY3VyaXR5X2JhcnJpZXIpICV9CitB TFRFUiBWSUVXIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19u YW1lKSB9fQorICAgIFNFVCAoc2VjdXJpdHlfYmFycmllcj17eyBkYXRhLnNl Y3VyaXR5X2JhcnJpZXIgfX0pOworeyUgZW5kaWYgJX0KK3slIGlmIChkYXRh LmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gb19kYXRh LmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gJ25vJykg JX0KK0FMVEVSIFZJRVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2 aWV3X25hbWUpIH19CisgICAgU0VUIChjaGVja19vcHRpb249e3sgZGF0YS5j aGVja19vcHRpb24gfX0pOworeyUgZWxpZiAoZGF0YS5jaGVja19vcHRpb24g YW5kIGRhdGEuY2hlY2tfb3B0aW9uICE9IG9fZGF0YS5jaGVja19vcHRpb24g YW5kIGRhdGEuY2hlY2tfb3B0aW9uID09ICdubycpICV9CitBTFRFUiBWSUVX IHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9fSBS RVNFVCAoY2hlY2tfb3B0aW9uKTsKK3slIGVuZGlmICV9Cit7JSBlbmRpZiAl fQoreyUgaWYgZGF0YS5jb21tZW50IGFuZCBkYXRhLmNvbW1lbnQgIT0gb19k YXRhLmNvbW1lbnQgJX0KK0NPTU1FTlQgT04gVklFVyB7eyBjb25ufHF0SWRl bnQodmlld19zY2hlbWEsIHZpZXdfbmFtZSkgfX0KKyAgICBJUyB7eyBkYXRh LmNvbW1lbnR8cXRMaXRlcmFsIH19OworeyUgZW5kaWYgJX0KK3sjIFRoZSBT UUwgZ2VuZXJhdGVkIGJlbG93IHdpbGwgY2hhbmdlIHByaXZpbGVnZXMgI30K K3slIGlmIGRhdGEuZGF0YWNsICV9Cit7JSBpZiAnZGVsZXRlZCcgaW4gZGF0 YS5kYXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsLmRlbGV0 ZWQgJX0KK3t7IFBSSVZJTEVHRS5SRVNFVEFMTChjb25uLCAnVEFCTEUnLCBw cml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEpIH19Cit7JSBl bmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gZGF0 YS5kYXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsLmNoYW5n ZWQgJX0KK3t7IFBSSVZJTEVHRS5SRVNFVEFMTChjb25uLCAnVEFCTEUnLCBw cml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEpIH19Cit7eyBQ UklWSUxFR0UuQVBQTFkoY29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVlLCBk YXRhLm5hbWUsIGRhdGEuc2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQsIHBy aXYud2l0aF9ncmFudCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0K K3slIGlmICdhZGRlZCcgaW4gZGF0YS5kYXRhY2wgJX0KK3slIGZvciBwcml2 IGluIGRhdGEuZGF0YWNsLmFkZGVkICV9Cit7eyBQUklWSUxFR0UuQVBQTFko Y29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVlLCBkYXRhLm5hbWUsIGRhdGEu c2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFudCkg fX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9Cit7 IyBUaGUgU1FMIGdlbmVyYXRlZCBiZWxvdyB3aWxsIGNoYW5nZSBTZWN1cml0 eSBMYWJlbCAjfQoreyUgaWYgZGF0YS5zZWNsYWJlbHMgaXMgbm90IG5vbmUg YW5kIGRhdGEuc2VjbGFiZWxzfGxlbmd0aCA+IDAgJX0KK3slIHNldCBzZWNs YWJlbHMgPSBkYXRhLnNlY2xhYmVscyAlfQoreyUgaWYgJ2RlbGV0ZWQnIGlu IHNlY2xhYmVscyBhbmQgc2VjbGFiZWxzLmRlbGV0ZWR8bGVuZ3RoID4gMCAl fQoreyUgZm9yIHIgaW4gc2VjbGFiZWxzLmRlbGV0ZWQgJX0KK3t7IFNFQ0xB QkxFLkRST1AoY29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIp IH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnYWRkZWQn IGluIHNlY2xhYmVscyBhbmQgc2VjbGFiZWxzLmFkZGVkfGxlbmd0aCA+IDAg JX0KK3slIGZvciByIGluIHNlY2xhYmVscy5hZGRlZCAlfQore3sgU0VDTEFC TEUuQVBQTFkoY29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIs IHIuc2VjdXJpdHlfbGFiZWwpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlm ICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJl bHMuY2hhbmdlZHxsZW5ndGggPiAwICV9Cit7JSBmb3IgciBpbiBzZWNsYWJl bHMuY2hhbmdlZCAlfQore3sgU0VDTEFCTEUuQVBQTFkoY29ubiwgJ1ZJRVcn LCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIuc2VjdXJpdHlfbGFiZWwpIH19 Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQoreyUg ZW5kaWYgJX0KKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVtcGxhdGVzL3ZpZXdzL3NxbC85LjNfcGx1cy92aWV3X2lkLnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3Bs dXMvdmlld19pZC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNmRmZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS4zX3BsdXMvdmlld19p ZC5zcWwKQEAgLTAsMCArMSw0IEBACit7IyBCZWxvdyB3aWxsIHByb3ZpZGUg dmlldyBpZCBmb3IgbmV3bHkgY3JlYXRlZCB2aWV3ICN9Cit7JSBpZiBkYXRh ICV9CitTRUxFQ1QgYy5vaWQgRlJPTSBwZ19jbGFzcyBjIFdIRVJFIGMucmVs bmFtZSA9ICd7eyBkYXRhLm5hbWUgfX0nOworeyUgZW5kaWYgJX0KZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9z cWwvOS40X3BsdXMvYWNsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rl bXBsYXRlcy92aWV3cy9zcWwvOS40X3BsdXMvYWNsLnNxbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjJhNGM5Ci0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdz L3NxbC85LjRfcGx1cy9hY2wuc3FsCkBAIC0wLDAgKzEsMjggQEAKK3sjPT09 PT09PT09PT09PT09PT09PT09PT09PT09PUdldCBBQ0xzPT09PT09PT09PT09 PT09PT09PT09PT09PSN9Cit7JSBpZiB2aWQgJX0KK1NFTEVDVCAnZGF0YWNs JyBhcyBkZWZ0eXBlLCBDT0FMRVNDRShndC5yb2xuYW1lLCAncHVibGljJykg Z3JhbnRlZSwgZy5yb2xuYW1lIGdyYW50b3IsIGFycmF5X2FnZyhwcml2aWxl Z2VfdHlwZSkgYXMgcHJpdmlsZWdlcywgCithcnJheV9hZ2coaXNfZ3JhbnRh YmxlKSBhcyBncmFudGFibGUKK0ZST00KKyAgICAoU0VMRUNUCisgICAgICAg IGQuZ3JhbnRlZSwgZC5ncmFudG9yLCBkLmlzX2dyYW50YWJsZSwKKyAgICAg ICAgQ0FTRSBkLnByaXZpbGVnZV90eXBlCisgICAgICAgIFdIRU4gJ0RFTEVU RScgVEhFTiAnZCcgCisgICAgICAgIFdIRU4gJ0lOU0VSVCcgVEhFTiAnYScg CisgICAgICAgIFdIRU4gJ1JFRkVSRU5DRVMnIFRIRU4gJ3gnIAorICAgICAg ICBXSEVOICdTRUxFQ1QnIFRIRU4gJ3InIAorICAgICAgICBXSEVOICdUUklH R0VSJyBUSEVOICd0JyAKKyAgICAgICAgV0hFTiAnVVBEQVRFJyBUSEVOICd3 JyAKKyAgICAgICAgRUxTRSAnVU5LTk9XTicKKyAgICAgICAgRU5EIEFTIHBy aXZpbGVnZV90eXBlCisgICAgRlJPTQorICAgICAgICAoU0VMRUNUIHJlbGFj bCBGUk9NIHBnX2NsYXNzIGNsICAgICAgICAgICAgCisgICAgICAgICAgICBM RUZUIE9VVEVSIEpPSU4gcGdfc2hkZXNjcmlwdGlvbiBkZXNjciBPTiAoCisg ICAgICAgICAgICBjbC5vaWQ9ZGVzY3Iub2Jqb2lkIEFORCBkZXNjci5jbGFz c29pZD0ncGdfY2xhc3MnOjpyZWdjbGFzcykKKyAgV0hFUkUgY2wub2lkID0g e3sgdmlkIH19OjpPSUQgQU5EIHJlbGtpbmQgPSAndicKKyAgICAgICAgKSBh Y2wsCisgICAgICAgIGFjbGV4cGxvZGUocmVsYWNsKSBkCisgICAgICAgICkg ZAorICAgIExFRlQgSk9JTiBwZ19jYXRhbG9nLnBnX3JvbGVzIGcgT04gKGQu Z3JhbnRvciA9IGcub2lkKQorICAgIExFRlQgSk9JTiBwZ19jYXRhbG9nLnBn X3JvbGVzIGd0IE9OIChkLmdyYW50ZWUgPSBndC5vaWQpCitHUk9VUCBCWSBn LnJvbG5hbWUsIGd0LnJvbG5hbWUKK3slIGVuZGlmICV9CmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzku NF9wbHVzL2JhY2tlbmRfc3VwcG9ydC5zcWwgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzL2JhY2tlbmRfc3Vw cG9ydC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u Y2Q0OTIyMwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Zp ZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS40X3BsdXMvYmFja2VuZF9zdXBw b3J0LnNxbApAQCAtMCwwICsxLDE4IEBACitTRUxFQ1QKKyBDQVNFIFdIRU4g bnNwLm5zcG5hbWUgSU4gKCdzeXMnLCAnZGJvJywgJ2luZm9ybWF0aW9uX3Nj aGVtYScpIFRIRU4gdHJ1ZSBFTFNFIGZhbHNlIEVORCBBUyBkYlN1cHBvcnQK K0ZST00gcGdfbmFtZXNwYWNlIG5zcCAKK1dIRVJFIG5zcC5vaWQ9e3tzY2lk fX06OmludAorQU5EICgKKwkobnNwbmFtZSA9ICdwZ19jYXRhbG9nJyBBTkQg RVhJU1RTIAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0VM RUNUIDEgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lID0gJ3BnX2NsYXNz JyBBTkQgcmVsbmFtZXNwYWNlID0gbnNwLm9pZCBMSU1JVCAxKSkgCisJT1Ig KG5zcG5hbWUgPSAncGdhZ2VudCcgQU5EIEVYSVNUUworCSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoU0VMRUNUIDEgRlJPTSBwZ19jbGFzcyBX SEVSRSByZWxuYW1lID0gJ3BnYV9qb2InIEFORCByZWxuYW1lc3BhY2UgPSBu c3Aub2lkIExJTUlUIDEpKSAKKwlPUiAobnNwbmFtZSA9ICdpbmZvcm1hdGlv bl9zY2hlbWEnIEFORCBFWElTVFMgCisJICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChTRUxFQ1QgMSBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5h bWUgPSAndGFibGVzJyBBTkQgcmVsbmFtZXNwYWNlID0gbnNwLm9pZCBMSU1J VCAxKSkgCisJT1IgKG5zcG5hbWUgTElLRSAnXyUnIEFORCBFWElTVFMgCisJ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTRUxFQ1QgMSBGUk9N IHBnX3Byb2MgV0hFUkUgcHJvbmFtZT0nc2xvbnl2ZXJzaW9uJyBBTkQgcHJv bmFtZXNwYWNlID0gbnNwLm9pZCBMSU1JVCAxKSkKKykgCitBTkQgCisgbnNw bmFtZSBOT1QgTElLRSBFJ3BnXFx0ZW1wXFwlJworQU5EIAorIG5zcG5hbWUg Tk9UIExJS0UgRSdwZ1xcdG9hc3RfdGVtcFxcJScKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvOS40X3Bs dXMvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRl cy92aWV3cy9zcWwvOS40X3BsdXMvY3JlYXRlLnNxbApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzk2NmIyCi0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3Nx bC85LjRfcGx1cy9jcmVhdGUuc3FsCkBAIC0wLDAgKzEsMjUgQEAKK3sjPT09 PT09PT09PT09PT09PT09PT09PT09PT09PUNyZWF0ZSBuZXcgdmlldz09PT09 PT09PT09PT09PT09PT09PT09PT0jfQoreyUgaWYgZGlzcGxheV9jb21tZW50 cyAlfQorLS0gVmlldzoge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBk YXRhLm5hbWUpIH19CisKKy0tIERST1AgVklFVyB7eyBjb25ufHF0SWRlbnQo ZGF0YS5zY2hlbWEsIGRhdGEubmFtZSkgfX07CisKK3slIGVuZGlmICV9Cit7 JSBpZiBkYXRhLm5hbWUgYW5kIGRhdGEuc2NoZW1hIGFuZCBkYXRhLmRlZmlu aXRpb24gJX0KK0NSRUFURSBPUiBSRVBMQUNFIFZJRVcge3sgY29ubnxxdElk ZW50KGRhdGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19IAoreyUgaWYgKChkYXRh LmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24ubG93ZXIoKSAh PSAnbm8nKSBvciBkYXRhLnNlY3VyaXR5X2JhcnJpZXIpICV9CitXSVRIICh7 JSBpZiBkYXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24u bG93ZXIoKSAhPSAnbm8nICV9CitjaGVja19vcHRpb249e3sgZGF0YS5jaGVj a19vcHRpb24gfX17JSBlbmRpZiAlfXt7ICcsICcgaWYgZGF0YS5jaGVja19v cHRpb24gYW5kIAorZGF0YS5jaGVja19vcHRpb24ubG93ZXIoKSAhPSAnbm8n IGFuZCBkYXRhLnNlY3VyaXR5X2JhcnJpZXIgZWxzZSAnJyB9fXslIGlmIGRh dGEuc2VjdXJpdHlfYmFycmllciAlfQorc2VjdXJpdHlfYmFycmllcj17eyBk YXRhLnNlY3VyaXR5X2JhcnJpZXIgfX17JSBlbmRpZiAlfSl7JSBlbmRpZiAl fSBBUwore3sgZGF0YS5kZWZpbml0aW9uLnJzdHJpcCgnOycpIH19OworeyUg aWYgZGF0YS5vd25lciAlfQorCitBTFRFUiBUQUJMRSB7eyBjb25ufHF0SWRl bnQoZGF0YS5zY2hlbWEsIGRhdGEubmFtZSkgfX0KKyAgT1dORVIgVE8ge3sg ZGF0YS5vd25lciB9fTsKK3slIGVuZGlmICV9Cit7JSBpZiBkYXRhLmNvbW1l bnQgJX0KK0NPTU1FTlQgT04gVklFVyB7eyBjb25ufHF0SWRlbnQoZGF0YS5z Y2hlbWEsIGRhdGEubmFtZSkgfX0KKyAgICBJUyB7eyBkYXRhLmNvbW1lbnR8 cXRMaXRlcmFsIH19OworeyUgZW5kaWYgJX0KK3slIGVuZGlmICV9CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mv c3FsLzkuNF9wbHVzL2RlbGV0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzL2RlbGV0ZS5zcWwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZjNGUwMQotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRl cy92aWV3cy9zcWwvOS40X3BsdXMvZGVsZXRlLnNxbApAQCAtMCwwICsxLDkg QEAKK3sjPT09PT09PT09PT09PT09PT09PT09PT09PT09PURyb3AvQ2FzY2Fk ZSB2aWV3IGJ5IG5hbWU9PT09PT09PT09PT09PT09PT09PT09PT09I30KK3sl IGlmIHZpZCAlfQorU0VMRUNUIGMucmVsbmFtZSBBcyBuYW1lLCBuc3AubnNw bmFtZQorICAgIEZST00gcGdfY2xhc3MgYworICAgIExFRlQgSk9JTiBwZ19u YW1lc3BhY2UgbnNwIG9uIGMucmVsbmFtZXNwYWNlID0gbnNwLm9pZAorICAg IFdIRVJFIGMucmVsZmlsZW5vZGUgPSB7eyB2aWQgfX07Cit7JSBlbGlmIChu YW1lIGFuZCBuc3BuYW1lKSAlfQorRFJPUCBWSUVXIHt7IGNvbm58cXRJZGVu dChuc3BuYW1lLCBuYW1lKSB9fSB7JSBpZiBjYXNjYWRlICV9IENBU0NBREUg eyUgZW5kaWYgJX0KK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzL2dy YW50LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9zcWwvOS40X3BsdXMvZ3JhbnQuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjlmYTcxODEKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9w bHVzL2dyYW50LnNxbApAQCAtMCwwICsxLDE0IEBACit7Iz09PT09R3JhbnQg UGVybWlzc2lvbnMgdG8gVXNlciBSb2xlIG9uIFZpZXdzL1RhYmxlcz09PT0j fQoreyUgaW1wb3J0ICdtYWNyb3Mvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNM QUJMRSAlfQoreyUgaW1wb3J0ICdtYWNyb3MvcHJpdmlsZWdlLm1hY3Jvcycg YXMgUFJJVklMRUdFICV9Cit7IyBXZSB3aWxsIGdlbmVyYXRlIFNlY3VyaXR5 IExhYmVsIFNRTCB1c2luZyBtYWNybyAjfQoreyUgaWYgZGF0YS5zZWNsYWJl bHMgJX0KK3slIGZvciByIGluIGRhdGEuc2VjbGFiZWxzICV9Cit7eyBTRUNM QUJMRS5BUFBMWShjb25uLCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRl ciwgci5zZWN1cml0eV9sYWJlbCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5k aWYgJX0KK3slIGlmIGRhdGEuZGF0YWNsICV9Cit7JSBmb3IgcHJpdiBpbiBk YXRhLmRhdGFjbCAlfQore3sgUFJJVklMRUdFLkFQUExZKGNvbm4sICdUQUJM RScsIHByaXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSwgcHJp di53aXRob3V0X2dyYW50LCBwcml2LndpdGhfZ3JhbnQpIH19Cit7JSBlbmRm b3IgJX0KK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzL3Byb3BlcnRp ZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdz L3NxbC85LjRfcGx1cy9wcm9wZXJ0aWVzLnNxbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi41NTJhZGY5Ci0tLSAvZGV2L251bGwKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC85 LjRfcGx1cy9wcm9wZXJ0aWVzLnNxbApAQCAtMCwwICsxLDYyIEBACit7Iz09 PT09PT09PT09PT09PT09PT09PT09PT09PT1GZXRjaCBWaWV3IFByb3BlcnRp ZXM9PT09PT09PT09PT09PT09PT09PT09PT09I30KK3slIGlmICh2aWQgYW5k IGRhdGxhc3RzeXNvaWQpIG9yIHNjaWQgJX0KK1NFTEVDVCBjLm9pZCwgYy54 bWluLCBjLnJlbG5hbWUgQVMgbmFtZSwgYy5yZWx0YWJsZXNwYWNlIEFTIHNw Y29pZCwKKyAgICBjLnJlbGlzcG9wdWxhdGVkIEFTIGlzcG9wdWxhdGVkLCBz cGMuc3BjbmFtZSwgbnNwLm5zcG5hbWUgYXMgc2NoZW1hLAorICAgIHBnX2dl dF91c2VyYnlpZChjLnJlbG93bmVyKSBBUyBvd25lciwgZGVzY3JpcHRpb24g QVMgY29tbWVudCwKKyAgICBwZ19nZXRfdmlld2RlZihjLm9pZCwgdHJ1ZSkg QVMgZGVmaW5pdGlvbiwKKyAgICB7Iz09PT09PT09PT09PT1DaGVja3MgaWYg aXQgaXMgc3lzdGVtIHZpZXc9PT09PT09PT09PT09PT09I30KKyAgICB7JSBp ZiB2aWQgYW5kIGRhdGxhc3RzeXNvaWQgJX0KKyAgICBDQVNFIFdIRU4ge3t2 aWR9fSA8PSB7e2RhdGxhc3RzeXNvaWR9fSBUSEVOIFRydWUgRUxTRSBGYWxz ZSBFTkQgQVMgc3lzdGVtX3ZpZXcsCisgICAgeyUgZW5kaWYgJX0KKyAgICB7 Iz09PT09PT09PT09PT1DaGVja3MgaWYgaXQgaXMgbWF0ZXJpYWxpemVkIHZp ZXc9PT09PT09PSN9CisgICAgQ0FTRSBXSEVOIGMucmVsa2luZCA9ICdtJyBU SEVOIFRydWUgRUxTRSBGYWxzZSBFTkQgQXMgbV92aWV3LAorICAgIChTRUxF Q1QgYXJyYXlfYWdnKHByb3ZpZGVyIHx8ICc9JyB8fCBsYWJlbCkgRlJPTSBw Z19zZWNsYWJlbHMgc2wxIFdIRVJFIHNsMS5vYmpvaWQ9Yy5vaWQgQU5EIHNs MS5vYmpzdWJpZD0wKSBBUyBzZWNsYWJlbHMKKyAgICAsIHN1YnN0cmluZyhh cnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2NoZWNr X29wdGlvbj0oW2Etel0qKScpIEFTIGNoZWNrX29wdGlvbgorICAgICwgc3Vi c3RyaW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJP TSAnc2VjdXJpdHlfYmFycmllcj0oW2EtenwwLTldKiknKSBBUyBzZWN1cml0 eV9iYXJyaWVyCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMu cmVsb3B0aW9ucywgJywnKSBGUk9NICdmaWxsZmFjdG9yPShbMC05XSopJykg QVMgZmlsbGZhY3RvciAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJp bmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZW5hYmxl ZD0oW2EtenwwLTldKiknKSBBUyBhdXRvdmFjdXVtX2VuYWJsZWQgCisgICAg LCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywn KSBGUk9NICdhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQ9KFswLTldKikn KSBBUyBhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQgCisgICAgLCBzdWJz dHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9N ICdhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3I9KFswLTldKlsuXVsw LTldKiknKSBBUyBhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3IgCisg ICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywg JywnKSBGUk9NICdhdXRvdmFjdXVtX2FuYWx5emVfdGhyZXNob2xkPShbMC05 XSopJykgQVMgYXV0b3ZhY3V1bV9hbmFseXplX3RocmVzaG9sZCAKKyAgICAs IHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcp IEZST00gJ2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3I9KFswLTld KlsuXVswLTldKiknKSBBUyBhdXRvdmFjdXVtX2FuYWx5emVfc2NhbGVfZmFj dG9yIAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9w dGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxh eT0oWzAtOV0qKScpIEFTIGF1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXkg CisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9u cywgJywnKSBGUk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0PShb MC05XSopJykgQVMgYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCAKKyAg ICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAn LCcpIEZST00gJ2F1dG92YWN1dW1fZnJlZXplX21pbl9hZ2U9KFswLTldKikn KSBBUyBhdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlIAorICAgICwgc3Vic3Ry aW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAn YXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZT0oWzAtOV0qKScpIEFTIGF1dG92 YWN1dW1fZnJlZXplX21heF9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlf dG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVt X2ZyZWV6ZV90YWJsZV9hZ2U9KFswLTldKiknKSBBUyBhdXRvdmFjdXVtX2Zy ZWV6ZV90YWJsZV9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3Ry aW5nKHRzdC5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZW5h YmxlZD0oW2EtenwwLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2VuYWJs ZWQgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxv cHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9s ZD0oWzAtOV0qKScpIEFTIHRvYXN0X2F1dG92YWN1dW1fdmFjdXVtX3RocmVz aG9sZCAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJl bG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVf ZmFjdG9yPShbMC05XSpbLl1bMC05XSopJykgQVMgdG9hc3RfYXV0b3ZhY3V1 bV92YWN1dW1fc2NhbGVfZmFjdG9yIAorICAgICwgc3Vic3RyaW5nKGFycmF5 X3RvX3N0cmluZyh0c3QucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFj dXVtX2FuYWx5emVfdGhyZXNob2xkPShbMC05XSopJykgQVMgdG9hc3RfYXV0 b3ZhY3V1bV9hbmFseXplX3RocmVzaG9sZCAKKyAgICAsIHN1YnN0cmluZyhh cnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0 b3ZhY3V1bV9hbmFseXplX3NjYWxlX2ZhY3Rvcj0oWzAtOV0qWy5dWzAtOV0q KScpIEFTIHRvYXN0X2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3Ig CisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRp b25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXk9 KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2Rl bGF5IAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVs b3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xp bWl0PShbMC05XSopJykgQVMgdG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fY29z dF9saW1pdCAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0 LnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV9mcmVlemVfbWlu X2FnZT0oWzAtOV0qKScpIEFTIHRvYXN0X2F1dG92YWN1dW1fZnJlZXplX21p bl9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5y ZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZnJlZXplX21heF9h Z2U9KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6ZV9tYXhf YWdlIAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVs b3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2ZyZWV6ZV90YWJsZV9h Z2U9KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2ZyZWV6ZV90YWJs ZV9hZ2UgCisgICAgLCBjLnJlbG9wdGlvbnMgQVMgcmVsb3B0aW9ucywgdHN0 LnJlbG9wdGlvbnMgQVMgdG9hc3RfcmVsb3B0aW9ucyAKKyAgICAsIChDQVNF IFdIRU4gYy5yZWx0b2FzdHJlbGlkID0gMCBUSEVOIGZhbHNlIEVMU0UgdHJ1 ZSBFTkQpIEFTIGhhc3RvYXN0dGFibGUKK0ZST00gcGdfY2xhc3MgYworICAg IExFRlQgT1VURVIgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIG9uIG5zcC5vaWQg PSBjLnJlbG5hbWVzcGFjZQorICAgIExFRlQgT1VURVIgSk9JTiBwZ190YWJs ZXNwYWNlIHNwYyBvbiBzcGMub2lkPWMucmVsdGFibGVzcGFjZQorICAgIExF RlQgT1VURVIgSk9JTiBwZ19kZXNjcmlwdGlvbiBkZXMgT04gKGRlcy5vYmpv aWQ9Yy5vaWQgYW5kIGRlcy5vYmpzdWJpZD0wIEFORCBkZXMuY2xhc3NvaWQ9 J3BnX2NsYXNzJzo6cmVnY2xhc3MpCisgICAgTEVGVCBPVVRFUiBKT0lOIHBn X2NsYXNzIHRzdCBPTiB0c3Qub2lkID0gYy5yZWx0b2FzdHJlbGlkCisgICAg ICAgIFdIRVJFICgoYy5yZWxoYXNydWxlcyBBTkQgKEVYSVNUUyAoCisgICAg ICAgICAgICBTRUxFQ1Qgci5ydWxlbmFtZSBGUk9NIHBnX3Jld3JpdGUgcgor ICAgICAgICAgICAgICAgIFdIRVJFICgoci5ldl9jbGFzcyA9IGMub2lkKQor ICAgICAgICAgICAgICAgICAgICBBTkQgKGJwY2hhcihyLmV2X3R5cGUpID0g JzEnOjpicGNoYXIpKSApKSkgT1IgKGMucmVsa2luZCA9ICd2Jzo6Y2hhcikp Cit7JSBpZiAodmlkIGFuZCBkYXRsYXN0c3lzb2lkKSAlfQorICAgICAgICBB TkQgYy5vaWQgPSB7e3ZpZH19OjpvaWQgCit7JSBlbGlmIHNjaWQgJX0KKyAg ICAgICAgQU5EIGMucmVsbmFtZXNwYWNlID0ge3tzY2lkfX06Om9pZCBPUkRF UiBCWSBjLnJlbG5hbWUKK3slIGVuZGlmICV9CisKK3slIGVsaWYgdHlwZSA9 PSAncm9sZXMnICV9CitTRUxFQ1QgcHIucm9sbmFtZSBGUk9NIHBnX3JvbGVz IHByIFdIRVJFIHByLnJvbGNhbmxvZ2luIE9SREVSIEJZIHByLnJvbG5hbWUK KworeyUgZWxpZiB0eXBlID09ICdzY2hlbWFzJyAlfQorU0VMRUNUIG5zcC5u c3BuYW1lCisgICAgRlJPTSBwZ19uYW1lc3BhY2UgbnNwCitXSEVSRSAobnNw Lm5zcG5hbWUgTk9UIExJS0UgRSdwZ1xcXyUnIAorICAgIEFORCBuc3AubnNw bmFtZSAhPSAnaW5mb3JtYXRpb25fc2NoZW1hJykKK3slIGVuZGlmICV9CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmll d3Mvc3FsLzkuNF9wbHVzL3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzL3VwZGF0ZS5zcWwK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI4NmZlMAot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBs YXRlcy92aWV3cy9zcWwvOS40X3BsdXMvdXBkYXRlLnNxbApAQCAtMCwwICsx LDgxIEBACit7Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT1VcGRhdGUg Vmlldz09PT09PT09PT09PT09PT09PT09PT09PT0jfQoreyUgaW1wb3J0ICdt YWNyb3Mvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNMQUJMRSAlfQoreyUgaW1w b3J0ICdtYWNyb3MvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9 Cit7JSBpZiBkYXRhICV9Cit7JSBzZXQgdmlld19uYW1lID0gZGF0YS5uYW1l IGlmIGRhdGEubmFtZSBlbHNlIG9fZGF0YS5uYW1lICV9Cit7JSBzZXQgdmll d19zY2hlbWEgPSBkYXRhLnNjaGVtYSBpZiBkYXRhLnNjaGVtYSBlbHNlIG9f ZGF0YS5zY2hlbWEgJX0KK3slIHNldCBkZWYgPSBkYXRhLmRlZmluaXRpb24u cnN0cmlwKCc7JykgaWYgZGF0YS5kZWZpbml0aW9uICV9Cit7JSBpZiBkYXRh Lm5hbWUgYW5kIGRhdGEubmFtZSAhPSBvX2RhdGEubmFtZSAlfQorQUxURVIg VklFVyB7eyBjb25ufHF0SWRlbnQob19kYXRhLnNjaGVtYSwgb19kYXRhLm5h bWUpIH19CisgICAgUkVOQU1FIFRPIHt7IGNvbm58cXRJZGVudChkYXRhLm5h bWUpIH19OworeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuc2NoZW1hIGFuZCBk YXRhLnNjaGVtYSAhPSBvX2RhdGEuc2NoZW1hICV9CitBTFRFUiBWSUVXIHt7 IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCB2aWV3X25hbWUgKSB9fQor ICAgIFNFVCBTQ0hFTUEge3sgZGF0YS5zY2hlbWEgfX07Cit7JSBlbmRpZiAl fQoreyUgaWYgZGF0YS5vd25lciBhbmQgZGF0YS5vd25lciAhPSBvX2RhdGEu b3duZXIgJX0KK0FMVEVSIFRBQkxFIHt7IGNvbm58cXRJZGVudCh2aWV3X3Nj aGVtYSwgdmlld19uYW1lKSB9fQorICBPV05FUiBUTyB7eyBkYXRhLm93bmVy IH19OworeyUgZW5kaWYgJX0KK3slIGlmIGRlZiBhbmQgZGVmICE9IG9fZGF0 YS5kZWZpbml0aW9uLnJzdHJpcCgnOycpICV9CitDUkVBVEUgT1IgUkVQTEFD RSBWSUVXIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1l KSB9fSAKK3slIGlmIChkYXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVj a19vcHRpb24gIT0gb19kYXRhLmNoZWNrX29wdGlvbikKKyAgICBvciAoZGF0 YS5zZWN1cml0eV9iYXJyaWVyIGFuZCBkYXRhLnNlY3VyaXR5X2JhcnJpZXIg IT0gb19kYXRhLnNlY3VyaXR5X2JhcnJpZXIpICV9CisgICAgV0lUSCAoeyUg aWYgKGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAh PSAnbm8nKSAlfWNoZWNrX29wdGlvbj17eyBkYXRhLmNoZWNrX29wdGlvbiB9 fXslIGVuZGlmICV9e3snLCAnIGlmIGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBk YXRhLmNoZWNrX29wdGlvbiAhPSAnbm8nIGFuZCBkYXRhLnNlY3VyaXR5X2Jh cnJpZXIgfX17JSBpZiBkYXRhLnNlY3VyaXR5X2JhcnJpZXIgJX1zZWN1cml0 eV9iYXJyaWVyPXt7IGRhdGEuc2VjdXJpdHlfYmFycmllciB9fXslIGVuZGlm ICV9KQoreyUgZW5kaWYgJX0KKyAgICBBU3t7IGRlZiB9fTsKK3slIGVsc2Ug JX0KK3slIGlmIChkYXRhLnNlY3VyaXR5X2JhcnJpZXIgYW5kIGRhdGEuc2Vj dXJpdHlfYmFycmllciAhPSAgb19kYXRhLnNlY3VyaXR5X2JhcnJpZXIpICV9 CitBTFRFUiBWSUVXIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmll d19uYW1lKSB9fQorICAgIFNFVCAoc2VjdXJpdHlfYmFycmllcj17eyBkYXRh LnNlY3VyaXR5X2JhcnJpZXIgfX0pOworeyUgZW5kaWYgJX0KK3slIGlmIChk YXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gb19k YXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVja19vcHRpb24gIT0gJ25v JykgJX0KK0FMVEVSIFZJRVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1h LCB2aWV3X25hbWUpIH19CisgICAgU0VUIChjaGVja19vcHRpb249e3sgZGF0 YS5jaGVja19vcHRpb24gfX0pOworeyUgZWxpZiAoZGF0YS5jaGVja19vcHRp b24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uICE9IG9fZGF0YS5jaGVja19vcHRp b24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uID09ICdubycpICV9CitBTFRFUiBW SUVXIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9 fSBSRVNFVCAoY2hlY2tfb3B0aW9uKTsKK3slIGVuZGlmICV9Cit7JSBlbmRp ZiAlfQoreyUgaWYgZGF0YS5jb21tZW50IGFuZCBkYXRhLmNvbW1lbnQgIT0g b19kYXRhLmNvbW1lbnQgJX0KK0NPTU1FTlQgT04gVklFVyB7eyBjb25ufHF0 SWRlbnQodmlld19zY2hlbWEsIHZpZXdfbmFtZSkgfX0KKyAgICBJUyB7eyBk YXRhLmNvbW1lbnR8cXRMaXRlcmFsIH19OworeyUgZW5kaWYgJX0KK3sjIFRo ZSBTUUwgZ2VuZXJhdGVkIGJlbG93IHdpbGwgY2hhbmdlIHByaXZpbGVnZXMg I30KK3slIGlmIGRhdGEuZGF0YWNsICV9Cit7JSBpZiAnZGVsZXRlZCcgaW4g ZGF0YS5kYXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsLmRl bGV0ZWQgJX0KK3t7IFBSSVZJTEVHRS5SRVNFVEFMTChjb25uLCAnVEFCTEUn LCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEpIH19Cit7 JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4g ZGF0YS5kYXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsLmNo YW5nZWQgJX0KK3t7IFBSSVZJTEVHRS5SRVNFVEFMTChjb25uLCAnVEFCTEUn LCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEpIH19Cit7 eyBQUklWSUxFR0UuQVBQTFkoY29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVl LCBkYXRhLm5hbWUsIGRhdGEuc2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQs IHByaXYud2l0aF9ncmFudCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYg JX0KK3slIGlmICdhZGRlZCcgaW4gZGF0YS5kYXRhY2wgJX0KK3slIGZvciBw cml2IGluIGRhdGEuZGF0YWNsLmFkZGVkICV9Cit7eyBQUklWSUxFR0UuQVBQ TFkoY29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVlLCBkYXRhLm5hbWUsIGRh dGEuc2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFu dCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9 Cit7IyBUaGUgU1FMIGdlbmVyYXRlZCBiZWxvdyB3aWxsIGNoYW5nZSBTZWN1 cml0eSBMYWJlbCAjfQoreyUgaWYgZGF0YS5zZWNsYWJlbHMgaXMgbm90IG5v bmUgYW5kIGRhdGEuc2VjbGFiZWxzfGxlbmd0aCA+IDAgJX0KK3slIHNldCBz ZWNsYWJlbHMgPSBkYXRhLnNlY2xhYmVscyAlfQoreyUgaWYgJ2RlbGV0ZWQn IGluIHNlY2xhYmVscyBhbmQgc2VjbGFiZWxzLmRlbGV0ZWR8bGVuZ3RoID4g MCAlfQoreyUgZm9yIHIgaW4gc2VjbGFiZWxzLmRlbGV0ZWQgJX0KK3t7IFNF Q0xBQkxFLkRST1AoY29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlk ZXIpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnYWRk ZWQnIGluIHNlY2xhYmVscyBhbmQgc2VjbGFiZWxzLmFkZGVkfGxlbmd0aCA+ IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVscy5hZGRlZCAlfQore3sgU0VD TEFCTEUuQVBQTFkoY29ubiwgJ1ZJRVcnLCBkYXRhLm5hbWUsIHIucHJvdmlk ZXIsIHIuc2VjdXJpdHlfbGFiZWwpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVu ZGlmICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNs YWJlbHMuY2hhbmdlZHxsZW5ndGggPiAwICV9Cit7JSBmb3IgciBpbiBzZWNs YWJlbHMuY2hhbmdlZCAlfQore3sgU0VDTEFCTEUuQVBQTFkoY29ubiwgJ1ZJ RVcnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIuc2VjdXJpdHlfbGFiZWwp IH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQor eyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdz L3RlbXBsYXRlcy92aWV3cy9zcWwvOS40X3BsdXMvdmlld19pZC5zcWwgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9w bHVzL3ZpZXdfaWQuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjY1NjQ4YzAKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsLzkuNF9wbHVzL3ZpZXdf aWQuc3FsCkBAIC0wLDAgKzEsNCBAQAoreyM9PUJlbG93IHdpbGwgcHJvdmlk ZSB2aWV3IGlkIGZvciBsYXN0IGNyZWF0ZWQgdmlldz09I30KK3slIGlmIGRh dGEgJX0KK1NFTEVDVCBjLm9pZCBGUk9NIHBnX2NsYXNzIGMgV0hFUkUgYy5y ZWxuYW1lID0gJ3t7IGRhdGEubmFtZSB9fSc7Cit7JSBlbmRpZiAlfQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdz L3NxbC9lZGJfOS4xX3BsdXMvYWNsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Zp ZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRiXzkuMV9wbHVzL2FjbC5zcWwK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYyYTRjOQot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBs YXRlcy92aWV3cy9zcWwvZWRiXzkuMV9wbHVzL2FjbC5zcWwKQEAgLTAsMCAr MSwyOCBAQAoreyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09R2V0IEFD THM9PT09PT09PT09PT09PT09PT09PT09PT09I30KK3slIGlmIHZpZCAlfQor U0VMRUNUICdkYXRhY2wnIGFzIGRlZnR5cGUsIENPQUxFU0NFKGd0LnJvbG5h bWUsICdwdWJsaWMnKSBncmFudGVlLCBnLnJvbG5hbWUgZ3JhbnRvciwgYXJy YXlfYWdnKHByaXZpbGVnZV90eXBlKSBhcyBwcml2aWxlZ2VzLCAKK2FycmF5 X2FnZyhpc19ncmFudGFibGUpIGFzIGdyYW50YWJsZQorRlJPTQorICAgIChT RUxFQ1QKKyAgICAgICAgZC5ncmFudGVlLCBkLmdyYW50b3IsIGQuaXNfZ3Jh bnRhYmxlLAorICAgICAgICBDQVNFIGQucHJpdmlsZWdlX3R5cGUKKyAgICAg ICAgV0hFTiAnREVMRVRFJyBUSEVOICdkJyAKKyAgICAgICAgV0hFTiAnSU5T RVJUJyBUSEVOICdhJyAKKyAgICAgICAgV0hFTiAnUkVGRVJFTkNFUycgVEhF TiAneCcgCisgICAgICAgIFdIRU4gJ1NFTEVDVCcgVEhFTiAncicgCisgICAg ICAgIFdIRU4gJ1RSSUdHRVInIFRIRU4gJ3QnIAorICAgICAgICBXSEVOICdV UERBVEUnIFRIRU4gJ3cnIAorICAgICAgICBFTFNFICdVTktOT1dOJworICAg ICAgICBFTkQgQVMgcHJpdmlsZWdlX3R5cGUKKyAgICBGUk9NCisgICAgICAg IChTRUxFQ1QgcmVsYWNsIEZST00gcGdfY2xhc3MgY2wgICAgICAgICAgICAK KyAgICAgICAgICAgIExFRlQgT1VURVIgSk9JTiBwZ19zaGRlc2NyaXB0aW9u IGRlc2NyIE9OICgKKyAgICAgICAgICAgIGNsLm9pZD1kZXNjci5vYmpvaWQg QU5EIGRlc2NyLmNsYXNzb2lkPSdwZ19jbGFzcyc6OnJlZ2NsYXNzKQorICBX SEVSRSBjbC5vaWQgPSB7eyB2aWQgfX06Ok9JRCBBTkQgcmVsa2luZCA9ICd2 JworICAgICAgICApIGFjbCwKKyAgICAgICAgYWNsZXhwbG9kZShyZWxhY2wp IGQKKyAgICAgICAgKSBkCisgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdf cm9sZXMgZyBPTiAoZC5ncmFudG9yID0gZy5vaWQpCisgICAgTEVGVCBKT0lO IHBnX2NhdGFsb2cucGdfcm9sZXMgZ3QgT04gKGQuZ3JhbnRlZSA9IGd0Lm9p ZCkKK0dST1VQIEJZIGcucm9sbmFtZSwgZ3Qucm9sbmFtZQoreyUgZW5kaWYg JX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRl cy92aWV3cy9zcWwvZWRiXzkuMV9wbHVzL2JhY2tlbmRfc3VwcG9ydC5zcWwg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsL2Vk Yl85LjFfcGx1cy9iYWNrZW5kX3N1cHBvcnQuc3FsCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDkyMjMKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3Fs L2VkYl85LjFfcGx1cy9iYWNrZW5kX3N1cHBvcnQuc3FsCkBAIC0wLDAgKzEs MTggQEAKK1NFTEVDVAorIENBU0UgV0hFTiBuc3AubnNwbmFtZSBJTiAoJ3N5 cycsICdkYm8nLCAnaW5mb3JtYXRpb25fc2NoZW1hJykgVEhFTiB0cnVlIEVM U0UgZmFsc2UgRU5EIEFTIGRiU3VwcG9ydAorRlJPTSBwZ19uYW1lc3BhY2Ug bnNwIAorV0hFUkUgbnNwLm9pZD17e3NjaWR9fTo6aW50CitBTkQgKAorCShu c3BuYW1lID0gJ3BnX2NhdGFsb2cnIEFORCBFWElTVFMgCisJICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChTRUxFQ1QgMSBGUk9NIHBnX2NsYXNz IFdIRVJFIHJlbG5hbWUgPSAncGdfY2xhc3MnIEFORCByZWxuYW1lc3BhY2Ug PSBuc3Aub2lkIExJTUlUIDEpKSAKKwlPUiAobnNwbmFtZSA9ICdwZ2FnZW50 JyBBTkQgRVhJU1RTCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChTRUxFQ1QgMSBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAncGdh X2pvYicgQU5EIHJlbG5hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpIAor CU9SIChuc3BuYW1lID0gJ2luZm9ybWF0aW9uX3NjaGVtYScgQU5EIEVYSVNU UyAKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNFTEVDVCAx IEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSA9ICd0YWJsZXMnIEFORCBy ZWxuYW1lc3BhY2UgPSBuc3Aub2lkIExJTUlUIDEpKSAKKwlPUiAobnNwbmFt ZSBMSUtFICdfJScgQU5EIEVYSVNUUyAKKwkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKFNFTEVDVCAxIEZST00gcGdfcHJvYyBXSEVSRSBwcm9u YW1lPSdzbG9ueXZlcnNpb24nIEFORCBwcm9uYW1lc3BhY2UgPSBuc3Aub2lk IExJTUlUIDEpKQorKSAKK0FORCAKKyBuc3BuYW1lIE5PVCBMSUtFIEUncGdc XHRlbXBcXCUnCitBTkQgCisgbnNwbmFtZSBOT1QgTElLRSBFJ3BnXFx0b2Fz dF90ZW1wXFwlJwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVtcGxhdGVzL3ZpZXdzL3NxbC9lZGJfOS4xX3BsdXMvY3JlYXRlLnNxbCBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRi XzkuMV9wbHVzL2NyZWF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZWM5NjZiMgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRiXzkuMV9w bHVzL2NyZWF0ZS5zcWwKQEAgLTAsMCArMSwyNSBAQAoreyM9PT09PT09PT09 PT09PT09PT09PT09PT09PT09Q3JlYXRlIG5ldyB2aWV3PT09PT09PT09PT09 PT09PT09PT09PT09PSN9Cit7JSBpZiBkaXNwbGF5X2NvbW1lbnRzICV9Cist LSBWaWV3OiB7eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEubmFt ZSkgfX0KKworLS0gRFJPUCBWSUVXIHt7IGNvbm58cXRJZGVudChkYXRhLnNj aGVtYSwgZGF0YS5uYW1lKSB9fTsKKworeyUgZW5kaWYgJX0KK3slIGlmIGRh dGEubmFtZSBhbmQgZGF0YS5zY2hlbWEgYW5kIGRhdGEuZGVmaW5pdGlvbiAl fQorQ1JFQVRFIE9SIFJFUExBQ0UgVklFVyB7eyBjb25ufHF0SWRlbnQoZGF0 YS5zY2hlbWEsIGRhdGEubmFtZSkgfX0gCit7JSBpZiAoKGRhdGEuY2hlY2tf b3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbi5sb3dlcigpICE9ICdubycp IG9yIGRhdGEuc2VjdXJpdHlfYmFycmllcikgJX0KK1dJVEggKHslIGlmIGRh dGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbi5sb3dlcigp ICE9ICdubycgJX0KK2NoZWNrX29wdGlvbj17eyBkYXRhLmNoZWNrX29wdGlv biB9fXslIGVuZGlmICV9e3sgJywgJyBpZiBkYXRhLmNoZWNrX29wdGlvbiBh bmQgCitkYXRhLmNoZWNrX29wdGlvbi5sb3dlcigpICE9ICdubycgYW5kIGRh dGEuc2VjdXJpdHlfYmFycmllciBlbHNlICcnIH19eyUgaWYgZGF0YS5zZWN1 cml0eV9iYXJyaWVyICV9CitzZWN1cml0eV9iYXJyaWVyPXt7IGRhdGEuc2Vj dXJpdHlfYmFycmllciB9fXslIGVuZGlmICV9KXslIGVuZGlmICV9IEFTCit7 eyBkYXRhLmRlZmluaXRpb24ucnN0cmlwKCc7JykgfX07Cit7JSBpZiBkYXRh Lm93bmVyICV9CisKK0FMVEVSIFRBQkxFIHt7IGNvbm58cXRJZGVudChkYXRh LnNjaGVtYSwgZGF0YS5uYW1lKSB9fQorICBPV05FUiBUTyB7eyBkYXRhLm93 bmVyIH19OworeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuY29tbWVudCAlfQor Q09NTUVOVCBPTiBWSUVXIHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwg ZGF0YS5uYW1lKSB9fQorICAgIElTIHt7IGRhdGEuY29tbWVudHxxdExpdGVy YWwgfX07Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRi XzkuMV9wbHVzL2RlbGV0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90 ZW1wbGF0ZXMvdmlld3Mvc3FsL2VkYl85LjFfcGx1cy9kZWxldGUuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmYzRlMDEKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0 ZXMvdmlld3Mvc3FsL2VkYl85LjFfcGx1cy9kZWxldGUuc3FsCkBAIC0wLDAg KzEsOSBAQAoreyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09RHJvcC9D YXNjYWRlIHZpZXcgYnkgbmFtZT09PT09PT09PT09PT09PT09PT09PT09PT0j fQoreyUgaWYgdmlkICV9CitTRUxFQ1QgYy5yZWxuYW1lIEFzIG5hbWUsIG5z cC5uc3BuYW1lCisgICAgRlJPTSBwZ19jbGFzcyBjCisgICAgTEVGVCBKT0lO IHBnX25hbWVzcGFjZSBuc3Agb24gYy5yZWxuYW1lc3BhY2UgPSBuc3Aub2lk CisgICAgV0hFUkUgYy5yZWxmaWxlbm9kZSA9IHt7IHZpZCB9fTsKK3slIGVs aWYgKG5hbWUgYW5kIG5zcG5hbWUpICV9CitEUk9QIFZJRVcge3sgY29ubnxx dElkZW50KG5zcG5hbWUsIG5hbWUpIH19IHslIGlmIGNhc2NhZGUgJX0gQ0FT Q0FERSB7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRiXzku MV9wbHVzL2dyYW50LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBs YXRlcy92aWV3cy9zcWwvZWRiXzkuMV9wbHVzL2dyYW50LnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmE3MTgxCi0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3Zp ZXdzL3NxbC9lZGJfOS4xX3BsdXMvZ3JhbnQuc3FsCkBAIC0wLDAgKzEsMTQg QEAKK3sjPT09PT1HcmFudCBQZXJtaXNzaW9ucyB0byBVc2VyIFJvbGUgb24g Vmlld3MvVGFibGVzPT09PSN9Cit7JSBpbXBvcnQgJ21hY3Jvcy9zZWN1cml0 eS5tYWNyb3MnIGFzIFNFQ0xBQkxFICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9w cml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KK3sjIFdlIHdpbGwg Z2VuZXJhdGUgU2VjdXJpdHkgTGFiZWwgU1FMIHVzaW5nIG1hY3JvICN9Cit7 JSBpZiBkYXRhLnNlY2xhYmVscyAlfQoreyUgZm9yIHIgaW4gZGF0YS5zZWNs YWJlbHMgJX0KK3t7IFNFQ0xBQkxFLkFQUExZKGNvbm4sICdWSUVXJywgZGF0 YS5uYW1lLCByLnByb3ZpZGVyLCByLnNlY3VyaXR5X2xhYmVsKSB9fQoreyUg ZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5kYXRhY2wgJX0K K3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNsICV9Cit7eyBQUklWSUxFR0Uu QVBQTFkoY29ubiwgJ1RBQkxFJywgcHJpdi5ncmFudGVlLCBkYXRhLm5hbWUs IGRhdGEuc2NoZW1hLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9n cmFudCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwv ZWRiXzkuMV9wbHVzL3Byb3BlcnRpZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9lZGJfOS4xX3BsdXMvcHJvcGVy dGllcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NTUyYWRmOQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Zp ZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRiXzkuMV9wbHVzL3Byb3BlcnRp ZXMuc3FsCkBAIC0wLDAgKzEsNjIgQEAKK3sjPT09PT09PT09PT09PT09PT09 PT09PT09PT09PUZldGNoIFZpZXcgUHJvcGVydGllcz09PT09PT09PT09PT09 PT09PT09PT09PT0jfQoreyUgaWYgKHZpZCBhbmQgZGF0bGFzdHN5c29pZCkg b3Igc2NpZCAlfQorU0VMRUNUIGMub2lkLCBjLnhtaW4sIGMucmVsbmFtZSBB UyBuYW1lLCBjLnJlbHRhYmxlc3BhY2UgQVMgc3Bjb2lkLAorICAgIGMucmVs aXNwb3B1bGF0ZWQgQVMgaXNwb3B1bGF0ZWQsIHNwYy5zcGNuYW1lLCBuc3Au bnNwbmFtZSBhcyBzY2hlbWEsCisgICAgcGdfZ2V0X3VzZXJieWlkKGMucmVs b3duZXIpIEFTIG93bmVyLCBkZXNjcmlwdGlvbiBBUyBjb21tZW50LAorICAg IHBnX2dldF92aWV3ZGVmKGMub2lkLCB0cnVlKSBBUyBkZWZpbml0aW9uLAor ICAgIHsjPT09PT09PT09PT09PUNoZWNrcyBpZiBpdCBpcyBzeXN0ZW0gdmll dz09PT09PT09PT09PT09PT0jfQorICAgIHslIGlmIHZpZCBhbmQgZGF0bGFz dHN5c29pZCAlfQorICAgIENBU0UgV0hFTiB7e3ZpZH19IDw9IHt7ZGF0bGFz dHN5c29pZH19IFRIRU4gVHJ1ZSBFTFNFIEZhbHNlIEVORCBBUyBzeXN0ZW1f dmlldywKKyAgICB7JSBlbmRpZiAlfQorICAgIHsjPT09PT09PT09PT09PUNo ZWNrcyBpZiBpdCBpcyBtYXRlcmlhbGl6ZWQgdmlldz09PT09PT09I30KKyAg ICBDQVNFIFdIRU4gYy5yZWxraW5kID0gJ20nIFRIRU4gVHJ1ZSBFTFNFIEZh bHNlIEVORCBBcyBtX3ZpZXcsCisgICAgKFNFTEVDVCBhcnJheV9hZ2cocHJv dmlkZXIgfHwgJz0nIHx8IGxhYmVsKSBGUk9NIHBnX3NlY2xhYmVscyBzbDEg V0hFUkUgc2wxLm9iam9pZD1jLm9pZCBBTkQgc2wxLm9ianN1YmlkPTApIEFT IHNlY2xhYmVscworICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyhj LnJlbG9wdGlvbnMsICcsJykgRlJPTSAnY2hlY2tfb3B0aW9uPShbYS16XSop JykgQVMgY2hlY2tfb3B0aW9uCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9f c3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdzZWN1cml0eV9iYXJy aWVyPShbYS16fDAtOV0qKScpIEFTIHNlY3VyaXR5X2JhcnJpZXIKKyAgICAs IHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcp IEZST00gJ2ZpbGxmYWN0b3I9KFswLTldKiknKSBBUyBmaWxsZmFjdG9yIAor ICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMs ICcsJykgRlJPTSAnYXV0b3ZhY3V1bV9lbmFibGVkPShbYS16fDAtOV0qKScp IEFTIGF1dG92YWN1dW1fZW5hYmxlZCAKKyAgICAsIHN1YnN0cmluZyhhcnJh eV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1 dW1fdmFjdXVtX3RocmVzaG9sZD0oWzAtOV0qKScpIEFTIGF1dG92YWN1dW1f dmFjdXVtX3RocmVzaG9sZCAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19z dHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fdmFj dXVtX3NjYWxlX2ZhY3Rvcj0oWzAtOV0qWy5dWzAtOV0qKScpIEFTIGF1dG92 YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3RvciAKKyAgICAsIHN1YnN0cmluZyhh cnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92 YWN1dW1fYW5hbHl6ZV90aHJlc2hvbGQ9KFswLTldKiknKSBBUyBhdXRvdmFj dXVtX2FuYWx5emVfdGhyZXNob2xkIAorICAgICwgc3Vic3RyaW5nKGFycmF5 X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1 bV9hbmFseXplX3NjYWxlX2ZhY3Rvcj0oWzAtOV0qWy5dWzAtOV0qKScpIEFT IGF1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3IgCisgICAgLCBzdWJz dHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9N ICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5PShbMC05XSopJykgQVMg YXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSAKKyAgICAsIHN1YnN0cmlu ZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1 dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQ9KFswLTldKiknKSBBUyBhdXRv dmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0IAorICAgICwgc3Vic3RyaW5nKGFy cmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3Zh Y3V1bV9mcmVlemVfbWluX2FnZT0oWzAtOV0qKScpIEFTIGF1dG92YWN1dW1f ZnJlZXplX21pbl9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3Ry aW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2ZyZWV6 ZV9tYXhfYWdlPShbMC05XSopJykgQVMgYXV0b3ZhY3V1bV9mcmVlemVfbWF4 X2FnZSAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxv cHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2Fn ZT0oWzAtOV0qKScpIEFTIGF1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSAK KyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlv bnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV9lbmFibGVkPShbYS16fDAtOV0q KScpIEFTIHRvYXN0X2F1dG92YWN1dW1fZW5hYmxlZCAKKyAgICAsIHN1YnN0 cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykgRlJP TSAnYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkPShbMC05XSopJykgQVMg dG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkIAorICAgICwgc3Vi c3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVsb3B0aW9ucywgJywnKSBG Uk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3I9KFswLTldKlsu XVswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9m YWN0b3IgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5y ZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fYW5hbHl6ZV90aHJl c2hvbGQ9KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2FuYWx5emVf dGhyZXNob2xkIAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0 c3QucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2FuYWx5emVf c2NhbGVfZmFjdG9yPShbMC05XSpbLl1bMC05XSopJykgQVMgdG9hc3RfYXV0 b3ZhY3V1bV9hbmFseXplX3NjYWxlX2ZhY3RvciAKKyAgICAsIHN1YnN0cmlu ZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykgRlJPTSAn YXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheT0oWzAtOV0qKScpIEFTIHRv YXN0X2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXkgCisgICAgLCBzdWJz dHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRpb25zLCAnLCcpIEZS T00gJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQ9KFswLTldKiknKSBB UyB0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0IAorICAgICwg c3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVsb3B0aW9ucywgJywn KSBGUk9NICdhdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlPShbMC05XSopJykg QVMgdG9hc3RfYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZSAKKyAgICAsIHN1 YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykg RlJPTSAnYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZT0oWzAtOV0qKScpIEFT IHRvYXN0X2F1dG92YWN1dW1fZnJlZXplX21heF9hZ2UgCisgICAgLCBzdWJz dHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRpb25zLCAnLCcpIEZS T00gJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZT0oWzAtOV0qKScpIEFT IHRvYXN0X2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSAKKyAgICAsIGMu cmVsb3B0aW9ucyBBUyByZWxvcHRpb25zLCB0c3QucmVsb3B0aW9ucyBBUyB0 b2FzdF9yZWxvcHRpb25zIAorICAgICwgKENBU0UgV0hFTiBjLnJlbHRvYXN0 cmVsaWQgPSAwIFRIRU4gZmFsc2UgRUxTRSB0cnVlIEVORCkgQVMgaGFzdG9h c3R0YWJsZQorRlJPTSBwZ19jbGFzcyBjCisgICAgTEVGVCBPVVRFUiBKT0lO IHBnX25hbWVzcGFjZSBuc3Agb24gbnNwLm9pZCA9IGMucmVsbmFtZXNwYWNl CisgICAgTEVGVCBPVVRFUiBKT0lOIHBnX3RhYmxlc3BhY2Ugc3BjIG9uIHNw Yy5vaWQ9Yy5yZWx0YWJsZXNwYWNlCisgICAgTEVGVCBPVVRFUiBKT0lOIHBn X2Rlc2NyaXB0aW9uIGRlcyBPTiAoZGVzLm9iam9pZD1jLm9pZCBhbmQgZGVz Lm9ianN1YmlkPTAgQU5EIGRlcy5jbGFzc29pZD0ncGdfY2xhc3MnOjpyZWdj bGFzcykKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfY2xhc3MgdHN0IE9OIHRz dC5vaWQgPSBjLnJlbHRvYXN0cmVsaWQKKyAgICAgICAgV0hFUkUgKChjLnJl bGhhc3J1bGVzIEFORCAoRVhJU1RTICgKKyAgICAgICAgICAgIFNFTEVDVCBy LnJ1bGVuYW1lIEZST00gcGdfcmV3cml0ZSByCisgICAgICAgICAgICAgICAg V0hFUkUgKChyLmV2X2NsYXNzID0gYy5vaWQpCisgICAgICAgICAgICAgICAg ICAgIEFORCAoYnBjaGFyKHIuZXZfdHlwZSkgPSAnMSc6OmJwY2hhcikpICkp KSBPUiAoYy5yZWxraW5kID0gJ3YnOjpjaGFyKSkKK3slIGlmICh2aWQgYW5k IGRhdGxhc3RzeXNvaWQpICV9CisgICAgICAgIEFORCBjLm9pZCA9IHt7dmlk fX06Om9pZCAKK3slIGVsaWYgc2NpZCAlfQorICAgICAgICBBTkQgYy5yZWxu YW1lc3BhY2UgPSB7e3NjaWR9fTo6b2lkIE9SREVSIEJZIGMucmVsbmFtZQor eyUgZW5kaWYgJX0KKworeyUgZWxpZiB0eXBlID09ICdyb2xlcycgJX0KK1NF TEVDVCBwci5yb2xuYW1lIEZST00gcGdfcm9sZXMgcHIgV0hFUkUgcHIucm9s Y2FubG9naW4gT1JERVIgQlkgcHIucm9sbmFtZQorCit7JSBlbGlmIHR5cGUg PT0gJ3NjaGVtYXMnICV9CitTRUxFQ1QgbnNwLm5zcG5hbWUKKyAgICBGUk9N IHBnX25hbWVzcGFjZSBuc3AKK1dIRVJFIChuc3AubnNwbmFtZSBOT1QgTElL RSBFJ3BnXFxfJScgCisgICAgQU5EIG5zcC5uc3BuYW1lICE9ICdpbmZvcm1h dGlvbl9zY2hlbWEnKQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvZWRiXzkuMV9w bHVzL3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0 ZXMvdmlld3Mvc3FsL2VkYl85LjFfcGx1cy91cGRhdGUuc3FsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyODZmZTAKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmll d3Mvc3FsL2VkYl85LjFfcGx1cy91cGRhdGUuc3FsCkBAIC0wLDAgKzEsODEg QEAKK3sjPT09PT09PT09PT09PT09PT09PT09PT09PT09PVVwZGF0ZSBWaWV3 PT09PT09PT09PT09PT09PT09PT09PT09PSN9Cit7JSBpbXBvcnQgJ21hY3Jv cy9zZWN1cml0eS5tYWNyb3MnIGFzIFNFQ0xBQkxFICV9Cit7JSBpbXBvcnQg J21hY3Jvcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KK3sl IGlmIGRhdGEgJX0KK3slIHNldCB2aWV3X25hbWUgPSBkYXRhLm5hbWUgaWYg ZGF0YS5uYW1lIGVsc2Ugb19kYXRhLm5hbWUgJX0KK3slIHNldCB2aWV3X3Nj aGVtYSA9IGRhdGEuc2NoZW1hIGlmIGRhdGEuc2NoZW1hIGVsc2Ugb19kYXRh LnNjaGVtYSAlfQoreyUgc2V0IGRlZiA9IGRhdGEuZGVmaW5pdGlvbi5yc3Ry aXAoJzsnKSBpZiBkYXRhLmRlZmluaXRpb24gJX0KK3slIGlmIGRhdGEubmFt ZSBhbmQgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9CitBTFRFUiBWSUVX IHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkg fX0KKyAgICBSRU5BTUUgVE8ge3sgY29ubnxxdElkZW50KGRhdGEubmFtZSkg fX07Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5zY2hlbWEgYW5kIGRhdGEu c2NoZW1hICE9IG9fZGF0YS5zY2hlbWEgJX0KK0FMVEVSIFZJRVcge3sgY29u bnxxdElkZW50KG9fZGF0YS5zY2hlbWEsIHZpZXdfbmFtZSApIH19CisgICAg U0VUIFNDSEVNQSB7eyBkYXRhLnNjaGVtYSB9fTsKK3slIGVuZGlmICV9Cit7 JSBpZiBkYXRhLm93bmVyIGFuZCBkYXRhLm93bmVyICE9IG9fZGF0YS5vd25l ciAlfQorQUxURVIgVEFCTEUge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1h LCB2aWV3X25hbWUpIH19CisgIE9XTkVSIFRPIHt7IGRhdGEub3duZXIgfX07 Cit7JSBlbmRpZiAlfQoreyUgaWYgZGVmIGFuZCBkZWYgIT0gb19kYXRhLmRl ZmluaXRpb24ucnN0cmlwKCc7JykgJX0KK0NSRUFURSBPUiBSRVBMQUNFIFZJ RVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19 IAoreyUgaWYgKGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29w dGlvbiAhPSBvX2RhdGEuY2hlY2tfb3B0aW9uKQorICAgIG9yIChkYXRhLnNl Y3VyaXR5X2JhcnJpZXIgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmllciAhPSBv X2RhdGEuc2VjdXJpdHlfYmFycmllcikgJX0KKyAgICBXSVRIICh7JSBpZiAo ZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uICE9ICdu bycpICV9Y2hlY2tfb3B0aW9uPXt7IGRhdGEuY2hlY2tfb3B0aW9uIH19eyUg ZW5kaWYgJX17eycsICcgaWYgZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEu Y2hlY2tfb3B0aW9uICE9ICdubycgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmll ciB9fXslIGlmIGRhdGEuc2VjdXJpdHlfYmFycmllciAlfXNlY3VyaXR5X2Jh cnJpZXI9e3sgZGF0YS5zZWN1cml0eV9iYXJyaWVyIH19eyUgZW5kaWYgJX0p Cit7JSBlbmRpZiAlfQorICAgIEFTe3sgZGVmIH19OworeyUgZWxzZSAlfQor eyUgaWYgKGRhdGEuc2VjdXJpdHlfYmFycmllciBhbmQgZGF0YS5zZWN1cml0 eV9iYXJyaWVyICE9ICBvX2RhdGEuc2VjdXJpdHlfYmFycmllcikgJX0KK0FM VEVSIFZJRVcge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25h bWUpIH19CisgICAgU0VUIChzZWN1cml0eV9iYXJyaWVyPXt7IGRhdGEuc2Vj dXJpdHlfYmFycmllciB9fSk7Cit7JSBlbmRpZiAlfQoreyUgaWYgKGRhdGEu Y2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSBvX2RhdGEu Y2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSAnbm8nKSAl fQorQUxURVIgVklFVyB7eyBjb25ufHF0SWRlbnQodmlld19zY2hlbWEsIHZp ZXdfbmFtZSkgfX0KKyAgICBTRVQgKGNoZWNrX29wdGlvbj17eyBkYXRhLmNo ZWNrX29wdGlvbiB9fSk7Cit7JSBlbGlmIChkYXRhLmNoZWNrX29wdGlvbiBh bmQgZGF0YS5jaGVja19vcHRpb24gIT0gb19kYXRhLmNoZWNrX29wdGlvbiBh bmQgZGF0YS5jaGVja19vcHRpb24gPT0gJ25vJykgJX0KK0FMVEVSIFZJRVcg e3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19IFJF U0VUIChjaGVja19vcHRpb24pOworeyUgZW5kaWYgJX0KK3slIGVuZGlmICV9 Cit7JSBpZiBkYXRhLmNvbW1lbnQgYW5kIGRhdGEuY29tbWVudCAhPSBvX2Rh dGEuY29tbWVudCAlfQorQ09NTUVOVCBPTiBWSUVXIHt7IGNvbm58cXRJZGVu dCh2aWV3X3NjaGVtYSwgdmlld19uYW1lKSB9fQorICAgIElTIHt7IGRhdGEu Y29tbWVudHxxdExpdGVyYWwgfX07Cit7JSBlbmRpZiAlfQoreyMgVGhlIFNR TCBnZW5lcmF0ZWQgYmVsb3cgd2lsbCBjaGFuZ2UgcHJpdmlsZWdlcyAjfQor eyUgaWYgZGF0YS5kYXRhY2wgJX0KK3slIGlmICdkZWxldGVkJyBpbiBkYXRh LmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wuZGVsZXRl ZCAlfQore3sgUFJJVklMRUdFLlJFU0VUQUxMKGNvbm4sICdUQUJMRScsIHBy aXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSkgfX0KK3slIGVu ZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdjaGFuZ2VkJyBpbiBkYXRh LmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wuY2hhbmdl ZCAlfQore3sgUFJJVklMRUdFLlJFU0VUQUxMKGNvbm4sICdUQUJMRScsIHBy aXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSkgfX0KK3t7IFBS SVZJTEVHRS5BUFBMWShjb25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUsIGRh dGEubmFtZSwgZGF0YS5zY2hlbWEsIHByaXYud2l0aG91dF9ncmFudCwgcHJp di53aXRoX2dyYW50KSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQor eyUgaWYgJ2FkZGVkJyBpbiBkYXRhLmRhdGFjbCAlfQoreyUgZm9yIHByaXYg aW4gZGF0YS5kYXRhY2wuYWRkZWQgJX0KK3t7IFBSSVZJTEVHRS5BUFBMWShj b25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5z Y2hlbWEsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50KSB9 fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KK3sj IFRoZSBTUUwgZ2VuZXJhdGVkIGJlbG93IHdpbGwgY2hhbmdlIFNlY3VyaXR5 IExhYmVsICN9Cit7JSBpZiBkYXRhLnNlY2xhYmVscyBpcyBub3Qgbm9uZSBh bmQgZGF0YS5zZWNsYWJlbHN8bGVuZ3RoID4gMCAlfQoreyUgc2V0IHNlY2xh YmVscyA9IGRhdGEuc2VjbGFiZWxzICV9Cit7JSBpZiAnZGVsZXRlZCcgaW4g c2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuZGVsZXRlZHxsZW5ndGggPiAwICV9 Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuZGVsZXRlZCAlfQore3sgU0VDTEFC TEUuRFJPUChjb25uLCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRlcikg fX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdhZGRlZCcg aW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuYWRkZWR8bGVuZ3RoID4gMCAl fQoreyUgZm9yIHIgaW4gc2VjbGFiZWxzLmFkZGVkICV9Cit7eyBTRUNMQUJM RS5BUFBMWShjb25uLCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRlciwg ci5zZWN1cml0eV9sYWJlbCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYg JX0KK3slIGlmICdjaGFuZ2VkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVs cy5jaGFuZ2VkfGxlbmd0aCA+IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVs cy5jaGFuZ2VkICV9Cit7eyBTRUNMQUJMRS5BUFBMWShjb25uLCAnVklFVycs IGRhdGEubmFtZSwgci5wcm92aWRlciwgci5zZWN1cml0eV9sYWJlbCkgfX0K K3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9Cit7JSBl bmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL3NxbC9lZGJfOS4xX3BsdXMvdmlld19pZC5zcWwgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsL2VkYl85 LjFfcGx1cy92aWV3X2lkLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi42NTY0OGMwCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9lZGJfOS4xX3Bs dXMvdmlld19pZC5zcWwKQEAgLTAsMCArMSw0IEBACit7Iz09QmVsb3cgd2ls bCBwcm92aWRlIHZpZXcgaWQgZm9yIGxhc3QgY3JlYXRlZCB2aWV3PT0jfQor eyUgaWYgZGF0YSAlfQorU0VMRUNUIGMub2lkIEZST00gcGdfY2xhc3MgYyBX SEVSRSBjLnJlbG5hbWUgPSAne3sgZGF0YS5uYW1lIH19JzsKK3slIGVuZGlm ICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0 ZXMvdmlld3Mvc3FsL3ByZV85LjEvYWNsLnNxbCBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvcHJlXzkuMS9hY2wuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NmIwY2IKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0 ZXMvdmlld3Mvc3FsL3ByZV85LjEvYWNsLnNxbApAQCAtMCwwICsxLDMwIEBA Cit7Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT1HZXQgQUNMcz09PT09 PT09PT09PT09PT09PT09PT09PT0jfQoreyUgaWYgdmlkICV9CitTRUxFQ1Qg J2RhdGFjbCcgYXMgZGVmdHlwZSwgQ09BTEVTQ0UoZ3Qucm9sbmFtZSwgJ3B1 YmxpYycpIGdyYW50ZWUsIGcucm9sbmFtZSBncmFudG9yLCBhcnJheV9hZ2co cHJpdmlsZWdlX3R5cGUpIGFzIHByaXZpbGVnZXMsIAorYXJyYXlfYWdnKGlz X2dyYW50YWJsZSkgYXMgZ3JhbnRhYmxlCitGUk9NCisgICAgKFNFTEVDVAor ICAgICAgICBkLmdyYW50ZWUsIGQuZ3JhbnRvciwgZC5pc19ncmFudGFibGUs CisgICAgICAgIENBU0UgZC5wcml2aWxlZ2VfdHlwZQorICAgICAgICBXSEVO ICdERUxFVEUnIFRIRU4gJ2QnIAorICAgICAgICBXSEVOICdJTlNFUlQnIFRI RU4gJ2EnIAorICAgICAgICBXSEVOICdSRUZFUkVOQ0VTJyBUSEVOICd4JyAK KyAgICAgICAgV0hFTiAnU0VMRUNUJyBUSEVOICdyJyAKKyAgICAgICAgV0hF TiAnVFJJR0dFUicgVEhFTiAndCcgCisgICAgICAgIFdIRU4gJ1VQREFURScg VEhFTiAndycgCisgICAgICAgIEVMU0UgJ1VOS05PV04nCisgICAgICAgIEVO RCBBUyBwcml2aWxlZ2VfdHlwZQorICAgIEZST00KKyAgICAgICAgKFNFTEVD VCByZWxhY2wgRlJPTSBwZ19jbGFzcyBjbCAgICAgICAgICAgIAorICAgICAg ICAgICAgTEVGVCBPVVRFUiBKT0lOIHBnX3NoZGVzY3JpcHRpb24gZGVzY3Ig T04gKAorICAgICAgICAgICAgY2wub2lkPWRlc2NyLm9iam9pZCBBTkQgZGVz Y3IuY2xhc3NvaWQ9J3BnX2NsYXNzJzo6cmVnY2xhc3MpCisgIFdIRVJFIGNs Lm9pZCA9IHt7IHZpZCB9fTo6T0lEIEFORCByZWxraW5kID0gJ3YnCisgICAg ICAgICkgYWNsLAorICAgICAgICAoU0VMRUNUIChkKS5ncmFudGVlIEFTIGdy YW50ZWUsIChkKS5ncmFudG9yIEFTIGdyYW50b3IsIChkKS5pc19ncmFudGFi bGUgQVMgaXNfZ3JhbnRhYmxlLAorICAgICAgICAgICAgKGQpLnByaXZpbGVn ZV90eXBlIEFTIHByaXZpbGVnZV90eXBlCisgICAgICAgIEZST00gKFNFTEVD VCBhY2xleHBsb2RlKHJlbGFjbCkgYXMgZCBGUk9NIHBnX2NsYXNzIGNsMSBX SEVSRSBjbDEub2lkID0ge3sgdmlkIH19OjpPSUQpIGEpIGQKKyAgICAgICAg KSBkCisgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfcm9sZXMgZyBPTiAo ZC5ncmFudG9yID0gZy5vaWQpCisgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cu cGdfcm9sZXMgZ3QgT04gKGQuZ3JhbnRlZSA9IGd0Lm9pZCkKK0dST1VQIEJZ IGcucm9sbmFtZSwgZ3Qucm9sbmFtZQoreyUgZW5kaWYgJX0KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwv cHJlXzkuMS9iYWNrZW5kX3N1cHBvcnQuc3FsIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9wcmVfOS4xL2JhY2tlbmRfc3Vw cG9ydC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u Y2Q0OTIyMwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Zp ZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvcHJlXzkuMS9iYWNrZW5kX3N1cHBv cnQuc3FsCkBAIC0wLDAgKzEsMTggQEAKK1NFTEVDVAorIENBU0UgV0hFTiBu c3AubnNwbmFtZSBJTiAoJ3N5cycsICdkYm8nLCAnaW5mb3JtYXRpb25fc2No ZW1hJykgVEhFTiB0cnVlIEVMU0UgZmFsc2UgRU5EIEFTIGRiU3VwcG9ydAor RlJPTSBwZ19uYW1lc3BhY2UgbnNwIAorV0hFUkUgbnNwLm9pZD17e3NjaWR9 fTo6aW50CitBTkQgKAorCShuc3BuYW1lID0gJ3BnX2NhdGFsb2cnIEFORCBF WElTVFMgCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTRUxF Q1QgMSBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAncGdfY2xhc3Mn IEFORCByZWxuYW1lc3BhY2UgPSBuc3Aub2lkIExJTUlUIDEpKSAKKwlPUiAo bnNwbmFtZSA9ICdwZ2FnZW50JyBBTkQgRVhJU1RTCisJICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChTRUxFQ1QgMSBGUk9NIHBnX2NsYXNzIFdI RVJFIHJlbG5hbWUgPSAncGdhX2pvYicgQU5EIHJlbG5hbWVzcGFjZSA9IG5z cC5vaWQgTElNSVQgMSkpIAorCU9SIChuc3BuYW1lID0gJ2luZm9ybWF0aW9u X3NjaGVtYScgQU5EIEVYSVNUUyAKKwkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFNFTEVDVCAxIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFt ZSA9ICd0YWJsZXMnIEFORCByZWxuYW1lc3BhY2UgPSBuc3Aub2lkIExJTUlU IDEpKSAKKwlPUiAobnNwbmFtZSBMSUtFICdfJScgQU5EIEVYSVNUUyAKKwkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNFTEVDVCAxIEZST00g cGdfcHJvYyBXSEVSRSBwcm9uYW1lPSdzbG9ueXZlcnNpb24nIEFORCBwcm9u YW1lc3BhY2UgPSBuc3Aub2lkIExJTUlUIDEpKQorKSAKK0FORCAKKyBuc3Bu YW1lIE5PVCBMSUtFIEUncGdcXHRlbXBcXCUnCitBTkQgCisgbnNwbmFtZSBO T1QgTElLRSBFJ3BnXFx0b2FzdF90ZW1wXFwlJwpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9wcmVfOS4x L2NyZWF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMv dmlld3Mvc3FsL3ByZV85LjEvY3JlYXRlLnNxbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5lYzk2NmIyCi0tLSAvZGV2L251bGwKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9w cmVfOS4xL2NyZWF0ZS5zcWwKQEAgLTAsMCArMSwyNSBAQAoreyM9PT09PT09 PT09PT09PT09PT09PT09PT09PT09Q3JlYXRlIG5ldyB2aWV3PT09PT09PT09 PT09PT09PT09PT09PT09PSN9Cit7JSBpZiBkaXNwbGF5X2NvbW1lbnRzICV9 CistLSBWaWV3OiB7eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEu bmFtZSkgfX0KKworLS0gRFJPUCBWSUVXIHt7IGNvbm58cXRJZGVudChkYXRh LnNjaGVtYSwgZGF0YS5uYW1lKSB9fTsKKworeyUgZW5kaWYgJX0KK3slIGlm IGRhdGEubmFtZSBhbmQgZGF0YS5zY2hlbWEgYW5kIGRhdGEuZGVmaW5pdGlv biAlfQorQ1JFQVRFIE9SIFJFUExBQ0UgVklFVyB7eyBjb25ufHF0SWRlbnQo ZGF0YS5zY2hlbWEsIGRhdGEubmFtZSkgfX0gCit7JSBpZiAoKGRhdGEuY2hl Y2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbi5sb3dlcigpICE9ICdu bycpIG9yIGRhdGEuc2VjdXJpdHlfYmFycmllcikgJX0KK1dJVEggKHslIGlm IGRhdGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbi5sb3dl cigpICE9ICdubycgJX0KK2NoZWNrX29wdGlvbj17eyBkYXRhLmNoZWNrX29w dGlvbiB9fXslIGVuZGlmICV9e3sgJywgJyBpZiBkYXRhLmNoZWNrX29wdGlv biBhbmQgCitkYXRhLmNoZWNrX29wdGlvbi5sb3dlcigpICE9ICdubycgYW5k IGRhdGEuc2VjdXJpdHlfYmFycmllciBlbHNlICcnIH19eyUgaWYgZGF0YS5z ZWN1cml0eV9iYXJyaWVyICV9CitzZWN1cml0eV9iYXJyaWVyPXt7IGRhdGEu c2VjdXJpdHlfYmFycmllciB9fXslIGVuZGlmICV9KXslIGVuZGlmICV9IEFT Cit7eyBkYXRhLmRlZmluaXRpb24ucnN0cmlwKCc7JykgfX07Cit7JSBpZiBk YXRhLm93bmVyICV9CisKK0FMVEVSIFRBQkxFIHt7IGNvbm58cXRJZGVudChk YXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fQorICBPV05FUiBUTyB7eyBkYXRh Lm93bmVyIH19OworeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuY29tbWVudCAl fQorQ09NTUVOVCBPTiBWSUVXIHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVt YSwgZGF0YS5uYW1lKSB9fQorICAgIElTIHt7IGRhdGEuY29tbWVudHxxdExp dGVyYWwgfX07Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwv cHJlXzkuMS9kZWxldGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL3NxbC9wcmVfOS4xL2RlbGV0ZS5zcWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZjNGUwMQotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9zcWwvcHJlXzkuMS9kZWxldGUuc3FsCkBAIC0wLDAgKzEsOSBAQAoreyM9 PT09PT09PT09PT09PT09PT09PT09PT09PT09RHJvcC9DYXNjYWRlIHZpZXcg YnkgbmFtZT09PT09PT09PT09PT09PT09PT09PT09PT0jfQoreyUgaWYgdmlk ICV9CitTRUxFQ1QgYy5yZWxuYW1lIEFzIG5hbWUsIG5zcC5uc3BuYW1lCisg ICAgRlJPTSBwZ19jbGFzcyBjCisgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFj ZSBuc3Agb24gYy5yZWxuYW1lc3BhY2UgPSBuc3Aub2lkCisgICAgV0hFUkUg Yy5yZWxmaWxlbm9kZSA9IHt7IHZpZCB9fTsKK3slIGVsaWYgKG5hbWUgYW5k IG5zcG5hbWUpICV9CitEUk9QIFZJRVcge3sgY29ubnxxdElkZW50KG5zcG5h bWUsIG5hbWUpIH19IHslIGlmIGNhc2NhZGUgJX0gQ0FTQ0FERSB7JSBlbmRp ZiAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvcHJlXzkuMS9ncmFudC5zcWwg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsL3By ZV85LjEvZ3JhbnQuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjlmYTcxODEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mvc3FsL3ByZV85LjEvZ3JhbnQu c3FsCkBAIC0wLDAgKzEsMTQgQEAKK3sjPT09PT1HcmFudCBQZXJtaXNzaW9u cyB0byBVc2VyIFJvbGUgb24gVmlld3MvVGFibGVzPT09PSN9Cit7JSBpbXBv cnQgJ21hY3Jvcy9zZWN1cml0eS5tYWNyb3MnIGFzIFNFQ0xBQkxFICV9Cit7 JSBpbXBvcnQgJ21hY3Jvcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxF R0UgJX0KK3sjIFdlIHdpbGwgZ2VuZXJhdGUgU2VjdXJpdHkgTGFiZWwgU1FM IHVzaW5nIG1hY3JvICN9Cit7JSBpZiBkYXRhLnNlY2xhYmVscyAlfQoreyUg Zm9yIHIgaW4gZGF0YS5zZWNsYWJlbHMgJX0KK3t7IFNFQ0xBQkxFLkFQUExZ KGNvbm4sICdWSUVXJywgZGF0YS5uYW1lLCByLnByb3ZpZGVyLCByLnNlY3Vy aXR5X2xhYmVsKSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUg aWYgZGF0YS5kYXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuZGF0YWNs ICV9Cit7eyBQUklWSUxFR0UuQVBQTFkoY29ubiwgJ1RBQkxFJywgcHJpdi5n cmFudGVlLCBkYXRhLm5hbWUsIGRhdGEuc2NoZW1hLCBwcml2LndpdGhvdXRf Z3JhbnQsIHByaXYud2l0aF9ncmFudCkgfX0KK3slIGVuZGZvciAlfQoreyUg ZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rl bXBsYXRlcy92aWV3cy9zcWwvcHJlXzkuMS9wcm9wZXJ0aWVzLnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvcHJlXzku MS9wcm9wZXJ0aWVzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi41NTJhZGY5Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9wcmVfOS4xL3Byb3Bl cnRpZXMuc3FsCkBAIC0wLDAgKzEsNjIgQEAKK3sjPT09PT09PT09PT09PT09 PT09PT09PT09PT09PUZldGNoIFZpZXcgUHJvcGVydGllcz09PT09PT09PT09 PT09PT09PT09PT09PT0jfQoreyUgaWYgKHZpZCBhbmQgZGF0bGFzdHN5c29p ZCkgb3Igc2NpZCAlfQorU0VMRUNUIGMub2lkLCBjLnhtaW4sIGMucmVsbmFt ZSBBUyBuYW1lLCBjLnJlbHRhYmxlc3BhY2UgQVMgc3Bjb2lkLAorICAgIGMu cmVsaXNwb3B1bGF0ZWQgQVMgaXNwb3B1bGF0ZWQsIHNwYy5zcGNuYW1lLCBu c3AubnNwbmFtZSBhcyBzY2hlbWEsCisgICAgcGdfZ2V0X3VzZXJieWlkKGMu cmVsb3duZXIpIEFTIG93bmVyLCBkZXNjcmlwdGlvbiBBUyBjb21tZW50LAor ICAgIHBnX2dldF92aWV3ZGVmKGMub2lkLCB0cnVlKSBBUyBkZWZpbml0aW9u LAorICAgIHsjPT09PT09PT09PT09PUNoZWNrcyBpZiBpdCBpcyBzeXN0ZW0g dmlldz09PT09PT09PT09PT09PT0jfQorICAgIHslIGlmIHZpZCBhbmQgZGF0 bGFzdHN5c29pZCAlfQorICAgIENBU0UgV0hFTiB7e3ZpZH19IDw9IHt7ZGF0 bGFzdHN5c29pZH19IFRIRU4gVHJ1ZSBFTFNFIEZhbHNlIEVORCBBUyBzeXN0 ZW1fdmlldywKKyAgICB7JSBlbmRpZiAlfQorICAgIHsjPT09PT09PT09PT09 PUNoZWNrcyBpZiBpdCBpcyBtYXRlcmlhbGl6ZWQgdmlldz09PT09PT09I30K KyAgICBDQVNFIFdIRU4gYy5yZWxraW5kID0gJ20nIFRIRU4gVHJ1ZSBFTFNF IEZhbHNlIEVORCBBcyBtX3ZpZXcsCisgICAgKFNFTEVDVCBhcnJheV9hZ2co cHJvdmlkZXIgfHwgJz0nIHx8IGxhYmVsKSBGUk9NIHBnX3NlY2xhYmVscyBz bDEgV0hFUkUgc2wxLm9iam9pZD1jLm9pZCBBTkQgc2wxLm9ianN1YmlkPTAp IEFTIHNlY2xhYmVscworICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmlu ZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAnY2hlY2tfb3B0aW9uPShbYS16 XSopJykgQVMgY2hlY2tfb3B0aW9uCisgICAgLCBzdWJzdHJpbmcoYXJyYXlf dG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdzZWN1cml0eV9i YXJyaWVyPShbYS16fDAtOV0qKScpIEFTIHNlY3VyaXR5X2JhcnJpZXIKKyAg ICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAn LCcpIEZST00gJ2ZpbGxmYWN0b3I9KFswLTldKiknKSBBUyBmaWxsZmFjdG9y IAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlv bnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV9lbmFibGVkPShbYS16fDAtOV0q KScpIEFTIGF1dG92YWN1dW1fZW5hYmxlZCAKKyAgICAsIHN1YnN0cmluZyhh cnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92 YWN1dW1fdmFjdXVtX3RocmVzaG9sZD0oWzAtOV0qKScpIEFTIGF1dG92YWN1 dW1fdmFjdXVtX3RocmVzaG9sZCAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90 b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1f dmFjdXVtX3NjYWxlX2ZhY3Rvcj0oWzAtOV0qWy5dWzAtOV0qKScpIEFTIGF1 dG92YWN1dW1fdmFjdXVtX3NjYWxlX2ZhY3RvciAKKyAgICAsIHN1YnN0cmlu ZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1 dG92YWN1dW1fYW5hbHl6ZV90aHJlc2hvbGQ9KFswLTldKiknKSBBUyBhdXRv dmFjdXVtX2FuYWx5emVfdGhyZXNob2xkIAorICAgICwgc3Vic3RyaW5nKGFy cmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0b3Zh Y3V1bV9hbmFseXplX3NjYWxlX2ZhY3Rvcj0oWzAtOV0qWy5dWzAtOV0qKScp IEFTIGF1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3IgCisgICAgLCBz dWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBG Uk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5PShbMC05XSopJykg QVMgYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSAKKyAgICAsIHN1YnN0 cmluZyhhcnJheV90b19zdHJpbmcoYy5yZWxvcHRpb25zLCAnLCcpIEZST00g J2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQ9KFswLTldKiknKSBBUyBh dXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0IAorICAgICwgc3Vic3RyaW5n KGFycmF5X3RvX3N0cmluZyhjLnJlbG9wdGlvbnMsICcsJykgRlJPTSAnYXV0 b3ZhY3V1bV9mcmVlemVfbWluX2FnZT0oWzAtOV0qKScpIEFTIGF1dG92YWN1 dW1fZnJlZXplX21pbl9hZ2UgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9f c3RyaW5nKGMucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2Zy ZWV6ZV9tYXhfYWdlPShbMC05XSopJykgQVMgYXV0b3ZhY3V1bV9mcmVlemVf bWF4X2FnZSAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcoYy5y ZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxl X2FnZT0oWzAtOV0qKScpIEFTIGF1dG92YWN1dW1fZnJlZXplX3RhYmxlX2Fn ZSAKKyAgICAsIHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9w dGlvbnMsICcsJykgRlJPTSAnYXV0b3ZhY3V1bV9lbmFibGVkPShbYS16fDAt OV0qKScpIEFTIHRvYXN0X2F1dG92YWN1dW1fZW5hYmxlZCAKKyAgICAsIHN1 YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykg RlJPTSAnYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkPShbMC05XSopJykg QVMgdG9hc3RfYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkIAorICAgICwg c3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVsb3B0aW9ucywgJywn KSBGUk9NICdhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3I9KFswLTld KlsuXVswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9zY2Fs ZV9mYWN0b3IgCisgICAgLCBzdWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRz dC5yZWxvcHRpb25zLCAnLCcpIEZST00gJ2F1dG92YWN1dW1fYW5hbHl6ZV90 aHJlc2hvbGQ9KFswLTldKiknKSBBUyB0b2FzdF9hdXRvdmFjdXVtX2FuYWx5 emVfdGhyZXNob2xkIAorICAgICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmlu Zyh0c3QucmVsb3B0aW9ucywgJywnKSBGUk9NICdhdXRvdmFjdXVtX2FuYWx5 emVfc2NhbGVfZmFjdG9yPShbMC05XSpbLl1bMC05XSopJykgQVMgdG9hc3Rf YXV0b3ZhY3V1bV9hbmFseXplX3NjYWxlX2ZhY3RvciAKKyAgICAsIHN1YnN0 cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcsJykgRlJP TSAnYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheT0oWzAtOV0qKScpIEFT IHRvYXN0X2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfZGVsYXkgCisgICAgLCBz dWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRpb25zLCAnLCcp IEZST00gJ2F1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQ9KFswLTldKikn KSBBUyB0b2FzdF9hdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0IAorICAg ICwgc3Vic3RyaW5nKGFycmF5X3RvX3N0cmluZyh0c3QucmVsb3B0aW9ucywg JywnKSBGUk9NICdhdXRvdmFjdXVtX2ZyZWV6ZV9taW5fYWdlPShbMC05XSop JykgQVMgdG9hc3RfYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZSAKKyAgICAs IHN1YnN0cmluZyhhcnJheV90b19zdHJpbmcodHN0LnJlbG9wdGlvbnMsICcs JykgRlJPTSAnYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZT0oWzAtOV0qKScp IEFTIHRvYXN0X2F1dG92YWN1dW1fZnJlZXplX21heF9hZ2UgCisgICAgLCBz dWJzdHJpbmcoYXJyYXlfdG9fc3RyaW5nKHRzdC5yZWxvcHRpb25zLCAnLCcp IEZST00gJ2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZT0oWzAtOV0qKScp IEFTIHRvYXN0X2F1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSAKKyAgICAs IGMucmVsb3B0aW9ucyBBUyByZWxvcHRpb25zLCB0c3QucmVsb3B0aW9ucyBB UyB0b2FzdF9yZWxvcHRpb25zIAorICAgICwgKENBU0UgV0hFTiBjLnJlbHRv YXN0cmVsaWQgPSAwIFRIRU4gZmFsc2UgRUxTRSB0cnVlIEVORCkgQVMgaGFz dG9hc3R0YWJsZQorRlJPTSBwZ19jbGFzcyBjCisgICAgTEVGVCBPVVRFUiBK T0lOIHBnX25hbWVzcGFjZSBuc3Agb24gbnNwLm9pZCA9IGMucmVsbmFtZXNw YWNlCisgICAgTEVGVCBPVVRFUiBKT0lOIHBnX3RhYmxlc3BhY2Ugc3BjIG9u IHNwYy5vaWQ9Yy5yZWx0YWJsZXNwYWNlCisgICAgTEVGVCBPVVRFUiBKT0lO IHBnX2Rlc2NyaXB0aW9uIGRlcyBPTiAoZGVzLm9iam9pZD1jLm9pZCBhbmQg ZGVzLm9ianN1YmlkPTAgQU5EIGRlcy5jbGFzc29pZD0ncGdfY2xhc3MnOjpy ZWdjbGFzcykKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfY2xhc3MgdHN0IE9O IHRzdC5vaWQgPSBjLnJlbHRvYXN0cmVsaWQKKyAgICAgICAgV0hFUkUgKChj LnJlbGhhc3J1bGVzIEFORCAoRVhJU1RTICgKKyAgICAgICAgICAgIFNFTEVD VCByLnJ1bGVuYW1lIEZST00gcGdfcmV3cml0ZSByCisgICAgICAgICAgICAg ICAgV0hFUkUgKChyLmV2X2NsYXNzID0gYy5vaWQpCisgICAgICAgICAgICAg ICAgICAgIEFORCAoYnBjaGFyKHIuZXZfdHlwZSkgPSAnMSc6OmJwY2hhcikp ICkpKSBPUiAoYy5yZWxraW5kID0gJ3YnOjpjaGFyKSkKK3slIGlmICh2aWQg YW5kIGRhdGxhc3RzeXNvaWQpICV9CisgICAgICAgIEFORCBjLm9pZCA9IHt7 dmlkfX06Om9pZCAKK3slIGVsaWYgc2NpZCAlfQorICAgICAgICBBTkQgYy5y ZWxuYW1lc3BhY2UgPSB7e3NjaWR9fTo6b2lkIE9SREVSIEJZIGMucmVsbmFt ZQoreyUgZW5kaWYgJX0KKworeyUgZWxpZiB0eXBlID09ICdyb2xlcycgJX0K K1NFTEVDVCBwci5yb2xuYW1lIEZST00gcGdfcm9sZXMgcHIgV0hFUkUgcHIu cm9sY2FubG9naW4gT1JERVIgQlkgcHIucm9sbmFtZQorCit7JSBlbGlmIHR5 cGUgPT0gJ3NjaGVtYXMnICV9CitTRUxFQ1QgbnNwLm5zcG5hbWUKKyAgICBG Uk9NIHBnX25hbWVzcGFjZSBuc3AKK1dIRVJFIChuc3AubnNwbmFtZSBOT1Qg TElLRSBFJ3BnXFxfJScgCisgICAgQU5EIG5zcC5uc3BuYW1lICE9ICdpbmZv cm1hdGlvbl9zY2hlbWEnKQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwvcHJlXzku MS91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVz L3ZpZXdzL3NxbC9wcmVfOS4xL3VwZGF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uZTI4NmZlMAotLS0gL2Rldi9udWxsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9zcWwv cHJlXzkuMS91cGRhdGUuc3FsCkBAIC0wLDAgKzEsODEgQEAKK3sjPT09PT09 PT09PT09PT09PT09PT09PT09PT09PVVwZGF0ZSBWaWV3PT09PT09PT09PT09 PT09PT09PT09PT09PSN9Cit7JSBpbXBvcnQgJ21hY3Jvcy9zZWN1cml0eS5t YWNyb3MnIGFzIFNFQ0xBQkxFICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9wcml2 aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KK3slIGlmIGRhdGEgJX0K K3slIHNldCB2aWV3X25hbWUgPSBkYXRhLm5hbWUgaWYgZGF0YS5uYW1lIGVs c2Ugb19kYXRhLm5hbWUgJX0KK3slIHNldCB2aWV3X3NjaGVtYSA9IGRhdGEu c2NoZW1hIGlmIGRhdGEuc2NoZW1hIGVsc2Ugb19kYXRhLnNjaGVtYSAlfQor eyUgc2V0IGRlZiA9IGRhdGEuZGVmaW5pdGlvbi5yc3RyaXAoJzsnKSBpZiBk YXRhLmRlZmluaXRpb24gJX0KK3slIGlmIGRhdGEubmFtZSBhbmQgZGF0YS5u YW1lICE9IG9fZGF0YS5uYW1lICV9CitBTFRFUiBWSUVXIHt7IGNvbm58cXRJ ZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkgfX0KKyAgICBSRU5B TUUgVE8ge3sgY29ubnxxdElkZW50KGRhdGEubmFtZSkgfX07Cit7JSBlbmRp ZiAlfQoreyUgaWYgZGF0YS5zY2hlbWEgYW5kIGRhdGEuc2NoZW1hICE9IG9f ZGF0YS5zY2hlbWEgJX0KK0FMVEVSIFZJRVcge3sgY29ubnxxdElkZW50KG9f ZGF0YS5zY2hlbWEsIHZpZXdfbmFtZSApIH19CisgICAgU0VUIFNDSEVNQSB7 eyBkYXRhLnNjaGVtYSB9fTsKK3slIGVuZGlmICV9Cit7JSBpZiBkYXRhLm93 bmVyIGFuZCBkYXRhLm93bmVyICE9IG9fZGF0YS5vd25lciAlfQorQUxURVIg VEFCTEUge3sgY29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUp IH19CisgIE9XTkVSIFRPIHt7IGRhdGEub3duZXIgfX07Cit7JSBlbmRpZiAl fQoreyUgaWYgZGVmIGFuZCBkZWYgIT0gb19kYXRhLmRlZmluaXRpb24ucnN0 cmlwKCc7JykgJX0KK0NSRUFURSBPUiBSRVBMQUNFIFZJRVcge3sgY29ubnxx dElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19IAoreyUgaWYgKGRh dGEuY2hlY2tfb3B0aW9uIGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSBvX2Rh dGEuY2hlY2tfb3B0aW9uKQorICAgIG9yIChkYXRhLnNlY3VyaXR5X2JhcnJp ZXIgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmllciAhPSBvX2RhdGEuc2VjdXJp dHlfYmFycmllcikgJX0KKyAgICBXSVRIICh7JSBpZiAoZGF0YS5jaGVja19v cHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9uICE9ICdubycpICV9Y2hlY2tf b3B0aW9uPXt7IGRhdGEuY2hlY2tfb3B0aW9uIH19eyUgZW5kaWYgJX17eycs ICcgaWYgZGF0YS5jaGVja19vcHRpb24gYW5kIGRhdGEuY2hlY2tfb3B0aW9u ICE9ICdubycgYW5kIGRhdGEuc2VjdXJpdHlfYmFycmllciB9fXslIGlmIGRh dGEuc2VjdXJpdHlfYmFycmllciAlfXNlY3VyaXR5X2JhcnJpZXI9e3sgZGF0 YS5zZWN1cml0eV9iYXJyaWVyIH19eyUgZW5kaWYgJX0pCit7JSBlbmRpZiAl fQorICAgIEFTe3sgZGVmIH19OworeyUgZWxzZSAlfQoreyUgaWYgKGRhdGEu c2VjdXJpdHlfYmFycmllciBhbmQgZGF0YS5zZWN1cml0eV9iYXJyaWVyICE9 ICBvX2RhdGEuc2VjdXJpdHlfYmFycmllcikgJX0KK0FMVEVSIFZJRVcge3sg Y29ubnxxdElkZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19CisgICAg U0VUIChzZWN1cml0eV9iYXJyaWVyPXt7IGRhdGEuc2VjdXJpdHlfYmFycmll ciB9fSk7Cit7JSBlbmRpZiAlfQoreyUgaWYgKGRhdGEuY2hlY2tfb3B0aW9u IGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSBvX2RhdGEuY2hlY2tfb3B0aW9u IGFuZCBkYXRhLmNoZWNrX29wdGlvbiAhPSAnbm8nKSAlfQorQUxURVIgVklF VyB7eyBjb25ufHF0SWRlbnQodmlld19zY2hlbWEsIHZpZXdfbmFtZSkgfX0K KyAgICBTRVQgKGNoZWNrX29wdGlvbj17eyBkYXRhLmNoZWNrX29wdGlvbiB9 fSk7Cit7JSBlbGlmIChkYXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVj a19vcHRpb24gIT0gb19kYXRhLmNoZWNrX29wdGlvbiBhbmQgZGF0YS5jaGVj a19vcHRpb24gPT0gJ25vJykgJX0KK0FMVEVSIFZJRVcge3sgY29ubnxxdElk ZW50KHZpZXdfc2NoZW1hLCB2aWV3X25hbWUpIH19IFJFU0VUIChjaGVja19v cHRpb24pOworeyUgZW5kaWYgJX0KK3slIGVuZGlmICV9Cit7JSBpZiBkYXRh LmNvbW1lbnQgYW5kIGRhdGEuY29tbWVudCAhPSBvX2RhdGEuY29tbWVudCAl fQorQ09NTUVOVCBPTiBWSUVXIHt7IGNvbm58cXRJZGVudCh2aWV3X3NjaGVt YSwgdmlld19uYW1lKSB9fQorICAgIElTIHt7IGRhdGEuY29tbWVudHxxdExp dGVyYWwgfX07Cit7JSBlbmRpZiAlfQoreyMgVGhlIFNRTCBnZW5lcmF0ZWQg YmVsb3cgd2lsbCBjaGFuZ2UgcHJpdmlsZWdlcyAjfQoreyUgaWYgZGF0YS5k YXRhY2wgJX0KK3slIGlmICdkZWxldGVkJyBpbiBkYXRhLmRhdGFjbCAlfQor eyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wuZGVsZXRlZCAlfQore3sgUFJJ VklMRUdFLlJFU0VUQUxMKGNvbm4sICdUQUJMRScsIHByaXYuZ3JhbnRlZSwg ZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSkgfX0KK3slIGVuZGZvciAlfQoreyUg ZW5kaWYgJX0KK3slIGlmICdjaGFuZ2VkJyBpbiBkYXRhLmRhdGFjbCAlfQor eyUgZm9yIHByaXYgaW4gZGF0YS5kYXRhY2wuY2hhbmdlZCAlfQore3sgUFJJ VklMRUdFLlJFU0VUQUxMKGNvbm4sICdUQUJMRScsIHByaXYuZ3JhbnRlZSwg ZGF0YS5uYW1lLCBkYXRhLnNjaGVtYSkgfX0KK3t7IFBSSVZJTEVHRS5BUFBM WShjb25uLCAnVEFCTEUnLCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0 YS5zY2hlbWEsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50 KSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgJ2FkZGVk JyBpbiBkYXRhLmRhdGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5kYXRh Y2wuYWRkZWQgJX0KK3t7IFBSSVZJTEVHRS5BUFBMWShjb25uLCAnVEFCTEUn LCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgZGF0YS5zY2hlbWEsIHByaXYu d2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50KSB9fQoreyUgZW5kZm9y ICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KK3sjIFRoZSBTUUwgZ2Vu ZXJhdGVkIGJlbG93IHdpbGwgY2hhbmdlIFNlY3VyaXR5IExhYmVsICN9Cit7 JSBpZiBkYXRhLnNlY2xhYmVscyBpcyBub3Qgbm9uZSBhbmQgZGF0YS5zZWNs YWJlbHN8bGVuZ3RoID4gMCAlfQoreyUgc2V0IHNlY2xhYmVscyA9IGRhdGEu c2VjbGFiZWxzICV9Cit7JSBpZiAnZGVsZXRlZCcgaW4gc2VjbGFiZWxzIGFu ZCBzZWNsYWJlbHMuZGVsZXRlZHxsZW5ndGggPiAwICV9Cit7JSBmb3IgciBp biBzZWNsYWJlbHMuZGVsZXRlZCAlfQore3sgU0VDTEFCTEUuRFJPUChjb25u LCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRlcikgfX0KK3slIGVuZGZv ciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdhZGRlZCcgaW4gc2VjbGFiZWxz IGFuZCBzZWNsYWJlbHMuYWRkZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9yIHIg aW4gc2VjbGFiZWxzLmFkZGVkICV9Cit7eyBTRUNMQUJMRS5BUFBMWShjb25u LCAnVklFVycsIGRhdGEubmFtZSwgci5wcm92aWRlciwgci5zZWN1cml0eV9s YWJlbCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdj aGFuZ2VkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVscy5jaGFuZ2VkfGxl bmd0aCA+IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVscy5jaGFuZ2VkICV9 Cit7eyBTRUNMQUJMRS5BUFBMWShjb25uLCAnVklFVycsIGRhdGEubmFtZSwg ci5wcm92aWRlciwgci5zZWN1cml0eV9sYWJlbCkgfX0KK3slIGVuZGZvciAl fQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdz L3NxbC9wcmVfOS4xL3ZpZXdfaWQuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVtcGxhdGVzL3ZpZXdzL3NxbC9wcmVfOS4xL3ZpZXdfaWQuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NjQ4YzAKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0 ZXMvdmlld3Mvc3FsL3ByZV85LjEvdmlld19pZC5zcWwKQEAgLTAsMCArMSw0 IEBACit7Iz09QmVsb3cgd2lsbCBwcm92aWRlIHZpZXcgaWQgZm9yIGxhc3Qg Y3JlYXRlZCB2aWV3PT0jfQoreyUgaWYgZGF0YSAlfQorU0VMRUNUIGMub2lk IEZST00gcGdfY2xhc3MgYyBXSEVSRSBjLnJlbG5hbWUgPSAne3sgZGF0YS5u YW1lIH19JzsKK3slIGVuZGlmICV9Cg== --001a11443a3a10a9ad052ac550f5 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 --001a11443a3a10a9ad052ac550f5--