Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lUOV3-0005LP-IA for pgadmin-hackers@arkaria.postgresql.org; Thu, 08 Apr 2021 06:50:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lUOV2-0005va-Gx for pgadmin-hackers@arkaria.postgresql.org; Thu, 08 Apr 2021 06:50:44 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lUOV1-0005vS-QU for pgadmin-hackers@lists.postgresql.org; Thu, 08 Apr 2021 06:50:44 +0000 Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lUOUy-0001z1-Nt for pgadmin-hackers@postgresql.org; Thu, 08 Apr 2021 06:50:42 +0000 Received: by mail-lj1-x233.google.com with SMTP id a1so993642ljp.2 for ; Wed, 07 Apr 2021 23:50:40 -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=FRT3PfaaSc6+kcPmt2dA+BckA20gga26mYxJyZZxIUg=; b=SCoUT6Aza6UF9jEwPEkUNwmdF/6vxXLGiu2F3OEt4TD9fHplpL7EGb06riBPk8Va5u 5fxMyL+r1e3V1l9T6boT3Vc1DhTgqOHztoA8BvMNJ4VMcX02NCBzsXwgmXQVBUuqhAd9 CJdXiM7K+jfg0njGwD5tkAvmPMgaKUSQHqnf53lT9BdwoQJFW9/szsAulTAdrx+JKBdH 1IkfDYovthqLQH15ph8ijq/JCaI2X/Npx4rxBUmQ65E6JrqG6cKgTut67MDnExEkvFFW w2TvBqhHfXDhhK5n+ysFfcyKN3ZucOa2TZF+ixes4Yo0v5rdgaLp1t06quJLauWTPGvW Xdig== 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=FRT3PfaaSc6+kcPmt2dA+BckA20gga26mYxJyZZxIUg=; b=g/7l7MIsJETRFoNq9ynWjRILrkydFT0886s0WzY7svZutU6P3wqisb/95SC5vmqiU+ XsGQdJ34pFOmzM+fCEGDab2PkFMM/0WK93KhhP4BqPQJ7q38Xk/RsOPjuWYXRz5qlxjj HqbaL2OqHjW44dLLHnYY05RnBuJ2voWycBmpEwFjdzfVHRVmZklYgnMMgplEiP53ug9k 8OVPnymZpOae5pYJwgUgm8jYBkyXNmpw7xF0KAWPwdxCESifiEnNhWEE7yij/5646jcx fMLO2yid2m2c7jm+7SRFSv2dBjsKEcp0ZzB3JEXAWcAqNut2P2SX+Sk8CMXcYleQ+YX9 3+EA== X-Gm-Message-State: AOAM530785GOMcozaHKM5wWA3jBHRm84L/Dbpz12YnN44qWSfTzll8bw vtV6ns4ltb51crYaelBQ09n0HUfJxV1OolYpIeiWANdgKhCWZhB0FxfrsO1Ki5+p/PJowockLcY ZTAq/0KF2k2uuFEJ7GQwlTjJPQWl7LMQ7fSSxMLPLAXcJp8sk2oePR8ToC1ktc5my7nioGlOK7t SDQ3joce6XzQ5bqUoU6LFUN+4SHrvdM3u0tge5GtFzOazf8qqgldzbnouOwUZxUWSf/A== X-Google-Smtp-Source: ABdhPJzvupK8bOUioeEbrePbIEOvAOtsWvUVlwEey0yDzc848GKhFOyl/f2sXgnWyzlRjQa8DVZgnOqwylyIo7SmiOo= X-Received: by 2002:a2e:bba1:: with SMTP id y33mr1857741lje.345.1617864637716; Wed, 07 Apr 2021 23:50:37 -0700 (PDT) MIME-Version: 1.0 From: Khushboo Vashi Date: Thu, 8 Apr 2021 12:20:40 +0530 Message-ID: Subject: [pgAdmin4][Patch] - RM 6158 - Logging into PostgreSQL servers with Kerberos Authentication To: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000006f64605bf70778f" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000006f64605bf70778f Content-Type: multipart/alternative; boundary="00000000000006f64305bf70778d" --00000000000006f64305bf70778d Content-Type: text/plain; charset="UTF-8" Hi, Please find the attached patch for RM 6158: Support Kerberos Authentication - Phase 2. This patch includes the support for logging into PostgreSQL servers with Kerberos authentication. Thanks, Khushboo --00000000000006f64305bf70778d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Please find the attached=C2=A0patch= for RM 6158: Support Kerberos Authentication - Phase 2.
This pat= ch includes the support for logging into PostgreSQL servers with Kerberos a= uthentication.

Thanks,
Khushboo

--00000000000006f64305bf70778d-- --00000000000006f64605bf70778f Content-Type: application/octet-stream; name="RM_6158.patch" Content-Disposition: attachment; filename="RM_6158.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kn8irj550 ZGlmZiAtLWdpdCBhL3dlYi9jb25maWcucHkgYi93ZWIvY29uZmlnLnB5CmluZGV4IDNlMTlhMjg1 OC4uZTk2ZDYwYzY1IDEwMDY0NAotLS0gYS93ZWIvY29uZmlnLnB5CisrKyBiL3dlYi9jb25maWcu cHkKQEAgLTYzNCw2ICs2MzQsOSBAQCBLUkJfS1ROQU1FID0gJzxLUkI1X0tFWVRBQl9GSUxFPicK IAogS1JCX0FVVE9fQ1JFQVRFX1VTRVIgPSBUcnVlCiAKK0tFUkJFUk9TX0NDQUNIRV9ESVIgPSBv cy5wYXRoLmpvaW4oREFUQV9ESVIsICdrcmJjY2FjaGUnKQorCisKICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiAjIExvY2FsIGNvbmZpZyBzZXR0aW5ncwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBh L3dlYi9taWdyYXRpb25zL3ZlcnNpb25zL2NjZTIwMDZmYTEwN18ucHkgYi93ZWIvbWlncmF0aW9u cy92ZXJzaW9ucy9jY2UyMDA2ZmExMDdfLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uMGNkM2Q3ZGExCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL21pZ3JhdGlvbnMvdmVy c2lvbnMvY2NlMjAwNmZhMTA3Xy5weQpAQCAtMCwwICsxLDI4IEBACisKKyIiImVtcHR5IG1lc3Nh Z2UKKworUmV2aXNpb24gSUQ6IGNjZTIwMDZmYTEwNworUmV2aXNlczogYTM5YmQwMTViNjQ0CitD cmVhdGUgRGF0ZTogMjAyMS0wMy0xNSAwMDowMjo0MC4xMDAyNTIKKworIiIiCitmcm9tIGFsZW1i aWMgaW1wb3J0IG9wCitpbXBvcnQgc3FsYWxjaGVteSBhcyBzYQorZnJvbSBwZ2FkbWluLm1vZGVs IGltcG9ydCBkYgorCisjIHJldmlzaW9uIGlkZW50aWZpZXJzLCB1c2VkIGJ5IEFsZW1iaWMuCity ZXZpc2lvbiA9ICdjY2UyMDA2ZmExMDcnCitkb3duX3JldmlzaW9uID0gJ2EzOWJkMDE1YjY0NCcK K2JyYW5jaF9sYWJlbHMgPSBOb25lCitkZXBlbmRzX29uID0gTm9uZQorCisKK2RlZiB1cGdyYWRl KCk6CisgICAgZGIuZW5naW5lLmV4ZWN1dGUoCisgICAgICAgICdBTFRFUiBUQUJMRSBzZXJ2ZXIg QUREIENPTFVNTiBrZXJiZXJvc19jb25uIElOVEVHRVIgREVGQVVMVCAwJworICAgICkKKworCitk ZWYgZG93bmdyYWRlKCk6CisgICAgIyBwZ0FkbWluIG9ubHkgdXBncmFkZXMsIGRvd25ncmFkZSBu b3QgaW1wbGVtZW50ZWQuCisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYXV0aGVu dGljYXRlL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYXV0aGVudGljYXRlL19faW5pdF9fLnB5 CmluZGV4IGJjMDg2OGRkZi4uMmI2MDk3OWE4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9hdXRo ZW50aWNhdGUvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYXV0aGVudGljYXRlL19faW5p dF9fLnB5CkBAIC0xNCwxMCArMTQsMTIgQEAgaW1wb3J0IHBpY2tsZQogZnJvbSBmbGFzayBpbXBv cnQgY3VycmVudF9hcHAsIGZsYXNoLCBSZXNwb25zZSwgcmVxdWVzdCwgdXJsX2ZvcixcCiAgICAg cmVuZGVyX3RlbXBsYXRlCiBmcm9tIGZsYXNrX2JhYmVsZXggaW1wb3J0IGdldHRleHQKLWZyb20g Zmxhc2tfc2VjdXJpdHkgaW1wb3J0IGN1cnJlbnRfdXNlcgorZnJvbSBmbGFza19zZWN1cml0eSBp bXBvcnQgY3VycmVudF91c2VyLCBsb2dpbl9yZXF1aXJlZAogZnJvbSBmbGFza19zZWN1cml0eS52 aWV3cyBpbXBvcnQgX3NlY3VyaXR5LCBfY3R4CiBmcm9tIGZsYXNrX3NlY3VyaXR5LnV0aWxzIGlt cG9ydCBjb25maWdfdmFsdWUsIGdldF9wb3N0X2xvZ291dF9yZWRpcmVjdCwgXAogICAgIGdldF9w b3N0X2xvZ2luX3JlZGlyZWN0LCBsb2dvdXRfdXNlcgorZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXgg aW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yCitpbXBvcnQg b3MKIAogZnJvbSBmbGFzayBpbXBvcnQgc2Vzc2lvbgogCkBAIC0zNSw3ICszNyw5IEBAIGNsYXNz IEF1dGhlbnRpY2F0ZU1vZHVsZShQZ0FkbWluTW9kdWxlKToKICAgICBkZWYgZ2V0X2V4cG9zZWRf dXJsX2VuZHBvaW50cyhzZWxmKToKICAgICAgICAgcmV0dXJuIFsnYXV0aGVudGljYXRlLmxvZ2lu JywKICAgICAgICAgICAgICAgICAnYXV0aGVudGljYXRlLmtlcmJlcm9zX2xvZ2luJywKLSAgICAg ICAgICAgICAgICAnYXV0aGVudGljYXRlLmtlcmJlcm9zX2xvZ291dCddCisgICAgICAgICAgICAg ICAgJ2F1dGhlbnRpY2F0ZS5rZXJiZXJvc19sb2dvdXQnLAorICAgICAgICAgICAgICAgICdhdXRo ZW50aWNhdGUua2VyYmVyb3NfdXBkYXRlX3RpY2tldCcsCisgICAgICAgICAgICAgICAgJ2F1dGhl bnRpY2F0ZS5rZXJiZXJvc192YWxpZGF0ZV90aWNrZXQnXQogCiAKIGJsdWVwcmludCA9IEF1dGhl bnRpY2F0ZU1vZHVsZShNT0RVTEVfTkFNRSwgX19uYW1lX18sIHN0YXRpY191cmxfcGF0aD0nJykK QEAgLTU2LDYgKzYwLDEyIEBAIGRlZiBrZXJiZXJvc19sb2dpbigpOgogQHBnQ1NSRlByb3RlY3Qu ZXhlbXB0CiBkZWYga2VyYmVyb3NfbG9nb3V0KCk6CiAgICAgbG9nb3V0X3VzZXIoKQorICAgIGlm ICdLUkI1Q0NOQU1FJyBpbiBzZXNzaW9uOgorICAgICAgICAjIFJlbW92ZSB0aGUgY3JlZGVudGlh bCBjYWNoZQorICAgICAgICBjYWNoZV9maWxlX3BhdGggPSBzZXNzaW9uWydLUkI1Q0NOQU1FJ10u c3BsaXQoIjoiKVsxXQorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhjYWNoZV9maWxlX3BhdGgp OgorICAgICAgICAgICAgb3MucmVtb3ZlKGNhY2hlX2ZpbGVfcGF0aCkKKwogICAgIHJldHVybiBS ZXNwb25zZShyZW5kZXJfdGVtcGxhdGUoImJyb3dzZXIva2VyYmVyb3NfbG9nb3V0Lmh0bWwiLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naW5fdXJsPXVybF9mb3IoJ3Nl Y3VyaXR5LmxvZ2luJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKQpA QCAtMTc0LDExICsxODQsMTMgQEAgY2xhc3MgQXV0aFNvdXJjZU1hbmFnZXIoKToKICAgICAgICAg ICAgICMgT1IgV2hlbiBrZXJiZXJvcyBhdXRoZW50aWNhdGlvbiBmYWlsZWQgd2hpbGUgYWNjZXNz aW5nIHBnYWRtaW4sCiAgICAgICAgICAgICAjIHdlIG5lZWQgdG8gYnJlYWsgdGhlIGxvb3AgYXMg bm8gbmVlZCB0byBhdXRoZW50aWNhdGUgZnVydGhlcgogICAgICAgICAgICAgIyBldmVuIGlmIHRo ZSBhdXRoZW50aWNhdGlvbiBzb3VyY2VzIHNldCB0byBtdWx0aXBsZQotICAgICAgICAgICAgaWYg bm90IHN0YXR1cyBhbmQgKGhhc2F0dHIobXNnLCAnc3RhdHVzJykgYW5kCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbXNnLnN0YXR1cyA9PSAnNDAxIFVOQVVUSE9SSVpFRCcpIG9yIFwK LSAgICAgICAgICAgICAgICAoc291cmNlLmdldF9zb3VyY2VfbmFtZSgpID09IEtFUkJFUk9TIGFu ZAotICAgICAgICAgICAgICAgICByZXF1ZXN0Lm1ldGhvZCA9PSAnR0VUJyk6Ci0gICAgICAgICAg ICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAg aWYgKGhhc2F0dHIobXNnLCAnc3RhdHVzJykgYW5kCisgICAgICAgICAgICAgICAgICAgIG1zZy5z dGF0dXMgPT0gJzQwMSBVTkFVVEhPUklaRUQnKSBvclwKKyAgICAgICAgICAgICAgICAgICAgICAg IChzb3VyY2UuZ2V0X3NvdXJjZV9uYW1lKCkgPT0KKyAgICAgICAgICAgICAgICAgICAgICAgICBL RVJCRVJPUyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Lm1ldGhvZCA9PSAn R0VUJyk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAKICAgICAgICAgICAgIGlmIHN0YXR1 czoKICAgICAgICAgICAgICAgICBzZWxmLnNldF9zb3VyY2Uoc291cmNlKQpAQCAtMjI1LDMgKzIz Nyw1OCBAQCBkZWYgaW5pdF9hcHAoYXBwKToKICAgICBBdXRoU291cmNlUmVnaXN0cnkubG9hZF9h dXRoX3NvdXJjZXMoKQogCiAgICAgcmV0dXJuIGF1dGhfc291cmNlcworCisKK0BibHVlcHJpbnQu cm91dGUoIi9rZXJiZXJvcy91cGRhdGVfdGlja2V0IiwKKyAgICAgICAgICAgICAgICAgZW5kcG9p bnQ9ImtlcmJlcm9zX3VwZGF0ZV90aWNrZXQiLCBtZXRob2RzPVsiR0VUIl0pCitAcGdDU1JGUHJv dGVjdC5leGVtcHQKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIGtlcmJlcm9zX3VwZGF0ZV90aWNrZXQo KToKKyAgICAiIiIKKyAgICBVcGRhdGUgdGhlIGtlcmJlcm9zIHRpY2tldC4KKyAgICAiIiIKKyAg ICBmcm9tIHdlcmt6ZXVnLmRhdGFzdHJ1Y3R1cmVzIGltcG9ydCBIZWFkZXJzCisgICAgaGVhZGVy cyA9IEhlYWRlcnMoKQorCisgICAgYXV0aG9yaXphdGlvbiA9IHJlcXVlc3QuaGVhZGVycy5nZXQo IkF1dGhvcml6YXRpb24iLCBOb25lKQorCisgICAgaWYgYXV0aG9yaXphdGlvbiBpcyBOb25lOgor ICAgICAgICAjIFNlbmQgdGhlIE5lZ290aWF0ZSBoZWFkZXIgdG8gdGhlIGNsaWVudAorICAgICAg ICAjIGlmIEtlcmJlcm9zIHRpY2tldCBpcyBub3QgZm91bmQuCisgICAgICAgIGhlYWRlcnMuYWRk KCdXV1ctQXV0aGVudGljYXRlJywgJ05lZ290aWF0ZScpCisgICAgICAgIHJldHVybiBSZXNwb25z ZSgiVW5hdXRob3Jpc2VkIiwgNDAxLCBoZWFkZXJzKQorICAgIGVsc2U6CisgICAgICAgIHNvdXJj ZSA9IGdldF9hdXRoX3NvdXJjZXMoS0VSQkVST1MpCisgICAgICAgIGF1dGhfaGVhZGVyID0gYXV0 aG9yaXphdGlvbi5zcGxpdCgpCisgICAgICAgIGluX3Rva2VuID0gYXV0aF9oZWFkZXJbMV0KKwor ICAgICAgICAjIFZhbGlkYXRlIHRoZSBLZXJiZXJvcyB0aWNrZXQKKyAgICAgICAgc3RhdHVzLCBj b250ZXh0ID0gc291cmNlLm5lZ290aWF0ZV9zdGFydChpbl90b2tlbikKKyAgICAgICAgaWYgc3Rh dHVzOgorICAgICAgICAgICAgcmV0dXJuIFJlc3BvbnNlKCJUaWNrZXQgdXBkYXRlZCBzdWNjZXNz ZnVsbHkuIikKKworICAgICAgICByZXR1cm4gUmVzcG9uc2UoY29udGV4dCwgNTAwKQorCisKK0Bi bHVlcHJpbnQucm91dGUoIi9rZXJiZXJvcy92YWxpZGF0ZV90aWNrZXQiLAorICAgICAgICAgICAg ICAgICBlbmRwb2ludD0ia2VyYmVyb3NfdmFsaWRhdGVfdGlja2V0IiwgbWV0aG9kcz1bIkdFVCJd KQorQHBnQ1NSRlByb3RlY3QuZXhlbXB0CitAbG9naW5fcmVxdWlyZWQKK2RlZiBrZXJiZXJvc192 YWxpZGF0ZV90aWNrZXQoKToKKyAgICAiIiIKKyAgICBSZXR1cm4gdGhlIGtlcmJlcm9zIHRpY2tl dCBsaWZldGltZSBsZWZ0IGFmdGVyIGdldHRpbmcgdGhlCisgICAgdGlja2V0IGZyb20gdGhlIGNy ZWRlbnRpYWwgY2FjaGUKKyAgICAiIiIKKyAgICBpbXBvcnQgZ3NzYXBpCisKKyAgICB0cnk6Cisg ICAgICAgIGRlbF9jcmVkcyA9IGdzc2FwaS5DcmVkZW50aWFscyhzdG9yZT17J2NjYWNoZSc6IHNl c3Npb25bJ0tSQjVDQ05BTUUnXX0pCisgICAgICAgIGNyZWRzID0gZGVsX2NyZWRzLmFjcXVpcmUo c3RvcmU9eydjY2FjaGUnOiBzZXNzaW9uWydLUkI1Q0NOQU1FJ119KQorICAgIGV4Y2VwdCBFeGNl cHRpb24gYXMgZToKKyAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmV4Y2VwdGlvbihlKQorICAg ICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgIGRhdGE9eyd0aWNrZXRfbGlmZXRp bWUnOiBjcmVkcy5saWZldGltZX0sCisgICAgICAgIHN0YXR1cz0yMDAKKyAgICApCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9hdXRoZW50aWNhdGUva2VyYmVyb3MucHkgYi93ZWIvcGdhZG1pbi9h dXRoZW50aWNhdGUva2VyYmVyb3MucHkKaW5kZXggNTdhYTFlMGYwLi4yZjhmZDBkNmUgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2F1dGhlbnRpY2F0ZS9rZXJiZXJvcy5weQorKysgYi93ZWIvcGdh ZG1pbi9hdXRoZW50aWNhdGUva2VyYmVyb3MucHkKQEAgLTEwLDcgKzEwLDcgQEAKICIiIkEgYmx1 ZXByaW50IG1vZHVsZSBpbXBsZW1lbnRpbmcgdGhlIFNwbmVnby9LZXJiZXJvcyBhdXRoZW50aWNh dGlvbi4iIiIKIAogaW1wb3J0IGJhc2U2NAotZnJvbSBvcyBpbXBvcnQgZW52aXJvbgorZnJvbSBv cyBpbXBvcnQgZW52aXJvbiwgcGF0aAogCiBmcm9tIHdlcmt6ZXVnLmRhdGFzdHJ1Y3R1cmVzIGlt cG9ydCBIZWFkZXJzCiBmcm9tIGZsYXNrX2JhYmVsZXggaW1wb3J0IGdldHRleHQKQEAgLTEyOCwx OSArMTI4LDM3IEBAIGNsYXNzIEtlcmJlcm9zQXV0aGVudGljYXRpb24oQmFzZUF1dGhlbnRpY2F0 aW9uKToKICAgICAgICAgaWYgb3V0X3Rva2VuIGFuZCBub3QgY29udGV4dC5jb21wbGV0ZToKICAg ICAgICAgICAgIHJldHVybiBGYWxzZSwgb3V0X3Rva2VuCiAgICAgICAgIGlmIGNvbnRleHQuY29t cGxldGU6CisgICAgICAgICAgICBkZWxlZ19jcmVkcyA9IGNvbnRleHQuZGVsZWdhdGVkX2NyZWRz CisgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihkZWxlZ19jcmVkcywgJ25hbWUnKToKKyAgICAg ICAgICAgICAgICBlcnJvcl9tc2cgPSBnZXR0ZXh0KCdEZWxlZ2F0ZWQgY3JlZGVudGlhbHMgbm90 IHN1cHBsaWVkLicpCisgICAgICAgICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmVycm9yKGVy cm9yX21zZykKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UsIEV4Y2VwdGlvbihlcnJvcl9t c2cpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgY2FjaGVfZmlsZV9wYXRoID0g cGF0aC5qb2luKAorICAgICAgICAgICAgICAgICAgICBjb25maWcuS0VSQkVST1NfQ0NBQ0hFX0RJ UiwgJ3BnYWRtaW5fY2FjaGVfezB9Jy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICBk ZWxlZ19jcmVkcy5uYW1lKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBDQ0FD SEUgPSAnRklMRTp7MH0nLmZvcm1hdChjYWNoZV9maWxlX3BhdGgpCisgICAgICAgICAgICAgICAg c3RvcmUgPSB7J2NjYWNoZSc6IENDQUNIRX0KKyAgICAgICAgICAgICAgICBkZWxlZ19jcmVkcy5z dG9yZShzdG9yZSwgb3ZlcndyaXRlPVRydWUsIHNldF9kZWZhdWx0PVRydWUpCisgICAgICAgICAg ICAgICAgc2Vzc2lvblsnS1JCNUNDTkFNRSddID0gQ0NBQ0hFCisgICAgICAgICAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmV4Y2Vw dGlvbihlKQorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgZQorCiAgICAgICAgICAgICBy ZXR1cm4gVHJ1ZSwgY29udGV4dAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIEZh bHNlLCBOb25lCiAKICAgICBkZWYgbmVnb3RpYXRlX2VuZChzZWxmLCBjb250ZXh0KToKLSAgICAg ICAgIyBGcmVlIGdzc19jcmVkX2lkX3QKKyAgICAgICAgIyBGcmVlIERlbGVnYXRlZCBDcmVkZW50 aWFscwogICAgICAgICBkZWxfY3JlZHMgPSBnZXRhdHRyKGNvbnRleHQsICdkZWxlZ2F0ZWRfY3Jl ZHMnLCBOb25lKQogICAgICAgICBpZiBkZWxfY3JlZHM6CiAgICAgICAgICAgICBkZWxlZ19jcmVk cyA9IGNvbnRleHQuZGVsZWdhdGVkX2NyZWRzCiAgICAgICAgICAgICBkZWwoZGVsZWdfY3JlZHMp CiAKICAgICBkZWYgX19hdXRvX2NyZWF0ZV91c2VyKHNlbGYsIHVzZXJuYW1lKToKLSAgICAgICAg IiIiQWRkIHRoZSBsZGFwIHVzZXIgdG8gdGhlIGludGVybmFsIFNRTGl0ZSBkYXRhYmFzZS4iIiIK KyAgICAgICAgIiIiQWRkIHRoZSBrZXJiZXJvcyB1c2VyIHRvIHRoZSBpbnRlcm5hbCBTUUxpdGUg ZGF0YWJhc2UuIiIiCiAgICAgICAgIHVzZXJuYW1lID0gc3RyKHVzZXJuYW1lKQogICAgICAgICBp ZiBjb25maWcuS1JCX0FVVE9fQ1JFQVRFX1VTRVI6CiAgICAgICAgICAgICB1c2VyID0gVXNlci5x dWVyeS5maWx0ZXJfYnkoCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9hdXRoZW50aWNhdGUvc3Rh dGljL2pzL2tlcmJlcm9zLmpzIGIvd2ViL3BnYWRtaW4vYXV0aGVudGljYXRlL3N0YXRpYy9qcy9r ZXJiZXJvcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmRmZmUxZDRk YwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2F1dGhlbnRpY2F0ZS9zdGF0aWMvanMv a2VyYmVyb3MuanMKQEAgLTAsMCArMSw1NSBAQAoraW1wb3J0IHVybF9mb3IgZnJvbSAnc291cmNl cy91cmxfZm9yJzsKKworZnVuY3Rpb24gZmV0Y2hfdGlja2V0KCkgeworICAvLyBGZXRjaCB0aGUg S2VyYmVyb3MgVXBkYXRlZCB0aWNrZXQgdGhyb3VnaCBTUE5FR08KKyAgcmV0dXJuIGZldGNoKHVy bF9mb3IoJ2F1dGhlbnRpY2F0ZS5rZXJiZXJvc191cGRhdGVfdGlja2V0JykKKyAgKQorICAgIC50 aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKXsKKyAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPj0gMjAw ICYmIHJlc3BvbnNlLnN0YXR1cyA8IDMwMCkgeworICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNv bHZlKHJlc3BvbnNlKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiBQcm9taXNlLnJl amVjdChuZXcgRXJyb3IocmVzcG9uc2Uuc3RhdHVzVGV4dCkpOworICAgICAgfQorICAgIH0pOwor fQorCitmdW5jdGlvbiBmZXRjaF90aWNrZXRfbGlmZXRpbWUgKCkgeworICAvLyBGZXRjaCB0aGUg S2VyYmVyb3MgdGlja2V0IGxpZmV0aW1lIGxlZnQKKworICByZXR1cm4gZmV0Y2godXJsX2Zvcign YXV0aGVudGljYXRlLmtlcmJlcm9zX3ZhbGlkYXRlX3RpY2tldCcpCisgICkKKyAgICAudGhlbigK KyAgICAgIGZ1bmN0aW9uKHJlc3BvbnNlKXsKKyAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+ PSAyMDAgJiYgcmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSB7CisgICAgICAgICAgcmV0dXJuIHJlc3Bv bnNlLmpzb24oKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICByZXR1cm4gUHJvbWlzZS5y ZWplY3QobmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1c1RleHQpKTsKKyAgICAgICAgfQorICAgICAg fQorICAgICkKKyAgICAudGhlbihmdW5jdGlvbihyZXNwb25zZSl7CisgICAgICBsZXQgdGlja2V0 X2xpZmV0aW1lID0gcmVzcG9uc2UuZGF0YS50aWNrZXRfbGlmZXRpbWU7CisgICAgICBpZiAodGlj a2V0X2xpZmV0aW1lID4gMCkgeworICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRpY2tl dF9saWZldGltZSk7CisgICAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl Y3QoKTsKKyAgICAgIH0KKyAgICB9KTsKKworfQorCitmdW5jdGlvbiB2YWxpZGF0ZV9rZXJiZXJv c190aWNrZXQoKSB7CisgIC8vIFBpbmcgcGdBZG1pbiBzZXJ2ZXIgZXZlcnkgMTAgc2Vjb25kcwor ICAvLyB0byBmZXRjaCB0aGUgS2VyYmVyb3MgdGlja2V0IGxpZmV0aW1lIGxlZnQKKyAgcmV0dXJu IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeworICAgIGxldCBuZXdQcm9taXNlID0gZmV0Y2hfdGlj a2V0X2xpZmV0aW1lKCk7CisgICAgbmV3UHJvbWlzZS50aGVuKAorICAgICAgZnVuY3Rpb24oKSB7 CisgICAgICAgIHJldHVybjsKKyAgICAgIH0sCisgICAgICBmZXRjaF90aWNrZXQKKyAgICApOwor ICB9LCAxMDAwMCk7Cit9CisKK2V4cG9ydCB7ZmV0Y2hfdGlja2V0LCB2YWxpZGF0ZV9rZXJiZXJv c190aWNrZXQsIGZldGNoX3RpY2tldF9saWZldGltZX07CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CmluZGV4IGJjMGJkNDYx MS4uYTdlNTI4OGU1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9fX2luaXRfXy5weQpAQCAtMjUzLDcgKzI1Myw4IEBAIGNsYXNzIFNlcnZl ck1vZHVsZShzZy5TZXJ2ZXJHcm91cFBsdWdpbk1vZHVsZSk6CiAgICAgICAgICAgICAgICAgZXJy bXNnPWVycm1zZywKICAgICAgICAgICAgICAgICB1c2VyX2lkPXNlcnZlci51c2VyX2lkLAogICAg ICAgICAgICAgICAgIHVzZXJfbmFtZT1zZXJ2ZXIudXNlcm5hbWUsCi0gICAgICAgICAgICAgICAg c2hhcmVkPXNlcnZlci5zaGFyZWQKKyAgICAgICAgICAgICAgICBzaGFyZWQ9c2VydmVyLnNoYXJl ZCwKKyAgICAgICAgICAgICAgICBpc19rZXJiZXJvc19jb25uPWJvb2woc2VydmVyLmtlcmJlcm9z X2Nvbm4pLAogICAgICAgICAgICAgKQogCiAgICAgQHByb3BlcnR5CkBAIC01NDYsNyArNTQ3LDgg QEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgICAg ICBpZiBzZXJ2ZXIudHVubmVsX3Bhc3N3b3JkIGlzIG5vdCBOb25lIGVsc2UgRmFsc2UsCiAgICAg ICAgICAgICAgICAgICAgIGVycm1zZz1lcnJtc2csCiAgICAgICAgICAgICAgICAgICAgIHVzZXJf bmFtZT1zZXJ2ZXIudXNlcm5hbWUsCi0gICAgICAgICAgICAgICAgICAgIHNoYXJlZD1zZXJ2ZXIu c2hhcmVkCisgICAgICAgICAgICAgICAgICAgIHNoYXJlZD1zZXJ2ZXIuc2hhcmVkLAorICAgICAg ICAgICAgICAgICAgICBpc19rZXJiZXJvc19jb25uPWJvb2woc2VydmVyLmtlcmJlcm9zX2Nvbm4p CiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogCkBAIC02MTMsNyArNjE1LDggQEAg Y2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIGlmIHNl cnZlci50dW5uZWxfcGFzc3dvcmQgaXMgbm90IE5vbmUgZWxzZSBGYWxzZSwKICAgICAgICAgICAg ICAgICBlcnJtc2c9ZXJybXNnLAogICAgICAgICAgICAgICAgIHNoYXJlZD1zZXJ2ZXIuc2hhcmVk LAotICAgICAgICAgICAgICAgIHVzZXJfbmFtZT1zZXJ2ZXIudXNlcm5hbWUKKyAgICAgICAgICAg ICAgICB1c2VyX25hbWU9c2VydmVyLnVzZXJuYW1lLAorICAgICAgICAgICAgICAgIGlzX2tlcmJl cm9zX2Nvbm49Ym9vbChzZXJ2ZXIua2VyYmVyb3NfY29ubikKICAgICAgICAgICAgICksCiAgICAg ICAgICkKIApAQCAtNzE5LDcgKzcyMiw4IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgICAgICd0dW5uZWxfdXNlcm5hbWUnOiAndHVubmVsX3VzZXJuYW1lJywK ICAgICAgICAgICAgICd0dW5uZWxfYXV0aGVudGljYXRpb24nOiAndHVubmVsX2F1dGhlbnRpY2F0 aW9uJywKICAgICAgICAgICAgICd0dW5uZWxfaWRlbnRpdHlfZmlsZSc6ICd0dW5uZWxfaWRlbnRp dHlfZmlsZScsCi0gICAgICAgICAgICAnc2hhcmVkJzogJ3NoYXJlZCcKKyAgICAgICAgICAgICdz aGFyZWQnOiAnc2hhcmVkJywKKyAgICAgICAgICAgICdrZXJiZXJvc19jb25uJzogJ2tlcmJlcm9z X2Nvbm4nLAogICAgICAgICB9CiAKICAgICAgICAgZGlzcF9sYmwgPSB7CkBAIC05ODMsNyArOTg3 LDggQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgJ3R1 bm5lbF91c2VybmFtZSc6IHR1bm5lbF91c2VybmFtZSwKICAgICAgICAgICAgICd0dW5uZWxfaWRl bnRpdHlfZmlsZSc6IHNlcnZlci50dW5uZWxfaWRlbnRpdHlfZmlsZQogICAgICAgICAgICAgaWYg c2VydmVyLnR1bm5lbF9pZGVudGl0eV9maWxlIGVsc2UgTm9uZSwKLSAgICAgICAgICAgICd0dW5u ZWxfYXV0aGVudGljYXRpb24nOiB0dW5uZWxfYXV0aGVudGljYXRpb24KKyAgICAgICAgICAgICd0 dW5uZWxfYXV0aGVudGljYXRpb24nOiB0dW5uZWxfYXV0aGVudGljYXRpb24sCisgICAgICAgICAg ICAna2VyYmVyb3NfY29ubic6IGJvb2woc2VydmVyLmtlcmJlcm9zX2Nvbm4pLAogICAgICAgICB9 CiAKICAgICAgICAgcmV0dXJuIGFqYXhfcmVzcG9uc2UocmVzcG9uc2UpCkBAIC0xMDcwLDcgKzEw NzUsOCBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAg ICAgdHVubmVsX2F1dGhlbnRpY2F0aW9uPWRhdGEuZ2V0KCd0dW5uZWxfYXV0aGVudGljYXRpb24n LCAwKSwKICAgICAgICAgICAgICAgICB0dW5uZWxfaWRlbnRpdHlfZmlsZT1kYXRhLmdldCgndHVu bmVsX2lkZW50aXR5X2ZpbGUnLCBOb25lKSwKICAgICAgICAgICAgICAgICBzaGFyZWQ9ZGF0YS5n ZXQoJ3NoYXJlZCcsIE5vbmUpLAotICAgICAgICAgICAgICAgIHBhc3NmaWxlPWRhdGEuZ2V0KCdw YXNzZmlsZScsIE5vbmUpCisgICAgICAgICAgICAgICAgcGFzc2ZpbGU9ZGF0YS5nZXQoJ3Bhc3Nm aWxlJywgTm9uZSksCisgICAgICAgICAgICAgICAga2VyYmVyb3NfY29ubj0xIGlmIGRhdGEuZ2V0 KCdrZXJiZXJvc19jb25uJywgRmFsc2UpIGVsc2UgMCwKICAgICAgICAgICAgICkKICAgICAgICAg ICAgIGRiLnNlc3Npb24uYWRkKHNlcnZlcikKICAgICAgICAgICAgIGRiLnNlc3Npb24uY29tbWl0 KCkKQEAgLTExNTIsNyArMTE1OCw4IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3 KToKICAgICAgICAgICAgICAgICAgICAgZWxzZSAncGcnLAogICAgICAgICAgICAgICAgICAgICB2 ZXJzaW9uPW1hbmFnZXIudmVyc2lvbgogICAgICAgICAgICAgICAgICAgICBpZiBtYW5hZ2VyIGFu ZCBtYW5hZ2VyLnZlcnNpb24KLSAgICAgICAgICAgICAgICAgICAgZWxzZSBOb25lCisgICAgICAg ICAgICAgICAgICAgIGVsc2UgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfa2VyYmVyb3Nf Y29ubj1ib29sKHNlcnZlci5rZXJiZXJvc19jb25uKSwKICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICApCiAKQEAgLTEzNDYsNyArMTM1Myw3IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGls ZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAg ICAgICAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5leGNlcHRpb24oZSkKICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkp Ci0gICAgICAgIGlmICdwYXNzd29yZCcgbm90IGluIGRhdGE6CisgICAgICAgIGlmICdwYXNzd29y ZCcgbm90IGluIGRhdGEgYW5kIHNlcnZlci5rZXJiZXJvc19jb25uIGlzIEZhbHNlOgogICAgICAg ICAgICAgY29ubl9wYXNzd2QgPSBnZXRhdHRyKGNvbm4sICdwYXNzd29yZCcsIE5vbmUpCiAgICAg ICAgICAgICBpZiBjb25uX3Bhc3N3ZCBpcyBOb25lIGFuZCBub3Qgc2VydmVyLnNhdmVfcGFzc3dv cmQgYW5kIFwKICAgICAgICAgICAgICAgICAgICAgc2VydmVyLnBhc3NmaWxlIGlzIE5vbmUgYW5k IHNlcnZlci5zZXJ2aWNlIGlzIE5vbmU6CkBAIC0xMzU1LDcgKzEzNjIsNyBAQCBjbGFzcyBTZXJ2 ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgcGFzc2ZpbGUgPSBzZXJ2 ZXIucGFzc2ZpbGUKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcGFzc3dvcmQg PSBjb25uX3Bhc3N3ZCBvciBzZXJ2ZXIucGFzc3dvcmQKLSAgICAgICAgZWxzZToKKyAgICAgICAg ZWxpZiBzZXJ2ZXIua2VyYmVyb3NfY29ubiBpcyBGYWxzZToKICAgICAgICAgICAgIHBhc3N3b3Jk ID0gZGF0YVsncGFzc3dvcmQnXSBpZiAncGFzc3dvcmQnIGluIGRhdGEgZWxzZSBOb25lCiAgICAg ICAgICAgICBzYXZlX3Bhc3N3b3JkID0gZGF0YVsnc2F2ZV9wYXNzd29yZCddXAogICAgICAgICAg ICAgICAgIGlmICdzYXZlX3Bhc3N3b3JkJyBpbiBkYXRhIGVsc2UgRmFsc2UKQEAgLTEzOTgsNiAr MTQwNSw5IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAg ICAgICAiQ291bGQgbm90IGNvbm5lY3QgdG8gc2VydmVyKCN7MH0pIC0gJ3sxfScuXG5FcnJvcjog ezJ9IgogICAgICAgICAgICAgICAgIC5mb3JtYXQoc2VydmVyLmlkLCBzZXJ2ZXIubmFtZSwgZXJy bXNnKQogICAgICAgICAgICAgKQorICAgICAgICAgICAgaWYgZXJybXNnLmZpbmQoJ1RpY2tldCBl eHBpcmVkJykgIT0gLTE6CisgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9l cnJvcihlcnJtc2cpCisKICAgICAgICAgICAgIHJldHVybiBzZWxmLmdldF9yZXNwb25zZV9mb3Jf cGFzc3dvcmQoc2VydmVyLCA0MDEsIFRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRydWUsIGVycm1zZykKICAgICAgICAgZWxzZToKQEAgLTE0 NjUsNiArMTQ3NSw3IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAg ICAgICAgICAgICAgICAgJ2lzX3Bhc3N3b3JkX3NhdmVkJzogYm9vbChzZXJ2ZXIuc2F2ZV9wYXNz d29yZCksCiAgICAgICAgICAgICAgICAgICAgICdpc190dW5uZWxfcGFzc3dvcmRfc2F2ZWQnOiBU cnVlCiAgICAgICAgICAgICAgICAgICAgIGlmIHNlcnZlci50dW5uZWxfcGFzc3dvcmQgaXMgbm90 IE5vbmUgZWxzZSBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgJ2lzX2tlcmJlcm9zX2Nvbm4n OiBib29sKHNlcnZlci5rZXJiZXJvc19jb25uKSwKICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICApCiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9fX2luaXRfXy5weQppbmRleCA2MGFmMWRlNDIuLjRi MWQ3MzA4ZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9fX2luaXRfXy5weQpAQCAtNDkwLDYgKzQ5MCw3 IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAg ICAgICAgICAgZGlkLCBlcnJtc2cKICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICkKKwogICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy bXNnKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dn ZXIuaW5mbygKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0aWMvanMvZGF0YWJhc2UuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3RhdGljL2pzL2RhdGFiYXNlLmpz CmluZGV4IGM1M2YwNDQyOS4uMDFhYjg5YzUwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3RhdGljL2pzL2RhdGFiYXNlLmpz CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zdGF0aWMvanMvZGF0YWJhc2UuanMKQEAgLTEwLDkgKzEwLDEwIEBACiBkZWZpbmUoJ3BnYWRt aW4ubm9kZS5kYXRhYmFzZScsIFsKICAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3VyY2VzL3VybF9m b3InLCAnanF1ZXJ5JywgJ3VuZGVyc2NvcmUnLAogICAnc291cmNlcy91dGlscycsICdzb3VyY2Vz L3BnYWRtaW4nLCAncGdhZG1pbi5icm93c2VyLnV0aWxzJywKLSAgJ3BnYWRtaW4uYWxlcnRpZnlq cycsICdwZ2FkbWluLmJhY2tmb3JtJywgJ3BnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uJywKKyAg J3BnYWRtaW4uYWxlcnRpZnlqcycsICdwZ2FkbWluLmJhY2tmb3JtJywKKyAgJ3BnYWRtaW4uYXV0 aGVudGljYXRlLmtlcmJlcm9zJywgJ3BnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uJywKICAgJ3Bn YWRtaW4uYnJvd3Nlci5zZXJ2ZXIucHJpdmlsZWdlJywgJ3BnYWRtaW4uYnJvd3Nlci5zZXJ2ZXIu dmFyaWFibGUnLAotXSwgZnVuY3Rpb24oZ2V0dGV4dCwgdXJsX2ZvciwgJCwgXywgcGdhZG1pblV0 aWxzLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEFsZXJ0aWZ5LCBCYWNrZm9ybSkgeworXSwgZnVuY3Rp b24oZ2V0dGV4dCwgdXJsX2ZvciwgJCwgXywgcGdhZG1pblV0aWxzLCBwZ0FkbWluLCBwZ0Jyb3dz ZXIsIEFsZXJ0aWZ5LCBCYWNrZm9ybSwgS2VyYmVyb3MpIHsKIAogICBpZiAoIXBnQnJvd3Nlci5O b2Rlc1snY29sbC1kYXRhYmFzZSddKSB7CiAgICAgcGdCcm93c2VyLk5vZGVzWydjb2xsLWRhdGFi YXNlJ10gPQpAQCAtNTU2LDI0ICs1NTcsMzkgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuZGF0YWJh c2UnLCBbCiAgICAgICAgICAgb25GYWlsdXJlID0gZnVuY3Rpb24oCiAgICAgICAgICAgICB4aHIs IHN0YXR1cywgZXJyb3IsIF9tb2RlbCwgX2RhdGEsIF90cmVlLCBfaXRlbSwgX3N0YXR1cwogICAg ICAgICAgICkgewotICAgICAgICAgICAgaWYgKCFfc3RhdHVzKSB7Ci0gICAgICAgICAgICAgIHRy ZWUuc2V0SW5vZGUoX2l0ZW0pOwotICAgICAgICAgICAgICB0cmVlLmFkZEljb24oX2l0ZW0sIHtp Y29uOiAnaWNvbi1kYXRhYmFzZS1ub3QtY29ubmVjdGVkJ30pOwotICAgICAgICAgICAgfQotCi0g ICAgICAgICAgICBBbGVydGlmeS5wZ05vdGlmaWVyKCdlcnJvcicsIHhociwgZXJyb3IsIGZ1bmN0 aW9uKG1zZykgewotICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAg ICAgICAgICAgIGlmIChtc2cgPT0gJ0NSWVBUS0VZX1NFVCcpIHsKKyAgICAgICAgICAgIGlmICh4 aHIuc3RhdHVzICE9IDIwMCAmJiB4aHIucmVzcG9uc2VUZXh0LnNlYXJjaCgnVGlja2V0IGV4cGly ZWQnKSAhPT0gLTEpIHsKKyAgICAgICAgICAgICAgdHJlZS5hZGRJY29uKF9pdGVtLCB7aWNvbjog J2ljb24tc2VydmVyLWNvbm5lY3RpbmcnfSk7CisgICAgICAgICAgICAgIGxldCBmZXRjaFRpY2tl dCA9IEtlcmJlcm9zLmZldGNoX3RpY2tldCgpOworICAgICAgICAgICAgICBmZXRjaFRpY2tldC50 aGVuKAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgY29u bmVjdF90b19kYXRhYmFzZShfbW9kZWwsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93YXNDb25uZWN0 ZWQpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICBBbGVydGlm eS5kbGdTZXJ2ZXJQYXNzKAotICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCdDb25uZWN0IHRv IGRhdGFiYXNlJyksCi0gICAgICAgICAgICAgICAgICAgIG1zZywgX21vZGVsLCBfZGF0YSwgX3Ry ZWUsIF9pdGVtLCBfc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICBvblN1Y2Nlc3MsIG9uRmFp bHVyZSwgb25DYW5jZWwKLSAgICAgICAgICAgICAgICAgICkucmVzaXplVG8oKTsKKyAgICAgICAg ICAgICAgICB9LAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAg ICAgICAgICB0cmVlLnNldElub2RlKF9pdGVtKTsKKyAgICAgICAgICAgICAgICAgIHRyZWUuYWRk SWNvbihfaXRlbSwge2ljb246ICdpY29uLWRhdGFiYXNlLW5vdC1jb25uZWN0ZWQnfSk7CisgICAg ICAgICAgICAgICAgICBBbGVydGlmeS5wZ05vdGlmaWVyKGVycm9yLCB4aHIsIGdldHRleHQoJ0Nv bm5lY3QgIHRvIGRhdGFiYXNlLicpKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg IH0sIDEwMCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgIGlmICghX3N0YXR1cykgeworICAgICAgICAgICAgICAg IHRyZWUuc2V0SW5vZGUoX2l0ZW0pOworICAgICAgICAgICAgICAgIHRyZWUuYWRkSWNvbihfaXRl bSwge2ljb246ICdpY29uLWRhdGFiYXNlLW5vdC1jb25uZWN0ZWQnfSk7CisgICAgICAgICAgICAg IH0KKworICAgICAgICAgICAgICBBbGVydGlmeS5wZ05vdGlmaWVyKCdlcnJvcicsIHhociwgZXJy b3IsIGZ1bmN0aW9uKG1zZykgeworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o KSB7CisgICAgICAgICAgICAgICAgICBpZiAobXNnID09ICdDUllQVEtFWV9TRVQnKSB7CisgICAg ICAgICAgICAgICAgICAgIGNvbm5lY3RfdG9fZGF0YWJhc2UoX21vZGVsLCBfZGF0YSwgX3RyZWUs IF9pdGVtLCBfd2FzQ29ubmVjdGVkKTsKKyAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmRsZ1NlcnZlclBhc3MoCisgICAgICAgICAgICAgICAg ICAgICAgZ2V0dGV4dCgnQ29ubmVjdCB0byBkYXRhYmFzZScpLAorICAgICAgICAgICAgICAgICAg ICAgIG1zZywgX21vZGVsLCBfZGF0YSwgX3RyZWUsIF9pdGVtLCBfc3RhdHVzLAorICAgICAgICAg ICAgICAgICAgICAgIG9uU3VjY2Vzcywgb25GYWlsdXJlLCBvbkNhbmNlbAorICAgICAgICAgICAg ICAgICAgICApLnJlc2l6ZVRvKCk7CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg ICAgfSwgMTAwKTsKKyAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAg fSwKICAgICAgICAgICBvblN1Y2Nlc3MgPSBmdW5jdGlvbigKICAgICAgICAgICAgIHJlcywgbW9k ZWwsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF9jb25uZWN0ZWQKQEAgLTY0MCw2ICs2NTYsNyBAQCBk ZWZpbmUoJ3BnYWRtaW4ubm9kZS5kYXRhYmFzZScsIFsKICAgICAgICAgICBpZiAoeGhyLnN0YXR1 cyA9PT0gNDEwKSB7CiAgICAgICAgICAgICBlcnJvciA9IGdldHRleHQoJ0Vycm9yOiBPYmplY3Qg bm90IGZvdW5kIC0gJXMuJywgZXJyb3IpOwogICAgICAgICAgIH0KKwogICAgICAgICAgIHJldHVy biBvbkZhaWx1cmUoCiAgICAgICAgICAgICB4aHIsIHN0YXR1cywgZXJyb3IsIG9iaiwgZGF0YSwg dHJlZSwgaXRlbSwgd2FzQ29ubmVjdGVkCiAgICAgICAgICAgKTsKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy9zZXJ2ZXIuanMg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9zdGF0aWMvanMvc2Vy dmVyLmpzCmluZGV4IGFiOTVkNmQ4OS4uNjIyY2Q3NzZhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9zdGF0aWMvanMvc2VydmVyLmpzCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy9zZXJ2 ZXIuanMKQEAgLTEzLDExICsxMywxMiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBb CiAgICdwZ2FkbWluLnNlcnZlci5zdXBwb3J0ZWRfc2VydmVycycsICdwZ2FkbWluLnVzZXJfbWFu YWdlbWVudC5jdXJyZW50X3VzZXInLAogICAncGdhZG1pbi5hbGVydGlmeWpzJywgJ3BnYWRtaW4u YmFja2Zvcm0nLAogICAnc291cmNlcy9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9tb2Rl bF92YWxpZGF0aW9uJywKKyAgJ3BnYWRtaW4uYXV0aGVudGljYXRlLmtlcmJlcm9zJywKICAgJ3Bn YWRtaW4uYnJvd3Nlci5zZXJ2ZXIucHJpdmlsZWdlJywKIF0sIGZ1bmN0aW9uKAogICBnZXR0ZXh0 LCB1cmxfZm9yLCAkLCBfLCBCYWNrYm9uZSwgcGdBZG1pbiwgcGdCcm93c2VyLAogICBzdXBwb3J0 ZWRfc2VydmVycywgY3VycmVudF91c2VyLCBBbGVydGlmeSwgQmFja2Zvcm0sCi0gIG1vZGVsVmFs aWRhdGlvbgorICBtb2RlbFZhbGlkYXRpb24sIEtlcmJlcm9zCiApIHsKIAogICBpZiAoIXBnQnJv d3Nlci5Ob2Rlc1snc2VydmVyJ10pIHsKQEAgLTkyMiw2ICs5MjMsMTEgQEAgZGVmaW5lKCdwZ2Fk bWluLm5vZGUuc2VydmVyJywgWwogCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg ICAgfSwKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdrZXJiZXJvc19jb25uJywgbGFiZWw6 IGdldHRleHQoJ0tlcmJlcm9zIENvbm5lY3Rpb24/PycpLCB0eXBlOiAnc3dpdGNoJywKKyAgICAg ICAgICBncm91cDogZ2V0dGV4dCgnQ29ubmVjdGlvbicpLCAnb3B0aW9ucyc6IHsKKyAgICAgICAg ICAgICdvblRleHQnOiAgZ2V0dGV4dCgnVHJ1ZScpLCAnb2ZmVGV4dCc6ICBnZXR0ZXh0KCdGYWxz ZScpLCAnc2l6ZSc6ICdtaW5pJywKKyAgICAgICAgICB9LAogICAgICAgICB9LHsKICAgICAgICAg ICBpZDogJ3JvbGUnLCBsYWJlbDogZ2V0dGV4dCgnUm9sZScpLCB0eXBlOiAndGV4dCcsIGdyb3Vw OiBnZXR0ZXh0KCdDb25uZWN0aW9uJyksCiAgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywg J2VkaXQnLCAnY3JlYXRlJ10sIHJlYWRvbmx5OiAnaXNDb25uZWN0ZWQnLApAQCAtMTI3OSwxOSAr MTI4NSwzMiBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zZXJ2ZXInLCBbCiAgICAgICAgICAgICB9 CiAKICAgICAgICAgICB9Ci0KLSAgICAgICAgICBBbGVydGlmeS5wZ05vdGlmaWVyKCdlcnJvcics IHhociwgZXJyb3IsIGZ1bmN0aW9uKG1zZykgewotICAgICAgICAgICAgc2V0VGltZW91dChmdW5j dGlvbigpIHsKLSAgICAgICAgICAgICAgaWYgKG1zZyA9PSAnQ1JZUFRLRVlfU0VUJykgeworICAg ICAgICAgIGlmIChfZGF0YS5pc19rZXJiZXJvc19jb25uID09PSB0cnVlIHx8ICh4aHIuc3RhdHVz ICE9IDIwMCAmJiB4aHIucmVzcG9uc2VUZXh0LnNlYXJjaCgnVGlja2V0IGV4cGlyZWQnKSAhPT0g LTEpKSB7CisgICAgICAgICAgICB0cmVlLmFkZEljb24oX2l0ZW0sIHtpY29uOiAnaWNvbi1zZXJ2 ZXItY29ubmVjdGluZyd9KTsKKyAgICAgICAgICAgIGxldCBmZXRjaFRpY2tldCA9IEtlcmJlcm9z LmZldGNoX3RpY2tldCgpOworICAgICAgICAgICAgZmV0Y2hUaWNrZXQudGhlbigKKyAgICAgICAg ICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY29ubmVjdF90b19zZXJ2ZXIoX25v ZGUsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93YXNDb25uZWN0ZWQpOwotICAgICAgICAgICAgICB9 IGVsc2UgewotICAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmRsZ1NlcnZlclBhc3MoCi0gICAgICAg ICAgICAgICAgICBnZXR0ZXh0KCdDb25uZWN0IHRvIFNlcnZlcicpLAotICAgICAgICAgICAgICAg ICAgbXNnLCBfbm9kZSwgX2RhdGEsIF90cmVlLCBfaXRlbSwgX3dhc0Nvbm5lY3RlZAotICAgICAg ICAgICAgICAgICkucmVzaXplVG8oKTsKKyAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgdHJlZS5hZGRJY29uKF9pdGVtLCB7aWNvbjog J2ljb24tc2VydmVyLW5vdC1jb25uZWN0ZWQnfSk7CisgICAgICAgICAgICAgICAgQWxlcnRpZnku cGdOb3RpZmllcignQ29ubmVjdGlvbiBlcnJvcicsIHhociwgZ2V0dGV4dCgnQ29ubmVjdCB0byBz ZXJ2ZXIuJykpOwogICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCAxMDApOwotICAgICAg ICAgIH0pOworICAgICAgICAgICAgKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg QWxlcnRpZnkucGdOb3RpZmllcignZXJyb3InLCB4aHIsIGVycm9yLCBmdW5jdGlvbihtc2cpIHsK KyAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBp ZiAobXNnID09ICdDUllQVEtFWV9TRVQnKSB7CisgICAgICAgICAgICAgICAgICBjb25uZWN0X3Rv X3NlcnZlcihfbm9kZSwgX2RhdGEsIF90cmVlLCBfaXRlbSwgX3dhc0Nvbm5lY3RlZCk7CisgICAg ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmRsZ1NlcnZl clBhc3MoCisgICAgICAgICAgICAgICAgICAgIGdldHRleHQoJ0Nvbm5lY3QgdG8gU2VydmVyJyks CisgICAgICAgICAgICAgICAgICAgIG1zZywgX25vZGUsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93 YXNDb25uZWN0ZWQKKyAgICAgICAgICAgICAgICAgICkucmVzaXplVG8oKTsKKyAgICAgICAgICAg ICAgICB9CisgICAgICAgICAgICAgIH0sIDEwMCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg ICB9CiAgICAgICAgIH0sCiAgICAgICAgIG9uU3VjY2VzcyA9IGZ1bmN0aW9uKHJlcywgbm9kZSwg X2RhdGEsIF90cmVlLCBfaXRlbSwgX3dhc0Nvbm5lY3RlZCkgewogICAgICAgICAgIGlmIChyZXMg JiYgcmVzLmRhdGEpIHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pz L2Jyb3dzZXIuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9icm93c2VyLmpzCmlu ZGV4IDRmZmI1ZWU1YS4uYmY0NGFhNmY0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3N0YXRpYy9qcy9icm93c2VyLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pz L2Jyb3dzZXIuanMKQEAgLTEyLDE5ICsxMiwyMiBAQCBkZWZpbmUoJ3BnYWRtaW4uYnJvd3Nlcics IFsKICAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3VyY2VzL3VybF9mb3InLCAncmVxdWlyZScsICdq cXVlcnknLCAndW5kZXJzY29yZScsCiAgICdib290c3RyYXAnLCAnc291cmNlcy9wZ2FkbWluJywg J3BnYWRtaW4uYWxlcnRpZnlqcycsICdidW5kbGVkX2NvZGVtaXJyb3InLAogICAnc291cmNlcy9j aGVja19ub2RlX3Zpc2liaWxpdHknLCAnLi90b29sYmFyJywgJ3BnYWRtaW4uaGVscCcsCi0gICdz b3VyY2VzL2NzcmYnLCAnc291cmNlcy91dGlscycsICdzb3VyY2VzL3dpbmRvdycsICdwZ2FkbWlu LmJyb3dzZXIudXRpbHMnLAotICAnd2Nkb2NrZXInLCAnanF1ZXJ5LmNvbnRleHRtZW51JywgJ2px dWVyeS5hY2lwbHVnaW4nLCAnanF1ZXJ5LmFjaXRyZWUnLAorICAnc291cmNlcy9jc3JmJywgJ3Nv dXJjZXMvdXRpbHMnLCAnc291cmNlcy93aW5kb3cnLCAncGdhZG1pbi5hdXRoZW50aWNhdGUua2Vy YmVyb3MnLAorICAncGdhZG1pbi5icm93c2VyLnV0aWxzJywgJ3djZG9ja2VyJywgJ2pxdWVyeS5j b250ZXh0bWVudScsICdqcXVlcnkuYWNpcGx1Z2luJywKKyAgJ2pxdWVyeS5hY2l0cmVlJywKICAg J3BnYWRtaW4uYnJvd3Nlci5wcmVmZXJlbmNlcycsICdwZ2FkbWluLmJyb3dzZXIubWVzc2FnZXMn LAogICAncGdhZG1pbi5icm93c2VyLm1lbnUnLCAncGdhZG1pbi5icm93c2VyLnBhbmVsJywgJ3Bn YWRtaW4uYnJvd3Nlci5sYXlvdXQnLAogICAncGdhZG1pbi5icm93c2VyLnJ1bnRpbWUnLCAncGdh ZG1pbi5icm93c2VyLmVycm9yJywgJ3BnYWRtaW4uYnJvd3Nlci5mcmFtZScsCiAgICdwZ2FkbWlu LmJyb3dzZXIubm9kZScsICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbicsICdwZ2FkbWluLmJy b3dzZXIuYWN0aXZpdHknLAogICAnc291cmNlcy9jb2RlbWlycm9yL2FkZG9uL2ZvbGQvcGdhZG1p bi1zcWxmb2xkY29kZScsCi0gICdwZ2FkbWluLmJyb3dzZXIua2V5Ym9hcmQnLCAnc291cmNlcy90 cmVlL3BnYWRtaW5fdHJlZV9zYXZlX3N0YXRlJywnanF1ZXJ5LmFjaXNvcnRhYmxlJywgJ2pxdWVy eS5hY2lmcmFnbWVudCcsCisgICdwZ2FkbWluLmJyb3dzZXIua2V5Ym9hcmQnLCAnc291cmNlcy90 cmVlL3BnYWRtaW5fdHJlZV9zYXZlX3N0YXRlJywnanF1ZXJ5LmFjaXNvcnRhYmxlJywKKyAgJ2px dWVyeS5hY2lmcmFnbWVudCcsCiBdLCBmdW5jdGlvbigKICAgdHJlZSwKICAgZ2V0dGV4dCwgdXJs X2ZvciwgcmVxdWlyZSwgJCwgXywKICAgQm9vdHN0cmFwLCBwZ0FkbWluLCBBbGVydGlmeSwgY29k ZW1pcnJvciwKLSAgY2hlY2tOb2RlVmlzaWJpbGl0eSwgdG9vbEJhciwgaGVscCwgY3NyZlRva2Vu LCBwZ2FkbWluVXRpbHMsIHBnV2luZG93CisgIGNoZWNrTm9kZVZpc2liaWxpdHksIHRvb2xCYXIs IGhlbHAsIGNzcmZUb2tlbiwgcGdhZG1pblV0aWxzLCBwZ1dpbmRvdywKKyAgS2VyYmVyb3MKICkg ewogICB3aW5kb3cualF1ZXJ5ID0gd2luZG93LiQgPSAkOwogICAvLyBTb21lIHNjcmlwdHMgZG8g ZXhwb3J0IHRoZWlyIG9iamVjdCBpbiB0aGUgd2luZG93IG9ubHkuCkBAIC0zOCw2ICs0MSw4IEBA IGRlZmluZSgncGdhZG1pbi5icm93c2VyJywgWwogCiAgIGNzcmZUb2tlbi5zZXRQR0NTUkZUb2tl bihwZ0FkbWluLmNzcmZfdG9rZW5faGVhZGVyLCBwZ0FkbWluLmNzcmZfdG9rZW4pOwogCisgIEtl cmJlcm9zLnZhbGlkYXRlX2tlcmJlcm9zX3RpY2tldCgpOworCiAgIHZhciBwYW5lbEV2ZW50cyA9 IHt9OwogICBwYW5lbEV2ZW50c1t3Y0RvY2tlci5FVkVOVC5WSVNJQklMSVRZX0NIQU5HRURdID0g ZnVuY3Rpb24oKSB7CiAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKCkpIHsKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMvdGVzdF9rZXJiZXJvc193aXRoX21vY2tpbmcucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3Rfa2VyYmVyb3Nfd2l0aF9tb2NraW5nLnB5Cmlu ZGV4IGYzMWU5ODNmZi4uNmI2MWRjMWQwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3Rlc3RzL3Rlc3Rfa2VyYmVyb3Nfd2l0aF9tb2NraW5nLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvdGVzdHMvdGVzdF9rZXJiZXJvc193aXRoX21vY2tpbmcucHkKQEAgLTEyLDYgKzEyLDcg QEAgZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgogZnJv bSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxz CiBmcm9tIHBnYWRtaW4uYXV0aGVudGljYXRlLnJlZ2lzdHJ5IGltcG9ydCBBdXRoU291cmNlUmVn aXN0cnkKIGZyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gsIE1hZ2ljTW9jaworZnJvbSB3 ZXJremV1Zy5kYXRhc3RydWN0dXJlcyBpbXBvcnQgSGVhZGVycwogCiAKIGNsYXNzIEtlcmJlcm9z TG9naW5Nb2NrVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgpAQCAtMzAsNiArMzEsMTEgQEAg Y2xhc3MgS2VyYmVyb3NMb2dpbk1vY2tUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAg ICAgICAgICBhdXRoX3NvdXJjZT1bJ2tlcmJlcm9zJ10sCiAgICAgICAgICAgICBhdXRvX2NyZWF0 ZV91c2VyPVRydWUsCiAgICAgICAgICAgICBmbGFnPTIKKyAgICAgICAgKSksCisgICAgICAgICgn U3BuZWdvL0tlcmJlcm9zIFVwZGF0ZSBUaWNrZXQnLCBkaWN0KAorICAgICAgICAgICAgYXV0aF9z b3VyY2U9WydrZXJiZXJvcyddLAorICAgICAgICAgICAgYXV0b19jcmVhdGVfdXNlcj1UcnVlLAor ICAgICAgICAgICAgZmxhZz0zCiAgICAgICAgICkpCiAgICAgXQogCkBAIC01NCw4ICs2MCwxMyBA QCBjbGFzcyBLZXJiZXJvc0xvZ2luTW9ja1Rlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAg ICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KAogICAgICAgICAgICAgICAgICAgICAiQ2FuIG5v dCBydW4gS2VyYmVyb3MgQXV0aGVudGljYXRpb24gaW4gdGhlIERlc2t0b3AgbW9kZS4iCiAgICAg ICAgICAgICAgICAgKQotCiAgICAgICAgICAgICBzZWxmLnRlc3RfYXV0aG9yaXplZCgpCisgICAg ICAgIGVsaWYgc2VsZi5mbGFnID09IDM6CisgICAgICAgICAgICBpZiBhcHBfY29uZmlnLlNFUlZF Ul9NT0RFIGlzIEZhbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoCisgICAgICAg ICAgICAgICAgICAgICJDYW4gbm90IHJ1biBLZXJiZXJvcyBBdXRoZW50aWNhdGlvbiBpbiB0aGUg RGVza3RvcCBtb2RlLiIKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLnRlc3Rf dXBkYXRlX3RpY2tldCgpCiAKICAgICBkZWYgdGVzdF91bmF1dGhvcml6ZWQoc2VsZik6CiAgICAg ICAgICIiIgpAQCAtNzMsMTMgKzg0LDcgQEAgY2xhc3MgS2VyYmVyb3NMb2dpbk1vY2tUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgIHBhc3NlZCBvbiB0byB0aGUgcm91dGVkIG1l dGhvZC4KICAgICAgICAgIiIiCiAKLSAgICAgICAgY2xhc3MgZGVsQ3JhZHM6Ci0gICAgICAgICAg ICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgICAgICAgICAgc2VsZi5pbml0aWF0b3JfbmFt ZSA9ICd1c2VyQFBHQURNSU4uT1JHJwotICAgICAgICBkZWxfY3JhZHMgPSBkZWxDcmFkcygpCi0K LSAgICAgICAgQXV0aFNvdXJjZVJlZ2lzdHJ5LnJlZ2lzdHJ5WydrZXJiZXJvcyddLm5lZ290aWF0 ZV9zdGFydCA9IE1hZ2ljTW9jaygKLSAgICAgICAgICAgIHJldHVybl92YWx1ZT1bVHJ1ZSwgZGVs X2NyYWRzXSkKKyAgICAgICAgZGVsX2NyYWRzID0gc2VsZi5tb2NrX25lZ290aWF0ZV9zdGFydCgp CiAgICAgICAgIHJlcyA9IHNlbGYudGVzdGVyLmxvZ2luKE5vbmUsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRy dWUsCkBAIC04OSw2ICs5NCwzMyBAQCBjbGFzcyBLZXJiZXJvc0xvZ2luTW9ja1Rlc3RDYXNlKEJh c2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgcmVzcGRhdGEgPSAnR3JhdmF0YXIgaW1hZ2UgZm9y ICVzJyAlIGRlbF9jcmFkcy5pbml0aWF0b3JfbmFtZQogICAgICAgICBzZWxmLmFzc2VydFRydWUo cmVzcGRhdGEgaW4gcmVzLmRhdGEuZGVjb2RlKCd1dGY4JykpCiAKKyAgICBkZWYgbW9ja19uZWdv dGlhdGVfc3RhcnQoc2VsZik6CisgICAgICAgIGNsYXNzIGRlbENyYWRzOgorICAgICAgICAgICAg ZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHNlbGYuaW5pdGlhdG9yX25hbWUg PSAndXNlckBQR0FETUlOLk9SRycKKworICAgICAgICBkZWxfY3JhZHMgPSBkZWxDcmFkcygpCisK KyAgICAgICAgQXV0aFNvdXJjZVJlZ2lzdHJ5LnJlZ2lzdHJ5WydrZXJiZXJvcyddLm5lZ290aWF0 ZV9zdGFydCA9IE1hZ2ljTW9jaygKKyAgICAgICAgICAgIHJldHVybl92YWx1ZT1bVHJ1ZSwgZGVs X2NyYWRzXSkKKyAgICAgICAgcmV0dXJuIGRlbF9jcmFkcworCisgICAgZGVmIHRlc3RfdXBkYXRl X3RpY2tldChzZWxmKToKKyAgICAgICAgIyBSZXNwb25zZSBoZWFkZXIgc2hvdWxkIGluY2x1ZGUg dGhlIE5lZ290aWF0ZSBoZWFkZXIgaW4gdGhlIGZpcnN0IGNhbGwKKyAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5nZXQoJy9hdXRoZW50aWNhdGUva2VyYmVyb3MvdXBkYXRlX3RpY2tldCcp CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDQwMSkKKyAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZS5oZWFkZXJzLmdldCgnd3d3LWF1dGhlbnRp Y2F0ZScpLCAnTmVnb3RpYXRlJykKKworICAgICAgICAjIFdoZW4gd2Ugc2VuZCB0aGUgS2VyYmVy b3MgVGlja2V0LCBpdCBzaG91bGQgcmV0dXJuICBzdWNjZXNzCisgICAgICAgIGRlbF9jcmFkcyA9 IHNlbGYubW9ja19uZWdvdGlhdGVfc3RhcnQoKQorCisgICAgICAgIGtyYl90b2tlbiA9IEhlYWRl cnMoe30pCisgICAgICAgIGtyYl90b2tlblsnQXV0aG9yaXphdGlvbiddID0gJ05lZ290aWF0ZSBD VE9LRU4nCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9hdXRoZW50aWNh dGUva2VyYmVyb3MvdXBkYXRlX3RpY2tldCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGhlYWRlcnM9a3JiX3Rva2VuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3Bv bnNlLnN0YXR1c19jb2RlLCAyMDApCisKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAg IHNlbGYuYXBwLlBHQURNSU5fRVhURVJOQUxfQVVUSF9TT1VSQ0UgPSAnbGRhcCcKIApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vbWlzYy9iZ3Byb2Nlc3MvcHJvY2Vzc2VzLnB5IGIvd2ViL3BnYWRt aW4vbWlzYy9iZ3Byb2Nlc3MvcHJvY2Vzc2VzLnB5CmluZGV4IGVmNmNmYzNmMi4uMjVlMGEyYTll IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2JncHJvY2Vzcy9wcm9jZXNzZXMucHkKKysr IGIvd2ViL3BnYWRtaW4vbWlzYy9iZ3Byb2Nlc3MvcHJvY2Vzc2VzLnB5CkBAIC0yNCwxMCArMjQs MTEgQEAgaW1wb3J0IGxvZ2dpbmcKIGZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgdV9lbmNvZGUs IGZpbGVfcXVvdGUsIGZzX2VuY29kaW5nLCBcCiAgICAgZ2V0X2NvbXBsZXRlX2ZpbGVfcGF0aCwg Z2V0X3N0b3JhZ2VfZGlyZWN0b3J5LCBJU19XSU4KIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZl cl9ncm91cHMuc2VydmVycy51dGlscyBpbXBvcnQgZG9lc19zZXJ2ZXJfZXhpc3RzCitmcm9tIHBn YWRtaW4udXRpbHMuY29uc3RhbnRzIGltcG9ydCBLRVJCRVJPUwogCiBpbXBvcnQgcHl0egogZnJv bSBkYXRldXRpbCBpbXBvcnQgcGFyc2VyCi1mcm9tIGZsYXNrIGltcG9ydCBjdXJyZW50X2FwcAor ZnJvbSBmbGFzayBpbXBvcnQgY3VycmVudF9hcHAsIHNlc3Npb24KIGZyb20gZmxhc2tfYmFiZWxl eCBpbXBvcnQgZ2V0dGV4dCBhcyBfCiBmcm9tIGZsYXNrX3NlY3VyaXR5IGltcG9ydCBjdXJyZW50 X3VzZXIKIApAQCAtMjc4LDEzICsyNzksMTYgQEAgY2xhc3MgQmF0Y2hQcm9jZXNzKG9iamVjdCk6 CiAgICAgICAgIGVudlsnUFJPQ0lEJ10gPSBzZWxmLmlkCiAgICAgICAgIGVudlsnT1VURElSJ10g PSBzZWxmLmxvZ19kaXIKICAgICAgICAgZW52WydQR0FfQkdQX0ZPUkVHUk9VTkQnXSA9ICIxIgor ICAgICAgICBpZiBjb25maWcuU0VSVkVSX01PREUgYW5kIHNlc3Npb24gYW5kIFwKKyAgICAgICAg ICAgICAgICBzZXNzaW9uWydfYXV0aF9zb3VyY2VfbWFuYWdlcl9vYmonXVsnY3VycmVudF9zb3Vy Y2UnXSA9PSBcCisgICAgICAgICAgICAgICAgS0VSQkVST1M6CisgICAgICAgICAgICBlbnZbJ0tS QjVDQ05BTUUnXSA9IHNlc3Npb25bJ0tSQjVDQ05BTUUnXQogCiAgICAgICAgIGlmIHNlbGYuZW52 OgogICAgICAgICAgICAgZW52LnVwZGF0ZShzZWxmLmVudikKIAogICAgICAgICBpZiBjYiBpcyBu b3QgTm9uZToKICAgICAgICAgICAgIGNiKGVudikKLQogICAgICAgICBpZiBvcy5uYW1lID09ICdu dCc6CiAgICAgICAgICAgICBERVRBQ0hFRF9QUk9DRVNTID0gMHgwMDAwMDAwOAogICAgICAgICAg ICAgZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBDUkVBVEVfTkVXX1BST0NFU1NfR1JPVVAKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vbW9kZWwv X19pbml0X18ucHkKaW5kZXggZDFmNDk4MTgxLi5kZmFjZjYzMjIgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL21vZGVsL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9f LnB5CkBAIC0yOSw3ICsyOSw3IEBAIGZyb20gZmxhc2tfc3FsYWxjaGVteSBpbXBvcnQgU1FMQWxj aGVteQogIwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotU0NIRU1BX1ZFUlNJT04gPSAyNworU0NIRU1B X1ZFUlNJT04gPSAyOAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIwpAQCAtMTg0LDYgKzE4NCw3IEBA IGNsYXNzIFNlcnZlcihkYi5Nb2RlbCk6CiAgICAgdHVubmVsX2lkZW50aXR5X2ZpbGUgPSBkYi5D b2x1bW4oZGIuU3RyaW5nKDY0KSwgbnVsbGFibGU9VHJ1ZSkKICAgICB0dW5uZWxfcGFzc3dvcmQg PSBkYi5Db2x1bW4oZGIuU3RyaW5nKDY0KSwgbnVsbGFibGU9VHJ1ZSkKICAgICBzaGFyZWQgPSBk Yi5Db2x1bW4oZGIuQm9vbGVhbigpLCBudWxsYWJsZT1GYWxzZSkKKyAgICBrZXJiZXJvc19jb25u ID0gZGIuQ29sdW1uKGRiLkJvb2xlYW4oKSwgbnVsbGFibGU9RmFsc2UpCiAKICAgICBAcHJvcGVy dHkKICAgICBkZWYgc2VyaWFsaXplKHNlbGYpOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc2V0 dXAvZGF0YV9kaXJlY3RvcnkucHkgYi93ZWIvcGdhZG1pbi9zZXR1cC9kYXRhX2RpcmVjdG9yeS5w eQppbmRleCAyMzM1YjA3OTAuLjdhMzY1NGI3NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc2V0 dXAvZGF0YV9kaXJlY3RvcnkucHkKKysrIGIvd2ViL3BnYWRtaW4vc2V0dXAvZGF0YV9kaXJlY3Rv cnkucHkKQEAgLTEwNCwzICsxMDQsMTkgQEAgZGVmIGNyZWF0ZV9hcHBfZGF0YV9kaXJlY3Rvcnko Y29uZmlnKToKICAgICAgICAgICAgICAgICBnZXRwYXNzLmdldHVzZXIoKSwKICAgICAgICAgICAg ICAgICBjb25maWcuQVBQX1ZFUlNJT04pKQogICAgICAgICBleGl0KDEpCisKKyAgICAjIENyZWF0 ZSBLZXJiZXJvcyBDcmVkZW50aWFsIENhY2hlIGRpcmVjdG9yeSAoaWYgbm90IHByZXNlbnQpLgor ICAgIHRyeToKKyAgICAgICAgX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm90X2V4aXN0cyhjb25maWcu S0VSQkVST1NfQ0NBQ0hFX0RJUikKKyAgICBleGNlcHQgUGVybWlzc2lvbkVycm9yIGFzIGU6Cisg ICAgICAgIHByaW50KEZBSUxFRF9DUkVBVEVfRElSLmZvcm1hdChjb25maWcuS0VSQkVST1NfQ0NB Q0hFX0RJUiwgZSkpCisgICAgICAgIHByaW50KAorICAgICAgICAgICAgIkhJTlQgICA6IENyZWF0 ZSB0aGUgZGlyZWN0b3J5IHt9LCBlbnN1cmUgaXQgaXMgd3JpdGFibGUgYnlcbiIKKyAgICAgICAg ICAgICIgICAgICAgICAne30nLCBhbmQgdHJ5IGFnYWluLCBvciwgY3JlYXRlIGEgY29uZmlnX2xv Y2FsLnB5IGZpbGVcbiIKKyAgICAgICAgICAgICIgICAgICAgICBhbmQgb3ZlcnJpZGUgdGhlIEtF UkJFUk9TX0NDQUNIRV9ESVIgc2V0dGluZyBwZXJcbiIKKyAgICAgICAgICAgICIgICAgICAgICBo dHRwczovL3d3dy5wZ2FkbWluLm9yZy9kb2NzL3BnYWRtaW40L3t9L2NvbmZpZ19weS5odG1sIi4K KyAgICAgICAgICAgIGZvcm1hdCgKKyAgICAgICAgICAgICAgICBjb25maWcuS0VSQkVST1NfQ0NB Q0hFX0RJUiwKKyAgICAgICAgICAgICAgICBnZXRwYXNzLmdldHVzZXIoKSwKKyAgICAgICAgICAg ICAgICBjb25maWcuQVBQX1ZFUlNJT04pKQorICAgICAgICBleGl0KDEpCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi90b29scy9iYWNrdXAvc3RhdGljL2pzL2JhY2t1cF9kaWFsb2dfd3JhcHBlci5q cyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwX2RpYWxvZ193cmFw cGVyLmpzCmluZGV4IDRmODllNWJiNy4uYTEzMTc0NjdjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9iYWNrdXAvc3RhdGljL2pzL2JhY2t1cF9kaWFsb2dfd3JhcHBlci5qcworKysgYi93 ZWIvcGdhZG1pbi90b29scy9iYWNrdXAvc3RhdGljL2pzL2JhY2t1cF9kaWFsb2dfd3JhcHBlci5q cwpAQCAtMTMsNiArMTMsNyBAQCBpbXBvcnQgZ2V0dGV4dCBmcm9tICcuLi8uLi8uLi8uLi9zdGF0 aWMvanMvZ2V0dGV4dCc7CiBpbXBvcnQgdXJsX2ZvciBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMv anMvdXJsX2Zvcic7CiBpbXBvcnQgXyBmcm9tICd1bmRlcnNjb3JlJzsKIGltcG9ydCB7RGlhbG9n V3JhcHBlcn0gZnJvbSAnLi4vLi4vLi4vLi4vc3RhdGljL2pzL2FsZXJ0aWZ5L2RpYWxvZ193cmFw cGVyJzsKK2ltcG9ydCB7ZmV0Y2hfdGlja2V0X2xpZmV0aW1lfSBmcm9tICAnLi4vLi4vLi4vLi4v YXV0aGVudGljYXRlL3N0YXRpYy9qcy9rZXJiZXJvcyc7CiAKIGV4cG9ydCBjbGFzcyBCYWNrdXBE aWFsb2dXcmFwcGVyIGV4dGVuZHMgRGlhbG9nV3JhcHBlciB7CiAgIGNvbnN0cnVjdG9yKGRpYWxv Z0NvbnRhaW5lclNlbGVjdG9yLCBkaWFsb2dUaXRsZSwgdHlwZU9mRGlhbG9nLApAQCAtMTY1LDEw ICsxNjYsMjkgQEAgZXhwb3J0IGNsYXNzIEJhY2t1cERpYWxvZ1dyYXBwZXIgZXh0ZW5kcyBEaWFs b2dXcmFwcGVyIHsKICAgICAgICk7CiAKICAgICAgIHRoaXMuc2V0RXh0cmFQYXJhbWV0ZXJzKHNl bGVjdGVkVHJlZU5vZGUsIHRyZWVJbmZvKTsKKyAgICAgIGxldCBiYWNrdXBEYXRlID0gdGhpcy52 aWV3Lm1vZGVsLnRvSlNPTigpOworCisgICAgICBpZihiYWNrdXBEYXRlLnR5cGUgPT0gJ2dsb2Jh bHMnKSB7CisgICAgICAgIGxldCBuZXdQcm9taXNlID0gZmV0Y2hfdGlja2V0X2xpZmV0aW1lKCk7 CisgICAgICAgIG5ld1Byb21pc2UudGhlbigKKyAgICAgICAgICBmdW5jdGlvbihsaWZldGltZSkg eworICAgICAgICAgICAgaWYgKGxpZmV0aW1lIDwgMTgwMCAmJiBsaWZldGltZSAgPiAwKSB7Cisg ICAgICAgICAgICAgIGRpYWxvZy5hbGVydGlmeS53YXJuaW5nKAorICAgICAgICAgICAgICAgICdZ b3UgaGF2ZSAnKyAoTWF0aC5yb3VuZChwYXJzZUludChsaWZldGltZSkvNjApKS50b1N0cmluZygp ICsnIG1pbnV0ZXMgbGVmdCBvbiB5b3VyIHRpY2tldCAtIGlmIHRoZSBkdW1wIHRha2VzIGxvbmdl ciB0aGFuIHRoYXQsIGl0IG1heSBmYWlsLiInCisgICAgICAgICAgICAgICk7CisgICAgICAgICAg ICB9CisgICAgICAgICAgfSwKKyAgICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGRp YWxvZy5hbGVydGlmeS53YXJuaW5nKAorICAgICAgICAgICAgICBnZXR0ZXh0KCdQbGVhc2UgcmVu ZXcgeW91ciAga2VyYmVyb3MgdGlja2V0LCBpdCBoYXMgYmVlbiBleHBpcmVkLicpCisgICAgICAg ICAgICApOworICAgICAgICAgIH0KKyAgICAgICAgKTsKKyAgICAgIH0KIAogICAgICAgYXhpb3Mu cG9zdCgKICAgICAgICAgYmFzZVVybCwKLSAgICAgICAgdGhpcy52aWV3Lm1vZGVsLnRvSlNPTigp CisgICAgICAgIGJhY2t1cERhdGUKICAgICAgICkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAg ICAgIGlmIChyZXMuZGF0YS5zdWNjZXNzKSB7CiAgICAgICAgICAgZGlhbG9nLmFsZXJ0aWZ5LnN1 Y2Nlc3MoZ2V0dGV4dCgnQmFja3VwIGpvYiBjcmVhdGVkLicpLCA1KTsKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlci5qcyBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlci5qcwppbmRleCBmMzFhMGZjMDAu LjQ2MGEyMDBiYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGlj L2pzL2RlYnVnZ2VyLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9q cy9kZWJ1Z2dlci5qcwpAQCAtMTMsMTEgKzEzLDExIEBAIGRlZmluZShbCiAgICdiYWNrYm9uZScs ICdwZ2FkbWluLmJhY2tncmlkJywgJ2NvZGVtaXJyb3InLCAncGdhZG1pbi5iYWNrZm9ybScsCiAg ICdwZ2FkbWluLnRvb2xzLmRlYnVnZ2VyLnVpJywgJ3BnYWRtaW4udG9vbHMuZGVidWdnZXIudXRp bHMnLAogICAndG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL3Nob3dfcXVlcnlfdG9vbCcsICdzb3Vy Y2VzL3V0aWxzJywKLSAgJ3djZG9ja2VyJywgJ3BnYWRtaW4uYnJvd3Nlci5mcmFtZScsCisgICdw Z2FkbWluLmF1dGhlbnRpY2F0ZS5rZXJiZXJvcycsICd3Y2RvY2tlcicsICdwZ2FkbWluLmJyb3dz ZXIuZnJhbWUnLAogXSwgZnVuY3Rpb24oCiAgIGdldHRleHQsIHVybF9mb3IsICQsIF8sIEFsZXJ0 aWZ5LCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tib25lLCBCYWNrZ3JpZCwKICAgQ29kZU1pcnJv ciwgQmFja2Zvcm0sIGdldF9mdW5jdGlvbl9hcmd1bWVudHMsIGRlYnVnZ2VyVXRpbHMsIHNob3dR dWVyeVRvb2wsCi0gIHBnYWRtaW5VdGlscywKKyAgcGdhZG1pblV0aWxzLCBLZXJiZXJvcwogKSB7 CiAgIHZhciBwZ1Rvb2xzID0gcGdBZG1pbi5Ub29scyA9IHBnQWRtaW4uVG9vbHMgfHwge30sCiAg ICAgd2NEb2NrZXIgPSB3aW5kb3cud2NEb2NrZXI7CkBAIC00NzIsOCArNDcyLDIwIEBAIGRlZmlu ZShbCiAgICAgICAgIC5mYWlsKGZ1bmN0aW9uKHhocikgewogICAgICAgICAgIHRyeSB7CiAgICAg ICAgICAgICB2YXIgZXJyID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KTsKLSAgICAgICAg ICAgIGlmIChlcnIuc3VjY2VzcyA9PSAwKSB7Ci0gICAgICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0 KGdldHRleHQoJ0RlYnVnZ2VyIEVycm9yJyksIGVyci5lcnJvcm1zZyk7CisgICAgICAgICAgICBp ZiAoZXJyLmVycm9ybXNnLnNlYXJjaCgnVGlja2V0IGV4cGlyZWQnKSAhPT0gLTEpIHsKKyAgICAg ICAgICAgICAgbGV0IGZldGNoVGlja2V0ID0gS2VyYmVyb3MuZmV0Y2hfdGlja2V0KCk7CisgICAg ICAgICAgICAgIGZldGNoVGlja2V0LnRoZW4oCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7 CisgICAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0X2dsb2JhbF9kZWJ1Z2dlcigpOworICAgICAg ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAg ICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KGdldHRleHQoJ0RlYnVnZ2VyIEVycm9yJyksIGVycm9y KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICk7CisgICAgICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgICBpZiAoZXJyLnN1Y2Nlc3MgPT0gMCkgeworICAgICAgICAgICAg ICAgIEFsZXJ0aWZ5LmFsZXJ0KGdldHRleHQoJ0RlYnVnZ2VyIEVycm9yJyksIGVyci5lcnJvcm1z Zyk7CisgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICB9IGNhdGNoIChl KSB7CiAgICAgICAgICAgICBjb25zb2xlLndhcm4oZS5zdGFjayB8fCBlKTsKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzIGIvd2Vi L3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKaW5kZXggNWRh NjYzNjlkLi41OTZjOTgxOGYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCkBAIC01MSw2ICs1MSw3IEBAIGRlZmluZSgndG9vbHMu cXVlcnl0b29sJywgWwogICAnc291cmNlcy93aW5kb3cnLAogICAnc291cmNlcy9pc19uYXRpdmUn LAogICAnc291cmNlcy9zcWxlZGl0b3IvbWFjcm8nLAorICAncGdhZG1pbi5hdXRoZW50aWNhdGUu a2VyYmVyb3MnLAogICAnc291cmNlcy8uLi9idW5kbGUvc2xpY2tncmlkJywKICAgJ3BnYWRtaW4u ZmlsZV9tYW5hZ2VyJywKICAgJ3NsaWNrLnBnYWRtaW4uZm9ybWF0dGVycycsCkBAIC02NSw3ICs2 Niw3IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICBHZW9tZXRyeVZpZXdlciwgaGlz dG9yeUNvbGwsIHF1ZXJ5SGlzdCwgcXVlcnlTb3VyY2VzLAogICBrZXlib2FyZFNob3J0Y3V0cywg cXVlcnlUb29sQWN0aW9ucywgcXVlcnlUb29sTm90aWZpY2F0aW9ucywgRGF0YWdyaWQsCiAgIG1v ZGlmeUFuaW1hdGlvbiwgY2FsY3VsYXRlUXVlcnlSdW5UaW1lLCBjYWxsUmVuZGVyQWZ0ZXJQb2xs LCBxdWVyeVRvb2xQcmVmLCBxdWVyeVR4blN0YXR1cywgY3NyZlRva2VuLCBwYW5lbFRpdGxlRnVu YywKLSAgcGdXaW5kb3csIGlzTmF0aXZlLCBNYWNyb0hhbmRsZXIpIHsKKyAgcGdXaW5kb3csIGlz TmF0aXZlLCBNYWNyb0hhbmRsZXIsIEtlcmJlcm9zKSB7CiAgIC8qIFJldHVybiBiYWNrLCB0aGlz IGhhcyBiZWVuIGNhbGxlZCBtb3JlIHRoYW4gb25jZSAqLwogICBpZiAocGdBZG1pbi5TcWxFZGl0 b3IpCiAgICAgcmV0dXJuIHBnQWRtaW4uU3FsRWRpdG9yOwpAQCAtMjQzMSw5ICsyNDMyLDIzIEBA IGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAgICAgICAgICBwZ0Jyb3dzZXIucmVw b3J0X2Vycm9yKGdldHRleHQoJ0Vycm9yIGZldGNoaW5nIHJvd3MgLSAlcy4nLCB4aHIuc3RhdHVz VGV4dCksIHhoci5yZXNwb25zZUpTT04uZXJyb3Jtc2csIHVuZGVmaW5lZCwgc2VsZi5jbG9zZS5i aW5kKHNlbGYpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg ICAgcGdCcm93c2VyLkV2ZW50cy50cmlnZ2VyKAotICAgICAgICAgICAgICAncGdhZG1pbjpxdWVy eV90b29sOmNvbm5lY3RlZF9mYWlsOicgKyBzZWxmLnRyYW5zSWQsIHhociwgZXJyb3IKLSAgICAg ICAgICAgICk7CisgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlVGV4dC5zZWFyY2goJ1RpY2tl dCBleHBpcmVkJykgIT09IC0xKSB7CisgICAgICAgICAgICAgIGxldCBmZXRjaFRpY2tldCA9IEtl cmJlcm9zLmZldGNoX3RpY2tldCgpOworICAgICAgICAgICAgICBmZXRjaFRpY2tldC50aGVuKAor ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgc2VsZi5pbml0 VHJhbnNhY3Rpb24oKTsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIGZ1bmN0 aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICBwZ0Jyb3dzZXIuRXZlbnRzLnRyaWdnZXIo CisgICAgICAgICAgICAgICAgICAgICdwZ2FkbWluOnF1ZXJ5X3Rvb2w6Y29ubmVjdGVkX2ZhaWw6 JyArIHNlbGYudHJhbnNJZCwgeGhyLCBlcnJvcgorICAgICAgICAgICAgICAgICAgKTsKKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgICk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg ICAgICAgICAgICBwZ0Jyb3dzZXIuRXZlbnRzLnRyaWdnZXIoCisgICAgICAgICAgICAgICAgJ3Bn YWRtaW46cXVlcnlfdG9vbDpjb25uZWN0ZWRfZmFpbDonICsgc2VsZi50cmFuc0lkLCB4aHIsIGVy cm9yCisgICAgICAgICAgICAgICk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgfQogICAgICAg ICB9KTsKICAgICAgIH0sCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5 Y29wZzIvY29ubmVjdGlvbi5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3BnMi9j b25uZWN0aW9uLnB5CmluZGV4IGRlOTU0NzMyMi4uNDNmNmU2ZGUwIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvY29ubmVjdGlvbi5weQorKysgYi93ZWIvcGdh ZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvY29ubmVjdGlvbi5weQpAQCAtMTgsMTEgKzE4LDEz IEBAIGltcG9ydCBzZWxlY3QKIGltcG9ydCBkYXRldGltZQogZnJvbSBjb2xsZWN0aW9ucyBpbXBv cnQgZGVxdWUKIGltcG9ydCBwc3ljb3BnMgotZnJvbSBmbGFzayBpbXBvcnQgZywgY3VycmVudF9h cHAKK2ltcG9ydCB0aHJlYWRpbmcKK2Zyb20gZmxhc2sgaW1wb3J0IGcsIGN1cnJlbnRfYXBwLCBz ZXNzaW9uCiBmcm9tIGZsYXNrX2JhYmVsZXggaW1wb3J0IGdldHRleHQKIGZyb20gZmxhc2tfc2Vj dXJpdHkgaW1wb3J0IGN1cnJlbnRfdXNlcgogZnJvbSBwZ2FkbWluLnV0aWxzLmNyeXB0byBpbXBv cnQgZGVjcnlwdCwgZW5jcnlwdAogZnJvbSBwc3ljb3BnMi5leHRlbnNpb25zIGltcG9ydCBlbmNv ZGluZ3MKK2Zyb20gb3MgaW1wb3J0IGVudmlyb24KIAogaW1wb3J0IGNvbmZpZwogZnJvbSBwZ2Fk bWluLm1vZGVsIGltcG9ydCBVc2VyCkBAIC0zOCw2ICs0MCw5IEBAIGZyb20gLmVuY29kaW5nIGlt cG9ydCBnZXRfZW5jb2RpbmcsIGNvbmZpZ3VyZV9kcml2ZXJfZW5jb2RpbmdzCiBmcm9tIHBnYWRt aW4udXRpbHMgaW1wb3J0IGNzdgogZnJvbSBwZ2FkbWluLnV0aWxzLm1hc3Rlcl9wYXNzd29yZCBp bXBvcnQgZ2V0X2NyeXB0X2tleQogZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KK2Zyb20gcGdhZG1p bi51dGlscy5jb25zdGFudHMgaW1wb3J0IEtFUkJFUk9TCisKK2xvY2sgPSB0aHJlYWRpbmcuTG9j aygpCiAKIF8gPSBnZXR0ZXh0CiAKQEAgLTMxMyw2ICszMTgsMTIgQEAgY2xhc3MgQ29ubmVjdGlv bihCYXNlQ29ubmVjdGlvbik6CiAgICAgICAgICAgICBvcy5lbnZpcm9uWydQR0FQUE5BTUUnXSA9 ICd7MH0gLSB7MX0nLmZvcm1hdCgKICAgICAgICAgICAgICAgICBjb25maWcuQVBQX05BTUUsIGNv bm5faWQpCiAKKyAgICAgICAgICAgIGlmIGNvbmZpZy5TRVJWRVJfTU9ERSBhbmQgXAorICAgICAg ICAgICAgICAgICAgICBzZXNzaW9uWydfYXV0aF9zb3VyY2VfbWFuYWdlcl9vYmonXVsnY3VycmVu dF9zb3VyY2UnXSA9PSBcCisgICAgICAgICAgICAgICAgICAgIEtFUkJFUk9TIGFuZCAnS1JCNUND TkFNRScgaW4gc2Vzc2lvbjoKKyAgICAgICAgICAgICAgICBsb2NrLmFjcXVpcmUoKQorICAgICAg ICAgICAgICAgIGVudmlyb25bJ0tSQjVDQ05BTUUnXSA9IHNlc3Npb25bJ0tSQjVDQ05BTUUnXQor CiAgICAgICAgICAgICBwZ19jb25uID0gcHN5Y29wZzIuY29ubmVjdCgKICAgICAgICAgICAgICAg ICBob3N0PW1hbmFnZXIubG9jYWxfYmluZF9ob3N0IGlmIG1hbmFnZXIudXNlX3NzaF90dW5uZWwK ICAgICAgICAgICAgICAgICBlbHNlIG1hbmFnZXIuaG9zdCwKQEAgLTM0MCw3ICszNTEsMTMgQEAg Y2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6CiAgICAgICAgICAgICBpZiBzZWxmLmFz eW5jXyA9PSAxOgogICAgICAgICAgICAgICAgIHNlbGYuX3dhaXQocGdfY29ubikKIAorICAgICAg ICAgICAgaWYgY29uZmlnLlNFUlZFUl9NT0RFIGFuZCBcCisgICAgICAgICAgICAgICAgICAgIHNl c3Npb25bJ19hdXRoX3NvdXJjZV9tYW5hZ2VyX29iaiddWydjdXJyZW50X3NvdXJjZSddID09IFwK KyAgICAgICAgICAgICAgICAgICAgS0VSQkVST1M6CisgICAgICAgICAgICAgICAgZW52aXJvblsn S1JCNUNDTkFNRSddID0gJycKKwogICAgICAgICBleGNlcHQgcHN5Y29wZzIuRXJyb3IgYXMgZToK KyAgICAgICAgICAgIGVudmlyb25bJ0tSQjVDQ05BTUUnXSA9ICcnCiAgICAgICAgICAgICBtYW5h Z2VyLnN0b3Bfc3NoX3R1bm5lbCgpCiAgICAgICAgICAgICBpZiBlLnBnZXJyb3I6CiAgICAgICAg ICAgICAgICAgbXNnID0gZS5wZ2Vycm9yCkBAIC0zNTgsNiArMzc1LDExIEBAIGNsYXNzIENvbm5l Y3Rpb24oQmFzZUNvbm5lY3Rpb24pOgogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkK ICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbXNnCisgICAgICAgIGZpbmFsbHk6CisgICAgICAg ICAgICBpZiBjb25maWcuU0VSVkVSX01PREUgYW5kIFwKKyAgICAgICAgICAgICAgICAgICAgc2Vz c2lvblsnX2F1dGhfc291cmNlX21hbmFnZXJfb2JqJ11bJ2N1cnJlbnRfc291cmNlJ10gPT0gXAor ICAgICAgICAgICAgICAgICAgICBLRVJCRVJPUyBhbmQgbG9jay5sb2NrZWQoKToKKyAgICAgICAg ICAgICAgICBsb2NrLnJlbGVhc2UoKQogCiAgICAgICAgICMgT3ZlcndyaXRlIGNvbm5lY3Rpb24g bm90aWNlIGF0dHIgdG8gc3VwcG9ydAogICAgICAgICAjIG1vcmUgdGhhbiA1MCBub3RpY2VzIGF0 IGEgdGltZQpAQCAtMTQzNSw3ICsxNDU3LDYgQEAgRmFpbGVkIHRvIHJlc2V0IHRoZSBjb25uZWN0 aW9uIHRvIHRoZSBzZXJ2ZXIgZHVlIHRvIGZvbGxvd2luZyBlcnJvcjoKICAgICAgICAgQXJnczoK ICAgICAgICAgICAgIGNvbm46IGNvbm5lY3Rpb24gb2JqZWN0CiAgICAgICAgICIiIgotCiAgICAg ICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBzdGF0ZSA9IGNvbm4ucG9sbCgpCiAgICAgICAg ICAgICBpZiBzdGF0ZSA9PSBwc3ljb3BnMi5leHRlbnNpb25zLlBPTExfT0s6CmRpZmYgLS1naXQg YS93ZWIvd2VicGFjay5zaGltLmpzIGIvd2ViL3dlYnBhY2suc2hpbS5qcwppbmRleCA5NmQ1YjI3 ZjYuLjAwZGFhMTJlYyAxMDA2NDQKLS0tIGEvd2ViL3dlYnBhY2suc2hpbS5qcworKysgYi93ZWIv d2VicGFjay5zaGltLmpzCkBAIC0xNzQsNiArMTc0LDcgQEAgdmFyIHdlYnBhY2tTaGltQ29uZmln ID0gewogICAgICdwZ2FkbWluLmJhY2tncmlkJzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vcGdh ZG1pbi9zdGF0aWMvanMvYmFja2dyaWQucGdhZG1pbicpLAogCiAgICAgJ3BnYWRtaW4uYWJvdXQn OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dCcp LAorICAgICdwZ2FkbWluLmF1dGhlbnRpY2F0ZS5rZXJiZXJvcyc6IHBhdGguam9pbihfX2Rpcm5h bWUsICcuL3BnYWRtaW4vYXV0aGVudGljYXRlL3N0YXRpYy9qcy9rZXJiZXJvcycpLAogICAgICdw Z2FkbWluLmJyb3dzZXInOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIv c3RhdGljL2pzL2Jyb3dzZXInKSwKICAgICAncGdhZG1pbi5icm93c2VyLmJncHJvY2Vzcyc6IHBh dGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vbWlzYy9iZ3Byb2Nlc3Mvc3RhdGljL2pzL2Jn cHJvY2VzcycpLAogICAgICdwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbic6IHBhdGguam9pbihf X2Rpcm5hbWUsICcuL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvY29sbGVjdGlvbicpLAo= --00000000000006f64605bf70778f--