<?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>55755</bug_id>
          
          <creation_ts>2011-03-04 02:04:02 -0800</creation_ts>
          <short_desc>Remove onformchange and onforminput events/event handlers</short_desc>
          <delta_ts>2011-04-05 17:34:38 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19264</blocked>
    
    <blocked>26141</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Olli Pettay (:smaug)">bugs</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dmikurube</cc>
    
    <cc>eric</cc>
    
    <cc>mitz</cc>
    
    <cc>mounir</cc>
    
    <cc>sam</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>362377</commentid>
    <comment_count>0</comment_count>
    <who name="Olli Pettay (:smaug)">bugs</who>
    <bug_when>2011-03-04 02:04:02 -0800</bug_when>
    <thetext>See
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11129&amp;mark=21-22#c21
and
http://html5.org/tools/web-apps-tracker?from=5927&amp;to=5928</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362617</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-04 10:43:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/9087969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379115</commentid>
    <comment_count>2</comment_count>
      <attachid>88140</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-04 15:08:37 -0700</bug_when>
    <thetext>Created attachment 88140
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379116</commentid>
    <comment_count>3</comment_count>
      <attachid>88140</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-04 15:10:37 -0700</bug_when>
    <thetext>Comment on attachment 88140
proposed patch

How long have these been in? Have they been in Chrome and Safari releases? Mac OS X WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379120</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-04 15:13:25 -0700</bug_when>
    <thetext>The code was added in bug 26141 in January 2011.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379282</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-04 18:44:48 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 88140 [details])
&gt; How long have these been in? Have they been in Chrome and Safari releases? Mac OS X WebKit?

Safari 5 or prior doesn&apos;t have them, and only Chrome 10 and 11 have them. If the patch is committed, Chrome 12 won&apos;t have them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379446</commentid>
    <comment_count>6</comment_count>
      <attachid>88140</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-05 04:45:50 -0700</bug_when>
    <thetext>Comment on attachment 88140
proposed patch

Clearing flags on attachment: 88140

Committed r82925: &lt;http://trac.webkit.org/changeset/82925&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379447</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-05 04:45:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379464</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-05 05:29:50 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82925 might have broken Qt Linux Release
The following tests are not passing:
fast/dom/Window/window-properties.html
fast/dom/Window/window-property-descriptors.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379597</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-05 08:48:18 -0700</bug_when>
    <thetext>Qt results were updated in r82941.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379995</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-05 17:34:38 -0700</bug_when>
    <thetext>Windows results also need to be updated, bug 57881.

Trivial follow-up in bug 57908.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88140</attachid>
            <date>2011-04-04 15:08:37 -0700</date>
            <delta_ts>2011-04-05 04:45:50 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>RemoveFormEvents.txt</filename>
            <type>text/plain</type>
            <size>38444</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyODc1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDQtMDQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIG9uZm9ybWNoYW5nZSBhbmQgb25mb3JtaW5wdXQg
ZXZlbnRzL2V2ZW50IGhhbmRsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NTc1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA4Nzk2OT4KKwor
ICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSk6CisgICAgICAgICog
ZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwv
SFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50Lmg6CisgICAgICAgICog
aHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9y
bUNvbnRyb2xFbGVtZW50Ojppc0VudW1lcmF0YWJsZSk6CisgICAgICAgICogaHRtbC9IVE1MRm9y
bUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuaDoKKyAgICAgICAgKiBo
dG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxl
bWVudDo6aXNFbnVtZXJhdGFibGUpOgorICAgICAgICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPdXRwdXRFbGVtZW50Ojppc0VudW1lcmF0YWJsZSk6
CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFNlbGVjdEVsZW1lbnQ6OmlzRW51bWVyYXRhYmxlKToKKyAgICAgICAgKiBodG1sL0hUTUxU
ZXh0QXJlYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6
OmlzRW51bWVyYXRhYmxlKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMS0wNC0wNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw4ICsyNjAsNiBAQCBwdWJsaWM6
CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnc3RhcnQpOwogICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZyk7CiAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihkcmFnZW5kKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGZvcm1jaGFuZ2UpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Zm9ybWlucHV0KTsKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGlucHV0KTsK
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGludmFsaWQpOwogICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoa2V5ZG93bik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5pZGwJKHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDggKzI2Niw2IEBAIG1vZHVsZSBjb3JlIHsKICAg
ICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmRyb3A7CiAgICAgICAg
IGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25lcnJvcjsKICAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmZvY3VzOwotICAgICAgICBhdHRyaWJ1
dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uZm9ybWNoYW5nZTsKLSAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmZvcm1pbnB1dDsKICAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmlucHV0OwogICAgICAgICBhdHRyaWJ1dGUg
W0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uaW52YWxpZDsKICAgICAgICAgYXR0cmlidXRlIFtE
b250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmtleWRvd247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJ
KHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjQsOCArNjQsNiBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihkcmFnc3RhcnQpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoZHJhZyk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnZW5k
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGZvcm1jaGFuZ2UpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZm9ybWlucHV0KTsKICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGlucHV0KTsKICAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGludmFsaWQpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoa2V5ZG93bik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCShyZXZpc2lvbiA4Mjg2OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTU1
LDggKzE1NSw2IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0g
RXZlbnRMaXN0ZW5lciBvbmRyb3A7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50
TGlzdGVuZXIgb25lcnJvcjsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbmZvY3VzOwotICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVy
IG9uZm9ybWNoYW5nZTsKLSAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5l
ciBvbmZvcm1pbnB1dDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5l
ciBvbmlucHV0OwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9u
aW52YWxpZDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmtl
eWRvd247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAJKHJldmlzaW9uIDgyODY5KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5LDcgKzI1OSw3IEBA
IGJvb2wgRXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSgpCiAgICAgICAgIC8vIG90aGVyIGFjY2VwdGVk
IGV2ZW50cwogICAgICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5zZWxlY3RFdmVudCB8fCB0
eXBlID09IGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudAogICAgICAgICB8fCB0eXBlID09IGV2ZW50
TmFtZXMoKS5mb2N1c0V2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmJsdXJFdmVudAotICAg
ICAgICB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5zdWJtaXRFdmVudCB8fCB0eXBlID09IGV2ZW50
TmFtZXMoKS5mb3JtY2hhbmdlRXZlbnQ7CisgICAgICAgIHx8IHR5cGUgPT0gZXZlbnROYW1lcygp
LnN1Ym1pdEV2ZW50OwogfQogCiBib29sIEV2ZW50OjpzdG9yZXNSZXN1bHRBc1N0cmluZygpIGNv
bnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHJldmlzaW9uIDgyODY5KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsOCArNjcs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oZm9jdXMpIFwKICAgICBtYWNybyhm
b2N1c2luKSBcCiAgICAgbWFjcm8oZm9jdXNvdXQpIFwKLSAgICBtYWNybyhmb3JtY2hhbmdlKSBc
Ci0gICAgbWFjcm8oZm9ybWlucHV0KSBcCiAgICAgbWFjcm8oaGFzaGNoYW5nZSkgXAogICAgIG1h
Y3JvKGlucHV0KSBcCiAgICAgbWFjcm8oaW52YWxpZCkgXApJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCShyZXZpc2lvbiA4Mjg2OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ2LDcgKzQ2LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzRm9ybUNvbnRyb2xF
bGVtZW50KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0VudW1lcmF0YWJsZSgpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNSZXNldHRhYmxlKCkgY29uc3QgPSAwOwogCiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gZm9ybUNvbnRyb2xO
YW1lKCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4JKHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE3OCw4ICsxNzgsNiBAQCBvbmVycm9yCiBvbmZv
Y3VzCiBvbmZvY3VzaW4KIG9uZm9jdXNvdXQKLW9uZm9ybWNoYW5nZQotb25mb3JtaW5wdXQKIG9u
aGFzaGNoYW5nZQogb25pbnB1dAogb25pbnZhbGlkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAkocmV2aXNpb24gODI4NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDEwICsxOTQsNiBAQCB2b2lkIEhUTUxF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBCiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcygpLmZvY3VzaW5FdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25m
b2N1c291dEF0dHIpIHsKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuZm9jdXNvdXRFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBh
dHRyKSk7Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25mb3JtY2hhbmdlQXR0cikg
ewotICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5mb3JtY2hh
bmdlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwotICAg
IH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9uZm9ybWlucHV0QXR0cikgewotICAgICAgICBz
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5mb3JtaW5wdXRFdmVudCwgY3Jl
YXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfSBlbHNlIGlmIChh
dHRyLT5uYW1lKCkgPT0gb25ibHVyQXR0cikgewogICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIodGhpcywgYXR0cikpOwogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ua2V5ZG93
bkF0dHIpIHsKQEAgLTgxOSw0MCArODE1LDYgQEAgSFRNTEZvcm1FbGVtZW50KiBIVE1MRWxlbWVu
dDo6dmlydHVhbEZvcgogICAgIHJldHVybiBmaW5kRm9ybUFuY2VzdG9yKCk7CiB9CiAKLUhUTUxG
b3JtRWxlbWVudCogSFRNTEVsZW1lbnQ6OnNoYWRvd0FuY2VzdG9yT3duZXJGb3JtKCkKLXsKLSAg
ICBOb2RlKiBhbmNlc3Rvck5vZGUgPSBzaGFkb3dBbmNlc3Rvck5vZGUoKTsKLSAgICBpZiAoIWFu
Y2VzdG9yTm9kZSkKLSAgICAgICAgcmV0dXJuIGZvcm0oKTsKLQotICAgIGlmICghYW5jZXN0b3JO
b2RlLT5pc0hUTUxFbGVtZW50KCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIEhUTUxFbGVtZW50
KiBhbmNlc3RvckhUTUwgPSB0b0hUTUxFbGVtZW50KGFuY2VzdG9yTm9kZSk7Ci0gICAgaWYgKCFh
bmNlc3RvckhUTUwpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBhbmNlc3RvckhUTUwt
PmZvcm0oKTsKLX0KLQotdm9pZCBIVE1MRWxlbWVudDo6ZGlzcGF0Y2hDaGFuZ2VFdmVudHMoKQot
ewotICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gcHJvdGVjdG9yKHRoaXMpOwotICAgIFJlZlB0cjxI
VE1MRm9ybUVsZW1lbnQ+IG93bmVyRm9ybShzaGFkb3dBbmNlc3Rvck93bmVyRm9ybSgpKTsKLQot
ICAgIE5vZGU6OmRpc3BhdGNoQ2hhbmdlRXZlbnRzKCk7Ci0gICAgaWYgKG93bmVyRm9ybSkKLSAg
ICAgICAgb3duZXJGb3JtLT5kaXNwYXRjaEZvcm1DaGFuZ2UoKTsKLX0KLQotdm9pZCBIVE1MRWxl
bWVudDo6ZGlzcGF0Y2hJbnB1dEV2ZW50cygpCi17Ci0gICAgUmVmUHRyPEhUTUxFbGVtZW50PiBw
cm90ZWN0b3IodGhpcyk7Ci0gICAgUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gb3duZXJGb3JtKHNo
YWRvd0FuY2VzdG9yT3duZXJGb3JtKCkpOwotCi0gICAgTm9kZTo6ZGlzcGF0Y2hJbnB1dEV2ZW50
cygpOwotICAgIGlmIChvd25lckZvcm0pCi0gICAgICAgIG93bmVyRm9ybS0+ZGlzcGF0Y2hGb3Jt
SW5wdXQoKTsKLX0KLQogc3RhdGljIHZvaWQgc2V0SGFzRGlyQXV0b0ZsYWdSZWN1cnNpdmVseShO
b2RlKiBmaXJzdE5vZGUsIGJvb2wgZmxhZywgTm9kZSogbGFzdE5vZGUgPSAwKQogewogICAgIGZp
cnN0Tm9kZS0+c2V0U2VsZk9yQW5jZXN0b3JIYXNEaXJBdXRvQXR0cmlidXRlKGZsYWcpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAkocmV2aXNpb24gODI4NjkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDkgKzgzLDYg
QEAgcHVibGljOgogCiAgICAgSFRNTEZvcm1FbGVtZW50KiBmaW5kRm9ybUFuY2VzdG9yKCkgY29u
c3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hDaGFuZ2VFdmVudHMoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hJbnB1dEV2ZW50cygpOwotCiAgICAgVGV4dERpcmVjdGlvbiBkaXJl
Y3Rpb25hbGl0eUlmaGFzRGlyQXV0b0F0dHJpYnV0ZShib29sJiBpc0F1dG8pIGNvbnN0OwogCiBw
cm90ZWN0ZWQ6CkBAIC0xMDgsOCArMTA1LDYgQEAgcHJpdmF0ZToKICAgICBOb2RlKiBpbnNlcnRB
ZGphY2VudChjb25zdCBTdHJpbmcmIHdoZXJlLCBOb2RlKiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gdGV4dFRvRnJhZ21lbnQoY29u
c3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgSFRNTEZvcm1FbGVtZW50KiBzaGFk
b3dBbmNlc3Rvck93bmVyRm9ybSgpOwotCiAgICAgdm9pZCBkaXJBdHRyaWJ1dGVDaGFuZ2VkKEF0
dHJpYnV0ZSopOwogICAgIHZvaWQgYWRqdXN0RGlyZWN0aW9uYWxpdHlJZk5lZWRlZEFmdGVyQ2hp
bGRBdHRyaWJ1dGVDaGFuZ2VkKEVsZW1lbnQqIGNoaWxkKTsKICAgICB2b2lkIGNhbGN1bGF0ZUFu
ZEFkanVzdERpcmVjdGlvbmFsaXR5KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuaAkocmV2aXNpb24gODI4NjkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNyAr
NjMsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2FibGUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQotICAgIHZpcnR1YWwgYm9vbCBpc1Jlc2V0dGFibGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogCiAgICAgLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBhIGNvbnRyb2wgd2lsbCBiZSBh
dXRvbWF0aWNhbGx5IGZvY3VzZWQuCiAgICAgdmlydHVhbCBib29sIGF1dG9mb2N1cygpIGNvbnN0
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAkocmV2aXNpb24g
ODI4NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU4NywzOSArNTg3LDYgQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OmNoZWNr
VmFsaWRpdHkoKQogICAgIHJldHVybiAhY2hlY2tJbnZhbGlkQ29udHJvbHNBbmRDb2xsZWN0VW5o
YW5kbGVkKGNvbnRyb2xzKTsKIH0KIAotdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmJyb2FkY2FzdEZv
cm1FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKLXsKLSAgICBSZWZQdHI8SFRN
TEZvcm1FbGVtZW50PiBwcm90ZWN0b3IodGhpcyk7Ci0gICAgLy8gQ29weSBtX2Fzc29jaWF0ZWRF
bGVtZW50cyBiZWNhdXNlIGV2ZW50IGhhbmRsZXJzIGNhbGxlZCBmcm9tCi0gICAgLy8gZm9ybUVs
ZW1lbnQtPmRpc3BhdGNoRXZlbnQoKSBtaWdodCBjaGFuZ2UgbV9hc3NvY2lhdGVkRWxlbWVudHMu
Ci0gICAgVmVjdG9yPFJlZlB0cjxGb3JtQXNzb2NpYXRlZEVsZW1lbnQ+ID4gZWxlbWVudHM7Ci0g
ICAgZWxlbWVudHMucmVzZXJ2ZUNhcGFjaXR5KG1fYXNzb2NpYXRlZEVsZW1lbnRzLnNpemUoKSk7
Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fYXNzb2NpYXRlZEVsZW1lbnRzLnNpemUo
KTsgKytpKSB7Ci0gICAgICAgIGlmICghbV9hc3NvY2lhdGVkRWxlbWVudHNbaV0tPmlzUmVzZXR0
YWJsZSgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGVsZW1lbnRzLmFwcGVuZCht
X2Fzc29jaWF0ZWRFbGVtZW50c1tpXSk7Ci0gICAgfQotCi0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGVsZW1lbnRzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIC8vIFdlIGNhbiBhc3N1bWUg
YSByZXNldHRhYmxlIGNvbnRyb2wgaXMgYWx3YXlzIGEgSFRNTEZvcm1Db250cm9sRWxlbWVudC4K
LSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYW5kbGUgcmVzZXR0YWJsZSBub24tSFRNTEZv
cm1Db250cm9sRWxlbWVudHMgbWF5YmUgaW4gdGhlIGZ1dHVyZS4KLSAgICAgICAgQVNTRVJUKGVs
ZW1lbnRzW2ldLT5pc0Zvcm1Db250cm9sRWxlbWVudCgpKTsKLSAgICAgICAgSFRNTEZvcm1Db250
cm9sRWxlbWVudCogZm9ybUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50Kj4oZWxlbWVudHNbaV0uZ2V0KCkpOwotICAgICAgICBpZiAoIWZvcm1FbGVtZW50LT5kaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpKSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgIH0KLX0KLQotdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmRpc3Bh
dGNoRm9ybUlucHV0KCkKLXsKLSAgICBicm9hZGNhc3RGb3JtRXZlbnQoZXZlbnROYW1lcygpLmZv
cm1pbnB1dEV2ZW50KTsKLX0KLQotdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmRpc3BhdGNoRm9ybUNo
YW5nZSgpCi17Ci0gICAgYnJvYWRjYXN0Rm9ybUV2ZW50KGV2ZW50TmFtZXMoKS5mb3JtY2hhbmdl
RXZlbnQpOwotfQotCiBib29sIEhUTUxGb3JtRWxlbWVudDo6Y2hlY2tJbnZhbGlkQ29udHJvbHNB
bmRDb2xsZWN0VW5oYW5kbGVkKFZlY3RvcjxSZWZQdHI8Rm9ybUFzc29jaWF0ZWRFbGVtZW50PiA+
JiB1bmhhbmRsZWRJbnZhbGlkQ29udHJvbHMpCiB7CiAgICAgUmVmUHRyPEhUTUxGb3JtRWxlbWVu
dD4gcHJvdGVjdG9yKHRoaXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5oCShyZXZpc2lvbiA4Mjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNCw5ICsxMTQsNiBAQCBwdWJsaWM6CiAKICAgICBj
b25zdCBWZWN0b3I8Rm9ybUFzc29jaWF0ZWRFbGVtZW50Kj4mIGFzc29jaWF0ZWRFbGVtZW50cygp
IGNvbnN0IHsgcmV0dXJuIG1fYXNzb2NpYXRlZEVsZW1lbnRzOyB9CiAKLSAgICB2b2lkIGRpc3Bh
dGNoRm9ybUlucHV0KCk7Ci0gICAgdm9pZCBkaXNwYXRjaEZvcm1DaGFuZ2UoKTsKLQogcHJpdmF0
ZToKICAgICBIVE1MRm9ybUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7
CiAKQEAgLTE0OCw4ICsxNDUsNiBAQCBwcml2YXRlOgogICAgIC8vIGFyZSBhbnkgaW52YWxpZCBj
b250cm9scyBpbiB0aGlzIGZvcm0uCiAgICAgYm9vbCBjaGVja0ludmFsaWRDb250cm9sc0FuZENv
bGxlY3RVbmhhbmRsZWQoVmVjdG9yPFJlZlB0cjxGb3JtQXNzb2NpYXRlZEVsZW1lbnQ+ID4mKTsK
IAotICAgIHZvaWQgYnJvYWRjYXN0Rm9ybUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOwotCiAg
ICAgZnJpZW5kIGNsYXNzIEhUTUxGb3JtQ29sbGVjdGlvbjsKIAogICAgIHR5cGVkZWYgSGFzaE1h
cDxSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4sIFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50
PiA+IEFsaWFzTWFwOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50Lmlk
bAkocmV2aXNpb24gODI4NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQzLDkgKzQzLDYgQEAgbW9kdWxlIGh0bWwgewogI2Vu
ZGlmCiAgICAgICAgIHZvaWQgcmVzZXQoKTsKICAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0KLSAgICAgICAgdm9pZCBkaXNwYXRjaEZvcm1JbnB1dCgpOwotICAgICAgICB2b2lkIGRp
c3BhdGNoRm9ybUNoYW5nZSgpOwogICAgIH07CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCShyZXZpc2lvbiA4Mjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNyArMjE1LDYgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2
ZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJv
b2wgaXNSZXNldHRhYmxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2UoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24pOwog
ICAgIHZpcnR1YWwgdm9pZCBhYm91dFRvVW5sb2FkKCk7CiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZFVzZUlucHV0TWV0aG9kKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxL
ZXlnZW5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5
Z2VuRWxlbWVudC5oCShyZXZpc2lvbiA4Mjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEtleWdlbkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNiBAQCBwcml2YXRl
OgogCiAgICAgdmlydHVhbCBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQogCi0gICAgdmlydHVhbCBib29sIGlzUmVzZXR0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKTsKIAogICAgIEhUTUxTZWxlY3RFbGVtZW50
KiBzZWxlY3RTaGFkb3coKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVt
ZW50LmgJKHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw2IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgaXNGb3JtQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogCiAgICAgdmlydHVhbCBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1Jlc2V0dGFibGUoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBhcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmLCBib29s
KTsKIAogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBjb25zdHJhaW50IHZhbGlkYXRpb24gQVBJ
LgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaAkocmV2aXNpb24g
ODI4NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDcgKzU2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFy
c2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0VudW1l
cmF0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNSZXNl
dHRhYmxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJl
bkNoYW5nZWQoYm9vbCBjcmVhdGVkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdl
ID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAg
ICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmgJKHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNyArMTA3LDYgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgY2FuU3RhcnRTZWxlY3Rpb24oKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1Jlc2V0dGFibGUoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgc2F2ZUZvcm1Db250cm9sU3RhdGUoU3Ry
aW5nJiB2YWx1ZSkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHJlc3RvcmVGb3JtQ29udHJvbFN0
YXRlKGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmgJKHJldmlzaW9uIDgyODY5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDcgKzgyLDYgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogCiAgICAg
dmlydHVhbCBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAg
IHZpcnR1YWwgYm9vbCBpc1Jlc2V0dGFibGUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkocmV2aXNpb24gODI4NjkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODQsOCArMjg0LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGVuZGVkKTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihl
cnJvcik7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZm9jdXMpOwot
ICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGZvcm1jaGFuZ2UpOwotICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGZvcm1pbnB1dCk7CiAgICAgICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoaGFzaGNoYW5nZSk7CiAgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoaW5wdXQpOwogICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGludmFsaWQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAkocmV2aXNpb24gODI4NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2Nyw4ICsyNjcsNiBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lbmRlZDsKICAgICAgICAgYXR0cmli
dXRlIEV2ZW50TGlzdGVuZXIgb25lcnJvcjsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25mb2N1czsKLSAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25mb3JtY2hhbmdl
OwotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmZvcm1pbnB1dDsKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25oYXNoY2hhbmdlOwogICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbmlucHV0OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBv
bmludmFsaWQ7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4Mjg3MykKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA0LTA0ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBvbmZvcm1jaGFuZ2UgYW5kIG9uZm9ybWlucHV0
IGV2ZW50cy9ldmVudCBoYW5kbGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTU3NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkwODc5Njk+CisK
KyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybWNoYW5nZS1ldmVudC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9mb3JtY2hhbmdlLWV2ZW50
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9mb3JtaW5wdXQtZXZlbnQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybWlucHV0LWV2ZW50
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybWNo
YW5nZS1ldmVudC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9mb3JtaW5wdXQtZXZlbnQuanM6IFJlbW92ZWQuCisKIDIwMTEtMDQtMDQgIEFkcmllbm5lIFdh
bGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBtYXJrIHJldm9r
ZS1ibG9iLXVybC5odG1sIGFzIENSQVNIIGZvciBDaHJvbWl1bSBvbiBXaW4uCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDgyODY5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MjMzNiw4ICsyMzM2LDYgQEAgd2luZG93Lm9uZW1wdGllZCBbbnVsbF0KIHdpbmRvdy5vbmVuZGVk
IFtudWxsXQogd2luZG93Lm9uZXJyb3IgW251bGxdCiB3aW5kb3cub25mb2N1cyBbbnVsbF0KLXdp
bmRvdy5vbmZvcm1jaGFuZ2UgW251bGxdCi13aW5kb3cub25mb3JtaW5wdXQgW251bGxdCiB3aW5k
b3cub25oYXNoY2hhbmdlIFtudWxsXQogd2luZG93Lm9uaW5wdXQgW251bGxdCiB3aW5kb3cub25p
bnZhbGlkIFtudWxsXQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDgyODY5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRv
dy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM5
Niw4ICszOTYsNiBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29uZW5k
ZWQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdvbmVycm9yJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb25mb2N1cycpIGlzICdvYmplY3QnCi1Q
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29uZm9y
bWNoYW5nZScpIGlzICdvYmplY3QnCi1QQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ29uZm9ybWlucHV0JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9m
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb25oYXNoY2hhbmdlJykg
aXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCAnb25pbnB1dCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29uaW52YWxpZCcpIGlzICdvYmplY3QnCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm1jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybWNoYW5nZS1ldmVudC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDgyODY5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3Jt
Y2hhbmdlLWV2ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMCwwIEBA
Ci1UZXN0IGZvciBmb3JtY2hhbmdlIGV2ZW50cy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLUNoYW5nZSBmb3IgaW5wdXQgKHR5cGU9dGV4dCkKLVBBU1MgcmVzdWx0IGlzICJGaXJl
ZCIKLUNoYW5nZSBmb3IgaW5wdXQgKHR5cGU9bnVtYmVyKQotUEFTUyByZXN1bHQgaXMgIkZpcmVk
IgotQ2hhbmdlIGZvciBpbnB1dCAodHlwZT1yYWRpbykKLVBBU1MgcmVzdWx0IGlzICJGaXJlZCIK
LUNoYW5nZSBmb3IgaW5wdXQgKHR5cGU9Y2hlY2tib3gpCi1QQVNTIHJlc3VsdCBpcyAiRmlyZWQi
Ci1DaGFuZ2UgZm9yIHRleHRhcmVhCi1QQVNTIHJlc3VsdCBpcyAiRmlyZWQiCi1DaGFuZ2UgZm9y
IHNlbGVjdAotUEFTUyByZXN1bHQgaXMgIkZpcmVkIgotZm9ybS5kaXNwYXRjaEZvcm1DaGFuZ2Uo
KQotUEFTUyByZXN1bHQgaXMgIkZpcmVkIgotCi1JcyBmb3JtY2hhbmdlIGRlbGl2ZXJlZCBmb3I/
Ci1QQVNTIHJlc3VsdElucHV0VGV4dCBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1bHRJbnB1dE51
bWJlciBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1bHRJbnB1dFJhZGlvIGlzICJEZWxpdmVyZWQi
Ci1QQVNTIHJlc3VsdElucHV0Q2hlY2tib3ggaXMgIkRlbGl2ZXJlZCIKLVBBU1MgcmVzdWx0VGV4
dGFyZWEgaXMgIkRlbGl2ZXJlZCIKLVBBU1MgcmVzdWx0S2V5Z2VuIGlzICJEZWxpdmVyZWQiCi1Q
QVNTIHJlc3VsdE9iamVjdCBpcyAiTm90IGRlbGl2ZXJlZCIKLVBBU1MgcmVzdWx0T3V0cHV0IGlz
ICJEZWxpdmVyZWQiCi1QQVNTIHJlc3VsdFNlbGVjdCBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1
bHRQIGlzICJOb3QgZGVsaXZlcmVkIgotUEFTUyByZXN1bHRSZW1vdmluZ0lucHV0IGlzICJEZWxp
dmVyZWQiCi1QQVNTIHJlc3VsdFJlbW92aW5nRm9ybSBpcyAiRGVsaXZlcmVkIgotCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9mb3JtY2hhbmdlLWV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtY2hhbmdlLWV2ZW50Lmh0bWwJKHJldmlzaW9uIDgyODY5
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtY2hhbmdlLWV2ZW50Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9mb3JtY2hhbmdlLWV2ZW50LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtaW5wdXQtZXZlbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybWlucHV0
LWV2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODI4NjkpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2Zvcm1pbnB1dC1ldmVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzggKzAsMCBAQAotVGVzdCBmb3IgZm9ybWlucHV0IGV2ZW50cy4KLQotT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgotCi0KLUNoYW5nZSBmb3IgaW5wdXQgKHR5cGU9dGV4dCkKLVBBU1MgcmVzdWx0
IGlzICJGaXJlZCIKLUNoYW5nZSBmb3IgaW5wdXQgKHR5cGU9bnVtYmVyKQotUEFTUyByZXN1bHQg
aXMgIkZpcmVkIgotQ2hhbmdlIGZvciBpbnB1dCAodHlwZT1yYWRpbykKLVBBU1MgcmVzdWx0IGlz
ICJOb3QgZmlyZWQiCi1DaGFuZ2UgZm9yIGlucHV0ICh0eXBlPWNoZWNrYm94KQotUEFTUyByZXN1
bHQgaXMgIk5vdCBmaXJlZCIKLUNoYW5nZSBmb3IgdGV4dGFyZWEKLVBBU1MgcmVzdWx0IGlzICJG
aXJlZCIKLUNoYW5nZSBmb3Igc2VsZWN0Ci1QQVNTIHJlc3VsdCBpcyAiTm90IGZpcmVkIgotZm9y
bS5kaXNwYXRjaEZvcm1JbnB1dCgpCi1QQVNTIHJlc3VsdCBpcyAiRmlyZWQiCi0KLUlzIGZvcm1p
bnB1dCBkZWxpdmVyZWQgZm9yPwotUEFTUyByZXN1bHRJbnB1dFRleHQgaXMgIkRlbGl2ZXJlZCIK
LVBBU1MgcmVzdWx0SW5wdXROdW1iZXIgaXMgIkRlbGl2ZXJlZCIKLVBBU1MgcmVzdWx0SW5wdXRS
YWRpbyBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1bHRJbnB1dENoZWNrYm94IGlzICJEZWxpdmVy
ZWQiCi1QQVNTIHJlc3VsdFRleHRhcmVhIGlzICJEZWxpdmVyZWQiCi1QQVNTIHJlc3VsdEtleWdl
biBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1bHRPYmplY3QgaXMgIk5vdCBkZWxpdmVyZWQiCi1Q
QVNTIHJlc3VsdE91dHB1dCBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1bHRTZWxlY3QgaXMgIkRl
bGl2ZXJlZCIKLVBBU1MgcmVzdWx0UCBpcyAiTm90IGRlbGl2ZXJlZCIKLVBBU1MgcmVzdWx0UmVt
b3ZpbmdJbnB1dCBpcyAiRGVsaXZlcmVkIgotUEFTUyByZXN1bHRSZW1vdmluZ0Zvcm0gaXMgIkRl
bGl2ZXJlZCIKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybWlucHV0LWV2ZW50Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtaW5wdXQtZXZlbnQuaHRt
bAkocmV2aXNpb24gODI4NjkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm1pbnB1dC1l
dmVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZm9ybWlucHV0LWV2ZW50LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvZm9ybWNoYW5nZS1ldmVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtY2hhbmdlLWV2ZW50LmpzCShyZXZpc2lvbiA4Mjg2
OSkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm1jaGFuZ2UtZXZl
bnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTc3ICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0
IGZvciBmb3JtY2hhbmdlIGV2ZW50cy4nKTsKLQotZnVuY3Rpb24gc2VuZEtleShlbGVtZW50LCBr
ZXlOYW1lKSB7Ci0gICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJvYXJk
RXZlbnQnKTsKLSAgICBldmVudC5pbml0S2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHRydWUsIHRy
dWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCBrZXlOYW1lKTsKLSAgICBlbGVtZW50LmRpc3BhdGNo
RXZlbnQoZXZlbnQpOwotfQotCi1mdW5jdGlvbiBzZW5kVGV4dChlbGVtZW50LCB0ZXh0KSB7Ci0g
ICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1RleHRFdmVudCcpOwotICAgIGV2
ZW50LmluaXRUZXh0RXZlbnQoJ3RleHRJbnB1dCcsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1
bHRWaWV3LCB0ZXh0KTsKLSAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpOwotfQotCi1m
dW5jdGlvbiBzZW5kTW91c2VDbGljayhlbGVtZW50KSB7Ci0gICAgdmFyIHggPSBlbGVtZW50LmNs
aWVudExlZnQgKyAxMDsKLSAgICB2YXIgeSA9IGVsZW1lbnQuY2xpZW50VG9wICsgMTA7Ci0gICAg
dmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1vdXNlRXZlbnQiKTsKLSAgICBldmVu
dC5pbml0TW91c2VFdmVudCgibW91c2Vkb3duIiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVs
dFZpZXcsIDEsIHgsIHksIHgsIHksIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCBkb2N1
bWVudCk7Ci0gICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLSAgICB2YXIgZXZlbnQg
PSBkb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudCIpOwotICAgIGV2ZW50LmluaXRNb3Vz
ZUV2ZW50KCJtb3VzZXVwIiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDEsIHgs
IHksIHgsIHksIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCBkb2N1bWVudCk7Ci0gICAg
ZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0KLQotZnVuY3Rpb24gJChpZCkgewotICAg
IHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7Ci19Ci0KLQotdmFyIGZvcm0gPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci1mb3JtLnNldEF0dHJpYnV0ZSgnaWQnLCAn
Zm9ybScpOwotZm9ybS5pbm5lckhUTUwgPQotICAgICc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRl
ZmF1bHQtaW5wdXQiIHZhbHVlPSJJbnB1dCBoZXJlLiIgLz4nICsKLSAgICAnPGlucHV0IHR5cGU9
InRleHQiIGlkPSJpbnB1dC10ZXh0IiB2YWx1ZT0iSW5wdXQgaGVyZS4iIC8+JyArCi0gICAgJzxp
bnB1dCB0eXBlPSJudW1iZXIiIGlkPSJpbnB1dC1udW1iZXIiIHZhbHVlPSIyNCIgLz4nICsKLSAg
ICAnPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJpbnB1dC1yYWRpbyIgaWQ9ImlucHV0LXJhZGlv
MSIgdmFsdWU9IjEiIGNoZWNrZWQvPicgKwotICAgICc8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9
ImlucHV0LXJhZGlvIiBpZD0iaW5wdXQtcmFkaW8yIiB2YWx1ZT0iMiIgLz4nICsKLSAgICAnPGlu
cHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJpbnB1dC1jaGVjayIgaWQ9ImlucHV0LWNoZWNrMSIg
dmFsdWU9IjEiIGNoZWNrZWQvPicgKwotICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9
ImlucHV0LWNoZWNrIiBpZD0iaW5wdXQtY2hlY2syIiB2YWx1ZT0iMiIgLz4nICsKLSAgICAnPHRl
eHRhcmVhIGlkPSJpbnB1dC10ZXh0YXJlYSI+SW5wdXQgaGVyZS48L3RleHRhcmVhPicgKwotICAg
ICc8c2VsZWN0IGlkPSJpbnB1dC1zZWxlY3QiIG11bHRpcGxlPicgKwotICAgICc8b3B0aW9uIGlk
PSJpbnB1dC1vcHRpb24xIiB2YWx1ZT0ib3B0aW9uMSI+b3B0aW9uMTwvb3B0aW9uPicgKwotICAg
ICc8b3B0aW9uIGlkPSJpbnB1dC1vcHRpb24yIiB2YWx1ZT0ib3B0aW9uMiI+b3B0aW9uMjwvb3B0
aW9uPicgKwotICAgICc8L3NlbGVjdD4nICsKLQotICAgICc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9
ImRlZmF1bHQtaGFuZGxlciIgb25mb3JtY2hhbmdlPSJyZXN1bHQgPSBcJ0ZpcmVkXCciIC8+JyAr
Ci0gICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaGFuZGxlci10ZXh0IiBvbmZvcm1jaGFuZ2U9
InJlc3VsdElucHV0VGV4dCA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0gICAgJzxpbnB1dCB0eXBl
PSJudW1iZXIiIGlkPSJoYW5kbGVyLW51bWJlciIgb25mb3JtY2hhbmdlPSJyZXN1bHRJbnB1dE51
bWJlciA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJyYWRpbyIgbmFt
ZT0iaGFuZGxlci1yYWRpbyIgaWQ9ImhhbmRsZXItcmFkaW8iIG9uZm9ybWNoYW5nZT0icmVzdWx0
SW5wdXRSYWRpbyA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJjaGVj
a2JveCIgbmFtZT0iaGFuZGxlci1jaGVjayIgaWQ9ImhhbmRsZXItY2hlY2siIG9uZm9ybWNoYW5n
ZT0icmVzdWx0SW5wdXRDaGVja2JveCA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0gICAgJzx0ZXh0
YXJlYSBpZD0iaGFuZGxlci10ZXh0YXJlYSIgb25mb3JtY2hhbmdlPSJyZXN1bHRUZXh0YXJlYSA9
IFwnRGVsaXZlcmVkXCciPjwvdGV4dGFyZWE+JyArCi0gICAgJzxrZXlnZW4gaWQ9ImhhbmRsZXIt
a2V5Z2VuIiBvbmZvcm1jaGFuZ2U9InJlc3VsdEtleWdlbiA9IFwnRGVsaXZlcmVkXCciIC8+JyAr
Ci0gICAgJzxvYmplY3QgaWQ9ImhhbmRsZXItb2JqZWN0IiBvbmZvcm1jaGFuZ2U9InJlc3VsdE9i
amVjdCA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0gICAgJzxvdXRwdXQgaWQ9ImhhbmRsZXItb3V0
cHV0IiBvbmZvcm1jaGFuZ2U9InJlc3VsdE91dHB1dCA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0g
ICAgJzxzZWxlY3QgaWQ9ImhhbmRsZXItc2VsZWN0IiBvbmZvcm1jaGFuZ2U9InJlc3VsdFNlbGVj
dCA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0KLSAgICAnPHAgaWQ9ImhhbmRsZXItcCIgb25mb3Jt
Y2hhbmdlPSJyZXN1bHRQID0gXCdEZWxpdmVyZWRcJyI+SGkhPC9wPic7Ci1kb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGZvcm0pOwotCi0KLWZ1bmN0aW9uIG9uZm9ybWNoYW5nZVJlbW92aW5nSW5w
dXQoKSB7Ci0gICAgJCgnZm9ybS1yZW1vdmluZy1pbnB1dCcpLnJlbW92ZUNoaWxkKCQoJ2hhbmRs
ZXItcmVtb3ZpbmctaW5wdXQnKSk7Ci0gICAgcmVzdWx0UmVtb3ZpbmdJbnB1dCA9ICdEZWxpdmVy
ZWQnOwotfQotCi12YXIgZm9ybV9yZW1vdmluZ19pbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2Zvcm0nKTsKLWZvcm1fcmVtb3ZpbmdfaW5wdXQuc2V0QXR0cmlidXRlKCdpZCcsICdmb3Jt
LXJlbW92aW5nLWlucHV0Jyk7Ci1mb3JtX3JlbW92aW5nX2lucHV0LmlubmVySFRNTCA9Ci0gICAg
JzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQtcmVtb3ZpbmctaW5wdXQiIHZhbHVlPSJJbnB1
dCBoZXJlLiIgLz4nICsKLSAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSJoYW5kbGVyLXJlbW92
aW5nLWlucHV0IiBvbmZvcm1jaGFuZ2U9Im9uZm9ybWNoYW5nZVJlbW92aW5nSW5wdXQoKSIgLz4n
OwotZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtX3JlbW92aW5nX2lucHV0KTsKLQotCi1m
dW5jdGlvbiBvbmZvcm1jaGFuZ2VSZW1vdmluZ0Zvcm0oKSB7Ci0gICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZCgkKCdmb3JtLXJlbW92aW5nLWZvcm0nKSk7Ci0gICAgcmVzdWx0UmVtb3ZpbmdG
b3JtID0gJ0RlbGl2ZXJlZCc7Ci19Ci0KLXZhciBmb3JtX3JlbW92aW5nX2Zvcm0gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci1mb3JtX3JlbW92aW5nX2Zvcm0uc2V0QXR0cmlidXRl
KCdpZCcsICdmb3JtLXJlbW92aW5nLWZvcm0nKTsKLWZvcm1fcmVtb3ZpbmdfZm9ybS5pbm5lckhU
TUwgPQotICAgICc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0LXJlbW92aW5nLWZvcm0iIHZh
bHVlPSJJbnB1dCBoZXJlLiIgLz4nICsKLSAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSJoYW5k
bGVyLXJlbW92aW5nLWZvcm0iIG9uZm9ybWNoYW5nZT0ib25mb3JtY2hhbmdlUmVtb3ZpbmdGb3Jt
KCkiIC8+JzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybV9yZW1vdmluZ19mb3JtKTsK
LQotCi12YXIgcmVzdWx0OwotCi1kZWJ1ZygnQ2hhbmdlIGZvciBpbnB1dCAodHlwZT10ZXh0KScp
OwotcmVzdWx0ID0gIk5vdCBmaXJlZCI7Ci0kKCdpbnB1dC10ZXh0JykuZm9jdXMoKTsKLXNlbmRU
ZXh0KCQoJ2lucHV0LXRleHQnKSwgJ05ldyB0ZXh0LicpOwotJCgnZGVmYXVsdC1pbnB1dCcpLmZv
Y3VzKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdCIsICJGaXJlZCIpOwotCi1kZWJ1
ZygnQ2hhbmdlIGZvciBpbnB1dCAodHlwZT1udW1iZXIpJyk7Ci1yZXN1bHQgPSAiTm90IGZpcmVk
IjsKLSQoJ2lucHV0LW51bWJlcicpLmZvY3VzKCk7Ci1zZW5kS2V5KCQoJ2lucHV0LW51bWJlcicp
LCAnVXAnKTsKLSQoJ2RlZmF1bHQtaW5wdXQnKS5mb2N1cygpOwotc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJyZXN1bHQiLCAiRmlyZWQiKTsKLQotZGVidWcoJ0NoYW5nZSBmb3IgaW5wdXQgKHR5cGU9
cmFkaW8pJyk7Ci1yZXN1bHQgPSAiTm90IGZpcmVkIjsKLSQoJ2lucHV0LXJhZGlvMicpLmNsaWNr
KCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdCIsICJGaXJlZCIpOwotCi1kZWJ1Zygn
Q2hhbmdlIGZvciBpbnB1dCAodHlwZT1jaGVja2JveCknKTsKLXJlc3VsdCA9ICJOb3QgZmlyZWQi
OwotJCgnaW5wdXQtY2hlY2syJykuY2xpY2soKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVz
dWx0IiwgIkZpcmVkIik7Ci0KLWRlYnVnKCdDaGFuZ2UgZm9yIHRleHRhcmVhJyk7Ci1yZXN1bHQg
PSAiTm90IGZpcmVkIjsKLSQoJ2lucHV0LXRleHRhcmVhJykuZm9jdXMoKTsKLXNlbmRUZXh0KCQo
J2lucHV0LXRleHRhcmVhJyksICdOZXcgdGV4dC4nKTsKLSQoJ2RlZmF1bHQtaW5wdXQnKS5mb2N1
cygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHQiLCAiRmlyZWQiKTsKLQotZGVidWco
J0NoYW5nZSBmb3Igc2VsZWN0Jyk7Ci1yZXN1bHQgPSAiTm90IGZpcmVkIjsKLXNlbmRNb3VzZUNs
aWNrKCQoJ2lucHV0LXNlbGVjdCcpKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0Iiwg
IkZpcmVkIik7Ci0KLWRlYnVnKCdmb3JtLmRpc3BhdGNoRm9ybUNoYW5nZSgpJyk7Ci1yZXN1bHQg
PSAiTm90IGZpcmVkIjsKLWZvcm0uZGlzcGF0Y2hGb3JtQ2hhbmdlKCk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoInJlc3VsdCIsICJGaXJlZCIpOwotCi0KLWRlYnVnKCcnKTsKLQotCi1kZWJ1Zygn
SXMgZm9ybWNoYW5nZSBkZWxpdmVyZWQgZm9yPycpOwotdmFyIHJlc3VsdElucHV0VGV4dCA9ICJO
b3QgZGVsaXZlcmVkIjsKLXZhciByZXN1bHRJbnB1dE51bWJlciA9ICJOb3QgZGVsaXZlcmVkIjsK
LXZhciByZXN1bHRJbnB1dFJhZGlvID0gIk5vdCBkZWxpdmVyZWQiOwotdmFyIHJlc3VsdElucHV0
Q2hlY2tib3ggPSAiTm90IGRlbGl2ZXJlZCI7Ci12YXIgcmVzdWx0VGV4dGFyZWEgPSAiTm90IGRl
bGl2ZXJlZCI7Ci12YXIgcmVzdWx0S2V5Z2VuID0gIk5vdCBkZWxpdmVyZWQiOwotdmFyIHJlc3Vs
dE9iamVjdCA9ICJOb3QgZGVsaXZlcmVkIjsKLXZhciByZXN1bHRPdXRwdXQgPSAiTm90IGRlbGl2
ZXJlZCI7Ci12YXIgcmVzdWx0U2VsZWN0ID0gIk5vdCBkZWxpdmVyZWQiOwotdmFyIHJlc3VsdFAg
PSAiTm90IGRlbGl2ZXJlZCI7Ci0kKCdkZWZhdWx0LWlucHV0JykuZm9jdXMoKTsKLXNlbmRUZXh0
KCQoJ2RlZmF1bHQtaW5wdXQnKSwgJ05ldyB0ZXh0LicpOwotJCgnZGVmYXVsdC1oYW5kbGVyJyku
Zm9jdXMoKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0SW5wdXRUZXh0IiwgIkRlbGl2
ZXJlZCIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHRJbnB1dE51bWJlciIsICJEZWxp
dmVyZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0SW5wdXRSYWRpbyIsICJEZWxp
dmVyZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0SW5wdXRDaGVja2JveCIsICJE
ZWxpdmVyZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0VGV4dGFyZWEiLCAiRGVs
aXZlcmVkIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdEtleWdlbiIsICJEZWxpdmVy
ZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0T2JqZWN0IiwgIk5vdCBkZWxpdmVy
ZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0T3V0cHV0IiwgIkRlbGl2ZXJlZCIp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHRTZWxlY3QiLCAiRGVsaXZlcmVkIik7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdFAiLCAiTm90IGRlbGl2ZXJlZCIpOwotCi12YXIg
cmVzdWx0UmVtb3ZpbmdJbnB1dCA9ICJOb3QgZGVsaXZlcmVkIjsKLSQoJ2lucHV0LXJlbW92aW5n
LWlucHV0JykuZm9jdXMoKTsKLXNlbmRUZXh0KCQoJ2lucHV0LXJlbW92aW5nLWlucHV0JyksICdO
ZXcgdGV4dC4nKTsKLSQoJ2RlZmF1bHQtaGFuZGxlcicpLmZvY3VzKCk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoInJlc3VsdFJlbW92aW5nSW5wdXQiLCAiRGVsaXZlcmVkIik7Ci0KLXZhciByZXN1
bHRSZW1vdmluZ0Zvcm0gPSAiTm90IGRlbGl2ZXJlZCI7Ci0kKCdpbnB1dC1yZW1vdmluZy1mb3Jt
JykuZm9jdXMoKTsKLXNlbmRUZXh0KCQoJ2lucHV0LXJlbW92aW5nLWZvcm0nKSwgJ05ldyB0ZXh0
LicpOwotJCgnZGVmYXVsdC1oYW5kbGVyJykuZm9jdXMoKTsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygicmVzdWx0UmVtb3ZpbmdGb3JtIiwgIkRlbGl2ZXJlZCIpOwotCi0KLWRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQoZm9ybSk7Ci1kZWJ1ZygnJyk7Ci0KLQotdmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3Jt
aW5wdXQtZXZlbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvZm9ybWlucHV0LWV2ZW50LmpzCShyZXZpc2lvbiA4Mjg2OSkKKysrIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm1pbnB1dC1ldmVudC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMSwxNzcgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIGZvcm1pbnB1dCBl
dmVudHMuJyk7Ci0KLWZ1bmN0aW9uIHNlbmRLZXkoZWxlbWVudCwga2V5TmFtZSkgewotICAgIHZh
ciBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdLZXlib2FyZEV2ZW50Jyk7Ci0gICAgZXZl
bnQuaW5pdEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZh
dWx0Vmlldywga2V5TmFtZSk7Ci0gICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0K
LQotZnVuY3Rpb24gc2VuZFRleHQoZWxlbWVudCwgdGV4dCkgewotICAgIHZhciBldmVudCA9IGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdUZXh0RXZlbnQnKTsKLSAgICBldmVudC5pbml0VGV4dEV2ZW50
KCd0ZXh0SW5wdXQnLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgdGV4dCk7Ci0g
ICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0KLQotZnVuY3Rpb24gc2VuZE1vdXNl
Q2xpY2soZWxlbWVudCkgewotICAgIHZhciB4ID0gZWxlbWVudC5jbGllbnRMZWZ0ICsgMTA7Ci0g
ICAgdmFyIHkgPSBlbGVtZW50LmNsaWVudFRvcCArIDEwOwotICAgIHZhciBldmVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50Iik7Ci0gICAgZXZlbnQuaW5pdE1vdXNlRXZlbnQo
Im1vdXNlZG93biIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAxLCB4LCB5LCB4
LCB5LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwgZG9jdW1lbnQpOwotICAgIGVsZW1l
bnQuZGlzcGF0Y2hFdmVudChldmVudCk7Ci0gICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoIk1vdXNlRXZlbnQiKTsKLSAgICBldmVudC5pbml0TW91c2VFdmVudCgibW91c2V1cCIs
IHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAxLCB4LCB5LCB4LCB5LCBmYWxzZSwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSwgMCwgZG9jdW1lbnQpOwotICAgIGVsZW1lbnQuZGlzcGF0Y2hF
dmVudChldmVudCk7Ci19Ci0KLWZ1bmN0aW9uICQoaWQpIHsKLSAgICByZXR1cm4gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWQpOwotfQotCi0KLXZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZm9ybScpOwotZm9ybS5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Zvcm0nKTsKLWZvcm0uaW5u
ZXJIVE1MID0KLSAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSJkZWZhdWx0LWlucHV0IiB2YWx1
ZT0iSW5wdXQgaGVyZS4iIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQt
dGV4dCIgdmFsdWU9IklucHV0IGhlcmUuIiAvPicgKwotICAgICc8aW5wdXQgdHlwZT0ibnVtYmVy
IiBpZD0iaW5wdXQtbnVtYmVyIiB2YWx1ZT0iMjQiIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJy
YWRpbyIgbmFtZT0iaW5wdXQtcmFkaW8iIGlkPSJpbnB1dC1yYWRpbzEiIHZhbHVlPSIxIiBjaGVj
a2VkLz4nICsKLSAgICAnPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJpbnB1dC1yYWRpbyIgaWQ9
ImlucHV0LXJhZGlvMiIgdmFsdWU9IjIiIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJjaGVja2Jv
eCIgbmFtZT0iaW5wdXQtY2hlY2siIGlkPSJpbnB1dC1jaGVjazEiIHZhbHVlPSIxIiBjaGVja2Vk
Lz4nICsKLSAgICAnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJpbnB1dC1jaGVjayIgaWQ9
ImlucHV0LWNoZWNrMiIgdmFsdWU9IjIiIC8+JyArCi0gICAgJzx0ZXh0YXJlYSBpZD0iaW5wdXQt
dGV4dGFyZWEiPklucHV0IGhlcmUuPC90ZXh0YXJlYT4nICsKLSAgICAnPHNlbGVjdCBpZD0iaW5w
dXQtc2VsZWN0IiBtdWx0aXBsZT4nICsKLSAgICAnPG9wdGlvbiBpZD0iaW5wdXQtb3B0aW9uMSIg
dmFsdWU9Im9wdGlvbjEiPm9wdGlvbjE8L29wdGlvbj4nICsKLSAgICAnPG9wdGlvbiBpZD0iaW5w
dXQtb3B0aW9uMiIgdmFsdWU9Im9wdGlvbjIiPm9wdGlvbjI8L29wdGlvbj4nICsKLSAgICAnPC9z
ZWxlY3Q+JyArCi0KLSAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSJkZWZhdWx0LWhhbmRsZXIi
IG9uZm9ybWlucHV0PSJyZXN1bHQgPSBcJ0ZpcmVkXCciIC8+JyArCi0gICAgJzxpbnB1dCB0eXBl
PSJ0ZXh0IiBpZD0iaGFuZGxlci10ZXh0IiBvbmZvcm1pbnB1dD0icmVzdWx0SW5wdXRUZXh0ID0g
XCdEZWxpdmVyZWRcJyIgLz4nICsKLSAgICAnPGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImhhbmRs
ZXItbnVtYmVyIiBvbmZvcm1pbnB1dD0icmVzdWx0SW5wdXROdW1iZXIgPSBcJ0RlbGl2ZXJlZFwn
IiAvPicgKwotICAgICc8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImhhbmRsZXItcmFkaW8iIGlk
PSJoYW5kbGVyLXJhZGlvIiBvbmZvcm1pbnB1dD0icmVzdWx0SW5wdXRSYWRpbyA9IFwnRGVsaXZl
cmVkXCciIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iaGFuZGxlci1j
aGVjayIgaWQ9ImhhbmRsZXItY2hlY2siIG9uZm9ybWlucHV0PSJyZXN1bHRJbnB1dENoZWNrYm94
ID0gXCdEZWxpdmVyZWRcJyIgLz4nICsKLSAgICAnPHRleHRhcmVhIGlkPSJoYW5kbGVyLXRleHRh
cmVhIiBvbmZvcm1pbnB1dD0icmVzdWx0VGV4dGFyZWEgPSBcJ0RlbGl2ZXJlZFwnIj48L3RleHRh
cmVhPicgKwotICAgICc8a2V5Z2VuIGlkPSJoYW5kbGVyLWtleWdlbiIgb25mb3JtaW5wdXQ9InJl
c3VsdEtleWdlbiA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0gICAgJzxvYmplY3QgaWQ9ImhhbmRs
ZXItb2JqZWN0IiBvbmZvcm1pbnB1dD0icmVzdWx0T2JqZWN0ID0gXCdEZWxpdmVyZWRcJyIgLz4n
ICsKLSAgICAnPG91dHB1dCBpZD0iaGFuZGxlci1vdXRwdXQiIG9uZm9ybWlucHV0PSJyZXN1bHRP
dXRwdXQgPSBcJ0RlbGl2ZXJlZFwnIiAvPicgKwotICAgICc8c2VsZWN0IGlkPSJoYW5kbGVyLXNl
bGVjdCIgb25mb3JtaW5wdXQ9InJlc3VsdFNlbGVjdCA9IFwnRGVsaXZlcmVkXCciIC8+JyArCi0K
LSAgICAnPHAgaWQ9ImhhbmRsZXItcCIgb25mb3JtaW5wdXQ9InJlc3VsdFAgPSBcJ0RlbGl2ZXJl
ZFwnIj5IaSE8L3A+JzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7Ci0KLQotZnVu
Y3Rpb24gb25mb3JtaW5wdXRSZW1vdmluZ0lucHV0KCkgewotICAgICQoJ2Zvcm0tcmVtb3Zpbmct
aW5wdXQnKS5yZW1vdmVDaGlsZCgkKCdoYW5kbGVyLXJlbW92aW5nLWlucHV0JykpOwotICAgIHJl
c3VsdFJlbW92aW5nSW5wdXQgPSAnRGVsaXZlcmVkJzsKLX0KLQotdmFyIGZvcm1SZW1vdmluZ0lu
cHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwotZm9ybVJlbW92aW5nSW5wdXQu
c2V0QXR0cmlidXRlKCdpZCcsICdmb3JtLXJlbW92aW5nLWlucHV0Jyk7Ci1mb3JtUmVtb3ZpbmdJ
bnB1dC5pbm5lckhUTUwgPQotICAgICc8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0LXJlbW92
aW5nLWlucHV0IiB2YWx1ZT0iSW5wdXQgaGVyZS4iIC8+JyArCi0gICAgJzxpbnB1dCB0eXBlPSJ0
ZXh0IiBpZD0iaGFuZGxlci1yZW1vdmluZy1pbnB1dCIgb25mb3JtaW5wdXQ9Im9uZm9ybWlucHV0
UmVtb3ZpbmdJbnB1dCgpIiAvPic7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm1SZW1v
dmluZ0lucHV0KTsKLQotCi1mdW5jdGlvbiBvbmZvcm1pbnB1dFJlbW92aW5nRm9ybSgpIHsKLSAg
ICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKCQoJ2Zvcm0tcmVtb3ZpbmctZm9ybScpKTsKLSAg
ICByZXN1bHRSZW1vdmluZ0Zvcm0gPSAnRGVsaXZlcmVkJzsKLX0KLQotdmFyIGZvcm1SZW1vdmlu
Z0Zvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7Ci1mb3JtUmVtb3ZpbmdGb3Jt
LnNldEF0dHJpYnV0ZSgnaWQnLCAnZm9ybS1yZW1vdmluZy1mb3JtJyk7Ci1mb3JtUmVtb3ZpbmdG
b3JtLmlubmVySFRNTCA9Ci0gICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQtcmVtb3Zp
bmctZm9ybSIgdmFsdWU9IklucHV0IGhlcmUuIiAvPicgKwotICAgICc8aW5wdXQgdHlwZT0idGV4
dCIgaWQ9ImhhbmRsZXItcmVtb3ZpbmctZm9ybSIgb25mb3JtaW5wdXQ9Im9uZm9ybWlucHV0UmVt
b3ZpbmdGb3JtKCkiIC8+JzsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybVJlbW92aW5n
Rm9ybSk7Ci0KLQotdmFyIHJlc3VsdDsKLQotZGVidWcoJ0NoYW5nZSBmb3IgaW5wdXQgKHR5cGU9
dGV4dCknKTsKLXJlc3VsdCA9ICJOb3QgZmlyZWQiOwotJCgnaW5wdXQtdGV4dCcpLmZvY3VzKCk7
Ci1zZW5kVGV4dCgkKCdpbnB1dC10ZXh0JyksICdOZXcgdGV4dC4nKTsKLSQoJ2RlZmF1bHQtaW5w
dXQnKS5mb2N1cygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHQiLCAiRmlyZWQiKTsK
LQotZGVidWcoJ0NoYW5nZSBmb3IgaW5wdXQgKHR5cGU9bnVtYmVyKScpOwotcmVzdWx0ID0gIk5v
dCBmaXJlZCI7Ci0kKCdpbnB1dC1udW1iZXInKS5mb2N1cygpOwotc2VuZEtleSgkKCdpbnB1dC1u
dW1iZXInKSwgJ1VwJyk7Ci0kKCdkZWZhdWx0LWlucHV0JykuZm9jdXMoKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygicmVzdWx0IiwgIkZpcmVkIik7Ci0KLWRlYnVnKCdDaGFuZ2UgZm9yIGlucHV0
ICh0eXBlPXJhZGlvKScpOwotcmVzdWx0ID0gIk5vdCBmaXJlZCI7Ci0kKCdpbnB1dC1yYWRpbzIn
KS5jbGljaygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHQiLCAiTm90IGZpcmVkIik7
Ci0KLWRlYnVnKCdDaGFuZ2UgZm9yIGlucHV0ICh0eXBlPWNoZWNrYm94KScpOwotcmVzdWx0ID0g
Ik5vdCBmaXJlZCI7Ci0kKCdpbnB1dC1jaGVjazInKS5jbGljaygpOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJyZXN1bHQiLCAiTm90IGZpcmVkIik7Ci0KLWRlYnVnKCdDaGFuZ2UgZm9yIHRleHRh
cmVhJyk7Ci1yZXN1bHQgPSAiTm90IGZpcmVkIjsKLSQoJ2lucHV0LXRleHRhcmVhJykuZm9jdXMo
KTsKLXNlbmRUZXh0KCQoJ2lucHV0LXRleHRhcmVhJyksICdOZXcgdGV4dC4nKTsKLSQoJ2RlZmF1
bHQtaW5wdXQnKS5mb2N1cygpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHQiLCAiRmly
ZWQiKTsKLQotZGVidWcoJ0NoYW5nZSBmb3Igc2VsZWN0Jyk7Ci1yZXN1bHQgPSAiTm90IGZpcmVk
IjsKLXNlbmRNb3VzZUNsaWNrKCQoJ2lucHV0LXNlbGVjdCcpKTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygicmVzdWx0IiwgIk5vdCBmaXJlZCIpOwotCi1kZWJ1ZygnZm9ybS5kaXNwYXRjaEZvcm1J
bnB1dCgpJyk7Ci1yZXN1bHQgPSAiTm90IGZpcmVkIjsKLWZvcm0uZGlzcGF0Y2hGb3JtSW5wdXQo
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0IiwgIkZpcmVkIik7Ci0KLQotZGVidWco
JycpOwotCi0KLWRlYnVnKCdJcyBmb3JtaW5wdXQgZGVsaXZlcmVkIGZvcj8nKTsKLXZhciByZXN1
bHRJbnB1dFRleHQgPSAiTm90IGRlbGl2ZXJlZCI7Ci12YXIgcmVzdWx0SW5wdXROdW1iZXIgPSAi
Tm90IGRlbGl2ZXJlZCI7Ci12YXIgcmVzdWx0SW5wdXRSYWRpbyA9ICJOb3QgZGVsaXZlcmVkIjsK
LXZhciByZXN1bHRJbnB1dENoZWNrYm94ID0gIk5vdCBkZWxpdmVyZWQiOwotdmFyIHJlc3VsdFRl
eHRhcmVhID0gIk5vdCBkZWxpdmVyZWQiOwotdmFyIHJlc3VsdEtleWdlbiA9ICJOb3QgZGVsaXZl
cmVkIjsKLXZhciByZXN1bHRPYmplY3QgPSAiTm90IGRlbGl2ZXJlZCI7Ci12YXIgcmVzdWx0T3V0
cHV0ID0gIk5vdCBkZWxpdmVyZWQiOwotdmFyIHJlc3VsdFNlbGVjdCA9ICJOb3QgZGVsaXZlcmVk
IjsKLXZhciByZXN1bHRQID0gIk5vdCBkZWxpdmVyZWQiOwotJCgnZGVmYXVsdC1pbnB1dCcpLmZv
Y3VzKCk7Ci1zZW5kVGV4dCgkKCdkZWZhdWx0LWlucHV0JyksICdOZXcgdGV4dC4nKTsKLSQoJ2Rl
ZmF1bHQtaGFuZGxlcicpLmZvY3VzKCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdElu
cHV0VGV4dCIsICJEZWxpdmVyZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0SW5w
dXROdW1iZXIiLCAiRGVsaXZlcmVkIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdElu
cHV0UmFkaW8iLCAiRGVsaXZlcmVkIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdElu
cHV0Q2hlY2tib3giLCAiRGVsaXZlcmVkIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3Vs
dFRleHRhcmVhIiwgIkRlbGl2ZXJlZCIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHRL
ZXlnZW4iLCAiRGVsaXZlcmVkIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdE9iamVj
dCIsICJOb3QgZGVsaXZlcmVkIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdE91dHB1
dCIsICJEZWxpdmVyZWQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygicmVzdWx0U2VsZWN0Iiwg
IkRlbGl2ZXJlZCIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHRQIiwgIk5vdCBkZWxp
dmVyZWQiKTsKLQotdmFyIHJlc3VsdFJlbW92aW5nSW5wdXQgPSAiTm90IGRlbGl2ZXJlZCI7Ci0k
KCdpbnB1dC1yZW1vdmluZy1pbnB1dCcpLmZvY3VzKCk7Ci1zZW5kVGV4dCgkKCdpbnB1dC1yZW1v
dmluZy1pbnB1dCcpLCAnTmV3IHRleHQuJyk7Ci0kKCdkZWZhdWx0LWhhbmRsZXInKS5mb2N1cygp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZXN1bHRSZW1vdmluZ0lucHV0IiwgIkRlbGl2ZXJl
ZCIpOwotCi12YXIgcmVzdWx0UmVtb3ZpbmdGb3JtID0gIk5vdCBkZWxpdmVyZWQiOwotJCgnaW5w
dXQtcmVtb3ZpbmctZm9ybScpLmZvY3VzKCk7Ci1zZW5kVGV4dCgkKCdpbnB1dC1yZW1vdmluZy1m
b3JtJyksICdOZXcgdGV4dC4nKTsKLSQoJ2RlZmF1bHQtaGFuZGxlcicpLmZvY3VzKCk7Ci1zaG91
bGRCZUVxdWFsVG9TdHJpbmcoInJlc3VsdFJlbW92aW5nRm9ybSIsICJEZWxpdmVyZWQiKTsKLQot
Ci1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pOwotZGVidWcoJycpOwotCi0KLXZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>