Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hqBPb-0008Cn-H3 for pgadmin-hackers@arkaria.postgresql.org; Wed, 24 Jul 2019 07:10:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hqBPa-0003ib-8i for pgadmin-hackers@arkaria.postgresql.org; Wed, 24 Jul 2019 07:10:06 +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_SHA1:256) (Exim 4.89) (envelope-from ) id 1hqBPZ-0003iU-Nx for pgadmin-hackers@lists.postgresql.org; Wed, 24 Jul 2019 07:10:06 +0000 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hqBPU-0006j6-Mx for pgadmin-hackers@postgresql.org; Wed, 24 Jul 2019 07:10:05 +0000 Received: by mail-qt1-x831.google.com with SMTP id 44so13458569qtg.11 for ; Wed, 24 Jul 2019 00:10:00 -0700 (PDT) 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; bh=vWSVoiQOVmZvIMxngqZstGB8fkOz48UCOuY0q63beGg=; b=vDYJcazVokBH3PfMAh2NBpqOjKjq1MdoyxaJKjPI1/mcSt4GaXdUKXpuckaBu+LIjk OM9kWLTP7uFlpRnkW8Yl++1iJzpfNTRxKYelbbbiKCbv+CQaA08mKqZzrL35ZPB8tEJP L1Bu/3KShNbtJ9825GxeLwY3qbg0+SLf9O+XXeAU0aunjjHhDn15rA8lgdgoyskuxkKL bSLFYkkZ4N4PI/qRqhlw8gfsrwEKchOGGkRQ+l9QYy82k2bq7TQiAUWl7RSFt5VdzpUt j9IU94OoQ49J9izXqiCp9whkRkFK0mpXdCPZ6Jxoi/r//wbowxcNNfOic60C1lRij7Px Owtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=vWSVoiQOVmZvIMxngqZstGB8fkOz48UCOuY0q63beGg=; b=rcEqzdgyNAwog6sySlJwHuyySLSsHQllPrlViBZpTWqXvAu3ZOWfDgMIe6MUCSyXMj GWqCYdOX0sbkm3vNC4dq+fkqM3FR/7wG57jaKy6n33E91gAkU6BZv7y1Wjxu/beCHq40 W0mL3lXLlGlAb4o9a1f7LwX+tAlAV+rzRI2oUaGn/2BMHhTfLQjU61JO0tj28bUXvK+n OgsIrZ8wibLOySWGo6g9XqXfBH9HkPn3Dlmk+sSgAFWpDs/frenQyEVjw4gReKZHqtDS FiKq+Sw6Z4SJWo3cVf+u532GjZ7uwok0+AnqoI4w9oYFMS+yvO90KEgqZsIf4CsFpncK WYcg== X-Gm-Message-State: APjAAAVJ2jvqv+szAfiCLdtLLW5PYoCB/NFjXasyyATNdHxwxtGx/UDZ KX3AxDluHZYKUBoUd5sUyK8y6xs0ZeXn1WZQxaDkG5n0uLc= X-Google-Smtp-Source: APXvYqw3B6TsK3AAAzJV0DSB9eF7pG5wA8UDMyqKs6tZNJFTqbIcBvTosbdNA5WkZIeGQQ6oUHSyU6x74il9+/qSZpY= X-Received: by 2002:a0c:8b49:: with SMTP id d9mr56615415qvc.178.1563952198327; Wed, 24 Jul 2019 00:09:58 -0700 (PDT) MIME-Version: 1.0 From: Akshay Joshi Date: Wed, 24 Jul 2019 12:39:47 +0530 Message-ID: Subject: [pgAdmin4][Patch]: Fix for Feature #4334, RM #4496 and #4497 To: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000003a59bc058e67ff95" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000003a59bc058e67ff95 Content-Type: multipart/alternative; boundary="0000000000003a59b8058e67ff93" --0000000000003a59b8058e67ff93 Content-Type: text/plain; charset="UTF-8" Hi Hackers, I have added the support of Generated Columns (PG/EPAS 12) and also fixed RM #4496, #4497. During the implementation of that I have also fixed following issues that I encountered: - User should not be able to provide Default value with Identity column. - 'Drop Cascade' button to delete multiple columns should be disabled. - Set "Not Null?" switch to 'Yes' when we create Identity column. - Fix issue when we insert default value for the column and then remove it. It generates wrong msql. - Fix issue when we provide the default value of a column and then select the datatype to serial/bigserial/smallserial, it generates wrong msql. Modified/Added regression test cases for adding Identity column and Generated columns. Please review it. -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* --0000000000003a59b8058e67ff93 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

I have added the support of= Generated Columns (PG/EPAS 12) and also fixed RM #4496, #4497.=C2=A0
=

During the implementation of that I have also fixed fol= lowing issues that I encountered:
  • User should not be able to provide Default value with Identity colu= mn.
  • 'Drop Cascade' button to del= ete multiple columns should be disabled.
  • Set "Not Null?" switch to 'Yes' when we create Identity = column.
  • Fix issue when we insert default= value for the column and then remove it. It generates wrong msql.
  • Fix issue when we provide the default value of a= column and then select the datatype to serial/bigserial/smallserial, it ge= nerates wrong msql.
Modified/Added regression test case= s for adding Identity column and Generated columns.
Please review= it.=C2=A0

--
=
Thanks & Regar= ds
Akshay Joshi
= Sr. Software Architect
<= /div>
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246
<= /div>
--0000000000003a59b8058e67ff93-- --0000000000003a59bc058e67ff95 Content-Type: application/octet-stream; name="RM_4334_4496_4497.patch" Content-Disposition: attachment; filename="RM_4334_4496_4497.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jygw5wcg0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW5zL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2Nv bHVtbnMvX19pbml0X18ucHkKaW5kZXggZmRmNzJkNzMuLjI4NDIwZmE5IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvY29sdW1ucy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy9fX2lu aXRfXy5weQpAQCAtNTQ3LDcgKzU0NywxMyBAQCBjbGFzcyBDb2x1bW5zVmlldyhQR0NoaWxkTm9k ZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgKQogCiAgICAgICAgIGZvciBrLCB2IGlu IGRhdGEuaXRlbXMoKToKLSAgICAgICAgICAgIGRhdGFba10gPSBqc29uLmxvYWRzKHYsIGVuY29k aW5nPSd1dGYtOCcsIGNscz1Db2xQYXJhbXNKU09ORGVjb2RlcikKKyAgICAgICAgICAgICMgY29t bWVudHMgc2hvdWxkIGJlIHRha2VuIGFzIGlzIGJlY2F1c2UgaWYgdXNlciBlbnRlcnMgYQorICAg ICAgICAgICAgIyBqc29uIGNvbW1lbnQgaXQgaXMgcGFyc2VkIGJ5IGxvYWRzIHdoaWNoIHNob3Vs ZCBub3QgaGFwcGVuCisgICAgICAgICAgICBpZiBrIGluICgnZGVzY3JpcHRpb24nLCk6CisgICAg ICAgICAgICAgICAgZGF0YVtrXSA9IHYKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg ICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjbHM9Q29sUGFyYW1zSlNPTkRlY29kZXIpCiAKICAg ICAgICAgcmVxdWlyZWRfYXJncyA9IHsKICAgICAgICAgICAgICduYW1lJzogJ05hbWUnLApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbnMvc3RhdGljL2pzL2NvbHVtbi5qcyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy9jb2x1bW5zL3N0YXRpYy9qcy9jb2x1bW4uanMKaW5kZXggM2VjZTAzZjcuLmEwNDVkYzc4IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy9zdGF0aWMvanMvY29sdW1uLmpzCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9jb2x1bW5zL3N0YXRpYy9qcy9jb2x1bW4uanMKQEAgLTI0LDcgKzI0LDcgQEAgZGVm aW5lKCdwZ2FkbWluLm5vZGUuY29sdW1uJywgWwogICAgICAgICB0eXBlOiAnY29sbC1jb2x1bW4n LAogICAgICAgICBjb2x1bW5zOiBbJ25hbWUnLCAnYXR0dHlwaWQnLCAnZGVzY3JpcHRpb24nXSwK ICAgICAgICAgY2FuRHJvcDogU2NoZW1hQ2hpbGRUcmVlTm9kZS5pc1RyZWVJdGVtT2ZDaGlsZE9m U2NoZW1hLAotICAgICAgICBjYW5Ecm9wQ2FzY2FkZTogU2NoZW1hQ2hpbGRUcmVlTm9kZS5pc1Ry ZWVJdGVtT2ZDaGlsZE9mU2NoZW1hLAorICAgICAgICBjYW5Ecm9wQ2FzY2FkZTogZmFsc2UsCiAg ICAgICB9KTsKICAgfQogCkBAIC0xODUsMTMgKzE4NSwxNSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9k ZS5jb2x1bW4nLCBbCiAgICAgICAgICAgYXR0bm90bnVsbDogZmFsc2UsCiAgICAgICAgICAgYXR0 bGVuOiBudWxsLAogICAgICAgICAgIGF0dHByZWNpc2lvbjogbnVsbCwKLSAgICAgICAgICBhdHRp ZGVudGl0eTogdW5kZWZpbmVkLAorICAgICAgICAgIGF0dGlkZW50aXR5OiAnYScsCiAgICAgICAg ICAgc2VxaW5jcmVtZW50OiB1bmRlZmluZWQsCiAgICAgICAgICAgc2Vxc3RhcnQ6IHVuZGVmaW5l ZCwKICAgICAgICAgICBzZXFtaW46IHVuZGVmaW5lZCwKICAgICAgICAgICBzZXFtYXg6IHVuZGVm aW5lZCwKICAgICAgICAgICBzZXFjYWNoZTogdW5kZWZpbmVkLAogICAgICAgICAgIHNlcWN5Y2xl OiB1bmRlZmluZWQsCisgICAgICAgICAgY29sY29uc3R5cGU6ICduJywKKyAgICAgICAgICBnZW5l eHByOiB1bmRlZmluZWQsCiAgICAgICAgIH0sCiAgICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9u KGF0dHJzKSB7CiAgICAgICAgICAgaWYgKF8uc2l6ZShhdHRycykgIT09IDApIHsKQEAgLTQ3OSw2 NyArNDgxLDYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuY29sdW1uJywgWwogICAgICAgICAgICAg fQogICAgICAgICAgICAgcmV0dXJuIGZsYWc7CiAgICAgICAgICAgfSwKLSAgICAgICAgfSx7Ci0g ICAgICAgICAgaWQ6ICdkZWZ2YWwnLCBsYWJlbDogZ2V0dGV4dCgnRGVmYXVsdCcpLCBjZWxsOiAn c3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0 aW9uJyksIGRlcHM6IFsnY2x0eXBlJ10sCi0gICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0p IHsKLSAgICAgICAgICAgIGlmKCFtLmluU2NoZW1hV2l0aE1vZGVsQ2hlY2suYXBwbHkodGhpcywg W21dKSkgewotICAgICAgICAgICAgICB2YXIgdHlwZSA9IG0uZ2V0KCdjbHR5cGUnKTsKLSAgICAg ICAgICAgICAgcmV0dXJuIHR5cGUgPT0gJ3NlcmlhbCcgfHwgdHlwZSA9PSAnYmlnc2VyaWFsJwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHR5cGUgPT0gJ3NtYWxs c2VyaWFsJzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9LAotICAgICAgICB9LHsKLSAgICAg ICAgICBpZDogJ2F0dG5vdG51bGwnLCBsYWJlbDogZ2V0dGV4dCgnTm90IE5VTEw/JyksIGNlbGw6 ICdzd2l0Y2gnLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBkaXNhYmxlZDogJ2luU2NoZW1h V2l0aENvbHVtbkNoZWNrJywgY2VsbEhlYWRlckNsYXNzZXM6J3dpZHRoX3BlcmNlbnRfMjAnLAot ICAgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksIGVkaXRhYmxlOiAnZWRpdGFi bGVfY2hlY2tfZm9yX3RhYmxlJywKLSAgICAgICAgICBvcHRpb25zOiB7IG9uVGV4dDogZ2V0dGV4 dCgnWWVzJyksIG9mZlRleHQ6IGdldHRleHQoJ05vJyksIG9uQ29sb3I6ICdzdWNjZXNzJywgb2Zm Q29sb3I6ICdwcmltYXJ5JyB9LAotICAgICAgICB9LHsKLSAgICAgICAgICB0eXBlOiAnbmVzdGVk JywgY29udHJvbDogJ2ZpZWxkc2V0JywgbGFiZWw6IGdldHRleHQoJ0lkZW50aXR5JyksCi0gICAg ICAgICAgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKLSAgICAgICAgICBzY2hlbWE6W3sK LSAgICAgICAgICAgIGlkOiAnYXR0aWRlbnRpdHknLCBsYWJlbDogZ2V0dGV4dCgnSWRlbnRpdHkn KSwgY29udHJvbDogJ3NlbGVjdDInLAotICAgICAgICAgICAgY2VsbDogJ3NlbGVjdDInLCBzZWxl Y3QyOiB7IHBsYWNlaG9sZGVyOiAnU2VsZWN0IGlkZW50aXR5JywKLSAgICAgICAgICAgICAgYWxs b3dDbGVhcjogdHJ1ZSwKLSAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJywKLSAgICAgICAgICAg IH0sCi0gICAgICAgICAgICBtaW5fdmVyc2lvbjogMTAwMDAwLCBncm91cDogZ2V0dGV4dCgnSWRl bnRpdHknKSwKLSAgICAgICAgICAgICdvcHRpb25zJzogWwotICAgICAgICAgICAgICB7bGFiZWw6 IGdldHRleHQoJ0FMV0FZUycpLCB2YWx1ZTogJ2EnfSwKLSAgICAgICAgICAgICAge2xhYmVsOiBn ZXR0ZXh0KCdCWSBERUZBVUxUJyksIHZhbHVlOiAnZCd9LAotICAgICAgICAgICAgXSwKLSAgICAg ICAgICB9LHsKLSAgICAgICAgICAgIGlkOiAnc2VxaW5jcmVtZW50JywgbGFiZWw6IGdldHRleHQo J0luY3JlbWVudCcpLCB0eXBlOiAnaW50JywKLSAgICAgICAgICAgIG1vZGU6IFsncHJvcGVydGll cycsICdjcmVhdGUnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnSWRlbnRpdHknKSwKLSAgICAg ICAgICAgIG1pbjogMSwgZGVwczogWydhdHRpZGVudGl0eSddLCBkaXNhYmxlZDogJ2lzSWRlbnRp dHlDb2x1bW4nLAotICAgICAgICAgIH0sewotICAgICAgICAgICAgaWQ6ICdzZXFzdGFydCcsIGxh YmVsOiBnZXR0ZXh0KCdTdGFydCcpLCB0eXBlOiAnaW50JywKLSAgICAgICAgICAgIG1vZGU6IFsn cHJvcGVydGllcycsICdjcmVhdGUnXSwgZ3JvdXA6IGdldHRleHQoJ0lkZW50aXR5JyksCi0gICAg ICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgICBpZiAoIW0uaXNO ZXcoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgbGV0IGlz SWRlbnRpdHkgPSBtLmdldCgnYXR0aWRlbnRpdHknKTsKLSAgICAgICAgICAgICAgaWYoIV8uaXNV bmRlZmluZWQoaXNJZGVudGl0eSkgJiYgIV8uaXNOdWxsKGlzSWRlbnRpdHkpICYmICFfLmlzRW1w dHkoaXNJZGVudGl0eSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0sIGRlcHM6IFsnYXR0aWRlbnRpdHknXSwK LSAgICAgICAgICB9LHsKLSAgICAgICAgICAgIGlkOiAnc2VxbWluJywgbGFiZWw6IGdldHRleHQo J01pbmltdW0nKSwgdHlwZTogJ2ludCcsCi0gICAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0lkZW50aXR5JyksCi0gICAgICAg ICAgICBkZXBzOiBbJ2F0dGlkZW50aXR5J10sIGRpc2FibGVkOiAnaXNJZGVudGl0eUNvbHVtbics Ci0gICAgICAgICAgfSx7Ci0gICAgICAgICAgICBpZDogJ3NlcW1heCcsIGxhYmVsOiBnZXR0ZXh0 KCdNYXhpbXVtJyksIHR5cGU6ICdpbnQnLAotICAgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVz JywgJ2NyZWF0ZScsICdlZGl0J10sIGdyb3VwOiBnZXR0ZXh0KCdJZGVudGl0eScpLAotICAgICAg ICAgICAgZGVwczogWydhdHRpZGVudGl0eSddLCBkaXNhYmxlZDogJ2lzSWRlbnRpdHlDb2x1bW4n LAotICAgICAgICAgIH0sewotICAgICAgICAgICAgaWQ6ICdzZXFjYWNoZScsIGxhYmVsOiBnZXR0 ZXh0KCdDYWNoZScpLCB0eXBlOiAnaW50JywKLSAgICAgICAgICAgIG1vZGU6IFsncHJvcGVydGll cycsICdjcmVhdGUnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnSWRlbnRpdHknKSwKLSAgICAg ICAgICAgIG1pbjogMSwgZGVwczogWydhdHRpZGVudGl0eSddLCBkaXNhYmxlZDogJ2lzSWRlbnRp dHlDb2x1bW4nLAotICAgICAgICAgIH0sewotICAgICAgICAgICAgaWQ6ICdzZXFjeWNsZScsIGxh YmVsOiBnZXR0ZXh0KCdDeWNsZWQnKSwgdHlwZTogJ3N3aXRjaCcsCi0gICAgICAgICAgICBtb2Rl OiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0lkZW50 aXR5JyksCi0gICAgICAgICAgICBkZXBzOiBbJ2F0dGlkZW50aXR5J10sIGRpc2FibGVkOiAnaXNJ ZGVudGl0eUNvbHVtbicsCi0gICAgICAgICAgfV0sCiAgICAgICAgIH0sewogICAgICAgICAgIGlk OiAnYXR0c3RhdHRhcmdldCcsIGxhYmVsOiBnZXR0ZXh0KCdTdGF0aXN0aWNzJyksIGNlbGw6ICdz dHJpbmcnLAogICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhD b2x1bW5DaGVjaycsIG1vZGU6IFsncHJvcGVydGllcycsICdlZGl0J10sCkBAIC01NTgsNiArNDk5 LDE0OSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5jb2x1bW4nLCBbCiAgICAgICAgICAgICB7bGFi ZWw6ICdFWFRFUk5BTCcsIHZhbHVlOiAnZSd9LAogICAgICAgICAgICAge2xhYmVsOiAnRVhURU5E RUQnLCB2YWx1ZTogJ3gnfSwKICAgICAgICAgICBdLAorICAgICAgICB9LHsKKyAgICAgICAgICBp ZDogJ2RlZnZhbCcsIGxhYmVsOiBnZXR0ZXh0KCdEZWZhdWx0JyksIGNlbGw6ICdzdHJpbmcnLAor ICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksIGRl cHM6IFsnY2x0eXBlJywgJ2NvbGNvbnN0eXBlJ10sCisgICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0 aW9uKG0pIHsKKyAgICAgICAgICAgIHZhciBpc19kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICAg ICAgaWYoIW0uaW5TY2hlbWFXaXRoTW9kZWxDaGVjay5hcHBseSh0aGlzLCBbbV0pKSB7CisgICAg ICAgICAgICAgIHZhciB0eXBlID0gbS5nZXQoJ2NsdHlwZScpOworICAgICAgICAgICAgICBpc19k aXNhYmxlZCA9ICh0eXBlID09ICdzZXJpYWwnIHx8IHR5cGUgPT0gJ2JpZ3NlcmlhbCcgfHwgdHlw ZSA9PSAnc21hbGxzZXJpYWwnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaXNfZGlz YWJsZWQgPSBpc19kaXNhYmxlZCB8fCBtLmdldCgnY29sY29uc3R5cGUnKSAhPSAnbic7CisgICAg ICAgICAgICBpZiAoaXNfZGlzYWJsZWQgJiYgbS5pc05ldygpKSB7CisgICAgICAgICAgICAgIHNl dFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIG0uc2V0KCdkZWZ2YWwnLCB1 bmRlZmluZWQpOworICAgICAgICAgICAgICB9LCAxMCk7CisgICAgICAgICAgICB9CisKKyAgICAg ICAgICAgIHJldHVybiBpc19kaXNhYmxlZDsKKyAgICAgICAgICB9LAorICAgICAgICB9LHsKKyAg ICAgICAgICBpZDogJ2F0dG5vdG51bGwnLCBsYWJlbDogZ2V0dGV4dCgnTm90IE5VTEw/JyksIGNl bGw6ICdzd2l0Y2gnLAorICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBjZWxsSGVhZGVyQ2xhc3Nl czond2lkdGhfcGVyY2VudF8yMCcsCisgICAgICAgICAgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFp bnRzJyksIGVkaXRhYmxlOiAnZWRpdGFibGVfY2hlY2tfZm9yX3RhYmxlJywKKyAgICAgICAgICBv cHRpb25zOiB7IG9uVGV4dDogZ2V0dGV4dCgnWWVzJyksIG9mZlRleHQ6IGdldHRleHQoJ05vJyks IG9uQ29sb3I6ICdzdWNjZXNzJywgb2ZmQ29sb3I6ICdwcmltYXJ5JyB9LAorICAgICAgICAgIGRl cHM6IFsnY29sY29uc3R5cGUnXSwKKyAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewor ICAgICAgICAgICAgaWYgKG0uZ2V0KCdjb2xjb25zdHlwZScpID09ICdpJykgeworICAgICAgICAg ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBtLnNldCgnYXR0 bm90bnVsbCcsIHRydWUpOworICAgICAgICAgICAgICB9LCAxMCk7CisgICAgICAgICAgICB9Cisg ICAgICAgICAgICByZXR1cm4gbS5pblNjaGVtYVdpdGhDb2x1bW5DaGVjayhtKTsKKyAgICAgICAg ICB9LAorICAgICAgICB9LCB7CisgICAgICAgICAgaWQ6ICdjb2xjb25zdHlwZScsCisgICAgICAg ICAgbGFiZWw6IGdldHRleHQoJ1R5cGUnKSwKKyAgICAgICAgICBjZWxsOiAnc3RyaW5nJywKKyAg ICAgICAgICB0eXBlOiAncmFkaW9Nb2Rlcm4nLAorICAgICAgICAgIGNvbnRyb2xzQ2xhc3NOYW1l OiAncGdhZG1pbi1jb250cm9scyBjb2wtMTIgY29sLXNtLTknLAorICAgICAgICAgIGNvbnRyb2xM YWJlbENsYXNzTmFtZTogJ2NvbnRyb2wtbGFiZWwgY29sLXNtLTMgY29sLTEyJywKKyAgICAgICAg ICBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAgICBvcHRpb25zOiBmdW5j dGlvbihtKSB7CisgICAgICAgICAgICB2YXIgb3B0X2FycmF5ID0gWworICAgICAgICAgICAgICB7 J2xhYmVsJzogZ2V0dGV4dCgnTk9ORScpLCAndmFsdWUnOiAnbid9LAorICAgICAgICAgICAgICB7 J2xhYmVsJzogZ2V0dGV4dCgnSURFTlRJVFknKSwgJ3ZhbHVlJzogJ2knfSwKKyAgICAgICAgICAg IF07CisKKyAgICAgICAgICAgIGlmIChtLnRvcC5ub2RlX2luZm8gJiYgbS50b3Aubm9kZV9pbmZv LnNlcnZlciAmJgorICAgICAgICAgICAgICAgIG0udG9wLm5vZGVfaW5mby5zZXJ2ZXIudmVyc2lv biA+PSAxMjAwMDApIHsKKyAgICAgICAgICAgICAgLy8gWW91IGNhbid0IGNoYW5nZSB0aGUgZXhp c3RpbmcgY29sdW1uIHRvIEdlbmVyYXRlZCBjb2x1bW4uCisgICAgICAgICAgICAgIGlmIChtLmlz TmV3KCkpIHsKKyAgICAgICAgICAgICAgICBvcHRfYXJyYXkucHVzaCh7CisgICAgICAgICAgICAg ICAgICAnbGFiZWwnOiBnZXR0ZXh0KCdHRU5FUkFURUQnKSwKKyAgICAgICAgICAgICAgICAgICd2 YWx1ZSc6ICdnJywKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICAgICBvcHRfYXJyYXkucHVzaCh7CisgICAgICAgICAgICAgICAgICAnbGFi ZWwnOiBnZXR0ZXh0KCdHRU5FUkFURUQnKSwKKyAgICAgICAgICAgICAgICAgICd2YWx1ZSc6ICdn JywKKyAgICAgICAgICAgICAgICAgICdkaXNhYmxlZCc6IHRydWUsCisgICAgICAgICAgICAgICAg fSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJu IG9wdF9hcnJheTsKKyAgICAgICAgICB9LAorICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbiht KSB7CisgICAgICAgICAgICBpZiAoIW0uaXNOZXcoKSAmJiBtLmdldCgnY29sY29uc3R5cGUnKSA9 PSAnZycpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgfSwKKyAgICAgICAgICB2aXNpYmxlOiBm dW5jdGlvbihtKSB7CisgICAgICAgICAgICBpZiAobS50b3Aubm9kZV9pbmZvICYmIG0udG9wLm5v ZGVfaW5mby5zZXJ2ZXIgJiYKKyAgICAgICAgICAgICAgICBtLnRvcC5ub2RlX2luZm8uc2VydmVy LnZlcnNpb24gPj0gMTAwMDAwKSB7CisgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg ICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0sCisgICAgICAg IH0sIHsKKyAgICAgICAgICBpZDogJ2F0dGlkZW50aXR5JywgbGFiZWw6IGdldHRleHQoJ0lkZW50 aXR5JyksIGNvbnRyb2w6ICdzZWxlY3QyJywKKyAgICAgICAgICBjZWxsOiAnc2VsZWN0MicsCisg ICAgICAgICAgc2VsZWN0Mjoge3BsYWNlaG9sZGVyOiAnU2VsZWN0IGlkZW50aXR5JywgYWxsb3dD bGVhcjogZmFsc2UsIHdpZHRoOiAnMTAwJSd9LAorICAgICAgICAgIG1pbl92ZXJzaW9uOiAxMDAw MDAsIGdyb3VwOiBnZXR0ZXh0KCdDb25zdHJhaW50cycpLAorICAgICAgICAgICdvcHRpb25zJzog WworICAgICAgICAgICAge2xhYmVsOiBnZXR0ZXh0KCdBTFdBWVMnKSwgdmFsdWU6ICdhJ30sCisg ICAgICAgICAgICB7bGFiZWw6IGdldHRleHQoJ0JZIERFRkFVTFQnKSwgdmFsdWU6ICdkJ30sCisg ICAgICAgICAgXSwKKyAgICAgICAgICBkZXBzOiBbJ2NvbGNvbnN0eXBlJ10sIHZpc2libGU6ICdp c1R5cGVJZGVudGl0eScsCisgICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKKyAgICAg ICAgICAgIGlmICghbS5pc05ldygpKSB7CisgICAgICAgICAgICAgIGlmIChtLmdldCgnYXR0aWRl bnRpdHknKSA9PSAnJyAmJiBtLmdldCgnY29sY29uc3R5cGUnKSA9PSAnaScpIHsKKyAgICAgICAg ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgIG0uc2V0 KCdhdHRpZGVudGl0eScsIG0uZ2V0KCdvbGRfYXR0aWRlbnRpdHknKSk7CisgICAgICAgICAgICAg ICAgfSwgMTApOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBy ZXR1cm4gZmFsc2U7CisgICAgICAgICAgfSwKKyAgICAgICAgfSwgeworICAgICAgICAgIGlkOiAn c2VxaW5jcmVtZW50JywgbGFiZWw6IGdldHRleHQoJ0luY3JlbWVudCcpLCB0eXBlOiAnaW50JywK KyAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6 IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisgICAgICAgICAgbWluOiAxLCBkZXBzOiBbJ2F0dGlk ZW50aXR5JywgJ2NvbGNvbnN0eXBlJ10sIGRpc2FibGVkOiAnaXNJZGVudGl0eUNvbHVtbicsCisg ICAgICAgICAgdmlzaWJsZTogJ2lzVHlwZUlkZW50aXR5JywKKyAgICAgICAgfSx7CisgICAgICAg ICAgaWQ6ICdzZXFzdGFydCcsIGxhYmVsOiBnZXR0ZXh0KCdTdGFydCcpLCB0eXBlOiAnaW50JywK KyAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJ10sIGdyb3VwOiBnZXR0ZXh0 KCdDb25zdHJhaW50cycpLAorICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7CisgICAg ICAgICAgICBpZiAoIW0uaXNOZXcoKSkKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg ICAgICAgICBsZXQgaXNJZGVudGl0eSA9IG0uZ2V0KCdhdHRpZGVudGl0eScpOworICAgICAgICAg ICAgaWYoIV8uaXNVbmRlZmluZWQoaXNJZGVudGl0eSkgJiYgIV8uaXNOdWxsKGlzSWRlbnRpdHkp ICYmICFfLmlzRW1wdHkoaXNJZGVudGl0eSkpCisgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0sIGRlcHM6IFsnYXR0aWRlbnRp dHknLCAnY29sY29uc3R5cGUnXSwKKyAgICAgICAgICB2aXNpYmxlOiAnaXNUeXBlSWRlbnRpdHkn LAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ3NlcW1pbicsIGxhYmVsOiBnZXR0ZXh0KCdN aW5pbXVtJyksIHR5cGU6ICdpbnQnLAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdj cmVhdGUnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAg ICBkZXBzOiBbJ2F0dGlkZW50aXR5JywgJ2NvbGNvbnN0eXBlJ10sIGRpc2FibGVkOiAnaXNJZGVu dGl0eUNvbHVtbicsCisgICAgICAgICAgdmlzaWJsZTogJ2lzVHlwZUlkZW50aXR5JywKKyAgICAg ICAgfSx7CisgICAgICAgICAgaWQ6ICdzZXFtYXgnLCBsYWJlbDogZ2V0dGV4dCgnTWF4aW11bScp LCB0eXBlOiAnaW50JywKKyAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywg J2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0NvbnN0cmFpbnRzJyksCisgICAgICAgICAgZGVwczog WydhdHRpZGVudGl0eScsICdjb2xjb25zdHlwZSddLCBkaXNhYmxlZDogJ2lzSWRlbnRpdHlDb2x1 bW4nLAorICAgICAgICAgIHZpc2libGU6ICdpc1R5cGVJZGVudGl0eScsCisgICAgICAgIH0sewor ICAgICAgICAgIGlkOiAnc2VxY2FjaGUnLCBsYWJlbDogZ2V0dGV4dCgnQ2FjaGUnKSwgdHlwZTog J2ludCcsCisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10s IGdyb3VwOiBnZXR0ZXh0KCdDb25zdHJhaW50cycpLAorICAgICAgICAgIG1pbjogMSwgZGVwczog WydhdHRpZGVudGl0eScsICdjb2xjb25zdHlwZSddLCBkaXNhYmxlZDogJ2lzSWRlbnRpdHlDb2x1 bW4nLAorICAgICAgICAgIHZpc2libGU6ICdpc1R5cGVJZGVudGl0eScsCisgICAgICAgIH0sewor ICAgICAgICAgIGlkOiAnc2VxY3ljbGUnLCBsYWJlbDogZ2V0dGV4dCgnQ3ljbGVkJyksIHR5cGU6 ICdzd2l0Y2gnLAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRp dCddLCBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAgICBkZXBzOiBbJ2F0 dGlkZW50aXR5JywgJ2NvbGNvbnN0eXBlJ10sIGRpc2FibGVkOiAnaXNJZGVudGl0eUNvbHVtbics CisgICAgICAgICAgdmlzaWJsZTogJ2lzVHlwZUlkZW50aXR5JywKKyAgICAgICAgfSx7CisgICAg ICAgICAgaWQ6ICdnZW5leHByJywgbGFiZWw6IGdldHRleHQoJ0V4cHJlc3Npb24nKSwgdHlwZTog J3RleHQnLAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCdd LCBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKKyAgICAgICAgICBtaW5fdmVyc2lvbjog MTIwMDAwLCBkZXBzOiBbJ2NvbGNvbnN0eXBlJ10sIHZpc2libGU6ICdpc1R5cGVHZW5lcmF0ZWQn LAorICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICByZXR1cm4g IW0uaXNOZXcoKTsKKyAgICAgICAgICB9LAogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ2lz X3BrJywgbGFiZWw6IGdldHRleHQoJ1ByaW1hcnkga2V5PycpLAogICAgICAgICAgIHR5cGU6ICdz d2l0Y2gnLCBkaXNhYmxlZDogdHJ1ZSwgbW9kZTogWydwcm9wZXJ0aWVzJ10sCkBAIC02NjUsMTIg Kzc0OSwyMyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5jb2x1bW4nLCBbCiAgICAgICAgICAgICB9 CiAgICAgICAgICAgfQogCisgICAgICAgICAgbGV0IGdlbmV4cHIgPSB0aGlzLmdldCgnZ2VuZXhw cicpOworICAgICAgICAgIGlmICh0aGlzLmdldCgnY29sY29uc3R5cGUnKSA9PSAnZycgJiYKKyAg ICAgICAgICAgIChfLmlzVW5kZWZpbmVkKGdlbmV4cHIpIHx8IF8uaXNOdWxsKGdlbmV4cHIpIHx8 IGdlbmV4cHIgPT0gJycpKSB7CisgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdFeHByZXNzaW9u IHZhbHVlIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5z ZXQoJ2dlbmV4cHInLCBtc2cpOworICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICB9 IGVsc2UgeworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdnZW5leHByJyk7Cisg ICAgICAgICAgfQorCiAgICAgICAgICAgdmFyICBtaW5pbXVtID0gdGhpcy5nZXQoJ3NlcW1pbicp LAogICAgICAgICAgICAgbWF4aW11bSA9IHRoaXMuZ2V0KCdzZXFtYXgnKSwKICAgICAgICAgICAg IHN0YXJ0ID0gdGhpcy5nZXQoJ3NlcXN0YXJ0Jyk7CiAKLSAgICAgICAgICBpZiAoIXRoaXMuaXNO ZXcoKSAmJiAodGhpcy5nZXQoJ29sZF9hdHRpZGVudGl0eScpID09ICdhJyB8fCB0aGlzLmdldCgn b2xkX2F0dGlkZW50aXR5JykgPT0gJ2QnKSAmJgotICAgICAgICAgICh0aGlzLmdldCgnYXR0aWRl bnRpdHknKSA9PSAnYScgfHwgdGhpcy5nZXQoJ2F0dGlkZW50aXR5JykgPT0gJ2QnKSkgeworICAg ICAgICAgIGlmICghdGhpcy5pc05ldygpICYmIHRoaXMuZ2V0KCdjb2xjb25zdHlwZScpID09ICdp JyAmJgorICAgICAgICAgICAgKHRoaXMuZ2V0KCdvbGRfYXR0aWRlbnRpdHknKSA9PSAnYScgfHwg dGhpcy5nZXQoJ29sZF9hdHRpZGVudGl0eScpID09ICdkJykgJiYKKyAgICAgICAgICAgICh0aGlz LmdldCgnYXR0aWRlbnRpdHknKSA9PSAnYScgfHwgdGhpcy5nZXQoJ2F0dGlkZW50aXR5JykgPT0g J2QnKSkgewogICAgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3NlcWluY3Jl bWVudCcpKQogICAgICAgICAgICAgICB8fCBTdHJpbmcodGhpcy5nZXQoJ3NlcWluY3JlbWVudCcp KS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7CiAgICAgICAgICAgICAgIG1zZyA9 IGdldHRleHQoJ0luY3JlbWVudCB2YWx1ZSBjYW5ub3QgYmUgZW1wdHkuJyk7CkBAIC03NDUsNiAr ODQwLDIyIEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmNvbHVtbicsIFsKICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfSwKKyAgICAgICAg Ly8gQ2hlY2sgd2hldGhlciB0aGUgY29sdW1uIGlzIGEgaWRlbnRpdHkgY29sdW1uCisgICAgICAg IGlzVHlwZUlkZW50aXR5OiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgbGV0IGNvbGNvbnN0eXBl ID0gbS5nZXQoJ2NvbGNvbnN0eXBlJyk7CisgICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGNv bGNvbnN0eXBlKSAmJiAhXy5pc051bGwoY29sY29uc3R5cGUpICYmIGNvbGNvbnN0eXBlID09ICdp JykgeworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgfQorICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgfSwKKyAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgY29s dW1uIGlzIGEgZ2VuZXJhdGVkIGNvbHVtbgorICAgICAgICBpc1R5cGVHZW5lcmF0ZWQ6IGZ1bmN0 aW9uKG0pIHsKKyAgICAgICAgICBsZXQgY29sY29uc3R5cGUgPSBtLmdldCgnY29sY29uc3R5cGUn KTsKKyAgICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQoY29sY29uc3R5cGUpICYmICFfLmlzTnVs bChjb2xjb25zdHlwZSkgJiYgY29sY29uc3R5cGUgPT0gJ2cnKSB7CisgICAgICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9 LAogICAgICAgICAvLyBXZSB3aWxsIGNoZWNrIGlmIHdlIGFyZSB1bmRlciBzY2hlbWEgbm9kZSAm IGluICdjcmVhdGUnIG1vZGUKICAgICAgICAgbm90SW5TY2hlbWE6IGZ1bmN0aW9uKCkgewogICAg ICAgICAgIGlmKHRoaXMubm9kZV9pbmZvICYmICAnY2F0YWxvZycgaW4gdGhpcy5ub2RlX2luZm8p CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy90ZXN0cy90ZXN0X2NvbHVtbl9hZGQucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90YWJsZXMvY29sdW1ucy90ZXN0cy90ZXN0X2NvbHVtbl9hZGQucHkKaW5kZXggYmI5MmNm YjcuLjc1NmZiNTEwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy90ZXN0cy90ZXN0X2Nv bHVtbl9hZGQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbnMvdGVzdHMvdGVzdF9jb2x1bW5fYWRk LnB5CkBAIC0yNSwzMSArMjUsODMgQEAgZnJvbSBwZ2FkbWluLnV0aWxzIGltcG9ydCBzZXJ2ZXJf dXRpbHMgYXMgc2VydmVyX3V0aWxzCiBjbGFzcyBDb2x1bW5BZGRUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgIiIiVGhpcyBjbGFzcyB3aWxsIGFkZCBuZXcgY29sdW1uIHVuZGVyIHRh YmxlIG5vZGUuIiIiCiAgICAgc2NlbmFyaW9zID0gWwotICAgICAgICAoJ0FkZCBjb2x1bW4nLCBk aWN0KHVybD0nL2Jyb3dzZXIvY29sdW1uL29iai8nKSksCi0gICAgICAgICgnQWRkIGNvbHVtbiB3 aXRoIElkZW50aXR5JywgZGljdCh1cmw9Jy9icm93c2VyL2NvbHVtbi9vYmovJywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9taW5fdmVyc2lvbj0xMDAw MDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGl0eV9v cHQ9ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjbHR5 cGUnOiAnYmlnaW50JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnYXR0aWRlbnRpdHknOiAnYScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3NlcWluY3JlbWVudCc6IDEsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcXN0YXJ0JzogMSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VxbWluJzogMSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VxbWF4JzogMTAsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcWNhY2hlJzogMSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VxY3ljbGUnOiBUcnVl Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSksCi0gICAgICAg ICgnQWRkIGNvbHVtbiB3aXRoIElkZW50aXR5JywgZGljdCh1cmw9Jy9icm93c2VyL2NvbHVtbi9v YmovJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9t aW5fdmVyc2lvbj0xMDAwMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZGVudGl0eV9vcHQ9ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdjbHR5cGUnOiAnYmlnaW50JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnYXR0aWRlbnRpdHknOiAnZCcsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcWluY3JlbWVudCc6IDIsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcXN0YXJ0JzogMiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VxbWluJzogMiwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VxbWF4Jzog MjAwMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2Vx Y2FjaGUnOiAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdzZXFjeWNsZSc6IFRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0pKQorICAgICAgICAoJ0FkZCBjb2x1bW4nLCBkaWN0KAorICAgICAgICAgICAgdXJsPScv YnJvd3Nlci9jb2x1bW4vb2JqLycsCisgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAg ICAnY2x0eXBlJzogIlwiY2hhclwiIiwKKyAgICAgICAgICAgICAgICAnYXR0YWNsJzogW10sCisg ICAgICAgICAgICAgICAgJ2lzX3ByaW1hcnlfa2V5JzogRmFsc2UsCisgICAgICAgICAgICAgICAg J2F0dG5vdG51bGwnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnYXR0bGVuJzogTm9uZSwKKyAg ICAgICAgICAgICAgICAnYXR0cHJlY2lzaW9uJzogTm9uZSwKKyAgICAgICAgICAgICAgICAnYXR0 b3B0aW9ucyc6W10sCisgICAgICAgICAgICAgICAgJ3NlY2xhYmVscyc6W10sCisgICAgICAgICAg ICB9KSksCisgICAgICAgICgnQWRkIElkZW50aXR5IGNvbHVtbiB3aXRoIEFsd2F5cycsIGRpY3Qo CisgICAgICAgICAgICB1cmw9Jy9icm93c2VyL2NvbHVtbi9vYmovJywKKyAgICAgICAgICAgIHNl cnZlcl9taW5fdmVyc2lvbj0xMDAwMDAsCisgICAgICAgICAgICBza2lwX21zZz0nSWRlbnRpdHkg Y29sdW1uIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IEVQQVMvUEcgMTAuMCAnCisgICAgICAgICAgICAg ICAgICAgICAnYW5kIGJlbG93LicsCisgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAg ICAnY2x0eXBlJzogJ2JpZ2ludCcsCisgICAgICAgICAgICAgICAgJ2F0dGFjbCc6IFtdLAorICAg ICAgICAgICAgICAgICdpc19wcmltYXJ5X2tleSc6IEZhbHNlLAorICAgICAgICAgICAgICAgICdh dHRub3RudWxsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnYXR0bGVuJzogTm9uZSwKKyAgICAg ICAgICAgICAgICAnYXR0cHJlY2lzaW9uJzogTm9uZSwKKyAgICAgICAgICAgICAgICAnYXR0b3B0 aW9ucyc6IFtdLAorICAgICAgICAgICAgICAgICdzZWNsYWJlbHMnOiBbXSwKKyAgICAgICAgICAg ICAgICAnY29sY29uc3R5cGUnOiAnaScsCisgICAgICAgICAgICAgICAgJ2F0dGlkZW50aXR5Jzog J2EnLAorICAgICAgICAgICAgICAgICdzZXFpbmNyZW1lbnQnOiAxLAorICAgICAgICAgICAgICAg ICdzZXFzdGFydCc6IDEsCisgICAgICAgICAgICAgICAgJ3NlcW1pbic6IDEsCisgICAgICAgICAg ICAgICAgJ3NlcW1heCc6IDEwLAorICAgICAgICAgICAgICAgICdzZXFjYWNoZSc6IDEsCisgICAg ICAgICAgICAgICAgJ3NlcWN5Y2xlJzogVHJ1ZQorICAgICAgICAgICAgfSkpLAorICAgICAgICAo J0FkZCBJZGVudGl0eSBjb2x1bW4gd2l0aCBBcyBEZWZhdWx0JywgZGljdCgKKyAgICAgICAgICAg IHVybD0nL2Jyb3dzZXIvY29sdW1uL29iai8nLAorICAgICAgICAgICAgY29sX2RhdGFfdHlwZT0n YmlnaW50JywKKyAgICAgICAgICAgIHNlcnZlcl9taW5fdmVyc2lvbj0xMDAwMDAsCisgICAgICAg ICAgICBza2lwX21zZz0nSWRlbnRpdHkgY29sdW1uIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IEVQQVMv UEcgMTAuMCAnCisgICAgICAgICAgICAgICAgICAgICAnYW5kIGJlbG93LicsCisgICAgICAgICAg ICBkYXRhPXsKKyAgICAgICAgICAgICAgICAnY2x0eXBlJzogJ2JpZ2ludCcsCisgICAgICAgICAg ICAgICAgJ2F0dGFjbCc6IFtdLAorICAgICAgICAgICAgICAgICdpc19wcmltYXJ5X2tleSc6IEZh bHNlLAorICAgICAgICAgICAgICAgICdhdHRub3RudWxsJzogVHJ1ZSwKKyAgICAgICAgICAgICAg ICAnYXR0bGVuJzogTm9uZSwKKyAgICAgICAgICAgICAgICAnYXR0cHJlY2lzaW9uJzogTm9uZSwK KyAgICAgICAgICAgICAgICAnYXR0b3B0aW9ucyc6IFtdLAorICAgICAgICAgICAgICAgICdzZWNs YWJlbHMnOiBbXSwKKyAgICAgICAgICAgICAgICAnY29sY29uc3R5cGUnOiAnaScsCisgICAgICAg ICAgICAgICAgJ2F0dGlkZW50aXR5JzogJ2QnLAorICAgICAgICAgICAgICAgICdzZXFpbmNyZW1l bnQnOiAyLAorICAgICAgICAgICAgICAgICdzZXFzdGFydCc6IDIsCisgICAgICAgICAgICAgICAg J3NlcW1pbic6IDIsCisgICAgICAgICAgICAgICAgJ3NlcW1heCc6IDIwMDAsCisgICAgICAgICAg ICAgICAgJ3NlcWNhY2hlJzogMSwKKyAgICAgICAgICAgICAgICAnc2VxY3ljbGUnOiBUcnVlCisg ICAgICAgICAgICB9KSksCisgICAgICAgICgnQWRkIEdlbmVyYXRlZCBjb2x1bW4nLCBkaWN0KAor ICAgICAgICAgICAgdXJsPScvYnJvd3Nlci9jb2x1bW4vb2JqLycsCisgICAgICAgICAgICBjb2xf ZGF0YV90eXBlPSdiaWdpbnQnLAorICAgICAgICAgICAgc2VydmVyX21pbl92ZXJzaW9uPTEyMDAw MCwKKyAgICAgICAgICAgIHNraXBfbXNnPSdHZW5lcmF0ZWQgY29sdW1uIGFyZSBub3Qgc3VwcG9y dGVkIGJ5IEVQQVMvUEcgMTIuMCAnCisgICAgICAgICAgICAgICAgICAgICAnYW5kIGJlbG93Lics CisgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAnY2x0eXBlJzogJ2JpZ2ludCcs CisgICAgICAgICAgICAgICAgJ2F0dGFjbCc6IFtdLAorICAgICAgICAgICAgICAgICdpc19wcmlt YXJ5X2tleSc6IEZhbHNlLAorICAgICAgICAgICAgICAgICdhdHRub3RudWxsJzogVHJ1ZSwKKyAg ICAgICAgICAgICAgICAnYXR0bGVuJzogTm9uZSwKKyAgICAgICAgICAgICAgICAnYXR0cHJlY2lz aW9uJzogTm9uZSwKKyAgICAgICAgICAgICAgICAnYXR0b3B0aW9ucyc6IFtdLAorICAgICAgICAg ICAgICAgICdzZWNsYWJlbHMnOiBbXSwKKyAgICAgICAgICAgICAgICAnY29sY29uc3R5cGUnOiAn ZycsCisgICAgICAgICAgICAgICAgJ2dlbmV4cHInOiAnMTAwICogMTAwJworICAgICAgICAgICAg fSkpLAogICAgIF0KIAogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTY0LDkgKzExNiw3IEBAIGNs YXNzIENvbHVtbkFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgICAg ICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIHNlcnZlciB0byBhZGQgIgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSB0YWJsZS4iKQogICAgICAgICAgICAg aWYgc2VydmVyX2NvblsiZGF0YSJdWyJ2ZXJzaW9uIl0gPCBzZWxmLnNlcnZlcl9taW5fdmVyc2lv bjoKLSAgICAgICAgICAgICAgICBtZXNzYWdlID0gIklkZW50aXR5IGNvbHVtbnMgYXJlIG5vdCBz dXBwb3J0ZWQgYnkgIiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJQUEFTL1BHIDEwLjAg YW5kIGJlbG93LiIKLSAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KG1lc3NhZ2UpCisgICAg ICAgICAgICAgICAgc2VsZi5za2lwVGVzdChzZWxmLnNraXBfbXNnKQogCiAgICAgICAgIGRiX2Nv biA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dS T1VQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpAQCAtODcsMjYgKzEzNywxNiBAQCBjbGFzcyBDb2x1 bW5BZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6 CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgY29sdW1uIHVuZGVyIHRhYmxlIG5v ZGUuIiIiCiAgICAgICAgIHNlbGYuY29sdW1uX25hbWUgPSAidGVzdF9jb2x1bW5fYWRkXyVzIiAl IChzdHIodXVpZC51dWlkNCgpKVsxOjhdKQotICAgICAgICBkYXRhID0gewotICAgICAgICAgICAg Im5hbWUiOiBzZWxmLmNvbHVtbl9uYW1lLAotICAgICAgICAgICAgImNsdHlwZSI6ICJcImNoYXJc IiIsCi0gICAgICAgICAgICAiYXR0YWNsIjogW10sCi0gICAgICAgICAgICAiaXNfcHJpbWFyeV9r ZXkiOiBGYWxzZSwKLSAgICAgICAgICAgICJhdHRub3RudWxsIjogRmFsc2UsCi0gICAgICAgICAg ICAiYXR0bGVuIjogTm9uZSwKLSAgICAgICAgICAgICJhdHRwcmVjaXNpb24iOiBOb25lLAotICAg ICAgICAgICAgImF0dG9wdGlvbnMiOiBbXSwKLSAgICAgICAgICAgICJzZWNsYWJlbHMiOiBbXQot ICAgICAgICB9CisgICAgICAgIHNlbGYuZGF0YS51cGRhdGUoeworICAgICAgICAgICAgJ25hbWUn OiBzZWxmLmNvbHVtbl9uYW1lCisgICAgICAgIH0pCiAKLSAgICAgICAgaWYgaGFzYXR0cihzZWxm LCAnaWRlbnRpdHlfb3B0Jyk6Ci0gICAgICAgICAgICBkYXRhLnVwZGF0ZShzZWxmLmlkZW50aXR5 X29wdCkKICAgICAgICAgIyBBZGQgdGFibGUKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5wb3N0KAogICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSAr ICcvJyArCiAgICAgICAgICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsgc3RyKHNlbGYu ZGJfaWQpICsKICAgICAgICAgICAgICcvJyArIHN0cihzZWxmLnNjaGVtYV9pZCkgKyAnLycgKyBz dHIoc2VsZi50YWJsZV9pZCkgKyAnLycsCi0gICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoZGF0 YSksCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5kYXRhKSwKICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVz cG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbnMv dGVzdHMvdGVzdF9jb2x1bW5fcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbnMvdGVzdHMvdGVzdF9j b2x1bW5fcHV0LnB5CmluZGV4IDQzMDcxYWI4Li44YmI4OWI2NCAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL2NvbHVtbnMvdGVzdHMvdGVzdF9jb2x1bW5fcHV0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1 bW5zL3Rlc3RzL3Rlc3RfY29sdW1uX3B1dC5weQpAQCAtMjYsMzIgKzI2LDU0IEBAIGZyb20gcGdh ZG1pbi51dGlscyBpbXBvcnQgc2VydmVyX3V0aWxzIGFzIHNlcnZlcl91dGlscwogY2xhc3MgQ29s dW1uUHV0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICIiIlRoaXMgY2xhc3Mgd2ls bCB1cGRhdGUgdGhlIGNvbHVtbiB1bmRlciB0YWJsZSBub2RlLiIiIgogICAgIHNjZW5hcmlvcyA9 IFsKLSAgICAgICAgKCdFZGl0IGNvbHVtbiBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9j b2x1bW4vb2JqLycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF9k YXRhX3R5cGU9J2NoYXInKSksCi0gICAgICAgICgnRWRpdCBjb2x1bW4gd2l0aCBJZGVudGl0eScs IGRpY3QodXJsPScvYnJvd3Nlci9jb2x1bW4vb2JqLycsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29sX2RhdGFfdHlwZT0nYmlnaW50JywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfbWluX3ZlcnNpb249MTAwMDAw LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aXR5X29w dD17Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhdHRp ZGVudGl0eSc6ICdhJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ3NlcWluY3JlbWVudCc6IDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdzZXFzdGFydCc6IDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdzZXFtaW4nOiAxLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VxbWF4JzogMTAsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXFjYWNoZSc6IDEsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXFjeWNsZSc6IFRydWUKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSksCi0gICAgICAgICgn RWRpdCBjb2x1bW4gd2l0aCBJZGVudGl0eScsIGRpY3QodXJsPScvYnJvd3Nlci9jb2x1bW4vb2Jq LycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX21p bl92ZXJzaW9uPTEwMDAwMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb2xfZGF0YV90eXBlPSdiaWdpbnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlkZW50aXR5X29wdD17Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdhdHRpZGVudGl0eSc6ICdkJywKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NlcWluY3JlbWVudCc6IDIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXFzdGFydCc6IDIs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXFtaW4n OiAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2Vx bWF4JzogMjAwMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ3NlcWNhY2hlJzogMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ3NlcWN5Y2xlJzogVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0pKQorICAgICAgICAoJ0VkaXQgY29sdW1uIGNvbW1lbnRzIGFuZCBudWxs IGNvbnN0cmFpbnRzJywgZGljdCgKKyAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvY29sdW1uL29i ai8nLAorICAgICAgICAgICAgY29sX2RhdGFfdHlwZT0nY2hhcicsCisgICAgICAgICAgICBkYXRh PXsKKyAgICAgICAgICAgICAgICAnYXR0bm90bnVsbCc6IFRydWUsCisgICAgICAgICAgICAgICAg J2Rlc2NyaXB0aW9uJzogIlRoaXMgaXMgdGVzdCBjb21tZW50IGZvciBjb2x1bW4iCisgICAgICAg ICAgICB9KSksCisgICAgICAgICgnRWRpdCBjb2x1bW4gdG8gSWRlbnRpdHkgY29sdW1uIGFzIEFs d2F5cycsIGRpY3QoCisgICAgICAgICAgICB1cmw9Jy9icm93c2VyL2NvbHVtbi9vYmovJywKKyAg ICAgICAgICAgIGNvbF9kYXRhX3R5cGU9J2JpZ2ludCcsCisgICAgICAgICAgICBzZXJ2ZXJfbWlu X3ZlcnNpb249MTAwMDAwLAorICAgICAgICAgICAgc2tpcF9tc2c9J0lkZW50aXR5IGNvbHVtbiBh cmUgbm90IHN1cHBvcnRlZCBieSBFUEFTL1BHIDEwLjAgJworICAgICAgICAgICAgICAgICAgICAg J2FuZCBiZWxvdy4nLAorICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgJ2F0dG5v dG51bGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICdhdHRpZGVudGl0eSc6ICdhJywKKyAgICAg ICAgICAgICAgICAnc2VxaW5jcmVtZW50JzogMSwKKyAgICAgICAgICAgICAgICAnc2Vxc3RhcnQn OiAxLAorICAgICAgICAgICAgICAgICdzZXFtaW4nOiAxLAorICAgICAgICAgICAgICAgICdzZXFt YXgnOiAxMCwKKyAgICAgICAgICAgICAgICAnc2VxY2FjaGUnOiAxLAorICAgICAgICAgICAgICAg ICdzZXFjeWNsZSc6IFRydWUKKyAgICAgICAgICAgIH0pKSwKKyAgICAgICAgKCdFZGl0IGNvbHVt biB0byBJZGVudGl0eSBjb2x1bW4gYXMgRGVmYXVsdCcsIGRpY3QoCisgICAgICAgICAgICB1cmw9 Jy9icm93c2VyL2NvbHVtbi9vYmovJywKKyAgICAgICAgICAgIGNvbF9kYXRhX3R5cGU9J2JpZ2lu dCcsCisgICAgICAgICAgICBzZXJ2ZXJfbWluX3ZlcnNpb249MTAwMDAwLAorICAgICAgICAgICAg c2tpcF9tc2c9J0lkZW50aXR5IGNvbHVtbiBhcmUgbm90IHN1cHBvcnRlZCBieSBFUEFTL1BHIDEw LjAgJworICAgICAgICAgICAgICAgICAgICAgJ2FuZCBiZWxvdy4nLAorICAgICAgICAgICAgZGF0 YT17CisgICAgICAgICAgICAgICAgJ2F0dG5vdG51bGwnOiBUcnVlLAorICAgICAgICAgICAgICAg ICdhdHRpZGVudGl0eSc6ICdkJywKKyAgICAgICAgICAgICAgICAnc2VxaW5jcmVtZW50JzogMiwK KyAgICAgICAgICAgICAgICAnc2Vxc3RhcnQnOiAyLAorICAgICAgICAgICAgICAgICdzZXFtaW4n OiAyLAorICAgICAgICAgICAgICAgICdzZXFtYXgnOiAyMDAwLAorICAgICAgICAgICAgICAgICdz ZXFjYWNoZSc6IDEsCisgICAgICAgICAgICAgICAgJ3NlcWN5Y2xlJzogVHJ1ZQorICAgICAgICAg ICAgfSkpLAorICAgICAgICAoJ0VkaXQgY29sdW1uIERyb3AgSWRlbnRpdHkgYnkgY2hhbmdpbmcg Y29uc3RyYWludCB0eXBlIHRvIE5PTkUnLAorICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL2Nv bHVtbi9vYmovJywKKyAgICAgICAgICAgICAgY29sX2RhdGFfdHlwZT0nYmlnaW50JywKKyAgICAg ICAgICAgICAgc2VydmVyX21pbl92ZXJzaW9uPTEwMDAwMCwKKyAgICAgICAgICAgICAgY3JlYXRl X2lkZW50aXR5X2NvbHVtbj1UcnVlLAorICAgICAgICAgICAgICBza2lwX21zZz0nSWRlbnRpdHkg Y29sdW1uIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IEVQQVMvUEcgMTAuMCAnCisgICAgICAgICAgICAg ICAgICAgICAgICdhbmQgYmVsb3cuJywKKyAgICAgICAgICAgICAgZGF0YT17J2NvbGNvbnN0eXBl JzogJ24nfSkKKyAgICAgICAgICkKICAgICBdCiAKICAgICBkZWYgc2V0VXAoc2VsZik6CkBAIC02 Niw5ICs4OCw3IEBAIGNsYXNzIENvbHVtblB1dFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK ICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIHNl cnZlciB0byBhZGQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSB0YWJsZS4i KQogICAgICAgICAgICAgaWYgc2VydmVyX2NvblsiZGF0YSJdWyJ2ZXJzaW9uIl0gPCBzZWxmLnNl cnZlcl9taW5fdmVyc2lvbjoKLSAgICAgICAgICAgICAgICBtZXNzYWdlID0gIklkZW50aXR5IGNv bHVtbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgIiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICJQUEFTL1BHIDEwLjAgYW5kIGJlbG93LiIKLSAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0 KG1lc3NhZ2UpCisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdChzZWxmLnNraXBfbXNnKQog CiAgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwg dXRpbHMuU0VSVkVSX0dST1VQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpAQCAtODYsMTIgKzEwNiwx NiBAQCBjbGFzcyBDb2x1bW5QdXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2NoZW1hX25h bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYudGFibGVfbmFtZSkKICAgICAgICAgc2VsZi5jb2x1bW5fbmFtZSA9ICJ0ZXN0X2NvbHVtbl9w dXRfJXMiICUgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0pCi0gICAgICAgIHNlbGYuY29sdW1uX2lk ID0gY29sdW1uc191dGlscy5jcmVhdGVfY29sdW1uKHNlbGYuc2VydmVyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu c2NoZW1hX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYudGFibGVfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb2x1bW5fbmFtZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb2xfZGF0YV90eXBl KQorCisgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2NyZWF0ZV9pZGVudGl0eV9jb2x1bW4nKSBh bmQgXAorICAgICAgICAgICAgICAgIHNlbGYuY3JlYXRlX2lkZW50aXR5X2NvbHVtbjoKKyAgICAg ICAgICAgIHNlbGYuY29sdW1uX2lkID0gY29sdW1uc191dGlscy5jcmVhdGVfaWRlbnRpdHlfY29s dW1uKAorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsIHNlbGYuc2No ZW1hX25hbWUsCisgICAgICAgICAgICAgICAgc2VsZi50YWJsZV9uYW1lLCBzZWxmLmNvbHVtbl9u YW1lLCBzZWxmLmNvbF9kYXRhX3R5cGUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxm LmNvbHVtbl9pZCA9IGNvbHVtbnNfdXRpbHMuY3JlYXRlX2NvbHVtbigKKyAgICAgICAgICAgICAg ICBzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lLCBzZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAg ICAgICAgIHNlbGYudGFibGVfbmFtZSwgc2VsZi5jb2x1bW5fbmFtZSwgc2VsZi5jb2xfZGF0YV90 eXBlKQogCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24g d2lsbCB1cGRhdGUgdGhlIGNvbHVtbiB1bmRlciB0YWJsZSBub2RlLiIiIgpAQCAtOTksMTQgKzEy MywxMSBAQCBjbGFzcyBDb2x1bW5QdXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbHVt bl9uYW1lKQogICAgICAgICBpZiBub3QgY29sX3Jlc3BvbnNlOgogICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgY29sdW1uIHRvIHVwZGF0ZS4iKQotICAgICAg ICBkYXRhID0gewotICAgICAgICAgICAgImF0dG51bSI6IHNlbGYuY29sdW1uX2lkLAotICAgICAg ICAgICAgIm5hbWUiOiBzZWxmLmNvbHVtbl9uYW1lLAotICAgICAgICAgICAgImF0dG5vdG51bGwi OiBUcnVlLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgdGVzdCBjb21tZW50 IGZvciBjb2x1bW4iCi0gICAgICAgIH0KLSAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnaWRlbnRp dHlfb3B0Jyk6Ci0gICAgICAgICAgICBkYXRhLnVwZGF0ZShzZWxmLmlkZW50aXR5X29wdCkKKyAg ICAgICAgc2VsZi5kYXRhLnVwZGF0ZSh7CisgICAgICAgICAgICAnYXR0bnVtJzogc2VsZi5jb2x1 bW5faWQsCisgICAgICAgICAgICAnbmFtZSc6IHNlbGYuY29sdW1uX25hbWUsCisgICAgICAgIH0p CisKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wdXQoCiAgICAgICAgICAgICBzZWxm LnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsKICAgICAgICAgICAgIHN0cihz ZWxmLnNlcnZlcl9pZCkgKyAnLycgKwpAQCAtMTE0LDcgKzEzNSw3IEBAIGNsYXNzIENvbHVtblB1 dFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgIHN0cihzZWxmLnNjaGVt YV9pZCkgKyAnLycgKwogICAgICAgICAgICAgc3RyKHNlbGYudGFibGVfaWQpICsgJy8nICsKICAg ICAgICAgICAgIHN0cihzZWxmLmNvbHVtbl9pZCksCi0gICAgICAgICAgICBkYXRhPWpzb24uZHVt cHMoZGF0YSksCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5kYXRhKSwKICAgICAg ICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo cmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVt bnMvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy90ZXN0cy91dGlscy5weQppbmRl eCBlMDEzNjk5Zi4uMjdmOWE0MzAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW5zL3Rlc3Rz L3V0aWxzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW5zL3Rlc3RzL3V0aWxzLnB5CkBAIC02Myw2 ICs2Myw1NSBAQCBkZWYgY3JlYXRlX2NvbHVtbihzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1l LCB0YWJsZV9uYW1lLCBjb2xfbmFtZSwKICAgICAgICAgcmFpc2UKIAogCitkZWYgY3JlYXRlX2lk ZW50aXR5X2NvbHVtbihzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1lLCB0YWJsZV9uYW1lLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX25hbWUsIGNvbF9kYXRhX3R5cGU9J2JpZ2lu dCcpOgorICAgICIiIgorICAgIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGNvbHVtbiB1bmRlciBw cm92aWRlZCB0YWJsZS4KKyAgICA6cGFyYW0gc2VydmVyOiBzZXJ2ZXIgZGV0YWlscworICAgIDp0 eXBlIHNlcnZlcjogZGljdAorICAgIDpwYXJhbSBkYl9uYW1lOiBkYXRhYmFzZSBuYW1lCisgICAg OnR5cGUgZGJfbmFtZTogc3RyCisgICAgOnBhcmFtIHNjaGVtYV9uYW1lOiBzY2hlbWEgbmFtZQor ICAgIDp0eXBlIHNjaGVtYV9uYW1lOiBzdHIKKyAgICA6cGFyYW0gdGFibGVfbmFtZTogdGFibGUg bmFtZQorICAgIDp0eXBlIHRhYmxlX25hbWU6IHN0cgorICAgIDpwYXJhbSBjb2xfbmFtZTogY29s dW1uIG5hbWUKKyAgICA6dHlwZSBjb2xfbmFtZTogc3RyCisgICAgOnBhcmFtIGNvbF9kYXRhX3R5 cGU6IGNvbHVtbiBkYXRhIHR5cGUKKyAgICA6dHlwZSBjb2xfZGF0YV90eXBlOiBzdHIKKyAgICA6 cmV0dXJuIHRhYmxlX2lkOiB0YWJsZSBpZAorICAgIDpydHlwZTogaW50CisgICAgIiIiCisgICAg dHJ5OgorICAgICAgICBjb25uZWN0aW9uID0gdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oZGJfbmFt ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsn dXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlcnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyWydwb3J0J10sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3NzbG1vZGUnXSkKKyAgICAgICAgb2xkX2lz b2xhdGlvbl9sZXZlbCA9IGNvbm5lY3Rpb24uaXNvbGF0aW9uX2xldmVsCisgICAgICAgIGNvbm5l Y3Rpb24uc2V0X2lzb2xhdGlvbl9sZXZlbCgwKQorICAgICAgICBwZ19jdXJzb3IgPSBjb25uZWN0 aW9uLmN1cnNvcigpCisgICAgICAgIHF1ZXJ5ID0gIkFMVEVSIFRBQkxFICVzLiVzIEFERCBDT0xV TU4gJXMgJXMgIiBcCisgICAgICAgICAgICAgICAgIkdFTkVSQVRFRCBBTFdBWVMgQVMgSURFTlRJ VFkiICUgXAorICAgICAgICAgICAgICAgIChzY2hlbWFfbmFtZSwgdGFibGVfbmFtZSwgY29sX25h bWUsIGNvbF9kYXRhX3R5cGUpCisgICAgICAgIHBnX2N1cnNvci5leGVjdXRlKHF1ZXJ5KQorICAg ICAgICBjb25uZWN0aW9uLnNldF9pc29sYXRpb25fbGV2ZWwob2xkX2lzb2xhdGlvbl9sZXZlbCkK KyAgICAgICAgY29ubmVjdGlvbi5jb21taXQoKQorICAgICAgICAjIEdldCBjb2x1bW4gcG9zaXRp b24gb2YgbmV3bHkgYWRkZWQgY29sdW1uCisgICAgICAgIHBnX2N1cnNvci5leGVjdXRlKCJzZWxl Y3QgYXR0bnVtIGZyb20gcGdfYXR0cmlidXRlIHdoZXJlIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAiIGF0dG5hbWU9JyVzJyIgJSBjb2xfbmFtZSkKKyAgICAgICAgY29sID0gcGdfY3Vyc29y LmZldGNob25lKCkKKyAgICAgICAgY29sX3BvcyA9ICcnCisgICAgICAgIGlmIGNvbDoKKyAgICAg ICAgICAgIGNvbF9wb3MgPSBjb2xbMF0KKyAgICAgICAgY29ubmVjdGlvbi5jbG9zZSgpCisgICAg ICAgIHJldHVybiBjb2xfcG9zCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgdHJhY2Vi YWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRlcnIpCisgICAgICAgIHJhaXNlCisKKwogZGVmIHZl cmlmeV9jb2x1bW4oc2VydmVyLCBkYl9uYW1lLCBjb2xfbmFtZSk6CiAgICAgIiIiCiAgICAgVGhp cyBmdW5jdGlvbiB2ZXJpZmllcyB0YWJsZSBleGlzdCBpbiBkYXRhYmFzZSBvciBub3QuCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbnMvc3FsLzEwX3BsdXMvY3JlYXRlLnNx bCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1ucy9zcWwvMTBfcGx1cy9jcmVhdGUuc3FsCmlu ZGV4IGU4N2QxZTJlLi4wZmJhMzM2OSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9j b2x1bW5zL3NxbC8xMF9wbHVzL2NyZWF0ZS5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9j b2x1bW5zL3NxbC8xMF9wbHVzL2NyZWF0ZS5zcWwKQEAgLTcsMTAgKzcsMTAgQEAKIEFMVEVSIFRB QkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19CiAgICAgQUREIENP TFVNTiB7e2Nvbm58cXRJZGVudChkYXRhLm5hbWUpfX0geyUgaWYgaXNfc3FsICV9e3tkYXRhLmRp c3BsYXl0eXBuYW1lfX17JSBlbHNlICV9e3sgR0VUX1RZUEUuQ1JFQVRFX1RZUEVfU1FMKGNvbm4s IGRhdGEuY2x0eXBlLCBkYXRhLmF0dGxlbiwgZGF0YS5hdHRwcmVjaXNpb24sIGRhdGEuaGFzU3Fy QnJhY2tldCkgfX17JSBlbmRpZiAlfXslIGlmIGRhdGEuY29sbHNwY25hbWUgJX0KICBDT0xMQVRF IHt7ZGF0YS5jb2xsc3BjbmFtZX19eyUgZW5kaWYgJX17JSBpZiBkYXRhLmF0dG5vdG51bGwgJX0K LSBOT1QgTlVMTHslIGVuZGlmICV9eyUgaWYgZGF0YS5kZWZ2YWwgaXMgZGVmaW5lZCBhbmQgZGF0 YS5kZWZ2YWwgaXMgbm90IG5vbmUgJX0KLSBERUZBVUxUIHt7ZGF0YS5kZWZ2YWx9fXslIGVuZGlm ICV9eyUgaWYgZGF0YS5hdHRpZGVudGl0eSBhbmQgZGF0YS5hdHRpZGVudGl0eSA9PSAnYScgJX0g R0VORVJBVEVEIEFMV0FZUyBBUyBJREVOVElUWXslIGVsaWYgZGF0YS5hdHRpZGVudGl0eSBhbmQg ZGF0YS5hdHRpZGVudGl0eSA9PSAnZCcgJX0gR0VORVJBVEVEIEJZIERFRkFVTFQgQVMgSURFTlRJ VFl7JSBlbmRpZiAlfQorIE5PVCBOVUxMeyUgZW5kaWYgJX17JSBpZiBkYXRhLmRlZnZhbCBpcyBk ZWZpbmVkIGFuZCBkYXRhLmRlZnZhbCBpcyBub3Qgbm9uZSBhbmQgZGF0YS5kZWZ2YWwgIT0gJycg JX0KKyBERUZBVUxUIHt7ZGF0YS5kZWZ2YWx9fXslIGVuZGlmICV9eyUgaWYgZGF0YS5jb2xjb25z dHlwZSA9PSAnaScgJX17JSBpZiBkYXRhLmF0dGlkZW50aXR5IGFuZCBkYXRhLmF0dGlkZW50aXR5 ID09ICdhJyAlfSBHRU5FUkFURUQgQUxXQVlTIEFTIElERU5USVRZeyUgZWxpZiBkYXRhLmF0dGlk ZW50aXR5IGFuZCBkYXRhLmF0dGlkZW50aXR5ID09ICdkJyAlfSBHRU5FUkFURUQgQlkgREVGQVVM VCBBUyBJREVOVElUWXslIGVuZGlmICV9CiB7JSBpZiBkYXRhLnNlcWluY3JlbWVudCBvciBkYXRh LnNlcWN5Y2xlIG9yIGRhdGEuc2VxaW5jcmVtZW50IG9yIGRhdGEuc2Vxc3RhcnQgb3IgZGF0YS5z ZXFtaW4gb3IgZGF0YS5zZXFtYXggb3IgZGF0YS5zZXFjYWNoZSAlfSAoIHslIGVuZGlmICV9Ci17 JSBpZiBkYXRhLnNlcWluY3JlbWVudCBpcyBkZWZpbmVkIGFuZCBkYXRhLnNlcWN5Y2xlICV9Cit7 JSBpZiBkYXRhLnNlcWN5Y2xlIGlzIGRlZmluZWQgYW5kIGRhdGEuc2VxY3ljbGUgJX0KIENZQ0xF IHslIGVuZGlmICV9eyUgaWYgZGF0YS5zZXFpbmNyZW1lbnQgaXMgZGVmaW5lZCBhbmQgZGF0YS5z ZXFpbmNyZW1lbnR8aW50KC0xKSA+IC0xICV9CiBJTkNSRU1FTlQge3tkYXRhLnNlcWluY3JlbWVu dHxpbnR9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEuc2Vxc3RhcnQgaXMgZGVmaW5lZCBhbmQgZGF0 YS5zZXFzdGFydHxpbnQoLTEpID4gLTElfQogU1RBUlQge3tkYXRhLnNlcXN0YXJ0fGludH19IHsl IGVuZGlmICV9eyUgaWYgZGF0YS5zZXFtaW4gaXMgZGVmaW5lZCBhbmQgZGF0YS5zZXFtaW58aW50 KC0xKSA+IC0xJX0KQEAgLTE4LDcgKzE4LDcgQEAgTUlOVkFMVUUge3tkYXRhLnNlcW1pbnxpbnR9 fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEuc2VxbWF4IGlzIGRlZmluZWQgYW5kIGRhdGEuc2UKIE1B WFZBTFVFIHt7ZGF0YS5zZXFtYXh8aW50fX0geyUgZW5kaWYgJX17JSBpZiBkYXRhLnNlcWNhY2hl IGlzIGRlZmluZWQgYW5kIGRhdGEuc2VxY2FjaGV8aW50KC0xKSA+IC0xJX0KIENBQ0hFIHt7ZGF0 YS5zZXFjYWNoZXxpbnR9fSB7JSBlbmRpZiAlfQogeyUgaWYgZGF0YS5zZXFpbmNyZW1lbnQgb3Ig ZGF0YS5zZXFjeWNsZSBvciBkYXRhLnNlcWluY3JlbWVudCBvciBkYXRhLnNlcXN0YXJ0IG9yIGRh dGEuc2VxbWluIG9yIGRhdGEuc2VxbWF4IG9yIGRhdGEuc2VxY2FjaGUgJX0peyUgZW5kaWYgJX0K LXslIGVuZGlmICV9OworeyUgZW5kaWYgJX17JSBlbmRpZiAlfTsKIAogeyMjIyAgQWRkIGNvbW1l bnRzICMjI30KIHslIGlmIGRhdGEgYW5kIGRhdGEuZGVzY3JpcHRpb24gJX0KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1ucy9zcWwvMTBfcGx1cy9wcm9wZXJ0aWVzLnNxbCBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1ucy9zcWwvMTBfcGx1cy9wcm9wZXJ0aWVzLnNxbApp bmRleCBhY2ZjY2IwOS4uMTRlYmY1NzkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMv Y29sdW1ucy9zcWwvMTBfcGx1cy9wcm9wZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxh dGVzL2NvbHVtbnMvc3FsLzEwX3BsdXMvcHJvcGVydGllcy5zcWwKQEAgLTE5LDYgKzE5LDcgQEAg U0VMRUNUIGF0dC5hdHRuYW1lIGFzIG5hbWUsIGF0dC4qLCBkZWYuKiwgcGdfY2F0YWxvZy5wZ19n ZXRfZXhwcihkZWYuYWRiaW4sIGRlZi4KIAlFWElTVFMoU0VMRUNUIDEgRlJPTSBwZ19jb25zdHJh aW50IFdIRVJFIGNvbnJlbGlkPWF0dC5hdHRyZWxpZCBBTkQgY29udHlwZT0nZicgQU5EIGF0dC5h dHRudW09QU5ZKGNvbmtleSkpIEFzIGlzX2ZrLAogCShTRUxFQ1QgYXJyYXlfYWdnKHByb3ZpZGVy IHx8ICc9JyB8fCBsYWJlbCkgRlJPTSBwZ19zZWNsYWJlbHMgc2wxIFdIRVJFIHNsMS5vYmpvaWQ9 YXR0LmF0dHJlbGlkIEFORCBzbDEub2Jqc3ViaWQ9YXR0LmF0dG51bSkgQVMgc2VjbGFiZWxzLAog CShDQVNFIFdIRU4gKGF0dC5hdHRudW0gPCAxKSBUSEVOIHRydWUgRWxTRSBmYWxzZSBFTkQpIEFT IGlzX3N5c19jb2x1bW4sCisJKENBU0UgV0hFTiAoYXR0LmF0dGlkZW50aXR5IGluICgnYScsICdk JykpIFRIRU4gJ2knIEVMU0UgJ24nIEVORCkgQVMgY29sY29uc3R5cGUsCiAJc2VxLioKIEZST00g cGdfYXR0cmlidXRlIGF0dAogICBKT0lOIHBnX3R5cGUgdHkgT04gdHkub2lkPWF0dHR5cGlkCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbnMvc3FsLzEwX3BsdXMvdXBkYXRl LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1ucy9zcWwvMTBfcGx1cy91cGRhdGUuc3Fs CmluZGV4IDdjZDQwZmM5Li41ODEzNjkxMSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRl cy9jb2x1bW5zL3NxbC8xMF9wbHVzL3VwZGF0ZS5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRl cy9jb2x1bW5zL3NxbC8xMF9wbHVzL3VwZGF0ZS5zcWwKQEAgLTMzLDExICszMywxMSBAQCBBTFRF UiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9fQogCiB7JSBl bmRpZiAlfQogeyMjIyAgQWx0ZXIgY29sdW1uIC0gYWRkIGlkZW50aXR5ICMjI30KLXslIGlmICdh dHRpZGVudGl0eScgaW4gZGF0YSBhbmQgb19kYXRhLmF0dGlkZW50aXR5ID09ICcnIGFuZCBkYXRh LmF0dGlkZW50aXR5ICE9IG9fZGF0YS5hdHRpZGVudGl0eSAlfQoreyUgaWYgZGF0YS5jb2xjb25z dHlwZSA9PSAnaScgYW5kICdhdHRpZGVudGl0eScgaW4gZGF0YSBhbmQgb19kYXRhLmF0dGlkZW50 aXR5ID09ICcnIGFuZCBkYXRhLmF0dGlkZW50aXR5ICE9IG9fZGF0YS5hdHRpZGVudGl0eSAlfQog QUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFibGUpfX0KICAg ICBBTFRFUiBDT0xVTU4geyUgaWYgZGF0YS5uYW1lICV9e3tjb25ufHF0VHlwZUlkZW50KGRhdGEu bmFtZSl9fXslIGVsc2UgJX17e2Nvbm58cXRUeXBlSWRlbnQob19kYXRhLm5hbWUpfX17JSBlbmRp ZiAlfSB7JSBpZiBkYXRhLmF0dGlkZW50aXR5ID09ICdhJyAlfUFERCBHRU5FUkFURUQgQUxXQVlT IEFTIElERU5USVRZeyUgZWxzZSV9QUREIEdFTkVSQVRFRCBCWSBERUZBVUxUIEFTIElERU5USVRZ eyUgZW5kaWYgJX0KIHslIGlmIGRhdGEuc2VxaW5jcmVtZW50IG9yIGRhdGEuc2VxY3ljbGUgb3Ig ZGF0YS5zZXFpbmNyZW1lbnQgb3IgZGF0YS5zZXFzdGFydCBvciBkYXRhLnNlcW1pbiBvciBkYXRh LnNlcW1heCBvciBkYXRhLnNlcWNhY2hlICV9ICggeyUgZW5kaWYgJX0KLXslIGlmIGRhdGEuc2Vx aW5jcmVtZW50IGlzIGRlZmluZWQgYW5kIGRhdGEuc2VxY3ljbGUgJX0KK3slIGlmIGRhdGEuc2Vx Y3ljbGUgaXMgZGVmaW5lZCBhbmQgZGF0YS5zZXFjeWNsZSAlfQogQ1lDTEUgeyUgZW5kaWYgJX17 JSBpZiBkYXRhLnNlcWluY3JlbWVudCBpcyBkZWZpbmVkIGFuZCBkYXRhLnNlcWluY3JlbWVudHxp bnQoLTEpID4gLTEgJX0KIElOQ1JFTUVOVCB7e2RhdGEuc2VxaW5jcmVtZW50fGludH19IHslIGVu ZGlmICV9eyUgaWYgZGF0YS5zZXFzdGFydCBpcyBkZWZpbmVkIGFuZCBkYXRhLnNlcXN0YXJ0fGlu dCgtMSkgPiAtMSV9CiBTVEFSVCB7e2RhdGEuc2Vxc3RhcnR8aW50fX0geyUgZW5kaWYgJX17JSBp ZiBkYXRhLnNlcW1pbiBpcyBkZWZpbmVkIGFuZCBkYXRhLnNlcW1pbnxpbnQoLTEpID4gLTElfQpA QCAtNTIsMTAgKzUyLDggQEAgQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEs IGRhdGEudGFibGUpfX0KICAgICBBTFRFUiBDT0xVTU4geyUgaWYgZGF0YS5uYW1lICV9e3tjb25u fHF0VHlwZUlkZW50KGRhdGEubmFtZSl9fXslIGVsc2UgJX17e2Nvbm58cXRUeXBlSWRlbnQob19k YXRhLm5hbWUpfX17JSBlbmRpZiAlfSBTRVQgR0VORVJBVEVEIHslIGlmIGRhdGEuYXR0aWRlbnRp dHkgPT0gJ2EnICV9QUxXQVlTeyUgZWxzZSV9QlkgREVGQVVMVHslIGVuZGlmICV9OwogCiB7JSBl bmRpZiAlfQotCiB7IyMjICBBbHRlciBjb2x1bW4gLSBjaGFuZ2UgaWRlbnRpdHkgLSBzZXF1ZW5j ZSBvcHRpb25zICMjI30KIHslIGlmICdhdHRpZGVudGl0eScgbm90IGluIGRhdGEgYW5kIChkYXRh LnNlcWluY3JlbWVudCBvciBkYXRhLnNlcWN5Y2xlIG9yIGRhdGEuc2VxaW5jcmVtZW50IG9yIGRh dGEuc2Vxc3RhcnQgb3IgZGF0YS5zZXFtaW4gb3IgZGF0YS5zZXFtYXggb3IgZGF0YS5zZXFjYWNo ZSkgJX0KLQogQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFi bGUpfX0KICAgICBBTFRFUiBDT0xVTU4geyUgaWYgZGF0YS5uYW1lICV9e3tjb25ufHF0VHlwZUlk ZW50KGRhdGEubmFtZSl9fSB7JSBlbHNlICV9e3tjb25ufHF0VHlwZUlkZW50KG9fZGF0YS5uYW1l KX19IHslIGVuZGlmICV9CiB7JSBpZiBkYXRhLnNlcWN5Y2xlICV9CkBAIC02NSwxMSArNjMsMTAg QEAgU0VUIFNUQVJUIHt7ZGF0YS5zZXFzdGFydHxpbnR9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEu c2VxbWluIGlzIGRlZmluZWQgYW5kIGRhdGEKIFNFVCBNSU5WQUxVRSB7e2RhdGEuc2VxbWlufGlu dH19IHslIGVuZGlmICV9eyUgaWYgZGF0YS5zZXFtYXggaXMgZGVmaW5lZCBhbmQgZGF0YS5zZXFt YXh8aW50KC0xKSA+IC0xJX0KIFNFVCBNQVhWQUxVRSB7e2RhdGEuc2VxbWF4fGludH19IHslIGVu ZGlmICV9eyUgaWYgZGF0YS5zZXFjYWNoZSBpcyBkZWZpbmVkIGFuZCBkYXRhLnNlcWNhY2hlfGlu dCgtMSkgPiAtMSV9CiBTRVQgQ0FDSEUge3tkYXRhLnNlcWNhY2hlfGludH19IHslIGVuZGlmICV9 OwoteyUgZW5kaWYgJX0KIAotCi17IyMjICBBbHRlciBjb2x1bW4gLSBkcm9wIGlkZW50aXR5ICMj I30KLXslIGlmICdhdHRpZGVudGl0eScgaW4gZGF0YSBhbmQgZGF0YS5hdHRpZGVudGl0eSA9PSAn JyBhbmQgb19kYXRhLmF0dGlkZW50aXR5ICE9ICcnIGFuZCBkYXRhLmF0dGlkZW50aXR5ICE9IG9f ZGF0YS5hdHRpZGVudGl0eSAlfQoreyUgZW5kaWYgJX0KK3sjIyMgIEFsdGVyIGNvbHVtbiAtIGRy b3AgaWRlbnRpdHkgd2hlbiBjb2x1bW4gY29uc3RyYWludCBpcyBjaGFuZ2VkIyMjfQoreyUgaWYg J2NvbGNvbnN0eXBlJyBpbiBkYXRhIGFuZCBkYXRhLmNvbGNvbnN0eXBlID09ICduJyBhbmQgJ2Nv bGNvbnN0eXBlJyBpbiBvX2RhdGEgYW5kIG9fZGF0YS5jb2xjb25zdHlwZSA9PSAnaScgJX0KIEFM VEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19CiAgICAg QUxURVIgQ09MVU1OIHslIGlmIGRhdGEubmFtZSAlfXt7Y29ubnxxdFR5cGVJZGVudChkYXRhLm5h bWUpfX17JSBlbHNlICV9e3tjb25ufHF0VHlwZUlkZW50KG9fZGF0YS5uYW1lKX19eyUgZW5kaWYg JX0gRFJPUCBJREVOVElUWTsKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9jb2x1 bW5zL3NxbC8xMl9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbnMv c3FsLzEyX3BsdXMvY3JlYXRlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MC4uMTA4ZDNiNWUKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVt bnMvc3FsLzEyX3BsdXMvY3JlYXRlLnNxbApAQCAtMCwwICsxLDQ2IEBACit7JSBpbXBvcnQgJ2Nv bHVtbnMvbWFjcm9zL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFCRUwgJX0KK3slIGltcG9ydCAn Y29sdW1ucy9tYWNyb3MvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9Cit7JSBpbXBv cnQgJ21hY3Jvcy92YXJpYWJsZS5tYWNyb3MnIGFzIFZBUklBQkxFICV9Cit7JSBpbXBvcnQgJ3R5 cGVzL21hY3Jvcy9nZXRfZnVsbF90eXBlX3NxbF9mb3JtYXQubWFjcm9zJyBhcyBHRVRfVFlQRSAl fQoreyMjIyAgQWRkIGNvbHVtbiAjIyN9Cit7JSBpZiBkYXRhLm5hbWUgYW5kICBkYXRhLmNsdHlw ZSAlfQorQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFibGUp fX0KKyAgICBBREQgQ09MVU1OIHt7Y29ubnxxdElkZW50KGRhdGEubmFtZSl9fSB7JSBpZiBpc19z cWwgJX17e2RhdGEuZGlzcGxheXR5cG5hbWV9fXslIGVsc2UgJX17eyBHRVRfVFlQRS5DUkVBVEVf VFlQRV9TUUwoY29ubiwgZGF0YS5jbHR5cGUsIGRhdGEuYXR0bGVuLCBkYXRhLmF0dHByZWNpc2lv biwgZGF0YS5oYXNTcXJCcmFja2V0KSB9fXslIGVuZGlmICV9eyUgaWYgZGF0YS5jb2xsc3BjbmFt ZSAlfQorIENPTExBVEUge3tkYXRhLmNvbGxzcGNuYW1lfX17JSBlbmRpZiAlfXslIGlmIGRhdGEu YXR0bm90bnVsbCAlfQorIE5PVCBOVUxMeyUgZW5kaWYgJX17JSBpZiBkYXRhLmRlZnZhbCBpcyBk ZWZpbmVkIGFuZCBkYXRhLmRlZnZhbCBpcyBub3Qgbm9uZSBhbmQgZGF0YS5kZWZ2YWwgIT0gJycg YW5kIGRhdGEuY29sY29uc3R5cGUgIT0gJ2cnICV9CisgREVGQVVMVCB7e2RhdGEuZGVmdmFsfX17 JSBlbmRpZiAlfXslIGlmIGRhdGEuY29sY29uc3R5cGUgPT0gJ2knICV9eyUgaWYgZGF0YS5hdHRp ZGVudGl0eSBhbmQgZGF0YS5hdHRpZGVudGl0eSA9PSAnYScgJX0gR0VORVJBVEVEIEFMV0FZUyBB UyBJREVOVElUWXslIGVsaWYgZGF0YS5hdHRpZGVudGl0eSBhbmQgZGF0YS5hdHRpZGVudGl0eSA9 PSAnZCcgJX0gR0VORVJBVEVEIEJZIERFRkFVTFQgQVMgSURFTlRJVFl7JSBlbmRpZiAlfQoreyUg aWYgZGF0YS5zZXFpbmNyZW1lbnQgb3IgZGF0YS5zZXFjeWNsZSBvciBkYXRhLnNlcWluY3JlbWVu dCBvciBkYXRhLnNlcXN0YXJ0IG9yIGRhdGEuc2VxbWluIG9yIGRhdGEuc2VxbWF4IG9yIGRhdGEu c2VxY2FjaGUgJX0gKCB7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5zZXFjeWNsZSBpcyBkZWZpbmVk IGFuZCBkYXRhLnNlcWN5Y2xlICV9CitDWUNMRSB7JSBlbmRpZiAlfXslIGlmIGRhdGEuc2VxaW5j cmVtZW50IGlzIGRlZmluZWQgYW5kIGRhdGEuc2VxaW5jcmVtZW50fGludCgtMSkgPiAtMSAlfQor SU5DUkVNRU5UIHt7ZGF0YS5zZXFpbmNyZW1lbnR8aW50fX0geyUgZW5kaWYgJX17JSBpZiBkYXRh LnNlcXN0YXJ0IGlzIGRlZmluZWQgYW5kIGRhdGEuc2Vxc3RhcnR8aW50KC0xKSA+IC0xJX0KK1NU QVJUIHt7ZGF0YS5zZXFzdGFydHxpbnR9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEuc2VxbWluIGlz IGRlZmluZWQgYW5kIGRhdGEuc2VxbWlufGludCgtMSkgPiAtMSV9CitNSU5WQUxVRSB7e2RhdGEu c2VxbWlufGludH19IHslIGVuZGlmICV9eyUgaWYgZGF0YS5zZXFtYXggaXMgZGVmaW5lZCBhbmQg ZGF0YS5zZXFtYXh8aW50KC0xKSA+IC0xJX0KK01BWFZBTFVFIHt7ZGF0YS5zZXFtYXh8aW50fX0g eyUgZW5kaWYgJX17JSBpZiBkYXRhLnNlcWNhY2hlIGlzIGRlZmluZWQgYW5kIGRhdGEuc2VxY2Fj aGV8aW50KC0xKSA+IC0xJX0KK0NBQ0hFIHt7ZGF0YS5zZXFjYWNoZXxpbnR9fSB7JSBlbmRpZiAl fQoreyUgaWYgZGF0YS5zZXFpbmNyZW1lbnQgb3IgZGF0YS5zZXFjeWNsZSBvciBkYXRhLnNlcWlu Y3JlbWVudCBvciBkYXRhLnNlcXN0YXJ0IG9yIGRhdGEuc2VxbWluIG9yIGRhdGEuc2VxbWF4IG9y IGRhdGEuc2VxY2FjaGUgJX0peyUgZW5kaWYgJX0KK3slIGVuZGlmICV9eyUgZW5kaWYgJX17JSBp ZiBkYXRhLmNvbGNvbnN0eXBlID09ICdnJyBhbmQgZGF0YS5nZW5leHByIGFuZCBkYXRhLmdlbmV4 cHIgIT0gJycgJX0gR0VORVJBVEVEIEFMV0FZUyBBUyAoe3tkYXRhLmdlbmV4cHJ9fSkgU1RPUkVE eyUgZW5kaWYgJX07CisKK3sjIyMgIEFkZCBjb21tZW50cyAjIyN9Cit7JSBpZiBkYXRhIGFuZCBk YXRhLmRlc2NyaXB0aW9uICV9CitDT01NRU5UIE9OIENPTFVNTiB7e2Nvbm58cXRJZGVudChkYXRh LnNjaGVtYSwgZGF0YS50YWJsZSwgZGF0YS5uYW1lKX19CisgICAgSVMge3tkYXRhLmRlc2NyaXB0 aW9ufHF0TGl0ZXJhbH19OworCit7JSBlbmRpZiAlfQoreyMjIyAgQWRkIHZhcmlhYmxlcyB0byBj b2x1bW4gIyMjfQoreyUgaWYgZGF0YS5hdHRvcHRpb25zICV9CitBTFRFUiBUQUJMRSB7e2Nvbm58 cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9fQorICAgIHt7IFZBUklBQkxFLlNFVChj b25uLCAnQ09MVU1OJywgZGF0YS5uYW1lLCBkYXRhLmF0dG9wdGlvbnMpIH19CisKK3slIGVuZGlm ICV9Cit7IyMjICBBQ0wgIyMjfQoreyUgaWYgZGF0YS5hdHRhY2wgJX0KK3slIGZvciBwcml2IGlu IGRhdGEuYXR0YWNsICV9Cit7eyBQUklWSUxFR0UuQVBQTFkoY29ubiwgZGF0YS5zY2hlbWEsIGRh dGEudGFibGUsIGRhdGEubmFtZSwgcHJpdi5ncmFudGVlLCBwcml2LndpdGhvdXRfZ3JhbnQsIHBy aXYud2l0aF9ncmFudCkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3sjIyMgIFNlY3Vy aXR5IExhYmxlcyAjIyN9Cit7JSBpZiBkYXRhLnNlY2xhYmVscyAlfQoreyUgZm9yIHIgaW4gZGF0 YS5zZWNsYWJlbHMgJX0KK3t7IFNFQ0xBQkVMLkFQUExZKGNvbm4sICdDT0xVTU4nLGRhdGEuc2No ZW1hLCBkYXRhLnRhYmxlLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIubGFiZWwpIH19Cit7JSBl bmRmb3IgJX0KK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2Nv bHVtbnMvc3FsLzEyX3BsdXMvcHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2Nv bHVtbnMvc3FsLzEyX3BsdXMvcHJvcGVydGllcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAuLjg0YjZmMzc0Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBs YXRlcy9jb2x1bW5zL3NxbC8xMl9wbHVzL3Byb3BlcnRpZXMuc3FsCkBAIC0wLDAgKzEsNDggQEAK K1NFTEVDVCBhdHQuYXR0bmFtZSBhcyBuYW1lLCBhdHQuKiwgZGVmLiosIHBnX2NhdGFsb2cucGdf Z2V0X2V4cHIoZGVmLmFkYmluLCBkZWYuYWRyZWxpZCkgQVMgZGVmdmFsLAorICAgICAgICBDQVNF IFdIRU4gYXR0LmF0dG5kaW1zID4gMCBUSEVOIDEgRUxTRSAwIEVORCBBUyBpc2FycmF5LAorICAg ICAgICBmb3JtYXRfdHlwZSh0eS5vaWQsTlVMTCkgQVMgdHlwbmFtZSwKKyAgICAgICAgZm9ybWF0 X3R5cGUodHkub2lkLGF0dC5hdHR0eXBtb2QpIEFTIGRpc3BsYXl0eXBuYW1lLAorICAgICAgICBD QVNFIFdIRU4gdHkudHlwZWxlbSA+IDAgVEhFTiB0eS50eXBlbGVtIEVMU0UgdHkub2lkIEVORCBh cyBlbGVtb2lkLAorICAgICAgICB0bi5uc3BuYW1lIGFzIHR5cG5zcG5hbWUsIGV0LnR5cG5hbWUg YXMgZWxlbXR5cG5hbWUsCisgICAgICAgIHR5LnR5cHN0b3JhZ2UgQVMgZGVmYXVsdHN0b3JhZ2Us IGNsLnJlbG5hbWUsIG5hLm5zcG5hbWUsCisgICAgICAgIGNvbmNhdChxdW90ZV9pZGVudChuYS5u c3BuYW1lKSAsJy4nLCBxdW90ZV9pZGVudChjbC5yZWxuYW1lKSkgQVMgcGFyZW50X3RibCwKKwlh dHQuYXR0c3RhdHRhcmdldCwgZGVzY3JpcHRpb24sIGNzLnJlbG5hbWUgQVMgc2VybmFtZSwKKwlu cy5uc3BuYW1lIEFTIHNlcnNjaGVtYSwKKwkoU0VMRUNUIGNvdW50KDEpIEZST00gcGdfdHlwZSB0 MiBXSEVSRSB0Mi50eXBuYW1lPXR5LnR5cG5hbWUpID4gMSBBUyBpc2R1cCwKKwlpbmRrZXksIGNv bGwuY29sbG5hbWUsIG5zcGMubnNwbmFtZSBhcyBjb2xsbnNwbmFtZSAsIGF0dG9wdGlvbnMsCisJ LS0gU3RhcnQgcGdBZG1pbjQsIGFkZGVkIHRvIHNhdmUgdGltZSBvbiBjbGllbnQgc2lkZSBwYXJz aW5nCisJQ0FTRSBXSEVOIGxlbmd0aChjb2xsLmNvbGxuYW1lKSA+IDAgQU5EIGxlbmd0aChuc3Bj Lm5zcG5hbWUpID4gMCAgVEhFTgorCSAgY29uY2F0KHF1b3RlX2lkZW50KG5zcGMubnNwbmFtZSks Jy4nLHF1b3RlX2lkZW50KGNvbGwuY29sbG5hbWUpKQorCUVMU0UgJycgRU5EIEFTIGNvbGxzcGNu YW1lLAorCWZvcm1hdF90eXBlKHR5Lm9pZCxhdHQuYXR0dHlwbW9kKSBBUyBjbHR5cGUsCisJLS0g RW5kIHBnQWRtaW40CisJRVhJU1RTKFNFTEVDVCAxIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBj b25yZWxpZD1hdHQuYXR0cmVsaWQgQU5EIGNvbnR5cGU9J2YnIEFORCBhdHQuYXR0bnVtPUFOWShj b25rZXkpKSBBcyBpc19maywKKwkoU0VMRUNUIGFycmF5X2FnZyhwcm92aWRlciB8fCAnPScgfHwg bGFiZWwpIEZST00gcGdfc2VjbGFiZWxzIHNsMSBXSEVSRSBzbDEub2Jqb2lkPWF0dC5hdHRyZWxp ZCBBTkQgc2wxLm9ianN1YmlkPWF0dC5hdHRudW0pIEFTIHNlY2xhYmVscywKKwkoQ0FTRSBXSEVO IChhdHQuYXR0bnVtIDwgMSkgVEhFTiB0cnVlIEVsU0UgZmFsc2UgRU5EKSBBUyBpc19zeXNfY29s dW1uLAorCShDQVNFIFdIRU4gKGF0dC5hdHRpZGVudGl0eSBpbiAoJ2EnLCAnZCcpKSBUSEVOICdp JyBXSEVOIChhdHQuYXR0Z2VuZXJhdGVkIGluICgncycpKSBUSEVOICdnJyBFTFNFICduJyBFTkQp IEFTIGNvbGNvbnN0eXBlLAorCShDQVNFIFdIRU4gKGF0dC5hdHRnZW5lcmF0ZWQgaW4gKCdzJykp IFRIRU4gcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihkZWYuYWRiaW4sIGRlZi5hZHJlbGlkKSBFTkQp IEFTIGdlbmV4cHIsCisJc2VxLioKK0ZST00gcGdfYXR0cmlidXRlIGF0dAorICBKT0lOIHBnX3R5 cGUgdHkgT04gdHkub2lkPWF0dHR5cGlkCisgIEpPSU4gcGdfbmFtZXNwYWNlIHRuIE9OIHRuLm9p ZD10eS50eXBuYW1lc3BhY2UKKyAgSk9JTiBwZ19jbGFzcyBjbCBPTiBjbC5vaWQ9YXR0LmF0dHJl bGlkCisgIEpPSU4gcGdfbmFtZXNwYWNlIG5hIE9OIG5hLm9pZD1jbC5yZWxuYW1lc3BhY2UKKyAg TEVGVCBPVVRFUiBKT0lOIHBnX3R5cGUgZXQgT04gZXQub2lkPXR5LnR5cGVsZW0KKyAgTEVGVCBP VVRFUiBKT0lOIHBnX2F0dHJkZWYgZGVmIE9OIGFkcmVsaWQ9YXR0LmF0dHJlbGlkIEFORCBhZG51 bT1hdHQuYXR0bnVtCisgIExFRlQgT1VURVIgSk9JTiBwZ19kZXNjcmlwdGlvbiBkZXMgT04gKGRl cy5vYmpvaWQ9YXR0LmF0dHJlbGlkIEFORCBkZXMub2Jqc3ViaWQ9YXR0LmF0dG51bSBBTkQgZGVz LmNsYXNzb2lkPSdwZ19jbGFzcyc6OnJlZ2NsYXNzKQorICBMRUZUIE9VVEVSIEpPSU4gKHBnX2Rl cGVuZCBKT0lOIHBnX2NsYXNzIGNzIE9OIGNsYXNzaWQ9J3BnX2NsYXNzJzo6cmVnY2xhc3MgQU5E IG9iamlkPWNzLm9pZCBBTkQgY3MucmVsa2luZD0nUycpIE9OIHJlZm9iamlkPWF0dC5hdHRyZWxp ZCBBTkQgcmVmb2Jqc3ViaWQ9YXR0LmF0dG51bQorICBMRUZUIE9VVEVSIEpPSU4gcGdfbmFtZXNw YWNlIG5zIE9OIG5zLm9pZD1jcy5yZWxuYW1lc3BhY2UKKyAgTEVGVCBPVVRFUiBKT0lOIHBnX2lu ZGV4IHBpIE9OIHBpLmluZHJlbGlkPWF0dC5hdHRyZWxpZCBBTkQgaW5kaXNwcmltYXJ5CisgIExF RlQgT1VURVIgSk9JTiBwZ19jb2xsYXRpb24gY29sbCBPTiBhdHQuYXR0Y29sbGF0aW9uPWNvbGwu b2lkCisgIExFRlQgT1VURVIgSk9JTiBwZ19uYW1lc3BhY2UgbnNwYyBPTiBjb2xsLmNvbGxuYW1l c3BhY2U9bnNwYy5vaWQKKyAgTEVGVCBPVVRFUiBKT0lOIHBnX3NlcXVlbmNlIHNlcSBPTiBjcy5v aWQ9c2VxLnNlcXJlbGlkCitXSEVSRSBhdHQuYXR0cmVsaWQgPSB7e3RpZH19OjpvaWQKK3slIGlm IGNsaWQgJX0KKyAgICBBTkQgYXR0LmF0dG51bSA9IHt7Y2xpZH19OjppbnQKK3slIGVuZGlmICV9 Cit7IyMjIFRvIHNob3cgc3lzdGVtIG9iamVjdHMgIyMjfQoreyUgaWYgbm90IHNob3dfc3lzX29i amVjdHMgJX0KKyAgICBBTkQgYXR0LmF0dG51bSA+IDAKK3slIGVuZGlmICV9CisgICAgQU5EIGF0 dC5hdHRpc2Ryb3BwZWQgSVMgRkFMU0UKKyAgICBPUkRFUiBCWSBhdHQuYXR0bnVtOwpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9jb2x1bW5zL3NxbC9kZWZhdWx0L2NyZWF0ZS5zcWwg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbnMvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbAppbmRl eCA1MGE2YTViZC4uMWUyZjVjZmEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29s dW1ucy9zcWwvZGVmYXVsdC9jcmVhdGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29s dW1ucy9zcWwvZGVmYXVsdC9jcmVhdGUuc3FsCkBAIC03LDcgKzcsNyBAQAogQUxURVIgVEFCTEUg e3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFibGUpfX0KICAgICBBREQgQ09MVU1O IHt7Y29ubnxxdElkZW50KGRhdGEubmFtZSl9fSB7JSBpZiBpc19zcWwgJX17e2RhdGEuZGlzcGxh eXR5cG5hbWV9fXslIGVsc2UgJX17eyBHRVRfVFlQRS5DUkVBVEVfVFlQRV9TUUwoY29ubiwgZGF0 YS5jbHR5cGUsIGRhdGEuYXR0bGVuLCBkYXRhLmF0dHByZWNpc2lvbiwgZGF0YS5oYXNTcXJCcmFj a2V0KSB9fXslIGVuZGlmICV9eyUgaWYgZGF0YS5jb2xsc3BjbmFtZSAlfQogIENPTExBVEUge3tk YXRhLmNvbGxzcGNuYW1lfX17JSBlbmRpZiAlfXslIGlmIGRhdGEuYXR0bm90bnVsbCAlfQotIE5P VCBOVUxMeyUgZW5kaWYgJX17JSBpZiBkYXRhLmRlZnZhbCBpcyBkZWZpbmVkIGFuZCBkYXRhLmRl ZnZhbCBpcyBub3Qgbm9uZSAlfQorIE5PVCBOVUxMeyUgZW5kaWYgJX17JSBpZiBkYXRhLmRlZnZh bCBpcyBkZWZpbmVkIGFuZCBkYXRhLmRlZnZhbCBpcyBub3Qgbm9uZSBhbmQgZGF0YS5kZWZ2YWwg IT0gJycgJX0KICBERUZBVUxUIHt7ZGF0YS5kZWZ2YWx9fXslIGVuZGlmICV9OwogCiB7JSBlbmRp ZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZXMvc3FsLzEwX3BsdXMv Y3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGVzL3NxbC8xMF9wbHVzL2NyZWF0 ZS5zcWwKaW5kZXggMWY0YzgzODcuLjhiYTFkODgyIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVt cGxhdGVzL3RhYmxlcy9zcWwvMTBfcGx1cy9jcmVhdGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1w bGF0ZXMvdGFibGVzL3NxbC8xMF9wbHVzL2NyZWF0ZS5zcWwKQEAgLTQyLDExICs0MiwxMSBAQCBD UkVBVEUgeyUgaWYgZGF0YS5yZWxwZXJzaXN0ZW5jZSAlfVVOTE9HR0VEIHslIGVuZGlmICV9VEFC TEUge3tjb25ufHF0SWRlbnQoZGF0YQogeyUgaWYgZGF0YS5jb2x1bW5zIGFuZCBkYXRhLmNvbHVt bnN8bGVuZ3RoID4gMCAlfQogeyUgZm9yIGMgaW4gZGF0YS5jb2x1bW5zICV9CiB7JSBpZiBjLm5h bWUgYW5kIGMuY2x0eXBlICV9Ci0gICAgeyUgaWYgYy5pbmhlcml0ZWRmcm9tdGFibGUgJX0tLSBJ bmhlcml0ZWQgZnJvbSB0YWJsZSB7e2MuaW5oZXJpdGVkZnJvbXRhYmxlfX06IHslIGVsaWYgYy5p bmhlcml0ZWRmcm9tdHlwZSAlfS0tIEluaGVyaXRlZCBmcm9tIHR5cGUge3tjLmluaGVyaXRlZGZy b210eXBlfX06IHslIGVuZGlmICV9e3tjb25ufHF0SWRlbnQoYy5uYW1lKX19IHslIGlmIGlzX3Nx bCAlfXt7Yy5kaXNwbGF5dHlwbmFtZX19eyUgZWxzZSAlfXt7IEdFVF9UWVBFLkNSRUFURV9UWVBF X1NRTChjb25uLCBjLmNsdHlwZSwgYy5hdHRsZW4sIGMuYXR0cHJlY2lzaW9uLCBjLmhhc1NxckJy YWNrZXQpIH19eyUgZW5kaWYgJX17JSBpZiBjLmNvbGxzcGNuYW1lICV9IENPTExBVEUge3tjLmNv bGxzcGNuYW1lfX17JSBlbmRpZiAlfXslIGlmIGMuYXR0bm90bnVsbCAlfSBOT1QgTlVMTHslIGVu ZGlmICV9eyUgaWYgYy5kZWZ2YWwgaXMgZGVmaW5lZCBhbmQgYy5kZWZ2YWwgaXMgbm90IG5vbmUg JX0gREVGQVVMVCB7e2MuZGVmdmFsfX17JSBlbmRpZiAlfQoteyUgaWYgYy5hdHRpZGVudGl0eSBh bmQgYy5hdHRpZGVudGl0eSAhPSAnJyAlfQorICAgIHslIGlmIGMuaW5oZXJpdGVkZnJvbXRhYmxl ICV9LS0gSW5oZXJpdGVkIGZyb20gdGFibGUge3tjLmluaGVyaXRlZGZyb210YWJsZX19OiB7JSBl bGlmIGMuaW5oZXJpdGVkZnJvbXR5cGUgJX0tLSBJbmhlcml0ZWQgZnJvbSB0eXBlIHt7Yy5pbmhl cml0ZWRmcm9tdHlwZX19OiB7JSBlbmRpZiAlfXt7Y29ubnxxdElkZW50KGMubmFtZSl9fSB7JSBp ZiBpc19zcWwgJX17e2MuZGlzcGxheXR5cG5hbWV9fXslIGVsc2UgJX17eyBHRVRfVFlQRS5DUkVB VEVfVFlQRV9TUUwoY29ubiwgYy5jbHR5cGUsIGMuYXR0bGVuLCBjLmF0dHByZWNpc2lvbiwgYy5o YXNTcXJCcmFja2V0KSB9fXslIGVuZGlmICV9eyUgaWYgYy5jb2xsc3BjbmFtZSAlfSBDT0xMQVRF IHt7Yy5jb2xsc3BjbmFtZX19eyUgZW5kaWYgJX17JSBpZiBjLmF0dG5vdG51bGwgJX0gTk9UIE5V TEx7JSBlbmRpZiAlfXslIGlmIGMuZGVmdmFsIGlzIGRlZmluZWQgYW5kIGMuZGVmdmFsIGlzIG5v dCBub25lIGFuZCBjLmRlZnZhbCAhPSAnJyAlfSBERUZBVUxUIHt7Yy5kZWZ2YWx9fXslIGVuZGlm ICV9Cit7JSBpZiBjLmNvbGNvbnN0eXBlID09ICdpJyBhbmQgYy5hdHRpZGVudGl0eSBhbmQgYy5h dHRpZGVudGl0eSAhPSAnJyAlfQogeyUgaWYgYy5hdHRpZGVudGl0eSA9PSAnYScgJX0gR0VORVJB VEVEIEFMV0FZUyBBUyBJREVOVElUWXslIGVsaWYgYy5hdHRpZGVudGl0eSA9PSAnZCcgJX0gR0VO RVJBVEVEIEJZIERFRkFVTFQgQVMgSURFTlRJVFl7JSBlbmRpZiAlfQogeyUgaWYgYy5zZXFpbmNy ZW1lbnQgb3IgYy5zZXFjeWNsZSBvciBjLnNlcWluY3JlbWVudCBvciBjLnNlcXN0YXJ0IG9yIGMu c2VxbWluIG9yIGMuc2VxbWF4IG9yIGMuc2VxY2FjaGUgJX0gKCB7JSBlbmRpZiAlfQoteyUgaWYg Yy5zZXFpbmNyZW1lbnQgaXMgZGVmaW5lZCBhbmQgYy5zZXFjeWNsZSAlfQoreyUgaWYgYy5zZXFj eWNsZSBpcyBkZWZpbmVkIGFuZCBjLnNlcWN5Y2xlICV9CiBDWUNMRSB7JSBlbmRpZiAlfXslIGlm IGMuc2VxaW5jcmVtZW50IGlzIGRlZmluZWQgYW5kIGMuc2VxaW5jcmVtZW50fGludCgtMSkgPiAt MSAlfQogSU5DUkVNRU5UIHt7Yy5zZXFpbmNyZW1lbnR8aW50fX0geyUgZW5kaWYgJX17JSBpZiBj LnNlcXN0YXJ0IGlzIGRlZmluZWQgYW5kIGMuc2Vxc3RhcnR8aW50KC0xKSA+IC0xJX0KIFNUQVJU IHt7Yy5zZXFzdGFydHxpbnR9fSB7JSBlbmRpZiAlfXslIGlmIGMuc2VxbWluIGlzIGRlZmluZWQg YW5kIGMuc2VxbWlufGludCgtMSkgPiAtMSV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxh dGVzL3RhYmxlcy9zcWwvMTJfcGx1cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90 YWJsZXMvc3FsLzEyX3BsdXMvY3JlYXRlLnNxbAppbmRleCA3YWNiZDAwOC4uYzRiYTk5MjEgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdGFibGVzL3NxbC8xMl9wbHVzL2NyZWF0ZS5z cWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZXMvc3FsLzEyX3BsdXMvY3JlYXRlLnNx bApAQCAtNDYsMTEgKzQ2LDExIEBAIENSRUFURSB7JSBpZiBkYXRhLnJlbHBlcnNpc3RlbmNlICV9 VU5MT0dHRUQgeyUgZW5kaWYgJX1UQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhCiB7JSBpZiBkYXRh LmNvbHVtbnMgYW5kIGRhdGEuY29sdW1uc3xsZW5ndGggPiAwICV9CiB7JSBmb3IgYyBpbiBkYXRh LmNvbHVtbnMgJX0KIHslIGlmIGMubmFtZSBhbmQgYy5jbHR5cGUgJX0KLSAgICB7JSBpZiBjLmlu aGVyaXRlZGZyb210YWJsZSAlfS0tIEluaGVyaXRlZCBmcm9tIHRhYmxlIHt7Yy5pbmhlcml0ZWRm cm9tdGFibGV9fTogeyUgZWxpZiBjLmluaGVyaXRlZGZyb210eXBlICV9LS0gSW5oZXJpdGVkIGZy b20gdHlwZSB7e2MuaW5oZXJpdGVkZnJvbXR5cGV9fTogeyUgZW5kaWYgJX17e2Nvbm58cXRJZGVu dChjLm5hbWUpfX0geyUgaWYgaXNfc3FsICV9e3tjLmRpc3BsYXl0eXBuYW1lfX17JSBlbHNlICV9 e3sgR0VUX1RZUEUuQ1JFQVRFX1RZUEVfU1FMKGNvbm4sIGMuY2x0eXBlLCBjLmF0dGxlbiwgYy5h dHRwcmVjaXNpb24sIGMuaGFzU3FyQnJhY2tldCkgfX17JSBlbmRpZiAlfXslIGlmIGMuY29sbHNw Y25hbWUgJX0gQ09MTEFURSB7e2MuY29sbHNwY25hbWV9fXslIGVuZGlmICV9eyUgaWYgYy5hdHRu b3RudWxsICV9IE5PVCBOVUxMeyUgZW5kaWYgJX17JSBpZiBjLmRlZnZhbCBpcyBkZWZpbmVkIGFu ZCBjLmRlZnZhbCBpcyBub3Qgbm9uZSAlfSBERUZBVUxUIHt7Yy5kZWZ2YWx9fXslIGVuZGlmICV9 Ci17JSBpZiBjLmF0dGlkZW50aXR5IGFuZCBjLmF0dGlkZW50aXR5ICE9ICcnICV9CisgICAgeyUg aWYgYy5pbmhlcml0ZWRmcm9tdGFibGUgJX0tLSBJbmhlcml0ZWQgZnJvbSB0YWJsZSB7e2MuaW5o ZXJpdGVkZnJvbXRhYmxlfX06IHslIGVsaWYgYy5pbmhlcml0ZWRmcm9tdHlwZSAlfS0tIEluaGVy aXRlZCBmcm9tIHR5cGUge3tjLmluaGVyaXRlZGZyb210eXBlfX06IHslIGVuZGlmICV9e3tjb25u fHF0SWRlbnQoYy5uYW1lKX19IHslIGlmIGlzX3NxbCAlfXt7Yy5kaXNwbGF5dHlwbmFtZX19eyUg ZWxzZSAlfXt7IEdFVF9UWVBFLkNSRUFURV9UWVBFX1NRTChjb25uLCBjLmNsdHlwZSwgYy5hdHRs ZW4sIGMuYXR0cHJlY2lzaW9uLCBjLmhhc1NxckJyYWNrZXQpIH19eyUgZW5kaWYgJX17JSBpZiBj LmNvbGxzcGNuYW1lICV9IENPTExBVEUge3tjLmNvbGxzcGNuYW1lfX17JSBlbmRpZiAlfXslIGlm IGMuYXR0bm90bnVsbCAlfSBOT1QgTlVMTHslIGVuZGlmICV9eyUgaWYgYy5kZWZ2YWwgaXMgZGVm aW5lZCBhbmQgYy5kZWZ2YWwgaXMgbm90IG5vbmUgYW5kIGMuZGVmdmFsICE9ICcnIGFuZCBjLmNv bGNvbnN0eXBlICE9ICdnJyAlfSBERUZBVUxUIHt7Yy5kZWZ2YWx9fXslIGVuZGlmICV9Cit7JSBp ZiBjLmNvbGNvbnN0eXBlID09ICdpJyBhbmQgYy5hdHRpZGVudGl0eSBhbmQgYy5hdHRpZGVudGl0 eSAhPSAnJyAlfQogeyUgaWYgYy5hdHRpZGVudGl0eSA9PSAnYScgJX0gR0VORVJBVEVEIEFMV0FZ UyBBUyBJREVOVElUWXslIGVsaWYgYy5hdHRpZGVudGl0eSA9PSAnZCcgJX0gR0VORVJBVEVEIEJZ IERFRkFVTFQgQVMgSURFTlRJVFl7JSBlbmRpZiAlfQogeyUgaWYgYy5zZXFpbmNyZW1lbnQgb3Ig Yy5zZXFjeWNsZSBvciBjLnNlcWluY3JlbWVudCBvciBjLnNlcXN0YXJ0IG9yIGMuc2VxbWluIG9y IGMuc2VxbWF4IG9yIGMuc2VxY2FjaGUgJX0gKCB7JSBlbmRpZiAlfQoteyUgaWYgYy5zZXFpbmNy ZW1lbnQgaXMgZGVmaW5lZCBhbmQgYy5zZXFjeWNsZSAlfQoreyUgaWYgYy5zZXFjeWNsZSBpcyBk ZWZpbmVkIGFuZCBjLnNlcWN5Y2xlICV9CiBDWUNMRSB7JSBlbmRpZiAlfXslIGlmIGMuc2VxaW5j cmVtZW50IGlzIGRlZmluZWQgYW5kIGMuc2VxaW5jcmVtZW50fGludCgtMSkgPiAtMSAlfQogSU5D UkVNRU5UIHt7Yy5zZXFpbmNyZW1lbnR8aW50fX0geyUgZW5kaWYgJX17JSBpZiBjLnNlcXN0YXJ0 IGlzIGRlZmluZWQgYW5kIGMuc2Vxc3RhcnR8aW50KC0xKSA+IC0xJX0KIFNUQVJUIHt7Yy5zZXFz dGFydHxpbnR9fSB7JSBlbmRpZiAlfXslIGlmIGMuc2VxbWluIGlzIGRlZmluZWQgYW5kIGMuc2Vx bWlufGludCgtMSkgPiAtMSV9CkBAIC01OSw2ICs1OSw3IEBAIE1BWFZBTFVFIHt7Yy5zZXFtYXh8 aW50fX0geyUgZW5kaWYgJX17JSBpZiBjLnNlcWNhY2hlIGlzIGRlZmluZWQgYW5kIGMuc2VxY2Fj aGV8CiBDQUNIRSB7e2Muc2VxY2FjaGV8aW50fX0geyUgZW5kaWYgJX0KIHslIGlmIGMuc2VxaW5j cmVtZW50IG9yIGMuc2VxY3ljbGUgb3IgYy5zZXFpbmNyZW1lbnQgb3IgYy5zZXFzdGFydCBvciBj LnNlcW1pbiBvciBjLnNlcW1heCBvciBjLnNlcWNhY2hlICV9KXslIGVuZGlmICV9CiB7JSBlbmRp ZiAlfQoreyUgaWYgYy5jb2xjb25zdHlwZSA9PSAnZycgYW5kIGMuZ2VuZXhwciBhbmQgYy5nZW5l eHByICE9ICcnICV9IEdFTkVSQVRFRCBBTFdBWVMgQVMgKHt7Yy5nZW5leHByfX0pIFNUT1JFRHsl IGVuZGlmICV9CiB7JSBpZiBub3QgbG9vcC5sYXN0ICV9LAogeyUgZW5kaWYgJX0KIHslIGVuZGlm ICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL3RhYmxlcy9zcWwvZGVmYXVsdC9j cmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZXMvc3FsL2RlZmF1bHQvY3JlYXRl LnNxbAppbmRleCAxYWE3OTM0Ny4uNWE1NTE5NzEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1w bGF0ZXMvdGFibGVzL3NxbC9kZWZhdWx0L2NyZWF0ZS5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBs YXRlcy90YWJsZXMvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbApAQCAtNDIsNyArNDIsNyBAQCBDUkVB VEUgeyUgaWYgZGF0YS5yZWxwZXJzaXN0ZW5jZSAlfVVOTE9HR0VEIHslIGVuZGlmICV9VEFCTEUg e3tjb25ufHF0SWRlbnQoZGF0YQogeyUgaWYgZGF0YS5jb2x1bW5zIGFuZCBkYXRhLmNvbHVtbnN8 bGVuZ3RoID4gMCAlfQogeyUgZm9yIGMgaW4gZGF0YS5jb2x1bW5zICV9CiB7JSBpZiBjLm5hbWUg YW5kIGMuY2x0eXBlICV9Ci0gICAgeyUgaWYgYy5pbmhlcml0ZWRmcm9tdGFibGUgJX0tLSBJbmhl cml0ZWQgZnJvbSB0YWJsZSB7e2MuaW5oZXJpdGVkZnJvbXRhYmxlfX06IHslIGVsaWYgYy5pbmhl cml0ZWRmcm9tdHlwZSAlfS0tIEluaGVyaXRlZCBmcm9tIHR5cGUge3tjLmluaGVyaXRlZGZyb210 eXBlfX06IHslIGVuZGlmICV9e3tjb25ufHF0SWRlbnQoYy5uYW1lKX19IHslIGlmIGlzX3NxbCAl fXt7Yy5kaXNwbGF5dHlwbmFtZX19eyUgZWxzZSAlfXt7IEdFVF9UWVBFLkNSRUFURV9UWVBFX1NR TChjb25uLCBjLmNsdHlwZSwgYy5hdHRsZW4sIGMuYXR0cHJlY2lzaW9uLCBjLmhhc1NxckJyYWNr ZXQpIH19eyUgZW5kaWYgJX17JSBpZiBjLmNvbGxzcGNuYW1lICV9IENPTExBVEUge3tjLmNvbGxz cGNuYW1lfX17JSBlbmRpZiAlfXslIGlmIGMuYXR0bm90bnVsbCAlfSBOT1QgTlVMTHslIGVuZGlm ICV9eyUgaWYgYy5kZWZ2YWwgaXMgZGVmaW5lZCBhbmQgYy5kZWZ2YWwgaXMgbm90IG5vbmUgJX0g REVGQVVMVCB7e2MuZGVmdmFsfX17JSBlbmRpZiAlfQorICAgIHslIGlmIGMuaW5oZXJpdGVkZnJv bXRhYmxlICV9LS0gSW5oZXJpdGVkIGZyb20gdGFibGUge3tjLmluaGVyaXRlZGZyb210YWJsZX19 OiB7JSBlbGlmIGMuaW5oZXJpdGVkZnJvbXR5cGUgJX0tLSBJbmhlcml0ZWQgZnJvbSB0eXBlIHt7 Yy5pbmhlcml0ZWRmcm9tdHlwZX19OiB7JSBlbmRpZiAlfXt7Y29ubnxxdElkZW50KGMubmFtZSl9 fSB7JSBpZiBpc19zcWwgJX17e2MuZGlzcGxheXR5cG5hbWV9fXslIGVsc2UgJX17eyBHRVRfVFlQ RS5DUkVBVEVfVFlQRV9TUUwoY29ubiwgYy5jbHR5cGUsIGMuYXR0bGVuLCBjLmF0dHByZWNpc2lv biwgYy5oYXNTcXJCcmFja2V0KSB9fXslIGVuZGlmICV9eyUgaWYgYy5jb2xsc3BjbmFtZSAlfSBD T0xMQVRFIHt7Yy5jb2xsc3BjbmFtZX19eyUgZW5kaWYgJX17JSBpZiBjLmF0dG5vdG51bGwgJX0g Tk9UIE5VTEx7JSBlbmRpZiAlfXslIGlmIGMuZGVmdmFsIGlzIGRlZmluZWQgYW5kIGMuZGVmdmFs IGlzIG5vdCBub25lIGFuZCBjLmRlZnZhbCAhPSAnJyAlfSBERUZBVUxUIHt7Yy5kZWZ2YWx9fXsl IGVuZGlmICV9CiB7JSBpZiBub3QgbG9vcC5sYXN0ICV9LAogeyUgZW5kaWYgJX0KIHslIGVuZGlm ICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL3RhYmxlcy9zcWwvZ3BkYl81LjBf cGx1cy9jcmVhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZXMvc3FsL2dwZGJfNS4w X3BsdXMvY3JlYXRlLnNxbAppbmRleCA1N2EwZDExYS4uYjZmZjFmMTggMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy90ZW1wbGF0ZXMvdGFibGVzL3NxbC9ncGRiXzUuMF9wbHVzL2NyZWF0ZS5zcWwKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL3RlbXBsYXRlcy90YWJsZXMvc3FsL2dwZGJfNS4wX3BsdXMvY3JlYXRlLnNx bApAQCAtNDIsNyArNDIsNyBAQCBDUkVBVEUgeyUgaWYgZGF0YS5yZWxwZXJzaXN0ZW5jZSAlfVVO TE9HR0VEIHslIGVuZGlmICV9VEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YQogeyUgaWYgZGF0YS5j b2x1bW5zIGFuZCBkYXRhLmNvbHVtbnN8bGVuZ3RoID4gMCAlfQogeyUgZm9yIGMgaW4gZGF0YS5j b2x1bW5zICV9CiB7JSBpZiBjLm5hbWUgYW5kIGMuY2x0eXBlICV9Ci0gICAgeyUgaWYgYy5pbmhl cml0ZWRmcm9tdGFibGUgJX0tLSBJbmhlcml0ZWQgZnJvbSB0YWJsZSB7e2MuaW5oZXJpdGVkZnJv bXRhYmxlfX06IHslIGVsaWYgYy5pbmhlcml0ZWRmcm9tdHlwZSAlfS0tIEluaGVyaXRlZCBmcm9t IHR5cGUge3tjLmluaGVyaXRlZGZyb210eXBlfX06IHslIGVuZGlmICV9e3tjb25ufHF0SWRlbnQo Yy5uYW1lKX19IHslIGlmIGlzX3NxbCAlfXt7Yy5kaXNwbGF5dHlwbmFtZX19eyUgZWxzZSAlfXt7 IEdFVF9UWVBFLkNSRUFURV9UWVBFX1NRTChjb25uLCBjLmNsdHlwZSwgYy5hdHRsZW4sIGMuYXR0 cHJlY2lzaW9uLCBjLmhhc1NxckJyYWNrZXQpIH19eyUgZW5kaWYgJX17JSBpZiBjLmNvbGxzcGNu YW1lICV9IENPTExBVEUge3tjLmNvbGxzcGNuYW1lfX17JSBlbmRpZiAlfXslIGlmIGMuYXR0bm90 bnVsbCAlfSBOT1QgTlVMTHslIGVuZGlmICV9eyUgaWYgYy5kZWZ2YWwgaXMgZGVmaW5lZCBhbmQg Yy5kZWZ2YWwgaXMgbm90IG5vbmUgJX0gREVGQVVMVCB7e2MuZGVmdmFsfX17JSBlbmRpZiAlfQor ICAgIHslIGlmIGMuaW5oZXJpdGVkZnJvbXRhYmxlICV9LS0gSW5oZXJpdGVkIGZyb20gdGFibGUg e3tjLmluaGVyaXRlZGZyb210YWJsZX19OiB7JSBlbGlmIGMuaW5oZXJpdGVkZnJvbXR5cGUgJX0t LSBJbmhlcml0ZWQgZnJvbSB0eXBlIHt7Yy5pbmhlcml0ZWRmcm9tdHlwZX19OiB7JSBlbmRpZiAl fXt7Y29ubnxxdElkZW50KGMubmFtZSl9fSB7JSBpZiBpc19zcWwgJX17e2MuZGlzcGxheXR5cG5h bWV9fXslIGVsc2UgJX17eyBHRVRfVFlQRS5DUkVBVEVfVFlQRV9TUUwoY29ubiwgYy5jbHR5cGUs IGMuYXR0bGVuLCBjLmF0dHByZWNpc2lvbiwgYy5oYXNTcXJCcmFja2V0KSB9fXslIGVuZGlmICV9 eyUgaWYgYy5jb2xsc3BjbmFtZSAlfSBDT0xMQVRFIHt7Yy5jb2xsc3BjbmFtZX19eyUgZW5kaWYg JX17JSBpZiBjLmF0dG5vdG51bGwgJX0gTk9UIE5VTEx7JSBlbmRpZiAlfXslIGlmIGMuZGVmdmFs IGlzIGRlZmluZWQgYW5kIGMuZGVmdmFsIGlzIG5vdCBub25lIGFuZCBjLmRlZnZhbCAhPSAnJyAl fSBERUZBVUxUIHt7Yy5kZWZ2YWx9fXslIGVuZGlmICV9CiB7JSBpZiBub3QgbG9vcC5sYXN0ICV9 LAogeyUgZW5kaWYgJX0KIHslIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMv dGVzdF90YWJsZV9hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvdGVzdF90YWJsZV9hZGQucHkKaW5k ZXggNmI5N2IyNTMuLjU5OWVhZWM3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvdGVzdF90 YWJsZV9hZGQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rlc3RzL3Rlc3RfdGFibGVfYWRkLnB5CkBAIC0x OCw2ICsxOCw3IEBAIGZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgc2VydmVyX3V0aWxzIGFzIHNl cnZlcl91dGlscwogZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgogZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0CiBmcm9tIHJlZ3Jl c3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20g LiBpbXBvcnQgdXRpbHMgYXMgdGFibGVzX3V0aWxzCiAKIAogY2xhc3MgVGFibGVBZGRUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CkBAIC0yOCw3ICsyOSw5IEBAIGNsYXNzIFRhYmxlQWRkVGVz dENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAoJ0NyZWF0ZSBSYW5nZSBwYXJ0aXRp b25lZCB0YWJsZSB3aXRoIDIgcGFydGl0aW9ucycsCiAgICAgICAgICBkaWN0KHVybD0nL2Jyb3dz ZXIvdGFibGUvb2JqLycsCiAgICAgICAgICAgICAgIHNlcnZlcl9taW5fdmVyc2lvbj0xMDAwMDAs Ci0gICAgICAgICAgICAgIHBhcnRpdGlvbl90eXBlPSdyYW5nZScKKyAgICAgICAgICAgICAgcGFy dGl0aW9uX3R5cGU9J3JhbmdlJywKKyAgICAgICAgICAgICAgc2tpcF9tc2c9J1BhcnRpdGlvbmVk IHRhYmxlIGFyZSBub3Qgc3VwcG9ydGVkIGJ5ICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ1BQ QVMvUEcgMTAuMCBhbmQgYmVsb3cuJwogICAgICAgICAgICAgICApCiAgICAgICAgICApLAogICAg ICAgICAoJ0NyZWF0ZSBSYW5nZSBwYXJ0aXRpb25lZCB0YWJsZSB3aXRoIDEgZGVmYXVsdCBhbmQg MicKQEAgLTM2LDIxICszOSwxMDQgQEAgY2xhc3MgVGFibGVBZGRUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgICAgICBkaWN0KHVybD0nL2Jyb3dzZXIvdGFibGUvb2JqLycsCiAgICAg ICAgICAgICAgIHNlcnZlcl9taW5fdmVyc2lvbj0xMTAwMDAsCiAgICAgICAgICAgICAgIHBhcnRp dGlvbl90eXBlPSdyYW5nZScsCi0gICAgICAgICAgICAgIGlzX2RlZmF1bHQ9VHJ1ZQorICAgICAg ICAgICAgICBpc19kZWZhdWx0PVRydWUsCisgICAgICAgICAgICAgIHNraXBfbXNnPSdQYXJ0aXRp b25lZCB0YWJsZSBhcmUgbm90IHN1cHBvcnRlZCBieSAnCisgICAgICAgICAgICAgICAgICAgICAg ICdQUEFTL1BHIDEwLjAgYW5kIGJlbG93LicKICAgICAgICAgICAgICAgKQogICAgICAgICAgKSwK ICAgICAgICAgKCdDcmVhdGUgTGlzdCBwYXJ0aXRpb25lZCB0YWJsZSB3aXRoIDIgcGFydGl0aW9u cycsCiAgICAgICAgICBkaWN0KHVybD0nL2Jyb3dzZXIvdGFibGUvb2JqLycsCiAgICAgICAgICAg ICAgIHNlcnZlcl9taW5fdmVyc2lvbj0xMDAwMDAsCi0gICAgICAgICAgICAgIHBhcnRpdGlvbl90 eXBlPSdsaXN0JworICAgICAgICAgICAgICBwYXJ0aXRpb25fdHlwZT0nbGlzdCcsCisgICAgICAg ICAgICAgIHNraXBfbXNnPSdQYXJ0aXRpb25lZCB0YWJsZSBhcmUgbm90IHN1cHBvcnRlZCBieSAn CisgICAgICAgICAgICAgICAgICAgICAgICdQUEFTL1BHIDEwLjAgYW5kIGJlbG93LicKICAgICAg ICAgICAgICAgKQogICAgICAgICAgKSwKICAgICAgICAgKCdDcmVhdGUgSGFzaCBwYXJ0aXRpb25l ZCB0YWJsZSB3aXRoIDIgcGFydGl0aW9ucycsCiAgICAgICAgICBkaWN0KHVybD0nL2Jyb3dzZXIv dGFibGUvb2JqLycsCiAgICAgICAgICAgICAgIHNlcnZlcl9taW5fdmVyc2lvbj0xMTAwMDAsCi0g ICAgICAgICAgICAgIHBhcnRpdGlvbl90eXBlPSdoYXNoJworICAgICAgICAgICAgICBwYXJ0aXRp b25fdHlwZT0naGFzaCcsCisgICAgICAgICAgICAgIHNraXBfbXNnPSdIYXNoIFBhcnRpdGlvbiBh cmUgbm90IHN1cHBvcnRlZCBieSAnCisgICAgICAgICAgICAgICAgICAgICAgICdQUEFTL1BHIDEx LjAgYW5kIGJlbG93LicKICAgICAgICAgICAgICAgKQorICAgICAgICAgKSwKKyAgICAgICAgKCdD cmVhdGUgVGFibGUgd2l0aCBJZGVudGl0eSBjb2x1bW5zJywKKyAgICAgICAgIGRpY3QodXJsPScv YnJvd3Nlci90YWJsZS9vYmovJywKKyAgICAgICAgICAgICAgc2VydmVyX21pbl92ZXJzaW9uPTEw MDAwMCwKKyAgICAgICAgICAgICAgc2tpcF9tc2c9J0lkZW50aXR5IGNvbHVtbnMgYXJlIG5vdCBz dXBwb3J0ZWQgYnkgJworICAgICAgICAgICAgICAgICAgICAgICAnUFBBUy9QRyAxMC4wIGFuZCBi ZWxvdy4nLAorICAgICAgICAgICAgICBjb2x1bW5zPVt7CisgICAgICAgICAgICAgICAgICAnbmFt ZSc6ICdpZGVuX2Fsd2F5cycsCisgICAgICAgICAgICAgICAgICAnY2x0eXBlJzogJ2JpZ2ludCcs CisgICAgICAgICAgICAgICAgICAnYXR0YWNsJzogW10sCisgICAgICAgICAgICAgICAgICAnaXNf cHJpbWFyeV9rZXknOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICdhdHRub3RudWxsJzogVHJ1 ZSwKKyAgICAgICAgICAgICAgICAgICdhdHRsZW4nOiBOb25lLAorICAgICAgICAgICAgICAgICAg J2F0dHByZWNpc2lvbic6IE5vbmUsCisgICAgICAgICAgICAgICAgICAnYXR0b3B0aW9ucyc6IFtd LAorICAgICAgICAgICAgICAgICAgJ3NlY2xhYmVscyc6IFtdLAorICAgICAgICAgICAgICAgICAg J2NvbGNvbnN0eXBlJzogJ2knLAorICAgICAgICAgICAgICAgICAgJ2F0dGlkZW50aXR5JzogJ2En LAorICAgICAgICAgICAgICAgICAgJ3NlcWluY3JlbWVudCc6IDEsCisgICAgICAgICAgICAgICAg ICAnc2Vxc3RhcnQnOiAxLAorICAgICAgICAgICAgICAgICAgJ3NlcW1pbic6IDEsCisgICAgICAg ICAgICAgICAgICAnc2VxbWF4JzogMTAsCisgICAgICAgICAgICAgICAgICAnc2VxY2FjaGUnOiAx LAorICAgICAgICAgICAgICAgICAgJ3NlcWN5Y2xlJzogVHJ1ZQorICAgICAgICAgICAgICB9LCB7 CisgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdpZGVuX2RlZmF1bHQnLAorICAgICAgICAgICAg ICAgICAgJ2NsdHlwZSc6ICdiaWdpbnQnLAorICAgICAgICAgICAgICAgICAgJ2F0dGFjbCc6IFtd LAorICAgICAgICAgICAgICAgICAgJ2lzX3ByaW1hcnlfa2V5JzogRmFsc2UsCisgICAgICAgICAg ICAgICAgICAnYXR0bm90bnVsbCc6IFRydWUsCisgICAgICAgICAgICAgICAgICAnYXR0bGVuJzog Tm9uZSwKKyAgICAgICAgICAgICAgICAgICdhdHRwcmVjaXNpb24nOiBOb25lLAorICAgICAgICAg ICAgICAgICAgJ2F0dG9wdGlvbnMnOiBbXSwKKyAgICAgICAgICAgICAgICAgICdzZWNsYWJlbHMn OiBbXSwKKyAgICAgICAgICAgICAgICAgICdjb2xjb25zdHlwZSc6ICdpJywKKyAgICAgICAgICAg ICAgICAgICdhdHRpZGVudGl0eSc6ICdkJywKKyAgICAgICAgICAgICAgICAgICdzZXFpbmNyZW1l bnQnOiAyLAorICAgICAgICAgICAgICAgICAgJ3NlcXN0YXJ0JzogMiwKKyAgICAgICAgICAgICAg ICAgICdzZXFtaW4nOiAyLAorICAgICAgICAgICAgICAgICAgJ3NlcW1heCc6IDIwMDAsCisgICAg ICAgICAgICAgICAgICAnc2VxY2FjaGUnOiAxLAorICAgICAgICAgICAgICAgICAgJ3NlcWN5Y2xl JzogVHJ1ZQorICAgICAgICAgICAgICB9XSkKKyAgICAgICAgICksCisgICAgICAgICgnQ3JlYXRl IFRhYmxlIHdpdGggR2VuZXJhdGVkIGNvbHVtbnMnLAorICAgICAgICAgZGljdCh1cmw9Jy9icm93 c2VyL3RhYmxlL29iai8nLAorICAgICAgICAgICAgICBzZXJ2ZXJfbWluX3ZlcnNpb249MTIwMDAw LAorICAgICAgICAgICAgICBza2lwX21zZz0nR2VuZXJhdGVkIGNvbHVtbnMgYXJlIG5vdCBzdXBw b3J0ZWQgYnkgJworICAgICAgICAgICAgICAgICAgICAgICAnUFBBUy9QRyAxMi4wIGFuZCBiZWxv dy4nLAorICAgICAgICAgICAgICBjb2x1bW5zPVt7CisgICAgICAgICAgICAgICAgICAnbmFtZSc6 ICdtMScsCisgICAgICAgICAgICAgICAgICAnY2x0eXBlJzogJ2JpZ2ludCcsCisgICAgICAgICAg ICAgICAgICAnYXR0YWNsJzogW10sCisgICAgICAgICAgICAgICAgICAnaXNfcHJpbWFyeV9rZXkn OiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICdhdHRvcHRpb25zJzogW10sCisgICAgICAgICAg ICAgICAgICAnc2VjbGFiZWxzJzogW10KKyAgICAgICAgICAgICAgfSwgeworICAgICAgICAgICAg ICAgICAgJ25hbWUnOiAnbTInLAorICAgICAgICAgICAgICAgICAgJ2NsdHlwZSc6ICdiaWdpbnQn LAorICAgICAgICAgICAgICAgICAgJ2F0dGFjbCc6IFtdLAorICAgICAgICAgICAgICAgICAgJ2lz X3ByaW1hcnlfa2V5JzogRmFsc2UsCisgICAgICAgICAgICAgICAgICAnYXR0b3B0aW9ucyc6IFtd LAorICAgICAgICAgICAgICAgICAgJ3NlY2xhYmVscyc6IFtdCisgICAgICAgICAgICAgIH0sIHsK KyAgICAgICAgICAgICAgICAgICduYW1lJzogJ2dlbnJhdGVkJywKKyAgICAgICAgICAgICAgICAg ICdjbHR5cGUnOiAnYmlnaW50JywKKyAgICAgICAgICAgICAgICAgICdhdHRhY2wnOiBbXSwKKyAg ICAgICAgICAgICAgICAgICdpc19wcmltYXJ5X2tleSc6IEZhbHNlLAorICAgICAgICAgICAgICAg ICAgJ2F0dG5vdG51bGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICAgJ2F0dGxlbic6IE5vbmUs CisgICAgICAgICAgICAgICAgICAnYXR0cHJlY2lzaW9uJzogTm9uZSwKKyAgICAgICAgICAgICAg ICAgICdhdHRvcHRpb25zJzogW10sCisgICAgICAgICAgICAgICAgICAnc2VjbGFiZWxzJzogW10s CisgICAgICAgICAgICAgICAgICAnY29sY29uc3R5cGUnOiAnZycsCisgICAgICAgICAgICAgICAg ICAnZ2VuZXhwcic6ICdtMSptMicKKyAgICAgICAgICAgICAgfV0pCiAgICAgICAgICApCisKICAg ICBdCiAKICAgICBkZWYgc2V0VXAoc2VsZik6CkBAIC03MCwxNDUgKzE1Niw0OCBAQCBjbGFzcyBU YWJsZUFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgaWYgbm90IHNjaGVt YV9yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQg dGhlIHNjaGVtYSB0byBhZGQgYSB0YWJsZS4iKQogCi0gICAgICAgIHNlbGYuaXNfcGFydGl0aW9u ID0gRmFsc2UKICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnc2VydmVyX21pbl92ZXJzaW9uJyk6 CiAgICAgICAgICAgICBzZXJ2ZXJfY29uID0gc2VydmVyX3V0aWxzLmNvbm5lY3Rfc2VydmVyKHNl bGYsIHNlbGYuc2VydmVyX2lkKQogICAgICAgICAgICAgaWYgbm90IHNlcnZlcl9jb25bImluZm8i XSA9PSAiU2VydmVyIGNvbm5lY3RlZC4iOgogICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiQ291bGQgbm90IGNvbm5lY3QgdG8gc2VydmVyIHRvIGFkZCAiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJwYXJ0aXRpb25lZCB0YWJsZS4iKQogICAgICAgICAgICAgaWYgc2Vy dmVyX2NvblsiZGF0YSJdWyJ2ZXJzaW9uIl0gPCBzZWxmLnNlcnZlcl9taW5fdmVyc2lvbjoKLSAg ICAgICAgICAgICAgICBtZXNzYWdlID0gIlBhcnRpdGlvbmVkIHRhYmxlIGFyZSBub3Qgc3VwcG9y dGVkIGJ5ICIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAiUFBBUy9QRyAxMC4wIGFuZCBi ZWxvdy4iCi0gICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdChtZXNzYWdlKQotICAgICAgICAg ICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmlzX3BhcnRpdGlvbiA9IFRydWUKKyAgICAg ICAgICAgICAgICBzZWxmLnNraXBUZXN0KHNlbGYuc2tpcF9tc2cpCiAKICAgICBkZWYgcnVuVGVz dChzZWxmKToKICAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdGFibGUgdW5kZXIg c2NoZW1hIG5vZGUuICIiIgogICAgICAgICBkYl91c2VyID0gc2VsZi5zZXJ2ZXJbInVzZXJuYW1l Il0KICAgICAgICAgc2VsZi50YWJsZV9uYW1lID0gInRlc3RfdGFibGVfYWRkXyVzIiAlIChzdHIo dXVpZC51dWlkNCgpKVsxOjhdKQotICAgICAgICBkYXRhID0gewotICAgICAgICAgICAgImNoZWNr X2NvbnN0cmFpbnQiOiBbXSwKLSAgICAgICAgICAgICJjb2xsX2luaGVyaXRzIjogIltdIiwKLSAg ICAgICAgICAgICJjb2x1bW5zIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg ICAgICAgIm5hbWUiOiAiZW1wbm8iLAotICAgICAgICAgICAgICAgICAgICAiY2x0eXBlIjogIm51 bWVyaWMiLAotICAgICAgICAgICAgICAgICAgICAiYXR0YWNsIjogW10sCi0gICAgICAgICAgICAg ICAgICAgICJpc19wcmltYXJ5X2tleSI6IEZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiYXR0 b3B0aW9ucyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAic2VjbGFiZWxzIjogW10KLSAgICAg ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5h bWUiOiAiZW1wbmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICJjbHR5cGUiOiAiY2hhcmFjdGVy W10iLAotICAgICAgICAgICAgICAgICAgICAiYXR0YWNsIjogW10sCi0gICAgICAgICAgICAgICAg ICAgICJpc19wcmltYXJ5X2tleSI6IEZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiYXR0b3B0 aW9ucyI6IFtdLAotICAgICAgICAgICAgICAgICAgICAic2VjbGFiZWxzIjogW10KLSAgICAgICAg ICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUi OiAiRE9KIiwKLSAgICAgICAgICAgICAgICAgICAgImNsdHlwZSI6ICJkYXRlIiwKLSAgICAgICAg ICAgICAgICAgICAgImF0dGFjbCI6IFtdLAotICAgICAgICAgICAgICAgICAgICAiaXNfcHJpbWFy eV9rZXkiOiBGYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgImF0dG9wdGlvbnMiOiBbXSwKLSAg ICAgICAgICAgICAgICAgICAgInNlY2xhYmVscyI6IFtdCi0gICAgICAgICAgICAgICAgfQotICAg ICAgICAgICAgXSwKLSAgICAgICAgICAgICJleGNsdWRlX2NvbnN0cmFpbnQiOiBbXSwKLSAgICAg ICAgICAgICJmaWxsZmFjdG9yIjogIiIsCi0gICAgICAgICAgICAiaGFzdG9hc3R0YWJsZSI6IFRy dWUsCi0gICAgICAgICAgICAibGlrZV9jb25zdHJhaW50cyI6IFRydWUsCi0gICAgICAgICAgICAi bGlrZV9kZWZhdWx0X3ZhbHVlIjogVHJ1ZSwKLSAgICAgICAgICAgICJsaWtlX3JlbGF0aW9uIjog InBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIiwKKyAgICAgICAgIyBHZXQgdGhlIGNvbW1vbiBkYXRh CisgICAgICAgIGRhdGEgPSB0YWJsZXNfdXRpbHMuZ2V0X3RhYmxlX2NvbW1vbl9kYXRhKCkKKyAg ICAgICAgZGF0YS51cGRhdGUoewogICAgICAgICAgICAgIm5hbWUiOiBzZWxmLnRhYmxlX25hbWUs Ci0gICAgICAgICAgICAicHJpbWFyeV9rZXkiOiBbXSwKLSAgICAgICAgICAgICJyZWxhY2wiOiBb Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAiZ3JhbnRlZSI6IGRiX3Vz ZXIsCi0gICAgICAgICAgICAgICAgICAgICJncmFudG9yIjogZGJfdXNlciwKLSAgICAgICAgICAg ICAgICAgICAgInByaXZpbGVnZXMiOgotICAgICAgICAgICAgICAgICAgICAgICAgWwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg InByaXZpbGVnZV90eXBlIjogImEiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi cHJpdmlsZWdlIjogVHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpdGhf Z3JhbnQiOiBUcnVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2 aWxlZ2VfdHlwZSI6ICJyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByaXZp bGVnZSI6IFRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aXRoX2dyYW50 IjogRmFsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByaXZpbGVn ZV90eXBlIjogInciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdl IjogVHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBG YWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg ICAgIF0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInJl bGhhc29pZHMiOiBUcnVlLAogICAgICAgICAgICAgInJlbG93bmVyIjogZGJfdXNlciwKICAgICAg ICAgICAgICJzY2hlbWEiOiBzZWxmLnNjaGVtYV9uYW1lLAotICAgICAgICAgICAgInNlY2xhYmVs cyI6IFtdLAotICAgICAgICAgICAgInNwY25hbWUiOiAicGdfZGVmYXVsdCIsCi0gICAgICAgICAg ICAidW5pcXVlX2NvbnN0cmFpbnQiOiBbXSwKLSAgICAgICAgICAgICJ2YWN1dW1fdGFibGUiOiBb Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhdXRvdmFj dXVtX2FuYWx5emVfc2NhbGVfZmFjdG9yIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg ICAgICAgewotICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhdXRvdmFjdXVtX2FuYWx5emVf dGhyZXNob2xkIgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAg ICAgICAgICAgICAgICAibmFtZSI6ICJhdXRvdmFjdXVtX2ZyZWV6ZV9tYXhfYWdlIgotICAgICAg ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAibmFt ZSI6ICJhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5IgotICAgICAgICAgICAgICAgIH0sCi0g ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhdXRvdmFjdXVt X3ZhY3V1bV9jb3N0X2xpbWl0IgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg ewotICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhdXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9m YWN0b3IiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg ICAgICAgICAgICJuYW1lIjogImF1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCIKLSAgICAgICAg ICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUi OiAiYXV0b3ZhY3V1bV9mcmVlemVfbWluX2FnZSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAg ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV9mcmVl emVfdGFibGVfYWdlIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAg ICAgICAidmFjdXVtX3RvYXN0IjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg ICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSIKLSAgICAgICAgICAgICAg ICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXV0 b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV92YWN1dW1f Y29zdF9saW1pdCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg ICAgICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yIgot ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg ICAibmFtZSI6ICJhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQiCi0gICAgICAgICAgICAgICAg fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJuYW1lIjogImF1dG92 YWN1dW1fZnJlZXplX21pbl9hZ2UiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg ICB7Ci0gICAgICAgICAgICAgICAgICAgICJuYW1lIjogImF1dG92YWN1dW1fZnJlZXplX3RhYmxl X2FnZSIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0KKyAgICAg ICAgICAgICJyZWxhY2wiOiBbeworICAgICAgICAgICAgICAgICJncmFudGVlIjogZGJfdXNlciwK KyAgICAgICAgICAgICAgICAiZ3JhbnRvciI6IGRiX3VzZXIsCisgICAgICAgICAgICAgICAgInBy aXZpbGVnZXMiOiBbeworICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiYSIs CisgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiBUcnVlLAorICAgICAgICAgICAgICAg ICAgICAid2l0aF9ncmFudCI6IFRydWUKKyAgICAgICAgICAgICAgICB9LCB7CisgICAgICAgICAg ICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJyIiwKKyAgICAgICAgICAgICAgICAgICAgInBy aXZpbGVnZSI6IFRydWUsCisgICAgICAgICAgICAgICAgICAgICJ3aXRoX2dyYW50IjogRmFsc2UK KyAgICAgICAgICAgICAgICB9LCB7CisgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlw ZSI6ICJ3IiwKKyAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZSI6IFRydWUsCisgICAgICAg ICAgICAgICAgICAgICJ3aXRoX2dyYW50IjogRmFsc2UKKyAgICAgICAgICAgICAgICB9XQorICAg ICAgICAgICAgfV0KKyAgICAgICAgfSkKKworICAgICAgICAjIElmIGNvbHVtbiBpcyBwcm92aWRl ZCBpbiB0aGUgc2NlbmFyaW8gdGhlbiB1c2UgdGhvc2UgY29sdW1ucworICAgICAgICBpZiBoYXNh dHRyKHNlbGYsICdjb2x1bW5zJyk6CisgICAgICAgICAgICBkYXRhWydjb2x1bW5zJ10gPSBzZWxm LmNvbHVtbnMKIAotICAgICAgICBpZiBzZWxmLmlzX3BhcnRpdGlvbjoKKyAgICAgICAgaWYgaGFz YXR0cihzZWxmLCAncGFydGl0aW9uX3R5cGUnKToKICAgICAgICAgICAgIGRhdGFbJ3BhcnRpdGlv bl90eXBlJ10gPSBzZWxmLnBhcnRpdGlvbl90eXBlCiAgICAgICAgICAgICBkYXRhWydpc19wYXJ0 aXRpb25lZCddID0gVHJ1ZQogICAgICAgICAgICAgaWYgc2VsZi5wYXJ0aXRpb25fdHlwZSA9PSAn cmFuZ2UnOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3Rlc3RzL3V0aWxzLnB5CmluZGV4IDUxZGQ1ZDk4Li4xNDhlMTVjZiAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL3Rlc3RzL3V0aWxzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZXN0cy91dGlscy5weQpAQCAt MjQyLDMgKzI0Miw4MSBAQCBkZWYgc2V0X3BhcnRpdGlvbl9kYXRhKHNlcnZlciwgZGJfbmFtZSwg c2NoZW1hX25hbWUsIHRhYmxlX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICB9XQogICAg ICAgICAgICAgIH0KICAgICAgICAgKQorCisKK2RlZiBnZXRfdGFibGVfY29tbW9uX2RhdGEoKToK KyAgICAiIiIKKyAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRoZSBjb21tb24gZGF0YSB1 c2VkIHRvIGNyZWF0ZSBhIHRhYmxlCisgICAgOnJldHVybjoKKyAgICAiIiIKKyAgICByZXR1cm4g eworICAgICAgICAiY2hlY2tfY29uc3RyYWludCI6IFtdLAorICAgICAgICAiY29sbF9pbmhlcml0 cyI6ICJbXSIsCisgICAgICAgICJjb2x1bW5zIjogW3sKKyAgICAgICAgICAgICJuYW1lIjogImVt cG5vIiwKKyAgICAgICAgICAgICJjbHR5cGUiOiAibnVtZXJpYyIsCisgICAgICAgICAgICAiYXR0 YWNsIjogW10sCisgICAgICAgICAgICAiaXNfcHJpbWFyeV9rZXkiOiBGYWxzZSwKKyAgICAgICAg ICAgICJhdHRvcHRpb25zIjogW10sCisgICAgICAgICAgICAic2VjbGFiZWxzIjogW10KKyAgICAg ICAgfSwgeworICAgICAgICAgICAgIm5hbWUiOiAiZW1wbmFtZSIsCisgICAgICAgICAgICAiY2x0 eXBlIjogImNoYXJhY3RlcltdIiwKKyAgICAgICAgICAgICJhdHRhY2wiOiBbXSwKKyAgICAgICAg ICAgICJpc19wcmltYXJ5X2tleSI6IEZhbHNlLAorICAgICAgICAgICAgImF0dG9wdGlvbnMiOiBb XSwKKyAgICAgICAgICAgICJzZWNsYWJlbHMiOiBbXQorICAgICAgICB9LCB7CisgICAgICAgICAg ICAibmFtZSI6ICJET0oiLAorICAgICAgICAgICAgImNsdHlwZSI6ICJkYXRlIiwKKyAgICAgICAg ICAgICJhdHRhY2wiOiBbXSwKKyAgICAgICAgICAgICJpc19wcmltYXJ5X2tleSI6IEZhbHNlLAor ICAgICAgICAgICAgImF0dG9wdGlvbnMiOiBbXSwKKyAgICAgICAgICAgICJzZWNsYWJlbHMiOiBb XQorICAgICAgICB9XSwKKyAgICAgICAgImV4Y2x1ZGVfY29uc3RyYWludCI6IFtdLAorICAgICAg ICAiZmlsbGZhY3RvciI6ICIiLAorICAgICAgICAiaGFzdG9hc3R0YWJsZSI6IFRydWUsCisgICAg ICAgICJsaWtlX2NvbnN0cmFpbnRzIjogVHJ1ZSwKKyAgICAgICAgImxpa2VfZGVmYXVsdF92YWx1 ZSI6IFRydWUsCisgICAgICAgICJsaWtlX3JlbGF0aW9uIjogInBnX2NhdGFsb2cucGdfbmFtZXNw YWNlIiwKKyAgICAgICAgInByaW1hcnlfa2V5IjogW10sCisgICAgICAgICJyZWxoYXNvaWRzIjog VHJ1ZSwKKyAgICAgICAgInNlY2xhYmVscyI6IFtdLAorICAgICAgICAic3BjbmFtZSI6ICJwZ19k ZWZhdWx0IiwKKyAgICAgICAgInVuaXF1ZV9jb25zdHJhaW50IjogW10sCisgICAgICAgICJ2YWN1 dW1fdGFibGUiOiBbeworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV9hbmFseXplX3Nj YWxlX2ZhY3RvciIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1 bV9hbmFseXplX3RocmVzaG9sZCIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIm5hbWUiOiAi YXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIm5h bWUiOiAiYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSIKKyAgICAgICAgfSwgeworICAgICAg ICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCIKKyAgICAgICAgfSwg eworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yIgor ICAgICAgICB9LCB7CisgICAgICAgICAgICAibmFtZSI6ICJhdXRvdmFjdXVtX3ZhY3V1bV90aHJl c2hvbGQiCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJuYW1lIjogImF1dG92YWN1dW1fZnJl ZXplX21pbl9hZ2UiCisgICAgICAgIH0sIHsKKyAgICAgICAgICAgICJuYW1lIjogImF1dG92YWN1 dW1fZnJlZXplX3RhYmxlX2FnZSIKKyAgICAgICAgfV0sCisgICAgICAgICJ2YWN1dW1fdG9hc3Qi OiBbeworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSIKKyAg ICAgICAgfSwgeworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9k ZWxheSIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3ZhY3V1bV92YWN1 dW1fY29zdF9saW1pdCIKKyAgICAgICAgfSwgeworICAgICAgICAgICAgIm5hbWUiOiAiYXV0b3Zh Y3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yIgorICAgICAgICB9LCB7CisgICAgICAgICAgICAibmFt ZSI6ICJhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQiCisgICAgICAgIH0sIHsKKyAgICAgICAg ICAgICJuYW1lIjogImF1dG92YWN1dW1fZnJlZXplX21pbl9hZ2UiCisgICAgICAgIH0sIHsKKyAg ICAgICAgICAgICJuYW1lIjogImF1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSIKKyAgICAgICAg fV0KKyAgICB9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdh ZG1pbi5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZm9ybS5wZ2FkbWluLmpzCmluZGV4 IDAxMmE3NDMyLi44ZTY5Y2ZiOCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2Jh Y2tmb3JtLnBnYWRtaW4uanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBn YWRtaW4uanMKQEAgLTQ0OCwxMSArNDQ4LDExIEBAIGRlZmluZShbCiAgICAgdGVtcGxhdGU6IF8u dGVtcGxhdGUoWwogICAgICAgJzxsYWJlbCBjbGFzcz0iPCU9Y29udHJvbExhYmVsQ2xhc3NOYW1l JT4iPjwlPWxhYmVsJT48L2xhYmVsPicsCiAgICAgICAnPGRpdiBjbGFzcz0iPCU9Y29udHJvbHND bGFzc05hbWUlPiA8JT1leHRyYUNsYXNzZXMuam9pbihcJyBcJyklPiI+JywKLSAgICAgICcgPGRp diBjbGFzcz0iYnRuLWdyb3VwIHBnYWRtaW4tY29udHJvbHMtcmFkaW8tbm9uZSIgIGRhdGEtdG9n Z2xlPSJidXR0b25zIj4nLAorICAgICAgJyA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAgcGdhZG1pbi1j b250cm9scy1yYWRpby1ub25lPCUgaWYgKGRpc2FibGVkKSB7JT4gZGlzYWJsZWQgPCV9JT4iICBk YXRhLXRvZ2dsZT0iYnV0dG9ucyI+JywKICAgICAgICcgIDwlIGZvciAodmFyIGk9MDsgaSA8IG9w dGlvbnMubGVuZ3RoOyBpKyspIHsgJT4nLAogICAgICAgJyAgPCUgdmFyIG9wdGlvbiA9IG9wdGlv bnNbaV07ICU+JywKLSAgICAgICcgIDxsYWJlbCBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5PCUgaWYg KG9wdGlvbi52YWx1ZSA9PSB2YWx1ZSkgeyAlPiBhY3RpdmU8JX0lPiIgdGFiaW5kZXg9IjAiPics Ci0gICAgICAnICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSI8JT1uYW1lJT4iIGF1dG9jb21w bGV0ZT0ib2ZmIiB2YWx1ZT08JS1mb3JtYXR0ZXIuZnJvbVJhdyhvcHRpb24udmFsdWUpJT4gPCUg aWYgKG9wdGlvbi52YWx1ZSA9PSB2YWx1ZSkgeyAlPiBjaGVja2VkPCV9JT4gPiA8JS1vcHRpb24u bGFiZWwlPicsCisgICAgICAnICA8bGFiZWwgY2xhc3M9ImJ0biBidG4tcHJpbWFyeTwlIGlmIChv cHRpb24udmFsdWUgPT0gdmFsdWUpIHsgJT4gYWN0aXZlPCV9JT48JSBpZiAoIW9wdGlvbi5kaXNh YmxlZCAmJiAhZGlzYWJsZWQpIHsgJT4iIHRhYmluZGV4PSIwIjwlIH0gZWxzZSB7ICU+IGRpc2Fi bGVkIjwlIH0gJT4+JywKKyAgICAgICcgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IjwlPW5h bWUlPiIgYXV0b2NvbXBsZXRlPSJvZmYiIHZhbHVlPTwlLWZvcm1hdHRlci5mcm9tUmF3KG9wdGlv bi52YWx1ZSklPiA8JSBpZiAob3B0aW9uLnZhbHVlID09IHZhbHVlKSB7ICU+IGNoZWNrZWQ8JX0l PiA8JSBpZiAob3B0aW9uLmRpc2FibGVkIHx8IGRpc2FibGVkKSB7ICU+IGRpc2FibGVkIDwlfSU+ PiA8JS1vcHRpb24ubGFiZWwlPicsCiAgICAgICAnICA8L2xhYmVsPicsCiAgICAgICAnICA8JSB9 ICU+JywKICAgICAgICcgPC9kaXY+JywKQEAgLTQ2Niw3ICs0NjYsMzcgQEAgZGVmaW5lKFsKICAg ICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci50b1Jhdyh0aGlzLiRlbC5maW5kKCdpbnB1dFt0eXBl PSJyYWRpbyJdOmNoZWNrZWQnKS5hdHRyKCd2YWx1ZScpLCB0aGlzLm1vZGVsKTsKICAgICB9LAog ICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7Ci0gICAgICBCYWNrZm9ybS5SYWRpb0NvbnRyb2wucHJv dG90eXBlLnJlbmRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgdmFyIGZpZWxkID0g Xy5kZWZhdWx0cyh0aGlzLmZpZWxkLnRvSlNPTigpLCB0aGlzLmRlZmF1bHRzKSwKKyAgICAgICAg YXR0cmlidXRlcyA9IHRoaXMubW9kZWwudG9KU09OKCksCisgICAgICAgIGF0dHJBcnIgPSBmaWVs ZC5uYW1lLnNwbGl0KCcuJyksCisgICAgICAgIG5hbWUgPSBhdHRyQXJyLnNoaWZ0KCksCisgICAg ICAgIHBhdGggPSBhdHRyQXJyLmpvaW4oJy4nKSwKKyAgICAgICAgcmF3VmFsdWUgPSB0aGlzLmtl eVBhdGhBY2Nlc3NvcihhdHRyaWJ1dGVzW25hbWVdLCBwYXRoKSwKKyAgICAgICAgZGF0YSA9IF8u ZXh0ZW5kKGZpZWxkLCB7CisgICAgICAgICAgcmF3VmFsdWU6IHJhd1ZhbHVlLAorICAgICAgICAg IHZhbHVlOiB0aGlzLmZvcm1hdHRlci5mcm9tUmF3KHJhd1ZhbHVlLCB0aGlzLm1vZGVsKSwKKyAg ICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLAorICAgICAgICAgIGZvcm1hdHRlcjogdGhp cy5mb3JtYXR0ZXIsCisgICAgICAgIH0pLAorICAgICAgICAvLyBFdmFsdWF0ZSB0aGUgZGlzYWJs ZWQsIHZpc2libGUsIGFuZCByZXF1aXJlZCBvcHRpb24KKyAgICAgICAgZXZhbEYgPSBmdW5jdGlv biBldmFsRihmLCBkLCBtKSB7CisgICAgICAgICAgcmV0dXJuIF8uaXNGdW5jdGlvbihmKSA/ICEh Zi5hcHBseShkLCBbbV0pIDogISFmOworICAgICAgICB9OworCisgICAgICBfLmV4dGVuZChkYXRh LCB7CisgICAgICAgIGRpc2FibGVkOiBldmFsRihkYXRhLmRpc2FibGVkLCBkYXRhLCB0aGlzLm1v ZGVsKSwKKyAgICAgICAgdmlzaWJsZTogZXZhbEYoZGF0YS52aXNpYmxlLCBkYXRhLCB0aGlzLm1v ZGVsKSwKKyAgICAgICAgcmVxdWlyZWQ6IGV2YWxGKGRhdGEucmVxdWlyZWQsIGRhdGEsIHRoaXMu bW9kZWwpLAorICAgICAgfSk7IC8vIENsZWFuIHVwIGZpcnN0CisKKyAgICAgIGRhdGEub3B0aW9u cyA9IF8uaXNGdW5jdGlvbihkYXRhLm9wdGlvbnMpID8KKyAgICAgICAgZGF0YS5vcHRpb25zLmFw cGx5KGRhdGEsIFt0aGlzLm1vZGVsXSkgOiBkYXRhLm9wdGlvbnM7CisKKyAgICAgIHRoaXMuJGVs LnJlbW92ZUNsYXNzKEJhY2tmb3JtLmhpZGRlbkNsYXNzTmFtZSk7CisgICAgICBpZiAoIWRhdGEu dmlzaWJsZSkgdGhpcy4kZWwuYWRkQ2xhc3MoQmFja2Zvcm0uaGlkZGVuQ2xhc3NOYW1lKTsKKyAg ICAgIHRoaXMuJGVsLmh0bWwodGhpcy50ZW1wbGF0ZShkYXRhKSkuYWRkQ2xhc3MoZmllbGQubmFt ZSk7CisgICAgICB0aGlzLnVwZGF0ZUludmFsaWQoKTsKKwogICAgICAgdGhpcy4kZWwuZmluZCgn LmJ0bicpLm9uKCdrZXl1cCcsIChlKT0+ewogICAgICAgICBzd2l0Y2goZS5rZXlDb2RlKSB7CiAg ICAgICAgIGNhc2UgMzI6IC8qIFNwYWNlYmFyIGNsaWNrICovCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9zdGF0aWMvc2Nzcy9fYm9vdHN0cmFwLm92ZXJyaWRlcy5zY3NzIGIvd2ViL3BnYWRtaW4v c3RhdGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVycmlkZXMuc2NzcwppbmRleCA1NWZjNWFmYS4uM2Iy ZGY5ZmQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19ib290c3RyYXAub3Zl cnJpZGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVy cmlkZXMuc2NzcwpAQCAtMzE1LDMgKzMxNSwxMSBAQCB0ZC5zd2l0Y2gtY2VsbCA+IGRpdi50b2dn bGUgewogICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodDsKICAgY29sb3I6 ICRjb2xvci1wcmltYXJ5OwogfQorCisuYnRuLWdyb3VwLnBnYWRtaW4tY29udHJvbHMtcmFkaW8t bm9uZS5kaXNhYmxlZCB7CisgIHBvaW50ZXItZXZlbnRzOiBub25lOworfQorCisuYnRuLWdyb3Vw LnBnYWRtaW4tY29udHJvbHMtcmFkaW8tbm9uZSA+IGxhYmVsLmJ0bi5idG4tcHJpbWFyeS5kaXNh YmxlZCB7CisgIHBvaW50ZXItZXZlbnRzOiBub25lOworfQo= --0000000000003a59bc058e67ff95--