<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>234861</bug_id>
          
          <creation_ts>2022-01-04 13:56:45 -0800</creation_ts>
          <short_desc>[EWS] Support pull-requests in ValidateChange</short_desc>
          <delta_ts>2022-01-21 15:32:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234847</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828090</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-04 13:56:45 -0800</bug_when>
    <thetext>Rename ValidatePatch to ValidateChange and support GitHub pull-requests in ValidateChange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828093</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-04 14:10:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/87114299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828108</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-04 14:54:43 -0800</bug_when>
    <thetext>Pull-request: https://github.com/WebKit/WebKit/pull/62</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828109</commentid>
    <comment_count>3</comment_count>
      <attachid>448338</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-04 14:56:40 -0800</bug_when>
    <thetext>Created attachment 448338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828893</commentid>
    <comment_count>4</comment_count>
      <attachid>448588</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-07 07:35:40 -0800</bug_when>
    <thetext>Created attachment 448588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828908</commentid>
    <comment_count>5</comment_count>
      <attachid>448593</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-07 08:27:59 -0800</bug_when>
    <thetext>Created attachment 448593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828917</commentid>
    <comment_count>6</comment_count>
      <attachid>448597</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-07 08:37:42 -0800</bug_when>
    <thetext>Created attachment 448597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830558</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 08:40:13 -0800</bug_when>
    <thetext>*** Bug 235183 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830579</commentid>
    <comment_count>8</comment_count>
      <attachid>449073</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 09:34:24 -0800</bug_when>
    <thetext>Created attachment 449073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830811</commentid>
    <comment_count>9</comment_count>
      <attachid>449137</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 21:22:41 -0800</bug_when>
    <thetext>Created attachment 449137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830812</commentid>
    <comment_count>10</comment_count>
      <attachid>449138</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 21:26:20 -0800</bug_when>
    <thetext>Created attachment 449138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830813</commentid>
    <comment_count>11</comment_count>
      <attachid>449139</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-13 21:31:10 -0800</bug_when>
    <thetext>Created attachment 449139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830933</commentid>
    <comment_count>12</comment_count>
      <attachid>449178</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-14 09:23:21 -0800</bug_when>
    <thetext>Created attachment 449178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830977</commentid>
    <comment_count>13</comment_count>
      <attachid>449189</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-14 11:19:42 -0800</bug_when>
    <thetext>Created attachment 449189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830987</commentid>
    <comment_count>14</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-14 11:39:19 -0800</bug_when>
    <thetext>Landed 246047@main (r288021)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832913</commentid>
    <comment_count>15</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-01-21 15:32:47 -0800</bug_when>
    <thetext>Landed 246281@main (r288384)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448338</attachid>
            <date>2022-01-04 14:56:40 -0800</date>
            <delta_ts>2022-01-07 07:35:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220104145639.patch</filename>
            <type>text/plain</type>
            <size>28790</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTkwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjViMDc2NzY1YzI0YTNiMzY2M2VlYjhjYzEyZWQ0MmVh
NjJhNjI1OC4uZGY0Mzg4M2JhMGRmYjM4Nzk2YTUwNDI3NjhhYTM3ZjhkNTc0ZGMwOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIyLTAxLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHk6CisgICAgICAgIChHaXRIdWJNaXhpbi5wcl91cmwpOiBNYXAgcHVsbC1yZXF1ZXN0IG51bWJl
ciB0byBVUkwuCisgICAgICAgIChHaXRIdWJNaXhpbi5hcGlfdXJsKTogQ29udmVydCBVUkwgdG8g
QVBJIHVybC4KKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKTog
Q2hlY2sgaWYgdGhlIGV2ZW50IHRyaWdnZXJpbmcKKyAgICAgICAgdGhpcyB3YXMgYSBwdWxsX3Jl
cXVlc3QsIGFuZCB0aGUgc3BlY2lmaWVkIGJyYW5jaCBjYW4gYmUgbWFwcGVkIHRvIGEKKyAgICAg
ICAgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoR2l0SHViTWl4aW4uY3JlZGVudGlhbHMpOiBBY2Nl
c3MgR2l0SHViIGNyZWRlbnRpYWxzLgorICAgICAgICAoR2l0SHViTWl4aW4uZmV0Y2hfZGF0YV9m
cm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKToKKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9w
cl9qc29uKTogR2V0IHB1bGwtcmVxdWVzdCBKU09OIGZyb20gR2l0SHViLgorICAgICAgICAoR2l0
SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGhhcyBhbHJl
YWR5IGJlZW4gY2xvc2VkLgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENo
ZWNrIGlmIHRoZSBzcGVjaWZpYyBob29rIGlzIG9ic29sZXRlLgorICAgICAgICAoVmFsaWRhdGVD
aGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRjaC4KKyAgICAgICAgKFZhbGlkYXRlQ2hh
bmdlLnN0YXJ0KTogU2VwZXJhdGUgQnVnemlsbGEgYW5kIEdpdEh1YiBjaGVja3MuCisgICAgICAg
IChWYWxpZGF0ZUNoYW5nZS52YWxpZGF0ZV9idWd6aWxsYSk6CisgICAgICAgIChWYWxpZGF0ZUNo
YW5nZS52YWxpZGF0ZV9naXRodWIpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5ldmFsdWF0ZUNv
bW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNoYW5nZS4KKyAgICAgICAg
KFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAg
IChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFJlUnVu
V2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAg
ICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgorICAgICAgICAoUmVSdW5B
UElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFZhbGlkYXRlUGF0Y2gp
OiBSZW5hbWVkIHRvIFZhbGlkYXRlUGF0Y2guCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weTogUmVuYW1lIFZhbGlkYXRlUGF0Y2ggdG8gVmFsaWRhdGVDaGFu
Z2UuCisKIDIwMjItMDEtMDQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgTW9kYWxDb250YWluZXJPYnNlcnZlciBzaG91bGQgc2VhcmNoIGZvciB0ZXh0
IGluIHN1YmZyYW1lcwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weQppbmRleCBl
ZjlkMTJjMWI1ODk5ZGFhNzkxOGEwNTVjNzk5NWJiYzMyOWE3Y2U2Li5iOTc3MWViYjFkNzlhZjE5
NGRmNWRjYzhlMDI0YzVhODU0NzhmODlmIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL2ZhY3Rvcmllcy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weQpAQCAtMzIsNyArMzIsNyBAQCBmcm9tIHN0ZXBzIGltcG9ydCAoQXBwbHlQYXRjaCwg
QXBwbHlXYXRjaExpc3QsIENoZWNrT3V0U291cmNlLCBDaGVja091dFNwZWNpZmljUgogICAgICAg
ICAgICAgICAgICAgIFJ1bkVXU1VuaXRUZXN0cywgUnVuUmVzdWx0c2RicHlUZXN0cywgUnVuSmF2
YVNjcmlwdENvcmVUZXN0cywgUnVuV2ViS2l0MVRlc3RzLCBSdW5XZWJLaXRQZXJsVGVzdHMsIFJ1
bldlYktpdFB5UHl0aG9uMlRlc3RzLAogICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFB5UHl0
aG9uM1Rlc3RzLCBSdW5XZWJLaXRUZXN0cywgUnVuV2ViS2l0VGVzdHNSZWRUcmVlLCBSdW5XZWJL
aXRUZXN0c0luU3RyZXNzTW9kZSwgUnVuV2ViS2l0VGVzdHNJblN0cmVzc0d1YXJkbWFsbG9jTW9k
ZSwKICAgICAgICAgICAgICAgICAgICBTZXRCdWlsZFN1bW1hcnksIFNob3dJZGVudGlmaWVyLCBU
cmlnZ2VyQ3Jhc2hMb2dTdWJtaXNzaW9uLCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LAotICAgICAg
ICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIs
IFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2FpdEZvckNyYXNoQ29sbGVjdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZp
ZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9u
LAogICAgICAgICAgICAgICAgICAgIEluc3RhbGxCdWlsdFByb2R1Y3QsIFZlcmlmeUdpdEh1Yklu
dGVncml0eSkKIAogCkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWls
ZEZhY3RvcnkpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hSZWxldmFuY2Uo
KSkKICAgICAgICAgaWYgc2VsZi5maW5kTW9kaWZpZWRMYXlvdXRUZXN0czoKICAgICAgICAgICAg
IHNlbGYuYWRkU3RlcChGaW5kTW9kaWZpZWRMYXlvdXRUZXN0cygpKQotICAgICAgICBzZWxmLmFk
ZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFu
Z2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UoKSkKICAgICAgICAgIyBDaGVja091dFNvdXJj
ZSBzdGVwIHB1bGxzIHRoZSBsYXRlc3QgcmV2aXNpb24sIHNpbmNlIHdlIHVzZSBhbHdheXNVc2VM
YXRlc3Q9VHJ1ZS4gV2l0aG91dCBhbHdheXNVc2VMYXRlc3QgQnVpbGRib3Qgd2lsbApAQCAtNjIs
NyArNjIsNyBAQCBjbGFzcyBTdHlsZUZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRl
Y3R1cmVzPU5vbmUsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3Vt
ZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5p
dF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1w
bGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hp
dGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9dHJpZ2dlcnMsIHJlbW90ZXM9cmVt
b3RlcywgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzKSkKLSAgICAgICAg
c2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlk
YXRlQ2hhbmdlKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChQcmludENvbmZpZ3VyYXRpb24oKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChGZXRjaEJyYW5jaGVzKCkpCkBAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFdhdGNoTGlzdEZh
Y3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUsIHRyaWdnZXJzPU5v
bmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAg
ICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1j
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxz
ZSwgdHJpZ2dlcnM9dHJpZ2dlcnMsIHJlbW90ZXM9cmVtb3RlcywgYWRkaXRpb25hbEFyZ3VtZW50
cz1hZGRpdGlvbmFsQXJndW1lbnRzKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0
Y2goKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChQcmludENvbmZpZ3VyYXRpb24oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENo
ZWNrT3V0U291cmNlKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChGZXRjaEJyYW5jaGVzKCkpCkBA
IC0yNDAsNyArMjQwLDcgQEAgY2xhc3MgV2luZG93c0ZhY3RvcnkoRmFjdG9yeSk6CiAgICAgICAg
IEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249
Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFs
c2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1
bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xk
UHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxv
YWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChTZXRC
dWlsZFN1bW1hcnkoKSkKIApAQCAtMjgyLDcgKzI4Miw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFj
dG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgYWRkaXRpb25hbEFy
Z3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9f
aW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9y
bT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFy
Y2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25l
LCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVudHMpKQotICAgICAgICBzZWxm
LmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1ZSkpCisgICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRS
ZXBvKCkpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCBjbGFzcyBDb21taXRRdWV1ZUZhY3RvcnkoZmFj
dG9yeS5CdWlsZEZhY3RvcnkpOgogICAgICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3Nl
cygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdChza2lwVXBsb2FkPVRydWUp
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3NlcygpKQotICAgICAgICBzZWxm
LmFkZFN0ZXAoVmFsaWRhdGVQYXRjaChhZGRVUkxzPUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkp
CisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZShhZGRVUkxzPUZhbHNlLCB2ZXJp
ZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja1BhdGNoU3RhdHVzT25F
V1NRdWV1ZXMoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bldlYktpdFRlc3RzKCkpCi0gICAg
ICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1
cz1UcnVlKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKGFkZFVSTHM9RmFs
c2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291
cmNlKHJlcG91cmw9J2h0dHBzOi8vZ2l0LndlYmtpdC5vcmcvZ2l0L1dlYktpdC1odHRwcycpKQog
ICAgICAgICBzZWxmLmFkZFN0ZXAoU2hvd0lkZW50aWZpZXIoKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnkoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
CmluZGV4IDk1M2IzNDY2YmMxMzE2NjYzMzZkZGI5ODE1MGZjZjIzN2YwMzMzNDAuLjkxZGM5ZjMw
MjgxMDEzNmY3MGIxNjZlZDc2MDVmZTdiNTQyOGY2NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQpAQCAtNTQsNiArNTQsNyBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5v
cmcvJwogUkVTVUxUU19EQl9VUkwgPSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0
aFByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHBy
b3BlcnRpZXMuSW50ZXJwb2xhdGUKK0dJVEhVQl9SRVBPU0lUT1JJRVMgPSBbJ2h0dHBzOi8vZ2l0
aHViLmNvbS9XZWJLaXQvV2ViS2l0J10KIAogCiBjbGFzcyBCdWZmZXJMb2dIZWFkZXJPYnNlcnZl
cihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcik6CkBAIC02OSw2ICs3MCwxMjEgQEAgY2xh
c3MgQnVmZmVyTG9nSGVhZGVyT2JzZXJ2ZXIobG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIp
OgogICAgICAgICByZXR1cm4gc2VsZi5fZ2V0KHNlbGYuaGVhZGVycykKIAogCitjbGFzcyBHaXRI
dWJNaXhpbihvYmplY3QpOgorICAgIGFkZFVSTHMgPSBGYWxzZQorICAgIHByX29wZW5fc3RhdGVz
ID0gWydvcGVuJ10KKyAgICBwcl9jbG9zZWRfc3RhdGVzID0gWydjbG9zZWQnXQorCisgICAgZGVm
IHByX3VybChzZWxmLCBwcl9udW1iZXI9Tm9uZSk6CisgICAgICAgIHByX251bWJlciA9IHByX251
bWJlciBvciBzZWxmLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKCkKKyAgICAgICAgaWYgbm90IHBy
X251bWJlcjoKKyAgICAgICAgICAgIHJldHVybiAnJworICAgICAgICByZXR1cm4gJ3t9L3B1bGwv
e30nLmZvcm1hdChzZWxmLmdldFByb3BlcnR5KCdyZXBvc2l0b3J5JywgJy0nKSwgcHJfbnVtYmVy
KQorCisgICAgZGVmIGFwaV91cmwoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmdldFByb3Bl
cnR5KCdyZXBvc2l0b3J5JywgJycpOgorICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byBkZXRl
cm1pbmUgcmVwb3NpdG9yeSBVUkwnKQorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlv
JywgJ0ZhaWxlZCB0byBkZXRlcm1pbmUgcmVwb3NpdG9yeSBVUkwuXG4nKQorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKworICAgICAgICBfLCB1cmxfYmFzZSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3Jl
cG9zaXRvcnknKS5zcGxpdCgnOi8vJywgMSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNl
LnNwbGl0KCcvJywgMSkKKyAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScu
Zm9ybWF0KGhvc3QsIHBhdGgpCisKKyAgICBkZWYgZ2V0X3B1bGxfcmVxdWVzdF9udW1iZXIoc2Vs
Zik6CisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0UHJvcGVydHkoJ3B1bGxfcmVxdWVzdCcp
CisgICAgICAgIGlmIHByX251bWJlcjoKKyAgICAgICAgICAgIHJldHVybiBpbnQocHJfbnVtYmVy
KQorCisgICAgICAgIGlmIHNlbGYuZ2V0UHJvcGVydHkoJ2V2ZW50JykgIT0gJ3B1bGxfcmVxdWVz
dCc6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBzZWxmLmdldFByb3BlcnR5
KCdyZXBvc2l0b3J5Jykgbm90IGluIEdJVEhVQl9SRVBPU0lUT1JJRVM6CisgICAgICAgICAgICBy
ZXR1cm4gTm9uZQorCisgICAgICAgIG1hdGNoID0gQlJBTkNIX1BSX1JFLm1hdGNoKHNlbGYuZ2V0
UHJvcGVydHkoJ2JyYW5jaCcsICcnKSkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcHJfbnVtYmVyID0gaW50KG1hdGNoLmdyb3VwKCdpZCcp
KQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwdWxsX3JlcXVlc3QnLCBwcl9udW1iZXIpCisg
ICAgICAgIHJldHVybiBwcl9udW1iZXIKKworICAgIGRlZiBjcmVkZW50aWFscyhzZWxmKToKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4oJ3Bhc3N3
b3Jkcy5qc29uJykpCisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NP
TV9VU0VSTkFNRScsIE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX1RPS0VOJywgTm9u
ZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoJ0Vy
cm9yIHJlYWRpbmcgR2l0SHViIGFwaSBrZXknKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5v
bmUKKworICAgIGRlZiBmZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24oc2Vs
ZiwgdXJsKToKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4gPSBzZWxmLmNyZWRlbnRpYWxzKCkKKyAgICAgICAg
ICAgIGF1dGggPSBIVFRQQmFzaWNBdXRoKHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4pIGlmIHVzZXJu
YW1lIGFuZCBhY2Nlc3NfdG9rZW4gZWxzZSBOb25lCisgICAgICAgICAgICByZXNwb25zZSA9IHJl
cXVlc3RzLmdldCgKKyAgICAgICAgICAgICAgICB1cmwsIHRpbWVvdXQ9NjAsIGF1dGg9YXV0aCwK
KyAgICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0
aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0
YXR1c19jb2RlICE9IDIwMDoKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnQWNjZXNzZWQge3VybH0gd2l0aCB1bmV4cGVjdGVkIHN0YXR1cyBjb2RlIHtzdGF0dXNfY29k
ZX0uXG4nLmZvcm1hdCh1cmw9dXJsLCBzdGF0dXNfY29kZT1yZXNwb25zZS5zdGF0dXNfY29kZSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
cyBlOgorICAgICAgICAgICAgIyBDYXRjaGluZyBhbGwgZXhjZXB0aW9ucyBoZXJlIHRvIHNhZmVn
dWFyZCBhcGkga2V5LgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxl
ZCB0byBhY2Nlc3Mge3VybH0uXG4nLmZvcm1hdCh1cmw9dXJsKSkKKyAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgZGVmIGdldF9wcl9qc29uKHNl
bGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIG5vdCBzZWxmLmFwaV91cmwoKToKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgcHJfdXJsID0gJ3t9L3B1bGxzL3t9Jy5mb3Jt
YXQoc2VsZi5hcGlfdXJsKCksIHB1bGxfcmVxdWVzdCkKKyAgICAgICAgY29udGVudCA9IHNlbGYu
ZmV0Y2hfZGF0YV9mcm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKHByX3VybCkKKyAgICAgICAg
aWYgbm90IGNvbnRlbnQ6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBwcl9qc29uID0gY29udGVudC5qc29uKCkKKyAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byBwdWxsLXJlcXVlc3QgZnJv
bSB7fSwgZXJyb3I6IHt9Jy5mb3JtYXQocHJfdXJsLCBlKSkKKyAgICAgICAgICAgIHJldHVybiBO
b25lCisgICAgICAgIGlmIG5vdCBwcl9qc29uIG9yIGxlbihwcl9qc29uKSA9PSAwOgorICAgICAg
ICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHByX2pzb24KKworICAgIGRlZiBfaXNf
cHJfY2xvc2VkKHNlbGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIG5vdCBwdWxsX3JlcXVl
c3Q6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnU2tpcHBpbmcgcHVsbC1y
ZXF1ZXN0IHN0YXR1cyB2YWxpZGF0aW9uIHNpbmNlIHB1bGwtcmVxdWVzdCBpcyBOb25lLlxuJykK
KyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIHByX2pzb24gPSBzZWxmLmdldF9wcl9q
c29uKHB1bGxfcmVxdWVzdCkKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Igbm90IHByX2pzb24u
Z2V0KCdzdGF0ZScpOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJs
ZSB0byBmZXRjaCBwdWxsLXJlcXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3JlcXVlc3QpKQorICAg
ICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAgcHJfdGl0bGUgPSBwcl9qc29uLmdldCgndGl0
bGUnKQorICAgICAgICAjIEZJWE1FOiBidWdfdGl0bGUgaXMgdG9vIHNwZWNpZmljIHRvIGJ1Z3pp
bGxhCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1Z190aXRsZScsIHByX3RpdGxlKQorICAg
ICAgICBpZiBzZWxmLmFkZFVSTHM6CisgICAgICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgYmUg
YWJsZSB0byBleHRyYWN0IGJ1Z3ppbGxhIGFuZCByYWRhciBoZXJlCisgICAgICAgICAgICBzZWxm
LmFkZFVSTCgnW1BSIHt9XSB7fScuZm9ybWF0KHB1bGxfcmVxdWVzdCwgcHJfdGl0bGUpLCBzZWxm
LnByX3VybChwcl9udW1iZXI9cHVsbF9yZXF1ZXN0KSkKKyAgICAgICAgaWYgcHJfanNvbi5nZXQo
J3N0YXRlJykgaW4gc2VsZi5wcl9jbG9zZWRfc3RhdGVzOgorICAgICAgICAgICAgcmV0dXJuIDEK
KyAgICAgICAgcmV0dXJuIDAKKworICAgIGRlZiBfaXNfcHJfb2Jzb2xldGUoc2VsZiwgcHVsbF9y
ZXF1ZXN0KToKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24ocHVsbF9yZXF1ZXN0
KQorICAgICAgICBpZiBub3QgcHJfanNvbjoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdVbmFibGUgdG8gZmV0Y2ggcHVsbCByZXF1ZXN0IHt9LlxuJy5mb3JtYXQocHVsbF9y
ZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIGhlYWQgPSBwcl9qc29u
LmdldCgnaGVhZCcsIHt9KS5nZXQoJ3NoYScsICcnKQorICAgICAgICBpZiBub3QgaGVhZDoKKyAg
ICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gZmV0Y2ggaGFzaCBv
ZiBwdWxsIHJlcXVlc3Qge31cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAgICBy
ZXR1cm4gLTEKKworICAgICAgICByZXR1cm4gaGVhZCAhPSBzZWxmLmdldFByb3BlcnR5KCdyZXZp
c2lvbicsICc/JykKKworCiBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVw
KToKICAgICBuYW1lID0gJ2NvbmZpZ3VyZS1idWlsZCcKICAgICBkZXNjcmlwdGlvbiA9IFsnY29u
ZmlndXJpbmcgYnVpbGQnXQpAQCAtODQ2LDEwICs5NjIsMTAgQEAgY2xhc3MgQnVnemlsbGFNaXhp
bihvYmplY3QpOgogICAgICAgICByZXR1cm4gU1VDQ0VTUwogCiAKLWNsYXNzIFZhbGlkYXRlUGF0
Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6Ci0gICAgbmFtZSA9ICd2YWxp
ZGF0ZS1wYXRjaCcKLSAgICBkZXNjcmlwdGlvbiA9IFsndmFsaWRhdGUtcGF0Y2ggcnVubmluZydd
Ci0gICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQgcGF0Y2gnXQorY2xhc3MgVmFsaWRh
dGVDaGFuZ2UoYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbiwgR2l0SHViTWl4aW4p
OgorICAgIG5hbWUgPSAndmFsaWRhdGUtY2hhbmdlJworICAgIGRlc2NyaXB0aW9uID0gWyd2YWxp
ZGF0ZS1jaGFuZ2UgcnVubmluZyddCisgICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQg
Y2hhbmdlJ10KICAgICBmbHVua09uRmFpbHVyZSA9IFRydWUKICAgICBoYWx0T25GYWlsdXJlID0g
VHJ1ZQogCkBAIC04NjQsNyArOTgwLDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAu
QnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxm
KToKICAgICAgICAgaWYgc2VsZi5yZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAgICAgICByZXR1
cm4geydzdGVwJzogc2VsZi5kZXNjcmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVybiBzdXBlcihW
YWxpZGF0ZVBhdGNoLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAgcmV0dXJuIHN1
cGVyKFZhbGlkYXRlQ2hhbmdlLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAogICAgIGRlZiBk
b1N0ZXBJZihzZWxmLCBzdGVwKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldFByb3BlcnR5
KCdza2lwX3ZhbGlkYXRpb24nLCBGYWxzZSkKQEAgLTg3OCw1NCArOTk0LDgxIEBAIGNsYXNzIFZh
bGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6CiAKICAgICBk
ZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0
Y2hfaWQnLCAnJykKLSAgICAgICAgaWYgbm90IHBhdGNoX2lkOgotICAgICAgICAgICAgc2VsZi5f
YWRkVG9Mb2coJ3N0ZGlvJywgJ05vIHBhdGNoX2lkIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3
aXRob3V0IHBhdGNoX2lkLlxuJykKLSAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0g
J05vIHBhdGNoIGlkIGZvdW5kJworICAgICAgICBwcl9udW1iZXIgPSBzZWxmLmdldF9wdWxsX3Jl
cXVlc3RfbnVtYmVyKCkKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQgYW5kIG5vdCBwcl9udW1i
ZXI6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgb3Ig
cHJfbnVtYmVyIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IG9uZSBvZiB0aGVtLlxu
JykKKyAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIGNoYW5nZSBmb3VuZCcK
ICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAgICAgICAgICAgIHJldHVybiBO
b25lCiAKKyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBzZWxmLnZhbGlkYXRlX2J1Z3ppbGxh
KCk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBwcl9udW1iZXIgYW5kIG5v
dCBzZWxmLnZhbGlkYXRlX2dpdGh1YigpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAg
ICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZDoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xl
dGU6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGlzIG5vdCBv
YnNvbGV0ZS5cbicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkOgorICAgICAg
ICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0NoYW5nZSBoYXMgbm90IGJlZW4gZGVuaWVk
LlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnljcXBsdXM6CisgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGlzIGluIGNvbW1pdCBxdWV1ZS5cbicpCisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGhhcyBiZWVuIHJldmlld2VkLlxu
JykKKyAgICAgICAgc2VsZi5maW5pc2hlZChTVUNDRVNTKQorICAgICAgICByZXR1cm4gTm9uZQor
CisgICAgZGVmIHZhbGlkYXRlX2J1Z3ppbGxhKHNlbGYpOgogICAgICAgICBidWdfaWQgPSBzZWxm
LmdldFByb3BlcnR5KCdidWdfaWQnLCAnJykgb3Igc2VsZi5nZXRfYnVnX2lkX2Zyb21fcGF0Y2go
cGF0Y2hfaWQpCiAKICAgICAgICAgYnVnX2Nsb3NlZCA9IHNlbGYuX2lzX2J1Z19jbG9zZWQoYnVn
X2lkKSBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKICAgICAgICAgaWYgYnVnX2Nsb3Nl
ZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdCdWcge30gaXMgYWxyZWFkeSBj
bG9zZWQnLmZvcm1hdChidWdfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAg
ICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIG9ic29sZXRlID0gc2VsZi5faXNfcGF0Y2hfb2Jz
b2xldGUocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUgZWxzZSAwCiAgICAgICAgIGlm
IG9ic29sZXRlID09IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlz
IG9ic29sZXRlJy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAg
ICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIHJldmlld19kZW5pZWQgPSBzZWxmLl9p
c19wYXRjaF9yZXZpZXdfZGVuaWVkKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeVJldmlld0Rlbmll
ZCBlbHNlIDAKICAgICAgICAgaWYgcmV2aWV3X2RlbmllZCA9PSAxOgogICAgICAgICAgICAgc2Vs
Zi5za2lwX2J1aWxkKCdQYXRjaCB7fSBpcyBtYXJrZWQgci0nLmZvcm1hdChwYXRjaF9pZCkpCi0g
ICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAg
ICAgY3FfcGx1cyA9IHNlbGYuX2lzX3BhdGNoX2NxX3BsdXMocGF0Y2hfaWQpIGlmIHNlbGYudmVy
aWZ5Y3FwbHVzIGVsc2UgMQogICAgICAgICBpZiBjcV9wbHVzICE9IDE6CiAgICAgICAgICAgICBz
ZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG5vdCBtYXJrZWQgY3ErLicuZm9ybWF0KHBhdGNo
X2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
IAogICAgICAgICBhY2NlcHRhYmxlX3Jldmlld19mbGFnID0gc2VsZi5fZG9lc19wYXRjaF9oYXZl
X2FjY2VwdGFibGVfcmV2aWV3X2ZsYWcocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVs
c2UgMQogICAgICAgICBpZiBhY2NlcHRhYmxlX3Jldmlld19mbGFnICE9IDE6CiAgICAgICAgICAg
ICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGRvZXMgbm90IGhhdmUgYWNjZXB0YWJsZSByZXZp
ZXcgZmxhZy4nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcmV2
aWV3X2RlbmllZCA9PSAtMSBvciBidWdfY2xvc2VkID09IC0xOgogICAgICAgICAgICAgc2VsZi5m
aW5pc2hlZChXQVJOSU5HUykKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKIAotICAgICAgICBpZiBzZWxmLnZlcmlm
eUJ1Z0Nsb3NlZDoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdCdWcgaXMg
b3Blbi5cbicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGU6Ci0gICAgICAgICAgICBz
ZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG9ic29sZXRlLlxuJykKLSAgICAg
ICAgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG1hcmtlZCByLS5cbicpCi0gICAgICAgIGlmIHNlbGYu
dmVyaWZ5Y3FwbHVzOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNo
IGlzIG1hcmtlZCBjcSsuXG4nKQotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywg
J1BhdGNoIGhhdmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy5cbicpCi0gICAgICAgIHNlbGYuZmlu
aXNoZWQoU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBkZWYgdmFsaWRhdGVfZ2l0
aHViKHNlbGYpOgorICAgICAgICBwcl9udW1iZXIgPSBzZWxmLmdldF9wdWxsX3JlcXVlc3RfbnVt
YmVyKCkKKworICAgICAgICBwcl9jbG9zZWQgPSBzZWxmLl9pc19wcl9jbG9zZWQocHJfbnVtYmVy
KSBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKKyAgICAgICAgaWYgcHJfY2xvc2VkID09
IDE6CisgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1B1bGwtcmVxdWVzdCB7fSBpcyBhbHJl
YWR5IGNsb3NlZCcuZm9ybWF0KHByX251bWJlcikpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
KworICAgICAgICBvYnNvbGV0ZSA9IHNlbGYuX2lzX3ByX29ic29sZXRlKHByX251bWJlcikgaWYg
c2VsZi52ZXJpZnlPYnNvbGV0ZSBlbHNlIDAKKyAgICAgICAgaWYgb2Jzb2xldGUgPT0gMToKKyAg
ICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUHVsbC1yZXF1ZXN0IHt9IHdpdGggY2hhbmdlIHt9
IGlzIG9ic29sZXRlJy5mb3JtYXQocHJfbnVtYmVyLCBzZWxmLmdldFByb3BlcnR5KCdyZXZpc2lv
bicsICc/JykpKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgaWYgb2Jzb2xl
dGUgPT0gLTEgb3IgcHJfY2xvc2VkID09IC0xOgorICAgICAgICAgICAgc2VsZi5maW5pc2hlZChX
QVJOSU5HUykKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQog
CiAKIGNsYXNzIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlcihidWlsZHN0ZXAuQnVpbGRTdGVw
KToKQEAgLTE2MjksNyArMTc3Miw3IEBAIGNsYXNzIENvbXBpbGVXZWJLaXQoc2hlbGwuQ29tcGls
ZSk6CiAgICAgZGVmIGV2YWx1YXRlQ29tbWFuZChzZWxmLCBjbWQpOgogICAgICAgICBpZiBjbWQu
ZGlkRmFpbCgpOgogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUb0J1
aWxkJywgVHJ1ZSkKLSAgICAgICAgICAgIHN0ZXBzX3RvX2FkZCA9IFtVbkFwcGx5UGF0Y2hJZlJl
cXVpcmVkKCksIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZh
bHNlKV0KKyAgICAgICAgICAgIHN0ZXBzX3RvX2FkZCA9IFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVk
KCksIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSld
CiAgICAgICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BsYXRmb3JtJykKICAg
ICAgICAgICAgIGlmIHBsYXRmb3JtID09ICd3cGUnOgogICAgICAgICAgICAgICAgIHN0ZXBzX3Rv
X2FkZC5hcHBlbmQoSW5zdGFsbFdwZURlcGVuZGVuY2llcygpKQpAQCAtMTkwOSw5ICsyMDUyLDkg
QEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhzaGVsbC5UZXN0KToKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVl
KQogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAoW1VuQXBw
bHlQYXRjaElmUmVxdWlyZWQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxz
PUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21waWxlSlND
V2l0aG91dFBhdGNoKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxz
ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lsbE9sZFByb2Nlc3Nl
cygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnVu
SlNDVGVzdHNXaXRob3V0UGF0Y2goKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEFuYWx5emVKU0NUZXN0c1Jlc3VsdHMoKV0pCkBAIC0yMzM0LDcgKzI0
NzcsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0cyhzaGVsbC5UZXN0KToKICAgICAgICAgICAgICAg
ICBBcmNoaXZlVGVzdFJlc3VsdHMoKSwKICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0UmVzdWx0
cygpLAogICAgICAgICAgICAgICAgIEV4dHJhY3RUZXN0UmVzdWx0cygpLAotICAgICAgICAgICAg
ICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwK
KyAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFk
ZFVSTHM9RmFsc2UpLAogICAgICAgICAgICAgICAgIEtpbGxPbGRQcm9jZXNzZXMoKSwKICAgICAg
ICAgICAgICAgICBSZVJ1bldlYktpdFRlc3RzKCksCiAgICAgICAgICAgICBdKQpAQCAtMjQyOSw5
ICsyNTcyLDkgQEAgY2xhc3MgUmVSdW5XZWJLaXRUZXN0cyhSdW5XZWJLaXRUZXN0cyk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0UmVz
dWx0cyhpZGVudGlmaWVyPSdyZXJ1bicpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRXh0cmFjdFRlc3RSZXN1bHRzKGlkZW50aWZpZXI9J3JlcnVuJyks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbkFwcGx5
UGF0Y2hJZlJlcXVpcmVkKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1G
YWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
YWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsZVdlYktp
dFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZh
bHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEtpbGxPbGRQcm9jZXNzZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoKCldKQog
ICAgICAgICByZXR1cm4gcmMKQEAgLTI3NTQsNyArMjg5Nyw3IEBAIGNsYXNzIFJ1bldlYktpdFRl
c3RzUmVkVHJlZShSdW5XZWJLaXRUZXN0cyk6CiAgICAgICAgIHJjID0gc2VsZi5ldmFsdWF0ZVJl
c3VsdChjbWQpCiAgICAgICAgIG5leHRfc3RlcHMgPSBbQXJjaGl2ZVRlc3RSZXN1bHRzKCksIFVw
bG9hZFRlc3RSZXN1bHRzKCksIEV4dHJhY3RUZXN0UmVzdWx0cygpXQogICAgICAgICBpZiBmaXJz
dF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHM6Ci0gICAgICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChb
VmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxs
T2xkUHJvY2Vzc2VzKCksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlKCldKQor
ICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUnVuV2ViS2l0
VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUoKV0pCiAgICAgICAgIGVsaWYgZmlyc3RfcmVzdWx0
c19mbGFreV90ZXN0czoKICAgICAgICAgICAgIG5leHRfc3RlcHMuYXBwZW5kKEFuYWx5emVMYXlv
dXRUZXN0c1Jlc3VsdHNSZWRUcmVlKCkpCiAgICAgICAgIGVsaWYgcmMgPT0gU1VDQ0VTUyBvciBy
YyA9PSBXQVJOSU5HUzoKQEAgLTI3NzIsNyArMjkxNSw3IEBAIGNsYXNzIFJ1bldlYktpdFRlc3Rz
UmVkVHJlZShSdW5XZWJLaXRUZXN0cyk6CiAgICAgICAgICAgICBpZiByZXRyeV9jb3VudCA8IEFu
YWx5emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlLk1BWF9SRVRSWToKICAgICAgICAgICAgICAg
ICBuZXh0X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQog
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChbVW5B
cHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1
aWxkX29uX2ZhaWx1cmU9VHJ1ZSksIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNl
LCBhZGRVUkxzPUZhbHNlKSwgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQor
ICAgICAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVk
KCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVl
KSwgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwg
UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQogICAgICAgICBpZiBuZXh0X3N0
ZXBzOgogICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAobmV4
dF9zdGVwcykKICAgICAgICAgcmV0dXJuIHJjCkBAIC0yODAyLDggKzI5NDUsOCBAQCBjbGFzcyBS
dW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZShSdW5XZWJLaXRUZXN0c1JlZFRyZWUp
OgogICAgICAgICBuZXh0X3N0ZXBzID0gW0FyY2hpdmVUZXN0UmVzdWx0cygpLCBVcGxvYWRUZXN0
UmVzdWx0cyhpZGVudGlmaWVyPSdyZXBlYXQtZmFpbHVyZXMnKSwgRXh0cmFjdFRlc3RSZXN1bHRz
KGlkZW50aWZpZXI9J3JlcGVhdC1mYWlsdXJlcycpXQogICAgICAgICBpZiB3aXRoX3BhdGNoX3Jl
cGVhdF9mYWlsdXJlc19yZXN1bHRzX25vbmZsYWt5X2ZhaWx1cmVzIG9yIHdpdGhfcGF0Y2hfcmVw
ZWF0X2ZhaWx1cmVzX3RpbWVkb3V0OgogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0
Y2hGYWlsZWRUZXN0cycsIFRydWUpCi0gICAgICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChbVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xk
UHJvY2Vzc2VzKCksIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhv
dXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxz
PUZhbHNlKSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUo
KV0pCisgICAgICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChbVmFsaWRhdGVDaGFuZ2UodmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBVbkFw
cGx5UGF0Y2hJZlJlcXVpcmVkKCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVp
bGRfb25fZmFpbHVyZT1UcnVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJL
aXRUZXN0c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIG5leHRfc3RlcHMuYXBwZW5kKEFuYWx5emVMYXlvdXRUZXN0c1Jlc3Vs
dHNSZWRUcmVlKCkpCiAgICAgICAgIGlmIG5leHRfc3RlcHM6CkBAIC0zMjA2LDcgKzMzNDksNyBA
QCBjbGFzcyBSdW5BUElUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAgICAgICAgICAgICBz
ZWxmLmJ1aWxkLnJlc3VsdHMgPSBTVUNDRVNTCiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmJ1aWxk
RmluaXNoZWQoW21lc3NhZ2VdLCBTVUNDRVNTKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAg
c2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVudFN0ZXAoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSZVJ1
bkFQSVRlc3RzKCldKQorICAgICAgICAgICAgc2VsZi5idWlsZC5hZGRTdGVwc0FmdGVyQ3VycmVu
dFN0ZXAoW1ZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxz
ZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUmVSdW5BUElUZXN0cygpXSkKICAgICAgICAgcmV0dXJu
IHJjCiAKIApAQCAtMzIyMiwxNCArMzM2NSwxNCBAQCBjbGFzcyBSZVJ1bkFQSVRlc3RzKFJ1bkFQ
SVRlc3RzKToKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5pc2hlZChbbWVzc2FnZV0s
IFNVQ0NFU1MpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdw
YXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkKLSAgICAgICAgICAgIHN0ZXBzX3RvX2FkZCA9IFtVbkFw
cGx5UGF0Y2hJZlJlcXVpcmVkKCksIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNl
LCBhZGRVUkxzPUZhbHNlKV0KKyAgICAgICAgICAgIHN0ZXBzX3RvX2FkZCA9IFtVbkFwcGx5UGF0
Y2hJZlJlcXVpcmVkKCksIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRk
VVJMcz1GYWxzZSldCiAgICAgICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3Bs
YXRmb3JtJykKICAgICAgICAgICAgIGlmIHBsYXRmb3JtID09ICd3cGUnOgogICAgICAgICAgICAg
ICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoSW5zdGFsbFdwZURlcGVuZGVuY2llcygpKQogICAgICAg
ICAgICAgZWxpZiBwbGF0Zm9ybSA9PSAnZ3RrJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19h
ZGQuYXBwZW5kKEluc3RhbGxHdGtEZXBlbmRlbmNpZXMoKSkKICAgICAgICAgICAgIHN0ZXBzX3Rv
X2FkZC5hcHBlbmQoQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWls
dXJlPVRydWUpKQotICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChWYWxpZGF0ZVBhdGNo
KHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgICAgICBzdGVw
c190b19hZGQuYXBwZW5kKFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRk
VVJMcz1GYWxzZSkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEtpbGxPbGRQcm9j
ZXNzZXMoKSkKICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoUnVuQVBJVGVzdHNXaXRo
b3V0UGF0Y2goKSkKICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoQW5hbHl6ZUFQSVRl
c3RzUmVzdWx0cygpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
c191bml0dGVzdC5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3Qu
cHkKaW5kZXggZWRjYzk0ZDdkZTY5ZGEyNTI4MDQyYjNlMDU3N2EyYzJiZDY4MTlhZS4uMWY4YTk1
NTkxNTY2NzY5Y2M2YmEzOGM0NDg2NWExN2Q3MjE0YjA3MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC01Niw3ICs1Niw3IEBAIGZyb20gc3RlcHMg
aW1wb3J0IChBbmFseXplQVBJVGVzdHNSZXN1bHRzLCBBbmFseXplQ29tcGlsZVdlYktpdFJlc3Vs
dHMsIEFuYWx5emVKCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0
Y2gsIFJ1bldlYktpdFRlc3RzUmVkVHJlZSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1Jl
ZFRyZWUsIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNXaXRob3V0UGF0Y2hSZWRUcmVlLAog
ICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVkVHJlZSwgQW5h
bHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUsIFRlc3RXaXRoRmFpbHVyZUNvdW50LCBTaG93
SWRlbnRpZmllciwKICAgICAgICAgICAgICAgICAgICBUcmlnZ2VyLCBUcmFuc2ZlclRvUzMsIFVu
QXBwbHlQYXRjaElmUmVxdWlyZWQsIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksIFVwbG9hZEJ1aWx0
UHJvZHVjdCwKLSAgICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0UmVzdWx0cywgVmFsaWRhdGVD
aGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBWYWxpZGF0
ZVBhdGNoLCBWZXJpZnlHaXRIdWJJbnRlZ3JpdHkpCisgICAgICAgICAgICAgICAgICAgVXBsb2Fk
VGVzdFJlc3VsdHMsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0
ZXJBbmRSZXZpZXdlciwgVmFsaWRhdGVDaGFuZ2UsIFZlcmlmeUdpdEh1YkludGVncml0eSkKIAog
IyBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vYnVpbGRib3QvYnVpbGRib3QvaXNz
dWVzLzQ2NjkKIGZyb20gYnVpbGRib3QudGVzdC5mYWtlLmZha2VidWlsZCBpbXBvcnQgRmFrZUJ1
aWxkCkBAIC00NDg3LDcgKzQ0ODcsNyBAQCBjbGFzcyBUZXN0Q3JlYXRlTG9jYWxHSVRDb21taXQo
QnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcmV0
dXJuIHJjCiAKIAotY2xhc3MgVGVzdFZhbGlkYXRlUGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlv
bnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKK2NsYXNzIFRlc3RWYWxpZGF0ZUNoYW5nZShCdWlsZFN0
ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxm
KToKICAgICAgICAgcmV0dXJuIHNlbGYuc2V0VXBCdWlsZFN0ZXAoKQogCkBAIC00NTA2LDcgKzQ1
MDYsNyBAQCBjbGFzcyBUZXN0VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywg
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICAgInN1bW1hcnkiOiAie30i
fX0nJycuZm9ybWF0KG9ic29sZXRlLCB0aXRsZSkpCiAKICAgICBkZWYgdGVzdF9za2lwcGVkKHNl
bGYpOgotICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNl
bGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKCkpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHko
J3BhdGNoX2lkJywgJzEyMzQnKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdidWdfaWQnLCAn
NTY3OCcpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NraXBfdmFsaWRhdGlvbicsIFRydWUp
CkBAIC00NTE0LDggKzQ1MTQsOCBAQCBjbGFzcyBUZXN0VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBN
aXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4gc2VsZi5y
dW5TdGVwKCkKIAogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6Ci0gICAgICAgIHNlbGYuc2V0
dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAgICAgVmFs
aWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRf
cGF0Y2goKQorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdD
bG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9IGxh
bWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2goKQogICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdwYXRjaF9pZCcsICc0MjU4MDYnKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVz
dWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIHBhdGNoJykKICAgICAgICAgcmMg
PSBzZWxmLnJ1blN0ZXAoKQpAQCAtNDUyMyw4ICs0NTIzLDggQEAgY2xhc3MgVGVzdFZhbGlkYXRl
UGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgcmV0dXJuIHJjCiAKICAgICBkZWYgdGVzdF9vYnNvbGV0ZV9wYXRjaChzZWxmKToKLSAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQot
ICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lk
OiBzZWxmLmdldF9wYXRjaChvYnNvbGV0ZT0xKQorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5n
ZS5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2gob2Jz
b2xldGU9MSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1ODA2JykK
ICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1GQUlMVVJFLCBzdGF0ZV9zdHJpbmc9
J1BhdGNoIDQyNTgwNiBpcyBvYnNvbGV0ZScpCiAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkK
QEAgLTQ1MzQsOCArNDUzNCw4IEBAIGNsYXNzIFRlc3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1p
eGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfZmFzdF9jcV9w
YXRjaGVzX3RyaWdnZXJfZmFzdF9jcV9tb2RlKHNlbGYpOgogICAgICAgICBmYXN0X2NxX3BhdGNo
X3RpdGxlcyA9ICgnUkVWRVJUIE9GIHIxMjM0JywgJ3JldmVydCBvZiByMTIzNCcsICdbZmFzdC1j
cV1QYXRjaCcsICdbRkFTVC1jcV0gcGF0Y2gnLCAnZmFzdC1jcS1wYXRjaCcsICdGQVNULUNRIFBh
dGNoJykKICAgICAgICAgZm9yIGZhc3RfY3FfcGF0Y2hfdGl0bGUgaW4gZmFzdF9jcV9wYXRjaF90
aXRsZXM6Ci0gICAgICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1
Z0Nsb3NlZD1GYWxzZSkpCi0gICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29u
ID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0X2NxX3BhdGNo
X3RpdGxlKQorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRjaF9q
c29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0X2NxX3Bh
dGNoX3RpdGxlKQogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1
ODA2JykKICAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3Rh
dGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQogICAgICAgICAgICAgcmMgPSBzZWxmLnJ1blN0
ZXAoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448588</attachid>
            <date>2022-01-07 07:35:40 -0800</date>
            <delta_ts>2022-01-07 08:27:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220107073539.patch</filename>
            <type>text/plain</type>
            <size>28230</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NzQ0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGFhZTI4N2EwYzVmZGJiNTY1ZTYzZDMwZGY5YWZjYjI3
NWMxMjdkNy4uZjNlZjM2YTY4YTk0YjNlMDVkZDI4NDk1ZDZlNDg4MTJkOTJhZDBmMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIyLTAxLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHk6CisgICAgICAgIChHaXRIdWJNaXhpbi5wcl91cmwpOiBNYXAgcHVsbC1yZXF1ZXN0IG51bWJl
ciB0byBVUkwuCisgICAgICAgIChHaXRIdWJNaXhpbi5hcGlfdXJsKTogQ29udmVydCBVUkwgdG8g
QVBJIHVybC4KKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKTog
Q2hlY2sgaWYgdGhlIGV2ZW50IHRyaWdnZXJpbmcKKyAgICAgICAgdGhpcyB3YXMgYSBwdWxsX3Jl
cXVlc3QsIGFuZCB0aGUgc3BlY2lmaWVkIGJyYW5jaCBjYW4gYmUgbWFwcGVkIHRvIGEKKyAgICAg
ICAgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoR2l0SHViTWl4aW4uY3JlZGVudGlhbHMpOiBBY2Nl
c3MgR2l0SHViIGNyZWRlbnRpYWxzLgorICAgICAgICAoR2l0SHViTWl4aW4uZmV0Y2hfZGF0YV9m
cm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKToKKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9w
cl9qc29uKTogR2V0IHB1bGwtcmVxdWVzdCBKU09OIGZyb20gR2l0SHViLgorICAgICAgICAoR2l0
SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGhhcyBhbHJl
YWR5IGJlZW4gY2xvc2VkLgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENo
ZWNrIGlmIHRoZSBzcGVjaWZpYyBob29rIGlzIG9ic29sZXRlLgorICAgICAgICAoVmFsaWRhdGVD
aGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRjaC4KKyAgICAgICAgKFZhbGlkYXRlQ2hh
bmdlLnN0YXJ0KTogU2VwZXJhdGUgQnVnemlsbGEgYW5kIEdpdEh1YiBjaGVja3MuCisgICAgICAg
IChWYWxpZGF0ZUNoYW5nZS52YWxpZGF0ZV9idWd6aWxsYSk6CisgICAgICAgIChWYWxpZGF0ZUNo
YW5nZS52YWxpZGF0ZV9naXRodWIpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5ldmFsdWF0ZUNv
bW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNoYW5nZS4KKyAgICAgICAg
KFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAg
IChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFJlUnVu
V2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAg
ICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgorICAgICAgICAoUmVSdW5B
UElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFZhbGlkYXRlUGF0Y2gp
OiBSZW5hbWVkIHRvIFZhbGlkYXRlUGF0Y2guCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weTogUmVuYW1lIFZhbGlkYXRlUGF0Y2ggdG8gVmFsaWRhdGVDaGFu
Z2UuCisKIDIwMjItMDEtMDYgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dMSUJdIE1ha2UgQVBJIHRlc3QgaW5pdGlhbGl6ZSBsb2NhbHN0b3JhZ2UgdG8gZW5z
dXJlIHRoZSBkYXRhYmFzZSBmaWxlIGlzIGNyZWF0ZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9m
YWN0b3JpZXMucHkKaW5kZXggZWY5ZDEyYzFiNTg5OWRhYTc5MThhMDU1Yzc5OTViYmMzMjlhN2Nl
Ni4uYjk3NzFlYmIxZDc5YWYxOTRkZjVkY2M4ZTAyNGM1YTg1NDc4Zjg5ZiAxMDA2NDQKLS0tIGEv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKKysrIGIvVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKQEAgLTMyLDcgKzMyLDcgQEAgZnJvbSBzdGVwcyBp
bXBvcnQgKEFwcGx5UGF0Y2gsIEFwcGx5V2F0Y2hMaXN0LCBDaGVja091dFNvdXJjZSwgQ2hlY2tP
dXRTcGVjaWZpY1IKICAgICAgICAgICAgICAgICAgICBSdW5FV1NVbml0VGVzdHMsIFJ1blJlc3Vs
dHNkYnB5VGVzdHMsIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMsIFJ1bldlYktpdDFUZXN0cywgUnVu
V2ViS2l0UGVybFRlc3RzLCBSdW5XZWJLaXRQeVB5dGhvbjJUZXN0cywKICAgICAgICAgICAgICAg
ICAgICBSdW5XZWJLaXRQeVB5dGhvbjNUZXN0cywgUnVuV2ViS2l0VGVzdHMsIFJ1bldlYktpdFRl
c3RzUmVkVHJlZSwgUnVuV2ViS2l0VGVzdHNJblN0cmVzc01vZGUsIFJ1bldlYktpdFRlc3RzSW5T
dHJlc3NHdWFyZG1hbGxvY01vZGUsCiAgICAgICAgICAgICAgICAgICAgU2V0QnVpbGRTdW1tYXJ5
LCBTaG93SWRlbnRpZmllciwgVHJpZ2dlckNyYXNoTG9nU3VibWlzc2lvbiwgVXBkYXRlV29ya2lu
Z0RpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLCBWYWxpZGF0ZUNo
YW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JD
cmFzaENvbGxlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UsIFZhbGlk
YXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2Fp
dEZvckNyYXNoQ29sbGVjdGlvbiwKICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQnVpbHRQcm9k
dWN0LCBWZXJpZnlHaXRIdWJJbnRlZ3JpdHkpCiAKIApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBG
YWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChD
aGVja1BhdGNoUmVsZXZhbmNlKCkpCiAgICAgICAgIGlmIHNlbGYuZmluZE1vZGlmaWVkTGF5b3V0
VGVzdHM6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoRmluZE1vZGlmaWVkTGF5b3V0VGVzdHMo
KSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChQcmludENvbmZp
Z3VyYXRpb24oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCiAgICAg
ICAgICMgQ2hlY2tPdXRTb3VyY2Ugc3RlcCBwdWxscyB0aGUgbGF0ZXN0IHJldmlzaW9uLCBzaW5j
ZSB3ZSB1c2UgYWx3YXlzVXNlTGF0ZXN0PVRydWUuIFdpdGhvdXQgYWx3YXlzVXNlTGF0ZXN0IEJ1
aWxkYm90IHdpbGwKQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgU3R5bGVGYWN0b3J5KGZhY3Rvcnku
QnVpbGRGYWN0b3J5KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5v
bmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5
LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmln
dXJlQnVpbGQocGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwg
YXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRy
aWdnZXJzLCByZW1vdGVzPXJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFy
Z3VtZW50cykpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAg
IHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJp
bnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgp
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRmV0Y2hCcmFuY2hlcygpKQpAQCAtNzYsNyArNzYsNyBA
QCBjbGFzcyBXYXRjaExpc3RGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhz
ZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMs
IGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAo
RmV0Y2hCcmFuY2hlcygpKQpAQCAtMjQwLDcgKzI0MCw3IEBAIGNsYXNzIFdpbmRvd3NGYWN0b3J5
KEZhY3RvcnkpOgogICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtPXBsYXRm
b3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0
dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10cmlnZ2VycywgYWRkaXRpb25hbEFyZ3Vt
ZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzLCBjaGVja1JlbGV2YW5jZT1UcnVlKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29t
cGlsZVdlYktpdChza2lwVXBsb2FkPVRydWUpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRh
dGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQorICAgICAgICBz
ZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxz
PUZhbHNlKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bldlYktpdDFUZXN0cygpKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoU2V0QnVpbGRTdW1tYXJ5KCkpCiAKQEAgLTI4Miw3ICsyODIsNyBAQCBj
bGFzcyBDb21taXRRdWV1ZUZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVz
PU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0
b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29u
ZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlv
biwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJz
PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1l
bnRzKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5Y3FwbHVzPVRy
dWUpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5Y3FwbHVzPVRy
dWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChQcmludENvbmZpZ3VyYXRpb24oKSkKICAgICAgICAgc2Vs
Zi5hZGRTdGVwKENsZWFuR2l0UmVwbygpKQpAQCAtMjk3LDEwICsyOTcsMTAgQEAgY2xhc3MgQ29t
bWl0UXVldWVGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICAgICAgc2VsZi5hZGRT
dGVwKEtpbGxPbGRQcm9jZXNzZXMoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJL
aXQoc2tpcFVwbG9hZD1UcnVlKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKEtpbGxPbGRQcm9jZXNz
ZXMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwg
dmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2Uo
YWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAo
Q2hlY2tQYXRjaFN0YXR1c09uRVdTUXVldWVzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5X
ZWJLaXRUZXN0cygpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaChhZGRVUkxz
PUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZUNoYW5nZShhZGRVUkxzPUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChDaGVja091dFNvdXJjZShyZXBvdXJsPSdodHRwczovL2dpdC53ZWJraXQub3JnL2dp
dC9XZWJLaXQtaHR0cHMnKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFNob3dJZGVudGlmaWVyKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChVcGRhdGVXb3JraW5nRGlyZWN0b3J5KCkpCmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0
L2V3cy1idWlsZC9zdGVwcy5weQppbmRleCA0MmVlMjZhNGZhNWM3OGFiYWI1NThhZmQ2ZmU5MDgz
MmExM2I1YTY2Li4zNTc1ZjI2MWY3MDczMGRhODUwZjRmMTVmMDQ3NTJkNDQ0ZmQ3NTgwIDEwMDY0
NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKQEAgLTcyLDEyICs3MiwyNiBAQCBjbGFzcyBCdWZm
ZXJMb2dIZWFkZXJPYnNlcnZlcihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcik6CiAKIAog
Y2xhc3MgR2l0SHViTWl4aW4ob2JqZWN0KToKKyAgICBhZGRVUkxzID0gRmFsc2UKKyAgICBwcl9v
cGVuX3N0YXRlcyA9IFsnb3BlbiddCisgICAgcHJfY2xvc2VkX3N0YXRlcyA9IFsnY2xvc2VkJ10K
KwogICAgIGRlZiBwcl91cmwoc2VsZiwgcHJfbnVtYmVyPU5vbmUpOgogICAgICAgICBwcl9udW1i
ZXIgPSBwcl9udW1iZXIgb3Igc2VsZi5nZXRfcHVsbF9yZXF1ZXN0X251bWJlcigpCiAgICAgICAg
IGlmIG5vdCBwcl9udW1iZXI6CiAgICAgICAgICAgICByZXR1cm4gJycKICAgICAgICAgcmV0dXJu
ICd7fS9wdWxsL3t9Jy5mb3JtYXQoc2VsZi5nZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScsICctJyks
IHByX251bWJlcikKIAorICAgIGRlZiBhcGlfdXJsKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2Vs
Zi5nZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScsICcnKToKKyAgICAgICAgICAgIHByaW50KCdGYWls
ZWQgdG8gZGV0ZXJtaW5lIHJlcG9zaXRvcnkgVVJMJykKKyAgICAgICAgICAgIHNlbGYuX2FkZFRv
TG9nKCdzdGRpbycsICdGYWlsZWQgdG8gZGV0ZXJtaW5lIHJlcG9zaXRvcnkgVVJMLlxuJykKKyAg
ICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgXywgdXJsX2Jhc2UgPSBzZWxmLmdldFBy
b3BlcnR5KCdyZXBvc2l0b3J5Jykuc3BsaXQoJzovLycsIDEpCisgICAgICAgIGhvc3QsIHBhdGgg
PSB1cmxfYmFzZS5zcGxpdCgnLycsIDEpCisgICAgICAgIHJldHVybiAnaHR0cHM6Ly9hcGkue30v
cmVwb3Mve30nLmZvcm1hdChob3N0LCBwYXRoKQorCiAgICAgZGVmIGdldF9wdWxsX3JlcXVlc3Rf
bnVtYmVyKHNlbGYpOgogICAgICAgICBwcl9udW1iZXIgPSBzZWxmLmdldFByb3BlcnR5KCdwdWxs
X3JlcXVlc3QnKQogICAgICAgICBpZiBwcl9udW1iZXI6CkBAIC05NSw4ICsxMDksODQgQEAgY2xh
c3MgR2l0SHViTWl4aW4ob2JqZWN0KToKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncHVsbF9y
ZXF1ZXN0JywgcHJfbnVtYmVyKQogICAgICAgICByZXR1cm4gcHJfbnVtYmVyCiAKKyAgICBkZWYg
Y3JlZGVudGlhbHMoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBhc3N3b3JkcyA9
IGpzb24ubG9hZChvcGVuKCdwYXNzd29yZHMuanNvbicpKQorICAgICAgICAgICAgcmV0dXJuIHBh
c3N3b3Jkcy5nZXQoJ0dJVEhVQl9DT01fVVNFUk5BTUUnLCBOb25lKSwgcGFzc3dvcmRzLmdldCgn
R0lUSFVCX0NPTV9UT0tFTicsIE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToK
KyAgICAgICAgICAgIHByaW50KCdFcnJvciByZWFkaW5nIEdpdEh1YiBhcGkga2V5JykKKyAgICAg
ICAgICAgIHJldHVybiBOb25lLCBOb25lCisKKyAgICBkZWYgZmV0Y2hfZGF0YV9mcm9tX3VybF93
aXRoX2F1dGhlbnRpY2F0aW9uKHNlbGYsIHVybCk6CisgICAgICAgIHJlc3BvbnNlID0gTm9uZQor
ICAgICAgICB0cnk6CisgICAgICAgICAgICB1c2VybmFtZSwgYWNjZXNzX3Rva2VuID0gc2VsZi5j
cmVkZW50aWFscygpCisgICAgICAgICAgICBhdXRoID0gSFRUUEJhc2ljQXV0aCh1c2VybmFtZSwg
YWNjZXNzX3Rva2VuKSBpZiB1c2VybmFtZSBhbmQgYWNjZXNzX3Rva2VuIGVsc2UgTm9uZQorICAg
ICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoCisgICAgICAgICAgICAgICAgdXJsLCB0
aW1lb3V0PTYwLCBhdXRoPWF1dGgsCisgICAgICAgICAgICAgICAgaGVhZGVycz1kaWN0KEFjY2Vw
dD0nYXBwbGljYXRpb24vdm5kLmdpdGh1Yi52Mytqc29uJyksCisgICAgICAgICAgICApCisgICAg
ICAgICAgICBpZiByZXNwb25zZS5zdGF0dXNfY29kZSAhPSAyMDA6CisgICAgICAgICAgICAgICAg
c2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0FjY2Vzc2VkIHt1cmx9IHdpdGggdW5leHBlY3RlZCBz
dGF0dXMgY29kZSB7c3RhdHVzX2NvZGV9LlxuJy5mb3JtYXQodXJsPXVybCwgc3RhdHVzX2NvZGU9
cmVzcG9uc2Uuc3RhdHVzX2NvZGUpKQorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICMgQ2F0Y2hpbmcgYWxsIGV4
Y2VwdGlvbnMgaGVyZSB0byBzYWZlZ3VhcmQgYXBpIGtleS4KKyAgICAgICAgICAgIHNlbGYuX2Fk
ZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gYWNjZXNzIHt1cmx9LlxuJy5mb3JtYXQodXJsPXVy
bCkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcmVzcG9uc2UKKwor
ICAgIGRlZiBnZXRfcHJfanNvbihzZWxmLCBwdWxsX3JlcXVlc3QpOgorICAgICAgICBpZiBub3Qg
c2VsZi5hcGlfdXJsKCk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHByX3Vy
bCA9ICd7fS9wdWxscy97fScuZm9ybWF0KHNlbGYuYXBpX3VybCgpLCBwdWxsX3JlcXVlc3QpCisg
ICAgICAgIGNvbnRlbnQgPSBzZWxmLmZldGNoX2RhdGFfZnJvbV91cmxfd2l0aF9hdXRoZW50aWNh
dGlvbihwcl91cmwpCisgICAgICAgIGlmIG5vdCBjb250ZW50OgorICAgICAgICAgICAgcmV0dXJu
IE5vbmUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcHJfanNvbiA9IGNvbnRlbnQuanNvbigp
CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50KCdGYWls
ZWQgdG8gcHVsbC1yZXF1ZXN0IGZyb20ge30sIGVycm9yOiB7fScuZm9ybWF0KHByX3VybCwgZSkp
CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBub3QgcHJfanNvbiBvciBsZW4o
cHJfanNvbikgPT0gMDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBw
cl9qc29uCisKKyAgICBkZWYgX2lzX3ByX2Nsb3NlZChzZWxmLCBwdWxsX3JlcXVlc3QpOgorICAg
ICAgICBpZiBub3QgcHVsbF9yZXF1ZXN0OgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0
ZGlvJywgJ1NraXBwaW5nIHB1bGwtcmVxdWVzdCBzdGF0dXMgdmFsaWRhdGlvbiBzaW5jZSBwdWxs
LXJlcXVlc3QgaXMgTm9uZS5cbicpCisgICAgICAgICAgICByZXR1cm4gLTEKKworICAgICAgICBw
cl9qc29uID0gc2VsZi5nZXRfcHJfanNvbihwdWxsX3JlcXVlc3QpCisgICAgICAgIGlmIG5vdCBw
cl9qc29uIG9yIG5vdCBwcl9qc29uLmdldCgnc3RhdGUnKToKKyAgICAgICAgICAgIHNlbGYuX2Fk
ZFRvTG9nKCdzdGRpbycsICdVbmFibGUgdG8gZmV0Y2ggcHVsbC1yZXF1ZXN0IHt9LlxuJy5mb3Jt
YXQocHVsbF9yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIHByX3Rp
dGxlID0gcHJfanNvbi5nZXQoJ3RpdGxlJykKKyAgICAgICAgIyBGSVhNRTogYnVnX3RpdGxlIGlz
IHRvbyBzcGVjaWZpYyB0byBidWd6aWxsYQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdidWdf
dGl0bGUnLCBwcl90aXRsZSkKKyAgICAgICAgaWYgc2VsZi5hZGRVUkxzOgorICAgICAgICAgICAg
IyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFibGUgdG8gZXh0cmFjdCBidWd6aWxsYSBhbmQgcmFkYXIg
aGVyZQorICAgICAgICAgICAgc2VsZi5hZGRVUkwoJ1tQUiB7fV0ge30nLmZvcm1hdChwdWxsX3Jl
cXVlc3QsIHByX3RpdGxlKSwgc2VsZi5wcl91cmwocHJfbnVtYmVyPXB1bGxfcmVxdWVzdCkpCisg
ICAgICAgIGlmIHByX2pzb24uZ2V0KCdzdGF0ZScpIGluIHNlbGYucHJfY2xvc2VkX3N0YXRlczoK
KyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIHJldHVybiAwCiAKLWNsYXNzIENvbmZpZ3Vy
ZUJ1aWxkKGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEdpdEh1Yk1peGluKToKKyAgICBkZWYgX2lzX3By
X29ic29sZXRlKHNlbGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIHByX2pzb24gPSBzZWxmLmdl
dF9wcl9qc29uKHB1bGxfcmVxdWVzdCkKKyAgICAgICAgaWYgbm90IHByX2pzb246CisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnVW5hYmxlIHRvIGZldGNoIHB1bGwgcmVxdWVz
dCB7fS5cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gLTEKKwor
ICAgICAgICBoZWFkID0gcHJfanNvbi5nZXQoJ2hlYWQnLCB7fSkuZ2V0KCdzaGEnLCAnJykKKyAg
ICAgICAgaWYgbm90IGhlYWQ6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAn
RmFpbGVkIHRvIGZldGNoIGhhc2ggb2YgcHVsbCByZXF1ZXN0IHt9XG4nLmZvcm1hdChwdWxsX3Jl
cXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAgcmV0dXJuIGhlYWQgIT0g
c2VsZi5nZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnPycpCisKKworY2xhc3MgQ29uZmlndXJlQnVp
bGQoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAgbmFtZSA9ICdjb25maWd1cmUtYnVpbGQnCiAg
ICAgZGVzY3JpcHRpb24gPSBbJ2NvbmZpZ3VyaW5nIGJ1aWxkJ10KICAgICBkZXNjcmlwdGlvbkRv
bmUgPSBbJ0NvbmZpZ3VyZWQgYnVpbGQnXQpAQCAtODgwLDEwICs5NzAsMTAgQEAgY2xhc3MgQnVn
emlsbGFNaXhpbihvYmplY3QpOgogICAgICAgICByZXR1cm4gU1VDQ0VTUwogCiAKLWNsYXNzIFZh
bGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6Ci0gICAgbmFt
ZSA9ICd2YWxpZGF0ZS1wYXRjaCcKLSAgICBkZXNjcmlwdGlvbiA9IFsndmFsaWRhdGUtcGF0Y2gg
cnVubmluZyddCi0gICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQgcGF0Y2gnXQorY2xh
c3MgVmFsaWRhdGVDaGFuZ2UoYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbiwgR2l0
SHViTWl4aW4pOgorICAgIG5hbWUgPSAndmFsaWRhdGUtY2hhbmdlJworICAgIGRlc2NyaXB0aW9u
ID0gWyd2YWxpZGF0ZS1jaGFuZ2UgcnVubmluZyddCisgICAgZGVzY3JpcHRpb25Eb25lID0gWydW
YWxpZGF0ZWQgY2hhbmdlJ10KICAgICBmbHVua09uRmFpbHVyZSA9IFRydWUKICAgICBoYWx0T25G
YWlsdXJlID0gVHJ1ZQogCkBAIC04OTgsNyArOTg4LDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChi
dWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3Vt
bWFyeShzZWxmKToKICAgICAgICAgaWYgc2VsZi5yZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAg
ICAgICByZXR1cm4geydzdGVwJzogc2VsZi5kZXNjcmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVy
biBzdXBlcihWYWxpZGF0ZVBhdGNoLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAg
cmV0dXJuIHN1cGVyKFZhbGlkYXRlQ2hhbmdlLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAog
ICAgIGRlZiBkb1N0ZXBJZihzZWxmLCBzdGVwKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdl
dFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBGYWxzZSkKQEAgLTkxMiw1NCArMTAwMiw4MSBA
QCBjbGFzcyBWYWxpZGF0ZVBhdGNoKGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEJ1Z3ppbGxhTWl4aW4p
OgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgogICAgICAgICBwYXRjaF9pZCA9IHNlbGYuZ2V0UHJv
cGVydHkoJ3BhdGNoX2lkJywgJycpCi0gICAgICAgIGlmIG5vdCBwYXRjaF9pZDoKLSAgICAgICAg
ICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdObyBwYXRjaF9pZCBmb3VuZC4gVW5hYmxlIHRv
IHByb2NlZWQgd2l0aG91dCBwYXRjaF9pZC5cbicpCi0gICAgICAgICAgICBzZWxmLmRlc2NyaXB0
aW9uRG9uZSA9ICdObyBwYXRjaCBpZCBmb3VuZCcKKyAgICAgICAgcHJfbnVtYmVyID0gc2VsZi5n
ZXRfcHVsbF9yZXF1ZXN0X251bWJlcigpCisKKyAgICAgICAgaWYgbm90IHBhdGNoX2lkIGFuZCBu
b3QgcHJfbnVtYmVyOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ05vIHBh
dGNoX2lkIG9yIHByX251bWJlciBmb3VuZC4gVW5hYmxlIHRvIHByb2NlZWQgd2l0aG91dCBvbmUg
b2YgdGhlbS5cbicpCisgICAgICAgICAgICBzZWxmLmRlc2NyaXB0aW9uRG9uZSA9ICdObyBjaGFu
Z2UgZm91bmQnCiAgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKEZBSUxVUkUpCiAgICAgICAgICAg
ICByZXR1cm4gTm9uZQogCisgICAgICAgIGlmIHBhdGNoX2lkIGFuZCBub3Qgc2VsZi52YWxpZGF0
ZV9idWd6aWxsYSgpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgaWYgcHJfbnVt
YmVyIGFuZCBub3Qgc2VsZi52YWxpZGF0ZV9naXRodWIoKToKKyAgICAgICAgICAgIHJldHVybiBO
b25lCisKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQ6CisgICAgICAgICAgICBzZWxm
Ll9hZGRUb0xvZygnc3RkaW8nLCAnQnVnIGlzIG9wZW4uXG4nKQorICAgICAgICBpZiBzZWxmLnZl
cmlmeU9ic29sZXRlOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0NoYW5n
ZSBpcyBub3Qgb2Jzb2xldGUuXG4nKQorICAgICAgICBpZiBzZWxmLnZlcmlmeVJldmlld0Rlbmll
ZDoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaGFzIG5vdCBi
ZWVuIGRlbmllZC5cbicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5Y3FwbHVzOgorICAgICAgICAg
ICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0NoYW5nZSBpcyBpbiBjb21taXQgcXVldWUuXG4n
KQorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0NoYW5nZSBoYXMgYmVlbiBy
ZXZpZXdlZC5cbicpCisgICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VTUykKKyAgICAgICAgcmV0
dXJuIE5vbmUKKworICAgIGRlZiB2YWxpZGF0ZV9idWd6aWxsYShzZWxmKToKICAgICAgICAgYnVn
X2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgnYnVnX2lkJywgJycpIG9yIHNlbGYuZ2V0X2J1Z19pZF9m
cm9tX3BhdGNoKHBhdGNoX2lkKQogCiAgICAgICAgIGJ1Z19jbG9zZWQgPSBzZWxmLl9pc19idWdf
Y2xvc2VkKGJ1Z19pZCkgaWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQgZWxzZSAwCiAgICAgICAgIGlm
IGJ1Z19jbG9zZWQgPT0gMToKICAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnQnVnIHt9IGlz
IGFscmVhZHkgY2xvc2VkJy5mb3JtYXQoYnVnX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25l
CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBvYnNvbGV0ZSA9IHNlbGYuX2lz
X3BhdGNoX29ic29sZXRlKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeU9ic29sZXRlIGVsc2UgMAog
ICAgICAgICBpZiBvYnNvbGV0ZSA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQ
YXRjaCB7fSBpcyBvYnNvbGV0ZScuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICByZXZpZXdfZGVuaWVk
ID0gc2VsZi5faXNfcGF0Y2hfcmV2aWV3X2RlbmllZChwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnlS
ZXZpZXdEZW5pZWQgZWxzZSAwCiAgICAgICAgIGlmIHJldmlld19kZW5pZWQgPT0gMToKICAgICAg
ICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUGF0Y2gge30gaXMgbWFya2VkIHItJy5mb3JtYXQocGF0
Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogCiAgICAgICAgIGNxX3BsdXMgPSBzZWxmLl9pc19wYXRjaF9jcV9wbHVzKHBhdGNoX2lkKSBp
ZiBzZWxmLnZlcmlmeWNxcGx1cyBlbHNlIDEKICAgICAgICAgaWYgY3FfcGx1cyAhPSAxOgogICAg
ICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQYXRjaCB7fSBpcyBub3QgbWFya2VkIGNxKy4nLmZv
cm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCiAKICAgICAgICAgYWNjZXB0YWJsZV9yZXZpZXdfZmxhZyA9IHNlbGYuX2RvZXNf
cGF0Y2hfaGF2ZV9hY2NlcHRhYmxlX3Jldmlld19mbGFnKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlm
eWNxcGx1cyBlbHNlIDEKICAgICAgICAgaWYgYWNjZXB0YWJsZV9yZXZpZXdfZmxhZyAhPSAxOgog
ICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQYXRjaCB7fSBkb2VzIG5vdCBoYXZlIGFjY2Vw
dGFibGUgcmV2aWV3IGZsYWcuJy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJu
IE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIGlmIG9ic29sZXRlID09
IC0xIG9yIHJldmlld19kZW5pZWQgPT0gLTEgb3IgYnVnX2Nsb3NlZCA9PSAtMToKICAgICAgICAg
ICAgIHNlbGYuZmluaXNoZWQoV0FSTklOR1MpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgaWYg
c2VsZi52ZXJpZnlCdWdDbG9zZWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnQnVnIGlzIG9wZW4uXG4nKQotICAgICAgICBpZiBzZWxmLnZlcmlmeU9ic29sZXRlOgotICAg
ICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG5vdCBvYnNvbGV0ZS5c
bicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkOgotICAgICAgICAgICAgc2Vs
Zi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG5vdCBtYXJrZWQgci0uXG4nKQotICAgICAg
ICBpZiBzZWxmLnZlcmlmeWNxcGx1czoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRp
bycsICdQYXRjaCBpcyBtYXJrZWQgY3ErLlxuJykKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdQYXRjaCBoYXZlIGFjY2VwdGFibGUgcmV2aWV3IGZsYWcuXG4nKQotICAgICAg
ICBzZWxmLmZpbmlzaGVkKFNVQ0NFU1MpCi0gICAgICAgIHJldHVybiBOb25lCisgICAgZGVmIHZh
bGlkYXRlX2dpdGh1YihzZWxmKToKKyAgICAgICAgcHJfbnVtYmVyID0gc2VsZi5nZXRfcHVsbF9y
ZXF1ZXN0X251bWJlcigpCisKKyAgICAgICAgcHJfY2xvc2VkID0gc2VsZi5faXNfcHJfY2xvc2Vk
KHByX251bWJlcikgaWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQgZWxzZSAwCisgICAgICAgIGlmIHBy
X2Nsb3NlZCA9PSAxOgorICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQdWxsLXJlcXVlc3Qg
e30gaXMgYWxyZWFkeSBjbG9zZWQnLmZvcm1hdChwcl9udW1iZXIpKQorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCisKKyAgICAgICAgb2Jzb2xldGUgPSBzZWxmLl9pc19wcl9vYnNvbGV0ZShwcl9u
dW1iZXIpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUgZWxzZSAwCisgICAgICAgIGlmIG9ic29sZXRl
ID09IDE6CisgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1B1bGwtcmVxdWVzdCB7fSB3aXRo
IGNoYW5nZSB7fSBpcyBvYnNvbGV0ZScuZm9ybWF0KHByX251bWJlciwgc2VsZi5nZXRQcm9wZXJ0
eSgncmV2aXNpb24nLCAnPycpKSkKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAg
IGlmIG9ic29sZXRlID09IC0xIG9yIHByX2Nsb3NlZCA9PSAtMToKKyAgICAgICAgICAgIHNlbGYu
ZmluaXNoZWQoV0FSTklOR1MpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0
dXJuIFRydWUKIAogCiBjbGFzcyBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoYnVpbGRzdGVw
LkJ1aWxkU3RlcCk6CkBAIC0xNjYzLDcgKzE3ODAsNyBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNo
ZWxsLkNvbXBpbGUpOgogICAgIGRlZiBldmFsdWF0ZUNvbW1hbmQoc2VsZiwgY21kKToKICAgICAg
ICAgaWYgY21kLmRpZEZhaWwoKToKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNo
RmFpbGVkVG9CdWlsZCcsIFRydWUpCi0gICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBs
eVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwg
YWRkVVJMcz1GYWxzZSldCisgICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNo
SWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVS
THM9RmFsc2UpXQogICAgICAgICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0
Zm9ybScpCiAgICAgICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd3BlJzoKICAgICAgICAgICAgICAg
ICBzdGVwc190b19hZGQuYXBwZW5kKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMoKSkKQEAgLTE5NDMs
OSArMjA2MCw5IEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMoc2hlbGwuVGVzdCk6CiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRl
c3RzJywgVHJ1ZSkKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRT
dGVwKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxz
ZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Q29tcGlsZUpTQ1dpdGhvdXRQYXRjaCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFk
ZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNl
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtpbGxP
bGRQcm9jZXNzZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFJ1bkpTQ1Rlc3RzV2l0aG91dFBhdGNoKCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBBbmFseXplSlNDVGVzdHNSZXN1bHRzKCldKQpAQCAt
MjM2OCw3ICsyNDg1LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHMoc2hlbGwuVGVzdCk6CiAgICAg
ICAgICAgICAgICAgQXJjaGl2ZVRlc3RSZXN1bHRzKCksCiAgICAgICAgICAgICAgICAgVXBsb2Fk
VGVzdFJlc3VsdHMoKSwKICAgICAgICAgICAgICAgICBFeHRyYWN0VGVzdFJlc3VsdHMoKSwKLSAg
ICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJM
cz1GYWxzZSksCisgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2Vk
PUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2Vz
KCksCiAgICAgICAgICAgICAgICAgUmVSdW5XZWJLaXRUZXN0cygpLAogICAgICAgICAgICAgXSkK
QEAgLTI0NjMsOSArMjU4MCw5IEBAIGNsYXNzIFJlUnVuV2ViS2l0VGVzdHMoUnVuV2ViS2l0VGVz
dHMpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBs
b2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVydW4nKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVy
PSdyZXJ1bicpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2Us
IGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZh
bHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENv
bXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0
Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1
Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQ
YXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCkBAIC0yNzg4LDcgKzI5MDUsNyBAQCBjbGFzcyBS
dW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0VGVzdHMpOgogICAgICAgICByYyA9IHNlbGYu
ZXZhbHVhdGVSZXN1bHQoY21kKQogICAgICAgICBuZXh0X3N0ZXBzID0gW0FyY2hpdmVUZXN0UmVz
dWx0cygpLCBVcGxvYWRUZXN0UmVzdWx0cygpLCBFeHRyYWN0VGVzdFJlc3VsdHMoKV0KICAgICAg
ICAgaWYgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzOgotICAgICAgICAgICAgbmV4dF9zdGVw
cy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZh
bHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVk
VHJlZSgpXSkKKyAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2
ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCks
IFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlKCldKQogICAgICAgICBlbGlmIGZp
cnN0X3Jlc3VsdHNfZmxha3lfdGVzdHM6CiAgICAgICAgICAgICBuZXh0X3N0ZXBzLmFwcGVuZChB
bmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQogICAgICAgICBlbGlmIHJjID09IFNV
Q0NFU1Mgb3IgcmMgPT0gV0FSTklOR1M6CkBAIC0yODA2LDcgKzI5MjMsNyBAQCBjbGFzcyBSdW5X
ZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgaWYgcmV0cnlf
Y291bnQgPCBBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZS5NQVhfUkVUUlk6CiAgICAg
ICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1Jl
ZFRyZWUoKSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5l
eHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRj
aChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVk
VHJlZSgpXSkKKyAgICAgICAgICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChbVW5BcHBseVBhdGNo
SWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2Zh
aWx1cmU9VHJ1ZSksIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJM
cz1GYWxzZSksIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKICAgICAgICAg
aWYgbmV4dF9zdGVwczoKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJl
bnRTdGVwKG5leHRfc3RlcHMpCiAgICAgICAgIHJldHVybiByYwpAQCAtMjgzNiw4ICsyOTUzLDgg
QEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUoUnVuV2ViS2l0VGVz
dHNSZWRUcmVlKToKICAgICAgICAgbmV4dF9zdGVwcyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwg
VXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVwZWF0LWZhaWx1cmVzJyksIEV4dHJhY3RU
ZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXBlYXQtZmFpbHVyZXMnKV0KICAgICAgICAgaWYgd2l0
aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfcmVzdWx0c19ub25mbGFreV9mYWlsdXJlcyBvciB3aXRo
X3BhdGNoX3JlcGVhdF9mYWlsdXJlc190aW1lZG91dDoKICAgICAgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVlKQotICAgICAgICAgICAgbmV4dF9zdGVwcy5l
eHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNl
KSwgS2lsbE9sZFByb2Nlc3NlcygpLCBVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCksIENvbXBpbGVX
ZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxz
ZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNXaXRob3V0UGF0
Y2hSZWRUcmVlKCldKQorICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlQ2hh
bmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNz
ZXMoKSwgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNo
KHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNl
KSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBuZXh0X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0
VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQogICAgICAgICBpZiBuZXh0X3N0ZXBzOgpAQCAtMzI0MCw3
ICszMzU3LDcgQEAgY2xhc3MgUnVuQVBJVGVzdHMoVGVzdFdpdGhGYWlsdXJlQ291bnQpOgogICAg
ICAgICAgICAgc2VsZi5idWlsZC5yZXN1bHRzID0gU1VDQ0VTUwogICAgICAgICAgICAgc2VsZi5i
dWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwgU1VDQ0VTUykKICAgICAgICAgZWxzZToKLSAg
ICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZVBh
dGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNz
ZXMoKSwgUmVSdW5BUElUZXN0cygpXSkKKyAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNB
ZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFk
ZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJlUnVuQVBJVGVzdHMoKV0pCiAgICAg
ICAgIHJldHVybiByYwogCiAKQEAgLTMyNTYsMTQgKzMzNzMsMTQgQEAgY2xhc3MgUmVSdW5BUElU
ZXN0cyhSdW5BUElUZXN0cyk6CiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmJ1aWxkRmluaXNoZWQo
W21lc3NhZ2VdLCBTVUNDRVNTKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRydWUpCi0gICAgICAgICAgICBzdGVwc190b19h
ZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisgICAgICAgICAgICBzdGVwc190b19hZGQgPSBb
VW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9
RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAgICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFBy
b3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd3BlJzoKICAg
ICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMo
KSkKICAgICAgICAgICAgIGVsaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CiAgICAgICAgICAgICAgICAg
c3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAg
ICBzdGVwc190b19hZGQuYXBwZW5kKENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVp
bGRfb25fZmFpbHVyZT1UcnVlKSkKLSAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQorICAgICAg
ICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9
RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChL
aWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKFJ1bkFQ
SVRlc3RzV2l0aG91dFBhdGNoKCkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEFu
YWx5emVBUElUZXN0c1Jlc3VsdHMoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CmluZGV4IGVkY2M5NGQ3ZGU2OWRhMjUyODA0MmIzZTA1NzdhMmMyYmQ2ODE5
YWUuLjFmOGE5NTU5MTU2Njc2OWNjNmJhMzhjNDQ4NjVhMTdkNzIxNGIwNzEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
Q0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtNTYsNyArNTYsNyBAQCBm
cm9tIHN0ZXBzIGltcG9ydCAoQW5hbHl6ZUFQSVRlc3RzUmVzdWx0cywgQW5hbHl6ZUNvbXBpbGVX
ZWJLaXRSZXN1bHRzLCBBbmFseXplSgogICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFRlc3Rz
V2l0aG91dFBhdGNoLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktpdFRlc3RzUmVwZWF0
RmFpbHVyZXNSZWRUcmVlLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNo
UmVkVHJlZSwKICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJl
ZFRyZWUsIEFuYWx5emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlLCBUZXN0V2l0aEZhaWx1cmVD
b3VudCwgU2hvd0lkZW50aWZpZXIsCiAgICAgICAgICAgICAgICAgICAgVHJpZ2dlciwgVHJhbnNm
ZXJUb1MzLCBVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkLCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LCBV
cGxvYWRCdWlsdFByb2R1Y3QsCi0gICAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMs
IFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdl
ciwgVmFsaWRhdGVQYXRjaCwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQorICAgICAgICAgICAgICAg
ICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxp
ZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ2hhbmdlLCBWZXJpZnlHaXRIdWJJbnRl
Z3JpdHkpCiAKICMgV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2J1aWxkYm90L2J1
aWxkYm90L2lzc3Vlcy80NjY5CiBmcm9tIGJ1aWxkYm90LnRlc3QuZmFrZS5mYWtlYnVpbGQgaW1w
b3J0IEZha2VCdWlsZApAQCAtNDQ4Nyw3ICs0NDg3LDcgQEAgY2xhc3MgVGVzdENyZWF0ZUxvY2Fs
R0lUQ29tbWl0KEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIHJldHVybiByYwogCiAKLWNsYXNzIFRlc3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1p
eGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CitjbGFzcyBUZXN0VmFsaWRhdGVDaGFu
Z2UoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYg
c2V0VXAoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLnNldFVwQnVpbGRTdGVwKCkKIApAQCAt
NDUwNiw3ICs0NTA2LDcgQEAgY2xhc3MgVGVzdFZhbGlkYXRlUGF0Y2goQnVpbGRTdGVwTWl4aW5B
ZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICAgICAgICJzdW1t
YXJ5IjogInt9In19JycnLmZvcm1hdChvYnNvbGV0ZSwgdGl0bGUpKQogCiAgICAgZGVmIHRlc3Rf
c2tpcHBlZChzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQor
ICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgn
YnVnX2lkJywgJzU2NzgnKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRp
b24nLCBUcnVlKQpAQCAtNDUxNCw4ICs0NTE0LDggQEAgY2xhc3MgVGVzdFZhbGlkYXRlUGF0Y2go
QnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcmV0
dXJuIHNlbGYucnVuU3RlcCgpCiAKICAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgotICAgICAg
ICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCi0g
ICAgICAgIFZhbGlkYXRlUGF0Y2guZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6
IHNlbGYuZ2V0X3BhdGNoKCkKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2Uo
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3BhdGNo
X2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3BhdGNoKCkKICAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1ODA2JykKICAgICAgICAgc2VsZi5leHBlY3RP
dXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBwYXRjaCcpCiAg
ICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKQEAgLTQ1MjMsOCArNDUyMyw4IEBAIGNsYXNzIFRl
c3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIHJldHVybiByYwogCiAgICAgZGVmIHRlc3Rfb2Jzb2xldGVfcGF0Y2goc2Vs
Zik6Ci0gICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2Vk
PUZhbHNlKSkKLSAgICAgICAgVmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4
LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKKyAgICAgICAgc2VsZi5zZXR1
cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFs
aWRhdGVDaGFuZ2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0
X3BhdGNoKG9ic29sZXRlPTEpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywg
JzQyNTgwNicpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3Rh
dGVfc3RyaW5nPSdQYXRjaCA0MjU4MDYgaXMgb2Jzb2xldGUnKQogICAgICAgICByYyA9IHNlbGYu
cnVuU3RlcCgpCkBAIC00NTM0LDggKzQ1MzQsOCBAQCBjbGFzcyBUZXN0VmFsaWRhdGVQYXRjaChC
dWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0
X2Zhc3RfY3FfcGF0Y2hlc190cmlnZ2VyX2Zhc3RfY3FfbW9kZShzZWxmKToKICAgICAgICAgZmFz
dF9jcV9wYXRjaF90aXRsZXMgPSAoJ1JFVkVSVCBPRiByMTIzNCcsICdyZXZlcnQgb2YgcjEyMzQn
LCAnW2Zhc3QtY3FdUGF0Y2gnLCAnW0ZBU1QtY3FdIHBhdGNoJywgJ2Zhc3QtY3EtcGF0Y2gnLCAn
RkFTVC1DUSBQYXRjaCcpCiAgICAgICAgIGZvciBmYXN0X2NxX3BhdGNoX3RpdGxlIGluIGZhc3Rf
Y3FfcGF0Y2hfdGl0bGVzOgotICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQotICAgICAgICAgICAgVmFsaWRhdGVQYXRjaC5nZXRf
cGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2godGl0bGU9ZmFz
dF9jcV9wYXRjaF90aXRsZSkKKyAgICAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hh
bmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZS5n
ZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2godGl0bGU9
ZmFzdF9jcV9wYXRjaF90aXRsZSkKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNo
X2lkJywgJzQyNTgwNicpCiAgICAgICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNV
Q0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIHBhdGNoJykKICAgICAgICAgICAgIHJjID0g
c2VsZi5ydW5TdGVwKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448593</attachid>
            <date>2022-01-07 08:27:59 -0800</date>
            <delta_ts>2022-01-07 08:37:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220107082759.patch</filename>
            <type>text/plain</type>
            <size>29279</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTkwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjViMDc2NzY1YzI0YTNiMzY2M2VlYjhjYzEyZWQ0MmVh
NjJhNjI1OC4uZGY0Mzg4M2JhMGRmYjM4Nzk2YTUwNDI3NjhhYTM3ZjhkNTc0ZGMwOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIyLTAxLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHk6CisgICAgICAgIChHaXRIdWJNaXhpbi5wcl91cmwpOiBNYXAgcHVsbC1yZXF1ZXN0IG51bWJl
ciB0byBVUkwuCisgICAgICAgIChHaXRIdWJNaXhpbi5hcGlfdXJsKTogQ29udmVydCBVUkwgdG8g
QVBJIHVybC4KKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKTog
Q2hlY2sgaWYgdGhlIGV2ZW50IHRyaWdnZXJpbmcKKyAgICAgICAgdGhpcyB3YXMgYSBwdWxsX3Jl
cXVlc3QsIGFuZCB0aGUgc3BlY2lmaWVkIGJyYW5jaCBjYW4gYmUgbWFwcGVkIHRvIGEKKyAgICAg
ICAgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoR2l0SHViTWl4aW4uY3JlZGVudGlhbHMpOiBBY2Nl
c3MgR2l0SHViIGNyZWRlbnRpYWxzLgorICAgICAgICAoR2l0SHViTWl4aW4uZmV0Y2hfZGF0YV9m
cm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKToKKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9w
cl9qc29uKTogR2V0IHB1bGwtcmVxdWVzdCBKU09OIGZyb20gR2l0SHViLgorICAgICAgICAoR2l0
SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGhhcyBhbHJl
YWR5IGJlZW4gY2xvc2VkLgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENo
ZWNrIGlmIHRoZSBzcGVjaWZpYyBob29rIGlzIG9ic29sZXRlLgorICAgICAgICAoVmFsaWRhdGVD
aGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRjaC4KKyAgICAgICAgKFZhbGlkYXRlQ2hh
bmdlLnN0YXJ0KTogU2VwZXJhdGUgQnVnemlsbGEgYW5kIEdpdEh1YiBjaGVja3MuCisgICAgICAg
IChWYWxpZGF0ZUNoYW5nZS52YWxpZGF0ZV9idWd6aWxsYSk6CisgICAgICAgIChWYWxpZGF0ZUNo
YW5nZS52YWxpZGF0ZV9naXRodWIpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5ldmFsdWF0ZUNv
bW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNoYW5nZS4KKyAgICAgICAg
KFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAg
IChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFJlUnVu
V2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAg
ICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgorICAgICAgICAoUmVSdW5B
UElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFZhbGlkYXRlUGF0Y2gp
OiBSZW5hbWVkIHRvIFZhbGlkYXRlUGF0Y2guCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weTogUmVuYW1lIFZhbGlkYXRlUGF0Y2ggdG8gVmFsaWRhdGVDaGFu
Z2UuCisKIDIwMjItMDEtMDQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgTW9kYWxDb250YWluZXJPYnNlcnZlciBzaG91bGQgc2VhcmNoIGZvciB0ZXh0
IGluIHN1YmZyYW1lcwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weQppbmRleCBl
ZjlkMTJjMWI1ODk5ZGFhNzkxOGEwNTVjNzk5NWJiYzMyOWE3Y2U2Li5iOTc3MWViYjFkNzlhZjE5
NGRmNWRjYzhlMDI0YzVhODU0NzhmODlmIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL2ZhY3Rvcmllcy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weQpAQCAtMzIsNyArMzIsNyBAQCBmcm9tIHN0ZXBzIGltcG9ydCAoQXBwbHlQYXRjaCwg
QXBwbHlXYXRjaExpc3QsIENoZWNrT3V0U291cmNlLCBDaGVja091dFNwZWNpZmljUgogICAgICAg
ICAgICAgICAgICAgIFJ1bkVXU1VuaXRUZXN0cywgUnVuUmVzdWx0c2RicHlUZXN0cywgUnVuSmF2
YVNjcmlwdENvcmVUZXN0cywgUnVuV2ViS2l0MVRlc3RzLCBSdW5XZWJLaXRQZXJsVGVzdHMsIFJ1
bldlYktpdFB5UHl0aG9uMlRlc3RzLAogICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFB5UHl0
aG9uM1Rlc3RzLCBSdW5XZWJLaXRUZXN0cywgUnVuV2ViS2l0VGVzdHNSZWRUcmVlLCBSdW5XZWJL
aXRUZXN0c0luU3RyZXNzTW9kZSwgUnVuV2ViS2l0VGVzdHNJblN0cmVzc0d1YXJkbWFsbG9jTW9k
ZSwKICAgICAgICAgICAgICAgICAgICBTZXRCdWlsZFN1bW1hcnksIFNob3dJZGVudGlmaWVyLCBU
cmlnZ2VyQ3Jhc2hMb2dTdWJtaXNzaW9uLCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LAotICAgICAg
ICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIs
IFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2FpdEZvckNyYXNoQ29sbGVjdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZp
ZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9u
LAogICAgICAgICAgICAgICAgICAgIEluc3RhbGxCdWlsdFByb2R1Y3QsIFZlcmlmeUdpdEh1Yklu
dGVncml0eSkKIAogCkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWls
ZEZhY3RvcnkpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hSZWxldmFuY2Uo
KSkKICAgICAgICAgaWYgc2VsZi5maW5kTW9kaWZpZWRMYXlvdXRUZXN0czoKICAgICAgICAgICAg
IHNlbGYuYWRkU3RlcChGaW5kTW9kaWZpZWRMYXlvdXRUZXN0cygpKQotICAgICAgICBzZWxmLmFk
ZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFu
Z2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UoKSkKICAgICAgICAgIyBDaGVja091dFNvdXJj
ZSBzdGVwIHB1bGxzIHRoZSBsYXRlc3QgcmV2aXNpb24sIHNpbmNlIHdlIHVzZSBhbHdheXNVc2VM
YXRlc3Q9VHJ1ZS4gV2l0aG91dCBhbHdheXNVc2VMYXRlc3QgQnVpbGRib3Qgd2lsbApAQCAtNjIs
NyArNjIsNyBAQCBjbGFzcyBTdHlsZUZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRl
Y3R1cmVzPU5vbmUsIHRyaWdnZXJzPU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3Vt
ZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5p
dF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1w
bGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hp
dGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9dHJpZ2dlcnMsIHJlbW90ZXM9cmVt
b3RlcywgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzKSkKLSAgICAgICAg
c2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlk
YXRlQ2hhbmdlKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChQcmludENvbmZpZ3VyYXRpb24oKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChGZXRjaEJyYW5jaGVzKCkpCkBAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFdhdGNoTGlzdEZh
Y3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVzPU5vbmUsIHRyaWdnZXJzPU5v
bmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAg
ICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1j
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxz
ZSwgdHJpZ2dlcnM9dHJpZ2dlcnMsIHJlbW90ZXM9cmVtb3RlcywgYWRkaXRpb25hbEFyZ3VtZW50
cz1hZGRpdGlvbmFsQXJndW1lbnRzKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0
Y2goKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChQcmludENvbmZpZ3VyYXRpb24oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENo
ZWNrT3V0U291cmNlKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChGZXRjaEJyYW5jaGVzKCkpCkBA
IC0yNDAsNyArMjQwLDcgQEAgY2xhc3MgV2luZG93c0ZhY3RvcnkoRmFjdG9yeSk6CiAgICAgICAg
IEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249
Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFs
c2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1
bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xk
UHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxv
YWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChTZXRC
dWlsZFN1bW1hcnkoKSkKIApAQCAtMjgyLDcgKzI4Miw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFj
dG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgYWRkaXRpb25hbEFy
Z3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9f
aW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9y
bT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFy
Y2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25l
LCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVudHMpKQotICAgICAgICBzZWxm
LmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1ZSkpCisgICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRS
ZXBvKCkpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCBjbGFzcyBDb21taXRRdWV1ZUZhY3RvcnkoZmFj
dG9yeS5CdWlsZEZhY3RvcnkpOgogICAgICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3Nl
cygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdChza2lwVXBsb2FkPVRydWUp
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3NlcygpKQotICAgICAgICBzZWxm
LmFkZFN0ZXAoVmFsaWRhdGVQYXRjaChhZGRVUkxzPUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkp
CisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZShhZGRVUkxzPUZhbHNlLCB2ZXJp
ZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja1BhdGNoU3RhdHVzT25F
V1NRdWV1ZXMoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bldlYktpdFRlc3RzKCkpCi0gICAg
ICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1
cz1UcnVlKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKGFkZFVSTHM9RmFs
c2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291
cmNlKHJlcG91cmw9J2h0dHBzOi8vZ2l0LndlYmtpdC5vcmcvZ2l0L1dlYktpdC1odHRwcycpKQog
ICAgICAgICBzZWxmLmFkZFN0ZXAoU2hvd0lkZW50aWZpZXIoKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnkoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5
CmluZGV4IDk1M2IzNDY2YmMxMzE2NjYzMzZkZGI5ODE1MGZjZjIzN2YwMzMzNDAuLmZmMThmZTZl
NDk1YzYzMGZjN2IyZTVhYWJiNDM5MDhkOTBhM2JlYTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQpAQCAtNTQsNiArNTQsNyBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5v
cmcvJwogUkVTVUxUU19EQl9VUkwgPSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0
aFByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHBy
b3BlcnRpZXMuSW50ZXJwb2xhdGUKK0dJVEhVQl9SRVBPU0lUT1JJRVMgPSBbJ2h0dHBzOi8vZ2l0
aHViLmNvbS9XZWJLaXQvV2ViS2l0J10KIAogCiBjbGFzcyBCdWZmZXJMb2dIZWFkZXJPYnNlcnZl
cihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcik6CkBAIC02OSw2ICs3MCwxMjEgQEAgY2xh
c3MgQnVmZmVyTG9nSGVhZGVyT2JzZXJ2ZXIobG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIp
OgogICAgICAgICByZXR1cm4gc2VsZi5fZ2V0KHNlbGYuaGVhZGVycykKIAogCitjbGFzcyBHaXRI
dWJNaXhpbihvYmplY3QpOgorICAgIGFkZFVSTHMgPSBGYWxzZQorICAgIHByX29wZW5fc3RhdGVz
ID0gWydvcGVuJ10KKyAgICBwcl9jbG9zZWRfc3RhdGVzID0gWydjbG9zZWQnXQorCisgICAgZGVm
IHByX3VybChzZWxmLCBwcl9udW1iZXI9Tm9uZSk6CisgICAgICAgIHByX251bWJlciA9IHByX251
bWJlciBvciBzZWxmLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKCkKKyAgICAgICAgaWYgbm90IHBy
X251bWJlcjoKKyAgICAgICAgICAgIHJldHVybiAnJworICAgICAgICByZXR1cm4gJ3t9L3B1bGwv
e30nLmZvcm1hdChzZWxmLmdldFByb3BlcnR5KCdyZXBvc2l0b3J5JywgJy0nKSwgcHJfbnVtYmVy
KQorCisgICAgZGVmIGFwaV91cmwoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmdldFByb3Bl
cnR5KCdyZXBvc2l0b3J5JywgJycpOgorICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byBkZXRl
cm1pbmUgcmVwb3NpdG9yeSBVUkwnKQorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlv
JywgJ0ZhaWxlZCB0byBkZXRlcm1pbmUgcmVwb3NpdG9yeSBVUkwuXG4nKQorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKworICAgICAgICBfLCB1cmxfYmFzZSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3Jl
cG9zaXRvcnknKS5zcGxpdCgnOi8vJywgMSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNl
LnNwbGl0KCcvJywgMSkKKyAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScu
Zm9ybWF0KGhvc3QsIHBhdGgpCisKKyAgICBkZWYgZ2V0X3B1bGxfcmVxdWVzdF9udW1iZXIoc2Vs
Zik6CisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0UHJvcGVydHkoJ3B1bGxfcmVxdWVzdCcp
CisgICAgICAgIGlmIHByX251bWJlcjoKKyAgICAgICAgICAgIHJldHVybiBpbnQocHJfbnVtYmVy
KQorCisgICAgICAgIGlmIHNlbGYuZ2V0UHJvcGVydHkoJ2V2ZW50JykgIT0gJ3B1bGxfcmVxdWVz
dCc6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBzZWxmLmdldFByb3BlcnR5
KCdyZXBvc2l0b3J5Jykgbm90IGluIEdJVEhVQl9SRVBPU0lUT1JJRVM6CisgICAgICAgICAgICBy
ZXR1cm4gTm9uZQorCisgICAgICAgIG1hdGNoID0gQlJBTkNIX1BSX1JFLm1hdGNoKHNlbGYuZ2V0
UHJvcGVydHkoJ2JyYW5jaCcsICcnKSkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcHJfbnVtYmVyID0gaW50KG1hdGNoLmdyb3VwKCdpZCcp
KQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwdWxsX3JlcXVlc3QnLCBwcl9udW1iZXIpCisg
ICAgICAgIHJldHVybiBwcl9udW1iZXIKKworICAgIGRlZiBjcmVkZW50aWFscyhzZWxmKToKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4oJ3Bhc3N3
b3Jkcy5qc29uJykpCisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NP
TV9VU0VSTkFNRScsIE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX1RPS0VOJywgTm9u
ZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoJ0Vy
cm9yIHJlYWRpbmcgR2l0SHViIGFwaSBrZXknKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5v
bmUKKworICAgIGRlZiBmZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24oc2Vs
ZiwgdXJsKToKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4gPSBzZWxmLmNyZWRlbnRpYWxzKCkKKyAgICAgICAg
ICAgIGF1dGggPSBIVFRQQmFzaWNBdXRoKHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4pIGlmIHVzZXJu
YW1lIGFuZCBhY2Nlc3NfdG9rZW4gZWxzZSBOb25lCisgICAgICAgICAgICByZXNwb25zZSA9IHJl
cXVlc3RzLmdldCgKKyAgICAgICAgICAgICAgICB1cmwsIHRpbWVvdXQ9NjAsIGF1dGg9YXV0aCwK
KyAgICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0
aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0
YXR1c19jb2RlICE9IDIwMDoKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnQWNjZXNzZWQge3VybH0gd2l0aCB1bmV4cGVjdGVkIHN0YXR1cyBjb2RlIHtzdGF0dXNfY29k
ZX0uXG4nLmZvcm1hdCh1cmw9dXJsLCBzdGF0dXNfY29kZT1yZXNwb25zZS5zdGF0dXNfY29kZSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
cyBlOgorICAgICAgICAgICAgIyBDYXRjaGluZyBhbGwgZXhjZXB0aW9ucyBoZXJlIHRvIHNhZmVn
dWFyZCBhcGkga2V5LgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxl
ZCB0byBhY2Nlc3Mge3VybH0uXG4nLmZvcm1hdCh1cmw9dXJsKSkKKyAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgZGVmIGdldF9wcl9qc29uKHNl
bGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIG5vdCBzZWxmLmFwaV91cmwoKToKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgcHJfdXJsID0gJ3t9L3B1bGxzL3t9Jy5mb3Jt
YXQoc2VsZi5hcGlfdXJsKCksIHB1bGxfcmVxdWVzdCkKKyAgICAgICAgY29udGVudCA9IHNlbGYu
ZmV0Y2hfZGF0YV9mcm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKHByX3VybCkKKyAgICAgICAg
aWYgbm90IGNvbnRlbnQ6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBwcl9qc29uID0gY29udGVudC5qc29uKCkKKyAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byBwdWxsLXJlcXVlc3QgZnJv
bSB7fSwgZXJyb3I6IHt9Jy5mb3JtYXQocHJfdXJsLCBlKSkKKyAgICAgICAgICAgIHJldHVybiBO
b25lCisgICAgICAgIGlmIG5vdCBwcl9qc29uIG9yIGxlbihwcl9qc29uKSA9PSAwOgorICAgICAg
ICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHByX2pzb24KKworICAgIGRlZiBfaXNf
cHJfY2xvc2VkKHNlbGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIG5vdCBwdWxsX3JlcXVl
c3Q6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnU2tpcHBpbmcgcHVsbC1y
ZXF1ZXN0IHN0YXR1cyB2YWxpZGF0aW9uIHNpbmNlIHB1bGwtcmVxdWVzdCBpcyBOb25lLlxuJykK
KyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIHByX2pzb24gPSBzZWxmLmdldF9wcl9q
c29uKHB1bGxfcmVxdWVzdCkKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Igbm90IHByX2pzb24u
Z2V0KCdzdGF0ZScpOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJs
ZSB0byBmZXRjaCBwdWxsLXJlcXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3JlcXVlc3QpKQorICAg
ICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAgcHJfdGl0bGUgPSBwcl9qc29uLmdldCgndGl0
bGUnKQorICAgICAgICAjIEZJWE1FOiBidWdfdGl0bGUgaXMgdG9vIHNwZWNpZmljIHRvIGJ1Z3pp
bGxhCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1Z190aXRsZScsIHByX3RpdGxlKQorICAg
ICAgICBpZiBzZWxmLmFkZFVSTHM6CisgICAgICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgYmUg
YWJsZSB0byBleHRyYWN0IGJ1Z3ppbGxhIGFuZCByYWRhciBoZXJlCisgICAgICAgICAgICBzZWxm
LmFkZFVSTCgnW1BSIHt9XSB7fScuZm9ybWF0KHB1bGxfcmVxdWVzdCwgcHJfdGl0bGUpLCBzZWxm
LnByX3VybChwcl9udW1iZXI9cHVsbF9yZXF1ZXN0KSkKKyAgICAgICAgaWYgcHJfanNvbi5nZXQo
J3N0YXRlJykgaW4gc2VsZi5wcl9jbG9zZWRfc3RhdGVzOgorICAgICAgICAgICAgcmV0dXJuIDEK
KyAgICAgICAgcmV0dXJuIDAKKworICAgIGRlZiBfaXNfcHJfb2Jzb2xldGUoc2VsZiwgcHVsbF9y
ZXF1ZXN0KToKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24ocHVsbF9yZXF1ZXN0
KQorICAgICAgICBpZiBub3QgcHJfanNvbjoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdVbmFibGUgdG8gZmV0Y2ggcHVsbCByZXF1ZXN0IHt9LlxuJy5mb3JtYXQocHVsbF9y
ZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIGhlYWQgPSBwcl9qc29u
LmdldCgnaGVhZCcsIHt9KS5nZXQoJ3NoYScsICcnKQorICAgICAgICBpZiBub3QgaGVhZDoKKyAg
ICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gZmV0Y2ggaGFzaCBv
ZiBwdWxsIHJlcXVlc3Qge31cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAgICBy
ZXR1cm4gLTEKKworICAgICAgICByZXR1cm4gaGVhZCAhPSBzZWxmLmdldFByb3BlcnR5KCdyZXZp
c2lvbicsICc/JykKKworCiBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVw
KToKICAgICBuYW1lID0gJ2NvbmZpZ3VyZS1idWlsZCcKICAgICBkZXNjcmlwdGlvbiA9IFsnY29u
ZmlndXJpbmcgYnVpbGQnXQpAQCAtODQ2LDEwICs5NjIsMTAgQEAgY2xhc3MgQnVnemlsbGFNaXhp
bihvYmplY3QpOgogICAgICAgICByZXR1cm4gU1VDQ0VTUwogCiAKLWNsYXNzIFZhbGlkYXRlUGF0
Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6Ci0gICAgbmFtZSA9ICd2YWxp
ZGF0ZS1wYXRjaCcKLSAgICBkZXNjcmlwdGlvbiA9IFsndmFsaWRhdGUtcGF0Y2ggcnVubmluZydd
Ci0gICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQgcGF0Y2gnXQorY2xhc3MgVmFsaWRh
dGVDaGFuZ2UoYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbiwgR2l0SHViTWl4aW4p
OgorICAgIG5hbWUgPSAndmFsaWRhdGUtY2hhbmdlJworICAgIGRlc2NyaXB0aW9uID0gWyd2YWxp
ZGF0ZS1jaGFuZ2UgcnVubmluZyddCisgICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQg
Y2hhbmdlJ10KICAgICBmbHVua09uRmFpbHVyZSA9IFRydWUKICAgICBoYWx0T25GYWlsdXJlID0g
VHJ1ZQogCkBAIC04NjQsNyArOTgwLDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAu
QnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxm
KToKICAgICAgICAgaWYgc2VsZi5yZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAgICAgICByZXR1
cm4geydzdGVwJzogc2VsZi5kZXNjcmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVybiBzdXBlcihW
YWxpZGF0ZVBhdGNoLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAgcmV0dXJuIHN1
cGVyKFZhbGlkYXRlQ2hhbmdlLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAogICAgIGRlZiBk
b1N0ZXBJZihzZWxmLCBzdGVwKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldFByb3BlcnR5
KCdza2lwX3ZhbGlkYXRpb24nLCBGYWxzZSkKQEAgLTg3OCw1NCArOTk0LDgyIEBAIGNsYXNzIFZh
bGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6CiAKICAgICBk
ZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0
Y2hfaWQnLCAnJykKLSAgICAgICAgaWYgbm90IHBhdGNoX2lkOgotICAgICAgICAgICAgc2VsZi5f
YWRkVG9Mb2coJ3N0ZGlvJywgJ05vIHBhdGNoX2lkIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3
aXRob3V0IHBhdGNoX2lkLlxuJykKLSAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0g
J05vIHBhdGNoIGlkIGZvdW5kJworICAgICAgICBwcl9udW1iZXIgPSBzZWxmLmdldF9wdWxsX3Jl
cXVlc3RfbnVtYmVyKCkKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQgYW5kIG5vdCBwcl9udW1i
ZXI6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgb3Ig
cHJfbnVtYmVyIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IG9uZSBvZiB0aGVtLlxu
JykKKyAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIGNoYW5nZSBmb3VuZCcK
ICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAgICAgICAgICAgIHJldHVybiBO
b25lCiAKKyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBzZWxmLnZhbGlkYXRlX2J1Z3ppbGxh
KCk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBwcl9udW1iZXIgYW5kIG5v
dCBzZWxmLnZhbGlkYXRlX2dpdGh1YigpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAg
ICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZDoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xl
dGU6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGlzIG5vdCBv
YnNvbGV0ZS5cbicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkOgorICAgICAg
ICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0NoYW5nZSBoYXMgbm90IGJlZW4gZGVuaWVk
LlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnljcXBsdXM6CisgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGlzIGluIGNvbW1pdCBxdWV1ZS5cbicpCisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGhhcyBiZWVuIHJldmlld2VkLlxu
JykKKyAgICAgICAgc2VsZi5maW5pc2hlZChTVUNDRVNTKQorICAgICAgICByZXR1cm4gTm9uZQor
CisgICAgZGVmIHZhbGlkYXRlX2J1Z3ppbGxhKHNlbGYpOgorICAgICAgICBwYXRjaF9pZCA9IHNl
bGYuZ2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJycpCiAgICAgICAgIGJ1Z19pZCA9IHNlbGYuZ2V0
UHJvcGVydHkoJ2J1Z19pZCcsICcnKSBvciBzZWxmLmdldF9idWdfaWRfZnJvbV9wYXRjaChwYXRj
aF9pZCkKIAogICAgICAgICBidWdfY2xvc2VkID0gc2VsZi5faXNfYnVnX2Nsb3NlZChidWdfaWQp
IGlmIHNlbGYudmVyaWZ5QnVnQ2xvc2VkIGVsc2UgMAogICAgICAgICBpZiBidWdfY2xvc2VkID09
IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ0J1ZyB7fSBpcyBhbHJlYWR5IGNsb3Nl
ZCcuZm9ybWF0KGJ1Z19pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCiAKICAgICAgICAgb2Jzb2xldGUgPSBzZWxmLl9pc19wYXRjaF9vYnNvbGV0
ZShwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZSBlbHNlIDAKICAgICAgICAgaWYgb2Jz
b2xldGUgPT0gMToKICAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUGF0Y2gge30gaXMgb2Jz
b2xldGUnLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgcmV2aWV3X2RlbmllZCA9IHNlbGYuX2lzX3Bh
dGNoX3Jldmlld19kZW5pZWQocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkIGVs
c2UgMAogICAgICAgICBpZiByZXZpZXdfZGVuaWVkID09IDE6CiAgICAgICAgICAgICBzZWxmLnNr
aXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG1hcmtlZCByLScuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAg
ICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBj
cV9wbHVzID0gc2VsZi5faXNfcGF0Y2hfY3FfcGx1cyhwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnlj
cXBsdXMgZWxzZSAxCiAgICAgICAgIGlmIGNxX3BsdXMgIT0gMToKICAgICAgICAgICAgIHNlbGYu
c2tpcF9idWlsZCgnUGF0Y2gge30gaXMgbm90IG1hcmtlZCBjcSsuJy5mb3JtYXQocGF0Y2hfaWQp
KQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAg
ICAgICAgIGFjY2VwdGFibGVfcmV2aWV3X2ZsYWcgPSBzZWxmLl9kb2VzX3BhdGNoX2hhdmVfYWNj
ZXB0YWJsZV9yZXZpZXdfZmxhZyhwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnljcXBsdXMgZWxzZSAx
CiAgICAgICAgIGlmIGFjY2VwdGFibGVfcmV2aWV3X2ZsYWcgIT0gMToKICAgICAgICAgICAgIHNl
bGYuc2tpcF9idWlsZCgnUGF0Y2gge30gZG9lcyBub3QgaGF2ZSBhY2NlcHRhYmxlIHJldmlldyBm
bGFnLicuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAg
ICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciByZXZpZXdf
ZGVuaWVkID09IC0xIG9yIGJ1Z19jbG9zZWQgPT0gLTE6CiAgICAgICAgICAgICBzZWxmLmZpbmlz
aGVkKFdBUk5JTkdTKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVy
biBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5QnVn
Q2xvc2VkOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBvcGVu
LlxuJykKLSAgICAgICAgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZToKLSAgICAgICAgICAgIHNlbGYu
X2FkZFRvTG9nKCdzdGRpbycsICdQYXRjaCBpcyBub3Qgb2Jzb2xldGUuXG4nKQotICAgICAgICBp
ZiBzZWxmLnZlcmlmeVJldmlld0RlbmllZDoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdQYXRjaCBpcyBub3QgbWFya2VkIHItLlxuJykKLSAgICAgICAgaWYgc2VsZi52ZXJp
ZnljcXBsdXM6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMg
bWFya2VkIGNxKy5cbicpCi0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0
Y2ggaGF2ZSBhY2NlcHRhYmxlIHJldmlldyBmbGFnLlxuJykKLSAgICAgICAgc2VsZi5maW5pc2hl
ZChTVUNDRVNTKQotICAgICAgICByZXR1cm4gTm9uZQorICAgIGRlZiB2YWxpZGF0ZV9naXRodWIo
c2VsZik6CisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0X3B1bGxfcmVxdWVzdF9udW1iZXIo
KQorCisgICAgICAgIHByX2Nsb3NlZCA9IHNlbGYuX2lzX3ByX2Nsb3NlZChwcl9udW1iZXIpIGlm
IHNlbGYudmVyaWZ5QnVnQ2xvc2VkIGVsc2UgMAorICAgICAgICBpZiBwcl9jbG9zZWQgPT0gMToK
KyAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUHVsbC1yZXF1ZXN0IHt9IGlzIGFscmVhZHkg
Y2xvc2VkJy5mb3JtYXQocHJfbnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisg
ICAgICAgIG9ic29sZXRlID0gc2VsZi5faXNfcHJfb2Jzb2xldGUocHJfbnVtYmVyKSBpZiBzZWxm
LnZlcmlmeU9ic29sZXRlIGVsc2UgMAorICAgICAgICBpZiBvYnNvbGV0ZSA9PSAxOgorICAgICAg
ICAgICAgc2VsZi5za2lwX2J1aWxkKCdQdWxsLXJlcXVlc3Qge30gd2l0aCBjaGFuZ2Uge30gaXMg
b2Jzb2xldGUnLmZvcm1hdChwcl9udW1iZXIsIHNlbGYuZ2V0UHJvcGVydHkoJ3JldmlzaW9uJywg
Jz8nKSkpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICBpZiBvYnNvbGV0ZSA9
PSAtMSBvciBwcl9jbG9zZWQgPT0gLTE6CisgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKFdBUk5J
TkdTKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCiAKIAog
Y2xhc3MgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgpA
QCAtMTYyOSw3ICsxNzczLDcgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToK
ICAgICBkZWYgZXZhbHVhdGVDb21tYW5kKHNlbGYsIGNtZCk6CiAgICAgICAgIGlmIGNtZC5kaWRG
YWlsKCk6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRvQnVpbGQn
LCBUcnVlKQotICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWly
ZWQoKSwgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2Up
XQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwg
VmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAg
ICAgICAgICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAg
ICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRk
LmFwcGVuZChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKCkpCkBAIC0xOTA5LDkgKzIwNTMsOSBAQCBj
bGFzcyBSdW5KYXZhU2NyaXB0Q29yZVRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRydWUpCiAg
ICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVW5BcHBseVBh
dGNoSWZSZXF1aXJlZCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFs
c2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFs
aWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVKU0NXaXRo
b3V0UGF0Y2goKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRl
Q2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW5KU0NU
ZXN0c1dpdGhvdXRQYXRjaCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cygpXSkKQEAgLTIzMzQsNyArMjQ3OCw3
IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICAgICAgICAgIEFy
Y2hpdmVUZXN0UmVzdWx0cygpLAogICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKCks
CiAgICAgICAgICAgICAgICAgRXh0cmFjdFRlc3RSZXN1bHRzKCksCi0gICAgICAgICAgICAgICAg
VmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAg
ICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJM
cz1GYWxzZSksCiAgICAgICAgICAgICAgICAgS2lsbE9sZFByb2Nlc3NlcygpLAogICAgICAgICAg
ICAgICAgIFJlUnVuV2ViS2l0VGVzdHMoKSwKICAgICAgICAgICAgIF0pCkBAIC0yNDI5LDkgKzI1
NzMsOSBAQCBjbGFzcyBSZVJ1bldlYktpdFRlc3RzKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRz
KGlkZW50aWZpZXI9J3JlcnVuJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFeHRyYWN0VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVydW4nKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuQXBwbHlQYXRj
aElmUmVxdWlyZWQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNl
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlk
YXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21waWxlV2ViS2l0V2l0
aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2Us
IGFkZFVSTHM9RmFsc2UpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgS2lsbE9sZFByb2Nlc3NlcygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goKV0pCiAgICAg
ICAgIHJldHVybiByYwpAQCAtMjc1NCw3ICsyODk4LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNS
ZWRUcmVlKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgcmMgPSBzZWxmLmV2YWx1YXRlUmVzdWx0
KGNtZCkKICAgICAgICAgbmV4dF9zdGVwcyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2Fk
VGVzdFJlc3VsdHMoKSwgRXh0cmFjdFRlc3RSZXN1bHRzKCldCiAgICAgICAgIGlmIGZpcnN0X3Jl
c3VsdHNfZmFpbGluZ190ZXN0czoKLSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxp
ZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQ
cm9jZXNzZXMoKSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUoKV0pCisgICAg
ICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChbVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2Vk
PUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5XZWJLaXRUZXN0
c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSgpXSkKICAgICAgICAgZWxpZiBmaXJzdF9yZXN1bHRzX2Zs
YWt5X3Rlc3RzOgogICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRl
c3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAgZWxpZiByYyA9PSBTVUNDRVNTIG9yIHJjID09
IFdBUk5JTkdTOgpAQCAtMjc3Miw3ICsyOTE2LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRU
cmVlKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgICAgIGlmIHJldHJ5X2NvdW50IDwgQW5hbHl6
ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUuTUFYX1JFVFJZOgogICAgICAgICAgICAgICAgIG5l
eHRfc3RlcHMuYXBwZW5kKEFuYWx5emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlKCkpCiAgICAg
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtVbkFwcGx5
UGF0Y2hJZlJlcXVpcmVkKCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRf
b25fZmFpbHVyZT1UcnVlKSwgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFk
ZFVSTHM9RmFsc2UpLCBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCisgICAg
ICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwg
Q29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLCBW
YWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5X
ZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCiAgICAgICAgIGlmIG5leHRfc3RlcHM6
CiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChuZXh0X3N0
ZXBzKQogICAgICAgICByZXR1cm4gcmMKQEAgLTI4MDIsOCArMjk0Niw4IEBAIGNsYXNzIFJ1bldl
YktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlKFJ1bldlYktpdFRlc3RzUmVkVHJlZSk6CiAg
ICAgICAgIG5leHRfc3RlcHMgPSBbQXJjaGl2ZVRlc3RSZXN1bHRzKCksIFVwbG9hZFRlc3RSZXN1
bHRzKGlkZW50aWZpZXI9J3JlcGVhdC1mYWlsdXJlcycpLCBFeHRyYWN0VGVzdFJlc3VsdHMoaWRl
bnRpZmllcj0ncmVwZWF0LWZhaWx1cmVzJyldCiAgICAgICAgIGlmIHdpdGhfcGF0Y2hfcmVwZWF0
X2ZhaWx1cmVzX3Jlc3VsdHNfbm9uZmxha3lfZmFpbHVyZXMgb3Igd2l0aF9wYXRjaF9yZXBlYXRf
ZmFpbHVyZXNfdGltZWRvdXQ6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZh
aWxlZFRlc3RzJywgVHJ1ZSkKLSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9j
ZXNzZXMoKSwgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBh
dGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFs
c2UpLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkK
KyAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdD
bG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFVuQXBwbHlQ
YXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9v
bl9mYWlsdXJlPVRydWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRl
Q2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRl
c3RzUmVwZWF0RmFpbHVyZXNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1Jl
ZFRyZWUoKSkKICAgICAgICAgaWYgbmV4dF9zdGVwczoKQEAgLTMyMDYsNyArMzM1MCw3IEBAIGNs
YXNzIFJ1bkFQSVRlc3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKICAgICAgICAgICAgIHNlbGYu
YnVpbGQucmVzdWx0cyA9IFNVQ0NFU1MKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5p
c2hlZChbbWVzc2FnZV0sIFNVQ0NFU1MpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxm
LmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdD
bG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJlUnVuQVBJ
VGVzdHMoKV0pCisgICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3Rl
cChbVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwg
S2lsbE9sZFByb2Nlc3NlcygpLCBSZVJ1bkFQSVRlc3RzKCldKQogICAgICAgICByZXR1cm4gcmMK
IAogCkBAIC0zMjIyLDE0ICszMzY2LDE0IEBAIGNsYXNzIFJlUnVuQVBJVGVzdHMoUnVuQVBJVGVz
dHMpOgogICAgICAgICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwgU1VD
Q0VTUykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNo
RmFpbGVkVGVzdHMnLCBUcnVlKQotICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQ
YXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFk
ZFVSTHM9RmFsc2UpXQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElm
UmVxdWlyZWQoKSwgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxz
PUZhbHNlKV0KICAgICAgICAgICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZv
cm0nKQogICAgICAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAg
c3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAg
ICBlbGlmIHBsYXRmb3JtID09ICdndGsnOgogICAgICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5h
cHBlbmQoSW5zdGFsbEd0a0RlcGVuZGVuY2llcygpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRk
LmFwcGVuZChDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9
VHJ1ZSkpCi0gICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKFZhbGlkYXRlUGF0Y2godmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSkKKyAgICAgICAgICAgIHN0ZXBzX3Rv
X2FkZC5hcHBlbmQoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxz
PUZhbHNlKSkKICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoS2lsbE9sZFByb2Nlc3Nl
cygpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChSdW5BUElUZXN0c1dpdGhvdXRQ
YXRjaCgpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChBbmFseXplQVBJVGVzdHNS
ZXN1bHRzKCkpCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpp
bmRleCBlZGNjOTRkN2RlNjlkYTI1MjgwNDJiM2UwNTc3YTJjMmJkNjgxOWFlLi4wMDcyODgwN2Y0
NjUzYTZjZTI5MTA2MzgwZGJiNWM4YjEzNjNjZDlmIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBv
cnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTU2LDcgKzU2LDcgQEAgZnJvbSBzdGVwcyBpbXBv
cnQgKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMsIEFuYWx5emVDb21waWxlV2ViS2l0UmVzdWx0cywg
QW5hbHl6ZUoKICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCwg
UnVuV2ViS2l0VGVzdHNSZWRUcmVlLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJl
ZSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUsCiAgICAg
ICAgICAgICAgICAgICAgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2hSZWRUcmVlLCBBbmFseXpl
TGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSwgVGVzdFdpdGhGYWlsdXJlQ291bnQsIFNob3dJZGVu
dGlmaWVyLAogICAgICAgICAgICAgICAgICAgIFRyaWdnZXIsIFRyYW5zZmVyVG9TMywgVW5BcHBs
eVBhdGNoSWZSZXF1aXJlZCwgVXBkYXRlV29ya2luZ0RpcmVjdG9yeSwgVXBsb2FkQnVpbHRQcm9k
dWN0LAotICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0ZUNoYW5n
ZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlkYXRlUGF0
Y2gsIFZlcmlmeUdpdEh1YkludGVncml0eSkKKyAgICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0
UmVzdWx0cywgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFu
ZFJldmlld2VyLCBWYWxpZGF0ZUNoYW5nZSwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQogCiAjIFdv
cmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9idWlsZGJvdC9idWlsZGJvdC9pc3N1ZXMv
NDY2OQogZnJvbSBidWlsZGJvdC50ZXN0LmZha2UuZmFrZWJ1aWxkIGltcG9ydCBGYWtlQnVpbGQK
QEAgLTQ0ODcsNyArNDQ4Nyw3IEBAIGNsYXNzIFRlc3RDcmVhdGVMb2NhbEdJVENvbW1pdChCdWls
ZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4g
cmMKIAogCi1jbGFzcyBUZXN0VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywg
dW5pdHRlc3QuVGVzdENhc2UpOgorY2xhc3MgVGVzdFZhbGlkYXRlQ2hhbmdlKEJ1aWxkU3RlcE1p
eGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgog
ICAgICAgICByZXR1cm4gc2VsZi5zZXRVcEJ1aWxkU3RlcCgpCiAKQEAgLTQ1MDYsMjUgKzQ1MDYs
MjUgQEAgY2xhc3MgVGVzdFZhbGlkYXRlUGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICAgICAgICJzdW1tYXJ5IjogInt9In19
JycnLmZvcm1hdChvYnNvbGV0ZSwgdGl0bGUpKQogCiAgICAgZGVmIHRlc3Rfc2tpcHBlZChzZWxm
KToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxm
LnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdw
YXRjaF9pZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVnX2lkJywgJzU2
NzgnKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBUcnVlKQot
ICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0cmluZz0n
VmFsaWRhdGVkIHBhdGNoIChza2lwcGVkKScpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShy
ZXN1bHQ9U0tJUFBFRCwgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lwcGVkKScp
CiAgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQogCiAgICAgZGVmIHRlc3Rfc3VjY2Vzcyhz
ZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9z
ZWQ9RmFsc2UpKQotICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRh
IHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZh
bGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hh
bmdlLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgp
CiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQyNTgwNicpCi0gICAgICAg
IHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0
ZWQgcGF0Y2gnKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0
YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZScpCiAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVw
KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1p
dF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNldCcp
CiAgICAgICAgIHJldHVybiByYwogCiAgICAgZGVmIHRlc3Rfb2Jzb2xldGVfcGF0Y2goc2VsZik6
Ci0gICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZh
bHNlKSkKLSAgICAgICAgVmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBw
YXRjaF9pZDogc2VsZi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKKyAgICAgICAgc2VsZi5zZXR1cFN0
ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFsaWRh
dGVDaGFuZ2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3Bh
dGNoKG9ic29sZXRlPTEpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQy
NTgwNicpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVf
c3RyaW5nPSdQYXRjaCA0MjU4MDYgaXMgb2Jzb2xldGUnKQogICAgICAgICByYyA9IHNlbGYucnVu
U3RlcCgpCkBAIC00NTM0LDEwICs0NTM0LDEwIEBAIGNsYXNzIFRlc3RWYWxpZGF0ZVBhdGNoKEJ1
aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rf
ZmFzdF9jcV9wYXRjaGVzX3RyaWdnZXJfZmFzdF9jcV9tb2RlKHNlbGYpOgogICAgICAgICBmYXN0
X2NxX3BhdGNoX3RpdGxlcyA9ICgnUkVWRVJUIE9GIHIxMjM0JywgJ3JldmVydCBvZiByMTIzNCcs
ICdbZmFzdC1jcV1QYXRjaCcsICdbRkFTVC1jcV0gcGF0Y2gnLCAnZmFzdC1jcS1wYXRjaCcsICdG
QVNULUNRIFBhdGNoJykKICAgICAgICAgZm9yIGZhc3RfY3FfcGF0Y2hfdGl0bGUgaW4gZmFzdF9j
cV9wYXRjaF90aXRsZXM6Ci0gICAgICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNo
KHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCi0gICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9w
YXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0
X2NxX3BhdGNoX3RpdGxlKQorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFu
Z2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdl
dF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1m
YXN0X2NxX3BhdGNoX3RpdGxlKQogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hf
aWQnLCAnNDI1ODA2JykKLSAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VD
Q0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQorICAgICAgICAgICAgc2VsZi5l
eHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBjaGFu
Z2UnKQogICAgICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQogICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBUcnVlLCAn
ZmFzdF9jb21taXRfcXVldWUgaXMgbm90IHNldCwgcGF0Y2ggdGl0bGU6IHt9Jy5mb3JtYXQoZmFz
dF9jcV9wYXRjaF90aXRsZSkpCiAgICAgICAgIHJldHVybiByYwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448597</attachid>
            <date>2022-01-07 08:37:42 -0800</date>
            <delta_ts>2022-01-13 09:34:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220107083741.patch</filename>
            <type>text/plain</type>
            <size>42263</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NzQ0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGFhZTI4N2EwYzVmZGJiNTY1ZTYzZDMwZGY5YWZjYjI3
NWMxMjdkNy4uZjNlZjM2YTY4YTk0YjNlMDVkZDI4NDk1ZDZlNDg4MTJkOTJhZDBmMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIyLTAxLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHk6CisgICAgICAgIChHaXRIdWJNaXhpbi5wcl91cmwpOiBNYXAgcHVsbC1yZXF1ZXN0IG51bWJl
ciB0byBVUkwuCisgICAgICAgIChHaXRIdWJNaXhpbi5hcGlfdXJsKTogQ29udmVydCBVUkwgdG8g
QVBJIHVybC4KKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKTog
Q2hlY2sgaWYgdGhlIGV2ZW50IHRyaWdnZXJpbmcKKyAgICAgICAgdGhpcyB3YXMgYSBwdWxsX3Jl
cXVlc3QsIGFuZCB0aGUgc3BlY2lmaWVkIGJyYW5jaCBjYW4gYmUgbWFwcGVkIHRvIGEKKyAgICAg
ICAgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoR2l0SHViTWl4aW4uY3JlZGVudGlhbHMpOiBBY2Nl
c3MgR2l0SHViIGNyZWRlbnRpYWxzLgorICAgICAgICAoR2l0SHViTWl4aW4uZmV0Y2hfZGF0YV9m
cm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKToKKyAgICAgICAgKEdpdEh1Yk1peGluLmdldF9w
cl9qc29uKTogR2V0IHB1bGwtcmVxdWVzdCBKU09OIGZyb20gR2l0SHViLgorICAgICAgICAoR2l0
SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGhhcyBhbHJl
YWR5IGJlZW4gY2xvc2VkLgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Nsb3NlZCk6IENo
ZWNrIGlmIHRoZSBzcGVjaWZpYyBob29rIGlzIG9ic29sZXRlLgorICAgICAgICAoVmFsaWRhdGVD
aGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRjaC4KKyAgICAgICAgKFZhbGlkYXRlQ2hh
bmdlLnN0YXJ0KTogU2VwZXJhdGUgQnVnemlsbGEgYW5kIEdpdEh1YiBjaGVja3MuCisgICAgICAg
IChWYWxpZGF0ZUNoYW5nZS52YWxpZGF0ZV9idWd6aWxsYSk6CisgICAgICAgIChWYWxpZGF0ZUNo
YW5nZS52YWxpZGF0ZV9naXRodWIpOgorICAgICAgICAoQ29tcGlsZVdlYktpdC5ldmFsdWF0ZUNv
bW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNoYW5nZS4KKyAgICAgICAg
KFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAg
IChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFJlUnVu
V2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRU
ZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAg
ICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgorICAgICAgICAoUmVSdW5B
UElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFZhbGlkYXRlUGF0Y2gp
OiBSZW5hbWVkIHRvIFZhbGlkYXRlUGF0Y2guCisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWls
ZC9zdGVwc191bml0dGVzdC5weTogUmVuYW1lIFZhbGlkYXRlUGF0Y2ggdG8gVmFsaWRhdGVDaGFu
Z2UuCisKIDIwMjItMDEtMDYgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dMSUJdIE1ha2UgQVBJIHRlc3QgaW5pdGlhbGl6ZSBsb2NhbHN0b3JhZ2UgdG8gZW5z
dXJlIHRoZSBkYXRhYmFzZSBmaWxlIGlzIGNyZWF0ZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9m
YWN0b3JpZXMucHkKaW5kZXggZWY5ZDEyYzFiNTg5OWRhYTc5MThhMDU1Yzc5OTViYmMzMjlhN2Nl
Ni4uYjk3NzFlYmIxZDc5YWYxOTRkZjVkY2M4ZTAyNGM1YTg1NDc4Zjg5ZiAxMDA2NDQKLS0tIGEv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKKysrIGIvVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkKQEAgLTMyLDcgKzMyLDcgQEAgZnJvbSBzdGVwcyBp
bXBvcnQgKEFwcGx5UGF0Y2gsIEFwcGx5V2F0Y2hMaXN0LCBDaGVja091dFNvdXJjZSwgQ2hlY2tP
dXRTcGVjaWZpY1IKICAgICAgICAgICAgICAgICAgICBSdW5FV1NVbml0VGVzdHMsIFJ1blJlc3Vs
dHNkYnB5VGVzdHMsIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMsIFJ1bldlYktpdDFUZXN0cywgUnVu
V2ViS2l0UGVybFRlc3RzLCBSdW5XZWJLaXRQeVB5dGhvbjJUZXN0cywKICAgICAgICAgICAgICAg
ICAgICBSdW5XZWJLaXRQeVB5dGhvbjNUZXN0cywgUnVuV2ViS2l0VGVzdHMsIFJ1bldlYktpdFRl
c3RzUmVkVHJlZSwgUnVuV2ViS2l0VGVzdHNJblN0cmVzc01vZGUsIFJ1bldlYktpdFRlc3RzSW5T
dHJlc3NHdWFyZG1hbGxvY01vZGUsCiAgICAgICAgICAgICAgICAgICAgU2V0QnVpbGRTdW1tYXJ5
LCBTaG93SWRlbnRpZmllciwgVHJpZ2dlckNyYXNoTG9nU3VibWlzc2lvbiwgVXBkYXRlV29ya2lu
Z0RpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLCBWYWxpZGF0ZUNo
YW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JD
cmFzaENvbGxlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UsIFZhbGlk
YXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgV2Fp
dEZvckNyYXNoQ29sbGVjdGlvbiwKICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQnVpbHRQcm9k
dWN0LCBWZXJpZnlHaXRIdWJJbnRlZ3JpdHkpCiAKIApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBG
YWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChD
aGVja1BhdGNoUmVsZXZhbmNlKCkpCiAgICAgICAgIGlmIHNlbGYuZmluZE1vZGlmaWVkTGF5b3V0
VGVzdHM6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoRmluZE1vZGlmaWVkTGF5b3V0VGVzdHMo
KSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChQcmludENvbmZp
Z3VyYXRpb24oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCiAgICAg
ICAgICMgQ2hlY2tPdXRTb3VyY2Ugc3RlcCBwdWxscyB0aGUgbGF0ZXN0IHJldmlzaW9uLCBzaW5j
ZSB3ZSB1c2UgYWx3YXlzVXNlTGF0ZXN0PVRydWUuIFdpdGhvdXQgYWx3YXlzVXNlTGF0ZXN0IEJ1
aWxkYm90IHdpbGwKQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgU3R5bGVGYWN0b3J5KGZhY3Rvcnku
QnVpbGRGYWN0b3J5KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5v
bmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5
LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmln
dXJlQnVpbGQocGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwg
YXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRy
aWdnZXJzLCByZW1vdGVzPXJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFy
Z3VtZW50cykpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAg
IHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJp
bnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgp
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRmV0Y2hCcmFuY2hlcygpKQpAQCAtNzYsNyArNzYsNyBA
QCBjbGFzcyBXYXRjaExpc3RGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhz
ZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMs
IGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAo
RmV0Y2hCcmFuY2hlcygpKQpAQCAtMjQwLDcgKzI0MCw3IEBAIGNsYXNzIFdpbmRvd3NGYWN0b3J5
KEZhY3RvcnkpOgogICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtPXBsYXRm
b3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0
dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10cmlnZ2VycywgYWRkaXRpb25hbEFyZ3Vt
ZW50cz1hZGRpdGlvbmFsQXJndW1lbnRzLCBjaGVja1JlbGV2YW5jZT1UcnVlKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29t
cGlsZVdlYktpdChza2lwVXBsb2FkPVRydWUpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRh
dGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQorICAgICAgICBz
ZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxz
PUZhbHNlKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bldlYktpdDFUZXN0cygpKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoU2V0QnVpbGRTdW1tYXJ5KCkpCiAKQEAgLTI4Miw3ICsyODIsNyBAQCBj
bGFzcyBDb21taXRRdWV1ZUZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1Ob25lLCBhcmNoaXRlY3R1cmVz
PU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0
b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29u
ZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlv
biwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJz
PU5vbmUsIHJlbW90ZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1hZGRpdGlvbmFsQXJndW1l
bnRzKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5Y3FwbHVzPVRy
dWUpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5Y3FwbHVzPVRy
dWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChQcmludENvbmZpZ3VyYXRpb24oKSkKICAgICAgICAgc2Vs
Zi5hZGRTdGVwKENsZWFuR2l0UmVwbygpKQpAQCAtMjk3LDEwICsyOTcsMTAgQEAgY2xhc3MgQ29t
bWl0UXVldWVGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICAgICAgc2VsZi5hZGRT
dGVwKEtpbGxPbGRQcm9jZXNzZXMoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJL
aXQoc2tpcFVwbG9hZD1UcnVlKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKEtpbGxPbGRQcm9jZXNz
ZXMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwg
dmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2Uo
YWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAo
Q2hlY2tQYXRjaFN0YXR1c09uRVdTUXVldWVzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5X
ZWJLaXRUZXN0cygpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaChhZGRVUkxz
PUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZUNoYW5nZShhZGRVUkxzPUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChDaGVja091dFNvdXJjZShyZXBvdXJsPSdodHRwczovL2dpdC53ZWJraXQub3JnL2dp
dC9XZWJLaXQtaHR0cHMnKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFNob3dJZGVudGlmaWVyKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChVcGRhdGVXb3JraW5nRGlyZWN0b3J5KCkpCmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weSBiL1Rv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CmluZGV4IGU1NjNi
YzJlYTEyNzNlYWRlNGQ1NmZkYjlmNGUyN2NjNjk5YmFjNWYuLjY5YWRkMmVjZmEyYThlYjJiYjRj
NDJmMGUxOWFjOWIxMDUyOTQ5ZDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQv
ZmFjdG9yaWVzX3VuaXR0ZXN0LnB5CkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIFRlc3RFeHBlY3Rl
ZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGV4cGVjdGVkX3N0ZXBzID0gewog
ICAgICAgICAnU3R5bGUtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0g
ICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5n
ZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5k
LXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnZmV0Y2gtYnJhbmNoLXJl
ZmVyZW5jZXMnLApAQCAtNDIsNyArNDIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBz
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0FwcGx5LVdhdGNoTGlz
dC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtp
bmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdmZXRjaC1icmFuY2gtcmVmZXJlbmNlcycsCkBA
IC01Myw3ICs1Myw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnR1RLLUJ1aWxkLUVXUyc6IFsKICAgICAgICAg
ICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAg
ICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24n
LAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAg
ICAgICAgICAgJ2NoZWNrb3V0LXNwZWNpZmljLXJldmlzaW9uJywKQEAgLTY3LDcgKzY3LDcgQEAg
Y2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IF0sCiAgICAgICAgICdHVEstV0syLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1
cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAgICAgICAgJ2No
ZWNrb3V0LXNwZWNpZmljLXJldmlzaW9uJywKQEAgLTg1LDcgKzg1LDcgQEAgY2xhc3MgVGVzdEV4
cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAg
ICdpT1MtMTUtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0g
ICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5n
ZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5k
LXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lm
aWMtcmV2aXNpb24nLApAQCAtOTcsNyArOTcsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0
ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ2lPUy0xNS1TaW11
bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVw
ZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lmaWMt
cmV2aXNpb24nLApAQCAtMTA5LDcgKzEwOSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LVNpbXVs
YXRvci1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0g
ICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5n
ZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5k
LXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lm
aWMtcmV2aXNpb24nLApAQCAtMTI5LDcgKzEyOSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxk
U3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQXBwbGVTaWxpY29uLUJp
Zy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
CiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxp
ZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAg
ICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmct
ZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVjaWZpYy1yZXZpc2lvbicsCkBA
IC0xNDEsNyArMTQxLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBsZVNpbGljb24tQmlnLVN1
ci1EZWJ1Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
Ci0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNo
YW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4t
YW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3Bl
Y2lmaWMtcmV2aXNpb24nLApAQCAtMTYwLDcgKzE2MCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1Mt
Q2F0YWxpbmEtUmVsZWFzZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1
aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRh
dGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdj
bGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291
dC1zcGVjaWZpYy1yZXZpc2lvbicsCkBAIC0xNzMsNyArMTczLDcgQEAgY2xhc3MgVGVzdEV4cGVj
dGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGlu
YS1SZWxlYXNlLVdLMS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxk
JywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3Zh
bGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAg
ICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2lu
Zy1kaXJlY3RvcnknLAogICAgICAgICAgICAgJ2NoZWNrb3V0LXNwZWNpZmljLXJldmlzaW9uJywK
QEAgLTE5Miw3ICsxOTIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ21hY09TLUNhdGFsaW5hLVJlbGVhc2Ut
V0syLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAg
ICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAog
ICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAgICAgICAgJ2NoZWNrb3V0LXNwZWNpZmljLXJl
dmlzaW9uJywKQEAgLTIxMiw3ICsyMTIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBz
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ21hY09TLVJlbGVhc2UtV0syLVN0cmVzcy1U
ZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAg
ICdmaW5kLW1vZGlmaWVkLWxheW91dC10ZXN0cycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9y
eScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMjI5LDcg
KzIyOSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICBdLAogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctQnVpbGQtRVdTJzog
WwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVj
dG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMjQy
LDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sxLVRlc3RzLUVXUyc6IFsKICAg
ICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJl
bGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hl
Y2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMjYxLDcgKzI2MSw3IEBAIGNsYXNzIFRlc3RF
eHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAg
ICAnd2F0Y2hPUy04LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQn
LAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1j
aGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFu
LWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAgICAgICAgJ2NoZWNrb3V0LXNw
ZWNpZmljLXJldmlzaW9uJywKQEAgLTI3Myw3ICsyNzMsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNo
T1MtOC1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQt
c3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMjg1LDcgKzI4NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3Rl
ZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAndHZP
Uy0xNS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBk
YXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVjaWZpYy1y
ZXZpc2lvbicsCkBAIC0yOTcsNyArMjk3LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICd0dk9TLTE1LVNpbXVs
YXRvci1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBk
YXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVjaWZpYy1y
ZXZpc2lvbicsCkBAIC0zMTAsNyArMzEwLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXaW5kb3dzLUVXUyc6IFsKICAgICAgICAg
ICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5j
ZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQt
c3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMzE5LDEzICszMTksMTMgQEAgY2xhc3MgVGVzdEV4cGVj
dGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnYXBwbHktcGF0
Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29t
cGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAg
ICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xheW91dC10ZXN0cycsCiAgICAgICAg
ICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0sCiAgICAgICAgICdXaW5DYWlyby1F
V1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxp
ZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAg
ICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmct
ZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVjaWZpYy1yZXZpc2lvbicsCkBA
IC0zMzcsNyArMzM3LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwogICAgICAgICAgICAg
J2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAg
ICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAg
ICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMzUxLDcgKzM1MSw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAn
SlNDLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAg
ICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9y
eScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtMzY1LDcg
KzM2NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAnSlNDLU1JUFNFTC0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAg
J2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywK
LSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hh
bmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1h
bmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVj
aWZpYy1yZXZpc2lvbicsCkBAIC0zNzgsNyArMzc4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtTUlQU0VMLTMyYml0cy1U
ZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAg
ICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywK
KyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b24nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAog
ICAgICAgICAgICAgJ2NoZWNrb3V0LXNwZWNpZmljLXJldmlzaW9uJywKQEAgLTM5Myw3ICszOTMs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBk
YXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVjaWZpYy1y
ZXZpc2lvbicsCkBAIC00MDYsNyArNDA2LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtQVJNdjctMzJiaXRzLVRlc3RzLUVX
Uyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNr
LXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAg
ICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAg
ICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtNDIxLDcgKzQyMSw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAn
SlNDLWkzODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAog
ICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRh
dGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAn
Y29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAt
NDM0LDcgKzQzNCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2Nv
bmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAg
ICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdl
JywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVjaWZp
Yy1yZXZpc2lvbicsCkBAIC00NDYsNyArNDQ2LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRT
dGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRj
aC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAg
ICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAg
ICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAgICAgICAg
J2NoZWNrb3V0LXNwZWNpZmljLXJldmlzaW9uJywKQEAgLTQ1OSw3ICs0NTksNyBAQCBjbGFzcyBU
ZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAg
ICAgICAgJ1dlYktpdFBlcmwtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tv
dXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtNDcwLDcgKzQ3MCw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
QVBJLVRlc3RzLWlPUy1TaW11bGF0b3ItRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tv
dXQtc3BlY2lmaWMtcmV2aXNpb24nLApAQCAtNDg0LDcgKzQ4NCw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
QVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAot
ICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFu
Z2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLWFu
ZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAgICAgICAgJ2NoZWNrb3V0LXNwZWNp
ZmljLXJldmlzaW9uJywKQEAgLTQ5OCw3ICs0OTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWls
ZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0FQSS1UZXN0
cy1HVEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCiAgICAgICAgICAgICAnY2hlY2tvdXQtc3BlY2lmaWMtcmV2aXNp
b24nLApAQCAtNTE0LDcgKzUxNCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAgICAgICAgICAg
J2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywK
LSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hh
bmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi1h
bmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKICAgICAgICAgICAgICdjaGVja291dC1zcGVj
aWZpYy1yZXZpc2lvbicsCkBAIC01MjksNyArNTI5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQt
UXVldWUnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICd2YWxpZGF0ZS1jb21taXRlci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZp
Z3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU0NCwxMCAr
NTQ0LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGls
ZS13ZWJraXQnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY2hlY2stc3RhdHVzLW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlv
dXQtdGVzdHMnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLAogICAgICAgICAgICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAn
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IDQyZWUyNmE0ZmE1Yzc4YWJhYjU1OGFmZDZmZTkwODMyYTEzYjVhNjYuLjYzYzM1NjBlMTUx
ZWI3YTM3ZmQ1NTIwOTc3OTkwZGNlNzU3MjUwOGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtNzIsMTIgKzcyLDI2IEBAIGNsYXNzIEJ1ZmZlckxvZ0hlYWRlck9ic2VydmVyKGxv
Z29ic2VydmVyLkJ1ZmZlckxvZ09ic2VydmVyKToKIAogCiBjbGFzcyBHaXRIdWJNaXhpbihvYmpl
Y3QpOgorICAgIGFkZFVSTHMgPSBGYWxzZQorICAgIHByX29wZW5fc3RhdGVzID0gWydvcGVuJ10K
KyAgICBwcl9jbG9zZWRfc3RhdGVzID0gWydjbG9zZWQnXQorCiAgICAgZGVmIHByX3VybChzZWxm
LCBwcl9udW1iZXI9Tm9uZSk6CiAgICAgICAgIHByX251bWJlciA9IHByX251bWJlciBvciBzZWxm
LmdldF9wdWxsX3JlcXVlc3RfbnVtYmVyKCkKICAgICAgICAgaWYgbm90IHByX251bWJlcjoKICAg
ICAgICAgICAgIHJldHVybiAnJwogICAgICAgICByZXR1cm4gJ3t9L3B1bGwve30nLmZvcm1hdChz
ZWxmLmdldFByb3BlcnR5KCdyZXBvc2l0b3J5JywgJy0nKSwgcHJfbnVtYmVyKQogCisgICAgZGVm
IGFwaV91cmwoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmdldFByb3BlcnR5KCdyZXBvc2l0
b3J5JywgJycpOgorICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byBkZXRlcm1pbmUgcmVwb3Np
dG9yeSBVUkwnKQorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxlZCB0
byBkZXRlcm1pbmUgcmVwb3NpdG9yeSBVUkwuXG4nKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUK
KworICAgICAgICBfLCB1cmxfYmFzZSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknKS5z
cGxpdCgnOi8vJywgMSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNlLnNwbGl0KCcvJywg
MSkKKyAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScuZm9ybWF0KGhvc3Qs
IHBhdGgpCisKICAgICBkZWYgZ2V0X3B1bGxfcmVxdWVzdF9udW1iZXIoc2VsZik6CiAgICAgICAg
IHByX251bWJlciA9IHNlbGYuZ2V0UHJvcGVydHkoJ3B1bGxfcmVxdWVzdCcpCiAgICAgICAgIGlm
IHByX251bWJlcjoKQEAgLTk1LDggKzEwOSw4NCBAQCBjbGFzcyBHaXRIdWJNaXhpbihvYmplY3Qp
OgogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwdWxsX3JlcXVlc3QnLCBwcl9udW1iZXIpCiAg
ICAgICAgIHJldHVybiBwcl9udW1iZXIKIAorICAgIGRlZiBjcmVkZW50aWFscyhzZWxmKToKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4oJ3Bhc3N3
b3Jkcy5qc29uJykpCisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NP
TV9VU0VSTkFNRScsIE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX1RPS0VOJywgTm9u
ZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoJ0Vy
cm9yIHJlYWRpbmcgR2l0SHViIGFwaSBrZXknKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5v
bmUKKworICAgIGRlZiBmZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24oc2Vs
ZiwgdXJsKToKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4gPSBzZWxmLmNyZWRlbnRpYWxzKCkKKyAgICAgICAg
ICAgIGF1dGggPSBIVFRQQmFzaWNBdXRoKHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4pIGlmIHVzZXJu
YW1lIGFuZCBhY2Nlc3NfdG9rZW4gZWxzZSBOb25lCisgICAgICAgICAgICByZXNwb25zZSA9IHJl
cXVlc3RzLmdldCgKKyAgICAgICAgICAgICAgICB1cmwsIHRpbWVvdXQ9NjAsIGF1dGg9YXV0aCwK
KyAgICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0
aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0
YXR1c19jb2RlICE9IDIwMDoKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnQWNjZXNzZWQge3VybH0gd2l0aCB1bmV4cGVjdGVkIHN0YXR1cyBjb2RlIHtzdGF0dXNfY29k
ZX0uXG4nLmZvcm1hdCh1cmw9dXJsLCBzdGF0dXNfY29kZT1yZXNwb25zZS5zdGF0dXNfY29kZSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
cyBlOgorICAgICAgICAgICAgIyBDYXRjaGluZyBhbGwgZXhjZXB0aW9ucyBoZXJlIHRvIHNhZmVn
dWFyZCBhcGkga2V5LgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxl
ZCB0byBhY2Nlc3Mge3VybH0uXG4nLmZvcm1hdCh1cmw9dXJsKSkKKyAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgZGVmIGdldF9wcl9qc29uKHNl
bGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIG5vdCBzZWxmLmFwaV91cmwoKToKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgcHJfdXJsID0gJ3t9L3B1bGxzL3t9Jy5mb3Jt
YXQoc2VsZi5hcGlfdXJsKCksIHB1bGxfcmVxdWVzdCkKKyAgICAgICAgY29udGVudCA9IHNlbGYu
ZmV0Y2hfZGF0YV9mcm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9uKHByX3VybCkKKyAgICAgICAg
aWYgbm90IGNvbnRlbnQ6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBwcl9qc29uID0gY29udGVudC5qc29uKCkKKyAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiBhcyBlOgorICAgICAgICAgICAgcHJpbnQoJ0ZhaWxlZCB0byBwdWxsLXJlcXVlc3QgZnJv
bSB7fSwgZXJyb3I6IHt9Jy5mb3JtYXQocHJfdXJsLCBlKSkKKyAgICAgICAgICAgIHJldHVybiBO
b25lCisgICAgICAgIGlmIG5vdCBwcl9qc29uIG9yIGxlbihwcl9qc29uKSA9PSAwOgorICAgICAg
ICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHByX2pzb24KKworICAgIGRlZiBfaXNf
cHJfY2xvc2VkKHNlbGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIG5vdCBwdWxsX3JlcXVl
c3Q6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnU2tpcHBpbmcgcHVsbC1y
ZXF1ZXN0IHN0YXR1cyB2YWxpZGF0aW9uIHNpbmNlIHB1bGwtcmVxdWVzdCBpcyBOb25lLlxuJykK
KyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIHByX2pzb24gPSBzZWxmLmdldF9wcl9q
c29uKHB1bGxfcmVxdWVzdCkKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Igbm90IHByX2pzb24u
Z2V0KCdzdGF0ZScpOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJs
ZSB0byBmZXRjaCBwdWxsLXJlcXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3JlcXVlc3QpKQorICAg
ICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAgcHJfdGl0bGUgPSBwcl9qc29uLmdldCgndGl0
bGUnKQorICAgICAgICAjIEZJWE1FOiBidWdfdGl0bGUgaXMgdG9vIHNwZWNpZmljIHRvIGJ1Z3pp
bGxhCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1Z190aXRsZScsIHByX3RpdGxlKQorICAg
ICAgICBpZiBzZWxmLmFkZFVSTHM6CisgICAgICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgYmUg
YWJsZSB0byBleHRyYWN0IGJ1Z3ppbGxhIGFuZCByYWRhciBoZXJlCisgICAgICAgICAgICBzZWxm
LmFkZFVSTCgnW1BSIHt9XSB7fScuZm9ybWF0KHB1bGxfcmVxdWVzdCwgcHJfdGl0bGUpLCBzZWxm
LnByX3VybChwcl9udW1iZXI9cHVsbF9yZXF1ZXN0KSkKKyAgICAgICAgaWYgcHJfanNvbi5nZXQo
J3N0YXRlJykgaW4gc2VsZi5wcl9jbG9zZWRfc3RhdGVzOgorICAgICAgICAgICAgcmV0dXJuIDEK
KyAgICAgICAgcmV0dXJuIDAKIAotY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1aWxk
U3RlcCwgR2l0SHViTWl4aW4pOgorICAgIGRlZiBfaXNfcHJfb2Jzb2xldGUoc2VsZiwgcHVsbF9y
ZXF1ZXN0KToKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24ocHVsbF9yZXF1ZXN0
KQorICAgICAgICBpZiBub3QgcHJfanNvbjoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdVbmFibGUgdG8gZmV0Y2ggcHVsbCByZXF1ZXN0IHt9LlxuJy5mb3JtYXQocHVsbF9y
ZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgICAgIGhlYWQgPSBwcl9qc29u
LmdldCgnaGVhZCcsIHt9KS5nZXQoJ3NoYScsICcnKQorICAgICAgICBpZiBub3QgaGVhZDoKKyAg
ICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gZmV0Y2ggaGFzaCBv
ZiBwdWxsIHJlcXVlc3Qge31cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAgICBy
ZXR1cm4gLTEKKworICAgICAgICByZXR1cm4gaGVhZCAhPSBzZWxmLmdldFByb3BlcnR5KCdyZXZp
c2lvbicsICc/JykKKworCitjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVw
KToKICAgICBuYW1lID0gJ2NvbmZpZ3VyZS1idWlsZCcKICAgICBkZXNjcmlwdGlvbiA9IFsnY29u
ZmlndXJpbmcgYnVpbGQnXQogICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsnQ29uZmlndXJlZCBidWls
ZCddCkBAIC04ODAsMTAgKzk3MCwxMCBAQCBjbGFzcyBCdWd6aWxsYU1peGluKG9iamVjdCk6CiAg
ICAgICAgIHJldHVybiBTVUNDRVNTCiAKIAotY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAu
QnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKLSAgICBuYW1lID0gJ3ZhbGlkYXRlLXBhdGNoJwot
ICAgIGRlc2NyaXB0aW9uID0gWyd2YWxpZGF0ZS1wYXRjaCBydW5uaW5nJ10KLSAgICBkZXNjcmlw
dGlvbkRvbmUgPSBbJ1ZhbGlkYXRlZCBwYXRjaCddCitjbGFzcyBWYWxpZGF0ZUNoYW5nZShidWls
ZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluLCBHaXRIdWJNaXhpbik6CisgICAgbmFtZSA9
ICd2YWxpZGF0ZS1jaGFuZ2UnCisgICAgZGVzY3JpcHRpb24gPSBbJ3ZhbGlkYXRlLWNoYW5nZSBy
dW5uaW5nJ10KKyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ1ZhbGlkYXRlZCBjaGFuZ2UnXQogICAg
IGZsdW5rT25GYWlsdXJlID0gVHJ1ZQogICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAKQEAgLTg5
OCw3ICs5ODgsNyBAQCBjbGFzcyBWYWxpZGF0ZVBhdGNoKGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEJ1
Z3ppbGxhTWl4aW4pOgogICAgIGRlZiBnZXRSZXN1bHRTdW1tYXJ5KHNlbGYpOgogICAgICAgICBp
ZiBzZWxmLnJlc3VsdHMgPT0gRkFJTFVSRToKICAgICAgICAgICAgIHJldHVybiB7J3N0ZXAnOiBz
ZWxmLmRlc2NyaXB0aW9uRG9uZX0KLSAgICAgICAgcmV0dXJuIHN1cGVyKFZhbGlkYXRlUGF0Y2gs
IHNlbGYpLmdldFJlc3VsdFN1bW1hcnkoKQorICAgICAgICByZXR1cm4gc3VwZXIoVmFsaWRhdGVD
aGFuZ2UsIHNlbGYpLmdldFJlc3VsdFN1bW1hcnkoKQogCiAgICAgZGVmIGRvU3RlcElmKHNlbGYs
IHN0ZXApOgogICAgICAgICByZXR1cm4gbm90IHNlbGYuZ2V0UHJvcGVydHkoJ3NraXBfdmFsaWRh
dGlvbicsIEZhbHNlKQpAQCAtOTEyLDU0ICsxMDAyLDgyIEBAIGNsYXNzIFZhbGlkYXRlUGF0Y2go
YnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6CiAKICAgICBkZWYgc3RhcnQoc2Vs
Zik6CiAgICAgICAgIHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnJykK
LSAgICAgICAgaWYgbm90IHBhdGNoX2lkOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0
ZGlvJywgJ05vIHBhdGNoX2lkIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IHBhdGNo
X2lkLlxuJykKLSAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIHBhdGNoIGlk
IGZvdW5kJworICAgICAgICBwcl9udW1iZXIgPSBzZWxmLmdldF9wdWxsX3JlcXVlc3RfbnVtYmVy
KCkKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQgYW5kIG5vdCBwcl9udW1iZXI6CisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgb3IgcHJfbnVtYmVyIGZv
dW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IG9uZSBvZiB0aGVtLlxuJykKKyAgICAgICAg
ICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIGNoYW5nZSBmb3VuZCcKICAgICAgICAgICAg
IHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKKyAgICAg
ICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBzZWxmLnZhbGlkYXRlX2J1Z3ppbGxhKCk6CisgICAgICAg
ICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBwcl9udW1iZXIgYW5kIG5vdCBzZWxmLnZhbGlk
YXRlX2dpdGh1YigpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBpZiBzZWxm
LnZlcmlmeUJ1Z0Nsb3NlZDoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdC
dWcgaXMgb3Blbi5cbicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGU6CisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGlzIG5vdCBvYnNvbGV0ZS5cbicp
CisgICAgICAgIGlmIHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkOgorICAgICAgICAgICAgc2VsZi5f
YWRkVG9Mb2coJ3N0ZGlvJywgJ0NoYW5nZSBoYXMgbm90IGJlZW4gZGVuaWVkLlxuJykKKyAgICAg
ICAgaWYgc2VsZi52ZXJpZnljcXBsdXM6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3Rk
aW8nLCAnQ2hhbmdlIGlzIGluIGNvbW1pdCBxdWV1ZS5cbicpCisgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGhhcyBiZWVuIHJldmlld2VkLlxuJykKKyAgICAgICAg
c2VsZi5maW5pc2hlZChTVUNDRVNTKQorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIHZh
bGlkYXRlX2J1Z3ppbGxhKHNlbGYpOgorICAgICAgICBwYXRjaF9pZCA9IHNlbGYuZ2V0UHJvcGVy
dHkoJ3BhdGNoX2lkJywgJycpCiAgICAgICAgIGJ1Z19pZCA9IHNlbGYuZ2V0UHJvcGVydHkoJ2J1
Z19pZCcsICcnKSBvciBzZWxmLmdldF9idWdfaWRfZnJvbV9wYXRjaChwYXRjaF9pZCkKIAogICAg
ICAgICBidWdfY2xvc2VkID0gc2VsZi5faXNfYnVnX2Nsb3NlZChidWdfaWQpIGlmIHNlbGYudmVy
aWZ5QnVnQ2xvc2VkIGVsc2UgMAogICAgICAgICBpZiBidWdfY2xvc2VkID09IDE6CiAgICAgICAg
ICAgICBzZWxmLnNraXBfYnVpbGQoJ0J1ZyB7fSBpcyBhbHJlYWR5IGNsb3NlZCcuZm9ybWF0KGJ1
Z19pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNl
CiAKICAgICAgICAgb2Jzb2xldGUgPSBzZWxmLl9pc19wYXRjaF9vYnNvbGV0ZShwYXRjaF9pZCkg
aWYgc2VsZi52ZXJpZnlPYnNvbGV0ZSBlbHNlIDAKICAgICAgICAgaWYgb2Jzb2xldGUgPT0gMToK
ICAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUGF0Y2gge30gaXMgb2Jzb2xldGUnLmZvcm1h
dChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCiAKICAgICAgICAgcmV2aWV3X2RlbmllZCA9IHNlbGYuX2lzX3BhdGNoX3Jldmlld19k
ZW5pZWQocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkIGVsc2UgMAogICAgICAg
ICBpZiByZXZpZXdfZGVuaWVkID09IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1Bh
dGNoIHt9IGlzIG1hcmtlZCByLScuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBjcV9wbHVzID0gc2Vs
Zi5faXNfcGF0Y2hfY3FfcGx1cyhwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnljcXBsdXMgZWxzZSAx
CiAgICAgICAgIGlmIGNxX3BsdXMgIT0gMToKICAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgn
UGF0Y2gge30gaXMgbm90IG1hcmtlZCBjcSsuJy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIGFjY2Vw
dGFibGVfcmV2aWV3X2ZsYWcgPSBzZWxmLl9kb2VzX3BhdGNoX2hhdmVfYWNjZXB0YWJsZV9yZXZp
ZXdfZmxhZyhwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnljcXBsdXMgZWxzZSAxCiAgICAgICAgIGlm
IGFjY2VwdGFibGVfcmV2aWV3X2ZsYWcgIT0gMToKICAgICAgICAgICAgIHNlbGYuc2tpcF9idWls
ZCgnUGF0Y2gge30gZG9lcyBub3QgaGF2ZSBhY2NlcHRhYmxlIHJldmlldyBmbGFnLicuZm9ybWF0
KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4g
RmFsc2UKIAogICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciByZXZpZXdfZGVuaWVkID09IC0x
IG9yIGJ1Z19jbG9zZWQgPT0gLTE6CiAgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKFdBUk5JTkdT
KQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5QnVnQ2xvc2VkOgotICAg
ICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBvcGVuLlxuJykKLSAgICAg
ICAgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZToKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdQYXRjaCBpcyBub3Qgb2Jzb2xldGUuXG4nKQotICAgICAgICBpZiBzZWxmLnZlcmlm
eVJldmlld0RlbmllZDoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdQYXRj
aCBpcyBub3QgbWFya2VkIHItLlxuJykKLSAgICAgICAgaWYgc2VsZi52ZXJpZnljcXBsdXM6Ci0g
ICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbWFya2VkIGNxKy5c
bicpCi0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaGF2ZSBhY2Nl
cHRhYmxlIHJldmlldyBmbGFnLlxuJykKLSAgICAgICAgc2VsZi5maW5pc2hlZChTVUNDRVNTKQot
ICAgICAgICByZXR1cm4gTm9uZQorICAgIGRlZiB2YWxpZGF0ZV9naXRodWIoc2VsZik6CisgICAg
ICAgIHByX251bWJlciA9IHNlbGYuZ2V0X3B1bGxfcmVxdWVzdF9udW1iZXIoKQorCisgICAgICAg
IHByX2Nsb3NlZCA9IHNlbGYuX2lzX3ByX2Nsb3NlZChwcl9udW1iZXIpIGlmIHNlbGYudmVyaWZ5
QnVnQ2xvc2VkIGVsc2UgMAorICAgICAgICBpZiBwcl9jbG9zZWQgPT0gMToKKyAgICAgICAgICAg
IHNlbGYuc2tpcF9idWlsZCgnUHVsbC1yZXF1ZXN0IHt9IGlzIGFscmVhZHkgY2xvc2VkJy5mb3Jt
YXQocHJfbnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIG9ic29s
ZXRlID0gc2VsZi5faXNfcHJfb2Jzb2xldGUocHJfbnVtYmVyKSBpZiBzZWxmLnZlcmlmeU9ic29s
ZXRlIGVsc2UgMAorICAgICAgICBpZiBvYnNvbGV0ZSA9PSAxOgorICAgICAgICAgICAgc2VsZi5z
a2lwX2J1aWxkKCdQdWxsLXJlcXVlc3Qge30gd2l0aCBjaGFuZ2Uge30gaXMgb2Jzb2xldGUnLmZv
cm1hdChwcl9udW1iZXIsIHNlbGYuZ2V0UHJvcGVydHkoJ3JldmlzaW9uJywgJz8nKSkpCisgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciBwcl9j
bG9zZWQgPT0gLTE6CisgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKFdBUk5JTkdTKQorICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCiAKIAogY2xhc3MgVmFsaWRh
dGVDb21taXRlckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgpAQCAtMTY2Myw3ICsx
NzgxLDcgQEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAgICBkZWYgZXZh
bHVhdGVDb21tYW5kKHNlbGYsIGNtZCk6CiAgICAgICAgIGlmIGNtZC5kaWRGYWlsKCk6CiAgICAg
ICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRvQnVpbGQnLCBUcnVlKQotICAg
ICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRh
dGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQorICAgICAgICAg
ICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVDaGFu
Z2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAgICAgICAgICAgIHBs
YXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAgICAgICAgaWYgcGxh
dGZvcm0gPT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0
YWxsV3BlRGVwZW5kZW5jaWVzKCkpCkBAIC0xOTQzLDkgKzIwNjEsOSBAQCBjbGFzcyBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRydWUpCiAgICAgICAgICAgICBz
ZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVW5BcHBseVBhdGNoSWZSZXF1aXJl
ZCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2Uo
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVKU0NXaXRob3V0UGF0Y2goKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRl
UGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlm
eUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW5KU0NUZXN0c1dpdGhvdXRQ
YXRjaCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cygpXSkKQEAgLTIzNjgsNyArMjQ4Niw3IEBAIGNsYXNzIFJ1
bldlYktpdFRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICAgICAgICAgIEFyY2hpdmVUZXN0UmVz
dWx0cygpLAogICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKCksCiAgICAgICAgICAg
ICAgICAgRXh0cmFjdFRlc3RSZXN1bHRzKCksCi0gICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAg
IFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAg
ICAgICAgICAgICAgICAgS2lsbE9sZFByb2Nlc3NlcygpLAogICAgICAgICAgICAgICAgIFJlUnVu
V2ViS2l0VGVzdHMoKSwKICAgICAgICAgICAgIF0pCkBAIC0yNDYzLDkgKzI1ODEsOSBAQCBjbGFz
cyBSZVJ1bldlYktpdFRlc3RzKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKGlkZW50aWZpZXI9
J3JlcnVuJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFeHRyYWN0VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVydW4nKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlk
YXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJl
dHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwg
YWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFs
c2UpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2ls
bE9sZFByb2Nlc3NlcygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goKV0pCiAgICAgICAgIHJldHVybiBy
YwpAQCAtMjc4OCw3ICsyOTA2LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRUcmVlKFJ1bldl
YktpdFRlc3RzKToKICAgICAgICAgcmMgPSBzZWxmLmV2YWx1YXRlUmVzdWx0KGNtZCkKICAgICAg
ICAgbmV4dF9zdGVwcyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMo
KSwgRXh0cmFjdFRlc3RSZXN1bHRzKCldCiAgICAgICAgIGlmIGZpcnN0X3Jlc3VsdHNfZmFpbGlu
Z190ZXN0czoKLSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZVBhdGNoKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwg
UnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUoKV0pCisgICAgICAgICAgICBuZXh0
X3N0ZXBzLmV4dGVuZChbVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRV
UkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1
cmVzUmVkVHJlZSgpXSkKICAgICAgICAgZWxpZiBmaXJzdF9yZXN1bHRzX2ZsYWt5X3Rlc3RzOgog
ICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1Jl
ZFRyZWUoKSkKICAgICAgICAgZWxpZiByYyA9PSBTVUNDRVNTIG9yIHJjID09IFdBUk5JTkdTOgpA
QCAtMjgwNiw3ICsyOTI0LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRUcmVlKFJ1bldlYktp
dFRlc3RzKToKICAgICAgICAgICAgIGlmIHJldHJ5X2NvdW50IDwgQW5hbHl6ZUxheW91dFRlc3Rz
UmVzdWx0c1JlZFRyZWUuTUFYX1JFVFJZOgogICAgICAgICAgICAgICAgIG5leHRfc3RlcHMuYXBw
ZW5kKEFuYWx5emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlKCkpCiAgICAgICAgICAgICBlbHNl
OgotICAgICAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtVbkFwcGx5UGF0Y2hJZlJlcXVp
cmVkKCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1U
cnVlKSwgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2Up
LCBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCisgICAgICAgICAgICAgICAg
bmV4dF9zdGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktp
dFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLCBWYWxpZGF0ZUNoYW5n
ZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJLaXRUZXN0c1dp
dGhvdXRQYXRjaFJlZFRyZWUoKV0pCiAgICAgICAgIGlmIG5leHRfc3RlcHM6CiAgICAgICAgICAg
ICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChuZXh0X3N0ZXBzKQogICAgICAg
ICByZXR1cm4gcmMKQEAgLTI4MzYsOCArMjk1NCw4IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzUmVw
ZWF0RmFpbHVyZXNSZWRUcmVlKFJ1bldlYktpdFRlc3RzUmVkVHJlZSk6CiAgICAgICAgIG5leHRf
c3RlcHMgPSBbQXJjaGl2ZVRlc3RSZXN1bHRzKCksIFVwbG9hZFRlc3RSZXN1bHRzKGlkZW50aWZp
ZXI9J3JlcGVhdC1mYWlsdXJlcycpLCBFeHRyYWN0VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVw
ZWF0LWZhaWx1cmVzJyldCiAgICAgICAgIGlmIHdpdGhfcGF0Y2hfcmVwZWF0X2ZhaWx1cmVzX3Jl
c3VsdHNfbm9uZmxha3lfZmFpbHVyZXMgb3Igd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfdGlt
ZWRvdXQ6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRlc3RzJywg
VHJ1ZSkKLSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZVBhdGNoKHZlcmlm
eUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgVW5B
cHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1
aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJL
aXRUZXN0c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAg
IG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2Us
IGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFVuQXBwbHlQYXRjaElmUmVxdWly
ZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRy
dWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlm
eUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFp
bHVyZXNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
bmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkKICAg
ICAgICAgaWYgbmV4dF9zdGVwczoKQEAgLTMyNDAsNyArMzM1OCw3IEBAIGNsYXNzIFJ1bkFQSVRl
c3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKICAgICAgICAgICAgIHNlbGYuYnVpbGQucmVzdWx0
cyA9IFNVQ0NFU1MKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5pc2hlZChbbWVzc2Fn
ZV0sIFNVQ0NFU1MpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0
ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2Us
IGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJlUnVuQVBJVGVzdHMoKV0pCisg
ICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVmFsaWRhdGVD
aGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nl
c3NlcygpLCBSZVJ1bkFQSVRlc3RzKCldKQogICAgICAgICByZXR1cm4gcmMKIAogCkBAIC0zMjU2
LDE0ICszMzc0LDE0IEBAIGNsYXNzIFJlUnVuQVBJVGVzdHMoUnVuQVBJVGVzdHMpOgogICAgICAg
ICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwgU1VDQ0VTUykKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMn
LCBUcnVlKQotICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWly
ZWQoKSwgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2Up
XQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwg
VmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAg
ICAgICAgICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAg
ICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRk
LmFwcGVuZChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAgICBlbGlmIHBsYXRm
b3JtID09ICdndGsnOgogICAgICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoSW5zdGFs
bEd0a0RlcGVuZGVuY2llcygpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChDb21w
aWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSkpCi0gICAg
ICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2Vk
PUZhbHNlLCBhZGRVUkxzPUZhbHNlKSkKKyAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQo
VmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSkKICAg
ICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAg
ICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChSdW5BUElUZXN0c1dpdGhvdXRQYXRjaCgpKQogICAg
ICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChBbmFseXplQVBJVGVzdHNSZXN1bHRzKCkpCmRp
ZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCBlZGNjOTRk
N2RlNjlkYTI1MjgwNDJiM2UwNTc3YTJjMmJkNjgxOWFlLi4wMDcyODgwN2Y0NjUzYTZjZTI5MTA2
MzgwZGJiNWM4YjEzNjNjZDlmIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNf
dW5pdHRlc3QucHkKQEAgLTU2LDcgKzU2LDcgQEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFuYWx5emVB
UElUZXN0c1Jlc3VsdHMsIEFuYWx5emVDb21waWxlV2ViS2l0UmVzdWx0cywgQW5hbHl6ZUoKICAg
ICAgICAgICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCwgUnVuV2ViS2l0VGVz
dHNSZWRUcmVlLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSwgUnVuV2ViS2l0
VGVzdHNSZXBlYXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUsCiAgICAgICAgICAgICAgICAg
ICAgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2hSZWRUcmVlLCBBbmFseXplTGF5b3V0VGVzdHNS
ZXN1bHRzUmVkVHJlZSwgVGVzdFdpdGhGYWlsdXJlQ291bnQsIFNob3dJZGVudGlmaWVyLAogICAg
ICAgICAgICAgICAgICAgIFRyaWdnZXIsIFRyYW5zZmVyVG9TMywgVW5BcHBseVBhdGNoSWZSZXF1
aXJlZCwgVXBkYXRlV29ya2luZ0RpcmVjdG9yeSwgVXBsb2FkQnVpbHRQcm9kdWN0LAotICAgICAg
ICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmll
d2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlkYXRlUGF0Y2gsIFZlcmlmeUdp
dEh1YkludGVncml0eSkKKyAgICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0UmVzdWx0cywgVmFs
aWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBW
YWxpZGF0ZUNoYW5nZSwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQogCiAjIFdvcmthcm91bmQgZm9y
IGh0dHBzOi8vZ2l0aHViLmNvbS9idWlsZGJvdC9idWlsZGJvdC9pc3N1ZXMvNDY2OQogZnJvbSBi
dWlsZGJvdC50ZXN0LmZha2UuZmFrZWJ1aWxkIGltcG9ydCBGYWtlQnVpbGQKQEAgLTQ0ODcsNyAr
NDQ4Nyw3IEBAIGNsYXNzIFRlc3RDcmVhdGVMb2NhbEdJVENvbW1pdChCdWlsZFN0ZXBNaXhpbkFk
ZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4gcmMKIAogCi1jbGFz
cyBUZXN0VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVz
dENhc2UpOgorY2xhc3MgVGVzdFZhbGlkYXRlQ2hhbmdlKEJ1aWxkU3RlcE1peGluQWRkaXRpb25z
LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICByZXR1
cm4gc2VsZi5zZXRVcEJ1aWxkU3RlcCgpCiAKQEAgLTQ1MDYsMjUgKzQ1MDYsMjUgQEAgY2xhc3Mg
VGVzdFZhbGlkYXRlUGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgICAgICAgICAgICAgICJzdW1tYXJ5IjogInt9In19JycnLmZvcm1hdChv
YnNvbGV0ZSwgdGl0bGUpKQogCiAgICAgZGVmIHRlc3Rfc2tpcHBlZChzZWxmKToKLSAgICAgICAg
c2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxmLnNldHVwU3RlcChW
YWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICcx
MjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVnX2lkJywgJzU2NzgnKQogICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBUcnVlKQotICAgICAgICBzZWxm
LmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIHBh
dGNoIChza2lwcGVkKScpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U0tJUFBF
RCwgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lwcGVkKScpCiAgICAgICAgIHJl
dHVybiBzZWxmLnJ1blN0ZXAoKQogCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKLSAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQot
ICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lk
OiBzZWxmLmdldF9wYXRjaCgpCisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdl
KHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRj
aF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCiAgICAgICAgIHNl
bGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQyNTgwNicpCi0gICAgICAgIHNlbGYuZXhwZWN0
T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQor
ICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0n
VmFsaWRhdGVkIGNoYW5nZScpCiAgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBO
b25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNldCcpCiAgICAgICAgIHJl
dHVybiByYwogCiAgICAgZGVmIHRlc3Rfb2Jzb2xldGVfcGF0Y2goc2VsZik6Ci0gICAgICAgIHNl
bGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAg
ICAgVmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2Vs
Zi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVD
aGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFsaWRhdGVDaGFuZ2UuZ2V0
X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3BhdGNoKG9ic29sZXRl
PTEpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQyNTgwNicpCiAgICAg
ICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdQYXRj
aCA0MjU4MDYgaXMgb2Jzb2xldGUnKQogICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCkBAIC00
NTM0LDEwICs0NTM0LDEwIEBAIGNsYXNzIFRlc3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1peGlu
QWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfZmFzdF9jcV9wYXRj
aGVzX3RyaWdnZXJfZmFzdF9jcV9tb2RlKHNlbGYpOgogICAgICAgICBmYXN0X2NxX3BhdGNoX3Rp
dGxlcyA9ICgnUkVWRVJUIE9GIHIxMjM0JywgJ3JldmVydCBvZiByMTIzNCcsICdbZmFzdC1jcV1Q
YXRjaCcsICdbRkFTVC1jcV0gcGF0Y2gnLCAnZmFzdC1jcS1wYXRjaCcsICdGQVNULUNRIFBhdGNo
JykKICAgICAgICAgZm9yIGZhc3RfY3FfcGF0Y2hfdGl0bGUgaW4gZmFzdF9jcV9wYXRjaF90aXRs
ZXM6Ci0gICAgICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSkpCi0gICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0g
bGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0X2NxX3BhdGNoX3Rp
dGxlKQorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlKSkKKyAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRjaF9qc29u
ID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0X2NxX3BhdGNo
X3RpdGxlKQogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1ODA2
JykKLSAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVf
c3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQorICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21l
KHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBjaGFuZ2UnKQogICAgICAg
ICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBUcnVlLCAnZmFzdF9jb21taXRf
cXVldWUgaXMgbm90IHNldCwgcGF0Y2ggdGl0bGU6IHt9Jy5mb3JtYXQoZmFzdF9jcV9wYXRjaF90
aXRsZSkpCiAgICAgICAgIHJldHVybiByYwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449073</attachid>
            <date>2022-01-13 09:34:24 -0800</date>
            <delta_ts>2022-01-13 21:22:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220113093423.patch</filename>
            <type>text/plain</type>
            <size>45041</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjc1Y2UyODA4ZDJmZjhjZmNkNmU5ZWJiYTM3YWZjMzJk
YWMxZmI1My4uOWI2MjdjOTkzMzcxYzIwYmI1ZGYxYjk0NWE1MzUzNDRhOThiZjRmMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIyLTAxLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyk6IFN0ZXAg
bmFtZSBjaGFuZ2VkIGZyb20gdmFsaWRhdGUtcGF0Y2ggdG8gdmFsaWRhdGUtY2hhbmdlLgorICAg
ICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChHaXRIdWIucHJf
dXJsKTogQWRkIG1pc3NpbmcgLy4KKyAgICAgICAgKEdpdEh1Yi5hcGlfdXJsKTogQ29udmVydCBh
IHJlcG9zaXRvcnkgVVJMIHRvIHRoZSBBUEkgdXJsIGZvciB0aGF0IHJlcG9zaXRvcnkuCisgICAg
ICAgIChHaXRIdWIuY3JlZGVudGlhbHMpOiBBY2Nlc3MgR2l0SHViIGNyZWRlbnRpYWxzIGZyb20g
cGFzc3dvcmRzLmpzb24uCisgICAgICAgIChHaXRIdWJNaXhpbik6CisgICAgICAgIChHaXRIdWJN
aXhpbi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24pOgorICAgICAgICAo
R2l0SHViTWl4aW4uZ2V0X3ByX2pzb24pOgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Ns
b3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIGNsb3NlZC4KKyAgICAgICAgKEdpdEh1
Yk1peGluLl9pc19wcl9vYnNvbGV0ZSk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIG9ic29s
ZXRlLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRj
aC4KKyAgICAgICAgKFZhbGlkYXRlQ2hhbmdlLmdldFJlc3VsdFN1bW1hcnkpOgorICAgICAgICAo
VmFsaWRhdGVDaGFuZ2Uuc3RhcnQpOiBJbnZva2UgdmFsaWRhdGVfYnVnemlsbGEgb3IgdmFsaWRh
dGVfZ2l0aHViLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfYnVnemlsbGEpOiBD
aGVjayBhIGJ1Z3ppbGxhIHBhdGNoLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVf
Z2l0aHViKTogQ2hlY2sgYSBHaXRIdWIgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoQ29tcGlsZVdl
YktpdC5ldmFsdWF0ZUNvbW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNo
YW5nZS4KKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTog
RGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4K
KyAgICAgICAgKFJlUnVuV2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQp
OiBEaXR0by4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgor
ICAgICAgICAoUmVSdW5BUElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAg
KFZhbGlkYXRlUGF0Y2gpOiBSZW5hbWVkIHRvIFZhbGlkYXRlQ2hhbmdlLgorICAgICAgICAqIENJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHk6CisKIDIwMjItMDEtMTMgIFBhdHJp
Y2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IElt
cGxlbWVudCBgZnJhbWVVUkxgIG9wdGlvbiBmb3IgYGRldnRvb2xzLmluc3BlY3RlZFdpbmRvdy5l
dmFsYCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IDFk
N2VjMjNlZGU5NGZmMTE3MzVkMDQ0YjQ4NjhkNTNlNGFmMDAxMzQuLjBkZDlmOTJkNDc0ZjY5MjBk
Nzk2M2Y3OWQ3NWU5NWY4ODk1ZDM2NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzLnB5CkBAIC0zMiw3ICszMiw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBB
cHBseVdhdGNoTGlzdCwgQ2hlY2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAg
ICAgICAgICAgICAgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzLCBSdW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVu
V2ViS2l0UHlQeXRob24yVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRo
b24zVGVzdHMsIFJ1bldlYktpdFRlc3RzLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktp
dFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzR3VhcmRtYWxsb2NNb2Rl
LAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lkZW50aWZpZXIsIFRy
aWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksCi0gICAgICAg
ICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwg
VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9uLAorICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmll
d2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JDcmFzaENvbGxlY3Rpb24s
CiAgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCwgVmVyaWZ5R2l0SHViSW50
ZWdyaXR5KQogCiAKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxk
RmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tQYXRjaFJlbGV2YW5jZSgp
KQogICAgICAgICBpZiBzZWxmLmZpbmRNb2RpZmllZExheW91dFRlc3RzOgogICAgICAgICAgICAg
c2VsZi5hZGRTdGVwKEZpbmRNb2RpZmllZExheW91dFRlc3RzKCkpCi0gICAgICAgIHNlbGYuYWRk
U3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5n
ZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNr
T3V0U291cmNlKCkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIFN0eWxlRmFjdG9yeShmYWN0b3J5
LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1O
b25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9y
eS5CdWlsZEZhY3RvcnkuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZp
Z3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10
cmlnZ2VycywgcmVtb3Rlcz1yZW1vdGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxB
cmd1bWVudHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFBy
aW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgpKQpAQCAtNzgsNyArNzgsNyBA
QCBjbGFzcyBXYXRjaExpc3RGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhz
ZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMs
IGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENo
ZWNrT3V0U291cmNlKCkpCkBAIC0yNDMsNyArMjQzLDcgQEAgY2xhc3MgV2luZG93c0ZhY3Rvcnko
RmFjdG9yeSk6CiAgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1l
bnRzPWFkZGl0aW9uYWxBcmd1bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21w
aWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNl
bGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChTZXRCdWlsZFN1bW1hcnkoKSkKIApAQCAtMjg1LDcgKzI4NSw3IEBAIGNs
YXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9
Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3Rv
cnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25m
aWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9
Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVu
dHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKGRlZmF1bHRfYnJhbmNoPSdtYXN0ZXInKSkKQEAgLTMwMCwx
MCArMzAwLDEwIEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9y
eSk6CiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcygpKQogICAg
ICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0VGVzdHMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVw
KFZhbGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVz
PVRydWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UocmVwb3VybD0naHR0
cHM6Ly9naXQud2Via2l0Lm9yZy9naXQvV2ViS2l0LWh0dHBzJykpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChTaG93SWRlbnRpZmllcigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVXBkYXRlV29ya2lu
Z0RpcmVjdG9yeSgpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191
bml0dGVzdC5weQppbmRleCBhMGE3NmUzNDVlODE0ZjkxYTlmMzQ0ZDUwOTI3Zjc4ZjM4ZTQ3ZTU3
Li5kZTUyZDNhYThiZGFhYWE0MGI5ZDk4NWFjZmM4ZjU0NTVkM2VlYzc3IDEwMDY0NAotLS0gYS9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQorKysgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQpAQCAtMzEsNyArMzEs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBleHBlY3RlZF9zdGVwcyA9IHsKICAgICAgICAgJ1N0eWxlLUVXUyc6IFsKICAgICAgICAgICAg
ICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAg
ICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAog
ICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgVGVzdEV4
cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAg
ICdBcHBseS1XYXRjaExpc3QtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
Ci0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNo
YW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4t
dXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJl
Y3RvcnknLApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0dUSy1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC03MCw3ICs3MCw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBdLAogICAgICAgICAnR1RLLVdLMi1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC04OSw3ICs4OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1
LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTEwMiw3ICsxMDIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ2lPUy0xNS1TaW11bGF0b3ItQnVpbGQtRVdT
JzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRh
dGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAn
Y29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAg
ICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTE1LDcgKzEx
NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LVNpbXVsYXRvci1XSzItVGVzdHMtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTM2LDcgKzEzNiw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnbWFjT1MtQXBwbGVTaWxpY29uLUJpZy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAg
ICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZh
bmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRh
dGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdj
bGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5n
LWRpcmVjdG9yeScsCkBAIC0xNDksNyArMTQ5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRT
dGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBs
ZVNpbGljb24tQmlnLVN1ci1EZWJ1Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2Nv
bmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
bWFjT1MtQ2F0YWxpbmEtUmVsZWFzZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVk
QnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGluYS1S
ZWxlYXNlLVdLMS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywK
ICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIwMyw3ICsy
MDMsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgXSwKICAgICAgICAgJ21hY09TLUNhdGFsaW5hLVJlbGVhc2UtV0syLVRlc3RzLUVX
Uyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIyNCw3ICsy
MjQsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgJ21hY09TLVJlbGVhc2UtV0syLVN0cmVzcy1UZXN0cy1FV1MnOiBbCiAgICAgICAg
ICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdmaW5kLW1vZGlmaWVkLWxheW91
dC10ZXN0cycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMjQyLDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1Mt
Q2F0YWxpbmEtRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMjU2LDcgKzI1Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sx
LVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAg
ICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gn
LAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJh
dGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2Ns
ZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMjc2LDcgKzI3Niw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBd
LAogICAgICAgICAnd2F0Y2hPUy04LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1
cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTI4OSw3ICsyODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNo
T1MtOC1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMzAyLDcgKzMwMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAndHZPUy0xNS1CdWls
ZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMTUs
NyArMzE1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIF0sCiAgICAgICAgICd0dk9TLTE1LVNpbXVsYXRvci1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMjksNyArMzI5LDcg
QEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICdXaW5kb3dzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzM5LDEzICszMzks
MTMgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICAgICAnYXBwbHktcGF0Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3Nl
cycsCiAgICAgICAgICAgICAnY29tcGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRl
LXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xh
eW91dC10ZXN0cycsCiAgICAgICAgICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0s
CiAgICAgICAgICdXaW5DYWlyby1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxk
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC0zNTgsNyArMzU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzczLDcgKzM3Myw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnSlNDLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzg4LDcgKzM4OCw3
IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICAnSlNDLU1JUFNFTC0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQt
cmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScs
CkBAIC00MDIsNyArNDAyLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtTUlQU0VMLTMyYml0cy1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMt
QnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAg
ICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcs
CisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0
aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xl
YW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00MzIsNyArNDMyLDcgQEAgY2xh
c3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdK
U0MtQVJNdjctMzJiaXRzLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVp
bGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDQ4
LDcgKzQ0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnSlNDLWkzODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25m
aWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNDYyLDcgKzQ2Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAg
ICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNl
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC00NzUsNyArNDc1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQ4OSw3ICs0ODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ1dlYktp
dFBlcmwtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNTAxLDcgKzUwMSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLWlPUy1TaW11bGF0
b3ItRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTE2
LDcgKzUxNiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAg
ICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywK
KyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVh
bi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTUzMSw3ICs1MzEsNyBAQCBjbGFz
cyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwK
ICAgICAgICAgJ0FQSS1UZXN0cy1HVEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2lu
Zy1kaXJlY3RvcnknLApAQCAtNTQ4LDcgKzU0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxk
U3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAg
ICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVs
ZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFs
aWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAg
ICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3Jr
aW5nLWRpcmVjdG9yeScsCkBAIC01NjQsNyArNTY0LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQt
UXVldWUnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICd2YWxpZGF0ZS1jb21taXRlci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZp
Z3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU3OSwxMCAr
NTc5LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGls
ZS13ZWJraXQnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY2hlY2stc3RhdHVzLW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlv
dXQtdGVzdHMnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLAogICAgICAgICAgICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAn
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IGZlMjRjMTBmYzI0N2M1MGYxMmU5MjczYTNhM2U3ZWM5ZjhjZTQ2MTEuLmM5NDc5MjU2MTkw
MmM4ZGNlYjRlM2QyODU3N2VmZmVkMzA2NWQ0YmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtNTQsNyArNTQsNiBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5vcmcv
JwogUkVTVUxUU19EQl9VUkwgPSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0aFBy
b3BlcnRpZXMgPSBwcm9wZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHByb3Bl
cnRpZXMuSW50ZXJwb2xhdGUKLUJSQU5DSF9QUl9SRSA9IHJlLmNvbXBpbGUocidecmVmcy9wdWxs
Lyg/UDxpZD5cZCspL21lcmdlJCcpCiBHSVRIVUJfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS8n
CiBHSVRIVUJfUFJPSkVDVFMgPSBbJ1dlYktpdC9XZWJLaXQnXQogCkBAIC04Niw3ICs4NSw5NSBA
QCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiAnJwogICAgICAgICBp
ZiBub3QgcHJfbnVtYmVyIG9yIG5vdCBpc2luc3RhbmNlKHByX251bWJlciwgaW50KToKICAgICAg
ICAgICAgIHJldHVybiAnJwotICAgICAgICByZXR1cm4gJ3t9cHVsbC97fScuZm9ybWF0KHJlcG9z
aXRvcnlfdXJsLCBwcl9udW1iZXIpCisgICAgICAgIHJldHVybiAne30vcHVsbC97fScuZm9ybWF0
KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYg
YXBpX3VybChjbHMsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgorICAgICAgICBpZiBub3QgcmVwb3Np
dG9yeV91cmw6CisgICAgICAgICAgICByZXBvc2l0b3J5X3VybCA9ICd7fXt9Jy5mb3JtYXQoR0lU
SFVCX1VSTCwgR0lUSFVCX1BST0pFQ1RTWzBdKQorCisgICAgICAgIGlmIHJlcG9zaXRvcnlfdXJs
IG5vdCBpbiBHaXRIdWIucmVwb3NpdG9yeV91cmxzKCk6CisgICAgICAgICAgICByZXR1cm4gJycK
KyAgICAgICAgXywgdXJsX2Jhc2UgPSByZXBvc2l0b3J5X3VybC5zcGxpdCgnOi8vJywgMSkKKyAg
ICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNlLnNwbGl0KCcvJywgMSkKKyAgICAgICAgcmV0dXJu
ICdodHRwczovL2FwaS57fS9yZXBvcy97fScuZm9ybWF0KGhvc3QsIHBhdGgpCisKKyAgICBAY2xh
c3NtZXRob2QKKyAgICBkZWYgY3JlZGVudGlhbHMoY2xzKToKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4oJ3Bhc3N3b3Jkcy5qc29uJykpCisgICAg
ICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NPTV9VU0VSTkFNRScsIE5vbmUp
LCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX0FDQ0VTU19UT0tFTicsIE5vbmUpCisgICAgICAg
IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50KCdFcnJvciByZWFkaW5n
IEdpdEh1YiBhcGkga2V5JykKKyAgICAgICAgICAgIHJldHVybiBOb25lLCBOb25lCisKKworY2xh
c3MgR2l0SHViTWl4aW4ob2JqZWN0KToKKyAgICBhZGRVUkxzID0gRmFsc2UKKyAgICBwcl9vcGVu
X3N0YXRlcyA9IFsnb3BlbiddCisgICAgcHJfY2xvc2VkX3N0YXRlcyA9IFsnY2xvc2VkJ10KKwor
ICAgIGRlZiBmZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24oc2VsZiwgdXJs
KToKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHVz
ZXJuYW1lLCBhY2Nlc3NfdG9rZW4gPSBzZWxmLmNyZWRlbnRpYWxzKCkKKyAgICAgICAgICAgIGF1
dGggPSBIVFRQQmFzaWNBdXRoKHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4pIGlmIHVzZXJuYW1lIGFu
ZCBhY2Nlc3NfdG9rZW4gZWxzZSBOb25lCisgICAgICAgICAgICByZXNwb25zZSA9IHJlcXVlc3Rz
LmdldCgKKyAgICAgICAgICAgICAgICB1cmwsIHRpbWVvdXQ9NjAsIGF1dGg9YXV0aCwKKyAgICAg
ICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0aHViLnYz
K2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0YXR1c19j
b2RlIC8vIDEwMCAhPSAyOgorICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycs
ICdBY2Nlc3NlZCB7dXJsfSB3aXRoIHVuZXhwZWN0ZWQgc3RhdHVzIGNvZGUge3N0YXR1c19jb2Rl
fS5cbicuZm9ybWF0KHVybD11cmwsIHN0YXR1c19jb2RlPXJlc3BvbnNlLnN0YXR1c19jb2RlKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz
IGU6CisgICAgICAgICAgICAjIENhdGNoaW5nIGFsbCBleGNlcHRpb25zIGhlcmUgdG8gc2FmZWd1
YXJkIGFjY2VzcyB0b2tlbi4KKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdG
YWlsZWQgdG8gYWNjZXNzIHt1cmx9LlxuJy5mb3JtYXQodXJsPXVybCkpCisgICAgICAgICAgICBy
ZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcmVzcG9uc2UKKworICAgIGRlZiBnZXRfcHJfanNv
bihzZWxmLCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgorICAgICAgICBhcGlf
dXJsID0gR2l0SHViLmFwaV91cmwocmVwb3NpdG9yeV91cmwpCisgICAgICAgIGlmIG5vdCBhcGlf
dXJsOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBwcl91cmwgPSAne30vcHVs
bHMve30nLmZvcm1hdChhcGlfdXJsLCBwdWxsX3JlcXVlc3QpCisgICAgICAgIGNvbnRlbnQgPSBz
ZWxmLmZldGNoX2RhdGFfZnJvbV91cmxfd2l0aF9hdXRoZW50aWNhdGlvbihwcl91cmwpCisgICAg
ICAgIGlmIG5vdCBjb250ZW50OgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgdHJ5
OgorICAgICAgICAgICAgcHJfanNvbiA9IGNvbnRlbnQuanNvbigpCisgICAgICAgIGV4Y2VwdCBF
eGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50KCdGYWlsZWQgdG8gcHVsbC1yZXF1ZXN0
IGZyb20ge30sIGVycm9yOiB7fScuZm9ybWF0KHByX3VybCwgZSkpCisgICAgICAgICAgICByZXR1
cm4gTm9uZQorICAgICAgICBpZiBub3QgcHJfanNvbiBvciBsZW4ocHJfanNvbikgPT0gMDoKKyAg
ICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBwcl9qc29uCisKKyAgICBkZWYg
X2lzX3ByX2Nsb3NlZChzZWxmLCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgor
ICAgICAgICBpZiBub3QgcHVsbF9yZXF1ZXN0OgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2co
J3N0ZGlvJywgJ1NraXBwaW5nIHB1bGwtcmVxdWVzdCBzdGF0dXMgdmFsaWRhdGlvbiBzaW5jZSBw
dWxsLXJlcXVlc3QgaXMgTm9uZS5cbicpCisgICAgICAgICAgICByZXR1cm4gLTEKKworICAgICAg
ICBwcl9qc29uID0gc2VsZi5nZXRfcHJfanNvbihwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJs
PXJlcG9zaXRvcnlfdXJsKQorICAgICAgICBpZiBub3QgcHJfanNvbiBvciBub3QgcHJfanNvbi5n
ZXQoJ3N0YXRlJyk6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnVW5hYmxl
IHRvIGZldGNoIHB1bGwtcmVxdWVzdCB7fS5cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAg
ICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgaWYgcHJfanNvbi5nZXQoJ3N0YXRlJykgaW4gc2Vs
Zi5wcl9jbG9zZWRfc3RhdGVzOgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgcmV0dXJu
IDAKKworICAgIGRlZiBfaXNfcHJfb2Jzb2xldGUoc2VsZiwgcHVsbF9yZXF1ZXN0LCByZXBvc2l0
b3J5X3VybD1Ob25lKToKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24ocHVsbF9y
ZXF1ZXN0LCByZXBvc2l0b3J5X3VybD1yZXBvc2l0b3J5X3VybCkKKyAgICAgICAgaWYgbm90IHBy
X2pzb246CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnVW5hYmxlIHRvIGZl
dGNoIHB1bGwgcmVxdWVzdCB7fS5cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAg
ICByZXR1cm4gLTEKKworICAgICAgICBoZWFkID0gcHJfanNvbi5nZXQoJ2hlYWQnLCB7fSkuZ2V0
KCdzaGEnLCAnJykKKyAgICAgICAgaWYgbm90IGhlYWQ6CisgICAgICAgICAgICBzZWxmLl9hZGRU
b0xvZygnc3RkaW8nLCAnRmFpbGVkIHRvIGZldGNoIGhhc2ggb2YgcHVsbCByZXF1ZXN0IHt9XG4n
LmZvcm1hdChwdWxsX3JlcXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAg
cmV0dXJuIGhlYWQgIT0gc2VsZi5nZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnPycpCiAKIAogY2xh
c3MgQ29udHJpYnV0b3JzKG9iamVjdCk6CkBAIC05MjcsMTAgKzEwMTQsMTAgQEAgY2xhc3MgQnVn
emlsbGFNaXhpbihvYmplY3QpOgogICAgICAgICByZXR1cm4gU1VDQ0VTUwogCiAKLWNsYXNzIFZh
bGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6Ci0gICAgbmFt
ZSA9ICd2YWxpZGF0ZS1wYXRjaCcKLSAgICBkZXNjcmlwdGlvbiA9IFsndmFsaWRhdGUtcGF0Y2gg
cnVubmluZyddCi0gICAgZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQgcGF0Y2gnXQorY2xh
c3MgVmFsaWRhdGVDaGFuZ2UoYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbiwgR2l0
SHViTWl4aW4pOgorICAgIG5hbWUgPSAndmFsaWRhdGUtY2hhbmdlJworICAgIGRlc2NyaXB0aW9u
ID0gWyd2YWxpZGF0ZS1jaGFuZ2UgcnVubmluZyddCisgICAgZGVzY3JpcHRpb25Eb25lID0gWydW
YWxpZGF0ZWQgY2hhbmdlJ10KICAgICBmbHVua09uRmFpbHVyZSA9IFRydWUKICAgICBoYWx0T25G
YWlsdXJlID0gVHJ1ZQogCkBAIC05NDUsNyArMTAzMiw3IEBAIGNsYXNzIFZhbGlkYXRlUGF0Y2go
YnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6CiAgICAgZGVmIGdldFJlc3VsdFN1
bW1hcnkoc2VsZik6CiAgICAgICAgIGlmIHNlbGYucmVzdWx0cyA9PSBGQUlMVVJFOgogICAgICAg
ICAgICAgcmV0dXJuIHsnc3RlcCc6IHNlbGYuZGVzY3JpcHRpb25Eb25lfQotICAgICAgICByZXR1
cm4gc3VwZXIoVmFsaWRhdGVQYXRjaCwgc2VsZikuZ2V0UmVzdWx0U3VtbWFyeSgpCisgICAgICAg
IHJldHVybiBzdXBlcihWYWxpZGF0ZUNoYW5nZSwgc2VsZikuZ2V0UmVzdWx0U3VtbWFyeSgpCiAK
ICAgICBkZWYgZG9TdGVwSWYoc2VsZiwgc3RlcCk6CiAgICAgICAgIHJldHVybiBub3Qgc2VsZi5n
ZXRQcm9wZXJ0eSgnc2tpcF92YWxpZGF0aW9uJywgRmFsc2UpCkBAIC05NTksNTQgKzEwNDYsOTUg
QEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGlu
KToKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFBy
b3BlcnR5KCdwYXRjaF9pZCcsICcnKQotICAgICAgICBpZiBub3QgcGF0Y2hfaWQ6Ci0gICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgZm91bmQuIFVuYWJsZSB0
byBwcm9jZWVkIHdpdGhvdXQgcGF0Y2hfaWQuXG4nKQotICAgICAgICAgICAgc2VsZi5kZXNjcmlw
dGlvbkRvbmUgPSAnTm8gcGF0Y2ggaWQgZm91bmQnCisgICAgICAgIHByX251bWJlciA9IHNlbGYu
Z2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1iZXInLCAnJykKKworICAgICAgICBpZiBub3QgcGF0Y2hf
aWQgYW5kIG5vdCBwcl9udW1iZXI6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnTm8gcGF0Y2hfaWQgb3IgcHJfbnVtYmVyIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRo
b3V0IG9uZSBvZiB0aGVtLlxuJykKKyAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0g
J05vIGNoYW5nZSBmb3VuZCcKICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAg
ICAgICAgICAgIHJldHVybiBOb25lCiAKKyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBzZWxm
LnZhbGlkYXRlX2J1Z3ppbGxhKHBhdGNoX2lkKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisg
ICAgICAgIGlmIHByX251bWJlciBhbmQgbm90IHNlbGYudmFsaWRhdGVfZ2l0aHViKHByX251bWJl
cik6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGlmIHNlbGYudmVyaWZ5QnVn
Q2xvc2VkOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBvcGVu
LlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZToKKyAgICAgICAgICAgIHNlbGYu
X2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaXMgbm90IG9ic29sZXRlLlxuJykKKyAgICAgICAg
aWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQ6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygn
c3RkaW8nLCAnQ2hhbmdlIGhhcyBub3QgYmVlbiBkZW5pZWQuXG4nKQorICAgICAgICBpZiBzZWxm
LnZlcmlmeWNxcGx1czoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFu
Z2UgaXMgaW4gY29tbWl0IHF1ZXVlLlxuJykKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdDaGFuZ2UgaGFzIGJlZW4gcmV2aWV3ZWQuXG4nKQorICAgICAgICBzZWxmLmZpbmlz
aGVkKFNVQ0NFU1MpCisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgdmFsaWRhdGVfYnVn
emlsbGEoc2VsZiwgcGF0Y2hfaWQpOgogICAgICAgICBidWdfaWQgPSBzZWxmLmdldFByb3BlcnR5
KCdidWdfaWQnLCAnJykgb3Igc2VsZi5nZXRfYnVnX2lkX2Zyb21fcGF0Y2gocGF0Y2hfaWQpCiAK
ICAgICAgICAgYnVnX2Nsb3NlZCA9IHNlbGYuX2lzX2J1Z19jbG9zZWQoYnVnX2lkKSBpZiBzZWxm
LnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKICAgICAgICAgaWYgYnVnX2Nsb3NlZCA9PSAxOgogICAg
ICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdCdWcge30gaXMgYWxyZWFkeSBjbG9zZWQnLmZvcm1h
dChidWdfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBG
YWxzZQogCiAgICAgICAgIG9ic29sZXRlID0gc2VsZi5faXNfcGF0Y2hfb2Jzb2xldGUocGF0Y2hf
aWQpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUgZWxzZSAwCiAgICAgICAgIGlmIG9ic29sZXRlID09
IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG9ic29sZXRlJy5m
b3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJl
dHVybiBGYWxzZQogCiAgICAgICAgIHJldmlld19kZW5pZWQgPSBzZWxmLl9pc19wYXRjaF9yZXZp
ZXdfZGVuaWVkKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeVJldmlld0RlbmllZCBlbHNlIDAKICAg
ICAgICAgaWYgcmV2aWV3X2RlbmllZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxk
KCdQYXRjaCB7fSBpcyBtYXJrZWQgci0nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICBy
ZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgY3FfcGx1cyA9
IHNlbGYuX2lzX3BhdGNoX2NxX3BsdXMocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVs
c2UgMQogICAgICAgICBpZiBjcV9wbHVzICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVp
bGQoJ1BhdGNoIHt9IGlzIG5vdCBtYXJrZWQgY3ErLicuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAg
ICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBh
Y2NlcHRhYmxlX3Jldmlld19mbGFnID0gc2VsZi5fZG9lc19wYXRjaF9oYXZlX2FjY2VwdGFibGVf
cmV2aWV3X2ZsYWcocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAgICAg
ICBpZiBhY2NlcHRhYmxlX3Jldmlld19mbGFnICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBf
YnVpbGQoJ1BhdGNoIHt9IGRvZXMgbm90IGhhdmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy4nLmZv
cm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCiAKICAgICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcmV2aWV3X2RlbmllZCA9
PSAtMSBvciBidWdfY2xvc2VkID09IC0xOgogICAgICAgICAgICAgc2VsZi5maW5pc2hlZChXQVJO
SU5HUykKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
KyAgICAgICAgcmV0dXJuIFRydWUKIAotICAgICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZDoK
LSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicpCi0g
ICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG9ic29sZXRlLlxuJykKLSAgICAgICAgaWYgc2VsZi52
ZXJpZnlSZXZpZXdEZW5pZWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAn
UGF0Y2ggaXMgbm90IG1hcmtlZCByLS5cbicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5Y3FwbHVz
OgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG1hcmtlZCBj
cSsuXG4nKQotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGhhdmUg
YWNjZXB0YWJsZSByZXZpZXcgZmxhZy5cbicpCi0gICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VT
UykKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBkZWYgdmFsaWRhdGVfZ2l0aHViKHNlbGYsIHBy
X251bWJlcik6CisgICAgICAgIHJlcG9zaXRvcnlfdXJsID0gc2VsZi5nZXRQcm9wZXJ0eSgncmVw
b3NpdG9yeScsICcnKQorICAgICAgICB0aXRsZSA9IHNlbGYuZ2V0UHJvcGVydHkoJ2dpdGh1Yi50
aXRsZScsICcnKQorICAgICAgICBvd25lcnMgPSBzZWxmLmdldFByb3BlcnR5KCdvd25lcnMnLCBb
XSkKKworICAgICAgICBpZiBzZWxmLmFkZFVSTHMgYW5kIHByX251bWJlciBhbmQgdGl0bGUgYW5k
IHJlcG9zaXRvcnlfdXJsOgorICAgICAgICAgICAgc2VsZi5hZGRVUkwoJ1tQUiB7fV0ge30nLmZv
cm1hdChwcl9udW1iZXIsIHRpdGxlKSwgR2l0SHViLnByX3VybChwcl9udW1iZXI9cHJfbnVtYmVy
LCByZXBvc2l0b3J5X3VybD1yZXBvc2l0b3J5X3VybCkpCisgICAgICAgIGlmIHNlbGYuYWRkVVJM
cyBhbmQgb3duZXJzOgorICAgICAgICAgICAgY29udHJpYnV0b3JzLCBlcnJvcnMgPSBDb250cmli
dXRvcnMubG9hZCgpCisgICAgICAgICAgICBmb3IgZXJyb3IgaW4gZXJyb3JzOgorICAgICAgICAg
ICAgICAgIHByaW50KGVycm9yKQorICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRp
bycsIGVycm9yKQorICAgICAgICAgICAgY29udHJpYnV0b3IgPSBjb250cmlidXRvcnMuZ2V0KG93
bmVyc1swXSwge30pCisgICAgICAgICAgICBkaXNwbGF5X25hbWUgPSAne30gPHt9PicuZm9ybWF0
KGNvbnRyaWJ1dG9yLmdldCgnbmFtZScsIG93bmVyc1swXSksIGNvbnRyaWJ1dG9yLmdldCgnZW1h
aWwnLCBvd25lcnNbMF0pKSBpZiBjb250cmlidXRvciBlbHNlIG93bmVyc1swXQorICAgICAgICAg
ICAgc2VsZi5hZGRVUkwoJ0NoYW5nZSBieSB7fScuZm9ybWF0KGRpc3BsYXlfbmFtZSksICd7fS97
fScuZm9ybWF0KEdJVEhVQl9VUkwsIG93bmVyc1swXSkpCisKKyAgICAgICAgcHJfY2xvc2VkID0g
c2VsZi5faXNfcHJfY2xvc2VkKHByX251bWJlciwgcmVwb3NpdG9yeV91cmw9cmVwb3NpdG9yeV91
cmwpIGlmIHNlbGYudmVyaWZ5QnVnQ2xvc2VkIGVsc2UgMAorICAgICAgICBpZiBwcl9jbG9zZWQg
PT0gMToKKyAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUHVsbC1yZXF1ZXN0IHt9IGlzIGFs
cmVhZHkgY2xvc2VkJy5mb3JtYXQocHJfbnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybiBGYWxz
ZQorCisgICAgICAgIG9ic29sZXRlID0gc2VsZi5faXNfcHJfb2Jzb2xldGUocHJfbnVtYmVyLCBy
ZXBvc2l0b3J5X3VybD1yZXBvc2l0b3J5X3VybCkgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZSBlbHNl
IDAKKyAgICAgICAgaWYgb2Jzb2xldGUgPT0gMToKKyAgICAgICAgICAgIHNlbGYuc2tpcF9idWls
ZCgnUHVsbC1yZXF1ZXN0IHt9IHdpdGggY2hhbmdlIHt9IGlzIG9ic29sZXRlJy5mb3JtYXQocHJf
bnVtYmVyLCBzZWxmLmdldFByb3BlcnR5KCdyZXZpc2lvbicsICc/JykpKQorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisKKyAgICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcHJfY2xvc2VkID09
IC0xOgorICAgICAgICAgICAgc2VsZi5maW5pc2hlZChXQVJOSU5HUykKKyAgICAgICAgICAgIHJl
dHVybiBGYWxzZQorCisgICAgICAgIHJldHVybiBUcnVlCiAKIAogY2xhc3MgVmFsaWRhdGVDb21t
aXRlckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgpAQCAtMTY4MCw3ICsxODA4LDcg
QEAgY2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAgICBkZWYgZXZhbHVhdGVD
b21tYW5kKHNlbGYsIGNtZCk6CiAgICAgICAgIGlmIGNtZC5kaWRGYWlsKCk6CiAgICAgICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRvQnVpbGQnLCBUcnVlKQotICAgICAgICAg
ICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQorICAgICAgICAgICAgc3Rl
cHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVDaGFuZ2UodmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAgICAgICAgICAgIHBsYXRmb3Jt
ID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAgICAgICAgaWYgcGxhdGZvcm0g
PT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsV3Bl
RGVwZW5kZW5jaWVzKCkpCkBAIC0xOTYwLDkgKzIwODgsOSBAQCBjbGFzcyBSdW5KYXZhU2NyaXB0
Q29yZVRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRydWUpCiAgICAgICAgICAgICBzZWxmLmJ1
aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQ
YXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVKU0NXaXRob3V0UGF0Y2goKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2go
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW5KU0NUZXN0c1dpdGhvdXRQYXRjaCgp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hbHl6
ZUpTQ1Rlc3RzUmVzdWx0cygpXSkKQEAgLTIzODUsNyArMjUxMyw3IEBAIGNsYXNzIFJ1bldlYktp
dFRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICAgICAgICAgIEFyY2hpdmVUZXN0UmVzdWx0cygp
LAogICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKCksCiAgICAgICAgICAgICAgICAg
RXh0cmFjdFRlc3RSZXN1bHRzKCksCi0gICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgIFZhbGlk
YXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAg
ICAgICAgICAgS2lsbE9sZFByb2Nlc3NlcygpLAogICAgICAgICAgICAgICAgIFJlUnVuV2ViS2l0
VGVzdHMoKSwKICAgICAgICAgICAgIF0pCkBAIC0yNDgwLDkgKzI2MDgsOSBAQCBjbGFzcyBSZVJ1
bldlYktpdFRlc3RzKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKGlkZW50aWZpZXI9J3JlcnVu
JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRy
YWN0VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVydW4nKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0
Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1
Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1
aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJM
cz1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lsbE9sZFBy
b2Nlc3NlcygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goKV0pCiAgICAgICAgIHJldHVybiByYwpAQCAt
MjgwNSw3ICsyOTMzLDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRUcmVlKFJ1bldlYktpdFRl
c3RzKToKICAgICAgICAgcmMgPSBzZWxmLmV2YWx1YXRlUmVzdWx0KGNtZCkKICAgICAgICAgbmV4
dF9zdGVwcyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMoKSwgRXh0
cmFjdFRlc3RSZXN1bHRzKCldCiAgICAgICAgIGlmIGZpcnN0X3Jlc3VsdHNfZmFpbGluZ190ZXN0
czoKLSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1
Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUnVuV2Vi
S2l0VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUoKV0pCisgICAgICAgICAgICBuZXh0X3N0ZXBz
LmV4dGVuZChbVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZh
bHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVk
VHJlZSgpXSkKICAgICAgICAgZWxpZiBmaXJzdF9yZXN1bHRzX2ZsYWt5X3Rlc3RzOgogICAgICAg
ICAgICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUo
KSkKICAgICAgICAgZWxpZiByYyA9PSBTVUNDRVNTIG9yIHJjID09IFdBUk5JTkdTOgpAQCAtMjgy
Myw3ICsyOTUxLDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRUcmVlKFJ1bldlYktpdFRlc3Rz
KToKICAgICAgICAgICAgIGlmIHJldHJ5X2NvdW50IDwgQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0
c1JlZFRyZWUuTUFYX1JFVFJZOgogICAgICAgICAgICAgICAgIG5leHRfc3RlcHMuYXBwZW5kKEFu
YWx5emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlKCkpCiAgICAgICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCks
IENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSwg
VmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5X
ZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCisgICAgICAgICAgICAgICAgbmV4dF9z
dGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhv
dXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLCBWYWxpZGF0ZUNoYW5nZSh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQ
YXRjaFJlZFRyZWUoKV0pCiAgICAgICAgIGlmIG5leHRfc3RlcHM6CiAgICAgICAgICAgICBzZWxm
LmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChuZXh0X3N0ZXBzKQogICAgICAgICByZXR1
cm4gcmMKQEAgLTI4NTMsOCArMjk4MSw4IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFp
bHVyZXNSZWRUcmVlKFJ1bldlYktpdFRlc3RzUmVkVHJlZSk6CiAgICAgICAgIG5leHRfc3RlcHMg
PSBbQXJjaGl2ZVRlc3RSZXN1bHRzKCksIFVwbG9hZFRlc3RSZXN1bHRzKGlkZW50aWZpZXI9J3Jl
cGVhdC1mYWlsdXJlcycpLCBFeHRyYWN0VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVwZWF0LWZh
aWx1cmVzJyldCiAgICAgICAgIGlmIHdpdGhfcGF0Y2hfcmVwZWF0X2ZhaWx1cmVzX3Jlc3VsdHNf
bm9uZmxha3lfZmFpbHVyZXMgb3Igd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfdGltZWRvdXQ6
CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkK
LSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgVW5BcHBseVBh
dGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29u
X2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQ
YXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJLaXRUZXN0
c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAgIG5leHRf
c3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVS
THM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwg
Q29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNX
aXRob3V0UGF0Y2hSZWRUcmVlKCldKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbmV4dF9z
dGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAg
aWYgbmV4dF9zdGVwczoKQEAgLTMyNTcsNyArMzM4NSw3IEBAIGNsYXNzIFJ1bkFQSVRlc3RzKFRl
c3RXaXRoRmFpbHVyZUNvdW50KToKICAgICAgICAgICAgIHNlbGYuYnVpbGQucmVzdWx0cyA9IFNV
Q0NFU1MKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5pc2hlZChbbWVzc2FnZV0sIFNV
Q0NFU1MpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0
ZXJDdXJyZW50U3RlcChbVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVS
THM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJlUnVuQVBJVGVzdHMoKV0pCisgICAgICAg
ICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVmFsaWRhdGVDaGFuZ2Uo
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3Nlcygp
LCBSZVJ1bkFQSVRlc3RzKCldKQogICAgICAgICByZXR1cm4gcmMKIAogCkBAIC0zMjczLDE0ICsz
NDAxLDE0IEBAIGNsYXNzIFJlUnVuQVBJVGVzdHMoUnVuQVBJVGVzdHMpOgogICAgICAgICAgICAg
c2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwgU1VDQ0VTUykKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVl
KQotICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwg
VmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQorICAg
ICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRh
dGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAgICAgICAg
ICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAgICAgICAg
aWYgcGxhdGZvcm0gPT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVu
ZChJbnN0YWxsV3BlRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAgICBlbGlmIHBsYXRmb3JtID09
ICdndGsnOgogICAgICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoSW5zdGFsbEd0a0Rl
cGVuZGVuY2llcygpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChDb21waWxlV2Vi
S2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSkpCi0gICAgICAgICAg
ICBzdGVwc190b19hZGQuYXBwZW5kKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNl
LCBhZGRVUkxzPUZhbHNlKSkKKyAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoVmFsaWRh
dGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSkKICAgICAgICAg
ICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAgICAgICAg
c3RlcHNfdG9fYWRkLmFwcGVuZChSdW5BUElUZXN0c1dpdGhvdXRQYXRjaCgpKQogICAgICAgICAg
ICAgc3RlcHNfdG9fYWRkLmFwcGVuZChBbmFseXplQVBJVGVzdHNSZXN1bHRzKCkpCmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
Q0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCBmYWZjZGM5Mzc1NWYz
ODNkMDk0NjNhMmViODY1ZThlMGMxNjJiNzY1Li4wMGFjZTMzOWQ5ZTU0NDVkMDRkMTdiNzVmOTQx
MWE2MzcxMmI5YWNlIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRl
c3QucHkKQEAgLTU2LDcgKzU2LDcgQEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFuYWx5emVBUElUZXN0
c1Jlc3VsdHMsIEFuYWx5emVDb21waWxlV2ViS2l0UmVzdWx0cywgQW5hbHl6ZUoKICAgICAgICAg
ICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCwgUnVuV2ViS2l0VGVzdHNSZWRU
cmVlLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSwgUnVuV2ViS2l0VGVzdHNS
ZXBlYXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUsCiAgICAgICAgICAgICAgICAgICAgUnVu
V2ViS2l0VGVzdHNXaXRob3V0UGF0Y2hSZWRUcmVlLCBBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRz
UmVkVHJlZSwgVGVzdFdpdGhGYWlsdXJlQ291bnQsIFNob3dJZGVudGlmaWVyLAogICAgICAgICAg
ICAgICAgICAgIFRyaWdnZXIsIFRyYW5zZmVyVG9TMywgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCwg
VXBkYXRlV29ya2luZ0RpcmVjdG9yeSwgVXBsb2FkQnVpbHRQcm9kdWN0LAotICAgICAgICAgICAg
ICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBW
YWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlkYXRlUGF0Y2gsIFZlcmlmeUdpdEh1Yklu
dGVncml0eSkKKyAgICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0UmVzdWx0cywgVmFsaWRhdGVD
aGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBWYWxpZGF0
ZUNoYW5nZSwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQogCiAjIFdvcmthcm91bmQgZm9yIGh0dHBz
Oi8vZ2l0aHViLmNvbS9idWlsZGJvdC9idWlsZGJvdC9pc3N1ZXMvNDY2OQogZnJvbSBidWlsZGJv
dC50ZXN0LmZha2UuZmFrZWJ1aWxkIGltcG9ydCBGYWtlQnVpbGQKQEAgLTQ1MjUsNyArNDUyNSw3
IEBAIGNsYXNzIFRlc3RDcmVhdGVMb2NhbEdJVENvbW1pdChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9u
cywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4gcmMKIAogCi1jbGFzcyBUZXN0
VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2Up
OgorY2xhc3MgVGVzdFZhbGlkYXRlQ2hhbmdlKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICByZXR1cm4gc2Vs
Zi5zZXRVcEJ1aWxkU3RlcCgpCiAKQEAgLTQ1NDMsMzkgKzQ1NDMsOTIgQEAgY2xhc3MgVGVzdFZh
bGlkYXRlUGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgICAgICAgICAgICAgICJpc19wYXRjaCI6IDEsCiAgICAgICAgICAgICAgICAgICAg
ICAic3VtbWFyeSI6ICJ7fSJ9fScnJy5mb3JtYXQob2Jzb2xldGUsIHRpdGxlKSkKIAorICAgIGRl
ZiBnZXRfcHIoc2VsZiwgbnVtYmVyLCB0aXRsZT0nUHVsbC1yZXF1ZXN0JywgY2xvc2VkPUZhbHNl
KToKKyAgICAgICAgcmV0dXJuIGRpY3QoCisgICAgICAgICAgICBudW1iZXI9bnVtYmVyLAorICAg
ICAgICAgICAgc3RhdGU9J2Nsb3NlZCcgaWYgY2xvc2VkIGVsc2UgJ29wZW4nLAorICAgICAgICAg
ICAgdGl0bGU9dGl0bGUsCisgICAgICAgICAgICB1c2VyPWRpY3QobG9naW49J0pvbldCZWRhcmQn
KSwKKyAgICAgICAgICAgIGhlYWQ9ZGljdCgKKyAgICAgICAgICAgICAgICBzaGE9Jzc0OTZmOGVj
YzRjYzgwMTFmMTljOGNjMWJjN2IxOGZlNGE4OGFkNWMnLAorICAgICAgICAgICAgICAgIHJlZj0n
ZW5nL3B1bGwtcmVxdWVzdCcsCisgICAgICAgICAgICAgICAgcmVwbz1kaWN0KAorICAgICAgICAg
ICAgICAgICAgICBuYW1lPSdXZWJLaXQnLAorICAgICAgICAgICAgICAgICAgICBmdWxsX25hbWU9
J0pvbldCZWRhcmQvV2ViS2l0JywKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgKSwg
YmFzZT1kaWN0KAorICAgICAgICAgICAgICAgIHNoYT0nNTI4Yjk5NTc1ZWViZjdmYTViOTRmMWZj
NTFkZTgxOTc3ZjI2NTAwNScsCisgICAgICAgICAgICAgICAgcmVmPSdtYWluJywKKyAgICAgICAg
ICAgICAgICByZXBvPWRpY3QoCisgICAgICAgICAgICAgICAgICAgIG5hbWU9J1dlYktpdCcsCisg
ICAgICAgICAgICAgICAgICAgIGZ1bGxfbmFtZT0nV2ViS2l0L1dlYktpdCcsCisgICAgICAgICAg
ICAgICAgKSwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKwogICAgIGRlZiB0ZXN0X3NraXBw
ZWQoc2VsZik6Ci0gICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2goKSkKKyAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgncGF0Y2hfaWQnLCAnMTIzNCcpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1Z19p
ZCcsICc1Njc4JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2tpcF92YWxpZGF0aW9uJywg
VHJ1ZSkKLSAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TS0lQUEVELCBzdGF0ZV9z
dHJpbmc9J1ZhbGlkYXRlZCBwYXRjaCAoc2tpcHBlZCknKQorICAgICAgICBzZWxmLmV4cGVjdE91
dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZSAoc2tp
cHBlZCknKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKKworICAgIGRlZiB0ZXN0X3Nr
aXBwZWRfcHIoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKCkp
CisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1iZXInLCAnMTIzNCcpCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAnaHR0cHM6Ly9naXRodWIuY29tL1dl
YktpdC9XZWJLaXQnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24n
LCBUcnVlKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRl
X3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZSAoc2tpcHBlZCknKQogICAgICAgICByZXR1cm4gc2Vs
Zi5ydW5TdGVwKCkKIAogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6Ci0gICAgICAgIHNlbGYu
c2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAgICAg
VmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5n
ZXRfcGF0Y2goKQorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9
IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2goKQogICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdwYXRjaF9pZCcsICc0MjU4MDYnKQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUo
cmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIHBhdGNoJykKKyAgICAgICAg
c2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRl
ZCBjaGFuZ2UnKQorICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnZmFzdF9jb21taXRfcXVldWUnKSwgTm9uZSwgJ2Zh
c3RfY29tbWl0X3F1ZXVlIGlzIHVuZXhwZWN0ZWRseSBzZXQnKQorICAgICAgICByZXR1cm4gcmMK
KworICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcHIoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVw
KFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRl
Q2hhbmdlLmdldF9wcl9qc29uID0gbGFtYmRhIHgsIHB1bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91
cmw9Tm9uZTogc2VsZi5nZXRfcHIobnVtYmVyPXB1bGxfcmVxdWVzdCkKKyAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0JykKKyAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdCcpCisg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JldmlzaW9uJywgJzc0OTZmOGVjYzRjYzgwMTFmMTlj
OGNjMWJjN2IxOGZlNGE4OGFkNWMnKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0
PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZScpCiAgICAgICAgIHJjID0g
c2VsZi5ydW5TdGVwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5
KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBl
Y3RlZGx5IHNldCcpCiAgICAgICAgIHJldHVybiByYwogCiAgICAgZGVmIHRlc3Rfb2Jzb2xldGVf
cGF0Y2goc2VsZik6Ci0gICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAgICAgVmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9
IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKKyAgICAgICAg
c2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAg
ICAgICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6
IHNlbGYuZ2V0X3BhdGNoKG9ic29sZXRlPTEpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3Bh
dGNoX2lkJywgJzQyNTgwNicpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJ
TFVSRSwgc3RhdGVfc3RyaW5nPSdQYXRjaCA0MjU4MDYgaXMgb2Jzb2xldGUnKQogICAgICAgICBy
YyA9IHNlbGYucnVuU3RlcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9w
ZXJ0eSgnZmFzdF9jb21taXRfcXVldWUnKSwgTm9uZSwgJ2Zhc3RfY29tbWl0X3F1ZXVlIGlzIHVu
ZXhwZWN0ZWRseSBzZXQnKQogICAgICAgICByZXR1cm4gcmMKIAorICAgIGRlZiB0ZXN0X29ic29s
ZXRlX3ByKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcHJfanNvbiA9
IGxhbWJkYSB4LCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmU6IHNlbGYuZ2V0X3By
KG51bWJlcj1wdWxsX3JlcXVlc3QpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2dpdGh1Yi5u
dW1iZXInLCAnMTIzNCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAn
aHR0cHM6Ly9naXRodWIuY29tL1dlYktpdC9XZWJLaXQnKQorICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdyZXZpc2lvbicsICdkZWFkYmVlZicpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShy
ZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdQdWxsLXJlcXVlc3QgMTIzNCB3aXRoIGNoYW5n
ZSBkZWFkYmVlZiBpcyBvYnNvbGV0ZScpCisgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1
ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNldCcpCisgICAg
ICAgIHJldHVybiByYworCiAgICAgZGVmIHRlc3RfZmFzdF9jcV9wYXRjaGVzX3RyaWdnZXJfZmFz
dF9jcV9tb2RlKHNlbGYpOgogICAgICAgICBmYXN0X2NxX3BhdGNoX3RpdGxlcyA9ICgnUkVWRVJU
IE9GIHIxMjM0JywgJ3JldmVydCBvZiByMTIzNCcsICdbZmFzdC1jcV1QYXRjaCcsICdbRkFTVC1j
cV0gcGF0Y2gnLCAnZmFzdC1jcS1wYXRjaCcsICdGQVNULUNRIFBhdGNoJykKICAgICAgICAgZm9y
IGZhc3RfY3FfcGF0Y2hfdGl0bGUgaW4gZmFzdF9jcV9wYXRjaF90aXRsZXM6Ci0gICAgICAgICAg
ICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCi0g
ICAgICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNo
X2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0X2NxX3BhdGNoX3RpdGxlKQorICAgICAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkK
KyAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBh
dGNoX2lkOiBzZWxmLmdldF9wYXRjaCh0aXRsZT1mYXN0X2NxX3BhdGNoX3RpdGxlKQogICAgICAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1ODA2JykKLSAgICAgICAgICAg
IHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0
ZWQgcGF0Y2gnKQorICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBjaGFuZ2UnKQogICAgICAgICAgICAgcmMgPSBzZWxm
LnJ1blN0ZXAoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5
KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBUcnVlLCAnZmFzdF9jb21taXRfcXVldWUgaXMgbm90IHNl
dCwgcGF0Y2ggdGl0bGU6IHt9Jy5mb3JtYXQoZmFzdF9jcV9wYXRjaF90aXRsZSkpCiAgICAgICAg
IHJldHVybiByYwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449137</attachid>
            <date>2022-01-13 21:22:41 -0800</date>
            <delta_ts>2022-01-13 21:26:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220113212240.patch</filename>
            <type>text/plain</type>
            <size>46049</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjc1Y2UyODA4ZDJmZjhjZmNkNmU5ZWJiYTM3YWZjMzJk
YWMxZmI1My4uOWI2MjdjOTkzMzcxYzIwYmI1ZGYxYjk0NWE1MzUzNDRhOThiZjRmMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIyLTAxLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyk6IFN0ZXAg
bmFtZSBjaGFuZ2VkIGZyb20gdmFsaWRhdGUtcGF0Y2ggdG8gdmFsaWRhdGUtY2hhbmdlLgorICAg
ICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChHaXRIdWIucHJf
dXJsKTogQWRkIG1pc3NpbmcgLy4KKyAgICAgICAgKEdpdEh1Yi5hcGlfdXJsKTogQ29udmVydCBh
IHJlcG9zaXRvcnkgVVJMIHRvIHRoZSBBUEkgdXJsIGZvciB0aGF0IHJlcG9zaXRvcnkuCisgICAg
ICAgIChHaXRIdWIuY3JlZGVudGlhbHMpOiBBY2Nlc3MgR2l0SHViIGNyZWRlbnRpYWxzIGZyb20g
cGFzc3dvcmRzLmpzb24uCisgICAgICAgIChHaXRIdWJNaXhpbik6CisgICAgICAgIChHaXRIdWJN
aXhpbi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24pOgorICAgICAgICAo
R2l0SHViTWl4aW4uZ2V0X3ByX2pzb24pOgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Ns
b3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIGNsb3NlZC4KKyAgICAgICAgKEdpdEh1
Yk1peGluLl9pc19wcl9vYnNvbGV0ZSk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIG9ic29s
ZXRlLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRj
aC4KKyAgICAgICAgKFZhbGlkYXRlQ2hhbmdlLmdldFJlc3VsdFN1bW1hcnkpOgorICAgICAgICAo
VmFsaWRhdGVDaGFuZ2Uuc3RhcnQpOiBJbnZva2UgdmFsaWRhdGVfYnVnemlsbGEgb3IgdmFsaWRh
dGVfZ2l0aHViLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfYnVnemlsbGEpOiBD
aGVjayBhIGJ1Z3ppbGxhIHBhdGNoLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVf
Z2l0aHViKTogQ2hlY2sgYSBHaXRIdWIgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoQ29tcGlsZVdl
YktpdC5ldmFsdWF0ZUNvbW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNo
YW5nZS4KKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTog
RGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4K
KyAgICAgICAgKFJlUnVuV2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQp
OiBEaXR0by4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgor
ICAgICAgICAoUmVSdW5BUElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAg
KFZhbGlkYXRlUGF0Y2gpOiBSZW5hbWVkIHRvIFZhbGlkYXRlQ2hhbmdlLgorICAgICAgICAqIENJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHk6CisKIDIwMjItMDEtMTMgIFBhdHJp
Y2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IElt
cGxlbWVudCBgZnJhbWVVUkxgIG9wdGlvbiBmb3IgYGRldnRvb2xzLmluc3BlY3RlZFdpbmRvdy5l
dmFsYCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IDFk
N2VjMjNlZGU5NGZmMTE3MzVkMDQ0YjQ4NjhkNTNlNGFmMDAxMzQuLjBkZDlmOTJkNDc0ZjY5MjBk
Nzk2M2Y3OWQ3NWU5NWY4ODk1ZDM2NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzLnB5CkBAIC0zMiw3ICszMiw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBB
cHBseVdhdGNoTGlzdCwgQ2hlY2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAg
ICAgICAgICAgICAgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzLCBSdW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVu
V2ViS2l0UHlQeXRob24yVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRo
b24zVGVzdHMsIFJ1bldlYktpdFRlc3RzLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktp
dFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzR3VhcmRtYWxsb2NNb2Rl
LAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lkZW50aWZpZXIsIFRy
aWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksCi0gICAgICAg
ICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwg
VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9uLAorICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmll
d2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JDcmFzaENvbGxlY3Rpb24s
CiAgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCwgVmVyaWZ5R2l0SHViSW50
ZWdyaXR5KQogCiAKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxk
RmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tQYXRjaFJlbGV2YW5jZSgp
KQogICAgICAgICBpZiBzZWxmLmZpbmRNb2RpZmllZExheW91dFRlc3RzOgogICAgICAgICAgICAg
c2VsZi5hZGRTdGVwKEZpbmRNb2RpZmllZExheW91dFRlc3RzKCkpCi0gICAgICAgIHNlbGYuYWRk
U3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5n
ZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNr
T3V0U291cmNlKCkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIFN0eWxlRmFjdG9yeShmYWN0b3J5
LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1O
b25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9y
eS5CdWlsZEZhY3RvcnkuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZp
Z3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10
cmlnZ2VycywgcmVtb3Rlcz1yZW1vdGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxB
cmd1bWVudHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFBy
aW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgpKQpAQCAtNzgsNyArNzgsNyBA
QCBjbGFzcyBXYXRjaExpc3RGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhz
ZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMs
IGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENo
ZWNrT3V0U291cmNlKCkpCkBAIC0yNDMsNyArMjQzLDcgQEAgY2xhc3MgV2luZG93c0ZhY3Rvcnko
RmFjdG9yeSk6CiAgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1l
bnRzPWFkZGl0aW9uYWxBcmd1bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21w
aWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNl
bGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChTZXRCdWlsZFN1bW1hcnkoKSkKIApAQCAtMjg1LDcgKzI4NSw3IEBAIGNs
YXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9
Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3Rv
cnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25m
aWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9
Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVu
dHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKGRlZmF1bHRfYnJhbmNoPSdtYXN0ZXInKSkKQEAgLTMwMCwx
MCArMzAwLDEwIEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9y
eSk6CiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcygpKQogICAg
ICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0VGVzdHMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVw
KFZhbGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVz
PVRydWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UocmVwb3VybD0naHR0
cHM6Ly9naXQud2Via2l0Lm9yZy9naXQvV2ViS2l0LWh0dHBzJykpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChTaG93SWRlbnRpZmllcigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVXBkYXRlV29ya2lu
Z0RpcmVjdG9yeSgpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191
bml0dGVzdC5weQppbmRleCBhMGE3NmUzNDVlODE0ZjkxYTlmMzQ0ZDUwOTI3Zjc4ZjM4ZTQ3ZTU3
Li5kZTUyZDNhYThiZGFhYWE0MGI5ZDk4NWFjZmM4ZjU0NTVkM2VlYzc3IDEwMDY0NAotLS0gYS9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQorKysgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQpAQCAtMzEsNyArMzEs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBleHBlY3RlZF9zdGVwcyA9IHsKICAgICAgICAgJ1N0eWxlLUVXUyc6IFsKICAgICAgICAgICAg
ICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAg
ICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAog
ICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgVGVzdEV4
cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAg
ICdBcHBseS1XYXRjaExpc3QtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
Ci0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNo
YW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4t
dXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJl
Y3RvcnknLApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0dUSy1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC03MCw3ICs3MCw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBdLAogICAgICAgICAnR1RLLVdLMi1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC04OSw3ICs4OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1
LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTEwMiw3ICsxMDIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ2lPUy0xNS1TaW11bGF0b3ItQnVpbGQtRVdT
JzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRh
dGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAn
Y29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAg
ICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTE1LDcgKzEx
NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LVNpbXVsYXRvci1XSzItVGVzdHMtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTM2LDcgKzEzNiw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnbWFjT1MtQXBwbGVTaWxpY29uLUJpZy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAg
ICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZh
bmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRh
dGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdj
bGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5n
LWRpcmVjdG9yeScsCkBAIC0xNDksNyArMTQ5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRT
dGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBs
ZVNpbGljb24tQmlnLVN1ci1EZWJ1Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2Nv
bmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
bWFjT1MtQ2F0YWxpbmEtUmVsZWFzZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVk
QnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGluYS1S
ZWxlYXNlLVdLMS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywK
ICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIwMyw3ICsy
MDMsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgXSwKICAgICAgICAgJ21hY09TLUNhdGFsaW5hLVJlbGVhc2UtV0syLVRlc3RzLUVX
Uyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIyNCw3ICsy
MjQsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgJ21hY09TLVJlbGVhc2UtV0syLVN0cmVzcy1UZXN0cy1FV1MnOiBbCiAgICAgICAg
ICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdmaW5kLW1vZGlmaWVkLWxheW91
dC10ZXN0cycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMjQyLDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1Mt
Q2F0YWxpbmEtRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMjU2LDcgKzI1Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sx
LVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAg
ICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gn
LAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJh
dGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2Ns
ZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMjc2LDcgKzI3Niw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBd
LAogICAgICAgICAnd2F0Y2hPUy04LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1
cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTI4OSw3ICsyODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNo
T1MtOC1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMzAyLDcgKzMwMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAndHZPUy0xNS1CdWls
ZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMTUs
NyArMzE1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIF0sCiAgICAgICAgICd0dk9TLTE1LVNpbXVsYXRvci1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMjksNyArMzI5LDcg
QEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICdXaW5kb3dzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzM5LDEzICszMzks
MTMgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICAgICAnYXBwbHktcGF0Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3Nl
cycsCiAgICAgICAgICAgICAnY29tcGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRl
LXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xh
eW91dC10ZXN0cycsCiAgICAgICAgICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0s
CiAgICAgICAgICdXaW5DYWlyby1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxk
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC0zNTgsNyArMzU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzczLDcgKzM3Myw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnSlNDLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzg4LDcgKzM4OCw3
IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICAnSlNDLU1JUFNFTC0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQt
cmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScs
CkBAIC00MDIsNyArNDAyLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtTUlQU0VMLTMyYml0cy1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMt
QnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAg
ICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcs
CisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0
aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xl
YW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00MzIsNyArNDMyLDcgQEAgY2xh
c3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdK
U0MtQVJNdjctMzJiaXRzLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVp
bGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDQ4
LDcgKzQ0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnSlNDLWkzODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25m
aWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNDYyLDcgKzQ2Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAg
ICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNl
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC00NzUsNyArNDc1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQ4OSw3ICs0ODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ1dlYktp
dFBlcmwtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNTAxLDcgKzUwMSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLWlPUy1TaW11bGF0
b3ItRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTE2
LDcgKzUxNiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAg
ICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywK
KyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVh
bi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTUzMSw3ICs1MzEsNyBAQCBjbGFz
cyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwK
ICAgICAgICAgJ0FQSS1UZXN0cy1HVEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2lu
Zy1kaXJlY3RvcnknLApAQCAtNTQ4LDcgKzU0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxk
U3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAg
ICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVs
ZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFs
aWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAg
ICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3Jr
aW5nLWRpcmVjdG9yeScsCkBAIC01NjQsNyArNTY0LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQt
UXVldWUnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICd2YWxpZGF0ZS1jb21taXRlci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZp
Z3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU3OSwxMCAr
NTc5LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGls
ZS13ZWJraXQnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY2hlY2stc3RhdHVzLW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlv
dXQtdGVzdHMnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLAogICAgICAgICAgICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAn
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IGZlMjRjMTBmYzI0N2M1MGYxMmU5MjczYTNhM2U3ZWM5ZjhjZTQ2MTEuLmFhOTY1NjJjY2Nk
Y2Q1YjUzMWY2NjE4NjdmZjM5OGNjN2Y2Yzk0NGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtNTQsOSArNTQsOSBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5vcmcv
JwogUkVTVUxUU19EQl9VUkwgPSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0aFBy
b3BlcnRpZXMgPSBwcm9wZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHByb3Bl
cnRpZXMuSW50ZXJwb2xhdGUKLUJSQU5DSF9QUl9SRSA9IHJlLmNvbXBpbGUocidecmVmcy9wdWxs
Lyg/UDxpZD5cZCspL21lcmdlJCcpCiBHSVRIVUJfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS8n
CiBHSVRIVUJfUFJPSkVDVFMgPSBbJ1dlYktpdC9XZWJLaXQnXQorSEFTSF9TSVpFCiAKIAogY2xh
c3MgQnVmZmVyTG9nSGVhZGVyT2JzZXJ2ZXIobG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIp
OgpAQCAtODYsNyArODYsOTUgQEAgY2xhc3MgR2l0SHViKG9iamVjdCk6CiAgICAgICAgICAgICBy
ZXR1cm4gJycKICAgICAgICAgaWYgbm90IHByX251bWJlciBvciBub3QgaXNpbnN0YW5jZShwcl9u
dW1iZXIsIGludCk6CiAgICAgICAgICAgICByZXR1cm4gJycKLSAgICAgICAgcmV0dXJuICd7fXB1
bGwve30nLmZvcm1hdChyZXBvc2l0b3J5X3VybCwgcHJfbnVtYmVyKQorICAgICAgICByZXR1cm4g
J3t9L3B1bGwve30nLmZvcm1hdChyZXBvc2l0b3J5X3VybCwgcHJfbnVtYmVyKQorCisgICAgQGNs
YXNzbWV0aG9kCisgICAgZGVmIGFwaV91cmwoY2xzLCByZXBvc2l0b3J5X3VybD1Ob25lKToKKyAg
ICAgICAgaWYgbm90IHJlcG9zaXRvcnlfdXJsOgorICAgICAgICAgICAgcmVwb3NpdG9yeV91cmwg
PSAne317fScuZm9ybWF0KEdJVEhVQl9VUkwsIEdJVEhVQl9QUk9KRUNUU1swXSkKKworICAgICAg
ICBpZiByZXBvc2l0b3J5X3VybCBub3QgaW4gR2l0SHViLnJlcG9zaXRvcnlfdXJscygpOgorICAg
ICAgICAgICAgcmV0dXJuICcnCisgICAgICAgIF8sIHVybF9iYXNlID0gcmVwb3NpdG9yeV91cmwu
c3BsaXQoJzovLycsIDEpCisgICAgICAgIGhvc3QsIHBhdGggPSB1cmxfYmFzZS5zcGxpdCgnLycs
IDEpCisgICAgICAgIHJldHVybiAnaHR0cHM6Ly9hcGkue30vcmVwb3Mve30nLmZvcm1hdChob3N0
LCBwYXRoKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGNyZWRlbnRpYWxzKGNscyk6Cisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIHBhc3N3b3JkcyA9IGpzb24ubG9hZChvcGVuKCdwYXNz
d29yZHMuanNvbicpKQorICAgICAgICAgICAgcmV0dXJuIHBhc3N3b3Jkcy5nZXQoJ0dJVEhVQl9D
T01fVVNFUk5BTUUnLCBOb25lKSwgcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NPTV9BQ0NFU1NfVE9L
RU4nLCBOb25lKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBw
cmludCgnRXJyb3IgcmVhZGluZyBHaXRIdWIgYXBpIGtleScpCisgICAgICAgICAgICByZXR1cm4g
Tm9uZSwgTm9uZQorCisKK2NsYXNzIEdpdEh1Yk1peGluKG9iamVjdCk6CisgICAgYWRkVVJMcyA9
IEZhbHNlCisgICAgcHJfb3Blbl9zdGF0ZXMgPSBbJ29wZW4nXQorICAgIHByX2Nsb3NlZF9zdGF0
ZXMgPSBbJ2Nsb3NlZCddCisKKyAgICBkZWYgZmV0Y2hfZGF0YV9mcm9tX3VybF93aXRoX2F1dGhl
bnRpY2F0aW9uKHNlbGYsIHVybCk6CisgICAgICAgIHJlc3BvbnNlID0gTm9uZQorICAgICAgICB0
cnk6CisgICAgICAgICAgICB1c2VybmFtZSwgYWNjZXNzX3Rva2VuID0gc2VsZi5jcmVkZW50aWFs
cygpCisgICAgICAgICAgICBhdXRoID0gSFRUUEJhc2ljQXV0aCh1c2VybmFtZSwgYWNjZXNzX3Rv
a2VuKSBpZiB1c2VybmFtZSBhbmQgYWNjZXNzX3Rva2VuIGVsc2UgTm9uZQorICAgICAgICAgICAg
cmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoCisgICAgICAgICAgICAgICAgdXJsLCB0aW1lb3V0PTYw
LCBhdXRoPWF1dGgsCisgICAgICAgICAgICAgICAgaGVhZGVycz1kaWN0KEFjY2VwdD0nYXBwbGlj
YXRpb24vdm5kLmdpdGh1Yi52Mytqc29uJyksCisgICAgICAgICAgICApCisgICAgICAgICAgICBp
ZiByZXNwb25zZS5zdGF0dXNfY29kZSAvLyAxMDAgIT0gMjoKKyAgICAgICAgICAgICAgICBzZWxm
Ll9hZGRUb0xvZygnc3RkaW8nLCAnQWNjZXNzZWQge3VybH0gd2l0aCB1bmV4cGVjdGVkIHN0YXR1
cyBjb2RlIHtzdGF0dXNfY29kZX0uXG4nLmZvcm1hdCh1cmw9dXJsLCBzdGF0dXNfY29kZT1yZXNw
b25zZS5zdGF0dXNfY29kZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIyBDYXRjaGluZyBhbGwgZXhjZXB0
aW9ucyBoZXJlIHRvIHNhZmVndWFyZCBhY2Nlc3MgdG9rZW4uCisgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZygnc3RkaW8nLCAnRmFpbGVkIHRvIGFjY2VzcyB7dXJsfS5cbicuZm9ybWF0KHVybD11
cmwpKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisK
KyAgICBkZWYgZ2V0X3ByX2pzb24oc2VsZiwgcHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybD1O
b25lKToKKyAgICAgICAgYXBpX3VybCA9IEdpdEh1Yi5hcGlfdXJsKHJlcG9zaXRvcnlfdXJsKQor
ICAgICAgICBpZiBub3QgYXBpX3VybDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAg
ICAgcHJfdXJsID0gJ3t9L3B1bGxzL3t9Jy5mb3JtYXQoYXBpX3VybCwgcHVsbF9yZXF1ZXN0KQor
ICAgICAgICBjb250ZW50ID0gc2VsZi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGlj
YXRpb24ocHJfdXJsKQorICAgICAgICBpZiBub3QgY29udGVudDoKKyAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHByX2pzb24gPSBjb250ZW50Lmpzb24o
KQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBwcmludCgnRmFp
bGVkIHRvIGdldCBwdWxsIHJlcXVlc3QgZGF0YSBmcm9tIHt9LCBlcnJvcjoge30nLmZvcm1hdChw
cl91cmwsIGUpKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgaWYgbm90IHByX2pz
b24gb3IgbGVuKHByX2pzb24pID09IDA6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAg
ICByZXR1cm4gcHJfanNvbgorCisgICAgZGVmIF9pc19wcl9jbG9zZWQoc2VsZiwgcHVsbF9yZXF1
ZXN0LCByZXBvc2l0b3J5X3VybD1Ob25lKToKKyAgICAgICAgaWYgbm90IHB1bGxfcmVxdWVzdDoK
KyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdTa2lwcGluZyBwdWxsIHJlcXVl
c3Qgc3RhdHVzIHZhbGlkYXRpb24gc2luY2UgcHVsbCByZXF1ZXN0IGlzIE5vbmUuXG4nKQorICAg
ICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24o
cHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybCkKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Ig
bm90IHByX2pzb24uZ2V0KCdzdGF0ZScpOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0
ZGlvJywgJ1VuYWJsZSB0byBmZXRjaCBwdWxsIHJlcXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3Jl
cXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgIGlmIHByX2pzb24uZ2V0KCdz
dGF0ZScpIGluIHNlbGYucHJfY2xvc2VkX3N0YXRlczoKKyAgICAgICAgICAgIHJldHVybiAxCisg
ICAgICAgIHJldHVybiAwCisKKyAgICBkZWYgX2lzX3ByX29ic29sZXRlKHNlbGYsIHB1bGxfcmVx
dWVzdCwgcmVwb3NpdG9yeV91cmw9Tm9uZSk6CisgICAgICAgIHByX2pzb24gPSBzZWxmLmdldF9w
cl9qc29uKHB1bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91cmwpCisgICAgICAgIGlmIG5vdCBwcl9q
c29uOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJsZSB0byBmZXRj
aCBwdWxsIHJlcXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3JlcXVlc3QpKQorICAgICAgICAgICAg
cmV0dXJuIC0xCisKKyAgICAgICAgcHJfc2hhID0gcHJfanNvbi5nZXQoJ2hlYWQnLCB7fSkuZ2V0
KCdzaGEnLCAnJykKKyAgICAgICAgaWYgbm90IHByX3NoYToKKyAgICAgICAgICAgIHNlbGYuX2Fk
ZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gZmV0Y2ggaGFzaCBvZiBwdWxsIHJlcXVlc3Qge31c
bicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gLTEKKworICAgICAg
ICByZXR1cm4gMCBpZiBwcl9zaGEgPT0gc2VsZi5nZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnPycp
IGVsc2UgMQogCiAKIGNsYXNzIENvbnRyaWJ1dG9ycyhvYmplY3QpOgpAQCAtMTE1LDExICsyMDMs
MTUgQEAgY2xhc3MgQ29udHJpYnV0b3JzKG9iamVjdCk6CiAgICAgICAgICAgICByZXR1cm4ge30s
ICdGYWlsZWQgdG8gYWNjZXNzIHt1cmx9XG4nLmZvcm1hdCh1cmw9Y2xzLnVybCkKIAogICAgIEBj
bGFzc21ldGhvZAotICAgIGRlZiBsb2FkKGNscyk6CisgICAgZGVmIGxvYWQoY2xzLCB1c2VfbmV0
d29yaz1UcnVlKToKICAgICAgICAgZXJyb3JzID0gW10KLSAgICAgICAgY29udHJpYnV0b3JzX2pz
b24sIGVycm9yID0gY2xzLmxvYWRfZnJvbV9naXRodWIoKQotICAgICAgICBpZiBlcnJvcjoKLSAg
ICAgICAgICAgIGVycm9ycy5hcHBlbmQoZXJyb3IpCisKKyAgICAgICAgaWYgdXNlX25ldHdvcms6
CisgICAgICAgICAgICBjb250cmlidXRvcnNfanNvbiwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dp
dGh1YigpCisgICAgICAgICAgICBpZiBlcnJvcjoKKyAgICAgICAgICAgICAgICBlcnJvcnMuYXBw
ZW5kKGVycm9yKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29udHJpYnV0b3JzX2pzb24g
PSBbXQogCiAgICAgICAgIGlmIG5vdCBjb250cmlidXRvcnNfanNvbjoKICAgICAgICAgICAgIGNv
bnRyaWJ1dG9yc19qc29uLCBlcnJvciA9IGNscy5sb2FkX2Zyb21fZGlzaygpCkBAIC05MjcsMTAg
KzEwMTksMTAgQEAgY2xhc3MgQnVnemlsbGFNaXhpbihvYmplY3QpOgogICAgICAgICByZXR1cm4g
U1VDQ0VTUwogCiAKLWNsYXNzIFZhbGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVn
emlsbGFNaXhpbik6Ci0gICAgbmFtZSA9ICd2YWxpZGF0ZS1wYXRjaCcKLSAgICBkZXNjcmlwdGlv
biA9IFsndmFsaWRhdGUtcGF0Y2ggcnVubmluZyddCi0gICAgZGVzY3JpcHRpb25Eb25lID0gWydW
YWxpZGF0ZWQgcGF0Y2gnXQorY2xhc3MgVmFsaWRhdGVDaGFuZ2UoYnVpbGRzdGVwLkJ1aWxkU3Rl
cCwgQnVnemlsbGFNaXhpbiwgR2l0SHViTWl4aW4pOgorICAgIG5hbWUgPSAndmFsaWRhdGUtY2hh
bmdlJworICAgIGRlc2NyaXB0aW9uID0gWyd2YWxpZGF0ZS1jaGFuZ2UgcnVubmluZyddCisgICAg
ZGVzY3JpcHRpb25Eb25lID0gWydWYWxpZGF0ZWQgY2hhbmdlJ10KICAgICBmbHVua09uRmFpbHVy
ZSA9IFRydWUKICAgICBoYWx0T25GYWlsdXJlID0gVHJ1ZQogCkBAIC05NDUsNyArMTAzNyw3IEBA
IGNsYXNzIFZhbGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6
CiAgICAgZGVmIGdldFJlc3VsdFN1bW1hcnkoc2VsZik6CiAgICAgICAgIGlmIHNlbGYucmVzdWx0
cyA9PSBGQUlMVVJFOgogICAgICAgICAgICAgcmV0dXJuIHsnc3RlcCc6IHNlbGYuZGVzY3JpcHRp
b25Eb25lfQotICAgICAgICByZXR1cm4gc3VwZXIoVmFsaWRhdGVQYXRjaCwgc2VsZikuZ2V0UmVz
dWx0U3VtbWFyeSgpCisgICAgICAgIHJldHVybiBzdXBlcihWYWxpZGF0ZUNoYW5nZSwgc2VsZiku
Z2V0UmVzdWx0U3VtbWFyeSgpCiAKICAgICBkZWYgZG9TdGVwSWYoc2VsZiwgc3RlcCk6CiAgICAg
ICAgIHJldHVybiBub3Qgc2VsZi5nZXRQcm9wZXJ0eSgnc2tpcF92YWxpZGF0aW9uJywgRmFsc2Up
CkBAIC05NTksNTQgKzEwNTEsMTA0IEBAIGNsYXNzIFZhbGlkYXRlUGF0Y2goYnVpbGRzdGVwLkJ1
aWxkU3RlcCwgQnVnemlsbGFNaXhpbik6CiAKICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAg
IHBhdGNoX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnJykKLSAgICAgICAgaWYg
bm90IHBhdGNoX2lkOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ05vIHBh
dGNoX2lkIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IHBhdGNoX2lkLlxuJykKLSAg
ICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIHBhdGNoIGlkIGZvdW5kJworICAg
ICAgICBwcl9udW1iZXIgPSBzZWxmLmdldFByb3BlcnR5KCdnaXRodWIubnVtYmVyJywgJycpCisK
KyAgICAgICAgaWYgbm90IHBhdGNoX2lkIGFuZCBub3QgcHJfbnVtYmVyOgorICAgICAgICAgICAg
c2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ05vIHBhdGNoX2lkIG9yIHByX251bWJlciBmb3VuZC4g
VW5hYmxlIHRvIHByb2NlZWQgd2l0aG91dCBvbmUgb2YgdGhlbS5cbicpCisgICAgICAgICAgICBz
ZWxmLmRlc2NyaXB0aW9uRG9uZSA9ICdObyBjaGFuZ2UgZm91bmQnCisgICAgICAgICAgICBzZWxm
LmZpbmlzaGVkKEZBSUxVUkUpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGlm
IHBhdGNoX2lkIGFuZCBwcl9udW1iZXI6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3Rk
aW8nLCAnQm90aCBwYXRjaF9pZCBhbmQgcHJfbnVtYmVyIGZvdW5kLiBVbmFibGUgdG8gcHJvY2Vl
ZCB3aXRoIGJvdGguXG4nKQorICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSAnVHdv
IGNoYW5nZXMgZm91bmQnCiAgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKEZBSUxVUkUpCiAgICAg
ICAgICAgICByZXR1cm4gTm9uZQogCisgICAgICAgIGlmIHBhdGNoX2lkIGFuZCBub3Qgc2VsZi52
YWxpZGF0ZV9idWd6aWxsYShwYXRjaF9pZCk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAg
ICAgICBpZiBwcl9udW1iZXIgYW5kIG5vdCBzZWxmLnZhbGlkYXRlX2dpdGh1Yihwcl9udW1iZXIp
OgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Ns
b3NlZDoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdCdWcgaXMgb3Blbi5c
bicpCisgICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGU6CisgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGlzIG5vdCBvYnNvbGV0ZS5cbicpCisgICAgICAgIGlm
IHNlbGYudmVyaWZ5UmV2aWV3RGVuaWVkOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0
ZGlvJywgJ0NoYW5nZSBoYXMgbm90IGJlZW4gZGVuaWVkLlxuJykKKyAgICAgICAgaWYgc2VsZi52
ZXJpZnljcXBsdXM6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdl
IGlzIGluIGNvbW1pdCBxdWV1ZS5cbicpCisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3Rk
aW8nLCAnQ2hhbmdlIGhhcyBiZWVuIHJldmlld2VkLlxuJykKKyAgICAgICAgc2VsZi5maW5pc2hl
ZChTVUNDRVNTKQorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIHZhbGlkYXRlX2J1Z3pp
bGxhKHNlbGYsIHBhdGNoX2lkKToKICAgICAgICAgYnVnX2lkID0gc2VsZi5nZXRQcm9wZXJ0eSgn
YnVnX2lkJywgJycpIG9yIHNlbGYuZ2V0X2J1Z19pZF9mcm9tX3BhdGNoKHBhdGNoX2lkKQogCiAg
ICAgICAgIGJ1Z19jbG9zZWQgPSBzZWxmLl9pc19idWdfY2xvc2VkKGJ1Z19pZCkgaWYgc2VsZi52
ZXJpZnlCdWdDbG9zZWQgZWxzZSAwCiAgICAgICAgIGlmIGJ1Z19jbG9zZWQgPT0gMToKICAgICAg
ICAgICAgIHNlbGYuc2tpcF9idWlsZCgnQnVnIHt9IGlzIGFscmVhZHkgY2xvc2VkJy5mb3JtYXQo
YnVnX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFs
c2UKIAogICAgICAgICBvYnNvbGV0ZSA9IHNlbGYuX2lzX3BhdGNoX29ic29sZXRlKHBhdGNoX2lk
KSBpZiBzZWxmLnZlcmlmeU9ic29sZXRlIGVsc2UgMAogICAgICAgICBpZiBvYnNvbGV0ZSA9PSAx
OgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQYXRjaCB7fSBpcyBvYnNvbGV0ZScuZm9y
bWF0KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1
cm4gRmFsc2UKIAogICAgICAgICByZXZpZXdfZGVuaWVkID0gc2VsZi5faXNfcGF0Y2hfcmV2aWV3
X2RlbmllZChwYXRjaF9pZCkgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQgZWxzZSAwCiAgICAg
ICAgIGlmIHJldmlld19kZW5pZWQgPT0gMToKICAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgn
UGF0Y2gge30gaXMgbWFya2VkIHItJy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0
dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIGNxX3BsdXMgPSBz
ZWxmLl9pc19wYXRjaF9jcV9wbHVzKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeWNxcGx1cyBlbHNl
IDEKICAgICAgICAgaWYgY3FfcGx1cyAhPSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxk
KCdQYXRjaCB7fSBpcyBub3QgbWFya2VkIGNxKy4nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAg
ICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgYWNj
ZXB0YWJsZV9yZXZpZXdfZmxhZyA9IHNlbGYuX2RvZXNfcGF0Y2hfaGF2ZV9hY2NlcHRhYmxlX3Jl
dmlld19mbGFnKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeWNxcGx1cyBlbHNlIDEKICAgICAgICAg
aWYgYWNjZXB0YWJsZV9yZXZpZXdfZmxhZyAhPSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1
aWxkKCdQYXRjaCB7fSBkb2VzIG5vdCBoYXZlIGFjY2VwdGFibGUgcmV2aWV3IGZsYWcuJy5mb3Jt
YXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVy
biBGYWxzZQogCiAgICAgICAgIGlmIG9ic29sZXRlID09IC0xIG9yIHJldmlld19kZW5pZWQgPT0g
LTEgb3IgYnVnX2Nsb3NlZCA9PSAtMToKICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoV0FSTklO
R1MpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisg
ICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgaWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQ6Ci0g
ICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQnVnIGlzIG9wZW4uXG4nKQotICAg
ICAgICBpZiBzZWxmLnZlcmlmeU9ic29sZXRlOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2co
J3N0ZGlvJywgJ1BhdGNoIGlzIG5vdCBvYnNvbGV0ZS5cbicpCi0gICAgICAgIGlmIHNlbGYudmVy
aWZ5UmV2aWV3RGVuaWVkOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1Bh
dGNoIGlzIG5vdCBtYXJrZWQgci0uXG4nKQotICAgICAgICBpZiBzZWxmLnZlcmlmeWNxcGx1czoK
LSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdQYXRjaCBpcyBtYXJrZWQgY3Er
LlxuJykKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdQYXRjaCBoYXZlIGFj
Y2VwdGFibGUgcmV2aWV3IGZsYWcuXG4nKQotICAgICAgICBzZWxmLmZpbmlzaGVkKFNVQ0NFU1Mp
Ci0gICAgICAgIHJldHVybiBOb25lCisgICAgZGVmIHZhbGlkYXRlX2dpdGh1YihzZWxmLCBwcl9u
dW1iZXIpOgorICAgICAgICBpZiBub3QgcHJfbnVtYmVyOgorICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCisKKyAgICAgICAgcmVwb3NpdG9yeV91cmwgPSBzZWxmLmdldFByb3BlcnR5KCdyZXBvc2l0
b3J5JywgJycpCisgICAgICAgIHRpdGxlID0gc2VsZi5nZXRQcm9wZXJ0eSgnZ2l0aHViLnRpdGxl
JywgJycpCisgICAgICAgIG93bmVycyA9IHNlbGYuZ2V0UHJvcGVydHkoJ293bmVycycsIFtdKQor
CisgICAgICAgIGlmIHNlbGYuYWRkVVJMcyBhbmQgcHJfbnVtYmVyIGFuZCB0aXRsZSBhbmQgcmVw
b3NpdG9yeV91cmw6CisgICAgICAgICAgICBzZWxmLmFkZFVSTCgnW1BSIHt9XSB7fScuZm9ybWF0
KHByX251bWJlciwgdGl0bGUpLCBHaXRIdWIucHJfdXJsKHByX251bWJlciwgcmVwb3NpdG9yeV91
cmwpKQorICAgICAgICBpZiBzZWxmLmFkZFVSTHMgYW5kIG93bmVyczoKKyAgICAgICAgICAgIGNv
bnRyaWJ1dG9ycywgZXJyb3JzID0gQ29udHJpYnV0b3JzLmxvYWQodXNlX25ldHdvcms9RmFsc2Up
CisgICAgICAgICAgICBmb3IgZXJyb3IgaW4gZXJyb3JzOgorICAgICAgICAgICAgICAgIHByaW50
KGVycm9yKQorICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsIGVycm9yKQor
ICAgICAgICAgICAgY29udHJpYnV0b3IgPSBjb250cmlidXRvcnMuZ2V0KG93bmVyc1swXSwge30p
CisgICAgICAgICAgICBkaXNwbGF5X25hbWUgPSBjb250cmlidXRvci5nZXQoJ2VtYWlsJywgb3du
ZXJzWzBdKSBpZiBjb250cmlidXRvciBlbHNlIG93bmVyc1swXQorICAgICAgICAgICAgc2VsZi5h
ZGRVUkwoJ0NoYW5nZSBieSB7fScuZm9ybWF0KGRpc3BsYXlfbmFtZSksICd7fS97fScuZm9ybWF0
KEdJVEhVQl9VUkwsIG93bmVyc1swXSkpCisKKyAgICAgICAgcHJfY2xvc2VkID0gc2VsZi5faXNf
cHJfY2xvc2VkKHByX251bWJlciwgcmVwb3NpdG9yeV91cmw9cmVwb3NpdG9yeV91cmwpIGlmIHNl
bGYudmVyaWZ5QnVnQ2xvc2VkIGVsc2UgMAorICAgICAgICBpZiBwcl9jbG9zZWQgPT0gMToKKyAg
ICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUHVsbCByZXF1ZXN0IHt9IGlzIGFscmVhZHkgY2xv
c2VkJy5mb3JtYXQocHJfbnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAg
ICAgIG9ic29sZXRlID0gc2VsZi5faXNfcHJfb2Jzb2xldGUocHJfbnVtYmVyLCByZXBvc2l0b3J5
X3VybD1yZXBvc2l0b3J5X3VybCkgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZSBlbHNlIDAKKyAgICAg
ICAgaWYgb2Jzb2xldGUgPT0gMToKKyAgICAgICAgICAgIHNlbGYuc2tpcF9idWlsZCgnUHVsbCBy
ZXF1ZXN0IHt9IChzaGEge30pIGlzIG9ic29sZXRlJy5mb3JtYXQocHJfbnVtYmVyLCBzZWxmLmdl
dFByb3BlcnR5KCdyZXZpc2lvbicsICc/JylbOkhBU0hfU0laRV0pKQorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCisKKyAgICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcHJfY2xvc2VkID09IC0x
OgorICAgICAgICAgICAgc2VsZi5maW5pc2hlZChXQVJOSU5HUykKKyAgICAgICAgICAgIHJldHVy
biBGYWxzZQorCisgICAgICAgIHJldHVybiBUcnVlCiAKIAogY2xhc3MgVmFsaWRhdGVDb21taXRl
ckFuZFJldmlld2VyKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgpAQCAtMTY4MCw3ICsxODIyLDcgQEAg
Y2xhc3MgQ29tcGlsZVdlYktpdChzaGVsbC5Db21waWxlKToKICAgICBkZWYgZXZhbHVhdGVDb21t
YW5kKHNlbGYsIGNtZCk6CiAgICAgICAgIGlmIGNtZC5kaWRGYWlsKCk6CiAgICAgICAgICAgICBz
ZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRvQnVpbGQnLCBUcnVlKQotICAgICAgICAgICAg
c3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVQYXRjaCh2
ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQorICAgICAgICAgICAgc3RlcHNf
dG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAgICAgICAgICAgIHBsYXRmb3JtID0g
c2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAgICAgICAgaWYgcGxhdGZvcm0gPT0g
J3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsV3BlRGVw
ZW5kZW5jaWVzKCkpCkBAIC0xOTYwLDkgKzIxMDIsOSBAQCBjbGFzcyBSdW5KYXZhU2NyaXB0Q29y
ZVRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRydWUpCiAgICAgICAgICAgICBzZWxmLmJ1aWxk
LmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVKU0NXaXRob3V0UGF0Y2goKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2godmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3Nl
ZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW5KU0NUZXN0c1dpdGhvdXRQYXRjaCgpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hbHl6ZUpT
Q1Rlc3RzUmVzdWx0cygpXSkKQEAgLTIzODUsNyArMjUyNyw3IEBAIGNsYXNzIFJ1bldlYktpdFRl
c3RzKHNoZWxsLlRlc3QpOgogICAgICAgICAgICAgICAgIEFyY2hpdmVUZXN0UmVzdWx0cygpLAog
ICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKCksCiAgICAgICAgICAgICAgICAgRXh0
cmFjdFRlc3RSZXN1bHRzKCksCi0gICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgIFZhbGlkYXRl
Q2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAg
ICAgICAgS2lsbE9sZFByb2Nlc3NlcygpLAogICAgICAgICAgICAgICAgIFJlUnVuV2ViS2l0VGVz
dHMoKSwKICAgICAgICAgICAgIF0pCkBAIC0yNDgwLDkgKzI2MjIsOSBAQCBjbGFzcyBSZVJ1bldl
YktpdFRlc3RzKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzKGlkZW50aWZpZXI9J3JlcnVuJyks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRyYWN0
VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVydW4nKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2go
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxk
X29uX2ZhaWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1G
YWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
YWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2lsbE9sZFByb2Nl
c3NlcygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goKV0pCiAgICAgICAgIHJldHVybiByYwpAQCAtMjgw
NSw3ICsyOTQ3LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRUcmVlKFJ1bldlYktpdFRlc3Rz
KToKICAgICAgICAgcmMgPSBzZWxmLmV2YWx1YXRlUmVzdWx0KGNtZCkKICAgICAgICAgbmV4dF9z
dGVwcyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMoKSwgRXh0cmFj
dFRlc3RSZXN1bHRzKCldCiAgICAgICAgIGlmIGZpcnN0X3Jlc3VsdHNfZmFpbGluZ190ZXN0czoK
LSAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUnVuV2ViS2l0
VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUoKV0pCisgICAgICAgICAgICBuZXh0X3N0ZXBzLmV4
dGVuZChbVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNl
KSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJl
ZSgpXSkKICAgICAgICAgZWxpZiBmaXJzdF9yZXN1bHRzX2ZsYWt5X3Rlc3RzOgogICAgICAgICAg
ICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkK
ICAgICAgICAgZWxpZiByYyA9PSBTVUNDRVNTIG9yIHJjID09IFdBUk5JTkdTOgpAQCAtMjgyMyw3
ICsyOTY1LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZWRUcmVlKFJ1bldlYktpdFRlc3RzKToK
ICAgICAgICAgICAgIGlmIHJldHJ5X2NvdW50IDwgQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1Jl
ZFRyZWUuTUFYX1JFVFJZOgogICAgICAgICAgICAgICAgIG5leHRfc3RlcHMuYXBwZW5kKEFuYWx5
emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlKCkpCiAgICAgICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCksIENv
bXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSwgVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJL
aXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCisgICAgICAgICAgICAgICAgbmV4dF9zdGVw
cy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQ
YXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLCBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRj
aFJlZFRyZWUoKV0pCiAgICAgICAgIGlmIG5leHRfc3RlcHM6CiAgICAgICAgICAgICBzZWxmLmJ1
aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChuZXh0X3N0ZXBzKQogICAgICAgICByZXR1cm4g
cmMKQEAgLTI4NTMsOCArMjk5NSw4IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVy
ZXNSZWRUcmVlKFJ1bldlYktpdFRlc3RzUmVkVHJlZSk6CiAgICAgICAgIG5leHRfc3RlcHMgPSBb
QXJjaGl2ZVRlc3RSZXN1bHRzKCksIFVwbG9hZFRlc3RSZXN1bHRzKGlkZW50aWZpZXI9J3JlcGVh
dC1mYWlsdXJlcycpLCBFeHRyYWN0VGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVwZWF0LWZhaWx1
cmVzJyldCiAgICAgICAgIGlmIHdpdGhfcGF0Y2hfcmVwZWF0X2ZhaWx1cmVzX3Jlc3VsdHNfbm9u
Zmxha3lfZmFpbHVyZXMgb3Igd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfdGltZWRvdXQ6CiAg
ICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkKLSAg
ICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3Nl
ZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgVW5BcHBseVBhdGNo
SWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2Zh
aWx1cmU9VHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBSdW5XZWJLaXRUZXN0c1Jl
cGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAgIG5leHRfc3Rl
cHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29t
cGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3Nl
ZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNXaXRo
b3V0UGF0Y2hSZWRUcmVlKCldKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbmV4dF9zdGVw
cy5hcHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAgaWYg
bmV4dF9zdGVwczoKQEAgLTMyNTcsNyArMzM5OSw3IEBAIGNsYXNzIFJ1bkFQSVRlc3RzKFRlc3RX
aXRoRmFpbHVyZUNvdW50KToKICAgICAgICAgICAgIHNlbGYuYnVpbGQucmVzdWx0cyA9IFNVQ0NF
U1MKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5pc2hlZChbbWVzc2FnZV0sIFNVQ0NF
U1MpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJD
dXJyZW50U3RlcChbVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJlUnVuQVBJVGVzdHMoKV0pCisgICAgICAgICAg
ICBzZWxmLmJ1aWxkLmFkZFN0ZXBzQWZ0ZXJDdXJyZW50U3RlcChbVmFsaWRhdGVDaGFuZ2UodmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBS
ZVJ1bkFQSVRlc3RzKCldKQogICAgICAgICByZXR1cm4gcmMKIAogCkBAIC0zMjczLDE0ICszNDE1
LDE0IEBAIGNsYXNzIFJlUnVuQVBJVGVzdHMoUnVuQVBJVGVzdHMpOgogICAgICAgICAgICAgc2Vs
Zi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwgU1VDQ0VTUykKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVlKQot
ICAgICAgICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQorICAgICAg
ICAgICAgc3RlcHNfdG9fYWRkID0gW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgVmFsaWRhdGVD
aGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKV0KICAgICAgICAgICAg
IHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0eSgncGxhdGZvcm0nKQogICAgICAgICAgICAgaWYg
cGxhdGZvcm0gPT0gJ3dwZSc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJ
bnN0YWxsV3BlRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAgICBlbGlmIHBsYXRmb3JtID09ICdn
dGsnOgogICAgICAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoSW5zdGFsbEd0a0RlcGVu
ZGVuY2llcygpKQogICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChDb21waWxlV2ViS2l0
V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSkpCi0gICAgICAgICAgICBz
dGVwc190b19hZGQuYXBwZW5kKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBh
ZGRVUkxzPUZhbHNlKSkKKyAgICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoVmFsaWRhdGVD
aGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSkKICAgICAgICAgICAg
IHN0ZXBzX3RvX2FkZC5hcHBlbmQoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAgICAgICAgc3Rl
cHNfdG9fYWRkLmFwcGVuZChSdW5BUElUZXN0c1dpdGhvdXRQYXRjaCgpKQogICAgICAgICAgICAg
c3RlcHNfdG9fYWRkLmFwcGVuZChBbmFseXplQVBJVGVzdHNSZXN1bHRzKCkpCmRpZmYgLS1naXQg
YS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCBmYWZjZGM5Mzc1NWYzODNk
MDk0NjNhMmViODY1ZThlMGMxNjJiNzY1Li5kM2I2YzY4NWIxZmZhYmMxNWJjMDU5MGI1ODE1ZGE4
OTRlNzU1YTc2IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3Vu
aXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3Qu
cHkKQEAgLTU2LDcgKzU2LDcgQEAgZnJvbSBzdGVwcyBpbXBvcnQgKEFuYWx5emVBUElUZXN0c1Jl
c3VsdHMsIEFuYWx5emVDb21waWxlV2ViS2l0UmVzdWx0cywgQW5hbHl6ZUoKICAgICAgICAgICAg
ICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCwgUnVuV2ViS2l0VGVzdHNSZWRUcmVl
LCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSwgUnVuV2ViS2l0VGVzdHNSZXBl
YXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUsCiAgICAgICAgICAgICAgICAgICAgUnVuV2Vi
S2l0VGVzdHNXaXRob3V0UGF0Y2hSZWRUcmVlLCBBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVk
VHJlZSwgVGVzdFdpdGhGYWlsdXJlQ291bnQsIFNob3dJZGVudGlmaWVyLAogICAgICAgICAgICAg
ICAgICAgIFRyaWdnZXIsIFRyYW5zZmVyVG9TMywgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCwgVXBk
YXRlV29ya2luZ0RpcmVjdG9yeSwgVXBsb2FkQnVpbHRQcm9kdWN0LAotICAgICAgICAgICAgICAg
ICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxp
ZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlkYXRlUGF0Y2gsIFZlcmlmeUdpdEh1YkludGVn
cml0eSkKKyAgICAgICAgICAgICAgICAgICBVcGxvYWRUZXN0UmVzdWx0cywgVmFsaWRhdGVDaGFu
Z2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBWYWxpZGF0ZUNo
YW5nZSwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQogCiAjIFdvcmthcm91bmQgZm9yIGh0dHBzOi8v
Z2l0aHViLmNvbS9idWlsZGJvdC9idWlsZGJvdC9pc3N1ZXMvNDY2OQogZnJvbSBidWlsZGJvdC50
ZXN0LmZha2UuZmFrZWJ1aWxkIGltcG9ydCBGYWtlQnVpbGQKQEAgLTQ1MjUsNyArNDUyNSw3IEBA
IGNsYXNzIFRlc3RDcmVhdGVMb2NhbEdJVENvbW1pdChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywg
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4gcmMKIAogCi1jbGFzcyBUZXN0VmFs
aWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgor
Y2xhc3MgVGVzdFZhbGlkYXRlQ2hhbmdlKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5z
ZXRVcEJ1aWxkU3RlcCgpCiAKQEAgLTQ1NDMsMzkgKzQ1NDMsOTIgQEAgY2xhc3MgVGVzdFZhbGlk
YXRlUGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgICAgICAgICAgICAgICJpc19wYXRjaCI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAi
c3VtbWFyeSI6ICJ7fSJ9fScnJy5mb3JtYXQob2Jzb2xldGUsIHRpdGxlKSkKIAorICAgIGRlZiBn
ZXRfcHIoc2VsZiwgbnVtYmVyLCB0aXRsZT0nUHVsbC1yZXF1ZXN0JywgY2xvc2VkPUZhbHNlKToK
KyAgICAgICAgcmV0dXJuIGRpY3QoCisgICAgICAgICAgICBudW1iZXI9bnVtYmVyLAorICAgICAg
ICAgICAgc3RhdGU9J2Nsb3NlZCcgaWYgY2xvc2VkIGVsc2UgJ29wZW4nLAorICAgICAgICAgICAg
dGl0bGU9dGl0bGUsCisgICAgICAgICAgICB1c2VyPWRpY3QobG9naW49J0pvbldCZWRhcmQnKSwK
KyAgICAgICAgICAgIGhlYWQ9ZGljdCgKKyAgICAgICAgICAgICAgICBzaGE9Jzc0OTZmOGVjYzRj
YzgwMTFmMTljOGNjMWJjN2IxOGZlNGE4OGFkNWMnLAorICAgICAgICAgICAgICAgIHJlZj0nZW5n
L3B1bGwtcmVxdWVzdCcsCisgICAgICAgICAgICAgICAgcmVwbz1kaWN0KAorICAgICAgICAgICAg
ICAgICAgICBuYW1lPSdXZWJLaXQnLAorICAgICAgICAgICAgICAgICAgICBmdWxsX25hbWU9J0pv
bldCZWRhcmQvV2ViS2l0JywKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgKSwgYmFz
ZT1kaWN0KAorICAgICAgICAgICAgICAgIHNoYT0nNTI4Yjk5NTc1ZWViZjdmYTViOTRmMWZjNTFk
ZTgxOTc3ZjI2NTAwNScsCisgICAgICAgICAgICAgICAgcmVmPSdtYWluJywKKyAgICAgICAgICAg
ICAgICByZXBvPWRpY3QoCisgICAgICAgICAgICAgICAgICAgIG5hbWU9J1dlYktpdCcsCisgICAg
ICAgICAgICAgICAgICAgIGZ1bGxfbmFtZT0nV2ViS2l0L1dlYktpdCcsCisgICAgICAgICAgICAg
ICAgKSwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKwogICAgIGRlZiB0ZXN0X3NraXBwZWQo
c2VsZik6Ci0gICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2goKSkKKyAgICAgICAg
c2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgncGF0Y2hfaWQnLCAnMTIzNCcpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2J1Z19pZCcs
ICc1Njc4JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2tpcF92YWxpZGF0aW9uJywgVHJ1
ZSkKLSAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TS0lQUEVELCBzdGF0ZV9zdHJp
bmc9J1ZhbGlkYXRlZCBwYXRjaCAoc2tpcHBlZCknKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNv
bWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZSAoc2tpcHBl
ZCknKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKKworICAgIGRlZiB0ZXN0X3NraXBw
ZWRfcHIoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKCkpCisg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1iZXInLCAnMTIzNCcpCisgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAnaHR0cHM6Ly9naXRodWIuY29tL1dlYktp
dC9XZWJLaXQnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBU
cnVlKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0
cmluZz0nVmFsaWRhdGVkIGNoYW5nZSAoc2tpcHBlZCknKQogICAgICAgICByZXR1cm4gc2VsZi5y
dW5TdGVwKCkKIAogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6Ci0gICAgICAgIHNlbGYuc2V0
dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAgICAgVmFs
aWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRf
cGF0Y2goKQorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdD
bG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9IGxh
bWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2goKQogICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdwYXRjaF9pZCcsICc0MjU4MDYnKQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVz
dWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIHBhdGNoJykKKyAgICAgICAgc2Vs
Zi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBj
aGFuZ2UnKQorICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnZmFzdF9jb21taXRfcXVldWUnKSwgTm9uZSwgJ2Zhc3Rf
Y29tbWl0X3F1ZXVlIGlzIHVuZXhwZWN0ZWRseSBzZXQnKQorICAgICAgICByZXR1cm4gcmMKKwor
ICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcHIoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZh
bGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hh
bmdlLmdldF9wcl9qc29uID0gbGFtYmRhIHgsIHB1bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91cmw9
Tm9uZTogc2VsZi5nZXRfcHIobnVtYmVyPXB1bGxfcmVxdWVzdCkKKyAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0JykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdCcpCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JldmlzaW9uJywgJzc0OTZmOGVjYzRjYzgwMTFmMTljOGNj
MWJjN2IxOGZlNGE4OGFkNWMnKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNV
Q0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZScpCiAgICAgICAgIHJjID0gc2Vs
Zi5ydW5TdGVwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdm
YXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3Rl
ZGx5IHNldCcpCiAgICAgICAgIHJldHVybiByYwogCiAgICAgZGVmIHRlc3Rfb2Jzb2xldGVfcGF0
Y2goc2VsZik6Ci0gICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlKSkKLSAgICAgICAgVmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxh
bWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKKyAgICAgICAgc2Vs
Zi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAg
ICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNl
bGYuZ2V0X3BhdGNoKG9ic29sZXRlPTEpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNo
X2lkJywgJzQyNTgwNicpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVS
RSwgc3RhdGVfc3RyaW5nPSdQYXRjaCA0MjU4MDYgaXMgb2Jzb2xldGUnKQogICAgICAgICByYyA9
IHNlbGYucnVuU3RlcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0
eSgnZmFzdF9jb21taXRfcXVldWUnKSwgTm9uZSwgJ2Zhc3RfY29tbWl0X3F1ZXVlIGlzIHVuZXhw
ZWN0ZWRseSBzZXQnKQogICAgICAgICByZXR1cm4gcmMKIAorICAgIGRlZiB0ZXN0X29ic29sZXRl
X3ByKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcHJfanNvbiA9IGxh
bWJkYSB4LCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmU6IHNlbGYuZ2V0X3ByKG51
bWJlcj1wdWxsX3JlcXVlc3QpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1i
ZXInLCAnMTIzNCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAnaHR0
cHM6Ly9naXRodWIuY29tL1dlYktpdC9XZWJLaXQnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCdyZXZpc2lvbicsICcxYWQ2MGQ0NWExMTIzMDFmN2I5ZjkzZGFjMDYxMzQ1MjRkYWU4NDgwJykK
KyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1GQUlMVVJFLCBzdGF0ZV9zdHJpbmc9
J1B1bGwgcmVxdWVzdCAxMjM0IHdpdGggY2hhbmdlIChzaGEgMWFkNjBkNDVhMTEyKSBpcyBvYnNv
bGV0ZScpCisgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9j
b21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNldCcpCisgICAgICAgIHJldHVybiByYworCiAg
ICAgZGVmIHRlc3RfZmFzdF9jcV9wYXRjaGVzX3RyaWdnZXJfZmFzdF9jcV9tb2RlKHNlbGYpOgog
ICAgICAgICBmYXN0X2NxX3BhdGNoX3RpdGxlcyA9ICgnUkVWRVJUIE9GIHIxMjM0JywgJ3JldmVy
dCBvZiByMTIzNCcsICdbZmFzdC1jcV1QYXRjaCcsICdbRkFTVC1jcV0gcGF0Y2gnLCAnZmFzdC1j
cS1wYXRjaCcsICdGQVNULUNRIFBhdGNoJykKICAgICAgICAgZm9yIGZhc3RfY3FfcGF0Y2hfdGl0
bGUgaW4gZmFzdF9jcV9wYXRjaF90aXRsZXM6Ci0gICAgICAgICAgICBzZWxmLnNldHVwU3RlcChW
YWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCi0gICAgICAgICAgICBWYWxpZGF0
ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRj
aCh0aXRsZT1mYXN0X2NxX3BhdGNoX3RpdGxlKQorICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAo
VmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgICAgIFZhbGlk
YXRlQ2hhbmdlLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9w
YXRjaCh0aXRsZT1mYXN0X2NxX3BhdGNoX3RpdGxlKQogICAgICAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgncGF0Y2hfaWQnLCAnNDI1ODA2JykKLSAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQorICAgICAg
ICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1Zh
bGlkYXRlZCBjaGFuZ2UnKQogICAgICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1
ZScpLCBUcnVlLCAnZmFzdF9jb21taXRfcXVldWUgaXMgbm90IHNldCwgcGF0Y2ggdGl0bGU6IHt9
Jy5mb3JtYXQoZmFzdF9jcV9wYXRjaF90aXRsZSkpCiAgICAgICAgIHJldHVybiByYwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449138</attachid>
            <date>2022-01-13 21:26:20 -0800</date>
            <delta_ts>2022-01-13 21:31:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220113212620.patch</filename>
            <type>text/plain</type>
            <size>46054</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjc1Y2UyODA4ZDJmZjhjZmNkNmU5ZWJiYTM3YWZjMzJk
YWMxZmI1My4uOWI2MjdjOTkzMzcxYzIwYmI1ZGYxYjk0NWE1MzUzNDRhOThiZjRmMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIyLTAxLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyk6IFN0ZXAg
bmFtZSBjaGFuZ2VkIGZyb20gdmFsaWRhdGUtcGF0Y2ggdG8gdmFsaWRhdGUtY2hhbmdlLgorICAg
ICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChHaXRIdWIucHJf
dXJsKTogQWRkIG1pc3NpbmcgLy4KKyAgICAgICAgKEdpdEh1Yi5hcGlfdXJsKTogQ29udmVydCBh
IHJlcG9zaXRvcnkgVVJMIHRvIHRoZSBBUEkgdXJsIGZvciB0aGF0IHJlcG9zaXRvcnkuCisgICAg
ICAgIChHaXRIdWIuY3JlZGVudGlhbHMpOiBBY2Nlc3MgR2l0SHViIGNyZWRlbnRpYWxzIGZyb20g
cGFzc3dvcmRzLmpzb24uCisgICAgICAgIChHaXRIdWJNaXhpbik6CisgICAgICAgIChHaXRIdWJN
aXhpbi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24pOgorICAgICAgICAo
R2l0SHViTWl4aW4uZ2V0X3ByX2pzb24pOgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Ns
b3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIGNsb3NlZC4KKyAgICAgICAgKEdpdEh1
Yk1peGluLl9pc19wcl9vYnNvbGV0ZSk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIG9ic29s
ZXRlLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRj
aC4KKyAgICAgICAgKFZhbGlkYXRlQ2hhbmdlLmdldFJlc3VsdFN1bW1hcnkpOgorICAgICAgICAo
VmFsaWRhdGVDaGFuZ2Uuc3RhcnQpOiBJbnZva2UgdmFsaWRhdGVfYnVnemlsbGEgb3IgdmFsaWRh
dGVfZ2l0aHViLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfYnVnemlsbGEpOiBD
aGVjayBhIGJ1Z3ppbGxhIHBhdGNoLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVf
Z2l0aHViKTogQ2hlY2sgYSBHaXRIdWIgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoQ29tcGlsZVdl
YktpdC5ldmFsdWF0ZUNvbW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNo
YW5nZS4KKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTog
RGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4K
KyAgICAgICAgKFJlUnVuV2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQp
OiBEaXR0by4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgor
ICAgICAgICAoUmVSdW5BUElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAg
KFZhbGlkYXRlUGF0Y2gpOiBSZW5hbWVkIHRvIFZhbGlkYXRlQ2hhbmdlLgorICAgICAgICAqIENJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHk6CisKIDIwMjItMDEtMTMgIFBhdHJp
Y2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IElt
cGxlbWVudCBgZnJhbWVVUkxgIG9wdGlvbiBmb3IgYGRldnRvb2xzLmluc3BlY3RlZFdpbmRvdy5l
dmFsYCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IDFk
N2VjMjNlZGU5NGZmMTE3MzVkMDQ0YjQ4NjhkNTNlNGFmMDAxMzQuLjBkZDlmOTJkNDc0ZjY5MjBk
Nzk2M2Y3OWQ3NWU5NWY4ODk1ZDM2NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzLnB5CkBAIC0zMiw3ICszMiw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBB
cHBseVdhdGNoTGlzdCwgQ2hlY2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAg
ICAgICAgICAgICAgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzLCBSdW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVu
V2ViS2l0UHlQeXRob24yVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRo
b24zVGVzdHMsIFJ1bldlYktpdFRlc3RzLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktp
dFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzR3VhcmRtYWxsb2NNb2Rl
LAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lkZW50aWZpZXIsIFRy
aWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksCi0gICAgICAg
ICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwg
VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9uLAorICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmll
d2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JDcmFzaENvbGxlY3Rpb24s
CiAgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCwgVmVyaWZ5R2l0SHViSW50
ZWdyaXR5KQogCiAKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxk
RmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tQYXRjaFJlbGV2YW5jZSgp
KQogICAgICAgICBpZiBzZWxmLmZpbmRNb2RpZmllZExheW91dFRlc3RzOgogICAgICAgICAgICAg
c2VsZi5hZGRTdGVwKEZpbmRNb2RpZmllZExheW91dFRlc3RzKCkpCi0gICAgICAgIHNlbGYuYWRk
U3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5n
ZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNr
T3V0U291cmNlKCkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIFN0eWxlRmFjdG9yeShmYWN0b3J5
LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1O
b25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9y
eS5CdWlsZEZhY3RvcnkuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZp
Z3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10
cmlnZ2VycywgcmVtb3Rlcz1yZW1vdGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxB
cmd1bWVudHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFBy
aW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgpKQpAQCAtNzgsNyArNzgsNyBA
QCBjbGFzcyBXYXRjaExpc3RGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhz
ZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMs
IGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENo
ZWNrT3V0U291cmNlKCkpCkBAIC0yNDMsNyArMjQzLDcgQEAgY2xhc3MgV2luZG93c0ZhY3Rvcnko
RmFjdG9yeSk6CiAgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1l
bnRzPWFkZGl0aW9uYWxBcmd1bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21w
aWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNl
bGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChTZXRCdWlsZFN1bW1hcnkoKSkKIApAQCAtMjg1LDcgKzI4NSw3IEBAIGNs
YXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9
Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3Rv
cnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25m
aWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9
Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVu
dHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKGRlZmF1bHRfYnJhbmNoPSdtYXN0ZXInKSkKQEAgLTMwMCwx
MCArMzAwLDEwIEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9y
eSk6CiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcygpKQogICAg
ICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0VGVzdHMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVw
KFZhbGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVz
PVRydWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UocmVwb3VybD0naHR0
cHM6Ly9naXQud2Via2l0Lm9yZy9naXQvV2ViS2l0LWh0dHBzJykpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChTaG93SWRlbnRpZmllcigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVXBkYXRlV29ya2lu
Z0RpcmVjdG9yeSgpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191
bml0dGVzdC5weQppbmRleCBhMGE3NmUzNDVlODE0ZjkxYTlmMzQ0ZDUwOTI3Zjc4ZjM4ZTQ3ZTU3
Li5kZTUyZDNhYThiZGFhYWE0MGI5ZDk4NWFjZmM4ZjU0NTVkM2VlYzc3IDEwMDY0NAotLS0gYS9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQorKysgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQpAQCAtMzEsNyArMzEs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBleHBlY3RlZF9zdGVwcyA9IHsKICAgICAgICAgJ1N0eWxlLUVXUyc6IFsKICAgICAgICAgICAg
ICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAg
ICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAog
ICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgVGVzdEV4
cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAg
ICdBcHBseS1XYXRjaExpc3QtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
Ci0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNo
YW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4t
dXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJl
Y3RvcnknLApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0dUSy1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC03MCw3ICs3MCw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBdLAogICAgICAgICAnR1RLLVdLMi1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC04OSw3ICs4OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1
LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTEwMiw3ICsxMDIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ2lPUy0xNS1TaW11bGF0b3ItQnVpbGQtRVdT
JzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRh
dGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAn
Y29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAg
ICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTE1LDcgKzEx
NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LVNpbXVsYXRvci1XSzItVGVzdHMtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTM2LDcgKzEzNiw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnbWFjT1MtQXBwbGVTaWxpY29uLUJpZy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAg
ICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZh
bmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRh
dGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdj
bGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5n
LWRpcmVjdG9yeScsCkBAIC0xNDksNyArMTQ5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRT
dGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBs
ZVNpbGljb24tQmlnLVN1ci1EZWJ1Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2Nv
bmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
bWFjT1MtQ2F0YWxpbmEtUmVsZWFzZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVk
QnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGluYS1S
ZWxlYXNlLVdLMS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywK
ICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIwMyw3ICsy
MDMsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgXSwKICAgICAgICAgJ21hY09TLUNhdGFsaW5hLVJlbGVhc2UtV0syLVRlc3RzLUVX
Uyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIyNCw3ICsy
MjQsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgJ21hY09TLVJlbGVhc2UtV0syLVN0cmVzcy1UZXN0cy1FV1MnOiBbCiAgICAgICAg
ICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdmaW5kLW1vZGlmaWVkLWxheW91
dC10ZXN0cycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMjQyLDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1Mt
Q2F0YWxpbmEtRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMjU2LDcgKzI1Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sx
LVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAg
ICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gn
LAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJh
dGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2Ns
ZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMjc2LDcgKzI3Niw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBd
LAogICAgICAgICAnd2F0Y2hPUy04LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1
cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTI4OSw3ICsyODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNo
T1MtOC1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMzAyLDcgKzMwMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAndHZPUy0xNS1CdWls
ZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMTUs
NyArMzE1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIF0sCiAgICAgICAgICd0dk9TLTE1LVNpbXVsYXRvci1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMjksNyArMzI5LDcg
QEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICdXaW5kb3dzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzM5LDEzICszMzks
MTMgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICAgICAnYXBwbHktcGF0Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3Nl
cycsCiAgICAgICAgICAgICAnY29tcGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRl
LXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xh
eW91dC10ZXN0cycsCiAgICAgICAgICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0s
CiAgICAgICAgICdXaW5DYWlyby1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxk
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC0zNTgsNyArMzU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzczLDcgKzM3Myw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnSlNDLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzg4LDcgKzM4OCw3
IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICAnSlNDLU1JUFNFTC0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQt
cmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScs
CkBAIC00MDIsNyArNDAyLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtTUlQU0VMLTMyYml0cy1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMt
QnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAg
ICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcs
CisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0
aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xl
YW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00MzIsNyArNDMyLDcgQEAgY2xh
c3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdK
U0MtQVJNdjctMzJiaXRzLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVp
bGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDQ4
LDcgKzQ0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnSlNDLWkzODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25m
aWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNDYyLDcgKzQ2Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAg
ICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNl
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC00NzUsNyArNDc1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQ4OSw3ICs0ODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ1dlYktp
dFBlcmwtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNTAxLDcgKzUwMSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLWlPUy1TaW11bGF0
b3ItRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTE2
LDcgKzUxNiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAg
ICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywK
KyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVh
bi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTUzMSw3ICs1MzEsNyBAQCBjbGFz
cyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwK
ICAgICAgICAgJ0FQSS1UZXN0cy1HVEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2lu
Zy1kaXJlY3RvcnknLApAQCAtNTQ4LDcgKzU0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxk
U3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAg
ICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVs
ZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFs
aWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAg
ICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3Jr
aW5nLWRpcmVjdG9yeScsCkBAIC01NjQsNyArNTY0LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQt
UXVldWUnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICd2YWxpZGF0ZS1jb21taXRlci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZp
Z3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU3OSwxMCAr
NTc5LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGls
ZS13ZWJraXQnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY2hlY2stc3RhdHVzLW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlv
dXQtdGVzdHMnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLAogICAgICAgICAgICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAn
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IGZlMjRjMTBmYzI0N2M1MGYxMmU5MjczYTNhM2U3ZWM5ZjhjZTQ2MTEuLjMxMTViN2EwMzRk
OGUxZGU5MGRkNTRmNTQ0ODU4MWU0MzE2OWFhYzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtNTQsOSArNTQsOSBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5vcmcv
JwogUkVTVUxUU19EQl9VUkwgPSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0aFBy
b3BlcnRpZXMgPSBwcm9wZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHByb3Bl
cnRpZXMuSW50ZXJwb2xhdGUKLUJSQU5DSF9QUl9SRSA9IHJlLmNvbXBpbGUocidecmVmcy9wdWxs
Lyg/UDxpZD5cZCspL21lcmdlJCcpCiBHSVRIVUJfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS8n
CiBHSVRIVUJfUFJPSkVDVFMgPSBbJ1dlYktpdC9XZWJLaXQnXQorSEFTSF9TSVpFID0gMTIKIAog
CiBjbGFzcyBCdWZmZXJMb2dIZWFkZXJPYnNlcnZlcihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNl
cnZlcik6CkBAIC04Niw3ICs4Niw5NSBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAg
ICAgIHJldHVybiAnJwogICAgICAgICBpZiBub3QgcHJfbnVtYmVyIG9yIG5vdCBpc2luc3RhbmNl
KHByX251bWJlciwgaW50KToKICAgICAgICAgICAgIHJldHVybiAnJwotICAgICAgICByZXR1cm4g
J3t9cHVsbC97fScuZm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisgICAgICAgIHJl
dHVybiAne30vcHVsbC97fScuZm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisKKyAg
ICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYXBpX3VybChjbHMsIHJlcG9zaXRvcnlfdXJsPU5vbmUp
OgorICAgICAgICBpZiBub3QgcmVwb3NpdG9yeV91cmw6CisgICAgICAgICAgICByZXBvc2l0b3J5
X3VybCA9ICd7fXt9Jy5mb3JtYXQoR0lUSFVCX1VSTCwgR0lUSFVCX1BST0pFQ1RTWzBdKQorCisg
ICAgICAgIGlmIHJlcG9zaXRvcnlfdXJsIG5vdCBpbiBHaXRIdWIucmVwb3NpdG9yeV91cmxzKCk6
CisgICAgICAgICAgICByZXR1cm4gJycKKyAgICAgICAgXywgdXJsX2Jhc2UgPSByZXBvc2l0b3J5
X3VybC5zcGxpdCgnOi8vJywgMSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNlLnNwbGl0
KCcvJywgMSkKKyAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScuZm9ybWF0
KGhvc3QsIHBhdGgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlZGVudGlhbHMoY2xz
KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4o
J3Bhc3N3b3Jkcy5qc29uJykpCisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lU
SFVCX0NPTV9VU0VSTkFNRScsIE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX0FDQ0VT
U19UT0tFTicsIE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
ICAgIHByaW50KCdFcnJvciByZWFkaW5nIEdpdEh1YiBhcGkga2V5JykKKyAgICAgICAgICAgIHJl
dHVybiBOb25lLCBOb25lCisKKworY2xhc3MgR2l0SHViTWl4aW4ob2JqZWN0KToKKyAgICBhZGRV
UkxzID0gRmFsc2UKKyAgICBwcl9vcGVuX3N0YXRlcyA9IFsnb3BlbiddCisgICAgcHJfY2xvc2Vk
X3N0YXRlcyA9IFsnY2xvc2VkJ10KKworICAgIGRlZiBmZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhf
YXV0aGVudGljYXRpb24oc2VsZiwgdXJsKToKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAg
ICAgIHRyeToKKyAgICAgICAgICAgIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4gPSBzZWxmLmNyZWRl
bnRpYWxzKCkKKyAgICAgICAgICAgIGF1dGggPSBIVFRQQmFzaWNBdXRoKHVzZXJuYW1lLCBhY2Nl
c3NfdG9rZW4pIGlmIHVzZXJuYW1lIGFuZCBhY2Nlc3NfdG9rZW4gZWxzZSBOb25lCisgICAgICAg
ICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCgKKyAgICAgICAgICAgICAgICB1cmwsIHRpbWVv
dXQ9NjAsIGF1dGg9YXV0aCwKKyAgICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdh
cHBsaWNhdGlvbi92bmQuZ2l0aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAg
ICAgIGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgorICAgICAgICAgICAgICAg
IHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdBY2Nlc3NlZCB7dXJsfSB3aXRoIHVuZXhwZWN0ZWQg
c3RhdHVzIGNvZGUge3N0YXR1c19jb2RlfS5cbicuZm9ybWF0KHVybD11cmwsIHN0YXR1c19jb2Rl
PXJlc3BvbnNlLnN0YXR1c19jb2RlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAg
ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAjIENhdGNoaW5nIGFsbCBl
eGNlcHRpb25zIGhlcmUgdG8gc2FmZWd1YXJkIGFjY2VzcyB0b2tlbi4KKyAgICAgICAgICAgIHNl
bGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gYWNjZXNzIHt1cmx9LlxuJy5mb3JtYXQo
dXJsPXVybCkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcmVzcG9u
c2UKKworICAgIGRlZiBnZXRfcHJfanNvbihzZWxmLCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlf
dXJsPU5vbmUpOgorICAgICAgICBhcGlfdXJsID0gR2l0SHViLmFwaV91cmwocmVwb3NpdG9yeV91
cmwpCisgICAgICAgIGlmIG5vdCBhcGlfdXJsOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKwor
ICAgICAgICBwcl91cmwgPSAne30vcHVsbHMve30nLmZvcm1hdChhcGlfdXJsLCBwdWxsX3JlcXVl
c3QpCisgICAgICAgIGNvbnRlbnQgPSBzZWxmLmZldGNoX2RhdGFfZnJvbV91cmxfd2l0aF9hdXRo
ZW50aWNhdGlvbihwcl91cmwpCisgICAgICAgIGlmIG5vdCBjb250ZW50OgorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcHJfanNvbiA9IGNvbnRlbnQu
anNvbigpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50
KCdGYWlsZWQgdG8gZ2V0IHB1bGwgcmVxdWVzdCBkYXRhIGZyb20ge30sIGVycm9yOiB7fScuZm9y
bWF0KHByX3VybCwgZSkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBub3Qg
cHJfanNvbiBvciBsZW4ocHJfanNvbikgPT0gMDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisg
ICAgICAgIHJldHVybiBwcl9qc29uCisKKyAgICBkZWYgX2lzX3ByX2Nsb3NlZChzZWxmLCBwdWxs
X3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgorICAgICAgICBpZiBub3QgcHVsbF9yZXF1
ZXN0OgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1NraXBwaW5nIHB1bGwg
cmVxdWVzdCBzdGF0dXMgdmFsaWRhdGlvbiBzaW5jZSBwdWxsIHJlcXVlc3QgaXMgTm9uZS5cbicp
CisgICAgICAgICAgICByZXR1cm4gLTEKKworICAgICAgICBwcl9qc29uID0gc2VsZi5nZXRfcHJf
anNvbihwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsKQorICAgICAgICBpZiBub3QgcHJfanNv
biBvciBub3QgcHJfanNvbi5nZXQoJ3N0YXRlJyk6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnVW5hYmxlIHRvIGZldGNoIHB1bGwgcmVxdWVzdCB7fS5cbicuZm9ybWF0KHB1
bGxfcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgaWYgcHJfanNvbi5n
ZXQoJ3N0YXRlJykgaW4gc2VsZi5wcl9jbG9zZWRfc3RhdGVzOgorICAgICAgICAgICAgcmV0dXJu
IDEKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGRlZiBfaXNfcHJfb2Jzb2xldGUoc2VsZiwgcHVs
bF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybD1Ob25lKToKKyAgICAgICAgcHJfanNvbiA9IHNlbGYu
Z2V0X3ByX2pzb24ocHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybCkKKyAgICAgICAgaWYgbm90
IHByX2pzb246CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnVW5hYmxlIHRv
IGZldGNoIHB1bGwgcmVxdWVzdCB7fS5cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAg
ICAgICByZXR1cm4gLTEKKworICAgICAgICBwcl9zaGEgPSBwcl9qc29uLmdldCgnaGVhZCcsIHt9
KS5nZXQoJ3NoYScsICcnKQorICAgICAgICBpZiBub3QgcHJfc2hhOgorICAgICAgICAgICAgc2Vs
Zi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxlZCB0byBmZXRjaCBoYXNoIG9mIHB1bGwgcmVxdWVz
dCB7fVxuJy5mb3JtYXQocHVsbF9yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiAtMQorCisg
ICAgICAgIHJldHVybiAwIGlmIHByX3NoYSA9PSBzZWxmLmdldFByb3BlcnR5KCdyZXZpc2lvbics
ICc/JykgZWxzZSAxCiAKIAogY2xhc3MgQ29udHJpYnV0b3JzKG9iamVjdCk6CkBAIC0xMTUsMTEg
KzIwMywxNSBAQCBjbGFzcyBDb250cmlidXRvcnMob2JqZWN0KToKICAgICAgICAgICAgIHJldHVy
biB7fSwgJ0ZhaWxlZCB0byBhY2Nlc3Mge3VybH1cbicuZm9ybWF0KHVybD1jbHMudXJsKQogCiAg
ICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGxvYWQoY2xzKToKKyAgICBkZWYgbG9hZChjbHMsIHVz
ZV9uZXR3b3JrPVRydWUpOgogICAgICAgICBlcnJvcnMgPSBbXQotICAgICAgICBjb250cmlidXRv
cnNfanNvbiwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dpdGh1YigpCi0gICAgICAgIGlmIGVycm9y
OgotICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChlcnJvcikKKworICAgICAgICBpZiB1c2VfbmV0
d29yazoKKyAgICAgICAgICAgIGNvbnRyaWJ1dG9yc19qc29uLCBlcnJvciA9IGNscy5sb2FkX2Zy
b21fZ2l0aHViKCkKKyAgICAgICAgICAgIGlmIGVycm9yOgorICAgICAgICAgICAgICAgIGVycm9y
cy5hcHBlbmQoZXJyb3IpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb250cmlidXRvcnNf
anNvbiA9IFtdCiAKICAgICAgICAgaWYgbm90IGNvbnRyaWJ1dG9yc19qc29uOgogICAgICAgICAg
ICAgY29udHJpYnV0b3JzX2pzb24sIGVycm9yID0gY2xzLmxvYWRfZnJvbV9kaXNrKCkKQEAgLTky
NywxMCArMTAxOSwxMCBAQCBjbGFzcyBCdWd6aWxsYU1peGluKG9iamVjdCk6CiAgICAgICAgIHJl
dHVybiBTVUNDRVNTCiAKIAotY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVw
LCBCdWd6aWxsYU1peGluKToKLSAgICBuYW1lID0gJ3ZhbGlkYXRlLXBhdGNoJwotICAgIGRlc2Ny
aXB0aW9uID0gWyd2YWxpZGF0ZS1wYXRjaCBydW5uaW5nJ10KLSAgICBkZXNjcmlwdGlvbkRvbmUg
PSBbJ1ZhbGlkYXRlZCBwYXRjaCddCitjbGFzcyBWYWxpZGF0ZUNoYW5nZShidWlsZHN0ZXAuQnVp
bGRTdGVwLCBCdWd6aWxsYU1peGluLCBHaXRIdWJNaXhpbik6CisgICAgbmFtZSA9ICd2YWxpZGF0
ZS1jaGFuZ2UnCisgICAgZGVzY3JpcHRpb24gPSBbJ3ZhbGlkYXRlLWNoYW5nZSBydW5uaW5nJ10K
KyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ1ZhbGlkYXRlZCBjaGFuZ2UnXQogICAgIGZsdW5rT25G
YWlsdXJlID0gVHJ1ZQogICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAKQEAgLTk0NSw3ICsxMDM3
LDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1p
eGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxmKToKICAgICAgICAgaWYgc2VsZi5y
ZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAgICAgICByZXR1cm4geydzdGVwJzogc2VsZi5kZXNj
cmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVybiBzdXBlcihWYWxpZGF0ZVBhdGNoLCBzZWxmKS5n
ZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAgcmV0dXJuIHN1cGVyKFZhbGlkYXRlQ2hhbmdlLCBz
ZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAogICAgIGRlZiBkb1N0ZXBJZihzZWxmLCBzdGVwKToK
ICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBG
YWxzZSkKQEAgLTk1OSw1NCArMTA1MSwxMDQgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0
ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAg
ICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQotICAgICAg
ICBpZiBub3QgcGF0Y2hfaWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAn
Tm8gcGF0Y2hfaWQgZm91bmQuIFVuYWJsZSB0byBwcm9jZWVkIHdpdGhvdXQgcGF0Y2hfaWQuXG4n
KQotICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSAnTm8gcGF0Y2ggaWQgZm91bmQn
CisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1iZXInLCAn
JykKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQgYW5kIG5vdCBwcl9udW1iZXI6CisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgb3IgcHJfbnVtYmVyIGZv
dW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IG9uZSBvZiB0aGVtLlxuJykKKyAgICAgICAg
ICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIGNoYW5nZSBmb3VuZCcKKyAgICAgICAgICAg
IHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAg
ICAgaWYgcGF0Y2hfaWQgYW5kIHByX251bWJlcjoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdCb3RoIHBhdGNoX2lkIGFuZCBwcl9udW1iZXIgZm91bmQuIFVuYWJsZSB0byBw
cm9jZWVkIHdpdGggYm90aC5cbicpCisgICAgICAgICAgICBzZWxmLmRlc2NyaXB0aW9uRG9uZSA9
ICdUd28gY2hhbmdlcyBmb3VuZCcKICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkK
ICAgICAgICAgICAgIHJldHVybiBOb25lCiAKKyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBz
ZWxmLnZhbGlkYXRlX2J1Z3ppbGxhKHBhdGNoX2lkKToKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisgICAgICAgIGlmIHByX251bWJlciBhbmQgbm90IHNlbGYudmFsaWRhdGVfZ2l0aHViKHByX251
bWJlcik6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGlmIHNlbGYudmVyaWZ5
QnVnQ2xvc2VkOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBv
cGVuLlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZToKKyAgICAgICAgICAgIHNl
bGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaXMgbm90IG9ic29sZXRlLlxuJykKKyAgICAg
ICAgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQ6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnQ2hhbmdlIGhhcyBub3QgYmVlbiBkZW5pZWQuXG4nKQorICAgICAgICBpZiBz
ZWxmLnZlcmlmeWNxcGx1czoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdD
aGFuZ2UgaXMgaW4gY29tbWl0IHF1ZXVlLlxuJykKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdDaGFuZ2UgaGFzIGJlZW4gcmV2aWV3ZWQuXG4nKQorICAgICAgICBzZWxmLmZp
bmlzaGVkKFNVQ0NFU1MpCisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgdmFsaWRhdGVf
YnVnemlsbGEoc2VsZiwgcGF0Y2hfaWQpOgogICAgICAgICBidWdfaWQgPSBzZWxmLmdldFByb3Bl
cnR5KCdidWdfaWQnLCAnJykgb3Igc2VsZi5nZXRfYnVnX2lkX2Zyb21fcGF0Y2gocGF0Y2hfaWQp
CiAKICAgICAgICAgYnVnX2Nsb3NlZCA9IHNlbGYuX2lzX2J1Z19jbG9zZWQoYnVnX2lkKSBpZiBz
ZWxmLnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKICAgICAgICAgaWYgYnVnX2Nsb3NlZCA9PSAxOgog
ICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdCdWcge30gaXMgYWxyZWFkeSBjbG9zZWQnLmZv
cm1hdChidWdfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVy
biBGYWxzZQogCiAgICAgICAgIG9ic29sZXRlID0gc2VsZi5faXNfcGF0Y2hfb2Jzb2xldGUocGF0
Y2hfaWQpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUgZWxzZSAwCiAgICAgICAgIGlmIG9ic29sZXRl
ID09IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG9ic29sZXRl
Jy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAg
IHJldHVybiBGYWxzZQogCiAgICAgICAgIHJldmlld19kZW5pZWQgPSBzZWxmLl9pc19wYXRjaF9y
ZXZpZXdfZGVuaWVkKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeVJldmlld0RlbmllZCBlbHNlIDAK
ICAgICAgICAgaWYgcmV2aWV3X2RlbmllZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1
aWxkKCdQYXRjaCB7fSBpcyBtYXJrZWQgci0nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAg
ICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgY3FfcGx1
cyA9IHNlbGYuX2lzX3BhdGNoX2NxX3BsdXMocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVz
IGVsc2UgMQogICAgICAgICBpZiBjcV9wbHVzICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBf
YnVpbGQoJ1BhdGNoIHt9IGlzIG5vdCBtYXJrZWQgY3ErLicuZm9ybWF0KHBhdGNoX2lkKSkKLSAg
ICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAg
ICBhY2NlcHRhYmxlX3Jldmlld19mbGFnID0gc2VsZi5fZG9lc19wYXRjaF9oYXZlX2FjY2VwdGFi
bGVfcmV2aWV3X2ZsYWcocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAg
ICAgICBpZiBhY2NlcHRhYmxlX3Jldmlld19mbGFnICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNr
aXBfYnVpbGQoJ1BhdGNoIHt9IGRvZXMgbm90IGhhdmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy4n
LmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCiAKICAgICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcmV2aWV3X2Rlbmll
ZCA9PSAtMSBvciBidWdfY2xvc2VkID09IC0xOgogICAgICAgICAgICAgc2VsZi5maW5pc2hlZChX
QVJOSU5HUykKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFs
c2UKKyAgICAgICAgcmV0dXJuIFRydWUKIAotICAgICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3Nl
ZDoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicp
Ci0gICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRU
b0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG9ic29sZXRlLlxuJykKLSAgICAgICAgaWYgc2Vs
Zi52ZXJpZnlSZXZpZXdEZW5pZWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnUGF0Y2ggaXMgbm90IG1hcmtlZCByLS5cbicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5Y3Fw
bHVzOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG1hcmtl
ZCBjcSsuXG4nKQotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGhh
dmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy5cbicpCi0gICAgICAgIHNlbGYuZmluaXNoZWQoU1VD
Q0VTUykKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBkZWYgdmFsaWRhdGVfZ2l0aHViKHNlbGYs
IHByX251bWJlcik6CisgICAgICAgIGlmIG5vdCBwcl9udW1iZXI6CisgICAgICAgICAgICByZXR1
cm4gRmFsc2UKKworICAgICAgICByZXBvc2l0b3J5X3VybCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3Jl
cG9zaXRvcnknLCAnJykKKyAgICAgICAgdGl0bGUgPSBzZWxmLmdldFByb3BlcnR5KCdnaXRodWIu
dGl0bGUnLCAnJykKKyAgICAgICAgb3duZXJzID0gc2VsZi5nZXRQcm9wZXJ0eSgnb3duZXJzJywg
W10pCisKKyAgICAgICAgaWYgc2VsZi5hZGRVUkxzIGFuZCBwcl9udW1iZXIgYW5kIHRpdGxlIGFu
ZCByZXBvc2l0b3J5X3VybDoKKyAgICAgICAgICAgIHNlbGYuYWRkVVJMKCdbUFIge31dIHt9Jy5m
b3JtYXQocHJfbnVtYmVyLCB0aXRsZSksIEdpdEh1Yi5wcl91cmwocHJfbnVtYmVyLCByZXBvc2l0
b3J5X3VybCkpCisgICAgICAgIGlmIHNlbGYuYWRkVVJMcyBhbmQgb3duZXJzOgorICAgICAgICAg
ICAgY29udHJpYnV0b3JzLCBlcnJvcnMgPSBDb250cmlidXRvcnMubG9hZCh1c2VfbmV0d29yaz1G
YWxzZSkKKyAgICAgICAgICAgIGZvciBlcnJvciBpbiBlcnJvcnM6CisgICAgICAgICAgICAgICAg
cHJpbnQoZXJyb3IpCisgICAgICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgZXJy
b3IpCisgICAgICAgICAgICBjb250cmlidXRvciA9IGNvbnRyaWJ1dG9ycy5nZXQob3duZXJzWzBd
LCB7fSkKKyAgICAgICAgICAgIGRpc3BsYXlfbmFtZSA9IGNvbnRyaWJ1dG9yLmdldCgnZW1haWwn
LCBvd25lcnNbMF0pIGlmIGNvbnRyaWJ1dG9yIGVsc2Ugb3duZXJzWzBdCisgICAgICAgICAgICBz
ZWxmLmFkZFVSTCgnQ2hhbmdlIGJ5IHt9Jy5mb3JtYXQoZGlzcGxheV9uYW1lKSwgJ3t9L3t9Jy5m
b3JtYXQoR0lUSFVCX1VSTCwgb3duZXJzWzBdKSkKKworICAgICAgICBwcl9jbG9zZWQgPSBzZWxm
Ll9pc19wcl9jbG9zZWQocHJfbnVtYmVyLCByZXBvc2l0b3J5X3VybD1yZXBvc2l0b3J5X3VybCkg
aWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQgZWxzZSAwCisgICAgICAgIGlmIHByX2Nsb3NlZCA9PSAx
OgorICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQdWxsIHJlcXVlc3Qge30gaXMgYWxyZWFk
eSBjbG9zZWQnLmZvcm1hdChwcl9udW1iZXIpKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisK
KyAgICAgICAgb2Jzb2xldGUgPSBzZWxmLl9pc19wcl9vYnNvbGV0ZShwcl9udW1iZXIsIHJlcG9z
aXRvcnlfdXJsPXJlcG9zaXRvcnlfdXJsKSBpZiBzZWxmLnZlcmlmeU9ic29sZXRlIGVsc2UgMAor
ICAgICAgICBpZiBvYnNvbGV0ZSA9PSAxOgorICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQ
dWxsIHJlcXVlc3Qge30gKHNoYSB7fSkgaXMgb2Jzb2xldGUnLmZvcm1hdChwcl9udW1iZXIsIHNl
bGYuZ2V0UHJvcGVydHkoJ3JldmlzaW9uJywgJz8nKVs6SEFTSF9TSVpFXSkpCisgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKKworICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciBwcl9jbG9zZWQg
PT0gLTE6CisgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKFdBUk5JTkdTKQorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisKKyAgICAgICAgcmV0dXJuIFRydWUKIAogCiBjbGFzcyBWYWxpZGF0ZUNv
bW1pdGVyQW5kUmV2aWV3ZXIoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CkBAIC0xNjgwLDcgKzE4MjIs
NyBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgIGRlZiBldmFsdWF0
ZUNvbW1hbmQoc2VsZiwgY21kKToKICAgICAgICAgaWYgY21kLmRpZEZhaWwoKToKICAgICAgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVG9CdWlsZCcsIFRydWUpCi0gICAgICAg
ICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZVBh
dGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisgICAgICAgICAgICBz
dGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNoYW5nZSh2
ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAgICAgICAgcGxhdGZv
cm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAgICBpZiBwbGF0Zm9y
bSA9PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEluc3RhbGxX
cGVEZXBlbmRlbmNpZXMoKSkKQEAgLTE5NjAsOSArMjEwMiw5IEBAIGNsYXNzIFJ1bkphdmFTY3Jp
cHRDb3JlVGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkKICAgICAgICAgICAgIHNlbGYu
YnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsZUpTQ1dpdGhvdXRQYXRjaCgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEtpbGxPbGRQcm9jZXNzZXMoKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bkpTQ1Rlc3RzV2l0aG91dFBhdGNo
KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmFs
eXplSlNDVGVzdHNSZXN1bHRzKCldKQpAQCAtMjM4NSw3ICsyNTI3LDcgQEAgY2xhc3MgUnVuV2Vi
S2l0VGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgICAgICAgICAgQXJjaGl2ZVRlc3RSZXN1bHRz
KCksCiAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoKSwKICAgICAgICAgICAgICAg
ICBFeHRyYWN0VGVzdFJlc3VsdHMoKSwKLSAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgVmFs
aWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAg
ICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgUmVSdW5XZWJL
aXRUZXN0cygpLAogICAgICAgICAgICAgXSkKQEAgLTI0ODAsOSArMjYyMiw5IEBAIGNsYXNzIFJl
UnVuV2ViS2l0VGVzdHMoUnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVy
dW4nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4
dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXJ1bicpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQ
YXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlf
YnVpbGRfb25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRV
UkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLaWxsT2xk
UHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCkBA
IC0yODA1LDcgKzI5NDcsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0
VGVzdHMpOgogICAgICAgICByYyA9IHNlbGYuZXZhbHVhdGVSZXN1bHQoY21kKQogICAgICAgICBu
ZXh0X3N0ZXBzID0gW0FyY2hpdmVUZXN0UmVzdWx0cygpLCBVcGxvYWRUZXN0UmVzdWx0cygpLCBF
eHRyYWN0VGVzdFJlc3VsdHMoKV0KICAgICAgICAgaWYgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rl
c3RzOgotICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5X
ZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSgpXSkKKyAgICAgICAgICAgIG5leHRfc3Rl
cHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNS
ZWRUcmVlKCldKQogICAgICAgICBlbGlmIGZpcnN0X3Jlc3VsdHNfZmxha3lfdGVzdHM6CiAgICAg
ICAgICAgICBuZXh0X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJl
ZSgpKQogICAgICAgICBlbGlmIHJjID09IFNVQ0NFU1Mgb3IgcmMgPT0gV0FSTklOR1M6CkBAIC0y
ODIzLDcgKzI5NjUsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0VGVz
dHMpOgogICAgICAgICAgICAgaWYgcmV0cnlfY291bnQgPCBBbmFseXplTGF5b3V0VGVzdHNSZXN1
bHRzUmVkVHJlZS5NQVhfUkVUUlk6CiAgICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQo
QW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQo
KSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUp
LCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1
bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAgICAgICBuZXh0
X3N0ZXBzLmV4dGVuZChbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0
aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksIFZhbGlkYXRlQ2hhbmdlKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzV2l0aG91
dFBhdGNoUmVkVHJlZSgpXSkKICAgICAgICAgaWYgbmV4dF9zdGVwczoKICAgICAgICAgICAgIHNl
bGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKG5leHRfc3RlcHMpCiAgICAgICAgIHJl
dHVybiByYwpAQCAtMjg1Myw4ICsyOTk1LDggQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZXBlYXRG
YWlsdXJlc1JlZFRyZWUoUnVuV2ViS2l0VGVzdHNSZWRUcmVlKToKICAgICAgICAgbmV4dF9zdGVw
cyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0n
cmVwZWF0LWZhaWx1cmVzJyksIEV4dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXBlYXQt
ZmFpbHVyZXMnKV0KICAgICAgICAgaWYgd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfcmVzdWx0
c19ub25mbGFreV9mYWlsdXJlcyBvciB3aXRoX3BhdGNoX3JlcGVhdF9mYWlsdXJlc190aW1lZG91
dDoKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVl
KQotICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBVbkFwcGx5
UGF0Y2hJZlJlcXVpcmVkKCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRf
b25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRl
c3RzUmVwZWF0RmFpbHVyZXNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQorICAgICAgICAgICAgbmV4
dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRk
VVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgp
LCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJl
c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBuZXh0
X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQogICAgICAg
ICBpZiBuZXh0X3N0ZXBzOgpAQCAtMzI1Nyw3ICszMzk5LDcgQEAgY2xhc3MgUnVuQVBJVGVzdHMo
VGVzdFdpdGhGYWlsdXJlQ291bnQpOgogICAgICAgICAgICAgc2VsZi5idWlsZC5yZXN1bHRzID0g
U1VDQ0VTUwogICAgICAgICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwg
U1VDQ0VTUykKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNB
ZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRk
VVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUmVSdW5BUElUZXN0cygpXSkKKyAgICAg
ICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZUNoYW5n
ZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2Vz
KCksIFJlUnVuQVBJVGVzdHMoKV0pCiAgICAgICAgIHJldHVybiByYwogCiAKQEAgLTMyNzMsMTQg
KzM0MTUsMTQgQEAgY2xhc3MgUmVSdW5BUElUZXN0cyhSdW5BUElUZXN0cyk6CiAgICAgICAgICAg
ICBzZWxmLmJ1aWxkLmJ1aWxkRmluaXNoZWQoW21lc3NhZ2VdLCBTVUNDRVNTKQogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRy
dWUpCi0gICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgp
LCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisg
ICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAg
ICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAg
ICBpZiBwbGF0Zm9ybSA9PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBw
ZW5kKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMoKSkKICAgICAgICAgICAgIGVsaWYgcGxhdGZvcm0g
PT0gJ2d0ayc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsR3Rr
RGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKENvbXBpbGVX
ZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSkKLSAgICAgICAg
ICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFs
c2UsIGFkZFVSTHM9RmFsc2UpKQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAg
ICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgICAg
ICBzdGVwc190b19hZGQuYXBwZW5kKFJ1bkFQSVRlc3RzV2l0aG91dFBhdGNoKCkpCiAgICAgICAg
ICAgICBzdGVwc190b19hZGQuYXBwZW5kKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMoKSkKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGZhZmNkYzkzNzU1
ZjM4M2QwOTQ2M2EyZWI4NjVlOGUwYzE2MmI3NjUuLmQzYjZjNjg1YjFmZmFiYzE1YmMwNTkwYjU4
MTVkYTg5NGU3NTVhNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3Rl
cHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0
dGVzdC5weQpAQCAtNTYsNyArNTYsNyBAQCBmcm9tIHN0ZXBzIGltcG9ydCAoQW5hbHl6ZUFQSVRl
c3RzUmVzdWx0cywgQW5hbHl6ZUNvbXBpbGVXZWJLaXRSZXN1bHRzLCBBbmFseXplSgogICAgICAg
ICAgICAgICAgICAgIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoLCBSdW5XZWJLaXRUZXN0c1Jl
ZFRyZWUsIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlLCBSdW5XZWJLaXRUZXN0
c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSwKICAgICAgICAgICAgICAgICAgICBS
dW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUsIEFuYWx5emVMYXlvdXRUZXN0c1Jlc3Vs
dHNSZWRUcmVlLCBUZXN0V2l0aEZhaWx1cmVDb3VudCwgU2hvd0lkZW50aWZpZXIsCiAgICAgICAg
ICAgICAgICAgICAgVHJpZ2dlciwgVHJhbnNmZXJUb1MzLCBVbkFwcGx5UGF0Y2hJZlJlcXVpcmVk
LCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LCBVcGxvYWRCdWlsdFByb2R1Y3QsCi0gICAgICAgICAg
ICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIs
IFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgVmFsaWRhdGVQYXRjaCwgVmVyaWZ5R2l0SHVi
SW50ZWdyaXR5KQorICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0
ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlk
YXRlQ2hhbmdlLCBWZXJpZnlHaXRIdWJJbnRlZ3JpdHkpCiAKICMgV29ya2Fyb3VuZCBmb3IgaHR0
cHM6Ly9naXRodWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy80NjY5CiBmcm9tIGJ1aWxk
Ym90LnRlc3QuZmFrZS5mYWtlYnVpbGQgaW1wb3J0IEZha2VCdWlsZApAQCAtNDUyNSw3ICs0NTI1
LDcgQEAgY2xhc3MgVGVzdENyZWF0ZUxvY2FsR0lUQ29tbWl0KEJ1aWxkU3RlcE1peGluQWRkaXRp
b25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJldHVybiByYwogCiAKLWNsYXNzIFRl
c3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2Fz
ZSk6CitjbGFzcyBUZXN0VmFsaWRhdGVDaGFuZ2UoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHJldHVybiBz
ZWxmLnNldFVwQnVpbGRTdGVwKCkKIApAQCAtNDU0MywzOSArNDU0Myw5MiBAQCBjbGFzcyBUZXN0
VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgICAgICAgICAgImlzX3BhdGNoIjogMSwKICAgICAgICAgICAgICAgICAg
ICAgICJzdW1tYXJ5IjogInt9In19JycnLmZvcm1hdChvYnNvbGV0ZSwgdGl0bGUpKQogCisgICAg
ZGVmIGdldF9wcihzZWxmLCBudW1iZXIsIHRpdGxlPSdQdWxsLXJlcXVlc3QnLCBjbG9zZWQ9RmFs
c2UpOgorICAgICAgICByZXR1cm4gZGljdCgKKyAgICAgICAgICAgIG51bWJlcj1udW1iZXIsCisg
ICAgICAgICAgICBzdGF0ZT0nY2xvc2VkJyBpZiBjbG9zZWQgZWxzZSAnb3BlbicsCisgICAgICAg
ICAgICB0aXRsZT10aXRsZSwKKyAgICAgICAgICAgIHVzZXI9ZGljdChsb2dpbj0nSm9uV0JlZGFy
ZCcpLAorICAgICAgICAgICAgaGVhZD1kaWN0KAorICAgICAgICAgICAgICAgIHNoYT0nNzQ5NmY4
ZWNjNGNjODAxMWYxOWM4Y2MxYmM3YjE4ZmU0YTg4YWQ1YycsCisgICAgICAgICAgICAgICAgcmVm
PSdlbmcvcHVsbC1yZXF1ZXN0JywKKyAgICAgICAgICAgICAgICByZXBvPWRpY3QoCisgICAgICAg
ICAgICAgICAgICAgIG5hbWU9J1dlYktpdCcsCisgICAgICAgICAgICAgICAgICAgIGZ1bGxfbmFt
ZT0nSm9uV0JlZGFyZC9XZWJLaXQnLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAp
LCBiYXNlPWRpY3QoCisgICAgICAgICAgICAgICAgc2hhPSc1MjhiOTk1NzVlZWJmN2ZhNWI5NGYx
ZmM1MWRlODE5NzdmMjY1MDA1JywKKyAgICAgICAgICAgICAgICByZWY9J21haW4nLAorICAgICAg
ICAgICAgICAgIHJlcG89ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgbmFtZT0nV2ViS2l0JywK
KyAgICAgICAgICAgICAgICAgICAgZnVsbF9uYW1lPSdXZWJLaXQvV2ViS2l0JywKKyAgICAgICAg
ICAgICAgICApLAorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorCiAgICAgZGVmIHRlc3Rfc2tp
cHBlZChzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAg
ICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVn
X2lkJywgJzU2NzgnKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24n
LCBUcnVlKQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRl
X3N0cmluZz0nVmFsaWRhdGVkIHBhdGNoIChza2lwcGVkKScpCisgICAgICAgIHNlbGYuZXhwZWN0
T3V0Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChz
a2lwcGVkKScpCisgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQorCisgICAgZGVmIHRlc3Rf
c2tpcHBlZF9wcihzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2Uo
KSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0JykKKyAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1Yi5jb20v
V2ViS2l0L1dlYktpdCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NraXBfdmFsaWRhdGlv
bicsIFRydWUpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3Rh
dGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lwcGVkKScpCiAgICAgICAgIHJldHVybiBz
ZWxmLnJ1blN0ZXAoKQogCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKLSAgICAgICAgc2Vs
Zi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQotICAgICAg
ICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxm
LmdldF9wYXRjaCgpCisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZlcmlm
eUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRjaF9qc29u
ID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCiAgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQyNTgwNicpCi0gICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQorICAgICAg
ICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRh
dGVkIGNoYW5nZScpCisgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAn
ZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNldCcpCisgICAgICAgIHJldHVybiBy
YworCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19wcihzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0
ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFsaWRh
dGVDaGFuZ2UuZ2V0X3ByX2pzb24gPSBsYW1iZGEgeCwgcHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5
X3VybD1Ob25lOiBzZWxmLmdldF9wcihudW1iZXI9cHVsbF9yZXF1ZXN0KQorICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdnaXRodWIubnVtYmVyJywgJzEyMzQnKQorICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdyZXBvc2l0b3J5JywgJ2h0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0JykK
KyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnNzQ5NmY4ZWNjNGNjODAxMWYx
OWM4Y2MxYmM3YjE4ZmU0YTg4YWQ1YycpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1
bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlJykKICAgICAgICAgcmMg
PSBzZWxmLnJ1blN0ZXAoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVy
dHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4
cGVjdGVkbHkgc2V0JykKICAgICAgICAgcmV0dXJuIHJjCiAKICAgICBkZWYgdGVzdF9vYnNvbGV0
ZV9wYXRjaChzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UpKQotICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29u
ID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaChvYnNvbGV0ZT0xKQorICAgICAg
ICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQor
ICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9p
ZDogc2VsZi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgn
cGF0Y2hfaWQnLCAnNDI1ODA2JykKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1G
QUlMVVJFLCBzdGF0ZV9zdHJpbmc9J1BhdGNoIDQyNTgwNiBpcyBvYnNvbGV0ZScpCiAgICAgICAg
IHJjID0gc2VsZi5ydW5TdGVwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFBy
b3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMg
dW5leHBlY3RlZGx5IHNldCcpCiAgICAgICAgIHJldHVybiByYwogCisgICAgZGVmIHRlc3Rfb2Jz
b2xldGVfcHIoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wcl9qc29u
ID0gbGFtYmRhIHgsIHB1bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91cmw9Tm9uZTogc2VsZi5nZXRf
cHIobnVtYmVyPXB1bGxfcmVxdWVzdCkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZ2l0aHVi
Lm51bWJlcicsICcxMjM0JykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScs
ICdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdCcpCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ3JldmlzaW9uJywgJzFhZDYwZDQ1YTExMjMwMWY3YjlmOTNkYWMwNjEzNDUyNGRhZTg0
ODAnKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0
cmluZz0nUHVsbCByZXF1ZXN0IDEyMzQgd2l0aCBjaGFuZ2UgKHNoYSAxYWQ2MGQ0NWExMTIpIGlz
IG9ic29sZXRlJykKKyAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIE5vbmUsICdm
YXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4cGVjdGVkbHkgc2V0JykKKyAgICAgICAgcmV0dXJuIHJj
CisKICAgICBkZWYgdGVzdF9mYXN0X2NxX3BhdGNoZXNfdHJpZ2dlcl9mYXN0X2NxX21vZGUoc2Vs
Zik6CiAgICAgICAgIGZhc3RfY3FfcGF0Y2hfdGl0bGVzID0gKCdSRVZFUlQgT0YgcjEyMzQnLCAn
cmV2ZXJ0IG9mIHIxMjM0JywgJ1tmYXN0LWNxXVBhdGNoJywgJ1tGQVNULWNxXSBwYXRjaCcsICdm
YXN0LWNxLXBhdGNoJywgJ0ZBU1QtQ1EgUGF0Y2gnKQogICAgICAgICBmb3IgZmFzdF9jcV9wYXRj
aF90aXRsZSBpbiBmYXN0X2NxX3BhdGNoX3RpdGxlczoKLSAgICAgICAgICAgIHNlbGYuc2V0dXBT
dGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAgICAgICAgIFZh
bGlkYXRlUGF0Y2guZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0
X3BhdGNoKHRpdGxlPWZhc3RfY3FfcGF0Y2hfdGl0bGUpCisgICAgICAgICAgICBzZWxmLnNldHVw
U3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICAgICAg
VmFsaWRhdGVDaGFuZ2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYu
Z2V0X3BhdGNoKHRpdGxlPWZhc3RfY3FfcGF0Y2hfdGl0bGUpCiAgICAgICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdwYXRjaF9pZCcsICc0MjU4MDYnKQotICAgICAgICAgICAgc2VsZi5leHBlY3RP
dXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBwYXRjaCcpCisg
ICAgICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmlu
Zz0nVmFsaWRhdGVkIGNoYW5nZScpCiAgICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCiAg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0
X3F1ZXVlJyksIFRydWUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyBub3Qgc2V0LCBwYXRjaCB0aXRs
ZToge30nLmZvcm1hdChmYXN0X2NxX3BhdGNoX3RpdGxlKSkKICAgICAgICAgcmV0dXJuIHJjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449139</attachid>
            <date>2022-01-13 21:31:10 -0800</date>
            <delta_ts>2022-01-14 09:23:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220113213109.patch</filename>
            <type>text/plain</type>
            <size>46042</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjc1Y2UyODA4ZDJmZjhjZmNkNmU5ZWJiYTM3YWZjMzJk
YWMxZmI1My4uOWI2MjdjOTkzMzcxYzIwYmI1ZGYxYjk0NWE1MzUzNDRhOThiZjRmMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIyLTAxLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyk6IFN0ZXAg
bmFtZSBjaGFuZ2VkIGZyb20gdmFsaWRhdGUtcGF0Y2ggdG8gdmFsaWRhdGUtY2hhbmdlLgorICAg
ICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChHaXRIdWIucHJf
dXJsKTogQWRkIG1pc3NpbmcgLy4KKyAgICAgICAgKEdpdEh1Yi5hcGlfdXJsKTogQ29udmVydCBh
IHJlcG9zaXRvcnkgVVJMIHRvIHRoZSBBUEkgdXJsIGZvciB0aGF0IHJlcG9zaXRvcnkuCisgICAg
ICAgIChHaXRIdWIuY3JlZGVudGlhbHMpOiBBY2Nlc3MgR2l0SHViIGNyZWRlbnRpYWxzIGZyb20g
cGFzc3dvcmRzLmpzb24uCisgICAgICAgIChHaXRIdWJNaXhpbik6CisgICAgICAgIChHaXRIdWJN
aXhpbi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24pOgorICAgICAgICAo
R2l0SHViTWl4aW4uZ2V0X3ByX2pzb24pOgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Ns
b3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIGNsb3NlZC4KKyAgICAgICAgKEdpdEh1
Yk1peGluLl9pc19wcl9vYnNvbGV0ZSk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIG9ic29s
ZXRlLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRj
aC4KKyAgICAgICAgKFZhbGlkYXRlQ2hhbmdlLmdldFJlc3VsdFN1bW1hcnkpOgorICAgICAgICAo
VmFsaWRhdGVDaGFuZ2Uuc3RhcnQpOiBJbnZva2UgdmFsaWRhdGVfYnVnemlsbGEgb3IgdmFsaWRh
dGVfZ2l0aHViLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfYnVnemlsbGEpOiBD
aGVjayBhIGJ1Z3ppbGxhIHBhdGNoLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVf
Z2l0aHViKTogQ2hlY2sgYSBHaXRIdWIgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoQ29tcGlsZVdl
YktpdC5ldmFsdWF0ZUNvbW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNo
YW5nZS4KKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTog
RGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4K
KyAgICAgICAgKFJlUnVuV2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQp
OiBEaXR0by4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgor
ICAgICAgICAoUmVSdW5BUElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAg
KFZhbGlkYXRlUGF0Y2gpOiBSZW5hbWVkIHRvIFZhbGlkYXRlQ2hhbmdlLgorICAgICAgICAqIENJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHk6CisKIDIwMjItMDEtMTMgIFBhdHJp
Y2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IElt
cGxlbWVudCBgZnJhbWVVUkxgIG9wdGlvbiBmb3IgYGRldnRvb2xzLmluc3BlY3RlZFdpbmRvdy5l
dmFsYCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rv
cmllcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IDFk
N2VjMjNlZGU5NGZmMTE3MzVkMDQ0YjQ4NjhkNTNlNGFmMDAxMzQuLjBkZDlmOTJkNDc0ZjY5MjBk
Nzk2M2Y3OWQ3NWU5NWY4ODk1ZDM2NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3Mt
YnVpbGQvZmFjdG9yaWVzLnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzLnB5CkBAIC0zMiw3ICszMiw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBB
cHBseVdhdGNoTGlzdCwgQ2hlY2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAg
ICAgICAgICAgICAgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzLCBSdW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVu
V2ViS2l0UHlQeXRob24yVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRo
b24zVGVzdHMsIFJ1bldlYktpdFRlc3RzLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktp
dFRlc3RzSW5TdHJlc3NNb2RlLCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzR3VhcmRtYWxsb2NNb2Rl
LAogICAgICAgICAgICAgICAgICAgIFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lkZW50aWZpZXIsIFRy
aWdnZXJDcmFzaExvZ1N1Ym1pc3Npb24sIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksCi0gICAgICAg
ICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwg
VmFsaWRhdGVDb21taXRlckFuZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9uLAorICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmll
d2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JDcmFzaENvbGxlY3Rpb24s
CiAgICAgICAgICAgICAgICAgICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCwgVmVyaWZ5R2l0SHViSW50
ZWdyaXR5KQogCiAKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxk
RmFjdG9yeSk6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tQYXRjaFJlbGV2YW5jZSgp
KQogICAgICAgICBpZiBzZWxmLmZpbmRNb2RpZmllZExheW91dFRlc3RzOgogICAgICAgICAgICAg
c2VsZi5hZGRTdGVwKEZpbmRNb2RpZmllZExheW91dFRlc3RzKCkpCi0gICAgICAgIHNlbGYuYWRk
U3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5n
ZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNr
T3V0U291cmNlKCkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIFN0eWxlRmFjdG9yeShmYWN0b3J5
LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1O
b25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9y
eS5CdWlsZEZhY3RvcnkuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZp
Z3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXM9YXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10
cmlnZ2VycywgcmVtb3Rlcz1yZW1vdGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxB
cmd1bWVudHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFBy
aW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZSgpKQpAQCAtNzgsNyArNzgsNyBA
QCBjbGFzcyBXYXRjaExpc3RGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJl
cz1Ob25lLCB0cmlnZ2Vycz1Ob25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9
Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhz
ZWxmKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMs
IGFkZGl0aW9uYWxBcmd1bWVudHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSgpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChDbGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENo
ZWNrT3V0U291cmNlKCkpCkBAIC0yNDMsNyArMjQzLDcgQEAgY2xhc3MgV2luZG93c0ZhY3Rvcnko
RmFjdG9yeSk6CiAgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHk9RmFsc2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1l
bnRzPWFkZGl0aW9uYWxBcmd1bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21w
aWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNl
bGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChTZXRCdWlsZFN1bW1hcnkoKSkKIApAQCAtMjg1LDcgKzI4NSw3IEBAIGNs
YXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9
Tm9uZSwgYWRkaXRpb25hbEFyZ3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3Rv
cnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25m
aWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzPWFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9
Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVu
dHMpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1
ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKGRlZmF1bHRfYnJhbmNoPSdtYXN0ZXInKSkKQEAgLTMwMCwx
MCArMzAwLDEwIEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9y
eSk6CiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZVBhdGNoKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKFZhbGlkYXRlQ2hhbmdlKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcygpKQogICAg
ICAgICBzZWxmLmFkZFN0ZXAoUnVuV2ViS2l0VGVzdHMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVw
KFZhbGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVDaGFuZ2UoYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVz
PVRydWUpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UocmVwb3VybD0naHR0
cHM6Ly9naXQud2Via2l0Lm9yZy9naXQvV2ViS2l0LWh0dHBzJykpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChTaG93SWRlbnRpZmllcigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVXBkYXRlV29ya2lu
Z0RpcmVjdG9yeSgpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0
b3JpZXNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191
bml0dGVzdC5weQppbmRleCBhMGE3NmUzNDVlODE0ZjkxYTlmMzQ0ZDUwOTI3Zjc4ZjM4ZTQ3ZTU3
Li5kZTUyZDNhYThiZGFhYWE0MGI5ZDk4NWFjZmM4ZjU0NTVkM2VlYzc3IDEwMDY0NAotLS0gYS9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQorKysgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQpAQCAtMzEsNyArMzEs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBleHBlY3RlZF9zdGVwcyA9IHsKICAgICAgICAgJ1N0eWxlLUVXUyc6IFsKICAgICAgICAgICAg
ICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAg
ICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAog
ICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgVGVzdEV4
cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAg
ICdBcHBseS1XYXRjaExpc3QtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
Ci0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNo
YW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4t
dXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJl
Y3RvcnknLApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0dUSy1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC03MCw3ICs3MCw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBdLAogICAgICAgICAnR1RLLVdLMi1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC04OSw3ICs4OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1
LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTEwMiw3ICsxMDIsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ2lPUy0xNS1TaW11bGF0b3ItQnVpbGQtRVdT
JzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRh
dGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAn
Y29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAg
ICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTE1LDcgKzEx
NSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LVNpbXVsYXRvci1XSzItVGVzdHMtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTM2LDcgKzEzNiw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnbWFjT1MtQXBwbGVTaWxpY29uLUJpZy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAg
ICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZh
bmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRh
dGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdj
bGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5n
LWRpcmVjdG9yeScsCkBAIC0xNDksNyArMTQ5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRT
dGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBs
ZVNpbGljb24tQmlnLVN1ci1EZWJ1Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2Nv
bmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
bWFjT1MtQ2F0YWxpbmEtUmVsZWFzZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVk
QnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGluYS1S
ZWxlYXNlLVdLMS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywK
ICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIwMyw3ICsy
MDMsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgXSwKICAgICAgICAgJ21hY09TLUNhdGFsaW5hLVJlbGVhc2UtV0syLVRlc3RzLUVX
Uyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlk
YXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAg
ICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIyNCw3ICsy
MjQsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgJ21hY09TLVJlbGVhc2UtV0syLVN0cmVzcy1UZXN0cy1FV1MnOiBbCiAgICAgICAg
ICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdmaW5kLW1vZGlmaWVkLWxheW91
dC10ZXN0cycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMjQyLDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1Mt
Q2F0YWxpbmEtRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMjU2LDcgKzI1Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sx
LVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAg
ICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gn
LAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJh
dGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2Ns
ZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMjc2LDcgKzI3Niw3IEBAIGNs
YXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBd
LAogICAgICAgICAnd2F0Y2hPUy04LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1
cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTI4OSw3ICsyODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNo
T1MtOC1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRl
LWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xl
YW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLApAQCAtMzAyLDcgKzMwMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3Rl
cHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAndHZPUy0xNS1CdWls
ZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMTUs
NyArMzE1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIF0sCiAgICAgICAgICd0dk9TLTE1LVNpbXVsYXRvci1CdWlsZC1FV1MnOiBb
CiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMjksNyArMzI5LDcg
QEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICdXaW5kb3dzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzM5LDEzICszMzks
MTMgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICAgICAnYXBwbHktcGF0Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3Nl
cycsCiAgICAgICAgICAgICAnY29tcGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRl
LXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xh
eW91dC10ZXN0cycsCiAgICAgICAgICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0s
CiAgICAgICAgICdXaW5DYWlyby1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxk
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC0zNTgsNyArMzU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzczLDcgKzM3Myw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnSlNDLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzg4LDcgKzM4OCw3
IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICAnSlNDLU1JUFNFTC0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQt
cmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScs
CkBAIC00MDIsNyArNDAyLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtTUlQU0VMLTMyYml0cy1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMt
QnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAg
ICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcs
CisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0
aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xl
YW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00MzIsNyArNDMyLDcgQEAgY2xh
c3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdK
U0MtQVJNdjctMzJiaXRzLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVp
bGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDQ4
LDcgKzQ0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnSlNDLWkzODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25m
aWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNDYyLDcgKzQ2Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAg
ICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNl
JywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUt
Y2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVh
bi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRp
cmVjdG9yeScsCkBAIC00NzUsNyArNDc1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVw
cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBbCiAg
ICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1y
ZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdv
cmtpbmctZGlyZWN0b3J5JywKQEAgLTQ4OSw3ICs0ODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRC
dWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ1dlYktp
dFBlcmwtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtNTAxLDcgKzUwMSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLWlPUy1TaW11bGF0
b3ItRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTE2
LDcgKzUxNiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAg
ICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywK
KyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVh
bi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTUzMSw3ICs1MzEsNyBAQCBjbGFz
cyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwK
ICAgICAgICAgJ0FQSS1UZXN0cy1HVEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2lu
Zy1kaXJlY3RvcnknLApAQCAtNTQ4LDcgKzU0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxk
U3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAg
ICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVs
ZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFs
aWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAg
ICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3Jr
aW5nLWRpcmVjdG9yeScsCkBAIC01NjQsNyArNTY0LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQt
UXVldWUnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICd2YWxpZGF0ZS1jb21taXRlci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZp
Z3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU3OSwxMCAr
NTc5LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGls
ZS13ZWJraXQnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY2hlY2stc3RhdHVzLW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlv
dXQtdGVzdHMnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2
YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1k
aXJlY3RvcnknLAogICAgICAgICAgICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAn
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IGZlMjRjMTBmYzI0N2M1MGYxMmU5MjczYTNhM2U3ZWM5ZjhjZTQ2MTEuLjMxMTViN2EwMzRk
OGUxZGU5MGRkNTRmNTQ0ODU4MWU0MzE2OWFhYzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtNTQsOSArNTQsOSBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5vcmcv
JwogUkVTVUxUU19EQl9VUkwgPSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0aFBy
b3BlcnRpZXMgPSBwcm9wZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHByb3Bl
cnRpZXMuSW50ZXJwb2xhdGUKLUJSQU5DSF9QUl9SRSA9IHJlLmNvbXBpbGUocidecmVmcy9wdWxs
Lyg/UDxpZD5cZCspL21lcmdlJCcpCiBHSVRIVUJfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS8n
CiBHSVRIVUJfUFJPSkVDVFMgPSBbJ1dlYktpdC9XZWJLaXQnXQorSEFTSF9TSVpFID0gMTIKIAog
CiBjbGFzcyBCdWZmZXJMb2dIZWFkZXJPYnNlcnZlcihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNl
cnZlcik6CkBAIC04Niw3ICs4Niw5NSBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAg
ICAgIHJldHVybiAnJwogICAgICAgICBpZiBub3QgcHJfbnVtYmVyIG9yIG5vdCBpc2luc3RhbmNl
KHByX251bWJlciwgaW50KToKICAgICAgICAgICAgIHJldHVybiAnJwotICAgICAgICByZXR1cm4g
J3t9cHVsbC97fScuZm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisgICAgICAgIHJl
dHVybiAne30vcHVsbC97fScuZm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisKKyAg
ICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYXBpX3VybChjbHMsIHJlcG9zaXRvcnlfdXJsPU5vbmUp
OgorICAgICAgICBpZiBub3QgcmVwb3NpdG9yeV91cmw6CisgICAgICAgICAgICByZXBvc2l0b3J5
X3VybCA9ICd7fXt9Jy5mb3JtYXQoR0lUSFVCX1VSTCwgR0lUSFVCX1BST0pFQ1RTWzBdKQorCisg
ICAgICAgIGlmIHJlcG9zaXRvcnlfdXJsIG5vdCBpbiBHaXRIdWIucmVwb3NpdG9yeV91cmxzKCk6
CisgICAgICAgICAgICByZXR1cm4gJycKKyAgICAgICAgXywgdXJsX2Jhc2UgPSByZXBvc2l0b3J5
X3VybC5zcGxpdCgnOi8vJywgMSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNlLnNwbGl0
KCcvJywgMSkKKyAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScuZm9ybWF0
KGhvc3QsIHBhdGgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlZGVudGlhbHMoY2xz
KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4o
J3Bhc3N3b3Jkcy5qc29uJykpCisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lU
SFVCX0NPTV9VU0VSTkFNRScsIE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX0FDQ0VT
U19UT0tFTicsIE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
ICAgIHByaW50KCdFcnJvciByZWFkaW5nIEdpdEh1YiBhcGkga2V5JykKKyAgICAgICAgICAgIHJl
dHVybiBOb25lLCBOb25lCisKKworY2xhc3MgR2l0SHViTWl4aW4ob2JqZWN0KToKKyAgICBhZGRV
UkxzID0gRmFsc2UKKyAgICBwcl9vcGVuX3N0YXRlcyA9IFsnb3BlbiddCisgICAgcHJfY2xvc2Vk
X3N0YXRlcyA9IFsnY2xvc2VkJ10KKworICAgIGRlZiBmZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhf
YXV0aGVudGljYXRpb24oc2VsZiwgdXJsKToKKyAgICAgICAgcmVzcG9uc2UgPSBOb25lCisgICAg
ICAgIHRyeToKKyAgICAgICAgICAgIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4gPSBzZWxmLmNyZWRl
bnRpYWxzKCkKKyAgICAgICAgICAgIGF1dGggPSBIVFRQQmFzaWNBdXRoKHVzZXJuYW1lLCBhY2Nl
c3NfdG9rZW4pIGlmIHVzZXJuYW1lIGFuZCBhY2Nlc3NfdG9rZW4gZWxzZSBOb25lCisgICAgICAg
ICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCgKKyAgICAgICAgICAgICAgICB1cmwsIHRpbWVv
dXQ9NjAsIGF1dGg9YXV0aCwKKyAgICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdh
cHBsaWNhdGlvbi92bmQuZ2l0aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAg
ICAgIGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgorICAgICAgICAgICAgICAg
IHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdBY2Nlc3NlZCB7dXJsfSB3aXRoIHVuZXhwZWN0ZWQg
c3RhdHVzIGNvZGUge3N0YXR1c19jb2RlfS5cbicuZm9ybWF0KHVybD11cmwsIHN0YXR1c19jb2Rl
PXJlc3BvbnNlLnN0YXR1c19jb2RlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAg
ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAjIENhdGNoaW5nIGFsbCBl
eGNlcHRpb25zIGhlcmUgdG8gc2FmZWd1YXJkIGFjY2VzcyB0b2tlbi4KKyAgICAgICAgICAgIHNl
bGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8gYWNjZXNzIHt1cmx9LlxuJy5mb3JtYXQo
dXJsPXVybCkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcmVzcG9u
c2UKKworICAgIGRlZiBnZXRfcHJfanNvbihzZWxmLCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlf
dXJsPU5vbmUpOgorICAgICAgICBhcGlfdXJsID0gR2l0SHViLmFwaV91cmwocmVwb3NpdG9yeV91
cmwpCisgICAgICAgIGlmIG5vdCBhcGlfdXJsOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKwor
ICAgICAgICBwcl91cmwgPSAne30vcHVsbHMve30nLmZvcm1hdChhcGlfdXJsLCBwdWxsX3JlcXVl
c3QpCisgICAgICAgIGNvbnRlbnQgPSBzZWxmLmZldGNoX2RhdGFfZnJvbV91cmxfd2l0aF9hdXRo
ZW50aWNhdGlvbihwcl91cmwpCisgICAgICAgIGlmIG5vdCBjb250ZW50OgorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcHJfanNvbiA9IGNvbnRlbnQu
anNvbigpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50
KCdGYWlsZWQgdG8gZ2V0IHB1bGwgcmVxdWVzdCBkYXRhIGZyb20ge30sIGVycm9yOiB7fScuZm9y
bWF0KHByX3VybCwgZSkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBpZiBub3Qg
cHJfanNvbiBvciBsZW4ocHJfanNvbikgPT0gMDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisg
ICAgICAgIHJldHVybiBwcl9qc29uCisKKyAgICBkZWYgX2lzX3ByX2Nsb3NlZChzZWxmLCBwdWxs
X3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgorICAgICAgICBpZiBub3QgcHVsbF9yZXF1
ZXN0OgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1NraXBwaW5nIHB1bGwg
cmVxdWVzdCBzdGF0dXMgdmFsaWRhdGlvbiBzaW5jZSBwdWxsIHJlcXVlc3QgaXMgTm9uZS5cbicp
CisgICAgICAgICAgICByZXR1cm4gLTEKKworICAgICAgICBwcl9qc29uID0gc2VsZi5nZXRfcHJf
anNvbihwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsKQorICAgICAgICBpZiBub3QgcHJfanNv
biBvciBub3QgcHJfanNvbi5nZXQoJ3N0YXRlJyk6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnVW5hYmxlIHRvIGZldGNoIHB1bGwgcmVxdWVzdCB7fS5cbicuZm9ybWF0KHB1
bGxfcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgaWYgcHJfanNvbi5n
ZXQoJ3N0YXRlJykgaW4gc2VsZi5wcl9jbG9zZWRfc3RhdGVzOgorICAgICAgICAgICAgcmV0dXJu
IDEKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGRlZiBfaXNfcHJfb2Jzb2xldGUoc2VsZiwgcHVs
bF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybD1Ob25lKToKKyAgICAgICAgcHJfanNvbiA9IHNlbGYu
Z2V0X3ByX2pzb24ocHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybCkKKyAgICAgICAgaWYgbm90
IHByX2pzb246CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnVW5hYmxlIHRv
IGZldGNoIHB1bGwgcmVxdWVzdCB7fS5cbicuZm9ybWF0KHB1bGxfcmVxdWVzdCkpCisgICAgICAg
ICAgICByZXR1cm4gLTEKKworICAgICAgICBwcl9zaGEgPSBwcl9qc29uLmdldCgnaGVhZCcsIHt9
KS5nZXQoJ3NoYScsICcnKQorICAgICAgICBpZiBub3QgcHJfc2hhOgorICAgICAgICAgICAgc2Vs
Zi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0ZhaWxlZCB0byBmZXRjaCBoYXNoIG9mIHB1bGwgcmVxdWVz
dCB7fVxuJy5mb3JtYXQocHVsbF9yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiAtMQorCisg
ICAgICAgIHJldHVybiAwIGlmIHByX3NoYSA9PSBzZWxmLmdldFByb3BlcnR5KCdyZXZpc2lvbics
ICc/JykgZWxzZSAxCiAKIAogY2xhc3MgQ29udHJpYnV0b3JzKG9iamVjdCk6CkBAIC0xMTUsMTEg
KzIwMywxNSBAQCBjbGFzcyBDb250cmlidXRvcnMob2JqZWN0KToKICAgICAgICAgICAgIHJldHVy
biB7fSwgJ0ZhaWxlZCB0byBhY2Nlc3Mge3VybH1cbicuZm9ybWF0KHVybD1jbHMudXJsKQogCiAg
ICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGxvYWQoY2xzKToKKyAgICBkZWYgbG9hZChjbHMsIHVz
ZV9uZXR3b3JrPVRydWUpOgogICAgICAgICBlcnJvcnMgPSBbXQotICAgICAgICBjb250cmlidXRv
cnNfanNvbiwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dpdGh1YigpCi0gICAgICAgIGlmIGVycm9y
OgotICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChlcnJvcikKKworICAgICAgICBpZiB1c2VfbmV0
d29yazoKKyAgICAgICAgICAgIGNvbnRyaWJ1dG9yc19qc29uLCBlcnJvciA9IGNscy5sb2FkX2Zy
b21fZ2l0aHViKCkKKyAgICAgICAgICAgIGlmIGVycm9yOgorICAgICAgICAgICAgICAgIGVycm9y
cy5hcHBlbmQoZXJyb3IpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb250cmlidXRvcnNf
anNvbiA9IFtdCiAKICAgICAgICAgaWYgbm90IGNvbnRyaWJ1dG9yc19qc29uOgogICAgICAgICAg
ICAgY29udHJpYnV0b3JzX2pzb24sIGVycm9yID0gY2xzLmxvYWRfZnJvbV9kaXNrKCkKQEAgLTky
NywxMCArMTAxOSwxMCBAQCBjbGFzcyBCdWd6aWxsYU1peGluKG9iamVjdCk6CiAgICAgICAgIHJl
dHVybiBTVUNDRVNTCiAKIAotY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVw
LCBCdWd6aWxsYU1peGluKToKLSAgICBuYW1lID0gJ3ZhbGlkYXRlLXBhdGNoJwotICAgIGRlc2Ny
aXB0aW9uID0gWyd2YWxpZGF0ZS1wYXRjaCBydW5uaW5nJ10KLSAgICBkZXNjcmlwdGlvbkRvbmUg
PSBbJ1ZhbGlkYXRlZCBwYXRjaCddCitjbGFzcyBWYWxpZGF0ZUNoYW5nZShidWlsZHN0ZXAuQnVp
bGRTdGVwLCBCdWd6aWxsYU1peGluLCBHaXRIdWJNaXhpbik6CisgICAgbmFtZSA9ICd2YWxpZGF0
ZS1jaGFuZ2UnCisgICAgZGVzY3JpcHRpb24gPSBbJ3ZhbGlkYXRlLWNoYW5nZSBydW5uaW5nJ10K
KyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ1ZhbGlkYXRlZCBjaGFuZ2UnXQogICAgIGZsdW5rT25G
YWlsdXJlID0gVHJ1ZQogICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAKQEAgLTk0NSw3ICsxMDM3
LDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1p
eGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxmKToKICAgICAgICAgaWYgc2VsZi5y
ZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAgICAgICByZXR1cm4geydzdGVwJzogc2VsZi5kZXNj
cmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVybiBzdXBlcihWYWxpZGF0ZVBhdGNoLCBzZWxmKS5n
ZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAgcmV0dXJuIHN1cGVyKFZhbGlkYXRlQ2hhbmdlLCBz
ZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAogICAgIGRlZiBkb1N0ZXBJZihzZWxmLCBzdGVwKToK
ICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBG
YWxzZSkKQEAgLTk1OSw1NCArMTA1MSwxMDQgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0
ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAg
ICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQotICAgICAg
ICBpZiBub3QgcGF0Y2hfaWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAn
Tm8gcGF0Y2hfaWQgZm91bmQuIFVuYWJsZSB0byBwcm9jZWVkIHdpdGhvdXQgcGF0Y2hfaWQuXG4n
KQotICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSAnTm8gcGF0Y2ggaWQgZm91bmQn
CisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1iZXInLCAn
JykKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQgYW5kIG5vdCBwcl9udW1iZXI6CisgICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgb3IgcHJfbnVtYmVyIGZv
dW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IG9uZSBvZiB0aGVtLlxuJykKKyAgICAgICAg
ICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIGNoYW5nZSBmb3VuZCcKKyAgICAgICAgICAg
IHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAg
ICAgaWYgcGF0Y2hfaWQgYW5kIHByX251bWJlcjoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdCb3RoIHBhdGNoX2lkIGFuZCBwcl9udW1iZXIgZm91bmQuIFVuYWJsZSB0byBw
cm9jZWVkIHdpdGggYm90aC5cbicpCisgICAgICAgICAgICBzZWxmLmRlc2NyaXB0aW9uRG9uZSA9
ICdUd28gY2hhbmdlcyBmb3VuZCcKICAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkK
ICAgICAgICAgICAgIHJldHVybiBOb25lCiAKKyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBz
ZWxmLnZhbGlkYXRlX2J1Z3ppbGxhKHBhdGNoX2lkKToKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisgICAgICAgIGlmIHByX251bWJlciBhbmQgbm90IHNlbGYudmFsaWRhdGVfZ2l0aHViKHByX251
bWJlcik6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGlmIHNlbGYudmVyaWZ5
QnVnQ2xvc2VkOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBv
cGVuLlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlPYnNvbGV0ZToKKyAgICAgICAgICAgIHNl
bGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaXMgbm90IG9ic29sZXRlLlxuJykKKyAgICAg
ICAgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQ6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnQ2hhbmdlIGhhcyBub3QgYmVlbiBkZW5pZWQuXG4nKQorICAgICAgICBpZiBz
ZWxmLnZlcmlmeWNxcGx1czoKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdD
aGFuZ2UgaXMgaW4gY29tbWl0IHF1ZXVlLlxuJykKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdDaGFuZ2UgaGFzIGJlZW4gcmV2aWV3ZWQuXG4nKQorICAgICAgICBzZWxmLmZp
bmlzaGVkKFNVQ0NFU1MpCisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgdmFsaWRhdGVf
YnVnemlsbGEoc2VsZiwgcGF0Y2hfaWQpOgogICAgICAgICBidWdfaWQgPSBzZWxmLmdldFByb3Bl
cnR5KCdidWdfaWQnLCAnJykgb3Igc2VsZi5nZXRfYnVnX2lkX2Zyb21fcGF0Y2gocGF0Y2hfaWQp
CiAKICAgICAgICAgYnVnX2Nsb3NlZCA9IHNlbGYuX2lzX2J1Z19jbG9zZWQoYnVnX2lkKSBpZiBz
ZWxmLnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKICAgICAgICAgaWYgYnVnX2Nsb3NlZCA9PSAxOgog
ICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdCdWcge30gaXMgYWxyZWFkeSBjbG9zZWQnLmZv
cm1hdChidWdfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVy
biBGYWxzZQogCiAgICAgICAgIG9ic29sZXRlID0gc2VsZi5faXNfcGF0Y2hfb2Jzb2xldGUocGF0
Y2hfaWQpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUgZWxzZSAwCiAgICAgICAgIGlmIG9ic29sZXRl
ID09IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG9ic29sZXRl
Jy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAg
IHJldHVybiBGYWxzZQogCiAgICAgICAgIHJldmlld19kZW5pZWQgPSBzZWxmLl9pc19wYXRjaF9y
ZXZpZXdfZGVuaWVkKHBhdGNoX2lkKSBpZiBzZWxmLnZlcmlmeVJldmlld0RlbmllZCBlbHNlIDAK
ICAgICAgICAgaWYgcmV2aWV3X2RlbmllZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1
aWxkKCdQYXRjaCB7fSBpcyBtYXJrZWQgci0nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAg
ICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgY3FfcGx1
cyA9IHNlbGYuX2lzX3BhdGNoX2NxX3BsdXMocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVz
IGVsc2UgMQogICAgICAgICBpZiBjcV9wbHVzICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBf
YnVpbGQoJ1BhdGNoIHt9IGlzIG5vdCBtYXJrZWQgY3ErLicuZm9ybWF0KHBhdGNoX2lkKSkKLSAg
ICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAg
ICBhY2NlcHRhYmxlX3Jldmlld19mbGFnID0gc2VsZi5fZG9lc19wYXRjaF9oYXZlX2FjY2VwdGFi
bGVfcmV2aWV3X2ZsYWcocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAg
ICAgICBpZiBhY2NlcHRhYmxlX3Jldmlld19mbGFnICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNr
aXBfYnVpbGQoJ1BhdGNoIHt9IGRvZXMgbm90IGhhdmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy4n
LmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCiAKICAgICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcmV2aWV3X2Rlbmll
ZCA9PSAtMSBvciBidWdfY2xvc2VkID09IC0xOgogICAgICAgICAgICAgc2VsZi5maW5pc2hlZChX
QVJOSU5HUykKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFs
c2UKKyAgICAgICAgcmV0dXJuIFRydWUKIAotICAgICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3Nl
ZDoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicp
Ci0gICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRU
b0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG9ic29sZXRlLlxuJykKLSAgICAgICAgaWYgc2Vs
Zi52ZXJpZnlSZXZpZXdEZW5pZWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8n
LCAnUGF0Y2ggaXMgbm90IG1hcmtlZCByLS5cbicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5Y3Fw
bHVzOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG1hcmtl
ZCBjcSsuXG4nKQotICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGhh
dmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy5cbicpCi0gICAgICAgIHNlbGYuZmluaXNoZWQoU1VD
Q0VTUykKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBkZWYgdmFsaWRhdGVfZ2l0aHViKHNlbGYs
IHByX251bWJlcik6CisgICAgICAgIGlmIG5vdCBwcl9udW1iZXI6CisgICAgICAgICAgICByZXR1
cm4gRmFsc2UKKworICAgICAgICByZXBvc2l0b3J5X3VybCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3Jl
cG9zaXRvcnknLCAnJykKKyAgICAgICAgdGl0bGUgPSBzZWxmLmdldFByb3BlcnR5KCdnaXRodWIu
dGl0bGUnLCAnJykKKyAgICAgICAgb3duZXJzID0gc2VsZi5nZXRQcm9wZXJ0eSgnb3duZXJzJywg
W10pCisKKyAgICAgICAgaWYgc2VsZi5hZGRVUkxzIGFuZCBwcl9udW1iZXIgYW5kIHRpdGxlIGFu
ZCByZXBvc2l0b3J5X3VybDoKKyAgICAgICAgICAgIHNlbGYuYWRkVVJMKCdbUFIge31dIHt9Jy5m
b3JtYXQocHJfbnVtYmVyLCB0aXRsZSksIEdpdEh1Yi5wcl91cmwocHJfbnVtYmVyLCByZXBvc2l0
b3J5X3VybCkpCisgICAgICAgIGlmIHNlbGYuYWRkVVJMcyBhbmQgb3duZXJzOgorICAgICAgICAg
ICAgY29udHJpYnV0b3JzLCBlcnJvcnMgPSBDb250cmlidXRvcnMubG9hZCh1c2VfbmV0d29yaz1G
YWxzZSkKKyAgICAgICAgICAgIGZvciBlcnJvciBpbiBlcnJvcnM6CisgICAgICAgICAgICAgICAg
cHJpbnQoZXJyb3IpCisgICAgICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgZXJy
b3IpCisgICAgICAgICAgICBjb250cmlidXRvciA9IGNvbnRyaWJ1dG9ycy5nZXQob3duZXJzWzBd
LCB7fSkKKyAgICAgICAgICAgIGRpc3BsYXlfbmFtZSA9IGNvbnRyaWJ1dG9yLmdldCgnZW1haWwn
LCBvd25lcnNbMF0pIGlmIGNvbnRyaWJ1dG9yIGVsc2Ugb3duZXJzWzBdCisgICAgICAgICAgICBz
ZWxmLmFkZFVSTCgnQ2hhbmdlIGJ5IHt9Jy5mb3JtYXQoZGlzcGxheV9uYW1lKSwgJ3t9L3t9Jy5m
b3JtYXQoR0lUSFVCX1VSTCwgb3duZXJzWzBdKSkKKworICAgICAgICBwcl9jbG9zZWQgPSBzZWxm
Ll9pc19wcl9jbG9zZWQocHJfbnVtYmVyLCByZXBvc2l0b3J5X3VybD1yZXBvc2l0b3J5X3VybCkg
aWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQgZWxzZSAwCisgICAgICAgIGlmIHByX2Nsb3NlZCA9PSAx
OgorICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQdWxsIHJlcXVlc3Qge30gaXMgYWxyZWFk
eSBjbG9zZWQnLmZvcm1hdChwcl9udW1iZXIpKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisK
KyAgICAgICAgb2Jzb2xldGUgPSBzZWxmLl9pc19wcl9vYnNvbGV0ZShwcl9udW1iZXIsIHJlcG9z
aXRvcnlfdXJsPXJlcG9zaXRvcnlfdXJsKSBpZiBzZWxmLnZlcmlmeU9ic29sZXRlIGVsc2UgMAor
ICAgICAgICBpZiBvYnNvbGV0ZSA9PSAxOgorICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQ
dWxsIHJlcXVlc3Qge30gKHNoYSB7fSkgaXMgb2Jzb2xldGUnLmZvcm1hdChwcl9udW1iZXIsIHNl
bGYuZ2V0UHJvcGVydHkoJ3JldmlzaW9uJywgJz8nKVs6SEFTSF9TSVpFXSkpCisgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKKworICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciBwcl9jbG9zZWQg
PT0gLTE6CisgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKFdBUk5JTkdTKQorICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisKKyAgICAgICAgcmV0dXJuIFRydWUKIAogCiBjbGFzcyBWYWxpZGF0ZUNv
bW1pdGVyQW5kUmV2aWV3ZXIoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CkBAIC0xNjgwLDcgKzE4MjIs
NyBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgIGRlZiBldmFsdWF0
ZUNvbW1hbmQoc2VsZiwgY21kKToKICAgICAgICAgaWYgY21kLmRpZEZhaWwoKToKICAgICAgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVG9CdWlsZCcsIFRydWUpCi0gICAgICAg
ICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZVBh
dGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisgICAgICAgICAgICBz
dGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNoYW5nZSh2
ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAgICAgICAgcGxhdGZv
cm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAgICBpZiBwbGF0Zm9y
bSA9PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEluc3RhbGxX
cGVEZXBlbmRlbmNpZXMoKSkKQEAgLTE5NjAsOSArMjEwMiw5IEBAIGNsYXNzIFJ1bkphdmFTY3Jp
cHRDb3JlVGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkKICAgICAgICAgICAgIHNlbGYu
YnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsZUpTQ1dpdGhvdXRQYXRjaCgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRj
aCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEtpbGxPbGRQcm9jZXNzZXMoKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bkpTQ1Rlc3RzV2l0aG91dFBhdGNo
KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmFs
eXplSlNDVGVzdHNSZXN1bHRzKCldKQpAQCAtMjM4NSw3ICsyNTI3LDcgQEAgY2xhc3MgUnVuV2Vi
S2l0VGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgICAgICAgICAgQXJjaGl2ZVRlc3RSZXN1bHRz
KCksCiAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoKSwKICAgICAgICAgICAgICAg
ICBFeHRyYWN0VGVzdFJlc3VsdHMoKSwKLSAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgVmFs
aWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAg
ICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgUmVSdW5XZWJL
aXRUZXN0cygpLAogICAgICAgICAgICAgXSkKQEAgLTI0ODAsOSArMjYyMiw5IEBAIGNsYXNzIFJl
UnVuV2ViS2l0VGVzdHMoUnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVy
dW4nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4
dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXJ1bicpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQ
YXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlf
YnVpbGRfb25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRV
UkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLaWxsT2xk
UHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCkBA
IC0yODA1LDcgKzI5NDcsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0
VGVzdHMpOgogICAgICAgICByYyA9IHNlbGYuZXZhbHVhdGVSZXN1bHQoY21kKQogICAgICAgICBu
ZXh0X3N0ZXBzID0gW0FyY2hpdmVUZXN0UmVzdWx0cygpLCBVcGxvYWRUZXN0UmVzdWx0cygpLCBF
eHRyYWN0VGVzdFJlc3VsdHMoKV0KICAgICAgICAgaWYgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rl
c3RzOgotICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5
QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5X
ZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSgpXSkKKyAgICAgICAgICAgIG5leHRfc3Rl
cHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9
RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNS
ZWRUcmVlKCldKQogICAgICAgICBlbGlmIGZpcnN0X3Jlc3VsdHNfZmxha3lfdGVzdHM6CiAgICAg
ICAgICAgICBuZXh0X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJl
ZSgpKQogICAgICAgICBlbGlmIHJjID09IFNVQ0NFU1Mgb3IgcmMgPT0gV0FSTklOR1M6CkBAIC0y
ODIzLDcgKzI5NjUsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0VGVz
dHMpOgogICAgICAgICAgICAgaWYgcmV0cnlfY291bnQgPCBBbmFseXplTGF5b3V0VGVzdHNSZXN1
bHRzUmVkVHJlZS5NQVhfUkVUUlk6CiAgICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQo
QW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQo
KSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUp
LCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1
bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAgICAgICBuZXh0
X3N0ZXBzLmV4dGVuZChbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0
aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksIFZhbGlkYXRlQ2hhbmdlKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzV2l0aG91
dFBhdGNoUmVkVHJlZSgpXSkKICAgICAgICAgaWYgbmV4dF9zdGVwczoKICAgICAgICAgICAgIHNl
bGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKG5leHRfc3RlcHMpCiAgICAgICAgIHJl
dHVybiByYwpAQCAtMjg1Myw4ICsyOTk1LDggQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZXBlYXRG
YWlsdXJlc1JlZFRyZWUoUnVuV2ViS2l0VGVzdHNSZWRUcmVlKToKICAgICAgICAgbmV4dF9zdGVw
cyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0n
cmVwZWF0LWZhaWx1cmVzJyksIEV4dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXBlYXQt
ZmFpbHVyZXMnKV0KICAgICAgICAgaWYgd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfcmVzdWx0
c19ub25mbGFreV9mYWlsdXJlcyBvciB3aXRoX3BhdGNoX3JlcGVhdF9mYWlsdXJlc190aW1lZG91
dDoKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVl
KQotICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBVbkFwcGx5
UGF0Y2hJZlJlcXVpcmVkKCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRf
b25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0
ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRl
c3RzUmVwZWF0RmFpbHVyZXNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQorICAgICAgICAgICAgbmV4
dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRk
VVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgp
LCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJl
c1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBuZXh0
X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQogICAgICAg
ICBpZiBuZXh0X3N0ZXBzOgpAQCAtMzI1Nyw3ICszMzk5LDcgQEAgY2xhc3MgUnVuQVBJVGVzdHMo
VGVzdFdpdGhGYWlsdXJlQ291bnQpOgogICAgICAgICAgICAgc2VsZi5idWlsZC5yZXN1bHRzID0g
U1VDQ0VTUwogICAgICAgICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwg
U1VDQ0VTUykKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNB
ZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRk
VVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUmVSdW5BUElUZXN0cygpXSkKKyAgICAg
ICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZUNoYW5n
ZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2Vz
KCksIFJlUnVuQVBJVGVzdHMoKV0pCiAgICAgICAgIHJldHVybiByYwogCiAKQEAgLTMyNzMsMTQg
KzM0MTUsMTQgQEAgY2xhc3MgUmVSdW5BUElUZXN0cyhSdW5BUElUZXN0cyk6CiAgICAgICAgICAg
ICBzZWxmLmJ1aWxkLmJ1aWxkRmluaXNoZWQoW21lc3NhZ2VdLCBTVUNDRVNTKQogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRy
dWUpCi0gICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgp
LCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisg
ICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAg
ICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAg
ICBpZiBwbGF0Zm9ybSA9PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBw
ZW5kKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMoKSkKICAgICAgICAgICAgIGVsaWYgcGxhdGZvcm0g
PT0gJ2d0ayc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsR3Rr
RGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKENvbXBpbGVX
ZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSkKLSAgICAgICAg
ICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFs
c2UsIGFkZFVSTHM9RmFsc2UpKQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAg
ICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgICAg
ICBzdGVwc190b19hZGQuYXBwZW5kKFJ1bkFQSVRlc3RzV2l0aG91dFBhdGNoKCkpCiAgICAgICAg
ICAgICBzdGVwc190b19hZGQuYXBwZW5kKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMoKSkKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29s
cy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGZhZmNkYzkzNzU1
ZjM4M2QwOTQ2M2EyZWI4NjVlOGUwYzE2MmI3NjUuLjdhMmRmODE5NzI5MDBkZDVjOGE3NjhkNmYx
NTY5OTIxZmM5MTVhMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3Rl
cHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0
dGVzdC5weQpAQCAtNTYsNyArNTYsNyBAQCBmcm9tIHN0ZXBzIGltcG9ydCAoQW5hbHl6ZUFQSVRl
c3RzUmVzdWx0cywgQW5hbHl6ZUNvbXBpbGVXZWJLaXRSZXN1bHRzLCBBbmFseXplSgogICAgICAg
ICAgICAgICAgICAgIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoLCBSdW5XZWJLaXRUZXN0c1Jl
ZFRyZWUsIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlLCBSdW5XZWJLaXRUZXN0
c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSwKICAgICAgICAgICAgICAgICAgICBS
dW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUsIEFuYWx5emVMYXlvdXRUZXN0c1Jlc3Vs
dHNSZWRUcmVlLCBUZXN0V2l0aEZhaWx1cmVDb3VudCwgU2hvd0lkZW50aWZpZXIsCiAgICAgICAg
ICAgICAgICAgICAgVHJpZ2dlciwgVHJhbnNmZXJUb1MzLCBVbkFwcGx5UGF0Y2hJZlJlcXVpcmVk
LCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LCBVcGxvYWRCdWlsdFByb2R1Y3QsCi0gICAgICAgICAg
ICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIs
IFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgVmFsaWRhdGVQYXRjaCwgVmVyaWZ5R2l0SHVi
SW50ZWdyaXR5KQorICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0
ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlk
YXRlQ2hhbmdlLCBWZXJpZnlHaXRIdWJJbnRlZ3JpdHkpCiAKICMgV29ya2Fyb3VuZCBmb3IgaHR0
cHM6Ly9naXRodWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy80NjY5CiBmcm9tIGJ1aWxk
Ym90LnRlc3QuZmFrZS5mYWtlYnVpbGQgaW1wb3J0IEZha2VCdWlsZApAQCAtNDUyNSw3ICs0NTI1
LDcgQEAgY2xhc3MgVGVzdENyZWF0ZUxvY2FsR0lUQ29tbWl0KEJ1aWxkU3RlcE1peGluQWRkaXRp
b25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJldHVybiByYwogCiAKLWNsYXNzIFRl
c3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2Fz
ZSk6CitjbGFzcyBUZXN0VmFsaWRhdGVDaGFuZ2UoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHJldHVybiBz
ZWxmLnNldFVwQnVpbGRTdGVwKCkKIApAQCAtNDU0MywzOSArNDU0Myw5MiBAQCBjbGFzcyBUZXN0
VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgICAgICAgICAgImlzX3BhdGNoIjogMSwKICAgICAgICAgICAgICAgICAg
ICAgICJzdW1tYXJ5IjogInt9In19JycnLmZvcm1hdChvYnNvbGV0ZSwgdGl0bGUpKQogCisgICAg
ZGVmIGdldF9wcihzZWxmLCBudW1iZXIsIHRpdGxlPSdQdWxsLXJlcXVlc3QnLCBjbG9zZWQ9RmFs
c2UpOgorICAgICAgICByZXR1cm4gZGljdCgKKyAgICAgICAgICAgIG51bWJlcj1udW1iZXIsCisg
ICAgICAgICAgICBzdGF0ZT0nY2xvc2VkJyBpZiBjbG9zZWQgZWxzZSAnb3BlbicsCisgICAgICAg
ICAgICB0aXRsZT10aXRsZSwKKyAgICAgICAgICAgIHVzZXI9ZGljdChsb2dpbj0nSm9uV0JlZGFy
ZCcpLAorICAgICAgICAgICAgaGVhZD1kaWN0KAorICAgICAgICAgICAgICAgIHNoYT0nNzQ5NmY4
ZWNjNGNjODAxMWYxOWM4Y2MxYmM3YjE4ZmU0YTg4YWQ1YycsCisgICAgICAgICAgICAgICAgcmVm
PSdlbmcvcHVsbC1yZXF1ZXN0JywKKyAgICAgICAgICAgICAgICByZXBvPWRpY3QoCisgICAgICAg
ICAgICAgICAgICAgIG5hbWU9J1dlYktpdCcsCisgICAgICAgICAgICAgICAgICAgIGZ1bGxfbmFt
ZT0nSm9uV0JlZGFyZC9XZWJLaXQnLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAp
LCBiYXNlPWRpY3QoCisgICAgICAgICAgICAgICAgc2hhPSc1MjhiOTk1NzVlZWJmN2ZhNWI5NGYx
ZmM1MWRlODE5NzdmMjY1MDA1JywKKyAgICAgICAgICAgICAgICByZWY9J21haW4nLAorICAgICAg
ICAgICAgICAgIHJlcG89ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgbmFtZT0nV2ViS2l0JywK
KyAgICAgICAgICAgICAgICAgICAgZnVsbF9uYW1lPSdXZWJLaXQvV2ViS2l0JywKKyAgICAgICAg
ICAgICAgICApLAorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorCiAgICAgZGVmIHRlc3Rfc2tp
cHBlZChzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAg
ICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdwYXRjaF9pZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVn
X2lkJywgJzU2NzgnKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24n
LCBUcnVlKQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRl
X3N0cmluZz0nVmFsaWRhdGVkIHBhdGNoIChza2lwcGVkKScpCisgICAgICAgIHNlbGYuZXhwZWN0
T3V0Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChz
a2lwcGVkKScpCisgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQorCisgICAgZGVmIHRlc3Rf
c2tpcHBlZF9wcihzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2Uo
KSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0JykKKyAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1Yi5jb20v
V2ViS2l0L1dlYktpdCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NraXBfdmFsaWRhdGlv
bicsIFRydWUpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3Rh
dGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lwcGVkKScpCiAgICAgICAgIHJldHVybiBz
ZWxmLnJ1blN0ZXAoKQogCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKLSAgICAgICAgc2Vs
Zi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQotICAgICAg
ICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxm
LmdldF9wYXRjaCgpCisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZlcmlm
eUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRjaF9qc29u
ID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCiAgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQyNTgwNicpCi0gICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQorICAgICAg
ICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRh
dGVkIGNoYW5nZScpCisgICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAn
ZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNldCcpCisgICAgICAgIHJldHVybiBy
YworCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19wcihzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0
ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFsaWRh
dGVDaGFuZ2UuZ2V0X3ByX2pzb24gPSBsYW1iZGEgeCwgcHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5
X3VybD1Ob25lOiBzZWxmLmdldF9wcihudW1iZXI9cHVsbF9yZXF1ZXN0KQorICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdnaXRodWIubnVtYmVyJywgJzEyMzQnKQorICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdyZXBvc2l0b3J5JywgJ2h0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0JykK
KyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnNzQ5NmY4ZWNjNGNjODAxMWYx
OWM4Y2MxYmM3YjE4ZmU0YTg4YWQ1YycpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1
bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlJykKICAgICAgICAgcmMg
PSBzZWxmLnJ1blN0ZXAoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVy
dHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4
cGVjdGVkbHkgc2V0JykKICAgICAgICAgcmV0dXJuIHJjCiAKICAgICBkZWYgdGVzdF9vYnNvbGV0
ZV9wYXRjaChzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UpKQotICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29u
ID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaChvYnNvbGV0ZT0xKQorICAgICAg
ICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQor
ICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9p
ZDogc2VsZi5nZXRfcGF0Y2gob2Jzb2xldGU9MSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgn
cGF0Y2hfaWQnLCAnNDI1ODA2JykKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1G
QUlMVVJFLCBzdGF0ZV9zdHJpbmc9J1BhdGNoIDQyNTgwNiBpcyBvYnNvbGV0ZScpCiAgICAgICAg
IHJjID0gc2VsZi5ydW5TdGVwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFBy
b3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMg
dW5leHBlY3RlZGx5IHNldCcpCiAgICAgICAgIHJldHVybiByYwogCisgICAgZGVmIHRlc3Rfb2Jz
b2xldGVfcHIoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZl
cmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wcl9qc29u
ID0gbGFtYmRhIHgsIHB1bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91cmw9Tm9uZTogc2VsZi5nZXRf
cHIobnVtYmVyPXB1bGxfcmVxdWVzdCkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZ2l0aHVi
Lm51bWJlcicsICcxMjM0JykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScs
ICdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdCcpCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ3JldmlzaW9uJywgJzFhZDYwZDQ1YTExMjMwMWY3YjlmOTNkYWMwNjEzNDUyNGRhZTg0
ODAnKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0
cmluZz0nUHVsbCByZXF1ZXN0IDEyMzQgKHNoYSAxYWQ2MGQ0NWExMTIpIGlzIG9ic29sZXRlJykK
KyAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
bGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9x
dWV1ZSBpcyB1bmV4cGVjdGVkbHkgc2V0JykKKyAgICAgICAgcmV0dXJuIHJjCisKICAgICBkZWYg
dGVzdF9mYXN0X2NxX3BhdGNoZXNfdHJpZ2dlcl9mYXN0X2NxX21vZGUoc2VsZik6CiAgICAgICAg
IGZhc3RfY3FfcGF0Y2hfdGl0bGVzID0gKCdSRVZFUlQgT0YgcjEyMzQnLCAncmV2ZXJ0IG9mIHIx
MjM0JywgJ1tmYXN0LWNxXVBhdGNoJywgJ1tGQVNULWNxXSBwYXRjaCcsICdmYXN0LWNxLXBhdGNo
JywgJ0ZBU1QtQ1EgUGF0Y2gnKQogICAgICAgICBmb3IgZmFzdF9jcV9wYXRjaF90aXRsZSBpbiBm
YXN0X2NxX3BhdGNoX3RpdGxlczoKLSAgICAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRl
UGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKLSAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2gu
Z2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3BhdGNoKHRpdGxl
PWZhc3RfY3FfcGF0Y2hfdGl0bGUpCisgICAgICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0
ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICAgICAgVmFsaWRhdGVDaGFu
Z2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3BhdGNoKHRp
dGxlPWZhc3RfY3FfcGF0Y2hfdGl0bGUpCiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdw
YXRjaF9pZCcsICc0MjU4MDYnKQotICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3Vs
dD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J1ZhbGlkYXRlZCBwYXRjaCcpCisgICAgICAgICAgICBz
ZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVk
IGNoYW5nZScpCiAgICAgICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCiAgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIFRy
dWUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyBub3Qgc2V0LCBwYXRjaCB0aXRsZToge30nLmZvcm1h
dChmYXN0X2NxX3BhdGNoX3RpdGxlKSkKICAgICAgICAgcmV0dXJuIHJjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449178</attachid>
            <date>2022-01-14 09:23:21 -0800</date>
            <delta_ts>2022-01-14 11:19:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220114092320.patch</filename>
            <type>text/plain</type>
            <size>46369</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDE4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTczYWQzNDE1ZDI1MDE4YzZhZDMyMGI3YjhmYzljZTc5
MmJlNmU4ZS4uMzQ3YjYzMDM1YmE1YmYzZDhkOTcxMjZmNjdjYTIxMjg2NzMxZWRiMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIyLTAxLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5w
eToKKyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBW
YWxpZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgor
ICAgICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2lu
ZG93c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9y
eS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9y
aWVzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyk6IFN0ZXAg
bmFtZSBjaGFuZ2VkIGZyb20gdmFsaWRhdGUtcGF0Y2ggdG8gdmFsaWRhdGUtY2hhbmdlLgorICAg
ICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChHaXRIdWIucHJf
dXJsKTogQWRkIG1pc3NpbmcgLy4KKyAgICAgICAgKEdpdEh1Yi5hcGlfdXJsKTogQ29udmVydCBh
IHJlcG9zaXRvcnkgVVJMIHRvIHRoZSBBUEkgdXJsIGZvciB0aGF0IHJlcG9zaXRvcnkuCisgICAg
ICAgIChHaXRIdWIuY3JlZGVudGlhbHMpOiBBY2Nlc3MgR2l0SHViIGNyZWRlbnRpYWxzIGZyb20g
cGFzc3dvcmRzLmpzb24uCisgICAgICAgIChHaXRIdWJNaXhpbik6CisgICAgICAgIChHaXRIdWJN
aXhpbi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24pOgorICAgICAgICAo
R2l0SHViTWl4aW4uZ2V0X3ByX2pzb24pOgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Ns
b3NlZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIGNsb3NlZC4KKyAgICAgICAgKEdpdEh1
Yk1peGluLl9pc19wcl9vYnNvbGV0ZSk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIG9ic29s
ZXRlLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRj
aC4KKyAgICAgICAgKFZhbGlkYXRlQ2hhbmdlLmdldFJlc3VsdFN1bW1hcnkpOgorICAgICAgICAo
VmFsaWRhdGVDaGFuZ2Uuc3RhcnQpOiBJbnZva2UgdmFsaWRhdGVfYnVnemlsbGEgb3IgdmFsaWRh
dGVfZ2l0aHViLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfYnVnemlsbGEpOiBD
aGVjayBhIGJ1Z3ppbGxhIHBhdGNoLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVf
Z2l0aHViKTogQ2hlY2sgYSBHaXRIdWIgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoQ29tcGlsZVdl
YktpdC5ldmFsdWF0ZUNvbW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNo
YW5nZS4KKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTog
RGl0dG8uCisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4K
KyAgICAgICAgKFJlUnVuV2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAg
ICAgIChSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQp
OiBEaXR0by4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgor
ICAgICAgICAoUmVSdW5BUElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAg
KFZhbGlkYXRlUGF0Y2gpOiBSZW5hbWVkIHRvIFZhbGlkYXRlQ2hhbmdlLgorICAgICAgICAqIENJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHk6CisKIDIwMjItMDEtMTQgIEogUGFz
Y29lICA8al9wYXNjb2VAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3YXkgdG8gZW5jb2Rl
IENUQVAgY29tbWFuZHMgd2l0aCBvbmx5IHRoZSBoYXNoIG9mIENsaWVudERhdGFKU09OCmRpZmYg
LS1naXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weSBiL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IDFkN2VjMjNlZGU5NGZmMTE3MzVk
MDQ0YjQ4NjhkNTNlNGFmMDAxMzQuLjBkZDlmOTJkNDc0ZjY5MjBkNzk2M2Y3OWQ3NWU5NWY4ODk1
ZDM2NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5
CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CkBAIC0zMiw3ICsz
Miw3IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBBcHBseVdhdGNoTGlzdCwgQ2hl
Y2tPdXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAgICAgICAgICAgICAgUnVuRVdT
VW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZhU2NyaXB0Q29yZVRlc3RzLCBS
dW5XZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVuV2ViS2l0UHlQeXRob24yVGVz
dHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRob24zVGVzdHMsIFJ1bldlYktp
dFRlc3RzLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktpdFRlc3RzSW5TdHJlc3NNb2Rl
LCBSdW5XZWJLaXRUZXN0c0luU3RyZXNzR3VhcmRtYWxsb2NNb2RlLAogICAgICAgICAgICAgICAg
ICAgIFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lkZW50aWZpZXIsIFRyaWdnZXJDcmFzaExvZ1N1Ym1p
c3Npb24sIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgVmFsaWRh
dGVQYXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFu
ZFJldmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9uLAorICAgICAgICAgICAgICAgICAgIFZh
bGlkYXRlQ2hhbmdlLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1p
dGVyQW5kUmV2aWV3ZXIsIFdhaXRGb3JDcmFzaENvbGxlY3Rpb24sCiAgICAgICAgICAgICAgICAg
ICAgSW5zdGFsbEJ1aWx0UHJvZHVjdCwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQogCiAKQEAgLTQ2
LDcgKzQ2LDcgQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgICAg
ICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tQYXRjaFJlbGV2YW5jZSgpKQogICAgICAgICBpZiBzZWxm
LmZpbmRNb2RpZmllZExheW91dFRlc3RzOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEZpbmRN
b2RpZmllZExheW91dFRlc3RzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNo
KCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVh
bkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCkBAIC02
Myw3ICs2Myw3IEBAIGNsYXNzIFN0eWxlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hp
dGVjdHVyZXM9Tm9uZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJn
dW1lbnRzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9yeS5CdWlsZEZhY3RvcnkuX19p
bml0X18oc2VsZikKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3Jt
PXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJj
aGl0ZWN0dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10cmlnZ2VycywgcmVtb3Rlcz1y
ZW1vdGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVudHMpKQotICAgICAg
ICBzZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFs
aWRhdGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigp
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKCkpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChDaGVja091dFNvdXJjZSgpKQpAQCAtNzgsNyArNzgsNyBAQCBjbGFzcyBXYXRjaExpc3RG
YWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGxh
dGZvcm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lLCB0cmlnZ2Vycz1O
b25lLCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgKiprd2FyZ3MpOgog
ICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249
Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFs
c2UsIHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1bWVu
dHM9YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBh
dGNoKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChD
bGVhbkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCkBA
IC0yNDMsNyArMjQzLDcgQEAgY2xhc3MgV2luZG93c0ZhY3RvcnkoRmFjdG9yeSk6CiAgICAgICAg
IEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249
Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFs
c2UsIHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1
bWVudHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xk
UHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxv
YWQ9VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0
ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChTZXRC
dWlsZFN1bW1hcnkoKSkKIApAQCAtMjg1LDcgKzI4NSw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFj
dG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgYWRkaXRpb25hbEFy
Z3VtZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9f
aW5pdF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9y
bT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFy
Y2hpdGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25l
LCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVudHMpKQotICAgICAgICBzZWxm
LmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1ZSkpCisgICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYu
YWRkU3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRS
ZXBvKGRlZmF1bHRfYnJhbmNoPSdtYXN0ZXInKSkKQEAgLTMwMCwxMCArMzAwLDEwIEBAIGNsYXNz
IENvbW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgICAgIHNlbGYu
YWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxl
V2ViS2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJv
Y2Vzc2VzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKGFkZFVSTHM9RmFs
c2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlQ2hh
bmdlKGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKICAgICAgICAgc2VsZi5hZGRT
dGVwKENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAo
UnVuV2ViS2l0VGVzdHMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goYWRk
VVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFs
aWRhdGVDaGFuZ2UoYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UocmVwb3VybD0naHR0cHM6Ly9naXQud2Via2l0Lm9y
Zy9naXQvV2ViS2l0LWh0dHBzJykpCiAgICAgICAgIHNlbGYuYWRkU3RlcChTaG93SWRlbnRpZmll
cigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoVXBkYXRlV29ya2luZ0RpcmVjdG9yeSgpKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkg
Yi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQppbmRleCBh
MGE3NmUzNDVlODE0ZjkxYTlmMzQ0ZDUwOTI3Zjc4ZjM4ZTQ3ZTU3Li5kZTUyZDNhYThiZGFhYWE0
MGI5ZDk4NWFjZmM4ZjU0NTVkM2VlYzc3IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQpAQCAtMzEsNyArMzEsNyBAQCBjbGFzcyBUZXN0RXhw
ZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBleHBlY3RlZF9zdGVwcyA9
IHsKICAgICAgICAgJ1N0eWxlLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQn
LAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1j
aGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFu
LXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGly
ZWN0b3J5JywKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdBcHBseS1XYXRjaExpc3Qt
RVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFs
aWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAg
ICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAg
ICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTUsNyAr
NTUsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgXSwKICAgICAgICAgJ0dUSy1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29u
ZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAg
ICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAg
ICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0
ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC03MCw3ICs3MCw3IEBAIGNsYXNzIFRlc3RFeHBlY3Rl
ZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnR1RL
LVdLMi1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQt
cmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScs
CkBAIC04OSw3ICs4OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LUJ1aWxkLUVXUyc6IFsKICAg
ICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNo
JywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3Vy
YXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdj
bGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTEwMiw3ICsxMDIsNyBAQCBj
bGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
XSwKICAgICAgICAgJ2lPUy0xNS1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAg
J2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAg
ICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAg
ICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11
cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIFRlc3RF
eHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAg
ICAnaU9TLTE1LVNpbXVsYXRvci1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAg
J3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAg
ICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUt
d29ya2luZy1kaXJlY3RvcnknLApAQCAtMTM2LDcgKzEzNiw3IEBAIGNsYXNzIFRlc3RFeHBlY3Rl
ZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQXBwbGVTaWxp
Y29uLUJpZy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAg
ICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAg
ICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycs
CiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0x
NDksNyArMTQ5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBsZVNpbGljb24tQmlnLVN1ci1E
ZWJ1Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0g
ICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5n
ZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAt
Z2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rv
cnknLApAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtUmVs
ZWFzZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAg
ICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywK
ICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQt
cmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScs
CkBAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGluYS1SZWxlYXNlLVdLMS1UZXN0cy1F
V1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVj
ay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAg
ICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAog
ICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIwMyw3ICsyMDMsNyBAQCBjbGFzcyBUZXN0
RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAg
ICAgJ21hY09TLUNhdGFsaW5hLVJlbGVhc2UtV0syLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAg
ICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAg
ICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAog
ICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQt
dXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIyNCw3ICsyMjQsNyBAQCBjbGFzcyBUZXN0
RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ21hY09TLVJl
bGVhc2UtV0syLVN0cmVzcy1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1
aWxkJywKICAgICAgICAgICAgICdmaW5kLW1vZGlmaWVkLWxheW91dC10ZXN0cycsCi0gICAgICAg
ICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAg
ICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJl
cG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApA
QCAtMjQyLDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctQnVp
bGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMjU2
LDcgKzI1Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sxLVRlc3RzLUVXUyc6IFsKICAg
ICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJl
bGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMjc2LDcgKzI3Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnd2F0Y2hP
Uy04LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAg
ICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAog
ICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1y
ZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywK
QEAgLTI4OSw3ICsyODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNoT1MtOC1TaW11bGF0b3ItQnVp
bGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzAy
LDcgKzMwMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICBdLAogICAgICAgICAndHZPUy0xNS1CdWlsZC1FV1MnOiBbCiAgICAgICAg
ICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisg
ICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9u
JywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4t
YW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMTUsNyArMzE1LDcgQEAgY2xhc3Mg
VGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAg
ICAgICAgICd0dk9TLTE1LVNpbXVsYXRvci1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29u
ZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAg
ICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAg
ICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0
ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMjksNyArMzI5LDcgQEAgY2xhc3MgVGVzdEV4cGVj
dGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXaW5kb3dzLUVXUyc6
IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBh
dGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzM5LDEzICszMzksMTMgQEAgY2xhc3MgVGVzdEV4
cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnYXBwbHkt
cGF0Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAn
Y29tcGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAg
ICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xheW91dC10ZXN0cycsCiAgICAg
ICAgICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0sCiAgICAgICAgICdXaW5DYWly
by1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zNTgs
NyArMzU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZp
Z3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAg
J3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAg
ICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUt
d29ya2luZy1kaXJlY3RvcnknLApAQCAtMzczLDcgKzM3Myw3IEBAIGNsYXNzIFRlc3RFeHBlY3Rl
ZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnSlNDLVRlc3RzLUVXUyc6
IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBh
dGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzg4LDcgKzM4OCw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnSlNDLU1JUFNFTC0z
MmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAg
ICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1w
YXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25m
aWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAg
ICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00MDIsNyArNDAyLDcg
QEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgICdKU0MtTUlQU0VMLTMyYml0cy1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAg
ICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAog
ICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1y
ZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywK
QEAgLTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAg
ICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVs
ZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFs
aWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAg
ICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3Jr
aW5nLWRpcmVjdG9yeScsCkBAIC00MzIsNyArNDMyLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVp
bGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtQVJNdjctMzJiaXRzLVRl
c3RzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAg
J2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAor
ICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlv
bicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFu
LWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDQ4LDcgKzQ0OCw3IEBAIGNsYXNz
IFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnSlND
LWkzODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAg
ICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDYyLDcgKzQ2Miw3
IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00NzUs
NyArNDc1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAg
ICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAog
ICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1y
ZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywK
QEAgLTQ4OSw3ICs0ODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ1dlYktpdFBlcmwtVGVzdHMtRVdTJzog
WwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUt
cGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29u
ZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAg
ICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTAxLDcgKzUwMSw3
IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBdLAogICAgICAgICAnQVBJLVRlc3RzLWlPUy1TaW11bGF0b3ItRVdTJzogWwogICAgICAg
ICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAor
ICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlv
bicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFu
LWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTE2LDcgKzUxNiw3IEBAIGNsYXNz
IFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAog
ICAgICAgICAnQVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUt
YnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxp
ZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAg
J2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtp
bmctZGlyZWN0b3J5JywKQEAgLTUzMSw3ICs1MzEsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWls
ZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0FQSS1UZXN0
cy1HVEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8n
LAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAt
NTQ4LDcgKzU0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3Vy
ZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAg
ICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAg
ICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVw
bycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBA
IC01NjQsNyArNTY0LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQtUXVldWUnOiBbCiAgICAgICAg
ICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisg
ICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICd2YWxpZGF0ZS1jb21t
aXRlci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAg
ICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU3OSwxMCArNTc5LDEwIEBAIGNsYXNzIFRl
c3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgJ2tp
bGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGlsZS13ZWJraXQnLAogICAgICAg
ICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gn
LAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY2hlY2stc3Rh
dHVzLW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlvdXQtdGVzdHMnLAotICAgICAg
ICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAg
ICAgICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAndXBkYXRlLXdvcmtpbmctZGly
ZWN0b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkg
Yi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CmluZGV4IGZlMjRjMTBmYzI0N2M1
MGYxMmU5MjczYTNhM2U3ZWM5ZjhjZTQ2MTEuLjY0NGU0ZDRlZjcwMjJhOTYzYTM3ZmJiY2M2MzBl
YmZkMjhlMTkxMWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMu
cHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAtNTQsOSArNTQs
OSBAQCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5vcmcvJwogUkVTVUxUU19EQl9VUkwg
PSAnaHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0aFByb3BlcnRpZXMgPSBwcm9wZXJ0
aWVzLldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHByb3BlcnRpZXMuSW50ZXJwb2xhdGUK
LUJSQU5DSF9QUl9SRSA9IHJlLmNvbXBpbGUocidecmVmcy9wdWxsLyg/UDxpZD5cZCspL21lcmdl
JCcpCiBHSVRIVUJfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS8nCiBHSVRIVUJfUFJPSkVDVFMg
PSBbJ1dlYktpdC9XZWJLaXQnXQorSEFTSF9TSVpFID0gMTIKIAogCiBjbGFzcyBCdWZmZXJMb2dI
ZWFkZXJPYnNlcnZlcihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcik6CkBAIC04Niw3ICs4
Niw5NSBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiAnJwogICAg
ICAgICBpZiBub3QgcHJfbnVtYmVyIG9yIG5vdCBpc2luc3RhbmNlKHByX251bWJlciwgaW50KToK
ICAgICAgICAgICAgIHJldHVybiAnJwotICAgICAgICByZXR1cm4gJ3t9cHVsbC97fScuZm9ybWF0
KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisgICAgICAgIHJldHVybiAne30vcHVsbC97fScu
Zm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisKKyAgICBAY2xhc3NtZXRob2QKKyAg
ICBkZWYgYXBpX3VybChjbHMsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgorICAgICAgICBpZiBub3Qg
cmVwb3NpdG9yeV91cmw6CisgICAgICAgICAgICByZXBvc2l0b3J5X3VybCA9ICd7fXt9Jy5mb3Jt
YXQoR0lUSFVCX1VSTCwgR0lUSFVCX1BST0pFQ1RTWzBdKQorCisgICAgICAgIGlmIHJlcG9zaXRv
cnlfdXJsIG5vdCBpbiBHaXRIdWIucmVwb3NpdG9yeV91cmxzKCk6CisgICAgICAgICAgICByZXR1
cm4gJycKKyAgICAgICAgXywgdXJsX2Jhc2UgPSByZXBvc2l0b3J5X3VybC5zcGxpdCgnOi8vJywg
MSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNlLnNwbGl0KCcvJywgMSkKKyAgICAgICAg
cmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScuZm9ybWF0KGhvc3QsIHBhdGgpCisKKyAg
ICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlZGVudGlhbHMoY2xzKToKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4oJ3Bhc3N3b3Jkcy5qc29uJykp
CisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NPTV9VU0VSTkFNRScs
IE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX0FDQ0VTU19UT0tFTicsIE5vbmUpCisg
ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50KCdFcnJvciBy
ZWFkaW5nIEdpdEh1YiBjcmVkZW50aWFscycpCisgICAgICAgICAgICByZXR1cm4gTm9uZSwgTm9u
ZQorCisKK2NsYXNzIEdpdEh1Yk1peGluKG9iamVjdCk6CisgICAgYWRkVVJMcyA9IEZhbHNlCisg
ICAgcHJfb3Blbl9zdGF0ZXMgPSBbJ29wZW4nXQorICAgIHByX2Nsb3NlZF9zdGF0ZXMgPSBbJ2Ns
b3NlZCddCisKKyAgICBkZWYgZmV0Y2hfZGF0YV9mcm9tX3VybF93aXRoX2F1dGhlbnRpY2F0aW9u
KHNlbGYsIHVybCk6CisgICAgICAgIHJlc3BvbnNlID0gTm9uZQorICAgICAgICB0cnk6CisgICAg
ICAgICAgICB1c2VybmFtZSwgYWNjZXNzX3Rva2VuID0gc2VsZi5jcmVkZW50aWFscygpCisgICAg
ICAgICAgICBhdXRoID0gSFRUUEJhc2ljQXV0aCh1c2VybmFtZSwgYWNjZXNzX3Rva2VuKSBpZiB1
c2VybmFtZSBhbmQgYWNjZXNzX3Rva2VuIGVsc2UgTm9uZQorICAgICAgICAgICAgcmVzcG9uc2Ug
PSByZXF1ZXN0cy5nZXQoCisgICAgICAgICAgICAgICAgdXJsLCB0aW1lb3V0PTYwLCBhdXRoPWF1
dGgsCisgICAgICAgICAgICAgICAgaGVhZGVycz1kaWN0KEFjY2VwdD0nYXBwbGljYXRpb24vdm5k
LmdpdGh1Yi52Mytqc29uJyksCisgICAgICAgICAgICApCisgICAgICAgICAgICBpZiByZXNwb25z
ZS5zdGF0dXNfY29kZSAvLyAxMDAgIT0gMjoKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRUb0xv
Zygnc3RkaW8nLCAnQWNjZXNzZWQge3VybH0gd2l0aCB1bmV4cGVjdGVkIHN0YXR1cyBjb2RlIHtz
dGF0dXNfY29kZX0uXG4nLmZvcm1hdCh1cmw9dXJsLCBzdGF0dXNfY29kZT1yZXNwb25zZS5zdGF0
dXNfY29kZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIyBDYXRjaGluZyBhbGwgZXhjZXB0aW9ucyBoZXJl
IHRvIHNhZmVndWFyZCBhY2Nlc3MgdG9rZW4uCisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygn
c3RkaW8nLCAnRmFpbGVkIHRvIGFjY2VzcyB7dXJsfS5cbicuZm9ybWF0KHVybD11cmwpKQorICAg
ICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisKKyAgICBkZWYg
Z2V0X3ByX2pzb24oc2VsZiwgcHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybD1Ob25lKToKKyAg
ICAgICAgYXBpX3VybCA9IEdpdEh1Yi5hcGlfdXJsKHJlcG9zaXRvcnlfdXJsKQorICAgICAgICBp
ZiBub3QgYXBpX3VybDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgcHJfdXJs
ID0gJ3t9L3B1bGxzL3t9Jy5mb3JtYXQoYXBpX3VybCwgcHVsbF9yZXF1ZXN0KQorICAgICAgICBj
b250ZW50ID0gc2VsZi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24ocHJf
dXJsKQorICAgICAgICBpZiBub3QgY29udGVudDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIHByX2pzb24gPSBjb250ZW50Lmpzb24oKQorICAgICAg
ICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBwcmludCgnRmFpbGVkIHRvIGdl
dCBwdWxsIHJlcXVlc3QgZGF0YSBmcm9tIHt9LCBlcnJvcjoge30nLmZvcm1hdChwcl91cmwsIGUp
KQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3IgbGVu
KHByX2pzb24pID09IDA6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4g
cHJfanNvbgorCisgICAgZGVmIF9pc19wcl9jbG9zZWQoc2VsZiwgcHVsbF9yZXF1ZXN0LCByZXBv
c2l0b3J5X3VybD1Ob25lKToKKyAgICAgICAgaWYgbm90IHB1bGxfcmVxdWVzdDoKKyAgICAgICAg
ICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdTa2lwcGluZyBwdWxsIHJlcXVlc3Qgc3RhdHVz
IHZhbGlkYXRpb24gc2luY2UgcHVsbCByZXF1ZXN0IGlzIE5vbmUuXG4nKQorICAgICAgICAgICAg
cmV0dXJuIC0xCisKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24ocHVsbF9yZXF1
ZXN0LCByZXBvc2l0b3J5X3VybCkKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Igbm90IHByX2pz
b24uZ2V0KCdzdGF0ZScpOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1Vu
YWJsZSB0byBmZXRjaCBwdWxsIHJlcXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3JlcXVlc3QpKQor
ICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgIGlmIHByX2pzb24uZ2V0KCdzdGF0ZScpIGlu
IHNlbGYucHJfY2xvc2VkX3N0YXRlczoKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIHJl
dHVybiAwCisKKyAgICBkZWYgX2lzX3ByX29ic29sZXRlKHNlbGYsIHB1bGxfcmVxdWVzdCwgcmVw
b3NpdG9yeV91cmw9Tm9uZSk6CisgICAgICAgIHByX2pzb24gPSBzZWxmLmdldF9wcl9qc29uKHB1
bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91cmwpCisgICAgICAgIGlmIG5vdCBwcl9qc29uOgorICAg
ICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJsZSB0byBmZXRjaCBwdWxsIHJl
cXVlc3Qge30uXG4nLmZvcm1hdChwdWxsX3JlcXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIC0x
CisKKyAgICAgICAgcHJfc2hhID0gcHJfanNvbi5nZXQoJ2hlYWQnLCB7fSkuZ2V0KCdzaGEnLCAn
JykKKyAgICAgICAgaWYgbm90IHByX3NoYToKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdz
dGRpbycsICdGYWlsZWQgdG8gZmV0Y2ggaGFzaCBvZiBwdWxsIHJlcXVlc3Qge31cbicuZm9ybWF0
KHB1bGxfcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gLTEKKworICAgICAgICByZXR1cm4g
MCBpZiBwcl9zaGEgPT0gc2VsZi5nZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnPycpIGVsc2UgMQog
CiAKIGNsYXNzIENvbnRyaWJ1dG9ycyhvYmplY3QpOgpAQCAtMTE1LDExICsyMDMsMTUgQEAgY2xh
c3MgQ29udHJpYnV0b3JzKG9iamVjdCk6CiAgICAgICAgICAgICByZXR1cm4ge30sICdGYWlsZWQg
dG8gYWNjZXNzIHt1cmx9XG4nLmZvcm1hdCh1cmw9Y2xzLnVybCkKIAogICAgIEBjbGFzc21ldGhv
ZAotICAgIGRlZiBsb2FkKGNscyk6CisgICAgZGVmIGxvYWQoY2xzLCB1c2VfbmV0d29yaz1UcnVl
KToKICAgICAgICAgZXJyb3JzID0gW10KLSAgICAgICAgY29udHJpYnV0b3JzX2pzb24sIGVycm9y
ID0gY2xzLmxvYWRfZnJvbV9naXRodWIoKQotICAgICAgICBpZiBlcnJvcjoKLSAgICAgICAgICAg
IGVycm9ycy5hcHBlbmQoZXJyb3IpCisKKyAgICAgICAgaWYgdXNlX25ldHdvcms6CisgICAgICAg
ICAgICBjb250cmlidXRvcnNfanNvbiwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dpdGh1YigpCisg
ICAgICAgICAgICBpZiBlcnJvcjoKKyAgICAgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKGVycm9y
KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29udHJpYnV0b3JzX2pzb24gPSBbXQogCiAg
ICAgICAgIGlmIG5vdCBjb250cmlidXRvcnNfanNvbjoKICAgICAgICAgICAgIGNvbnRyaWJ1dG9y
c19qc29uLCBlcnJvciA9IGNscy5sb2FkX2Zyb21fZGlzaygpCkBAIC0xMzgsNyArMjMwLDcgQEAg
Y2xhc3MgQ29udHJpYnV0b3JzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgY29udHJpYnV0b3Jz
W2dpdGh1Yl91c2VybmFtZV0gPSBkaWN0KAogICAgICAgICAgICAgICAgICAgICBuYW1lPW5hbWUs
CiAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz12YWx1ZS5nZXQoJ3N0YXR1cycpLAotICAgICAg
ICAgICAgICAgICAgICBlbWFpbD1lbWFpbHNbMF0sCisgICAgICAgICAgICAgICAgICAgIGVtYWls
PWVtYWlsc1swXS5sb3dlcigpLAogICAgICAgICAgICAgICAgICkKICAgICAgICAgcmV0dXJuIGNv
bnRyaWJ1dG9ycywgZXJyb3JzCiAKQEAgLTkyNywxMCArMTAxOSwxMCBAQCBjbGFzcyBCdWd6aWxs
YU1peGluKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBTVUNDRVNTCiAKIAotY2xhc3MgVmFsaWRh
dGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKLSAgICBuYW1lID0g
J3ZhbGlkYXRlLXBhdGNoJwotICAgIGRlc2NyaXB0aW9uID0gWyd2YWxpZGF0ZS1wYXRjaCBydW5u
aW5nJ10KLSAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ1ZhbGlkYXRlZCBwYXRjaCddCitjbGFzcyBW
YWxpZGF0ZUNoYW5nZShidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluLCBHaXRIdWJN
aXhpbik6CisgICAgbmFtZSA9ICd2YWxpZGF0ZS1jaGFuZ2UnCisgICAgZGVzY3JpcHRpb24gPSBb
J3ZhbGlkYXRlLWNoYW5nZSBydW5uaW5nJ10KKyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ1ZhbGlk
YXRlZCBjaGFuZ2UnXQogICAgIGZsdW5rT25GYWlsdXJlID0gVHJ1ZQogICAgIGhhbHRPbkZhaWx1
cmUgPSBUcnVlCiAKQEAgLTk0NSw3ICsxMDM3LDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWls
ZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3VtbWFy
eShzZWxmKToKICAgICAgICAgaWYgc2VsZi5yZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAgICAg
ICByZXR1cm4geydzdGVwJzogc2VsZi5kZXNjcmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVybiBz
dXBlcihWYWxpZGF0ZVBhdGNoLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAgcmV0
dXJuIHN1cGVyKFZhbGlkYXRlQ2hhbmdlLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAogICAg
IGRlZiBkb1N0ZXBJZihzZWxmLCBzdGVwKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldFBy
b3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBGYWxzZSkKQEAgLTk1OSw1NCArMTA1MSwxMDUgQEAg
Y2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToK
IAogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFByb3Bl
cnR5KCdwYXRjaF9pZCcsICcnKQotICAgICAgICBpZiBub3QgcGF0Y2hfaWQ6Ci0gICAgICAgICAg
ICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgZm91bmQuIFVuYWJsZSB0byBw
cm9jZWVkIHdpdGhvdXQgcGF0Y2hfaWQuXG4nKQotICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlv
bkRvbmUgPSAnTm8gcGF0Y2ggaWQgZm91bmQnCisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0
UHJvcGVydHkoJ2dpdGh1Yi5udW1iZXInLCAnJykKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQg
YW5kIG5vdCBwcl9udW1iZXI6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAn
Tm8gcGF0Y2hfaWQgb3IgcHJfbnVtYmVyIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0
IG9uZSBvZiB0aGVtLlxuJykKKyAgICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05v
IGNoYW5nZSBmb3VuZCcKKyAgICAgICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIHByX251bWJlcjoK
KyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdCb3RoIHBhdGNoX2lkIGFuZCBw
cl9udW1iZXIgZm91bmQuIFVuYWJsZSB0byBwcm9jZWVkIHdpdGggYm90aC5cbicpCisgICAgICAg
ICAgICBzZWxmLmRlc2NyaXB0aW9uRG9uZSA9ICdUd28gY2hhbmdlcyBmb3VuZCcKICAgICAgICAg
ICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKKyAg
ICAgICAgaWYgcGF0Y2hfaWQgYW5kIG5vdCBzZWxmLnZhbGlkYXRlX2J1Z3ppbGxhKHBhdGNoX2lk
KToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGlmIHByX251bWJlciBhbmQgbm90
IHNlbGYudmFsaWRhdGVfZ2l0aHViKHByX251bWJlcik6CisgICAgICAgICAgICByZXR1cm4gTm9u
ZQorCisgICAgICAgIGlmIHNlbGYudmVyaWZ5QnVnQ2xvc2VkOgorICAgICAgICAgICAgc2VsZi5f
YWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBvcGVuLlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJp
ZnlPYnNvbGV0ZToKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2Ug
aXMgbm90IG9ic29sZXRlLlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQ6
CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdlIGhhcyBub3QgYmVl
biBkZW5pZWQuXG4nKQorICAgICAgICBpZiBzZWxmLnZlcmlmeWNxcGx1czoKKyAgICAgICAgICAg
IHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaXMgaW4gY29tbWl0IHF1ZXVlLlxuJykK
KyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaGFzIGJlZW4gcmV2
aWV3ZWQuXG4nKQorICAgICAgICBzZWxmLmZpbmlzaGVkKFNVQ0NFU1MpCisgICAgICAgIHJldHVy
biBOb25lCisKKyAgICBkZWYgdmFsaWRhdGVfYnVnemlsbGEoc2VsZiwgcGF0Y2hfaWQpOgogICAg
ICAgICBidWdfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdidWdfaWQnLCAnJykgb3Igc2VsZi5nZXRf
YnVnX2lkX2Zyb21fcGF0Y2gocGF0Y2hfaWQpCiAKICAgICAgICAgYnVnX2Nsb3NlZCA9IHNlbGYu
X2lzX2J1Z19jbG9zZWQoYnVnX2lkKSBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKICAg
ICAgICAgaWYgYnVnX2Nsb3NlZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdC
dWcge30gaXMgYWxyZWFkeSBjbG9zZWQnLmZvcm1hdChidWdfaWQpKQotICAgICAgICAgICAgcmV0
dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIG9ic29sZXRlID0g
c2VsZi5faXNfcGF0Y2hfb2Jzb2xldGUocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUg
ZWxzZSAwCiAgICAgICAgIGlmIG9ic29sZXRlID09IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBf
YnVpbGQoJ1BhdGNoIHt9IGlzIG9ic29sZXRlJy5mb3JtYXQocGF0Y2hfaWQpKQotICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIHJldmll
d19kZW5pZWQgPSBzZWxmLl9pc19wYXRjaF9yZXZpZXdfZGVuaWVkKHBhdGNoX2lkKSBpZiBzZWxm
LnZlcmlmeVJldmlld0RlbmllZCBlbHNlIDAKICAgICAgICAgaWYgcmV2aWV3X2RlbmllZCA9PSAx
OgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQYXRjaCB7fSBpcyBtYXJrZWQgci0nLmZv
cm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCiAKICAgICAgICAgY3FfcGx1cyA9IHNlbGYuX2lzX3BhdGNoX2NxX3BsdXMocGF0
Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAgICAgICBpZiBjcV9wbHVzICE9
IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG5vdCBtYXJrZWQg
Y3ErLicuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAg
ICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBhY2NlcHRhYmxlX3Jldmlld19mbGFnID0gc2Vs
Zi5fZG9lc19wYXRjaF9oYXZlX2FjY2VwdGFibGVfcmV2aWV3X2ZsYWcocGF0Y2hfaWQpIGlmIHNl
bGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAgICAgICBpZiBhY2NlcHRhYmxlX3Jldmlld19mbGFn
ICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGRvZXMgbm90IGhh
dmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy4nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAg
ICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgaWYgb2Jz
b2xldGUgPT0gLTEgb3IgcmV2aWV3X2RlbmllZCA9PSAtMSBvciBidWdfY2xvc2VkID09IC0xOgog
ICAgICAgICAgICAgc2VsZi5maW5pc2hlZChXQVJOSU5HUykKLSAgICAgICAgICAgIHJldHVybiBO
b25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKIAotICAg
ICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZDoKLSAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5T2Jzb2xl
dGU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG9i
c29sZXRlLlxuJykKLSAgICAgICAgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5pZWQ6Ci0gICAgICAg
ICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG1hcmtlZCByLS5cbicp
Ci0gICAgICAgIGlmIHNlbGYudmVyaWZ5Y3FwbHVzOgotICAgICAgICAgICAgc2VsZi5fYWRkVG9M
b2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG1hcmtlZCBjcSsuXG4nKQotICAgICAgICAgICAgc2VsZi5f
YWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGhhdmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy5cbicp
Ci0gICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAg
ICBkZWYgdmFsaWRhdGVfZ2l0aHViKHNlbGYsIHByX251bWJlcik6CisgICAgICAgIGlmIG5vdCBw
cl9udW1iZXI6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICByZXBvc2l0b3J5
X3VybCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAnJykKKyAgICAgICAgdGl0bGUg
PSBzZWxmLmdldFByb3BlcnR5KCdnaXRodWIudGl0bGUnLCAnJykKKyAgICAgICAgb3duZXJzID0g
c2VsZi5nZXRQcm9wZXJ0eSgnb3duZXJzJywgW10pCisKKyAgICAgICAgaWYgc2VsZi5hZGRVUkxz
IGFuZCB0aXRsZSBhbmQgcmVwb3NpdG9yeV91cmw6CisgICAgICAgICAgICBzZWxmLmFkZFVSTCgn
W1BSIHt9XSB7fScuZm9ybWF0KHByX251bWJlciwgdGl0bGUpLCBHaXRIdWIucHJfdXJsKHByX251
bWJlciwgcmVwb3NpdG9yeV91cmwpKQorICAgICAgICBpZiBzZWxmLmFkZFVSTHMgYW5kIG93bmVy
czoKKyAgICAgICAgICAgIGNvbnRyaWJ1dG9ycywgZXJyb3JzID0gQ29udHJpYnV0b3JzLmxvYWQo
dXNlX25ldHdvcms9RmFsc2UpCisgICAgICAgICAgICBmb3IgZXJyb3IgaW4gZXJyb3JzOgorICAg
ICAgICAgICAgICAgIHByaW50KGVycm9yKQorICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9n
KCdzdGRpbycsIGVycm9yKQorICAgICAgICAgICAgZ2l0aHViX3VzZXJuYW1lID0gb3duZXJzWzBd
CisgICAgICAgICAgICBjb250cmlidXRvciA9IGNvbnRyaWJ1dG9ycy5nZXQoZ2l0aHViX3VzZXJu
YW1lLCB7fSkKKyAgICAgICAgICAgIGRpc3BsYXlfbmFtZSA9IGNvbnRyaWJ1dG9yLmdldCgnZW1h
aWwnLCBnaXRodWJfdXNlcm5hbWUpCisgICAgICAgICAgICBzZWxmLmFkZFVSTCgnQ2hhbmdlIGJ5
IHt9Jy5mb3JtYXQoZGlzcGxheV9uYW1lKSwgJ3t9L3t9Jy5mb3JtYXQoR0lUSFVCX1VSTCwgZ2l0
aHViX3VzZXJuYW1lKSkKKworICAgICAgICBwcl9jbG9zZWQgPSBzZWxmLl9pc19wcl9jbG9zZWQo
cHJfbnVtYmVyLCByZXBvc2l0b3J5X3VybD1yZXBvc2l0b3J5X3VybCkgaWYgc2VsZi52ZXJpZnlC
dWdDbG9zZWQgZWxzZSAwCisgICAgICAgIGlmIHByX2Nsb3NlZCA9PSAxOgorICAgICAgICAgICAg
c2VsZi5za2lwX2J1aWxkKCdQdWxsIHJlcXVlc3Qge30gaXMgYWxyZWFkeSBjbG9zZWQnLmZvcm1h
dChwcl9udW1iZXIpKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgb2Jzb2xl
dGUgPSBzZWxmLl9pc19wcl9vYnNvbGV0ZShwcl9udW1iZXIsIHJlcG9zaXRvcnlfdXJsPXJlcG9z
aXRvcnlfdXJsKSBpZiBzZWxmLnZlcmlmeU9ic29sZXRlIGVsc2UgMAorICAgICAgICBpZiBvYnNv
bGV0ZSA9PSAxOgorICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQdWxsIHJlcXVlc3Qge30g
KHNoYSB7fSkgaXMgb2Jzb2xldGUnLmZvcm1hdChwcl9udW1iZXIsIHNlbGYuZ2V0UHJvcGVydHko
J3JldmlzaW9uJywgJz8nKVs6SEFTSF9TSVpFXSkpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
KworICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciBwcl9jbG9zZWQgPT0gLTE6CisgICAgICAg
ICAgICBzZWxmLmZpbmlzaGVkKFdBUk5JTkdTKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisK
KyAgICAgICAgcmV0dXJuIFRydWUKIAogCiBjbGFzcyBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3
ZXIoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CkBAIC0xNjgwLDcgKzE4MjMsNyBAQCBjbGFzcyBDb21w
aWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgIGRlZiBldmFsdWF0ZUNvbW1hbmQoc2VsZiwg
Y21kKToKICAgICAgICAgaWYgY21kLmRpZEZhaWwoKToKICAgICAgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ3BhdGNoRmFpbGVkVG9CdWlsZCcsIFRydWUpCi0gICAgICAgICAgICBzdGVwc190b19h
ZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisgICAgICAgICAgICBzdGVwc190b19hZGQgPSBb
VW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9
RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAgICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFBy
b3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd3BlJzoKICAg
ICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMo
KSkKQEAgLTE5NjAsOSArMjEwMyw5IEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMoc2hl
bGwuVGVzdCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdw
YXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNB
ZnRlckN1cnJlbnRTdGVwKFtVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1
Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFs
c2UsIGFkZFVSTHM9RmFsc2UpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ29tcGlsZUpTQ1dpdGhvdXRQYXRjaCgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9z
ZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBh
ZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEtpbGxPbGRQcm9jZXNzZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJ1bkpTQ1Rlc3RzV2l0aG91dFBhdGNoKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmFseXplSlNDVGVzdHNSZXN1
bHRzKCldKQpAQCAtMjM4NSw3ICsyNTI4LDcgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHMoc2hlbGwu
VGVzdCk6CiAgICAgICAgICAgICAgICAgQXJjaGl2ZVRlc3RSZXN1bHRzKCksCiAgICAgICAgICAg
ICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoKSwKICAgICAgICAgICAgICAgICBFeHRyYWN0VGVzdFJl
c3VsdHMoKSwKLSAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1G
YWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICBLaWxs
T2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgUmVSdW5XZWJLaXRUZXN0cygpLAogICAg
ICAgICAgICAgXSkKQEAgLTI0ODAsOSArMjYyMyw5IEBAIGNsYXNzIFJlUnVuV2ViS2l0VGVzdHMo
UnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVydW4nKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhY3RUZXN0UmVzdWx0
cyhpZGVudGlmaWVyPSdyZXJ1bicpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdD
bG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNl
LCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVy
ZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlQ2hh
bmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRU
ZXN0c1dpdGhvdXRQYXRjaCgpXSkKICAgICAgICAgcmV0dXJuIHJjCkBAIC0yODA1LDcgKzI5NDgs
NyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0VGVzdHMpOgogICAgICAg
ICByYyA9IHNlbGYuZXZhbHVhdGVSZXN1bHQoY21kKQogICAgICAgICBuZXh0X3N0ZXBzID0gW0Fy
Y2hpdmVUZXN0UmVzdWx0cygpLCBVcGxvYWRUZXN0UmVzdWx0cygpLCBFeHRyYWN0VGVzdFJlc3Vs
dHMoKV0KICAgICAgICAgaWYgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzOgotICAgICAgICAg
ICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNl
LCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBSdW5XZWJLaXRUZXN0c1JlcGVh
dEZhaWx1cmVzUmVkVHJlZSgpXSkKKyAgICAgICAgICAgIG5leHRfc3RlcHMuZXh0ZW5kKFtWYWxp
ZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xk
UHJvY2Vzc2VzKCksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlKCldKQogICAg
ICAgICBlbGlmIGZpcnN0X3Jlc3VsdHNfZmxha3lfdGVzdHM6CiAgICAgICAgICAgICBuZXh0X3N0
ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQogICAgICAgICBl
bGlmIHJjID09IFNVQ0NFU1Mgb3IgcmMgPT0gV0FSTklOR1M6CkBAIC0yODIzLDcgKzI5NjYsNyBA
QCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAg
ICAgaWYgcmV0cnlfY291bnQgPCBBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZS5NQVhf
UkVUUlk6CiAgICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5hcHBlbmQoQW5hbHl6ZUxheW91dFRl
c3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAg
bmV4dF9zdGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVxdWlyZWQoKSwgQ29tcGlsZVdlYktp
dFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJlPVRydWUpLCBWYWxpZGF0ZVBhdGNo
KHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzV2l0
aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAgICAgICBuZXh0X3N0ZXBzLmV4dGVuZChb
VW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5
X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1G
YWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVkVHJlZSgp
XSkKICAgICAgICAgaWYgbmV4dF9zdGVwczoKICAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3Rl
cHNBZnRlckN1cnJlbnRTdGVwKG5leHRfc3RlcHMpCiAgICAgICAgIHJldHVybiByYwpAQCAtMjg1
Myw4ICsyOTk2LDggQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1JlZFRyZWUo
UnVuV2ViS2l0VGVzdHNSZWRUcmVlKToKICAgICAgICAgbmV4dF9zdGVwcyA9IFtBcmNoaXZlVGVz
dFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmllcj0ncmVwZWF0LWZhaWx1cmVz
JyksIEV4dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXBlYXQtZmFpbHVyZXMnKV0KICAg
ICAgICAgaWYgd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNfcmVzdWx0c19ub25mbGFreV9mYWls
dXJlcyBvciB3aXRoX3BhdGNoX3JlcGVhdF9mYWlsdXJlc190aW1lZG91dDoKICAgICAgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMnLCBUcnVlKQotICAgICAgICAgICAg
bmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBh
ZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBVbkFwcGx5UGF0Y2hJZlJlcXVpcmVk
KCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVl
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1
Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVy
ZXNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQorICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQo
W1ZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtp
bGxPbGRQcm9jZXNzZXMoKSwgVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2ViS2l0
V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBh
ZGRVUkxzPUZhbHNlKSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRGYWlsdXJlc1dpdGhvdXRQYXRjaFJl
ZFRyZWUoKV0pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBuZXh0X3N0ZXBzLmFwcGVuZChB
bmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQogICAgICAgICBpZiBuZXh0X3N0ZXBz
OgpAQCAtMzI1Nyw3ICszNDAwLDcgQEAgY2xhc3MgUnVuQVBJVGVzdHMoVGVzdFdpdGhGYWlsdXJl
Q291bnQpOgogICAgICAgICAgICAgc2VsZi5idWlsZC5yZXN1bHRzID0gU1VDQ0VTUwogICAgICAg
ICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNzYWdlXSwgU1VDQ0VTUykKICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVw
KFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIEtp
bGxPbGRQcm9jZXNzZXMoKSwgUmVSdW5BUElUZXN0cygpXSkKKyAgICAgICAgICAgIHNlbGYuYnVp
bGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9z
ZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJlUnVuQVBJVGVz
dHMoKV0pCiAgICAgICAgIHJldHVybiByYwogCiAKQEAgLTMyNzMsMTQgKzM0MTYsMTQgQEAgY2xh
c3MgUmVSdW5BUElUZXN0cyhSdW5BUElUZXN0cyk6CiAgICAgICAgICAgICBzZWxmLmJ1aWxkLmJ1
aWxkRmluaXNoZWQoW21lc3NhZ2VdLCBTVUNDRVNTKQogICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0cycsIFRydWUpCi0gICAgICAgICAg
ICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZVBhdGNo
KHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisgICAgICAgICAgICBzdGVw
c190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNoYW5nZSh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAgICAgICAgcGxhdGZvcm0g
PSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAgICBpZiBwbGF0Zm9ybSA9
PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEluc3RhbGxXcGVE
ZXBlbmRlbmNpZXMoKSkKICAgICAgICAgICAgIGVsaWYgcGxhdGZvcm0gPT0gJ2d0ayc6CiAgICAg
ICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0YWxsR3RrRGVwZW5kZW5jaWVzKCkp
CiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKENvbXBpbGVXZWJLaXRXaXRob3V0UGF0
Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSkKLSAgICAgICAgICAgIHN0ZXBzX3RvX2Fk
ZC5hcHBlbmQoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFs
c2UpKQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChWYWxpZGF0ZUNoYW5nZSh2ZXJp
ZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAgICAgICAgc3RlcHNfdG9f
YWRkLmFwcGVuZChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQu
YXBwZW5kKFJ1bkFQSVRlc3RzV2l0aG91dFBhdGNoKCkpCiAgICAgICAgICAgICBzdGVwc190b19h
ZGQuYXBwZW5kKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJ
U3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGZhZmNkYzkzNzU1ZjM4M2QwOTQ2M2EyZWI4
NjVlOGUwYzE2MmI3NjUuLjdhMmRmODE5NzI5MDBkZDVjOGE3NjhkNmYxNTY5OTIxZmM5MTVhMmQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtNTYs
NyArNTYsNyBAQCBmcm9tIHN0ZXBzIGltcG9ydCAoQW5hbHl6ZUFQSVRlc3RzUmVzdWx0cywgQW5h
bHl6ZUNvbXBpbGVXZWJLaXRSZXN1bHRzLCBBbmFseXplSgogICAgICAgICAgICAgICAgICAgIFJ1
bldlYktpdFRlc3RzV2l0aG91dFBhdGNoLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktp
dFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlLCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVz
V2l0aG91dFBhdGNoUmVkVHJlZSwKICAgICAgICAgICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dp
dGhvdXRQYXRjaFJlZFRyZWUsIEFuYWx5emVMYXlvdXRUZXN0c1Jlc3VsdHNSZWRUcmVlLCBUZXN0
V2l0aEZhaWx1cmVDb3VudCwgU2hvd0lkZW50aWZpZXIsCiAgICAgICAgICAgICAgICAgICAgVHJp
Z2dlciwgVHJhbnNmZXJUb1MzLCBVbkFwcGx5UGF0Y2hJZlJlcXVpcmVkLCBVcGRhdGVXb3JraW5n
RGlyZWN0b3J5LCBVcGxvYWRCdWlsdFByb2R1Y3QsCi0gICAgICAgICAgICAgICAgICAgVXBsb2Fk
VGVzdFJlc3VsdHMsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ29tbWl0
ZXJBbmRSZXZpZXdlciwgVmFsaWRhdGVQYXRjaCwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQorICAg
ICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJl
dmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIsIFZhbGlkYXRlQ2hhbmdlLCBWZXJp
ZnlHaXRIdWJJbnRlZ3JpdHkpCiAKICMgV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29t
L2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy80NjY5CiBmcm9tIGJ1aWxkYm90LnRlc3QuZmFrZS5m
YWtlYnVpbGQgaW1wb3J0IEZha2VCdWlsZApAQCAtNDUyNSw3ICs0NTI1LDcgQEAgY2xhc3MgVGVz
dENyZWF0ZUxvY2FsR0lUQ29tbWl0KEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIHJldHVybiByYwogCiAKLWNsYXNzIFRlc3RWYWxpZGF0ZVBhdGNo
KEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CitjbGFzcyBUZXN0
VmFsaWRhdGVDaGFuZ2UoQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLnNldFVwQnVpbGRT
dGVwKCkKIApAQCAtNDU0MywzOSArNDU0Myw5MiBAQCBjbGFzcyBUZXN0VmFsaWRhdGVQYXRjaChC
dWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAg
ICAgICAgICAgImlzX3BhdGNoIjogMSwKICAgICAgICAgICAgICAgICAgICAgICJzdW1tYXJ5Ijog
Int9In19JycnLmZvcm1hdChvYnNvbGV0ZSwgdGl0bGUpKQogCisgICAgZGVmIGdldF9wcihzZWxm
LCBudW1iZXIsIHRpdGxlPSdQdWxsLXJlcXVlc3QnLCBjbG9zZWQ9RmFsc2UpOgorICAgICAgICBy
ZXR1cm4gZGljdCgKKyAgICAgICAgICAgIG51bWJlcj1udW1iZXIsCisgICAgICAgICAgICBzdGF0
ZT0nY2xvc2VkJyBpZiBjbG9zZWQgZWxzZSAnb3BlbicsCisgICAgICAgICAgICB0aXRsZT10aXRs
ZSwKKyAgICAgICAgICAgIHVzZXI9ZGljdChsb2dpbj0nSm9uV0JlZGFyZCcpLAorICAgICAgICAg
ICAgaGVhZD1kaWN0KAorICAgICAgICAgICAgICAgIHNoYT0nNzQ5NmY4ZWNjNGNjODAxMWYxOWM4
Y2MxYmM3YjE4ZmU0YTg4YWQ1YycsCisgICAgICAgICAgICAgICAgcmVmPSdlbmcvcHVsbC1yZXF1
ZXN0JywKKyAgICAgICAgICAgICAgICByZXBvPWRpY3QoCisgICAgICAgICAgICAgICAgICAgIG5h
bWU9J1dlYktpdCcsCisgICAgICAgICAgICAgICAgICAgIGZ1bGxfbmFtZT0nSm9uV0JlZGFyZC9X
ZWJLaXQnLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICApLCBiYXNlPWRpY3QoCisg
ICAgICAgICAgICAgICAgc2hhPSc1MjhiOTk1NzVlZWJmN2ZhNWI5NGYxZmM1MWRlODE5NzdmMjY1
MDA1JywKKyAgICAgICAgICAgICAgICByZWY9J21haW4nLAorICAgICAgICAgICAgICAgIHJlcG89
ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgbmFtZT0nV2ViS2l0JywKKyAgICAgICAgICAgICAg
ICAgICAgZnVsbF9uYW1lPSdXZWJLaXQvV2ViS2l0JywKKyAgICAgICAgICAgICAgICApLAorICAg
ICAgICAgICAgKSwKKyAgICAgICAgKQorCiAgICAgZGVmIHRlc3Rfc2tpcHBlZChzZWxmKToKLSAg
ICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxmLnNldHVw
U3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9p
ZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVnX2lkJywgJzU2NzgnKQog
ICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBUcnVlKQotICAgICAg
ICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0cmluZz0nVmFsaWRh
dGVkIHBhdGNoIChza2lwcGVkKScpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9
U0tJUFBFRCwgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lwcGVkKScpCisgICAg
ICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQorCisgICAgZGVmIHRlc3Rfc2tpcHBlZF9wcihzZWxm
KToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKKyAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0JykKKyAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdCcp
CisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NraXBfdmFsaWRhdGlvbicsIFRydWUpCisgICAg
ICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3RhdGVfc3RyaW5nPSdWYWxp
ZGF0ZWQgY2hhbmdlIChza2lwcGVkKScpCiAgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQog
CiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQotICAgICAgICBWYWxpZGF0ZVBhdGNo
LmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCisg
ICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxz
ZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBh
dGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNo
X2lkJywgJzQyNTgwNicpCi0gICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VT
Uywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgcGF0Y2gnKQorICAgICAgICBzZWxmLmV4cGVjdE91
dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZScpCisg
ICAgICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxm
LmdldFByb3BlcnR5KCdmYXN0X2NvbW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVl
dWUgaXMgdW5leHBlY3RlZGx5IHNldCcpCisgICAgICAgIHJldHVybiByYworCisgICAgZGVmIHRl
c3Rfc3VjY2Vzc19wcihzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFu
Z2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAgICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3By
X2pzb24gPSBsYW1iZGEgeCwgcHVsbF9yZXF1ZXN0LCByZXBvc2l0b3J5X3VybD1Ob25lOiBzZWxm
LmdldF9wcihudW1iZXI9cHVsbF9yZXF1ZXN0KQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdn
aXRodWIubnVtYmVyJywgJzEyMzQnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdyZXBvc2l0
b3J5JywgJ2h0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0JykKKyAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnNzQ5NmY4ZWNjNGNjODAxMWYxOWM4Y2MxYmM3YjE4ZmU0
YTg4YWQ1YycpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3Rh
dGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlJykKICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAo
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0
X3F1ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4cGVjdGVkbHkgc2V0JykK
ICAgICAgICAgcmV0dXJuIHJjCiAKICAgICBkZWYgdGVzdF9vYnNvbGV0ZV9wYXRjaChzZWxmKToK
LSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFs
c2UpKQotICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBh
dGNoX2lkOiBzZWxmLmdldF9wYXRjaChvYnNvbGV0ZT0xKQorICAgICAgICBzZWxmLnNldHVwU3Rl
cChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0
ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0
Y2gob2Jzb2xldGU9MSkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1
ODA2JykKICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1GQUlMVVJFLCBzdGF0ZV9z
dHJpbmc9J1BhdGNoIDQyNTgwNiBpcyBvYnNvbGV0ZScpCiAgICAgICAgIHJjID0gc2VsZi5ydW5T
dGVwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldFByb3BlcnR5KCdmYXN0X2Nv
bW1pdF9xdWV1ZScpLCBOb25lLCAnZmFzdF9jb21taXRfcXVldWUgaXMgdW5leHBlY3RlZGx5IHNl
dCcpCiAgICAgICAgIHJldHVybiByYwogCisgICAgZGVmIHRlc3Rfb2Jzb2xldGVfcHIoc2VsZik6
CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1G
YWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdlLmdldF9wcl9qc29uID0gbGFtYmRhIHgsIHB1
bGxfcmVxdWVzdCwgcmVwb3NpdG9yeV91cmw9Tm9uZTogc2VsZi5nZXRfcHIobnVtYmVyPXB1bGxf
cmVxdWVzdCkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0
JykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1
Yi5jb20vV2ViS2l0L1dlYktpdCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JldmlzaW9u
JywgJzFhZDYwZDQ1YTExMjMwMWY3YjlmOTNkYWMwNjEzNDUyNGRhZTg0ODAnKQorICAgICAgICBz
ZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0cmluZz0nUHVsbCByZXF1
ZXN0IDEyMzQgKHNoYSAxYWQ2MGQ0NWExMTIpIGlzIG9ic29sZXRlJykKKyAgICAgICAgcmMgPSBz
ZWxmLnJ1blN0ZXAoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHko
J2Zhc3RfY29tbWl0X3F1ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4cGVj
dGVkbHkgc2V0JykKKyAgICAgICAgcmV0dXJuIHJjCisKICAgICBkZWYgdGVzdF9mYXN0X2NxX3Bh
dGNoZXNfdHJpZ2dlcl9mYXN0X2NxX21vZGUoc2VsZik6CiAgICAgICAgIGZhc3RfY3FfcGF0Y2hf
dGl0bGVzID0gKCdSRVZFUlQgT0YgcjEyMzQnLCAncmV2ZXJ0IG9mIHIxMjM0JywgJ1tmYXN0LWNx
XVBhdGNoJywgJ1tGQVNULWNxXSBwYXRjaCcsICdmYXN0LWNxLXBhdGNoJywgJ0ZBU1QtQ1EgUGF0
Y2gnKQogICAgICAgICBmb3IgZmFzdF9jcV9wYXRjaF90aXRsZSBpbiBmYXN0X2NxX3BhdGNoX3Rp
dGxlczoKLSAgICAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVn
Q2xvc2VkPUZhbHNlKSkKLSAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2guZ2V0X3BhdGNoX2pzb24g
PSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3BhdGNoKHRpdGxlPWZhc3RfY3FfcGF0Y2hf
dGl0bGUpCisgICAgICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3BhdGNoX2pz
b24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNlbGYuZ2V0X3BhdGNoKHRpdGxlPWZhc3RfY3FfcGF0
Y2hfdGl0bGUpCiAgICAgICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICc0MjU4
MDYnKQotICAgICAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0
ZV9zdHJpbmc9J1ZhbGlkYXRlZCBwYXRjaCcpCisgICAgICAgICAgICBzZWxmLmV4cGVjdE91dGNv
bWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nVmFsaWRhdGVkIGNoYW5nZScpCiAgICAg
ICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlbGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIFRydWUsICdmYXN0X2NvbW1p
dF9xdWV1ZSBpcyBub3Qgc2V0LCBwYXRjaCB0aXRsZToge30nLmZvcm1hdChmYXN0X2NxX3BhdGNo
X3RpdGxlKSkKICAgICAgICAgcmV0dXJuIHJjCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449189</attachid>
            <date>2022-01-14 11:19:42 -0800</date>
            <delta_ts>2022-01-14 11:19:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234861-20220114111941.patch</filename>
            <type>text/plain</type>
            <size>46479</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDIwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTczYWQzNDE1ZDI1MDE4YzZhZDMyMGI3YjhmYzljZTc5
MmJlNmU4ZS4uNWEzYmVlY2NlN2M2Mjg0NDJmMzg3YjQ3NDhlOTUwN2E0NjAxNWZiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIyLTAxLTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbRVdTXSBTdXBwb3J0IHB1bGwtcmVxdWVzdHMgaW4gVmFsaWRhdGVDaGFuZ2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODcxMTQyOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWFr
YXNoIEphaW4uCisKKyAgICAgICAgKiBDSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weToK
KyAgICAgICAgKEZhY3RvcnkuX19pbml0X18pOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxp
ZGF0ZUNoYW5nZS4KKyAgICAgICAgKFN0eWxlRmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAg
ICAgICAoV2F0Y2hMaXN0RmFjdG9yeS5fX2luaXRfXyk6IERpdHRvLgorICAgICAgICAoV2luZG93
c0ZhY3RvcnkuX19pbml0X18pOiBEaXR0by4KKyAgICAgICAgKENvbW1pdFF1ZXVlRmFjdG9yeS5f
X2luaXRfXyk6IERpdHRvLgorICAgICAgICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVz
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyk6IFN0ZXAgbmFt
ZSBjaGFuZ2VkIGZyb20gdmFsaWRhdGUtcGF0Y2ggdG8gdmFsaWRhdGUtY2hhbmdlLgorICAgICAg
ICAqIENJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChHaXRIdWIucHJfdXJs
KTogQWRkIG1pc3NpbmcgLy4KKyAgICAgICAgKEdpdEh1Yi5hcGlfdXJsKTogQ29udmVydCBhIHJl
cG9zaXRvcnkgVVJMIHRvIHRoZSBBUEkgdXJsIGZvciB0aGF0IHJlcG9zaXRvcnkuCisgICAgICAg
IChHaXRIdWIuY3JlZGVudGlhbHMpOiBBY2Nlc3MgR2l0SHViIGNyZWRlbnRpYWxzIGZyb20gcGFz
c3dvcmRzLmpzb24uCisgICAgICAgIChHaXRIdWJNaXhpbik6CisgICAgICAgIChHaXRIdWJNaXhp
bi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24pOgorICAgICAgICAoR2l0
SHViTWl4aW4uZ2V0X3ByX2pzb24pOgorICAgICAgICAoR2l0SHViTWl4aW4uX2lzX3ByX2Nsb3Nl
ZCk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIGNsb3NlZC4KKyAgICAgICAgKEdpdEh1Yk1p
eGluLl9pc19wcl9vYnNvbGV0ZSk6IENoZWNrIGlmIGEgcHVsbC1yZXF1ZXN0IGlzIG9ic29sZXRl
LgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gVmFsaWRhdGVQYXRjaC4K
KyAgICAgICAgKFZhbGlkYXRlQ2hhbmdlLmdldFJlc3VsdFN1bW1hcnkpOgorICAgICAgICAoVmFs
aWRhdGVDaGFuZ2Uuc3RhcnQpOiBJbnZva2UgdmFsaWRhdGVfYnVnemlsbGEgb3IgdmFsaWRhdGVf
Z2l0aHViLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfYnVnemlsbGEpOiBDaGVj
ayBhIGJ1Z3ppbGxhIHBhdGNoLgorICAgICAgICAoVmFsaWRhdGVDaGFuZ2UudmFsaWRhdGVfZ2l0
aHViKTogQ2hlY2sgYSBHaXRIdWIgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoQ29tcGlsZVdlYktp
dC5ldmFsdWF0ZUNvbW1hbmQpOiBSZW5hbWUgVmFsaWRhdGVQYXRjaCB0byBWYWxpZGF0ZUNoYW5n
ZS4KKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0
dG8uCisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAg
ICAgICAgKFJlUnVuV2ViS2l0VGVzdHMuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAg
IChSdW5XZWJLaXRUZXN0c1JlZFRyZWUuZXZhbHVhdGVDb21tYW5kKTogRGl0dG8uCisgICAgICAg
IChSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZS5ldmFsdWF0ZUNvbW1hbmQpOiBE
aXR0by4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmV2YWx1YXRlQ29tbWFuZCk6IERpdHRvLgorICAg
ICAgICAoUmVSdW5BUElUZXN0cy5ldmFsdWF0ZUNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFZh
bGlkYXRlUGF0Y2gpOiBSZW5hbWVkIHRvIFZhbGlkYXRlQ2hhbmdlLgorICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHk6CisKIDIwMjItMDEtMTQgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3YXkgdG8gZW5jb2RlIENU
QVAgY29tbWFuZHMgd2l0aCBvbmx5IHRoZSBoYXNoIG9mIENsaWVudERhdGFKU09OCmRpZmYgLS1n
aXQgYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllcy5weSBiL1Rvb2xzL0NJU3Vw
cG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CmluZGV4IDFkN2VjMjNlZGU5NGZmMTE3MzVkMDQ0
YjQ4NjhkNTNlNGFmMDAxMzQuLjBkZDlmOTJkNDc0ZjY5MjBkNzk2M2Y3OWQ3NWU5NWY4ODk1ZDM2
NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5Cisr
KyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5CkBAIC0zMiw3ICszMiw3
IEBAIGZyb20gc3RlcHMgaW1wb3J0IChBcHBseVBhdGNoLCBBcHBseVdhdGNoTGlzdCwgQ2hlY2tP
dXRTb3VyY2UsIENoZWNrT3V0U3BlY2lmaWNSCiAgICAgICAgICAgICAgICAgICAgUnVuRVdTVW5p
dFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZhU2NyaXB0Q29yZVRlc3RzLCBSdW5X
ZWJLaXQxVGVzdHMsIFJ1bldlYktpdFBlcmxUZXN0cywgUnVuV2ViS2l0UHlQeXRob24yVGVzdHMs
CiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQeXRob24zVGVzdHMsIFJ1bldlYktpdFRl
c3RzLCBSdW5XZWJLaXRUZXN0c1JlZFRyZWUsIFJ1bldlYktpdFRlc3RzSW5TdHJlc3NNb2RlLCBS
dW5XZWJLaXRUZXN0c0luU3RyZXNzR3VhcmRtYWxsb2NNb2RlLAogICAgICAgICAgICAgICAgICAg
IFNldEJ1aWxkU3VtbWFyeSwgU2hvd0lkZW50aWZpZXIsIFRyaWdnZXJDcmFzaExvZ1N1Ym1pc3Np
b24sIFVwZGF0ZVdvcmtpbmdEaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgVmFsaWRhdGVQ
YXRjaCwgVmFsaWRhdGVDaGFuZ2VMb2dBbmRSZXZpZXdlciwgVmFsaWRhdGVDb21taXRlckFuZFJl
dmlld2VyLCBXYWl0Rm9yQ3Jhc2hDb2xsZWN0aW9uLAorICAgICAgICAgICAgICAgICAgIFZhbGlk
YXRlQ2hhbmdlLCBWYWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVy
QW5kUmV2aWV3ZXIsIFdhaXRGb3JDcmFzaENvbGxlY3Rpb24sCiAgICAgICAgICAgICAgICAgICAg
SW5zdGFsbEJ1aWx0UHJvZHVjdCwgVmVyaWZ5R2l0SHViSW50ZWdyaXR5KQogCiAKQEAgLTQ2LDcg
KzQ2LDcgQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgICAgICAg
ICBzZWxmLmFkZFN0ZXAoQ2hlY2tQYXRjaFJlbGV2YW5jZSgpKQogICAgICAgICBpZiBzZWxmLmZp
bmRNb2RpZmllZExheW91dFRlc3RzOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEZpbmRNb2Rp
ZmllZExheW91dFRlc3RzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKCkp
CisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLmFk
ZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbkdp
dFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCkBAIC02Myw3
ICs2Myw3IEBAIGNsYXNzIFN0eWxlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVj
dHVyZXM9Tm9uZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBhZGRpdGlvbmFsQXJndW1l
bnRzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgZmFjdG9yeS5CdWlsZEZhY3RvcnkuX19pbml0
X18oc2VsZikKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3JtPXBs
YXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXM9YXJjaGl0
ZWN0dXJlcywgYnVpbGRPbmx5PUZhbHNlLCB0cmlnZ2Vycz10cmlnZ2VycywgcmVtb3Rlcz1yZW1v
dGVzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVudHMpKQotICAgICAgICBz
ZWxmLmFkZFN0ZXAoVmFsaWRhdGVQYXRjaCgpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRh
dGVDaGFuZ2UoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFByaW50Q29uZmlndXJhdGlvbigpKQog
ICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBvKCkpCiAgICAgICAgIHNlbGYuYWRkU3Rl
cChDaGVja091dFNvdXJjZSgpKQpAQCAtNzgsNyArNzgsNyBAQCBjbGFzcyBXYXRjaExpc3RGYWN0
b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb249Tm9uZSwgYXJjaGl0ZWN0dXJlcz1Ob25lLCB0cmlnZ2Vycz1Ob25l
LCByZW1vdGVzPU5vbmUsIGFkZGl0aW9uYWxBcmd1bWVudHM9Tm9uZSwgKiprd2FyZ3MpOgogICAg
ICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLmFk
ZFN0ZXAoQ29uZmlndXJlQnVpbGQocGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFsc2Us
IHRyaWdnZXJzPXRyaWdnZXJzLCByZW1vdGVzPXJlbW90ZXMsIGFkZGl0aW9uYWxBcmd1bWVudHM9
YWRkaXRpb25hbEFyZ3VtZW50cykpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNo
KCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoUHJpbnRDb25maWd1cmF0aW9uKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVh
bkdpdFJlcG8oKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCkBAIC0y
NDMsNyArMjQzLDcgQEAgY2xhc3MgV2luZG93c0ZhY3RvcnkoRmFjdG9yeSk6CiAgICAgICAgIEZh
Y3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcz1hcmNoaXRlY3R1cmVzLCBidWlsZE9ubHk9RmFsc2Us
IHRyaWdnZXJzPXRyaWdnZXJzLCBhZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVu
dHMsIGNoZWNrUmVsZXZhbmNlPVRydWUpCiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJv
Y2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KHNraXBVcGxvYWQ9
VHJ1ZSkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3Nl
ZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSkpCisgICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZUNo
YW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChTZXRCdWls
ZFN1bW1hcnkoKSkKIApAQCAtMjg1LDcgKzI4NSw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFjdG9y
eShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3Jt
LCBjb25maWd1cmF0aW9uPU5vbmUsIGFyY2hpdGVjdHVyZXM9Tm9uZSwgYWRkaXRpb25hbEFyZ3Vt
ZW50cz1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5p
dF9fKHNlbGYpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1w
bGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzPWFyY2hp
dGVjdHVyZXMsIGJ1aWxkT25seT1GYWxzZSwgdHJpZ2dlcnM9Tm9uZSwgcmVtb3Rlcz1Ob25lLCBh
ZGRpdGlvbmFsQXJndW1lbnRzPWFkZGl0aW9uYWxBcmd1bWVudHMpKQotICAgICAgICBzZWxmLmFk
ZFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnljcXBsdXM9VHJ1ZSkpCisgICAgICAgIHNlbGYuYWRk
U3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoKSkKICAgICAgICAgc2VsZi5hZGRTdGVw
KFByaW50Q29uZmlndXJhdGlvbigpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW5HaXRSZXBv
KGRlZmF1bHRfYnJhbmNoPSdtYXN0ZXInKSkKQEAgLTMwMCwxMCArMzAwLDEwIEBAIGNsYXNzIENv
bW1pdFF1ZXVlRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAgICAgICAgIHNlbGYuYWRk
U3RlcChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2Vi
S2l0KHNraXBVcGxvYWQ9VHJ1ZSkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vz
c2VzKCkpCi0gICAgICAgIHNlbGYuYWRkU3RlcChWYWxpZGF0ZVBhdGNoKGFkZFVSTHM9RmFsc2Us
IHZlcmlmeWNxcGx1cz1UcnVlKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlQ2hhbmdl
KGFkZFVSTHM9RmFsc2UsIHZlcmlmeWNxcGx1cz1UcnVlKSkKICAgICAgICAgc2VsZi5hZGRTdGVw
KENoZWNrUGF0Y2hTdGF0dXNPbkVXU1F1ZXVlcygpKQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVu
V2ViS2l0VGVzdHMoKSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKFZhbGlkYXRlUGF0Y2goYWRkVVJM
cz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoVmFsaWRh
dGVDaGFuZ2UoYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UocmVwb3VybD0naHR0cHM6Ly9naXQud2Via2l0Lm9yZy9n
aXQvV2ViS2l0LWh0dHBzJykpCiAgICAgICAgIHNlbGYuYWRkU3RlcChTaG93SWRlbnRpZmllcigp
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoVXBkYXRlV29ya2luZ0RpcmVjdG9yeSgpKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9mYWN0b3JpZXNfdW5pdHRlc3QucHkgYi9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQppbmRleCBhMGE3
NmUzNDVlODE0ZjkxYTlmMzQ0ZDUwOTI3Zjc4ZjM4ZTQ3ZTU3Li5kZTUyZDNhYThiZGFhYWE0MGI5
ZDk4NWFjZmM4ZjU0NTVkM2VlYzc3IDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1
aWxkL2ZhY3Rvcmllc191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxk
L2ZhY3Rvcmllc191bml0dGVzdC5weQpAQCAtMzEsNyArMzEsNyBAQCBjbGFzcyBUZXN0RXhwZWN0
ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBleHBlY3RlZF9zdGVwcyA9IHsK
ICAgICAgICAgJ1N0eWxlLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAot
ICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFu
Z2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVw
LWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0
b3J5JywKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdBcHBseS1XYXRjaExpc3QtRVdT
JzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRh
dGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAn
Y29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAg
ICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTUsNyArNTUs
NyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAgICAgXSwKICAgICAgICAgJ0dUSy1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC03MCw3ICs3MCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnR1RLLVdL
Mi1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAg
ICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAg
ICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVw
bycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBA
IC04OSw3ICs4OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnaU9TLTE1LUJ1aWxkLUVXUyc6IFsKICAgICAg
ICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywK
KyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVh
bi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTEwMiw3ICsxMDIsNyBAQCBjbGFz
cyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwK
ICAgICAgICAgJ2lPUy0xNS1TaW11bGF0b3ItQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2Nv
bmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAg
ICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAg
ICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRh
dGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMTE1LDcgKzExNSw3IEBAIGNsYXNzIFRlc3RFeHBl
Y3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAn
aU9TLTE1LVNpbXVsYXRvci1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3Vy
ZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMTM2LDcgKzEzNiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnbWFjT1MtQXBwbGVTaWxpY29u
LUJpZy1TdXItRGVidWctQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWls
ZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2
YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAg
ICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0xNDks
NyArMTQ5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdtYWNPUy1BcHBsZVNpbGljb24tQmlnLVN1ci1EZWJ1
Zy1XSzItVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAg
ICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScs
CiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0
LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3Rvcnkn
LApAQCAtMTY5LDcgKzE2OSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtUmVsZWFz
ZS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAg
ICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAg
ICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVw
bycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBA
IC0xODMsNyArMTgzLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgICdtYWNPUy1DYXRhbGluYS1SZWxlYXNlLVdLMS1UZXN0cy1FV1Mn
OiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1w
YXRjaC1yZWxldmFuY2UnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAg
ICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAg
ICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBk
YXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIwMyw3ICsyMDMsNyBAQCBjbGFzcyBUZXN0RXhw
ZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAg
J21hY09TLUNhdGFsaW5hLVJlbGVhc2UtV0syLVRlc3RzLUVXUyc6IFsKICAgICAgICAgICAgICdj
b25maWd1cmUtYnVpbGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAg
ICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAg
ICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBk
YXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAgLTIyNCw3ICsyMjQsNyBAQCBjbGFzcyBUZXN0RXhw
ZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgJ21hY09TLVJlbGVh
c2UtV0syLVN0cmVzcy1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxk
JywKICAgICAgICAgICAgICdmaW5kLW1vZGlmaWVkLWxheW91dC10ZXN0cycsCi0gICAgICAgICAg
ICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAg
ICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8n
LAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAt
MjQyLDcgKzI0Miw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctQnVpbGQt
RVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFs
aWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAg
ICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAg
ICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMjU2LDcg
KzI1Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAnbWFjT1MtQ2F0YWxpbmEtRGVidWctV0sxLVRlc3RzLUVXUyc6IFsKICAgICAg
ICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2
YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlk
YXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAn
Y2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2lu
Zy1kaXJlY3RvcnknLApAQCAtMjc2LDcgKzI3Niw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxk
U3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAgICAgICAnd2F0Y2hPUy04
LUJ1aWxkLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTI4OSw3ICsyODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ3dhdGNoT1MtOC1TaW11bGF0b3ItQnVpbGQt
RVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFs
aWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAg
ICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAg
ICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtMzAyLDcg
KzMwMiw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICBdLAogICAgICAgICAndHZPUy0xNS1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAg
ICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAg
ICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywK
ICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5k
LXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMTUsNyArMzE1LDcgQEAgY2xhc3MgVGVz
dEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIF0sCiAgICAg
ICAgICd0dk9TLTE1LVNpbXVsYXRvci1CdWlsZC1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmln
dXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAn
dmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAg
ICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13
b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zMjksNyArMzI5LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVk
QnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdXaW5kb3dzLUVXUyc6IFsK
ICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNo
LXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAg
J3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAg
ICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUt
d29ya2luZy1kaXJlY3RvcnknLApAQCAtMzM5LDEzICszMzksMTMgQEAgY2xhc3MgVGVzdEV4cGVj
dGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAnYXBwbHktcGF0
Y2gnLAogICAgICAgICAgICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29t
cGlsZS13ZWJraXQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAg
ICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2xheW91dC10ZXN0cycsCiAgICAgICAg
ICAgICAnc2V0LWJ1aWxkLXN1bW1hcnknCiAgICAgICAgIF0sCiAgICAgICAgICdXaW5DYWlyby1F
V1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxp
ZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAg
ICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAg
ICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC0zNTgsNyAr
MzU4LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIF0sCiAgICAgICAgICdXUEUtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3Vy
ZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3Zh
bGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAg
ICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29y
a2luZy1kaXJlY3RvcnknLApAQCAtMzczLDcgKzM3Myw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1
aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnSlNDLVRlc3RzLUVXUyc6IFsK
ICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2NoZWNrLXBhdGNo
LXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAg
J3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAg
ICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUt
d29ya2luZy1kaXJlY3RvcnknLApAQCAtMzg4LDcgKzM4OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3Rl
ZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnSlNDLU1JUFNFTC0zMmJp
dHMtQnVpbGQtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAg
ICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRj
aCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1
cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAn
Y2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00MDIsNyArNDAyLDcgQEAg
Y2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
ICdKU0MtTUlQU0VMLTMyYml0cy1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJl
LWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTQxOCw3ICs0MTgsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgJ0pTQy1BUk12Ny0zMmJpdHMtQnVpbGQtRVdTJzogWwogICAgICAg
ICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZh
bmNlJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRh
dGUtY2hhbmdlJywKICAgICAgICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdj
bGVhbi11cC1naXQtcmVwbycsCiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5n
LWRpcmVjdG9yeScsCkBAIC00MzIsNyArNDMyLDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRT
dGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICdKU0MtQVJNdjctMzJiaXRzLVRlc3Rz
LUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAgICAgICAgJ2No
ZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAg
ICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbics
CiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFu
ZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDQ4LDcgKzQ0OCw3IEBAIGNsYXNzIFRl
c3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAnSlNDLWkz
ODYtMzJiaXRzLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVpbGQnLAogICAgICAg
ICAgICAgJ2NoZWNrLXBhdGNoLXJlbGV2YW5jZScsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNDYyLDcgKzQ2Miw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICAnQmluZGluZ3MtVGVzdHMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcs
CiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAgICd2YWxp
ZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAg
ICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycsCiAgICAg
ICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC00NzUsNyAr
NDc1LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgICdXZWJLaXRQeS1UZXN0cy1FV1MnOiBbCiAgICAgICAgICAgICAnY29uZmlndXJl
LWJ1aWxkJywKICAgICAgICAgICAgICdjaGVjay1wYXRjaC1yZWxldmFuY2UnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2NsZWFuLXVwLWdpdC1yZXBv
JywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmctZGlyZWN0b3J5JywKQEAg
LTQ4OSw3ICs0ODksNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0ZXBzKHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ1dlYktpdFBlcmwtVGVzdHMtRVdTJzogWwog
ICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0
Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmln
dXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAg
J2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTAxLDcgKzUwMSw3IEBA
IGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBdLAogICAgICAgICAnQVBJLVRlc3RzLWlPUy1TaW11bGF0b3ItRVdTJzogWwogICAgICAgICAg
ICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAorICAg
ICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY29uZmlndXJhdGlvbics
CiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAogICAgICAgICAgICAgJ2NsZWFuLWFu
ZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTE2LDcgKzUxNiw3IEBAIGNsYXNzIFRl
c3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBdLAogICAg
ICAgICAnQVBJLVRlc3RzLW1hY09TLUVXUyc6IFsKICAgICAgICAgICAgICdjb25maWd1cmUtYnVp
bGQnLAotICAgICAgICAgICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0
ZS1jaGFuZ2UnLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAgICAgJ2Ns
ZWFuLXVwLWdpdC1yZXBvJywKICAgICAgICAgICAgICdjbGVhbi1hbmQtdXBkYXRlLXdvcmtpbmct
ZGlyZWN0b3J5JywKQEAgLTUzMSw3ICs1MzEsNyBAQCBjbGFzcyBUZXN0RXhwZWN0ZWRCdWlsZFN0
ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgXSwKICAgICAgICAgJ0FQSS1UZXN0cy1H
VEstRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1idWlsZCcsCi0gICAgICAgICAgICAn
dmFsaWRhdGUtcGF0Y2gnLAorICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAg
ICAgICAnY29uZmlndXJhdGlvbicsCiAgICAgICAgICAgICAnY2xlYW4tdXAtZ2l0LXJlcG8nLAog
ICAgICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLApAQCAtNTQ4
LDcgKzU0OCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAnU2VydmljZXMtRVdTJzogWwogICAgICAgICAgICAgJ2NvbmZpZ3VyZS1i
dWlsZCcsCiAgICAgICAgICAgICAnY2hlY2stcGF0Y2gtcmVsZXZhbmNlJywKLSAgICAgICAgICAg
ICd2YWxpZGF0ZS1wYXRjaCcsCisgICAgICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAg
ICAgICAgICdjb25maWd1cmF0aW9uJywKICAgICAgICAgICAgICdjbGVhbi11cC1naXQtcmVwbycs
CiAgICAgICAgICAgICAnY2xlYW4tYW5kLXVwZGF0ZS13b3JraW5nLWRpcmVjdG9yeScsCkBAIC01
NjQsNyArNTY0LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGVkQnVpbGRTdGVwcyh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIF0sCiAgICAgICAgICdDb21taXQtUXVldWUnOiBbCiAgICAgICAgICAg
ICAnY29uZmlndXJlLWJ1aWxkJywKLSAgICAgICAgICAgICd2YWxpZGF0ZS1wYXRjaCcsCisgICAg
ICAgICAgICAndmFsaWRhdGUtY2hhbmdlJywKICAgICAgICAgICAgICd2YWxpZGF0ZS1jb21taXRl
ci1hbmQtcmV2aWV3ZXInLAogICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLAogICAgICAgICAg
ICAgJ2NsZWFuLXVwLWdpdC1yZXBvJywKQEAgLTU3OSwxMCArNTc5LDEwIEBAIGNsYXNzIFRlc3RF
eHBlY3RlZEJ1aWxkU3RlcHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgJ2tpbGwt
b2xkLXByb2Nlc3NlcycsCiAgICAgICAgICAgICAnY29tcGlsZS13ZWJraXQnLAogICAgICAgICAg
ICAgJ2tpbGwtb2xkLXByb2Nlc3NlcycsCi0gICAgICAgICAgICAndmFsaWRhdGUtcGF0Y2gnLAor
ICAgICAgICAgICAgJ3ZhbGlkYXRlLWNoYW5nZScsCiAgICAgICAgICAgICAnY2hlY2stc3RhdHVz
LW9uLW90aGVyLWV3c2VzJywKICAgICAgICAgICAgICdsYXlvdXQtdGVzdHMnLAotICAgICAgICAg
ICAgJ3ZhbGlkYXRlLXBhdGNoJywKKyAgICAgICAgICAgICd2YWxpZGF0ZS1jaGFuZ2UnLAogICAg
ICAgICAgICAgJ2NsZWFuLWFuZC11cGRhdGUtd29ya2luZy1kaXJlY3RvcnknLAogICAgICAgICAg
ICAgJ3Nob3ctaWRlbnRpZmllcicsCiAgICAgICAgICAgICAndXBkYXRlLXdvcmtpbmctZGlyZWN0
b3J5JywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkgYi9U
b29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5CmluZGV4IGZlMjRjMTBmYzI0N2M1MGYx
MmU5MjczYTNhM2U3ZWM5ZjhjZTQ2MTEuLjU2MDA0NjYxODk0MmMzYjNhY2JjMzU0MWU4MTBjM2Qy
N2RmZjNmNmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkK
KysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAtNTQsOSArNTQsOSBA
QCBFV1NfVVJMID0gJ2h0dHBzOi8vZXdzLndlYmtpdC5vcmcvJwogUkVTVUxUU19EQl9VUkwgPSAn
aHR0cHM6Ly9yZXN1bHRzLndlYmtpdC5vcmcvJwogV2l0aFByb3BlcnRpZXMgPSBwcm9wZXJ0aWVz
LldpdGhQcm9wZXJ0aWVzCiBJbnRlcnBvbGF0ZSA9IHByb3BlcnRpZXMuSW50ZXJwb2xhdGUKLUJS
QU5DSF9QUl9SRSA9IHJlLmNvbXBpbGUocidecmVmcy9wdWxsLyg/UDxpZD5cZCspL21lcmdlJCcp
CiBHSVRIVUJfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS8nCiBHSVRIVUJfUFJPSkVDVFMgPSBb
J1dlYktpdC9XZWJLaXQnXQorSEFTSF9MRU5HVEhfVE9fRElTUExBWSA9IDgKIAogCiBjbGFzcyBC
dWZmZXJMb2dIZWFkZXJPYnNlcnZlcihsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcik6CkBA
IC04Niw3ICs4Niw5NSBAQCBjbGFzcyBHaXRIdWIob2JqZWN0KToKICAgICAgICAgICAgIHJldHVy
biAnJwogICAgICAgICBpZiBub3QgcHJfbnVtYmVyIG9yIG5vdCBpc2luc3RhbmNlKHByX251bWJl
ciwgaW50KToKICAgICAgICAgICAgIHJldHVybiAnJwotICAgICAgICByZXR1cm4gJ3t9cHVsbC97
fScuZm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisgICAgICAgIHJldHVybiAne30v
cHVsbC97fScuZm9ybWF0KHJlcG9zaXRvcnlfdXJsLCBwcl9udW1iZXIpCisKKyAgICBAY2xhc3Nt
ZXRob2QKKyAgICBkZWYgYXBpX3VybChjbHMsIHJlcG9zaXRvcnlfdXJsPU5vbmUpOgorICAgICAg
ICBpZiBub3QgcmVwb3NpdG9yeV91cmw6CisgICAgICAgICAgICByZXBvc2l0b3J5X3VybCA9ICd7
fXt9Jy5mb3JtYXQoR0lUSFVCX1VSTCwgR0lUSFVCX1BST0pFQ1RTWzBdKQorCisgICAgICAgIGlm
IHJlcG9zaXRvcnlfdXJsIG5vdCBpbiBHaXRIdWIucmVwb3NpdG9yeV91cmxzKCk6CisgICAgICAg
ICAgICByZXR1cm4gJycKKyAgICAgICAgXywgdXJsX2Jhc2UgPSByZXBvc2l0b3J5X3VybC5zcGxp
dCgnOi8vJywgMSkKKyAgICAgICAgaG9zdCwgcGF0aCA9IHVybF9iYXNlLnNwbGl0KCcvJywgMSkK
KyAgICAgICAgcmV0dXJuICdodHRwczovL2FwaS57fS9yZXBvcy97fScuZm9ybWF0KGhvc3QsIHBh
dGgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlZGVudGlhbHMoY2xzKToKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4oJ3Bhc3N3b3Jk
cy5qc29uJykpCisgICAgICAgICAgICByZXR1cm4gcGFzc3dvcmRzLmdldCgnR0lUSFVCX0NPTV9V
U0VSTkFNRScsIE5vbmUpLCBwYXNzd29yZHMuZ2V0KCdHSVRIVUJfQ09NX0FDQ0VTU19UT0tFTics
IE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHByaW50
KCdFcnJvciByZWFkaW5nIEdpdEh1YiBjcmVkZW50aWFscycpCisgICAgICAgICAgICByZXR1cm4g
Tm9uZSwgTm9uZQorCisKK2NsYXNzIEdpdEh1Yk1peGluKG9iamVjdCk6CisgICAgYWRkVVJMcyA9
IEZhbHNlCisgICAgcHJfb3Blbl9zdGF0ZXMgPSBbJ29wZW4nXQorICAgIHByX2Nsb3NlZF9zdGF0
ZXMgPSBbJ2Nsb3NlZCddCisKKyAgICBkZWYgZmV0Y2hfZGF0YV9mcm9tX3VybF93aXRoX2F1dGhl
bnRpY2F0aW9uKHNlbGYsIHVybCk6CisgICAgICAgIHJlc3BvbnNlID0gTm9uZQorICAgICAgICB0
cnk6CisgICAgICAgICAgICB1c2VybmFtZSwgYWNjZXNzX3Rva2VuID0gc2VsZi5jcmVkZW50aWFs
cygpCisgICAgICAgICAgICBhdXRoID0gSFRUUEJhc2ljQXV0aCh1c2VybmFtZSwgYWNjZXNzX3Rv
a2VuKSBpZiB1c2VybmFtZSBhbmQgYWNjZXNzX3Rva2VuIGVsc2UgTm9uZQorICAgICAgICAgICAg
cmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoCisgICAgICAgICAgICAgICAgdXJsLCB0aW1lb3V0PTYw
LCBhdXRoPWF1dGgsCisgICAgICAgICAgICAgICAgaGVhZGVycz1kaWN0KEFjY2VwdD0nYXBwbGlj
YXRpb24vdm5kLmdpdGh1Yi52Mytqc29uJyksCisgICAgICAgICAgICApCisgICAgICAgICAgICBp
ZiByZXNwb25zZS5zdGF0dXNfY29kZSAvLyAxMDAgIT0gMjoKKyAgICAgICAgICAgICAgICBzZWxm
Ll9hZGRUb0xvZygnc3RkaW8nLCAnQWNjZXNzZWQge3VybH0gd2l0aCB1bmV4cGVjdGVkIHN0YXR1
cyBjb2RlIHtzdGF0dXNfY29kZX0uXG4nLmZvcm1hdCh1cmw9dXJsLCBzdGF0dXNfY29kZT1yZXNw
b25zZS5zdGF0dXNfY29kZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIyBDYXRjaGluZyBhbGwgZXhjZXB0
aW9ucyBoZXJlIHRvIHNhZmVndWFyZCBhY2Nlc3MgdG9rZW4uCisgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZygnc3RkaW8nLCAnRmFpbGVkIHRvIGFjY2VzcyB7dXJsfS5cbicuZm9ybWF0KHVybD11
cmwpKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisK
KyAgICBkZWYgZ2V0X3ByX2pzb24oc2VsZiwgcHJfbnVtYmVyLCByZXBvc2l0b3J5X3VybD1Ob25l
KToKKyAgICAgICAgYXBpX3VybCA9IEdpdEh1Yi5hcGlfdXJsKHJlcG9zaXRvcnlfdXJsKQorICAg
ICAgICBpZiBub3QgYXBpX3VybDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAg
cHJfdXJsID0gJ3t9L3B1bGxzL3t9Jy5mb3JtYXQoYXBpX3VybCwgcHJfbnVtYmVyKQorICAgICAg
ICBjb250ZW50ID0gc2VsZi5mZXRjaF9kYXRhX2Zyb21fdXJsX3dpdGhfYXV0aGVudGljYXRpb24o
cHJfdXJsKQorICAgICAgICBpZiBub3QgY29udGVudDoKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHByX2pzb24gPSBjb250ZW50Lmpzb24oKQorICAg
ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBwcmludCgnRmFpbGVkIHRv
IGdldCBwdWxsIHJlcXVlc3QgZGF0YSBmcm9tIHt9LCBlcnJvcjoge30nLmZvcm1hdChwcl91cmws
IGUpKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Ig
bGVuKHByX2pzb24pID09IDA6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1
cm4gcHJfanNvbgorCisgICAgZGVmIF9pc19wcl9jbG9zZWQoc2VsZiwgcHJfbnVtYmVyLCByZXBv
c2l0b3J5X3VybD1Ob25lKToKKyAgICAgICAgaWYgbm90IHByX251bWJlcjoKKyAgICAgICAgICAg
IHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdTa2lwcGluZyBwdWxsIHJlcXVlc3Qgc3RhdHVzIHZh
bGlkYXRpb24gc2luY2UgcHVsbCByZXF1ZXN0IGlzIE5vbmUuXG4nKQorICAgICAgICAgICAgcmV0
dXJuIC0xCisKKyAgICAgICAgcHJfanNvbiA9IHNlbGYuZ2V0X3ByX2pzb24ocHJfbnVtYmVyLCBy
ZXBvc2l0b3J5X3VybCkKKyAgICAgICAgaWYgbm90IHByX2pzb24gb3Igbm90IHByX2pzb24uZ2V0
KCdzdGF0ZScpOgorICAgICAgICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJsZSB0
byBmZXRjaCBwdWxsIHJlcXVlc3Qge30uXG4nLmZvcm1hdChwcl9udW1iZXIpKQorICAgICAgICAg
ICAgcmV0dXJuIC0xCisgICAgICAgIGlmIHByX2pzb24uZ2V0KCdzdGF0ZScpIGluIHNlbGYucHJf
Y2xvc2VkX3N0YXRlczoKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIHJldHVybiAwCisK
KyAgICBkZWYgX2lzX3ByX29ic29sZXRlKHNlbGYsIHByX251bWJlciwgcmVwb3NpdG9yeV91cmw9
Tm9uZSk6CisgICAgICAgIHByX2pzb24gPSBzZWxmLmdldF9wcl9qc29uKHByX251bWJlciwgcmVw
b3NpdG9yeV91cmwpCisgICAgICAgIGlmIG5vdCBwcl9qc29uOgorICAgICAgICAgICAgc2VsZi5f
YWRkVG9Mb2coJ3N0ZGlvJywgJ1VuYWJsZSB0byBmZXRjaCBwdWxsIHJlcXVlc3Qge30uXG4nLmZv
cm1hdChwcl9udW1iZXIpKQorICAgICAgICAgICAgcmV0dXJuIC0xCisKKyAgICAgICAgcHJfc2hh
ID0gcHJfanNvbi5nZXQoJ2hlYWQnLCB7fSkuZ2V0KCdzaGEnLCAnJykKKyAgICAgICAgaWYgbm90
IHByX3NoYToKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdGYWlsZWQgdG8g
ZmV0Y2ggaGFzaCBvZiBwdWxsIHJlcXVlc3Qge31cbicuZm9ybWF0KHByX251bWJlcikpCisgICAg
ICAgICAgICByZXR1cm4gLTEKKworICAgICAgICByZXR1cm4gMCBpZiBwcl9zaGEgPT0gc2VsZi5n
ZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAnPycpIGVsc2UgMQogCiAKIGNsYXNzIENvbnRyaWJ1dG9y
cyhvYmplY3QpOgpAQCAtMTE1LDExICsyMDMsMTUgQEAgY2xhc3MgQ29udHJpYnV0b3JzKG9iamVj
dCk6CiAgICAgICAgICAgICByZXR1cm4ge30sICdGYWlsZWQgdG8gYWNjZXNzIHt1cmx9XG4nLmZv
cm1hdCh1cmw9Y2xzLnVybCkKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBsb2FkKGNscyk6
CisgICAgZGVmIGxvYWQoY2xzLCB1c2VfbmV0d29yaz1UcnVlKToKICAgICAgICAgZXJyb3JzID0g
W10KLSAgICAgICAgY29udHJpYnV0b3JzX2pzb24sIGVycm9yID0gY2xzLmxvYWRfZnJvbV9naXRo
dWIoKQotICAgICAgICBpZiBlcnJvcjoKLSAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoZXJyb3Ip
CisKKyAgICAgICAgaWYgdXNlX25ldHdvcms6CisgICAgICAgICAgICBjb250cmlidXRvcnNfanNv
biwgZXJyb3IgPSBjbHMubG9hZF9mcm9tX2dpdGh1YigpCisgICAgICAgICAgICBpZiBlcnJvcjoK
KyAgICAgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKGVycm9yKQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgY29udHJpYnV0b3JzX2pzb24gPSBbXQogCiAgICAgICAgIGlmIG5vdCBjb250cmli
dXRvcnNfanNvbjoKICAgICAgICAgICAgIGNvbnRyaWJ1dG9yc19qc29uLCBlcnJvciA9IGNscy5s
b2FkX2Zyb21fZGlzaygpCkBAIC0xMzgsNyArMjMwLDcgQEAgY2xhc3MgQ29udHJpYnV0b3JzKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgY29udHJpYnV0b3JzW2dpdGh1Yl91c2VybmFtZV0gPSBk
aWN0KAogICAgICAgICAgICAgICAgICAgICBuYW1lPW5hbWUsCiAgICAgICAgICAgICAgICAgICAg
IHN0YXR1cz12YWx1ZS5nZXQoJ3N0YXR1cycpLAotICAgICAgICAgICAgICAgICAgICBlbWFpbD1l
bWFpbHNbMF0sCisgICAgICAgICAgICAgICAgICAgIGVtYWlsPWVtYWlsc1swXS5sb3dlcigpLAog
ICAgICAgICAgICAgICAgICkKICAgICAgICAgcmV0dXJuIGNvbnRyaWJ1dG9ycywgZXJyb3JzCiAK
QEAgLTkyNywxMCArMTAxOSwxMCBAQCBjbGFzcyBCdWd6aWxsYU1peGluKG9iamVjdCk6CiAgICAg
ICAgIHJldHVybiBTVUNDRVNTCiAKIAotY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVp
bGRTdGVwLCBCdWd6aWxsYU1peGluKToKLSAgICBuYW1lID0gJ3ZhbGlkYXRlLXBhdGNoJwotICAg
IGRlc2NyaXB0aW9uID0gWyd2YWxpZGF0ZS1wYXRjaCBydW5uaW5nJ10KLSAgICBkZXNjcmlwdGlv
bkRvbmUgPSBbJ1ZhbGlkYXRlZCBwYXRjaCddCitjbGFzcyBWYWxpZGF0ZUNoYW5nZShidWlsZHN0
ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluLCBHaXRIdWJNaXhpbik6CisgICAgbmFtZSA9ICd2
YWxpZGF0ZS1jaGFuZ2UnCisgICAgZGVzY3JpcHRpb24gPSBbJ3ZhbGlkYXRlLWNoYW5nZSBydW5u
aW5nJ10KKyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbJ1ZhbGlkYXRlZCBjaGFuZ2UnXQogICAgIGZs
dW5rT25GYWlsdXJlID0gVHJ1ZQogICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAKQEAgLTk0NSw3
ICsxMDM3LDcgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6
aWxsYU1peGluKToKICAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxmKToKICAgICAgICAgaWYg
c2VsZi5yZXN1bHRzID09IEZBSUxVUkU6CiAgICAgICAgICAgICByZXR1cm4geydzdGVwJzogc2Vs
Zi5kZXNjcmlwdGlvbkRvbmV9Ci0gICAgICAgIHJldHVybiBzdXBlcihWYWxpZGF0ZVBhdGNoLCBz
ZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKKyAgICAgICAgcmV0dXJuIHN1cGVyKFZhbGlkYXRlQ2hh
bmdlLCBzZWxmKS5nZXRSZXN1bHRTdW1tYXJ5KCkKIAogICAgIGRlZiBkb1N0ZXBJZihzZWxmLCBz
dGVwKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRp
b24nLCBGYWxzZSkKQEAgLTk1OSw1NCArMTA1MSwxMDUgQEAgY2xhc3MgVmFsaWRhdGVQYXRjaChi
dWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKIAogICAgIGRlZiBzdGFydChzZWxm
KToKICAgICAgICAgcGF0Y2hfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdwYXRjaF9pZCcsICcnKQot
ICAgICAgICBpZiBub3QgcGF0Y2hfaWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3Rk
aW8nLCAnTm8gcGF0Y2hfaWQgZm91bmQuIFVuYWJsZSB0byBwcm9jZWVkIHdpdGhvdXQgcGF0Y2hf
aWQuXG4nKQotICAgICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbkRvbmUgPSAnTm8gcGF0Y2ggaWQg
Zm91bmQnCisgICAgICAgIHByX251bWJlciA9IHNlbGYuZ2V0UHJvcGVydHkoJ2dpdGh1Yi5udW1i
ZXInLCAnJykKKworICAgICAgICBpZiBub3QgcGF0Y2hfaWQgYW5kIG5vdCBwcl9udW1iZXI6Cisg
ICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnTm8gcGF0Y2hfaWQgb3IgcHJfbnVt
YmVyIGZvdW5kLiBVbmFibGUgdG8gcHJvY2VlZCB3aXRob3V0IG9uZSBvZiB0aGVtLlxuJykKKyAg
ICAgICAgICAgIHNlbGYuZGVzY3JpcHRpb25Eb25lID0gJ05vIGNoYW5nZSBmb3VuZCcKKyAgICAg
ICAgICAgIHNlbGYuZmluaXNoZWQoRkFJTFVSRSkKKyAgICAgICAgICAgIHJldHVybiBOb25lCisK
KyAgICAgICAgaWYgcGF0Y2hfaWQgYW5kIHByX251bWJlcjoKKyAgICAgICAgICAgIHNlbGYuX2Fk
ZFRvTG9nKCdzdGRpbycsICdCb3RoIHBhdGNoX2lkIGFuZCBwcl9udW1iZXIgZm91bmQuIFVuYWJs
ZSB0byBwcm9jZWVkIHdpdGggYm90aC5cbicpCisgICAgICAgICAgICBzZWxmLmRlc2NyaXB0aW9u
RG9uZSA9ICdFcnJvcjogYm90aCBQUiBhbmQgcGF0Y2ggbnVtYmVyIGZvdW5kJwogICAgICAgICAg
ICAgc2VsZi5maW5pc2hlZChGQUlMVVJFKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKIAorICAg
ICAgICBpZiBwYXRjaF9pZCBhbmQgbm90IHNlbGYudmFsaWRhdGVfYnVnemlsbGEocGF0Y2hfaWQp
OgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgaWYgcHJfbnVtYmVyIGFuZCBub3Qg
c2VsZi52YWxpZGF0ZV9naXRodWIocHJfbnVtYmVyKToKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlCdWdDbG9zZWQgYW5kIHBhdGNoX2lkOgorICAgICAg
ICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ0J1ZyBpcyBvcGVuLlxuJykKKyAgICAgICAg
aWYgc2VsZi52ZXJpZnlPYnNvbGV0ZToKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRp
bycsICdDaGFuZ2UgaXMgbm90IG9ic29sZXRlLlxuJykKKyAgICAgICAgaWYgc2VsZi52ZXJpZnlS
ZXZpZXdEZW5pZWQ6CisgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnQ2hhbmdl
IGhhcyBub3QgYmVlbiBkZW5pZWQuXG4nKQorICAgICAgICBpZiBzZWxmLnZlcmlmeWNxcGx1czoK
KyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2UgaXMgaW4gY29tbWl0
IHF1ZXVlLlxuJykKKyAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKCdzdGRpbycsICdDaGFuZ2Ug
aGFzIGJlZW4gcmV2aWV3ZWQuXG4nKQorICAgICAgICBzZWxmLmZpbmlzaGVkKFNVQ0NFU1MpCisg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgdmFsaWRhdGVfYnVnemlsbGEoc2VsZiwgcGF0
Y2hfaWQpOgogICAgICAgICBidWdfaWQgPSBzZWxmLmdldFByb3BlcnR5KCdidWdfaWQnLCAnJykg
b3Igc2VsZi5nZXRfYnVnX2lkX2Zyb21fcGF0Y2gocGF0Y2hfaWQpCiAKICAgICAgICAgYnVnX2Ns
b3NlZCA9IHNlbGYuX2lzX2J1Z19jbG9zZWQoYnVnX2lkKSBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3Nl
ZCBlbHNlIDAKICAgICAgICAgaWYgYnVnX2Nsb3NlZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5z
a2lwX2J1aWxkKCdCdWcge30gaXMgYWxyZWFkeSBjbG9zZWQnLmZvcm1hdChidWdfaWQpKQotICAg
ICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAg
IG9ic29sZXRlID0gc2VsZi5faXNfcGF0Y2hfb2Jzb2xldGUocGF0Y2hfaWQpIGlmIHNlbGYudmVy
aWZ5T2Jzb2xldGUgZWxzZSAwCiAgICAgICAgIGlmIG9ic29sZXRlID09IDE6CiAgICAgICAgICAg
ICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlzIG9ic29sZXRlJy5mb3JtYXQocGF0Y2hfaWQp
KQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAg
ICAgICAgIHJldmlld19kZW5pZWQgPSBzZWxmLl9pc19wYXRjaF9yZXZpZXdfZGVuaWVkKHBhdGNo
X2lkKSBpZiBzZWxmLnZlcmlmeVJldmlld0RlbmllZCBlbHNlIDAKICAgICAgICAgaWYgcmV2aWV3
X2RlbmllZCA9PSAxOgogICAgICAgICAgICAgc2VsZi5za2lwX2J1aWxkKCdQYXRjaCB7fSBpcyBt
YXJrZWQgci0nLmZvcm1hdChwYXRjaF9pZCkpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgY3FfcGx1cyA9IHNlbGYuX2lzX3BhdGNo
X2NxX3BsdXMocGF0Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAgICAgICBp
ZiBjcV9wbHVzICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9IGlz
IG5vdCBtYXJrZWQgY3ErLicuZm9ybWF0KHBhdGNoX2lkKSkKLSAgICAgICAgICAgIHJldHVybiBO
b25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBhY2NlcHRhYmxlX3Jldmll
d19mbGFnID0gc2VsZi5fZG9lc19wYXRjaF9oYXZlX2FjY2VwdGFibGVfcmV2aWV3X2ZsYWcocGF0
Y2hfaWQpIGlmIHNlbGYudmVyaWZ5Y3FwbHVzIGVsc2UgMQogICAgICAgICBpZiBhY2NlcHRhYmxl
X3Jldmlld19mbGFnICE9IDE6CiAgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1BhdGNoIHt9
IGRvZXMgbm90IGhhdmUgYWNjZXB0YWJsZSByZXZpZXcgZmxhZy4nLmZvcm1hdChwYXRjaF9pZCkp
Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAg
ICAgICAgaWYgb2Jzb2xldGUgPT0gLTEgb3IgcmV2aWV3X2RlbmllZCA9PSAtMSBvciBidWdfY2xv
c2VkID09IC0xOgogICAgICAgICAgICAgc2VsZi5maW5pc2hlZChXQVJOSU5HUykKLSAgICAgICAg
ICAgIHJldHVybiBOb25lCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJu
IFRydWUKIAotICAgICAgICBpZiBzZWxmLnZlcmlmeUJ1Z0Nsb3NlZDoKLSAgICAgICAgICAgIHNl
bGYuX2FkZFRvTG9nKCdzdGRpbycsICdCdWcgaXMgb3Blbi5cbicpCi0gICAgICAgIGlmIHNlbGYu
dmVyaWZ5T2Jzb2xldGU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0
Y2ggaXMgbm90IG9ic29sZXRlLlxuJykKLSAgICAgICAgaWYgc2VsZi52ZXJpZnlSZXZpZXdEZW5p
ZWQ6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUb0xvZygnc3RkaW8nLCAnUGF0Y2ggaXMgbm90IG1h
cmtlZCByLS5cbicpCi0gICAgICAgIGlmIHNlbGYudmVyaWZ5Y3FwbHVzOgotICAgICAgICAgICAg
c2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGlzIG1hcmtlZCBjcSsuXG4nKQotICAgICAg
ICAgICAgc2VsZi5fYWRkVG9Mb2coJ3N0ZGlvJywgJ1BhdGNoIGhhdmUgYWNjZXB0YWJsZSByZXZp
ZXcgZmxhZy5cbicpCi0gICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VTUykKLSAgICAgICAgcmV0
dXJuIE5vbmUKKyAgICBkZWYgdmFsaWRhdGVfZ2l0aHViKHNlbGYsIHByX251bWJlcik6CisgICAg
ICAgIGlmIG5vdCBwcl9udW1iZXI6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAg
ICByZXBvc2l0b3J5X3VybCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAnJykKKyAg
ICAgICAgdGl0bGUgPSBzZWxmLmdldFByb3BlcnR5KCdnaXRodWIudGl0bGUnLCAnJykKKyAgICAg
ICAgb3duZXJzID0gc2VsZi5nZXRQcm9wZXJ0eSgnb3duZXJzJywgW10pCisKKyAgICAgICAgaWYg
c2VsZi5hZGRVUkxzIGFuZCB0aXRsZSBhbmQgcmVwb3NpdG9yeV91cmw6CisgICAgICAgICAgICBz
ZWxmLmFkZFVSTCgnW1BSIHt9XSB7fScuZm9ybWF0KHByX251bWJlciwgdGl0bGUpLCBHaXRIdWIu
cHJfdXJsKHByX251bWJlciwgcmVwb3NpdG9yeV91cmwpKQorICAgICAgICBpZiBzZWxmLmFkZFVS
THMgYW5kIG93bmVyczoKKyAgICAgICAgICAgIGNvbnRyaWJ1dG9ycywgZXJyb3JzID0gQ29udHJp
YnV0b3JzLmxvYWQodXNlX25ldHdvcms9RmFsc2UpCisgICAgICAgICAgICBmb3IgZXJyb3IgaW4g
ZXJyb3JzOgorICAgICAgICAgICAgICAgIHByaW50KGVycm9yKQorICAgICAgICAgICAgICAgIHNl
bGYuX2FkZFRvTG9nKCdzdGRpbycsIGVycm9yKQorICAgICAgICAgICAgZ2l0aHViX3VzZXJuYW1l
ID0gb3duZXJzWzBdCisgICAgICAgICAgICBjb250cmlidXRvciA9IGNvbnRyaWJ1dG9ycy5nZXQo
Z2l0aHViX3VzZXJuYW1lLCB7fSkKKyAgICAgICAgICAgIGRpc3BsYXlfbmFtZSA9IGNvbnRyaWJ1
dG9yLmdldCgnZW1haWwnLCBnaXRodWJfdXNlcm5hbWUpCisgICAgICAgICAgICBzZWxmLmFkZFVS
TCgnUFIgYnk6IHt9Jy5mb3JtYXQoZGlzcGxheV9uYW1lKSwgJ3t9e30nLmZvcm1hdChHSVRIVUJf
VVJMLCBnaXRodWJfdXNlcm5hbWUpKQorCisgICAgICAgIHByX2Nsb3NlZCA9IHNlbGYuX2lzX3By
X2Nsb3NlZChwcl9udW1iZXIsIHJlcG9zaXRvcnlfdXJsPXJlcG9zaXRvcnlfdXJsKSBpZiBzZWxm
LnZlcmlmeUJ1Z0Nsb3NlZCBlbHNlIDAKKyAgICAgICAgaWYgcHJfY2xvc2VkID09IDE6CisgICAg
ICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1B1bGwgcmVxdWVzdCB7fSBpcyBhbHJlYWR5IGNsb3Nl
ZCcuZm9ybWF0KHByX251bWJlcikpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAg
ICBvYnNvbGV0ZSA9IHNlbGYuX2lzX3ByX29ic29sZXRlKHByX251bWJlciwgcmVwb3NpdG9yeV91
cmw9cmVwb3NpdG9yeV91cmwpIGlmIHNlbGYudmVyaWZ5T2Jzb2xldGUgZWxzZSAwCisgICAgICAg
IGlmIG9ic29sZXRlID09IDE6CisgICAgICAgICAgICBzZWxmLnNraXBfYnVpbGQoJ1B1bGwgcmVx
dWVzdCB7fSAoc2hhIHt9KSBpcyBvYnNvbGV0ZScuZm9ybWF0KHByX251bWJlciwgc2VsZi5nZXRQ
cm9wZXJ0eSgncmV2aXNpb24nLCAnPycpWzpIQVNIX0xFTkdUSF9UT19ESVNQTEFZXSkpCisgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICBpZiBvYnNvbGV0ZSA9PSAtMSBvciBwcl9j
bG9zZWQgPT0gLTE6CisgICAgICAgICAgICBzZWxmLmZpbmlzaGVkKFdBUk5JTkdTKQorICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgcmV0dXJuIFRydWUKIAogCiBjbGFzcyBWYWxp
ZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CkBAIC0xNjgwLDcg
KzE4MjMsNyBAQCBjbGFzcyBDb21waWxlV2ViS2l0KHNoZWxsLkNvbXBpbGUpOgogICAgIGRlZiBl
dmFsdWF0ZUNvbW1hbmQoc2VsZiwgY21kKToKICAgICAgICAgaWYgY21kLmRpZEZhaWwoKToKICAg
ICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVG9CdWlsZCcsIFRydWUpCi0g
ICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxp
ZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSldCisgICAgICAg
ICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBWYWxpZGF0ZUNo
YW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQogICAgICAgICAgICAg
cGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAgICAgICAgICBpZiBw
bGF0Zm9ybSA9PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKElu
c3RhbGxXcGVEZXBlbmRlbmNpZXMoKSkKQEAgLTE5NjAsOSArMjEwMyw5IEBAIGNsYXNzIFJ1bkph
dmFTY3JpcHRDb3JlVGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaEZhaWxlZFRlc3RzJywgVHJ1ZSkKICAgICAgICAgICAg
IHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtVbkFwcGx5UGF0Y2hJZlJlcXVp
cmVkKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
YWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZUNoYW5n
ZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsZUpTQ1dpdGhvdXRQYXRjaCgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRh
dGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtpbGxPbGRQcm9jZXNzZXMoKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bkpTQ1Rlc3RzV2l0aG91
dFBhdGNoKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBBbmFseXplSlNDVGVzdHNSZXN1bHRzKCldKQpAQCAtMjM4NSw3ICsyNTI4LDcgQEAgY2xhc3Mg
UnVuV2ViS2l0VGVzdHMoc2hlbGwuVGVzdCk6CiAgICAgICAgICAgICAgICAgQXJjaGl2ZVRlc3RS
ZXN1bHRzKCksCiAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoKSwKICAgICAgICAg
ICAgICAgICBFeHRyYWN0VGVzdFJlc3VsdHMoKSwKLSAgICAgICAgICAgICAgICBWYWxpZGF0ZVBh
dGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksCisgICAgICAgICAgICAg
ICAgVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwK
ICAgICAgICAgICAgICAgICBLaWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgUmVS
dW5XZWJLaXRUZXN0cygpLAogICAgICAgICAgICAgXSkKQEAgLTI0ODAsOSArMjYyMyw5IEBAIGNs
YXNzIFJlUnVuV2ViS2l0VGVzdHMoUnVuV2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRpZmll
cj0ncmVydW4nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEV4dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdyZXJ1bicpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5BcHBseVBhdGNoSWZSZXF1aXJl
ZCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFs
aWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2Uo
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2go
cmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRlUGF0Y2godmVyaWZ5QnVnQ2xvc2VkPUZhbHNl
LCBhZGRVUkxzPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1G
YWxzZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBL
aWxsT2xkUHJvY2Vzc2VzKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCgpXSkKICAgICAgICAgcmV0dXJu
IHJjCkBAIC0yODA1LDcgKzI5NDgsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVu
V2ViS2l0VGVzdHMpOgogICAgICAgICByYyA9IHNlbGYuZXZhbHVhdGVSZXN1bHQoY21kKQogICAg
ICAgICBuZXh0X3N0ZXBzID0gW0FyY2hpdmVUZXN0UmVzdWx0cygpLCBVcGxvYWRUZXN0UmVzdWx0
cygpLCBFeHRyYWN0VGVzdFJlc3VsdHMoKV0KICAgICAgICAgaWYgZmlyc3RfcmVzdWx0c19mYWls
aW5nX3Rlc3RzOgotICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2go
dmVyaWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3Nlcygp
LCBSdW5XZWJLaXRUZXN0c1JlcGVhdEZhaWx1cmVzUmVkVHJlZSgpXSkKKyAgICAgICAgICAgIG5l
eHRfc3RlcHMuZXh0ZW5kKFtWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFk
ZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJvY2Vzc2VzKCksIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFp
bHVyZXNSZWRUcmVlKCldKQogICAgICAgICBlbGlmIGZpcnN0X3Jlc3VsdHNfZmxha3lfdGVzdHM6
CiAgICAgICAgICAgICBuZXh0X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRz
UmVkVHJlZSgpKQogICAgICAgICBlbGlmIHJjID09IFNVQ0NFU1Mgb3IgcmMgPT0gV0FSTklOR1M6
CkBAIC0yODIzLDcgKzI5NjYsNyBAQCBjbGFzcyBSdW5XZWJLaXRUZXN0c1JlZFRyZWUoUnVuV2Vi
S2l0VGVzdHMpOgogICAgICAgICAgICAgaWYgcmV0cnlfY291bnQgPCBBbmFseXplTGF5b3V0VGVz
dHNSZXN1bHRzUmVkVHJlZS5NQVhfUkVUUlk6CiAgICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5h
cHBlbmQoQW5hbHl6ZUxheW91dFRlc3RzUmVzdWx0c1JlZFRyZWUoKSkKICAgICAgICAgICAgIGVs
c2U6Ci0gICAgICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1VuQXBwbHlQYXRjaElmUmVx
dWlyZWQoKSwgQ29tcGlsZVdlYktpdFdpdGhvdXRQYXRjaChyZXRyeV9idWlsZF9vbl9mYWlsdXJl
PVRydWUpLCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxz
ZSksIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKKyAgICAgICAgICAgICAg
ICBuZXh0X3N0ZXBzLmV4dGVuZChbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgpLCBDb21waWxlV2Vi
S2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9VHJ1ZSksIFZhbGlkYXRlQ2hh
bmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldlYktpdFRlc3Rz
V2l0aG91dFBhdGNoUmVkVHJlZSgpXSkKICAgICAgICAgaWYgbmV4dF9zdGVwczoKICAgICAgICAg
ICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKG5leHRfc3RlcHMpCiAgICAg
ICAgIHJldHVybiByYwpAQCAtMjg1Myw4ICsyOTk2LDggQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNS
ZXBlYXRGYWlsdXJlc1JlZFRyZWUoUnVuV2ViS2l0VGVzdHNSZWRUcmVlKToKICAgICAgICAgbmV4
dF9zdGVwcyA9IFtBcmNoaXZlVGVzdFJlc3VsdHMoKSwgVXBsb2FkVGVzdFJlc3VsdHMoaWRlbnRp
Zmllcj0ncmVwZWF0LWZhaWx1cmVzJyksIEV4dHJhY3RUZXN0UmVzdWx0cyhpZGVudGlmaWVyPSdy
ZXBlYXQtZmFpbHVyZXMnKV0KICAgICAgICAgaWYgd2l0aF9wYXRjaF9yZXBlYXRfZmFpbHVyZXNf
cmVzdWx0c19ub25mbGFreV9mYWlsdXJlcyBvciB3aXRoX3BhdGNoX3JlcGVhdF9mYWlsdXJlc190
aW1lZG91dDoKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoRmFpbGVkVGVzdHMn
LCBUcnVlKQotICAgICAgICAgICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlUGF0Y2godmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgS2lsbE9sZFByb2Nlc3NlcygpLCBV
bkFwcGx5UGF0Y2hJZlJlcXVpcmVkKCksIENvbXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlf
YnVpbGRfb25fZmFpbHVyZT1UcnVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
YWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxzZSksIFJ1bldl
YktpdFRlc3RzUmVwZWF0RmFpbHVyZXNXaXRob3V0UGF0Y2hSZWRUcmVlKCldKQorICAgICAgICAg
ICAgbmV4dF9zdGVwcy5leHRlbmQoW1ZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxz
ZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgVW5BcHBseVBhdGNoSWZSZXF1
aXJlZCgpLCBDb21waWxlV2ViS2l0V2l0aG91dFBhdGNoKHJldHJ5X2J1aWxkX29uX2ZhaWx1cmU9
VHJ1ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGVDaGFuZ2UodmVy
aWZ5QnVnQ2xvc2VkPUZhbHNlLCBhZGRVUkxzPUZhbHNlKSwgUnVuV2ViS2l0VGVzdHNSZXBlYXRG
YWlsdXJlc1dpdGhvdXRQYXRjaFJlZFRyZWUoKV0pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICBuZXh0X3N0ZXBzLmFwcGVuZChBbmFseXplTGF5b3V0VGVzdHNSZXN1bHRzUmVkVHJlZSgpKQog
ICAgICAgICBpZiBuZXh0X3N0ZXBzOgpAQCAtMzI1Nyw3ICszNDAwLDcgQEAgY2xhc3MgUnVuQVBJ
VGVzdHMoVGVzdFdpdGhGYWlsdXJlQ291bnQpOgogICAgICAgICAgICAgc2VsZi5idWlsZC5yZXN1
bHRzID0gU1VDQ0VTUwogICAgICAgICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFttZXNz
YWdlXSwgU1VDQ0VTUykKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRk
U3RlcHNBZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxz
ZSwgYWRkVVJMcz1GYWxzZSksIEtpbGxPbGRQcm9jZXNzZXMoKSwgUmVSdW5BUElUZXN0cygpXSkK
KyAgICAgICAgICAgIHNlbGYuYnVpbGQuYWRkU3RlcHNBZnRlckN1cnJlbnRTdGVwKFtWYWxpZGF0
ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpLCBLaWxsT2xkUHJv
Y2Vzc2VzKCksIFJlUnVuQVBJVGVzdHMoKV0pCiAgICAgICAgIHJldHVybiByYwogCiAKQEAgLTMy
NzMsMTQgKzM0MTYsMTQgQEAgY2xhc3MgUmVSdW5BUElUZXN0cyhSdW5BUElUZXN0cyk6CiAgICAg
ICAgICAgICBzZWxmLmJ1aWxkLmJ1aWxkRmluaXNoZWQoW21lc3NhZ2VdLCBTVUNDRVNTKQogICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hGYWlsZWRUZXN0
cycsIFRydWUpCi0gICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1
aXJlZCgpLCBWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSwgYWRkVVJMcz1GYWxz
ZSldCisgICAgICAgICAgICBzdGVwc190b19hZGQgPSBbVW5BcHBseVBhdGNoSWZSZXF1aXJlZCgp
LCBWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpXQog
ICAgICAgICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCiAgICAg
ICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd3BlJzoKICAgICAgICAgICAgICAgICBzdGVwc190b19h
ZGQuYXBwZW5kKEluc3RhbGxXcGVEZXBlbmRlbmNpZXMoKSkKICAgICAgICAgICAgIGVsaWYgcGxh
dGZvcm0gPT0gJ2d0ayc6CiAgICAgICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChJbnN0
YWxsR3RrRGVwZW5kZW5jaWVzKCkpCiAgICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKENv
bXBpbGVXZWJLaXRXaXRob3V0UGF0Y2gocmV0cnlfYnVpbGRfb25fZmFpbHVyZT1UcnVlKSkKLSAg
ICAgICAgICAgIHN0ZXBzX3RvX2FkZC5hcHBlbmQoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9z
ZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQorICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVu
ZChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlCdWdDbG9zZWQ9RmFsc2UsIGFkZFVSTHM9RmFsc2UpKQog
ICAgICAgICAgICAgc3RlcHNfdG9fYWRkLmFwcGVuZChLaWxsT2xkUHJvY2Vzc2VzKCkpCiAgICAg
ICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKFJ1bkFQSVRlc3RzV2l0aG91dFBhdGNoKCkpCiAg
ICAgICAgICAgICBzdGVwc190b19hZGQuYXBwZW5kKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMoKSkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkg
Yi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGZhZmNk
YzkzNzU1ZjM4M2QwOTQ2M2EyZWI4NjVlOGUwYzE2MmI3NjUuLjc1MmE0MmRjNDUwY2JiZmMwNWRk
ZmZmNDM4ZGY0OWE4NmIyYjA3MDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVp
bGQvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
c191bml0dGVzdC5weQpAQCAtNTYsNyArNTYsNyBAQCBmcm9tIHN0ZXBzIGltcG9ydCAoQW5hbHl6
ZUFQSVRlc3RzUmVzdWx0cywgQW5hbHl6ZUNvbXBpbGVXZWJLaXRSZXN1bHRzLCBBbmFseXplSgog
ICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoLCBSdW5XZWJLaXRU
ZXN0c1JlZFRyZWUsIFJ1bldlYktpdFRlc3RzUmVwZWF0RmFpbHVyZXNSZWRUcmVlLCBSdW5XZWJL
aXRUZXN0c1JlcGVhdEZhaWx1cmVzV2l0aG91dFBhdGNoUmVkVHJlZSwKICAgICAgICAgICAgICAg
ICAgICBSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaFJlZFRyZWUsIEFuYWx5emVMYXlvdXRUZXN0
c1Jlc3VsdHNSZWRUcmVlLCBUZXN0V2l0aEZhaWx1cmVDb3VudCwgU2hvd0lkZW50aWZpZXIsCiAg
ICAgICAgICAgICAgICAgICAgVHJpZ2dlciwgVHJhbnNmZXJUb1MzLCBVbkFwcGx5UGF0Y2hJZlJl
cXVpcmVkLCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LCBVcGxvYWRCdWlsdFByb2R1Y3QsCi0gICAg
ICAgICAgICAgICAgICAgVXBsb2FkVGVzdFJlc3VsdHMsIFZhbGlkYXRlQ2hhbmdlTG9nQW5kUmV2
aWV3ZXIsIFZhbGlkYXRlQ29tbWl0ZXJBbmRSZXZpZXdlciwgVmFsaWRhdGVQYXRjaCwgVmVyaWZ5
R2l0SHViSW50ZWdyaXR5KQorICAgICAgICAgICAgICAgICAgIFVwbG9hZFRlc3RSZXN1bHRzLCBW
YWxpZGF0ZUNoYW5nZUxvZ0FuZFJldmlld2VyLCBWYWxpZGF0ZUNvbW1pdGVyQW5kUmV2aWV3ZXIs
IFZhbGlkYXRlQ2hhbmdlLCBWZXJpZnlHaXRIdWJJbnRlZ3JpdHkpCiAKICMgV29ya2Fyb3VuZCBm
b3IgaHR0cHM6Ly9naXRodWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy80NjY5CiBmcm9t
IGJ1aWxkYm90LnRlc3QuZmFrZS5mYWtlYnVpbGQgaW1wb3J0IEZha2VCdWlsZApAQCAtNDUyNSw3
ICs0NTI1LDcgQEAgY2xhc3MgVGVzdENyZWF0ZUxvY2FsR0lUQ29tbWl0KEJ1aWxkU3RlcE1peGlu
QWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJldHVybiByYwogCiAKLWNs
YXNzIFRlc3RWYWxpZGF0ZVBhdGNoKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5U
ZXN0Q2FzZSk6CitjbGFzcyBUZXN0VmFsaWRhdGVDaGFuZ2UoQnVpbGRTdGVwTWl4aW5BZGRpdGlv
bnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHJl
dHVybiBzZWxmLnNldFVwQnVpbGRTdGVwKCkKIApAQCAtNDU0MywzOSArNDU0Myw5MiBAQCBjbGFz
cyBUZXN0VmFsaWRhdGVQYXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICAgICAgICAgICAgICAgImlzX3BhdGNoIjogMSwKICAgICAgICAgICAg
ICAgICAgICAgICJzdW1tYXJ5IjogInt9In19JycnLmZvcm1hdChvYnNvbGV0ZSwgdGl0bGUpKQog
Ci0gICAgZGVmIHRlc3Rfc2tpcHBlZChzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFs
aWRhdGVQYXRjaCgpKQorICAgIGRlZiBnZXRfcHIoc2VsZiwgcHJfbnVtYmVyLCB0aXRsZT0nU2Ft
cGxlIHB1bGwgcmVxdWVzdCcsIGNsb3NlZD1GYWxzZSk6CisgICAgICAgIHJldHVybiBkaWN0KAor
ICAgICAgICAgICAgbnVtYmVyPXByX251bWJlciwKKyAgICAgICAgICAgIHN0YXRlPSdjbG9zZWQn
IGlmIGNsb3NlZCBlbHNlICdvcGVuJywKKyAgICAgICAgICAgIHRpdGxlPXRpdGxlLAorICAgICAg
ICAgICAgdXNlcj1kaWN0KGxvZ2luPSdKb25XQmVkYXJkJyksCisgICAgICAgICAgICBoZWFkPWRp
Y3QoCisgICAgICAgICAgICAgICAgc2hhPSc3NDk2ZjhlY2M0Y2M4MDExZjE5YzhjYzFiYzdiMThm
ZTRhODhhZDVjJywKKyAgICAgICAgICAgICAgICByZWY9J2VuZy9wdWxsLXJlcXVlc3QnLAorICAg
ICAgICAgICAgICAgIHJlcG89ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgbmFtZT0nV2ViS2l0
JywKKyAgICAgICAgICAgICAgICAgICAgZnVsbF9uYW1lPSdKb25XQmVkYXJkL1dlYktpdCcsCisg
ICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICksIGJhc2U9ZGljdCgKKyAgICAgICAgICAg
ICAgICBzaGE9JzUyOGI5OTU3NWVlYmY3ZmE1Yjk0ZjFmYzUxZGU4MTk3N2YyNjUwMDUnLAorICAg
ICAgICAgICAgICAgIHJlZj0nbWFpbicsCisgICAgICAgICAgICAgICAgcmVwbz1kaWN0KAorICAg
ICAgICAgICAgICAgICAgICBuYW1lPSdXZWJLaXQnLAorICAgICAgICAgICAgICAgICAgICBmdWxs
X25hbWU9J1dlYktpdC9XZWJLaXQnLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAp
LAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9za2lwcGVkX3BhdGNoKHNlbGYpOgorICAgICAg
ICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSgpKQogICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdwYXRjaF9pZCcsICcxMjM0JykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVnX2lk
JywgJzU2NzgnKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdza2lwX3ZhbGlkYXRpb24nLCBU
cnVlKQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNLSVBQRUQsIHN0YXRlX3N0
cmluZz0nVmFsaWRhdGVkIHBhdGNoIChza2lwcGVkKScpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0
Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lw
cGVkKScpCiAgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQogCi0gICAgZGVmIHRlc3Rfc3Vj
Y2VzcyhzZWxmKToKLSAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UpKQotICAgICAgICBWYWxpZGF0ZVBhdGNoLmdldF9wYXRjaF9qc29uID0g
bGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaCgpCisgICAgZGVmIHRlc3Rfc2tpcHBl
ZF9wcihzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UoKSkKKyAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZ2l0aHViLm51bWJlcicsICcxMjM0JykKKyAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgncmVwb3NpdG9yeScsICdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0
L1dlYktpdCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NraXBfdmFsaWRhdGlvbicsIFRy
dWUpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U0tJUFBFRCwgc3RhdGVfc3Ry
aW5nPSdWYWxpZGF0ZWQgY2hhbmdlIChza2lwcGVkKScpCisgICAgICAgIHJldHVybiBzZWxmLnJ1
blN0ZXAoKQorCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19wYXRjaChzZWxmKToKKyAgICAgICAgc2Vs
Zi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkKKyAgICAg
ICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6IHNl
bGYuZ2V0X3BhdGNoKCkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncGF0Y2hfaWQnLCAnNDI1
ODA2JykKLSAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9z
dHJpbmc9J1ZhbGlkYXRlZCBwYXRjaCcpCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1
bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlJykKKyAgICAgICAgcmMg
PSBzZWxmLnJ1blN0ZXAoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVy
dHkoJ2Zhc3RfY29tbWl0X3F1ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4
cGVjdGVkbHkgc2V0JykKKyAgICAgICAgcmV0dXJuIHJjCisKKyAgICBkZWYgdGVzdF9zdWNjZXNz
X3ByKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZUNoYW5nZSh2ZXJpZnlC
dWdDbG9zZWQ9RmFsc2UpKQorICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcHJfanNvbiA9IGxh
bWJkYSB4LCBwdWxsX3JlcXVlc3QsIHJlcG9zaXRvcnlfdXJsPU5vbmU6IHNlbGYuZ2V0X3ByKHBy
X251bWJlcj1wdWxsX3JlcXVlc3QpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2dpdGh1Yi5u
dW1iZXInLCAnMTIzNCcpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3JlcG9zaXRvcnknLCAn
aHR0cHM6Ly9naXRodWIuY29tL1dlYktpdC9XZWJLaXQnKQorICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdyZXZpc2lvbicsICc3NDk2ZjhlY2M0Y2M4MDExZjE5YzhjYzFiYzdiMThmZTRhODhhZDVj
JykKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJp
bmc9J1ZhbGlkYXRlZCBjaGFuZ2UnKQogICAgICAgICByYyA9IHNlbGYucnVuU3RlcCgpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnZmFzdF9jb21taXRfcXVldWUn
KSwgTm9uZSwgJ2Zhc3RfY29tbWl0X3F1ZXVlIGlzIHVuZXhwZWN0ZWRseSBzZXQnKQogICAgICAg
ICByZXR1cm4gcmMKIAogICAgIGRlZiB0ZXN0X29ic29sZXRlX3BhdGNoKHNlbGYpOgotICAgICAg
ICBzZWxmLnNldHVwU3RlcChWYWxpZGF0ZVBhdGNoKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCi0g
ICAgICAgIFZhbGlkYXRlUGF0Y2guZ2V0X3BhdGNoX2pzb24gPSBsYW1iZGEgeCwgcGF0Y2hfaWQ6
IHNlbGYuZ2V0X3BhdGNoKG9ic29sZXRlPTEpCisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlk
YXRlQ2hhbmdlKHZlcmlmeUJ1Z0Nsb3NlZD1GYWxzZSkpCisgICAgICAgIFZhbGlkYXRlQ2hhbmdl
LmdldF9wYXRjaF9qc29uID0gbGFtYmRhIHgsIHBhdGNoX2lkOiBzZWxmLmdldF9wYXRjaChvYnNv
bGV0ZT0xKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdwYXRjaF9pZCcsICc0MjU4MDYnKQog
ICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0cmluZz0n
UGF0Y2ggNDI1ODA2IGlzIG9ic29sZXRlJykKICAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ2Zhc3RfY29tbWl0X3F1
ZXVlJyksIE5vbmUsICdmYXN0X2NvbW1pdF9xdWV1ZSBpcyB1bmV4cGVjdGVkbHkgc2V0JykKICAg
ICAgICAgcmV0dXJuIHJjCiAKKyAgICBkZWYgdGVzdF9vYnNvbGV0ZV9wcihzZWxmKToKKyAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVDaGFuZ2UodmVyaWZ5QnVnQ2xvc2VkPUZhbHNlKSkK
KyAgICAgICAgVmFsaWRhdGVDaGFuZ2UuZ2V0X3ByX2pzb24gPSBsYW1iZGEgeCwgcHVsbF9yZXF1
ZXN0LCByZXBvc2l0b3J5X3VybD1Ob25lOiBzZWxmLmdldF9wcihwcl9udW1iZXI9cHVsbF9yZXF1
ZXN0KQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdnaXRodWIubnVtYmVyJywgJzEyMzQnKQor
ICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdyZXBvc2l0b3J5JywgJ2h0dHBzOi8vZ2l0aHViLmNv
bS9XZWJLaXQvV2ViS2l0JykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgncmV2aXNpb24nLCAn
MWFkNjBkNDVhMTEyMzAxZjdiOWY5M2RhYzA2MTM0NTI0ZGFlODQ4MCcpCisgICAgICAgIHNlbGYu
ZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdQdWxsIHJlcXVlc3Qg
MTIzNCAoc2hhIDFhZDYwZDQ1YTExMikgaXMgb2Jzb2xldGUnKQorICAgICAgICByYyA9IHNlbGYu
cnVuU3RlcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRQcm9wZXJ0eSgnZmFz
dF9jb21taXRfcXVldWUnKSwgTm9uZSwgJ2Zhc3RfY29tbWl0X3F1ZXVlIGlzIHVuZXhwZWN0ZWRs
eSBzZXQnKQorICAgICAgICByZXR1cm4gcmMKKwogICAgIGRlZiB0ZXN0X2Zhc3RfY3FfcGF0Y2hl
c190cmlnZ2VyX2Zhc3RfY3FfbW9kZShzZWxmKToKICAgICAgICAgZmFzdF9jcV9wYXRjaF90aXRs
ZXMgPSAoJ1JFVkVSVCBPRiByMTIzNCcsICdyZXZlcnQgb2YgcjEyMzQnLCAnW2Zhc3QtY3FdUGF0
Y2gnLCAnW0ZBU1QtY3FdIHBhdGNoJywgJ2Zhc3QtY3EtcGF0Y2gnLCAnRkFTVC1DUSBQYXRjaCcp
CiAgICAgICAgIGZvciBmYXN0X2NxX3BhdGNoX3RpdGxlIGluIGZhc3RfY3FfcGF0Y2hfdGl0bGVz
OgotICAgICAgICAgICAgc2VsZi5zZXR1cFN0ZXAoVmFsaWRhdGVQYXRjaCh2ZXJpZnlCdWdDbG9z
ZWQ9RmFsc2UpKQotICAgICAgICAgICAgVmFsaWRhdGVQYXRjaC5nZXRfcGF0Y2hfanNvbiA9IGxh
bWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2godGl0bGU9ZmFzdF9jcV9wYXRjaF90aXRs
ZSkKKyAgICAgICAgICAgIHNlbGYuc2V0dXBTdGVwKFZhbGlkYXRlQ2hhbmdlKHZlcmlmeUJ1Z0Ns
b3NlZD1GYWxzZSkpCisgICAgICAgICAgICBWYWxpZGF0ZUNoYW5nZS5nZXRfcGF0Y2hfanNvbiA9
IGxhbWJkYSB4LCBwYXRjaF9pZDogc2VsZi5nZXRfcGF0Y2godGl0bGU9ZmFzdF9jcV9wYXRjaF90
aXRsZSkKICAgICAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BhdGNoX2lkJywgJzQyNTgwNicp
Ci0gICAgICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0
cmluZz0nVmFsaWRhdGVkIHBhdGNoJykKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShy
ZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdWYWxpZGF0ZWQgY2hhbmdlJykKICAgICAgICAg
ICAgIHJjID0gc2VsZi5ydW5TdGVwKCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vs
Zi5nZXRQcm9wZXJ0eSgnZmFzdF9jb21taXRfcXVldWUnKSwgVHJ1ZSwgJ2Zhc3RfY29tbWl0X3F1
ZXVlIGlzIG5vdCBzZXQsIHBhdGNoIHRpdGxlOiB7fScuZm9ybWF0KGZhc3RfY3FfcGF0Y2hfdGl0
bGUpKQogICAgICAgICByZXR1cm4gcmMK
</data>

          </attachment>
      

    </bug>

</bugzilla>