Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b8lvM-0006TX-Os for pgadmin-hackers@arkaria.postgresql.org; Fri, 03 Jun 2016 10:01:53 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b8lvM-0005di-7j for pgadmin-hackers@arkaria.postgresql.org; Fri, 03 Jun 2016 10:01:52 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b8lv8-0005Pt-94 for pgadmin-hackers@postgresql.org; Fri, 03 Jun 2016 10:01:38 +0000 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b8lv5-0007Ul-GY for pgadmin-hackers@postgresql.org; Fri, 03 Jun 2016 10:01:37 +0000 Received: by mail-wm0-x22f.google.com with SMTP id z87so8766556wmh.1 for ; Fri, 03 Jun 2016 03:01:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=ArdMoWxioQ3CbjeuhaHx/x7F/L1/C7vPUkEgzntxYHQ=; b=mRZfxgpGJvYX+st3kBakix19XV+hOuk23g3UsHQiyJ2OPPIP1MZcIMC5C1TMXFQUzL WjKdcnxuANQTFQwouE+VLruO+anXnkFgHOFTTWu2+r78rA2rSbETZ3FcAFqT5wtwgeZ2 1VvW2Xbkic/UJ8UfuR5l4e/mVBZZcvYP/y3+r62uws0ygx55w7+8ZkhpkZmjDiwTfs3h CjrD5YFcc4xWIRV1cyaYX2Ng4B0GW/n410jEUsDxT7asVGb32PTfojxtlvjphiyN38q2 jwTHb5zekLfokZLqaZchT3EV+y6FaKdfqQt7jNMwfVgq7CdbfGwUmyCUSTCxqvHNwrHh i32g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=ArdMoWxioQ3CbjeuhaHx/x7F/L1/C7vPUkEgzntxYHQ=; b=B3wtYsPnl1w+SuYfA+JxA9rKxb6smK832zXFRtZXnnscUzJjELUClZRcDivmofj4H/ 3e07VdbK3qmKAVXUesPHKhy4z7/E7AUf6Rd6wr623EOBDAhPZuLvsOOlNchi1SDfMcj5 I7t2vBhTgELL4Msqv/387RPK69h7ZHW6MxEur3X3WMYtY8AV1aS50f02JrZ0O5j3aMKe GVUjY4NReo6iJq/QycMGVZDEVP4b7E/iWeXNnEdy/4nyzm7n7tl8a3XzgdJcAF/g+Enn Z+HOmFhA/CYTIOrj0L+tNyfY6imm0NBDo57VPs6B6n79ZBDnmLT5arNb6E0jubkpTPnL IVDA== X-Gm-Message-State: ALyK8tJpRCXjW6a84J0zG/AKwOmAa/UDLpNW9OZpMAw+VIhtG/y2sF7IS/QE2JMlD2CpPZTfbvTgmDAGgVDg1RXx X-Received: by 10.194.133.98 with SMTP id pb2mr2596425wjb.144.1464948093026; Fri, 03 Jun 2016 03:01:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.24.70 with HTTP; Fri, 3 Jun 2016 03:01:03 -0700 (PDT) In-Reply-To: References: From: Surinder Kumar Date: Fri, 3 Jun 2016 15:31:03 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch]: RM#1293 - SQL pane is not displaying GRANT queries in Function, Procedure and Trigger node To: pgadmin-hackers Content-Type: multipart/mixed; boundary=047d7b86e646b3935405345cce1e 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 --047d7b86e646b3935405345cce1e Content-Type: multipart/alternative; boundary=047d7b86e646b3934f05345cce1c --047d7b86e646b3934f05345cce1c Content-Type: text/plain; charset=UTF-8 Hi, Please find attached patch for: 1. RM#1293 - SQL pane is not displaying GRANT queries in functions node 2. RM#1294 - Comments are not visible in sql pane for trigger functions and functions Explanation: Previously we we using 'get_defintion.sql' template to generate SQL for SQL pane for functions, procedure & trigger functions node. but GRANT statements and COMMENTS changes were missing. In order to fix that, now we have used both 'create.sql' and 'get_definition.sql' templates to generate full SQL query for SQL pane. Please review. On Thu, Jun 2, 2016 at 7:32 PM, Surinder Kumar < surinder.kumar@enterprisedb.com> wrote: > Please ignore this patch. I will send another patch. > > On Thu, Jun 2, 2016 at 7:25 PM, Surinder Kumar < > surinder.kumar@enterprisedb.com> wrote: > >> Hi, >> >> Please find attached patch for RM#1293. >> Add support to display GRANT privilege query in SQL Pane. >> >> Please review. >> >> Thanks, >> Surinder Kumar >> > > --047d7b86e646b3934f05345cce1c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Please find attached patch for:
1. RM#1293 -=C2=A0SQL pane is not displaying GRANT queries in functi= ons node
2. RM#1294 -=C2=A0Comments are not visible in sql pane f= or trigger functions and functions

Explanation:
Previously we we using 'get_defintion.sql' template to gene= rate SQL for SQL pane for functions, procedure & trigger functions node= .
but GRANT statements and COMMENTS changes were missing. In orde= r to fix that, now we have used both 'create.sql' and 'get_defi= nition.sql' templates to generate full SQL query
for SQL pane= .

Please review.

On Thu, Jun 2, 2016 at 7:32 PM, Surinde= r Kumar <surinder.kumar@enterprisedb.com> wrot= e:
Please ignore this pa= tch. I will send another patch.

On Thu, Jun 2, = 2016 at 7:25 PM, Surinder Kumar <surinder.kumar@enterprisedb= .com> wrote:
Hi,

Please find attached patch for RM#1293.
Add support to display GRANT privilege query in SQL Pane.

Please review.

Thanks,
Surinder= Kumar


--047d7b86e646b3934f05345cce1c-- --047d7b86e646b3935405345cce1e Content-Type: application/octet-stream; name="fix_for_RM#1293_and_RM#1294.patch" Content-Disposition: attachment; filename="fix_for_RM#1293_and_RM#1294.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iozk9f440 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9fX2luaXRfXy5weQpp bmRleCA5OWNmOTRhLi4xZTBlYmRjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZnVuY3Rpb25zL19faW5pdF9fLnB5CkBAIC04ODYsMjggKzg4Niw3MSBA QCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlcik6CiAgICAgICAgICAgICBzY2lkOiBTY2hlbWEgSWQKICAgICAg ICAgICAgIGZuaWQ6IEZ1bmN0aW9uIElkCiAgICAgICAgICIiIgorICAgICAg ICByZXNwX2RhdGEgPSBzZWxmLl9mZXRjaF9wcm9wZXJ0aWVzKGdpZCwgc2lk LCBkaWQsIHNjaWQsIGZuaWQpCisgICAgICAgICMgRmV0Y2ggdGhlIGZ1bmN0 aW9uIGRlZmluaXRpb24uCisgICAgICAgIGFyZ3MgPSAnJworICAgICAgICBj bnQgPSAxCisgICAgICAgIGlmICdhcmd1bWVudHMnIGluIHJlc3BfZGF0YToK KyAgICAgICAgICAgIGZvciBhIGluIHJlc3BfZGF0YVsnYXJndW1lbnRzJ106 CisgICAgICAgICAgICAgICAgaWYgKCgnYXJnbW9kZScgaW4gYSBhbmQgYVsn YXJnbW9kZSddICE9ICdPVVQnIGFuZAorICAgICAgICAgICAgICAgICAgICBh Wydhcmdtb2RlJ10gaXMgbm90IE5vbmUKKyAgICAgICAgICAgICAgICAgICAg ICApIG9yICdhcmdub2RlJyBub3QgaW4gYSk6CisgICAgICAgICAgICAgICAg ICAgIGlmICdhcmdtb2RlJyBpbiBhOgorICAgICAgICAgICAgICAgICAgICAg ICAgYXJncyArPSBhWydhcmdtb2RlJ10gKyAiICIKKyAgICAgICAgICAgICAg ICAgICAgaWYgJ2FyZ25hbWUnIGluIGEgYW5kIGFbJ2FyZ25hbWUnXSAhPSAn J1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYVsnYXJnbmFt ZSddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgYXJn cyArPSBzZWxmLnF0SWRlbnQoCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5jb25uLCBhWydhcmduYW1lJ10pICsgIiAiCisgICAgICAgICAg ICAgICAgICAgIGlmICdhcmd0eXBlJyBpbiBhOgorICAgICAgICAgICAgICAg ICAgICAgICAgYXJncyArPSBhWydhcmd0eXBlJ10KKyAgICAgICAgICAgICAg ICAgICAgaWYgY250IDwgbGVuKHJlc3BfZGF0YVsnYXJndW1lbnRzJ10pOgor ICAgICAgICAgICAgICAgICAgICAgICAgYXJncyArPSAnLCAnCisgICAgICAg ICAgICAgICAgY250ICs9IDEKKworICAgICAgICByZXNwX2RhdGFbJ2Z1bmNf YXJncyddID0gYXJncy5zdHJpcCgnICcpCgogICAgICAgICBpZiBzZWxmLm5v ZGVfdHlwZSA9PSAncHJvY2VkdXJlJzoKICAgICAgICAgICAgIG9iamVjdF90 eXBlID0gJ3Byb2NlZHVyZScKLSAgICAgICAgICAgIHJlc3BfZGF0YSA9IHNl bGYuX2ZldGNoX3Byb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm5p ZCkKCiAgICAgICAgICAgICAjIEdldCBTUUwgdG8gY3JlYXRlIEZ1bmN0aW9u Ci0gICAgICAgICAgICBzdGF0dXMsIGZ1bmNfZGVmID0gc2VsZi5fZ2V0X3Nx bChnaWQsIHNpZCwgZGlkLCBzY2lkLCByZXNwX2RhdGEsCisgICAgICAgICAg ICBzdGF0dXMsIGZ1bmNfZGVmaW50aW9uID0gc2VsZi5fZ2V0X3NxbChnaWQs IHNpZCwgZGlkLCBzY2lkLCByZXNwX2RhdGEsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLCBUcnVlKQogICAg ICAgICAgICAgaWYgbm90IHN0YXR1czoKLSAgICAgICAgICAgICAgICByZXR1 cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPWZ1bmNfZGVmKQor ICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9ZnVuY19kZWZpbnRpb24pCgogICAgICAgICAgICAgbmFtZSA9 IHJlc3BfZGF0YVsncHJvbmFtZXNwYWNlJ10gKyAiLiIgKyByZXNwX2RhdGFb J25hbWVfd2l0aF9hcmdzJ10KKworICAgICAgICAgICAgIyBDcmVhdGUgbW9k ZQorICAgICAgICAgICAgZnVuY19kZWYgPSByZW5kZXJfdGVtcGxhdGUoIi8i LmpvaW4oW3NlbGYuc3FsX3RlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRlLnNx bCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGE9cmVzcF9kYXRhLCBxdWVyeV90eXBlPSJjcmVhdGUiKQogICAgICAg ICBlbHNlOgogICAgICAgICAgICAgb2JqZWN0X3R5cGUgPSAnZnVuY3Rpb24n Ci0gICAgICAgICAgICAjIEZldGNoIHRoZSBmdW5jdGlvbiBkZWZpbml0aW9u LgotICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2lu KFtzZWxmLnNxbF90ZW1wbGF0ZV9wYXRoLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdnZXRfZGVmaW5pdGlvbi5zcWwnXSksIGZuaWQ9 Zm5pZCwgc2NpZD1zY2lkKQotICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBz ZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KFNRTCkKKworICAgICAgICAgICAg IyBHZXQgU2NoZW1hIE5hbWUgZnJvbSBpdHMgT0lELgorICAgICAgICAgICAg aWYgJ3Byb25hbWVzcGFjZScgaW4gcmVzcF9kYXRhOgorICAgICAgICAgICAg ICAgIHJlc3BfZGF0YVsncHJvbmFtZXNwYWNlJ10gPSBzZWxmLl9nZXRfc2No ZW1hKHJlc3BfZGF0YVsKKyAgICAgICAgICAgICAgICAgICAgJ3Byb25hbWVz cGFjZSddKQorCisgICAgICAgICAgICAjIFBhcnNlIHByaXZpbGVnZSBkYXRh CisgICAgICAgICAgICBpZiAnYWNsJyBpbiByZXNwX2RhdGE6CisgICAgICAg ICAgICAgICAgcmVzcF9kYXRhWydhY2wnXSA9IHBhcnNlX3ByaXZfdG9fZGIo cmVzcF9kYXRhWydhY2wnXSwgWydYJ10pCisKKyAgICAgICAgICAgICMgQ3Jl YXRlIG1vZGUKKyAgICAgICAgICAgIFNRTF9kZWYgPSByZW5kZXJfdGVtcGxh dGUoIi8iLmpvaW4oW3NlbGYuc3FsX3RlbXBsYXRlX3BhdGgsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0 X2RlZmluaXRpb24uc3FsJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKSwgZGF0YT1yZXNwX2RhdGEsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZuaWQ9Zm5pZCwg c2NpZD1zY2lkKQorCisgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYu Y29ubi5leGVjdXRlXzJkYXJyYXkoU1FMX2RlZikKICAgICAgICAgICAgIGlm IG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCgotICAgICAgICAgICAgZnVu Y19kZWYsIG5hbWUgPSByZXNbJ3Jvd3MnXVswXQorICAgICAgICAgICAgZnVu Y19kZWZpbml0aW9uLCBuYW1lID0gcmVzWydyb3dzJ11bMF0KKyAgICAgICAg ICAgICMgQ3JlYXRlIG1vZGUKKyAgICAgICAgICAgIGZ1bmNfZGVmID0gcmVu ZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnNxbF90ZW1wbGF0ZV9wYXRo LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnY3JlYXRlLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkYXRhPXJlc3BfZGF0YSwgcXVlcnlfdHlwZT0iY3JlYXRlIikK CiAgICAgICAgIHNxbF9oZWFkZXIgPSAiIiItLSB7MH06IHsxfQoKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVu Y3Rpb24vcGcvc3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BnL3NxbC85LjFf cGx1cy9jcmVhdGUuc3FsCmluZGV4IGI5OGZjNmQuLmUxZGE2NDMgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVu Y3Rpb24vcGcvc3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlvbi9wZy9zcWwv OS4xX3BsdXMvY3JlYXRlLnNxbApAQCAtMywyMiArMywzNSBAQAogeyUgaW1w b3J0ICdtYWNyb3MvZnVuY3Rpb25zL3ZhcmlhYmxlLm1hY3JvcycgYXMgVkFS SUFCTEUgJX0KIHslIHNldCBpc19jb2x1bW5zID0gW10gJX0KIHslIGlmIGRh dGEgJX0KLUNSRUFURSBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQoZGF0YS5w cm9uYW1lc3BhY2UsIGRhdGEubmFtZSkgfX0oeyUgaWYgZGF0YS5hcmdzICV9 Ci17JSBmb3IgcCBpbiBkYXRhLmFyZ3MgJX17JSBpZiBwLmFyZ21vZGUgJX17 e3AuYXJnbW9kZX19IHslIGVuZGlmICV9eyUgaWYgcC5hcmduYW1lICV9e3sg Y29ubnxxdElkZW50KHAuYXJnbmFtZSl9fSB7JSBlbmRpZiAlfXslIGlmIHAu YXJndHlwZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ3R5cGUpIH19eyUgZW5k aWYgJX17JSBpZiBwLmFyZ2RlZnZhbCAlfSBERUZBVUxUIHt7cC5hcmdkZWZ2 YWx9fXslIGVuZGlmICV9CitDUkVBVEV7JSBpZiBxdWVyeV90eXBlIGlzIGRl ZmluZWQgJX17eycgT1IgUkVQTEFDRSd9fXslIGVuZGlmICV9IEZVTkNUSU9O IHt7IGNvbm58cXRJZGVudChkYXRhLnByb25hbWVzcGFjZSwgZGF0YS5uYW1l KSB9fSh7JSBpZiBkYXRhCisuYXJncyAlfQoreyUgZm9yIHAgaW4gZGF0YS5h cmdzICV9eyUgaWYgcC5hcmdtb2RlICV9e3twLmFyZ21vZGV9fSB7JSBlbmRp ZiAlfXslIGlmIHAuYXJnbmFtZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ25h bWUpfX17JSBlbmRpZiAlfXslIGlmIHAuYXJndHlwZSAlfXt7IGNvbm58cXRJ ZGVudChwLmFyZ3R5cGUpIH19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ2RlZnZh bCAlfSBERUZBVUxUIHt7cC5hcmdkZWZ2YWx9fXslIGVuZGlmICV9CiB7JSBp ZiBub3QgbG9vcC5sYXN0ICV9LHslIGVuZGlmICV9CiB7JSBlbmRmb3IgJX0K IHslIGVuZGlmIC0lfQotICAgICkKK3slIGlmIGRhdGEuZnVuY19hcmdzICV9 Cit7JSBzZXQgZnVuY19hcmdzID0gZGF0YS5mdW5jX2FyZ3Muc3BsaXQoJywn KSAlfQorCit7JSBmb3IgZiBpbiBmdW5jX2FyZ3MgJX0KKyAgICB7eyBmfHRy aW0gfX17JSBpZiBub3QgbG9vcC5sYXN0ICV9LAoreyUgZW5kaWYgJX0KK3sl IGVuZGZvciAlfQorCit7JSBlbmRpZiAlfQorKQogICAgIFJFVFVSTlN7JSBp ZiBkYXRhLnByb3JldHNldCAlfSBTRVRPRnslIGVuZGlmICV9IHt7IGNvbm58 cXRUeXBlSWRlbnQoZGF0YS5wcm9yZXR0eXBlbmFtZSkgfX0KICAgICBMQU5H VUFHRSB7eyBkYXRhLmxhbm5hbWV8cXRMaXRlcmFsIH19Ci0gICAgeyUgaWYg ZGF0YS5wcm92b2xhdGlsZSAlfXt7IGRhdGEucHJvdm9sYXRpbGUgfX0geyUg ZW5kaWYgJX17JSBpZiBkYXRhLnByb2lzc3RyaWN0ICV9U1RSSUNUIHslIGVu ZGlmICV9eyUgaWYgZGF0YS5wcm9zZWNkZWYgJX1TRUNVUklUWSBERUZJTkVS IHslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3sl IGVuZGlmIC0lfXslIGlmIGRhdGEucHJvY29zdCAlfQotCi0gICAgQ09TVCB7 e2RhdGEucHJvY29zdH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3Jvd3Mg JX0KK3slIGlmIGRhdGEucHJvY29zdCAlfQorICAgIENPU1Qge3tkYXRhLnBy b2Nvc3R9fQoreyUgZW5kaWYgJX0KK3slIGlmIHF1ZXJ5X3R5cGUgIT0gJ2Ny ZWF0ZScgJX0KKyAgICB7JSBpZiBkYXRhLnByb3ZvbGF0aWxlICV9e3sgZGF0 YS5wcm92b2xhdGlsZSB9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvaXNz dHJpY3QgJX1TVFJJQ1QgeyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3NlY2Rl ZiAlfVNFQ1VSSVRZIERFRklORVIgeyUgZW5kaWYgJX17JSBpZiBkYXRhLnBy b2lzd2luZG93ICV9V0lORE9XeyUgZW5kaWYgLSV9Cit7JSBpZiBkYXRhLnBy b3Jvd3MgJX0KCiAgICAgUk9XUyB7e2RhdGEucHJvcm93c319eyUgZW5kaWYg LSV9eyUgaWYgZGF0YS52YXJpYWJsZXMgJX17JSBmb3IgdiBpbiBkYXRhLnZh cmlhYmxlcyAlfQoKICAgICBTRVQge3sgY29ubnxxdElkZW50KHYubmFtZSkg fX09e3sgdi52YWx1ZXxxdExpdGVyYWwgfX17JSBlbmRmb3IgJX0KLXslIGVu ZGlmICV9Cit7JSBlbmRpZiAlfXslIGVuZGlmICV9CgogQVMgeyUgaWYgZGF0 YS5sYW5uYW1lID09ICdjJyAlfQoge3sgZGF0YS5wcm9iaW58cXRMaXRlcmFs IH19LCB7eyBkYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9fQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlv bi9wZy9zcWwvOS4yX3BsdXMvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24vcGcvc3FsLzkuMl9wbHVz L2NyZWF0ZS5zcWwKaW5kZXggNTU2MDJiZC4uNDI4ODVlYSAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlv bi9wZy9zcWwvOS4yX3BsdXMvY3JlYXRlLnNxbAorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BnL3NxbC85LjJf cGx1cy9jcmVhdGUuc3FsCkBAIC0xLDI3ICsxLDQwIEBACi17JSBpbXBvcnQg J21hY3Jvcy9mdW5jdGlvbnMvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNMQUJM RSAlfQoreyUgaW1wb3J0ICdtYWNyb3MvZnVuY3Rpb25zL3NlY3VyaXR5Lm1h Y3JvcycgYXMgU0VDTEFCRUwgJX0KIHslIGltcG9ydCAnbWFjcm9zL2Z1bmN0 aW9ucy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KIHslIGlt cG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy92YXJpYWJsZS5tYWNyb3MnIGFzIFZB UklBQkxFICV9CiB7JSBzZXQgaXNfY29sdW1ucyA9IFtdICV9CiB7JSBpZiBk YXRhICV9Ci1DUkVBVEUgRlVOQ1RJT04ge3sgY29ubnxxdElkZW50KGRhdGEu cHJvbmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19KHslIGlmIGRhdGEuYXJncyAl fQoteyUgZm9yIHAgaW4gZGF0YS5hcmdzICV9eyUgaWYgcC5hcmdtb2RlICV9 e3twLmFyZ21vZGV9fSB7JSBlbmRpZiAlfXslIGlmIHAuYXJnbmFtZSAlfXt7 IGNvbm58cXRJZGVudChwLmFyZ25hbWUpfX0geyUgZW5kaWYgJX17JSBpZiBw LmFyZ3R5cGUgJX17eyBjb25ufHF0SWRlbnQocC5hcmd0eXBlKSB9fXslIGVu ZGlmICV9eyUgaWYgcC5hcmdkZWZ2YWwgJX0gREVGQVVMVCB7e3AuYXJnZGVm dmFsfX17JSBlbmRpZiAlfQorQ1JFQVRFeyUgaWYgcXVlcnlfdHlwZSBpcyBk ZWZpbmVkICV9e3snIE9SIFJFUExBQ0UnfX17JSBlbmRpZiAlfSBGVU5DVElP TiB7eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3BhY2UsIGRhdGEubmFt ZSkgfX0oeyUgaWYgZGF0YQorLmFyZ3MgJX0KK3slIGZvciBwIGluIGRhdGEu YXJncyAlfXslIGlmIHAuYXJnbW9kZSAlfXt7cC5hcmdtb2RlfX0geyUgZW5k aWYgJX17JSBpZiBwLmFyZ25hbWUgJX17eyBjb25ufHF0SWRlbnQocC5hcmdu YW1lKX19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ3R5cGUgJX17eyBjb25ufHF0 SWRlbnQocC5hcmd0eXBlKSB9fXslIGVuZGlmICV9eyUgaWYgcC5hcmdkZWZ2 YWwgJX0gREVGQVVMVCB7e3AuYXJnZGVmdmFsfX17JSBlbmRpZiAlfQogeyUg aWYgbm90IGxvb3AubGFzdCAlfSx7JSBlbmRpZiAlfQogeyUgZW5kZm9yICV9 CiB7JSBlbmRpZiAtJX0KLSAgICApCit7JSBpZiBkYXRhLmZ1bmNfYXJncyAl fQoreyUgc2V0IGZ1bmNfYXJncyA9IGRhdGEuZnVuY19hcmdzLnNwbGl0KCcs JykgJX0KKworeyUgZm9yIGYgaW4gZnVuY19hcmdzICV9CisgICAge3sgZnx0 cmltIH19eyUgaWYgbm90IGxvb3AubGFzdCAlfSwKK3slIGVuZGlmICV9Cit7 JSBlbmRmb3IgJX0KKworeyUgZW5kaWYgJX0KKykKICAgICBSRVRVUk5TeyUg aWYgZGF0YS5wcm9yZXRzZXQgJX0gU0VUT0Z7JSBlbmRpZiAlfSB7eyBjb25u fHF0VHlwZUlkZW50KGRhdGEucHJvcmV0dHlwZW5hbWUpIH19CiAgICAgTEFO R1VBR0Uge3sgZGF0YS5sYW5uYW1lfHF0TGl0ZXJhbCB9fQoreyUgaWYgZGF0 YS5wcm9jb3N0ICV9CisgICAgQ09TVCB7e2RhdGEucHJvY29zdH19Cit7JSBl bmRpZiAlfQoreyUgaWYgcXVlcnlfdHlwZSAhPSAnY3JlYXRlJyAlfQogICAg IHslIGlmIGRhdGEucHJvdm9sYXRpbGUgJX17eyBkYXRhLnByb3ZvbGF0aWxl IH19IHslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9sZWFrcHJvb2YgJX1MRUFL UFJPT0YgeyUgZWxzZSAlfU5PVCBMRUFLUFJPT0YgeyUgZW5kaWYgJX0KIHsl IGlmIGRhdGEucHJvaXNzdHJpY3QgJX1TVFJJQ1QgeyUgZW5kaWYgJX0KIHsl IGlmIGRhdGEucHJvc2VjZGVmICV9U0VDVVJJVFkgREVGSU5FUiB7JSBlbmRp ZiAlfQoteyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVuZGlm ICV9eyUgaWYgZGF0YS5wcm9jb3N0ICV9Ci0KLSAgICBDT1NUIHt7ZGF0YS5w cm9jb3N0fX17JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvcm93cyAlfQoreyUg aWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVuZGlmICV9Cit7JSBp ZiBkYXRhLnByb3Jvd3MgJX0KCiAgICAgUk9XUyB7e2RhdGEucHJvcm93c319 eyUgZW5kaWYgLSV9eyUgaWYgZGF0YS52YXJpYWJsZXMgJX17JSBmb3IgdiBp biBkYXRhLnZhcmlhYmxlcyAlfQoKICAgICBTRVQge3sgY29ubnxxdElkZW50 KHYubmFtZSkgfX09e3sgdi52YWx1ZXxxdExpdGVyYWwgfX17JSBlbmRmb3Ig JX0KLXslIGVuZGlmICV9Cit7JSBlbmRpZiAlfXslIGVuZGlmICV9CgogQVMg eyUgaWYgZGF0YS5sYW5uYW1lID09ICdjJyAlfQoge3sgZGF0YS5wcm9iaW58 cXRMaXRlcmFsIH19LCB7eyBkYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9fQpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRl cy9mdW5jdGlvbi9wZy9zcWwvOS41X3BsdXMvY3JlYXRlLnNxbCBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24vcGcvc3Fs LzkuNV9wbHVzL2NyZWF0ZS5zcWwKaW5kZXggYmFjNmI3ZS4uYTBlMTg3YyAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRl cy9mdW5jdGlvbi9wZy9zcWwvOS41X3BsdXMvY3JlYXRlLnNxbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3Bn L3NxbC85LjVfcGx1cy9jcmVhdGUuc3FsCkBAIC0zLDI2ICszLDM4IEBACiB7 JSBpbXBvcnQgJ21hY3Jvcy9mdW5jdGlvbnMvdmFyaWFibGUubWFjcm9zJyBh cyBWQVJJQUJMRSAlfQogeyUgc2V0IGlzX2NvbHVtbnMgPSBbXSAlfQogeyUg aWYgZGF0YSAlfQotQ1JFQVRFIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChk YXRhLnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fSh7JSBpZiBkYXRhCitD UkVBVEV7JSBpZiBxdWVyeV90eXBlIGlzIGRlZmluZWQgJX17eycgT1IgUkVQ TEFDRSd9fXslIGVuZGlmICV9IEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChk YXRhLnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fSh7JSBpZiBkYXRhCiAu YXJncyAlfQogeyUgZm9yIHAgaW4gZGF0YS5hcmdzICV9eyUgaWYgcC5hcmdt b2RlICV9e3twLmFyZ21vZGV9fSB7JSBlbmRpZiAlfXslIGlmIHAuYXJnbmFt ZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ25hbWUpfX17JSBlbmRpZiAlfXsl IGlmIHAuYXJndHlwZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ3R5cGUpIH19 eyUgZW5kaWYgJX17JSBpZiBwLmFyZ2RlZnZhbCAlfSBERUZBVUxUIHt7cC5h cmdkZWZ2YWx9fXslIGVuZGlmICV9CiB7JSBpZiBub3QgbG9vcC5sYXN0ICV9 LHslIGVuZGlmICV9CiB7JSBlbmRmb3IgJX0KIHslIGVuZGlmIC0lfQotICAg ICkKK3slIGlmIGRhdGEuZnVuY19hcmdzICV9Cit7JSBzZXQgZnVuY19hcmdz ID0gZGF0YS5mdW5jX2FyZ3Muc3BsaXQoJywnKSAlfQorCit7JSBmb3IgZiBp biBmdW5jX2FyZ3MgJX0KKyAgICB7eyBmfHRyaW0gfX17JSBpZiBub3QgbG9v cC5sYXN0ICV9LAoreyUgZW5kaWYgJX0KK3slIGVuZGZvciAlfQorCit7JSBl bmRpZiAlfQorKQogICAgIFJFVFVSTlN7JSBpZiBkYXRhLnByb3JldHNldCAl fSBTRVRPRnslIGVuZGlmICV9IHt7IGNvbm58cXRUeXBlSWRlbnQoZGF0YS5w cm9yZXR0eXBlbmFtZSkgfX0KICAgICBMQU5HVUFHRSB7eyBkYXRhLmxhbm5h bWV8cXRMaXRlcmFsIH19Cit7JSBpZiBkYXRhLnByb2Nvc3QgJX0KKyAgICBD T1NUIHt7ZGF0YS5wcm9jb3N0fX0KK3slIGVuZGlmICV9Cit7JSBpZiBxdWVy eV90eXBlICE9ICdjcmVhdGUnICV9CiAgICAgeyUgaWYgZGF0YS5wcm92b2xh dGlsZSAlfXt7IGRhdGEucHJvdm9sYXRpbGUgfX0geyUgZW5kaWYgJX17JSBp ZiBkYXRhLnByb2xlYWtwcm9vZiAlfUxFQUtQUk9PRiB7JSBlbHNlICV9Tk9U IExFQUtQUk9PRiB7JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5wcm9pc3N0cmlj dCAlfVNUUklDVCB7JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5wcm9zZWNkZWYg JX1TRUNVUklUWSBERUZJTkVSIHslIGVuZGlmICV9Ci17JSBpZiBkYXRhLnBy b2lzd2luZG93ICV9V0lORE9XeyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb2Nv c3QgJX0KLQotICAgIENPU1Qge3tkYXRhLnByb2Nvc3R9fXslIGVuZGlmICV9 eyUgaWYgZGF0YS5wcm9yb3dzICV9Cit7JSBpZiBkYXRhLnByb2lzd2luZG93 ICV9V0lORE9XeyUgZW5kaWYgJX0KKyAgICB7JSBpZiBkYXRhLnByb3Jvd3Mg JX0KCiAgICAgUk9XUyB7e2RhdGEucHJvcm93c319eyUgZW5kaWYgLSV9eyUg aWYgZGF0YS52YXJpYWJsZXMgJX17JSBmb3IgdiBpbiBkYXRhLnZhcmlhYmxl cyAlfQoKICAgICBTRVQge3sgY29ubnxxdElkZW50KHYubmFtZSkgfX09e3sg di52YWx1ZXxxdExpdGVyYWwgfX17JSBlbmRmb3IgJX0KLXslIGVuZGlmICV9 Cit7JSBlbmRpZiAlfXslIGVuZGlmICV9CgogQVMgeyUgaWYgZGF0YS5sYW5u YW1lID09ICdjJyAlfQoge3sgZGF0YS5wcm9iaW58cXRMaXRlcmFsIH19LCB7 eyBkYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9fQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlvbi9wcGFz L3NxbC85LjFfcGx1cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVu Y3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlvbi9wcGFzL3NxbC85LjFfcGx1cy9j cmVhdGUuc3FsCmluZGV4IGI5OGZjNmQuLmUxZGE2NDMgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24v cHBhcy9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbAorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BwYXMvc3FsLzku MV9wbHVzL2NyZWF0ZS5zcWwKQEAgLTMsMjIgKzMsMzUgQEAKIHslIGltcG9y dCAnbWFjcm9zL2Z1bmN0aW9ucy92YXJpYWJsZS5tYWNyb3MnIGFzIFZBUklB QkxFICV9CiB7JSBzZXQgaXNfY29sdW1ucyA9IFtdICV9CiB7JSBpZiBkYXRh ICV9Ci1DUkVBVEUgRlVOQ1RJT04ge3sgY29ubnxxdElkZW50KGRhdGEucHJv bmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19KHslIGlmIGRhdGEuYXJncyAlfQot eyUgZm9yIHAgaW4gZGF0YS5hcmdzICV9eyUgaWYgcC5hcmdtb2RlICV9e3tw LmFyZ21vZGV9fSB7JSBlbmRpZiAlfXslIGlmIHAuYXJnbmFtZSAlfXt7IGNv bm58cXRJZGVudChwLmFyZ25hbWUpfX0geyUgZW5kaWYgJX17JSBpZiBwLmFy Z3R5cGUgJX17eyBjb25ufHF0SWRlbnQocC5hcmd0eXBlKSB9fXslIGVuZGlm ICV9eyUgaWYgcC5hcmdkZWZ2YWwgJX0gREVGQVVMVCB7e3AuYXJnZGVmdmFs fX17JSBlbmRpZiAlfQorQ1JFQVRFeyUgaWYgcXVlcnlfdHlwZSBpcyBkZWZp bmVkICV9e3snIE9SIFJFUExBQ0UnfX17JSBlbmRpZiAlfSBGVU5DVElPTiB7 eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3BhY2UsIGRhdGEubmFtZSkg fX0oeyUgaWYgZGF0YQorLmFyZ3MgJX0KK3slIGZvciBwIGluIGRhdGEuYXJn cyAlfXslIGlmIHAuYXJnbW9kZSAlfXt7cC5hcmdtb2RlfX0geyUgZW5kaWYg JX17JSBpZiBwLmFyZ25hbWUgJX17eyBjb25ufHF0SWRlbnQocC5hcmduYW1l KX19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ3R5cGUgJX17eyBjb25ufHF0SWRl bnQocC5hcmd0eXBlKSB9fXslIGVuZGlmICV9eyUgaWYgcC5hcmdkZWZ2YWwg JX0gREVGQVVMVCB7e3AuYXJnZGVmdmFsfX17JSBlbmRpZiAlfQogeyUgaWYg bm90IGxvb3AubGFzdCAlfSx7JSBlbmRpZiAlfQogeyUgZW5kZm9yICV9CiB7 JSBlbmRpZiAtJX0KLSAgICApCit7JSBpZiBkYXRhLmZ1bmNfYXJncyAlfQor eyUgc2V0IGZ1bmNfYXJncyA9IGRhdGEuZnVuY19hcmdzLnNwbGl0KCcsJykg JX0KKworeyUgZm9yIGYgaW4gZnVuY19hcmdzICV9CisgICAge3sgZnx0cmlt IH19eyUgaWYgbm90IGxvb3AubGFzdCAlfSwKK3slIGVuZGlmICV9Cit7JSBl bmRmb3IgJX0KKworeyUgZW5kaWYgJX0KKykKICAgICBSRVRVUk5TeyUgaWYg ZGF0YS5wcm9yZXRzZXQgJX0gU0VUT0Z7JSBlbmRpZiAlfSB7eyBjb25ufHF0 VHlwZUlkZW50KGRhdGEucHJvcmV0dHlwZW5hbWUpIH19CiAgICAgTEFOR1VB R0Uge3sgZGF0YS5sYW5uYW1lfHF0TGl0ZXJhbCB9fQotICAgIHslIGlmIGRh dGEucHJvdm9sYXRpbGUgJX17eyBkYXRhLnByb3ZvbGF0aWxlIH19IHslIGVu ZGlmICV9eyUgaWYgZGF0YS5wcm9pc3N0cmljdCAlfVNUUklDVCB7JSBlbmRp ZiAlfXslIGlmIGRhdGEucHJvc2VjZGVmICV9U0VDVVJJVFkgREVGSU5FUiB7 JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvaXN3aW5kb3cgJX1XSU5ET1d7JSBl bmRpZiAtJX17JSBpZiBkYXRhLnByb2Nvc3QgJX0KLQotICAgIENPU1Qge3tk YXRhLnByb2Nvc3R9fXslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9yb3dzICV9 Cit7JSBpZiBkYXRhLnByb2Nvc3QgJX0KKyAgICBDT1NUIHt7ZGF0YS5wcm9j b3N0fX0KK3slIGVuZGlmICV9Cit7JSBpZiBxdWVyeV90eXBlICE9ICdjcmVh dGUnICV9CisgICAgeyUgaWYgZGF0YS5wcm92b2xhdGlsZSAlfXt7IGRhdGEu cHJvdm9sYXRpbGUgfX0geyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb2lzc3Ry aWN0ICV9U1RSSUNUIHslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9zZWNkZWYg JX1TRUNVUklUWSBERUZJTkVSIHslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9p c3dpbmRvdyAlfVdJTkRPV3slIGVuZGlmIC0lfQoreyUgaWYgZGF0YS5wcm9y b3dzICV9CgogICAgIFJPV1Mge3tkYXRhLnByb3Jvd3N9fXslIGVuZGlmIC0l fXslIGlmIGRhdGEudmFyaWFibGVzICV9eyUgZm9yIHYgaW4gZGF0YS52YXJp YWJsZXMgJX0KCiAgICAgU0VUIHt7IGNvbm58cXRJZGVudCh2Lm5hbWUpIH19 PXt7IHYudmFsdWV8cXRMaXRlcmFsIH19eyUgZW5kZm9yICV9Ci17JSBlbmRp ZiAlfQoreyUgZW5kaWYgJX17JSBlbmRpZiAlfQoKIEFTIHslIGlmIGRhdGEu bGFubmFtZSA9PSAnYycgJX0KIHt7IGRhdGEucHJvYmlufHF0TGl0ZXJhbCB9 fSwge3sgZGF0YS5wcm9zcmNfY3xxdExpdGVyYWwgfX0KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24v cHBhcy9zcWwvOS4yX3BsdXMvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24vcHBhcy9zcWwvOS4yX3Bs dXMvY3JlYXRlLnNxbAppbmRleCA3MzdkZTBkLi5mMGNkYmRlIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0 aW9uL3BwYXMvc3FsLzkuMl9wbHVzL2NyZWF0ZS5zcWwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlvbi9wcGFzL3Nx bC85LjJfcGx1cy9jcmVhdGUuc3FsCkBAIC0zLDI1ICszLDM4IEBACiB7JSBp bXBvcnQgJ21hY3Jvcy9mdW5jdGlvbnMvdmFyaWFibGUubWFjcm9zJyBhcyBW QVJJQUJMRSAlfQogeyUgc2V0IGlzX2NvbHVtbnMgPSBbXSAlfQogeyUgaWYg ZGF0YSAlfQotQ1JFQVRFIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChkYXRh LnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fSh7JSBpZiBkYXRhLmFyZ3Mg JX0KLXslIGZvciBwIGluIGRhdGEuYXJncyAlfXslIGlmIHAuYXJnbW9kZSAl fXt7cC5hcmdtb2RlfX0geyUgZW5kaWYgJX17JSBpZiBwLmFyZ25hbWUgJX17 eyBjb25ufHF0SWRlbnQocC5hcmduYW1lKX19IHslIGVuZGlmICV9eyUgaWYg cC5hcmd0eXBlICV9e3sgY29ubnxxdElkZW50KHAuYXJndHlwZSkgfX17JSBl bmRpZiAlfXslIGlmIHAuYXJnZGVmdmFsICV9IERFRkFVTFQge3twLmFyZ2Rl ZnZhbH19eyUgZW5kaWYgJX0KK0NSRUFURXslIGlmIHF1ZXJ5X3R5cGUgaXMg ZGVmaW5lZCAlfXt7JyBPUiBSRVBMQUNFJ319eyUgZW5kaWYgJX0gRlVOQ1RJ T04ge3sgY29ubnxxdElkZW50KGRhdGEucHJvbmFtZXNwYWNlLCBkYXRhLm5h bWUpIH19KHslIGlmIGRhdGEKKy5hcmdzICV9Cit7JSBmb3IgcCBpbiBkYXRh LmFyZ3MgJX17JSBpZiBwLmFyZ21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVu ZGlmICV9eyUgaWYgcC5hcmduYW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJn bmFtZSl9fXslIGVuZGlmICV9eyUgaWYgcC5hcmd0eXBlICV9e3sgY29ubnxx dElkZW50KHAuYXJndHlwZSkgfX17JSBlbmRpZiAlfXslIGlmIHAuYXJnZGVm dmFsICV9IERFRkFVTFQge3twLmFyZ2RlZnZhbH19eyUgZW5kaWYgJX0KIHsl IGlmIG5vdCBsb29wLmxhc3QgJX0seyUgZW5kaWYgJX0KIHslIGVuZGZvciAl fQogeyUgZW5kaWYgLSV9Ci0gICAgKQoreyUgaWYgZGF0YS5mdW5jX2FyZ3Mg JX0KK3slIHNldCBmdW5jX2FyZ3MgPSBkYXRhLmZ1bmNfYXJncy5zcGxpdCgn LCcpICV9CisKK3slIGZvciBmIGluIGZ1bmNfYXJncyAlfQorICAgIHt7IGZ8 dHJpbSB9fXslIGlmIG5vdCBsb29wLmxhc3QgJX0sCit7JSBlbmRpZiAlfQor eyUgZW5kZm9yICV9CisKK3slIGVuZGlmICV9CispCiAgICAgUkVUVVJOU3sl IGlmIGRhdGEucHJvcmV0c2V0ICV9IFNFVE9GeyUgZW5kaWYgJX0ge3sgY29u bnxxdFR5cGVJZGVudChkYXRhLnByb3JldHR5cGVuYW1lKSB9fQogICAgIExB TkdVQUdFIHt7IGRhdGEubGFubmFtZXxxdExpdGVyYWwgfX0KK3slIGlmIGRh dGEucHJvY29zdCAlfQorICAgIENPU1Qge3tkYXRhLnByb2Nvc3R9fQoreyUg ZW5kaWYgJX0KK3slIGlmIHF1ZXJ5X3R5cGUgIT0gJ2NyZWF0ZScgJX0KICAg ICB7JSBpZiBkYXRhLnByb3ZvbGF0aWxlICV9e3sgZGF0YS5wcm92b2xhdGls ZSB9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvbGVha3Byb29mICV9IExF QUtQUk9PRiB7JSBlbHNlICV9IE5PVCBMRUFLUFJPT0YgeyUgZW5kaWYgJX0K IHslIGlmIGRhdGEucHJvaXNzdHJpY3QgJX1TVFJJQ1QgeyUgZW5kaWYgJX0K IHslIGlmIGRhdGEucHJvc2VjZGVmICV9U0VDVVJJVFkgREVGSU5FUiB7JSBl bmRpZiAlfQoteyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVu ZGlmICV9eyUgaWYgZGF0YS5wcm9jb3N0ICV9Ci0KLSAgICBDT1NUIHt7ZGF0 YS5wcm9jb3N0fX17JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvcm93cyAlfQor eyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVuZGlmICV9Cit7 JSBpZiBkYXRhLnByb3Jvd3MgJX0KCiAgICAgUk9XUyB7e2RhdGEucHJvcm93 c319eyUgZW5kaWYgLSV9eyUgaWYgZGF0YS52YXJpYWJsZXMgJX17JSBmb3Ig diBpbiBkYXRhLnZhcmlhYmxlcyAlfQoKICAgICBTRVQge3sgY29ubnxxdElk ZW50KHYubmFtZSkgfX09e3sgdi52YWx1ZXxxdExpdGVyYWwgfX17JSBlbmRm b3IgJX0KLXslIGVuZGlmICV9Cit7JSBlbmRpZiAlfXslIGVuZGlmICV9Cgog QVMgeyUgaWYgZGF0YS5sYW5uYW1lID09ICdjJyAlfQoge3sgZGF0YS5wcm9i aW58cXRMaXRlcmFsIH19LCB7eyBkYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9 fQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBs YXRlcy9mdW5jdGlvbi9wcGFzL3NxbC85LjVfcGx1cy9jcmVhdGUuc3FsIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlvbi9w cGFzL3NxbC85LjVfcGx1cy9jcmVhdGUuc3FsCmluZGV4IGJhYzZiN2UuLmRk YTdhZDcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90 ZW1wbGF0ZXMvZnVuY3Rpb24vcHBhcy9zcWwvOS41X3BsdXMvY3JlYXRlLnNx bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1 bmN0aW9uL3BwYXMvc3FsLzkuNV9wbHVzL2NyZWF0ZS5zcWwKQEAgLTMsMjYg KzMsMzggQEAKIHslIGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy92YXJpYWJs ZS5tYWNyb3MnIGFzIFZBUklBQkxFICV9CiB7JSBzZXQgaXNfY29sdW1ucyA9 IFtdICV9CiB7JSBpZiBkYXRhICV9Ci1DUkVBVEUgRlVOQ1RJT04ge3sgY29u bnxxdElkZW50KGRhdGEucHJvbmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19KHsl IGlmIGRhdGEKK0NSRUFURXslIGlmIHF1ZXJ5X3R5cGUgaXMgZGVmaW5lZCAl fXt7JyBPUiBSRVBMQUNFJ319eyUgZW5kaWYgJX0gRlVOQ1RJT04ge3sgY29u bnxxdElkZW50KGRhdGEucHJvbmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19KHsl IGlmIGRhdGEKIC5hcmdzICV9CiB7JSBmb3IgcCBpbiBkYXRhLmFyZ3MgJX17 JSBpZiBwLmFyZ21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVuZGlmICV9eyUg aWYgcC5hcmduYW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJnbmFtZSl9fXsl IGVuZGlmICV9eyUgaWYgcC5hcmd0eXBlICV9e3sgY29ubnxxdElkZW50KHAu YXJndHlwZSkgfX17JSBlbmRpZiAlfXslIGlmIHAuYXJnZGVmdmFsICV9IERF RkFVTFQge3twLmFyZ2RlZnZhbH19eyUgZW5kaWYgJX0KIHslIGlmIG5vdCBs b29wLmxhc3QgJX0seyUgZW5kaWYgJX0KIHslIGVuZGZvciAlfQogeyUgZW5k aWYgLSV9Ci0gICAgKQoreyUgaWYgZGF0YS5mdW5jX2FyZ3MgJX0KK3slIHNl dCBmdW5jX2FyZ3MgPSBkYXRhLmZ1bmNfYXJncy5zcGxpdCgnLCcpICV9CisK K3slIGZvciBmIGluIGZ1bmNfYXJncyAlfQorICAgIHt7IGZ8dHJpbSB9fXsl IGlmIG5vdCBsb29wLmxhc3QgJX0sCit7JSBlbmRpZiAlfQoreyUgZW5kZm9y ICV9CisKK3slIGVuZGlmICV9CispCiAgICAgUkVUVVJOU3slIGlmIGRhdGEu cHJvcmV0c2V0ICV9IFNFVE9GeyUgZW5kaWYgJX0ge3sgY29ubnxxdFR5cGVJ ZGVudChkYXRhLnByb3JldHR5cGVuYW1lKSB9fQogICAgIExBTkdVQUdFIHt7 IGRhdGEubGFubmFtZXxxdExpdGVyYWwgfX0KK3slIGlmIGRhdGEucHJvY29z dCAlfQorICAgIENPU1Qge3tkYXRhLnByb2Nvc3R9fQoreyUgZW5kaWYgJX0K K3slIGlmIHF1ZXJ5X3R5cGUgIT0gJ2NyZWF0ZScgJX0KICAgICB7JSBpZiBk YXRhLnByb3ZvbGF0aWxlICV9e3sgZGF0YS5wcm92b2xhdGlsZSB9fSB7JSBl bmRpZiAlfXslIGlmIGRhdGEucHJvbGVha3Byb29mICV9TEVBS1BST09GIHsl IGVsc2UgJX1OT1QgTEVBS1BST09GIHslIGVuZGlmICV9CiB7JSBpZiBkYXRh LnByb2lzc3RyaWN0ICV9U1RSSUNUIHslIGVuZGlmICV9CiB7JSBpZiBkYXRh LnByb3NlY2RlZiAlfVNFQ1VSSVRZIERFRklORVIgeyUgZW5kaWYgJX0KLXsl IGlmIGRhdGEucHJvaXN3aW5kb3cgJX1XSU5ET1d7JSBlbmRpZiAlfXslIGlm IGRhdGEucHJvY29zdCAlfQotCi0gICAgQ09TVCB7e2RhdGEucHJvY29zdH19 eyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3Jvd3MgJX0KK3slIGlmIGRhdGEu cHJvaXN3aW5kb3cgJX1XSU5ET1d7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5w cm9yb3dzICV9CgogICAgIFJPV1Mge3tkYXRhLnByb3Jvd3N9fXslIGVuZGlm IC0lfXslIGlmIGRhdGEudmFyaWFibGVzICV9eyUgZm9yIHYgaW4gZGF0YS52 YXJpYWJsZXMgJX0KCiAgICAgU0VUIHt7IGNvbm58cXRJZGVudCh2Lm5hbWUp IH19PXt7IHYudmFsdWV8cXRMaXRlcmFsIH19eyUgZW5kZm9yICV9Ci17JSBl bmRpZiAlfQoreyUgZW5kaWYgJX17JSBlbmRpZiAlfQoKIEFTIHslIGlmIGRh dGEubGFubmFtZSA9PSAnYycgJX0KIHt7IGRhdGEucHJvYmlufHF0TGl0ZXJh bCB9fSwge3sgZGF0YS5wcm9zcmNfY3xxdExpdGVyYWwgfX0KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvcHJvY2Vk dXJlL3BwYXMvc3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3Byb2NlZHVyZS9wcGFzL3NxbC85 LjFfcGx1cy9jcmVhdGUuc3FsCmluZGV4IDViOTY0MGUuLjBhOGNiMjAgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMv cHJvY2VkdXJlL3BwYXMvc3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9wcm9jZWR1cmUv cHBhcy9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbApAQCAtMywxMSArMywxMiBA QAogeyUgaW1wb3J0ICdtYWNyb3MvZnVuY3Rpb25zL3ZhcmlhYmxlLm1hY3Jv cycgYXMgVkFSSUFCTEUgJX0KIHslIHNldCBpc19jb2x1bW5zID0gW10gJX0K IHslIGlmIGRhdGEgJX0KLUNSRUFURSBPUiBSRVBMQUNFIFBST0NFRFVSRSB7 eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3BhY2UsIGRhdGEubmFtZSkg fX17JSBpZiBkYXRhLmFyZ3MgJX0oCi17JSBmb3IgcCBpbiBkYXRhLmFyZ3Mg JX17JSBpZiBwLmFyZ21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVuZGlmICV9 eyUgaWYgcC5hcmduYW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJnbmFtZSl9 fSB7JSBlbmRpZiAlfXslIGlmIHAuYXJndHlwZSAlfXt7IGNvbm58cXRJZGVu dChwLmFyZ3R5cGUpIH19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ2RlZnZhbCAl fSBERUZBVUxUIHt7cC5hcmdkZWZ2YWx9fXslIGVuZGlmICV9Ci17JSBpZiBu b3QgbG9vcC5sYXN0ICV9LHslIGVuZGlmICV9Ci17JSBlbmRmb3IgJX0pCi17 JSBlbmRpZiAlfQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHt7IGNv bm58cXRJZGVudChkYXRhLnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fXsl IGlmIGRhdGEuYXJncyBpcyBkZWZpbmVkIG9yIGRhdGEuZnVuY19hcmdzIGlz IGRlZmluZWQgJX0KKyh7JSBmb3IgcCBpbiBkYXRhLmFyZ3MgJX17JSBpZiBw LmFyZ21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVuZGlmICV9eyUgaWYgcC5h cmduYW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJnbmFtZSl9fSB7JSBlbmRp ZiAlfXslIGlmIHAuYXJndHlwZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ3R5 cGUpIH19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ2RlZnZhbCAlfSBERUZBVUxU IHt7cC5hcmdkZWZ2YWx9fXslIGVuZGlmICV9Cit7JSBpZiBub3QgbG9vcC5s YXN0ICV9LCB7JSBlbmRpZiAlfQoreyUgZW5kZm9yIC0lfQoreyUgaWYgZGF0 YS5mdW5jX2FyZ3MgJX17eyBkYXRhLmZ1bmNfYXJncyB9fXslIGVuZGlmICV9 CispeyUgZW5kaWYgJX0KCiBBUwoge3sgZGF0YS5wcm9zcmMgfX07CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3By b2NlZHVyZS9wcGFzL3NxbC85LjJfcGx1cy9jcmVhdGUuc3FsIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9wcm9jZWR1cmUvcHBhcy9z cWwvOS4yX3BsdXMvY3JlYXRlLnNxbAppbmRleCAwNDJiNzg2Li45NmM5YTM2 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxh dGVzL3Byb2NlZHVyZS9wcGFzL3NxbC85LjJfcGx1cy9jcmVhdGUuc3FsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvcHJvY2Vk dXJlL3BwYXMvc3FsLzkuMl9wbHVzL2NyZWF0ZS5zcWwKQEAgLTMsMTAgKzMs MTIgQEAKIHslIGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy92YXJpYWJsZS5t YWNyb3MnIGFzIFZBUklBQkxFICV9CiB7JSBzZXQgaXNfY29sdW1ucyA9IFtd ICV9CiB7JSBpZiBkYXRhICV9Ci1DUkVBVEUgT1IgUkVQTEFDRSBQUk9DRURV UkUge3sgY29ubnxxdElkZW50KGRhdGEucHJvbmFtZXNwYWNlLCBkYXRhLm5h bWUpIH19eyUgaWYgZGF0YS5hcmdzICV9Ci0oeyUgZm9yIHAgaW4gZGF0YS5h cmdzICV9eyUgaWYgcC5hcmdtb2RlICV9e3twLmFyZ21vZGV9fSB7JSBlbmRp ZiAlfXslIGlmIHAuYXJnbmFtZSAlfSB7eyBjb25ufHF0SWRlbnQocC5hcmdu YW1lKX19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ3R5cGUgJX17eyBjb25ufHF0 SWRlbnQocC5hcmd0eXBlKSB9fXslIGVuZGlmICV9eyUgaWYgcC5hcmdkZWZ2 YWwgJX0gREVGQVVMVCB7e3AuYXJnZGVmdmFsfX17JSBlbmRpZiAlfQorQ1JF QVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHt7IGNvbm58cXRJZGVudChkYXRh LnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fXslIGlmIGRhdGEuYXJncyBp cyBkZWZpbmVkIG9yIGRhdGEuZnVuY19hcmdzIGlzIGRlZmluZWQgJX0KKyh7 JSBmb3IgcCBpbiBkYXRhLmFyZ3MgJX17JSBpZiBwLmFyZ21vZGUgJX17e3Au YXJnbW9kZX19IHslIGVuZGlmICV9eyUgaWYgcC5hcmduYW1lICV9e3sgY29u bnxxdElkZW50KHAuYXJnbmFtZSl9fSB7JSBlbmRpZiAlfXslIGlmIHAuYXJn dHlwZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ3R5cGUpIH19eyUgZW5kaWYg JX17JSBpZiBwLmFyZ2RlZnZhbCAlfSBERUZBVUxUIHt7cC5hcmdkZWZ2YWx9 fXslIGVuZGlmICV9CiB7JSBpZiBub3QgbG9vcC5sYXN0ICV9LCB7JSBlbmRp ZiAlfQoteyUgZW5kZm9yIC0lfSl7JSBlbmRpZiAlfQoreyUgZW5kZm9yIC0l fQoreyUgaWYgZGF0YS5mdW5jX2FyZ3MgJX17eyBkYXRhLmZ1bmNfYXJncyB9 fXslIGVuZGlmICV9CispeyUgZW5kaWYgJX0KCiBBUwoge3sgZGF0YS5wcm9z cmMgfX07CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMv dGVtcGxhdGVzL3Byb2NlZHVyZS9wcGFzL3NxbC85LjVfcGx1cy9jcmVhdGUu c3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9wcm9j ZWR1cmUvcHBhcy9zcWwvOS41X3BsdXMvY3JlYXRlLnNxbAppbmRleCAxN2Ux NjBiLi43NDQ3ZDFlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5j dGlvbnMvdGVtcGxhdGVzL3Byb2NlZHVyZS9wcGFzL3NxbC85LjVfcGx1cy9j cmVhdGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1w bGF0ZXMvcHJvY2VkdXJlL3BwYXMvc3FsLzkuNV9wbHVzL2NyZWF0ZS5zcWwK QEAgLTMsMTAgKzMsMTMgQEAKIHslIGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9u cy92YXJpYWJsZS5tYWNyb3MnIGFzIFZBUklBQkxFICV9CiB7JSBzZXQgaXNf Y29sdW1ucyA9IFtdICV9CiB7JSBpZiBkYXRhICV9Ci1DUkVBVEUgT1IgUkVQ TEFDRSBQUk9DRURVUkUge3sgY29ubnxxdElkZW50KGRhdGEucHJvbmFtZXNw YWNlLCBkYXRhLm5hbWUpIH19eyUgaWYgZGF0YS5hcmdzICV9CitDUkVBVEUg T1IgUkVQTEFDRSBQUk9DRURVUkUge3sgY29ubnxxdElkZW50KGRhdGEucHJv bmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19eyUgaWYgZGF0YS5hcmdzIGlzIGRl ZmluZWQgb3IgZGF0YS5mdW5jX2FyZ3MgaXMgZGVmaW5lZCAlfQogKHslIGZv ciBwIGluIGRhdGEuYXJncyAlfXslIGlmIHAuYXJnbW9kZSAlfXt7cC5hcmdt b2RlfX0geyUgZW5kaWYgJX17JSBpZiBwLmFyZ25hbWUgJX17eyBjb25ufHF0 SWRlbnQocC5hcmduYW1lKX19IHslIGVuZGlmICV9eyUgaWYgcC5hcmd0eXBl ICV9e3sgY29ubnxxdElkZW50KHAuYXJndHlwZSkgfX17JSBlbmRpZiAlfXsl IGlmIHAuYXJnZGVmdmFsICV9IERFRkFVTFQge3twLmFyZ2RlZnZhbH19eyUg ZW5kaWYgJX0KIHslIGlmIG5vdCBsb29wLmxhc3QgJX0sIHslIGVuZGlmICV9 Ci17JSBlbmRmb3IgLSV9KXslIGVuZGlmICV9Cit7JSBlbmRmb3IgLSV9Cit7 JSBpZiBkYXRhLmZ1bmNfYXJncyAlfXt7IGRhdGEuZnVuY19hcmdzIH19eyUg ZW5kaWYgJX0KKyl7JSBlbmRpZiAlfQoreyUgaWYgcXVlcnlfdHlwZSAhPSAn Y3JlYXRlJyAlfQoKICAgICB7eyBkYXRhLnByb3ZvbGF0aWxlIH19eyUgaWYg ZGF0YS5wcm9sZWFrcHJvb2YgJX0gTEVBS1BST09GIHslIGVsaWYgbm90IGRh dGEucHJvbGVha3Byb29mICV9IE5PVCBMRUFLUFJPT0YgeyUgZW5kaWYgJX0K IHslIGlmIGRhdGEucHJvaXNzdHJpY3QgJX1TVFJJQ1QgeyUgZW5kaWYgJX0K QEAgLTE3LDcgKzIwLDcgQEAgQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJF IHt7IGNvbm58cXRJZGVudChkYXRhLnByb25hbWVzcGFjZSwgZGF0YS5uYW1l KSB9fXslIGkKICAgICBST1dTIHt7ZGF0YS5wcm9yb3dzfX17JSBlbmRpZiAt JX17JSBpZiBkYXRhLnZhcmlhYmxlcyAlfXslIGZvciB2IGluIGRhdGEudmFy aWFibGVzICV9CgogICAgIFNFVCB7eyBjb25ufHF0SWRlbnQodi5uYW1lKSB9 fT17eyB2LnZhbHVlfHF0TGl0ZXJhbCB9fXslIGVuZGZvciAtJX0KLXslIGVu ZGlmICV9Cit7JSBlbmRpZiAlfXslIGVuZGlmICV9CgogQVMKIHt7IGRhdGEu cHJvc3JjIH19OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rp b25zL3RlbXBsYXRlcy90cmlnZ2VyX2Z1bmN0aW9uL3BnL3NxbC85LjFfcGx1 cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBs YXRlcy90cmlnZ2VyX2Z1bmN0aW9uL3BnL3NxbC85LjFfcGx1cy9jcmVhdGUu c3FsCmluZGV4IDhlNTFhNDkuLjZlOWZkNzggMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvdHJpZ2dlcl9mdW5jdGlv bi9wZy9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbAorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3RyaWdnZXJfZnVuY3Rpb24vcGcv c3FsLzkuMV9wbHVzL2NyZWF0ZS5zcWwKQEAgLTYsMTYgKzYsMTkgQEAKIENS RUFURSBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3Bh Y2UsIGRhdGEubmFtZSkgfX0oKQogICAgIFJFVFVSTlN7JSBpZiBkYXRhLnBy b3JldHNldCAlfSBTRVRPRnslIGVuZGlmICV9IHt7IGNvbm58cXRUeXBlSWRl bnQoZGF0YS5wcm9yZXR0eXBlbmFtZSkgfX0KICAgICBMQU5HVUFHRSB7eyBk YXRhLmxhbm5hbWV8cXRMaXRlcmFsIH19Ci0gICAgeyUgaWYgZGF0YS5wcm92 b2xhdGlsZSAlfXt7IGRhdGEucHJvdm9sYXRpbGUgfX0geyUgZW5kaWYgJX17 JSBpZiBkYXRhLnByb2lzc3RyaWN0ICV9U1RSSUNUIHslIGVuZGlmICV9eyUg aWYgZGF0YS5wcm9zZWNkZWYgJX1TRUNVUklUWSBERUZJTkVSIHslIGVuZGlm ICV9eyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVuZGlmIC0l fXslIGlmIGRhdGEucHJvY29zdCAlfQotCi0gICAgQ09TVCB7e2RhdGEucHJv Y29zdH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3Jvd3MgJX0KK3slIGlm IGRhdGEucHJvY29zdCAlfQorICAgIENPU1Qge3tkYXRhLnByb2Nvc3R9fQor eyUgZW5kaWYgJX0KK3slIGlmIHF1ZXJ5X3R5cGUgIT0gJ2NyZWF0ZScgJX0K KyAgICB7JSBpZiBkYXRhLnByb3ZvbGF0aWxlICV9e3sgZGF0YS5wcm92b2xh dGlsZSB9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvaXNzdHJpY3QgJX1T VFJJQ1QgeyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3NlY2RlZiAlfVNFQ1VS SVRZIERFRklORVIgeyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb2lzd2luZG93 ICV9V0lORE9XeyUgZW5kaWYgLSV9Cit7JSBpZiBkYXRhLnByb3Jvd3MgJX0K CiAgICAgUk9XUyB7e2RhdGEucHJvcm93c319eyUgZW5kaWYgLSV9eyUgaWYg ZGF0YS52YXJpYWJsZXMgJX17JSBmb3IgdiBpbiBkYXRhLnZhcmlhYmxlcyAl fQoKICAgICBTRVQge3sgY29ubnxxdElkZW50KHYubmFtZSkgfX09e3sgdi52 YWx1ZXxxdExpdGVyYWwgfX17JSBlbmRmb3IgJX0KIHslIGVuZGlmICV9Cgot QVMgeyUgaWYgZGF0YS5sYW5uYW1lID09ICdjJyAlfQorQVMgeyUgZW5kaWYg JX17JSBpZiBkYXRhLmxhbm5hbWUgPT0gJ2MnICV9CiB7eyBkYXRhLnByb2Jp bnxxdExpdGVyYWwgfX0sIHt7IGRhdGEucHJvc3JjX2N8cXRMaXRlcmFsIH19 CiB7JSBlbHNlICV9CiAkQk9EWSQKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvdHJpZ2dlcl9mdW5jdGlvbi9wZy9z cWwvOS4yX3BsdXMvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0 aW9ucy90ZW1wbGF0ZXMvdHJpZ2dlcl9mdW5jdGlvbi9wZy9zcWwvOS4yX3Bs dXMvY3JlYXRlLnNxbAppbmRleCBkZGY2ZTI1Li44MWRjYjFhIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3RyaWdn ZXJfZnVuY3Rpb24vcGcvc3FsLzkuMl9wbHVzL2NyZWF0ZS5zcWwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy90cmlnZ2VyX2Z1 bmN0aW9uL3BnL3NxbC85LjJfcGx1cy9jcmVhdGUuc3FsCkBAIC02LDE5ICs2 LDIyIEBACiBDUkVBVEUgRlVOQ1RJT04ge3sgY29ubnxxdElkZW50KGRhdGEu cHJvbmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19KCkKICAgICBSRVRVUk5TeyUg aWYgZGF0YS5wcm9yZXRzZXQgJX0gU0VUT0Z7JSBlbmRpZiAlfSB7eyBjb25u fHF0VHlwZUlkZW50KGRhdGEucHJvcmV0dHlwZW5hbWUpIH19CiAgICAgTEFO R1VBR0Uge3sgZGF0YS5sYW5uYW1lfHF0TGl0ZXJhbCB9fQoreyUgaWYgZGF0 YS5wcm9jb3N0ICV9CisgICAgQ09TVCB7e2RhdGEucHJvY29zdH19Cit7JSBl bmRpZiAlfQoreyUgaWYgcXVlcnlfdHlwZSAhPSAnY3JlYXRlJyAlfQogICAg IHslIGlmIGRhdGEucHJvdm9sYXRpbGUgJX17eyBkYXRhLnByb3ZvbGF0aWxl IH19IHslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9sZWFrcHJvb2YgJX1MRUFL UFJPT0YgeyUgZWxzZSAlfU5PVCBMRUFLUFJPT0YgeyUgZW5kaWYgJX0KIHsl IGlmIGRhdGEucHJvaXNzdHJpY3QgJX1TVFJJQ1QgeyUgZW5kaWYgJX0KIHsl IGlmIGRhdGEucHJvc2VjZGVmICV9U0VDVVJJVFkgREVGSU5FUiB7JSBlbmRp ZiAlfQoteyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVuZGlm ICV9eyUgaWYgZGF0YS5wcm9jb3N0ICV9Ci0KLSAgICBDT1NUIHt7ZGF0YS5w cm9jb3N0fX17JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvcm93cyAlfQoreyUg aWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJTkRPV3slIGVuZGlmICV9Cit7JSBp ZiBkYXRhLnByb3Jvd3MgJX0KCiAgICAgUk9XUyB7e2RhdGEucHJvcm93c319 eyUgZW5kaWYgLSV9eyUgaWYgZGF0YS52YXJpYWJsZXMgJX17JSBmb3IgdiBp biBkYXRhLnZhcmlhYmxlcyAlfQoKICAgICBTRVQge3sgY29ubnxxdElkZW50 KHYubmFtZSkgfX09e3sgdi52YWx1ZXxxdExpdGVyYWwgfX17JSBlbmRmb3Ig JX0KIHslIGVuZGlmICV9CgotQVMgeyUgaWYgZGF0YS5sYW5uYW1lID09ICdj JyAlfQorQVMgeyUgZW5kaWYgJX17JSBpZiBkYXRhLmxhbm5hbWUgPT0gJ2Mn ICV9CiB7eyBkYXRhLnByb2JpbnxxdExpdGVyYWwgfX0sIHt7IGRhdGEucHJv c3JjX2N8cXRMaXRlcmFsIH19CiB7JSBlbHNlICV9CiAkQk9EWSQKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvdHJp Z2dlcl9mdW5jdGlvbi9wZy9zcWwvOS41X3BsdXMvY3JlYXRlLnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvdHJpZ2dlcl9mdW5j dGlvbi9wZy9zcWwvOS41X3BsdXMvY3JlYXRlLnNxbAppbmRleCBmYTM2YWQ4 Li41NDQ1ODU1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlv bnMvdGVtcGxhdGVzL3RyaWdnZXJfZnVuY3Rpb24vcGcvc3FsLzkuNV9wbHVz L2NyZWF0ZS5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rl bXBsYXRlcy90cmlnZ2VyX2Z1bmN0aW9uL3BnL3NxbC85LjVfcGx1cy9jcmVh dGUuc3FsCkBAIC0zLDIyICszLDI1IEBACiB7JSBpbXBvcnQgJ21hY3Jvcy9m dW5jdGlvbnMvdmFyaWFibGUubWFjcm9zJyBhcyBWQVJJQUJMRSAlfQogeyUg c2V0IGlzX2NvbHVtbnMgPSBbXSAlfQogeyUgaWYgZGF0YSAlfQotQ1JFQVRF IEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChkYXRhLnByb25hbWVzcGFjZSwg ZGF0YS5uYW1lKSB9fSgpCitDUkVBVEUgRlVOQ1RJT04ge3sgY29ubnxxdElk ZW50KGRhdGEucHJvbmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19KHslIGlmIGRh dGEucHJvYXJnbmFtZXMgJX17e2RhdGEucHJvYXJnbmFtZXN9fXslIGVuZGlm ICV9KQogICAgIFJFVFVSTlN7JSBpZiBkYXRhLnByb3JldHNldCAlfSBTRVRP RnslIGVuZGlmICV9IHt7IGNvbm58cXRUeXBlSWRlbnQoZGF0YS5wcm9yZXR0 eXBlbmFtZSkgfX0KICAgICBMQU5HVUFHRSB7eyBkYXRhLmxhbm5hbWV8cXRM aXRlcmFsIH19Cit7JSBpZiBkYXRhLnByb2Nvc3QgJX0KKyAgICBDT1NUIHt7 ZGF0YS5wcm9jb3N0fX0KK3slIGVuZGlmICV9Cit7JSBpZiBxdWVyeV90eXBl ICE9ICdjcmVhdGUnICV9CiAgICAgeyUgaWYgZGF0YS5wcm92b2xhdGlsZSAl fXt7IGRhdGEucHJvdm9sYXRpbGUgfX0geyUgZW5kaWYgJX17JSBpZiBkYXRh LnByb2xlYWtwcm9vZiAlfUxFQUtQUk9PRiB7JSBlbHNlICV9Tk9UIExFQUtQ Uk9PRiB7JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5wcm9pc3N0cmljdCAlfVNU UklDVCB7JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5wcm9zZWNkZWYgJX1TRUNV UklUWSBERUZJTkVSIHslIGVuZGlmICV9Ci17JSBpZiBkYXRhLnByb2lzd2lu ZG93ICV9V0lORE9XeyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb2Nvc3QgJX0K LQotICAgIENPU1Qge3tkYXRhLnByb2Nvc3R9fXslIGVuZGlmICV9eyUgaWYg ZGF0YS5wcm9yb3dzICV9Cit7JSBpZiBkYXRhLnByb2lzd2luZG93ICV9V0lO RE9XeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEucHJvcm93cyAlfQoKICAgICBS T1dTIHt7ZGF0YS5wcm9yb3dzfX17JSBlbmRpZiAtJX17JSBpZiBkYXRhLnZh cmlhYmxlcyAlfXslIGZvciB2IGluIGRhdGEudmFyaWFibGVzICV9CgogICAg IFNFVCB7eyBjb25ufHF0SWRlbnQodi5uYW1lKSB9fT17eyB2LnZhbHVlfHF0 TGl0ZXJhbCB9fXslIGVuZGZvciAlfQogeyUgZW5kaWYgJX0KCi1BUyB7JSBp ZiBkYXRhLmxhbm5hbWUgPT0gJ2MnICV9CitBUyB7JSBlbmRpZiAlfXslIGlm IGRhdGEubGFubmFtZSA9PSAnYycgJX0KIHt7IGRhdGEucHJvYmlufHF0TGl0 ZXJhbCB9fSwge3sgZGF0YS5wcm9zcmNfY3xxdExpdGVyYWwgfX0KIHslIGVs c2UgJX0KICRCT0RZJApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVu Y3Rpb25zL3RlbXBsYXRlcy90cmlnZ2VyX2Z1bmN0aW9uL3BwYXMvc3FsLzku MV9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMv dGVtcGxhdGVzL3RyaWdnZXJfZnVuY3Rpb24vcHBhcy9zcWwvOS4xX3BsdXMv Y3JlYXRlLnNxbAppbmRleCA4ZTUxYTQ5Li42ZTlmZDc4IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3RyaWdnZXJf ZnVuY3Rpb24vcHBhcy9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3RyaWdnZXJfZnVu Y3Rpb24vcHBhcy9zcWwvOS4xX3BsdXMvY3JlYXRlLnNxbApAQCAtNiwxNiAr NiwxOSBAQAogQ1JFQVRFIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChkYXRh LnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fSgpCiAgICAgUkVUVVJOU3sl IGlmIGRhdGEucHJvcmV0c2V0ICV9IFNFVE9GeyUgZW5kaWYgJX0ge3sgY29u bnxxdFR5cGVJZGVudChkYXRhLnByb3JldHR5cGVuYW1lKSB9fQogICAgIExB TkdVQUdFIHt7IGRhdGEubGFubmFtZXxxdExpdGVyYWwgfX0KLSAgICB7JSBp ZiBkYXRhLnByb3ZvbGF0aWxlICV9e3sgZGF0YS5wcm92b2xhdGlsZSB9fSB7 JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvaXNzdHJpY3QgJX1TVFJJQ1QgeyUg ZW5kaWYgJX17JSBpZiBkYXRhLnByb3NlY2RlZiAlfVNFQ1VSSVRZIERFRklO RVIgeyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb2lzd2luZG93ICV9V0lORE9X eyUgZW5kaWYgLSV9eyUgaWYgZGF0YS5wcm9jb3N0ICV9Ci0KLSAgICBDT1NU IHt7ZGF0YS5wcm9jb3N0fX17JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvcm93 cyAlfQoreyUgaWYgZGF0YS5wcm9jb3N0ICV9CisgICAgQ09TVCB7e2RhdGEu cHJvY29zdH19Cit7JSBlbmRpZiAlfQoreyUgaWYgcXVlcnlfdHlwZSAhPSAn Y3JlYXRlJyAlfQorICAgIHslIGlmIGRhdGEucHJvdm9sYXRpbGUgJX17eyBk YXRhLnByb3ZvbGF0aWxlIH19IHslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9p c3N0cmljdCAlfVNUUklDVCB7JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvc2Vj ZGVmICV9U0VDVVJJVFkgREVGSU5FUiB7JSBlbmRpZiAlfXslIGlmIGRhdGEu cHJvaXN3aW5kb3cgJX1XSU5ET1d7JSBlbmRpZiAtJX0KK3slIGlmIGRhdGEu cHJvcm93cyAlfQoKICAgICBST1dTIHt7ZGF0YS5wcm9yb3dzfX17JSBlbmRp ZiAtJX17JSBpZiBkYXRhLnZhcmlhYmxlcyAlfXslIGZvciB2IGluIGRhdGEu dmFyaWFibGVzICV9CgogICAgIFNFVCB7eyBjb25ufHF0SWRlbnQodi5uYW1l KSB9fT17eyB2LnZhbHVlfHF0TGl0ZXJhbCB9fXslIGVuZGZvciAlfQogeyUg ZW5kaWYgJX0KCi1BUyB7JSBpZiBkYXRhLmxhbm5hbWUgPT0gJ2MnICV9CitB UyB7JSBlbmRpZiAlfXslIGlmIGRhdGEubGFubmFtZSA9PSAnYycgJX0KIHt7 IGRhdGEucHJvYmlufHF0TGl0ZXJhbCB9fSwge3sgZGF0YS5wcm9zcmNfY3xx dExpdGVyYWwgfX0KIHslIGVsc2UgJX0KICRCT0RZJApkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy90cmlnZ2VyX2Z1 bmN0aW9uL3BwYXMvc3FsLzkuMl9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL3RyaWdnZXJfZnVuY3Rpb24v cHBhcy9zcWwvOS4yX3BsdXMvY3JlYXRlLnNxbAppbmRleCBmN2Q0OTdlLi4y MTBjZjNhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMv dGVtcGxhdGVzL3RyaWdnZXJfZnVuY3Rpb24vcHBhcy9zcWwvOS4yX3BsdXMv Y3JlYXRlLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVt cGxhdGVzL3RyaWdnZXJfZnVuY3Rpb24vcHBhcy9zcWwvOS4yX3BsdXMvY3Jl YXRlLnNxbApAQCAtNiwxOSArNiwyMiBAQAogQ1JFQVRFIEZVTkNUSU9OIHt7 IGNvbm58cXRJZGVudChkYXRhLnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9 fSgpCiAgICAgUkVUVVJOU3slIGlmIGRhdGEucHJvcmV0c2V0ICV9IFNFVE9G eyUgZW5kaWYgJX0ge3sgY29ubnxxdFR5cGVJZGVudChkYXRhLnByb3JldHR5 cGVuYW1lKSB9fQogICAgIExBTkdVQUdFIHt7IGRhdGEubGFubmFtZXxxdExp dGVyYWwgfX0KK3slIGlmIGRhdGEucHJvY29zdCAlfQorICAgIENPU1Qge3tk YXRhLnByb2Nvc3R9fQoreyUgZW5kaWYgJX0KK3slIGlmIHF1ZXJ5X3R5cGUg IT0gJ2NyZWF0ZScgJX0KICAgICB7JSBpZiBkYXRhLnByb3ZvbGF0aWxlICV9 e3sgZGF0YS5wcm92b2xhdGlsZSB9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEu cHJvbGVha3Byb29mICV9IExFQUtQUk9PRiB7JSBlbHNlICV9IE5PVCBMRUFL UFJPT0YgeyUgZW5kaWYgJX0KIHslIGlmIGRhdGEucHJvaXNzdHJpY3QgJX1T VFJJQ1QgeyUgZW5kaWYgJX0KIHslIGlmIGRhdGEucHJvc2VjZGVmICV9U0VD VVJJVFkgREVGSU5FUiB7JSBlbmRpZiAlfQoteyUgaWYgZGF0YS5wcm9pc3dp bmRvdyAlfVdJTkRPV3slIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9jb3N0ICV9 Ci0KLSAgICBDT1NUIHt7ZGF0YS5wcm9jb3N0fX17JSBlbmRpZiAlfXslIGlm IGRhdGEucHJvcm93cyAlfQoreyUgaWYgZGF0YS5wcm9pc3dpbmRvdyAlfVdJ TkRPV3slIGVuZGlmICV9Cit7JSBpZiBkYXRhLnByb3Jvd3MgJX0KCiAgICAg Uk9XUyB7e2RhdGEucHJvcm93c319eyUgZW5kaWYgLSV9eyUgaWYgZGF0YS52 YXJpYWJsZXMgJX17JSBmb3IgdiBpbiBkYXRhLnZhcmlhYmxlcyAlfQoKICAg ICBTRVQge3sgY29ubnxxdElkZW50KHYubmFtZSkgfX09e3sgdi52YWx1ZXxx dExpdGVyYWwgfX17JSBlbmRmb3IgJX0KIHslIGVuZGlmICV9CgotQVMgeyUg aWYgZGF0YS5sYW5uYW1lID09ICdjJyAlfQorQVMgeyUgZW5kaWYgJX17JSBp ZiBkYXRhLmxhbm5hbWUgPT0gJ2MnICV9CiB7eyBkYXRhLnByb2JpbnxxdExp dGVyYWwgfX0sIHt7IGRhdGEucHJvc3JjX2N8cXRMaXRlcmFsIH19CiB7JSBl bHNlICV9CiAkQk9EWSQKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1 bmN0aW9ucy90ZW1wbGF0ZXMvdHJpZ2dlcl9mdW5jdGlvbi9wcGFzL3NxbC85 LjVfcGx1cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25z L3RlbXBsYXRlcy90cmlnZ2VyX2Z1bmN0aW9uL3BwYXMvc3FsLzkuNV9wbHVz L2NyZWF0ZS5zcWwKaW5kZXggZmEzNmFkOC4uNWIzNGZiYiAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy90cmlnZ2Vy X2Z1bmN0aW9uL3BwYXMvc3FsLzkuNV9wbHVzL2NyZWF0ZS5zcWwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy90cmlnZ2VyX2Z1 bmN0aW9uL3BwYXMvc3FsLzkuNV9wbHVzL2NyZWF0ZS5zcWwKQEAgLTYsMjMg KzYsMjYgQEAKIENSRUFURSBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQoZGF0 YS5wcm9uYW1lc3BhY2UsIGRhdGEubmFtZSkgfX0oKQogICAgIFJFVFVSTlN7 JSBpZiBkYXRhLnByb3JldHNldCAlfSBTRVRPRnslIGVuZGlmICV9IHt7IGNv bm58cXRUeXBlSWRlbnQoZGF0YS5wcm9yZXR0eXBlbmFtZSkgfX0KICAgICBM QU5HVUFHRSB7eyBkYXRhLmxhbm5hbWV8cXRMaXRlcmFsIH19Cit7JSBpZiBk YXRhLnByb2Nvc3QgJX0KKyAgICBDT1NUIHt7ZGF0YS5wcm9jb3N0fX0KK3sl IGVuZGlmICV9Cit7JSBpZiBxdWVyeV90eXBlICE9ICdjcmVhdGUnICV9CiAg ICAgeyUgaWYgZGF0YS5wcm92b2xhdGlsZSAlfXt7IGRhdGEucHJvdm9sYXRp bGUgfX0geyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb2xlYWtwcm9vZiAlfUxF QUtQUk9PRiB7JSBlbHNlICV9Tk9UIExFQUtQUk9PRiB7JSBlbmRpZiAlfQog eyUgaWYgZGF0YS5wcm9pc3N0cmljdCAlfVNUUklDVCB7JSBlbmRpZiAlfQog eyUgaWYgZGF0YS5wcm9zZWNkZWYgJX1TRUNVUklUWSBERUZJTkVSIHslIGVu ZGlmICV9Ci17JSBpZiBkYXRhLnByb2lzd2luZG93ICV9V0lORE9XeyUgZW5k aWYgJX17JSBpZiBkYXRhLnByb2Nvc3QgJX0KLQotICAgIENPU1Qge3tkYXRh LnByb2Nvc3R9fXslIGVuZGlmICV9eyUgaWYgZGF0YS5wcm9yb3dzICV9Cit7 JSBpZiBkYXRhLnByb2lzd2luZG93ICV9V0lORE9XeyUgZW5kaWYgJX0KK3sl IGlmIGRhdGEucHJvcm93cyAlfQoKICAgICBST1dTIHt7ZGF0YS5wcm9yb3dz fX17JSBlbmRpZiAtJX17JSBpZiBkYXRhLnZhcmlhYmxlcyAlfXslIGZvciB2 IGluIGRhdGEudmFyaWFibGVzICV9CgogICAgIFNFVCB7eyBjb25ufHF0SWRl bnQodi5uYW1lKSB9fT17eyB2LnZhbHVlfHF0TGl0ZXJhbCB9fXslIGVuZGZv ciAlfQogeyUgZW5kaWYgJX0KCi1BUyB7JSBpZiBkYXRhLmxhbm5hbWUgPT0g J2MnICV9CitBUyB7JSBlbmRpZiAlfXslIGlmIGRhdGEubGFubmFtZSA9PSAn YycgJX0KIHt7IGRhdGEucHJvYmlufHF0TGl0ZXJhbCB9fSwge3sgZGF0YS5w cm9zcmNfY3xxdExpdGVyYWwgfX0KIHslIGVsc2UgJX0KICRCT0RZJAote3sg ZGF0YS5wcm9zcmMgfX0KK3t7IGRhdGEucHJvc3JjIH19OwogJEJPRFkkeyUg ZW5kaWYgLSV9OwogeyUgaWYgZGF0YS5mdW5jb3duZXIgJX0KCg== --047d7b86e646b3935405345cce1e 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 --047d7b86e646b3935405345cce1e--