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 1lYlbc-0005Co-9E for pgadmin-hackers@arkaria.postgresql.org; Tue, 20 Apr 2021 08:19:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lYlba-0005Zo-O9 for pgadmin-hackers@arkaria.postgresql.org; Tue, 20 Apr 2021 08:19:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lYlba-0005Zd-BH for pgadmin-hackers@lists.postgresql.org; Tue, 20 Apr 2021 08:19:34 +0000 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lYlbU-0006R9-Ql for pgadmin-hackers@postgresql.org; Tue, 20 Apr 2021 08:19:33 +0000 Received: by mail-pj1-x1036.google.com with SMTP id cu16so17429635pjb.4 for ; Tue, 20 Apr 2021 01:19:28 -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=8F4l/98CRNak8GoKaNLFrD4wmAn4oaDtWIHwdJUFGYI=; b=IlffscaD7NxyPVeaglde3MZx6BlDNSQoCPbPyEg5iAu5Vl4It6RmDMJWEJhUViPkHd mk96xlBS9kSaVd6bCWJrdoSUQmbOpIX9xK2S+7aE9I81VtCLLBllRF1J8niO3JA3G/cw nOSA5Dt53DYobTtptrVlvmm2Ji2yIcflYDnEzf7517OF6sB9a7XgDEKKNRSEBgje6j33 NoV2wc0kivNavYOH2ETkwaIPMP3PovRVS2kYs4FV9ilVVqSwnpdb2lEgPc3LGCWVaVX0 +DpDOX3Q0M1w7BHklTZpNHiwsBEflJorH8XpiFwBy94E6ZRJbfge4t22dhyj92YVJruH NufQ== 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=8F4l/98CRNak8GoKaNLFrD4wmAn4oaDtWIHwdJUFGYI=; b=sv7BMJO0uJpIUFXsYW/FCUhWuauUlpn2NWVpGzkdBzBDMhWYaGvZrPmaF3oze8o6ov BBvkHM+IRPFRs6rjwy2VM4o51ao0URD/q4oAiwnEBj54KdPr/hIlHfnMNQxxOUv408t6 5PAsVpXjfHvrN3yNauY1ZOEWMYxpI5C3+jrqC8lXI23/QQCBjx6tm+03myJnRCBz1V6g 48YDTIrt5sBBhurZ43s/RHRLOU8TPmlDr66DF7Nx9oZjDB/vMYKGUQ24PoCJZYeuxWVK nTRAdYMH8VR4j8AihE4zvA9vdbYwKlt7f2DH8eTO6f9dO4a7s4GTsEW2NnMxIiTxPnG8 blgA== X-Gm-Message-State: AOAM533M0DAMTCVsDcPl/YNHvzjEwXr6uNF3tFYm+GtuWLQC0/0iRY/d KOrEDiVnBegc2cePdTnY8Lz2Gecdo/B9MuVCeOOyY8SpNKgJ355DSBiTq/eao2DBdASeC8Dgu77 7HAENInUB4VmzbiJ86C3cnh6eDEoQsM5VpGwg6eoVDEtokUjLbVfimtokn3i4gSaAPjU7/SJUky 4+V9Jy//X7SyigFWj6sQF0XDFZdv4kukfn2/pTZ0vntzENhFGn6OUcdjtak6EmpHM= X-Google-Smtp-Source: ABdhPJxFZ3owOdwNnaY87kOWC48Y3yF0cx2iT3QyAwOAG5VQx8wQnO+qW/VOCf/R16hH1grbI32ZpXyD5+PD2aH/XNw= X-Received: by 2002:a17:90b:2314:: with SMTP id mt20mr3706222pjb.99.1618906765880; Tue, 20 Apr 2021 01:19:25 -0700 (PDT) MIME-Version: 1.0 From: Pradip Parkale Date: Tue, 20 Apr 2021 13:49:14 +0530 Message-ID: Subject: [pgAdmin]:SonarQube Fixes To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000b4d52205c0631aeb" 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 --000000000000b4d52205c0631aeb Content-Type: multipart/alternative; boundary="000000000000b4d52005c0631ae9" --000000000000b4d52005c0631ae9 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Please find attached the patch for some SonarQube fixes. -- Thanks & Regards, Pradip Parkale Software Engineer | EnterpriseDB Corporation --000000000000b4d52005c0631ae9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Please find attached=C2=A0t= he patch for some SonarQube fixes.

--
<= div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature= ">
Thanks & Regards,
Pradip Parkale
Software Engineer = | EnterpriseDB Corporation
--000000000000b4d52005c0631ae9-- --000000000000b4d52205c0631aeb Content-Type: application/octet-stream; name="SonarQube.patch" Content-Disposition: attachment; filename="SonarQube.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_knpr625q0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9sYW5ndWFnZXMvc3RhdGljL2pzL2xhbmd1YWdlLmpzIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy9zdGF0aWMvanMv bGFuZ3VhZ2UuanMKaW5kZXggYjM1NDIyYzhkLi5mY2Q1MTRmMTkgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9sYW5ndWFnZXMv c3RhdGljL2pzL2xhbmd1YWdlLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9sYW5ndWFnZXMvc3RhdGljL2pzL2xhbmd1YWdlLmpzCkBA IC0xODksMTIgKzE4OSw3IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmxhbmd1YWdlJywgWwogICAg ICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiByZXM7Ci0g ICAgICAgICAgfSwgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIGlmIChtLmlz TmV3KCkpIHsKLSAgICAgICAgICAgICAgcmV0dXJuIG0uZ2V0KCd0ZW1wbGF0ZV9saXN0JykuaW5k ZXhPZihtLmdldCgnbmFtZScpKSAhPSAtMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKLSAgICAgICAgICB9LAorICAgICAgICAgIH0sIGRpc2FibGVkOiAnaXNEaXNh YmxlZCcsCiAgICAgICAgICAgcmVhZG9ubHk6IGZ1bmN0aW9uKG0pIHtyZXR1cm4gIW0uaXNOZXco KTt9LAogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ2xhbmlubCcsIGxhYmVsOiBnZXR0ZXh0 KCdJbmxpbmUgZnVuY3Rpb24nKSwgdHlwZTogJ3RleHQnLCBjb250cm9sOiAnbm9kZS1hamF4LW9w dGlvbnMnLApAQCAtMjE0LDEyICsyMDksNyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5sYW5ndWFn ZScsIFsKICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1 cm4gcmVzOwotICAgICAgICAgIH0sIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAg ICBpZiAobS5pc05ldygpKSB7Ci0gICAgICAgICAgICAgIHJldHVybiBtLmdldCgndGVtcGxhdGVf bGlzdCcpLmluZGV4T2YobS5nZXQoJ25hbWUnKSkgIT0gLTE7Ci0gICAgICAgICAgICB9Ci0gICAg ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfSwKKyAgICAgICAgICB9LCBkaXNhYmxl ZDogJ2lzRGlzYWJsZWQnLAogICAgICAgICAgIHJlYWRvbmx5OiBmdW5jdGlvbihtKSB7cmV0dXJu ICFtLmlzTmV3KCk7fSwKICAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICdsYW52YWwnLCBsYWJl bDogZ2V0dGV4dCgnVmFsaWRhdG9yIGZ1bmN0aW9uJyksIHR5cGU6ICd0ZXh0JywgY29udHJvbDog J25vZGUtYWpheC1vcHRpb25zJywKQEAgLTIzOSwxMiArMjI5LDcgQEAgZGVmaW5lKCdwZ2FkbWlu Lm5vZGUubGFuZ3VhZ2UnLCBbCiAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQogICAg ICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgICB9LCBkaXNhYmxlZDogZnVuY3Rpb24obSkg ewotICAgICAgICAgICAgaWYgKG0uaXNOZXcoKSkgewotICAgICAgICAgICAgICByZXR1cm4gbS5n ZXQoJ3RlbXBsYXRlX2xpc3QnKS5pbmRleE9mKG0uZ2V0KCduYW1lJykpICE9IC0xOwotICAgICAg ICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0sCisgICAgICAg ICAgfSwgZGlzYWJsZWQ6ICdpc0Rpc2FibGVkJywKICAgICAgICAgICByZWFkb25seTogZnVuY3Rp b24obSkge3JldHVybiAhbS5pc05ldygpO30sCiAgICAgICAgIH0sIHsKICAgICAgICAgICBpZDog J2xhbmFjbCcsIGxhYmVsOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyksIHR5cGU6ICdjb2xsZWN0aW9u JywKQEAgLTI5Miw2ICsyNzcsMTIgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUubGFuZ3VhZ2UnLCBb CiAKICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgfSwKKyAgICAgICAgaXNEaXNhYmxl ZDogZnVuY3Rpb24obSl7CisgICAgICAgICAgaWYgKG0uaXNOZXcoKSkgeworICAgICAgICAgICAg cmV0dXJuIG0uZ2V0KCd0ZW1wbGF0ZV9saXN0JykuaW5kZXhPZihtLmdldCgnbmFtZScpKSAhPSAt MTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9LAogICAg ICAgfSksCiAgICAgfSk7CiAgIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW5zL3N0YXRp Yy9qcy9jb2x1bW4uanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy9zdGF0aWMvanMvY29sdW1uLmpzCmlu ZGV4IDk3MDA1ZGIyMy4uMDllZjk0YTc1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1ucy9z dGF0aWMvanMvY29sdW1uLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW5zL3N0YXRpYy9qcy9jb2x1 bW4uanMKQEAgLTYwMCwxMiArNjAwLDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuY29sdW1uJywg WwogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ3NlcXN0YXJ0JywgbGFiZWw6IGdldHRleHQo J1N0YXJ0JyksIHR5cGU6ICdpbnQnLAogICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdj cmVhdGUnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnQ29uc3RyYWludHMnKSwKLSAgICAgICAg ICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgbGV0IGlzSWRlbnRpdHkgPSBt LmdldCgnYXR0aWRlbnRpdHknKTsKLSAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKGlzSWRl bnRpdHkpICYmICFfLmlzTnVsbChpc0lkZW50aXR5KSAmJiAhXy5pc0VtcHR5KGlzSWRlbnRpdHkp KQotICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK LSAgICAgICAgICB9LCBkZXBzOiBbJ2F0dGlkZW50aXR5JywgJ2NvbGNvbnN0eXBlJ10sCisgICAg ICAgICAgZGlzYWJsZWQ6ICdpc0lkZW50aXR5Q29sdW1uJywgZGVwczogWydhdHRpZGVudGl0eScs ICdjb2xjb25zdHlwZSddLAogICAgICAgICAgIHZpc2libGU6ICdpc1R5cGVJZGVudGl0eScsCiAg ICAgICAgIH0sewogICAgICAgICAgIGlkOiAnc2VxbWluJywgbGFiZWw6IGdldHRleHQoJ01pbmlt dW0nKSwgdHlwZTogJ2ludCcsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZm9y ZWlnbl9rZXkvc3RhdGljL2pzL2ZvcmVpZ25fa2V5LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRz L2ZvcmVpZ25fa2V5L3N0YXRpYy9qcy9mb3JlaWduX2tleS5qcwppbmRleCBlOGQwNGUzMzYuLjcx YjUyNzBmNiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3N0 YXRpYy9qcy9mb3JlaWduX2tleS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZm9yZWln bl9rZXkvc3RhdGljL2pzL2ZvcmVpZ25fa2V5LmpzCkBAIC03MzcsMTUgKzczNyw3IEBAIGRlZmlu ZSgncGdhZG1pbi5ub2RlLmZvcmVpZ25fa2V5JywgWwogICAgICAgICB9LHsKICAgICAgICAgICBp ZDogJ2NvbmRlZmVycmFibGUnLCBsYWJlbDogZ2V0dGV4dCgnRGVmZXJyYWJsZT8nKSwKICAgICAg ICAgICB0eXBlOiAnc3dpdGNoJywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKLSAgICAg ICAgICByZWFkb25seTogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGlu IHRhYmxlIGVkaXQgbW9kZSB0aGVuCi0gICAgICAgICAgICBpZiAoXy5oYXMobSwgJ2hhbmRsZXIn KSAmJiAhXy5pc1VuZGVmaW5lZChtLmhhbmRsZXIpKSB7Ci0gICAgICAgICAgICAgIC8vIElmIE9J RCBpcyB1bmRlZmluZWQgdGhlbiB1c2VyIGlzIHRyeWluZyB0byBhZGQKLSAgICAgICAgICAgICAg Ly8gbmV3IGNvbnN0cmFpbnQgd2hpY2ggc2hvdWxkIGFsbG93ZWQgZm9yIFVuaXF1ZQotICAgICAg ICAgICAgICByZXR1cm4gIV8uaXNVbmRlZmluZWQobS5nZXQoJ29pZCcpKTsKLSAgICAgICAgICAg IH0KLSAgICAgICAgICAgIHJldHVybiAhbS5pc05ldygpOwotICAgICAgICAgIH0sCisgICAgICAg ICAgcmVhZG9ubHk6ICdpc1JlYWRvbmx5JywKICAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICdj b25kZWZlcnJlZCcsIGxhYmVsOiBnZXR0ZXh0KCdEZWZlcnJlZD8nKSwKICAgICAgICAgICB0eXBl OiAnc3dpdGNoJywgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKQEAgLTc2MiwxNSArNzU0 LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuZm9yZWlnbl9rZXknLCBbCiAgICAgICAgICAgICAg IHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgIH0sCi0gICAgICAgICAgcmVh ZG9ubHk6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIC8vIElmIHdlIGFyZSBpbiB0YWJsZSBl ZGl0IG1vZGUgdGhlbgotICAgICAgICAgICAgaWYgKF8uaGFzKG0sICdoYW5kbGVyJykgJiYgIV8u aXNVbmRlZmluZWQobS5oYW5kbGVyKSkgewotICAgICAgICAgICAgICAvLyBJZiBPSUQgaXMgdW5k ZWZpbmVkIHRoZW4gdXNlciBpcyB0cnlpbmcgdG8gYWRkCi0gICAgICAgICAgICAgIC8vIG5ldyBj b25zdHJhaW50IHdoaWNoIHNob3VsZCBhbGxvd2VkIGZvciBVbmlxdWUKLSAgICAgICAgICAgICAg cmV0dXJuICFfLmlzVW5kZWZpbmVkKG0uZ2V0KCdvaWQnKSk7Ci0gICAgICAgICAgICB9Ci0gICAg ICAgICAgICByZXR1cm4gIW0uaXNOZXcoKTsKLSAgICAgICAgICB9LAorICAgICAgICAgIHJlYWRv bmx5OiAnaXNSZWFkT25seScsCiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnY29uZm1hdGNo dHlwZScsIGxhYmVsOiBnZXR0ZXh0KCdNYXRjaCB0eXBlJyksCiAgICAgICAgICAgdHlwZTogJ3N3 aXRjaCcsIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvcGFydGl0aW9ucy9zdGF0aWMvanMvcGFydGl0aW9uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlv bnMvc3RhdGljL2pzL3BhcnRpdGlvbi5qcwppbmRleCBlMjM2MjMwYTMuLjIxOTg1OTk4NSAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMvc3RhdGljL2pzL3BhcnRpdGlvbi5qcworKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90YWJsZXMvcGFydGl0aW9ucy9zdGF0aWMvanMvcGFydGl0aW9uLmpzCkBAIC0yMjMsNyAr MjIzLDYgQEAgZnVuY3Rpb24oCiAgICAgICAgICAgICAgICAgICAgIHQudW5sb2FkKGkpOwogICAg ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgIH19LAotICAgICAgICAgICAgZnVuY3Rp b24oKSB7fQogICAgICAgICAgICk7CiAgICAgICAgIH0sCiAgICAgICAgIHJlc2V0X3RhYmxlX3N0 YXRzOiBmdW5jdGlvbihhcmdzKSB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvc3RhdGljL2pzL3Rh YmxlLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3N0YXRpYy9qcy90YWJsZS5qcwppbmRleCAyMjM0YjJkZGYuLmVk NTgzNjE1MiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3N0YXRpYy9qcy90YWJsZS5qcworKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvc3RhdGljL2pzL3RhYmxlLmpzCkBAIC0zNzQsMTQgKzM3NCw3IEBAIGRlZmluZSgn cGdhZG1pbi5ub2RlLnRhYmxlJywgWwogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ2lzX3Bh cnRpdGlvbmVkJywgbGFiZWw6Z2V0dGV4dCgnUGFydGl0aW9uZWQgdGFibGU/JyksIGNlbGw6ICdz d2l0Y2gnLAogICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAn Y3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbihtKSB7Ci0gICAg ICAgICAgICBpZighXy5pc1VuZGVmaW5lZChtLm5vZGVfaW5mbykgJiYgIV8uaXNVbmRlZmluZWQo bS5ub2RlX2luZm8uc2VydmVyKQotICAgICAgICAgICAgICAmJiAhXy5pc1VuZGVmaW5lZChtLm5v ZGVfaW5mby5zZXJ2ZXIudmVyc2lvbikgJiYKLSAgICAgICAgICAgICAgICBtLm5vZGVfaW5mby5z ZXJ2ZXIudmVyc2lvbiA+PSAxMDAwMDApCi0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0g ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfSwKKyAgICAgICAgICB2aXNpYmxl OiAnaXNWZXJzaW9uR3JlYXRlclRoYW45NicsCiAgICAgICAgICAgcmVhZG9ubHk6IGZ1bmN0aW9u KG0pIHsKICAgICAgICAgICAgIGlmICghbS5pc05ldygpKQogICAgICAgICAgICAgICByZXR1cm4g dHJ1ZTsKQEAgLTQ4MywxNCArNDc2LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUudGFibGUnLCBb CiAgICAgICAgICAgaWQ6ICdybHNwb2xpY3knLCBsYWJlbDogZ2V0dGV4dCgnUkxTIFBvbGljeT8n KSwgY2VsbDogJ3N3aXRjaCcsCiAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsncHJv cGVydGllcycsJ2VkaXQnLCAnY3JlYXRlJ10sCiAgICAgICAgICAgZ3JvdXA6IGdldHRleHQoJ2Fk dmFuY2VkJyksCi0gICAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24obSkgewotICAgICAgICAgICAg aWYoIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYmICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9p bmZvLnNlcnZlcikKLSAgICAgICAgICAgICAgJiYgIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8u c2VydmVyLnZlcnNpb24pICYmCi0gICAgICAgICAgICAgICAgbS5ub2RlX2luZm8uc2VydmVyLnZl cnNpb24gPj0gOTA2MDApCi0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAgICAg ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfSwKKyAgICAgICAgICB2aXNpYmxlOiAnaXNTdXBw b3J0ZWQnLAogICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7CiAgICAgICAgICAgICBp ZighXy5pc1VuZGVmaW5lZChtLm5vZGVfaW5mbykgJiYgIV8uaXNVbmRlZmluZWQobS5ub2RlX2lu Zm8uc2VydmVyKQogICAgICAgICAgICAgICAmJiAhXy5pc1VuZGVmaW5lZChtLm5vZGVfaW5mby5z ZXJ2ZXIudmVyc2lvbikgJiYKQEAgLTUwNCwxNCArNDkwLDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5v ZGUudGFibGUnLCBbCiAgICAgICAgICAgaWQ6ICdmb3JjZXJsc3BvbGljeScsIGxhYmVsOiBnZXR0 ZXh0KCdGb3JjZSBSTFMgUG9saWN5PycpLCBjZWxsOiAnc3dpdGNoJywKICAgICAgICAgICB0eXBl OiAnc3dpdGNoJywgbW9kZTogWydwcm9wZXJ0aWVzJywnZWRpdCcsICdjcmVhdGUnXSwgZGVwczog WydybHNwb2xpY3knXSwKICAgICAgICAgICBncm91cDogZ2V0dGV4dCgnYWR2YW5jZWQnKSwKLSAg ICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAgICBpZighXy5pc1VuZGVm aW5lZChtLm5vZGVfaW5mbykgJiYgIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8uc2VydmVyKQot ICAgICAgICAgICAgICAmJiAhXy5pc1VuZGVmaW5lZChtLm5vZGVfaW5mby5zZXJ2ZXIudmVyc2lv bikgJiYKLSAgICAgICAgICAgICAgICBtLm5vZGVfaW5mby5zZXJ2ZXIudmVyc2lvbiA+PSA5MDYw MCkKLSAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAgICAgIHJldHVybiBmYWxz ZTsKLSAgICAgICAgICB9LAorICAgICAgICAgIHZpc2libGU6ICdpc1N1cHBvcnRlZCcsCiAgICAg ICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZp bmVkKG0ubm9kZV9pbmZvKSAmJiAhXy5pc1VuZGVmaW5lZChtLm5vZGVfaW5mby5zZXJ2ZXIpCiAg ICAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9u KSAmJgpAQCAtODQzLDMxICs4MjIsMTYgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUudGFibGUnLCBb CiAgICAgICAgICAgaWQ6ICdmaWxsZmFjdG9yJywgbGFiZWw6IGdldHRleHQoJ0ZpbGwgZmFjdG9y JyksIHR5cGU6ICdpbnQnLAogICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwgbWlu OiAxMCwgbWF4OiAxMDAsCiAgICAgICAgICAgZ3JvdXA6IGdldHRleHQoJ2FkdmFuY2VkJyksCi0g ICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIGlmKG0uZ2V0KCdp c19wYXJ0aXRpb25lZCcpKSB7Ci0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAg ICAgfQotICAgICAgICAgICAgcmV0dXJuIG0uaW5TY2hlbWEoKTsKLSAgICAgICAgICB9LAorICAg ICAgICAgIGRpc2FibGVkOiAnaXNEaXNhYmxlZCcsCiAgICAgICAgIH0sewogICAgICAgICAgIGlk OiAndG9hc3RfdHVwbGVfdGFyZ2V0JywgbGFiZWw6IGdldHRleHQoJ1RvYXN0IHR1cGxlIHRhcmdl dCcpLCB0eXBlOiAnaW50JywKICAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sIG1p bjogMTI4LCBtaW5fdmVyc2lvbjogMTEwMDAwLAogICAgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdh ZHZhbmNlZCcpLAotICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAg ICBpZihtLmdldCgnaXNfcGFydGl0aW9uZWQnKSkgewotICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBtLmluU2NoZW1hKCk7Ci0gICAg ICAgICAgfSwKKyAgICAgICAgICBkaXNhYmxlZDogJ2lzRGlzYWJsZWQnLAogICAgICAgICB9LHsK ICAgICAgICAgICBpZDogJ3BhcmFsbGVsX3dvcmtlcnMnLCBsYWJlbDogZ2V0dGV4dCgnUGFyYWxs ZWwgd29ya2VycycpLCB0eXBlOiAnaW50JywKICAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsICdl ZGl0J10sIGdyb3VwOiBnZXR0ZXh0KCdhZHZhbmNlZCcpLCBtaW5fdmVyc2lvbjogOTA2MDAsCi0g ICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIGlmKG0uZ2V0KCdp c19wYXJ0aXRpb25lZCcpKSB7Ci0gICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAg ICAgfQotICAgICAgICAgICAgcmV0dXJuIG0uaW5TY2hlbWEoKTsKLSAgICAgICAgICB9LAorICAg ICAgICAgIGRpc2FibGVkOiAnaXNEaXNhYmxlZCcsCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAg ICAgICAgICBpZDogJ3JlbGhhc29pZHMnLCBsYWJlbDogZ2V0dGV4dCgnSGFzIE9JRHM/JyksIGNl bGw6ICdzd2l0Y2gnLApAQCAtOTcwLDE0ICs5MzQsNyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS50 YWJsZScsIFsKICAgICAgICAgICAgIHJldHVybiBvcHRpb25zOwogICAgICAgICAgIH0sCiAgICAg ICAgICAgbW9kZTpbJ2NyZWF0ZSddLAotICAgICAgICAgIHZpc2libGU6IGZ1bmN0aW9uKG0pIHsK LSAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvKSAmJiAhXy5pc1VuZGVm aW5lZChtLm5vZGVfaW5mby5zZXJ2ZXIpCi0gICAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVk KG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uKSAmJgotICAgICAgICAgICAgICAgIG0ubm9kZV9p bmZvLnNlcnZlci52ZXJzaW9uID49IDEwMDAwMCkKLSAgICAgICAgICAgICAgcmV0dXJuIHRydWU7 Ci0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICB9LAorICAgICAgICAgIHZp c2libGU6ICdpc1ZlcnNpb25HcmVhdGVyVGhhbjk2JywKICAgICAgICAgICBkaXNhYmxlZDogZnVu Y3Rpb24obSkgewogICAgICAgICAgICAgaWYgKCFtLmdldCgnaXNfcGFydGl0aW9uZWQnKSkKICAg ICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMDI3LDE0ICs5ODQsNyBAQCBkZWZpbmUoJ3Bn YWRtaW4ubm9kZS50YWJsZScsIFsKICAgICAgICAgICAgICk7CiAKICAgICAgICAgICB9LAotICAg ICAgICAgIHZpc2libGU6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZp bmVkKG0ubm9kZV9pbmZvKSAmJiAhXy5pc1VuZGVmaW5lZChtLm5vZGVfaW5mby5zZXJ2ZXIpCi0g ICAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9u KSAmJgotICAgICAgICAgICAgICAgIG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uID49IDEwMDAw MCkKLSAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAgICAgIHJldHVybiBmYWxz ZTsKLSAgICAgICAgICB9LAorICAgICAgICAgIHZpc2libGU6ICdpc1ZlcnNpb25HcmVhdGVyVGhh bjk2JywKICAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewogICAgICAgICAgICAgaWYg KG0uZ2V0KCdwYXJ0aXRpb25fa2V5cycpICYmIG0uZ2V0KCdwYXJ0aXRpb25fa2V5cycpLm1vZGVs cy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewpA QCAtMTA0NywxNCArOTk3LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUudGFibGUnLCBbCiAgICAg ICAgIH0sewogICAgICAgICAgIGlkOiAncGFydGl0aW9uX3NjaGVtZScsIGxhYmVsOiBnZXR0ZXh0 KCdQYXJ0aXRpb24gU2NoZW1lJyksCiAgICAgICAgICAgdHlwZTogJ25vdGUnLCBncm91cDogJ3Bh cnRpdGlvbicsIG1vZGU6IFsnZWRpdCddLAotICAgICAgICAgIHZpc2libGU6IGZ1bmN0aW9uKG0p IHsKLSAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvKSAmJiAhXy5pc1Vu ZGVmaW5lZChtLm5vZGVfaW5mby5zZXJ2ZXIpCi0gICAgICAgICAgICAgICYmICFfLmlzVW5kZWZp bmVkKG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uKSAmJgotICAgICAgICAgICAgICAgIG0ubm9k ZV9pbmZvLnNlcnZlci52ZXJzaW9uID49IDEwMDAwMCkKLSAgICAgICAgICAgICAgcmV0dXJuIHRy dWU7Ci0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICB9LAorICAgICAgICAg IHZpc2libGU6ICdpc1ZlcnNpb25HcmVhdGVyVGhhbjk2JywKICAgICAgICAgICBkaXNhYmxlZDog ZnVuY3Rpb24obSkgewogICAgICAgICAgICAgaWYgKCFtLmlzTmV3KCkpIHsKICAgICAgICAgICAg ICAgdGhpcy50ZXh0ID0gbS5nZXQoJ3BhcnRpdGlvbl9zY2hlbWUnKTsKQEAgLTEwNzcsMTQgKzEw MjAsNyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS50YWJsZScsIFsKICAgICAgICAgICAgIGdldHRl eHQoJ0xldFwncyBzYXksIHdlIHdhbnQgdG8gY3JlYXRlIGEgcGFydGl0aW9uIHRhYmxlIGJhc2Vk IHBlciB5ZWFyIGZvciB0aGUgY29sdW1uIFwnc2FsZWRhdGVcJywgaGF2aW5nIGRhdGF0eXBlIFwn ZGF0ZS90aW1lc3RhbXBcJywgdGhlbiB3ZSBuZWVkIHRvIHNwZWNpZnkgdGhlIGV4cHJlc3Npb24g YXMgXCdleHRyYWN0KFlFQVIgZnJvbSBzYWxlZGF0ZSlcJyBhcyBwYXJ0aXRpb24ga2V5LicpLAog ICAgICAgICAgICAgJzwvbGk+PC91bD4nLAogICAgICAgICAgIF0uam9pbignJyksCi0gICAgICAg ICAgdmlzaWJsZTogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQo bS5ub2RlX2luZm8pICYmICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlcikKLSAgICAg ICAgICAgICAgJiYgIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24pICYm Ci0gICAgICAgICAgICAgICAgbS5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24gPj0gMTAwMDAwKQot ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot ICAgICAgICAgIH0sCisgICAgICAgICAgdmlzaWJsZTogJ2lzVmVyc2lvbkdyZWF0ZXJUaGFuOTYn LAogICAgICAgICB9LCB7CiAgICAgICAgICAgaWQ6ICdwYXJ0aXRpb25zJywgbGFiZWw6Z2V0dGV4 dCgnUGFydGl0aW9ucycpLAogICAgICAgICAgIG1vZGVsOiBCYWNrZm9ybS5QYXJ0aXRpb25zTW9k ZWwsCkBAIC0xMTM4LDE0ICsxMDc0LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUudGFibGUnLCBb CiAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog ICAgICAgICAgIH0sCi0gICAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24obSkgewotICAgICAgICAg ICAgaWYoIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYmICFfLmlzVW5kZWZpbmVkKG0ubm9k ZV9pbmZvLnNlcnZlcikKLSAgICAgICAgICAgICAgJiYgIV8uaXNVbmRlZmluZWQobS5ub2RlX2lu Zm8uc2VydmVyLnZlcnNpb24pICYmCi0gICAgICAgICAgICAgICAgbS5ub2RlX2luZm8uc2VydmVy LnZlcnNpb24gPj0gMTAwMDAwKQotICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0sCisgICAgICAgICAgdmlzaWJsZTogJ2lz VmVyc2lvbkdyZWF0ZXJUaGFuOTYnLAogICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7 CiAgICAgICAgICAgICBpZiAobS5pc05ldygpICYmIG0uZ2V0KCdwYXJ0aXRpb25zJykgJiYgbS5n ZXQoJ3BhcnRpdGlvbnMnKS5tb2RlbHMubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICBzZXRU aW1lb3V0KGZ1bmN0aW9uICgpIHsKQEAgLTExODEsMTQgKzExMTAsNyBAQCBkZWZpbmUoJ3BnYWRt aW4ubm9kZS50YWJsZScsIFsKICAgICAgICAgICAgIGdldHRleHQoJ0VuYWJsZWQgZm9yIGhhc2gg cGFydGl0aW9uLicpLAogICAgICAgICAgICAgJzwvbGk+PC91bD4nLAogICAgICAgICAgIF0uam9p bignJyksCi0gICAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgaWYo IV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYmICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZv LnNlcnZlcikKLSAgICAgICAgICAgICAgJiYgIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8uc2Vy dmVyLnZlcnNpb24pICYmCi0gICAgICAgICAgICAgICAgbS5ub2RlX2luZm8uc2VydmVyLnZlcnNp b24gPj0gMTAwMDAwKQotICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgICAgICAgICAg cmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0sCisgICAgICAgICAgdmlzaWJsZTogJ2lzVmVyc2lv bkdyZWF0ZXJUaGFuOTYnLAogICAgICAgICB9LHsKICAgICAgICAgICAvLyBIZXJlIC0gd2Ugd2ls bCBjcmVhdGUgdGFiIGNvbnRyb2wgZm9yIHN0b3JhZ2UgcGFyYW1ldGVycwogICAgICAgICAgIC8v IChhdXRvIHZhY3V1bSkuCkBAIC0xMjc2LDYgKzExOTgsMjMgQEAgZGVmaW5lKCdwZ2FkbWluLm5v ZGUudGFibGUnLCBbCiAgICAgICAgICAgfQogICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAg ICB9LAorICAgICAgICBpc1ZlcnNpb25HcmVhdGVyVGhhbjk2OiBmdW5jdGlvbihtKSB7CisgICAg ICAgICAgaWYoIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYmICFfLmlzVW5kZWZpbmVkKG0u bm9kZV9pbmZvLnNlcnZlcikKKyAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9p bmZvLnNlcnZlci52ZXJzaW9uKSAmJgorICAgICAgICAgICAgICBtLm5vZGVfaW5mby5zZXJ2ZXIu dmVyc2lvbiA+PSAxMDAwMDApCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAg IHJldHVybiBmYWxzZTsKKyAgICAgICAgfSwKKyAgICAgICAgaXNTdXBwb3J0ZWQ6IGZ1bmN0aW9u KG0pIHsKKyAgICAgICAgICAvLyBFbmFibGUgd2hlbiBzZXJ2ZXIgdmVyc2lvbiBpcyBncmVhdGVy IHRoYW4gOTUuCisgICAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYmICFf LmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlcikKKyAgICAgICAgICAgICYmICFfLmlzVW5k ZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlci52ZXJzaW9uKSAmJgorICAgICAgICAgICAgICBtLm5v ZGVfaW5mby5zZXJ2ZXIudmVyc2lvbiA+PSA5MDYwMCkKKyAgICAgICAgICAgIHJldHVybiB0cnVl OworCisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9LAogICAgICAgICAvLyBXZSB3 aWxsIGRpc2FibGUgZXZlcnl0aGluZyBpZiB3ZSBhcmUgdW5kZXIgY2F0YWxvZyBub2RlCiAgICAg ICAgIGluU2NoZW1hOiBmdW5jdGlvbigpIHsKICAgICAgICAgICBpZih0aGlzLm5vZGVfaW5mbyAm JiAgJ2NhdGFsb2cnIGluIHRoaXMubm9kZV9pbmZvKQpAQCAtMTI4NCw2ICsxMjIzLDEyIEBAIGRl ZmluZSgncGdhZG1pbi5ub2RlLnRhYmxlJywgWwogICAgICAgICAgIH0KICAgICAgICAgICByZXR1 cm4gZmFsc2U7CiAgICAgICAgIH0sCisgICAgICAgIGlzRGlzYWJsZWQ6ZnVuY3Rpb24obSkgewor ICAgICAgICAgIGlmKG0uZ2V0KCdpc19wYXJ0aXRpb25lZCcpKSB7CisgICAgICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIG0uaW5TY2hlbWEoKTsKKyAg ICAgICAgfSwKICAgICAgICAgaXNJbmhlcml0ZWRUYWJsZTogZnVuY3Rpb24obSkgewogICAgICAg ICAgIGlmKCFtLmluU2NoZW1hLmFwcGx5KHRoaXMsIFttXSkpIHsKICAgICAgICAgICAgIC8vIEVp dGhlciBvZl90eXBlcyBvciBjb2xsX2luaGVyaXRzIGhhcyB2YWx1ZQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvc3RhdGljL2pzL3Jv bGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy9z dGF0aWMvanMvcm9sZS5qcwppbmRleCBkY2I5OWViMjYuLjkyYTAyNzM1YSAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvc3RhdGljL2pz L3JvbGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv cm9sZXMvc3RhdGljL2pzL3JvbGUuanMKQEAgLTUxNSwxMyArNTE1LDcgQEAgZGVmaW5lKCdwZ2Fk bWluLm5vZGUucm9sZScsIFsKICAgICAgICAgICBmaWx0ZXI6IGZ1bmN0aW9uKGQpIHsKICAgICAg ICAgICAgIHJldHVybiB0aGlzLm1vZGVsLmlzTmV3KCkgfHwgKHRoaXMubW9kZWwuZ2V0KCdyb2xu YW1lJykgIT0gZC5sYWJlbCk7CiAgICAgICAgICAgfSwKLSAgICAgICAgICBoZWxwTWVzc2FnZTog ZnVuY3Rpb24obSkgewotICAgICAgICAgICAgaWYgKG0uaGFzKCdyZWFkX29ubHknKSAmJiBtLmdl dCgncmVhZF9vbmx5JykgPT0gZmFsc2UpIHsKLSAgICAgICAgICAgICAgcmV0dXJuIGdldHRleHQo J1NlbGVjdCB0aGUgY2hlY2tib3ggZm9yIHJvbGVzIHRvIGluY2x1ZGUgV0lUSCBBRE1JTiBPUFRJ T04uJyk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICByZXR1cm4gZ2V0dGV4 dCgnUm9sZXMgc2hvd24gd2l0aCBhIGNoZWNrIG1hcmsgaGF2ZSB0aGUgV0lUSCBBRE1JTiBPUFRJ T04gc2V0LicpOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0sCisgICAgICAgICAgaGVscE1l c3NhZ2U6ICdoZWxwTWVzc2FnZScsCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICBp ZDogJ3JvbG1lbWJlcnMnLCBsYWJlbDogZ2V0dGV4dCgnTWVtYmVycycpLCB0eXBlOiAnY29sbGVj dGlvbicsIGdyb3VwOiBnZXR0ZXh0KCdNZW1iZXJzaGlwJyksCkBAIC01NDEsMTMgKzUzNSw3IEBA IGRlZmluZSgncGdhZG1pbi5ub2RlLnJvbGUnLCBbCiAgICAgICAgICAgZmlsdGVyOiBmdW5jdGlv bihkKSB7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb2RlbC5pc05ldygpIHx8ICh0aGlzLm1v ZGVsLmdldCgncm9sbmFtZScpICE9IGQubGFiZWwpOwogICAgICAgICAgIH0sCi0gICAgICAgICAg aGVscE1lc3NhZ2U6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIGlmIChtLmhhcygncmVhZF9v bmx5JykgJiYgbS5nZXQoJ3JlYWRfb25seScpID09IGZhbHNlKSB7Ci0gICAgICAgICAgICAgIHJl dHVybiBnZXR0ZXh0KCdTZWxlY3QgdGhlIGNoZWNrYm94IGZvciByb2xlcyB0byBpbmNsdWRlIFdJ VEggQURNSU4gT1BUSU9OLicpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg cmV0dXJuIGdldHRleHQoJ1JvbGVzIHNob3duIHdpdGggYSBjaGVjayBtYXJrIGhhdmUgdGhlIFdJ VEggQURNSU4gT1BUSU9OIHNldC4nKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9LAorICAg ICAgICAgIGhlbHBNZXNzYWdlOiAnaGVscE1lc3NhZ2UnLAogICAgICAgICB9LAogICAgICAgICB7 CiAgICAgICAgICAgaWQ6ICd2YXJpYWJsZXMnLCBsYWJlbDogJycsIHR5cGU6ICdjb2xsZWN0aW9u JywKQEAgLTYwMyw2ICs1OTEsMTMgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUucm9sZScsIFsKIAog ICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB9LAorICAgICAgICBoZWxwTWVzc2FnZTog ZnVuY3Rpb24obSkgeworICAgICAgICAgIGlmIChtLmhhcygncmVhZF9vbmx5JykgJiYgbS5nZXQo J3JlYWRfb25seScpID09IGZhbHNlKSB7CisgICAgICAgICAgICByZXR1cm4gZ2V0dGV4dCgnU2Vs ZWN0IHRoZSBjaGVja2JveCBmb3Igcm9sZXMgdG8gaW5jbHVkZSBXSVRIIEFETUlOIE9QVElPTi4n KTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIGdldHRleHQoJ1JvbGVz IHNob3duIHdpdGggYSBjaGVjayBtYXJrIGhhdmUgdGhlIFdJVEggQURNSU4gT1BUSU9OIHNldC4n KTsKKyAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICB9KSwKICAgICB9KTsKICAgfQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZS5qcyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc3RhdGljL2pzL25vZGUuanMKaW5kZXggN2MyZjY2NmUwLi4xYzVhZjNmNTcg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL25vZGUuanMKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZS5qcwpAQCAtMTc4Niw3ICsxNzg2LDYg QEAgZGVmaW5lKCdwZ2FkbWluLmJyb3dzZXIubm9kZScsIFsKICAgICAgICAgfSwKICAgICAgICAg c2VsZiA9IHRoaXMsCiAgICAgICAgIHByaW9yaXR5ID0gLUluZmluaXR5OwotCiAgICAgICB2YXIg dHJlZUluZm8gPSAoXy5pc1VuZGVmaW5lZChpdGVtKSB8fCBfLmlzTnVsbChpdGVtKSkgPwogICAg ICAgICBpbmZvIHx8IHt9IDogdGhpcy5nZXRUcmVlTm9kZUhpZXJhcmNoeShpdGVtKTsKICAgICAg IHZhciBhY3Rpb25UeXBlID0gdHlwZSBpbiBvcFVSTCA/IG9wVVJMW3R5cGVdIDogdHlwZTsKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9fX2luaXRfXy5weSBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2JhY2t1cC9fX2luaXRfXy5weQppbmRleCBhYWNiMmU1ZDQuLjExNTM2YTI5OSAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL19faW5pdF9fLnB5CisrKyBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9fX2luaXRfXy5weQpAQCAtMTE1LDE1ICsxMTUsNyBAQCBj bGFzcyBCYWNrdXBNZXNzYWdlKElQcm9jZXNzRGVzYyk6CiAgICAgICAgICAgICAgICAgc2VsZi5j bWQgKz0gY21kX2FyZyhhcmcpCiAKICAgICBkZWYgZ2V0X3NlcnZlcl9kZXRhaWxzKHNlbGYpOgot ICAgICAgICBpZiBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KGlkPXNlbGYuc2lkLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ9Y3VycmVudF91c2VyLmlkKS5maXJzdCgp OgotICAgICAgICAgICAgcyA9IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoCi0gICAgICAgICAgICAg ICAgaWQ9c2VsZi5zaWQsIHVzZXJfaWQ9Y3VycmVudF91c2VyLmlkCi0gICAgICAgICAgICApLmZp cnN0KCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHMgPSBTaGFyZWRTZXJ2ZXIucXVlcnku ZmlsdGVyX2J5KAotICAgICAgICAgICAgICAgIGlkPXNlbGYuc2lkLCB1c2VyX2lkPWN1cnJlbnRf dXNlci5pZAotICAgICAgICAgICAgKS5maXJzdCgpCisgICAgICAgIHMgPSBnZXRfc2VydmVyKHNl bGYuc2lkKQogCiAgICAgICAgIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdldF9k cml2ZXIKICAgICAgICAgZHJpdmVyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikKQEAg LTQyMiwxNCArNDE0LDcgQEAgZGVmIGNyZWF0ZV9iYWNrdXBfb2JqZWN0c19qb2Ioc2lkKToKICAg ICAgICAgcmV0dXJuIGJhZF9yZXF1ZXN0KGVycm9ybXNnPXN0cihlKSkKIAogICAgICMgRmV0Y2gg dGhlIHNlcnZlciBkZXRhaWxzIGxpa2UgaG9zdG5hbWUsIHBvcnQsIHJvbGVzIGV0YwotICAgIGlm IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZCku Zmlyc3QoKToKLSAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAg ICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKLSAgICAgICAgKS5maXJzdCgp Ci0gICAgZWxzZToKLSAgICAgICAgc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRlcl9i eSgKLSAgICAgICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKLSAgICAgICAg KS5maXJzdCgpCisgICAgc2VydmVyID0gZ2V0X3NlcnZlcihzaWQpCiAKICAgICBpZiBzZXJ2ZXIg aXMgTm9uZToKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKQEAgLTUzMSwxNCAr NTE2LDcgQEAgZGVmIGNoZWNrX3V0aWxpdHlfZXhpc3RzKHNpZCwgYmFja3VwX29ial90eXBlKToK ICAgICBSZXR1cm5zOgogICAgICAgICBOb25lCiAgICAgIiIiCi0gICAgaWYgU2VydmVyLnF1ZXJ5 LmZpbHRlcl9ieShpZD1zaWQsIHVzZXJfaWQ9Y3VycmVudF91c2VyLmlkKS5maXJzdCgpOgotICAg ICAgICBzZXJ2ZXIgPSBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KAotICAgICAgICAgICAgaWQ9c2lk LCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZAotICAgICAgICApLmZpcnN0KCkKLSAgICBlbHNlOgot ICAgICAgICBzZXJ2ZXIgPSBTaGFyZWRTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KAotICAgICAgICAg ICAgaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZAotICAgICAgICApLmZpcnN0KCkKKyAg ICBzZXJ2ZXIgPSBnZXRfc2VydmVyKHNpZCkKIAogICAgIGlmIHNlcnZlciBpcyBOb25lOgogICAg ICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKApAQCAtNTYxLDMgKzUzOSwyMiBAQCBkZWYg Y2hlY2tfdXRpbGl0eV9leGlzdHMoc2lkLCBiYWNrdXBfb2JqX3R5cGUpOgogICAgICAgICApCiAK ICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKHN1Y2Nlc3M9MSkKKworCitkZWYgZ2V0X3Nl cnZlcihzaWQpOgorICAgICIiIgorICAgICMgRmV0Y2ggdGhlIHNlcnZlciAgZXRjCisgICAgOnBh cmFtIHNpZDoKKyAgICA6cmV0dXJuOiBzZXJ2ZXIKKyAgICAiIiIKKworICAgIGlmIFNlcnZlci5x dWVyeS5maWx0ZXJfYnkoaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZCkuZmlyc3QoKToK KyAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKKyAgICAgICAgICAgIGlk PXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKKyAgICAgICAgKS5maXJzdCgpCisgICAgZWxz ZToKKyAgICAgICAgc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKKyAgICAg ICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKKyAgICAgICAgKS5maXJzdCgp CisKKyAgICByZXR1cm4gc2VydmVyCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9tYWlu dGVuYW5jZS9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL21haW50ZW5hbmNlL19faW5p dF9fLnB5CmluZGV4IDE2MDU3M2ExYy4uOGZiYzJlNmEyIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9tYWludGVuYW5jZS9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi90b29scy9t YWludGVuYW5jZS9fX2luaXRfXy5weQpAQCAtMjA5LDE0ICsyMDksOCBAQCBkZWYgY3JlYXRlX21h aW50ZW5hbmNlX2pvYihzaWQsIGRpZCk6CiAgICAgaW5kZXhfbmFtZSA9IGdldF9pbmRleF9uYW1l KGRhdGEpCiAKICAgICAjIEZldGNoIHRoZSBzZXJ2ZXIgZGV0YWlscyBsaWtlIGhvc3RuYW1lLCBw b3J0LCByb2xlcyBldGMKLSAgICBpZiBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KGlkPXNpZCwgdXNl cl9pZD1jdXJyZW50X3VzZXIuaWQpLmZpcnN0KCk6Ci0gICAgICAgIHNlcnZlciA9IFNlcnZlci5x dWVyeS5maWx0ZXJfYnkoCi0gICAgICAgICAgICBpZD1zaWQsIHVzZXJfaWQ9Y3VycmVudF91c2Vy LmlkCi0gICAgICAgICkuZmlyc3QoKQotICAgIGVsc2U6Ci0gICAgICAgIHNlcnZlciA9IFNoYXJl ZFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoCi0gICAgICAgICAgICBpZD1zaWQsIHVzZXJfaWQ9Y3Vy cmVudF91c2VyLmlkCi0gICAgICAgICkuZmlyc3QoKQorCisgICAgc2VydmVyID0gZ2V0X3NlcnZl cihzaWQpCiAKICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToKICAgICAgICAgcmV0dXJuIG1ha2VfanNv bl9yZXNwb25zZSgKQEAgLTMwNiwxOCArMzAwLDggQEAgZGVmIGNoZWNrX3V0aWxpdHlfZXhpc3Rz KHNpZCk6CiAgICAgUmV0dXJuczoKICAgICAgICAgTm9uZQogICAgICIiIgotICAgICMgc2VydmVy ID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAjICAgICBpZD1zaWQsIHVzZXJfaWQ9Y3Vy cmVudF91c2VyLmlkCi0gICAgIyApLmZpcnN0KCkKIAotICAgIGlmIFNlcnZlci5xdWVyeS5maWx0 ZXJfYnkoaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZCkuZmlyc3QoKToKLSAgICAgICAg c2VydmVyID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAgICAgICAgIGlkPXNpZCwgdXNl cl9pZD1jdXJyZW50X3VzZXIuaWQKLSAgICAgICAgKS5maXJzdCgpCi0gICAgZWxzZToKLSAgICAg ICAgc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAgICAgICAgIGlk PXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKLSAgICAgICAgKS5maXJzdCgpCisgICAgc2Vy dmVyID0gZ2V0X3NlcnZlcihzaWQpCiAKICAgICBpZiBzZXJ2ZXIgaXMgTm9uZToKICAgICAgICAg cmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKQEAgLTMzOCwzICszMjIsMjIgQEAgZGVmIGNoZWNr X3V0aWxpdHlfZXhpc3RzKHNpZCk6CiAgICAgICAgICkKIAogICAgIHJldHVybiBtYWtlX2pzb25f cmVzcG9uc2Uoc3VjY2Vzcz0xKQorCisKK2RlZiBnZXRfc2VydmVyKHNpZCk6CisgICAgIiIiCisg ICAgIyBGZXRjaCB0aGUgc2VydmVyICBldGMKKyAgICA6cGFyYW0gc2lkOgorICAgIDpyZXR1cm46 IHNlcnZlcgorICAgICIiIgorCisgICAgaWYgU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieShpZD1zaWQs IHVzZXJfaWQ9Y3VycmVudF91c2VyLmlkKS5maXJzdCgpOgorICAgICAgICBzZXJ2ZXIgPSBTZXJ2 ZXIucXVlcnkuZmlsdGVyX2J5KAorICAgICAgICAgICAgaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRf dXNlci5pZAorICAgICAgICApLmZpcnN0KCkKKyAgICBlbHNlOgorICAgICAgICBzZXJ2ZXIgPSBT aGFyZWRTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KAorICAgICAgICAgICAgaWQ9c2lkLCB1c2VyX2lk PWN1cnJlbnRfdXNlci5pZAorICAgICAgICApLmZpcnN0KCkKKworICAgIHJldHVybiBzZXJ2ZXIK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvX19pbml0X18ucHkgYi93ZWIv cGdhZG1pbi90b29scy9yZXN0b3JlL19faW5pdF9fLnB5CmluZGV4IDNiYjlhOWM1ZC4uMjhjN2Y1 MmViIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL19faW5pdF9fLnB5Cisr KyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvX19pbml0X18ucHkKQEAgLTg3LDE2ICs4Nyw5 IEBAIGNsYXNzIFJlc3RvcmVNZXNzYWdlKElQcm9jZXNzRGVzYyk6CiAgICAgICAgICAgICAgICAg c2VsZi5jbWQgKz0gY21kX2FyZyhhcmcpCiAKICAgICBkZWYgZ2V0X3NlcnZlcl9kZXRhaWxzKHNl bGYpOgorCiAgICAgICAgICMgRmV0Y2ggdGhlIHNlcnZlciBkZXRhaWxzIGxpa2UgaG9zdG5hbWUs IHBvcnQsIHJvbGVzIGV0YwotICAgICAgICBpZiBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KGlkPXNl bGYuc2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ9Y3VycmVu dF91c2VyLmlkKS5maXJzdCgpOgotICAgICAgICAgICAgcyA9IFNlcnZlci5xdWVyeS5maWx0ZXJf YnkoCi0gICAgICAgICAgICAgICAgaWQ9c2VsZi5zaWQsIHVzZXJfaWQ9Y3VycmVudF91c2VyLmlk Ci0gICAgICAgICAgICApLmZpcnN0KCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHMgPSBT aGFyZWRTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KAotICAgICAgICAgICAgICAgIGlkPXNlbGYuc2lk LCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZAotICAgICAgICAgICAgKS5maXJzdCgpCisgICAgICAg IHMgPSBnZXRfc2VydmVyKHNlbGYuc2lkKQogCiAgICAgICAgIGZyb20gcGdhZG1pbi51dGlscy5k cml2ZXIgaW1wb3J0IGdldF9kcml2ZXIKICAgICAgICAgZHJpdmVyID0gZ2V0X2RyaXZlcihQR19E RUZBVUxUX0RSSVZFUikKQEAgLTIxNSwxNCArMjA4LDcgQEAgZGVmIF9jb25uZWN0X3NlcnZlcihz aWQpOgogICAgIDpwYXJhbSBzaWQ6IFNlcnZlciBJRC4KICAgICA6cmV0dXJuOiBpZiBub3QgZXJy b3Igb2NjdXJyZWQgdGhlbiByZXR1cm4gY29ubmVjdGlvbiBkYXRhLgogICAgICIiIgotICAgIGlm IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRfdXNlci5pZCku Zmlyc3QoKToKLSAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgKLSAgICAg ICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKLSAgICAgICAgKS5maXJzdCgp Ci0gICAgZWxzZToKLSAgICAgICAgc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZpbHRlcl9i eSgKLSAgICAgICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKLSAgICAgICAg KS5maXJzdCgpCisgICAgc2VydmVyID0gZ2V0X3NlcnZlcihzaWQpCiAKICAgICBpZiBzZXJ2ZXIg aXMgTm9uZToKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKQEAgLTQ3NywxNCAr NDYzLDcgQEAgZGVmIGNoZWNrX3V0aWxpdHlfZXhpc3RzKHNpZCk6CiAgICAgICAgIE5vbmUKICAg ICAiIiIKICAgICAjIEZldGNoIHRoZSBzZXJ2ZXIgZGV0YWlscyBsaWtlIGhvc3RuYW1lLCBwb3J0 LCByb2xlcyBldGMKLSAgICBpZiBTZXJ2ZXIucXVlcnkuZmlsdGVyX2J5KGlkPXNpZCwgdXNlcl9p ZD1jdXJyZW50X3VzZXIuaWQpLmZpcnN0KCk6Ci0gICAgICAgIHNlcnZlciA9IFNlcnZlci5xdWVy eS5maWx0ZXJfYnkoCi0gICAgICAgICAgICBpZD1zaWQsIHVzZXJfaWQ9Y3VycmVudF91c2VyLmlk Ci0gICAgICAgICkuZmlyc3QoKQotICAgIGVsc2U6Ci0gICAgICAgIHNlcnZlciA9IFNoYXJlZFNl cnZlci5xdWVyeS5maWx0ZXJfYnkoCi0gICAgICAgICAgICBpZD1zaWQsIHVzZXJfaWQ9Y3VycmVu dF91c2VyLmlkCi0gICAgICAgICkuZmlyc3QoKQorICAgIHNlcnZlciA9IGdldF9zZXJ2ZXIoc2lk KQogCiAgICAgaWYgc2VydmVyIGlzIE5vbmU6CiAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVz cG9uc2UoCkBAIC01MDUsMyArNDg0LDIyIEBAIGRlZiBjaGVja191dGlsaXR5X2V4aXN0cyhzaWQp OgogICAgICAgICApCiAKICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKHN1Y2Nlc3M9MSkK KworCitkZWYgZ2V0X3NlcnZlcihzaWQpOgorICAgICIiIgorICAgICMgRmV0Y2ggdGhlIHNlcnZl ciAgZXRjCisgICAgOnBhcmFtIHNpZDoKKyAgICA6cmV0dXJuOiBzZXJ2ZXIKKyAgICAiIiIKKwor ICAgIGlmIFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkLCB1c2VyX2lkPWN1cnJlbnRfdXNl ci5pZCkuZmlyc3QoKToKKyAgICAgICAgc2VydmVyID0gU2VydmVyLnF1ZXJ5LmZpbHRlcl9ieSgK KyAgICAgICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKKyAgICAgICAgKS5m aXJzdCgpCisgICAgZWxzZToKKyAgICAgICAgc2VydmVyID0gU2hhcmVkU2VydmVyLnF1ZXJ5LmZp bHRlcl9ieSgKKyAgICAgICAgICAgIGlkPXNpZCwgdXNlcl9pZD1jdXJyZW50X3VzZXIuaWQKKyAg ICAgICAgKS5maXJzdCgpCisKKyAgICByZXR1cm4gc2VydmVyCg== --000000000000b4d52205c0631aeb--