<?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>96444</bug_id>
          
          <creation_ts>2012-09-11 16:06:03 -0700</creation_ts>
          <short_desc>IndexedDB: fire upgradeneeded even without an explicit integer version</short_desc>
          <delta_ts>2012-09-19 13:28:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>90411</dependson>
          <blocked>96548</blocked>
    
    <blocked>96952</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717670</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-11 16:06:03 -0700</bug_when>
    <thetext>IndexedDB: fire upgradeneeded even without an explicit integer version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717673</commentid>
    <comment_count>1</comment_count>
      <attachid>163468</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-11 16:06:30 -0700</bug_when>
    <thetext>Created attachment 163468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717678</commentid>
    <comment_count>2</comment_count>
      <attachid>163469</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-11 16:08:08 -0700</bug_when>
    <thetext>Created attachment 163469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717758</commentid>
    <comment_count>3</comment_count>
      <attachid>163488</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-11 17:32:49 -0700</bug_when>
    <thetext>Created attachment 163488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717800</commentid>
    <comment_count>4</comment_count>
      <attachid>163492</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-11 18:41:34 -0700</bug_when>
    <thetext>Created attachment 163492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717810</commentid>
    <comment_count>5</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-11 18:47:49 -0700</bug_when>
    <thetext>With this patch we do indeed pass the w3 tests Josh separated out.

Except one, http://w3c-test.org/webapps/IndexedDB/tests/submissions/Ms2ger/idbfactory_open9.htm .  It fails because of a different int-version issue.

This patch doesn&apos;t apply to ToT because it is based on 90411.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718842</commentid>
    <comment_count>6</comment_count>
      <attachid>163725</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-12 15:59:26 -0700</bug_when>
    <thetext>Created attachment 163725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718848</commentid>
    <comment_count>7</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-12 16:03:56 -0700</bug_when>
    <thetext>jsbell@, could you take a look at this? As we predicted there&apos;s not much code change, mostly tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719713</commentid>
    <comment_count>8</comment_count>
      <attachid>163725</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 11:29:27 -0700</bug_when>
    <thetext>Comment on attachment 163725
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=163725&amp;action=review

LGTM!

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp:-342
&gt; -    // FIXME: Change this to strictly greater than 0 once we throw TypeError for

This patch does not alter the (erroneous) behavior for open(name, -1), correct? It&apos;s still an alias for open(name), and that will be fixed (on the front end) in a separate bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720188</commentid>
    <comment_count>9</comment_count>
      <attachid>164020</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-13 18:18:58 -0700</bug_when>
    <thetext>Created attachment 164020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720194</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 18:22:01 -0700</bug_when>
    <thetext>Attachment 164020 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/http...&quot; exit_code: 1
Source/WebCore/ChangeLog:9:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Source/WebCore/ChangeLog:11:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 2 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720240</commentid>
    <comment_count>11</comment_count>
      <attachid>164030</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-13 19:32:30 -0700</bug_when>
    <thetext>Created attachment 164030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720242</commentid>
    <comment_count>12</comment_count>
      <attachid>163725</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-13 19:39:32 -0700</bug_when>
    <thetext>Comment on attachment 163725
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=163725&amp;action=review

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp:-342
&gt;&gt; -    // FIXME: Change this to strictly greater than 0 once we throw TypeError for
&gt; 
&gt; This patch does not alter the (erroneous) behavior for open(name, -1), correct? It&apos;s still an alias for open(name), and that will be fixed (on the front end) in a separate bug?

That&apos;s right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722318</commentid>
    <comment_count>13</comment_count>
      <attachid>164462</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-17 15:31:59 -0700</bug_when>
    <thetext>Created attachment 164462
ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722319</commentid>
    <comment_count>14</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-17 15:33:43 -0700</bug_when>
    <thetext>Tony, could you review this?  I&apos;m not going to land it until tomorrow so it&apos;s not urgent at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722320</commentid>
    <comment_count>15</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-09-17 15:34:05 -0700</bug_when>
    <thetext>Tony, could you review this?  I&apos;m not going to land it until tomorrow so it&apos;s not urgent at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723763</commentid>
    <comment_count>16</comment_count>
      <attachid>164462</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-19 13:28:12 -0700</bug_when>
    <thetext>Comment on attachment 164462
ToT

Clearing flags on attachment: 164462

Committed r129037: &lt;http://trac.webkit.org/changeset/129037&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723764</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-19 13:28:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163468</attachid>
            <date>2012-09-11 16:06:30 -0700</date>
            <delta_ts>2012-09-11 16:08:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120911160605.patch</filename>
            <type>text/plain</type>
            <size>37046</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGJm
YjJhZTI2NzYxNWQ2Mzg1MjNjMGRlMmJlZWU0NWRjNTJmYTM0NGEuLjcxNDQ2ODU1NmEzMTg1NGVm
ZThlODdhYmUyZTc1YjAyYjFjNDI4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC0yNDAs
MTAgKzI0MCw2IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbihjb25z
dCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsCiAgICAgICAgIGNhbGxiYWNrcy0+
b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OklE
Ql9BQk9SVF9FUlIsICJDb25uZWN0aW9uIHdhcyBjbG9zZWQgYmVmb3JlIHNldCB2ZXJzaW9uIHRy
YW5zYWN0aW9uIHdhcyBjcmVhdGVkIikpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlm
IChtX2ludFZlcnNpb24gIT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKSB7Ci0g
ICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0
YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCBTdHJpbmc6OmZvcm1hdCgiWW91IGNhbid0IHVz
ZSB0aGUgc2V0VmVyc2lvbiBmdW5jdGlvbiBpZiB5b3UndmUgYWxyZWFkeSBzZXQgdGhlIHZlcnNp
b24gdGhyb3VnaCBhbiBvcGVuIGNhbGwuICBUaGUgY3VycmVudCBpbnRlZ2VyIHZlcnNpb24gaXMg
JWxsZCIsIHN0YXRpY19jYXN0PGxvbmcgbG9uZz4obV9pbnRWZXJzaW9uKSkpKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KICAgICBmb3IgKERhdGFiYXNlQ2FsbGJhY2tzU2V0Ojpjb25zdF9pdGVy
YXRvciBpdCA9IG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuYmVnaW4oKTsgaXQgIT0gbV9kYXRhYmFz
ZUNhbGxiYWNrc1NldC5lbmQoKTsgKytpdCkgewogICAgICAgICAvLyBGcm9udCBlbmQgZW5zdXJl
cyB0aGUgZXZlbnQgaXMgbm90IGZpcmVkIGF0IGNvbm5lY3Rpb25zIHRoYXQgaGF2ZSBjbG9zZVBl
bmRpbmcgc2V0LgogICAgICAgICBpZiAoKml0ICE9IGRhdGFiYXNlQ2FsbGJhY2tzKQpAQCAtMjcy
LDcgKzI2OCw3IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbihjb25z
dCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsCiAgICAgUmVmUHRyPElEQkRhdGFi
YXNlQmFja2VuZEltcGw+IGRhdGFiYXNlID0gdGhpczsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5z
Y2hlZHVsZVRhc2soCiAgICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNl
QmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbCwgZGF0YWJhc2UsIHZlcnNpb24sIGNhbGxi
YWNrcywgdHJhbnNhY3Rpb24pLAotICAgICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24sIGRhdGFiYXNlLCBtX3ZlcnNpb24pKSkg
eworICAgICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJEYXRhYmFzZUJhY2tlbmRJbXBs
OjpyZXNldFZlcnNpb24sIGRhdGFiYXNlLCBtX3ZlcnNpb24sIG1faW50VmVyc2lvbikpKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGluZXMuCiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7CkBAIC0yODQsNyArMjgwLDggQEAgdm9pZCBJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIFBhc3NSZWYKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4g
dHJhbnNhY3Rpb24gPSBwcnBUcmFuc2FjdGlvbjsKICAgICBpbnQ2NF90IGRhdGFiYXNlSWQgPSBk
YXRhYmFzZS0+aWQoKTsKICAgICBkYXRhYmFzZS0+bV92ZXJzaW9uID0gdmVyc2lvbjsKLSAgICBp
ZiAoIWRhdGFiYXNlLT5tX2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJhc2VNZXRhRGF0YShk
YXRhYmFzZUlkLCBkYXRhYmFzZS0+bV92ZXJzaW9uKSkgeworICAgIGRhdGFiYXNlLT5tX2ludFZl
cnNpb24gPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb247CisgICAgaWYgKCFkYXRh
YmFzZS0+bV9iYWNraW5nU3RvcmUtPnVwZGF0ZUlEQkRhdGFiYXNlTWV0YURhdGEoZGF0YWJhc2VJ
ZCwgZGF0YWJhc2UtPm1fdmVyc2lvbikgfHwgIWRhdGFiYXNlLT5tX2JhY2tpbmdTdG9yZS0+dXBk
YXRlSURCRGF0YWJhc2VJbnRWZXJzaW9uKGRhdGFiYXNlSWQsIGRhdGFiYXNlLT5tX2ludFZlcnNp
b24pKSB7CiAgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVh
dGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiRXJyb3Igd3JpdGluZyBkYXRh
IHRvIHN0YWJsZSBzdG9yYWdlLiIpKTsKICAgICAgICAgdHJhbnNhY3Rpb24tPmFib3J0KCk7CiAg
ICAgICAgIHJldHVybjsKQEAgLTQzNywxNiArNDM0LDIwIEBAIFBhc3NSZWZQdHI8SURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlv
bihECiB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6Om9wZW5Db25uZWN0aW9uKFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFj
a3M+IGRhdGFiYXNlQ2FsbGJhY2tzKQogewogICAgIEFTU0VSVChtX2JhY2tpbmdTdG9yZS5nZXQo
KSk7Ci0gICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxscy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5n
VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3BlbmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNF
bXB0eSgpKQorICAgIGlmICghbV9wZW5kaW5nRGVsZXRlQ2FsbHMuaXNFbXB0eSgpIHx8IG1fcnVu
bmluZ1ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbiB8fCAhbV9wZW5kaW5nU2V0VmVyc2lvbkNhbGxz
LmlzRW1wdHkoKSkgewogICAgICAgICBtX3BlbmRpbmdPcGVuQ2FsbHMuYXBwZW5kKFBlbmRpbmdP
cGVuQ2FsbDo6Y3JlYXRlKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFja3MpKTsKLSAgICBlbHNl
IHsKLSAgICAgICAgaWYgKG1faWQgPT0gSW52YWxpZElkICYmICFvcGVuSW50ZXJuYWwoKSkKLSAg
ICAgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURC
RGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOwotICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgIG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuYWRkKFJlZlB0
cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsKLSAgICAgICAgICAg
IGNhbGxiYWNrcy0+b25TdWNjZXNzKHRoaXMpOwotICAgICAgICB9CisgICAgICAgIHJldHVybjsK
ICAgICB9CisgICAgaWYgKG1faWQgPT0gSW52YWxpZElkICYmICFvcGVuSW50ZXJuYWwoKSkgewor
ICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobV92ZXJzaW9uID09ICIiICYmIG1faW50VmVyc2lv
biA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKKyAgICAgICAgb3BlbkNv
bm5lY3Rpb25XaXRoVmVyc2lvbihjYWxsYmFja3MsIGRhdGFiYXNlQ2FsbGJhY2tzLCAxKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmFkZChSZWZQ
dHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KGRhdGFiYXNlQ2FsbGJhY2tzKSk7CisgICAgY2FsbGJh
Y2tzLT5vblN1Y2Nlc3ModGhpcyk7CiB9CiAKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
cnVuSW50VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKGludDY0X3QgcmVxdWVzdGVkVmVyc2lvbiwg
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJEYXRh
YmFzZUNhbGxiYWNrcz4gcHJwRGF0YWJhc2VDYWxsYmFja3MpCkBAIC02MTIsOSArNjEzLDExIEBA
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6YWRkT2JqZWN0U3RvcmVUb01hcChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlCiAgICAgZGF0YWJhc2UtPm1fb2JqZWN0U3RvcmVzLnNl
dChvYmplY3RTdG9yZVB0ci0+bmFtZSgpLCBvYmplY3RTdG9yZVB0cik7CiB9CiAKLXZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlLCBjb25zdCBTdHJp
bmcmIHZlcnNpb24pCit2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBs
PiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBpbnQ2NF90IG9sZEludFZlcnNpb24p
CiB7CiAgICAgZGF0YWJhc2UtPm1fdmVyc2lvbiA9IHZlcnNpb247CisgICAgaWYgKHZlcnNpb24g
PT0gIiIpCisgICAgICAgIGRhdGFiYXNlLT5tX2ludFZlcnNpb24gPSBvbGRJbnRWZXJzaW9uOwog
fQogCiB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0SW50VmVyc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRh
YmFzZSwgaW50NjRfdCBvbGRWZXJzaW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCmluZGV4IDIyY2NjNDMy
MjBiNTA0ZmU3MDY4NTY3YjU5YTQ3NjI1NWVlYTg1NGQuLjBmZTU2NjliMTY0NGMyZTQzM2JjZTE2
MzI1MzFiMDZiMTc2ODg5NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKQEAgLTkxLDcgKzkxLDcgQEAg
cHJpdmF0ZToKICAgICAvLyBUaGVzZSBhcmUgdXNlZCBhcyBzZXRWZXJzaW9uIHRyYW5zYWN0aW9u
IGFib3J0IHRhc2tzLgogICAgIHN0YXRpYyB2b2lkIHJlbW92ZU9iamVjdFN0b3JlRnJvbU1hcChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBs
PiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPik7CiAgICAgc3RhdGljIHZv
aWQgYWRkT2JqZWN0U3RvcmVUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsPik7Ci0gICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBjb25zdCBTdHJpbmcm
IHZlcnNpb24pOworICAgIHN0YXRpYyB2b2lkIHJlc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uLCBpbnQ2NF90IGludFZlcnNpb24pOwogICAgIHN0YXRpYyB2b2lkIHJlc2V0SW50
VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsPiwgaW50NjRfdCBpbnRWZXJzaW9uKTsKIAogICAgIFJlZlB0cjxJREJCYWNraW5n
U3RvcmU+IG1fYmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcAppbmRleCBkY2RlZWNk
MDAyZWIyZGJiNTg1NTJiNmE0YmEyZDkxYWUxNjQxZGRjLi5lYTljMjdlNGJlMzFlMDQ3N2U3MTQy
ZWVjOTAxYjJhMTcwYjJlODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcApAQCAtMzM5LDggKzMz
OSw4IEBAIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Y3JlYXRlSURCRGF0YWJhc2VNZXRh
RGF0YShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0CiBib29sIElEQkxldmVsREJCYWNraW5nU3Rv
cmU6OnVwZGF0ZUlEQkRhdGFiYXNlSW50VmVyc2lvbihpbnQ2NF90IHJvd0lkLCBpbnQ2NF90IGlu
dFZlcnNpb24pCiB7CiAgICAgQVNTRVJUKG1fY3VycmVudFRyYW5zYWN0aW9uKTsKLSAgICAvLyBG
SVhNRTogQ2hhbmdlIHRoaXMgdG8gc3RyaWN0bHkgZ3JlYXRlciB0aGFuIDAgb25jZSB3ZSB0aHJv
dyBUeXBlRXJyb3IgZm9yCi0gICAgLy8gYmFkIHZlcnNpb25zLgorICAgIGlmIChpbnRWZXJzaW9u
ID09IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikKKyAgICAgICAgaW50VmVyc2lv
biA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOwogICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UoaW50VmVyc2lvbiA+PSAwLCAiaW50VmVyc2lvbiB3YXMgJWxsZCIsIHN0YXRp
Y19jYXN0PGxvbmcgbG9uZz4oaW50VmVyc2lvbikpOwogICAgIGlmICghcHV0VmFySW50KG1fY3Vy
cmVudFRyYW5zYWN0aW9uLmdldCgpLCBEYXRhYmFzZU1ldGFEYXRhS2V5OjplbmNvZGUocm93SWQs
IERhdGFiYXNlTWV0YURhdGFLZXk6OlVzZXJJbnRWZXJzaW9uKSwgaW50VmVyc2lvbikpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQk9wZW5EQlJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKaW5kZXggNmVmMTZjZjAyOTNhNjkxOTBmOTZjZDNh
ODVhYzM1MjcyM2ViYjZmMy4uN2I0NGM2NTg3NDIyZTg0MjcxNWIwYWQ1M2JiYWVlMGZmNDU1Njhm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRC
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3Bl
bkRCUmVxdWVzdC5jcHAKQEAgLTg4LDkgKzg4LDExIEBAIHZvaWQgSURCT3BlbkRCUmVxdWVzdDo6
b25VcGdyYWRlTmVlZGVkKGludDY0X3Qgb2xkVmVyc2lvbiwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
CiAgICAgbV9yZXN1bHQgPSBJREJBbnk6OmNyZWF0ZShpZGJEYXRhYmFzZS5yZWxlYXNlKCkpOwog
CiAgICAgaWYgKG9sZFZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9u
KSB7Ci0gICAgICAvLyBUaGlzIGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2ZXJzaW9u
IGJlZm9yZS4KLSAgICAgIG9sZFZlcnNpb24gPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpEZWZhdWx0
SW50VmVyc2lvbjsKKyAgICAgICAgLy8gVGhpcyBkYXRhYmFzZSBoYXNuJ3QgaGFkIGFuIGludGVn
ZXIgdmVyc2lvbiBiZWZvcmUuCisgICAgICAgIG9sZFZlcnNpb24gPSBJREJEYXRhYmFzZU1ldGFk
YXRhOjpEZWZhdWx0SW50VmVyc2lvbjsKICAgICB9CisgICAgaWYgKG1fdmVyc2lvbiA9PSBJREJE
YXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pCisgICAgICAgIG1fdmVyc2lvbiA9IDE7CiAg
ICAgZW5xdWV1ZUV2ZW50KElEQlVwZ3JhZGVOZWVkZWRFdmVudDo6Y3JlYXRlKG9sZFZlcnNpb24s
IG1fdmVyc2lvbiwgZXZlbnROYW1lcygpLnVwZ3JhZGVuZWVkZWRFdmVudCkpOwogfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9h
ZHMtZXhwZWN0ZWQudHh0CmluZGV4IDMzY2JiNGM2NDY3NDBiMTg1MzZiZjYzZjA4MTI5NTViZTE4
NTIzYjkuLjI5M2UxYWQwNzY5Zjc5MzUxMmQwYjIxMzQ2MjJmMTMxNTYyMTJlNzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9h
ZHMtZXhwZWN0ZWQudHh0CkBAIC0zMyw3ICszMyw3IEBAIGRibmFtZSA9ICdjdXJzb3Itb3Zlcmxv
YWRzJwogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRi
bmFtZSkKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorRkFJTCBk
Yi52ZXJzaW9uIHNob3VsZCBiZSAgKG9mIHR5cGUgc3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgbnVt
YmVyKS4KIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgn
c3RvcmUnKQogaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAndmFsdWUnKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRh
YmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGNiYTk5NThmYTg4MGY0ZmRlODE2ZmFmZTkwNGU5N2NkM2ZiNWUyZmYuLjUyZjcyOTQ0MTBj
NjQ0NmVhNmQ0NmFlNDhhZTNhNDQwZGJkNDhjZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0
ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgc2Vs
Zi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gub3Bl
bi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJhc2UoKScKICdoLm9udmVyc2lvbmNoYW5nZScKLSAg
ICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBuZXcgPSAiIgorICAgIGluIHZlcnNpb25jaGFu
Z2UsIG9sZCA9IDEgbmV3ID0gIiIKICAgICBoIGNsb3NpbmcsIGJ1dCBub3QgaW1tZWRpYXRlbHkK
ICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdoLmNsb3NlJwpAQCAtMjUsNyArMjUsNyBA
QCBzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAn
aC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gub252ZXJzaW9uY2hhbmdl
JwotICAgIGluIHZlcnNpb25jaGFuZ2UsIG9sZCA9ICIiIG5ldyA9ICIiCisgICAgaW4gdmVyc2lv
bmNoYW5nZSwgb2xkID0gMSBuZXcgPSAiIgogICAgIGggY2xvc2luZyBpbW1lZGlhdGVseQogJ2gu
Y2xvc2UnCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCkBAIC01OCw3ICs1OCw3IEBAIHNl
bGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLnNl
dFZlcnNpb24nCiAnZGVsZXRlRGF0YWJhc2UoKScKICdoMi5vbnZlcnNpb25jaGFuZ2UnCi0gICAg
aW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3ID0gIjEiCisgICAgaW4gdmVyc2lvbmNoYW5n
ZSwgb2xkID0gMSBuZXcgPSAiMSIKICdoLnNldFZlcnNpb24ub25ibG9ja2VkJwogJ2gzLm9wZW4n
CiAnaDIuY2xvc2UnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0CmluZGV4
IDA0ZjI4MWFhZDg0N2U4ODY4NjJmNzM5YWU0Y2ZhMjk0NzI3MjYyZjAuLjg3NWNlYmVmNmNiOTY2
NWNkZmE0OWY2ODkxYzJjYjQ2NDliNmQ2YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24t
ZXhwZWN0ZWQudHh0CkBAIC0xMiw5ICsxMiwxMSBAQCBGQUlMIFN0cmluZyhyZXF1ZXN0KSBzaG91
bGQgYmUgW29iamVjdCBJREJPcGVuREJSZXF1ZXN0XS4gV2FzIFtvYmplY3QgSURCVmVyc2lvbgog
Q2FsbCBvcGVuIHdpdGggbm8gdmVyc2lvbiBwYXJhbWV0ZXI6CiBpbmRleGVkREIub3BlbihkYm5h
bWUpCiAKK2luaXRpYWxVcGdyYWRlTmVlZGVkKCk6CisKIG9wZW5TdWNjZXNzKCk6CiBkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9u
IGlzIDEKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzb21lIHZlcnNpb24iKQogCiBpblNldFZl
cnNpb24oKToKQEAgLTQ3LDE4ICs0OSwzMSBAQCBkaWRUcmFuc2FjdGlvbkNvbXBsZXRlID0gdHJ1
ZQogZmlyc3RPcGVuV2l0aFZlcnNpb24oKToKIFBBU1MgZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSBp
cyB0cnVlCiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK2RiLm9udmVyc2lvbmNoYW5nZSA9IHZl
cnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludAogUEFTUyBTdHJpbmcoZGIpIGlzICJbb2Jq
ZWN0IElEQkRhdGFiYXNlXSIKIFBBU1MgcmVxdWVzdC50cmFuc2FjdGlvbiBpcyBudWxsCiBQQVNT
IGRiLnZlcnNpb24gaXMgMgogUEFTUyBTdHJpbmcocmVxdWVzdCkgaXMgIltvYmplY3QgSURCT3Bl
bkRCUmVxdWVzdF0iCiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic3RyaW5nIHZlcnNpb24gMiIp
CiBQQVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVz
dF0iCi1yZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJzaW9uTm90QWxsb3dlZAorcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2sKKworc2Vjb25kU2V0VmVyc2lvbkNhbGxi
YWNrKCk6Cit0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zYWN0aW9uLm9u
Y29tcGxldGUgPSBzZXRJbnRWZXJzaW9uMgorCitzZXRJbnRWZXJzaW9uMigpOgorcmVxdWVzdCA9
IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKK3JlcXVlc3Qub25zdWNjZXNzID0gdmVyc2lvbjJD
b25uZWN0aW9uU3VjY2VzcworcmVxdWVzdC5vbmJsb2NrZWQgPSB2ZXJzaW9uMkNvbm5lY3Rpb25C
bG9ja2VkCiAKLXNldFZlcnNpb25Ob3RBbGxvd2VkKCk6Ci1QQVNTIGV2ZW50LnR5cGUgaXMgImVy
cm9yIgotcmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UgPSBZb3UgY2FuJ3QgdXNlIHRoZSBzZXRW
ZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBhbHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0aHJvdWdo
IGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50IGludGVnZXIgdmVyc2lvbiBpcyAyCit2ZXJzaW9u
Q2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQoKToKIGRiLmNsb3NlKCkKKwordmVyc2lvbjJDb25u
ZWN0aW9uQmxvY2tlZCgpOgorCit2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzKCk6CitldmVudC50
YXJnZXQucmVzdWx0LmNsb3NlKCkKIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDEp
CiByZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYmFkLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lv
bi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggN2ExOGVkMmQ5ZTdmNGQwNTNkZTA0
ZGZlZGY4NTdhNGZkMDk0NjE2ZS4uZTU1ZmQzYzIxMzE0MGQzZDg4MTQ1MTU1YTE4ODZiZDliMGYz
MTUzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lv
bi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTIyLDcg
KzIyLDcgQEAgUEFTUyBpbmRleGVkREIub3BlbihkYm5hbWUsIC01KSB0aHJldyBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IKIEZJWE1FOiBVc2luZyAtMSBkb2Vzbid0IHRocm93IFR5cGVFcnJvciBidXQg
aXQgc2hvdWxkCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYm5hbWUsIC0xKQogRkFJTCBObyBleGNlcHRpb24gdGhyb3duIQotRkFJ
TCBTdWNjZXNzIGZ1bmN0aW9uIGNhbGxlZCB1bmV4cGVjdGVkbHkuCitGQUlMIG9udXBncmFkZW5l
ZWRlZCBjYWxsZWQgdW5leHBlY3RlZGx5CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZh
bGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyOGNjN2ZkMDExOWI2NzEwM2JkMzljMTYwZGM5YzQ3ZmQx
Mzg4ZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24t
aGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MiAr
MCwwIEBACi1UZXN0IHRoYXQgd2hlbiBzZXRWZXJzaW9uIGlzIGNhbGxlZCBvbiBhIGRiIHdpdGgg
YW4gaW50ZWdlciB2ZXJzaW9uLCB2ZXJzaW9uY2hhbmdlIGV2ZW50cyBkb24ndCBnZXQgZmlyZWQg
b24gb3RoZXIgb3BlbiBkYnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1pbmRl
eGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1v
ekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKLQotZGJu
YW1lID0gImludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMu
aHRtbCIKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCi0KLWRlbGV0ZVN1Y2Nlc3Mo
KToKLXJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCi0KLWZpcnN0VXBncmFkZU5l
ZWRlZENhbGxiYWNrKCk6Ci1nb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUKLVBBU1Mg
ZXZlbnQub2xkVmVyc2lvbiBpcyAwCi1QQVNTIGV2ZW50Lm5ld1ZlcnNpb24gaXMgMgotCi1maXJz
dFN1Y2Nlc3NFdmVudEhhbmRsZXIoKToKLVBBU1MgZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQg
aXMgdHJ1ZQotY29ubmVjdGlvbjEgPSBldmVudC50YXJnZXQucmVzdWx0Ci1jb25uZWN0aW9uMS5v
bnZlcnNpb25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrCi1QQVNTIFN0
cmluZyhjb25uZWN0aW9uMSkgaXMgIltvYmplY3QgSURCRGF0YWJhc2VdIgotcmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotc2Vjb25kU3VjY2Vzc0NhbGxiYWNrKCk6Ci1kYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uJykKLXJl
cXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25FcnJvcgotcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1bmV4
cGVjdGVkU3VjY2Vzc0NhbGxiYWNrCi1yZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9j
a2VkQ2FsbGJhY2sKLQotc2V0VmVyc2lvbkVycm9yKCk6Ci1PcGVuIHVwIGEgbmV3IGRiIHRvIGVu
c3VyZSB0aGF0IGlmIGNvbm5lY3Rpb24xIHdlcmUgdG8gZ2V0IGEgdmVyc2lvbmNoYW5nZSBldmVu
dCwgaXQgd2lsbCBiZSBkZWxpdmVyZWQgYmVmb3JlIHRoZSB0ZXN0IGZpbmlzaGVzCi1uZXdfZGIg
PSBpbmRleGVkREIub3BlbihkYm5hbWUgKyAnMicpCi1uZXdfZGIub25zdWNjZXNzID0gbmV3REJT
dWNjZXNzCi0KLW5ld0RCU3VjY2VzcygpOgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1z
ZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZTI5YTAzYjM3MzRhMzI3NDEyMDE4OTY4YmI1OWYzN2NiYWZiMTZhOS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1l
ZmZlY3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQt
c2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dAppbmRl
eCAyZmNmMGI3ZmU1N2Y0NzcwNDc4YWE1ZWI3NGIzOWFhMzE1MzgwMDAyLi4yNzZjM2RiODE2N2Rh
N2NmNTEyNmEwMWM5MGIyZWNiMWQwZjIzODk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVy
LWV4cGVjdGVkLnR4dApAQCAtOCwxMSArOCwxMiBAQCBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWRE
QiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLgog
ZGJuYW1lID0gImludHZlcnNpb24tb21pdC1wYXJhbWV0ZXIuaHRtbCIKIGluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZShkYm5hbWUpCiBpbmRleGVkREIub3BlbihkYm5hbWUpCitQQVNTIEdvdCB1cGdy
YWRlbmVlZGVkIGV2ZW50CiAKIG9wZW5TdWNjZXNzKCk6CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQKIFRlc3QgbGluZSBmcm9tIElEQkZhY3Rvcnkub3BlbjogSWYgbm8gdmVyc2lvbiBpcyBzcGVj
aWZpZWQgYW5kIG5vIGRhdGFiYXNlIGV4aXN0cywgc2V0IGRhdGFiYXNlIHZlcnNpb24gdG8gMS4K
LUZBSUwgZGIudmVyc2lvbiBzaG91bGQgYmUgMSAob2YgdHlwZSBudW1iZXIpLiBXYXMgIChvZiB0
eXBlIHN0cmluZykuCitQQVNTIGRiLnZlcnNpb24gaXMgMQogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1u
by12ZXJzaW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQxNGNkYzc3ODAyZDMxM2NiNTFi
M2U3NTMwMjc5MTI1Zjk3MWMxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM0IEBACitUZXN0IHRoYXQgb25seSB0aGUgZmlyc3Qgb3BlbiBjYWxsIGdl
dHMgYW4gdXBncmFkZW5lZWRlZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5k
ZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5t
b3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2Ri
bmFtZSA9ICJpbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sIgoraW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK3JlcXVlc3Qu
b25zdWNjZXNzID0gY29ubmVjdGlvbjFPcGVuU3VjY2VzcworcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK3Jl
cXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjJPcGVuU3VjY2VzcworcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQKKworY29ubmVjdGlvbjFVcGdyYWRl
TmVlZGVkKCk6Citnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUKK1BBU1MgZXZlbnQu
b2xkVmVyc2lvbiBpcyAwCitQQVNTIGV2ZW50Lm5ld1ZlcnNpb24gaXMgMQorCitjb25uZWN0aW9u
MU9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgZ290Rmlyc3RV
cGdyYWRlTmVlZGVkRXZlbnQgaXMgdHJ1ZQorUEFTUyBkYi52ZXJzaW9uIGlzIDEKKworY29ubmVj
dGlvbjJPcGVuU3VjY2VzcygpOgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CitQQVNTIGdvdFNl
Y29uZFVwZ3JhZGVOZWVkZWRFdmVudCBpcyBmYWxzZQorUEFTUyBkYi52ZXJzaW9uIGlzIDEKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1u
by12ZXJzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lv
bi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDU2NzU3N2FlZjExMjcx
MzY5ZDgwNzllYzI0YzZlZmJlYTMzZGEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbApA
QCAtMCwwICsxLDEwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggOWNiYTAwYTJi
ZmNlMWNlMzQxZjdmOTU5MzUzZGFlNjQ0YWQ2NDk0Zi4uZjI2YWFjYzkzZWQyN2UzOTEwMTJlYWNh
YWEwYjY2NGE4Y2Q5MzZiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgdGVz
dFN0b3Jlc0FuZEluZGV4ZXMoKToKIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnbGlzdC1vcmRl
cmluZycpCiBpbmRleGVkREIub3BlbignbGlzdC1vcmRlcmluZycpCiBkYiA9IHJlcXVlc3QucmVz
dWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK0ZBSUwgZGIudmVyc2lvbiBzaG91bGQgYmUgIChv
ZiB0eXBlIHN0cmluZykuIFdhcyAxIChvZiB0eXBlIG51bWJlcikuCiBkYi5zZXRWZXJzaW9uKCcx
JykKIAogT2JqZWN0IHN0b3JlczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3ZlcnNpb25jaGFuZ2UtYWJvcnQuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLWFi
b3J0LmpzCmluZGV4IGUwMzZhMDVlMjljZTliM2RlNDU5ZTVmM2ZhYjAwNzIwNjFlYzYxZTEuLjZl
ZjBkMzkxNTc1NTk2NWRmNTdmY2QwNGNjNTMwNjQxZmQ3YWZkOTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3ZlcnNpb25jaGFuZ2Ut
YWJvcnQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNv
dXJjZXMvdmVyc2lvbmNoYW5nZS1hYm9ydC5qcwpAQCAtMjEsMTcgKzIxLDE5IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
fQogCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCitmdW5jdGlvbiBvcGVuU3VjY2VzcyhldnQpCiB7
CisgICAgcHJlYW1ibGUoZXZ0KTsKICAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOwotICAgIGluaXRpYWxWZXJzaW9uID0gZXZhbEFuZExvZygiaW5pdGlhbFZl
cnNpb24gPSBkYi52ZXJzaW9uOyIpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0
ID0gZGIuc2V0VmVyc2lvbignMicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRh
dGFiYXNlOworICAgIGV2YWxBbmRMb2coImluaXRpYWxWZXJzaW9uID0gZGIudmVyc2lvbjsiKTsK
KyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMicpIik7CisgICAgZXZh
bEFuZExvZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlIik7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKLWZ1bmN0aW9uIGNsZWFu
RGF0YWJhc2UoKQorZnVuY3Rpb24gY2xlYW5EYXRhYmFzZShldnQpCiB7CisgICAgcHJlYW1ibGUo
ZXZ0KTsKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAgICAgb2JqZWN0U3RvcmUg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmb28nKTsi
KTsKQEAgLTQxLDE2ICs0MywxNyBAQCBmdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKICAgICBzaG91
bGRCZSgib2JqZWN0U3RvcmUuaW5kZXhOYW1lcy5sZW5ndGgiLCAiMSIpOwogCiAgICAgZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNr
OwotICAgIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5vbmFib3J0ID0gcG9zdEFib3J0OworICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5vbmFib3J0ID0gcG9zdEFib3J0
Iik7CiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLmFib3J0KCk7Iik7
CiB9CiAKIGZ1bmN0aW9uIHBvc3RBYm9ydCgpCiB7CisgICAgcHJlYW1ibGUoKTsKICAgICBzaG91
bGRCZSgiZGIudmVyc2lvbiIsICJpbml0aWFsVmVyc2lvbiIpOwogICAgIHNob3VsZEJlKCJkYi5v
YmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIwIik7CiAKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
IAotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Rlc3QoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS1h
Ym9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L3ZlcnNpb25jaGFuZ2UtYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDlmMjAyYmYwMDg2OWI4YzY4
NjM0ODZmOTZkMGM3ZWYyMjIyNDU4YTUuLjFlNWYzMzI0ODgyYzVjZWQ0ZGMxZTVkMTJlZWY4MWI4
YThlZmNkMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvdmVyc2lvbmNoYW5nZS1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0LWV4cGVjdGVkLnR4dApA
QCAtNiwxNSArNiwyMyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogaW5kZXhlZERCID0gc2Vs
Zi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIg
fHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKIGluZGV4ZWREQi5vcGVu
KG5hbWUpCisKK29wZW5TdWNjZXNzKCk6CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIGluaXRp
YWxWZXJzaW9uID0gZGIudmVyc2lvbjsKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcyJykKK3Jl
cXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZQorCitjbGVhbkRhdGFiYXNlKCk6CiBEZWxl
dGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnZm9vJyk7CiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDEKIGluZGV4ID0g
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2JhcicsICdiYXonKTsKIFBBU1Mgb2JqZWN0U3RvcmUu
aW5kZXhOYW1lcy5sZW5ndGggaXMgMQorZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uYWJvcnQg
PSBwb3N0QWJvcnQKIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5hYm9ydCgpOworCitwb3N0QWJv
cnQoKToKIFBBU1MgZGIudmVyc2lvbiBpcyBpbml0aWFsVmVyc2lvbgogUEFTUyBkYi5vYmplY3RT
dG9yZU5hbWVzLmxlbmd0aCBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhwZWN0ZWQudHh0
CmluZGV4IDU1OGM4N2E4MTY3OGE3OTU2Y2E0NjFmMmRjYWYxMTRhY2M0Y2M4NmIuLjZjMjQxNDM1
Njg2NzU4OTNkOGU3MWNjODNkMDA3MTBiNDg5Y2UxMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsxMCw3IEBA
IFByZXBhcmUgRGF0YWJhc2UKIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnbm9ibG9icycpCiBp
bmRleGVkREIub3Blbignbm9ibG9icycpCiBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZl
cnNpb24gaXMgIiIKK0ZBSUwgZGIudmVyc2lvbiBzaG91bGQgYmUgIChvZiB0eXBlIHN0cmluZyku
IFdhcyAxIChvZiB0eXBlIG51bWJlcikuCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIu
Y3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5wdXQoJ3ZhbHVlJywgJ2tleScp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10
cmFuc2FjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
cGVuLWR1cmluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWNhZmNlOGY5NzUyYzhi
M2IwMWU2NWIzMTM0ODUzODZkMWE4YTRlNi4uODA1NzYzZjk5OWVmYjNkMzNhNDY0ZDM0N2YyOTE5
NmZkNGI5OGJiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Bl
bi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTks
NyArMTksNyBAQCB0cmFucyA9IGRiYzEudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3Jp
dGUnKQogdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpLnB1dCgndmFsdWUnLCAna2V5JykK
IAogdHJ5aW5nIHRvIG9wZW4gdGhlIHNhbWUgZGF0YWJhc2UKLW9wZW5yZXEyID0gaW5kZXhlZERC
Lm9wZW4oJ2RiMScpCitvcGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFu
c2FjdGlvbjEnKQogCiB0cnlpbmcgdG8gb3BlbiBhIGRpZmZlcmVudCBkYXRhYmFzZQogb3BlbnJl
cTMgPSBpbmRleGVkREIub3Blbignb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24yJykKQEAgLTI4LDEy
ICsyOCwxMiBAQCBvcGVucmVxMi5vbnN1Y2Nlc3MKIFBBU1Mgc3RhdGUgaXMgInN0YXJ0aW5nIgog
c3RhdGUgPSAnb3BlbjJjb21wbGV0ZScKIAordHJhbnNhY3Rpb24gY29tcGxldGUKK1BBU1Mgc3Rh
dGUgaXMgIm9wZW4yY29tcGxldGUiCisKIG9wZW5yZXEzLm9uc3VjY2VzcwogUEFTUyBzdGF0ZSBp
cyAib3BlbjJjb21wbGV0ZSIKIHN0YXRlID0gJ29wZW4zY29tcGxldGUnCi0KLXRyYW5zYWN0aW9u
IGNvbXBsZXRlCi1QQVNTIHN0YXRlIGlzICJvcGVuM2NvbXBsZXRlIgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0Cmlu
ZGV4IDAzNjUzNGFjYzVmYjczNWUzNGFkNTRkMWFjNzVlOTg0MjkxNmFmNzMuLjNmY2NiNDg5NTcx
ZWY1ZGJjMzBjZmE3ZjdhMTQyZDM3OTAxOWMwMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0CkBA
IC0xMSw3ICsxMSw3IEBAIHByZXBhcmVEYXRhYmFzZSgpOgogaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRiID0gcmVxdWVzdC5yZXN1bHQK
LVBBU1MgZGIudmVyc2lvbiBpcyAiIgorRkFJTCBkYi52ZXJzaW9uIHNob3VsZCBiZSAgKG9mIHR5
cGUgc3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgbnVtYmVyKS4KIGRiLnNldFZlcnNpb24oJzEnKQog
c3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQogc3RvcmUucHV0KDAsIDApCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5
LXdvcmtlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVu
ZGluZy1hY3Rpdml0eS13b3JrZXJzLWV4cGVjdGVkLnR4dAppbmRleCA2NGU3YWFkZGViY2MyNmMy
Y2YzNTYwMDY3NjE2YjY1YzA5YWM4NmM0Li41MTkzNTliYjc0NjEwNGZhNTFmOTNlNWRhOTFiOWU0
MTdiYjg4OTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5k
aW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBlY3RlZC50eHQKQEAgLTEy
LDcgKzEyLDcgQEAgU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5q
cwogW1dvcmtlcl0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIFtXb3JrZXJdIGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSkKIFtXb3JrZXJdIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1Mg
W1dvcmtlcl0gZGIudmVyc2lvbiBpcyAiIgorRkFJTCBbV29ya2VyXSBkYi52ZXJzaW9uIHNob3Vs
ZCBiZSAgKG9mIHR5cGUgc3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgbnVtYmVyKS4KIFtXb3JrZXJd
IGRiLnNldFZlcnNpb24oJzEnKQogW1dvcmtlcl0gc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmUnKQogW1dvcmtlcl0gc3RvcmUucHV0KDAsIDApCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lv
bi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9u
LWFuZC1zZXR2ZXJzaW9uLmpzCmluZGV4IGMwOWNhODgxMDBlZDAxYjgxY2E5ZWIyN2M2NWIxZTNl
OTQyZjI3ZjUuLjBjNzgxZmQxMTE4YmM2MmNkYjYwYzU1MjBmOTg2MTg0YTMzNDM5NGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9u
LWFuZC1zZXR2ZXJzaW9uLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzCkBAIC0yMiwxNyArMjIsMjMgQEAg
ZnVuY3Rpb24gZGVsZXRlU3VjY2VzcyhldnQpIHsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0g
ICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxi
YWNrOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gaW5pdGlhbFVwZ3JhZGVOZWVkZWQ7
CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogfQog
CisKK2Z1bmN0aW9uIGluaXRpYWxVcGdyYWRlTmVlZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShl
dnQpOworfQorCiBmdW5jdGlvbiBvcGVuU3VjY2VzcyhldnQpCiB7CiAgICAgZXZlbnQgPSBldnQ7
CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOwogICAgIGRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwg
IjEiKTsKICAgICBldmFsQW5kTG9nKCdyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic29tZSB2ZXJz
aW9uIiknKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGluU2V0VmVyc2lvbjsKICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTg1LDkgKzkxLDcgQEAg
ZnVuY3Rpb24gc2Vjb25kT3BlbihldnQpCiAKIGZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZChl
dnQpCiB7Ci0gICAgZXZlbnQgPSBldnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJmaXJz
dFVwZ3JhZGVOZWVkZWQoKToiKTsKKyAgICBwcmVhbWJsZShldnQpOwogICAgIGV2YWxBbmRMb2co
ImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
U3RyaW5nKGRiKSIsICJbb2JqZWN0IElEQkRhdGFiYXNlXSIpOwogICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiU3RyaW5nKHJlcXVlc3QudHJhbnNhY3Rpb24pIiwgIltvYmplY3QgSURCVHJhbnNh
Y3Rpb25dIik7CkBAIC0xMDAsNDkgKzEwNCw2OCBAQCBmdW5jdGlvbiBmaXJzdFVwZ3JhZGVOZWVk
ZWQoZXZ0KQogdmFyIGRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSBmYWxzZTsKIGZ1bmN0aW9uIHRy
YW5zYWN0aW9uQ29tcGxldGVkKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1Zygi
Iik7Ci0gICAgZGVidWcoInRyYW5zYWN0aW9uQ29tcGxldGVkKCk6Iik7CisgICAgcHJlYW1ibGUo
ZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkaWRUcmFuc2FjdGlvbkNvbXBsZXRlID0gdHJ1ZSIpOwog
fQogCiBmdW5jdGlvbiBmaXJzdE9wZW5XaXRoVmVyc2lvbihldnQpCiB7Ci0gICAgZXZlbnQgPSBl
dnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJmaXJzdE9wZW5XaXRoVmVyc2lvbigpOiIp
OworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgc2hvdWxkQmVUcnVlKCJkaWRUcmFuc2FjdGlvbkNv
bXBsZXRlIik7CiAgICAgZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Cisg
ICAgZXZhbEFuZExvZygiZGIub252ZXJzaW9uY2hhbmdlID0gdmVyc2lvbkNoYW5nZUdvaW5nRnJv
bVN0cmluZ1RvSW50Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcoZGIpIiwg
IltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAgc2hvdWxkQmVOdWxsKCJyZXF1ZXN0LnRyYW5z
YWN0aW9uIik7CiAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMiIpOwogICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiU3RyaW5nKHJlcXVlc3QpIiwgIltvYmplY3QgSURCT3BlbkRCUmVxdWVz
dF0iKTsKICAgICBldmFsQW5kTG9nKCdyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic3RyaW5nIHZl
cnNpb24gMiIpJyk7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcocmVxdWVzdCki
LCAiW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdF0iKTsKKyAgICBldmFsQW5kTG9nKCJy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFNldFZlcnNpb25DYWxsYmFjayIpOwogICAgIHJlcXVl
c3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgZXZhbEFuZExvZygicmVx
dWVzdC5vbmVycm9yID0gc2V0VmVyc2lvbk5vdEFsbG93ZWQiKTsKKyAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAotZnVuY3Rpb24gc2V0VmVyc2lvbk5v
dEFsbG93ZWQoZXZ0KQorZnVuY3Rpb24gc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKGV2dCkKIHsK
LSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoInNldFZlcnNpb25O
b3RBbGxvd2VkKCk6Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50eXBlIiwg
ImVycm9yIik7Ci0gICAgZGVidWcoInJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlID0gIiArIHJl
cXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlKTsKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxB
bmRMb2coInRyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGV2YWxBbmRM
b2coInRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBzZXRJbnRWZXJzaW9uMiIpOworfQorCitmdW5j
dGlvbiBzZXRJbnRWZXJzaW9uMihldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFs
QW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIGV2YWxB
bmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gdmVyc2lvbjJDb25uZWN0aW9uU3VjY2VzcyIpOwor
ICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25ibG9ja2VkID0gdmVyc2lvbjJDb25uZWN0aW9uQmxv
Y2tlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwor
fQorCitmdW5jdGlvbiB2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQoZXZ0KQorewor
ICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOworfQorCitm
dW5jdGlvbiB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShl
dnQpOworfQorCitmdW5jdGlvbiB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzKGV2dCkKK3sKKyAg
ICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY2xv
c2UoKSIpOwogICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUs
IDEpIik7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbmVycm9yID0gZXJyb3JXaGVuVHJ5aW5n
TG93VmVyc2lvbiIpOwogICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRD
YWxsYmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJh
Y2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRl
ZENhbGxiYWNrOwogfQogCiBmdW5jdGlvbiBlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uKGV2dCkK
IHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImVycm9yV2hl
blRyeWluZ0xvd1ZlcnNpb24oKToiKTsKKyAgICBwcmVhbWJsZShldnQpOwogICAgIGRlYnVnKCJy
ZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9ICIgKyByZXF1ZXN0LndlYmtpdEVycm9yTWVzc2Fn
ZSk7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgNCki
KTsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVy
c2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVy
c2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiYzEyMGQ0MjVhZGNhMWY2NmVjZDczNTE5YzI1YTc0NWFiMGFhZjIwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lk
ZS1lZmZlY3RzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotaWYgKHRoaXMuaW1w
b3J0U2NyaXB0cykgewotICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzJyk7Ci0gICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7Ci19
Ci0KLWRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgd2hlbiBzZXRWZXJzaW9uIGlzIGNhbGxlZCBvbiBh
IGRiIHdpdGggYW4gaW50ZWdlciB2ZXJzaW9uLCB2ZXJzaW9uY2hhbmdlIGV2ZW50cyBkb24ndCBn
ZXQgZmlyZWQgb24gb3RoZXIgb3BlbiBkYnMuIik7Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgc2V0REJOYW1lRnJvbVBhdGgoKTsKLSAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsK
LSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0ZVN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGRlbGV0ZVN1Y2Nl
c3MoZXZ0KSB7Ci0gICAgcHJlYW1ibGUoKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZmlyc3RT
dWNjZXNzRXZlbnRIYW5kbGVyOwotICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJs
b2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKLSAgICBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOwotICAgIHJlcXVl
c3Qub251cGdyYWRlbmVlZGVkID0gZmlyc3RVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7Ci19Ci0KLWZ1
bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZENhbGxiYWNrKGV2dCkKLXsKLSAgICBwcmVhbWJsZShl
dnQpOwotICAgIGV2YWxBbmRMb2coImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZSIp
OwotICAgIHNob3VsZEJlKCJldmVudC5vbGRWZXJzaW9uIiwgIjAiKTsKLSAgICBzaG91bGRCZSgi
ZXZlbnQubmV3VmVyc2lvbiIsICIyIik7Ci19Ci0KLWZ1bmN0aW9uIGZpcnN0U3VjY2Vzc0V2ZW50
SGFuZGxlcihldnQpCi17Ci0gICAgcHJlYW1ibGUoZXZ0KTsKLSAgICBzaG91bGRCZVRydWUoImdv
dEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7Ci0gICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjEg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjEub252
ZXJzaW9uY2hhbmdlID0gdW5leHBlY3RlZFZlcnNpb25DaGFuZ2VDYWxsYmFjayIpOwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKGNvbm5lY3Rpb24xKSIsICJbb2JqZWN0IElEQkRh
dGFiYXNlXSIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5h
bWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZWNvbmRTdWNjZXNzQ2FsbGJhY2s7Ci0g
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVz
dC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub251
cGdyYWRlbmVlZGVkID0gdW5leHBlY3RlZFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsKLX0KLQotZnVu
Y3Rpb24gc2Vjb25kU3VjY2Vzc0NhbGxiYWNrKGV2dCkKLXsKLSAgICBwcmVhbWJsZShldnQpOwot
ICAgIGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIGV2YWxBbmRM
b2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uJykiKTsKLSAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJzaW9uRXJyb3IiKTsKLSAgICBldmFsQW5kTG9nKCJy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2siKTsKLSAgICBldmFs
QW5kTG9nKCJyZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2siKTsK
LX0KLQotZnVuY3Rpb24gc2V0VmVyc2lvbkVycm9yKGV2dCkKLXsKLSAgICBwcmVhbWJsZSgpOwot
ICAgIGRlYnVnKCJPcGVuIHVwIGEgbmV3IGRiIHRvIGVuc3VyZSB0aGF0IGlmIGNvbm5lY3Rpb24x
IHdlcmUgdG8gZ2V0IGEgdmVyc2lvbmNoYW5nZSBldmVudCwgaXQgd2lsbCBiZSBkZWxpdmVyZWQg
YmVmb3JlIHRoZSB0ZXN0IGZpbmlzaGVzIik7Ci0gICAgZXZhbEFuZExvZygibmV3X2RiID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lICsgJzInKSIpOwotICAgIGV2YWxBbmRMb2coIm5ld19kYi5vbnN1
Y2Nlc3MgPSBuZXdEQlN1Y2Nlc3MiKTsKLSAgICBuZXdfZGIub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOwotICAgIG5ld19kYi5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENh
bGxiYWNrOwotfQotCi1mdW5jdGlvbiBuZXdEQlN1Y2Nlc3MoZXZ0KQotewotICAgIHByZWFtYmxl
KCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1u
by12ZXJzaW9ucy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9p
bnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjJiMGE5Y2Fl
MzA0ZjFjZmMxOTg5ODVlZTA5MGI4ZDViMmMzODNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5v
LXZlcnNpb25zLmpzCkBAIC0wLDAgKzEsNjUgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsK
KyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcycpOworICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOworfQorCitkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IG9ubHkgdGhlIGZpcnN0IG9wZW4gY2FsbCBnZXRzIGFuIHVwZ3JhZGVuZWVk
ZWQiKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsK
KyAgICBzZXREQk5hbWVGcm9tUGF0aCgpOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBkZWxldGVTdWNjZXNzOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOworfQorCit2YXIgZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSBmYWxzZTsKK3Zh
ciBnb3RTZWNvbmRVcGdyYWRlTmVlZGVkRXZlbnQgPSBmYWxzZTsKK2Z1bmN0aW9uIGRlbGV0ZVN1
Y2Nlc3MoZXZ0KSB7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRi
bmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IGNvbm5lY3Rpb24x
T3BlblN1Y2Nlc3MiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJs
b2NrZWRDYWxsYmFjazsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Bl
bihkYm5hbWUpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25uZWN0
aW9uMk9wZW5TdWNjZXNzIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0
ZWRCbG9ja2VkQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGNvbm5lY3Rpb24xVXBncmFkZU5lZWRl
ZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJnb3RGaXJzdFVw
Z3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQub2xkVmVyc2lv
biIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50Lm5ld1ZlcnNpb24iLCAiMSIpOworfQorCitm
dW5jdGlvbiBjb25uZWN0aW9uMU9wZW5TdWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQp
OworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAg
c2hvdWxkQmVUcnVlKCJnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCIpOworICAgIHNob3VsZEJl
KCJkYi52ZXJzaW9uIiwgIjEiKTsKK30KKworZnVuY3Rpb24gY29ubmVjdGlvbjJVcGdyYWRlTmVl
ZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImdvdFNlY29u
ZFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsKK30KKworZnVuY3Rpb24gY29ubmVjdGlvbjJP
cGVuU3VjY2VzcyhldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBkYiA9IGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNob3VsZEJlRmFsc2UoImdvdFNl
Y29uZFVwZ3JhZGVOZWVkZWRFdmVudCIpOworICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9u
LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5n
LXRyYW5zYWN0aW9uLmpzCmluZGV4IGI1MDMyNzg5MThjMmU2NDdjM2YwYzg2MzgwMjc4NTJmNGU1
MTdjOGMuLmYxMjcxNzZiN2Y5YWEyYjU4OTg2MzE4YTVjOWY1NjZkYWFmYWYyMjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWR1cmluZy10
cmFuc2FjdGlvbi5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMKQEAgLTQ1LDggKzQ1LDggQEAgZnVuY3Rpb24g
c3RhcnRUcmFuc2FjdGlvbigpCiAgICAgdHJhbnMub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICBk
ZWJ1ZygidHJhbnNhY3Rpb24gY29tcGxldGUiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzdGF0ZSIsICJvcGVuM2NvbXBsZXRlIik7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0YXRlIiwgIm9wZW4yY29tcGxldGUiKTsK
KyAgICAgICAgZGVidWcoIiIpOwogICAgIH07CiAKICAgICBkZWJ1ZygiIik7CkBAIC01Niw3ICs1
Niw3IEBAIGZ1bmN0aW9uIHN0YXJ0VHJhbnNhY3Rpb24oKQogZnVuY3Rpb24gdHJ5T3BlbnMoKQog
ewogICAgIGRlYnVnKCJ0cnlpbmcgdG8gb3BlbiB0aGUgc2FtZSBkYXRhYmFzZSIpOwotICAgIGV2
YWxBbmRMb2coIm9wZW5yZXEyID0gaW5kZXhlZERCLm9wZW4oJ2RiMScpIik7CisgICAgZXZhbEFu
ZExvZygib3BlbnJlcTIgPSBpbmRleGVkREIub3Blbignb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24x
JykiKTsKICAgICBvcGVucmVxMi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICAgb3BlbnJlcTIub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgZGVidWcoIm9w
ZW5yZXEyLm9uc3VjY2VzcyIpOwpAQCAtNzMsOSArNzMsOSBAQCBmdW5jdGlvbiB0cnlPcGVucygp
CiAgICAgICAgIGRlYnVnKCJvcGVucmVxMy5vbnN1Y2Nlc3MiKTsKICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzdGF0ZSIsICJvcGVuMmNvbXBsZXRlIik7CiAgICAgICAgIGV2YWxBbmRM
b2coInN0YXRlID0gJ29wZW4zY29tcGxldGUnIik7Ci0gICAgICAgIGRlYnVnKCIiKTsKKyAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogICAgIGRlYnVnKCIiKTsKIH0KIAotdGVzdCgpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQK
aW5kZXggOGZiZjkwNTBkNmM5ZWIxODBhOWY3MjUzN2RmYWMyM2MwNmNhMTcxMC4uNmYyZWVhYWNj
OTFmNGI2YzEwZjgzYzdhN2U2MTM3MjM5ZjE2YTMyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQK
QEAgLTEwLDcgKzEwLDcgQEAgUHJlcGFyZSBEYXRhYmFzZQogaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKCdzdHJ1Y3R1cmVkLWNsb25lJykKIGluZGV4ZWREQi5vcGVuKCdzdHJ1Y3R1cmVkLWNsb25l
JykKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorRkFJTCBkYi52
ZXJzaW9uIHNob3VsZCBiZSAgKG9mIHR5cGUgc3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgbnVtYmVy
KS4KIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKIFRoaXMgaW5kZXggaXMgbm90IHVzZWQsIGJ1dCBldmFsdWF0aW5nIGtleSBwYXRo
IG9uIGVhY2ggcHV0KCkgY2FsbCB3aWxsIGV4ZXJjaXNlIChkZSlzZXJpYWxpemF0aW9uOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163469</attachid>
            <date>2012-09-11 16:08:08 -0700</date>
            <delta_ts>2012-09-11 17:32:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120911160743.patch</filename>
            <type>text/plain</type>
            <size>41500</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM4MDMyZTQyZjEwOWQx
YzU3MGQ4YmZhNDA0MjgxNzBiZGUxMjFhYi4uNmQ1MjcwNjY2MWQxNzExZGFlMDgzOGY3N2IwMTlk
NmYyN2U1YzI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9u
YWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUu
IFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
c2V0VmVyc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpz
ZXRWZXJzaW9uSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6b3BlbkNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6cmVzZXRWZXJzaW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFi
YXNlSW50VmVyc2lvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVwZ3JhZGVO
ZWVkZWQpOgorCiAyMDEyLTA5LTExICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgSW5kZXhlZERCOiBDb25zb2xpZGF0ZSB0d28tcGhhc2UgY29ubmVjdGlvbiB0
byBhdm9pZCByYWNlIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggYmZiMmFl
MjY3NjE1ZDYzODUyM2MwZGUyYmVlZTQ1ZGM1MmZhMzQ0YS4uNzE0NDY4NTU2YTMxODU0ZWZlOGU4
N2FiZTJlNzViMDJiMWM0MjgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTI0MCwxMCAr
MjQwLDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0
cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwKICAgICAgICAgY2FsbGJhY2tzLT5vbkVy
cm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCX0FC
T1JUX0VSUiwgIkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNh
Y3Rpb24gd2FzIGNyZWF0ZWQiKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1f
aW50VmVyc2lvbiAhPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKLSAgICAg
ICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsIFN0cmluZzo6Zm9ybWF0KCJZb3UgY2FuJ3QgdXNlIHRo
ZSBzZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBhbHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0
aHJvdWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50IGludGVnZXIgdmVyc2lvbiBpcyAlbGxk
Iiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihtX2ludFZlcnNpb24pKSkpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQogICAgIGZvciAoRGF0YWJhc2VDYWxsYmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdpbigpOyBpdCAhPSBtX2RhdGFiYXNlQ2Fs
bGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAgIC8vIEZyb250IGVuZCBlbnN1cmVzIHRo
ZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlvbnMgdGhhdCBoYXZlIGNsb3NlUGVuZGlu
ZyBzZXQuCiAgICAgICAgIGlmICgqaXQgIT0gZGF0YWJhc2VDYWxsYmFja3MpCkBAIC0yNzIsNyAr
MjY4LDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0
cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwKICAgICBSZWZQdHI8SURCRGF0YWJhc2VC
YWNrZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVk
dWxlVGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsLCBkYXRhYmFzZSwgdmVyc2lvbiwgY2FsbGJhY2tz
LCB0cmFuc2FjdGlvbiksCi0gICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFi
YXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbikpKSB7Cisg
ICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJl
c2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwgbV9pbnRWZXJzaW9uKSkpIHsKICAgICAg
ICAgLy8gRklYTUU6IFJlbW92ZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW5lcy4KICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246
OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKQEAgLTI4NCw3ICsyODAsOCBAQCB2b2lkIElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZgogICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFu
c2FjdGlvbiA9IHBycFRyYW5zYWN0aW9uOwogICAgIGludDY0X3QgZGF0YWJhc2VJZCA9IGRhdGFi
YXNlLT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOwotICAgIGlmICgh
ZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGRhdGFi
YXNlSWQsIGRhdGFiYXNlLT5tX3ZlcnNpb24pKSB7CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lv
biA9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbjsKKyAgICBpZiAoIWRhdGFiYXNl
LT5tX2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJhc2VNZXRhRGF0YShkYXRhYmFzZUlkLCBk
YXRhYmFzZS0+bV92ZXJzaW9uKSB8fCAhZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJ
REJEYXRhYmFzZUludFZlcnNpb24oZGF0YWJhc2VJZCwgZGF0YWJhc2UtPm1faW50VmVyc2lvbikp
IHsKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJFcnJvciB3cml0aW5nIGRhdGEgdG8g
c3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFuc2FjdGlvbi0+YWJvcnQoKTsKICAgICAg
ICAgcmV0dXJuOwpAQCAtNDM3LDE2ICs0MzQsMjAgQEAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnRyYW5zYWN0aW9uKEQK
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3BlbkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4g
ZGF0YWJhc2VDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJUKG1fYmFja2luZ1N0b3JlLmdldCgpKTsK
LSAgICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlzRW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGluZ1NldFZlcnNpb25DYWxscy5pc0VtcHR5
KCkpCisgICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxscy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5n
VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3BlbmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNF
bXB0eSgpKSB7CiAgICAgICAgIG1fcGVuZGluZ09wZW5DYWxscy5hcHBlbmQoUGVuZGluZ09wZW5D
YWxsOjpjcmVhdGUoY2FsbGJhY2tzLCBkYXRhYmFzZUNhbGxiYWNrcykpOwotICAgIGVsc2Ugewot
ICAgICAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYgIW9wZW5JbnRlcm5hbCgpKQotICAgICAg
ICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRh
YmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5hZGQoUmVmUHRyPElE
QkRhdGFiYXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxiYWNrcykpOwotICAgICAgICAgICAgY2Fs
bGJhY2tzLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuOwogICAg
IH0KKyAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYgIW9wZW5JbnRlcm5hbCgpKSB7CisgICAg
ICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJh
c2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGlmIChtX3ZlcnNpb24gPT0gIiIgJiYgbV9pbnRWZXJzaW9uID09
IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikgeworICAgICAgICBvcGVuQ29ubmVj
dGlvbldpdGhWZXJzaW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFja3MsIDEpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuYWRkKFJlZlB0cjxJ
REJEYXRhYmFzZUNhbGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsKKyAgICBjYWxsYmFja3Mt
Pm9uU3VjY2Vzcyh0aGlzKTsKIH0KIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpydW5J
bnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0ZWRWZXJzaW9uLCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
Q2FsbGJhY2tzPiBwcnBEYXRhYmFzZUNhbGxiYWNrcykKQEAgLTYxMiw5ICs2MTMsMTEgQEAgdm9p
ZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjphZGRPYmplY3RTdG9yZVRvTWFwKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmUKICAgICBkYXRhYmFzZS0+bV9vYmplY3RTdG9yZXMuc2V0KG9i
amVjdFN0b3JlUHRyLT5uYW1lKCksIG9iamVjdFN0b3JlUHRyKTsKIH0KIAotdm9pZCBJREJEYXRh
YmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYg
dmVyc2lvbikKK3ZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRWZXJzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRh
dGFiYXNlLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGludDY0X3Qgb2xkSW50VmVyc2lvbikKIHsK
ICAgICBkYXRhYmFzZS0+bV92ZXJzaW9uID0gdmVyc2lvbjsKKyAgICBpZiAodmVyc2lvbiA9PSAi
IikKKyAgICAgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IG9sZEludFZlcnNpb247CiB9CiAK
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRJbnRWZXJzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNl
LCBpbnQ2NF90IG9sZFZlcnNpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKaW5kZXggMjJjY2M0MzIyMGI1
MDRmZTcwNjg1NjdiNTlhNDc2MjU1ZWVhODU0ZC4uMGZlNTY2OWIxNjQ0YzJlNDMzYmNlMTYzMjUz
MWIwNmIxNzY4ODk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtOTEsNyArOTEsNyBAQCBwcml2
YXRlOgogICAgIC8vIFRoZXNlIGFyZSB1c2VkIGFzIHNldFZlcnNpb24gdHJhbnNhY3Rpb24gYWJv
cnQgdGFza3MuCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmVGcm9tTWFwKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+KTsKICAgICBzdGF0aWMgdm9pZCBh
ZGRPYmplY3RTdG9yZVRvTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElE
QkRhdGFiYXNlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw+KTsKLSAgICBzdGF0aWMgdm9pZCByZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIGNvbnN0IFN0cmluZyYgdmVy
c2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBjb25zdCBTdHJpbmcmIHZl
cnNpb24sIGludDY0X3QgaW50VmVyc2lvbik7CiAgICAgc3RhdGljIHZvaWQgcmVzZXRJbnRWZXJz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw+LCBpbnQ2NF90IGludFZlcnNpb24pOwogCiAgICAgUmVmUHRyPElEQkJhY2tpbmdTdG9y
ZT4gbV9iYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IGRjZGVlY2QwMDJl
YjJkYmI1ODU1MmI2YTRiYTJkOTFhZTE2NDFkZGMuLmVhOWMyN2U0YmUzMWUwNDc3ZTcxNDJlZWM5
MDFiMmExNzBiMmU4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCkBAIC0zMzksOCArMzM5LDgg
QEAgYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRh
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QKIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6
dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJzaW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVy
c2lvbikKIHsKICAgICBBU1NFUlQobV9jdXJyZW50VHJhbnNhY3Rpb24pOwotICAgIC8vIEZJWE1F
OiBDaGFuZ2UgdGhpcyB0byBzdHJpY3RseSBncmVhdGVyIHRoYW4gMCBvbmNlIHdlIHRocm93IFR5
cGVFcnJvciBmb3IKLSAgICAvLyBiYWQgdmVyc2lvbnMuCisgICAgaWYgKGludFZlcnNpb24gPT0g
SURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKQorICAgICAgICBpbnRWZXJzaW9uID0g
SURCRGF0YWJhc2VNZXRhZGF0YTo6RGVmYXVsdEludFZlcnNpb247CiAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRShpbnRWZXJzaW9uID49IDAsICJpbnRWZXJzaW9uIHdhcyAlbGxkIiwgc3RhdGljX2Nh
c3Q8bG9uZyBsb25nPihpbnRWZXJzaW9uKSk7CiAgICAgaWYgKCFwdXRWYXJJbnQobV9jdXJyZW50
VHJhbnNhY3Rpb24uZ2V0KCksIERhdGFiYXNlTWV0YURhdGFLZXk6OmVuY29kZShyb3dJZCwgRGF0
YWJhc2VNZXRhRGF0YUtleTo6VXNlckludFZlcnNpb24pLCBpbnRWZXJzaW9uKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPcGVuREJSZXF1ZXN0LmNwcAppbmRleCA2ZWYxNmNmMDI5M2E2OTE5MGY5NmNkM2E4NWFj
MzUyNzIzZWJiNmYzLi43YjQ0YzY1ODc0MjJlODQyNzE1YjBhZDUzYmJhZWUwZmY0NTU2OGYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJS
ZXF1ZXN0LmNwcApAQCAtODgsOSArODgsMTEgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQoaW50NjRfdCBvbGRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQlRyYW5zYWMKICAg
ICBtX3Jlc3VsdCA9IElEQkFueTo6Y3JlYXRlKGlkYkRhdGFiYXNlLnJlbGVhc2UoKSk7CiAKICAg
ICBpZiAob2xkVmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsK
LSAgICAgIC8vIFRoaXMgZGF0YWJhc2UgaGFzbid0IGhhZCBhbiBpbnRlZ2VyIHZlcnNpb24gYmVm
b3JlLgotICAgICAgb2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRW
ZXJzaW9uOworICAgICAgICAvLyBUaGlzIGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2
ZXJzaW9uIGJlZm9yZS4KKyAgICAgICAgb2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6
OkRlZmF1bHRJbnRWZXJzaW9uOwogICAgIH0KKyAgICBpZiAobV92ZXJzaW9uID09IElEQkRhdGFi
YXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikKKyAgICAgICAgbV92ZXJzaW9uID0gMTsKICAgICBl
bnF1ZXVlRXZlbnQoSURCVXBncmFkZU5lZWRlZEV2ZW50OjpjcmVhdGUob2xkVmVyc2lvbiwgbV92
ZXJzaW9uLCBldmVudE5hbWVzKCkudXBncmFkZW5lZWRlZEV2ZW50KSk7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBl
ZWMwYjIyOWRlMWViNTg4ODUxZmYwZGI2NTI3MWY5ODE3YjU0NDVhLi42ZmMzNGNiNDUwMDZjZTlh
YjY4ZTFkZGMyNzdkNmRhMjM3MDI0NDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTItMDkt
MTEgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4
ZWREQjogZmlyZSB1cGdyYWRlbmVlZGVkIGV2ZW4gd2l0aG91dCBhbiBleHBsaWNpdCBpbnRlZ2Vy
IHZlcnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk2NDQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJh
dGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BT
ISkuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFi
YXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24t
aGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lv
bnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2
ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5v
LXNpZGUtZWZmZWN0cy5odG1sLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2xpc3Qtb3Jk
ZXJpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cmVzb3VyY2VzL3ZlcnNpb25jaGFuZ2UtYWJvcnQuanM6CisgICAgICAgIChvcGVuU3VjY2Vzcyk6
CisgICAgICAgIChjbGVhbkRhdGFiYXNlKToKKyAgICAgICAgKHBvc3RBYm9ydCk6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0
eS13b3JrZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi5qczoKKyAgICAgICAgKGRlbGV0ZVN1Y2Nl
c3MpOgorICAgICAgICAoaW5pdGlhbFVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAob3BlblN1Y2Nl
c3MpOgorICAgICAgICAoZmlyc3RVcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKHRyYW5zYWN0aW9u
Q29tcGxldGVkKToKKyAgICAgICAgKGZpcnN0T3BlbldpdGhWZXJzaW9uKToKKyAgICAgICAgKHNl
Y29uZFNldFZlcnNpb25DYWxsYmFjayk6CisgICAgICAgIChzZXRJbnRWZXJzaW9uMik6CisgICAg
ICAgICh2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQpOgorICAgICAgICAodmVyc2lv
bjJDb25uZWN0aW9uQmxvY2tlZCk6CisgICAgICAgICh2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNz
KToKKyAgICAgICAgKGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24pOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMt
bm8tc2lkZS1lZmZlY3RzLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5qczogQWRkZWQuCisg
ICAgICAgICh0ZXN0KToKKyAgICAgICAgKGRlbGV0ZVN1Y2Nlc3MpOgorICAgICAgICAoY29ubmVj
dGlvbjFVcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKGNvbm5lY3Rpb24xT3BlblN1Y2Nlc3MpOgor
ICAgICAgICAoY29ubmVjdGlvbjJVcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKGNvbm5lY3Rpb24y
T3BlblN1Y2Nlc3MpOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVu
LWR1cmluZy10cmFuc2FjdGlvbi5qczoKKyAgICAgICAgKHN0YXJ0VHJhbnNhY3Rpb24udHJhbnMu
b25jb21wbGV0ZSk6CisgICAgICAgIChzdGFydFRyYW5zYWN0aW9uKToKKyAgICAgICAgKHRyeU9w
ZW5zLm9wZW5yZXEzLm9uc3VjY2Vzcyk6CisgICAgICAgICh0cnlPcGVucyk6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQ6CisKIDIwMTIt
MDktMTEgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gV2ViS2l0R3RrKyBjcmFzaGVzIHdpdGggbm9uLVVURjggSFRUUCBoZWFkZXIgbmFt
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVy
bG9hZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LW92ZXJsb2Fkcy1leHBlY3RlZC50eHQKaW5kZXggMzNjYmI0YzY0Njc0MGIxODUzNmJmNjNmMDgx
Mjk1NWJlMTg1MjNiOS4uMjkzZTFhZDA3NjlmNzkzNTEyZDBiMjEzNDYyMmYxMzE1NjIxMmU3OSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fk
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LW92ZXJsb2Fkcy1leHBlY3RlZC50eHQKQEAgLTMzLDcgKzMzLDcgQEAgZGJuYW1lID0gJ2N1cnNv
ci1vdmVybG9hZHMnCiBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5kZXhlZERC
Lm9wZW4oZGJuYW1lKQogZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIi
CitGQUlMIGRiLnZlcnNpb24gc2hvdWxkIGJlICAob2YgdHlwZSBzdHJpbmcpLiBXYXMgMSAob2Yg
dHlwZSBudW1iZXIpLgogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZScpCiBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICd2YWx1
ZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRl
bGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3Rl
ZC50eHQKaW5kZXggY2JhOTk1OGZhODgwZjRmZGU4MTZmYWZlOTA0ZTk3Y2QzZmI1ZTJmZi4uNTJm
NzI5NDQxMGM2NDQ2ZWE2ZDQ2YWU0OGFlM2E0NDBkYmQ0OGNlNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlv
bnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3Rv
cnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIs
NyBAQCBzZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
CiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gub252ZXJzaW9uY2hh
bmdlJwotICAgIGluIHZlcnNpb25jaGFuZ2UsIG9sZCA9ICIiIG5ldyA9ICIiCisgICAgaW4gdmVy
c2lvbmNoYW5nZSwgb2xkID0gMSBuZXcgPSAiIgogICAgIGggY2xvc2luZywgYnV0IG5vdCBpbW1l
ZGlhdGVseQogJ2RlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkJwogJ2guY2xvc2UnCkBAIC0yNSw3
ICsyNSw3IEBAIHNlbGYuZGJuYW1lID0gJ3Rlc3QyJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBz
ID0gW10KICdoLm9wZW4ub25zdWNjZXNzJwogJ2RlbGV0ZURhdGFiYXNlKCknCiAnaC5vbnZlcnNp
b25jaGFuZ2UnCi0gICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3ID0gIiIKKyAgICBp
biB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAxIG5ldyA9ICIiCiAgICAgaCBjbG9zaW5nIGltbWVkaWF0
ZWx5CiAnaC5jbG9zZScKICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKQEAgLTU4LDcgKzU4
LDcgQEAgc2VsZi5kYm5hbWUgPSAndGVzdDQnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBb
XQogJ2guc2V0VmVyc2lvbicKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gyLm9udmVyc2lvbmNoYW5n
ZScKLSAgICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBuZXcgPSAiMSIKKyAgICBpbiB2ZXJz
aW9uY2hhbmdlLCBvbGQgPSAxIG5ldyA9ICIxIgogJ2guc2V0VmVyc2lvbi5vbmJsb2NrZWQnCiAn
aDMub3BlbicKICdoMi5jbG9zZScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50
eHQKaW5kZXggMDRmMjgxYWFkODQ3ZTg4Njg2MmY3MzlhZTRjZmEyOTQ3MjcyNjJmMC4uODc1Y2Vi
ZWY2Y2I5NjY1Y2RmYTQ5ZjY4OTFjMmNiNDY0OWI2ZDZiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0
dmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTEyLDkgKzEyLDExIEBAIEZBSUwgU3RyaW5nKHJlcXVl
c3QpIHNob3VsZCBiZSBbb2JqZWN0IElEQk9wZW5EQlJlcXVlc3RdLiBXYXMgW29iamVjdCBJREJW
ZXJzaW9uCiBDYWxsIG9wZW4gd2l0aCBubyB2ZXJzaW9uIHBhcmFtZXRlcjoKIGluZGV4ZWREQi5v
cGVuKGRibmFtZSkKIAoraW5pdGlhbFVwZ3JhZGVOZWVkZWQoKToKKwogb3BlblN1Y2Nlc3MoKToK
IGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRi
LnZlcnNpb24gaXMgMQogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oInNvbWUgdmVyc2lvbiIpCiAK
IGluU2V0VmVyc2lvbigpOgpAQCAtNDcsMTggKzQ5LDMxIEBAIGRpZFRyYW5zYWN0aW9uQ29tcGxl
dGUgPSB0cnVlCiBmaXJzdE9wZW5XaXRoVmVyc2lvbigpOgogUEFTUyBkaWRUcmFuc2FjdGlvbkNv
bXBsZXRlIGlzIHRydWUKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorZGIub252ZXJzaW9uY2hh
bmdlID0gdmVyc2lvbkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50CiBQQVNTIFN0cmluZyhkYikg
aXMgIltvYmplY3QgSURCRGF0YWJhc2VdIgogUEFTUyByZXF1ZXN0LnRyYW5zYWN0aW9uIGlzIG51
bGwKIFBBU1MgZGIudmVyc2lvbiBpcyAyCiBQQVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29iamVj
dCBJREJPcGVuREJSZXF1ZXN0XSIKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVy
c2lvbiAyIikKIFBBU1MgU3RyaW5nKHJlcXVlc3QpIGlzICJbb2JqZWN0IElEQlZlcnNpb25DaGFu
Z2VSZXF1ZXN0XSIKLXJlcXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25Ob3RBbGxvd2VkCityZXF1
ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFNldFZlcnNpb25DYWxsYmFjaworCitzZWNvbmRTZXRWZXJz
aW9uQ2FsbGJhY2soKToKK3RyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdAordHJhbnNh
Y3Rpb24ub25jb21wbGV0ZSA9IHNldEludFZlcnNpb24yCisKK3NldEludFZlcnNpb24yKCk6City
ZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSB2
ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzCityZXF1ZXN0Lm9uYmxvY2tlZCA9IHZlcnNpb24yQ29u
bmVjdGlvbkJsb2NrZWQKIAotc2V0VmVyc2lvbk5vdEFsbG93ZWQoKToKLVBBU1MgZXZlbnQudHlw
ZSBpcyAiZXJyb3IiCi1yZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9IFlvdSBjYW4ndCB1c2Ug
dGhlIHNldFZlcnNpb24gZnVuY3Rpb24gaWYgeW91J3ZlIGFscmVhZHkgc2V0IHRoZSB2ZXJzaW9u
IHRocm91Z2ggYW4gb3BlbiBjYWxsLiAgVGhlIGN1cnJlbnQgaW50ZWdlciB2ZXJzaW9uIGlzIDIK
K3ZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludCgpOgogZGIuY2xvc2UoKQorCit2ZXJz
aW9uMkNvbm5lY3Rpb25CbG9ja2VkKCk6CisKK3ZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoKToK
K2V2ZW50LnRhcmdldC5yZXN1bHQuY2xvc2UoKQogcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRi
bmFtZSwgMSkKIHJlcXVlc3Qub25lcnJvciA9IGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQt
cGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA3YTE4ZWQyZDllN2Y0
ZDA1M2RlMDRkZmVkZjg1N2E0ZmQwOTQ2MTZlLi5lNTVmZDNjMjEzMTQwZDNkODgxNDUxNTVhMTg4
NmJkOWIwZjMxNTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApA
QCAtMjIsNyArMjIsNyBAQCBQQVNTIGluZGV4ZWREQi5vcGVuKGRibmFtZSwgLTUpIHRocmV3IFR5
cGVFcnJvcjogVHlwZSBlcnJvcgogRklYTUU6IFVzaW5nIC0xIGRvZXNuJ3QgdGhyb3cgVHlwZUVy
cm9yIGJ1dCBpdCBzaG91bGQKIEV4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gcmVx
dWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgLTEpCiBGQUlMIE5vIGV4Y2VwdGlvbiB0aHJv
d24hCi1GQUlMIFN1Y2Nlc3MgZnVuY3Rpb24gY2FsbGVkIHVuZXhwZWN0ZWRseS4KK0ZBSUwgb251
cGdyYWRlbmVlZGVkIGNhbGxlZCB1bmV4cGVjdGVkbHkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZm
ZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJz
aW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI4Y2M3ZmQwMTE5YjY3MTAzYmQzOWMxNjBk
YzljNDdmZDEzODhmZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0
dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDQyICswLDAgQEAKLVRlc3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEg
ZGIgd2l0aCBhbiBpbnRlZ2VyIHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdl
dCBmaXJlZCBvbiBvdGhlciBvcGVuIGRicy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8
IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERC
OwotCi1kYm5hbWUgPSAiaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUt
ZWZmZWN0cy5odG1sIgotaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKLQotZGVsZXRl
U3VjY2VzcygpOgotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKLQotZmlyc3RV
cGdyYWRlTmVlZGVkQ2FsbGJhY2soKToKLWdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1
ZQotUEFTUyBldmVudC5vbGRWZXJzaW9uIGlzIDAKLVBBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAy
Ci0KLWZpcnN0U3VjY2Vzc0V2ZW50SGFuZGxlcigpOgotUEFTUyBnb3RGaXJzdFVwZ3JhZGVOZWVk
ZWRFdmVudCBpcyB0cnVlCi1jb25uZWN0aW9uMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWNvbm5l
Y3Rpb24xLm9udmVyc2lvbmNoYW5nZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2sK
LVBBU1MgU3RyaW5nKGNvbm5lY3Rpb24xKSBpcyAiW29iamVjdCBJREJEYXRhYmFzZV0iCi1yZXF1
ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQotCi1zZWNvbmRTdWNjZXNzQ2FsbGJhY2soKToK
LWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNp
b24nKQotcmVxdWVzdC5vbmVycm9yID0gc2V0VmVyc2lvbkVycm9yCi1yZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2sKLXJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBl
Y3RlZEJsb2NrZWRDYWxsYmFjawotCi1zZXRWZXJzaW9uRXJyb3IoKToKLU9wZW4gdXAgYSBuZXcg
ZGIgdG8gZW5zdXJlIHRoYXQgaWYgY29ubmVjdGlvbjEgd2VyZSB0byBnZXQgYSB2ZXJzaW9uY2hh
bmdlIGV2ZW50LCBpdCB3aWxsIGJlIGRlbGl2ZXJlZCBiZWZvcmUgdGhlIHRlc3QgZmluaXNoZXMK
LW5ld19kYiA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSArICcyJykKLW5ld19kYi5vbnN1Y2Nlc3Mg
PSBuZXdEQlN1Y2Nlc3MKLQotbmV3REJTdWNjZXNzKCk6Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUt
ZWZmZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1p
bnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlMjlhMDNiMzczNGEzMjc0MTIwMTg5NjhiYjU5ZjM3Y2JhZmIxNmE5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1u
by1zaWRlLWVmZmVjdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ludHZlcnNpb24t
aW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDJmY2YwYjdmZTU3ZjQ3NzA0NzhhYTVlYjc0YjM5YWEzMTUzODAwMDIuLjI3NmMz
ZGI4MTY3ZGE3Y2Y1MTI2YTAxYzkwYjJlY2IxZDBmMjM4OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1w
YXJhbWV0ZXItZXhwZWN0ZWQudHh0CkBAIC04LDExICs4LDEyIEBAIGluZGV4ZWREQiA9IHNlbGYu
aW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8
IHNlbGYuCiBkYm5hbWUgPSAiaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci5odG1sIgogaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKK1BBU1Mg
R290IHVwZ3JhZGVuZWVkZWQgZXZlbnQKIAogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAogVGVzdCBsaW5lIGZyb20gSURCRmFjdG9yeS5vcGVuOiBJZiBubyB2ZXJzaW9u
IGlzIHNwZWNpZmllZCBhbmQgbm8gZGF0YWJhc2UgZXhpc3RzLCBzZXQgZGF0YWJhc2UgdmVyc2lv
biB0byAxLgotRkFJTCBkYi52ZXJzaW9uIHNob3VsZCBiZSAxIChvZiB0eXBlIG51bWJlcikuIFdh
cyAgKG9mIHR5cGUgc3RyaW5nKS4KK1BBU1MgZGIudmVyc2lvbiBpcyAxCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdv
LW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDE0Y2RjNzc4MDJk
MzEzY2I1MWIzZTc1MzAyNzkxMjVmOTcxYzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzQgQEAKK1Rlc3QgdGhhdCBvbmx5IHRoZSBmaXJzdCBvcGVu
IGNhbGwgZ2V0cyBhbiB1cGdyYWRlbmVlZGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8
fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWRE
QjsKKworZGJuYW1lID0gImludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwiCitp
bmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQor
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25uZWN0aW9uMU9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBn
cmFkZW5lZWRlZCA9IGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZAoraW5kZXhlZERCLm9wZW4oZGJu
YW1lKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25uZWN0aW9uMk9wZW5TdWNjZXNzCityZXF1ZXN0
Lm9udXBncmFkZW5lZWRlZCA9IGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZAorCitjb25uZWN0aW9u
MVVwZ3JhZGVOZWVkZWQoKToKK2dvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQorUEFT
UyBldmVudC5vbGRWZXJzaW9uIGlzIDAKK1BBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAxCisKK2Nv
bm5lY3Rpb24xT3BlblN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorUEFTUyBn
b3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCBpcyB0cnVlCitQQVNTIGRiLnZlcnNpb24gaXMgMQor
Citjb25uZWN0aW9uMk9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BB
U1MgZ290U2Vjb25kVXBncmFkZU5lZWRlZEV2ZW50IGlzIGZhbHNlCitQQVNTIGRiLnZlcnNpb24g
aXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdv
LW9wZW5zLW5vLXZlcnNpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNTY3NTc3
YWVmMTEyNzEzNjlkODA3OWVjMjRjNmVmYmVhMzNkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9u
cy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCA5
Y2JhMDBhMmJmY2UxY2UzNDFmN2Y5NTkzNTNkYWU2NDRhZDY0OTRmLi5mMjZhYWNjOTNlZDI3ZTM5
MTAxMmVhY2FhYTBiNjY0YThjZDkzNmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMs
NyBAQCB0ZXN0U3RvcmVzQW5kSW5kZXhlcygpOgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCds
aXN0LW9yZGVyaW5nJykKIGluZGV4ZWREQi5vcGVuKCdsaXN0LW9yZGVyaW5nJykKIGRiID0gcmVx
dWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorRkFJTCBkYi52ZXJzaW9uIHNob3Vs
ZCBiZSAgKG9mIHR5cGUgc3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgbnVtYmVyKS4KIGRiLnNldFZl
cnNpb24oJzEnKQogCiBPYmplY3Qgc3RvcmVzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvdmVyc2lvbmNoYW5nZS1hYm9ydC5qcyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3ZlcnNpb25j
aGFuZ2UtYWJvcnQuanMKaW5kZXggZTAzNmEwNWUyOWNlOWIzZGU0NTllNWYzZmFiMDA3MjA2MWVj
NjFlMS4uNmVmMGQzOTE1NzU1OTY1ZGY1N2ZjZDA0Y2M1MzA2NDFmZDdhZmQ5NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvdmVyc2lv
bmNoYW5nZS1hYm9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL3Jlc291cmNlcy92ZXJzaW9uY2hhbmdlLWFib3J0LmpzCkBAIC0yMSwxNyArMjEsMTkgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiB9CiAKLWZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK2Z1bmN0aW9uIG9wZW5TdWNjZXNz
KGV2dCkKIHsKKyAgICBwcmVhbWJsZShldnQpOwogICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgaW5pdGlhbFZlcnNpb24gPSBldmFsQW5kTG9nKCJp
bml0aWFsVmVyc2lvbiA9IGRiLnZlcnNpb247Iik7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
InJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcyJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGNsZWFuRGF0YWJhc2U7CisgICAgZXZhbEFuZExvZygiaW5pdGlhbFZlcnNpb24gPSBkYi52ZXJz
aW9uOyIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcyJykiKTsK
KyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2UiKTsKICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAotZnVuY3Rp
b24gY2xlYW5EYXRhYmFzZSgpCitmdW5jdGlvbiBjbGVhbkRhdGFiYXNlKGV2dCkKIHsKKyAgICBw
cmVhbWJsZShldnQpOwogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBvYmpl
Y3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J2ZvbycpOyIpOwpAQCAtNDEsMTYgKzQzLDE3IEBAIGZ1bmN0aW9uIGNsZWFuRGF0YWJhc2UoKQog
ICAgIHNob3VsZEJlKCJvYmplY3RTdG9yZS5pbmRleE5hbWVzLmxlbmd0aCIsICIxIik7CiAKICAg
ICBldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRTdWNjZXNz
Q2FsbGJhY2s7Ci0gICAgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uYWJvcnQgPSBwb3N0QWJv
cnQ7CisgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uYWJvcnQgPSBw
b3N0QWJvcnQiKTsKICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQudHJhbnNhY3Rpb24uYWJv
cnQoKTsiKTsKIH0KIAogZnVuY3Rpb24gcG9zdEFib3J0KCkKIHsKKyAgICBwcmVhbWJsZSgpOwog
ICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgImluaXRpYWxWZXJzaW9uIik7CiAgICAgc2hvdWxk
QmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsKIAogICAgIGZpbmlzaEpTVGVz
dCgpOwogfQogCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQordGVzdCgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9u
Y2hhbmdlLWFib3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvdmVyc2lvbmNoYW5nZS1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggOWYyMDJiZjAw
ODY5YjhjNjg2MzQ4NmY5NmQwYzdlZjIyMjI0NThhNS4uMWU1ZjMzMjQ4ODJjNWNlZDRkYzFlNWQx
MmVlZjgxYjhhOGVmY2QzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQtZXhwZWN0
ZWQudHh0CkBAIC02LDE1ICs2LDIzIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBpbmRleGVk
REIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1veklu
ZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIAogaW5kZXhl
ZERCLm9wZW4obmFtZSkKKworb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAogaW5pdGlhbFZlcnNpb24gPSBkYi52ZXJzaW9uOwogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24o
JzInKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlCisKK2NsZWFuRGF0YWJhc2Uo
KToKIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdmb28nKTsKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMQog
aW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnYmFyJywgJ2JheicpOwogUEFTUyBvYmpl
Y3RTdG9yZS5pbmRleE5hbWVzLmxlbmd0aCBpcyAxCitldmVudC50YXJnZXQudHJhbnNhY3Rpb24u
b25hYm9ydCA9IHBvc3RBYm9ydAogZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLmFib3J0KCk7CisK
K3Bvc3RBYm9ydCgpOgogUEFTUyBkYi52ZXJzaW9uIGlzIGluaXRpYWxWZXJzaW9uCiBQQVNTIGRi
Lm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBl
Y3RlZC50eHQKaW5kZXggNTU4Yzg3YTgxNjc4YTc5NTZjYTQ2MWYyZGNhZjExNGFjYzRjYzg2Yi4u
NmMyNDE0MzU2ODY3NTg5M2Q4ZTcxY2M4M2QwMDcxMGI0ODljZTEwYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQKQEAgLTEwLDcg
KzEwLDcgQEAgUHJlcGFyZSBEYXRhYmFzZQogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdub2Js
b2JzJykKIGluZGV4ZWREQi5vcGVuKCdub2Jsb2JzJykKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBB
U1MgZGIudmVyc2lvbiBpcyAiIgorRkFJTCBkYi52ZXJzaW9uIHNob3VsZCBiZSAgKG9mIHR5cGUg
c3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgbnVtYmVyKS4KIGRiLnNldFZlcnNpb24oJzEnKQogc3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLnB1dCgndmFsdWUn
LCAna2V5JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
ZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA1Y2FmY2U4
Zjk3NTJjOGIzYjAxZTY1YjMxMzQ4NTM4NmQxYThhNGU2Li44MDU3NjNmOTk5ZWZiM2QzM2E0NjRk
MzQ3ZjI5MTk2ZmQ0Yjk4YmJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0xOSw3ICsxOSw3IEBAIHRyYW5zID0gZGJjMS50cmFuc2FjdGlvbignc3RvcmVOYW1lJywg
J3JlYWR3cml0ZScpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykucHV0KCd2YWx1ZScs
ICdrZXknKQogCiB0cnlpbmcgdG8gb3BlbiB0aGUgc2FtZSBkYXRhYmFzZQotb3BlbnJlcTIgPSBp
bmRleGVkREIub3BlbignZGIxJykKK29wZW5yZXEyID0gaW5kZXhlZERCLm9wZW4oJ29wZW4tZHVy
aW5nLXRyYW5zYWN0aW9uMScpCiAKIHRyeWluZyB0byBvcGVuIGEgZGlmZmVyZW50IGRhdGFiYXNl
CiBvcGVucmVxMyA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFuc2FjdGlvbjInKQpA
QCAtMjgsMTIgKzI4LDEyIEBAIG9wZW5yZXEyLm9uc3VjY2VzcwogUEFTUyBzdGF0ZSBpcyAic3Rh
cnRpbmciCiBzdGF0ZSA9ICdvcGVuMmNvbXBsZXRlJwogCit0cmFuc2FjdGlvbiBjb21wbGV0ZQor
UEFTUyBzdGF0ZSBpcyAib3BlbjJjb21wbGV0ZSIKKwogb3BlbnJlcTMub25zdWNjZXNzCiBQQVNT
IHN0YXRlIGlzICJvcGVuMmNvbXBsZXRlIgogc3RhdGUgPSAnb3BlbjNjb21wbGV0ZScKLQotdHJh
bnNhY3Rpb24gY29tcGxldGUKLVBBU1Mgc3RhdGUgaXMgIm9wZW4zY29tcGxldGUiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3Rl
ZC50eHQKaW5kZXggMDM2NTM0YWNjNWZiNzM1ZTM0YWQ1NGQxYWM3NWU5ODQyOTE2YWY3My4uM2Zj
Y2I0ODk1NzFlZjVkYmMzMGNmYTdmN2ExNDJkMzc5MDE5YzAyYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3Rl
ZC50eHQKQEAgLTExLDcgKzExLDcgQEAgcHJlcGFyZURhdGFiYXNlKCk6CiBpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5kZXhlZERCLm9wZW4oZGJuYW1lKQogZGIgPSByZXF1ZXN0
LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitGQUlMIGRiLnZlcnNpb24gc2hvdWxkIGJl
ICAob2YgdHlwZSBzdHJpbmcpLiBXYXMgMSAob2YgdHlwZSBudW1iZXIpLgogZGIuc2V0VmVyc2lv
bignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBzdG9yZS5wdXQo
MCwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmct
YWN0aXZpdHktd29ya2Vycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDY0ZTdhYWRk
ZWJjYzI2YzJjZjM1NjAwNjc2MTZiNjVjMDlhYzg2YzQuLjUxOTM1OWJiNzQ2MTA0ZmE1MWY5M2U1
ZGE5MWI5ZTQxN2JiODg5MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLWV4cGVjdGVkLnR4
dApAQCAtMTIsNyArMTIsNyBAQCBTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9wZW5kaW5nLWFj
dGl2aXR5LmpzCiBbV29ya2VyXSBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogW1dv
cmtlcl0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQogW1dvcmtlcl0gZGIgPSByZXF1ZXN0LnJlc3Vs
dAotUEFTUyBbV29ya2VyXSBkYi52ZXJzaW9uIGlzICIiCitGQUlMIFtXb3JrZXJdIGRiLnZlcnNp
b24gc2hvdWxkIGJlICAob2YgdHlwZSBzdHJpbmcpLiBXYXMgMSAob2YgdHlwZSBudW1iZXIpLgog
W1dvcmtlcl0gZGIuc2V0VmVyc2lvbignMScpCiBbV29ya2VyXSBzdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzdG9yZScpCiBbV29ya2VyXSBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1z
ZXR2ZXJzaW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2lu
dHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMKaW5kZXggYzA5Y2E4ODEwMGVkMDFiODFjYTllYjI3
YzY1YjFlM2U5NDJmMjdmNS4uMGM3ODFmZDExMThiYzYyY2RiNjBjNTUyMGY5ODYxODRhMzM0Mzk0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2lu
dHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMKQEAgLTIyLDE3ICsy
MiwyMyBAQCBmdW5jdGlvbiBkZWxldGVTdWNjZXNzKGV2dCkgewogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKLSAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVl
ZGVkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBpbml0aWFsVXBncmFk
ZU5lZWRlZDsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJh
Y2s7CiB9CiAKKworZnVuY3Rpb24gaW5pdGlhbFVwZ3JhZGVOZWVkZWQoZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7Cit9CisKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKGV2dCkKIHsKICAgICBldmVu
dCA9IGV2dDsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7CiAg
ICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAgc2hvdWxkQmUoImRiLnZl
cnNpb24iLCAiMSIpOwogICAgIGV2YWxBbmRMb2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJz
b21lIHZlcnNpb24iKScpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uOwog
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpAQCAtODUsOSAr
OTEsNyBAQCBmdW5jdGlvbiBzZWNvbmRPcGVuKGV2dCkKIAogZnVuY3Rpb24gZmlyc3RVcGdyYWRl
TmVlZGVkKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVi
dWcoImZpcnN0VXBncmFkZU5lZWRlZCgpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZh
bEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJTdHJpbmcoZGIpIiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcocmVxdWVzdC50cmFuc2FjdGlvbikiLCAiW29iamVjdCBJ
REJUcmFuc2FjdGlvbl0iKTsKQEAgLTEwMCw0OSArMTA0LDY4IEBAIGZ1bmN0aW9uIGZpcnN0VXBn
cmFkZU5lZWRlZChldnQpCiB2YXIgZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSA9IGZhbHNlOwogZnVu
Y3Rpb24gdHJhbnNhY3Rpb25Db21wbGV0ZWQoZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0OwotICAg
IGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygidHJhbnNhY3Rpb25Db21wbGV0ZWQoKToiKTsKKyAgICBw
cmVhbWJsZShldnQpOwogICAgIGV2YWxBbmRMb2coImRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0
cnVlIik7CiB9CiAKIGZ1bmN0aW9uIGZpcnN0T3BlbldpdGhWZXJzaW9uKGV2dCkKIHsKLSAgICBl
dmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0T3BlbldpdGhWZXJz
aW9uKCk6Iik7CisgICAgcHJlYW1ibGUoZXZ0KTsKICAgICBzaG91bGRCZVRydWUoImRpZFRyYW5z
YWN0aW9uQ29tcGxldGUiKTsKICAgICBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5vbnZlcnNpb25jaGFuZ2UgPSB2ZXJzaW9uQ2hhbmdl
R29pbmdGcm9tU3RyaW5nVG9JbnQiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmlu
ZyhkYikiLCAiW29iamVjdCBJREJEYXRhYmFzZV0iKTsKICAgICBzaG91bGRCZU51bGwoInJlcXVl
c3QudHJhbnNhY3Rpb24iKTsKICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIyIik7CiAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcocmVxdWVzdCkiLCAiW29iamVjdCBJREJPcGVu
REJSZXF1ZXN0XSIpOwogICAgIGV2YWxBbmRMb2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJz
dHJpbmcgdmVyc2lvbiAyIiknKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhy
ZXF1ZXN0KSIsICJbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0XSIpOworICAgIGV2YWxB
bmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrIik7CiAg
ICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICBldmFsQW5k
TG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJzaW9uTm90QWxsb3dlZCIpOworICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQogCi1mdW5jdGlvbiBzZXRW
ZXJzaW9uTm90QWxsb3dlZChldnQpCitmdW5jdGlvbiBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2so
ZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygic2V0
VmVyc2lvbk5vdEFsbG93ZWQoKToiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50
LnR5cGUiLCAiZXJyb3IiKTsKLSAgICBkZWJ1ZygicmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2Ug
PSAiICsgcmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UpOworICAgIHByZWFtYmxlKGV2dCk7Cisg
ICAgZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAg
ZXZhbEFuZExvZygidHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHNldEludFZlcnNpb24yIik7Cit9
CisKK2Z1bmN0aW9uIHNldEludFZlcnNpb24yKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOwor
ICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7Cisg
ICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNj
ZXNzIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbmJsb2NrZWQgPSB2ZXJzaW9uMkNvbm5l
Y3Rpb25CbG9ja2VkIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Cit9CisKK2Z1bmN0aW9uIHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludChl
dnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7
Cit9CisKK2Z1bmN0aW9uIHZlcnNpb24yQ29ubmVjdGlvbkJsb2NrZWQoZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7Cit9CisKK2Z1bmN0aW9uIHZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoZXZ0
KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJl
c3VsdC5jbG9zZSgpIik7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVu
KGRibmFtZSwgMSkiKTsKICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldo
ZW5UcnlpbmdMb3dWZXJzaW9uIik7CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVk
QmxvY2tlZENhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nl
c3NDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdy
YWRlTmVlZGVkQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGVycm9yV2hlblRyeWluZ0xvd1ZlcnNp
b24oZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygi
ZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbigpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAg
ZGVidWcoInJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlID0gIiArIHJlcXVlc3Qud2Via2l0RXJy
b3JNZXNzYWdlKTsKICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lLCA0KSIpOwogICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxs
YmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxp
ZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJjMTIwZDQyNWFkY2ExZjY2ZWNkNzM1MTljMjVhNzQ1YWIwYWFmMjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhh
cy1uby1zaWRlLWVmZmVjdHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1pZiAo
dGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQu
anMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2Fs
bGVkIG9uIGEgZGIgd2l0aCBhbiBpbnRlZ2VyIHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRz
IGRvbid0IGdldCBmaXJlZCBvbiBvdGhlciBvcGVuIGRicy4iKTsKLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBzZXREQk5hbWVGcm9tUGF0aCgp
OwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJu
YW1lKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlU3VjY2VzczsKLSAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZGVs
ZXRlU3VjY2VzcyhldnQpIHsKLSAgICBwcmVhbWJsZSgpOwotICAgIGV2YWxBbmRMb2coInJlcXVl
c3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmaXJzdFN1Y2Nlc3NFdmVudEhhbmRsZXI7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4
cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOwotICAgIGdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gZmFsc2U7Ci0g
ICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmaXJzdFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsK
LX0KLQotZnVuY3Rpb24gZmlyc3RVcGdyYWRlTmVlZGVkQ2FsbGJhY2soZXZ0KQotewotICAgIHBy
ZWFtYmxlKGV2dCk7Ci0gICAgZXZhbEFuZExvZygiZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQg
PSB0cnVlIik7Ci0gICAgc2hvdWxkQmUoImV2ZW50Lm9sZFZlcnNpb24iLCAiMCIpOwotICAgIHNo
b3VsZEJlKCJldmVudC5uZXdWZXJzaW9uIiwgIjIiKTsKLX0KLQotZnVuY3Rpb24gZmlyc3RTdWNj
ZXNzRXZlbnRIYW5kbGVyKGV2dCkKLXsKLSAgICBwcmVhbWJsZShldnQpOwotICAgIHNob3VsZEJl
VHJ1ZSgiZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25u
ZWN0aW9uMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0
aW9uMS5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrIik7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcoY29ubmVjdGlvbjEpIiwgIltvYmpl
Y3QgSURCRGF0YWJhc2VdIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5v
cGVuKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFN1Y2Nlc3NDYWxs
YmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAg
ICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOwot
fQotCi1mdW5jdGlvbiBzZWNvbmRTdWNjZXNzQ2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxl
KGV2dCk7Ci0gICAgZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAg
ZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24nKSIpOwotICAgIGV2
YWxBbmRMb2coInJlcXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25FcnJvciIpOwotICAgIGV2YWxB
bmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjayIpOwot
ICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxs
YmFjayIpOwotfQotCi1mdW5jdGlvbiBzZXRWZXJzaW9uRXJyb3IoZXZ0KQotewotICAgIHByZWFt
YmxlKCk7Ci0gICAgZGVidWcoIk9wZW4gdXAgYSBuZXcgZGIgdG8gZW5zdXJlIHRoYXQgaWYgY29u
bmVjdGlvbjEgd2VyZSB0byBnZXQgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50LCBpdCB3aWxsIGJlIGRl
bGl2ZXJlZCBiZWZvcmUgdGhlIHRlc3QgZmluaXNoZXMiKTsKLSAgICBldmFsQW5kTG9nKCJuZXdf
ZGIgPSBpbmRleGVkREIub3BlbihkYm5hbWUgKyAnMicpIik7Ci0gICAgZXZhbEFuZExvZygibmV3
X2RiLm9uc3VjY2VzcyA9IG5ld0RCU3VjY2VzcyIpOwotICAgIG5ld19kYi5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgbmV3X2RiLm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRC
bG9ja2VkQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIG5ld0RCU3VjY2VzcyhldnQpCi17Ci0gICAg
cHJlYW1ibGUoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotdGVzdCgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdv
LW9wZW5zLW5vLXZlcnNpb25zLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
MmIwYTljYWUzMDRmMWNmYzE5ODk4NWVlMDkwYjhkNWIyYzM4M2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi10d28t
b3BlbnMtbm8tdmVyc2lvbnMuanMKQEAgLTAsMCArMSw2NSBAQAoraWYgKHRoaXMuaW1wb3J0U2Ny
aXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzJyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7Cit9CisKK2Rl
c2NyaXB0aW9uKCJUZXN0IHRoYXQgb25seSB0aGUgZmlyc3Qgb3BlbiBjYWxsIGdldHMgYW4gdXBn
cmFkZW5lZWRlZCIpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICByZW1vdmVWZW5kb3JQcmVm
aXhlcygpOworICAgIHNldERCTmFtZUZyb21QYXRoKCk7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsKKyAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGRlbGV0ZVN1Y2Nlc3M7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Cit9CisKK3ZhciBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZh
bHNlOwordmFyIGdvdFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOworZnVuY3Rpb24g
ZGVsZXRlU3VjY2VzcyhldnQpIHsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4oZGJuYW1lKSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gY29u
bmVjdGlvbjFPcGVuU3VjY2VzcyIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub251cGdyYWRl
bmVlZGVkID0gY29ubmVjdGlvbjFVcGdyYWRlTmVlZGVkIik7CisgICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4
cGVjdGVkQmxvY2tlZENhbGxiYWNrOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4
ZWREQi5vcGVuKGRibmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9
IGNvbm5lY3Rpb24yT3BlblN1Y2Nlc3MiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9udXBn
cmFkZW5lZWRlZCA9IGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZCIpOworICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0g
dW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKK30KKworZnVuY3Rpb24gY29ubmVjdGlvbjFVcGdy
YWRlTmVlZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImdv
dEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOworICAgIHNob3VsZEJlKCJldmVudC5v
bGRWZXJzaW9uIiwgIjAiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQubmV3VmVyc2lvbiIsICIxIik7
Cit9CisKK2Z1bmN0aW9uIGNvbm5lY3Rpb24xT3BlblN1Y2Nlc3MoZXZ0KQoreworICAgIHByZWFt
YmxlKGV2dCk7CisgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzaG91bGRCZVRydWUoImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAg
c2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMlVw
Z3JhZGVOZWVkZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygi
Z290U2Vjb25kVXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOworfQorCitmdW5jdGlvbiBjb25u
ZWN0aW9uMk9wZW5TdWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2hvdWxkQmVGYWxz
ZSgiZ290U2Vjb25kVXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNp
b24iLCAiMSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit0ZXN0KCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJh
bnNhY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Bl
bi1kdXJpbmctdHJhbnNhY3Rpb24uanMKaW5kZXggYjUwMzI3ODkxOGMyZTY0N2MzZjBjODYzODAy
Nzg1MmY0ZTUxN2M4Yy4uZjEyNzE3NmI3ZjlhYTJiNTg5ODYzMThhNWM5ZjU2NmRhYWZhZjIyMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4t
ZHVyaW5nLXRyYW5zYWN0aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi5qcwpAQCAtNDUsOCArNDUsOCBAQCBm
dW5jdGlvbiBzdGFydFRyYW5zYWN0aW9uKCkKICAgICB0cmFucy5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uIChlKSB7CiAg
ICAgICAgIGRlYnVnKCJ0cmFuc2FjdGlvbiBjb21wbGV0ZSIpOwotICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInN0YXRlIiwgIm9wZW4zY29tcGxldGUiKTsKLSAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3RhdGUiLCAib3BlbjJjb21w
bGV0ZSIpOworICAgICAgICBkZWJ1ZygiIik7CiAgICAgfTsKIAogICAgIGRlYnVnKCIiKTsKQEAg
LTU2LDcgKzU2LDcgQEAgZnVuY3Rpb24gc3RhcnRUcmFuc2FjdGlvbigpCiBmdW5jdGlvbiB0cnlP
cGVucygpCiB7CiAgICAgZGVidWcoInRyeWluZyB0byBvcGVuIHRoZSBzYW1lIGRhdGFiYXNlIik7
Ci0gICAgZXZhbEFuZExvZygib3BlbnJlcTIgPSBpbmRleGVkREIub3BlbignZGIxJykiKTsKKyAg
ICBldmFsQW5kTG9nKCJvcGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFu
c2FjdGlvbjEnKSIpOwogICAgIG9wZW5yZXEyLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKICAgICBvcGVucmVxMi5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICBk
ZWJ1Zygib3BlbnJlcTIub25zdWNjZXNzIik7CkBAIC03Myw5ICs3Myw5IEBAIGZ1bmN0aW9uIHRy
eU9wZW5zKCkKICAgICAgICAgZGVidWcoIm9wZW5yZXEzLm9uc3VjY2VzcyIpOwogICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInN0YXRlIiwgIm9wZW4yY29tcGxldGUiKTsKICAgICAgICAg
ZXZhbEFuZExvZygic3RhdGUgPSAnb3BlbjNjb21wbGV0ZSciKTsKLSAgICAgICAgZGVidWcoIiIp
OworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiAgICAgZGVidWcoIiIpOwogfQogCi10
ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQordGVzdCgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVj
dGVkLnR4dAppbmRleCA4ZmJmOTA1MGQ2YzllYjE4MGE5ZjcyNTM3ZGZhYzIzYzA2Y2ExNzEwLi42
ZjJlZWFhY2M5MWY0YjZjMTBmODNjN2E3ZTYxMzcyMzlmMTZhMzI5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVj
dGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoJ3N0cnVjdHVyZWQtY2xvbmUnKQogaW5kZXhlZERCLm9wZW4oJ3N0cnVjdHVy
ZWQtY2xvbmUnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitG
QUlMIGRiLnZlcnNpb24gc2hvdWxkIGJlICAob2YgdHlwZSBzdHJpbmcpLiBXYXMgMSAob2YgdHlw
ZSBudW1iZXIpLgogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKQogVGhpcyBpbmRleCBpcyBub3QgdXNlZCwgYnV0IGV2YWx1YXRpbmcg
a2V5IHBhdGggb24gZWFjaCBwdXQoKSBjYWxsIHdpbGwgZXhlcmNpc2UgKGRlKXNlcmlhbGl6YXRp
b246Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163488</attachid>
            <date>2012-09-11 17:32:49 -0700</date>
            <delta_ts>2012-09-11 18:41:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120911173224.patch</filename>
            <type>text/plain</type>
            <size>42334</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE5YjgxNDRhMGU3YWRi
ZDBjYWM4NDBiZGQ3YTAzMmFkYzQ1NzMyMS4uMjFkZWUwN2ViZDZkMzVmNTA4NWI2MTg5YjE2Njk0
Y2I3MDMzMDEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9u
YWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUu
IFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
c2V0VmVyc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpz
ZXRWZXJzaW9uSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6b3BlbkNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6cmVzZXRWZXJzaW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFi
YXNlSW50VmVyc2lvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVwZ3JhZGVO
ZWVkZWQpOgorCiAyMDEyLTA5LTExICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgSW5kZXhlZERCOiBDb25zb2xpZGF0ZSB0d28tcGhhc2UgY29ubmVjdGlvbiB0
byBhdm9pZCByYWNlIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggYmZiMmFl
MjY3NjE1ZDYzODUyM2MwZGUyYmVlZTQ1ZGM1MmZhMzQ0YS4uNzE0NDY4NTU2YTMxODU0ZWZlOGU4
N2FiZTJlNzViMDJiMWM0MjgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTI0MCwxMCAr
MjQwLDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0
cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwKICAgICAgICAgY2FsbGJhY2tzLT5vbkVy
cm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCX0FC
T1JUX0VSUiwgIkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNh
Y3Rpb24gd2FzIGNyZWF0ZWQiKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1f
aW50VmVyc2lvbiAhPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKLSAgICAg
ICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsIFN0cmluZzo6Zm9ybWF0KCJZb3UgY2FuJ3QgdXNlIHRo
ZSBzZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBhbHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0
aHJvdWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50IGludGVnZXIgdmVyc2lvbiBpcyAlbGxk
Iiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihtX2ludFZlcnNpb24pKSkpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQogICAgIGZvciAoRGF0YWJhc2VDYWxsYmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdpbigpOyBpdCAhPSBtX2RhdGFiYXNlQ2Fs
bGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAgIC8vIEZyb250IGVuZCBlbnN1cmVzIHRo
ZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlvbnMgdGhhdCBoYXZlIGNsb3NlUGVuZGlu
ZyBzZXQuCiAgICAgICAgIGlmICgqaXQgIT0gZGF0YWJhc2VDYWxsYmFja3MpCkBAIC0yNzIsNyAr
MjY4LDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0
cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwKICAgICBSZWZQdHI8SURCRGF0YWJhc2VC
YWNrZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVk
dWxlVGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsLCBkYXRhYmFzZSwgdmVyc2lvbiwgY2FsbGJhY2tz
LCB0cmFuc2FjdGlvbiksCi0gICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFi
YXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbikpKSB7Cisg
ICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJl
c2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwgbV9pbnRWZXJzaW9uKSkpIHsKICAgICAg
ICAgLy8gRklYTUU6IFJlbW92ZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW5lcy4KICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246
OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKQEAgLTI4NCw3ICsyODAsOCBAQCB2b2lkIElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZgogICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFu
c2FjdGlvbiA9IHBycFRyYW5zYWN0aW9uOwogICAgIGludDY0X3QgZGF0YWJhc2VJZCA9IGRhdGFi
YXNlLT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOwotICAgIGlmICgh
ZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGRhdGFi
YXNlSWQsIGRhdGFiYXNlLT5tX3ZlcnNpb24pKSB7CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lv
biA9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbjsKKyAgICBpZiAoIWRhdGFiYXNl
LT5tX2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJhc2VNZXRhRGF0YShkYXRhYmFzZUlkLCBk
YXRhYmFzZS0+bV92ZXJzaW9uKSB8fCAhZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJ
REJEYXRhYmFzZUludFZlcnNpb24oZGF0YWJhc2VJZCwgZGF0YWJhc2UtPm1faW50VmVyc2lvbikp
IHsKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJFcnJvciB3cml0aW5nIGRhdGEgdG8g
c3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFuc2FjdGlvbi0+YWJvcnQoKTsKICAgICAg
ICAgcmV0dXJuOwpAQCAtNDM3LDE2ICs0MzQsMjAgQEAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnRyYW5zYWN0aW9uKEQK
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3BlbkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4g
ZGF0YWJhc2VDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJUKG1fYmFja2luZ1N0b3JlLmdldCgpKTsK
LSAgICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlzRW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGluZ1NldFZlcnNpb25DYWxscy5pc0VtcHR5
KCkpCisgICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxscy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5n
VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3BlbmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNF
bXB0eSgpKSB7CiAgICAgICAgIG1fcGVuZGluZ09wZW5DYWxscy5hcHBlbmQoUGVuZGluZ09wZW5D
YWxsOjpjcmVhdGUoY2FsbGJhY2tzLCBkYXRhYmFzZUNhbGxiYWNrcykpOwotICAgIGVsc2Ugewot
ICAgICAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYgIW9wZW5JbnRlcm5hbCgpKQotICAgICAg
ICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRh
YmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5hZGQoUmVmUHRyPElE
QkRhdGFiYXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxiYWNrcykpOwotICAgICAgICAgICAgY2Fs
bGJhY2tzLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuOwogICAg
IH0KKyAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYgIW9wZW5JbnRlcm5hbCgpKSB7CisgICAg
ICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJh
c2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGlmIChtX3ZlcnNpb24gPT0gIiIgJiYgbV9pbnRWZXJzaW9uID09
IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikgeworICAgICAgICBvcGVuQ29ubmVj
dGlvbldpdGhWZXJzaW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFja3MsIDEpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuYWRkKFJlZlB0cjxJ
REJEYXRhYmFzZUNhbGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsKKyAgICBjYWxsYmFja3Mt
Pm9uU3VjY2Vzcyh0aGlzKTsKIH0KIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpydW5J
bnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0ZWRWZXJzaW9uLCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
Q2FsbGJhY2tzPiBwcnBEYXRhYmFzZUNhbGxiYWNrcykKQEAgLTYxMiw5ICs2MTMsMTEgQEAgdm9p
ZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjphZGRPYmplY3RTdG9yZVRvTWFwKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmUKICAgICBkYXRhYmFzZS0+bV9vYmplY3RTdG9yZXMuc2V0KG9i
amVjdFN0b3JlUHRyLT5uYW1lKCksIG9iamVjdFN0b3JlUHRyKTsKIH0KIAotdm9pZCBJREJEYXRh
YmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYg
dmVyc2lvbikKK3ZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRWZXJzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRh
dGFiYXNlLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGludDY0X3Qgb2xkSW50VmVyc2lvbikKIHsK
ICAgICBkYXRhYmFzZS0+bV92ZXJzaW9uID0gdmVyc2lvbjsKKyAgICBpZiAodmVyc2lvbiA9PSAi
IikKKyAgICAgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IG9sZEludFZlcnNpb247CiB9CiAK
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRJbnRWZXJzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNl
LCBpbnQ2NF90IG9sZFZlcnNpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKaW5kZXggMjJjY2M0MzIyMGI1
MDRmZTcwNjg1NjdiNTlhNDc2MjU1ZWVhODU0ZC4uMGZlNTY2OWIxNjQ0YzJlNDMzYmNlMTYzMjUz
MWIwNmIxNzY4ODk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtOTEsNyArOTEsNyBAQCBwcml2
YXRlOgogICAgIC8vIFRoZXNlIGFyZSB1c2VkIGFzIHNldFZlcnNpb24gdHJhbnNhY3Rpb24gYWJv
cnQgdGFza3MuCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmVGcm9tTWFwKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+KTsKICAgICBzdGF0aWMgdm9pZCBh
ZGRPYmplY3RTdG9yZVRvTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElE
QkRhdGFiYXNlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw+KTsKLSAgICBzdGF0aWMgdm9pZCByZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIGNvbnN0IFN0cmluZyYgdmVy
c2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBjb25zdCBTdHJpbmcmIHZl
cnNpb24sIGludDY0X3QgaW50VmVyc2lvbik7CiAgICAgc3RhdGljIHZvaWQgcmVzZXRJbnRWZXJz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw+LCBpbnQ2NF90IGludFZlcnNpb24pOwogCiAgICAgUmVmUHRyPElEQkJhY2tpbmdTdG9y
ZT4gbV9iYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDkzMGUyMGIzYjgz
NWRkYWVkNTM3ZTdlMTkwYjE0NTEyZWFlNDcyNmEuLjUyYmRhNDliNjhiNWRmMmE5YmU1OGIwNjE3
NTExYzFiNjExYmM1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCkBAIC0zMzksOCArMzM5LDgg
QEAgYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRh
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QKIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6
dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJzaW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVy
c2lvbikKIHsKICAgICBBU1NFUlQobV9jdXJyZW50VHJhbnNhY3Rpb24pOwotICAgIC8vIEZJWE1F
OiBDaGFuZ2UgdGhpcyB0byBzdHJpY3RseSBncmVhdGVyIHRoYW4gMCBvbmNlIHdlIHRocm93IFR5
cGVFcnJvciBmb3IKLSAgICAvLyBiYWQgdmVyc2lvbnMuCisgICAgaWYgKGludFZlcnNpb24gPT0g
SURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKQorICAgICAgICBpbnRWZXJzaW9uID0g
SURCRGF0YWJhc2VNZXRhZGF0YTo6RGVmYXVsdEludFZlcnNpb247CiAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRShpbnRWZXJzaW9uID49IDAsICJpbnRWZXJzaW9uIHdhcyAlbGxkIiwgc3RhdGljX2Nh
c3Q8bG9uZyBsb25nPihpbnRWZXJzaW9uKSk7CiAgICAgaWYgKCFwdXRWYXJJbnQobV9jdXJyZW50
VHJhbnNhY3Rpb24uZ2V0KCksIERhdGFiYXNlTWV0YURhdGFLZXk6OmVuY29kZShyb3dJZCwgRGF0
YWJhc2VNZXRhRGF0YUtleTo6VXNlckludFZlcnNpb24pLCBpbnRWZXJzaW9uKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPcGVuREJSZXF1ZXN0LmNwcAppbmRleCA2ZWYxNmNmMDI5M2E2OTE5MGY5NmNkM2E4NWFj
MzUyNzIzZWJiNmYzLi43YjQ0YzY1ODc0MjJlODQyNzE1YjBhZDUzYmJhZWUwZmY0NTU2OGYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJS
ZXF1ZXN0LmNwcApAQCAtODgsOSArODgsMTEgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQoaW50NjRfdCBvbGRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQlRyYW5zYWMKICAg
ICBtX3Jlc3VsdCA9IElEQkFueTo6Y3JlYXRlKGlkYkRhdGFiYXNlLnJlbGVhc2UoKSk7CiAKICAg
ICBpZiAob2xkVmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsK
LSAgICAgIC8vIFRoaXMgZGF0YWJhc2UgaGFzbid0IGhhZCBhbiBpbnRlZ2VyIHZlcnNpb24gYmVm
b3JlLgotICAgICAgb2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRW
ZXJzaW9uOworICAgICAgICAvLyBUaGlzIGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2
ZXJzaW9uIGJlZm9yZS4KKyAgICAgICAgb2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6
OkRlZmF1bHRJbnRWZXJzaW9uOwogICAgIH0KKyAgICBpZiAobV92ZXJzaW9uID09IElEQkRhdGFi
YXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikKKyAgICAgICAgbV92ZXJzaW9uID0gMTsKICAgICBl
bnF1ZXVlRXZlbnQoSURCVXBncmFkZU5lZWRlZEV2ZW50OjpjcmVhdGUob2xkVmVyc2lvbiwgbV92
ZXJzaW9uLCBldmVudE5hbWVzKCkudXBncmFkZW5lZWRlZEV2ZW50KSk7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAz
NDlmMjhiMDM1ODdjOWM5ZmE0ZDMzYTA1NWY5ZmQwYThjMmI1YmZjLi45Mjk2OTcwNDc1OTU2NDA5
MzJlNzg4YWQxMzA5N2IxOGZjMmVkMjE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTItMDkt
MTEgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4
ZWREQjogZmlyZSB1cGdyYWRlbmVlZGVkIGV2ZW4gd2l0aG91dCBhbiBleHBsaWNpdCBpbnRlZ2Vy
IHZlcnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk2NDQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJh
dGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BT
ISkuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0
bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1p
bnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2lu
dHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tYmFkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1u
by1zaWRlLWVmZmVjdHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lv
bi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRl
LWVmZmVjdHMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWw6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29y
a2Vycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanM6CisgICAgICAgIChkZWxldGVTdWNjZXNzKToK
KyAgICAgICAgKGluaXRpYWxVcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKG9wZW5TdWNjZXNzKToK
KyAgICAgICAgKGZpcnN0VXBncmFkZU5lZWRlZCk6CisgICAgICAgICh0cmFuc2FjdGlvbkNvbXBs
ZXRlZCk6CisgICAgICAgIChmaXJzdE9wZW5XaXRoVmVyc2lvbik6CisgICAgICAgIChzZWNvbmRT
ZXRWZXJzaW9uQ2FsbGJhY2spOgorICAgICAgICAoc2V0SW50VmVyc2lvbjIpOgorICAgICAgICAo
dmVyc2lvbkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50KToKKyAgICAgICAgKHZlcnNpb24yQ29u
bmVjdGlvbkJsb2NrZWQpOgorICAgICAgICAodmVyc2lvbjJDb25uZWN0aW9uU3VjY2Vzcyk6Cisg
ICAgICAgIChlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uKToKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNp
ZGUtZWZmZWN0cy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuanM6IEFkZGVkLgorICAgICAg
ICAodGVzdCk6CisgICAgICAgIChkZWxldGVTdWNjZXNzKToKKyAgICAgICAgKGNvbm5lY3Rpb24x
VXBncmFkZU5lZWRlZCk6CisgICAgICAgIChjb25uZWN0aW9uMU9wZW5TdWNjZXNzKToKKyAgICAg
ICAgKGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZCk6CisgICAgICAgIChjb25uZWN0aW9uMk9wZW5T
dWNjZXNzKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRl
cmluZy5qczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJp
bmctdHJhbnNhY3Rpb24uanM6CisgICAgICAgIChzdGFydFRyYW5zYWN0aW9uLnRyYW5zLm9uY29t
cGxldGUpOgorICAgICAgICAoc3RhcnRUcmFuc2FjdGlvbik6CisgICAgICAgICh0cnlPcGVucy5v
cGVucmVxMy5vbnN1Y2Nlc3MpOgorICAgICAgICAodHJ5T3BlbnMpOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbDoKKwogMjAxMi0wOS0xMSAg
U3RlcGhhbmllIExld2lzICA8c2xld2lzQGFwcGxlLmNvbT4KIAogICAgICAgICBTa2lwIHNwYXRp
YWwtbmF2aWdhdGlvbiB0ZXN0cyBvbiBtYWMtd2syIGJlY2F1c2UgdGhleSBhcmUgYWxsIGZhaWxp
bmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3Zl
cmxvYWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CmluZGV4IDMzY2JiNGM2NDY3NDBiMTg1MzZiZjYzZjA4
MTI5NTViZTE4NTIzYjkuLjIyMjAzMmE3OTg0NmZiMWZiZTVmYTE3ZGU5YzE3ZjUxN2NjODIzN2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9h
ZHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CkBAIC0zMyw3ICszMyw3IEBAIGRibmFtZSA9ICdjdXJz
b3Itb3ZlcmxvYWRzJwogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSkKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAi
IgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQogaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXgnLCAndmFsdWUnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLW92ZXJsb2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLW92ZXJsb2Fkcy5odG1sCmluZGV4IDYzNDE2YTM3ZGVhMGQwNTg3NzI0ODFkZDA1YzNhZTdl
M2JhZDIyMDYuLmI0M2EzMTA3NjI0MGM1YWJlMDAxNGNiZDBkOTlhYTEyMzNlNWFiY2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0
bWwKQEAgLTIwLDcgKzIwLDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIg
PSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
Yi52ZXJzaW9uIiwgIiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAnMScp
OwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIp
OwogICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2Ut
aW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dAppbmRleCBj
YmE5OTU4ZmE4ODBmNGZkZTgxNmZhZmU5MDRlOTdjZDNmYjVlMmZmLi41MmY3Mjk0NDEwYzY0NDZl
YTZkNDZhZTQ4YWUzYTQ0MGRiZDQ4Y2U2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRh
YmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xMiw3ICsxMiw3IEBAIHNlbGYuZGJu
YW1lID0gJ3Rlc3QxJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLm9wZW4ub25z
dWNjZXNzJwogJ2RlbGV0ZURhdGFiYXNlKCknCiAnaC5vbnZlcnNpb25jaGFuZ2UnCi0gICAgaW4g
dmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3ID0gIiIKKyAgICBpbiB2ZXJzaW9uY2hhbmdlLCBv
bGQgPSAxIG5ldyA9ICIiCiAgICAgaCBjbG9zaW5nLCBidXQgbm90IGltbWVkaWF0ZWx5CiAnZGVs
ZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAnaC5jbG9zZScKQEAgLTI1LDcgKzI1LDcgQEAgc2Vs
Zi5kYm5hbWUgPSAndGVzdDInOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gub3Bl
bi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJhc2UoKScKICdoLm9udmVyc2lvbmNoYW5nZScKLSAg
ICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBuZXcgPSAiIgorICAgIGluIHZlcnNpb25jaGFu
Z2UsIG9sZCA9IDEgbmV3ID0gIiIKICAgICBoIGNsb3NpbmcgaW1tZWRpYXRlbHkKICdoLmNsb3Nl
JwogJ2RlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkJwpAQCAtNTgsNyArNTgsNyBAQCBzZWxmLmRi
bmFtZSA9ICd0ZXN0NCc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaC5zZXRWZXJz
aW9uJwogJ2RlbGV0ZURhdGFiYXNlKCknCiAnaDIub252ZXJzaW9uY2hhbmdlJwotICAgIGluIHZl
cnNpb25jaGFuZ2UsIG9sZCA9ICIiIG5ldyA9ICIxIgorICAgIGluIHZlcnNpb25jaGFuZ2UsIG9s
ZCA9IDEgbmV3ID0gIjEiCiAnaC5zZXRWZXJzaW9uLm9uYmxvY2tlZCcKICdoMy5vcGVuJwogJ2gy
LmNsb3NlJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dAppbmRleCAwNGYy
ODFhYWQ4NDdlODg2ODYyZjczOWFlNGNmYTI5NDcyNzI2MmYwLi44NzVjZWJlZjZjYjk2NjVjZGZh
NDlmNjg5MWMyY2I0NjQ5YjZkNmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVj
dGVkLnR4dApAQCAtMTIsOSArMTIsMTEgQEAgRkFJTCBTdHJpbmcocmVxdWVzdCkgc2hvdWxkIGJl
IFtvYmplY3QgSURCT3BlbkRCUmVxdWVzdF0uIFdhcyBbb2JqZWN0IElEQlZlcnNpb24KIENhbGwg
b3BlbiB3aXRoIG5vIHZlcnNpb24gcGFyYW1ldGVyOgogaW5kZXhlZERCLm9wZW4oZGJuYW1lKQog
Citpbml0aWFsVXBncmFkZU5lZWRlZCgpOgorCiBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BBU1MgZGIudmVyc2lvbiBpcyAx
CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic29tZSB2ZXJzaW9uIikKIAogaW5TZXRWZXJzaW9u
KCk6CkBAIC00NywxOCArNDksMzEgQEAgZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSA9IHRydWUKIGZp
cnN0T3BlbldpdGhWZXJzaW9uKCk6CiBQQVNTIGRpZFRyYW5zYWN0aW9uQ29tcGxldGUgaXMgdHJ1
ZQogZGIgPSBldmVudC50YXJnZXQucmVzdWx0CitkYi5vbnZlcnNpb25jaGFuZ2UgPSB2ZXJzaW9u
Q2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQKIFBBU1MgU3RyaW5nKGRiKSBpcyAiW29iamVjdCBJ
REJEYXRhYmFzZV0iCiBQQVNTIHJlcXVlc3QudHJhbnNhY3Rpb24gaXMgbnVsbAogUEFTUyBkYi52
ZXJzaW9uIGlzIDIKIFBBU1MgU3RyaW5nKHJlcXVlc3QpIGlzICJbb2JqZWN0IElEQk9wZW5EQlJl
cXVlc3RdIgogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oInN0cmluZyB2ZXJzaW9uIDIiKQogUEFT
UyBTdHJpbmcocmVxdWVzdCkgaXMgIltvYmplY3QgSURCVmVyc2lvbkNoYW5nZVJlcXVlc3RdIgot
cmVxdWVzdC5vbmVycm9yID0gc2V0VmVyc2lvbk5vdEFsbG93ZWQKK3JlcXVlc3Qub25zdWNjZXNz
ID0gc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrCisKK3NlY29uZFNldFZlcnNpb25DYWxsYmFjaygp
OgordHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Cit0cmFuc2FjdGlvbi5vbmNvbXBs
ZXRlID0gc2V0SW50VmVyc2lvbjIKKworc2V0SW50VmVyc2lvbjIoKToKK3JlcXVlc3QgPSBpbmRl
eGVkREIub3BlbihkYm5hbWUsIDIpCityZXF1ZXN0Lm9uc3VjY2VzcyA9IHZlcnNpb24yQ29ubmVj
dGlvblN1Y2Nlc3MKK3JlcXVlc3Qub25ibG9ja2VkID0gdmVyc2lvbjJDb25uZWN0aW9uQmxvY2tl
ZAogCi1zZXRWZXJzaW9uTm90QWxsb3dlZCgpOgotUEFTUyBldmVudC50eXBlIGlzICJlcnJvciIK
LXJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlID0gWW91IGNhbid0IHVzZSB0aGUgc2V0VmVyc2lv
biBmdW5jdGlvbiBpZiB5b3UndmUgYWxyZWFkeSBzZXQgdGhlIHZlcnNpb24gdGhyb3VnaCBhbiBv
cGVuIGNhbGwuICBUaGUgY3VycmVudCBpbnRlZ2VyIHZlcnNpb24gaXMgMgordmVyc2lvbkNoYW5n
ZUdvaW5nRnJvbVN0cmluZ1RvSW50KCk6CiBkYi5jbG9zZSgpCisKK3ZlcnNpb24yQ29ubmVjdGlv
bkJsb2NrZWQoKToKKwordmVyc2lvbjJDb25uZWN0aW9uU3VjY2VzcygpOgorZXZlbnQudGFyZ2V0
LnJlc3VsdC5jbG9zZSgpCiByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAxKQogcmVx
dWVzdC5vbmVycm9yID0gZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYmFk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDdhMThlZDJkOWU3ZjRkMDUzZGUwNGRmZWRm
ODU3YTRmZDA5NDYxNmUuLmU1NWZkM2MyMTMxNDBkM2Q4ODE0NTE1NWExODg2YmQ5YjBmMzE1Mzcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYmFk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24tYmFkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0yMiw3ICsyMiw3
IEBAIFBBU1MgaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAtNSkgdGhyZXcgVHlwZUVycm9yOiBUeXBl
IGVycm9yCiBGSVhNRTogVXNpbmcgLTEgZG9lc24ndCB0aHJvdyBUeXBlRXJyb3IgYnV0IGl0IHNo
b3VsZAogRXhwZWN0aW5nIFR5cGVFcnJvciBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gaW5kZXhl
ZERCLm9wZW4oZGJuYW1lLCAtMSkKIEZBSUwgTm8gZXhjZXB0aW9uIHRocm93biEKLUZBSUwgU3Vj
Y2VzcyBmdW5jdGlvbiBjYWxsZWQgdW5leHBlY3RlZGx5LgorRkFJTCBvbnVwZ3JhZGVuZWVkZWQg
Y2FsbGVkIHVuZXhwZWN0ZWRseQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1z
ZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkMjhjYzdmZDAxMTliNjcxMDNiZDM5YzE2MGRjOWM0N2ZkMTM4OGZk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1u
by1zaWRlLWVmZmVjdHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBA
QAotVGVzdCB0aGF0IHdoZW4gc2V0VmVyc2lvbiBpcyBjYWxsZWQgb24gYSBkYiB3aXRoIGFuIGlu
dGVnZXIgdmVyc2lvbiwgdmVyc2lvbmNoYW5nZSBldmVudHMgZG9uJ3QgZ2V0IGZpcmVkIG9uIG90
aGVyIG9wZW4gZGJzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotaW5kZXhlZERC
ID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRl
eGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7Ci0KLWRibmFtZSA9
ICJpbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmh0bWwi
Ci1pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQotCi1kZWxldGVTdWNjZXNzKCk6Ci1y
ZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQotCi1maXJzdFVwZ3JhZGVOZWVkZWRD
YWxsYmFjaygpOgotZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSB0cnVlCi1QQVNTIGV2ZW50
Lm9sZFZlcnNpb24gaXMgMAotUEFTUyBldmVudC5uZXdWZXJzaW9uIGlzIDIKLQotZmlyc3RTdWNj
ZXNzRXZlbnRIYW5kbGVyKCk6Ci1QQVNTIGdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50IGlzIHRy
dWUKLWNvbm5lY3Rpb24xID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotY29ubmVjdGlvbjEub252ZXJz
aW9uY2hhbmdlID0gdW5leHBlY3RlZFZlcnNpb25DaGFuZ2VDYWxsYmFjawotUEFTUyBTdHJpbmco
Y29ubmVjdGlvbjEpIGlzICJbb2JqZWN0IElEQkRhdGFiYXNlXSIKLXJlcXVlc3QgPSBpbmRleGVk
REIub3BlbihkYm5hbWUpCi0KLXNlY29uZFN1Y2Nlc3NDYWxsYmFjaygpOgotZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Ci1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbicpCi1yZXF1ZXN0
Lm9uZXJyb3IgPSBzZXRWZXJzaW9uRXJyb3IKLXJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3Rl
ZFN1Y2Nlc3NDYWxsYmFjawotcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENh
bGxiYWNrCi0KLXNldFZlcnNpb25FcnJvcigpOgotT3BlbiB1cCBhIG5ldyBkYiB0byBlbnN1cmUg
dGhhdCBpZiBjb25uZWN0aW9uMSB3ZXJlIHRvIGdldCBhIHZlcnNpb25jaGFuZ2UgZXZlbnQsIGl0
IHdpbGwgYmUgZGVsaXZlcmVkIGJlZm9yZSB0aGUgdGVzdCBmaW5pc2hlcwotbmV3X2RiID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lICsgJzInKQotbmV3X2RiLm9uc3VjY2VzcyA9IG5ld0RCU3VjY2Vz
cwotCi1uZXdEQlN1Y2Nlc3MoKToKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVy
c2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGUyOWEwM2IzNzM0YTMyNzQxMjAxODk2OGJiNTlmMzdjYmFmYjE2YTkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZl
cnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQKaW5kZXggMmZj
ZjBiN2ZlNTdmNDc3MDQ3OGFhNWViNzRiMzlhYTMxNTM4MDAwMi4uMjc2YzNkYjgxNjdkYTdjZjUx
MjZhMDFjOTBiMmVjYjFkMGYyMzg5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBl
Y3RlZC50eHQKQEAgLTgsMTEgKzgsMTIgQEAgaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwg
c2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi4KIGRibmFt
ZSA9ICJpbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLmh0bWwiCiBpbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoZGJuYW1lKQogaW5kZXhlZERCLm9wZW4oZGJuYW1lKQorUEFTUyBHb3QgdXBncmFkZW5l
ZWRlZCBldmVudAogCiBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBU
ZXN0IGxpbmUgZnJvbSBJREJGYWN0b3J5Lm9wZW46IElmIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVk
IGFuZCBubyBkYXRhYmFzZSBleGlzdHMsIHNldCBkYXRhYmFzZSB2ZXJzaW9uIHRvIDEuCi1GQUlM
IGRiLnZlcnNpb24gc2hvdWxkIGJlIDEgKG9mIHR5cGUgbnVtYmVyKS4gV2FzICAob2YgdHlwZSBz
dHJpbmcpLgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVy
c2lvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkMTRjZGM3NzgwMmQzMTNjYjUxYjNlNzUz
MDI3OTEyNWY5NzFjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzNCBAQAorVGVzdCB0aGF0IG9ubHkgdGhlIGZpcnN0IG9wZW4gY2FsbCBnZXRzIGFu
IHVwZ3JhZGVuZWVkZWQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWRE
QiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5k
ZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOworCitkYm5hbWUg
PSAiaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbCIKK2luZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCityZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGNvbm5lY3Rpb24xT3BlblN1Y2Nlc3MKK3JlcXVlc3Qub251cGdyYWRlbmVlZGVkID0g
Y29ubmVjdGlvbjFVcGdyYWRlTmVlZGVkCitpbmRleGVkREIub3BlbihkYm5hbWUpCityZXF1ZXN0
Lm9uc3VjY2VzcyA9IGNvbm5lY3Rpb24yT3BlblN1Y2Nlc3MKK3JlcXVlc3Qub251cGdyYWRlbmVl
ZGVkID0gY29ubmVjdGlvbjJVcGdyYWRlTmVlZGVkCisKK2Nvbm5lY3Rpb24xVXBncmFkZU5lZWRl
ZCgpOgorZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSB0cnVlCitQQVNTIGV2ZW50Lm9sZFZl
cnNpb24gaXMgMAorUEFTUyBldmVudC5uZXdWZXJzaW9uIGlzIDEKKworY29ubmVjdGlvbjFPcGVu
U3VjY2VzcygpOgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CitQQVNTIGdvdEZpcnN0VXBncmFk
ZU5lZWRlZEV2ZW50IGlzIHRydWUKK1BBU1MgZGIudmVyc2lvbiBpcyAxCisKK2Nvbm5lY3Rpb24y
T3BlblN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorUEFTUyBnb3RTZWNvbmRV
cGdyYWRlTmVlZGVkRXZlbnQgaXMgZmFsc2UKK1BBU1MgZGIudmVyc2lvbiBpcyAxCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVy
c2lvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdv
LW9wZW5zLW5vLXZlcnNpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA1Njc1NzdhZWYxMTI3MTM2OWQ4
MDc5ZWMyNGM2ZWZiZWEzM2RhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctZXhwZWN0ZWQudHh0CmluZGV4IDljYmEwMGEyYmZjZTFj
ZTM0MWY3Zjk1OTM1M2RhZTY0NGFkNjQ5NGYuLmZhYTlkZTM4ZTVjYTU1N2VjNDMyNWFlYmMwYjlh
OTczYjlhYTNhZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2xp
c3Qtb3JkZXJpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2xpc3Qtb3JkZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsxMyw3IEBAIHRlc3RTdG9y
ZXNBbmRJbmRleGVzKCk6CiBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoJ2xpc3Qtb3JkZXJpbmcn
KQogaW5kZXhlZERCLm9wZW4oJ2xpc3Qtb3JkZXJpbmcnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAot
UEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMgMQogZGIuc2V0VmVyc2lv
bignMScpCiAKIE9iamVjdCBzdG9yZXM6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL25vYmxvYnMtZXhwZWN0ZWQudHh0CmluZGV4IDU1OGM4N2E4MTY3OGE3OTU2Y2E0NjFm
MmRjYWYxMTRhY2M0Y2M4NmIuLmIyZDUyMjZkYTVjYzc4OTU1YTAzZjhjNjk0NGUzZmIyMGM5YWQ1
ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhw
ZWN0ZWQudHh0CkBAIC0xMCw3ICsxMCw3IEBAIFByZXBhcmUgRGF0YWJhc2UKIGluZGV4ZWREQi5k
ZWxldGVEYXRhYmFzZSgnbm9ibG9icycpCiBpbmRleGVkREIub3Blbignbm9ibG9icycpCiBkYiA9
IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BBU1MgZGIudmVyc2lvbiBp
cyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCiBzdG9yZS5wdXQoJ3ZhbHVlJywgJ2tleScpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwKaW5kZXggODMxODY2YjllNTI0ODFiYTEwYjVlY2JkYTk1
NWM1MDE4Y2RmOTVlZS4uMTc4N2MyODNhODE0YTE1ZTc4NDI3OWIyNGUwYTMxNTZmMTZiNWY1NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbApAQCAtMzgsNyAr
MzgsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3QucmVz
dWx0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAi
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAgICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAgICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24t
ZXhwZWN0ZWQudHh0CmluZGV4IDVjYWZjZThmOTc1MmM4YjNiMDFlNjViMzEzNDg1Mzg2ZDFhOGE0
ZTYuLjgwNTc2M2Y5OTllZmIzZDMzYTQ2NGQzNDdmMjkxOTZmZDRiOThiYmIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmlu
Zy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQKQEAgLTE5LDcgKzE5LDcgQEAgdHJhbnMgPSBkYmMx
LnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKIHRyYW5zLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKS5wdXQoJ3ZhbHVlJywgJ2tleScpCiAKIHRyeWluZyB0byBvcGVuIHRoZSBz
YW1lIGRhdGFiYXNlCi1vcGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdkYjEnKQorb3BlbnJlcTIg
PSBpbmRleGVkREIub3Blbignb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24xJykKIAogdHJ5aW5nIHRv
IG9wZW4gYSBkaWZmZXJlbnQgZGF0YWJhc2UKIG9wZW5yZXEzID0gaW5kZXhlZERCLm9wZW4oJ29w
ZW4tZHVyaW5nLXRyYW5zYWN0aW9uMicpCkBAIC0yOCwxMiArMjgsMTIgQEAgb3BlbnJlcTIub25z
dWNjZXNzCiBQQVNTIHN0YXRlIGlzICJzdGFydGluZyIKIHN0YXRlID0gJ29wZW4yY29tcGxldGUn
CiAKK3RyYW5zYWN0aW9uIGNvbXBsZXRlCitQQVNTIHN0YXRlIGlzICJvcGVuMmNvbXBsZXRlIgor
CiBvcGVucmVxMy5vbnN1Y2Nlc3MKIFBBU1Mgc3RhdGUgaXMgIm9wZW4yY29tcGxldGUiCiBzdGF0
ZSA9ICdvcGVuM2NvbXBsZXRlJwotCi10cmFuc2FjdGlvbiBjb21wbGV0ZQotUEFTUyBzdGF0ZSBp
cyAib3BlbjNjb21wbGV0ZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVu
ZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dAppbmRleCAwMzY1MzRhY2M1ZmI3MzVlMzRh
ZDU0ZDFhYzc1ZTk4NDI5MTZhZjczLi44NzY2YzNlYWJjMDI5MDQzOGYwODJjMzA0NjJhNzgwZWE5
NjVjODViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5n
LWFjdGl2aXR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dApAQCAtMTEsNyArMTEsNyBAQCBwcmVwYXJl
RGF0YWJhc2UoKToKIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCiBpbmRleGVkREIu
b3BlbihkYm5hbWUpCiBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIK
K1BBU1MgZGIudmVyc2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykKIHN0b3JlLnB1dCgwLCAwKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHkt
d29ya2Vycy1leHBlY3RlZC50eHQKaW5kZXggNjRlN2FhZGRlYmNjMjZjMmNmMzU2MDA2NzYxNmI2
NWMwOWFjODZjNC4uZWFiZWFlYWIzN2FiNzY0Yjc0N2Y0YTQ0YWM1NGZhNDFiZTA0NDYyMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13
b3JrZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9w
ZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0CkBAIC0xMiw3ICsxMiw3IEBAIFN0
YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMKIFtXb3JrZXJdIGlu
ZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCiBbV29ya2VyXSBpbmRleGVkREIub3Blbihk
Ym5hbWUpCiBbV29ya2VyXSBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIFtXb3JrZXJdIGRiLnZl
cnNpb24gaXMgIiIKK1BBU1MgW1dvcmtlcl0gZGIudmVyc2lvbiBpcyAxCiBbV29ya2VyXSBkYi5z
ZXRWZXJzaW9uKCcxJykKIFtXb3JrZXJdIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlJykKIFtXb3JrZXJdIHN0b3JlLnB1dCgwLCAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1hbmQt
c2V0dmVyc2lvbi5qcwppbmRleCBjMDljYTg4MTAwZWQwMWI4MWNhOWViMjdjNjViMWUzZTk0MmYy
N2Y1Li4wYzc4MWZkMTExOGJjNjJjZGI2MGM1NTIwZjk4NjE4NGEzMzQzOTRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1hbmQt
c2V0dmVyc2lvbi5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi5qcwpAQCAtMjIsMTcgKzIyLDIzIEBAIGZ1bmN0
aW9uIGRlbGV0ZVN1Y2Nlc3MoZXZ0KSB7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4
ZWREQi5vcGVuKGRibmFtZSkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNz
OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJl
cXVlc3Qub251cGdyYWRlbmVlZGVkID0gdW5leHBlY3RlZFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsK
KyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGluaXRpYWxVcGdyYWRlTmVlZGVkOwogICAg
IHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKIH0KIAorCitm
dW5jdGlvbiBpbml0aWFsVXBncmFkZU5lZWRlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsK
K30KKwogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoZXZ0KQogewogICAgIGV2ZW50ID0gZXZ0OwogICAg
IGRlYnVnKCIiKTsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKICAgICBkYiA9IGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZGIudmVyc2lvbiIsICIiKTsKKyAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7
CiAgICAgZXZhbEFuZExvZygncmVxdWVzdCA9IGRiLnNldFZlcnNpb24oInNvbWUgdmVyc2lvbiIp
Jyk7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBpblNldFZlcnNpb247CiAgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC04NSw5ICs5MSw3IEBAIGZ1bmN0
aW9uIHNlY29uZE9wZW4oZXZ0KQogCiBmdW5jdGlvbiBmaXJzdFVwZ3JhZGVOZWVkZWQoZXZ0KQog
ewotICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiZmlyc3RVcGdy
YWRlTmVlZGVkKCk6Iik7CisgICAgcHJlYW1ibGUoZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmlu
ZyhkYikiLCAiW29iamVjdCBJREJEYXRhYmFzZV0iKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIlN0cmluZyhyZXF1ZXN0LnRyYW5zYWN0aW9uKSIsICJbb2JqZWN0IElEQlRyYW5zYWN0aW9u
XSIpOwpAQCAtMTAwLDQ5ICsxMDQsNjggQEAgZnVuY3Rpb24gZmlyc3RVcGdyYWRlTmVlZGVkKGV2
dCkKIHZhciBkaWRUcmFuc2FjdGlvbkNvbXBsZXRlID0gZmFsc2U7CiBmdW5jdGlvbiB0cmFuc2Fj
dGlvbkNvbXBsZXRlZChldnQpCiB7Ci0gICAgZXZlbnQgPSBldnQ7Ci0gICAgZGVidWcoIiIpOwot
ICAgIGRlYnVnKCJ0cmFuc2FjdGlvbkNvbXBsZXRlZCgpOiIpOworICAgIHByZWFtYmxlKGV2dCk7
CiAgICAgZXZhbEFuZExvZygiZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSA9IHRydWUiKTsKIH0KIAog
ZnVuY3Rpb24gZmlyc3RPcGVuV2l0aFZlcnNpb24oZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0Owot
ICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiZmlyc3RPcGVuV2l0aFZlcnNpb24oKToiKTsKKyAg
ICBwcmVhbWJsZShldnQpOwogICAgIHNob3VsZEJlVHJ1ZSgiZGlkVHJhbnNhY3Rpb25Db21wbGV0
ZSIpOwogICAgIGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGV2
YWxBbmRMb2coImRiLm9udmVyc2lvbmNoYW5nZSA9IHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJp
bmdUb0ludCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKGRiKSIsICJbb2Jq
ZWN0IElEQkRhdGFiYXNlXSIpOwogICAgIHNob3VsZEJlTnVsbCgicmVxdWVzdC50cmFuc2FjdGlv
biIpOwogICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjIiKTsKICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIlN0cmluZyhyZXF1ZXN0KSIsICJbb2JqZWN0IElEQk9wZW5EQlJlcXVlc3RdIik7
CiAgICAgZXZhbEFuZExvZygncmVxdWVzdCA9IGRiLnNldFZlcnNpb24oInN0cmluZyB2ZXJzaW9u
IDIiKScpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKHJlcXVlc3QpIiwgIltv
YmplY3QgSURCVmVyc2lvbkNoYW5nZVJlcXVlc3RdIik7CisgICAgZXZhbEFuZExvZygicmVxdWVz
dC5vbnN1Y2Nlc3MgPSBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2siKTsKICAgICByZXF1ZXN0Lm9u
YmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3Qu
b25lcnJvciA9IHNldFZlcnNpb25Ob3RBbGxvd2VkIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKLWZ1bmN0aW9uIHNldFZlcnNpb25Ob3RBbGxv
d2VkKGV2dCkKK2Z1bmN0aW9uIHNlY29uZFNldFZlcnNpb25DYWxsYmFjayhldnQpCiB7Ci0gICAg
ZXZlbnQgPSBldnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJzZXRWZXJzaW9uTm90QWxs
b3dlZCgpOiIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudHlwZSIsICJlcnJv
ciIpOwotICAgIGRlYnVnKCJyZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9ICIgKyByZXF1ZXN0
LndlYmtpdEVycm9yTWVzc2FnZSk7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9n
KCJ0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJ0
cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gc2V0SW50VmVyc2lvbjIiKTsKK30KKworZnVuY3Rpb24g
c2V0SW50VmVyc2lvbjIoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExv
ZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikiKTsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IHZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MiKTsKKyAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0Lm9uYmxvY2tlZCA9IHZlcnNpb24yQ29ubmVjdGlvbkJsb2NrZWQi
KTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKwor
ZnVuY3Rpb24gdmVyc2lvbkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50KGV2dCkKK3sKKyAgICBw
cmVhbWJsZShldnQpOwogICAgIGV2YWxBbmRMb2coImRiLmNsb3NlKCkiKTsKK30KKworZnVuY3Rp
b24gdmVyc2lvbjJDb25uZWN0aW9uQmxvY2tlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsK
K30KKworZnVuY3Rpb24gdmVyc2lvbjJDb25uZWN0aW9uU3VjY2VzcyhldnQpCit7CisgICAgcHJl
YW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNsb3NlKCki
KTsKICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAxKSIp
OwogICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25lcnJvciA9IGVycm9yV2hlblRyeWluZ0xvd1Zl
cnNpb24iKTsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJh
Y2s7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOwor
ICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gdW5leHBlY3RlZFVwZ3JhZGVOZWVkZWRDYWxs
YmFjazsKIH0KIAogZnVuY3Rpb24gZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbihldnQpCiB7Ci0g
ICAgZXZlbnQgPSBldnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJlcnJvcldoZW5Ucnlp
bmdMb3dWZXJzaW9uKCk6Iik7CisgICAgcHJlYW1ibGUoZXZ0KTsKICAgICBkZWJ1ZygicmVxdWVz
dC53ZWJraXRFcnJvck1lc3NhZ2UgPSAiICsgcmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UpOwog
ICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDQpIik7CiAg
ICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24t
aW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24t
aGFzLW5vLXNpZGUtZWZmZWN0cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmMx
MjBkNDI1YWRjYTFmNjZlY2Q3MzUxOWMyNWE3NDVhYjBhYWYyMC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXNvdXJjZXMvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZm
ZWN0cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLWlmICh0aGlzLmltcG9ydFNj
cmlwdHMpIHsKLSAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcycpOwotICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwotfQotCi1k
ZXNjcmlwdGlvbigiVGVzdCB0aGF0IHdoZW4gc2V0VmVyc2lvbiBpcyBjYWxsZWQgb24gYSBkYiB3
aXRoIGFuIGludGVnZXIgdmVyc2lvbiwgdmVyc2lvbmNoYW5nZSBldmVudHMgZG9uJ3QgZ2V0IGZp
cmVkIG9uIG90aGVyIG9wZW4gZGJzLiIpOwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICByZW1v
dmVWZW5kb3JQcmVmaXhlcygpOwotICAgIHNldERCTmFtZUZyb21QYXRoKCk7Ci0gICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpIik7Ci0gICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVTdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBkZWxldGVTdWNjZXNzKGV2
dCkgewotICAgIHByZWFtYmxlKCk7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSwgMikiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZpcnN0U3VjY2Vz
c0V2ZW50SGFuZGxlcjsKLSAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2Vk
Q2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci0gICAgZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSBmYWxzZTsKLSAgICByZXF1ZXN0Lm9u
dXBncmFkZW5lZWRlZCA9IGZpcnN0VXBncmFkZU5lZWRlZENhbGxiYWNrOwotfQotCi1mdW5jdGlv
biBmaXJzdFVwZ3JhZGVOZWVkZWRDYWxsYmFjayhldnQpCi17Ci0gICAgcHJlYW1ibGUoZXZ0KTsK
LSAgICBldmFsQW5kTG9nKCJnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsKLSAg
ICBzaG91bGRCZSgiZXZlbnQub2xkVmVyc2lvbiIsICIwIik7Ci0gICAgc2hvdWxkQmUoImV2ZW50
Lm5ld1ZlcnNpb24iLCAiMiIpOwotfQotCi1mdW5jdGlvbiBmaXJzdFN1Y2Nlc3NFdmVudEhhbmRs
ZXIoZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7Ci0gICAgc2hvdWxkQmVUcnVlKCJnb3RGaXJz
dFVwZ3JhZGVOZWVkZWRFdmVudCIpOwotICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24xID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24xLm9udmVyc2lv
bmNoYW5nZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2siKTsKLSAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhjb25uZWN0aW9uMSkiLCAiW29iamVjdCBJREJEYXRhYmFz
ZV0iKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIp
OwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2Vjb25kU3VjY2Vzc0NhbGxiYWNrOwotICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9udXBncmFk
ZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9u
IHNlY29uZFN1Y2Nlc3NDYWxsYmFjayhldnQpCi17Ci0gICAgcHJlYW1ibGUoZXZ0KTsKLSAgICBl
dmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBldmFsQW5kTG9nKCJy
ZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbicpIik7Ci0gICAgZXZhbEFuZExvZygicmVx
dWVzdC5vbmVycm9yID0gc2V0VmVyc2lvbkVycm9yIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVz
dC5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrIik7Ci0gICAgZXZhbEFuZExv
ZygicmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrIik7Ci19Ci0K
LWZ1bmN0aW9uIHNldFZlcnNpb25FcnJvcihldnQpCi17Ci0gICAgcHJlYW1ibGUoKTsKLSAgICBk
ZWJ1ZygiT3BlbiB1cCBhIG5ldyBkYiB0byBlbnN1cmUgdGhhdCBpZiBjb25uZWN0aW9uMSB3ZXJl
IHRvIGdldCBhIHZlcnNpb25jaGFuZ2UgZXZlbnQsIGl0IHdpbGwgYmUgZGVsaXZlcmVkIGJlZm9y
ZSB0aGUgdGVzdCBmaW5pc2hlcyIpOwotICAgIGV2YWxBbmRMb2coIm5ld19kYiA9IGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSArICcyJykiKTsKLSAgICBldmFsQW5kTG9nKCJuZXdfZGIub25zdWNjZXNz
ID0gbmV3REJTdWNjZXNzIik7Ci0gICAgbmV3X2RiLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLSAgICBuZXdfZGIub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFj
azsKLX0KLQotZnVuY3Rpb24gbmV3REJTdWNjZXNzKGV2dCkKLXsKLSAgICBwcmVhbWJsZSgpOwot
ICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi10ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVy
c2lvbnMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVy
c2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2IyYjBhOWNhZTMwNGYx
Y2ZjMTk4OTg1ZWUwOTBiOGQ1YjJjMzgzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJz
aW9ucy5qcwpAQCAtMCwwICsxLDY1IEBACitpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CisgICAg
aW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMn
KTsKKyAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKK30KKworZGVzY3JpcHRpb24oIlRl
c3QgdGhhdCBvbmx5IHRoZSBmaXJzdCBvcGVuIGNhbGwgZ2V0cyBhbiB1cGdyYWRlbmVlZGVkIik7
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CisgICAg
c2V0REJOYW1lRnJvbVBhdGgoKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVk
REIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVs
ZXRlU3VjY2VzczsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKK30KKwordmFyIGdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gZmFsc2U7Cit2YXIgZ290
U2Vjb25kVXBncmFkZU5lZWRlZEV2ZW50ID0gZmFsc2U7CitmdW5jdGlvbiBkZWxldGVTdWNjZXNz
KGV2dCkgeworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUp
Iik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25uZWN0aW9uMU9wZW5T
dWNjZXNzIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBjb25u
ZWN0aW9uMVVwZ3JhZGVOZWVkZWQiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2Vk
Q2FsbGJhY2s7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJu
YW1lKSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjJP
cGVuU3VjY2VzcyIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0g
Y29ubmVjdGlvbjJVcGdyYWRlTmVlZGVkIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxv
Y2tlZENhbGxiYWNrOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQoZXZ0
KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZ290Rmlyc3RVcGdyYWRl
TmVlZGVkRXZlbnQgPSB0cnVlIik7CisgICAgc2hvdWxkQmUoImV2ZW50Lm9sZFZlcnNpb24iLCAi
MCIpOworICAgIHNob3VsZEJlKCJldmVudC5uZXdWZXJzaW9uIiwgIjEiKTsKK30KKworZnVuY3Rp
b24gY29ubmVjdGlvbjFPcGVuU3VjY2VzcyhldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAg
ICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQiKTsKKyAgICBzaG91bGRCZSgiZGIu
dmVyc2lvbiIsICIxIik7Cit9CisKK2Z1bmN0aW9uIGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZChl
dnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJnb3RTZWNvbmRVcGdy
YWRlTmVlZGVkRXZlbnQgPSB0cnVlIik7Cit9CisKK2Z1bmN0aW9uIGNvbm5lY3Rpb24yT3BlblN1
Y2Nlc3MoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZGIgPSBldmFsQW5kTG9nKCJk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJnb3RTZWNvbmRV
cGdyYWRlTmVlZGVkRXZlbnQiKTsKKyAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2xpc3Qtb3JkZXJpbmcuanMKaW5kZXggNzM1
OThmZDcyMzU4NjBlZGE3OGIyZjE3MWVlMTRkYjBjMGMxYWNjZi4uNzVmMDMyNTZjN2MzZjhkNTJl
MTkwYTE1NjBhOTMzNjI3MmM4ZTBkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL2xpc3Qtb3JkZXJpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2xpc3Qtb3JkZXJpbmcuanMKQEAgLTUyLDcgKzUyLDcg
QEAgZnVuY3Rpb24gdGVzdFN0b3Jlc0FuZEluZGV4ZXMoKQogICAgICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3QucmVz
dWx0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAi
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAgICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAgICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpAQCAtODEsNCArODEsNCBAQCBmdW5j
dGlvbiB0ZXN0U3RvcmVzQW5kSW5kZXhlcygpCiAgICAgfTsKIH0KIAotdGVzdCgpOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi5qcyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWR1cmluZy10cmFuc2Fj
dGlvbi5qcwppbmRleCBiNTAzMjc4OTE4YzJlNjQ3YzNmMGM4NjM4MDI3ODUyZjRlNTE3YzhjLi5m
MTI3MTc2YjdmOWFhMmI1ODk4NjMxOGE1YzlmNTY2ZGFhZmFmMjIwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rp
b24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4t
ZHVyaW5nLXRyYW5zYWN0aW9uLmpzCkBAIC00NSw4ICs0NSw4IEBAIGZ1bmN0aW9uIHN0YXJ0VHJh
bnNhY3Rpb24oKQogICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
ICAgICB0cmFucy5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgZGVidWcoInRy
YW5zYWN0aW9uIGNvbXBsZXRlIik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3Rh
dGUiLCAib3BlbjNjb21wbGV0ZSIpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdGF0ZSIsICJvcGVuMmNvbXBsZXRlIik7CisgICAgICAg
IGRlYnVnKCIiKTsKICAgICB9OwogCiAgICAgZGVidWcoIiIpOwpAQCAtNTYsNyArNTYsNyBAQCBm
dW5jdGlvbiBzdGFydFRyYW5zYWN0aW9uKCkKIGZ1bmN0aW9uIHRyeU9wZW5zKCkKIHsKICAgICBk
ZWJ1ZygidHJ5aW5nIHRvIG9wZW4gdGhlIHNhbWUgZGF0YWJhc2UiKTsKLSAgICBldmFsQW5kTG9n
KCJvcGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdkYjEnKSIpOworICAgIGV2YWxBbmRMb2coIm9w
ZW5yZXEyID0gaW5kZXhlZERCLm9wZW4oJ29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uMScpIik7CiAg
ICAgb3BlbnJlcTIub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIG9wZW5y
ZXEyLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgIGRlYnVnKCJvcGVucmVxMi5v
bnN1Y2Nlc3MiKTsKQEAgLTczLDkgKzczLDkgQEAgZnVuY3Rpb24gdHJ5T3BlbnMoKQogICAgICAg
ICBkZWJ1Zygib3BlbnJlcTMub25zdWNjZXNzIik7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygic3RhdGUiLCAib3BlbjJjb21wbGV0ZSIpOwogICAgICAgICBldmFsQW5kTG9nKCJzdGF0
ZSA9ICdvcGVuM2NvbXBsZXRlJyIpOwotICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGZpbmlz
aEpTVGVzdCgpOwogICAgIH0KICAgICBkZWJ1ZygiIik7CiB9CiAKLXRlc3QoKTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzCmluZGV4IGYy
OTllMDI5NDMyZWEzZGQ3YzU4MTM0MWFhMWU0NzA4YWFkZjliNGIuLmQxMTA3ZGFhYTEyOTM3YTcy
MWE3NGM4NGE4YTdhZDU5Y2Q5ODU0MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzCkBAIC0yMiw3
ICsyMiw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAgICAgICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5y
ZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIs
ICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKICAgICAgICAg
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAgICAgICAg
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0
CmluZGV4IDhmYmY5MDUwZDZjOWViMTgwYTlmNzI1MzdkZmFjMjNjMDZjYTE3MTAuLjAyYTBiNDk3
MmNjNjU5MTE5Zjc4NzFjYmEyM2MzMTE0ZTIxMDhiYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0
CkBAIC0xMCw3ICsxMCw3IEBAIFByZXBhcmUgRGF0YWJhc2UKIGluZGV4ZWREQi5kZWxldGVEYXRh
YmFzZSgnc3RydWN0dXJlZC1jbG9uZScpCiBpbmRleGVkREIub3Blbignc3RydWN0dXJlZC1jbG9u
ZScpCiBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BBU1MgZGIu
dmVyc2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCiBUaGlzIGluZGV4IGlzIG5vdCB1c2VkLCBidXQgZXZhbHVhdGlu
ZyBrZXkgcGF0aCBvbiBlYWNoIHB1dCgpIGNhbGwgd2lsbCBleGVyY2lzZSAoZGUpc2VyaWFsaXph
dGlvbjoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVy
ZWQtY2xvbmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQt
Y2xvbmUuaHRtbAppbmRleCA4ZDgyZWM4NGJmOTIxYTFkNDk4M2JhZDNhZDdjMmY1YjU4NWYyZGQ1
Li4zNTA2Y2Y2MTdhNDQ2NTllOWMyNjcyMzNjNzY5ZDI3MDcwNmZlMWNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCkBAIC0z
Niw3ICszNiw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAgICAgICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVz
dC5yZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lv
biIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKICAgICAg
ICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAgICAg
ICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAg
ICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163492</attachid>
            <date>2012-09-11 18:41:34 -0700</date>
            <delta_ts>2012-09-12 15:59:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120911184109.patch</filename>
            <type>text/plain</type>
            <size>45957</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE5YjgxNDRhMGU3YWRi
ZDBjYWM4NDBiZGQ3YTAzMmFkYzQ1NzMyMS4uNjAyZWU5OWYxYmEzMDMwMGYwZjhkY2E5YTJlZjli
MjNiYjMxOTM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9u
YWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUu
IFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6Om9wZW5Db25uZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OmRlbGV0ZURhdGFiYXNlKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbik6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oOgor
ICAgICAgICAoSURCRGF0YWJhc2VCYWNrZW5kSW1wbCk6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJM
ZXZlbERCQmFja2luZ1N0b3JlOjp1cGRhdGVJREJEYXRhYmFzZUludFZlcnNpb24pOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9wZW5EQlJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCT3BlbkRCUmVxdWVzdDo6b25VcGdyYWRlTmVlZGVkKToKKwogMjAxMi0wOS0xMSAg
Sm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjog
Q29uc29saWRhdGUgdHdvLXBoYXNlIGNvbm5lY3Rpb24gdG8gYXZvaWQgcmFjZSBjb25kaXRpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGJmYjJhZTI2NzYxNWQ2Mzg1MjNjMGRlMmJlZWU0
NWRjNTJmYTM0NGEuLmRmYjg4MGMzM2MyOTYzYTQxZjM4M2UxNGY0YTBkNTgxMjcxN2Q4YTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC0xMjcsMTEgKzEyNywxNSBAQCBQYXNzUmVmUHRyPElE
QkRhdGFiYXNlQmFja2VuZEltcGw+IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZShjb25z
dCBTdHJpbmcmCiAgICAgcmV0dXJuIGJhY2tlbmQucmVsZWFzZSgpOwogfQogCituYW1lc3BhY2Ug
eworY29uc3QgY2hhciogTm9TdHJpbmdWZXJzaW9uID0gIiI7Cit9CisKIElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJC
YWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSwgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvciogY29v
cmRpbmF0b3IsIElEQkZhY3RvcnlCYWNrZW5kSW1wbCogZmFjdG9yeSwgY29uc3QgU3RyaW5nJiB1
bmlxdWVJZGVudGlmaWVyKQogICAgIDogbV9iYWNraW5nU3RvcmUoYmFja2luZ1N0b3JlKQogICAg
ICwgbV9pZChJbnZhbGlkSWQpCiAgICAgLCBtX25hbWUobmFtZSkKLSAgICAsIG1fdmVyc2lvbigi
IikKKyAgICAsIG1fdmVyc2lvbihOb1N0cmluZ1ZlcnNpb24pCiAgICAgLCBtX2ludFZlcnNpb24o
SURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKQogICAgICwgbV9pZGVudGlmaWVyKHVu
aXF1ZUlkZW50aWZpZXIpCiAgICAgLCBtX2ZhY3RvcnkoZmFjdG9yeSkKQEAgLTI0MCwxMCArMjQ0
LDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmlu
ZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9y
KElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCX0FCT1JU
X0VSUiwgIkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBiZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rp
b24gd2FzIGNyZWF0ZWQiKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1faW50
VmVyc2lvbiAhPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKLSAgICAgICAg
Y2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6VU5LTk9XTl9FUlIsIFN0cmluZzo6Zm9ybWF0KCJZb3UgY2FuJ3QgdXNlIHRoZSBz
ZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBhbHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0aHJv
dWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50IGludGVnZXIgdmVyc2lvbiBpcyAlbGxkIiwg
c3RhdGljX2Nhc3Q8bG9uZyBsb25nPihtX2ludFZlcnNpb24pKSkpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQogICAgIGZvciAoRGF0YWJhc2VDYWxsYmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdpbigpOyBpdCAhPSBtX2RhdGFiYXNlQ2FsbGJh
Y2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAgIC8vIEZyb250IGVuZCBlbnN1cmVzIHRoZSBl
dmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlvbnMgdGhhdCBoYXZlIGNsb3NlUGVuZGluZyBz
ZXQuCiAgICAgICAgIGlmICgqaXQgIT0gZGF0YWJhc2VDYWxsYmFja3MpCkBAIC0yNzIsNyArMjcy
LDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmlu
ZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwKICAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNr
ZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwogICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxl
VGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6c2V0VmVyc2lvbkludGVybmFsLCBkYXRhYmFzZSwgdmVyc2lvbiwgY2FsbGJhY2tzLCB0
cmFuc2FjdGlvbiksCi0gICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNl
QmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbikpKSB7CisgICAg
ICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0
VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwgbV9pbnRWZXJzaW9uKSkpIHsKICAgICAgICAg
Ly8gRklYTUU6IFJlbW92ZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW5lcy4KICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRS
QU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKQEAgLTI4NCw3ICsyODQsOCBAQCB2b2lkIElEQkRhdGFi
YXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgUGFzc1JlZgogICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2Fj
dGlvbiA9IHBycFRyYW5zYWN0aW9uOwogICAgIGludDY0X3QgZGF0YWJhc2VJZCA9IGRhdGFiYXNl
LT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOwotICAgIGlmICghZGF0
YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGRhdGFiYXNl
SWQsIGRhdGFiYXNlLT5tX3ZlcnNpb24pKSB7CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9
IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbjsKKyAgICBpZiAoIWRhdGFiYXNlLT5t
X2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJhc2VNZXRhRGF0YShkYXRhYmFzZUlkLCBkYXRh
YmFzZS0+bV92ZXJzaW9uKSB8fCAhZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJE
YXRhYmFzZUludFZlcnNpb24oZGF0YWJhc2VJZCwgZGF0YWJhc2UtPm1faW50VmVyc2lvbikpIHsK
ICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJFcnJvciB3cml0aW5nIGRhdGEgdG8gc3Rh
YmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFuc2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtNDM3LDE2ICs0MzgsMjMgQEAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnRyYW5zYWN0aW9uKEQKIHZv
aWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3BlbkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJREJD
YWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4gZGF0
YWJhc2VDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJUKG1fYmFja2luZ1N0b3JlLmdldCgpKTsKLSAg
ICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlzRW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJzaW9u
Q2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGluZ1NldFZlcnNpb25DYWxscy5pc0VtcHR5KCkp
CisgICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxscy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5nVmVy
c2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3BlbmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIG1fcGVuZGluZ09wZW5DYWxscy5hcHBlbmQoUGVuZGluZ09wZW5DYWxs
OjpjcmVhdGUoY2FsbGJhY2tzLCBkYXRhYmFzZUNhbGxiYWNrcykpOwotICAgIGVsc2UgewotICAg
ICAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYgIW9wZW5JbnRlcm5hbCgpKQotICAgICAgICAg
ICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5hZGQoUmVmUHRyPElEQkRh
dGFiYXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxiYWNrcykpOwotICAgICAgICAgICAgY2FsbGJh
Y2tzLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYgIW9wZW5JbnRlcm5hbCgpKSB7CisgICAgICAg
IGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VF
eGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOworICAgICAgICByZXR1
cm47CiAgICAgfQorICAgIGlmIChtX3ZlcnNpb24gPT0gTm9TdHJpbmdWZXJzaW9uICYmIG1faW50
VmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKKyAgICAgICAg
Ly8gU3BlYyBzYXlzOiBJZiBubyB2ZXJzaW9uIGlzIHNwZWNpZmllZCBhbmQgbm8gZGF0YWJhc2Ug
ZXhpc3RzLCBzZXQKKyAgICAgICAgLy8gZGF0YWJhc2UgdmVyc2lvbiB0byAxLiBXZSBpbmZlciB0
aGF0IHRoZSBkYXRhYmFzZSBkaWRuJ3QgZXhpc3QgZnJvbQorICAgICAgICAvLyBpdHMgbGFjayBv
ZiBlaXRoZXIgdHlwZSBvZiB2ZXJzaW9uLgorICAgICAgICBvcGVuQ29ubmVjdGlvbldpdGhWZXJz
aW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFja3MsIDEpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuYWRkKFJlZlB0cjxJREJEYXRhYmFzZUNh
bGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsKKyAgICBjYWxsYmFja3MtPm9uU3VjY2Vzcyh0
aGlzKTsKIH0KIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpydW5JbnRWZXJzaW9uQ2hh
bmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0ZWRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNh
bGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiBw
cnBEYXRhYmFzZUNhbGxiYWNrcykKQEAgLTUzMSw3ICs1MzksNyBAQCB2b2lkIElEQkRhdGFiYXNl
QmFja2VuZEltcGw6OmRlbGV0ZURhdGFiYXNlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBD
YWxsYmFjawogICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNr
czsKICAgICBmb3IgKERhdGFiYXNlQ2FsbGJhY2tzU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1f
ZGF0YWJhc2VDYWxsYmFja3NTZXQuYmVnaW4oKTsgaXQgIT0gbV9kYXRhYmFzZUNhbGxiYWNrc1Nl
dC5lbmQoKTsgKytpdCkgewogICAgICAgICAvLyBGcm9udCBlbmQgZW5zdXJlcyB0aGUgZXZlbnQg
aXMgbm90IGZpcmVkIGF0IGNvbm5lY3Rpb25zIHRoYXQgaGF2ZSBjbG9zZVBlbmRpbmcgc2V0Lgot
ICAgICAgICAoKml0KS0+b25WZXJzaW9uQ2hhbmdlKCIiKTsKKyAgICAgICAgKCppdCktPm9uVmVy
c2lvbkNoYW5nZShOb1N0cmluZ1ZlcnNpb24pOwogICAgIH0KICAgICAvLyBGSVhNRTogT25seSBm
aXJlIG9uQmxvY2tlZCBpZiB0aGVyZSBhcmUgb3BlbiBjb25uZWN0aW9ucyBhZnRlciB0aGUKICAg
ICAvLyBWZXJzaW9uQ2hhbmdlRXZlbnRzIGFyZSByZWNlaXZlZCwgbm90IGp1c3Qgc2V0IHVwIHRv
IGZpcmUuCkBAIC01NDYsNyArNTU0LDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpk
ZWxldGVEYXRhYmFzZShQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2sKICAgICAg
ICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgbV92ZXJzaW9uID0gIiI7CisgICAgbV92ZXJzaW9uID0gTm9TdHJp
bmdWZXJzaW9uOwogICAgIG1faWQgPSBJbnZhbGlkSWQ7CiAgICAgbV9pbnRWZXJzaW9uID0gSURC
RGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uOwogICAgIG1fb2JqZWN0U3RvcmVzLmNsZWFy
KCk7CkBAIC02MTIsOSArNjIwLDEwIEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6YWRk
T2JqZWN0U3RvcmVUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlCiAgICAgZGF0
YWJhc2UtPm1fb2JqZWN0U3RvcmVzLnNldChvYmplY3RTdG9yZVB0ci0+bmFtZSgpLCBvYmplY3RT
dG9yZVB0cik7CiB9CiAKLXZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRWZXJzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZElt
cGw+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCit2b2lkIElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OnJlc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
LCBpbnQ2NF90IG9sZEludFZlcnNpb24pCiB7CiAgICAgZGF0YWJhc2UtPm1fdmVyc2lvbiA9IHZl
cnNpb247CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IG9sZEludFZlcnNpb247CiB9CiAK
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRJbnRWZXJzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNl
LCBpbnQ2NF90IG9sZFZlcnNpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKaW5kZXggMjJjY2M0MzIyMGI1
MDRmZTcwNjg1NjdiNTlhNDc2MjU1ZWVhODU0ZC4uMGZlNTY2OWIxNjQ0YzJlNDMzYmNlMTYzMjUz
MWIwNmIxNzY4ODk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtOTEsNyArOTEsNyBAQCBwcml2
YXRlOgogICAgIC8vIFRoZXNlIGFyZSB1c2VkIGFzIHNldFZlcnNpb24gdHJhbnNhY3Rpb24gYWJv
cnQgdGFza3MuCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlT2JqZWN0U3RvcmVGcm9tTWFwKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+KTsKICAgICBzdGF0aWMgdm9pZCBh
ZGRPYmplY3RTdG9yZVRvTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElE
QkRhdGFiYXNlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw+KTsKLSAgICBzdGF0aWMgdm9pZCByZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIGNvbnN0IFN0cmluZyYgdmVy
c2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBjb25zdCBTdHJpbmcmIHZl
cnNpb24sIGludDY0X3QgaW50VmVyc2lvbik7CiAgICAgc3RhdGljIHZvaWQgcmVzZXRJbnRWZXJz
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw+LCBpbnQ2NF90IGludFZlcnNpb24pOwogCiAgICAgUmVmUHRyPElEQkJhY2tpbmdTdG9y
ZT4gbV9iYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDkzMGUyMGIzYjgz
NWRkYWVkNTM3ZTdlMTkwYjE0NTEyZWFlNDcyNmEuLjUyYmRhNDliNjhiNWRmMmE5YmU1OGIwNjE3
NTExYzFiNjExYmM1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwCkBAIC0zMzksOCArMzM5LDgg
QEAgYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRh
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QKIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6
dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJzaW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVy
c2lvbikKIHsKICAgICBBU1NFUlQobV9jdXJyZW50VHJhbnNhY3Rpb24pOwotICAgIC8vIEZJWE1F
OiBDaGFuZ2UgdGhpcyB0byBzdHJpY3RseSBncmVhdGVyIHRoYW4gMCBvbmNlIHdlIHRocm93IFR5
cGVFcnJvciBmb3IKLSAgICAvLyBiYWQgdmVyc2lvbnMuCisgICAgaWYgKGludFZlcnNpb24gPT0g
SURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKQorICAgICAgICBpbnRWZXJzaW9uID0g
SURCRGF0YWJhc2VNZXRhZGF0YTo6RGVmYXVsdEludFZlcnNpb247CiAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRShpbnRWZXJzaW9uID49IDAsICJpbnRWZXJzaW9uIHdhcyAlbGxkIiwgc3RhdGljX2Nh
c3Q8bG9uZyBsb25nPihpbnRWZXJzaW9uKSk7CiAgICAgaWYgKCFwdXRWYXJJbnQobV9jdXJyZW50
VHJhbnNhY3Rpb24uZ2V0KCksIERhdGFiYXNlTWV0YURhdGFLZXk6OmVuY29kZShyb3dJZCwgRGF0
YWJhc2VNZXRhRGF0YUtleTo6VXNlckludFZlcnNpb24pLCBpbnRWZXJzaW9uKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPcGVuREJSZXF1ZXN0LmNwcAppbmRleCA2ZWYxNmNmMDI5M2E2OTE5MGY5NmNkM2E4NWFj
MzUyNzIzZWJiNmYzLi43YjQ0YzY1ODc0MjJlODQyNzE1YjBhZDUzYmJhZWUwZmY0NTU2OGYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJS
ZXF1ZXN0LmNwcApAQCAtODgsOSArODgsMTEgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQoaW50NjRfdCBvbGRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQlRyYW5zYWMKICAg
ICBtX3Jlc3VsdCA9IElEQkFueTo6Y3JlYXRlKGlkYkRhdGFiYXNlLnJlbGVhc2UoKSk7CiAKICAg
ICBpZiAob2xkVmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsK
LSAgICAgIC8vIFRoaXMgZGF0YWJhc2UgaGFzbid0IGhhZCBhbiBpbnRlZ2VyIHZlcnNpb24gYmVm
b3JlLgotICAgICAgb2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRW
ZXJzaW9uOworICAgICAgICAvLyBUaGlzIGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2
ZXJzaW9uIGJlZm9yZS4KKyAgICAgICAgb2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6
OkRlZmF1bHRJbnRWZXJzaW9uOwogICAgIH0KKyAgICBpZiAobV92ZXJzaW9uID09IElEQkRhdGFi
YXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikKKyAgICAgICAgbV92ZXJzaW9uID0gMTsKICAgICBl
bnF1ZXVlRXZlbnQoSURCVXBncmFkZU5lZWRlZEV2ZW50OjpjcmVhdGUob2xkVmVyc2lvbiwgbV92
ZXJzaW9uLCBldmVudE5hbWVzKCkudXBncmFkZW5lZWRlZEV2ZW50KSk7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAz
NDlmMjhiMDM1ODdjOWM5ZmE0ZDMzYTA1NWY5ZmQwYThjMmI1YmZjLi42MTM2OGFhYTIzMDY3Y2Qz
MDQ0Y2M3ZDY2ZTk5YzEzNDFjOWQ5Yjc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjAgQEAKKzIwMTItMDkt
MTEgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4
ZWREQjogZmlyZSB1cGdyYWRlbmVlZGVkIGV2ZW4gd2l0aG91dCBhbiBleHBsaWNpdCBpbnRlZ2Vy
IHZlcnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk2NDQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJh
dGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BT
ISkuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0
bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24t
YmxvY2tlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRl
ZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVy
c2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12
ZXJzaW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1o
YXMtbm8tc2lkZS1lZmZlY3RzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbGlz
dC1vcmRlcmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbm9i
bG9icy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9u
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2
aXR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFj
dGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzOgorICAgICAgICAoZGVsZXRl
U3VjY2Vzcyk6CisgICAgICAgIChpbml0aWFsVXBncmFkZU5lZWRlZCk6CisgICAgICAgIChvcGVu
U3VjY2Vzcyk6CisgICAgICAgIChmaXJzdFVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAodHJhbnNh
Y3Rpb25Db21wbGV0ZWQpOgorICAgICAgICAoZmlyc3RPcGVuV2l0aFZlcnNpb24pOgorICAgICAg
ICAoc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKHNldEludFZlcnNpb24yKToK
KyAgICAgICAgKHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludCk6CisgICAgICAgICh2
ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkKToKKyAgICAgICAgKHZlcnNpb24yQ29ubmVjdGlvblN1
Y2Nlc3MpOgorICAgICAgICAoZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbik6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9u
LWhhcy1uby1zaWRlLWVmZmVjdHMuanM6IFJlbW92ZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAoZGVsZXRlU3VjY2Vzcyk6CisgICAgICAgIChj
b25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAoY29ubmVjdGlvbjFPcGVuU3VjY2Vz
cyk6CisgICAgICAgIChjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAoY29ubmVj
dGlvbjJPcGVuU3VjY2Vzcyk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L2xpc3Qtb3JkZXJpbmcuanM6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzOgorICAgICAgICAoc3RhcnRUcmFuc2FjdGlvbi50
cmFucy5vbmNvbXBsZXRlKToKKyAgICAgICAgKHN0YXJ0VHJhbnNhY3Rpb24pOgorICAgICAgICAo
dHJ5T3BlbnMub3BlbnJlcTMub25zdWNjZXNzKToKKyAgICAgICAgKHRyeU9wZW5zKToKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qczoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWw6CisKIDIw
MTItMDktMTEgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5jb20+CiAKICAgICAgICAg
U2tpcCBzcGF0aWFsLW5hdmlnYXRpb24gdGVzdHMgb24gbWFjLXdrMiBiZWNhdXNlIHRoZXkgYXJl
IGFsbCBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLW92ZXJsb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dAppbmRleCAzM2NiYjRjNjQ2NzQwYjE4
NTM2YmY2M2YwODEyOTU1YmUxODUyM2I5Li4yMjIwMzJhNzk4NDZmYjFmYmU1ZmExN2RlOWMxN2Y1
MTdjYzgyMzdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dApAQCAtMzMsNyArMzMsNyBAQCBkYm5h
bWUgPSAnY3Vyc29yLW92ZXJsb2FkcycKIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUp
CiBpbmRleGVkREIub3BlbihkYm5hbWUpCiBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZl
cnNpb24gaXMgIiIKK1BBU1MgZGIudmVyc2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykKIGluZGV4ID0gc3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4JywgJ3ZhbHVlJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1vdmVybG9hZHMuaHRtbAppbmRleCA2MzQxNmEzN2RlYTBkMDU4NzcyNDgx
ZGQwNWMzYWU3ZTNiYWQyMjA2Li5iNDNhMzEwNzYyNDBjNWFiZTAwMTRjYmQwZDk5YWExMjMzZTVh
YmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3Zl
cmxvYWRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92
ZXJsb2Fkcy5odG1sCkBAIC0yMCw3ICsyMCw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgp
CiAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAg
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGV2YWxB
bmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZGIudmVyc2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJz
aW9uIiwgJzEnKTsKICAgICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJz
aW9uKCcxJykiKTsKICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1pdC1v
bi1ibG9ja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rv
bnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQudHh0CmluZGV4IDc0M2ViMmIyMGU5NjRhMjFj
MWUyMDVjMTM1Y2Q1YmZlMjU3OTdmYTEuLjRmZDNjODMzMjdjNzkwNWNlNjE4NWQxNGNjNjY2MDYz
NDEzOTE2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RvbnQt
Y29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsx
MCw3IEBAIHJlcXVlc3QgPSBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoJ2RvbnQtY29tbWl0LW9u
LWJsb2NrZWQnKQogcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCdkb250LWNvbW1pdC1vbi1ibG9j
a2VkJykKIGRiID0gcmVxdWVzdC5yZXN1bHQKIGRiLm9udmVyc2lvbmNoYW5nZSA9IG9uVmVyc2lv
bkNoYW5nZQotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMgMQogZGIu
c2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEnKQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1pdC1v
bi1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1p
dC1vbi1ibG9ja2VkLmh0bWwKaW5kZXggOWQ1NzViOWJhMzY1YTE0ZDExYjEzMTgxMTlhNmIzZWUw
NzBlYWZlNy4uMTI0NjA5MjYwYjk5NmQ4OTVmMmZmN2I3MDkzNmZmOWNhMGQ2M2Q4NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9u
LWJsb2NrZWQuaHRtbApAQCAtMjYsNyArMjYsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2Uo
KQogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwogICAgICAg
ICAgICAgZGIub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAgICAg
ZXZhbEFuZExvZygiZGIub252ZXJzaW9uY2hhbmdlID0gb25WZXJzaW9uQ2hhbmdlIik7Ci0gICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAgICAg
ICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAgICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgICAgIHJlcXVlc3Qub25z
dWNjZXNzID0gZnVuY3Rpb24oZSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1p
bnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGNiYTk5NThmYTg4MGY0ZmRlODE2ZmFmZTkw
NGU5N2NkM2ZiNWUyZmYuLjUyZjcyOTQ0MTBjNjQ0NmVhNmQ0NmFlNDhhZTNhNDQwZGJkNDhjZTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRl
ZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3Rl
ZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgc2VsZi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9
IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJhc2Uo
KScKICdoLm9udmVyc2lvbmNoYW5nZScKLSAgICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBu
ZXcgPSAiIgorICAgIGluIHZlcnNpb25jaGFuZ2UsIG9sZCA9IDEgbmV3ID0gIiIKICAgICBoIGNs
b3NpbmcsIGJ1dCBub3QgaW1tZWRpYXRlbHkKICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcK
ICdoLmNsb3NlJwpAQCAtMjUsNyArMjUsNyBAQCBzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYu
dmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRh
YmFzZSgpJwogJ2gub252ZXJzaW9uY2hhbmdlJwotICAgIGluIHZlcnNpb25jaGFuZ2UsIG9sZCA9
ICIiIG5ldyA9ICIiCisgICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gMSBuZXcgPSAiIgogICAg
IGggY2xvc2luZyBpbW1lZGlhdGVseQogJ2guY2xvc2UnCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJs
b2NrZWQnCkBAIC01OCw3ICs1OCw3IEBAIHNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIg
PSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLnNldFZlcnNpb24nCiAnZGVsZXRlRGF0YWJhc2UoKScK
ICdoMi5vbnZlcnNpb25jaGFuZ2UnCi0gICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3
ID0gIjEiCisgICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gMSBuZXcgPSAiMSIKICdoLnNldFZl
cnNpb24ub25ibG9ja2VkJwogJ2gzLm9wZW4nCiAnaDIuY2xvc2UnCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNl
dHZlcnNpb24tZXhwZWN0ZWQudHh0CmluZGV4IDA0ZjI4MWFhZDg0N2U4ODY4NjJmNzM5YWU0Y2Zh
Mjk0NzI3MjYyZjAuLjg3NWNlYmVmNmNiOTY2NWNkZmE0OWY2ODkxYzJjYjQ2NDliNmQ2YjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNl
dHZlcnNpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0CkBAIC0xMiw5ICsxMiwxMSBA
QCBGQUlMIFN0cmluZyhyZXF1ZXN0KSBzaG91bGQgYmUgW29iamVjdCBJREJPcGVuREJSZXF1ZXN0
XS4gV2FzIFtvYmplY3QgSURCVmVyc2lvbgogQ2FsbCBvcGVuIHdpdGggbm8gdmVyc2lvbiBwYXJh
bWV0ZXI6CiBpbmRleGVkREIub3BlbihkYm5hbWUpCiAKK2luaXRpYWxVcGdyYWRlTmVlZGVkKCk6
CisKIG9wZW5TdWNjZXNzKCk6CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLVBBU1MgZGIudmVy
c2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9u
KCJzb21lIHZlcnNpb24iKQogCiBpblNldFZlcnNpb24oKToKQEAgLTQ3LDE4ICs0OSwzMSBAQCBk
aWRUcmFuc2FjdGlvbkNvbXBsZXRlID0gdHJ1ZQogZmlyc3RPcGVuV2l0aFZlcnNpb24oKToKIFBB
U1MgZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSBpcyB0cnVlCiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQKK2RiLm9udmVyc2lvbmNoYW5nZSA9IHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0lu
dAogUEFTUyBTdHJpbmcoZGIpIGlzICJbb2JqZWN0IElEQkRhdGFiYXNlXSIKIFBBU1MgcmVxdWVz
dC50cmFuc2FjdGlvbiBpcyBudWxsCiBQQVNTIGRiLnZlcnNpb24gaXMgMgogUEFTUyBTdHJpbmco
cmVxdWVzdCkgaXMgIltvYmplY3QgSURCT3BlbkRCUmVxdWVzdF0iCiByZXF1ZXN0ID0gZGIuc2V0
VmVyc2lvbigic3RyaW5nIHZlcnNpb24gMiIpCiBQQVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29i
amVjdCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdF0iCi1yZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJz
aW9uTm90QWxsb3dlZAorcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJh
Y2sKKworc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKCk6Cit0cmFuc2FjdGlvbiA9IGV2ZW50LnRh
cmdldC5yZXN1bHQKK3RyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBzZXRJbnRWZXJzaW9uMgorCitz
ZXRJbnRWZXJzaW9uMigpOgorcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKK3Jl
cXVlc3Qub25zdWNjZXNzID0gdmVyc2lvbjJDb25uZWN0aW9uU3VjY2VzcworcmVxdWVzdC5vbmJs
b2NrZWQgPSB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkCiAKLXNldFZlcnNpb25Ob3RBbGxvd2Vk
KCk6Ci1QQVNTIGV2ZW50LnR5cGUgaXMgImVycm9yIgotcmVxdWVzdC53ZWJraXRFcnJvck1lc3Nh
Z2UgPSBZb3UgY2FuJ3QgdXNlIHRoZSBzZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBhbHJl
YWR5IHNldCB0aGUgdmVyc2lvbiB0aHJvdWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50IGlu
dGVnZXIgdmVyc2lvbiBpcyAyCit2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQoKToK
IGRiLmNsb3NlKCkKKwordmVyc2lvbjJDb25uZWN0aW9uQmxvY2tlZCgpOgorCit2ZXJzaW9uMkNv
bm5lY3Rpb25TdWNjZXNzKCk6CitldmVudC50YXJnZXQucmVzdWx0LmNsb3NlKCkKIHJlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYm5hbWUsIDEpCiByZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldoZW5U
cnlpbmdMb3dWZXJzaW9uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24tYmFkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQK
aW5kZXggN2ExOGVkMmQ5ZTdmNGQwNTNkZTA0ZGZlZGY4NTdhNGZkMDk0NjE2ZS4uZTU1ZmQzYzIx
MzE0MGQzZDg4MTQ1MTU1YTE4ODZiZDliMGYzMTUzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1l
dGVycy1leHBlY3RlZC50eHQKQEAgLTIyLDcgKzIyLDcgQEAgUEFTUyBpbmRleGVkREIub3Blbihk
Ym5hbWUsIC01KSB0aHJldyBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKIEZJWE1FOiBVc2luZyAtMSBk
b2Vzbid0IHRocm93IFR5cGVFcnJvciBidXQgaXQgc2hvdWxkCiBFeHBlY3RpbmcgVHlwZUVycm9y
IGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIC0xKQogRkFJ
TCBObyBleGNlcHRpb24gdGhyb3duIQotRkFJTCBTdWNjZXNzIGZ1bmN0aW9uIGNhbGxlZCB1bmV4
cGVjdGVkbHkuCitGQUlMIG9udXBncmFkZW5lZWRlZCBjYWxsZWQgdW5leHBlY3RlZGx5CiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJz
aW9uLWhhcy1uby1zaWRlLWVmZmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZm
ZWN0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyOGNjN2Zk
MDExOWI2NzEwM2JkMzljMTYwZGM5YzQ3ZmQxMzg4ZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50
dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1UZXN0IHRoYXQgd2hlbiBzZXRWZXJz
aW9uIGlzIGNhbGxlZCBvbiBhIGRiIHdpdGggYW4gaW50ZWdlciB2ZXJzaW9uLCB2ZXJzaW9uY2hh
bmdlIGV2ZW50cyBkb24ndCBnZXQgZmlyZWQgb24gb3RoZXIgb3BlbiBkYnMuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1pbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxm
LndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERC
IHx8IHNlbGYuT0luZGV4ZWREQjsKLQotZGJuYW1lID0gImludHZlcnNpb24taW52YWxpZC1zZXR2
ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRtbCIKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFz
ZShkYm5hbWUpCi0KLWRlbGV0ZVN1Y2Nlc3MoKToKLXJlcXVlc3QgPSBpbmRleGVkREIub3Blbihk
Ym5hbWUsIDIpCi0KLWZpcnN0VXBncmFkZU5lZWRlZENhbGxiYWNrKCk6Ci1nb3RGaXJzdFVwZ3Jh
ZGVOZWVkZWRFdmVudCA9IHRydWUKLVBBU1MgZXZlbnQub2xkVmVyc2lvbiBpcyAwCi1QQVNTIGV2
ZW50Lm5ld1ZlcnNpb24gaXMgMgotCi1maXJzdFN1Y2Nlc3NFdmVudEhhbmRsZXIoKToKLVBBU1Mg
Z290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgaXMgdHJ1ZQotY29ubmVjdGlvbjEgPSBldmVudC50
YXJnZXQucmVzdWx0Ci1jb25uZWN0aW9uMS5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVy
c2lvbkNoYW5nZUNhbGxiYWNrCi1QQVNTIFN0cmluZyhjb25uZWN0aW9uMSkgaXMgIltvYmplY3Qg
SURCRGF0YWJhc2VdIgotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotc2Vjb25k
U3VjY2Vzc0NhbGxiYWNrKCk6Ci1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3QgPSBk
Yi5zZXRWZXJzaW9uKCd2ZXJzaW9uJykKLXJlcXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25FcnJv
cgotcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrCi1yZXF1ZXN0
Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2sKLQotc2V0VmVyc2lvbkVycm9y
KCk6Ci1PcGVuIHVwIGEgbmV3IGRiIHRvIGVuc3VyZSB0aGF0IGlmIGNvbm5lY3Rpb24xIHdlcmUg
dG8gZ2V0IGEgdmVyc2lvbmNoYW5nZSBldmVudCwgaXQgd2lsbCBiZSBkZWxpdmVyZWQgYmVmb3Jl
IHRoZSB0ZXN0IGZpbmlzaGVzCi1uZXdfZGIgPSBpbmRleGVkREIub3BlbihkYm5hbWUgKyAnMicp
Ci1uZXdfZGIub25zdWNjZXNzID0gbmV3REJTdWNjZXNzCi0KLW5ld0RCU3VjY2VzcygpOgotUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2
ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTI5YTAzYjM3MzRhMzI3NDEyMDE4
OTY4YmI1OWYzN2NiYWZiMTZhOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFs
aWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3Rz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQt
cGFyYW1ldGVyLWV4cGVjdGVkLnR4dAppbmRleCAyZmNmMGI3ZmU1N2Y0NzcwNDc4YWE1ZWI3NGIz
OWFhMzE1MzgwMDAyLi4yNzZjM2RiODE2N2RhN2NmNTEyNmEwMWM5MGIyZWNiMWQwZjIzODk5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQt
cGFyYW1ldGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dApAQCAtOCwxMSArOCwxMiBA
QCBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBz
ZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLgogZGJuYW1lID0gImludHZlcnNpb24tb21pdC1wYXJh
bWV0ZXIuaHRtbCIKIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCiBpbmRleGVkREIu
b3BlbihkYm5hbWUpCitQQVNTIEdvdCB1cGdyYWRlbmVlZGVkIGV2ZW50CiAKIG9wZW5TdWNjZXNz
KCk6CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIFRlc3QgbGluZSBmcm9tIElEQkZhY3Rvcnku
b3BlbjogSWYgbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWQgYW5kIG5vIGRhdGFiYXNlIGV4aXN0cywg
c2V0IGRhdGFiYXNlIHZlcnNpb24gdG8gMS4KLUZBSUwgZGIudmVyc2lvbiBzaG91bGQgYmUgMSAo
b2YgdHlwZSBudW1iZXIpLiBXYXMgIChvZiB0eXBlIHN0cmluZykuCitQQVNTIGRiLnZlcnNpb24g
aXMgMQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1v
cGVucy1uby12ZXJzaW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWQxNGNkYzc3ODAyZDMxM2NiNTFiM2U3NTMwMjc5MTI1Zjk3MWMxNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9w
ZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM0IEBACitUZXN0IHRoYXQg
b25seSB0aGUgZmlyc3Qgb3BlbiBjYWxsIGdldHMgYW4gdXBncmFkZW5lZWRlZAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2Vs
Zi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWRE
QiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2RibmFtZSA9ICJpbnR2ZXJzaW9uLXR3by1vcGVucy1u
by12ZXJzaW9ucy5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4
ZWREQi5vcGVuKGRibmFtZSkKK3JlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjFPcGVuU3Vj
Y2VzcworcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQK
K2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK3JlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjJP
cGVuU3VjY2VzcworcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBjb25uZWN0aW9uMlVwZ3JhZGVO
ZWVkZWQKKworY29ubmVjdGlvbjFVcGdyYWRlTmVlZGVkKCk6Citnb3RGaXJzdFVwZ3JhZGVOZWVk
ZWRFdmVudCA9IHRydWUKK1BBU1MgZXZlbnQub2xkVmVyc2lvbiBpcyAwCitQQVNTIGV2ZW50Lm5l
d1ZlcnNpb24gaXMgMQorCitjb25uZWN0aW9uMU9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRh
cmdldC5yZXN1bHQKK1BBU1MgZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgaXMgdHJ1ZQorUEFT
UyBkYi52ZXJzaW9uIGlzIDEKKworY29ubmVjdGlvbjJPcGVuU3VjY2VzcygpOgorZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0CitQQVNTIGdvdFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCBpcyBmYWxz
ZQorUEFTUyBkYi52ZXJzaW9uIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMDU2NzU3N2FlZjExMjcxMzY5ZDgwNzllYzI0YzZlZmJlYTMzZGEzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10
d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbApAQCAtMCwwICsxLDEwIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVu
cy1uby12ZXJzaW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1l
eHBlY3RlZC50eHQKaW5kZXggOWNiYTAwYTJiZmNlMWNlMzQxZjdmOTU5MzUzZGFlNjQ0YWQ2NDk0
Zi4uZmFhOWRlMzhlNWNhNTU3ZWM0MzI1YWViYzBiOWE5NzNiOWFhM2FkMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3Rl
ZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgdGVzdFN0b3Jlc0FuZEluZGV4ZXMoKToKIGluZGV4ZWRE
Qi5kZWxldGVEYXRhYmFzZSgnbGlzdC1vcmRlcmluZycpCiBpbmRleGVkREIub3BlbignbGlzdC1v
cmRlcmluZycpCiBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BB
U1MgZGIudmVyc2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIAogT2JqZWN0IHN0b3JlczoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50
eHQKaW5kZXggNTU4Yzg3YTgxNjc4YTc5NTZjYTQ2MWYyZGNhZjExNGFjYzRjYzg2Yi4uYjJkNTIy
NmRhNWNjNzg5NTVhMDNmOGM2OTQ0ZTNmYjIwYzlhZDVkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcg
QEAgUHJlcGFyZSBEYXRhYmFzZQogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdub2Jsb2JzJykK
IGluZGV4ZWREQi5vcGVuKCdub2Jsb2JzJykKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIu
dmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNpb24oJzEnKQog
c3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLnB1dCgndmFs
dWUnLCAna2V5JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25v
YmxvYnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbApp
bmRleCA4MzE4NjZiOWU1MjQ4MWJhMTBiNWVjYmRhOTU1YzUwMThjZGY5NWVlLi4xNzg3YzI4M2E4
MTRhMTVlNzg0Mjc5YjI0ZTBhMzE1NmYxNmI1ZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbm9ibG9icy5odG1sCkBAIC0zOCw3ICszOCw3IEBAIGZ1bmN0aW9uIHByZXBhcmVE
YXRhYmFzZSgpCiAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwogICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAg
ICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJkYi52ZXJzaW9uIiwgIjEiKTsKICAgICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJk
Yi5zZXRWZXJzaW9uKCcxJykiKTsKICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5j
dGlvbihlKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWR1cmluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWNhZmNl
OGY5NzUyYzhiM2IwMWU2NWIzMTM0ODUzODZkMWE4YTRlNi4uODA1NzYzZjk5OWVmYjNkMzNhNDY0
ZDM0N2YyOTE5NmZkNGI5OGJiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMTksNyArMTksNyBAQCB0cmFucyA9IGRiYzEudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQogdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpLnB1dCgndmFsdWUn
LCAna2V5JykKIAogdHJ5aW5nIHRvIG9wZW4gdGhlIHNhbWUgZGF0YWJhc2UKLW9wZW5yZXEyID0g
aW5kZXhlZERCLm9wZW4oJ2RiMScpCitvcGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1
cmluZy10cmFuc2FjdGlvbjEnKQogCiB0cnlpbmcgdG8gb3BlbiBhIGRpZmZlcmVudCBkYXRhYmFz
ZQogb3BlbnJlcTMgPSBpbmRleGVkREIub3Blbignb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24yJykK
QEAgLTI4LDEyICsyOCwxMiBAQCBvcGVucmVxMi5vbnN1Y2Nlc3MKIFBBU1Mgc3RhdGUgaXMgInN0
YXJ0aW5nIgogc3RhdGUgPSAnb3BlbjJjb21wbGV0ZScKIAordHJhbnNhY3Rpb24gY29tcGxldGUK
K1BBU1Mgc3RhdGUgaXMgIm9wZW4yY29tcGxldGUiCisKIG9wZW5yZXEzLm9uc3VjY2VzcwogUEFT
UyBzdGF0ZSBpcyAib3BlbjJjb21wbGV0ZSIKIHN0YXRlID0gJ29wZW4zY29tcGxldGUnCi0KLXRy
YW5zYWN0aW9uIGNvbXBsZXRlCi1QQVNTIHN0YXRlIGlzICJvcGVuM2NvbXBsZXRlIgogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0
ZWQudHh0CmluZGV4IDAzNjUzNGFjYzVmYjczNWUzNGFkNTRkMWFjNzVlOTg0MjkxNmFmNzMuLjg3
NjZjM2VhYmMwMjkwNDM4ZjA4MmMzMDQ2MmE3ODBlYTk2NWM4NWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0
ZWQudHh0CkBAIC0xMSw3ICsxMSw3IEBAIHByZXBhcmVEYXRhYmFzZSgpOgogaW5kZXhlZERCLmRl
bGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRiID0gcmVxdWVz
dC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRi
LnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQog
c3RvcmUucHV0KDAsIDApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLWV4cGVjdGVkLnR4dAppbmRl
eCA2NGU3YWFkZGViY2MyNmMyY2YzNTYwMDY3NjE2YjY1YzA5YWM4NmM0Li5lYWJlYWVhYjM3YWI3
NjRiNzQ3ZjRhNDRhYzU0ZmE0MWJlMDQ0NjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1l
eHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMv
cGVuZGluZy1hY3Rpdml0eS5qcwogW1dvcmtlcl0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRi
bmFtZSkKIFtXb3JrZXJdIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIFtXb3JrZXJdIGRiID0gcmVx
dWVzdC5yZXN1bHQKLVBBU1MgW1dvcmtlcl0gZGIudmVyc2lvbiBpcyAiIgorUEFTUyBbV29ya2Vy
XSBkYi52ZXJzaW9uIGlzIDEKIFtXb3JrZXJdIGRiLnNldFZlcnNpb24oJzEnKQogW1dvcmtlcl0g
c3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQogW1dvcmtlcl0gc3RvcmUucHV0
KDAsIDApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzCmluZGV4IGMwOWNh
ODgxMDBlZDAxYjgxY2E5ZWIyN2M2NWIxZTNlOTQyZjI3ZjUuLjBjNzgxZmQxMTE4YmM2MmNkYjYw
YzU1MjBmOTg2MTg0YTMzNDM5NGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJz
aW9uLmpzCkBAIC0yMiwxNyArMjIsMjMgQEAgZnVuY3Rpb24gZGVsZXRlU3VjY2VzcyhldnQpIHsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1
bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVl
ZGVkID0gaW5pdGlhbFVwZ3JhZGVOZWVkZWQ7CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4
cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogfQogCisKK2Z1bmN0aW9uIGluaXRpYWxVcGdyYWRlTmVl
ZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworfQorCiBmdW5jdGlvbiBvcGVuU3VjY2Vz
cyhldnQpCiB7CiAgICAgZXZlbnQgPSBldnQ7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJv
cGVuU3VjY2VzcygpOiIpOwogICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOwor
ICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKICAgICBldmFsQW5kTG9nKCdyZXF1ZXN0
ID0gZGIuc2V0VmVyc2lvbigic29tZSB2ZXJzaW9uIiknKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGluU2V0VmVyc2lvbjsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKQEAgLTg1LDkgKzkxLDcgQEAgZnVuY3Rpb24gc2Vjb25kT3BlbihldnQpCiAKIGZ1
bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZChldnQpCiB7Ci0gICAgZXZlbnQgPSBldnQ7Ci0gICAg
ZGVidWcoIiIpOwotICAgIGRlYnVnKCJmaXJzdFVwZ3JhZGVOZWVkZWQoKToiKTsKKyAgICBwcmVh
bWJsZShldnQpOwogICAgIGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwog
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKGRiKSIsICJbb2JqZWN0IElEQkRhdGFi
YXNlXSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKHJlcXVlc3QudHJhbnNh
Y3Rpb24pIiwgIltvYmplY3QgSURCVHJhbnNhY3Rpb25dIik7CkBAIC0xMDAsNDkgKzEwNCw2OCBA
QCBmdW5jdGlvbiBmaXJzdFVwZ3JhZGVOZWVkZWQoZXZ0KQogdmFyIGRpZFRyYW5zYWN0aW9uQ29t
cGxldGUgPSBmYWxzZTsKIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ29tcGxldGVkKGV2dCkKIHsKLSAg
ICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoInRyYW5zYWN0aW9uQ29t
cGxldGVkKCk6Iik7CisgICAgcHJlYW1ibGUoZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkaWRUcmFu
c2FjdGlvbkNvbXBsZXRlID0gdHJ1ZSIpOwogfQogCiBmdW5jdGlvbiBmaXJzdE9wZW5XaXRoVmVy
c2lvbihldnQpCiB7Ci0gICAgZXZlbnQgPSBldnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVn
KCJmaXJzdE9wZW5XaXRoVmVyc2lvbigpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgc2hv
dWxkQmVUcnVlKCJkaWRUcmFuc2FjdGlvbkNvbXBsZXRlIik7CiAgICAgZXZhbEFuZExvZygiZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZXZhbEFuZExvZygiZGIub252ZXJzaW9uY2hh
bmdlID0gdmVyc2lvbkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50Iik7CiAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJTdHJpbmcoZGIpIiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAg
c2hvdWxkQmVOdWxsKCJyZXF1ZXN0LnRyYW5zYWN0aW9uIik7CiAgICAgc2hvdWxkQmUoImRiLnZl
cnNpb24iLCAiMiIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKHJlcXVlc3Qp
IiwgIltvYmplY3QgSURCT3BlbkRCUmVxdWVzdF0iKTsKICAgICBldmFsQW5kTG9nKCdyZXF1ZXN0
ID0gZGIuc2V0VmVyc2lvbigic3RyaW5nIHZlcnNpb24gMiIpJyk7CiAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJTdHJpbmcocmVxdWVzdCkiLCAiW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlUmVx
dWVzdF0iKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFNldFZl
cnNpb25DYWxsYmFjayIpOwogICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2Nr
ZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2Fs
bGJhY2s7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdC5vbmVycm9yID0gc2V0VmVyc2lvbk5vdEFs
bG93ZWQiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
IH0KIAotZnVuY3Rpb24gc2V0VmVyc2lvbk5vdEFsbG93ZWQoZXZ0KQorZnVuY3Rpb24gc2Vjb25k
U2V0VmVyc2lvbkNhbGxiYWNrKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1Zygi
Iik7Ci0gICAgZGVidWcoInNldFZlcnNpb25Ob3RBbGxvd2VkKCk6Iik7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJldmVudC50eXBlIiwgImVycm9yIik7Ci0gICAgZGVidWcoInJlcXVlc3Qu
d2Via2l0RXJyb3JNZXNzYWdlID0gIiArIHJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlKTsKKyAg
ICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOworICAgIGV2YWxBbmRMb2coInRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBz
ZXRJbnRWZXJzaW9uMiIpOworfQorCitmdW5jdGlvbiBzZXRJbnRWZXJzaW9uMihldnQpCit7Cisg
ICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9w
ZW4oZGJuYW1lLCAyKSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gdmVy
c2lvbjJDb25uZWN0aW9uU3VjY2VzcyIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25ibG9j
a2VkID0gdmVyc2lvbjJDb25uZWN0aW9uQmxvY2tlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiB2ZXJzaW9uQ2hhbmdlR29p
bmdGcm9tU3RyaW5nVG9JbnQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZhbEFu
ZExvZygiZGIuY2xvc2UoKSIpOworfQorCitmdW5jdGlvbiB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9j
a2VkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworfQorCitmdW5jdGlvbiB2ZXJzaW9uMkNv
bm5lY3Rpb25TdWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRM
b2coImV2ZW50LnRhcmdldC5yZXN1bHQuY2xvc2UoKSIpOwogICAgIGV2YWxBbmRMb2coInJlcXVl
c3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDEpIik7CiAgICAgZXZhbEFuZExvZygicmVxdWVz
dC5vbmVycm9yID0gZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbiIpOwogICAgIHJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOwogfQogCiBmdW5jdGlvbiBlcnJv
cldoZW5UcnlpbmdMb3dWZXJzaW9uKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1
ZygiIik7Ci0gICAgZGVidWcoImVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24oKToiKTsKKyAgICBw
cmVhbWJsZShldnQpOwogICAgIGRlYnVnKCJyZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9ICIg
KyByZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSk7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdCA9
IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgNCkiKTsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVu
ZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5v
LXNpZGUtZWZmZWN0cy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzEyMGQ0MjVhZGNhMWY2NmVjZDczNTE5YzI1
YTc0NWFiMGFhZjIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWlu
dmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNzUgKzAsMCBAQAotaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewotICAgIGltcG9ydFNjcmlw
dHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7Ci0gICAgaW1w
b3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7Ci19Ci0KLWRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgd2hl
biBzZXRWZXJzaW9uIGlzIGNhbGxlZCBvbiBhIGRiIHdpdGggYW4gaW50ZWdlciB2ZXJzaW9uLCB2
ZXJzaW9uY2hhbmdlIGV2ZW50cyBkb24ndCBnZXQgZmlyZWQgb24gb3RoZXIgb3BlbiBkYnMuIik7
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAg
c2V0REJOYW1lRnJvbVBhdGgoKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0
ZVN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci19Ci0KLWZ1bmN0aW9uIGRlbGV0ZVN1Y2Nlc3MoZXZ0KSB7Ci0gICAgcHJlYW1ibGUoKTsKLSAg
ICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOwotICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZmlyc3RTdWNjZXNzRXZlbnRIYW5kbGVyOwotICAgIHJlcXVl
c3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICBnb3RGaXJzdFVwZ3JhZGVOZWVk
ZWRFdmVudCA9IGZhbHNlOwotICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZmlyc3RVcGdy
YWRlTmVlZGVkQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZENhbGxi
YWNrKGV2dCkKLXsKLSAgICBwcmVhbWJsZShldnQpOwotICAgIGV2YWxBbmRMb2coImdvdEZpcnN0
VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOwotICAgIHNob3VsZEJlKCJldmVudC5vbGRWZXJz
aW9uIiwgIjAiKTsKLSAgICBzaG91bGRCZSgiZXZlbnQubmV3VmVyc2lvbiIsICIyIik7Ci19Ci0K
LWZ1bmN0aW9uIGZpcnN0U3VjY2Vzc0V2ZW50SGFuZGxlcihldnQpCi17Ci0gICAgcHJlYW1ibGUo
ZXZ0KTsKLSAgICBzaG91bGRCZVRydWUoImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7Ci0g
ICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjEgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAg
ZXZhbEFuZExvZygiY29ubmVjdGlvbjEub252ZXJzaW9uY2hhbmdlID0gdW5leHBlY3RlZFZlcnNp
b25DaGFuZ2VDYWxsYmFjayIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKGNv
bm5lY3Rpb24xKSIsICJbb2JqZWN0IElEQkRhdGFiYXNlXSIpOwotICAgIGV2YWxBbmRMb2coInJl
cXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBzZWNvbmRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gdW5leHBlY3RlZFVwZ3Jh
ZGVOZWVkZWRDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gc2Vjb25kU3VjY2Vzc0NhbGxiYWNrKGV2
dCkKLXsKLSAgICBwcmVhbWJsZShldnQpOwotICAgIGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2
ZXJzaW9uJykiKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJzaW9u
RXJyb3IiKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRT
dWNjZXNzQ2FsbGJhY2siKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uYmxvY2tlZCA9IHVu
ZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2siKTsKLX0KLQotZnVuY3Rpb24gc2V0VmVyc2lvbkVycm9y
KGV2dCkKLXsKLSAgICBwcmVhbWJsZSgpOwotICAgIGRlYnVnKCJPcGVuIHVwIGEgbmV3IGRiIHRv
IGVuc3VyZSB0aGF0IGlmIGNvbm5lY3Rpb24xIHdlcmUgdG8gZ2V0IGEgdmVyc2lvbmNoYW5nZSBl
dmVudCwgaXQgd2lsbCBiZSBkZWxpdmVyZWQgYmVmb3JlIHRoZSB0ZXN0IGZpbmlzaGVzIik7Ci0g
ICAgZXZhbEFuZExvZygibmV3X2RiID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lICsgJzInKSIpOwot
ICAgIGV2YWxBbmRMb2coIm5ld19kYi5vbnN1Y2Nlc3MgPSBuZXdEQlN1Y2Nlc3MiKTsKLSAgICBu
ZXdfZGIub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIG5ld19kYi5vbmJs
b2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBuZXdEQlN1
Y2Nlc3MoZXZ0KQotewotICAgIHByZWFtYmxlKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0K
LXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5qcyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9u
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YjJiMGE5Y2FlMzA0ZjFjZmMxOTg5ODVlZTA5MGI4ZDViMmMzODNl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzCkBAIC0wLDAgKzEsNjUgQEAK
K2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworICAgIGltcG9ydFNjcmlwdHMoJ3No
YXJlZC5qcycpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IG9ubHkgdGhlIGZpcnN0IG9w
ZW4gY2FsbCBnZXRzIGFuIHVwZ3JhZGVuZWVkZWQiKTsKKworZnVuY3Rpb24gdGVzdCgpCit7Cisg
ICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKKyAgICBzZXREQk5hbWVGcm9tUGF0aCgpOworCisg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUp
Iik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVTdWNjZXNzOworICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCit2YXIgZ290Rmlyc3RVcGdy
YWRlTmVlZGVkRXZlbnQgPSBmYWxzZTsKK3ZhciBnb3RTZWNvbmRVcGdyYWRlTmVlZGVkRXZlbnQg
PSBmYWxzZTsKK2Z1bmN0aW9uIGRlbGV0ZVN1Y2Nlc3MoZXZ0KSB7CisgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1
ZXN0Lm9uc3VjY2VzcyA9IGNvbm5lY3Rpb24xT3BlblN1Y2Nlc3MiKTsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZCIpOwor
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVl
c3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKworICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUpIik7CisgICAgZXZhbEFuZExvZygi
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25uZWN0aW9uMk9wZW5TdWNjZXNzIik7CisgICAgZXZhbEFu
ZExvZygicmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQi
KTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBy
ZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Cit9CisKK2Z1bmN0
aW9uIGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsK
KyAgICBldmFsQW5kTG9nKCJnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsKKyAg
ICBzaG91bGRCZSgiZXZlbnQub2xkVmVyc2lvbiIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50
Lm5ld1ZlcnNpb24iLCAiMSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMU9wZW5TdWNjZXNz
KGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2hvdWxkQmVUcnVlKCJnb3RGaXJzdFVwZ3JhZGVO
ZWVkZWRFdmVudCIpOworICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKK30KKworZnVu
Y3Rpb24gY29ubmVjdGlvbjJVcGdyYWRlTmVlZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQp
OworICAgIGV2YWxBbmRMb2coImdvdFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsK
K30KKworZnVuY3Rpb24gY29ubmVjdGlvbjJPcGVuU3VjY2VzcyhldnQpCit7CisgICAgcHJlYW1i
bGUoZXZ0KTsKKyAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworICAgIHNob3VsZEJlRmFsc2UoImdvdFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCIpOworICAg
IHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwor
dGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL2xpc3Qtb3JkZXJpbmcuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvbGlzdC1vcmRlcmluZy5qcwppbmRleCA3MzU5OGZkNzIzNTg2MGVkYTc4YjJmMTcxZWUx
NGRiMGMwYzFhY2NmLi43NWYwMzI1NmM3YzNmOGQ1MmUxOTBhMTU2MGE5MzM2MjcyYzhlMGQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1v
cmRlcmluZy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
bGlzdC1vcmRlcmluZy5qcwpAQCAtNTIsNyArNTIsNyBAQCBmdW5jdGlvbiB0ZXN0U3RvcmVzQW5k
SW5kZXhlcygpCiAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwogICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAg
ICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJkYi52ZXJzaW9uIiwgIjEiKTsKICAgICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJk
Yi5zZXRWZXJzaW9uKCcxJykiKTsKICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5j
dGlvbihlKSB7CkBAIC04MSw0ICs4MSw0IEBAIGZ1bmN0aW9uIHRlc3RTdG9yZXNBbmRJbmRleGVz
KCkKICAgICB9OwogfQogCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQordGVz
dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzCmluZGV4IGI1MDMyNzg5MThj
MmU2NDdjM2YwYzg2MzgwMjc4NTJmNGU1MTdjOGMuLmYxMjcxNzZiN2Y5YWEyYjU4OTg2MzE4YTVj
OWY1NjZkYWFmYWYyMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi5qcworKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMKQEAg
LTQ1LDggKzQ1LDggQEAgZnVuY3Rpb24gc3RhcnRUcmFuc2FjdGlvbigpCiAgICAgdHJhbnMub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBm
dW5jdGlvbiAoZSkgewogICAgICAgICBkZWJ1ZygidHJhbnNhY3Rpb24gY29tcGxldGUiKTsKLSAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdGF0ZSIsICJvcGVuM2NvbXBsZXRlIik7Ci0g
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0
YXRlIiwgIm9wZW4yY29tcGxldGUiKTsKKyAgICAgICAgZGVidWcoIiIpOwogICAgIH07CiAKICAg
ICBkZWJ1ZygiIik7CkBAIC01Niw3ICs1Niw3IEBAIGZ1bmN0aW9uIHN0YXJ0VHJhbnNhY3Rpb24o
KQogZnVuY3Rpb24gdHJ5T3BlbnMoKQogewogICAgIGRlYnVnKCJ0cnlpbmcgdG8gb3BlbiB0aGUg
c2FtZSBkYXRhYmFzZSIpOwotICAgIGV2YWxBbmRMb2coIm9wZW5yZXEyID0gaW5kZXhlZERCLm9w
ZW4oJ2RiMScpIik7CisgICAgZXZhbEFuZExvZygib3BlbnJlcTIgPSBpbmRleGVkREIub3Blbign
b3Blbi1kdXJpbmctdHJhbnNhY3Rpb24xJykiKTsKICAgICBvcGVucmVxMi5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgb3BlbnJlcTIub25zdWNjZXNzID0gZnVuY3Rpb24g
KGUpIHsKICAgICAgICAgZGVidWcoIm9wZW5yZXEyLm9uc3VjY2VzcyIpOwpAQCAtNzMsOSArNzMs
OSBAQCBmdW5jdGlvbiB0cnlPcGVucygpCiAgICAgICAgIGRlYnVnKCJvcGVucmVxMy5vbnN1Y2Nl
c3MiKTsKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdGF0ZSIsICJvcGVuMmNvbXBs
ZXRlIik7CiAgICAgICAgIGV2YWxBbmRMb2coInN0YXRlID0gJ29wZW4zY29tcGxldGUnIik7Ci0g
ICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogICAgIGRl
YnVnKCIiKTsKIH0KIAotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Rlc3Qo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9w
ZW5kaW5nLWFjdGl2aXR5LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL3BlbmRpbmctYWN0aXZpdHkuanMKaW5kZXggZjI5OWUwMjk0MzJlYTNkZDdjNTgxMzQxYWEx
ZTQ3MDhhYWRmOWI0Yi4uZDExMDdkYWFhMTI5MzdhNzIxYTc0Yzg0YThhN2FkNTljZDk4NTQzNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlbmRp
bmctYWN0aXZpdHkuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL3BlbmRpbmctYWN0aXZpdHkuanMKQEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gcHJlcGFy
ZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAgICAg
ICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgICAgICAgICAgc2hvdWxk
QmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1
bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0
cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKaW5kZXggOGZiZjkwNTBkNmM5ZWIxODBh
OWY3MjUzN2RmYWMyM2MwNmNhMTcxMC4uMDJhMGI0OTcyY2M2NTkxMTlmNzg3MWNiYTIzYzMxMTRl
MjEwOGJjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0
dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgUHJlcGFy
ZSBEYXRhYmFzZQogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdzdHJ1Y3R1cmVkLWNsb25lJykK
IGluZGV4ZWREQi5vcGVuKCdzdHJ1Y3R1cmVkLWNsb25lJykKIGRiID0gcmVxdWVzdC5yZXN1bHQK
LVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNp
b24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIFRoaXMg
aW5kZXggaXMgbm90IHVzZWQsIGJ1dCBldmFsdWF0aW5nIGtleSBwYXRoIG9uIGVhY2ggcHV0KCkg
Y2FsbCB3aWxsIGV4ZXJjaXNlIChkZSlzZXJpYWxpemF0aW9uOgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCmluZGV4IDhkODJlYzg0
YmY5MjFhMWQ0OTgzYmFkM2FkN2MyZjViNTg1ZjJkZDUuLjM1MDZjZjYxN2E0NDY1OWU5YzI2NzIz
M2M3NjlkMjcwNzA2ZmUxY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcHJl
cGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAg
ICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgICAgICAgICAgc2hv
dWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGZ1bmN0aW9uKGUpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163725</attachid>
            <date>2012-09-12 15:59:26 -0700</date>
            <delta_ts>2012-09-13 19:39:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120912155859.patch</filename>
            <type>text/plain</type>
            <size>48590</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E3OWM5ODAzNjJlNWEy
NzAwNWE3MmNlZTJlMTMzYzBmNDlhYjlkMS4uY2ExZjk1NTZhODM3ZmEzMWU3YjM2Y2QyNDU3MmNl
NGFjOTc4OGZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gb2Yg
bm90ZToKKyAgICAgICAgKiBOZXcgZGF0YWJhc2VzIG5vdyBnZXQgYSBkZWZhdWx0IHZlcnNpb24g
b2YgMSBpbnN0ZWFkIG9mCisgICAgICAgIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiB0aGV5IGFyZSBv
cGVuZWQuCisgICAgICAgICogV2Ugbm93IGFsbG93IGRhdGFiYXNlcyB3aXRoIGFuIGludGVnZXIg
dmVyc2lvbiB0byByZXZlcnQgdG8gYSBzdHJpbmcKKyAgICAgICAgdmVyc2lvbiBieSBjYWxsaW5n
IHNldFZlcnNpb24uCisKKyAgICAgICAgSW1wbGVtZW50YXRpb24gZGV0YWlsOiB3ZSBzdG9yZSBi
b3RoIGFuIGludGVnZXIgdmVyc2lvbiBhbmQgc3RyaW5nCisgICAgICAgIHZlcnNpb24gZm9yIGEg
cGFydGljdWxhciBkYXRhYmFzZS4gSWYgYm90aCBhcmUgc2V0IHdlIGdpdmUgcHJlZmVyZW5jZQor
ICAgICAgICB0byB0aGUgaW50ZWdlciB2ZXJzaW9uIGFuZCBhc3N1bWUgdGhlIGRiIGlzIG9uIHRo
ZSBpbnRlZ2VyIHRyYWNrLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tl
bmRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZl
cnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVy
c2lvbkludGVybmFsKToKKyAgICAgICAgTm93IHRoYXQgdGhpcyBjYW4gYmUgY2FsbGVkIGV2ZW4g
YWZ0ZXIgYW4gaW50IHZlcnNpb24gaXMgc2V0IHdlIGhhdmUKKyAgICAgICAgdG8gbWFrZSBpdCBy
ZXZva2UgdGhlIGludCB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpvcGVuQ29ubmVjdGlvbik6CisgICAgICAgIE5lc3RlZCBpZnMgd2VyZSBnZXR0
aW5nIGRlZXAsIHNvIHJlZmFjdG9yIHRvIHJldHVybiBlYXJseSBpbnN0ZWFkLgorCisgICAgICAg
IChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVEYXRhYmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24pOgorICAg
ICAgICBOb3cgdGhhdCBhbiBpbnQgdmVyc2lvbiBjb3VsZCBoYXZlIGJlZW4gc2V0IGJlZm9yZSBz
ZXRWZXJzaW9uIHdhcworICAgICAgICBjYWxsZWQgd2UgaGF2ZSB0byByZXNldCB0aGUgaW50IHZl
cnNpb24gb24gYWJvcnQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFiYXNlSW50
VmVyc2lvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5j
cHA6CisgICAgICAgIDAgaXMgbm93IGEgdmFsaWQgaW50ZWdlciB2ZXJzaW9uIHRvIHN0b3JlIHRv
IGxldmVsZGIgaWYgYW4gaWRiCisgICAgICAgIGRhdGFiYXNlIGlzIHJldmVydGluZyB0byBhIHN0
cmluZyB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQpOgorICAgICAgICBJZiB0aGUgb3BlbiByZXF1ZXN0IGRpZCBub3Qgc3BlY2lm
eSBhbiBpbnRlZ2VyIHZlcnNpb24gYnV0CisgICAgICAgIHVwZ3JhZGVuZWVkZWQgaXMgY2FsbGVk
LCBpdCBtZWFucyB0aGUgZGF0YWJhc2Ugd2FzIGdpdmVuIHRoZSBkZWZhdWx0CisgICAgICAgIHZl
cnNpb24gb2YgMS4KKwogMjAxMi0wOS0xMSAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogQ29uc29saWRhdGUgdHdvLXBoYXNlIGNvbm5lY3Rp
b24gdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGJm
YjJhZTI2NzYxNWQ2Mzg1MjNjMGRlMmJlZWU0NWRjNTJmYTM0NGEuLmUxZTYxZjkwYmExMTU1NzEw
ZmM2ZWViNzNlYzc4ZjEzNzU5MTU2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC0xMjcs
MTEgKzEyNywxNSBAQCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IElEQkRhdGFi
YXNlQmFja2VuZEltcGw6OmNyZWF0ZShjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJuIGJhY2tlbmQu
cmVsZWFzZSgpOwogfQogCituYW1lc3BhY2UgeworY29uc3QgY2hhciogTm9TdHJpbmdWZXJzaW9u
ID0gIiI7Cit9CisKIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZElt
cGwoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSwgSURC
VHJhbnNhY3Rpb25Db29yZGluYXRvciogY29vcmRpbmF0b3IsIElEQkZhY3RvcnlCYWNrZW5kSW1w
bCogZmFjdG9yeSwgY29uc3QgU3RyaW5nJiB1bmlxdWVJZGVudGlmaWVyKQogICAgIDogbV9iYWNr
aW5nU3RvcmUoYmFja2luZ1N0b3JlKQogICAgICwgbV9pZChJbnZhbGlkSWQpCiAgICAgLCBtX25h
bWUobmFtZSkKLSAgICAsIG1fdmVyc2lvbigiIikKKyAgICAsIG1fdmVyc2lvbihOb1N0cmluZ1Zl
cnNpb24pCiAgICAgLCBtX2ludFZlcnNpb24oSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJz
aW9uKQogICAgICwgbV9pZGVudGlmaWVyKHVuaXF1ZUlkZW50aWZpZXIpCiAgICAgLCBtX2ZhY3Rv
cnkoZmFjdG9yeSkKQEAgLTI0MCwxMCArMjQ0LDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwK
ICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6SURCX0FCT1JUX0VSUiwgIkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBi
ZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24gd2FzIGNyZWF0ZWQiKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgaWYgKG1faW50VmVyc2lvbiAhPSBJREJEYXRhYmFzZU1ldGFkYXRh
OjpOb0ludFZlcnNpb24pIHsKLSAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsIFN0cmluZzo6
Zm9ybWF0KCJZb3UgY2FuJ3QgdXNlIHRoZSBzZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBh
bHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0aHJvdWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50
IGludGVnZXIgdmVyc2lvbiBpcyAlbGxkIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihtX2ludFZl
cnNpb24pKSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGZvciAoRGF0YWJhc2VDYWxs
YmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdp
bigpOyBpdCAhPSBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAg
IC8vIEZyb250IGVuZCBlbnN1cmVzIHRoZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlv
bnMgdGhhdCBoYXZlIGNsb3NlUGVuZGluZyBzZXQuCiAgICAgICAgIGlmICgqaXQgIT0gZGF0YWJh
c2VDYWxsYmFja3MpCkBAIC0yNzIsNyArMjcyLDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwK
ICAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwogICAg
IGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxi
YWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsLCBkYXRh
YmFzZSwgdmVyc2lvbiwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbiksCi0gICAgICAgICAgICBjcmVh
dGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0
YWJhc2UsIG1fdmVyc2lvbikpKSB7CisgICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwg
bV9pbnRWZXJzaW9uKSkpIHsKICAgICAgICAgLy8gRklYTUU6IFJlbW92ZSBvbmUgb2YgdGhlIGZv
bGxvd2luZyBsaW5lcy4KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKQEAgLTI4
NCw3ICsyODQsOCBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRl
cm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZgogICAgIFJlZlB0cjxJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2FjdGlvbiA9IHBycFRyYW5zYWN0aW9uOwogICAgIGlu
dDY0X3QgZGF0YWJhc2VJZCA9IGRhdGFiYXNlLT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNp
b24gPSB2ZXJzaW9uOwotICAgIGlmICghZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJ
REJEYXRhYmFzZU1ldGFEYXRhKGRhdGFiYXNlSWQsIGRhdGFiYXNlLT5tX3ZlcnNpb24pKSB7Cisg
ICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVy
c2lvbjsKKyAgICBpZiAoIWRhdGFiYXNlLT5tX2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJh
c2VNZXRhRGF0YShkYXRhYmFzZUlkLCBkYXRhYmFzZS0+bV92ZXJzaW9uKSB8fCAhZGF0YWJhc2Ut
Pm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZUludFZlcnNpb24oZGF0YWJhc2VJZCwg
ZGF0YWJhc2UtPm1faW50VmVyc2lvbikpIHsKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElE
QkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIs
ICJFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFu
c2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDM3LDE2ICs0MzgsMjMgQEAg
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OnRyYW5zYWN0aW9uKEQKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3Bl
bkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4gZGF0YWJhc2VDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJU
KG1fYmFja2luZ1N0b3JlLmdldCgpKTsKLSAgICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlz
RW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGlu
Z1NldFZlcnNpb25DYWxscy5pc0VtcHR5KCkpCisgICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxs
cy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3Bl
bmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fcGVuZGluZ09wZW5D
YWxscy5hcHBlbmQoUGVuZGluZ09wZW5DYWxsOjpjcmVhdGUoY2FsbGJhY2tzLCBkYXRhYmFzZUNh
bGxiYWNrcykpOwotICAgIGVsc2UgewotICAgICAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYg
IW9wZW5JbnRlcm5hbCgpKQotICAgICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRl
cm5hbCBlcnJvci4iKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9kYXRhYmFzZUNh
bGxiYWNrc1NldC5hZGQoUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxi
YWNrcykpOwotICAgICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAg
IH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYg
IW9wZW5JbnRlcm5hbCgpKSB7CisgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFz
ZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJu
YWwgZXJyb3IuIikpOworICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGlmIChtX3ZlcnNpb24g
PT0gTm9TdHJpbmdWZXJzaW9uICYmIG1faW50VmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRh
OjpOb0ludFZlcnNpb24pIHsKKyAgICAgICAgLy8gU3BlYyBzYXlzOiBJZiBubyB2ZXJzaW9uIGlz
IHNwZWNpZmllZCBhbmQgbm8gZGF0YWJhc2UgZXhpc3RzLCBzZXQKKyAgICAgICAgLy8gZGF0YWJh
c2UgdmVyc2lvbiB0byAxLiBXZSBpbmZlciB0aGF0IHRoZSBkYXRhYmFzZSBkaWRuJ3QgZXhpc3Qg
ZnJvbQorICAgICAgICAvLyBpdHMgbGFjayBvZiBlaXRoZXIgdHlwZSBvZiB2ZXJzaW9uLgorICAg
ICAgICBvcGVuQ29ubmVjdGlvbldpdGhWZXJzaW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFj
a3MsIDEpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fZGF0YWJhc2VDYWxsYmFja3NT
ZXQuYWRkKFJlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsK
KyAgICBjYWxsYmFja3MtPm9uU3VjY2Vzcyh0aGlzKTsKIH0KIAogdm9pZCBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpydW5JbnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0
ZWRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBQYXNzUmVm
UHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiBwcnBEYXRhYmFzZUNhbGxiYWNrcykKQEAgLTQ4Miw3
ICs0OTAsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJ1bkludFZlcnNpb25DaGFu
Z2VUcmFuc2FjdGlvbihpbnQ2NF90IHJlcXVlc3RlZFZlcgogCiAgICAgUmVmUHRyPElEQkRhdGFi
YXNlQmFja2VuZEltcGw+IGRhdGFiYXNlID0gdGhpczsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gaW50VmVyc2lvblRhc2sgPSBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEludFZlcnNpb25JbnRlcm5hbCwgZGF0YWJhc2UsIHJl
cXVlc3RlZFZlcnNpb24sIGNhbGxiYWNrcywgdHJhbnNhY3Rpb24pOwotICAgIE93blB0cjxTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiByZXNldFZlcnNpb25PbkFib3J0VGFzayA9IGNyZWF0
ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRJbnRWZXJzaW9uLCBk
YXRhYmFzZSwgbV9pbnRWZXJzaW9uKTsKKyAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4gcmVzZXRWZXJzaW9uT25BYm9ydFRhc2sgPSBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwg
bV9pbnRWZXJzaW9uKTsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soaW50VmVy
c2lvblRhc2sucmVsZWFzZSgpLCByZXNldFZlcnNpb25PbkFib3J0VGFzay5yZWxlYXNlKCkpKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGluZXMuCiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNTMxLDcgKzUzOSw3IEBAIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlRGF0YWJhc2UoUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IHBycENhbGxiYWNrCiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0gcHJw
Q2FsbGJhY2tzOwogICAgIGZvciAoRGF0YWJhc2VDYWxsYmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdpbigpOyBpdCAhPSBtX2RhdGFiYXNlQ2Fs
bGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAgIC8vIEZyb250IGVuZCBlbnN1cmVzIHRo
ZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlvbnMgdGhhdCBoYXZlIGNsb3NlUGVuZGlu
ZyBzZXQuCi0gICAgICAgICgqaXQpLT5vblZlcnNpb25DaGFuZ2UoIiIpOworICAgICAgICAoKml0
KS0+b25WZXJzaW9uQ2hhbmdlKE5vU3RyaW5nVmVyc2lvbik7CiAgICAgfQogICAgIC8vIEZJWE1F
OiBPbmx5IGZpcmUgb25CbG9ja2VkIGlmIHRoZXJlIGFyZSBvcGVuIGNvbm5lY3Rpb25zIGFmdGVy
IHRoZQogICAgIC8vIFZlcnNpb25DaGFuZ2VFdmVudHMgYXJlIHJlY2VpdmVkLCBub3QganVzdCBz
ZXQgdXAgdG8gZmlyZS4KQEAgLTU0Niw3ICs1NTQsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw6OmRlbGV0ZURhdGFiYXNlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFj
awogICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX3ZlcnNpb24gPSAiIjsKKyAgICBtX3ZlcnNpb24g
PSBOb1N0cmluZ1ZlcnNpb247CiAgICAgbV9pZCA9IEludmFsaWRJZDsKICAgICBtX2ludFZlcnNp
b24gPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb247CiAgICAgbV9vYmplY3RTdG9y
ZXMuY2xlYXIoKTsKQEAgLTYxMiwxNyArNjIwLDEyIEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6YWRkT2JqZWN0U3RvcmVUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
CiAgICAgZGF0YWJhc2UtPm1fb2JqZWN0U3RvcmVzLnNldChvYmplY3RTdG9yZVB0ci0+bmFtZSgp
LCBvYmplY3RTdG9yZVB0cik7CiB9CiAKLXZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVz
ZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
QmFja2VuZEltcGw+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCit2b2lkIElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgY29uc3QgU3RyaW5n
JiBwcmV2aW91c1ZlcnNpb24sIGludDY0X3QgcHJldmlvdXNJbnRWZXJzaW9uKQogewotICAgIGRh
dGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOworICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSBw
cmV2aW91c1ZlcnNpb247CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IHByZXZpb3VzSW50
VmVyc2lvbjsKIH0KIAotdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldEludFZlcnNp
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5k
SW1wbD4gZGF0YWJhc2UsIGludDY0X3Qgb2xkVmVyc2lvbikKLXsKLSAgICBkYXRhYmFzZS0+bV9p
bnRWZXJzaW9uID0gb2xkVmVyc2lvbjsKLX0KLQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRl
eCAyMmNjYzQzMjIwYjUwNGZlNzA2ODU2N2I1OWE0NzYyNTVlZWE4NTRkLi40NTgxMjRjZjUyZDgy
NDdhN2VjZjhlODhiMDk1ODU5ZmE4MDI1Mzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCkBAIC05MSw4
ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gVGhlc2UgYXJlIHVzZWQgYXMgc2V0VmVyc2lvbiB0
cmFuc2FjdGlvbiBhYm9ydCB0YXNrcy4KICAgICBzdGF0aWMgdm9pZCByZW1vdmVPYmplY3RTdG9y
ZUZyb21NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VC
YWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4pOwogICAg
IHN0YXRpYyB2b2lkIGFkZE9iamVjdFN0b3JlVG9NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbD4pOwotICAgIHN0YXRpYyB2b2lkIHJlc2V0VmVyc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgY29u
c3QgU3RyaW5nJiB2ZXJzaW9uKTsKLSAgICBzdGF0aWMgdm9pZCByZXNldEludFZlcnNpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4s
IGludDY0X3QgaW50VmVyc2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBj
b25zdCBTdHJpbmcmIHZlcnNpb24sIGludDY0X3QgaW50VmVyc2lvbik7CiAKICAgICBSZWZQdHI8
SURCQmFja2luZ1N0b3JlPiBtX2JhY2tpbmdTdG9yZTsKICAgICBpbnQ2NF90IG1faWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2lu
Z1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJC
YWNraW5nU3RvcmUuY3BwCmluZGV4IDkzMGUyMGIzYjgzNWRkYWVkNTM3ZTdlMTkwYjE0NTEyZWFl
NDcyNmEuLjUyYmRhNDliNjhiNWRmMmE5YmU1OGIwNjE3NTExYzFiNjExYmM1NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJC
YWNraW5nU3RvcmUuY3BwCkBAIC0zMzksOCArMzM5LDggQEAgYm9vbCBJREJMZXZlbERCQmFja2lu
Z1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QKIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJz
aW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVyc2lvbikKIHsKICAgICBBU1NFUlQobV9j
dXJyZW50VHJhbnNhY3Rpb24pOwotICAgIC8vIEZJWE1FOiBDaGFuZ2UgdGhpcyB0byBzdHJpY3Rs
eSBncmVhdGVyIHRoYW4gMCBvbmNlIHdlIHRocm93IFR5cGVFcnJvciBmb3IKLSAgICAvLyBiYWQg
dmVyc2lvbnMuCisgICAgaWYgKGludFZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9J
bnRWZXJzaW9uKQorICAgICAgICBpbnRWZXJzaW9uID0gSURCRGF0YWJhc2VNZXRhZGF0YTo6RGVm
YXVsdEludFZlcnNpb247CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpbnRWZXJzaW9uID49IDAs
ICJpbnRWZXJzaW9uIHdhcyAlbGxkIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihpbnRWZXJzaW9u
KSk7CiAgICAgaWYgKCFwdXRWYXJJbnQobV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0KCksIERhdGFi
YXNlTWV0YURhdGFLZXk6OmVuY29kZShyb3dJZCwgRGF0YWJhc2VNZXRhRGF0YUtleTo6VXNlcklu
dFZlcnNpb24pLCBpbnRWZXJzaW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApp
bmRleCA2ZWYxNmNmMDI5M2E2OTE5MGY5NmNkM2E4NWFjMzUyNzIzZWJiNmYzLi43YjQ0YzY1ODc0
MjJlODQyNzE1YjBhZDUzYmJhZWUwZmY0NTU2OGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApAQCAtODgsOSArODgs
MTEgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpvblVwZ3JhZGVOZWVkZWQoaW50NjRfdCBvbGRW
ZXJzaW9uLCBQYXNzUmVmUHRyPElEQlRyYW5zYWMKICAgICBtX3Jlc3VsdCA9IElEQkFueTo6Y3Jl
YXRlKGlkYkRhdGFiYXNlLnJlbGVhc2UoKSk7CiAKICAgICBpZiAob2xkVmVyc2lvbiA9PSBJREJE
YXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKLSAgICAgIC8vIFRoaXMgZGF0YWJhc2Ug
aGFzbid0IGhhZCBhbiBpbnRlZ2VyIHZlcnNpb24gYmVmb3JlLgotICAgICAgb2xkVmVyc2lvbiA9
IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOworICAgICAgICAvLyBUaGlz
IGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2ZXJzaW9uIGJlZm9yZS4KKyAgICAgICAg
b2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOwogICAg
IH0KKyAgICBpZiAobV92ZXJzaW9uID09IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lv
bikKKyAgICAgICAgbV92ZXJzaW9uID0gMTsKICAgICBlbnF1ZXVlRXZlbnQoSURCVXBncmFkZU5l
ZWRlZEV2ZW50OjpjcmVhdGUob2xkVmVyc2lvbiwgbV92ZXJzaW9uLCBldmVudE5hbWVzKCkudXBn
cmFkZW5lZWRlZEV2ZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyOGU5Mjk1ZjM3OWNhNWVhOGE4MjNlNjNj
MjJmODI4NTE5MzA2YTZhLi5hYTQ1MmQzOGQ3ZjFjMTMxZTQ4OTI0NzRhOTlkOWEzZmZjNmRkZDMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTItMDktMTEgIERhdmlkIEdyb2dhbiAgPGRncm9n
YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogZmlyZSB1cGdyYWRlbmVlZGVk
IGV2ZW4gd2l0aG91dCBhbiBleHBsaWNpdCBpbnRlZ2VyIHZlcnNpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2NDQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9zdGx5IHVwZGF0aW5nIGV4cGVjdGF0
aW9ucyBhYm91dCBnZXR0aW5nIGFuIHVwZ3JhZGVuZWVkZWQgb24gYSBuZXcKKyAgICAgICAgZGF0
YWJhc2UgYW5kIHRoZSBkZWZhdWx0IHZlcnNpb24gYmVpbmcgMSBpbnN0ZWFkIG9mICIiLgorCisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgIFJlbW92ZSB0
ZXN0IHRoYXQgc2V0VmVyc2lvbiBmaXJlcyBhbiBlcnJvciBpZiBhbiBpbnQgdmVyc2lvbiBpcyBz
ZXQuCisgICAgICAgIENoYW5nZSBpdCB0byB0ZXN0aW5nIHRoYXQgYW4gaW50IHZlcnNpb24gY2Fu
IHJlcGxhY2UgYSBzdHJpbmcgdmVyc2lvbgorICAgICAgICB0aGF0IHJlcGxhY2VkIGFuIGludCB2
ZXJzaW9uLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFy
YW1ldGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgIHNldFZlcnNpb24gaXMgbm8gbG9uZ2VyIGludmFsaWQgc28gdGhp
cyB0ZXN0IGNhbiBiZSBkZWxldGVkLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50
dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQ6CisgICAgICAgIFdlIG5vdyBmdWxs
eSBwYXNzIHRoaXMgdGVzdC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNp
b24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52
YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9ub2Jsb2JzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1k
dXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGlzIHRlc3QgaGFkIGEg
YnVnIGluIGl0IEFORCBpdHMgYmVoYXZpb3IgaXMgY2hhbmdlZC4gSXQgd2FzIHRyeWluZworICAg
ICAgICB0byBvcGVuIG9uZSBkYXRhYmFzZSB0d2ljZSBhbmQgYW5vdGhlciBvbmNlIGJ1dCB3YXMg
YWN0dWFsbHkgb3BlbmluZworICAgICAgICB0aHJlZSBkaWZmZXJlbnQgZGF0YWJhc2VzLiBUaGUg
YmVoYXZpb3IgY2hhbmdlIGlzIHRoYXQgbm93IHRoZQorICAgICAgICB0cmFuc2FjdGlvbiBmaW5p
c2hlcyB3aGlsZSB0aGUgbGFzdCBjYWxsIHRvIG9wZW4gaXMgZmlyaW5nCisgICAgICAgIHVwZ3Jh
ZGVuZWVkZWQuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2
aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzOgorICAgICAgICAoZGVsZXRlU3Vj
Y2Vzcyk6CisgICAgICAgIChpbml0aWFsVXBncmFkZU5lZWRlZCk6CisgICAgICAgIChvcGVuU3Vj
Y2Vzcyk6CisgICAgICAgIChmaXJzdFVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAodHJhbnNhY3Rp
b25Db21wbGV0ZWQpOgorICAgICAgICAoZmlyc3RPcGVuV2l0aFZlcnNpb24pOgorICAgICAgICAo
c2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKHNldEludFZlcnNpb24yKToKKyAg
ICAgICAgKHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludCk6CisgICAgICAgICh2ZXJz
aW9uMkNvbm5lY3Rpb25CbG9ja2VkKToKKyAgICAgICAgKHZlcnNpb24yQ29ubmVjdGlvblN1Y2Nl
c3MpOgorICAgICAgICAoZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbik6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhh
cy1uby1zaWRlLWVmZmVjdHMuanM6IFJlbW92ZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzOiBBZGRlZC4K
KyAgICAgICAgKHRlc3QpOgorICAgICAgICAoZGVsZXRlU3VjY2Vzcyk6CisgICAgICAgIChjb25u
ZWN0aW9uMVVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAoY29ubmVjdGlvbjFPcGVuU3VjY2Vzcyk6
CisgICAgICAgIChjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAoY29ubmVjdGlv
bjJPcGVuU3VjY2Vzcyk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2xp
c3Qtb3JkZXJpbmcuanM6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29w
ZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzOgorICAgICAgICAoc3RhcnRUcmFuc2FjdGlvbi50cmFu
cy5vbmNvbXBsZXRlKToKKyAgICAgICAgKHN0YXJ0VHJhbnNhY3Rpb24pOgorICAgICAgICAodHJ5
T3BlbnMub3BlbnJlcTMub25zdWNjZXNzKToKKyAgICAgICAgKHRyeU9wZW5zKToKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qczoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWw6CisKIDIwMTIt
MDktMTIgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CmluZGV4IDMzY2Ji
NGM2NDY3NDBiMTg1MzZiZjYzZjA4MTI5NTViZTE4NTIzYjkuLjIyMjAzMmE3OTg0NmZiMWZiZTVm
YTE3ZGU5YzE3ZjUxN2NjODIzN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CkBAIC0zMyw3ICsz
Myw3IEBAIGRibmFtZSA9ICdjdXJzb3Itb3ZlcmxvYWRzJwogaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRiID0gcmVxdWVzdC5yZXN1bHQK
LVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNp
b24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQogaW5kZXggPSBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAndmFsdWUnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1sCmluZGV4IDYzNDE2YTM3ZGVh
MGQwNTg3NzI0ODFkZDA1YzNhZTdlM2JhZDIyMDYuLmI0M2EzMTA3NjI0MGM1YWJlMDAxNGNiZDBk
OTlhYTEyMzNlNWFiY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1vdmVybG9hZHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3Itb3ZlcmxvYWRzLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgZnVuY3Rpb24gcHJlcGFy
ZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAgICAg
ICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgICAgICAgICAgc2hvdWxk
QmUoImRiLnZlcnNpb24iLCAnMScpOwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1
bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rv
bnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggNzQzZWIy
YjIwZTk2NGEyMWMxZTIwNWMxMzVjZDViZmUyNTc5N2ZhMS4uNGZkM2M4MzMyN2M3OTA1Y2U2MTg1
ZDE0Y2M2NjYwNjM0MTM5MTZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50eHQK
QEAgLTEwLDcgKzEwLDcgQEAgcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnZG9u
dC1jb21taXQtb24tYmxvY2tlZCcpCiByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oJ2RvbnQtY29t
bWl0LW9uLWJsb2NrZWQnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAogZGIub252ZXJzaW9uY2hhbmdl
ID0gb25WZXJzaW9uQ2hhbmdlCi1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BBU1MgZGIudmVyc2lv
biBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3N0b3JlMScpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rv
bnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbAppbmRleCA5ZDU3NWI5YmEzNjVhMTRkMTFiMTMx
ODExOWE2YjNlZTA3MGVhZmU3Li4xMjQ2MDkyNjBiOTk2ZDg5NWYyZmY3YjcwOTM2ZmY5Y2EwZDYz
ZDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1p
dC1vbi1ibG9ja2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZG9u
dC1jb21taXQtb24tYmxvY2tlZC5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIHByZXBh
cmVEYXRhYmFzZSgpCiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3QucmVzdWx0
Iik7CiAgICAgICAgICAgICBkYi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICAgICAgICAgICBldmFsQW5kTG9nKCJkYi5vbnZlcnNpb25jaGFuZ2UgPSBvblZlcnNpb25DaGFu
Z2UiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIsICIi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKICAgICAgICAgICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAgICAgICAgICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0
ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggY2JhOTk1OGZhODgwZjRm
ZGU4MTZmYWZlOTA0ZTk3Y2QzZmI1ZTJmZi4uNTJmNzI5NDQxMGM2NDQ2ZWE2ZDQ2YWU0OGFlM2E0
NDBkYmQ0OGNlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rp
b25zLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBzZWxmLmRibmFtZSA9ICd0ZXN0MSc7
IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxl
dGVEYXRhYmFzZSgpJwogJ2gub252ZXJzaW9uY2hhbmdlJwotICAgIGluIHZlcnNpb25jaGFuZ2Us
IG9sZCA9ICIiIG5ldyA9ICIiCisgICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gMSBuZXcgPSAi
IgogICAgIGggY2xvc2luZywgYnV0IG5vdCBpbW1lZGlhdGVseQogJ2RlbGV0ZURhdGFiYXNlKCku
b25ibG9ja2VkJwogJ2guY2xvc2UnCkBAIC0yNSw3ICsyNSw3IEBAIHNlbGYuZGJuYW1lID0gJ3Rl
c3QyJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLm9wZW4ub25zdWNjZXNzJwog
J2RlbGV0ZURhdGFiYXNlKCknCiAnaC5vbnZlcnNpb25jaGFuZ2UnCi0gICAgaW4gdmVyc2lvbmNo
YW5nZSwgb2xkID0gIiIgbmV3ID0gIiIKKyAgICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAxIG5l
dyA9ICIiCiAgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5CiAnaC5jbG9zZScKICdkZWxldGVEYXRh
YmFzZSgpLm9uYmxvY2tlZCcKQEAgLTU4LDcgKzU4LDcgQEAgc2VsZi5kYm5hbWUgPSAndGVzdDQn
OyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2guc2V0VmVyc2lvbicKICdkZWxldGVE
YXRhYmFzZSgpJwogJ2gyLm9udmVyc2lvbmNoYW5nZScKLSAgICBpbiB2ZXJzaW9uY2hhbmdlLCBv
bGQgPSAiIiBuZXcgPSAiMSIKKyAgICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAxIG5ldyA9ICIx
IgogJ2guc2V0VmVyc2lvbi5vbmJsb2NrZWQnCiAnaDMub3BlbicKICdoMi5jbG9zZScKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZl
cnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMDRmMjgxYWFkODQ3ZTg4Njg2
MmY3MzlhZTRjZmEyOTQ3MjcyNjJmMC4uODc1Y2ViZWY2Y2I5NjY1Y2RmYTQ5ZjY4OTFjMmNiNDY0
OWI2ZDZiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTEy
LDkgKzEyLDExIEBAIEZBSUwgU3RyaW5nKHJlcXVlc3QpIHNob3VsZCBiZSBbb2JqZWN0IElEQk9w
ZW5EQlJlcXVlc3RdLiBXYXMgW29iamVjdCBJREJWZXJzaW9uCiBDYWxsIG9wZW4gd2l0aCBubyB2
ZXJzaW9uIHBhcmFtZXRlcjoKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIAoraW5pdGlhbFVwZ3Jh
ZGVOZWVkZWQoKToKKwogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAot
UEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMgMQogcmVxdWVzdCA9IGRi
LnNldFZlcnNpb24oInNvbWUgdmVyc2lvbiIpCiAKIGluU2V0VmVyc2lvbigpOgpAQCAtNDcsMTgg
KzQ5LDMxIEBAIGRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0cnVlCiBmaXJzdE9wZW5XaXRoVmVy
c2lvbigpOgogUEFTUyBkaWRUcmFuc2FjdGlvbkNvbXBsZXRlIGlzIHRydWUKIGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAorZGIub252ZXJzaW9uY2hhbmdlID0gdmVyc2lvbkNoYW5nZUdvaW5nRnJv
bVN0cmluZ1RvSW50CiBQQVNTIFN0cmluZyhkYikgaXMgIltvYmplY3QgSURCRGF0YWJhc2VdIgog
UEFTUyByZXF1ZXN0LnRyYW5zYWN0aW9uIGlzIG51bGwKIFBBU1MgZGIudmVyc2lvbiBpcyAyCiBQ
QVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29iamVjdCBJREJPcGVuREJSZXF1ZXN0XSIKIHJlcXVl
c3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVyc2lvbiAyIikKIFBBU1MgU3RyaW5nKHJlcXVl
c3QpIGlzICJbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0XSIKLXJlcXVlc3Qub25lcnJv
ciA9IHNldFZlcnNpb25Ob3RBbGxvd2VkCityZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFNldFZl
cnNpb25DYWxsYmFjaworCitzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2soKToKK3RyYW5zYWN0aW9u
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAordHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHNldEludFZl
cnNpb24yCisKK3NldEludFZlcnNpb24yKCk6CityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lLCAyKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzCity
ZXF1ZXN0Lm9uYmxvY2tlZCA9IHZlcnNpb24yQ29ubmVjdGlvbkJsb2NrZWQKIAotc2V0VmVyc2lv
bk5vdEFsbG93ZWQoKToKLVBBU1MgZXZlbnQudHlwZSBpcyAiZXJyb3IiCi1yZXF1ZXN0LndlYmtp
dEVycm9yTWVzc2FnZSA9IFlvdSBjYW4ndCB1c2UgdGhlIHNldFZlcnNpb24gZnVuY3Rpb24gaWYg
eW91J3ZlIGFscmVhZHkgc2V0IHRoZSB2ZXJzaW9uIHRocm91Z2ggYW4gb3BlbiBjYWxsLiAgVGhl
IGN1cnJlbnQgaW50ZWdlciB2ZXJzaW9uIGlzIDIKK3ZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJp
bmdUb0ludCgpOgogZGIuY2xvc2UoKQorCit2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkKCk6CisK
K3ZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoKToKK2V2ZW50LnRhcmdldC5yZXN1bHQuY2xvc2Uo
KQogcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSkKIHJlcXVlc3Qub25lcnJvciA9
IGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dAppbmRleCA3YTE4ZWQyZDllN2Y0ZDA1M2RlMDRkZmVkZjg1N2E0ZmQwOTQ2MTZl
Li5lNTVmZDNjMjEzMTQwZDNkODgxNDUxNTVhMTg4NmJkOWIwZjMxNTM3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9u
LWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMjIsNyArMjIsNyBAQCBQQVNTIGluZGV4
ZWREQi5vcGVuKGRibmFtZSwgLTUpIHRocmV3IFR5cGVFcnJvcjogVHlwZSBlcnJvcgogRklYTUU6
IFVzaW5nIC0xIGRvZXNuJ3QgdGhyb3cgVHlwZUVycm9yIGJ1dCBpdCBzaG91bGQKIEV4cGVjdGlu
ZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFt
ZSwgLTEpCiBGQUlMIE5vIGV4Y2VwdGlvbiB0aHJvd24hCi1GQUlMIFN1Y2Nlc3MgZnVuY3Rpb24g
Y2FsbGVkIHVuZXhwZWN0ZWRseS4KK0ZBSUwgb251cGdyYWRlbmVlZGVkIGNhbGxlZCB1bmV4cGVj
dGVkbHkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZh
bGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMt
bm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDI4Y2M3ZmQwMTE5YjY3MTAzYmQzOWMxNjBkYzljNDdmZDEzODhmZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3Rz
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVRlc3QgdGhhdCB3
aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEgZGIgd2l0aCBhbiBpbnRlZ2VyIHZlcnNpb24s
IHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdldCBmaXJlZCBvbiBvdGhlciBvcGVuIGRicy4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUgPSAiaW50dmVyc2lvbi1p
bnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1sIgotaW5kZXhlZERCLmRl
bGV0ZURhdGFiYXNlKGRibmFtZSkKLQotZGVsZXRlU3VjY2VzcygpOgotcmVxdWVzdCA9IGluZGV4
ZWREQi5vcGVuKGRibmFtZSwgMikKLQotZmlyc3RVcGdyYWRlTmVlZGVkQ2FsbGJhY2soKToKLWdv
dEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQotUEFTUyBldmVudC5vbGRWZXJzaW9uIGlz
IDAKLVBBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAyCi0KLWZpcnN0U3VjY2Vzc0V2ZW50SGFuZGxl
cigpOgotUEFTUyBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCBpcyB0cnVlCi1jb25uZWN0aW9u
MSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWNvbm5lY3Rpb24xLm9udmVyc2lvbmNoYW5nZSA9IHVu
ZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2sKLVBBU1MgU3RyaW5nKGNvbm5lY3Rpb24xKSBp
cyAiW29iamVjdCBJREJEYXRhYmFzZV0iCi1yZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1l
KQotCi1zZWNvbmRTdWNjZXNzQ2FsbGJhY2soKToKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAot
cmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24nKQotcmVxdWVzdC5vbmVycm9yID0gc2V0
VmVyc2lvbkVycm9yCi1yZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJh
Y2sKLXJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjawotCi1zZXRW
ZXJzaW9uRXJyb3IoKToKLU9wZW4gdXAgYSBuZXcgZGIgdG8gZW5zdXJlIHRoYXQgaWYgY29ubmVj
dGlvbjEgd2VyZSB0byBnZXQgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50LCBpdCB3aWxsIGJlIGRlbGl2
ZXJlZCBiZWZvcmUgdGhlIHRlc3QgZmluaXNoZXMKLW5ld19kYiA9IGluZGV4ZWREQi5vcGVuKGRi
bmFtZSArICcyJykKLW5ld19kYi5vbnN1Y2Nlc3MgPSBuZXdEQlN1Y2Nlc3MKLQotbmV3REJTdWNj
ZXNzKCk6Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1p
bnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNp
ZGUtZWZmZWN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjlhMDNiMzcz
NGEzMjc0MTIwMTg5NjhiYjU5ZjM3Y2JhZmIxNmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1z
aWRlLWVmZmVjdHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFy
YW1ldGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CmluZGV4IDJmY2YwYjdmZTU3ZjQ3NzA0
NzhhYTVlYjc0YjM5YWEzMTUzODAwMDIuLjI3NmMzZGI4MTY3ZGE3Y2Y1MTI2YTAxYzkwYjJlY2Ix
ZDBmMjM4OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CkBAIC04
LDExICs4LDEyIEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5k
ZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBkYm5hbWUgPSAiaW50dmVyc2lv
bi1vbWl0LXBhcmFtZXRlci5odG1sIgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkK
IGluZGV4ZWREQi5vcGVuKGRibmFtZSkKK1BBU1MgR290IHVwZ3JhZGVuZWVkZWQgZXZlbnQKIAog
b3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogVGVzdCBsaW5lIGZyb20g
SURCRmFjdG9yeS5vcGVuOiBJZiBubyB2ZXJzaW9uIGlzIHNwZWNpZmllZCBhbmQgbm8gZGF0YWJh
c2UgZXhpc3RzLCBzZXQgZGF0YWJhc2UgdmVyc2lvbiB0byAxLgotRkFJTCBkYi52ZXJzaW9uIHNo
b3VsZCBiZSAxIChvZiB0eXBlIG51bWJlcikuIFdhcyAgKG9mIHR5cGUgc3RyaW5nKS4KK1BBU1Mg
ZGIudmVyc2lvbiBpcyAxCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ZDE0Y2RjNzc4MDJkMzEzY2I1MWIzZTc1MzAyNzkxMjVmOTcxYzE2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzQgQEAK
K1Rlc3QgdGhhdCBvbmx5IHRoZSBmaXJzdCBvcGVuIGNhbGwgZ2V0cyBhbiB1cGdyYWRlbmVlZGVk
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSBzZWxmLmluZGV4
ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxm
Lm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKKworZGJuYW1lID0gImludHZlcnNpb24t
dHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJu
YW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25uZWN0
aW9uMU9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGNvbm5lY3Rpb24xVXBn
cmFkZU5lZWRlZAoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSBj
b25uZWN0aW9uMk9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGNvbm5lY3Rp
b24yVXBncmFkZU5lZWRlZAorCitjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQoKToKK2dvdEZpcnN0
VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQorUEFTUyBldmVudC5vbGRWZXJzaW9uIGlzIDAKK1BB
U1MgZXZlbnQubmV3VmVyc2lvbiBpcyAxCisKK2Nvbm5lY3Rpb24xT3BlblN1Y2Nlc3MoKToKK2Ri
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorUEFTUyBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCBp
cyB0cnVlCitQQVNTIGRiLnZlcnNpb24gaXMgMQorCitjb25uZWN0aW9uMk9wZW5TdWNjZXNzKCk6
CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgZ290U2Vjb25kVXBncmFkZU5lZWRlZEV2
ZW50IGlzIGZhbHNlCitQQVNTIGRiLnZlcnNpb24gaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJz
aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNTY3NTc3YWVmMTEyNzEzNjlkODA3OWVjMjRjNmVmYmVh
MzNkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ludHZlcnNp
b24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGlzdC1v
cmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9saXN0
LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCA5Y2JhMDBhMmJmY2UxY2UzNDFmN2Y5NTkzNTNk
YWU2NDRhZDY0OTRmLi5mYWE5ZGUzOGU1Y2E1NTdlYzQzMjVhZWJjMGI5YTk3M2I5YWEzYWQzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVy
aW5nLWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCB0ZXN0U3RvcmVzQW5kSW5kZXhlcygp
OgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdsaXN0LW9yZGVyaW5nJykKIGluZGV4ZWREQi5v
cGVuKCdsaXN0LW9yZGVyaW5nJykKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lv
biBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNpb24oJzEnKQogCiBPYmpl
Y3Qgc3RvcmVzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9i
bG9icy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2Jz
LWV4cGVjdGVkLnR4dAppbmRleCA1NThjODdhODE2NzhhNzk1NmNhNDYxZjJkY2FmMTE0YWNjNGNj
ODZiLi5iMmQ1MjI2ZGE1Y2M3ODk1NWEwM2Y4YzY5NDRlM2ZiMjBjOWFkNWRlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dApAQCAt
MTAsNyArMTAsNyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2Uo
J25vYmxvYnMnKQogaW5kZXhlZERCLm9wZW4oJ25vYmxvYnMnKQogZGIgPSByZXF1ZXN0LnJlc3Vs
dAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMgMQogZGIuc2V0VmVy
c2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogc3Rv
cmUucHV0KCd2YWx1ZScsICdrZXknKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbm9ibG9icy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9i
bG9icy5odG1sCmluZGV4IDgzMTg2NmI5ZTUyNDgxYmExMGI1ZWNiZGE5NTVjNTAxOGNkZjk1ZWUu
LjE3ODdjMjgzYTgxNGExNWU3ODQyNzliMjRlMGEzMTU2ZjE2YjVmNTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwKQEAgLTM4LDcgKzM4LDcgQEAgZnVuY3Rp
b24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkg
ewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4dApp
bmRleCA1Y2FmY2U4Zjk3NTJjOGIzYjAxZTY1YjMxMzQ4NTM4NmQxYThhNGU2Li44MDU3NjNmOTk5
ZWZiM2QzM2E0NjRkMzQ3ZjI5MTk2ZmQ0Yjk4YmJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24t
ZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIHRyYW5zID0gZGJjMS50cmFuc2FjdGlvbign
c3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJyku
cHV0KCd2YWx1ZScsICdrZXknKQogCiB0cnlpbmcgdG8gb3BlbiB0aGUgc2FtZSBkYXRhYmFzZQot
b3BlbnJlcTIgPSBpbmRleGVkREIub3BlbignZGIxJykKK29wZW5yZXEyID0gaW5kZXhlZERCLm9w
ZW4oJ29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uMScpCiAKIHRyeWluZyB0byBvcGVuIGEgZGlmZmVy
ZW50IGRhdGFiYXNlCiBvcGVucmVxMyA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFu
c2FjdGlvbjInKQpAQCAtMjgsMTIgKzI4LDEyIEBAIG9wZW5yZXEyLm9uc3VjY2VzcwogUEFTUyBz
dGF0ZSBpcyAic3RhcnRpbmciCiBzdGF0ZSA9ICdvcGVuMmNvbXBsZXRlJwogCit0cmFuc2FjdGlv
biBjb21wbGV0ZQorUEFTUyBzdGF0ZSBpcyAib3BlbjJjb21wbGV0ZSIKKwogb3BlbnJlcTMub25z
dWNjZXNzCiBQQVNTIHN0YXRlIGlzICJvcGVuMmNvbXBsZXRlIgogc3RhdGUgPSAnb3BlbjNjb21w
bGV0ZScKLQotdHJhbnNhY3Rpb24gY29tcGxldGUKLVBBU1Mgc3RhdGUgaXMgIm9wZW4zY29tcGxl
dGUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rp
dml0eS1leHBlY3RlZC50eHQKaW5kZXggMDM2NTM0YWNjNWZiNzM1ZTM0YWQ1NGQxYWM3NWU5ODQy
OTE2YWY3My4uODc2NmMzZWFiYzAyOTA0MzhmMDgyYzMwNDYyYTc4MGVhOTY1Yzg1YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rp
dml0eS1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDcgQEAgcHJlcGFyZURhdGFiYXNlKCk6CiBp
bmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5kZXhlZERCLm9wZW4oZGJuYW1lKQog
ZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNp
b24gaXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCdzdG9yZScpCiBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0
ZWQudHh0CmluZGV4IDY0ZTdhYWRkZWJjYzI2YzJjZjM1NjAwNjc2MTZiNjVjMDlhYzg2YzQuLmVh
YmVhZWFiMzdhYjc2NGI3NDdmNGE0NGFjNTRmYTQxYmUwNDQ2MjMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0
eS13b3JrZXJzLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBTdGFydGluZyB3b3JrZXI6
IHJlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzCiBbV29ya2VyXSBpbmRleGVkREIuZGVsZXRl
RGF0YWJhc2UoZGJuYW1lKQogW1dvcmtlcl0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQogW1dvcmtl
cl0gZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBbV29ya2VyXSBkYi52ZXJzaW9uIGlzICIiCitQ
QVNTIFtXb3JrZXJdIGRiLnZlcnNpb24gaXMgMQogW1dvcmtlcl0gZGIuc2V0VmVyc2lvbignMScp
CiBbV29ya2VyXSBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBbV29ya2Vy
XSBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMK
aW5kZXggYzA5Y2E4ODEwMGVkMDFiODFjYTllYjI3YzY1YjFlM2U5NDJmMjdmNS4uMGM3ODFmZDEx
MThiYzYyY2RiNjBjNTUyMGY5ODYxODRhMzM0Mzk0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24t
YW5kLXNldHZlcnNpb24uanMKQEAgLTIyLDE3ICsyMiwyMyBAQCBmdW5jdGlvbiBkZWxldGVTdWNj
ZXNzKGV2dCkgewogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5h
bWUpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9udXBncmFk
ZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5v
bnVwZ3JhZGVuZWVkZWQgPSBpbml0aWFsVXBncmFkZU5lZWRlZDsKICAgICByZXF1ZXN0Lm9uYmxv
Y2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CiB9CiAKKworZnVuY3Rpb24gaW5pdGlh
bFVwZ3JhZGVOZWVkZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7Cit9CisKIGZ1bmN0aW9u
IG9wZW5TdWNjZXNzKGV2dCkKIHsKICAgICBldmVudCA9IGV2dDsKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7CiAgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNp
b24iLCAiIik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgIGV2YWxBbmRM
b2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzb21lIHZlcnNpb24iKScpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwpAQCAtODUsOSArOTEsNyBAQCBmdW5jdGlvbiBzZWNvbmRPcGVu
KGV2dCkKIAogZnVuY3Rpb24gZmlyc3RVcGdyYWRlTmVlZGVkKGV2dCkKIHsKLSAgICBldmVudCA9
IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0VXBncmFkZU5lZWRlZCgpOiIp
OworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcoZGIpIiwgIltvYmpl
Y3QgSURCRGF0YWJhc2VdIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcocmVx
dWVzdC50cmFuc2FjdGlvbikiLCAiW29iamVjdCBJREJUcmFuc2FjdGlvbl0iKTsKQEAgLTEwMCw0
OSArMTA0LDY4IEBAIGZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZChldnQpCiB2YXIgZGlkVHJh
bnNhY3Rpb25Db21wbGV0ZSA9IGZhbHNlOwogZnVuY3Rpb24gdHJhbnNhY3Rpb25Db21wbGV0ZWQo
ZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygidHJh
bnNhY3Rpb25Db21wbGV0ZWQoKToiKTsKKyAgICBwcmVhbWJsZShldnQpOwogICAgIGV2YWxBbmRM
b2coImRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0cnVlIik7CiB9CiAKIGZ1bmN0aW9uIGZpcnN0
T3BlbldpdGhWZXJzaW9uKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7
Ci0gICAgZGVidWcoImZpcnN0T3BlbldpdGhWZXJzaW9uKCk6Iik7CisgICAgcHJlYW1ibGUoZXZ0
KTsKICAgICBzaG91bGRCZVRydWUoImRpZFRyYW5zYWN0aW9uQ29tcGxldGUiKTsKICAgICBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5v
bnZlcnNpb25jaGFuZ2UgPSB2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQiKTsKICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhkYikiLCAiW29iamVjdCBJREJEYXRhYmFz
ZV0iKTsKICAgICBzaG91bGRCZU51bGwoInJlcXVlc3QudHJhbnNhY3Rpb24iKTsKICAgICBzaG91
bGRCZSgiZGIudmVyc2lvbiIsICIyIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJp
bmcocmVxdWVzdCkiLCAiW29iamVjdCBJREJPcGVuREJSZXF1ZXN0XSIpOwogICAgIGV2YWxBbmRM
b2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVyc2lvbiAyIiknKTsKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhyZXF1ZXN0KSIsICJbb2JqZWN0IElEQlZlcnNp
b25DaGFuZ2VSZXF1ZXN0XSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0g
c2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrIik7CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4
cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3Rl
ZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBzZXRW
ZXJzaW9uTm90QWxsb3dlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogfQogCi1mdW5jdGlvbiBzZXRWZXJzaW9uTm90QWxsb3dlZChldnQpCitmdW5j
dGlvbiBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2soZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0Owot
ICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbk5vdEFsbG93ZWQoKToiKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnR5cGUiLCAiZXJyb3IiKTsKLSAgICBkZWJ1
ZygicmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UgPSAiICsgcmVxdWVzdC53ZWJraXRFcnJvck1l
c3NhZ2UpOworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygidHJhbnNhY3Rpb24g
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZXZhbEFuZExvZygidHJhbnNhY3Rpb24ub25j
b21wbGV0ZSA9IHNldEludFZlcnNpb24yIik7Cit9CisKK2Z1bmN0aW9uIHNldEludFZlcnNpb24y
KGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnN1
Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzIik7CisgICAgZXZhbEFuZExvZygicmVx
dWVzdC5vbmJsb2NrZWQgPSB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkIik7CisgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHZlcnNp
b25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsK
ICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7Cit9CisKK2Z1bmN0aW9uIHZlcnNpb24yQ29u
bmVjdGlvbkJsb2NrZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7Cit9CisKK2Z1bmN0aW9u
IHZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7Cisg
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jbG9zZSgpIik7CiAgICAgZXZhbEFu
ZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSkiKTsKICAgICBldmFsQW5k
TG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uIik7CiAgICAg
cmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9u
dXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7CiB9CiAKIGZ1
bmN0aW9uIGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24oZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0
OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lvbigp
OiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZGVidWcoInJlcXVlc3Qud2Via2l0RXJyb3JN
ZXNzYWdlID0gIiArIHJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlKTsKICAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCA0KSIpOwogICAgIHJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVy
c2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVm
ZmVjdHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjMTIwZDQyNWFkY2ExZjY2
ZWNkNzM1MTljMjVhNzQ1YWIwYWFmMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2lu
dHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1pZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7Ci0gICAg
aW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMn
KTsKLSAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKLX0KLQotZGVzY3JpcHRpb24oIlRl
c3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEgZGIgd2l0aCBhbiBpbnRlZ2Vy
IHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdldCBmaXJlZCBvbiBvdGhlciBv
cGVuIGRicy4iKTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKLSAgICBzZXREQk5hbWVGcm9tUGF0aCgpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKSIpOwotICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gZGVsZXRlU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZGVsZXRlU3VjY2VzcyhldnQpIHsKLSAgICBwcmVh
bWJsZSgpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUs
IDIpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaXJzdFN1Y2Nlc3NFdmVudEhhbmRsZXI7
Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIGdvdEZpcnN0
VXBncmFkZU5lZWRlZEV2ZW50ID0gZmFsc2U7Ci0gICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQg
PSBmaXJzdFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZmlyc3RVcGdyYWRl
TmVlZGVkQ2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7Ci0gICAgZXZhbEFuZExv
ZygiZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSB0cnVlIik7Ci0gICAgc2hvdWxkQmUoImV2
ZW50Lm9sZFZlcnNpb24iLCAiMCIpOwotICAgIHNob3VsZEJlKCJldmVudC5uZXdWZXJzaW9uIiwg
IjIiKTsKLX0KLQotZnVuY3Rpb24gZmlyc3RTdWNjZXNzRXZlbnRIYW5kbGVyKGV2dCkKLXsKLSAg
ICBwcmVhbWJsZShldnQpOwotICAgIHNob3VsZEJlVHJ1ZSgiZ290Rmlyc3RVcGdyYWRlTmVlZGVk
RXZlbnQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMSA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMS5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4
cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJTdHJpbmcoY29ubmVjdGlvbjEpIiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7Ci0gICAgZXZh
bEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IHNlY29uZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhw
ZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4
cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBzZWNvbmRTdWNjZXNz
Q2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7Ci0gICAgZXZhbEFuZExvZygiZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNl
dFZlcnNpb24oJ3ZlcnNpb24nKSIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25lcnJvciA9
IHNldFZlcnNpb25FcnJvciIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0g
dW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjayIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjayIpOwotfQotCi1mdW5jdGlvbiBzZXRW
ZXJzaW9uRXJyb3IoZXZ0KQotewotICAgIHByZWFtYmxlKCk7Ci0gICAgZGVidWcoIk9wZW4gdXAg
YSBuZXcgZGIgdG8gZW5zdXJlIHRoYXQgaWYgY29ubmVjdGlvbjEgd2VyZSB0byBnZXQgYSB2ZXJz
aW9uY2hhbmdlIGV2ZW50LCBpdCB3aWxsIGJlIGRlbGl2ZXJlZCBiZWZvcmUgdGhlIHRlc3QgZmlu
aXNoZXMiKTsKLSAgICBldmFsQW5kTG9nKCJuZXdfZGIgPSBpbmRleGVkREIub3BlbihkYm5hbWUg
KyAnMicpIik7Ci0gICAgZXZhbEFuZExvZygibmV3X2RiLm9uc3VjY2VzcyA9IG5ld0RCU3VjY2Vz
cyIpOwotICAgIG5ld19kYi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAg
bmV3X2RiLm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0
aW9uIG5ld0RCU3VjY2VzcyhldnQpCi17Ci0gICAgcHJlYW1ibGUoKTsKLSAgICBmaW5pc2hKU1Rl
c3QoKTsKLX0KLQotdGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5z
LW5vLXZlcnNpb25zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMmIwYTljYWUzMDRmMWNmYzE5ODk4NWVlMDkw
YjhkNWIyYzM4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuanMKQEAgLTAs
MCArMSw2NSBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMo
Jy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CisgICAgaW1wb3J0
U2NyaXB0cygnc2hhcmVkLmpzJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgb25seSB0
aGUgZmlyc3Qgb3BlbiBjYWxsIGdldHMgYW4gdXBncmFkZW5lZWRlZCIpOworCitmdW5jdGlvbiB0
ZXN0KCkKK3sKKyAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOworICAgIHNldERCTmFtZUZyb21Q
YXRoKCk7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRibmFtZSkiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0ZVN1Y2Nlc3M7Cisg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK3ZhciBn
b3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOwordmFyIGdvdFNlY29uZFVwZ3JhZGVO
ZWVkZWRFdmVudCA9IGZhbHNlOworZnVuY3Rpb24gZGVsZXRlU3VjY2VzcyhldnQpIHsKKyAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOworICAgIGV2YWxB
bmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjFPcGVuU3VjY2VzcyIpOworICAg
IGV2YWxBbmRMb2coInJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gY29ubmVjdGlvbjFVcGdyYWRl
TmVlZGVkIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOworCisg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSkiKTsKKyAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IGNvbm5lY3Rpb24yT3BlblN1Y2Nlc3MiKTsK
KyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGNvbm5lY3Rpb24yVXBn
cmFkZU5lZWRlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsK
K30KKworZnVuY3Rpb24gY29ubmVjdGlvbjFVcGdyYWRlTmVlZGVkKGV2dCkKK3sKKyAgICBwcmVh
bWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0g
dHJ1ZSIpOworICAgIHNob3VsZEJlKCJldmVudC5vbGRWZXJzaW9uIiwgIjAiKTsKKyAgICBzaG91
bGRCZSgiZXZlbnQubmV3VmVyc2lvbiIsICIxIik7Cit9CisKK2Z1bmN0aW9uIGNvbm5lY3Rpb24x
T3BlblN1Y2Nlc3MoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZGIgPSBldmFsQW5k
TG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzaG91bGRCZVRydWUoImdvdEZp
cnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIp
OworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQoZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZ290U2Vjb25kVXBncmFkZU5lZWRlZEV2ZW50
ID0gdHJ1ZSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMk9wZW5TdWNjZXNzKGV2dCkKK3sK
KyAgICBwcmVhbWJsZShldnQpOworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ290U2Vjb25kVXBncmFkZU5lZWRlZEV2
ZW50Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOworICAgIGZpbmlzaEpTVGVz
dCgpOworfQorCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRlcmluZy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCmluZGV4IDczNTk4ZmQ3MjM1ODYwZWRh
NzhiMmYxNzFlZTE0ZGIwYzBjMWFjY2YuLjc1ZjAzMjU2YzdjM2Y4ZDUyZTE5MGExNTYwYTkzMzYy
NzJjOGUwZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9saXN0LW9yZGVyaW5nLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCkBAIC01Miw3ICs1Miw3IEBAIGZ1bmN0aW9uIHRl
c3RTdG9yZXNBbmRJbmRleGVzKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkg
ewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKGUpIHsKQEAgLTgxLDQgKzgxLDQgQEAgZnVuY3Rpb24gdGVzdFN0b3Jl
c0FuZEluZGV4ZXMoKQogICAgIH07CiB9CiAKLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMKaW5kZXgg
YjUwMzI3ODkxOGMyZTY0N2MzZjBjODYzODAyNzg1MmY0ZTUxN2M4Yy4uZjEyNzE3NmI3ZjlhYTJi
NTg5ODYzMThhNWM5ZjU2NmRhYWZhZjIyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWR1cmluZy10cmFuc2Fj
dGlvbi5qcwpAQCAtNDUsOCArNDUsOCBAQCBmdW5jdGlvbiBzdGFydFRyYW5zYWN0aW9uKCkKICAg
ICB0cmFucy5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnMub25j
b21wbGV0ZSA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgIGRlYnVnKCJ0cmFuc2FjdGlvbiBjb21w
bGV0ZSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0YXRlIiwgIm9wZW4zY29t
cGxldGUiKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygic3RhdGUiLCAib3BlbjJjb21wbGV0ZSIpOworICAgICAgICBkZWJ1ZygiIik7CiAg
ICAgfTsKIAogICAgIGRlYnVnKCIiKTsKQEAgLTU2LDcgKzU2LDcgQEAgZnVuY3Rpb24gc3RhcnRU
cmFuc2FjdGlvbigpCiBmdW5jdGlvbiB0cnlPcGVucygpCiB7CiAgICAgZGVidWcoInRyeWluZyB0
byBvcGVuIHRoZSBzYW1lIGRhdGFiYXNlIik7Ci0gICAgZXZhbEFuZExvZygib3BlbnJlcTIgPSBp
bmRleGVkREIub3BlbignZGIxJykiKTsKKyAgICBldmFsQW5kTG9nKCJvcGVucmVxMiA9IGluZGV4
ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFuc2FjdGlvbjEnKSIpOwogICAgIG9wZW5yZXEyLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBvcGVucmVxMi5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbiAoZSkgewogICAgICAgICBkZWJ1Zygib3BlbnJlcTIub25zdWNjZXNzIik7CkBA
IC03Myw5ICs3Myw5IEBAIGZ1bmN0aW9uIHRyeU9wZW5zKCkKICAgICAgICAgZGVidWcoIm9wZW5y
ZXEzLm9uc3VjY2VzcyIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0YXRlIiwg
Im9wZW4yY29tcGxldGUiKTsKICAgICAgICAgZXZhbEFuZExvZygic3RhdGUgPSAnb3BlbjNjb21w
bGV0ZSciKTsKLSAgICAgICAgZGVidWcoIiIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICB9CiAgICAgZGVidWcoIiIpOwogfQogCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQordGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwppbmRleCBmMjk5ZTAyOTQzMmVhM2Rk
N2M1ODEzNDFhYTFlNDcwOGFhZGY5YjRiLi5kMTEwN2RhYWExMjkzN2E3MjFhNzRjODRhOGE3YWQ1
OWNkOTg1NDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwpAQCAtMjIsNyArMjIsNyBAQCBmdW5j
dGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihl
KSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3QucmVzdWx0Iik7Ci0gICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAgICAg
ICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAgICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgICAgIHJlcXVlc3Qub25z
dWNjZXNzID0gZnVuY3Rpb24oZSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAppbmRleCA4ZmJmOTA1
MGQ2YzllYjE4MGE5ZjcyNTM3ZGZhYzIzYzA2Y2ExNzEwLi4wMmEwYjQ5NzJjYzY1OTExOWY3ODcx
Y2JhMjNjMzExNGUyMTA4YmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dApAQCAtMTAsNyArMTAs
NyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoJ3N0cnVjdHVy
ZWQtY2xvbmUnKQogaW5kZXhlZERCLm9wZW4oJ3N0cnVjdHVyZWQtY2xvbmUnKQogZGIgPSByZXF1
ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMgMQog
ZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQogVGhpcyBpbmRleCBpcyBub3QgdXNlZCwgYnV0IGV2YWx1YXRpbmcga2V5IHBhdGggb24g
ZWFjaCBwdXQoKSBjYWxsIHdpbGwgZXhlcmNpc2UgKGRlKXNlcmlhbGl6YXRpb246CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwKaW5k
ZXggOGQ4MmVjODRiZjkyMWExZDQ5ODNiYWQzYWQ3YzJmNWI1ODVmMmRkNS4uMzUwNmNmNjE3YTQ0
NjU5ZTljMjY3MjMzYzc2OWQyNzA3MDZmZTFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbApAQCAtMzYsNyArMzYsNyBAQCBm
dW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlv
bihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3QucmVzdWx0Iik7Ci0g
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAgICAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAgICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164020</attachid>
            <date>2012-09-13 18:18:58 -0700</date>
            <delta_ts>2012-09-13 19:32:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120913181831.patch</filename>
            <type>text/plain</type>
            <size>50486</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZhYzM3NmU3ZGE1YzAz
ZDlmZmE2ZTc5NzkwNjQyODU3YWNmOGFjYy4uMDE2ODVmNTk4ZGEzZTc4ZjM0YTY3M2JmMDczOTli
ZTUxMzMyZmExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gb2Yg
bm90ZToKKyAgICAgICAgKiBOZXcgZGF0YWJhc2VzIG5vdyBnZXQgYSBkZWZhdWx0IHZlcnNpb24g
b2YgMSBpbnN0ZWFkIG9mCisgICAgICAgIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiB0aGV5IGFyZSBv
cGVuZWQuCisgICAgICAgICogV2Ugbm93IGFsbG93IGRhdGFiYXNlcyB3aXRoIGFuIGludGVnZXIg
dmVyc2lvbiB0byByZXZlcnQgdG8gYSBzdHJpbmcKKyAgICAgICAgdmVyc2lvbiBieSBjYWxsaW5n
IHNldFZlcnNpb24uCisKKyAgICAgICAgSW1wbGVtZW50YXRpb24gZGV0YWlsOiB3ZSBzdG9yZSBi
b3RoIGFuIGludGVnZXIgdmVyc2lvbiBhbmQgc3RyaW5nCisgICAgICAgIHZlcnNpb24gZm9yIGEg
cGFydGljdWxhciBkYXRhYmFzZS4gSWYgYm90aCBhcmUgc2V0IHdlIGdpdmUgcHJlZmVyZW5jZQor
ICAgICAgICB0byB0aGUgaW50ZWdlciB2ZXJzaW9uIGFuZCBhc3N1bWUgdGhlIGRiIGlzIG9uIHRo
ZSBpbnRlZ2VyIHRyYWNrLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tl
bmRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZl
cnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVy
c2lvbkludGVybmFsKToKKyAgICAgICAgTm93IHRoYXQgdGhpcyBjYW4gYmUgY2FsbGVkIGV2ZW4g
YWZ0ZXIgYW4gaW50IHZlcnNpb24gaXMgc2V0IHdlIGhhdmUKKyAgICAgICAgdG8gbWFrZSBpdCBy
ZXZva2UgdGhlIGludCB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpvcGVuQ29ubmVjdGlvbik6CisgICAgICAgIE5lc3RlZCBpZnMgd2VyZSBnZXR0
aW5nIGRlZXAsIHNvIHJlZmFjdG9yIHRvIHJldHVybiBlYXJseSBpbnN0ZWFkLgorCisgICAgICAg
IChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVEYXRhYmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24pOgorICAg
ICAgICBOb3cgdGhhdCBhbiBpbnQgdmVyc2lvbiBjb3VsZCBoYXZlIGJlZW4gc2V0IGJlZm9yZSBz
ZXRWZXJzaW9uIHdhcworICAgICAgICBjYWxsZWQgd2UgaGF2ZSB0byByZXNldCB0aGUgaW50IHZl
cnNpb24gb24gYWJvcnQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFiYXNlSW50
VmVyc2lvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5j
cHA6CisgICAgICAgIDAgaXMgbm93IGEgdmFsaWQgaW50ZWdlciB2ZXJzaW9uIHRvIHN0b3JlIHRv
IGxldmVsZGIgaWYgYW4gaWRiCisgICAgICAgIGRhdGFiYXNlIGlzIHJldmVydGluZyB0byBhIHN0
cmluZyB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQpOgorICAgICAgICBJZiB0aGUgb3BlbiByZXF1ZXN0IGRpZCBub3Qgc3BlY2lm
eSBhbiBpbnRlZ2VyIHZlcnNpb24gYnV0CisgICAgICAgIHVwZ3JhZGVuZWVkZWQgaXMgY2FsbGVk
LCBpdCBtZWFucyB0aGUgZGF0YWJhc2Ugd2FzIGdpdmVuIHRoZSBkZWZhdWx0CisgICAgICAgIHZl
cnNpb24gb2YgMS4KKwogMjAxMi0wOS0xMyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogQ29uc29saWRhdGUgdHdvLXBoYXNlIGNvbm5lY3Rp
b24gdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGJm
YjJhZTI2NzYxNWQ2Mzg1MjNjMGRlMmJlZWU0NWRjNTJmYTM0NGEuLmUxZTYxZjkwYmExMTU1NzEw
ZmM2ZWViNzNlYzc4ZjEzNzU5MTU2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC0xMjcs
MTEgKzEyNywxNSBAQCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IElEQkRhdGFi
YXNlQmFja2VuZEltcGw6OmNyZWF0ZShjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJuIGJhY2tlbmQu
cmVsZWFzZSgpOwogfQogCituYW1lc3BhY2UgeworY29uc3QgY2hhciogTm9TdHJpbmdWZXJzaW9u
ID0gIiI7Cit9CisKIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZElt
cGwoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSwgSURC
VHJhbnNhY3Rpb25Db29yZGluYXRvciogY29vcmRpbmF0b3IsIElEQkZhY3RvcnlCYWNrZW5kSW1w
bCogZmFjdG9yeSwgY29uc3QgU3RyaW5nJiB1bmlxdWVJZGVudGlmaWVyKQogICAgIDogbV9iYWNr
aW5nU3RvcmUoYmFja2luZ1N0b3JlKQogICAgICwgbV9pZChJbnZhbGlkSWQpCiAgICAgLCBtX25h
bWUobmFtZSkKLSAgICAsIG1fdmVyc2lvbigiIikKKyAgICAsIG1fdmVyc2lvbihOb1N0cmluZ1Zl
cnNpb24pCiAgICAgLCBtX2ludFZlcnNpb24oSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJz
aW9uKQogICAgICwgbV9pZGVudGlmaWVyKHVuaXF1ZUlkZW50aWZpZXIpCiAgICAgLCBtX2ZhY3Rv
cnkoZmFjdG9yeSkKQEAgLTI0MCwxMCArMjQ0LDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwK
ICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6SURCX0FCT1JUX0VSUiwgIkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBi
ZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24gd2FzIGNyZWF0ZWQiKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgaWYgKG1faW50VmVyc2lvbiAhPSBJREJEYXRhYmFzZU1ldGFkYXRh
OjpOb0ludFZlcnNpb24pIHsKLSAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsIFN0cmluZzo6
Zm9ybWF0KCJZb3UgY2FuJ3QgdXNlIHRoZSBzZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBh
bHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0aHJvdWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50
IGludGVnZXIgdmVyc2lvbiBpcyAlbGxkIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihtX2ludFZl
cnNpb24pKSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGZvciAoRGF0YWJhc2VDYWxs
YmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdp
bigpOyBpdCAhPSBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAg
IC8vIEZyb250IGVuZCBlbnN1cmVzIHRoZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlv
bnMgdGhhdCBoYXZlIGNsb3NlUGVuZGluZyBzZXQuCiAgICAgICAgIGlmICgqaXQgIT0gZGF0YWJh
c2VDYWxsYmFja3MpCkBAIC0yNzIsNyArMjcyLDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwK
ICAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwogICAg
IGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxi
YWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsLCBkYXRh
YmFzZSwgdmVyc2lvbiwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbiksCi0gICAgICAgICAgICBjcmVh
dGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0
YWJhc2UsIG1fdmVyc2lvbikpKSB7CisgICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwg
bV9pbnRWZXJzaW9uKSkpIHsKICAgICAgICAgLy8gRklYTUU6IFJlbW92ZSBvbmUgb2YgdGhlIGZv
bGxvd2luZyBsaW5lcy4KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKQEAgLTI4
NCw3ICsyODQsOCBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRl
cm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZgogICAgIFJlZlB0cjxJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2FjdGlvbiA9IHBycFRyYW5zYWN0aW9uOwogICAgIGlu
dDY0X3QgZGF0YWJhc2VJZCA9IGRhdGFiYXNlLT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNp
b24gPSB2ZXJzaW9uOwotICAgIGlmICghZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJ
REJEYXRhYmFzZU1ldGFEYXRhKGRhdGFiYXNlSWQsIGRhdGFiYXNlLT5tX3ZlcnNpb24pKSB7Cisg
ICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVy
c2lvbjsKKyAgICBpZiAoIWRhdGFiYXNlLT5tX2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJh
c2VNZXRhRGF0YShkYXRhYmFzZUlkLCBkYXRhYmFzZS0+bV92ZXJzaW9uKSB8fCAhZGF0YWJhc2Ut
Pm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZUludFZlcnNpb24oZGF0YWJhc2VJZCwg
ZGF0YWJhc2UtPm1faW50VmVyc2lvbikpIHsKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElE
QkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIs
ICJFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFu
c2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDM3LDE2ICs0MzgsMjMgQEAg
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OnRyYW5zYWN0aW9uKEQKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3Bl
bkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4gZGF0YWJhc2VDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJU
KG1fYmFja2luZ1N0b3JlLmdldCgpKTsKLSAgICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlz
RW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGlu
Z1NldFZlcnNpb25DYWxscy5pc0VtcHR5KCkpCisgICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxs
cy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3Bl
bmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fcGVuZGluZ09wZW5D
YWxscy5hcHBlbmQoUGVuZGluZ09wZW5DYWxsOjpjcmVhdGUoY2FsbGJhY2tzLCBkYXRhYmFzZUNh
bGxiYWNrcykpOwotICAgIGVsc2UgewotICAgICAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYg
IW9wZW5JbnRlcm5hbCgpKQotICAgICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRl
cm5hbCBlcnJvci4iKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9kYXRhYmFzZUNh
bGxiYWNrc1NldC5hZGQoUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxi
YWNrcykpOwotICAgICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAg
IH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYg
IW9wZW5JbnRlcm5hbCgpKSB7CisgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFz
ZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJu
YWwgZXJyb3IuIikpOworICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGlmIChtX3ZlcnNpb24g
PT0gTm9TdHJpbmdWZXJzaW9uICYmIG1faW50VmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRh
OjpOb0ludFZlcnNpb24pIHsKKyAgICAgICAgLy8gU3BlYyBzYXlzOiBJZiBubyB2ZXJzaW9uIGlz
IHNwZWNpZmllZCBhbmQgbm8gZGF0YWJhc2UgZXhpc3RzLCBzZXQKKyAgICAgICAgLy8gZGF0YWJh
c2UgdmVyc2lvbiB0byAxLiBXZSBpbmZlciB0aGF0IHRoZSBkYXRhYmFzZSBkaWRuJ3QgZXhpc3Qg
ZnJvbQorICAgICAgICAvLyBpdHMgbGFjayBvZiBlaXRoZXIgdHlwZSBvZiB2ZXJzaW9uLgorICAg
ICAgICBvcGVuQ29ubmVjdGlvbldpdGhWZXJzaW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFj
a3MsIDEpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fZGF0YWJhc2VDYWxsYmFja3NT
ZXQuYWRkKFJlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsK
KyAgICBjYWxsYmFja3MtPm9uU3VjY2Vzcyh0aGlzKTsKIH0KIAogdm9pZCBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpydW5JbnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0
ZWRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBQYXNzUmVm
UHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiBwcnBEYXRhYmFzZUNhbGxiYWNrcykKQEAgLTQ4Miw3
ICs0OTAsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJ1bkludFZlcnNpb25DaGFu
Z2VUcmFuc2FjdGlvbihpbnQ2NF90IHJlcXVlc3RlZFZlcgogCiAgICAgUmVmUHRyPElEQkRhdGFi
YXNlQmFja2VuZEltcGw+IGRhdGFiYXNlID0gdGhpczsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gaW50VmVyc2lvblRhc2sgPSBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEludFZlcnNpb25JbnRlcm5hbCwgZGF0YWJhc2UsIHJl
cXVlc3RlZFZlcnNpb24sIGNhbGxiYWNrcywgdHJhbnNhY3Rpb24pOwotICAgIE93blB0cjxTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiByZXNldFZlcnNpb25PbkFib3J0VGFzayA9IGNyZWF0
ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRJbnRWZXJzaW9uLCBk
YXRhYmFzZSwgbV9pbnRWZXJzaW9uKTsKKyAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4gcmVzZXRWZXJzaW9uT25BYm9ydFRhc2sgPSBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwg
bV9pbnRWZXJzaW9uKTsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soaW50VmVy
c2lvblRhc2sucmVsZWFzZSgpLCByZXNldFZlcnNpb25PbkFib3J0VGFzay5yZWxlYXNlKCkpKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGluZXMuCiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNTMxLDcgKzUzOSw3IEBAIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlRGF0YWJhc2UoUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IHBycENhbGxiYWNrCiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0gcHJw
Q2FsbGJhY2tzOwogICAgIGZvciAoRGF0YWJhc2VDYWxsYmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdpbigpOyBpdCAhPSBtX2RhdGFiYXNlQ2Fs
bGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAgIC8vIEZyb250IGVuZCBlbnN1cmVzIHRo
ZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlvbnMgdGhhdCBoYXZlIGNsb3NlUGVuZGlu
ZyBzZXQuCi0gICAgICAgICgqaXQpLT5vblZlcnNpb25DaGFuZ2UoIiIpOworICAgICAgICAoKml0
KS0+b25WZXJzaW9uQ2hhbmdlKE5vU3RyaW5nVmVyc2lvbik7CiAgICAgfQogICAgIC8vIEZJWE1F
OiBPbmx5IGZpcmUgb25CbG9ja2VkIGlmIHRoZXJlIGFyZSBvcGVuIGNvbm5lY3Rpb25zIGFmdGVy
IHRoZQogICAgIC8vIFZlcnNpb25DaGFuZ2VFdmVudHMgYXJlIHJlY2VpdmVkLCBub3QganVzdCBz
ZXQgdXAgdG8gZmlyZS4KQEAgLTU0Niw3ICs1NTQsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw6OmRlbGV0ZURhdGFiYXNlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFj
awogICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX3ZlcnNpb24gPSAiIjsKKyAgICBtX3ZlcnNpb24g
PSBOb1N0cmluZ1ZlcnNpb247CiAgICAgbV9pZCA9IEludmFsaWRJZDsKICAgICBtX2ludFZlcnNp
b24gPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb247CiAgICAgbV9vYmplY3RTdG9y
ZXMuY2xlYXIoKTsKQEAgLTYxMiwxNyArNjIwLDEyIEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6YWRkT2JqZWN0U3RvcmVUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
CiAgICAgZGF0YWJhc2UtPm1fb2JqZWN0U3RvcmVzLnNldChvYmplY3RTdG9yZVB0ci0+bmFtZSgp
LCBvYmplY3RTdG9yZVB0cik7CiB9CiAKLXZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVz
ZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
QmFja2VuZEltcGw+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCit2b2lkIElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgY29uc3QgU3RyaW5n
JiBwcmV2aW91c1ZlcnNpb24sIGludDY0X3QgcHJldmlvdXNJbnRWZXJzaW9uKQogewotICAgIGRh
dGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOworICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSBw
cmV2aW91c1ZlcnNpb247CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IHByZXZpb3VzSW50
VmVyc2lvbjsKIH0KIAotdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldEludFZlcnNp
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5k
SW1wbD4gZGF0YWJhc2UsIGludDY0X3Qgb2xkVmVyc2lvbikKLXsKLSAgICBkYXRhYmFzZS0+bV9p
bnRWZXJzaW9uID0gb2xkVmVyc2lvbjsKLX0KLQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRl
eCAyMmNjYzQzMjIwYjUwNGZlNzA2ODU2N2I1OWE0NzYyNTVlZWE4NTRkLi40NTgxMjRjZjUyZDgy
NDdhN2VjZjhlODhiMDk1ODU5ZmE4MDI1Mzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCkBAIC05MSw4
ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gVGhlc2UgYXJlIHVzZWQgYXMgc2V0VmVyc2lvbiB0
cmFuc2FjdGlvbiBhYm9ydCB0YXNrcy4KICAgICBzdGF0aWMgdm9pZCByZW1vdmVPYmplY3RTdG9y
ZUZyb21NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VC
YWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4pOwogICAg
IHN0YXRpYyB2b2lkIGFkZE9iamVjdFN0b3JlVG9NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbD4pOwotICAgIHN0YXRpYyB2b2lkIHJlc2V0VmVyc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgY29u
c3QgU3RyaW5nJiB2ZXJzaW9uKTsKLSAgICBzdGF0aWMgdm9pZCByZXNldEludFZlcnNpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4s
IGludDY0X3QgaW50VmVyc2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBj
b25zdCBTdHJpbmcmIHZlcnNpb24sIGludDY0X3QgaW50VmVyc2lvbik7CiAKICAgICBSZWZQdHI8
SURCQmFja2luZ1N0b3JlPiBtX2JhY2tpbmdTdG9yZTsKICAgICBpbnQ2NF90IG1faWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2lu
Z1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJC
YWNraW5nU3RvcmUuY3BwCmluZGV4IDkzMGUyMGIzYjgzNWRkYWVkNTM3ZTdlMTkwYjE0NTEyZWFl
NDcyNmEuLjUyYmRhNDliNjhiNWRmMmE5YmU1OGIwNjE3NTExYzFiNjExYmM1NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJC
YWNraW5nU3RvcmUuY3BwCkBAIC0zMzksOCArMzM5LDggQEAgYm9vbCBJREJMZXZlbERCQmFja2lu
Z1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QKIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJz
aW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVyc2lvbikKIHsKICAgICBBU1NFUlQobV9j
dXJyZW50VHJhbnNhY3Rpb24pOwotICAgIC8vIEZJWE1FOiBDaGFuZ2UgdGhpcyB0byBzdHJpY3Rs
eSBncmVhdGVyIHRoYW4gMCBvbmNlIHdlIHRocm93IFR5cGVFcnJvciBmb3IKLSAgICAvLyBiYWQg
dmVyc2lvbnMuCisgICAgaWYgKGludFZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9J
bnRWZXJzaW9uKQorICAgICAgICBpbnRWZXJzaW9uID0gSURCRGF0YWJhc2VNZXRhZGF0YTo6RGVm
YXVsdEludFZlcnNpb247CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpbnRWZXJzaW9uID49IDAs
ICJpbnRWZXJzaW9uIHdhcyAlbGxkIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihpbnRWZXJzaW9u
KSk7CiAgICAgaWYgKCFwdXRWYXJJbnQobV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0KCksIERhdGFi
YXNlTWV0YURhdGFLZXk6OmVuY29kZShyb3dJZCwgRGF0YWJhc2VNZXRhRGF0YUtleTo6VXNlcklu
dFZlcnNpb24pLCBpbnRWZXJzaW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApp
bmRleCA2ZWYxNmNmMDI5M2E2OTE5MGY5NmNkM2E4NWFjMzUyNzIzZWJiNmYzLi43YjQ0YzY1ODc0
MjJlODQyNzE1YjBhZDUzYmJhZWUwZmY0NTU2OGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApAQCAtODgsOSArODgs
MTEgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpvblVwZ3JhZGVOZWVkZWQoaW50NjRfdCBvbGRW
ZXJzaW9uLCBQYXNzUmVmUHRyPElEQlRyYW5zYWMKICAgICBtX3Jlc3VsdCA9IElEQkFueTo6Y3Jl
YXRlKGlkYkRhdGFiYXNlLnJlbGVhc2UoKSk7CiAKICAgICBpZiAob2xkVmVyc2lvbiA9PSBJREJE
YXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKLSAgICAgIC8vIFRoaXMgZGF0YWJhc2Ug
aGFzbid0IGhhZCBhbiBpbnRlZ2VyIHZlcnNpb24gYmVmb3JlLgotICAgICAgb2xkVmVyc2lvbiA9
IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOworICAgICAgICAvLyBUaGlz
IGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2ZXJzaW9uIGJlZm9yZS4KKyAgICAgICAg
b2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOwogICAg
IH0KKyAgICBpZiAobV92ZXJzaW9uID09IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lv
bikKKyAgICAgICAgbV92ZXJzaW9uID0gMTsKICAgICBlbnF1ZXVlRXZlbnQoSURCVXBncmFkZU5l
ZWRlZEV2ZW50OjpjcmVhdGUob2xkVmVyc2lvbiwgbV92ZXJzaW9uLCBldmVudE5hbWVzKCkudXBn
cmFkZW5lZWRlZEV2ZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMTg2Y2JmN2ZiMGQ3ZWEyNWJmNjAzZjlh
MTk0MmMwNzkzZGVmMGM2Li43YjZkYzE4MmY0ZWEyYzUxNjJmYjFhZGIwYzRjMDljYzE5ZDJmZGU0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzYgQEAKKzIwMTItMDktMTEgIERhdmlkIEdyb2dhbiAgPGRncm9n
YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogZmlyZSB1cGdyYWRlbmVlZGVk
IGV2ZW4gd2l0aG91dCBhbiBleHBsaWNpdCBpbnRlZ2VyIHZlcnNpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2NDQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9zdGx5IHVwZGF0aW5nIGV4cGVjdGF0
aW9ucyBhYm91dCBnZXR0aW5nIGFuIHVwZ3JhZGVuZWVkZWQgb24gYSBuZXcKKyAgICAgICAgZGF0
YWJhc2UgYW5kIHRoZSBkZWZhdWx0IHZlcnNpb24gYmVpbmcgMSBpbnN0ZWFkIG9mICIiLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVy
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJs
b2Fkcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92
ZXJsb2Fkcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9u
LWJsb2NrZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQt
Y29tbWl0LW9uLWJsb2NrZWQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0
b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgIFJlbW92ZSB0ZXN0IHRoYXQgc2V0VmVyc2lvbiBmaXJlcyBhbiBlcnJvciBpZiBh
biBpbnQgdmVyc2lvbiBpcyBzZXQuCisgICAgICAgIENoYW5nZSBpdCB0byB0ZXN0aW5nIHRoYXQg
YW4gaW50IHZlcnNpb24gY2FuIHJlcGxhY2UgYSBzdHJpbmcgdmVyc2lvbgorICAgICAgICB0aGF0
IHJlcGxhY2VkIGFuIGludCB2ZXJzaW9uLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZm
ZWN0cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgIHNldFZlcnNpb24gaXMgbm8gbG9u
Z2VyIGludmFsaWQgc28gdGhpcyB0ZXN0IGNhbiBiZSBkZWxldGVkLgorCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgIFdlIG5vdyBmdWxseSBwYXNzIHRoaXMgdGVzdC4KKworICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMt
bm8tdmVyc2lvbnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRt
bC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICBUaGlzIHRlc3QgaGFkIGEgYnVnIGluIGl0IEFORCBpdHMgYmVoYXZpb3IgaXMgY2hhbmdlZC4g
SXQgd2FzIHRyeWluZworICAgICAgICB0byBvcGVuIG9uZSBkYXRhYmFzZSB0d2ljZSBhbmQgYW5v
dGhlciBvbmNlIGJ1dCB3YXMgYWN0dWFsbHkgb3BlbmluZworICAgICAgICB0aHJlZSBkaWZmZXJl
bnQgZGF0YWJhc2VzLiBUaGUgYmVoYXZpb3IgY2hhbmdlIGlzIHRoYXQgbm93IHRoZQorICAgICAg
ICB0cmFuc2FjdGlvbiBmaW5pc2hlcyB3aGlsZSB0aGUgbGFzdCBjYWxsIHRvIG9wZW4gaXMgZmly
aW5nCisgICAgICAgIHVwZ3JhZGVuZWVkZWQuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzOgor
ICAgICAgICAoZGVsZXRlU3VjY2Vzcyk6CisgICAgICAgIChpbml0aWFsVXBncmFkZU5lZWRlZCk6
CisgICAgICAgIChvcGVuU3VjY2Vzcyk6CisgICAgICAgIChmaXJzdFVwZ3JhZGVOZWVkZWQpOgor
ICAgICAgICAodHJhbnNhY3Rpb25Db21wbGV0ZWQpOgorICAgICAgICAoZmlyc3RPcGVuV2l0aFZl
cnNpb24pOgorICAgICAgICAoc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKHNl
dEludFZlcnNpb24yKToKKyAgICAgICAgKHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0lu
dCk6CisgICAgICAgICh2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkKToKKyAgICAgICAgKHZlcnNp
b24yQ29ubmVjdGlvblN1Y2Nlc3MpOgorICAgICAgICAoZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lv
bik6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52
YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanM6IFJlbW92ZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAoZGVsZXRlU3VjY2Vz
cyk6CisgICAgICAgIChjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAoY29ubmVj
dGlvbjFPcGVuU3VjY2Vzcyk6CisgICAgICAgIChjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQpOgor
ICAgICAgICAoY29ubmVjdGlvbjJPcGVuU3VjY2Vzcyk6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2xpc3Qtb3JkZXJpbmcuanM6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzOgorICAgICAgICAoc3Rh
cnRUcmFuc2FjdGlvbi50cmFucy5vbmNvbXBsZXRlKToKKyAgICAgICAgKHN0YXJ0VHJhbnNhY3Rp
b24pOgorICAgICAgICAodHJ5T3BlbnMub3BlbnJlcTMub25zdWNjZXNzKToKKyAgICAgICAgKHRy
eU9wZW5zKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1h
Y3Rpdml0eS5qczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25l
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNs
b25lLmh0bWw6CisKIDIwMTItMDktMTMgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZW1vdmUgbGluZXMgZm9yIGZhc3QvdGFibGUvYmFkLXJlcGxhY2VkLXNpemlu
Zy1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJh
c2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dAppbmRleCBiODgwZDRiNzhkOTk0ODAwMTA1YWIzOGRl
MDk2Yzc3OTgyNjQwNmE2Li5lZjE5YTkzN2EwMjBlM2UyNWQxMjkyN2M0Yzg1YjJjN2JlM2YxNDE4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIv
ZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dApA
QCAtMTgsNyArMTgsNyBAQCB0ZXN0RGF0YWJhc2UxCiAKIER1bXBpbmcgZGF0YWJhc2U6CiB0ZXN0
RGF0YWJhc2UxCi0gICAgdmVyc2lvbjogMQorICAgIHZlcnNpb246IDIKICAgICBvYmplY3RTdG9y
ZXM6CiAgICAgdGVzdE9iamVjdFN0b3JlMQogICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0
aCIKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdERhdGFiYXNlMQogCiBEdW1waW5nIGRhdGFiYXNlOgog
dGVzdERhdGFiYXNlMQotICAgIHZlcnNpb246IDIKKyAgICB2ZXJzaW9uOiAzCiAgICAgb2JqZWN0
U3RvcmVzOgogICAgIHRlc3RPYmplY3RTdG9yZTEKICAgICAgICAga2V5UGF0aDogInRlc3Qua2V5
LnBhdGgiCkBAIC00MCw3ICs0MCw3IEBAIHRlc3REYXRhYmFzZTEKIAogRHVtcGluZyBkYXRhYmFz
ZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiAzCisgICAgdmVyc2lvbjogNAogICAgIG9i
amVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAgICAgIGtleVBhdGg6ICJ0ZXN0
LmtleS5wYXRoIgpAQCAtNTcsNyArNTcsNyBAQCB0ZXN0RGF0YWJhc2UxCiAKIER1bXBpbmcgZGF0
YWJhc2U6CiB0ZXN0RGF0YWJhc2UxCi0gICAgdmVyc2lvbjogNAorICAgIHZlcnNpb246IDUKICAg
ICBvYmplY3RTdG9yZXM6CiAgICAgdGVzdE9iamVjdFN0b3JlMQogICAgICAgICBrZXlQYXRoOiAi
dGVzdC5rZXkucGF0aCIKQEAgLTc4LDcgKzc4LDcgQEAgdGVzdERhdGFiYXNlMQogCiBEdW1waW5n
IGRhdGFiYXNlOgogdGVzdERhdGFiYXNlMQotICAgIHZlcnNpb246IDUKKyAgICB2ZXJzaW9uOiA2
CiAgICAgb2JqZWN0U3RvcmVzOgogICAgIHRlc3RPYmplY3RTdG9yZTEKICAgICAgICAga2V5UGF0
aDogInRlc3Qua2V5LnBhdGgiCkBAIC05NSw3ICs5NSw3IEBAIHRlc3REYXRhYmFzZTEKIAogRHVt
cGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA2CisgICAgdmVyc2lv
bjogNwogICAgIG9iamVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAgICAgIGtl
eVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgpAQCAtMTA4LDcgKzEwOCw3IEBAIHRlc3REYXRhYmFzZTEK
IAogRHVtcGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA3CisgICAg
dmVyc2lvbjogOAogICAgIG9iamVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAg
ICAgIGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgpAQCAtMTE3LDcgKzExNyw3IEBAIHRlc3REYXRh
YmFzZTEKIAogRHVtcGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA4
CisgICAgdmVyc2lvbjogOQogICAgIG9iamVjdFN0b3JlczoKIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDMzY2JiNGM2NDY3NDBiMTg1MzZiZjYzZjA4MTI5NTViZTE4NTIzYjkuLjIyMjAz
MmE3OTg0NmZiMWZiZTVmYTE3ZGU5YzE3ZjUxN2NjODIzN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQu
dHh0CkBAIC0zMyw3ICszMyw3IEBAIGRibmFtZSA9ICdjdXJzb3Itb3ZlcmxvYWRzJwogaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRiID0g
cmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlz
IDEKIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmUnKQogaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAndmFsdWUnKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1sCmlu
ZGV4IDYzNDE2YTM3ZGVhMGQwNTg3NzI0ODFkZDA1YzNhZTdlM2JhZDIyMDYuLmI0M2EzMTA3NjI0
MGM1YWJlMDAxNGNiZDBkOTlhYTEyMzNlNWFiY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAg
ZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwot
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAnMScpOwogICAgICAgICAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50
eHQKaW5kZXggNzQzZWIyYjIwZTk2NGEyMWMxZTIwNWMxMzVjZDViZmUyNTc5N2ZhMS4uNGZkM2M4
MzMyN2M3OTA1Y2U2MTg1ZDE0Y2M2NjYwNjM0MTM5MTZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tl
ZC1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZSgnZG9udC1jb21taXQtb24tYmxvY2tlZCcpCiByZXF1ZXN0ID0gaW5kZXhlZERC
Lm9wZW4oJ2RvbnQtY29tbWl0LW9uLWJsb2NrZWQnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAogZGIu
b252ZXJzaW9uY2hhbmdlID0gb25WZXJzaW9uQ2hhbmdlCi1QQVNTIGRiLnZlcnNpb24gaXMgIiIK
K1BBU1MgZGIudmVyc2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbAppbmRleCA5ZDU3NWI5
YmEzNjVhMTRkMTFiMTMxODExOWE2YjNlZTA3MGVhZmU3Li4xMjQ2MDkyNjBiOTk2ZDg5NWYyZmY3
YjcwOTM2ZmY5Y2EwZDYzZDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kb250LWNvbW1pdC1vbi1ibG9ja2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sCkBAIC0yNiw3ICsyNiw3IEBA
IGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9
IHJlcXVlc3QucmVzdWx0Iik7CiAgICAgICAgICAgICBkYi5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYi5vbnZlcnNpb25jaGFuZ2Ug
PSBvblZlcnNpb25DaGFuZ2UiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZGIudmVyc2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEi
KTsKICAgICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJyki
KTsKICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwogICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKaW5kZXgg
Y2JhOTk1OGZhODgwZjRmZGU4MTZmYWZlOTA0ZTk3Y2QzZmI1ZTJmZi4uNTJmNzI5NDQxMGM2NDQ2
ZWE2ZDQ2YWU0OGFlM2E0NDBkYmQ0OGNlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0
YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBzZWxmLmRi
bmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaC5vcGVuLm9u
c3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gub252ZXJzaW9uY2hhbmdlJwotICAgIGlu
IHZlcnNpb25jaGFuZ2UsIG9sZCA9ICIiIG5ldyA9ICIiCisgICAgaW4gdmVyc2lvbmNoYW5nZSwg
b2xkID0gMSBuZXcgPSAiIgogICAgIGggY2xvc2luZywgYnV0IG5vdCBpbW1lZGlhdGVseQogJ2Rl
bGV0ZURhdGFiYXNlKCkub25ibG9ja2VkJwogJ2guY2xvc2UnCkBAIC0yNSw3ICsyNSw3IEBAIHNl
bGYuZGJuYW1lID0gJ3Rlc3QyJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLm9w
ZW4ub25zdWNjZXNzJwogJ2RlbGV0ZURhdGFiYXNlKCknCiAnaC5vbnZlcnNpb25jaGFuZ2UnCi0g
ICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3ID0gIiIKKyAgICBpbiB2ZXJzaW9uY2hh
bmdlLCBvbGQgPSAxIG5ldyA9ICIiCiAgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5CiAnaC5jbG9z
ZScKICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKQEAgLTU4LDcgKzU4LDcgQEAgc2VsZi5k
Ym5hbWUgPSAndGVzdDQnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2guc2V0VmVy
c2lvbicKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gyLm9udmVyc2lvbmNoYW5nZScKLSAgICBpbiB2
ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBuZXcgPSAiMSIKKyAgICBpbiB2ZXJzaW9uY2hhbmdlLCBv
bGQgPSAxIG5ldyA9ICIxIgogJ2guc2V0VmVyc2lvbi5vbmJsb2NrZWQnCiAnaDMub3BlbicKICdo
Mi5jbG9zZScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMDRm
MjgxYWFkODQ3ZTg4Njg2MmY3MzlhZTRjZmEyOTQ3MjcyNjJmMC4uODc1Y2ViZWY2Y2I5NjY1Y2Rm
YTQ5ZjY4OTFjMmNiNDY0OWI2ZDZiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBl
Y3RlZC50eHQKQEAgLTEyLDkgKzEyLDExIEBAIEZBSUwgU3RyaW5nKHJlcXVlc3QpIHNob3VsZCBi
ZSBbb2JqZWN0IElEQk9wZW5EQlJlcXVlc3RdLiBXYXMgW29iamVjdCBJREJWZXJzaW9uCiBDYWxs
IG9wZW4gd2l0aCBubyB2ZXJzaW9uIHBhcmFtZXRlcjoKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkK
IAoraW5pdGlhbFVwZ3JhZGVOZWVkZWQoKToKKwogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMg
MQogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oInNvbWUgdmVyc2lvbiIpCiAKIGluU2V0VmVyc2lv
bigpOgpAQCAtNDcsMTggKzQ5LDMxIEBAIGRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0cnVlCiBm
aXJzdE9wZW5XaXRoVmVyc2lvbigpOgogUEFTUyBkaWRUcmFuc2FjdGlvbkNvbXBsZXRlIGlzIHRy
dWUKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorZGIub252ZXJzaW9uY2hhbmdlID0gdmVyc2lv
bkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50CiBQQVNTIFN0cmluZyhkYikgaXMgIltvYmplY3Qg
SURCRGF0YWJhc2VdIgogUEFTUyByZXF1ZXN0LnRyYW5zYWN0aW9uIGlzIG51bGwKIFBBU1MgZGIu
dmVyc2lvbiBpcyAyCiBQQVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29iamVjdCBJREJPcGVuREJS
ZXF1ZXN0XSIKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVyc2lvbiAyIikKIFBB
U1MgU3RyaW5nKHJlcXVlc3QpIGlzICJbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0XSIK
LXJlcXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25Ob3RBbGxvd2VkCityZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHNlY29uZFNldFZlcnNpb25DYWxsYmFjaworCitzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2so
KToKK3RyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdAordHJhbnNhY3Rpb24ub25jb21w
bGV0ZSA9IHNldEludFZlcnNpb24yCisKK3NldEludFZlcnNpb24yKCk6CityZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lLCAyKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5l
Y3Rpb25TdWNjZXNzCityZXF1ZXN0Lm9uYmxvY2tlZCA9IHZlcnNpb24yQ29ubmVjdGlvbkJsb2Nr
ZWQKIAotc2V0VmVyc2lvbk5vdEFsbG93ZWQoKToKLVBBU1MgZXZlbnQudHlwZSBpcyAiZXJyb3Ii
Ci1yZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9IFlvdSBjYW4ndCB1c2UgdGhlIHNldFZlcnNp
b24gZnVuY3Rpb24gaWYgeW91J3ZlIGFscmVhZHkgc2V0IHRoZSB2ZXJzaW9uIHRocm91Z2ggYW4g
b3BlbiBjYWxsLiAgVGhlIGN1cnJlbnQgaW50ZWdlciB2ZXJzaW9uIGlzIDIKK3ZlcnNpb25DaGFu
Z2VHb2luZ0Zyb21TdHJpbmdUb0ludCgpOgogZGIuY2xvc2UoKQorCit2ZXJzaW9uMkNvbm5lY3Rp
b25CbG9ja2VkKCk6CisKK3ZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoKToKK2V2ZW50LnRhcmdl
dC5yZXN1bHQuY2xvc2UoKQogcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSkKIHJl
cXVlc3Qub25lcnJvciA9IGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJh
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA3YTE4ZWQyZDllN2Y0ZDA1M2RlMDRkZmVk
Zjg1N2E0ZmQwOTQ2MTZlLi5lNTVmZDNjMjEzMTQwZDNkODgxNDUxNTVhMTg4NmJkOWIwZjMxNTM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJh
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMjIsNyArMjIs
NyBAQCBQQVNTIGluZGV4ZWREQi5vcGVuKGRibmFtZSwgLTUpIHRocmV3IFR5cGVFcnJvcjogVHlw
ZSBlcnJvcgogRklYTUU6IFVzaW5nIC0xIGRvZXNuJ3QgdGhyb3cgVHlwZUVycm9yIGJ1dCBpdCBz
aG91bGQKIEV4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IGluZGV4
ZWREQi5vcGVuKGRibmFtZSwgLTEpCiBGQUlMIE5vIGV4Y2VwdGlvbiB0aHJvd24hCi1GQUlMIFN1
Y2Nlc3MgZnVuY3Rpb24gY2FsbGVkIHVuZXhwZWN0ZWRseS4KK0ZBSUwgb251cGdyYWRlbmVlZGVk
IGNhbGxlZCB1bmV4cGVjdGVkbHkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQt
c2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDI4Y2M3ZmQwMTE5YjY3MTAzYmQzOWMxNjBkYzljNDdmZDEzODhm
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMt
bm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAg
QEAKLVRlc3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEgZGIgd2l0aCBhbiBp
bnRlZ2VyIHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdldCBmaXJlZCBvbiBv
dGhlciBvcGVuIGRicy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWRE
QiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5k
ZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUg
PSAiaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1s
IgotaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKLQotZGVsZXRlU3VjY2VzcygpOgot
cmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKLQotZmlyc3RVcGdyYWRlTmVlZGVk
Q2FsbGJhY2soKToKLWdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQotUEFTUyBldmVu
dC5vbGRWZXJzaW9uIGlzIDAKLVBBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAyCi0KLWZpcnN0U3Vj
Y2Vzc0V2ZW50SGFuZGxlcigpOgotUEFTUyBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCBpcyB0
cnVlCi1jb25uZWN0aW9uMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWNvbm5lY3Rpb24xLm9udmVy
c2lvbmNoYW5nZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2sKLVBBU1MgU3RyaW5n
KGNvbm5lY3Rpb24xKSBpcyAiW29iamVjdCBJREJEYXRhYmFzZV0iCi1yZXF1ZXN0ID0gaW5kZXhl
ZERCLm9wZW4oZGJuYW1lKQotCi1zZWNvbmRTdWNjZXNzQ2FsbGJhY2soKToKLWRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24nKQotcmVxdWVz
dC5vbmVycm9yID0gc2V0VmVyc2lvbkVycm9yCi1yZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0
ZWRTdWNjZXNzQ2FsbGJhY2sKLXJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRD
YWxsYmFjawotCi1zZXRWZXJzaW9uRXJyb3IoKToKLU9wZW4gdXAgYSBuZXcgZGIgdG8gZW5zdXJl
IHRoYXQgaWYgY29ubmVjdGlvbjEgd2VyZSB0byBnZXQgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50LCBp
dCB3aWxsIGJlIGRlbGl2ZXJlZCBiZWZvcmUgdGhlIHRlc3QgZmluaXNoZXMKLW5ld19kYiA9IGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSArICcyJykKLW5ld19kYi5vbnN1Y2Nlc3MgPSBuZXdEQlN1Y2Nl
c3MKLQotbmV3REJTdWNjZXNzKCk6Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZl
cnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlMjlhMDNiMzczNGEzMjc0MTIwMTg5NjhiYjU5ZjM3Y2JhZmIxNmE5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVj
dHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2
ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2
ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CmluZGV4IDJm
Y2YwYjdmZTU3ZjQ3NzA0NzhhYTVlYjc0YjM5YWEzMTUzODAwMDIuLjI3NmMzZGI4MTY3ZGE3Y2Y1
MTI2YTAxYzkwYjJlY2IxZDBmMjM4OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhw
ZWN0ZWQudHh0CkBAIC04LDExICs4LDEyIEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8
IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBkYm5h
bWUgPSAiaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci5odG1sIgogaW5kZXhlZERCLmRlbGV0ZURh
dGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKK1BBU1MgR290IHVwZ3JhZGVu
ZWVkZWQgZXZlbnQKIAogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAog
VGVzdCBsaW5lIGZyb20gSURCRmFjdG9yeS5vcGVuOiBJZiBubyB2ZXJzaW9uIGlzIHNwZWNpZmll
ZCBhbmQgbm8gZGF0YWJhc2UgZXhpc3RzLCBzZXQgZGF0YWJhc2UgdmVyc2lvbiB0byAxLgotRkFJ
TCBkYi52ZXJzaW9uIHNob3VsZCBiZSAxIChvZiB0eXBlIG51bWJlcikuIFdhcyAgKG9mIHR5cGUg
c3RyaW5nKS4KK1BBU1MgZGIudmVyc2lvbiBpcyAxCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDE0Y2RjNzc4MDJkMzEzY2I1MWIzZTc1
MzAyNzkxMjVmOTcxYzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzQgQEAKK1Rlc3QgdGhhdCBvbmx5IHRoZSBmaXJzdCBvcGVuIGNhbGwgZ2V0cyBh
biB1cGdyYWRlbmVlZGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVk
REIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1veklu
ZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKKworZGJuYW1l
ID0gImludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwiCitpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBjb25uZWN0aW9uMU9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZAoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBjb25uZWN0aW9uMk9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBncmFkZW5l
ZWRlZCA9IGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZAorCitjb25uZWN0aW9uMVVwZ3JhZGVOZWVk
ZWQoKToKK2dvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQorUEFTUyBldmVudC5vbGRW
ZXJzaW9uIGlzIDAKK1BBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAxCisKK2Nvbm5lY3Rpb24xT3Bl
blN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorUEFTUyBnb3RGaXJzdFVwZ3Jh
ZGVOZWVkZWRFdmVudCBpcyB0cnVlCitQQVNTIGRiLnZlcnNpb24gaXMgMQorCitjb25uZWN0aW9u
Mk9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgZ290U2Vjb25k
VXBncmFkZU5lZWRlZEV2ZW50IGlzIGZhbHNlCitQQVNTIGRiLnZlcnNpb24gaXMgMQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3
by1vcGVucy1uby12ZXJzaW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNTY3NTc3YWVmMTEyNzEzNjlk
ODA3OWVjMjRjNmVmYmVhMzNkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCA5Y2JhMDBhMmJmY2Ux
Y2UzNDFmN2Y5NTkzNTNkYWU2NDRhZDY0OTRmLi5mYWE5ZGUzOGU1Y2E1NTdlYzQzMjVhZWJjMGI5
YTk3M2I5YWEzYWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9s
aXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCB0ZXN0U3Rv
cmVzQW5kSW5kZXhlcygpOgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdsaXN0LW9yZGVyaW5n
JykKIGluZGV4ZWREQi5vcGVuKCdsaXN0LW9yZGVyaW5nJykKIGRiID0gcmVxdWVzdC5yZXN1bHQK
LVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNp
b24oJzEnKQogCiBPYmplY3Qgc3RvcmVzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dAppbmRleCA1NThjODdhODE2NzhhNzk1NmNhNDYx
ZjJkY2FmMTE0YWNjNGNjODZiLi5iMmQ1MjI2ZGE1Y2M3ODk1NWEwM2Y4YzY5NDRlM2ZiMjBjOWFk
NWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4
cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIu
ZGVsZXRlRGF0YWJhc2UoJ25vYmxvYnMnKQogaW5kZXhlZERCLm9wZW4oJ25vYmxvYnMnKQogZGIg
PSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24g
aXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQogc3RvcmUucHV0KCd2YWx1ZScsICdrZXknKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbm9ibG9icy5odG1sCmluZGV4IDgzMTg2NmI5ZTUyNDgxYmExMGI1ZWNiZGE5
NTVjNTAxOGNkZjk1ZWUuLjE3ODdjMjgzYTgxNGExNWU3ODQyNzliMjRlMGEzMTU2ZjE2YjVmNTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwKQEAgLTM4LDcg
KzM4LDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJl
c3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwg
IiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9u
LWV4cGVjdGVkLnR4dAppbmRleCA1Y2FmY2U4Zjk3NTJjOGIzYjAxZTY1YjMxMzQ4NTM4NmQxYThh
NGU2Li44MDU3NjNmOTk5ZWZiM2QzM2E0NjRkMzQ3ZjI5MTk2ZmQ0Yjk4YmJiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJp
bmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIHRyYW5zID0gZGJj
MS50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCiB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykucHV0KCd2YWx1ZScsICdrZXknKQogCiB0cnlpbmcgdG8gb3BlbiB0aGUg
c2FtZSBkYXRhYmFzZQotb3BlbnJlcTIgPSBpbmRleGVkREIub3BlbignZGIxJykKK29wZW5yZXEy
ID0gaW5kZXhlZERCLm9wZW4oJ29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uMScpCiAKIHRyeWluZyB0
byBvcGVuIGEgZGlmZmVyZW50IGRhdGFiYXNlCiBvcGVucmVxMyA9IGluZGV4ZWREQi5vcGVuKCdv
cGVuLWR1cmluZy10cmFuc2FjdGlvbjInKQpAQCAtMjgsMTIgKzI4LDEyIEBAIG9wZW5yZXEyLm9u
c3VjY2VzcwogUEFTUyBzdGF0ZSBpcyAic3RhcnRpbmciCiBzdGF0ZSA9ICdvcGVuMmNvbXBsZXRl
JwogCit0cmFuc2FjdGlvbiBjb21wbGV0ZQorUEFTUyBzdGF0ZSBpcyAib3BlbjJjb21wbGV0ZSIK
Kwogb3BlbnJlcTMub25zdWNjZXNzCiBQQVNTIHN0YXRlIGlzICJvcGVuMmNvbXBsZXRlIgogc3Rh
dGUgPSAnb3BlbjNjb21wbGV0ZScKLQotdHJhbnNhY3Rpb24gY29tcGxldGUKLVBBU1Mgc3RhdGUg
aXMgIm9wZW4zY29tcGxldGUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Bl
bmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQKaW5kZXggMDM2NTM0YWNjNWZiNzM1ZTM0
YWQ1NGQxYWM3NWU5ODQyOTE2YWY3My4uODc2NmMzZWFiYzAyOTA0MzhmMDgyYzMwNDYyYTc4MGVh
OTY1Yzg1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGlu
Zy1hY3Rpdml0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDcgQEAgcHJlcGFy
ZURhdGFiYXNlKCk6CiBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5kZXhlZERC
Lm9wZW4oZGJuYW1lKQogZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIi
CitQQVNTIGRiLnZlcnNpb24gaXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5
LXdvcmtlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDY0ZTdhYWRkZWJjYzI2YzJjZjM1NjAwNjc2MTZi
NjVjMDlhYzg2YzQuLmVhYmVhZWFiMzdhYjc2NGI3NDdmNGE0NGFjNTRmYTQxYmUwNDQ2MjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHkt
d29ya2Vycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBT
dGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzCiBbV29ya2VyXSBp
bmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogW1dvcmtlcl0gaW5kZXhlZERCLm9wZW4o
ZGJuYW1lKQogW1dvcmtlcl0gZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBbV29ya2VyXSBkYi52
ZXJzaW9uIGlzICIiCitQQVNTIFtXb3JrZXJdIGRiLnZlcnNpb24gaXMgMQogW1dvcmtlcl0gZGIu
c2V0VmVyc2lvbignMScpCiBbV29ya2VyXSBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
dG9yZScpCiBbV29ya2VyXSBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5k
LXNldHZlcnNpb24uanMKaW5kZXggYzA5Y2E4ODEwMGVkMDFiODFjYTllYjI3YzY1YjFlM2U5NDJm
MjdmNS4uMGM3ODFmZDExMThiYzYyY2RiNjBjNTUyMGY5ODYxODRhMzM0Mzk0ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5k
LXNldHZlcnNpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMKQEAgLTIyLDE3ICsyMiwyMyBAQCBmdW5j
dGlvbiBkZWxldGVTdWNjZXNzKGV2dCkgewogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihkYm5hbWUpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2Vz
czsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICBy
ZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7
CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBpbml0aWFsVXBncmFkZU5lZWRlZDsKICAg
ICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CiB9CiAKKwor
ZnVuY3Rpb24gaW5pdGlhbFVwZ3JhZGVOZWVkZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7
Cit9CisKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKGV2dCkKIHsKICAgICBldmVudCA9IGV2dDsKICAg
ICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7CiAgICAgZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIp
OwogICAgIGV2YWxBbmRMb2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzb21lIHZlcnNpb24i
KScpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uOwogICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpAQCAtODUsOSArOTEsNyBAQCBmdW5j
dGlvbiBzZWNvbmRPcGVuKGV2dCkKIAogZnVuY3Rpb24gZmlyc3RVcGdyYWRlTmVlZGVkKGV2dCkK
IHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0VXBn
cmFkZU5lZWRlZCgpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZhbEFuZExvZygiZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJp
bmcoZGIpIiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJTdHJpbmcocmVxdWVzdC50cmFuc2FjdGlvbikiLCAiW29iamVjdCBJREJUcmFuc2FjdGlv
bl0iKTsKQEAgLTEwMCw0OSArMTA0LDY4IEBAIGZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZChl
dnQpCiB2YXIgZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSA9IGZhbHNlOwogZnVuY3Rpb24gdHJhbnNh
Y3Rpb25Db21wbGV0ZWQoZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsK
LSAgICBkZWJ1ZygidHJhbnNhY3Rpb25Db21wbGV0ZWQoKToiKTsKKyAgICBwcmVhbWJsZShldnQp
OwogICAgIGV2YWxBbmRMb2coImRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0cnVlIik7CiB9CiAK
IGZ1bmN0aW9uIGZpcnN0T3BlbldpdGhWZXJzaW9uKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsK
LSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0T3BlbldpdGhWZXJzaW9uKCk6Iik7Cisg
ICAgcHJlYW1ibGUoZXZ0KTsKICAgICBzaG91bGRCZVRydWUoImRpZFRyYW5zYWN0aW9uQ29tcGxl
dGUiKTsKICAgICBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBl
dmFsQW5kTG9nKCJkYi5vbnZlcnNpb25jaGFuZ2UgPSB2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3Ry
aW5nVG9JbnQiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhkYikiLCAiW29i
amVjdCBJREJEYXRhYmFzZV0iKTsKICAgICBzaG91bGRCZU51bGwoInJlcXVlc3QudHJhbnNhY3Rp
b24iKTsKICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIyIik7CiAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJTdHJpbmcocmVxdWVzdCkiLCAiW29iamVjdCBJREJPcGVuREJSZXF1ZXN0XSIp
OwogICAgIGV2YWxBbmRMb2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVyc2lv
biAyIiknKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhyZXF1ZXN0KSIsICJb
b2JqZWN0IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0XSIpOworICAgIGV2YWxBbmRMb2coInJlcXVl
c3Qub25zdWNjZXNzID0gc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrIik7CiAgICAgcmVxdWVzdC5v
bmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0
Lm9uZXJyb3IgPSBzZXRWZXJzaW9uTm90QWxsb3dlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQogCi1mdW5jdGlvbiBzZXRWZXJzaW9uTm90QWxs
b3dlZChldnQpCitmdW5jdGlvbiBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2soZXZ0KQogewotICAg
IGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbk5vdEFs
bG93ZWQoKToiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnR5cGUiLCAiZXJy
b3IiKTsKLSAgICBkZWJ1ZygicmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UgPSAiICsgcmVxdWVz
dC53ZWJraXRFcnJvck1lc3NhZ2UpOworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExv
ZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZXZhbEFuZExvZygi
dHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHNldEludFZlcnNpb24yIik7Cit9CisKK2Z1bmN0aW9u
IHNldEludFZlcnNpb24yKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRM
b2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7CisgICAgZXZhbEFuZExv
ZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzIik7CisgICAg
ZXZhbEFuZExvZygicmVxdWVzdC5vbmJsb2NrZWQgPSB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2Vk
Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisK
K2Z1bmN0aW9uIHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludChldnQpCit7CisgICAg
cHJlYW1ibGUoZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7Cit9CisKK2Z1bmN0
aW9uIHZlcnNpb24yQ29ubmVjdGlvbkJsb2NrZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7
Cit9CisKK2Z1bmN0aW9uIHZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jbG9zZSgp
Iik7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSki
KTsKICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldoZW5UcnlpbmdMb3dW
ZXJzaW9uIik7CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxi
YWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsK
KyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2Fs
bGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24oZXZ0KQogewot
ICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiZXJyb3JXaGVuVHJ5
aW5nTG93VmVyc2lvbigpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZGVidWcoInJlcXVl
c3Qud2Via2l0RXJyb3JNZXNzYWdlID0gIiArIHJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlKTsK
ICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCA0KSIpOwog
ICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9u
LWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9u
LWhhcy1uby1zaWRlLWVmZmVjdHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJj
MTIwZDQyNWFkY2ExZjY2ZWNkNzM1MTljMjVhNzQ1YWIwYWFmMjAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVm
ZmVjdHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1pZiAodGhpcy5pbXBvcnRT
Y3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKLX0KLQot
ZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEgZGIg
d2l0aCBhbiBpbnRlZ2VyIHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdldCBm
aXJlZCBvbiBvdGhlciBvcGVuIGRicy4iKTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBzZXREQk5hbWVGcm9tUGF0aCgpOwotICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKSIpOwotICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZGVsZXRlU3VjY2Vzcyhl
dnQpIHsKLSAgICBwcmVhbWJsZSgpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVk
REIub3BlbihkYm5hbWUsIDIpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaXJzdFN1Y2Nl
c3NFdmVudEhhbmRsZXI7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwotICAgIGdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gZmFsc2U7Ci0gICAgcmVxdWVzdC5v
bnVwZ3JhZGVuZWVkZWQgPSBmaXJzdFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsKLX0KLQotZnVuY3Rp
b24gZmlyc3RVcGdyYWRlTmVlZGVkQ2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7
Ci0gICAgZXZhbEFuZExvZygiZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSB0cnVlIik7Ci0g
ICAgc2hvdWxkQmUoImV2ZW50Lm9sZFZlcnNpb24iLCAiMCIpOwotICAgIHNob3VsZEJlKCJldmVu
dC5uZXdWZXJzaW9uIiwgIjIiKTsKLX0KLQotZnVuY3Rpb24gZmlyc3RTdWNjZXNzRXZlbnRIYW5k
bGVyKGV2dCkKLXsKLSAgICBwcmVhbWJsZShldnQpOwotICAgIHNob3VsZEJlVHJ1ZSgiZ290Rmly
c3RVcGdyYWRlTmVlZGVkRXZlbnQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMSA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMS5vbnZlcnNp
b25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrIik7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcoY29ubmVjdGlvbjEpIiwgIltvYmplY3QgSURCRGF0YWJh
c2VdIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9u
YmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOwotfQotCi1mdW5jdGlv
biBzZWNvbmRTdWNjZXNzQ2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7Ci0gICAg
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFuZExvZygi
cmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24nKSIpOwotICAgIGV2YWxBbmRMb2coInJl
cXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25FcnJvciIpOwotICAgIGV2YWxBbmRMb2coInJlcXVl
c3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjayIpOwotICAgIGV2YWxBbmRM
b2coInJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjayIpOwotfQot
Ci1mdW5jdGlvbiBzZXRWZXJzaW9uRXJyb3IoZXZ0KQotewotICAgIHByZWFtYmxlKCk7Ci0gICAg
ZGVidWcoIk9wZW4gdXAgYSBuZXcgZGIgdG8gZW5zdXJlIHRoYXQgaWYgY29ubmVjdGlvbjEgd2Vy
ZSB0byBnZXQgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50LCBpdCB3aWxsIGJlIGRlbGl2ZXJlZCBiZWZv
cmUgdGhlIHRlc3QgZmluaXNoZXMiKTsKLSAgICBldmFsQW5kTG9nKCJuZXdfZGIgPSBpbmRleGVk
REIub3BlbihkYm5hbWUgKyAnMicpIik7Ci0gICAgZXZhbEFuZExvZygibmV3X2RiLm9uc3VjY2Vz
cyA9IG5ld0RCU3VjY2VzcyIpOwotICAgIG5ld19kYi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Ci0gICAgbmV3X2RiLm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJh
Y2s7Ci19Ci0KLWZ1bmN0aW9uIG5ld0RCU3VjY2VzcyhldnQpCi17Ci0gICAgcHJlYW1ibGUoKTsK
LSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotdGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMmIwYTljYWUzMDRm
MWNmYzE5ODk4NWVlMDkwYjhkNWIyYzM4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVy
c2lvbnMuanMKQEAgLTAsMCArMSw2NSBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAg
IGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Jyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IHRoYXQgb25seSB0aGUgZmlyc3Qgb3BlbiBjYWxsIGdldHMgYW4gdXBncmFkZW5lZWRlZCIp
OworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOworICAg
IHNldERCTmFtZUZyb21QYXRoKCk7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRl
bGV0ZVN1Y2Nlc3M7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7Cit9CisKK3ZhciBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOwordmFyIGdv
dFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOworZnVuY3Rpb24gZGVsZXRlU3VjY2Vz
cyhldnQpIHsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1l
KSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjFPcGVu
U3VjY2VzcyIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gY29u
bmVjdGlvbjFVcGdyYWRlTmVlZGVkIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRi
bmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IGNvbm5lY3Rpb24y
T3BlblN1Y2Nlc3MiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJs
b2NrZWRDYWxsYmFjazsKK30KKworZnVuY3Rpb24gY29ubmVjdGlvbjFVcGdyYWRlTmVlZGVkKGV2
dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImdvdEZpcnN0VXBncmFk
ZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOworICAgIHNob3VsZEJlKCJldmVudC5vbGRWZXJzaW9uIiwg
IjAiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQubmV3VmVyc2lvbiIsICIxIik7Cit9CisKK2Z1bmN0
aW9uIGNvbm5lY3Rpb24xT3BlblN1Y2Nlc3MoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7Cisg
ICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzaG91
bGRCZVRydWUoImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAgc2hvdWxkQmUoImRi
LnZlcnNpb24iLCAiMSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQo
ZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZ290U2Vjb25kVXBn
cmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMk9wZW5T
dWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGRiID0gZXZhbEFuZExvZygi
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ290U2Vjb25k
VXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRlcmluZy5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCmluZGV4IDcz
NTk4ZmQ3MjM1ODYwZWRhNzhiMmYxNzFlZTE0ZGIwYzBjMWFjY2YuLjc1ZjAzMjU2YzdjM2Y4ZDUy
ZTE5MGExNTYwYTkzMzYyNzJjOGUwZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCkBAIC01Miw3ICs1Miw3
IEBAIGZ1bmN0aW9uIHRlc3RTdG9yZXNBbmRJbmRleGVzKCkKICAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJl
c3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwg
IiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKQEAgLTgxLDQgKzgxLDQgQEAgZnVu
Y3Rpb24gdGVzdFN0b3Jlc0FuZEluZGV4ZXMoKQogICAgIH07CiB9CiAKLXRlc3QoKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNh
Y3Rpb24uanMKaW5kZXggYjUwMzI3ODkxOGMyZTY0N2MzZjBjODYzODAyNzg1MmY0ZTUxN2M4Yy4u
ZjEyNzE3NmI3ZjlhYTJiNTg5ODYzMThhNWM5ZjU2NmRhYWZhZjIyMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0
aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVu
LWR1cmluZy10cmFuc2FjdGlvbi5qcwpAQCAtNDUsOCArNDUsOCBAQCBmdW5jdGlvbiBzdGFydFRy
YW5zYWN0aW9uKCkKICAgICB0cmFucy5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgIGRlYnVnKCJ0
cmFuc2FjdGlvbiBjb21wbGV0ZSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0
YXRlIiwgIm9wZW4zY29tcGxldGUiKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygic3RhdGUiLCAib3BlbjJjb21wbGV0ZSIpOworICAgICAg
ICBkZWJ1ZygiIik7CiAgICAgfTsKIAogICAgIGRlYnVnKCIiKTsKQEAgLTU2LDcgKzU2LDcgQEAg
ZnVuY3Rpb24gc3RhcnRUcmFuc2FjdGlvbigpCiBmdW5jdGlvbiB0cnlPcGVucygpCiB7CiAgICAg
ZGVidWcoInRyeWluZyB0byBvcGVuIHRoZSBzYW1lIGRhdGFiYXNlIik7Ci0gICAgZXZhbEFuZExv
Zygib3BlbnJlcTIgPSBpbmRleGVkREIub3BlbignZGIxJykiKTsKKyAgICBldmFsQW5kTG9nKCJv
cGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFuc2FjdGlvbjEnKSIpOwog
ICAgIG9wZW5yZXEyLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBvcGVu
cmVxMi5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICBkZWJ1Zygib3BlbnJlcTIu
b25zdWNjZXNzIik7CkBAIC03Myw5ICs3Myw5IEBAIGZ1bmN0aW9uIHRyeU9wZW5zKCkKICAgICAg
ICAgZGVidWcoIm9wZW5yZXEzLm9uc3VjY2VzcyIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInN0YXRlIiwgIm9wZW4yY29tcGxldGUiKTsKICAgICAgICAgZXZhbEFuZExvZygic3Rh
dGUgPSAnb3BlbjNjb21wbGV0ZSciKTsKLSAgICAgICAgZGVidWcoIiIpOworICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKICAgICB9CiAgICAgZGVidWcoIiIpOwogfQogCi10ZXN0KCk7ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQordGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwppbmRleCBm
Mjk5ZTAyOTQzMmVhM2RkN2M1ODEzNDFhYTFlNDcwOGFhZGY5YjRiLi5kMTEwN2RhYWExMjkzN2E3
MjFhNzRjODRhOGE3YWQ1OWNkOTg1NDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcworKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwpAQCAtMjIs
NyArMjIsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3Qu
cmVzdWx0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24i
LCAiIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAg
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAg
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dAppbmRleCA4ZmJmOTA1MGQ2YzllYjE4MGE5ZjcyNTM3ZGZhYzIzYzA2Y2ExNzEwLi4wMmEwYjQ5
NzJjYzY1OTExOWY3ODcxY2JhMjNjMzExNGUyMTA4YmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dApAQCAtMTAsNyArMTAsNyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoJ3N0cnVjdHVyZWQtY2xvbmUnKQogaW5kZXhlZERCLm9wZW4oJ3N0cnVjdHVyZWQtY2xv
bmUnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRi
LnZlcnNpb24gaXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogVGhpcyBpbmRleCBpcyBub3QgdXNlZCwgYnV0IGV2YWx1YXRp
bmcga2V5IHBhdGggb24gZWFjaCBwdXQoKSBjYWxsIHdpbGwgZXhlcmNpc2UgKGRlKXNlcmlhbGl6
YXRpb246CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1
cmVkLWNsb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVk
LWNsb25lLmh0bWwKaW5kZXggOGQ4MmVjODRiZjkyMWExZDQ5ODNiYWQzYWQ3YzJmNWI1ODVmMmRk
NS4uMzUwNmNmNjE3YTQ0NjU5ZTljMjY3MjMzYzc2OWQyNzA3MDZmZTFjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbApAQCAt
MzYsNyArMzYsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVl
c3QucmVzdWx0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNp
b24iLCAiIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAg
ICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAg
ICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAg
ICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164030</attachid>
            <date>2012-09-13 19:32:30 -0700</date>
            <delta_ts>2012-09-17 15:31:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96444-20120913193203.patch</filename>
            <type>text/plain</type>
            <size>50486</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZhYzM3NmU3ZGE1YzAz
ZDlmZmE2ZTc5NzkwNjQyODU3YWNmOGFjYy4uNDM3NzNlMTE1MjYzZGM1NWYzZDJjMDEwZWY1MDVj
OTg1OWU0NDUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gb2Yg
bm90ZToKKyAgICAgICAgLSBOZXcgZGF0YWJhc2VzIG5vdyBnZXQgYSBkZWZhdWx0IHZlcnNpb24g
b2YgMSBpbnN0ZWFkIG9mCisgICAgICAgIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiB0aGV5IGFyZSBv
cGVuZWQuCisgICAgICAgIC0gV2Ugbm93IGFsbG93IGRhdGFiYXNlcyB3aXRoIGFuIGludGVnZXIg
dmVyc2lvbiB0byByZXZlcnQgdG8gYSBzdHJpbmcKKyAgICAgICAgdmVyc2lvbiBieSBjYWxsaW5n
IHNldFZlcnNpb24uCisKKyAgICAgICAgSW1wbGVtZW50YXRpb24gZGV0YWlsOiB3ZSBzdG9yZSBi
b3RoIGFuIGludGVnZXIgdmVyc2lvbiBhbmQgc3RyaW5nCisgICAgICAgIHZlcnNpb24gZm9yIGEg
cGFydGljdWxhciBkYXRhYmFzZS4gSWYgYm90aCBhcmUgc2V0IHdlIGdpdmUgcHJlZmVyZW5jZQor
ICAgICAgICB0byB0aGUgaW50ZWdlciB2ZXJzaW9uIGFuZCBhc3N1bWUgdGhlIGRiIGlzIG9uIHRo
ZSBpbnRlZ2VyIHRyYWNrLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tl
bmRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZl
cnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVy
c2lvbkludGVybmFsKToKKyAgICAgICAgTm93IHRoYXQgdGhpcyBjYW4gYmUgY2FsbGVkIGV2ZW4g
YWZ0ZXIgYW4gaW50IHZlcnNpb24gaXMgc2V0IHdlIGhhdmUKKyAgICAgICAgdG8gbWFrZSBpdCBy
ZXZva2UgdGhlIGludCB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpvcGVuQ29ubmVjdGlvbik6CisgICAgICAgIE5lc3RlZCBpZnMgd2VyZSBnZXR0
aW5nIGRlZXAsIHNvIHJlZmFjdG9yIHRvIHJldHVybiBlYXJseSBpbnN0ZWFkLgorCisgICAgICAg
IChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVEYXRhYmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24pOgorICAg
ICAgICBOb3cgdGhhdCBhbiBpbnQgdmVyc2lvbiBjb3VsZCBoYXZlIGJlZW4gc2V0IGJlZm9yZSBz
ZXRWZXJzaW9uIHdhcworICAgICAgICBjYWxsZWQgd2UgaGF2ZSB0byByZXNldCB0aGUgaW50IHZl
cnNpb24gb24gYWJvcnQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFiYXNlSW50
VmVyc2lvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5j
cHA6CisgICAgICAgIDAgaXMgbm93IGEgdmFsaWQgaW50ZWdlciB2ZXJzaW9uIHRvIHN0b3JlIHRv
IGxldmVsZGIgaWYgYW4gaWRiCisgICAgICAgIGRhdGFiYXNlIGlzIHJldmVydGluZyB0byBhIHN0
cmluZyB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQpOgorICAgICAgICBJZiB0aGUgb3BlbiByZXF1ZXN0IGRpZCBub3Qgc3BlY2lm
eSBhbiBpbnRlZ2VyIHZlcnNpb24gYnV0CisgICAgICAgIHVwZ3JhZGVuZWVkZWQgaXMgY2FsbGVk
LCBpdCBtZWFucyB0aGUgZGF0YWJhc2Ugd2FzIGdpdmVuIHRoZSBkZWZhdWx0CisgICAgICAgIHZl
cnNpb24gb2YgMS4KKwogMjAxMi0wOS0xMyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogQ29uc29saWRhdGUgdHdvLXBoYXNlIGNvbm5lY3Rp
b24gdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGJm
YjJhZTI2NzYxNWQ2Mzg1MjNjMGRlMmJlZWU0NWRjNTJmYTM0NGEuLmUxZTYxZjkwYmExMTU1NzEw
ZmM2ZWViNzNlYzc4ZjEzNzU5MTU2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC0xMjcs
MTEgKzEyNywxNSBAQCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IElEQkRhdGFi
YXNlQmFja2VuZEltcGw6OmNyZWF0ZShjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJuIGJhY2tlbmQu
cmVsZWFzZSgpOwogfQogCituYW1lc3BhY2UgeworY29uc3QgY2hhciogTm9TdHJpbmdWZXJzaW9u
ID0gIiI7Cit9CisKIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZElt
cGwoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSwgSURC
VHJhbnNhY3Rpb25Db29yZGluYXRvciogY29vcmRpbmF0b3IsIElEQkZhY3RvcnlCYWNrZW5kSW1w
bCogZmFjdG9yeSwgY29uc3QgU3RyaW5nJiB1bmlxdWVJZGVudGlmaWVyKQogICAgIDogbV9iYWNr
aW5nU3RvcmUoYmFja2luZ1N0b3JlKQogICAgICwgbV9pZChJbnZhbGlkSWQpCiAgICAgLCBtX25h
bWUobmFtZSkKLSAgICAsIG1fdmVyc2lvbigiIikKKyAgICAsIG1fdmVyc2lvbihOb1N0cmluZ1Zl
cnNpb24pCiAgICAgLCBtX2ludFZlcnNpb24oSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJz
aW9uKQogICAgICwgbV9pZGVudGlmaWVyKHVuaXF1ZUlkZW50aWZpZXIpCiAgICAgLCBtX2ZhY3Rv
cnkoZmFjdG9yeSkKQEAgLTI0MCwxMCArMjQ0LDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwK
ICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6SURCX0FCT1JUX0VSUiwgIkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBi
ZWZvcmUgc2V0IHZlcnNpb24gdHJhbnNhY3Rpb24gd2FzIGNyZWF0ZWQiKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgaWYgKG1faW50VmVyc2lvbiAhPSBJREJEYXRhYmFzZU1ldGFkYXRh
OjpOb0ludFZlcnNpb24pIHsKLSAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsIFN0cmluZzo6
Zm9ybWF0KCJZb3UgY2FuJ3QgdXNlIHRoZSBzZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBh
bHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0aHJvdWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50
IGludGVnZXIgdmVyc2lvbiBpcyAlbGxkIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihtX2ludFZl
cnNpb24pKSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGZvciAoRGF0YWJhc2VDYWxs
YmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdp
bigpOyBpdCAhPSBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAg
IC8vIEZyb250IGVuZCBlbnN1cmVzIHRoZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlv
bnMgdGhhdCBoYXZlIGNsb3NlUGVuZGluZyBzZXQuCiAgICAgICAgIGlmICgqaXQgIT0gZGF0YWJh
c2VDYWxsYmFja3MpCkBAIC0yNzIsNyArMjcyLDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWwK
ICAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwogICAg
IGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzaygKICAgICAgICAgICAgIGNyZWF0ZUNhbGxi
YWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsLCBkYXRh
YmFzZSwgdmVyc2lvbiwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbiksCi0gICAgICAgICAgICBjcmVh
dGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0
YWJhc2UsIG1fdmVyc2lvbikpKSB7CisgICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwg
bV9pbnRWZXJzaW9uKSkpIHsKICAgICAgICAgLy8gRklYTUU6IFJlbW92ZSBvbmUgb2YgdGhlIGZv
bGxvd2luZyBsaW5lcy4KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKQEAgLTI4
NCw3ICsyODQsOCBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRl
cm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZgogICAgIFJlZlB0cjxJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2FjdGlvbiA9IHBycFRyYW5zYWN0aW9uOwogICAgIGlu
dDY0X3QgZGF0YWJhc2VJZCA9IGRhdGFiYXNlLT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNp
b24gPSB2ZXJzaW9uOwotICAgIGlmICghZGF0YWJhc2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJ
REJEYXRhYmFzZU1ldGFEYXRhKGRhdGFiYXNlSWQsIGRhdGFiYXNlLT5tX3ZlcnNpb24pKSB7Cisg
ICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVy
c2lvbjsKKyAgICBpZiAoIWRhdGFiYXNlLT5tX2JhY2tpbmdTdG9yZS0+dXBkYXRlSURCRGF0YWJh
c2VNZXRhRGF0YShkYXRhYmFzZUlkLCBkYXRhYmFzZS0+bV92ZXJzaW9uKSB8fCAhZGF0YWJhc2Ut
Pm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZUludFZlcnNpb24oZGF0YWJhc2VJZCwg
ZGF0YWJhc2UtPm1faW50VmVyc2lvbikpIHsKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElE
QkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIs
ICJFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFu
c2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDM3LDE2ICs0MzgsMjMgQEAg
UGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OnRyYW5zYWN0aW9uKEQKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3Bl
bkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4gZGF0YWJhc2VDYWxsYmFja3MpCiB7CiAgICAgQVNTRVJU
KG1fYmFja2luZ1N0b3JlLmdldCgpKTsKLSAgICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlz
RW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGlu
Z1NldFZlcnNpb25DYWxscy5pc0VtcHR5KCkpCisgICAgaWYgKCFtX3BlbmRpbmdEZWxldGVDYWxs
cy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3Bl
bmRpbmdTZXRWZXJzaW9uQ2FsbHMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fcGVuZGluZ09wZW5D
YWxscy5hcHBlbmQoUGVuZGluZ09wZW5DYWxsOjpjcmVhdGUoY2FsbGJhY2tzLCBkYXRhYmFzZUNh
bGxiYWNrcykpOwotICAgIGVsc2UgewotICAgICAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYg
IW9wZW5JbnRlcm5hbCgpKQotICAgICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRl
cm5hbCBlcnJvci4iKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9kYXRhYmFzZUNh
bGxiYWNrc1NldC5hZGQoUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxi
YWNrcykpOwotICAgICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAg
IH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobV9pZCA9PSBJbnZhbGlkSWQgJiYg
IW9wZW5JbnRlcm5hbCgpKSB7CisgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFz
ZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJu
YWwgZXJyb3IuIikpOworICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGlmIChtX3ZlcnNpb24g
PT0gTm9TdHJpbmdWZXJzaW9uICYmIG1faW50VmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRh
OjpOb0ludFZlcnNpb24pIHsKKyAgICAgICAgLy8gU3BlYyBzYXlzOiBJZiBubyB2ZXJzaW9uIGlz
IHNwZWNpZmllZCBhbmQgbm8gZGF0YWJhc2UgZXhpc3RzLCBzZXQKKyAgICAgICAgLy8gZGF0YWJh
c2UgdmVyc2lvbiB0byAxLiBXZSBpbmZlciB0aGF0IHRoZSBkYXRhYmFzZSBkaWRuJ3QgZXhpc3Qg
ZnJvbQorICAgICAgICAvLyBpdHMgbGFjayBvZiBlaXRoZXIgdHlwZSBvZiB2ZXJzaW9uLgorICAg
ICAgICBvcGVuQ29ubmVjdGlvbldpdGhWZXJzaW9uKGNhbGxiYWNrcywgZGF0YWJhc2VDYWxsYmFj
a3MsIDEpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fZGF0YWJhc2VDYWxsYmFja3NT
ZXQuYWRkKFJlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4oZGF0YWJhc2VDYWxsYmFja3MpKTsK
KyAgICBjYWxsYmFja3MtPm9uU3VjY2Vzcyh0aGlzKTsKIH0KIAogdm9pZCBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpydW5JbnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0
ZWRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBQYXNzUmVm
UHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiBwcnBEYXRhYmFzZUNhbGxiYWNrcykKQEAgLTQ4Miw3
ICs0OTAsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJ1bkludFZlcnNpb25DaGFu
Z2VUcmFuc2FjdGlvbihpbnQ2NF90IHJlcXVlc3RlZFZlcgogCiAgICAgUmVmUHRyPElEQkRhdGFi
YXNlQmFja2VuZEltcGw+IGRhdGFiYXNlID0gdGhpczsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gaW50VmVyc2lvblRhc2sgPSBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEludFZlcnNpb25JbnRlcm5hbCwgZGF0YWJhc2UsIHJl
cXVlc3RlZFZlcnNpb24sIGNhbGxiYWNrcywgdHJhbnNhY3Rpb24pOwotICAgIE93blB0cjxTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiByZXNldFZlcnNpb25PbkFib3J0VGFzayA9IGNyZWF0
ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRJbnRWZXJzaW9uLCBk
YXRhYmFzZSwgbV9pbnRWZXJzaW9uKTsKKyAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4gcmVzZXRWZXJzaW9uT25BYm9ydFRhc2sgPSBjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbiwg
bV9pbnRWZXJzaW9uKTsKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soaW50VmVy
c2lvblRhc2sucmVsZWFzZSgpLCByZXNldFZlcnNpb25PbkFib3J0VGFzay5yZWxlYXNlKCkpKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGluZXMuCiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNTMxLDcgKzUzOSw3IEBAIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlRGF0YWJhc2UoUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IHBycENhbGxiYWNrCiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0gcHJw
Q2FsbGJhY2tzOwogICAgIGZvciAoRGF0YWJhc2VDYWxsYmFja3NTZXQ6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5iZWdpbigpOyBpdCAhPSBtX2RhdGFiYXNlQ2Fs
bGJhY2tzU2V0LmVuZCgpOyArK2l0KSB7CiAgICAgICAgIC8vIEZyb250IGVuZCBlbnN1cmVzIHRo
ZSBldmVudCBpcyBub3QgZmlyZWQgYXQgY29ubmVjdGlvbnMgdGhhdCBoYXZlIGNsb3NlUGVuZGlu
ZyBzZXQuCi0gICAgICAgICgqaXQpLT5vblZlcnNpb25DaGFuZ2UoIiIpOworICAgICAgICAoKml0
KS0+b25WZXJzaW9uQ2hhbmdlKE5vU3RyaW5nVmVyc2lvbik7CiAgICAgfQogICAgIC8vIEZJWE1F
OiBPbmx5IGZpcmUgb25CbG9ja2VkIGlmIHRoZXJlIGFyZSBvcGVuIGNvbm5lY3Rpb25zIGFmdGVy
IHRoZQogICAgIC8vIFZlcnNpb25DaGFuZ2VFdmVudHMgYXJlIHJlY2VpdmVkLCBub3QganVzdCBz
ZXQgdXAgdG8gZmlyZS4KQEAgLTU0Niw3ICs1NTQsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw6OmRlbGV0ZURhdGFiYXNlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFj
awogICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX3ZlcnNpb24gPSAiIjsKKyAgICBtX3ZlcnNpb24g
PSBOb1N0cmluZ1ZlcnNpb247CiAgICAgbV9pZCA9IEludmFsaWRJZDsKICAgICBtX2ludFZlcnNp
b24gPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb247CiAgICAgbV9vYmplY3RTdG9y
ZXMuY2xlYXIoKTsKQEAgLTYxMiwxNyArNjIwLDEyIEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6YWRkT2JqZWN0U3RvcmVUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
CiAgICAgZGF0YWJhc2UtPm1fb2JqZWN0U3RvcmVzLnNldChvYmplY3RTdG9yZVB0ci0+bmFtZSgp
LCBvYmplY3RTdG9yZVB0cik7CiB9CiAKLXZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVz
ZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
QmFja2VuZEltcGw+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCit2b2lkIElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OnJlc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgY29uc3QgU3RyaW5n
JiBwcmV2aW91c1ZlcnNpb24sIGludDY0X3QgcHJldmlvdXNJbnRWZXJzaW9uKQogewotICAgIGRh
dGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOworICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSBw
cmV2aW91c1ZlcnNpb247CisgICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IHByZXZpb3VzSW50
VmVyc2lvbjsKIH0KIAotdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldEludFZlcnNp
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5k
SW1wbD4gZGF0YWJhc2UsIGludDY0X3Qgb2xkVmVyc2lvbikKLXsKLSAgICBkYXRhYmFzZS0+bV9p
bnRWZXJzaW9uID0gb2xkVmVyc2lvbjsKLX0KLQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRl
eCAyMmNjYzQzMjIwYjUwNGZlNzA2ODU2N2I1OWE0NzYyNTVlZWE4NTRkLi40NTgxMjRjZjUyZDgy
NDdhN2VjZjhlODhiMDk1ODU5ZmE4MDI1Mzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCkBAIC05MSw4
ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gVGhlc2UgYXJlIHVzZWQgYXMgc2V0VmVyc2lvbiB0
cmFuc2FjdGlvbiBhYm9ydCB0YXNrcy4KICAgICBzdGF0aWMgdm9pZCByZW1vdmVPYmplY3RTdG9y
ZUZyb21NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VC
YWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4pOwogICAg
IHN0YXRpYyB2b2lkIGFkZE9iamVjdFN0b3JlVG9NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbD4pOwotICAgIHN0YXRpYyB2b2lkIHJlc2V0VmVyc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgY29u
c3QgU3RyaW5nJiB2ZXJzaW9uKTsKLSAgICBzdGF0aWMgdm9pZCByZXNldEludFZlcnNpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4s
IGludDY0X3QgaW50VmVyc2lvbik7CisgICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBj
b25zdCBTdHJpbmcmIHZlcnNpb24sIGludDY0X3QgaW50VmVyc2lvbik7CiAKICAgICBSZWZQdHI8
SURCQmFja2luZ1N0b3JlPiBtX2JhY2tpbmdTdG9yZTsKICAgICBpbnQ2NF90IG1faWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2lu
Z1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJC
YWNraW5nU3RvcmUuY3BwCmluZGV4IDkzMGUyMGIzYjgzNWRkYWVkNTM3ZTdlMTkwYjE0NTEyZWFl
NDcyNmEuLjUyYmRhNDliNjhiNWRmMmE5YmU1OGIwNjE3NTExYzFiNjExYmM1NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJC
YWNraW5nU3RvcmUuY3BwCkBAIC0zMzksOCArMzM5LDggQEAgYm9vbCBJREJMZXZlbERCQmFja2lu
Z1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QKIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJz
aW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVyc2lvbikKIHsKICAgICBBU1NFUlQobV9j
dXJyZW50VHJhbnNhY3Rpb24pOwotICAgIC8vIEZJWE1FOiBDaGFuZ2UgdGhpcyB0byBzdHJpY3Rs
eSBncmVhdGVyIHRoYW4gMCBvbmNlIHdlIHRocm93IFR5cGVFcnJvciBmb3IKLSAgICAvLyBiYWQg
dmVyc2lvbnMuCisgICAgaWYgKGludFZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9J
bnRWZXJzaW9uKQorICAgICAgICBpbnRWZXJzaW9uID0gSURCRGF0YWJhc2VNZXRhZGF0YTo6RGVm
YXVsdEludFZlcnNpb247CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpbnRWZXJzaW9uID49IDAs
ICJpbnRWZXJzaW9uIHdhcyAlbGxkIiwgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihpbnRWZXJzaW9u
KSk7CiAgICAgaWYgKCFwdXRWYXJJbnQobV9jdXJyZW50VHJhbnNhY3Rpb24uZ2V0KCksIERhdGFi
YXNlTWV0YURhdGFLZXk6OmVuY29kZShyb3dJZCwgRGF0YWJhc2VNZXRhRGF0YUtleTo6VXNlcklu
dFZlcnNpb24pLCBpbnRWZXJzaW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApp
bmRleCA2ZWYxNmNmMDI5M2E2OTE5MGY5NmNkM2E4NWFjMzUyNzIzZWJiNmYzLi43YjQ0YzY1ODc0
MjJlODQyNzE1YjBhZDUzYmJhZWUwZmY0NTU2OGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApAQCAtODgsOSArODgs
MTEgQEAgdm9pZCBJREJPcGVuREJSZXF1ZXN0OjpvblVwZ3JhZGVOZWVkZWQoaW50NjRfdCBvbGRW
ZXJzaW9uLCBQYXNzUmVmUHRyPElEQlRyYW5zYWMKICAgICBtX3Jlc3VsdCA9IElEQkFueTo6Y3Jl
YXRlKGlkYkRhdGFiYXNlLnJlbGVhc2UoKSk7CiAKICAgICBpZiAob2xkVmVyc2lvbiA9PSBJREJE
YXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pIHsKLSAgICAgIC8vIFRoaXMgZGF0YWJhc2Ug
aGFzbid0IGhhZCBhbiBpbnRlZ2VyIHZlcnNpb24gYmVmb3JlLgotICAgICAgb2xkVmVyc2lvbiA9
IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOworICAgICAgICAvLyBUaGlz
IGRhdGFiYXNlIGhhc24ndCBoYWQgYW4gaW50ZWdlciB2ZXJzaW9uIGJlZm9yZS4KKyAgICAgICAg
b2xkVmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRhdGE6OkRlZmF1bHRJbnRWZXJzaW9uOwogICAg
IH0KKyAgICBpZiAobV92ZXJzaW9uID09IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lv
bikKKyAgICAgICAgbV92ZXJzaW9uID0gMTsKICAgICBlbnF1ZXVlRXZlbnQoSURCVXBncmFkZU5l
ZWRlZEV2ZW50OjpjcmVhdGUob2xkVmVyc2lvbiwgbV92ZXJzaW9uLCBldmVudE5hbWVzKCkudXBn
cmFkZW5lZWRlZEV2ZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMTg2Y2JmN2ZiMGQ3ZWEyNWJmNjAzZjlh
MTk0MmMwNzkzZGVmMGM2Li43YjZkYzE4MmY0ZWEyYzUxNjJmYjFhZGIwYzRjMDljYzE5ZDJmZGU0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzYgQEAKKzIwMTItMDktMTEgIERhdmlkIEdyb2dhbiAgPGRncm9n
YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogZmlyZSB1cGdyYWRlbmVlZGVk
IGV2ZW4gd2l0aG91dCBhbiBleHBsaWNpdCBpbnRlZ2VyIHZlcnNpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2NDQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9zdGx5IHVwZGF0aW5nIGV4cGVjdGF0
aW9ucyBhYm91dCBnZXR0aW5nIGFuIHVwZ3JhZGVuZWVkZWQgb24gYSBuZXcKKyAgICAgICAgZGF0
YWJhc2UgYW5kIHRoZSBkZWZhdWx0IHZlcnNpb24gYmVpbmcgMSBpbnN0ZWFkIG9mICIiLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVy
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJs
b2Fkcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92
ZXJsb2Fkcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9u
LWJsb2NrZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RvbnQt
Y29tbWl0LW9uLWJsb2NrZWQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0
b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgIFJlbW92ZSB0ZXN0IHRoYXQgc2V0VmVyc2lvbiBmaXJlcyBhbiBlcnJvciBpZiBh
biBpbnQgdmVyc2lvbiBpcyBzZXQuCisgICAgICAgIENoYW5nZSBpdCB0byB0ZXN0aW5nIHRoYXQg
YW4gaW50IHZlcnNpb24gY2FuIHJlcGxhY2UgYSBzdHJpbmcgdmVyc2lvbgorICAgICAgICB0aGF0
IHJlcGxhY2VkIGFuIGludCB2ZXJzaW9uLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZm
ZWN0cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgIHNldFZlcnNpb24gaXMgbm8gbG9u
Z2VyIGludmFsaWQgc28gdGhpcyB0ZXN0IGNhbiBiZSBkZWxldGVkLgorCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgIFdlIG5vdyBmdWxseSBwYXNzIHRoaXMgdGVzdC4KKworICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMt
bm8tdmVyc2lvbnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRt
bC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICBUaGlzIHRlc3QgaGFkIGEgYnVnIGluIGl0IEFORCBpdHMgYmVoYXZpb3IgaXMgY2hhbmdlZC4g
SXQgd2FzIHRyeWluZworICAgICAgICB0byBvcGVuIG9uZSBkYXRhYmFzZSB0d2ljZSBhbmQgYW5v
dGhlciBvbmNlIGJ1dCB3YXMgYWN0dWFsbHkgb3BlbmluZworICAgICAgICB0aHJlZSBkaWZmZXJl
bnQgZGF0YWJhc2VzLiBUaGUgYmVoYXZpb3IgY2hhbmdlIGlzIHRoYXQgbm93IHRoZQorICAgICAg
ICB0cmFuc2FjdGlvbiBmaW5pc2hlcyB3aGlsZSB0aGUgbGFzdCBjYWxsIHRvIG9wZW4gaXMgZmly
aW5nCisgICAgICAgIHVwZ3JhZGVuZWVkZWQuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzOgor
ICAgICAgICAoZGVsZXRlU3VjY2Vzcyk6CisgICAgICAgIChpbml0aWFsVXBncmFkZU5lZWRlZCk6
CisgICAgICAgIChvcGVuU3VjY2Vzcyk6CisgICAgICAgIChmaXJzdFVwZ3JhZGVOZWVkZWQpOgor
ICAgICAgICAodHJhbnNhY3Rpb25Db21wbGV0ZWQpOgorICAgICAgICAoZmlyc3RPcGVuV2l0aFZl
cnNpb24pOgorICAgICAgICAoc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKHNl
dEludFZlcnNpb24yKToKKyAgICAgICAgKHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0lu
dCk6CisgICAgICAgICh2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkKToKKyAgICAgICAgKHZlcnNp
b24yQ29ubmVjdGlvblN1Y2Nlc3MpOgorICAgICAgICAoZXJyb3JXaGVuVHJ5aW5nTG93VmVyc2lv
bik6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52
YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanM6IFJlbW92ZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAoZGVsZXRlU3VjY2Vz
cyk6CisgICAgICAgIChjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAoY29ubmVj
dGlvbjFPcGVuU3VjY2Vzcyk6CisgICAgICAgIChjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQpOgor
ICAgICAgICAoY29ubmVjdGlvbjJPcGVuU3VjY2Vzcyk6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2xpc3Qtb3JkZXJpbmcuanM6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmpzOgorICAgICAgICAoc3Rh
cnRUcmFuc2FjdGlvbi50cmFucy5vbmNvbXBsZXRlKToKKyAgICAgICAgKHN0YXJ0VHJhbnNhY3Rp
b24pOgorICAgICAgICAodHJ5T3BlbnMub3BlbnJlcTMub25zdWNjZXNzKToKKyAgICAgICAgKHRy
eU9wZW5zKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1h
Y3Rpdml0eS5qczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25l
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNs
b25lLmh0bWw6CisKIDIwMTItMDktMTMgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZW1vdmUgbGluZXMgZm9yIGZhc3QvdGFibGUvYmFkLXJlcGxhY2VkLXNpemlu
Zy1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJh
c2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dAppbmRleCBiODgwZDRiNzhkOTk0ODAwMTA1YWIzOGRl
MDk2Yzc3OTgyNjQwNmE2Li5lZjE5YTkzN2EwMjBlM2UyNWQxMjkyN2M0Yzg1YjJjN2JlM2YxNDE4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIv
ZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dApA
QCAtMTgsNyArMTgsNyBAQCB0ZXN0RGF0YWJhc2UxCiAKIER1bXBpbmcgZGF0YWJhc2U6CiB0ZXN0
RGF0YWJhc2UxCi0gICAgdmVyc2lvbjogMQorICAgIHZlcnNpb246IDIKICAgICBvYmplY3RTdG9y
ZXM6CiAgICAgdGVzdE9iamVjdFN0b3JlMQogICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0
aCIKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdERhdGFiYXNlMQogCiBEdW1waW5nIGRhdGFiYXNlOgog
dGVzdERhdGFiYXNlMQotICAgIHZlcnNpb246IDIKKyAgICB2ZXJzaW9uOiAzCiAgICAgb2JqZWN0
U3RvcmVzOgogICAgIHRlc3RPYmplY3RTdG9yZTEKICAgICAgICAga2V5UGF0aDogInRlc3Qua2V5
LnBhdGgiCkBAIC00MCw3ICs0MCw3IEBAIHRlc3REYXRhYmFzZTEKIAogRHVtcGluZyBkYXRhYmFz
ZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiAzCisgICAgdmVyc2lvbjogNAogICAgIG9i
amVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAgICAgIGtleVBhdGg6ICJ0ZXN0
LmtleS5wYXRoIgpAQCAtNTcsNyArNTcsNyBAQCB0ZXN0RGF0YWJhc2UxCiAKIER1bXBpbmcgZGF0
YWJhc2U6CiB0ZXN0RGF0YWJhc2UxCi0gICAgdmVyc2lvbjogNAorICAgIHZlcnNpb246IDUKICAg
ICBvYmplY3RTdG9yZXM6CiAgICAgdGVzdE9iamVjdFN0b3JlMQogICAgICAgICBrZXlQYXRoOiAi
dGVzdC5rZXkucGF0aCIKQEAgLTc4LDcgKzc4LDcgQEAgdGVzdERhdGFiYXNlMQogCiBEdW1waW5n
IGRhdGFiYXNlOgogdGVzdERhdGFiYXNlMQotICAgIHZlcnNpb246IDUKKyAgICB2ZXJzaW9uOiA2
CiAgICAgb2JqZWN0U3RvcmVzOgogICAgIHRlc3RPYmplY3RTdG9yZTEKICAgICAgICAga2V5UGF0
aDogInRlc3Qua2V5LnBhdGgiCkBAIC05NSw3ICs5NSw3IEBAIHRlc3REYXRhYmFzZTEKIAogRHVt
cGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA2CisgICAgdmVyc2lv
bjogNwogICAgIG9iamVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAgICAgIGtl
eVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgpAQCAtMTA4LDcgKzEwOCw3IEBAIHRlc3REYXRhYmFzZTEK
IAogRHVtcGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA3CisgICAg
dmVyc2lvbjogOAogICAgIG9iamVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAg
ICAgIGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgpAQCAtMTE3LDcgKzExNyw3IEBAIHRlc3REYXRh
YmFzZTEKIAogRHVtcGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA4
CisgICAgdmVyc2lvbjogOQogICAgIG9iamVjdFN0b3JlczoKIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDMzY2JiNGM2NDY3NDBiMTg1MzZiZjYzZjA4MTI5NTViZTE4NTIzYjkuLjIyMjAz
MmE3OTg0NmZiMWZiZTVmYTE3ZGU5YzE3ZjUxN2NjODIzN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMtZXhwZWN0ZWQu
dHh0CkBAIC0zMyw3ICszMyw3IEBAIGRibmFtZSA9ICdjdXJzb3Itb3ZlcmxvYWRzJwogaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRiID0g
cmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlz
IDEKIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmUnKQogaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAndmFsdWUnKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1sCmlu
ZGV4IDYzNDE2YTM3ZGVhMGQwNTg3NzI0ODFkZDA1YzNhZTdlM2JhZDIyMDYuLmI0M2EzMTA3NjI0
MGM1YWJlMDAxNGNiZDBkOTlhYTEyMzNlNWFiY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAg
ZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwot
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAnMScpOwogICAgICAgICAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50
eHQKaW5kZXggNzQzZWIyYjIwZTk2NGEyMWMxZTIwNWMxMzVjZDViZmUyNTc5N2ZhMS4uNGZkM2M4
MzMyN2M3OTA1Y2U2MTg1ZDE0Y2M2NjYwNjM0MTM5MTZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tl
ZC1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZSgnZG9udC1jb21taXQtb24tYmxvY2tlZCcpCiByZXF1ZXN0ID0gaW5kZXhlZERC
Lm9wZW4oJ2RvbnQtY29tbWl0LW9uLWJsb2NrZWQnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAogZGIu
b252ZXJzaW9uY2hhbmdlID0gb25WZXJzaW9uQ2hhbmdlCi1QQVNTIGRiLnZlcnNpb24gaXMgIiIK
K1BBU1MgZGIudmVyc2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbAppbmRleCA5ZDU3NWI5
YmEzNjVhMTRkMTFiMTMxODExOWE2YjNlZTA3MGVhZmU3Li4xMjQ2MDkyNjBiOTk2ZDg5NWYyZmY3
YjcwOTM2ZmY5Y2EwZDYzZDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kb250LWNvbW1pdC1vbi1ibG9ja2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sCkBAIC0yNiw3ICsyNiw3IEBA
IGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9
IHJlcXVlc3QucmVzdWx0Iik7CiAgICAgICAgICAgICBkYi5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYi5vbnZlcnNpb25jaGFuZ2Ug
PSBvblZlcnNpb25DaGFuZ2UiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZGIudmVyc2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEi
KTsKICAgICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJyki
KTsKICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwogICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKaW5kZXgg
Y2JhOTk1OGZhODgwZjRmZGU4MTZmYWZlOTA0ZTk3Y2QzZmI1ZTJmZi4uNTJmNzI5NDQxMGM2NDQ2
ZWE2ZDQ2YWU0OGFlM2E0NDBkYmQ0OGNlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0
YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBzZWxmLmRi
bmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaC5vcGVuLm9u
c3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gub252ZXJzaW9uY2hhbmdlJwotICAgIGlu
IHZlcnNpb25jaGFuZ2UsIG9sZCA9ICIiIG5ldyA9ICIiCisgICAgaW4gdmVyc2lvbmNoYW5nZSwg
b2xkID0gMSBuZXcgPSAiIgogICAgIGggY2xvc2luZywgYnV0IG5vdCBpbW1lZGlhdGVseQogJ2Rl
bGV0ZURhdGFiYXNlKCkub25ibG9ja2VkJwogJ2guY2xvc2UnCkBAIC0yNSw3ICsyNSw3IEBAIHNl
bGYuZGJuYW1lID0gJ3Rlc3QyJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLm9w
ZW4ub25zdWNjZXNzJwogJ2RlbGV0ZURhdGFiYXNlKCknCiAnaC5vbnZlcnNpb25jaGFuZ2UnCi0g
ICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3ID0gIiIKKyAgICBpbiB2ZXJzaW9uY2hh
bmdlLCBvbGQgPSAxIG5ldyA9ICIiCiAgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5CiAnaC5jbG9z
ZScKICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKQEAgLTU4LDcgKzU4LDcgQEAgc2VsZi5k
Ym5hbWUgPSAndGVzdDQnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2guc2V0VmVy
c2lvbicKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gyLm9udmVyc2lvbmNoYW5nZScKLSAgICBpbiB2
ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBuZXcgPSAiMSIKKyAgICBpbiB2ZXJzaW9uY2hhbmdlLCBv
bGQgPSAxIG5ldyA9ICIxIgogJ2guc2V0VmVyc2lvbi5vbmJsb2NrZWQnCiAnaDMub3BlbicKICdo
Mi5jbG9zZScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKaW5kZXggMDRm
MjgxYWFkODQ3ZTg4Njg2MmY3MzlhZTRjZmEyOTQ3MjcyNjJmMC4uODc1Y2ViZWY2Y2I5NjY1Y2Rm
YTQ5ZjY4OTFjMmNiNDY0OWI2ZDZiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hbmQtc2V0dmVyc2lvbi1leHBl
Y3RlZC50eHQKQEAgLTEyLDkgKzEyLDExIEBAIEZBSUwgU3RyaW5nKHJlcXVlc3QpIHNob3VsZCBi
ZSBbb2JqZWN0IElEQk9wZW5EQlJlcXVlc3RdLiBXYXMgW29iamVjdCBJREJWZXJzaW9uCiBDYWxs
IG9wZW4gd2l0aCBubyB2ZXJzaW9uIHBhcmFtZXRlcjoKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkK
IAoraW5pdGlhbFVwZ3JhZGVOZWVkZWQoKToKKwogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMg
MQogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oInNvbWUgdmVyc2lvbiIpCiAKIGluU2V0VmVyc2lv
bigpOgpAQCAtNDcsMTggKzQ5LDMxIEBAIGRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0cnVlCiBm
aXJzdE9wZW5XaXRoVmVyc2lvbigpOgogUEFTUyBkaWRUcmFuc2FjdGlvbkNvbXBsZXRlIGlzIHRy
dWUKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorZGIub252ZXJzaW9uY2hhbmdlID0gdmVyc2lv
bkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50CiBQQVNTIFN0cmluZyhkYikgaXMgIltvYmplY3Qg
SURCRGF0YWJhc2VdIgogUEFTUyByZXF1ZXN0LnRyYW5zYWN0aW9uIGlzIG51bGwKIFBBU1MgZGIu
dmVyc2lvbiBpcyAyCiBQQVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29iamVjdCBJREJPcGVuREJS
ZXF1ZXN0XSIKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVyc2lvbiAyIikKIFBB
U1MgU3RyaW5nKHJlcXVlc3QpIGlzICJbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0XSIK
LXJlcXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25Ob3RBbGxvd2VkCityZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHNlY29uZFNldFZlcnNpb25DYWxsYmFjaworCitzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2so
KToKK3RyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdAordHJhbnNhY3Rpb24ub25jb21w
bGV0ZSA9IHNldEludFZlcnNpb24yCisKK3NldEludFZlcnNpb24yKCk6CityZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lLCAyKQorcmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5l
Y3Rpb25TdWNjZXNzCityZXF1ZXN0Lm9uYmxvY2tlZCA9IHZlcnNpb24yQ29ubmVjdGlvbkJsb2Nr
ZWQKIAotc2V0VmVyc2lvbk5vdEFsbG93ZWQoKToKLVBBU1MgZXZlbnQudHlwZSBpcyAiZXJyb3Ii
Ci1yZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9IFlvdSBjYW4ndCB1c2UgdGhlIHNldFZlcnNp
b24gZnVuY3Rpb24gaWYgeW91J3ZlIGFscmVhZHkgc2V0IHRoZSB2ZXJzaW9uIHRocm91Z2ggYW4g
b3BlbiBjYWxsLiAgVGhlIGN1cnJlbnQgaW50ZWdlciB2ZXJzaW9uIGlzIDIKK3ZlcnNpb25DaGFu
Z2VHb2luZ0Zyb21TdHJpbmdUb0ludCgpOgogZGIuY2xvc2UoKQorCit2ZXJzaW9uMkNvbm5lY3Rp
b25CbG9ja2VkKCk6CisKK3ZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoKToKK2V2ZW50LnRhcmdl
dC5yZXN1bHQuY2xvc2UoKQogcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSkKIHJl
cXVlc3Qub25lcnJvciA9IGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJh
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCA3YTE4ZWQyZDllN2Y0ZDA1M2RlMDRkZmVk
Zjg1N2E0ZmQwOTQ2MTZlLi5lNTVmZDNjMjEzMTQwZDNkODgxNDUxNTVhMTg4NmJkOWIwZjMxNTM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJh
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMjIsNyArMjIs
NyBAQCBQQVNTIGluZGV4ZWREQi5vcGVuKGRibmFtZSwgLTUpIHRocmV3IFR5cGVFcnJvcjogVHlw
ZSBlcnJvcgogRklYTUU6IFVzaW5nIC0xIGRvZXNuJ3QgdGhyb3cgVHlwZUVycm9yIGJ1dCBpdCBz
aG91bGQKIEV4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IGluZGV4
ZWREQi5vcGVuKGRibmFtZSwgLTEpCiBGQUlMIE5vIGV4Y2VwdGlvbiB0aHJvd24hCi1GQUlMIFN1
Y2Nlc3MgZnVuY3Rpb24gY2FsbGVkIHVuZXhwZWN0ZWRseS4KK0ZBSUwgb251cGdyYWRlbmVlZGVk
IGNhbGxlZCB1bmV4cGVjdGVkbHkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQt
c2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDI4Y2M3ZmQwMTE5YjY3MTAzYmQzOWMxNjBkYzljNDdmZDEzODhm
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMt
bm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAg
QEAKLVRlc3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEgZGIgd2l0aCBhbiBp
bnRlZ2VyIHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdldCBmaXJlZCBvbiBv
dGhlciBvcGVuIGRicy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLWluZGV4ZWRE
QiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5k
ZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwotCi1kYm5hbWUg
PSAiaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1s
IgotaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKLQotZGVsZXRlU3VjY2VzcygpOgot
cmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKLQotZmlyc3RVcGdyYWRlTmVlZGVk
Q2FsbGJhY2soKToKLWdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQotUEFTUyBldmVu
dC5vbGRWZXJzaW9uIGlzIDAKLVBBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAyCi0KLWZpcnN0U3Vj
Y2Vzc0V2ZW50SGFuZGxlcigpOgotUEFTUyBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCBpcyB0
cnVlCi1jb25uZWN0aW9uMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWNvbm5lY3Rpb24xLm9udmVy
c2lvbmNoYW5nZSA9IHVuZXhwZWN0ZWRWZXJzaW9uQ2hhbmdlQ2FsbGJhY2sKLVBBU1MgU3RyaW5n
KGNvbm5lY3Rpb24xKSBpcyAiW29iamVjdCBJREJEYXRhYmFzZV0iCi1yZXF1ZXN0ID0gaW5kZXhl
ZERCLm9wZW4oZGJuYW1lKQotCi1zZWNvbmRTdWNjZXNzQ2FsbGJhY2soKToKLWRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24nKQotcmVxdWVz
dC5vbmVycm9yID0gc2V0VmVyc2lvbkVycm9yCi1yZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0
ZWRTdWNjZXNzQ2FsbGJhY2sKLXJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRD
YWxsYmFjawotCi1zZXRWZXJzaW9uRXJyb3IoKToKLU9wZW4gdXAgYSBuZXcgZGIgdG8gZW5zdXJl
IHRoYXQgaWYgY29ubmVjdGlvbjEgd2VyZSB0byBnZXQgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50LCBp
dCB3aWxsIGJlIGRlbGl2ZXJlZCBiZWZvcmUgdGhlIHRlc3QgZmluaXNoZXMKLW5ld19kYiA9IGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSArICcyJykKLW5ld19kYi5vbnN1Y2Nlc3MgPSBuZXdEQlN1Y2Nl
c3MKLQotbmV3REJTdWNjZXNzKCk6Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0K
LVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZl
cnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlMjlhMDNiMzczNGEzMjc0MTIwMTg5NjhiYjU5ZjM3Y2JhZmIxNmE5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVj
dHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2
ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2
ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CmluZGV4IDJm
Y2YwYjdmZTU3ZjQ3NzA0NzhhYTVlYjc0YjM5YWEzMTUzODAwMDIuLjI3NmMzZGI4MTY3ZGE3Y2Y1
MTI2YTAxYzkwYjJlY2IxZDBmMjM4OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb21pdC1wYXJhbWV0ZXItZXhw
ZWN0ZWQudHh0CkBAIC04LDExICs4LDEyIEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8
IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBkYm5h
bWUgPSAiaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci5odG1sIgogaW5kZXhlZERCLmRlbGV0ZURh
dGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKK1BBU1MgR290IHVwZ3JhZGVu
ZWVkZWQgZXZlbnQKIAogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAog
VGVzdCBsaW5lIGZyb20gSURCRmFjdG9yeS5vcGVuOiBJZiBubyB2ZXJzaW9uIGlzIHNwZWNpZmll
ZCBhbmQgbm8gZGF0YWJhc2UgZXhpc3RzLCBzZXQgZGF0YWJhc2UgdmVyc2lvbiB0byAxLgotRkFJ
TCBkYi52ZXJzaW9uIHNob3VsZCBiZSAxIChvZiB0eXBlIG51bWJlcikuIFdhcyAgKG9mIHR5cGUg
c3RyaW5nKS4KK1BBU1MgZGIudmVyc2lvbiBpcyAxCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDE0Y2RjNzc4MDJkMzEzY2I1MWIzZTc1
MzAyNzkxMjVmOTcxYzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzQgQEAKK1Rlc3QgdGhhdCBvbmx5IHRoZSBmaXJzdCBvcGVuIGNhbGwgZ2V0cyBh
biB1cGdyYWRlbmVlZGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVk
REIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1veklu
ZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKKworZGJuYW1l
ID0gImludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwiCitpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBjb25uZWN0aW9uMU9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZAoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBjb25uZWN0aW9uMk9wZW5TdWNjZXNzCityZXF1ZXN0Lm9udXBncmFkZW5l
ZWRlZCA9IGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZAorCitjb25uZWN0aW9uMVVwZ3JhZGVOZWVk
ZWQoKToKK2dvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZQorUEFTUyBldmVudC5vbGRW
ZXJzaW9uIGlzIDAKK1BBU1MgZXZlbnQubmV3VmVyc2lvbiBpcyAxCisKK2Nvbm5lY3Rpb24xT3Bl
blN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorUEFTUyBnb3RGaXJzdFVwZ3Jh
ZGVOZWVkZWRFdmVudCBpcyB0cnVlCitQQVNTIGRiLnZlcnNpb24gaXMgMQorCitjb25uZWN0aW9u
Mk9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgZ290U2Vjb25k
VXBncmFkZU5lZWRlZEV2ZW50IGlzIGZhbHNlCitQQVNTIGRiLnZlcnNpb24gaXMgMQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3
by1vcGVucy1uby12ZXJzaW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNTY3NTc3YWVmMTEyNzEzNjlk
ODA3OWVjMjRjNmVmYmVhMzNkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCA5Y2JhMDBhMmJmY2Ux
Y2UzNDFmN2Y5NTkzNTNkYWU2NDRhZDY0OTRmLi5mYWE5ZGUzOGU1Y2E1NTdlYzQzMjVhZWJjMGI5
YTk3M2I5YWEzYWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9s
aXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9saXN0LW9yZGVyaW5nLWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCB0ZXN0U3Rv
cmVzQW5kSW5kZXhlcygpOgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdsaXN0LW9yZGVyaW5n
JykKIGluZGV4ZWREQi5vcGVuKCdsaXN0LW9yZGVyaW5nJykKIGRiID0gcmVxdWVzdC5yZXN1bHQK
LVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNp
b24oJzEnKQogCiBPYmplY3Qgc3RvcmVzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9ub2Jsb2JzLWV4cGVjdGVkLnR4dAppbmRleCA1NThjODdhODE2NzhhNzk1NmNhNDYx
ZjJkY2FmMTE0YWNjNGNjODZiLi5iMmQ1MjI2ZGE1Y2M3ODk1NWEwM2Y4YzY5NDRlM2ZiMjBjOWFk
NWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLWV4
cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIu
ZGVsZXRlRGF0YWJhc2UoJ25vYmxvYnMnKQogaW5kZXhlZERCLm9wZW4oJ25vYmxvYnMnKQogZGIg
PSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRiLnZlcnNpb24g
aXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQogc3RvcmUucHV0KCd2YWx1ZScsICdrZXknKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbm9ibG9icy5odG1sCmluZGV4IDgzMTg2NmI5ZTUyNDgxYmExMGI1ZWNiZGE5
NTVjNTAxOGNkZjk1ZWUuLjE3ODdjMjgzYTgxNGExNWU3ODQyNzliMjRlMGEzMTU2ZjE2YjVmNTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2JzLmh0bWwKQEAgLTM4LDcg
KzM4LDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJl
c3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwg
IiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9u
LWV4cGVjdGVkLnR4dAppbmRleCA1Y2FmY2U4Zjk3NTJjOGIzYjAxZTY1YjMxMzQ4NTM4NmQxYThh
NGU2Li44MDU3NjNmOTk5ZWZiM2QzM2E0NjRkMzQ3ZjI5MTk2ZmQ0Yjk4YmJiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJp
bmctdHJhbnNhY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIHRyYW5zID0gZGJj
MS50cmFuc2FjdGlvbignc3RvcmVOYW1lJywgJ3JlYWR3cml0ZScpCiB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykucHV0KCd2YWx1ZScsICdrZXknKQogCiB0cnlpbmcgdG8gb3BlbiB0aGUg
c2FtZSBkYXRhYmFzZQotb3BlbnJlcTIgPSBpbmRleGVkREIub3BlbignZGIxJykKK29wZW5yZXEy
ID0gaW5kZXhlZERCLm9wZW4oJ29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uMScpCiAKIHRyeWluZyB0
byBvcGVuIGEgZGlmZmVyZW50IGRhdGFiYXNlCiBvcGVucmVxMyA9IGluZGV4ZWREQi5vcGVuKCdv
cGVuLWR1cmluZy10cmFuc2FjdGlvbjInKQpAQCAtMjgsMTIgKzI4LDEyIEBAIG9wZW5yZXEyLm9u
c3VjY2VzcwogUEFTUyBzdGF0ZSBpcyAic3RhcnRpbmciCiBzdGF0ZSA9ICdvcGVuMmNvbXBsZXRl
JwogCit0cmFuc2FjdGlvbiBjb21wbGV0ZQorUEFTUyBzdGF0ZSBpcyAib3BlbjJjb21wbGV0ZSIK
Kwogb3BlbnJlcTMub25zdWNjZXNzCiBQQVNTIHN0YXRlIGlzICJvcGVuMmNvbXBsZXRlIgogc3Rh
dGUgPSAnb3BlbjNjb21wbGV0ZScKLQotdHJhbnNhY3Rpb24gY29tcGxldGUKLVBBU1Mgc3RhdGUg
aXMgIm9wZW4zY29tcGxldGUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Bl
bmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQKaW5kZXggMDM2NTM0YWNjNWZiNzM1ZTM0
YWQ1NGQxYWM3NWU5ODQyOTE2YWY3My4uODc2NmMzZWFiYzAyOTA0MzhmMDgyYzMwNDYyYTc4MGVh
OTY1Yzg1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGlu
Zy1hY3Rpdml0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDcgQEAgcHJlcGFy
ZURhdGFiYXNlKCk6CiBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5kZXhlZERC
Lm9wZW4oZGJuYW1lKQogZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIi
CitQQVNTIGRiLnZlcnNpb24gaXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5
LXdvcmtlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDY0ZTdhYWRkZWJjYzI2YzJjZjM1NjAwNjc2MTZi
NjVjMDlhYzg2YzQuLmVhYmVhZWFiMzdhYjc2NGI3NDdmNGE0NGFjNTRmYTQxYmUwNDQ2MjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHkt
d29ya2Vycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBT
dGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzCiBbV29ya2VyXSBp
bmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogW1dvcmtlcl0gaW5kZXhlZERCLm9wZW4o
ZGJuYW1lKQogW1dvcmtlcl0gZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBbV29ya2VyXSBkYi52
ZXJzaW9uIGlzICIiCitQQVNTIFtXb3JrZXJdIGRiLnZlcnNpb24gaXMgMQogW1dvcmtlcl0gZGIu
c2V0VmVyc2lvbignMScpCiBbV29ya2VyXSBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
dG9yZScpCiBbV29ya2VyXSBzdG9yZS5wdXQoMCwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5k
LXNldHZlcnNpb24uanMKaW5kZXggYzA5Y2E4ODEwMGVkMDFiODFjYTllYjI3YzY1YjFlM2U5NDJm
MjdmNS4uMGM3ODFmZDExMThiYzYyY2RiNjBjNTUyMGY5ODYxODRhMzM0Mzk0ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tYW5k
LXNldHZlcnNpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanMKQEAgLTIyLDE3ICsyMiwyMyBAQCBmdW5j
dGlvbiBkZWxldGVTdWNjZXNzKGV2dCkgewogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihkYm5hbWUpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2Vz
czsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICBy
ZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7
CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBpbml0aWFsVXBncmFkZU5lZWRlZDsKICAg
ICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CiB9CiAKKwor
ZnVuY3Rpb24gaW5pdGlhbFVwZ3JhZGVOZWVkZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7
Cit9CisKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKGV2dCkKIHsKICAgICBldmVudCA9IGV2dDsKICAg
ICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7CiAgICAgZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIp
OwogICAgIGV2YWxBbmRMb2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzb21lIHZlcnNpb24i
KScpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uOwogICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpAQCAtODUsOSArOTEsNyBAQCBmdW5j
dGlvbiBzZWNvbmRPcGVuKGV2dCkKIAogZnVuY3Rpb24gZmlyc3RVcGdyYWRlTmVlZGVkKGV2dCkK
IHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0VXBn
cmFkZU5lZWRlZCgpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZhbEFuZExvZygiZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJp
bmcoZGIpIiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJTdHJpbmcocmVxdWVzdC50cmFuc2FjdGlvbikiLCAiW29iamVjdCBJREJUcmFuc2FjdGlv
bl0iKTsKQEAgLTEwMCw0OSArMTA0LDY4IEBAIGZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZChl
dnQpCiB2YXIgZGlkVHJhbnNhY3Rpb25Db21wbGV0ZSA9IGZhbHNlOwogZnVuY3Rpb24gdHJhbnNh
Y3Rpb25Db21wbGV0ZWQoZXZ0KQogewotICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsK
LSAgICBkZWJ1ZygidHJhbnNhY3Rpb25Db21wbGV0ZWQoKToiKTsKKyAgICBwcmVhbWJsZShldnQp
OwogICAgIGV2YWxBbmRMb2coImRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSB0cnVlIik7CiB9CiAK
IGZ1bmN0aW9uIGZpcnN0T3BlbldpdGhWZXJzaW9uKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsK
LSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0T3BlbldpdGhWZXJzaW9uKCk6Iik7Cisg
ICAgcHJlYW1ibGUoZXZ0KTsKICAgICBzaG91bGRCZVRydWUoImRpZFRyYW5zYWN0aW9uQ29tcGxl
dGUiKTsKICAgICBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBl
dmFsQW5kTG9nKCJkYi5vbnZlcnNpb25jaGFuZ2UgPSB2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3Ry
aW5nVG9JbnQiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhkYikiLCAiW29i
amVjdCBJREJEYXRhYmFzZV0iKTsKICAgICBzaG91bGRCZU51bGwoInJlcXVlc3QudHJhbnNhY3Rp
b24iKTsKICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIyIik7CiAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJTdHJpbmcocmVxdWVzdCkiLCAiW29iamVjdCBJREJPcGVuREJSZXF1ZXN0XSIp
OwogICAgIGV2YWxBbmRMb2coJ3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzdHJpbmcgdmVyc2lv
biAyIiknKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlN0cmluZyhyZXF1ZXN0KSIsICJb
b2JqZWN0IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0XSIpOworICAgIGV2YWxBbmRMb2coInJlcXVl
c3Qub25zdWNjZXNzID0gc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrIik7CiAgICAgcmVxdWVzdC5v
bmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0
Lm9uZXJyb3IgPSBzZXRWZXJzaW9uTm90QWxsb3dlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQogCi1mdW5jdGlvbiBzZXRWZXJzaW9uTm90QWxs
b3dlZChldnQpCitmdW5jdGlvbiBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2soZXZ0KQogewotICAg
IGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbk5vdEFs
bG93ZWQoKToiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnR5cGUiLCAiZXJy
b3IiKTsKLSAgICBkZWJ1ZygicmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UgPSAiICsgcmVxdWVz
dC53ZWJraXRFcnJvck1lc3NhZ2UpOworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExv
ZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZXZhbEFuZExvZygi
dHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHNldEludFZlcnNpb24yIik7Cit9CisKK2Z1bmN0aW9u
IHNldEludFZlcnNpb24yKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRM
b2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7CisgICAgZXZhbEFuZExv
ZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzIik7CisgICAg
ZXZhbEFuZExvZygicmVxdWVzdC5vbmJsb2NrZWQgPSB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2Vk
Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisK
K2Z1bmN0aW9uIHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludChldnQpCit7CisgICAg
cHJlYW1ibGUoZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7Cit9CisKK2Z1bmN0
aW9uIHZlcnNpb24yQ29ubmVjdGlvbkJsb2NrZWQoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7
Cit9CisKK2Z1bmN0aW9uIHZlcnNpb24yQ29ubmVjdGlvblN1Y2Nlc3MoZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jbG9zZSgp
Iik7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSki
KTsKICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldoZW5UcnlpbmdMb3dW
ZXJzaW9uIik7CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxi
YWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsK
KyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdyYWRlTmVlZGVkQ2Fs
bGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGVycm9yV2hlblRyeWluZ0xvd1ZlcnNpb24oZXZ0KQogewot
ICAgIGV2ZW50ID0gZXZ0OwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiZXJyb3JXaGVuVHJ5
aW5nTG93VmVyc2lvbigpOiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZGVidWcoInJlcXVl
c3Qud2Via2l0RXJyb3JNZXNzYWdlID0gIiArIHJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlKTsK
ICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCA0KSIpOwog
ICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9u
LWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9u
LWhhcy1uby1zaWRlLWVmZmVjdHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJj
MTIwZDQyNWFkY2ExZjY2ZWNkNzM1MTljMjVhNzQ1YWIwYWFmMjAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVm
ZmVjdHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1pZiAodGhpcy5pbXBvcnRT
Y3JpcHRzKSB7Ci0gICAgaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMnKTsKLSAgICBpbXBvcnRTY3JpcHRzKCdzaGFyZWQuanMnKTsKLX0KLQot
ZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB3aGVuIHNldFZlcnNpb24gaXMgY2FsbGVkIG9uIGEgZGIg
d2l0aCBhbiBpbnRlZ2VyIHZlcnNpb24sIHZlcnNpb25jaGFuZ2UgZXZlbnRzIGRvbid0IGdldCBm
aXJlZCBvbiBvdGhlciBvcGVuIGRicy4iKTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBzZXREQk5hbWVGcm9tUGF0aCgpOwotICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKSIpOwotICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZGVsZXRlU3VjY2Vzcyhl
dnQpIHsKLSAgICBwcmVhbWJsZSgpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVk
REIub3BlbihkYm5hbWUsIDIpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaXJzdFN1Y2Nl
c3NFdmVudEhhbmRsZXI7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwotICAgIGdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gZmFsc2U7Ci0gICAgcmVxdWVzdC5v
bnVwZ3JhZGVuZWVkZWQgPSBmaXJzdFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsKLX0KLQotZnVuY3Rp
b24gZmlyc3RVcGdyYWRlTmVlZGVkQ2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7
Ci0gICAgZXZhbEFuZExvZygiZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSB0cnVlIik7Ci0g
ICAgc2hvdWxkQmUoImV2ZW50Lm9sZFZlcnNpb24iLCAiMCIpOwotICAgIHNob3VsZEJlKCJldmVu
dC5uZXdWZXJzaW9uIiwgIjIiKTsKLX0KLQotZnVuY3Rpb24gZmlyc3RTdWNjZXNzRXZlbnRIYW5k
bGVyKGV2dCkKLXsKLSAgICBwcmVhbWJsZShldnQpOwotICAgIHNob3VsZEJlVHJ1ZSgiZ290Rmly
c3RVcGdyYWRlTmVlZGVkRXZlbnQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMSA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMS5vbnZlcnNp
b25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrIik7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcoY29ubmVjdGlvbjEpIiwgIltvYmplY3QgSURCRGF0YWJh
c2VdIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFN1Y2Nlc3NDYWxsYmFjazsKLSAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9u
YmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOwotfQotCi1mdW5jdGlv
biBzZWNvbmRTdWNjZXNzQ2FsbGJhY2soZXZ0KQotewotICAgIHByZWFtYmxlKGV2dCk7Ci0gICAg
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFuZExvZygi
cmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24nKSIpOwotICAgIGV2YWxBbmRMb2coInJl
cXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25FcnJvciIpOwotICAgIGV2YWxBbmRMb2coInJlcXVl
c3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjayIpOwotICAgIGV2YWxBbmRM
b2coInJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjayIpOwotfQot
Ci1mdW5jdGlvbiBzZXRWZXJzaW9uRXJyb3IoZXZ0KQotewotICAgIHByZWFtYmxlKCk7Ci0gICAg
ZGVidWcoIk9wZW4gdXAgYSBuZXcgZGIgdG8gZW5zdXJlIHRoYXQgaWYgY29ubmVjdGlvbjEgd2Vy
ZSB0byBnZXQgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50LCBpdCB3aWxsIGJlIGRlbGl2ZXJlZCBiZWZv
cmUgdGhlIHRlc3QgZmluaXNoZXMiKTsKLSAgICBldmFsQW5kTG9nKCJuZXdfZGIgPSBpbmRleGVk
REIub3BlbihkYm5hbWUgKyAnMicpIik7Ci0gICAgZXZhbEFuZExvZygibmV3X2RiLm9uc3VjY2Vz
cyA9IG5ld0RCU3VjY2VzcyIpOwotICAgIG5ld19kYi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Ci0gICAgbmV3X2RiLm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJh
Y2s7Ci19Ci0KLWZ1bmN0aW9uIG5ld0RCU3VjY2VzcyhldnQpCi17Ci0gICAgcHJlYW1ibGUoKTsK
LSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotdGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZl
cnNpb25zLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMmIwYTljYWUzMDRm
MWNmYzE5ODk4NWVlMDkwYjhkNWIyYzM4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVy
c2lvbnMuanMKQEAgLTAsMCArMSw2NSBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAg
IGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Jyk7CisgICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IHRoYXQgb25seSB0aGUgZmlyc3Qgb3BlbiBjYWxsIGdldHMgYW4gdXBncmFkZW5lZWRlZCIp
OworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOworICAg
IHNldERCTmFtZUZyb21QYXRoKCk7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRl
bGV0ZVN1Y2Nlc3M7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7Cit9CisKK3ZhciBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOwordmFyIGdv
dFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOworZnVuY3Rpb24gZGVsZXRlU3VjY2Vz
cyhldnQpIHsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1l
KSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjFPcGVu
U3VjY2VzcyIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gY29u
bmVjdGlvbjFVcGdyYWRlTmVlZGVkIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRi
bmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IGNvbm5lY3Rpb24y
T3BlblN1Y2Nlc3MiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJs
b2NrZWRDYWxsYmFjazsKK30KKworZnVuY3Rpb24gY29ubmVjdGlvbjFVcGdyYWRlTmVlZGVkKGV2
dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImdvdEZpcnN0VXBncmFk
ZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOworICAgIHNob3VsZEJlKCJldmVudC5vbGRWZXJzaW9uIiwg
IjAiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQubmV3VmVyc2lvbiIsICIxIik7Cit9CisKK2Z1bmN0
aW9uIGNvbm5lY3Rpb24xT3BlblN1Y2Nlc3MoZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7Cisg
ICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzaG91
bGRCZVRydWUoImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAgc2hvdWxkQmUoImRi
LnZlcnNpb24iLCAiMSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQo
ZXZ0KQoreworICAgIHByZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZ290U2Vjb25kVXBn
cmFkZU5lZWRlZEV2ZW50ID0gdHJ1ZSIpOworfQorCitmdW5jdGlvbiBjb25uZWN0aW9uMk9wZW5T
dWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGRiID0gZXZhbEFuZExvZygi
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ290U2Vjb25k
VXBncmFkZU5lZWRlZEV2ZW50Iik7CisgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRlcmluZy5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCmluZGV4IDcz
NTk4ZmQ3MjM1ODYwZWRhNzhiMmYxNzFlZTE0ZGIwYzBjMWFjY2YuLjc1ZjAzMjU2YzdjM2Y4ZDUy
ZTE5MGExNTYwYTkzMzYyNzJjOGUwZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9saXN0LW9yZGVyaW5nLmpzCkBAIC01Miw3ICs1Miw3
IEBAIGZ1bmN0aW9uIHRlc3RTdG9yZXNBbmRJbmRleGVzKCkKICAgICAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJl
c3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwg
IiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwogICAgICAgICAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgICAgICAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKQEAgLTgxLDQgKzgxLDQgQEAgZnVu
Y3Rpb24gdGVzdFN0b3Jlc0FuZEluZGV4ZXMoKQogICAgIH07CiB9CiAKLXRlc3QoKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kdXJpbmctdHJhbnNh
Y3Rpb24uanMKaW5kZXggYjUwMzI3ODkxOGMyZTY0N2MzZjBjODYzODAyNzg1MmY0ZTUxN2M4Yy4u
ZjEyNzE3NmI3ZjlhYTJiNTg5ODYzMThhNWM5ZjU2NmRhYWZhZjIyMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0
aW9uLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVu
LWR1cmluZy10cmFuc2FjdGlvbi5qcwpAQCAtNDUsOCArNDUsOCBAQCBmdW5jdGlvbiBzdGFydFRy
YW5zYWN0aW9uKCkKICAgICB0cmFucy5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgIGRlYnVnKCJ0
cmFuc2FjdGlvbiBjb21wbGV0ZSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0
YXRlIiwgIm9wZW4zY29tcGxldGUiKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygic3RhdGUiLCAib3BlbjJjb21wbGV0ZSIpOworICAgICAg
ICBkZWJ1ZygiIik7CiAgICAgfTsKIAogICAgIGRlYnVnKCIiKTsKQEAgLTU2LDcgKzU2LDcgQEAg
ZnVuY3Rpb24gc3RhcnRUcmFuc2FjdGlvbigpCiBmdW5jdGlvbiB0cnlPcGVucygpCiB7CiAgICAg
ZGVidWcoInRyeWluZyB0byBvcGVuIHRoZSBzYW1lIGRhdGFiYXNlIik7Ci0gICAgZXZhbEFuZExv
Zygib3BlbnJlcTIgPSBpbmRleGVkREIub3BlbignZGIxJykiKTsKKyAgICBldmFsQW5kTG9nKCJv
cGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFuc2FjdGlvbjEnKSIpOwog
ICAgIG9wZW5yZXEyLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBvcGVu
cmVxMi5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICBkZWJ1Zygib3BlbnJlcTIu
b25zdWNjZXNzIik7CkBAIC03Myw5ICs3Myw5IEBAIGZ1bmN0aW9uIHRyeU9wZW5zKCkKICAgICAg
ICAgZGVidWcoIm9wZW5yZXEzLm9uc3VjY2VzcyIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInN0YXRlIiwgIm9wZW4yY29tcGxldGUiKTsKICAgICAgICAgZXZhbEFuZExvZygic3Rh
dGUgPSAnb3BlbjNjb21wbGV0ZSciKTsKLSAgICAgICAgZGVidWcoIiIpOworICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKICAgICB9CiAgICAgZGVidWcoIiIpOwogfQogCi10ZXN0KCk7ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQordGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwppbmRleCBm
Mjk5ZTAyOTQzMmVhM2RkN2M1ODEzNDFhYTFlNDcwOGFhZGY5YjRiLi5kMTEwN2RhYWExMjkzN2E3
MjFhNzRjODRhOGE3YWQ1OWNkOTg1NDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcworKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwpAQCAtMjIs
NyArMjIsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVlc3Qu
cmVzdWx0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNpb24i
LCAiIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAg
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAgICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAg
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dAppbmRleCA4ZmJmOTA1MGQ2YzllYjE4MGE5ZjcyNTM3ZGZhYzIzYzA2Y2ExNzEwLi4wMmEwYjQ5
NzJjYzY1OTExOWY3ODcxY2JhMjNjMzExNGUyMTA4YmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dApAQCAtMTAsNyArMTAsNyBAQCBQcmVwYXJlIERhdGFiYXNlCiBpbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoJ3N0cnVjdHVyZWQtY2xvbmUnKQogaW5kZXhlZERCLm9wZW4oJ3N0cnVjdHVyZWQtY2xv
bmUnKQogZGIgPSByZXF1ZXN0LnJlc3VsdAotUEFTUyBkYi52ZXJzaW9uIGlzICIiCitQQVNTIGRi
LnZlcnNpb24gaXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogVGhpcyBpbmRleCBpcyBub3QgdXNlZCwgYnV0IGV2YWx1YXRp
bmcga2V5IHBhdGggb24gZWFjaCBwdXQoKSBjYWxsIHdpbGwgZXhlcmNpc2UgKGRlKXNlcmlhbGl6
YXRpb246CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1
cmVkLWNsb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVk
LWNsb25lLmh0bWwKaW5kZXggOGQ4MmVjODRiZjkyMWExZDQ5ODNiYWQzYWQ3YzJmNWI1ODVmMmRk
NS4uMzUwNmNmNjE3YTQ0NjU5ZTljMjY3MjMzYzc2OWQyNzA3MDZmZTFjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbApAQCAt
MzYsNyArMzYsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJkYiA9IHJlcXVl
c3QucmVzdWx0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZlcnNp
b24iLCAiIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIxIik7CiAgICAg
ICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7CiAgICAg
ICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAg
ICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164462</attachid>
            <date>2012-09-17 15:31:59 -0700</date>
            <delta_ts>2012-09-19 13:28:12 -0700</delta_ts>
            <desc>ToT</desc>
            <filename>bug-96444-20120917153127.patch</filename>
            <type>text/plain</type>
            <size>50436</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI2NTM3ZGIwNjZlN2Iz
MDlhODFmMzVlZTUxMWJlMDNmYTEyODExNC4uOTlkM2Y2NzNiNzRmMzkyY2RkNGQ4MjgwYTFkYjM5
ZTgxOGNlYzJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGZp
cmUgdXBncmFkZW5lZWRlZCBldmVuIHdpdGhvdXQgYW4gZXhwbGljaXQgaW50ZWdlciB2ZXJzaW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gb2Yg
bm90ZToKKyAgICAgICAgLSBOZXcgZGF0YWJhc2VzIG5vdyBnZXQgYSBkZWZhdWx0IHZlcnNpb24g
b2YgMSBpbnN0ZWFkIG9mCisgICAgICAgIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiB0aGV5IGFyZSBv
cGVuZWQuCisgICAgICAgIC0gV2Ugbm93IGFsbG93IGRhdGFiYXNlcyB3aXRoIGFuIGludGVnZXIg
dmVyc2lvbiB0byByZXZlcnQgdG8gYSBzdHJpbmcKKyAgICAgICAgdmVyc2lvbiBieSBjYWxsaW5n
IHNldFZlcnNpb24uCisKKyAgICAgICAgSW1wbGVtZW50YXRpb24gZGV0YWlsOiB3ZSBzdG9yZSBi
b3RoIGFuIGludGVnZXIgdmVyc2lvbiBhbmQgc3RyaW5nCisgICAgICAgIHZlcnNpb24gZm9yIGEg
cGFydGljdWxhciBkYXRhYmFzZS4gSWYgYm90aCBhcmUgc2V0IHdlIGdpdmUgcHJlZmVyZW5jZQor
ICAgICAgICB0byB0aGUgaW50ZWdlciB2ZXJzaW9uIGFuZCBhc3N1bWUgdGhlIGRiIGlzIG9uIHRo
ZSBpbnRlZ2VyIHRyYWNrLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZl
cnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tl
bmRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZl
cnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVy
c2lvbkludGVybmFsKToKKyAgICAgICAgTm93IHRoYXQgdGhpcyBjYW4gYmUgY2FsbGVkIGV2ZW4g
YWZ0ZXIgYW4gaW50IHZlcnNpb24gaXMgc2V0IHdlIGhhdmUKKyAgICAgICAgdG8gbWFrZSBpdCBy
ZXZva2UgdGhlIGludCB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpvcGVuQ29ubmVjdGlvbik6CisgICAgICAgIE5lc3RlZCBpZnMgd2VyZSBnZXR0
aW5nIGRlZXAsIHNvIHJlZmFjdG9yIHRvIHJldHVybiBlYXJseSBpbnN0ZWFkLgorCisgICAgICAg
IChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVEYXRhYmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24pOgorICAg
ICAgICBOb3cgdGhhdCBhbiBpbnQgdmVyc2lvbiBjb3VsZCBoYXZlIGJlZW4gc2V0IGJlZm9yZSBz
ZXRWZXJzaW9uIHdhcworICAgICAgICBjYWxsZWQgd2UgaGF2ZSB0byByZXNldCB0aGUgaW50IHZl
cnNpb24gb24gYWJvcnQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFiYXNlSW50
VmVyc2lvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5j
cHA6CisgICAgICAgIDAgaXMgbm93IGEgdmFsaWQgaW50ZWdlciB2ZXJzaW9uIHRvIHN0b3JlIHRv
IGxldmVsZGIgaWYgYW4gaWRiCisgICAgICAgIGRhdGFiYXNlIGlzIHJldmVydGluZyB0byBhIHN0
cmluZyB2ZXJzaW9uLgorCisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVw
Z3JhZGVOZWVkZWQpOgorICAgICAgICBJZiB0aGUgb3BlbiByZXF1ZXN0IGRpZCBub3Qgc3BlY2lm
eSBhbiBpbnRlZ2VyIHZlcnNpb24gYnV0CisgICAgICAgIHVwZ3JhZGVuZWVkZWQgaXMgY2FsbGVk
LCBpdCBtZWFucyB0aGUgZGF0YWJhc2Ugd2FzIGdpdmVuIHRoZSBkZWZhdWx0CisgICAgICAgIHZl
cnNpb24gb2YgMS4KKwogMjAxMi0wOS0xNyAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgQWxsb3cgZ2VzdHVyZSBldmVudHMgdG8gc2V0IGFjdGl2ZS9ob3ZlciBz
dGF0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggNDY1NzM2MmQxMDU2OTFhZTU2YjgyZmJj
NTc2ZDQxNmM2NWEzZThjOC4uMDQzZWIzZWMxNTA5YTkyYzJlYjFlNmRmNmZiY2FiODQ2YjgzODNj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJh
c2VCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTEyNywxMSArMTI3LDE1IEBAIFBhc3NSZWZQ
dHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRl
KGNvbnN0IFN0cmluZyYKICAgICByZXR1cm4gYmFja2VuZC5yZWxlYXNlKCk7CiB9CiAKK25hbWVz
cGFjZSB7Citjb25zdCBjaGFyKiBOb1N0cmluZ1ZlcnNpb24gPSAiIjsKK30KKwogSURCRGF0YWJh
c2VCYWNrZW5kSW1wbDo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUs
IElEQkJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
KiBjb29yZGluYXRvciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBmYWN0b3J5LCBjb25zdCBTdHJp
bmcmIHVuaXF1ZUlkZW50aWZpZXIpCiAgICAgOiBtX2JhY2tpbmdTdG9yZShiYWNraW5nU3RvcmUp
CiAgICAgLCBtX2lkKEludmFsaWRJZCkKICAgICAsIG1fbmFtZShuYW1lKQotICAgICwgbV92ZXJz
aW9uKCIiKQorICAgICwgbV92ZXJzaW9uKE5vU3RyaW5nVmVyc2lvbikKICAgICAsIG1faW50VmVy
c2lvbihJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pCiAgICAgLCBtX2lkZW50aWZp
ZXIodW5pcXVlSWRlbnRpZmllcikKICAgICAsIG1fZmFjdG9yeShmYWN0b3J5KQpAQCAtMjQwLDEw
ICsyNDQsNiBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24oY29uc3Qg
U3RyaW5nJiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbAogICAgICAgICBjYWxsYmFja3MtPm9u
RXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJf
QUJPUlRfRVJSLCAiQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBzZXQgdmVyc2lvbiB0cmFu
c2FjdGlvbiB3YXMgY3JlYXRlZCIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAo
bV9pbnRWZXJzaW9uICE9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikgewotICAg
ICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgU3RyaW5nOjpmb3JtYXQoIllvdSBjYW4ndCB1c2Ug
dGhlIHNldFZlcnNpb24gZnVuY3Rpb24gaWYgeW91J3ZlIGFscmVhZHkgc2V0IHRoZSB2ZXJzaW9u
IHRocm91Z2ggYW4gb3BlbiBjYWxsLiAgVGhlIGN1cnJlbnQgaW50ZWdlciB2ZXJzaW9uIGlzICVs
bGQiLCBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KG1faW50VmVyc2lvbikpKSk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9CiAgICAgZm9yIChEYXRhYmFzZUNhbGxiYWNrc1NldDo6Y29uc3RfaXRlcmF0
b3IgaXQgPSBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmJlZ2luKCk7IGl0ICE9IG1fZGF0YWJhc2VD
YWxsYmFja3NTZXQuZW5kKCk7ICsraXQpIHsKICAgICAgICAgLy8gRnJvbnQgZW5kIGVuc3VyZXMg
dGhlIGV2ZW50IGlzIG5vdCBmaXJlZCBhdCBjb25uZWN0aW9ucyB0aGF0IGhhdmUgY2xvc2VQZW5k
aW5nIHNldC4KICAgICAgICAgaWYgKCppdCAhPSBkYXRhYmFzZUNhbGxiYWNrcykKQEAgLTI3Miw3
ICsyNzIsNyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24oY29uc3Qg
U3RyaW5nJiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbAogICAgIFJlZlB0cjxJREJEYXRhYmFz
ZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSA9IHRoaXM7CiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2No
ZWR1bGVUYXNrKAogICAgICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpzZXRWZXJzaW9uSW50ZXJuYWwsIGRhdGFiYXNlLCB2ZXJzaW9uLCBjYWxsYmFj
a3MsIHRyYW5zYWN0aW9uKSwKLSAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6cmVzZXRWZXJzaW9uLCBkYXRhYmFzZSwgbV92ZXJzaW9uKSkpIHsK
KyAgICAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
cmVzZXRWZXJzaW9uLCBkYXRhYmFzZSwgbV92ZXJzaW9uLCBtX2ludFZlcnNpb24pKSkgewogICAg
ICAgICAvLyBGSVhNRTogUmVtb3ZlIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbmVzLgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlv
bjo6VFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSOwpAQCAtMjg0LDcgKzI4NCw4IEBAIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmCiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IHRy
YW5zYWN0aW9uID0gcHJwVHJhbnNhY3Rpb247CiAgICAgaW50NjRfdCBkYXRhYmFzZUlkID0gZGF0
YWJhc2UtPmlkKCk7CiAgICAgZGF0YWJhc2UtPm1fdmVyc2lvbiA9IHZlcnNpb247Ci0gICAgaWYg
KCFkYXRhYmFzZS0+bV9iYWNraW5nU3RvcmUtPnVwZGF0ZUlEQkRhdGFiYXNlTWV0YURhdGEoZGF0
YWJhc2VJZCwgZGF0YWJhc2UtPm1fdmVyc2lvbikpIHsKKyAgICBkYXRhYmFzZS0+bV9pbnRWZXJz
aW9uID0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uOworICAgIGlmICghZGF0YWJh
c2UtPm1fYmFja2luZ1N0b3JlLT51cGRhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGRhdGFiYXNlSWQs
IGRhdGFiYXNlLT5tX3ZlcnNpb24pIHx8ICFkYXRhYmFzZS0+bV9iYWNraW5nU3RvcmUtPnVwZGF0
ZUlEQkRhdGFiYXNlSW50VmVyc2lvbihkYXRhYmFzZUlkLCBkYXRhYmFzZS0+bV9pbnRWZXJzaW9u
KSkgewogICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRl
KElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkVycm9yIHdyaXRpbmcgZGF0YSB0
byBzdGFibGUgc3RvcmFnZS4iKSk7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwogICAg
ICAgICByZXR1cm47CkBAIC00MzcsMTYgKzQzOCwyMyBAQCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb24o
RAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpvcGVuQ29ubmVjdGlvbihQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tz
PiBkYXRhYmFzZUNhbGxiYWNrcykKIHsKICAgICBBU1NFUlQobV9iYWNraW5nU3RvcmUuZ2V0KCkp
OwotICAgIGlmICghbV9wZW5kaW5nRGVsZXRlQ2FsbHMuaXNFbXB0eSgpIHx8IG1fcnVubmluZ1Zl
cnNpb25DaGFuZ2VUcmFuc2FjdGlvbiB8fCAhbV9wZW5kaW5nU2V0VmVyc2lvbkNhbGxzLmlzRW1w
dHkoKSkKKyAgICBpZiAoIW1fcGVuZGluZ0RlbGV0ZUNhbGxzLmlzRW1wdHkoKSB8fCBtX3J1bm5p
bmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgIW1fcGVuZGluZ1NldFZlcnNpb25DYWxscy5p
c0VtcHR5KCkpIHsKICAgICAgICAgbV9wZW5kaW5nT3BlbkNhbGxzLmFwcGVuZChQZW5kaW5nT3Bl
bkNhbGw6OmNyZWF0ZShjYWxsYmFja3MsIGRhdGFiYXNlQ2FsbGJhY2tzKSk7Ci0gICAgZWxzZSB7
Ci0gICAgICAgIGlmIChtX2lkID09IEludmFsaWRJZCAmJiAhb3BlbkludGVybmFsKCkpCi0gICAg
ICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKLSAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmFkZChSZWZQdHI8
SURCRGF0YWJhc2VDYWxsYmFja3M+KGRhdGFiYXNlQ2FsbGJhY2tzKSk7Ci0gICAgICAgICAgICBj
YWxsYmFja3MtPm9uU3VjY2Vzcyh0aGlzKTsKLSAgICAgICAgfQorICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIGlmIChtX2lkID09IEludmFsaWRJZCAmJiAhb3BlbkludGVybmFsKCkpIHsKKyAg
ICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRh
YmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7CisgICAgICAg
IHJldHVybjsKICAgICB9CisgICAgaWYgKG1fdmVyc2lvbiA9PSBOb1N0cmluZ1ZlcnNpb24gJiYg
bV9pbnRWZXJzaW9uID09IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikgeworICAg
ICAgICAvLyBTcGVjIHNheXM6IElmIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkIGFuZCBubyBkYXRh
YmFzZSBleGlzdHMsIHNldAorICAgICAgICAvLyBkYXRhYmFzZSB2ZXJzaW9uIHRvIDEuIFdlIGlu
ZmVyIHRoYXQgdGhlIGRhdGFiYXNlIGRpZG4ndCBleGlzdCBmcm9tCisgICAgICAgIC8vIGl0cyBs
YWNrIG9mIGVpdGhlciB0eXBlIG9mIHZlcnNpb24uCisgICAgICAgIG9wZW5Db25uZWN0aW9uV2l0
aFZlcnNpb24oY2FsbGJhY2tzLCBkYXRhYmFzZUNhbGxiYWNrcywgMSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5hZGQoUmVmUHRyPElEQkRhdGFi
YXNlQ2FsbGJhY2tzPihkYXRhYmFzZUNhbGxiYWNrcykpOworICAgIGNhbGxiYWNrcy0+b25TdWNj
ZXNzKHRoaXMpOwogfQogCiB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJ1bkludFZlcnNp
b25DaGFuZ2VUcmFuc2FjdGlvbihpbnQ2NF90IHJlcXVlc3RlZFZlcnNpb24sIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFj
a3M+IHBycERhdGFiYXNlQ2FsbGJhY2tzKQpAQCAtNDgyLDcgKzQ5MCw3IEBAIHZvaWQgSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6cnVuSW50VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKGludDY0X3Qg
cmVxdWVzdGVkVmVyCiAKICAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJh
c2UgPSB0aGlzOwogICAgIE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiBpbnRW
ZXJzaW9uVGFzayA9IGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
c2V0SW50VmVyc2lvbkludGVybmFsLCBkYXRhYmFzZSwgcmVxdWVzdGVkVmVyc2lvbiwgY2FsbGJh
Y2tzLCB0cmFuc2FjdGlvbik7Ci0gICAgT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRh
c2s+IHJlc2V0VmVyc2lvbk9uQWJvcnRUYXNrID0gY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJEYXRh
YmFzZUJhY2tlbmRJbXBsOjpyZXNldEludFZlcnNpb24sIGRhdGFiYXNlLCBtX2ludFZlcnNpb24p
OworICAgIE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiByZXNldFZlcnNpb25P
bkFib3J0VGFzayA9IGNyZWF0ZUNhbGxiYWNrVGFzaygmSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
cmVzZXRWZXJzaW9uLCBkYXRhYmFzZSwgbV92ZXJzaW9uLCBtX2ludFZlcnNpb24pOwogICAgIGlm
ICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhpbnRWZXJzaW9uVGFzay5yZWxlYXNlKCksIHJl
c2V0VmVyc2lvbk9uQWJvcnRUYXNrLnJlbGVhc2UoKSkpIHsKICAgICAgICAgLy8gRklYTUU6IFJl
bW92ZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW5lcy4KICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CkBAIC01MzEsNyArNTM5LDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpk
ZWxldGVEYXRhYmFzZShQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2sKICAgICBS
ZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxsYmFja3M7CiAgICAgZm9yIChE
YXRhYmFzZUNhbGxiYWNrc1NldDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2RhdGFiYXNlQ2FsbGJh
Y2tzU2V0LmJlZ2luKCk7IGl0ICE9IG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuZW5kKCk7ICsraXQp
IHsKICAgICAgICAgLy8gRnJvbnQgZW5kIGVuc3VyZXMgdGhlIGV2ZW50IGlzIG5vdCBmaXJlZCBh
dCBjb25uZWN0aW9ucyB0aGF0IGhhdmUgY2xvc2VQZW5kaW5nIHNldC4KLSAgICAgICAgKCppdCkt
Pm9uVmVyc2lvbkNoYW5nZSgiIik7CisgICAgICAgICgqaXQpLT5vblZlcnNpb25DaGFuZ2UoTm9T
dHJpbmdWZXJzaW9uKTsKICAgICB9CiAgICAgLy8gRklYTUU6IE9ubHkgZmlyZSBvbkJsb2NrZWQg
aWYgdGhlcmUgYXJlIG9wZW4gY29ubmVjdGlvbnMgYWZ0ZXIgdGhlCiAgICAgLy8gVmVyc2lvbkNo
YW5nZUV2ZW50cyBhcmUgcmVjZWl2ZWQsIG5vdCBqdXN0IHNldCB1cCB0byBmaXJlLgpAQCAtNTQ2
LDcgKzU1NCw3IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlRGF0YWJhc2Uo
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrCiAgICAgICAgIGNhbGxiYWNrcy0+
b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVO
S05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIG1fdmVyc2lvbiA9ICIiOworICAgIG1fdmVyc2lvbiA9IE5vU3RyaW5nVmVyc2lvbjsKICAg
ICBtX2lkID0gSW52YWxpZElkOwogICAgIG1faW50VmVyc2lvbiA9IElEQkRhdGFiYXNlTWV0YWRh
dGE6Ok5vSW50VmVyc2lvbjsKICAgICBtX29iamVjdFN0b3Jlcy5jbGVhcigpOwpAQCAtNjE3LDE3
ICs2MjUsMTIgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjphZGRPYmplY3RTdG9yZVRv
TWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmUKICAgICBkYXRhYmFzZS0+bV9vYmpl
Y3RTdG9yZXMuc2V0KG9iamVjdFN0b3JlUHRyLT5uYW1lKCksIG9iamVjdFN0b3JlUHRyKTsKIH0K
IAotdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2Us
IGNvbnN0IFN0cmluZyYgdmVyc2lvbikKK3ZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVz
ZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
QmFja2VuZEltcGw+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHByZXZpb3VzVmVyc2lvbiwgaW50
NjRfdCBwcmV2aW91c0ludFZlcnNpb24pCiB7Ci0gICAgZGF0YWJhc2UtPm1fdmVyc2lvbiA9IHZl
cnNpb247CisgICAgZGF0YWJhc2UtPm1fdmVyc2lvbiA9IHByZXZpb3VzVmVyc2lvbjsKKyAgICBk
YXRhYmFzZS0+bV9pbnRWZXJzaW9uID0gcHJldmlvdXNJbnRWZXJzaW9uOwogfQogCi12b2lkIElE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0SW50VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgaW50NjRf
dCBvbGRWZXJzaW9uKQotewotICAgIGRhdGFiYXNlLT5tX2ludFZlcnNpb24gPSBvbGRWZXJzaW9u
OwotfQotCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCmluZGV4IDIyY2NjNDMyMjBiNTA0ZmU3MDY4
NTY3YjU5YTQ3NjI1NWVlYTg1NGQuLjQ1ODEyNGNmNTJkODI0N2E3ZWNmOGU4OGIwOTU4NTlmYTgw
MjUzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKQEAgLTkxLDggKzkxLDcgQEAgcHJpdmF0ZToKICAg
ICAvLyBUaGVzZSBhcmUgdXNlZCBhcyBzZXRWZXJzaW9uIHRyYW5zYWN0aW9uIGFib3J0IHRhc2tz
LgogICAgIHN0YXRpYyB2b2lkIHJlbW92ZU9iamVjdFN0b3JlRnJvbU1hcChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPik7CiAgICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0
U3RvcmVUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPik7Ci0g
ICAgc3RhdGljIHZvaWQgcmVzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNz
UmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBjb25zdCBTdHJpbmcmIHZlcnNpb24pOwot
ICAgIHN0YXRpYyB2b2lkIHJlc2V0SW50VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgaW50NjRfdCBpbnRWZXJzaW9uKTsK
KyAgICBzdGF0aWMgdm9pZCByZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwg
aW50NjRfdCBpbnRWZXJzaW9uKTsKIAogICAgIFJlZlB0cjxJREJCYWNraW5nU3RvcmU+IG1fYmFj
a2luZ1N0b3JlOwogICAgIGludDY0X3QgbV9pZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAKaW5kZXgg
OTMwZTIwYjNiODM1ZGRhZWQ1MzdlN2UxOTBiMTQ1MTJlYWU0NzI2YS4uNTJiZGE0OWI2OGI1ZGYy
YTliZTU4YjA2MTc1MTFjMWI2MTFiYzU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAKQEAgLTMz
OSw4ICszMzksOCBAQCBib29sIElEQkxldmVsREJCYWNraW5nU3RvcmU6OmNyZWF0ZUlEQkRhdGFi
YXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdAogYm9vbCBJREJMZXZlbERCQmFj
a2luZ1N0b3JlOjp1cGRhdGVJREJEYXRhYmFzZUludFZlcnNpb24oaW50NjRfdCByb3dJZCwgaW50
NjRfdCBpbnRWZXJzaW9uKQogewogICAgIEFTU0VSVChtX2N1cnJlbnRUcmFuc2FjdGlvbik7Ci0g
ICAgLy8gRklYTUU6IENoYW5nZSB0aGlzIHRvIHN0cmljdGx5IGdyZWF0ZXIgdGhhbiAwIG9uY2Ug
d2UgdGhyb3cgVHlwZUVycm9yIGZvcgotICAgIC8vIGJhZCB2ZXJzaW9ucy4KKyAgICBpZiAoaW50
VmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb24pCisgICAgICAgIGlu
dFZlcnNpb24gPSBJREJEYXRhYmFzZU1ldGFkYXRhOjpEZWZhdWx0SW50VmVyc2lvbjsKICAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKGludFZlcnNpb24gPj0gMCwgImludFZlcnNpb24gd2FzICVsbGQi
LCBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KGludFZlcnNpb24pKTsKICAgICBpZiAoIXB1dFZhcklu
dChtX2N1cnJlbnRUcmFuc2FjdGlvbi5nZXQoKSwgRGF0YWJhc2VNZXRhRGF0YUtleTo6ZW5jb2Rl
KHJvd0lkLCBEYXRhYmFzZU1ldGFEYXRhS2V5OjpVc2VySW50VmVyc2lvbiksIGludFZlcnNpb24p
KQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQk9wZW5EQlJlcXVlc3QuY3BwCmluZGV4IDc1MjYxM2M1ZTM3MjFiNGQ1
MmEwZTQwNTk4YjYyZGE2MmI0Y2Y0ZTcuLjA5ZjY5MDliNDZiYzdjMzU5OWMxODQxNTk4ZjMyMmUw
ZGZkOGE4OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9wZW5EQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQk9wZW5EQlJlcXVlc3QuY3BwCkBAIC04OCw5ICs4OCwxMSBAQCB2b2lkIElEQk9wZW5EQlJl
cXVlc3Q6Om9uVXBncmFkZU5lZWRlZChpbnQ2NF90IG9sZFZlcnNpb24sIFBhc3NSZWZQdHI8SURC
VHJhbnNhYwogICAgIG1fcmVzdWx0ID0gSURCQW55OjpjcmVhdGUoaWRiRGF0YWJhc2UucmVsZWFz
ZSgpKTsKIAogICAgIGlmIChvbGRWZXJzaW9uID09IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50
VmVyc2lvbikgewotICAgICAgLy8gVGhpcyBkYXRhYmFzZSBoYXNuJ3QgaGFkIGFuIGludGVnZXIg
dmVyc2lvbiBiZWZvcmUuCi0gICAgICBvbGRWZXJzaW9uID0gSURCRGF0YWJhc2VNZXRhZGF0YTo6
RGVmYXVsdEludFZlcnNpb247CisgICAgICAgIC8vIFRoaXMgZGF0YWJhc2UgaGFzbid0IGhhZCBh
biBpbnRlZ2VyIHZlcnNpb24gYmVmb3JlLgorICAgICAgICBvbGRWZXJzaW9uID0gSURCRGF0YWJh
c2VNZXRhZGF0YTo6RGVmYXVsdEludFZlcnNpb247CiAgICAgfQorICAgIGlmIChtX3ZlcnNpb24g
PT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKQorICAgICAgICBtX3ZlcnNpb24g
PSAxOwogICAgIGVucXVldWVFdmVudChJREJVcGdyYWRlTmVlZGVkRXZlbnQ6OmNyZWF0ZShvbGRW
ZXJzaW9uLCBtX3ZlcnNpb24sIGV2ZW50TmFtZXMoKS51cGdyYWRlbmVlZGVkRXZlbnQpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDhmNzkyNWRhYThkOWI2MTQ5ZGYwYWEyN2IwZDAwY2IxNDI4ZmJlOWMuLjFhYmRm
NTg0MDhiYmY1MzlhZDhiNzBlNTA5NzI5ZWE3ODMzYTNkYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NiBA
QAorMjAxMi0wOS0xMSAgRGF2aWQgR3JvZ2FuICA8ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSW5kZXhlZERCOiBmaXJlIHVwZ3JhZGVuZWVkZWQgZXZlbiB3aXRob3V0IGFuIGV4cGxp
Y2l0IGludGVnZXIgdmVyc2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTY0NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNb3N0bHkgdXBkYXRpbmcgZXhwZWN0YXRpb25zIGFib3V0IGdldHRpbmcgYW4g
dXBncmFkZW5lZWRlZCBvbiBhIG5ldworICAgICAgICBkYXRhYmFzZSBhbmQgdGhlIGRlZmF1bHQg
dmVyc2lvbiBiZWluZyAxIGluc3RlYWQgb2YgIiIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1s
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50
ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2
ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVtb3ZlIHRlc3Qg
dGhhdCBzZXRWZXJzaW9uIGZpcmVzIGFuIGVycm9yIGlmIGFuIGludCB2ZXJzaW9uIGlzIHNldC4K
KyAgICAgICAgQ2hhbmdlIGl0IHRvIHRlc3RpbmcgdGhhdCBhbiBpbnQgdmVyc2lvbiBjYW4gcmVw
bGFjZSBhIHN0cmluZyB2ZXJzaW9uCisgICAgICAgIHRoYXQgcmVwbGFjZWQgYW4gaW50IHZlcnNp
b24uCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0
ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9u
LWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgc2V0VmVyc2lvbiBpcyBubyBsb25nZXIgaW52YWxpZCBzbyB0aGlzIHRl
c3QgY2FuIGJlIGRlbGV0ZWQuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJz
aW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgV2Ugbm93IGZ1bGx5IHBh
c3MgdGhpcyB0ZXN0LgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10
d28tb3BlbnMtbm8tdmVyc2lvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlk
LXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL25vYmxvYnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL25vYmxvYnMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmlu
Zy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgIFRoaXMgdGVzdCBoYWQgYSBidWcg
aW4gaXQgQU5EIGl0cyBiZWhhdmlvciBpcyBjaGFuZ2VkLiBJdCB3YXMgdHJ5aW5nCisgICAgICAg
IHRvIG9wZW4gb25lIGRhdGFiYXNlIHR3aWNlIGFuZCBhbm90aGVyIG9uY2UgYnV0IHdhcyBhY3R1
YWxseSBvcGVuaW5nCisgICAgICAgIHRocmVlIGRpZmZlcmVudCBkYXRhYmFzZXMuIFRoZSBiZWhh
dmlvciBjaGFuZ2UgaXMgdGhhdCBub3cgdGhlCisgICAgICAgIHRyYW5zYWN0aW9uIGZpbmlzaGVz
IHdoaWxlIHRoZSBsYXN0IGNhbGwgdG8gb3BlbiBpcyBmaXJpbmcKKyAgICAgICAgdXBncmFkZW5l
ZWRlZC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHkt
d29ya2Vycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24uanM6CisgICAgICAgIChkZWxldGVTdWNjZXNz
KToKKyAgICAgICAgKGluaXRpYWxVcGdyYWRlTmVlZGVkKToKKyAgICAgICAgKG9wZW5TdWNjZXNz
KToKKyAgICAgICAgKGZpcnN0VXBncmFkZU5lZWRlZCk6CisgICAgICAgICh0cmFuc2FjdGlvbkNv
bXBsZXRlZCk6CisgICAgICAgIChmaXJzdE9wZW5XaXRoVmVyc2lvbik6CisgICAgICAgIChzZWNv
bmRTZXRWZXJzaW9uQ2FsbGJhY2spOgorICAgICAgICAoc2V0SW50VmVyc2lvbjIpOgorICAgICAg
ICAodmVyc2lvbkNoYW5nZUdvaW5nRnJvbVN0cmluZ1RvSW50KToKKyAgICAgICAgKHZlcnNpb24y
Q29ubmVjdGlvbkJsb2NrZWQpOgorICAgICAgICAodmVyc2lvbjJDb25uZWN0aW9uU3VjY2Vzcyk6
CisgICAgICAgIChlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uKToKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5v
LXNpZGUtZWZmZWN0cy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9y
ZXNvdXJjZXMvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuanM6IEFkZGVkLgorICAg
ICAgICAodGVzdCk6CisgICAgICAgIChkZWxldGVTdWNjZXNzKToKKyAgICAgICAgKGNvbm5lY3Rp
b24xVXBncmFkZU5lZWRlZCk6CisgICAgICAgIChjb25uZWN0aW9uMU9wZW5TdWNjZXNzKToKKyAg
ICAgICAgKGNvbm5lY3Rpb24yVXBncmFkZU5lZWRlZCk6CisgICAgICAgIChjb25uZWN0aW9uMk9w
ZW5TdWNjZXNzKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1v
cmRlcmluZy5qczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1k
dXJpbmctdHJhbnNhY3Rpb24uanM6CisgICAgICAgIChzdGFydFRyYW5zYWN0aW9uLnRyYW5zLm9u
Y29tcGxldGUpOgorICAgICAgICAoc3RhcnRUcmFuc2FjdGlvbik6CisgICAgICAgICh0cnlPcGVu
cy5vcGVucmVxMy5vbnN1Y2Nlc3MpOgorICAgICAgICAodHJ5T3BlbnMpOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbDoKKwogMjAxMi0wOS0x
NyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY5NDIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRi
L2RhdGFiYXNlLXN0cnVjdHVyZS1leHBlY3RlZC50eHQKaW5kZXggYjg4MGQ0Yjc4ZDk5NDgwMDEw
NWFiMzhkZTA5NmM3Nzk4MjY0MDZhNi4uZWYxOWE5MzdhMDIwZTNlMjVkMTI5MjdjNGM4NWIyYzdi
ZTNmMTQxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5k
ZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS1leHBlY3Rl
ZC50eHQKQEAgLTE4LDcgKzE4LDcgQEAgdGVzdERhdGFiYXNlMQogCiBEdW1waW5nIGRhdGFiYXNl
OgogdGVzdERhdGFiYXNlMQotICAgIHZlcnNpb246IDEKKyAgICB2ZXJzaW9uOiAyCiAgICAgb2Jq
ZWN0U3RvcmVzOgogICAgIHRlc3RPYmplY3RTdG9yZTEKICAgICAgICAga2V5UGF0aDogInRlc3Qu
a2V5LnBhdGgiCkBAIC0yNyw3ICsyNyw3IEBAIHRlc3REYXRhYmFzZTEKIAogRHVtcGluZyBkYXRh
YmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiAyCisgICAgdmVyc2lvbjogMwogICAg
IG9iamVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAgICAgIGtleVBhdGg6ICJ0
ZXN0LmtleS5wYXRoIgpAQCAtNDAsNyArNDAsNyBAQCB0ZXN0RGF0YWJhc2UxCiAKIER1bXBpbmcg
ZGF0YWJhc2U6CiB0ZXN0RGF0YWJhc2UxCi0gICAgdmVyc2lvbjogMworICAgIHZlcnNpb246IDQK
ICAgICBvYmplY3RTdG9yZXM6CiAgICAgdGVzdE9iamVjdFN0b3JlMQogICAgICAgICBrZXlQYXRo
OiAidGVzdC5rZXkucGF0aCIKQEAgLTU3LDcgKzU3LDcgQEAgdGVzdERhdGFiYXNlMQogCiBEdW1w
aW5nIGRhdGFiYXNlOgogdGVzdERhdGFiYXNlMQotICAgIHZlcnNpb246IDQKKyAgICB2ZXJzaW9u
OiA1CiAgICAgb2JqZWN0U3RvcmVzOgogICAgIHRlc3RPYmplY3RTdG9yZTEKICAgICAgICAga2V5
UGF0aDogInRlc3Qua2V5LnBhdGgiCkBAIC03OCw3ICs3OCw3IEBAIHRlc3REYXRhYmFzZTEKIAog
RHVtcGluZyBkYXRhYmFzZToKIHRlc3REYXRhYmFzZTEKLSAgICB2ZXJzaW9uOiA1CisgICAgdmVy
c2lvbjogNgogICAgIG9iamVjdFN0b3JlczoKICAgICB0ZXN0T2JqZWN0U3RvcmUxCiAgICAgICAg
IGtleVBhdGg6ICJ0ZXN0LmtleS5wYXRoIgpAQCAtOTUsNyArOTUsNyBAQCB0ZXN0RGF0YWJhc2Ux
CiAKIER1bXBpbmcgZGF0YWJhc2U6CiB0ZXN0RGF0YWJhc2UxCi0gICAgdmVyc2lvbjogNgorICAg
IHZlcnNpb246IDcKICAgICBvYmplY3RTdG9yZXM6CiAgICAgdGVzdE9iamVjdFN0b3JlMQogICAg
ICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKQEAgLTEwOCw3ICsxMDgsNyBAQCB0ZXN0RGF0
YWJhc2UxCiAKIER1bXBpbmcgZGF0YWJhc2U6CiB0ZXN0RGF0YWJhc2UxCi0gICAgdmVyc2lvbjog
NworICAgIHZlcnNpb246IDgKICAgICBvYmplY3RTdG9yZXM6CiAgICAgdGVzdE9iamVjdFN0b3Jl
MQogICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKQEAgLTExNyw3ICsxMTcsNyBAQCB0
ZXN0RGF0YWJhc2UxCiAKIER1bXBpbmcgZGF0YWJhc2U6CiB0ZXN0RGF0YWJhc2UxCi0gICAgdmVy
c2lvbjogOAorICAgIHZlcnNpb246IDkKICAgICBvYmplY3RTdG9yZXM6CiAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4
cGVjdGVkLnR4dAppbmRleCAzM2NiYjRjNjQ2NzQwYjE4NTM2YmY2M2YwODEyOTU1YmUxODUyM2I5
Li4yMjIwMzJhNzk4NDZmYjFmYmU1ZmExN2RlOWMxN2Y1MTdjYzgyMzdlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLWV4
cGVjdGVkLnR4dApAQCAtMzMsNyArMzMsNyBAQCBkYm5hbWUgPSAnY3Vyc29yLW92ZXJsb2FkcycK
IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCiBpbmRleGVkREIub3BlbihkYm5hbWUp
CiBkYiA9IHJlcXVlc3QucmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BBU1MgZGIudmVy
c2lvbiBpcyAxCiBkYi5zZXRWZXJzaW9uKCcxJykKIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3N0b3JlJykKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ3ZhbHVlJykK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9h
ZHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1vdmVybG9hZHMu
aHRtbAppbmRleCA2MzQxNmEzN2RlYTBkMDU4NzcyNDgxZGQwNWMzYWU3ZTNiYWQyMjA2Li5iNDNh
MzEwNzYyNDBjNWFiZTAwMTRjYmQwZDk5YWExMjMzZTVhYmNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itb3ZlcmxvYWRzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLW92ZXJsb2Fkcy5odG1sCkBAIC0yMCw3ICsy
MCw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAgICAgICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1
bHQiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIsICIi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgJzEnKTsKICAgICAgICAgICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAgICAgICAgICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1pdC1vbi1ibG9ja2VkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQtZXhw
ZWN0ZWQudHh0CmluZGV4IDc0M2ViMmIyMGU5NjRhMjFjMWUyMDVjMTM1Y2Q1YmZlMjU3OTdmYTEu
LjRmZDNjODMzMjdjNzkwNWNlNjE4NWQxNGNjNjY2MDYzNDEzOTE2Y2IgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9u
LWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsxMCw3IEBAIHJlcXVlc3QgPSBpbmRleGVk
REIuZGVsZXRlRGF0YWJhc2UoJ2RvbnQtY29tbWl0LW9uLWJsb2NrZWQnKQogcmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKCdkb250LWNvbW1pdC1vbi1ibG9ja2VkJykKIGRiID0gcmVxdWVzdC5yZXN1
bHQKIGRiLm9udmVyc2lvbmNoYW5nZSA9IG9uVmVyc2lvbkNoYW5nZQotUEFTUyBkYi52ZXJzaW9u
IGlzICIiCitQQVNTIGRiLnZlcnNpb24gaXMgMQogZGIuc2V0VmVyc2lvbignMScpCiBzdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEnKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1pdC1vbi1ibG9ja2VkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1pdC1vbi1ibG9ja2VkLmh0bWwKaW5kZXgg
OWQ1NzViOWJhMzY1YTE0ZDExYjEzMTgxMTlhNmIzZWUwNzBlYWZlNy4uMTI0NjA5MjYwYjk5NmQ4
OTVmMmZmN2I3MDkzNmZmOWNhMGQ2M2Q4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RvbnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbApAQCAtMjYsNyAr
MjYsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgICAgICAgICAgZXZhbEFuZExv
ZygiZGIgPSByZXF1ZXN0LnJlc3VsdCIpOwogICAgICAgICAgICAgZGIub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIub252ZXJzaW9u
Y2hhbmdlID0gb25WZXJzaW9uQ2hhbmdlIik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRiLnZlcnNpb24iLCAiIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lv
biIsICIxIik7CiAgICAgICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lv
bignMScpIik7CiAgICAgICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKICAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVk
YXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
CmluZGV4IGNiYTk5NThmYTg4MGY0ZmRlODE2ZmFmZTkwNGU5N2NkM2ZiNWUyZmYuLjUyZjcyOTQ0
MTBjNjQ0NmVhNmQ0NmFlNDhhZTNhNDQwZGJkNDhjZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRl
bGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAg
c2VsZi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gu
b3Blbi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJhc2UoKScKICdoLm9udmVyc2lvbmNoYW5nZScK
LSAgICBpbiB2ZXJzaW9uY2hhbmdlLCBvbGQgPSAiIiBuZXcgPSAiIgorICAgIGluIHZlcnNpb25j
aGFuZ2UsIG9sZCA9IDEgbmV3ID0gIiIKICAgICBoIGNsb3NpbmcsIGJ1dCBub3QgaW1tZWRpYXRl
bHkKICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdoLmNsb3NlJwpAQCAtMjUsNyArMjUs
NyBAQCBzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
CiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwogJ2gub252ZXJzaW9uY2hh
bmdlJwotICAgIGluIHZlcnNpb25jaGFuZ2UsIG9sZCA9ICIiIG5ldyA9ICIiCisgICAgaW4gdmVy
c2lvbmNoYW5nZSwgb2xkID0gMSBuZXcgPSAiIgogICAgIGggY2xvc2luZyBpbW1lZGlhdGVseQog
J2guY2xvc2UnCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCkBAIC01OCw3ICs1OCw3IEBA
IHNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdo
LnNldFZlcnNpb24nCiAnZGVsZXRlRGF0YWJhc2UoKScKICdoMi5vbnZlcnNpb25jaGFuZ2UnCi0g
ICAgaW4gdmVyc2lvbmNoYW5nZSwgb2xkID0gIiIgbmV3ID0gIjEiCisgICAgaW4gdmVyc2lvbmNo
YW5nZSwgb2xkID0gMSBuZXcgPSAiMSIKICdoLnNldFZlcnNpb24ub25ibG9ja2VkJwogJ2gzLm9w
ZW4nCiAnaDIuY2xvc2UnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IDA0ZjI4MWFhZDg0N2U4ODY4NjJmNzM5YWU0Y2ZhMjk0NzI3MjYyZjAuLjg3NWNlYmVmNmNi
OTY2NWNkZmE0OWY2ODkxYzJjYjQ2NDliNmQ2YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYW5kLXNldHZlcnNp
b24tZXhwZWN0ZWQudHh0CkBAIC0xMiw5ICsxMiwxMSBAQCBGQUlMIFN0cmluZyhyZXF1ZXN0KSBz
aG91bGQgYmUgW29iamVjdCBJREJPcGVuREJSZXF1ZXN0XS4gV2FzIFtvYmplY3QgSURCVmVyc2lv
bgogQ2FsbCBvcGVuIHdpdGggbm8gdmVyc2lvbiBwYXJhbWV0ZXI6CiBpbmRleGVkREIub3Blbihk
Ym5hbWUpCiAKK2luaXRpYWxVcGdyYWRlTmVlZGVkKCk6CisKIG9wZW5TdWNjZXNzKCk6CiBkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52ZXJz
aW9uIGlzIDEKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCJzb21lIHZlcnNpb24iKQogCiBpblNl
dFZlcnNpb24oKToKQEAgLTQ3LDE4ICs0OSwzMSBAQCBkaWRUcmFuc2FjdGlvbkNvbXBsZXRlID0g
dHJ1ZQogZmlyc3RPcGVuV2l0aFZlcnNpb24oKToKIFBBU1MgZGlkVHJhbnNhY3Rpb25Db21wbGV0
ZSBpcyB0cnVlCiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK2RiLm9udmVyc2lvbmNoYW5nZSA9
IHZlcnNpb25DaGFuZ2VHb2luZ0Zyb21TdHJpbmdUb0ludAogUEFTUyBTdHJpbmcoZGIpIGlzICJb
b2JqZWN0IElEQkRhdGFiYXNlXSIKIFBBU1MgcmVxdWVzdC50cmFuc2FjdGlvbiBpcyBudWxsCiBQ
QVNTIGRiLnZlcnNpb24gaXMgMgogUEFTUyBTdHJpbmcocmVxdWVzdCkgaXMgIltvYmplY3QgSURC
T3BlbkRCUmVxdWVzdF0iCiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic3RyaW5nIHZlcnNpb24g
MiIpCiBQQVNTIFN0cmluZyhyZXF1ZXN0KSBpcyAiW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlUmVx
dWVzdF0iCi1yZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJzaW9uTm90QWxsb3dlZAorcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBzZWNvbmRTZXRWZXJzaW9uQ2FsbGJhY2sKKworc2Vjb25kU2V0VmVyc2lvbkNh
bGxiYWNrKCk6Cit0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zYWN0aW9u
Lm9uY29tcGxldGUgPSBzZXRJbnRWZXJzaW9uMgorCitzZXRJbnRWZXJzaW9uMigpOgorcmVxdWVz
dCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKK3JlcXVlc3Qub25zdWNjZXNzID0gdmVyc2lv
bjJDb25uZWN0aW9uU3VjY2VzcworcmVxdWVzdC5vbmJsb2NrZWQgPSB2ZXJzaW9uMkNvbm5lY3Rp
b25CbG9ja2VkCiAKLXNldFZlcnNpb25Ob3RBbGxvd2VkKCk6Ci1QQVNTIGV2ZW50LnR5cGUgaXMg
ImVycm9yIgotcmVxdWVzdC53ZWJraXRFcnJvck1lc3NhZ2UgPSBZb3UgY2FuJ3QgdXNlIHRoZSBz
ZXRWZXJzaW9uIGZ1bmN0aW9uIGlmIHlvdSd2ZSBhbHJlYWR5IHNldCB0aGUgdmVyc2lvbiB0aHJv
dWdoIGFuIG9wZW4gY2FsbC4gIFRoZSBjdXJyZW50IGludGVnZXIgdmVyc2lvbiBpcyAyCit2ZXJz
aW9uQ2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQoKToKIGRiLmNsb3NlKCkKKwordmVyc2lvbjJD
b25uZWN0aW9uQmxvY2tlZCgpOgorCit2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzKCk6CitldmVu
dC50YXJnZXQucmVzdWx0LmNsb3NlKCkKIHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUs
IDEpCiByZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYmFkLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggN2ExOGVkMmQ5ZTdmNGQwNTNk
ZTA0ZGZlZGY4NTdhNGZkMDk0NjE2ZS4uZTU1ZmQzYzIxMzE0MGQzZDg4MTQ1MTU1YTE4ODZiZDli
MGYzMTUzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1iYWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTIy
LDcgKzIyLDcgQEAgUEFTUyBpbmRleGVkREIub3BlbihkYm5hbWUsIC01KSB0aHJldyBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IKIEZJWE1FOiBVc2luZyAtMSBkb2Vzbid0IHRocm93IFR5cGVFcnJvciBi
dXQgaXQgc2hvdWxkCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYm5hbWUsIC0xKQogRkFJTCBObyBleGNlcHRpb24gdGhyb3duIQot
RkFJTCBTdWNjZXNzIGZ1bmN0aW9uIGNhbGxlZCB1bmV4cGVjdGVkbHkuCitGQUlMIG9udXBncmFk
ZW5lZWRlZCBjYWxsZWQgdW5leHBlY3RlZGx5CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1p
bnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyOGNjN2ZkMDExOWI2NzEwM2JkMzljMTYwZGM5YzQ3
ZmQxMzg4ZmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNp
b24taGFzLW5vLXNpZGUtZWZmZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0
MiArMCwwIEBACi1UZXN0IHRoYXQgd2hlbiBzZXRWZXJzaW9uIGlzIGNhbGxlZCBvbiBhIGRiIHdp
dGggYW4gaW50ZWdlciB2ZXJzaW9uLCB2ZXJzaW9uY2hhbmdlIGV2ZW50cyBkb24ndCBnZXQgZmly
ZWQgb24gb3RoZXIgb3BlbiBkYnMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1p
bmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxm
Lm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKLQot
ZGJuYW1lID0gImludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVj
dHMuaHRtbCIKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCi0KLWRlbGV0ZVN1Y2Nl
c3MoKToKLXJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCi0KLWZpcnN0VXBncmFk
ZU5lZWRlZENhbGxiYWNrKCk6Ci1nb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUKLVBB
U1MgZXZlbnQub2xkVmVyc2lvbiBpcyAwCi1QQVNTIGV2ZW50Lm5ld1ZlcnNpb24gaXMgMgotCi1m
aXJzdFN1Y2Nlc3NFdmVudEhhbmRsZXIoKToKLVBBU1MgZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZl
bnQgaXMgdHJ1ZQotY29ubmVjdGlvbjEgPSBldmVudC50YXJnZXQucmVzdWx0Ci1jb25uZWN0aW9u
MS5vbnZlcnNpb25jaGFuZ2UgPSB1bmV4cGVjdGVkVmVyc2lvbkNoYW5nZUNhbGxiYWNrCi1QQVNT
IFN0cmluZyhjb25uZWN0aW9uMSkgaXMgIltvYmplY3QgSURCRGF0YWJhc2VdIgotcmVxdWVzdCA9
IGluZGV4ZWREQi5vcGVuKGRibmFtZSkKLQotc2Vjb25kU3VjY2Vzc0NhbGxiYWNrKCk6Ci1kYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uJykK
LXJlcXVlc3Qub25lcnJvciA9IHNldFZlcnNpb25FcnJvcgotcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1
bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrCi1yZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRC
bG9ja2VkQ2FsbGJhY2sKLQotc2V0VmVyc2lvbkVycm9yKCk6Ci1PcGVuIHVwIGEgbmV3IGRiIHRv
IGVuc3VyZSB0aGF0IGlmIGNvbm5lY3Rpb24xIHdlcmUgdG8gZ2V0IGEgdmVyc2lvbmNoYW5nZSBl
dmVudCwgaXQgd2lsbCBiZSBkZWxpdmVyZWQgYmVmb3JlIHRoZSB0ZXN0IGZpbmlzaGVzCi1uZXdf
ZGIgPSBpbmRleGVkREIub3BlbihkYm5hbWUgKyAnMicpCi1uZXdfZGIub25zdWNjZXNzID0gbmV3
REJTdWNjZXNzCi0KLW5ld0RCU3VjY2VzcygpOgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxpZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVj
dHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24taW52YWxp
ZC1zZXR2ZXJzaW9uLWhhcy1uby1zaWRlLWVmZmVjdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTI5YTAzYjM3MzRhMzI3NDEyMDE4OTY4YmI1OWYzN2NiYWZiMTZhOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lk
ZS1lZmZlY3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9pbnR2ZXJzaW9uLWludmFs
aWQtc2V0dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvaW50dmVyc2lvbi1vbWl0LXBhcmFtZXRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dApp
bmRleCAyZmNmMGI3ZmU1N2Y0NzcwNDc4YWE1ZWI3NGIzOWFhMzE1MzgwMDAyLi4yNzZjM2RiODE2
N2RhN2NmNTEyNmEwMWM5MGIyZWNiMWQwZjIzODk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1ldGVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9taXQtcGFyYW1l
dGVyLWV4cGVjdGVkLnR4dApAQCAtOCwxMSArOCwxMiBAQCBpbmRleGVkREIgPSBzZWxmLmluZGV4
ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxm
LgogZGJuYW1lID0gImludHZlcnNpb24tb21pdC1wYXJhbWV0ZXIuaHRtbCIKIGluZGV4ZWREQi5k
ZWxldGVEYXRhYmFzZShkYm5hbWUpCiBpbmRleGVkREIub3BlbihkYm5hbWUpCitQQVNTIEdvdCB1
cGdyYWRlbmVlZGVkIGV2ZW50CiAKIG9wZW5TdWNjZXNzKCk6CiBkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQKIFRlc3QgbGluZSBmcm9tIElEQkZhY3Rvcnkub3BlbjogSWYgbm8gdmVyc2lvbiBpcyBz
cGVjaWZpZWQgYW5kIG5vIGRhdGFiYXNlIGV4aXN0cywgc2V0IGRhdGFiYXNlIHZlcnNpb24gdG8g
MS4KLUZBSUwgZGIudmVyc2lvbiBzaG91bGQgYmUgMSAob2YgdHlwZSBudW1iZXIpLiBXYXMgIChv
ZiB0eXBlIHN0cmluZykuCitQQVNTIGRiLnZlcnNpb24gaXMgMQogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVu
cy1uby12ZXJzaW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQxNGNkYzc3ODAyZDMxM2Ni
NTFiM2U3NTMwMjc5MTI1Zjk3MWMxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM0IEBACitUZXN0IHRoYXQgb25seSB0aGUgZmlyc3Qgb3BlbiBjYWxs
IGdldHMgYW4gdXBncmFkZW5lZWRlZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
aW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2Vs
Zi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisK
K2RibmFtZSA9ICJpbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5odG1sIgoraW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK3JlcXVl
c3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjFPcGVuU3VjY2VzcworcmVxdWVzdC5vbnVwZ3JhZGVu
ZWVkZWQgPSBjb25uZWN0aW9uMVVwZ3JhZGVOZWVkZWQKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkK
K3JlcXVlc3Qub25zdWNjZXNzID0gY29ubmVjdGlvbjJPcGVuU3VjY2VzcworcmVxdWVzdC5vbnVw
Z3JhZGVuZWVkZWQgPSBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQKKworY29ubmVjdGlvbjFVcGdy
YWRlTmVlZGVkKCk6Citnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUKK1BBU1MgZXZl
bnQub2xkVmVyc2lvbiBpcyAwCitQQVNTIGV2ZW50Lm5ld1ZlcnNpb24gaXMgMQorCitjb25uZWN0
aW9uMU9wZW5TdWNjZXNzKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgZ290Rmly
c3RVcGdyYWRlTmVlZGVkRXZlbnQgaXMgdHJ1ZQorUEFTUyBkYi52ZXJzaW9uIGlzIDEKKworY29u
bmVjdGlvbjJPcGVuU3VjY2VzcygpOgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CitQQVNTIGdv
dFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCBpcyBmYWxzZQorUEFTUyBkYi52ZXJzaW9uIGlzIDEK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVu
cy1uby12ZXJzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDU2NzU3N2FlZjEx
MjcxMzY5ZDgwNzllYzI0YzZlZmJlYTMzZGEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMuaHRt
bApAQCAtMCwwICsxLDEwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggOWNiYTAw
YTJiZmNlMWNlMzQxZjdmOTU5MzUzZGFlNjQ0YWQ2NDk0Zi4uZmFhOWRlMzhlNWNhNTU3ZWM0MzI1
YWViYzBiOWE5NzNiOWFhM2FkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1leHBlY3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAg
dGVzdFN0b3Jlc0FuZEluZGV4ZXMoKToKIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnbGlzdC1v
cmRlcmluZycpCiBpbmRleGVkREIub3BlbignbGlzdC1vcmRlcmluZycpCiBkYiA9IHJlcXVlc3Qu
cmVzdWx0Ci1QQVNTIGRiLnZlcnNpb24gaXMgIiIKK1BBU1MgZGIudmVyc2lvbiBpcyAxCiBkYi5z
ZXRWZXJzaW9uKCcxJykKIAogT2JqZWN0IHN0b3JlczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbm9ibG9icy1leHBlY3RlZC50eHQKaW5kZXggNTU4Yzg3YTgxNjc4YTc5
NTZjYTQ2MWYyZGNhZjExNGFjYzRjYzg2Yi4uYjJkNTIyNmRhNWNjNzg5NTVhMDNmOGM2OTQ0ZTNm
YjIwYzlhZDVkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9i
bG9icy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9i
bG9icy1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgUHJlcGFyZSBEYXRhYmFzZQogaW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdub2Jsb2JzJykKIGluZGV4ZWREQi5vcGVuKCdub2Jsb2Jz
JykKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgorUEFTUyBkYi52
ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLnB1dCgndmFsdWUnLCAna2V5JykKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbAppbmRleCA4MzE4NjZiOWU1MjQ4MWJhMTBi
NWVjYmRhOTU1YzUwMThjZGY5NWVlLi4xNzg3YzI4M2E4MTRhMTVlNzg0Mjc5YjI0ZTBhMzE1NmYx
NmI1ZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9ub2Jsb2Jz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5odG1sCkBA
IC0zOCw3ICszOCw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAgICAgICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVx
dWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVy
c2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKICAg
ICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAg
ICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAg
ICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFu
c2FjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWNhZmNlOGY5NzUyYzhiM2IwMWU2NWIzMTM0ODUz
ODZkMWE4YTRlNi4uODA1NzYzZjk5OWVmYjNkMzNhNDY0ZDM0N2YyOTE5NmZkNGI5OGJiYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNh
Y3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tZHVyaW5nLXRyYW5zYWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTksNyArMTksNyBAQCB0cmFu
cyA9IGRiYzEudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScsICdyZWFkd3JpdGUnKQogdHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpLnB1dCgndmFsdWUnLCAna2V5JykKIAogdHJ5aW5nIHRvIG9w
ZW4gdGhlIHNhbWUgZGF0YWJhc2UKLW9wZW5yZXEyID0gaW5kZXhlZERCLm9wZW4oJ2RiMScpCitv
cGVucmVxMiA9IGluZGV4ZWREQi5vcGVuKCdvcGVuLWR1cmluZy10cmFuc2FjdGlvbjEnKQogCiB0
cnlpbmcgdG8gb3BlbiBhIGRpZmZlcmVudCBkYXRhYmFzZQogb3BlbnJlcTMgPSBpbmRleGVkREIu
b3Blbignb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24yJykKQEAgLTI4LDEyICsyOCwxMiBAQCBvcGVu
cmVxMi5vbnN1Y2Nlc3MKIFBBU1Mgc3RhdGUgaXMgInN0YXJ0aW5nIgogc3RhdGUgPSAnb3BlbjJj
b21wbGV0ZScKIAordHJhbnNhY3Rpb24gY29tcGxldGUKK1BBU1Mgc3RhdGUgaXMgIm9wZW4yY29t
cGxldGUiCisKIG9wZW5yZXEzLm9uc3VjY2VzcwogUEFTUyBzdGF0ZSBpcyAib3BlbjJjb21wbGV0
ZSIKIHN0YXRlID0gJ29wZW4zY29tcGxldGUnCi0KLXRyYW5zYWN0aW9uIGNvbXBsZXRlCi1QQVNT
IHN0YXRlIGlzICJvcGVuM2NvbXBsZXRlIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0CmluZGV4IDAzNjUzNGFjYzVm
YjczNWUzNGFkNTRkMWFjNzVlOTg0MjkxNmFmNzMuLjg3NjZjM2VhYmMwMjkwNDM4ZjA4MmMzMDQ2
MmE3ODBlYTk2NWM4NWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0CkBAIC0xMSw3ICsxMSw3IEBA
IHByZXBhcmVEYXRhYmFzZSgpOgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lv
biBpcyAiIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQogc3RvcmUucHV0KDAsIDApCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtl
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1h
Y3Rpdml0eS13b3JrZXJzLWV4cGVjdGVkLnR4dAppbmRleCA2NGU3YWFkZGViY2MyNmMyY2YzNTYw
MDY3NjE2YjY1YzA5YWM4NmM0Li5lYWJlYWVhYjM3YWI3NjRiNzQ3ZjRhNDRhYzU0ZmE0MWJlMDQ0
NjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFj
dGl2aXR5LXdvcmtlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEy
LDcgQEAgU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvcGVuZGluZy1hY3Rpdml0eS5qcwogW1dv
cmtlcl0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIFtXb3JrZXJdIGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSkKIFtXb3JrZXJdIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgW1dvcmtl
cl0gZGIudmVyc2lvbiBpcyAiIgorUEFTUyBbV29ya2VyXSBkYi52ZXJzaW9uIGlzIDEKIFtXb3Jr
ZXJdIGRiLnNldFZlcnNpb24oJzEnKQogW1dvcmtlcl0gc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmUnKQogW1dvcmtlcl0gc3RvcmUucHV0KDAsIDApCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50dmVyc2lvbi1hbmQtc2V0dmVy
c2lvbi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJz
aW9uLWFuZC1zZXR2ZXJzaW9uLmpzCmluZGV4IGMwOWNhODgxMDBlZDAxYjgxY2E5ZWIyN2M2NWIx
ZTNlOTQyZjI3ZjUuLjBjNzgxZmQxMTE4YmM2MmNkYjYwYzU1MjBmOTg2MTg0YTMzNDM5NGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJz
aW9uLWFuZC1zZXR2ZXJzaW9uLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9pbnR2ZXJzaW9uLWFuZC1zZXR2ZXJzaW9uLmpzCkBAIC0yMiwxNyArMjIsMjMg
QEAgZnVuY3Rpb24gZGVsZXRlU3VjY2VzcyhldnQpIHsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci0gICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENh
bGxiYWNrOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gaW5pdGlhbFVwZ3JhZGVOZWVk
ZWQ7CiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwog
fQogCisKK2Z1bmN0aW9uIGluaXRpYWxVcGdyYWRlTmVlZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJs
ZShldnQpOworfQorCiBmdW5jdGlvbiBvcGVuU3VjY2VzcyhldnQpCiB7CiAgICAgZXZlbnQgPSBl
dnQ7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOwogICAgIGRi
ID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIiIpOworICAgIHNob3VsZEJlKCJkYi52ZXJzaW9u
IiwgIjEiKTsKICAgICBldmFsQW5kTG9nKCdyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic29tZSB2
ZXJzaW9uIiknKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGluU2V0VmVyc2lvbjsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTg1LDkgKzkxLDcg
QEAgZnVuY3Rpb24gc2Vjb25kT3BlbihldnQpCiAKIGZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRl
ZChldnQpCiB7Ci0gICAgZXZlbnQgPSBldnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJm
aXJzdFVwZ3JhZGVOZWVkZWQoKToiKTsKKyAgICBwcmVhbWJsZShldnQpOwogICAgIGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiU3RyaW5nKGRiKSIsICJbb2JqZWN0IElEQkRhdGFiYXNlXSIpOwogICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiU3RyaW5nKHJlcXVlc3QudHJhbnNhY3Rpb24pIiwgIltvYmplY3QgSURCVHJh
bnNhY3Rpb25dIik7CkBAIC0xMDAsNDkgKzEwNCw2OCBAQCBmdW5jdGlvbiBmaXJzdFVwZ3JhZGVO
ZWVkZWQoZXZ0KQogdmFyIGRpZFRyYW5zYWN0aW9uQ29tcGxldGUgPSBmYWxzZTsKIGZ1bmN0aW9u
IHRyYW5zYWN0aW9uQ29tcGxldGVkKGV2dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1
ZygiIik7Ci0gICAgZGVidWcoInRyYW5zYWN0aW9uQ29tcGxldGVkKCk6Iik7CisgICAgcHJlYW1i
bGUoZXZ0KTsKICAgICBldmFsQW5kTG9nKCJkaWRUcmFuc2FjdGlvbkNvbXBsZXRlID0gdHJ1ZSIp
OwogfQogCiBmdW5jdGlvbiBmaXJzdE9wZW5XaXRoVmVyc2lvbihldnQpCiB7Ci0gICAgZXZlbnQg
PSBldnQ7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJmaXJzdE9wZW5XaXRoVmVyc2lvbigp
OiIpOworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgc2hvdWxkQmVUcnVlKCJkaWRUcmFuc2FjdGlv
bkNvbXBsZXRlIik7CiAgICAgZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisgICAgZXZhbEFuZExvZygiZGIub252ZXJzaW9uY2hhbmdlID0gdmVyc2lvbkNoYW5nZUdvaW5n
RnJvbVN0cmluZ1RvSW50Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcoZGIp
IiwgIltvYmplY3QgSURCRGF0YWJhc2VdIik7CiAgICAgc2hvdWxkQmVOdWxsKCJyZXF1ZXN0LnRy
YW5zYWN0aW9uIik7CiAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMiIpOwogICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKHJlcXVlc3QpIiwgIltvYmplY3QgSURCT3BlbkRCUmVx
dWVzdF0iKTsKICAgICBldmFsQW5kTG9nKCdyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigic3RyaW5n
IHZlcnNpb24gMiIpJyk7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJTdHJpbmcocmVxdWVz
dCkiLCAiW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdF0iKTsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IHNlY29uZFNldFZlcnNpb25DYWxsYmFjayIpOwogICAgIHJl
cXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgZXZhbEFuZExvZygi
cmVxdWVzdC5vbmVycm9yID0gc2V0VmVyc2lvbk5vdEFsbG93ZWQiKTsKKyAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAotZnVuY3Rpb24gc2V0VmVyc2lv
bk5vdEFsbG93ZWQoZXZ0KQorZnVuY3Rpb24gc2Vjb25kU2V0VmVyc2lvbkNhbGxiYWNrKGV2dCkK
IHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoInNldFZlcnNp
b25Ob3RBbGxvd2VkKCk6Iik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50eXBl
IiwgImVycm9yIik7Ci0gICAgZGVidWcoInJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlID0gIiAr
IHJlcXVlc3Qud2Via2l0RXJyb3JNZXNzYWdlKTsKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2
YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGV2YWxB
bmRMb2coInRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBzZXRJbnRWZXJzaW9uMiIpOworfQorCitm
dW5jdGlvbiBzZXRJbnRWZXJzaW9uMihldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIGV2
YWxBbmRMb2coInJlcXVlc3Qub25zdWNjZXNzID0gdmVyc2lvbjJDb25uZWN0aW9uU3VjY2VzcyIp
OworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qub25ibG9ja2VkID0gdmVyc2lvbjJDb25uZWN0aW9u
QmxvY2tlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OworfQorCitmdW5jdGlvbiB2ZXJzaW9uQ2hhbmdlR29pbmdGcm9tU3RyaW5nVG9JbnQoZXZ0KQor
eworICAgIHByZWFtYmxlKGV2dCk7CiAgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOworfQor
CitmdW5jdGlvbiB2ZXJzaW9uMkNvbm5lY3Rpb25CbG9ja2VkKGV2dCkKK3sKKyAgICBwcmVhbWJs
ZShldnQpOworfQorCitmdW5jdGlvbiB2ZXJzaW9uMkNvbm5lY3Rpb25TdWNjZXNzKGV2dCkKK3sK
KyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQu
Y2xvc2UoKSIpOwogICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5h
bWUsIDEpIik7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbmVycm9yID0gZXJyb3JXaGVuVHJ5
aW5nTG93VmVyc2lvbiIpOwogICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2Nr
ZWRDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2Fs
bGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5l
ZWRlZENhbGxiYWNrOwogfQogCiBmdW5jdGlvbiBlcnJvcldoZW5UcnlpbmdMb3dWZXJzaW9uKGV2
dCkKIHsKLSAgICBldmVudCA9IGV2dDsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImVycm9y
V2hlblRyeWluZ0xvd1ZlcnNpb24oKToiKTsKKyAgICBwcmVhbWJsZShldnQpOwogICAgIGRlYnVn
KCJyZXF1ZXN0LndlYmtpdEVycm9yTWVzc2FnZSA9ICIgKyByZXF1ZXN0LndlYmtpdEVycm9yTWVz
c2FnZSk7CiAgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwg
NCkiKTsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW50
dmVyc2lvbi1pbnZhbGlkLXNldHZlcnNpb24taGFzLW5vLXNpZGUtZWZmZWN0cy5qcyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0
dmVyc2lvbi1oYXMtbm8tc2lkZS1lZmZlY3RzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiYzEyMGQ0MjVhZGNhMWY2NmVjZDczNTE5YzI1YTc0NWFiMGFhZjIwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLWludmFsaWQtc2V0dmVyc2lvbi1oYXMtbm8t
c2lkZS1lZmZlY3RzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotaWYgKHRoaXMu
aW1wb3J0U2NyaXB0cykgewotICAgIGltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7Ci0gICAgaW1wb3J0U2NyaXB0cygnc2hhcmVkLmpzJyk7
Ci19Ci0KLWRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgd2hlbiBzZXRWZXJzaW9uIGlzIGNhbGxlZCBv
biBhIGRiIHdpdGggYW4gaW50ZWdlciB2ZXJzaW9uLCB2ZXJzaW9uY2hhbmdlIGV2ZW50cyBkb24n
dCBnZXQgZmlyZWQgb24gb3RoZXIgb3BlbiBkYnMuIik7Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgc2V0REJOYW1lRnJvbVBhdGgoKTsKLSAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0ZVN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGRlbGV0ZVN1
Y2Nlc3MoZXZ0KSB7Ci0gICAgcHJlYW1ibGUoKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
aW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZmly
c3RTdWNjZXNzRXZlbnRIYW5kbGVyOwotICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3Rl
ZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLSAgICBnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCA9IGZhbHNlOwotICAgIHJl
cXVlc3Qub251cGdyYWRlbmVlZGVkID0gZmlyc3RVcGdyYWRlTmVlZGVkQ2FsbGJhY2s7Ci19Ci0K
LWZ1bmN0aW9uIGZpcnN0VXBncmFkZU5lZWRlZENhbGxiYWNrKGV2dCkKLXsKLSAgICBwcmVhbWJs
ZShldnQpOwotICAgIGV2YWxBbmRMb2coImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50ID0gdHJ1
ZSIpOwotICAgIHNob3VsZEJlKCJldmVudC5vbGRWZXJzaW9uIiwgIjAiKTsKLSAgICBzaG91bGRC
ZSgiZXZlbnQubmV3VmVyc2lvbiIsICIyIik7Ci19Ci0KLWZ1bmN0aW9uIGZpcnN0U3VjY2Vzc0V2
ZW50SGFuZGxlcihldnQpCi17Ci0gICAgcHJlYW1ibGUoZXZ0KTsKLSAgICBzaG91bGRCZVRydWUo
ImdvdEZpcnN0VXBncmFkZU5lZWRlZEV2ZW50Iik7Ci0gICAgZXZhbEFuZExvZygiY29ubmVjdGlv
bjEgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjEu
b252ZXJzaW9uY2hhbmdlID0gdW5leHBlY3RlZFZlcnNpb25DaGFuZ2VDYWxsYmFjayIpOwotICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiU3RyaW5nKGNvbm5lY3Rpb24xKSIsICJbb2JqZWN0IElE
QkRhdGFiYXNlXSIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3Blbihk
Ym5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZWNvbmRTdWNjZXNzQ2FsbGJhY2s7
Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVx
dWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qu
b251cGdyYWRlbmVlZGVkID0gdW5leHBlY3RlZFVwZ3JhZGVOZWVkZWRDYWxsYmFjazsKLX0KLQot
ZnVuY3Rpb24gc2Vjb25kU3VjY2Vzc0NhbGxiYWNrKGV2dCkKLXsKLSAgICBwcmVhbWJsZShldnQp
OwotICAgIGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIGV2YWxB
bmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uJykiKTsKLSAgICBldmFsQW5k
TG9nKCJyZXF1ZXN0Lm9uZXJyb3IgPSBzZXRWZXJzaW9uRXJyb3IiKTsKLSAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2siKTsKLSAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2si
KTsKLX0KLQotZnVuY3Rpb24gc2V0VmVyc2lvbkVycm9yKGV2dCkKLXsKLSAgICBwcmVhbWJsZSgp
OwotICAgIGRlYnVnKCJPcGVuIHVwIGEgbmV3IGRiIHRvIGVuc3VyZSB0aGF0IGlmIGNvbm5lY3Rp
b24xIHdlcmUgdG8gZ2V0IGEgdmVyc2lvbmNoYW5nZSBldmVudCwgaXQgd2lsbCBiZSBkZWxpdmVy
ZWQgYmVmb3JlIHRoZSB0ZXN0IGZpbmlzaGVzIik7Ci0gICAgZXZhbEFuZExvZygibmV3X2RiID0g
aW5kZXhlZERCLm9wZW4oZGJuYW1lICsgJzInKSIpOwotICAgIGV2YWxBbmRMb2coIm5ld19kYi5v
bnN1Y2Nlc3MgPSBuZXdEQlN1Y2Nlc3MiKTsKLSAgICBuZXdfZGIub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwotICAgIG5ld19kYi5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBuZXdEQlN1Y2Nlc3MoZXZ0KQotewotICAgIHByZWFt
YmxlKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbnR2ZXJzaW9uLXR3by1vcGVu
cy1uby12ZXJzaW9ucy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjJiMGE5
Y2FlMzA0ZjFjZmMxOTg5ODVlZTA5MGI4ZDViMmMzODNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ludHZlcnNpb24tdHdvLW9wZW5z
LW5vLXZlcnNpb25zLmpzCkBAIC0wLDAgKzEsNjUgQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMp
IHsKKyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcycpOworICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOworfQorCitkZXNjcmlw
dGlvbigiVGVzdCB0aGF0IG9ubHkgdGhlIGZpcnN0IG9wZW4gY2FsbCBnZXRzIGFuIHVwZ3JhZGVu
ZWVkZWQiKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKKyAgICBzZXREQk5hbWVGcm9tUGF0aCgpOworCisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBkZWxldGVTdWNjZXNzOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOworfQorCit2YXIgZ290Rmlyc3RVcGdyYWRlTmVlZGVkRXZlbnQgPSBmYWxzZTsK
K3ZhciBnb3RTZWNvbmRVcGdyYWRlTmVlZGVkRXZlbnQgPSBmYWxzZTsKK2Z1bmN0aW9uIGRlbGV0
ZVN1Y2Nlc3MoZXZ0KSB7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVu
KGRibmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9uc3VjY2VzcyA9IGNvbm5lY3Rp
b24xT3BlblN1Y2Nlc3MiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRl
ZCA9IGNvbm5lY3Rpb24xVXBncmFkZU5lZWRlZCIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3Rl
ZEJsb2NrZWRDYWxsYmFjazsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIu
b3BlbihkYm5hbWUpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb25u
ZWN0aW9uMk9wZW5TdWNjZXNzIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdC5vbnVwZ3JhZGVu
ZWVkZWQgPSBjb25uZWN0aW9uMlVwZ3JhZGVOZWVkZWQiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhw
ZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGNvbm5lY3Rpb24xVXBncmFkZU5l
ZWRlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJnb3RGaXJz
dFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQub2xkVmVy
c2lvbiIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50Lm5ld1ZlcnNpb24iLCAiMSIpOworfQor
CitmdW5jdGlvbiBjb25uZWN0aW9uMU9wZW5TdWNjZXNzKGV2dCkKK3sKKyAgICBwcmVhbWJsZShl
dnQpOworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Cisg
ICAgc2hvdWxkQmVUcnVlKCJnb3RGaXJzdFVwZ3JhZGVOZWVkZWRFdmVudCIpOworICAgIHNob3Vs
ZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKK30KKworZnVuY3Rpb24gY29ubmVjdGlvbjJVcGdyYWRl
TmVlZGVkKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxBbmRMb2coImdvdFNl
Y29uZFVwZ3JhZGVOZWVkZWRFdmVudCA9IHRydWUiKTsKK30KKworZnVuY3Rpb24gY29ubmVjdGlv
bjJPcGVuU3VjY2VzcyhldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBkYiA9IGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNob3VsZEJlRmFsc2UoImdv
dFNlY29uZFVwZ3JhZGVOZWVkZWRFdmVudCIpOworICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwg
IjEiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2xpc3Qtb3JkZXJpbmcuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRlcmluZy5qcwpp
bmRleCA3MzU5OGZkNzIzNTg2MGVkYTc4YjJmMTcxZWUxNGRiMGMwYzFhY2NmLi43NWYwMzI1NmM3
YzNmOGQ1MmUxOTBhMTU2MGE5MzM2MjcyYzhlMGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRlcmluZy5qcworKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbGlzdC1vcmRlcmluZy5qcwpAQCAtNTIs
NyArNTIsNyBAQCBmdW5jdGlvbiB0ZXN0U3RvcmVzQW5kSW5kZXhlcygpCiAgICAgICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVx
dWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVy
c2lvbiIsICIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjEiKTsKICAg
ICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKICAg
ICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAg
ICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CkBAIC04MSw0ICs4MSw0
IEBAIGZ1bmN0aW9uIHRlc3RTdG9yZXNBbmRJbmRleGVzKCkKICAgICB9OwogfQogCi10ZXN0KCk7
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQordGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5nLXRyYW5zYWN0aW9u
LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZHVyaW5n
LXRyYW5zYWN0aW9uLmpzCmluZGV4IGI1MDMyNzg5MThjMmU2NDdjM2YwYzg2MzgwMjc4NTJmNGU1
MTdjOGMuLmYxMjcxNzZiN2Y5YWEyYjU4OTg2MzE4YTVjOWY1NjZkYWFmYWYyMjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWR1cmluZy10
cmFuc2FjdGlvbi5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24uanMKQEAgLTQ1LDggKzQ1LDggQEAgZnVuY3Rpb24g
c3RhcnRUcmFuc2FjdGlvbigpCiAgICAgdHJhbnMub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICBk
ZWJ1ZygidHJhbnNhY3Rpb24gY29tcGxldGUiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzdGF0ZSIsICJvcGVuM2NvbXBsZXRlIik7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0YXRlIiwgIm9wZW4yY29tcGxldGUiKTsK
KyAgICAgICAgZGVidWcoIiIpOwogICAgIH07CiAKICAgICBkZWJ1ZygiIik7CkBAIC01Niw3ICs1
Niw3IEBAIGZ1bmN0aW9uIHN0YXJ0VHJhbnNhY3Rpb24oKQogZnVuY3Rpb24gdHJ5T3BlbnMoKQog
ewogICAgIGRlYnVnKCJ0cnlpbmcgdG8gb3BlbiB0aGUgc2FtZSBkYXRhYmFzZSIpOwotICAgIGV2
YWxBbmRMb2coIm9wZW5yZXEyID0gaW5kZXhlZERCLm9wZW4oJ2RiMScpIik7CisgICAgZXZhbEFu
ZExvZygib3BlbnJlcTIgPSBpbmRleGVkREIub3Blbignb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24x
JykiKTsKICAgICBvcGVucmVxMi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICAgb3BlbnJlcTIub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgZGVidWcoIm9w
ZW5yZXEyLm9uc3VjY2VzcyIpOwpAQCAtNzMsOSArNzMsOSBAQCBmdW5jdGlvbiB0cnlPcGVucygp
CiAgICAgICAgIGRlYnVnKCJvcGVucmVxMy5vbnN1Y2Nlc3MiKTsKICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzdGF0ZSIsICJvcGVuMmNvbXBsZXRlIik7CiAgICAgICAgIGV2YWxBbmRM
b2coInN0YXRlID0gJ29wZW4zY29tcGxldGUnIik7Ci0gICAgICAgIGRlYnVnKCIiKTsKKyAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogICAgIGRlYnVnKCIiKTsKIH0KIAotdGVzdCgpOwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZW5kaW5nLWFjdGl2aXR5LmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMK
aW5kZXggZjI5OWUwMjk0MzJlYTNkZDdjNTgxMzQxYWExZTQ3MDhhYWRmOWI0Yi4uZDExMDdkYWFh
MTI5MzdhNzIxYTc0Yzg0YThhN2FkNTljZDk4NTQzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlbmRpbmctYWN0aXZpdHkuanMK
QEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIgPSBy
ZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52
ZXJzaW9uIiwgIiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOwog
ICAgICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwog
ICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBl
Y3RlZC50eHQKaW5kZXggOGZiZjkwNTBkNmM5ZWIxODBhOWY3MjUzN2RmYWMyM2MwNmNhMTcxMC4u
MDJhMGI0OTcyY2M2NTkxMTlmNzg3MWNiYTIzYzMxMTRlMjEwOGJjOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBl
Y3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgUHJlcGFyZSBEYXRhYmFzZQogaW5kZXhlZERCLmRl
bGV0ZURhdGFiYXNlKCdzdHJ1Y3R1cmVkLWNsb25lJykKIGluZGV4ZWREQi5vcGVuKCdzdHJ1Y3R1
cmVkLWNsb25lJykKIGRiID0gcmVxdWVzdC5yZXN1bHQKLVBBU1MgZGIudmVyc2lvbiBpcyAiIgor
UEFTUyBkYi52ZXJzaW9uIGlzIDEKIGRiLnNldFZlcnNpb24oJzEnKQogc3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIFRoaXMgaW5kZXggaXMgbm90IHVzZWQsIGJ1dCBl
dmFsdWF0aW5nIGtleSBwYXRoIG9uIGVhY2ggcHV0KCkgY2FsbCB3aWxsIGV4ZXJjaXNlIChkZSlz
ZXJpYWxpemF0aW9uOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
c3RydWN0dXJlZC1jbG9uZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3Ry
dWN0dXJlZC1jbG9uZS5odG1sCmluZGV4IDhkODJlYzg0YmY5MjFhMWQ0OTgzYmFkM2FkN2MyZjVi
NTg1ZjJkZDUuLjM1MDZjZjYxN2E0NDY1OWU5YzI2NzIzM2M3NjlkMjcwNzA2ZmUxY2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0
bWwKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKICAgICAgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiZGIg
PSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
Yi52ZXJzaW9uIiwgIiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMSIp
OwogICAgICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIp
OwogICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CiAgICAgICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGUpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>