<?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>179226</bug_id>
          
          <creation_ts>2017-11-02 20:15:10 -0700</creation_ts>
          <short_desc>Add isolated text tests for MotionMark</short_desc>
          <delta_ts>2017-11-15 09:43:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>Safari 11</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1367740</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-11-02 20:15:10 -0700</bug_when>
    <thetext>Add isolated text tests for MotionMark</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1367743</commentid>
    <comment_count>1</comment_count>
      <attachid>325830</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-11-02 20:19:27 -0700</bug_when>
    <thetext>Created attachment 325830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1367761</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-11-02 20:57:12 -0700</bug_when>
    <thetext>The patch doesn&apos;t apply on trunk?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1367973</commentid>
    <comment_count>3</comment_count>
      <attachid>325907</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-11-03 09:48:36 -0700</bug_when>
    <thetext>Created attachment 325907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1367974</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-11-03 09:49:13 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #2)
&gt; The patch doesn&apos;t apply on trunk?

It needed the other patch you r+&apos;d.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368038</commentid>
    <comment_count>5</comment_count>
      <attachid>325927</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-11-03 11:40:53 -0700</bug_when>
    <thetext>Created attachment 325927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370835</commentid>
    <comment_count>6</comment_count>
      <attachid>325927</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-11-12 22:34:27 -0800</bug_when>
    <thetext>Comment on attachment 325927
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370841</commentid>
    <comment_count>7</comment_count>
      <attachid>325927</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-12 22:54:49 -0800</bug_when>
    <thetext>Comment on attachment 325927
Patch

Clearing flags on attachment: 325927

Committed r224742: &lt;https://trac.webkit.org/changeset/224742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370842</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-12 22:54:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371976</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:43:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/35562297&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325830</attachid>
            <date>2017-11-02 20:19:27 -0700</date>
            <delta_ts>2017-11-03 09:48:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179226-20171102201926.patch</filename>
            <type>text/plain</type>
            <size>38573</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MzcwCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcyZDYyZWJiNTI3
ZjFhZmRjZWEzZTcyNDliMzc3ZjM1MmViNDI2NmYuLmMyNzIwNmYwZjNkMjZjNWE2NjA0MGQzODFh
MDQyMTA2YTdiMmY3NmQgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTctMTEt
MDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBpc29sYXRlZCB0
ZXh0IHRlc3RzIGZvciBNb3Rpb25NYXJrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBwcml2YXRlIHN1aXRlIHRoYXQgc2ltcGxpZmllcyB0aGUg
ZGVzaWduIHRlc3QuCisKKyAgICAgICAgKiBNb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5u
ZXIvdGVzdHMuanM6CisgICAgICAgICogTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL3Rlc3Rz
LmpzOgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rlc2lnbi5odG1sOiBDb3Bp
ZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3RleHQuaHRt
bC4KKyAgICAgICAgUmVuYW1lIHRoZSBodG1sIGZpbGUgdG8gdGhlIHRpdGxlIG9mIHRoZSB0ZXN0
LgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy9kZXNpZ24uanM6
IFJlbmFtZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jl
c291cmNlcy90ZXh0LmpzLgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24t
Ni5odG1sOiBDb3BpZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFz
dGVyL3RleHQuaHRtbC4KKyAgICAgICAgU2l4IGFjdGl2ZSBjZWxscworICAgICAgICAqIE1vdGlv
bk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24tNi5qczogQWRkZWQuCisgICAgICAgICogTW90aW9uTWFy
ay90ZXN0cy90ZXh0L2Rlc2lnbi5odG1sOiBSZW5hbWVkIGZyb20gUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Rlc3RzL21hc3Rlci90ZXh0Lmh0bWwuCisgICAgICAgIFJlcGxhY2UgdGhlIHRl
eHQgd2l0aCBlbXB0eSB0YWJsZSBjZWxscyB0aGF0IGFyZSBwb3B1bGF0ZWQgd2l0aCBkZXNpcmVk
IHRleHQuCisgICAgICAgICogTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5qczogQWRkZWQu
CisKKzIwMTctMTEtMDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFk
ZCBsaWNlbnNlIGZvciBNb3Rpb25NYXJrCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyMjIKIApkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvdGVzdHMuanMgYi9QZXJmb3JtYW5jZVRl
c3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcwppbmRleCAwNzVi
N2RlNTQ2YWQ1MzM2NWNhNzFmZWYwYmQyMTJlMzZjZWIwMGU4Li5kNzcwNDAwNWQyMTM2ZjUyNDU3
Zjk4YjRkZGQ2YjAwY2U5MzI2ZDJhIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlv
bk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcworKysgYi9QZXJmb3JtYW5jZVRl
c3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcwpAQCAtMjY2LDYg
KzI2NiwzNSBAQCBTdWl0ZXMucHVzaChuZXcgU3VpdGUoIlNWRyBzdWl0ZSIsCiAgICAgXQogKSk7
CiAKK1N1aXRlcy5wdXNoKG5ldyBTdWl0ZSgiVGV4dCBzdWl0ZSIsCisgICAgWworICAgICAgICB7
CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi5odG1sP2NvcnB1cz1sYXRpbiIsCisgICAg
ICAgICAgICBuYW1lOiAiRGVzaWduOiBMYXRpbiBvbmx5ICgxMiBpdGVtcykiCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVybDogInRleHQvZGVzaWduLmh0bWw/Y29ycHVzPWNq
ayIsCisgICAgICAgICAgICBuYW1lOiAiRGVzaWduOiBDSksgb25seSAoMTIgaXRlbXMpIgorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi5odG1sP2Nv
cnB1cz1hcmFiaWMiLAorICAgICAgICAgICAgbmFtZTogIkRlc2lnbjogUlRMIGFuZCBjb21wbGV4
IHNjcmlwdHMgb25seSAoMTIgaXRlbXMpIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi02Lmh0bWw/Y29ycHVzPWxhdGluIiwKKyAgICAgICAgICAg
IG5hbWU6ICJEZXNpZ246IExhdGluIG9ubHkgKDYgaXRlbXMpIgorICAgICAgICB9LAorICAgICAg
ICB7CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi02Lmh0bWw/Y29ycHVzPWNqayIsCisg
ICAgICAgICAgICBuYW1lOiAiRGVzaWduOiBDSksgb25seSAoNiBpdGVtcykiCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVybDogInRleHQvZGVzaWduLTYuaHRtbD9jb3JwdXM9
YXJhYmljIiwKKyAgICAgICAgICAgIG5hbWU6ICJEZXNpZ246IFJUTCBhbmQgY29tcGxleCBzY3Jp
cHRzIG9ubHkgKDYgaXRlbXMpIgorICAgICAgICB9LAorICAgIF0KKykpOworCiBTdWl0ZXMucHVz
aChuZXcgU3VpdGUoIjNEIEdyYXBoaWNzIiwKICAgICBbCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL3Rlc3RzLmpzIGIv
UGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKaW5k
ZXggNmI2YmU4OGEzMjQ3YTM2NGYzOTRjN2FhMjNjMTMzNjI4MWJjZTU2YS4uMWFiNzIxMTAzZWFi
MmNkYWYyNzIyOWQwMDM0ZTAwNzcxMDU0ZWUxOCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKQEAgLTYwLDcgKzYwLDcg
QEAgU3VpdGVzLnB1c2gobmV3IFN1aXRlKCJNb3Rpb25NYXJrIiwKICAgICAgICAgICAgIG5hbWU6
ICJJbWFnZXMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgIHVybDogIm1hc3Rl
ci90ZXh0Lmh0bWwiLAorICAgICAgICAgICAgdXJsOiAibWFzdGVyL2Rlc2lnbi5odG1sIiwKICAg
ICAgICAgICAgIG5hbWU6ICJEZXNpZ24iCiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy9tYXN0ZXIvZGVzaWduLmh0bWwg
Yi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rlc2lnbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE4MjQ2YTMwODQ5Mzg0ODk2NjExNDVkNGMyNTYyMTFlYjM2YjAwYzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rl
c2lnbi5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IS0tCisgIENvcHlyaWdodCAoQykgMjAxNS0y
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgIGFyZSBtZXQ6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgorICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7CisgICAgICAgICAgICBmb250LXNpemU6IDUycHg7CisgICAgICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzNTM0OworICAgICAgICB9CisgICAgICAgIEBtZWRpYSAo
bWF4LXdpZHRoOiA5MDBweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgICAg
ICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgQG1l
ZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAgICAgICAg
ICAgICAgIGZvbnQtc2l6ZTogMjhweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgICNzdGFnZSBkaXYgeworICAgICAgICAgICAgd2lkdGg6IDgwJTsKKyAgICAgICAgICAgIGhl
aWdodDogOTAlOworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAg
dGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICB9CisgICAgICAgICN0ZW1wbGF0ZSB7CisgICAg
ICAgICAgICBjb2xvcjogI0ZDRkNGQzsKKyAgICAgICAgfQorICAgICAgICB0YWJsZSB7CisgICAg
ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICB0ZCB7CisgICAgICAg
ICAgICB3aWR0aDogMzMlOworICAgICAgICB9CisgICAgICAgIHRyIHsKKyAgICAgICAgICAgIGhl
aWdodDogMjAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9InN0YWdlIj4KKyAgICAgICAgPGRpdiBpZD0idGVtcGxhdGUiPgorICAgICAgICAg
ICAgPHRhYmxlPgorICAgICAgICAgICAgICAgIDx0Ym9keT4KKyAgICAgICAgICAgICAgICAgICAg
PHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPs+Dz4fOrc60zrnOvzwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQ+6K6+6K6hPC90ZD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIDx0ZD5zdXVubml0dGVsdTwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAg
ICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5kZXNpZ248
L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPtC00LjQt9Cw0LnQvTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InJ0bCI+2KrYtdmF2YrZhTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIDx0ZD7rlJTsnpDsnbg8L3RkPgorICAgICAgICAgICAgICAgICAgICAg
ICAgPHRkPmNvbmNlcHRpb248L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPuODh+OC
tuOCpOODszwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAg
ICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5rb25zdHJ1a3Rpb248L3RkPgor
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJydGwiPtei15nXpteV15E8L3RkPgor
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmRpc2XDsW88L3RkPgorICAgICAgICAgICAgICAg
ICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxl
PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9zdGF0aXN0aWNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL21hdGguanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
bWFpbi5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9kZXNpZ24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzIGIvUGVyZm9ybWFu
Y2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkxYzY5Njg4YzY1MzM5N2I2YmEzOGFhMDc0NTRjMDA0ZDczMmNhMzUKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291
cmNlcy9kZXNpZ24uanMKQEAgLTAsMCArMSwxNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisoZnVuY3Rp
b24oKSB7CisKK3ZhciBUZXh0U3RhZ2UgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoU3RhZ2Us
CisgICAgZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgU3RhZ2UuY2FsbCh0aGlzKTsKKworICAg
ICAgICB0aGlzLnRlc3RFbGVtZW50cyA9IFtdOworICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9
IDA7CisgICAgfSwgeworCisgICAgc2hhZG93RmFsbG9mZjogbmV3IFVuaXRCZXppZXIobmV3IFBv
aW50KDAuMDE1LCAwLjc1MCksIG5ldyBQb2ludCgwLjc1NSwgMC4yMzUpKSwKKyAgICBzaGltbWVy
QXZlcmFnZTogMCwKKyAgICBzaGltbWVyTWF4OiAwLjUsCisgICAgbWlsbGlzZWNvbmRzUGVyUm90
YXRpb246IDEwMDAgLyAoLjI2ICogTWF0aC5QSSAqIDIpLAorICAgIHBhcnRpY2xlRGlzdGFuY2VY
OiAxLjUsCisgICAgcGFydGljbGVEaXN0YW5jZVk6IC41LAorICAgIGxpZ2h0bmVzc01pbjogMTMs
CisgICAgbGlnaHRuZXNzTWF4OiA5NCwKKyAgICBncmFkaWVudHM6IFsKKyAgICAgICAgWzEwLCAx
NzYsIDE3NiwgMjA5LCAxNDgsIDE0MF0sCisgICAgICAgIFsxNzEsIDEyMCwgMTU0LCAyNDUsIDE5
NiwgMTU0XSwKKyAgICAgICAgWzIyNCwgOTksIDk5LCA3MSwgMTM0LCAxNDhdLAorICAgICAgICBb
MTAxLCAxMDAsIDExNywgODAsIDIzMCwgMTc1XSwKKyAgICAgICAgWzIzMiwgMTY1LCAzMCwgNjks
IDE4NiwgMTcyXQorICAgIF0sCisKKyAgICBpbml0aWFsaXplOiBmdW5jdGlvbihiZW5jaG1hcmsp
CisgICAgeworICAgICAgICBTdGFnZS5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsIGJl
bmNobWFyayk7CisKKyAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVtcGxhdGUiKTsKKyAgICAgICAgdGhpcy5fb2Zmc2V0ID0gdGhpcy5zaXplLnN1YnRy
YWN0KFBvaW50LmVsZW1lbnRDbGllbnRTaXplKHRoaXMuX3RlbXBsYXRlKSkubXVsdGlwbHkoLjUp
OworICAgICAgICB0aGlzLl90ZW1wbGF0ZS5zdHlsZS5sZWZ0ID0gdGhpcy5fb2Zmc2V0LndpZHRo
ICsgInB4IjsKKyAgICAgICAgdGhpcy5fdGVtcGxhdGUuc3R5bGUudG9wID0gdGhpcy5fb2Zmc2V0
LmhlaWdodCArICJweCI7CisKKyAgICAgICAgdGhpcy5fc3RlcFByb2dyZXNzID0gMDsKKyAgICB9
LAorCisgICAgdHVuZTogZnVuY3Rpb24oY291bnQpCisgICAgeworICAgICAgICBpZiAoY291bnQg
PT0gMCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoY291bnQgPCAwKSB7Cisg
ICAgICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IE1hdGgubWF4KHRoaXMuX29mZnNldEluZGV4
ICsgY291bnQsIDApOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX29mZnNldEluZGV4
OyBpIDwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgdGhp
cy50ZXN0RWxlbWVudHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworCisgICAgICAg
ICAgICB0aGlzLl9zdGVwUHJvZ3Jlc3MgPSAxIC8gdGhpcy5fb2Zmc2V0SW5kZXg7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IHRo
aXMuX29mZnNldEluZGV4ICsgY291bnQ7CisgICAgICAgIHRoaXMuX3N0ZXBQcm9ncmVzcyA9IDEg
LyB0aGlzLl9vZmZzZXRJbmRleDsKKworICAgICAgICB2YXIgaW5kZXggPSBNYXRoLm1pbih0aGlz
Ll9vZmZzZXRJbmRleCwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKTsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBpbmRleDsgKytpKQorICAgICAgICAgICAgdGhpcy50ZXN0RWxlbWVudHNb
aV0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKKworICAgICAgICBpZiAodGhpcy5fb2Zm
c2V0SW5kZXggPD0gdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRlc3RFbGVtZW50cy5sZW5ndGg7IGkgPCB0
aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7CisgICAgICAgICAgICB2YXIgY2xvbmUgPSB0aGlzLl90
ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB0aGlzLnRlc3RFbGVtZW50cy5w
dXNoKGNsb25lKTsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUoY2xvbmUs
IHRoaXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBhbmlt
YXRlOiBmdW5jdGlvbih0aW1lRGVsdGEpIHsKKyAgICAgICAgdmFyIGFuZ2xlID0gU3RhZ2UuZGF0
ZUNvdW50ZXJWYWx1ZSh0aGlzLm1pbGxpc2Vjb25kc1BlclJvdGF0aW9uKTsKKworICAgICAgICB2
YXIgcHJvZ3Jlc3MgPSAwOworICAgICAgICB2YXIgc3RlcFggPSBNYXRoLnNpbihhbmdsZSkgKiB0
aGlzLnBhcnRpY2xlRGlzdGFuY2VYOworICAgICAgICB2YXIgc3RlcFkgPSBNYXRoLmNvcyhhbmds
ZSkgKiB0aGlzLnBhcnRpY2xlRGlzdGFuY2VZOworICAgICAgICB2YXIgeCA9IC1zdGVwWCAqIDM7
CisgICAgICAgIHZhciB5ID0gLXN0ZXBZICogMzsKKyAgICAgICAgdmFyIGdyYWRpZW50ID0gdGhp
cy5ncmFkaWVudHNbTWF0aC5mbG9vcihhbmdsZS8oTWF0aC5QSSAqIDIpKSAlIHRoaXMuZ3JhZGll
bnRzLmxlbmd0aF07CisgICAgICAgIHZhciBvZmZzZXQgPSBTdGFnZS5kYXRlQ291bnRlclZhbHVl
KDIwMCk7CisgICAgICAgIHRoaXMuX3RlbXBsYXRlLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xh
dGUoIiArIE1hdGguZmxvb3IoeCkgKyAicHgsIiArIE1hdGguZmxvb3IoeSkgKyAicHgpIjsKKyAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7CisgICAg
ICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMudGVzdEVsZW1lbnRzW2ldOworCisgICAgICAgICAg
ICB2YXIgY29sb3JQcm9ncmVzcyA9IHRoaXMuc2hhZG93RmFsbG9mZi5zb2x2ZShwcm9ncmVzcyk7
CisgICAgICAgICAgICB2YXIgc2hpbW1lciA9IE1hdGguc2luKG9mZnNldCAtIGNvbG9yUHJvZ3Jl
c3MpOworICAgICAgICAgICAgY29sb3JQcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKGNvbG9y
UHJvZ3Jlc3MgKyBVdGlsaXRpZXMubGVycChzaGltbWVyLCB0aGlzLnNoaW1tZXJBdmVyYWdlLCB0
aGlzLnNoaW1tZXJNYXgpLCAxKSwgMCk7CisgICAgICAgICAgICB2YXIgciA9IE1hdGgucm91bmQo
VXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMF0sIGdyYWRpZW50WzNdKSk7
CisgICAgICAgICAgICB2YXIgZyA9IE1hdGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9n
cmVzcywgZ3JhZGllbnRbMV0sIGdyYWRpZW50WzRdKSk7CisgICAgICAgICAgICB2YXIgYiA9IE1h
dGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMl0sIGdyYWRp
ZW50WzVdKSk7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gInJnYigiICsgciAr
ICIsIiArIGcgKyAiLCIgKyBiICsgIikiOworCisgICAgICAgICAgICB4ICs9IHN0ZXBYOworICAg
ICAgICAgICAgeSArPSBzdGVwWTsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNmb3Jt
ID0gInRyYW5zbGF0ZSgiICsgTWF0aC5mbG9vcih4KSArICJweCwiICsgTWF0aC5mbG9vcih5KSAr
ICJweCkiOworCisgICAgICAgICAgICBwcm9ncmVzcyArPSB0aGlzLl9zdGVwUHJvZ3Jlc3M7Cisg
ICAgICAgIH0KKyAgICB9LAorCisgICAgY29tcGxleGl0eTogZnVuY3Rpb24oKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIDEgKyB0aGlzLl9vZmZzZXRJbmRleDsKKyAgICB9Cit9KTsKKwordmFyIFRl
eHRCZW5jaG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoQmVuY2htYXJrLAorICAgIGZ1
bmN0aW9uKG9wdGlvbnMpCisgICAgeworICAgICAgICBCZW5jaG1hcmsuY2FsbCh0aGlzLCBuZXcg
VGV4dFN0YWdlKCksIG9wdGlvbnMpOworICAgIH0KKyk7CisKK3dpbmRvdy5iZW5jaG1hcmtDbGFz
cyA9IFRleHRCZW5jaG1hcms7CisKK30oKSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy90ZXh0LmpzIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvdGV4dC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOTFjNjk2ODhjNjUzMzk3YjZiYTM4YWEwNzQ1NGMwMDRkNzMy
Y2EzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9QZXJm
b3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy90ZXh0LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMTQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUt
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0oZnVuY3Rpb24o
KSB7Ci0KLXZhciBUZXh0U3RhZ2UgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoU3RhZ2UsCi0g
ICAgZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgU3RhZ2UuY2FsbCh0aGlzKTsKLQotICAgICAg
ICB0aGlzLnRlc3RFbGVtZW50cyA9IFtdOwotICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IDA7
Ci0gICAgfSwgewotCi0gICAgc2hhZG93RmFsbG9mZjogbmV3IFVuaXRCZXppZXIobmV3IFBvaW50
KDAuMDE1LCAwLjc1MCksIG5ldyBQb2ludCgwLjc1NSwgMC4yMzUpKSwKLSAgICBzaGltbWVyQXZl
cmFnZTogMCwKLSAgICBzaGltbWVyTWF4OiAwLjUsCi0gICAgbWlsbGlzZWNvbmRzUGVyUm90YXRp
b246IDEwMDAgLyAoLjI2ICogTWF0aC5QSSAqIDIpLAotICAgIHBhcnRpY2xlRGlzdGFuY2VYOiAx
LjUsCi0gICAgcGFydGljbGVEaXN0YW5jZVk6IC41LAotICAgIGxpZ2h0bmVzc01pbjogMTMsCi0g
ICAgbGlnaHRuZXNzTWF4OiA5NCwKLSAgICBncmFkaWVudHM6IFsKLSAgICAgICAgWzEwLCAxNzYs
IDE3NiwgMjA5LCAxNDgsIDE0MF0sCi0gICAgICAgIFsxNzEsIDEyMCwgMTU0LCAyNDUsIDE5Niwg
MTU0XSwKLSAgICAgICAgWzIyNCwgOTksIDk5LCA3MSwgMTM0LCAxNDhdLAotICAgICAgICBbMTAx
LCAxMDAsIDExNywgODAsIDIzMCwgMTc1XSwKLSAgICAgICAgWzIzMiwgMTY1LCAzMCwgNjksIDE4
NiwgMTcyXQotICAgIF0sCi0KLSAgICBpbml0aWFsaXplOiBmdW5jdGlvbihiZW5jaG1hcmspCi0g
ICAgewotICAgICAgICBTdGFnZS5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsIGJlbmNo
bWFyayk7Ci0KLSAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVtcGxhdGUiKTsKLSAgICAgICAgdGhpcy5fb2Zmc2V0ID0gdGhpcy5zaXplLnN1YnRyYWN0
KFBvaW50LmVsZW1lbnRDbGllbnRTaXplKHRoaXMuX3RlbXBsYXRlKSkubXVsdGlwbHkoLjUpOwot
ICAgICAgICB0aGlzLl90ZW1wbGF0ZS5zdHlsZS5sZWZ0ID0gdGhpcy5fb2Zmc2V0LndpZHRoICsg
InB4IjsKLSAgICAgICAgdGhpcy5fdGVtcGxhdGUuc3R5bGUudG9wID0gdGhpcy5fb2Zmc2V0Lmhl
aWdodCArICJweCI7Ci0KLSAgICAgICAgdGhpcy5fc3RlcFByb2dyZXNzID0gMDsKLSAgICB9LAot
Ci0gICAgdHVuZTogZnVuY3Rpb24oY291bnQpCi0gICAgewotICAgICAgICBpZiAoY291bnQgPT0g
MCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBpZiAoY291bnQgPCAwKSB7Ci0gICAg
ICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IE1hdGgubWF4KHRoaXMuX29mZnNldEluZGV4ICsg
Y291bnQsIDApOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX29mZnNldEluZGV4OyBp
IDwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgdGhpcy50
ZXN0RWxlbWVudHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwotCi0gICAgICAgICAg
ICB0aGlzLl9zdGVwUHJvZ3Jlc3MgPSAxIC8gdGhpcy5fb2Zmc2V0SW5kZXg7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IHRoaXMu
X29mZnNldEluZGV4ICsgY291bnQ7Ci0gICAgICAgIHRoaXMuX3N0ZXBQcm9ncmVzcyA9IDEgLyB0
aGlzLl9vZmZzZXRJbmRleDsKLQotICAgICAgICB2YXIgaW5kZXggPSBNYXRoLm1pbih0aGlzLl9v
ZmZzZXRJbmRleCwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKTsKLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbmRleDsgKytpKQotICAgICAgICAgICAgdGhpcy50ZXN0RWxlbWVudHNbaV0u
c3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKLQotICAgICAgICBpZiAodGhpcy5fb2Zmc2V0
SW5kZXggPD0gdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRlc3RFbGVtZW50cy5sZW5ndGg7IGkgPCB0aGlz
Ll9vZmZzZXRJbmRleDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgY2xvbmUgPSB0aGlzLl90ZW1w
bGF0ZS5jbG9uZU5vZGUodHJ1ZSk7Ci0gICAgICAgICAgICB0aGlzLnRlc3RFbGVtZW50cy5wdXNo
KGNsb25lKTsKLSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUoY2xvbmUsIHRo
aXMuZWxlbWVudC5maXJzdENoaWxkKTsKLSAgICAgICAgfQotICAgIH0sCi0KLSAgICBhbmltYXRl
OiBmdW5jdGlvbih0aW1lRGVsdGEpIHsKLSAgICAgICAgdmFyIGFuZ2xlID0gU3RhZ2UuZGF0ZUNv
dW50ZXJWYWx1ZSh0aGlzLm1pbGxpc2Vjb25kc1BlclJvdGF0aW9uKTsKLQotICAgICAgICB2YXIg
cHJvZ3Jlc3MgPSAwOwotICAgICAgICB2YXIgc3RlcFggPSBNYXRoLnNpbihhbmdsZSkgKiB0aGlz
LnBhcnRpY2xlRGlzdGFuY2VYOwotICAgICAgICB2YXIgc3RlcFkgPSBNYXRoLmNvcyhhbmdsZSkg
KiB0aGlzLnBhcnRpY2xlRGlzdGFuY2VZOwotICAgICAgICB2YXIgeCA9IC1zdGVwWCAqIDM7Ci0g
ICAgICAgIHZhciB5ID0gLXN0ZXBZICogMzsKLSAgICAgICAgdmFyIGdyYWRpZW50ID0gdGhpcy5n
cmFkaWVudHNbTWF0aC5mbG9vcihhbmdsZS8oTWF0aC5QSSAqIDIpKSAlIHRoaXMuZ3JhZGllbnRz
Lmxlbmd0aF07Ci0gICAgICAgIHZhciBvZmZzZXQgPSBTdGFnZS5kYXRlQ291bnRlclZhbHVlKDIw
MCk7Ci0gICAgICAgIHRoaXMuX3RlbXBsYXRlLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xhdGUo
IiArIE1hdGguZmxvb3IoeCkgKyAicHgsIiArIE1hdGguZmxvb3IoeSkgKyAicHgpIjsKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7Ci0gICAgICAg
ICAgICB2YXIgZWxlbWVudCA9IHRoaXMudGVzdEVsZW1lbnRzW2ldOwotCi0gICAgICAgICAgICB2
YXIgY29sb3JQcm9ncmVzcyA9IHRoaXMuc2hhZG93RmFsbG9mZi5zb2x2ZShwcm9ncmVzcyk7Ci0g
ICAgICAgICAgICB2YXIgc2hpbW1lciA9IE1hdGguc2luKG9mZnNldCAtIGNvbG9yUHJvZ3Jlc3Mp
OwotICAgICAgICAgICAgY29sb3JQcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKGNvbG9yUHJv
Z3Jlc3MgKyBVdGlsaXRpZXMubGVycChzaGltbWVyLCB0aGlzLnNoaW1tZXJBdmVyYWdlLCB0aGlz
LnNoaW1tZXJNYXgpLCAxKSwgMCk7Ci0gICAgICAgICAgICB2YXIgciA9IE1hdGgucm91bmQoVXRp
bGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMF0sIGdyYWRpZW50WzNdKSk7Ci0g
ICAgICAgICAgICB2YXIgZyA9IE1hdGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVz
cywgZ3JhZGllbnRbMV0sIGdyYWRpZW50WzRdKSk7Ci0gICAgICAgICAgICB2YXIgYiA9IE1hdGgu
cm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMl0sIGdyYWRpZW50
WzVdKSk7Ci0gICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gInJnYigiICsgciArICIs
IiArIGcgKyAiLCIgKyBiICsgIikiOwotCi0gICAgICAgICAgICB4ICs9IHN0ZXBYOwotICAgICAg
ICAgICAgeSArPSBzdGVwWTsKLSAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0g
InRyYW5zbGF0ZSgiICsgTWF0aC5mbG9vcih4KSArICJweCwiICsgTWF0aC5mbG9vcih5KSArICJw
eCkiOwotCi0gICAgICAgICAgICBwcm9ncmVzcyArPSB0aGlzLl9zdGVwUHJvZ3Jlc3M7Ci0gICAg
ICAgIH0KLSAgICB9LAotCi0gICAgY29tcGxleGl0eTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIDEgKyB0aGlzLl9vZmZzZXRJbmRleDsKLSAgICB9Ci19KTsKLQotdmFyIFRleHRC
ZW5jaG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoQmVuY2htYXJrLAotICAgIGZ1bmN0
aW9uKG9wdGlvbnMpCi0gICAgewotICAgICAgICBCZW5jaG1hcmsuY2FsbCh0aGlzLCBuZXcgVGV4
dFN0YWdlKCksIG9wdGlvbnMpOwotICAgIH0KLSk7Ci0KLXdpbmRvdy5iZW5jaG1hcmtDbGFzcyA9
IFRleHRCZW5jaG1hcms7Ci0KLX0oKSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01v
dGlvbk1hcmsvdGVzdHMvbWFzdGVyL3RleHQuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9u
TWFyay90ZXN0cy9tYXN0ZXIvdGV4dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzNmMwYTk5ODEwYjU2OWFlZjA2M2ViMTgxNGM0NTQ5ZTlkMThiZDcxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9u
TWFyay90ZXN0cy9tYXN0ZXIvdGV4dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAg
QEAKLTwhLS0KLSAgQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotCi0gIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAgYXJlIG1ldDoKLSAgMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0KLSAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAgQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0tLT4KLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVz
b3VyY2VzL3N0YWdlLmNzcyI+Ci0gICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLQotICAgICAg
ICAjc3RhZ2UgewotICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYTsKLSAgICAgICAg
ICAgIGZvbnQtc2l6ZTogNTJweDsKLSAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM1
MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7Ci0gICAg
ICAgICAgICAjc3RhZ2UgewotICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHsK
LSAgICAgICAgICAgICNzdGFnZSB7Ci0gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4Owot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgI3N0YWdlIGRpdiB7Ci0gICAgICAg
ICAgICB3aWR0aDogODAlOwotICAgICAgICAgICAgaGVpZ2h0OiA5MCU7Ci0gICAgICAgICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gICAg
ICAgIH0KLSAgICAgICAgI3RlbXBsYXRlIHsKLSAgICAgICAgICAgIGNvbG9yOiAjRkNGQ0ZDOwot
ICAgICAgICB9Ci0gICAgICAgIHRhYmxlIHsKLSAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKLSAgICAgICAgICAgIHdpZHRoOiAxMDAlOwotICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwot
ICAgICAgICB9Ci0gICAgICAgIHRkIHsKLSAgICAgICAgICAgIHdpZHRoOiAzMyU7Ci0gICAgICAg
IH0KLSAgICAgICAgdHIgewotICAgICAgICAgICAgaGVpZ2h0OiAyMCU7Ci0gICAgICAgIH0KLSAg
ICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGRpdiBpZD0ic3RhZ2UiPgotICAgICAg
ICA8ZGl2IGlkPSJ0ZW1wbGF0ZSI+Ci0gICAgICAgICAgICA8dGFibGU+Ci0gICAgICAgICAgICAg
ICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICA8dHI+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICA8dGQ+z4PPh86tzrTOuc6/PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD7o
rr7orqE8L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnN1dW5uaXR0ZWx1PC90ZD4K
LSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAg
ICAgICAgICAgICAgICAgICAgICAgPHRkPmRlc2lnbjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICA8dGQ+0LTQuNC30LDQudC9PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBj
bGFzcz0icnRsIj7Yqti12YXZitmFPC90ZD4KLSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAg
ICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkPuuUlOye
kOyduDwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Y29uY2VwdGlvbjwvdGQ+Ci0g
ICAgICAgICAgICAgICAgICAgICAgICA8dGQ+44OH44K244Kk44OzPC90ZD4KLSAgICAgICAgICAg
ICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkPmtvbnN0cnVrdGlvbjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8
dGQgY2xhc3M9InJ0bCI+16LXmdem15XXkTwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8
dGQ+ZGlzZcOxbzwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgICAg
ICAgPC90Ym9keT4KLSAgICAgICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDwvZGl2PgotICAgIDwv
ZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0YXRpc3RpY3MuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYWluLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RleHQuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL3RleHQvZGVz
aWduLTYuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2ln
bi02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNlYTgzMTUxZjNiNWQxYTY1ZTE4ZmY2ODY5MjhlMjRkZjM1
OWEwMQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi02Lmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhLS0KKyAgQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgIGFyZSBtZXQ6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgorICAgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7CisgICAgICAgICAgICBmb250LXNpemU6IDUycHg7CisgICAg
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDIyRTJDOworICAgICAgICB9CisgICAgICAgIEBt
ZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAg
ICAgICAgICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAg
ICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
CisgICAgICAgICNzdGFnZSBkaXYgeworICAgICAgICAgICAgd2lkdGg6IDgwJTsKKyAgICAgICAg
ICAgIGhlaWdodDogOTAlOworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICAgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICB9CisgICAgICAgICN0ZW1wbGF0ZSB7
CisgICAgICAgICAgICBjb2xvcjogI0ZDRkNGQzsKKyAgICAgICAgfQorICAgICAgICB0YWJsZSB7
CisgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICB0ZCB7Cisg
ICAgICAgICAgICB3aWR0aDogMjUlOworICAgICAgICB9CisgICAgICAgIHRyIHsKKyAgICAgICAg
ICAgIGhlaWdodDogMjAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxkaXYgaWQ9InN0YWdlIj4KKyAgICAgICAgPGRpdiBpZD0idGVtcGxhdGUiPgorICAg
ICAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgICAgIDx0Ym9keT4KKyAgICAgICAgICAgICAg
ICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3Rk
PgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgICAgICAgICAg
IDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsMCI+PC90ZD4K
KyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDEiPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAg
ICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+Cisg
ICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwyIj48L3RkPgorICAgICAgICAgICAg
ICAgICAgICAgICAgPHRkIGlkPSJjZWxsMyI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAg
ICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZCBpZD0iY2VsbDQiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8
dGQgaWQ9ImNlbGw1Ij48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+Cisg
ICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRk
PjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAg
ICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdGF0aXN0aWNzLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hdGguanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWFpbi5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL21hc3Rlci9yZXNvdXJjZXMvdGV4dC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9ImRlc2lnbi02LmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsv
dGVzdHMvdGV4dC9kZXNpZ24tNi5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi02LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0MDE2NTc5YWVlYTc5NTNhMjdiNTc2Zjky
OTU1YTQzMDY0ZGU4ODcKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlv
bk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24tNi5qcwpAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KyhmdW5jdGlvbigpIHsKKworLy8gVGhlIE1vdGlvbk1hcmstYmFzZWQgVGV4dEJlbmNobWFyayBz
aG91bGQgYWxyZWFkeSBiZSBzZXQgdG8gfHdpbmRvdy5iZW5jaG1hcmtDbGFzc3wKK3ZhciBUZXh0
QmVuY2htYXJrID0gd2luZG93LmJlbmNobWFya0NsYXNzOwordmFyIFRleHRUZW1wbGF0ZUJlbmNo
bWFyayA9IFV0aWxpdGllcy5jcmVhdGVTdWJjbGFzcyhUZXh0QmVuY2htYXJrLAorICAgIGZ1bmN0
aW9uKG9wdGlvbnMpCisgICAgeworICAgICAgICB2YXIgZGF0YXNldDsKKyAgICAgICAgc3dpdGNo
IChvcHRpb25zWyJjb3JwdXMiXSkgeworICAgICAgICBjYXNlICJsYXRpbiI6CisgICAgICAgICAg
ICBkYXRhc2V0ID0gWworICAgICAgICAgICAgICAgICLPg8+Hzq3OtM65zr8iLAorICAgICAgICAg
ICAgICAgICJ1bcSbbsOtIiwKKyAgICAgICAgICAgICAgICAiZGVzaWduIiwKKyAgICAgICAgICAg
ICAgICAi0LjRgdC60YPRgdGB0YLQstC+IiwKKyAgICAgICAgICAgICAgICAiY29uY2VwdGlvbiIs
CisgICAgICAgICAgICAgICAgImRpc2XDsW8iCisgICAgICAgICAgICBdOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgImNqayI6CisgICAgICAgICAgICBkYXRhc2V0ID0gWworICAg
ICAgICAgICAgICAgICLorr7orqEiLAorICAgICAgICAgICAgICAgICLrlJTsnpDsnbgiLAorICAg
ICAgICAgICAgICAgICLjg4fjgrbjgqTjg7MiLAorICAgICAgICAgICAgICAgICLsmIjsiKAiLAor
ICAgICAgICAgICAgICAgICLkvb/lkIPmg4oiLAorICAgICAgICAgICAgICAgICLjgYzjgYTjga3j
gpMiLAorICAgICAgICAgICAgXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJh
cmFiaWMiOgorICAgICAgICAgICAgZGF0YXNldCA9IFsKKyAgICAgICAgICAgICAgICB7dGV4dDog
Itiq2LXZhdmK2YUiLCBkaXJlY3Rpb246ICJydGwifSwKKyAgICAgICAgICAgICAgICAi4K614K6f
4K6/4K614K6u4K+I4K6q4K+N4K6q4K+BIiwKKyAgICAgICAgICAgICAgICAi4KSv4KWL4KSc4KSo
4KS+IiwKKyAgICAgICAgICAgICAgICB7dGV4dDogItec1rDXota316bWtdeRIiwgZGlyZWN0aW9u
OiAicnRsIn0sCisgICAgICAgICAgICAgICAge3RleHQ6ICLYrtmE2KfZgiIsIGRpcmVjdGlvbjog
InJ0bCJ9LAorICAgICAgICAgICAgICAgICLguKjguLTguKXguJvguLAiLAorICAgICAgICAgICAg
XTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGF0YXNldC5mb3JF
YWNoKGZ1bmN0aW9uKGVudHJ5LCBpKSB7CisgICAgICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2VsbCIgKyBpKTsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgZW50cnkg
PT09ICdzdHJpbmcnKSB7CisgICAgICAgICAgICAgICAgdGQuaW5uZXJUZXh0ID0gZW50cnk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRkLmlubmVyVGV4dCA9IGVudHJ5
LnRleHQ7CisgICAgICAgICAgICAgICAgdGQuY2xhc3NMaXN0LmFkZCgicnRsIik7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0pCisKKyAgICAgICAgVGV4dEJlbmNobWFyay5jYWxsKHRoaXMsIG9w
dGlvbnMpOworICAgIH0KKyk7CisKK3dpbmRvdy5iZW5jaG1hcmtDbGFzcyA9IFRleHRUZW1wbGF0
ZUJlbmNobWFyazsKKworfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24uaHRtbCBi
L1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE3Mjk1OTVjNzE0MzcxNDQ1MmNiZmY5OTcwYjZkN2Y1MGRkMTAzMjkKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24u
aHRtbApAQCAtMCwwICsxLDEwNyBAQAorPCEtLQorICBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAg
YXJlIG1ldDoKKyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAgQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2Nz
cyIgaHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+CisgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKworICAgICAgICAjc3RhZ2UgeworICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogNTJweDsKKyAgICAgICAgICAgIGJhY2tncm91
bmQtY29sb3I6ICM0MjJFMkM7CisgICAgICAgIH0KKyAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6
IDkwMHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAgICAgICAgICAgICAgIGZvbnQtc2l6
ZTogNDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBAbWVkaWEgKG1heC13
aWR0aDogNTY4cHgpIHsKKyAgICAgICAgICAgICNzdGFnZSB7CisgICAgICAgICAgICAgICAgZm9u
dC1zaXplOiAyOHB4OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgI3N0YWdl
IGRpdiB7CisgICAgICAgICAgICB3aWR0aDogODAlOworICAgICAgICAgICAgaGVpZ2h0OiA5MCU7
CisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICB0ZXh0LWFsaWdu
OiBjZW50ZXI7CisgICAgICAgIH0KKyAgICAgICAgI3RlbXBsYXRlIHsKKyAgICAgICAgICAgIGNv
bG9yOiAjRkNGQ0ZDOworICAgICAgICB9CisgICAgICAgIHRhYmxlIHsKKyAgICAgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
aGVpZ2h0OiAxMDAlOworICAgICAgICB9CisgICAgICAgIHRkIHsKKyAgICAgICAgICAgIHdpZHRo
OiAzMyU7CisgICAgICAgIH0KKyAgICAgICAgdHIgeworICAgICAgICAgICAgaGVpZ2h0OiAyMCU7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0i
c3RhZ2UiPgorICAgICAgICA8ZGl2IGlkPSJ0ZW1wbGF0ZSI+CisgICAgICAgICAgICA8dGFibGU+
CisgICAgICAgICAgICAgICAgPHRib2R5PgorICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwwIj48L3RkPgorICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkIGlkPSJjZWxsMSI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0
ZCBpZD0iY2VsbDIiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAg
ICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDMiPjwv
dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw0Ij48L3RkPgorICAgICAg
ICAgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsNSI+PC90ZD4KKyAgICAgICAgICAgICAgICAg
ICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAg
ICAgPHRkIGlkPSJjZWxsNiI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0i
Y2VsbDciPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw4Ij48L3Rk
PgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICA8dHI+Cisg
ICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw5Ij48L3RkPgorICAgICAgICAgICAg
ICAgICAgICAgICAgPHRkIGlkPSJjZWxsMTAiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAg
ICA8dGQgaWQ9ImNlbGwxMSI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAg
ICAgICAgICAgICA8L3Rib2R5PgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lvbnMu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RhdGlzdGlj
cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21haW4uanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi9tYXN0ZXIvcmVzb3VyY2VzL3RleHQuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSJkZXNpZ24uanMiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFy
ay90ZXN0cy90ZXh0L2Rlc2lnbi5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWM4YTgwY2U4MGRmYjljNTU5MWQ1MWJlMjUz
MzI1NGYxZmU0MjA0Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25N
YXJrL3Rlc3RzL3RleHQvZGVzaWduLmpzCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyhm
dW5jdGlvbigpIHsKKworLy8gVGhlIE1vdGlvbk1hcmstYmFzZWQgVGV4dEJlbmNobWFyayBzaG91
bGQgYWxyZWFkeSBiZSBzZXQgdG8gfHdpbmRvdy5iZW5jaG1hcmtDbGFzc3wKK3ZhciBUZXh0QmVu
Y2htYXJrID0gd2luZG93LmJlbmNobWFya0NsYXNzOwordmFyIFRleHRUZW1wbGF0ZUJlbmNobWFy
ayA9IFV0aWxpdGllcy5jcmVhdGVTdWJjbGFzcyhUZXh0QmVuY2htYXJrLAorICAgIGZ1bmN0aW9u
KG9wdGlvbnMpCisgICAgeworICAgICAgICB2YXIgZGF0YXNldDsKKyAgICAgICAgc3dpdGNoIChv
cHRpb25zWyJjb3JwdXMiXSkgeworICAgICAgICBjYXNlICJsYXRpbiI6CisgICAgICAgICAgICBk
YXRhc2V0ID0gWworICAgICAgICAgICAgICAgICLPg8+Hzq3OtM65zr8iLAorICAgICAgICAgICAg
ICAgICJ1bcSbbsOtIiwKKyAgICAgICAgICAgICAgICAic3V1bm5pdHRlbHUiLAorICAgICAgICAg
ICAgICAgICJkZXNpZ24iLAorICAgICAgICAgICAgICAgICJkZXNlxYQiLAorICAgICAgICAgICAg
ICAgICLQuNGB0LrRg9GB0YHRgtCy0L4iLAorICAgICAgICAgICAgICAgICLQtNC40LfQsNC50L0i
LAorICAgICAgICAgICAgICAgICJjb25jZXB0aW9uIiwKKyAgICAgICAgICAgICAgICAia3Vuc3Qi
LAorICAgICAgICAgICAgICAgICJrb25zdHJ1a3Rpb24iLAorICAgICAgICAgICAgICAgICLPhM6t
z4fOvc63IiwKKyAgICAgICAgICAgICAgICAiZGlzZcOxbyIKKyAgICAgICAgICAgIF07CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAiY2prIjoKKyAgICAgICAgICAgIGRhdGFzZXQg
PSBbCisgICAgICAgICAgICAgICAgIuiuvuiuoSIsCisgICAgICAgICAgICAgICAgIuuUlOyekOyd
uCIsCisgICAgICAgICAgICAgICAgIuODh+OCtuOCpOODsyIsCisgICAgICAgICAgICAgICAgIuOB
jOOBhOOBreOCkyIsCisgICAgICAgICAgICAgICAgIuiXneihkyIsCisgICAgICAgICAgICAgICAg
IuWFu+auliIsCisgICAgICAgICAgICAgICAgIuyYiOyIoCIsCisgICAgICAgICAgICAgICAgIuWx
lemWi+OBmeOCiyIsCisgICAgICAgICAgICAgICAgIuuwnOuLrCIsCisgICAgICAgICAgICAgICAg
IuaKgOihkyIsCisgICAgICAgICAgICAgICAgIumpmuOBjSIsCisgICAgICAgICAgICAgICAgIuS9
v+WQg+aDiiIsCisgICAgICAgICAgICBdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgImFyYWJpYyI6CisgICAgICAgICAgICBkYXRhc2V0ID0gWworICAgICAgICAgICAgICAgIHt0
ZXh0OiAi2KrYtdmF2YrZhSIsIGRpcmVjdGlvbjogInJ0bCJ9LAorICAgICAgICAgICAgICAgICLg
rrXgrp/grr/grrXgrq7gr4jgrqrgr43grqrgr4EiLAorICAgICAgICAgICAgICAgICLgpK/gpYvg
pJzgpKjgpL4iLAorICAgICAgICAgICAgICAgIHt0ZXh0OiAi15zWsNei1rfXpta115EiLCBkaXJl
Y3Rpb246ICJydGwifSwKKyAgICAgICAgICAgICAgICB7dGV4dDogItiu2YTYp9mCIiwgZGlyZWN0
aW9uOiAicnRsIn0sCisgICAgICAgICAgICAgICAgIuC4qOC4tOC4peC4m+C4sCIsCisgICAgICAg
ICAgICAgICAgIuCkleCljOCktuCksiIsCisgICAgICAgICAgICAgICAge3RleHQ6ICLXkNa4157W
uNeg15XWvNeqIiwgZGlyZWN0aW9uOiAicnRsIn0sCisgICAgICAgICAgICAgICAgIuCuleCusuCv
iCIsCisgICAgICAgICAgICAgICAgIuC4lOC4teC5hOC4i+C4meC5jCIsCisgICAgICAgICAgICAg
ICAgIuCmquCmsOCmv+CmleCmsuCnjeCmquCmqOCmviIsCisgICAgICAgICAgICAgICAge3RleHQ6
ICLaiduM2LLYp9uM2YYiLCBkaXJlY3Rpb246ICJydGwifSwKKyAgICAgICAgICAgIF07CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRhdGFzZXQuZm9yRWFjaChmdW5j
dGlvbihlbnRyeSwgaSkgeworICAgICAgICAgICAgdmFyIHRkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNlbGwiICsgaSk7CisgICAgICAgICAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3Ry
aW5nJykgeworICAgICAgICAgICAgICAgIHRkLmlubmVyVGV4dCA9IGVudHJ5OworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZC5pbm5lclRleHQgPSBlbnRyeS50ZXh0Owor
ICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoInJ0bCIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9KQorCisgICAgICAgIFRleHRCZW5jaG1hcmsuY2FsbCh0aGlzLCBvcHRpb25zKTsK
KyAgICB9CispOworCit3aW5kb3cuYmVuY2htYXJrQ2xhc3MgPSBUZXh0VGVtcGxhdGVCZW5jaG1h
cms7CisKK30pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325907</attachid>
            <date>2017-11-03 09:48:36 -0700</date>
            <delta_ts>2017-11-03 11:40:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179226-20171103094835.patch</filename>
            <type>text/plain</type>
            <size>38573</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDAzCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFiMjA1OWFlNDRl
MWEzYmE0ODAyYmM3ZmYxOTE5ODkyNTFmYzlhNzcuLmI1ZTU5YmYxZTlhMzMwZTljYzRkYjNiMzI1
MjQ2ZTQxNGVmYWU3ODMgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTctMTEt
MDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBpc29sYXRlZCB0
ZXh0IHRlc3RzIGZvciBNb3Rpb25NYXJrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBwcml2YXRlIHN1aXRlIHRoYXQgc2ltcGxpZmllcyB0aGUg
ZGVzaWduIHRlc3QuCisKKyAgICAgICAgKiBNb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5u
ZXIvdGVzdHMuanM6CisgICAgICAgICogTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL3Rlc3Rz
LmpzOgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rlc2lnbi5odG1sOiBDb3Bp
ZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3RleHQuaHRt
bC4KKyAgICAgICAgUmVuYW1lIHRoZSBodG1sIGZpbGUgdG8gdGhlIHRpdGxlIG9mIHRoZSB0ZXN0
LgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy9kZXNpZ24uanM6
IFJlbmFtZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jl
c291cmNlcy90ZXh0LmpzLgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24t
Ni5odG1sOiBDb3BpZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFz
dGVyL3RleHQuaHRtbC4KKyAgICAgICAgU2l4IGFjdGl2ZSBjZWxscworICAgICAgICAqIE1vdGlv
bk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24tNi5qczogQWRkZWQuCisgICAgICAgICogTW90aW9uTWFy
ay90ZXN0cy90ZXh0L2Rlc2lnbi5odG1sOiBSZW5hbWVkIGZyb20gUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Rlc3RzL21hc3Rlci90ZXh0Lmh0bWwuCisgICAgICAgIFJlcGxhY2UgdGhlIHRl
eHQgd2l0aCBlbXB0eSB0YWJsZSBjZWxscyB0aGF0IGFyZSBwb3B1bGF0ZWQgd2l0aCBkZXNpcmVk
IHRleHQuCisgICAgICAgICogTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5qczogQWRkZWQu
CisKKzIwMTctMTEtMDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFk
ZCBsaWNlbnNlIGZvciBNb3Rpb25NYXJrCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyMjIKIApkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvdGVzdHMuanMgYi9QZXJmb3JtYW5jZVRl
c3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcwppbmRleCAwNzVi
N2RlNTQ2YWQ1MzM2NWNhNzFmZWYwYmQyMTJlMzZjZWIwMGU4Li5kNzcwNDAwNWQyMTM2ZjUyNDU3
Zjk4YjRkZGQ2YjAwY2U5MzI2ZDJhIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlv
bk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcworKysgYi9QZXJmb3JtYW5jZVRl
c3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcwpAQCAtMjY2LDYg
KzI2NiwzNSBAQCBTdWl0ZXMucHVzaChuZXcgU3VpdGUoIlNWRyBzdWl0ZSIsCiAgICAgXQogKSk7
CiAKK1N1aXRlcy5wdXNoKG5ldyBTdWl0ZSgiVGV4dCBzdWl0ZSIsCisgICAgWworICAgICAgICB7
CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi5odG1sP2NvcnB1cz1sYXRpbiIsCisgICAg
ICAgICAgICBuYW1lOiAiRGVzaWduOiBMYXRpbiBvbmx5ICgxMiBpdGVtcykiCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVybDogInRleHQvZGVzaWduLmh0bWw/Y29ycHVzPWNq
ayIsCisgICAgICAgICAgICBuYW1lOiAiRGVzaWduOiBDSksgb25seSAoMTIgaXRlbXMpIgorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi5odG1sP2Nv
cnB1cz1hcmFiaWMiLAorICAgICAgICAgICAgbmFtZTogIkRlc2lnbjogUlRMIGFuZCBjb21wbGV4
IHNjcmlwdHMgb25seSAoMTIgaXRlbXMpIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi02Lmh0bWw/Y29ycHVzPWxhdGluIiwKKyAgICAgICAgICAg
IG5hbWU6ICJEZXNpZ246IExhdGluIG9ubHkgKDYgaXRlbXMpIgorICAgICAgICB9LAorICAgICAg
ICB7CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi02Lmh0bWw/Y29ycHVzPWNqayIsCisg
ICAgICAgICAgICBuYW1lOiAiRGVzaWduOiBDSksgb25seSAoNiBpdGVtcykiCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVybDogInRleHQvZGVzaWduLTYuaHRtbD9jb3JwdXM9
YXJhYmljIiwKKyAgICAgICAgICAgIG5hbWU6ICJEZXNpZ246IFJUTCBhbmQgY29tcGxleCBzY3Jp
cHRzIG9ubHkgKDYgaXRlbXMpIgorICAgICAgICB9LAorICAgIF0KKykpOworCiBTdWl0ZXMucHVz
aChuZXcgU3VpdGUoIjNEIEdyYXBoaWNzIiwKICAgICBbCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL3Rlc3RzLmpzIGIv
UGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKaW5k
ZXggNmI2YmU4OGEzMjQ3YTM2NGYzOTRjN2FhMjNjMTMzNjI4MWJjZTU2YS4uMWFiNzIxMTAzZWFi
MmNkYWYyNzIyOWQwMDM0ZTAwNzcxMDU0ZWUxOCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKQEAgLTYwLDcgKzYwLDcg
QEAgU3VpdGVzLnB1c2gobmV3IFN1aXRlKCJNb3Rpb25NYXJrIiwKICAgICAgICAgICAgIG5hbWU6
ICJJbWFnZXMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgIHVybDogIm1hc3Rl
ci90ZXh0Lmh0bWwiLAorICAgICAgICAgICAgdXJsOiAibWFzdGVyL2Rlc2lnbi5odG1sIiwKICAg
ICAgICAgICAgIG5hbWU6ICJEZXNpZ24iCiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy9tYXN0ZXIvZGVzaWduLmh0bWwg
Yi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rlc2lnbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE4MjQ2YTMwODQ5Mzg0ODk2NjExNDVkNGMyNTYyMTFlYjM2YjAwYzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rl
c2lnbi5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IS0tCisgIENvcHlyaWdodCAoQykgMjAxNS0y
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgIGFyZSBtZXQ6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgorICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7CisgICAgICAgICAgICBmb250LXNpemU6IDUycHg7CisgICAgICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzNTM0OworICAgICAgICB9CisgICAgICAgIEBtZWRpYSAo
bWF4LXdpZHRoOiA5MDBweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgICAg
ICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgQG1l
ZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAgICAgICAg
ICAgICAgIGZvbnQtc2l6ZTogMjhweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgICNzdGFnZSBkaXYgeworICAgICAgICAgICAgd2lkdGg6IDgwJTsKKyAgICAgICAgICAgIGhl
aWdodDogOTAlOworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAg
dGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICB9CisgICAgICAgICN0ZW1wbGF0ZSB7CisgICAg
ICAgICAgICBjb2xvcjogI0ZDRkNGQzsKKyAgICAgICAgfQorICAgICAgICB0YWJsZSB7CisgICAg
ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICB0ZCB7CisgICAgICAg
ICAgICB3aWR0aDogMzMlOworICAgICAgICB9CisgICAgICAgIHRyIHsKKyAgICAgICAgICAgIGhl
aWdodDogMjAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9InN0YWdlIj4KKyAgICAgICAgPGRpdiBpZD0idGVtcGxhdGUiPgorICAgICAgICAg
ICAgPHRhYmxlPgorICAgICAgICAgICAgICAgIDx0Ym9keT4KKyAgICAgICAgICAgICAgICAgICAg
PHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPs+Dz4fOrc60zrnOvzwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQ+6K6+6K6hPC90ZD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIDx0ZD5zdXVubml0dGVsdTwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAg
ICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5kZXNpZ248
L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPtC00LjQt9Cw0LnQvTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InJ0bCI+2KrYtdmF2YrZhTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIDx0ZD7rlJTsnpDsnbg8L3RkPgorICAgICAgICAgICAgICAgICAgICAg
ICAgPHRkPmNvbmNlcHRpb248L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPuODh+OC
tuOCpOODszwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAg
ICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5rb25zdHJ1a3Rpb248L3RkPgor
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJydGwiPtei15nXpteV15E8L3RkPgor
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmRpc2XDsW88L3RkPgorICAgICAgICAgICAgICAg
ICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxl
PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9zdGF0aXN0aWNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL21hdGguanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
bWFpbi5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9kZXNpZ24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzIGIvUGVyZm9ybWFu
Y2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkxYzY5Njg4YzY1MzM5N2I2YmEzOGFhMDc0NTRjMDA0ZDczMmNhMzUKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291
cmNlcy9kZXNpZ24uanMKQEAgLTAsMCArMSwxNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisoZnVuY3Rp
b24oKSB7CisKK3ZhciBUZXh0U3RhZ2UgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoU3RhZ2Us
CisgICAgZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgU3RhZ2UuY2FsbCh0aGlzKTsKKworICAg
ICAgICB0aGlzLnRlc3RFbGVtZW50cyA9IFtdOworICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9
IDA7CisgICAgfSwgeworCisgICAgc2hhZG93RmFsbG9mZjogbmV3IFVuaXRCZXppZXIobmV3IFBv
aW50KDAuMDE1LCAwLjc1MCksIG5ldyBQb2ludCgwLjc1NSwgMC4yMzUpKSwKKyAgICBzaGltbWVy
QXZlcmFnZTogMCwKKyAgICBzaGltbWVyTWF4OiAwLjUsCisgICAgbWlsbGlzZWNvbmRzUGVyUm90
YXRpb246IDEwMDAgLyAoLjI2ICogTWF0aC5QSSAqIDIpLAorICAgIHBhcnRpY2xlRGlzdGFuY2VY
OiAxLjUsCisgICAgcGFydGljbGVEaXN0YW5jZVk6IC41LAorICAgIGxpZ2h0bmVzc01pbjogMTMs
CisgICAgbGlnaHRuZXNzTWF4OiA5NCwKKyAgICBncmFkaWVudHM6IFsKKyAgICAgICAgWzEwLCAx
NzYsIDE3NiwgMjA5LCAxNDgsIDE0MF0sCisgICAgICAgIFsxNzEsIDEyMCwgMTU0LCAyNDUsIDE5
NiwgMTU0XSwKKyAgICAgICAgWzIyNCwgOTksIDk5LCA3MSwgMTM0LCAxNDhdLAorICAgICAgICBb
MTAxLCAxMDAsIDExNywgODAsIDIzMCwgMTc1XSwKKyAgICAgICAgWzIzMiwgMTY1LCAzMCwgNjks
IDE4NiwgMTcyXQorICAgIF0sCisKKyAgICBpbml0aWFsaXplOiBmdW5jdGlvbihiZW5jaG1hcmsp
CisgICAgeworICAgICAgICBTdGFnZS5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsIGJl
bmNobWFyayk7CisKKyAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVtcGxhdGUiKTsKKyAgICAgICAgdGhpcy5fb2Zmc2V0ID0gdGhpcy5zaXplLnN1YnRy
YWN0KFBvaW50LmVsZW1lbnRDbGllbnRTaXplKHRoaXMuX3RlbXBsYXRlKSkubXVsdGlwbHkoLjUp
OworICAgICAgICB0aGlzLl90ZW1wbGF0ZS5zdHlsZS5sZWZ0ID0gdGhpcy5fb2Zmc2V0LndpZHRo
ICsgInB4IjsKKyAgICAgICAgdGhpcy5fdGVtcGxhdGUuc3R5bGUudG9wID0gdGhpcy5fb2Zmc2V0
LmhlaWdodCArICJweCI7CisKKyAgICAgICAgdGhpcy5fc3RlcFByb2dyZXNzID0gMDsKKyAgICB9
LAorCisgICAgdHVuZTogZnVuY3Rpb24oY291bnQpCisgICAgeworICAgICAgICBpZiAoY291bnQg
PT0gMCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoY291bnQgPCAwKSB7Cisg
ICAgICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IE1hdGgubWF4KHRoaXMuX29mZnNldEluZGV4
ICsgY291bnQsIDApOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX29mZnNldEluZGV4
OyBpIDwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgdGhp
cy50ZXN0RWxlbWVudHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworCisgICAgICAg
ICAgICB0aGlzLl9zdGVwUHJvZ3Jlc3MgPSAxIC8gdGhpcy5fb2Zmc2V0SW5kZXg7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IHRo
aXMuX29mZnNldEluZGV4ICsgY291bnQ7CisgICAgICAgIHRoaXMuX3N0ZXBQcm9ncmVzcyA9IDEg
LyB0aGlzLl9vZmZzZXRJbmRleDsKKworICAgICAgICB2YXIgaW5kZXggPSBNYXRoLm1pbih0aGlz
Ll9vZmZzZXRJbmRleCwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKTsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBpbmRleDsgKytpKQorICAgICAgICAgICAgdGhpcy50ZXN0RWxlbWVudHNb
aV0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKKworICAgICAgICBpZiAodGhpcy5fb2Zm
c2V0SW5kZXggPD0gdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRlc3RFbGVtZW50cy5sZW5ndGg7IGkgPCB0
aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7CisgICAgICAgICAgICB2YXIgY2xvbmUgPSB0aGlzLl90
ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB0aGlzLnRlc3RFbGVtZW50cy5w
dXNoKGNsb25lKTsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUoY2xvbmUs
IHRoaXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBhbmlt
YXRlOiBmdW5jdGlvbih0aW1lRGVsdGEpIHsKKyAgICAgICAgdmFyIGFuZ2xlID0gU3RhZ2UuZGF0
ZUNvdW50ZXJWYWx1ZSh0aGlzLm1pbGxpc2Vjb25kc1BlclJvdGF0aW9uKTsKKworICAgICAgICB2
YXIgcHJvZ3Jlc3MgPSAwOworICAgICAgICB2YXIgc3RlcFggPSBNYXRoLnNpbihhbmdsZSkgKiB0
aGlzLnBhcnRpY2xlRGlzdGFuY2VYOworICAgICAgICB2YXIgc3RlcFkgPSBNYXRoLmNvcyhhbmds
ZSkgKiB0aGlzLnBhcnRpY2xlRGlzdGFuY2VZOworICAgICAgICB2YXIgeCA9IC1zdGVwWCAqIDM7
CisgICAgICAgIHZhciB5ID0gLXN0ZXBZICogMzsKKyAgICAgICAgdmFyIGdyYWRpZW50ID0gdGhp
cy5ncmFkaWVudHNbTWF0aC5mbG9vcihhbmdsZS8oTWF0aC5QSSAqIDIpKSAlIHRoaXMuZ3JhZGll
bnRzLmxlbmd0aF07CisgICAgICAgIHZhciBvZmZzZXQgPSBTdGFnZS5kYXRlQ291bnRlclZhbHVl
KDIwMCk7CisgICAgICAgIHRoaXMuX3RlbXBsYXRlLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xh
dGUoIiArIE1hdGguZmxvb3IoeCkgKyAicHgsIiArIE1hdGguZmxvb3IoeSkgKyAicHgpIjsKKyAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7CisgICAg
ICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMudGVzdEVsZW1lbnRzW2ldOworCisgICAgICAgICAg
ICB2YXIgY29sb3JQcm9ncmVzcyA9IHRoaXMuc2hhZG93RmFsbG9mZi5zb2x2ZShwcm9ncmVzcyk7
CisgICAgICAgICAgICB2YXIgc2hpbW1lciA9IE1hdGguc2luKG9mZnNldCAtIGNvbG9yUHJvZ3Jl
c3MpOworICAgICAgICAgICAgY29sb3JQcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKGNvbG9y
UHJvZ3Jlc3MgKyBVdGlsaXRpZXMubGVycChzaGltbWVyLCB0aGlzLnNoaW1tZXJBdmVyYWdlLCB0
aGlzLnNoaW1tZXJNYXgpLCAxKSwgMCk7CisgICAgICAgICAgICB2YXIgciA9IE1hdGgucm91bmQo
VXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMF0sIGdyYWRpZW50WzNdKSk7
CisgICAgICAgICAgICB2YXIgZyA9IE1hdGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9n
cmVzcywgZ3JhZGllbnRbMV0sIGdyYWRpZW50WzRdKSk7CisgICAgICAgICAgICB2YXIgYiA9IE1h
dGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMl0sIGdyYWRp
ZW50WzVdKSk7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gInJnYigiICsgciAr
ICIsIiArIGcgKyAiLCIgKyBiICsgIikiOworCisgICAgICAgICAgICB4ICs9IHN0ZXBYOworICAg
ICAgICAgICAgeSArPSBzdGVwWTsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNmb3Jt
ID0gInRyYW5zbGF0ZSgiICsgTWF0aC5mbG9vcih4KSArICJweCwiICsgTWF0aC5mbG9vcih5KSAr
ICJweCkiOworCisgICAgICAgICAgICBwcm9ncmVzcyArPSB0aGlzLl9zdGVwUHJvZ3Jlc3M7Cisg
ICAgICAgIH0KKyAgICB9LAorCisgICAgY29tcGxleGl0eTogZnVuY3Rpb24oKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIDEgKyB0aGlzLl9vZmZzZXRJbmRleDsKKyAgICB9Cit9KTsKKwordmFyIFRl
eHRCZW5jaG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoQmVuY2htYXJrLAorICAgIGZ1
bmN0aW9uKG9wdGlvbnMpCisgICAgeworICAgICAgICBCZW5jaG1hcmsuY2FsbCh0aGlzLCBuZXcg
VGV4dFN0YWdlKCksIG9wdGlvbnMpOworICAgIH0KKyk7CisKK3dpbmRvdy5iZW5jaG1hcmtDbGFz
cyA9IFRleHRCZW5jaG1hcms7CisKK30oKSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy90ZXh0LmpzIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvdGV4dC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOTFjNjk2ODhjNjUzMzk3YjZiYTM4YWEwNzQ1NGMwMDRkNzMy
Y2EzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9QZXJm
b3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy90ZXh0LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMTQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUt
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0oZnVuY3Rpb24o
KSB7Ci0KLXZhciBUZXh0U3RhZ2UgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoU3RhZ2UsCi0g
ICAgZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgU3RhZ2UuY2FsbCh0aGlzKTsKLQotICAgICAg
ICB0aGlzLnRlc3RFbGVtZW50cyA9IFtdOwotICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IDA7
Ci0gICAgfSwgewotCi0gICAgc2hhZG93RmFsbG9mZjogbmV3IFVuaXRCZXppZXIobmV3IFBvaW50
KDAuMDE1LCAwLjc1MCksIG5ldyBQb2ludCgwLjc1NSwgMC4yMzUpKSwKLSAgICBzaGltbWVyQXZl
cmFnZTogMCwKLSAgICBzaGltbWVyTWF4OiAwLjUsCi0gICAgbWlsbGlzZWNvbmRzUGVyUm90YXRp
b246IDEwMDAgLyAoLjI2ICogTWF0aC5QSSAqIDIpLAotICAgIHBhcnRpY2xlRGlzdGFuY2VYOiAx
LjUsCi0gICAgcGFydGljbGVEaXN0YW5jZVk6IC41LAotICAgIGxpZ2h0bmVzc01pbjogMTMsCi0g
ICAgbGlnaHRuZXNzTWF4OiA5NCwKLSAgICBncmFkaWVudHM6IFsKLSAgICAgICAgWzEwLCAxNzYs
IDE3NiwgMjA5LCAxNDgsIDE0MF0sCi0gICAgICAgIFsxNzEsIDEyMCwgMTU0LCAyNDUsIDE5Niwg
MTU0XSwKLSAgICAgICAgWzIyNCwgOTksIDk5LCA3MSwgMTM0LCAxNDhdLAotICAgICAgICBbMTAx
LCAxMDAsIDExNywgODAsIDIzMCwgMTc1XSwKLSAgICAgICAgWzIzMiwgMTY1LCAzMCwgNjksIDE4
NiwgMTcyXQotICAgIF0sCi0KLSAgICBpbml0aWFsaXplOiBmdW5jdGlvbihiZW5jaG1hcmspCi0g
ICAgewotICAgICAgICBTdGFnZS5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsIGJlbmNo
bWFyayk7Ci0KLSAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVtcGxhdGUiKTsKLSAgICAgICAgdGhpcy5fb2Zmc2V0ID0gdGhpcy5zaXplLnN1YnRyYWN0
KFBvaW50LmVsZW1lbnRDbGllbnRTaXplKHRoaXMuX3RlbXBsYXRlKSkubXVsdGlwbHkoLjUpOwot
ICAgICAgICB0aGlzLl90ZW1wbGF0ZS5zdHlsZS5sZWZ0ID0gdGhpcy5fb2Zmc2V0LndpZHRoICsg
InB4IjsKLSAgICAgICAgdGhpcy5fdGVtcGxhdGUuc3R5bGUudG9wID0gdGhpcy5fb2Zmc2V0Lmhl
aWdodCArICJweCI7Ci0KLSAgICAgICAgdGhpcy5fc3RlcFByb2dyZXNzID0gMDsKLSAgICB9LAot
Ci0gICAgdHVuZTogZnVuY3Rpb24oY291bnQpCi0gICAgewotICAgICAgICBpZiAoY291bnQgPT0g
MCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBpZiAoY291bnQgPCAwKSB7Ci0gICAg
ICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IE1hdGgubWF4KHRoaXMuX29mZnNldEluZGV4ICsg
Y291bnQsIDApOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX29mZnNldEluZGV4OyBp
IDwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgdGhpcy50
ZXN0RWxlbWVudHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwotCi0gICAgICAgICAg
ICB0aGlzLl9zdGVwUHJvZ3Jlc3MgPSAxIC8gdGhpcy5fb2Zmc2V0SW5kZXg7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IHRoaXMu
X29mZnNldEluZGV4ICsgY291bnQ7Ci0gICAgICAgIHRoaXMuX3N0ZXBQcm9ncmVzcyA9IDEgLyB0
aGlzLl9vZmZzZXRJbmRleDsKLQotICAgICAgICB2YXIgaW5kZXggPSBNYXRoLm1pbih0aGlzLl9v
ZmZzZXRJbmRleCwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKTsKLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbmRleDsgKytpKQotICAgICAgICAgICAgdGhpcy50ZXN0RWxlbWVudHNbaV0u
c3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKLQotICAgICAgICBpZiAodGhpcy5fb2Zmc2V0
SW5kZXggPD0gdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRlc3RFbGVtZW50cy5sZW5ndGg7IGkgPCB0aGlz
Ll9vZmZzZXRJbmRleDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgY2xvbmUgPSB0aGlzLl90ZW1w
bGF0ZS5jbG9uZU5vZGUodHJ1ZSk7Ci0gICAgICAgICAgICB0aGlzLnRlc3RFbGVtZW50cy5wdXNo
KGNsb25lKTsKLSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUoY2xvbmUsIHRo
aXMuZWxlbWVudC5maXJzdENoaWxkKTsKLSAgICAgICAgfQotICAgIH0sCi0KLSAgICBhbmltYXRl
OiBmdW5jdGlvbih0aW1lRGVsdGEpIHsKLSAgICAgICAgdmFyIGFuZ2xlID0gU3RhZ2UuZGF0ZUNv
dW50ZXJWYWx1ZSh0aGlzLm1pbGxpc2Vjb25kc1BlclJvdGF0aW9uKTsKLQotICAgICAgICB2YXIg
cHJvZ3Jlc3MgPSAwOwotICAgICAgICB2YXIgc3RlcFggPSBNYXRoLnNpbihhbmdsZSkgKiB0aGlz
LnBhcnRpY2xlRGlzdGFuY2VYOwotICAgICAgICB2YXIgc3RlcFkgPSBNYXRoLmNvcyhhbmdsZSkg
KiB0aGlzLnBhcnRpY2xlRGlzdGFuY2VZOwotICAgICAgICB2YXIgeCA9IC1zdGVwWCAqIDM7Ci0g
ICAgICAgIHZhciB5ID0gLXN0ZXBZICogMzsKLSAgICAgICAgdmFyIGdyYWRpZW50ID0gdGhpcy5n
cmFkaWVudHNbTWF0aC5mbG9vcihhbmdsZS8oTWF0aC5QSSAqIDIpKSAlIHRoaXMuZ3JhZGllbnRz
Lmxlbmd0aF07Ci0gICAgICAgIHZhciBvZmZzZXQgPSBTdGFnZS5kYXRlQ291bnRlclZhbHVlKDIw
MCk7Ci0gICAgICAgIHRoaXMuX3RlbXBsYXRlLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xhdGUo
IiArIE1hdGguZmxvb3IoeCkgKyAicHgsIiArIE1hdGguZmxvb3IoeSkgKyAicHgpIjsKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7Ci0gICAgICAg
ICAgICB2YXIgZWxlbWVudCA9IHRoaXMudGVzdEVsZW1lbnRzW2ldOwotCi0gICAgICAgICAgICB2
YXIgY29sb3JQcm9ncmVzcyA9IHRoaXMuc2hhZG93RmFsbG9mZi5zb2x2ZShwcm9ncmVzcyk7Ci0g
ICAgICAgICAgICB2YXIgc2hpbW1lciA9IE1hdGguc2luKG9mZnNldCAtIGNvbG9yUHJvZ3Jlc3Mp
OwotICAgICAgICAgICAgY29sb3JQcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKGNvbG9yUHJv
Z3Jlc3MgKyBVdGlsaXRpZXMubGVycChzaGltbWVyLCB0aGlzLnNoaW1tZXJBdmVyYWdlLCB0aGlz
LnNoaW1tZXJNYXgpLCAxKSwgMCk7Ci0gICAgICAgICAgICB2YXIgciA9IE1hdGgucm91bmQoVXRp
bGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMF0sIGdyYWRpZW50WzNdKSk7Ci0g
ICAgICAgICAgICB2YXIgZyA9IE1hdGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVz
cywgZ3JhZGllbnRbMV0sIGdyYWRpZW50WzRdKSk7Ci0gICAgICAgICAgICB2YXIgYiA9IE1hdGgu
cm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMl0sIGdyYWRpZW50
WzVdKSk7Ci0gICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gInJnYigiICsgciArICIs
IiArIGcgKyAiLCIgKyBiICsgIikiOwotCi0gICAgICAgICAgICB4ICs9IHN0ZXBYOwotICAgICAg
ICAgICAgeSArPSBzdGVwWTsKLSAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0g
InRyYW5zbGF0ZSgiICsgTWF0aC5mbG9vcih4KSArICJweCwiICsgTWF0aC5mbG9vcih5KSArICJw
eCkiOwotCi0gICAgICAgICAgICBwcm9ncmVzcyArPSB0aGlzLl9zdGVwUHJvZ3Jlc3M7Ci0gICAg
ICAgIH0KLSAgICB9LAotCi0gICAgY29tcGxleGl0eTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIDEgKyB0aGlzLl9vZmZzZXRJbmRleDsKLSAgICB9Ci19KTsKLQotdmFyIFRleHRC
ZW5jaG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoQmVuY2htYXJrLAotICAgIGZ1bmN0
aW9uKG9wdGlvbnMpCi0gICAgewotICAgICAgICBCZW5jaG1hcmsuY2FsbCh0aGlzLCBuZXcgVGV4
dFN0YWdlKCksIG9wdGlvbnMpOwotICAgIH0KLSk7Ci0KLXdpbmRvdy5iZW5jaG1hcmtDbGFzcyA9
IFRleHRCZW5jaG1hcms7Ci0KLX0oKSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01v
dGlvbk1hcmsvdGVzdHMvbWFzdGVyL3RleHQuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9u
TWFyay90ZXN0cy9tYXN0ZXIvdGV4dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzNmMwYTk5ODEwYjU2OWFlZjA2M2ViMTgxNGM0NTQ5ZTlkMThiZDcxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9u
TWFyay90ZXN0cy9tYXN0ZXIvdGV4dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAg
QEAKLTwhLS0KLSAgQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotCi0gIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAgYXJlIG1ldDoKLSAgMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0KLSAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAgQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0tLT4KLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVz
b3VyY2VzL3N0YWdlLmNzcyI+Ci0gICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLQotICAgICAg
ICAjc3RhZ2UgewotICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYTsKLSAgICAgICAg
ICAgIGZvbnQtc2l6ZTogNTJweDsKLSAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM1
MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7Ci0gICAg
ICAgICAgICAjc3RhZ2UgewotICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHsK
LSAgICAgICAgICAgICNzdGFnZSB7Ci0gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4Owot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgI3N0YWdlIGRpdiB7Ci0gICAgICAg
ICAgICB3aWR0aDogODAlOwotICAgICAgICAgICAgaGVpZ2h0OiA5MCU7Ci0gICAgICAgICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gICAg
ICAgIH0KLSAgICAgICAgI3RlbXBsYXRlIHsKLSAgICAgICAgICAgIGNvbG9yOiAjRkNGQ0ZDOwot
ICAgICAgICB9Ci0gICAgICAgIHRhYmxlIHsKLSAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKLSAgICAgICAgICAgIHdpZHRoOiAxMDAlOwotICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwot
ICAgICAgICB9Ci0gICAgICAgIHRkIHsKLSAgICAgICAgICAgIHdpZHRoOiAzMyU7Ci0gICAgICAg
IH0KLSAgICAgICAgdHIgewotICAgICAgICAgICAgaGVpZ2h0OiAyMCU7Ci0gICAgICAgIH0KLSAg
ICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGRpdiBpZD0ic3RhZ2UiPgotICAgICAg
ICA8ZGl2IGlkPSJ0ZW1wbGF0ZSI+Ci0gICAgICAgICAgICA8dGFibGU+Ci0gICAgICAgICAgICAg
ICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICA8dHI+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICA8dGQ+z4PPh86tzrTOuc6/PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD7o
rr7orqE8L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnN1dW5uaXR0ZWx1PC90ZD4K
LSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAg
ICAgICAgICAgICAgICAgICAgICAgPHRkPmRlc2lnbjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICA8dGQ+0LTQuNC30LDQudC9PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBj
bGFzcz0icnRsIj7Yqti12YXZitmFPC90ZD4KLSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAg
ICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkPuuUlOye
kOyduDwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Y29uY2VwdGlvbjwvdGQ+Ci0g
ICAgICAgICAgICAgICAgICAgICAgICA8dGQ+44OH44K244Kk44OzPC90ZD4KLSAgICAgICAgICAg
ICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkPmtvbnN0cnVrdGlvbjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8
dGQgY2xhc3M9InJ0bCI+16LXmdem15XXkTwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8
dGQ+ZGlzZcOxbzwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgICAg
ICAgPC90Ym9keT4KLSAgICAgICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDwvZGl2PgotICAgIDwv
ZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0YXRpc3RpY3MuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYWluLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RleHQuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL3RleHQvZGVz
aWduLTYuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2ln
bi02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNlYTgzMTUxZjNiNWQxYTY1ZTE4ZmY2ODY5MjhlMjRkZjM1
OWEwMQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi02Lmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhLS0KKyAgQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgIGFyZSBtZXQ6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgorICAgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7CisgICAgICAgICAgICBmb250LXNpemU6IDUycHg7CisgICAg
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDIyRTJDOworICAgICAgICB9CisgICAgICAgIEBt
ZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAg
ICAgICAgICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAg
ICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
CisgICAgICAgICNzdGFnZSBkaXYgeworICAgICAgICAgICAgd2lkdGg6IDgwJTsKKyAgICAgICAg
ICAgIGhlaWdodDogOTAlOworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICAgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICB9CisgICAgICAgICN0ZW1wbGF0ZSB7
CisgICAgICAgICAgICBjb2xvcjogI0ZDRkNGQzsKKyAgICAgICAgfQorICAgICAgICB0YWJsZSB7
CisgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICB0ZCB7Cisg
ICAgICAgICAgICB3aWR0aDogMjUlOworICAgICAgICB9CisgICAgICAgIHRyIHsKKyAgICAgICAg
ICAgIGhlaWdodDogMjAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxkaXYgaWQ9InN0YWdlIj4KKyAgICAgICAgPGRpdiBpZD0idGVtcGxhdGUiPgorICAg
ICAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgICAgIDx0Ym9keT4KKyAgICAgICAgICAgICAg
ICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3Rk
PgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgICAgICAgICAg
IDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsMCI+PC90ZD4K
KyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDEiPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAg
ICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+Cisg
ICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwyIj48L3RkPgorICAgICAgICAgICAg
ICAgICAgICAgICAgPHRkIGlkPSJjZWxsMyI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAg
ICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZCBpZD0iY2VsbDQiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8
dGQgaWQ9ImNlbGw1Ij48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+Cisg
ICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRk
PjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAg
ICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdGF0aXN0aWNzLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hdGguanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWFpbi5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL21hc3Rlci9yZXNvdXJjZXMvdGV4dC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9ImRlc2lnbi02LmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsv
dGVzdHMvdGV4dC9kZXNpZ24tNi5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi02LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0MDE2NTc5YWVlYTc5NTNhMjdiNTc2Zjky
OTU1YTQzMDY0ZGU4ODcKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlv
bk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24tNi5qcwpAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KyhmdW5jdGlvbigpIHsKKworLy8gVGhlIE1vdGlvbk1hcmstYmFzZWQgVGV4dEJlbmNobWFyayBz
aG91bGQgYWxyZWFkeSBiZSBzZXQgdG8gfHdpbmRvdy5iZW5jaG1hcmtDbGFzc3wKK3ZhciBUZXh0
QmVuY2htYXJrID0gd2luZG93LmJlbmNobWFya0NsYXNzOwordmFyIFRleHRUZW1wbGF0ZUJlbmNo
bWFyayA9IFV0aWxpdGllcy5jcmVhdGVTdWJjbGFzcyhUZXh0QmVuY2htYXJrLAorICAgIGZ1bmN0
aW9uKG9wdGlvbnMpCisgICAgeworICAgICAgICB2YXIgZGF0YXNldDsKKyAgICAgICAgc3dpdGNo
IChvcHRpb25zWyJjb3JwdXMiXSkgeworICAgICAgICBjYXNlICJsYXRpbiI6CisgICAgICAgICAg
ICBkYXRhc2V0ID0gWworICAgICAgICAgICAgICAgICLPg8+Hzq3OtM65zr8iLAorICAgICAgICAg
ICAgICAgICJ1bcSbbsOtIiwKKyAgICAgICAgICAgICAgICAiZGVzaWduIiwKKyAgICAgICAgICAg
ICAgICAi0LjRgdC60YPRgdGB0YLQstC+IiwKKyAgICAgICAgICAgICAgICAiY29uY2VwdGlvbiIs
CisgICAgICAgICAgICAgICAgImRpc2XDsW8iCisgICAgICAgICAgICBdOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgImNqayI6CisgICAgICAgICAgICBkYXRhc2V0ID0gWworICAg
ICAgICAgICAgICAgICLorr7orqEiLAorICAgICAgICAgICAgICAgICLrlJTsnpDsnbgiLAorICAg
ICAgICAgICAgICAgICLjg4fjgrbjgqTjg7MiLAorICAgICAgICAgICAgICAgICLsmIjsiKAiLAor
ICAgICAgICAgICAgICAgICLkvb/lkIPmg4oiLAorICAgICAgICAgICAgICAgICLjgYzjgYTjga3j
gpMiLAorICAgICAgICAgICAgXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJh
cmFiaWMiOgorICAgICAgICAgICAgZGF0YXNldCA9IFsKKyAgICAgICAgICAgICAgICB7dGV4dDog
Itiq2LXZhdmK2YUiLCBkaXJlY3Rpb246ICJydGwifSwKKyAgICAgICAgICAgICAgICAi4K614K6f
4K6/4K614K6u4K+I4K6q4K+N4K6q4K+BIiwKKyAgICAgICAgICAgICAgICAi4KSv4KWL4KSc4KSo
4KS+IiwKKyAgICAgICAgICAgICAgICB7dGV4dDogItec1rDXota316bWtdeRIiwgZGlyZWN0aW9u
OiAicnRsIn0sCisgICAgICAgICAgICAgICAge3RleHQ6ICLYrtmE2KfZgiIsIGRpcmVjdGlvbjog
InJ0bCJ9LAorICAgICAgICAgICAgICAgICLguKjguLTguKXguJvguLAiLAorICAgICAgICAgICAg
XTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgZGF0YXNldC5mb3JF
YWNoKGZ1bmN0aW9uKGVudHJ5LCBpKSB7CisgICAgICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2VsbCIgKyBpKTsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgZW50cnkg
PT09ICdzdHJpbmcnKSB7CisgICAgICAgICAgICAgICAgdGQuaW5uZXJUZXh0ID0gZW50cnk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRkLmlubmVyVGV4dCA9IGVudHJ5
LnRleHQ7CisgICAgICAgICAgICAgICAgdGQuY2xhc3NMaXN0LmFkZCgicnRsIik7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0pCisKKyAgICAgICAgVGV4dEJlbmNobWFyay5jYWxsKHRoaXMsIG9w
dGlvbnMpOworICAgIH0KKyk7CisKK3dpbmRvdy5iZW5jaG1hcmtDbGFzcyA9IFRleHRUZW1wbGF0
ZUJlbmNobWFyazsKKworfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24uaHRtbCBi
L1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE3Mjk1OTVjNzE0MzcxNDQ1MmNiZmY5OTcwYjZkN2Y1MGRkMTAzMjkKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24u
aHRtbApAQCAtMCwwICsxLDEwNyBAQAorPCEtLQorICBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAg
YXJlIG1ldDoKKyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAgQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2Nz
cyIgaHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+CisgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKworICAgICAgICAjc3RhZ2UgeworICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogNTJweDsKKyAgICAgICAgICAgIGJhY2tncm91
bmQtY29sb3I6ICM0MjJFMkM7CisgICAgICAgIH0KKyAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6
IDkwMHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAgICAgICAgICAgICAgIGZvbnQtc2l6
ZTogNDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBAbWVkaWEgKG1heC13
aWR0aDogNTY4cHgpIHsKKyAgICAgICAgICAgICNzdGFnZSB7CisgICAgICAgICAgICAgICAgZm9u
dC1zaXplOiAyOHB4OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgI3N0YWdl
IGRpdiB7CisgICAgICAgICAgICB3aWR0aDogODAlOworICAgICAgICAgICAgaGVpZ2h0OiA5MCU7
CisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICB0ZXh0LWFsaWdu
OiBjZW50ZXI7CisgICAgICAgIH0KKyAgICAgICAgI3RlbXBsYXRlIHsKKyAgICAgICAgICAgIGNv
bG9yOiAjRkNGQ0ZDOworICAgICAgICB9CisgICAgICAgIHRhYmxlIHsKKyAgICAgICAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAg
aGVpZ2h0OiAxMDAlOworICAgICAgICB9CisgICAgICAgIHRkIHsKKyAgICAgICAgICAgIHdpZHRo
OiAzMyU7CisgICAgICAgIH0KKyAgICAgICAgdHIgeworICAgICAgICAgICAgaGVpZ2h0OiAyMCU7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0i
c3RhZ2UiPgorICAgICAgICA8ZGl2IGlkPSJ0ZW1wbGF0ZSI+CisgICAgICAgICAgICA8dGFibGU+
CisgICAgICAgICAgICAgICAgPHRib2R5PgorICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwwIj48L3RkPgorICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkIGlkPSJjZWxsMSI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0
ZCBpZD0iY2VsbDIiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAg
ICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDMiPjwv
dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw0Ij48L3RkPgorICAgICAg
ICAgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsNSI+PC90ZD4KKyAgICAgICAgICAgICAgICAg
ICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAg
ICAgPHRkIGlkPSJjZWxsNiI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0i
Y2VsbDciPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw4Ij48L3Rk
PgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICA8dHI+Cisg
ICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw5Ij48L3RkPgorICAgICAgICAgICAg
ICAgICAgICAgICAgPHRkIGlkPSJjZWxsMTAiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAg
ICA8dGQgaWQ9ImNlbGwxMSI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAg
ICAgICAgICAgICA8L3Rib2R5PgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lvbnMu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RhdGlzdGlj
cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21haW4uanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi9tYXN0ZXIvcmVzb3VyY2VzL3RleHQuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSJkZXNpZ24uanMiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFy
ay90ZXN0cy90ZXh0L2Rlc2lnbi5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWM4YTgwY2U4MGRmYjljNTU5MWQ1MWJlMjUz
MzI1NGYxZmU0MjA0Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25N
YXJrL3Rlc3RzL3RleHQvZGVzaWduLmpzCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyhm
dW5jdGlvbigpIHsKKworLy8gVGhlIE1vdGlvbk1hcmstYmFzZWQgVGV4dEJlbmNobWFyayBzaG91
bGQgYWxyZWFkeSBiZSBzZXQgdG8gfHdpbmRvdy5iZW5jaG1hcmtDbGFzc3wKK3ZhciBUZXh0QmVu
Y2htYXJrID0gd2luZG93LmJlbmNobWFya0NsYXNzOwordmFyIFRleHRUZW1wbGF0ZUJlbmNobWFy
ayA9IFV0aWxpdGllcy5jcmVhdGVTdWJjbGFzcyhUZXh0QmVuY2htYXJrLAorICAgIGZ1bmN0aW9u
KG9wdGlvbnMpCisgICAgeworICAgICAgICB2YXIgZGF0YXNldDsKKyAgICAgICAgc3dpdGNoIChv
cHRpb25zWyJjb3JwdXMiXSkgeworICAgICAgICBjYXNlICJsYXRpbiI6CisgICAgICAgICAgICBk
YXRhc2V0ID0gWworICAgICAgICAgICAgICAgICLPg8+Hzq3OtM65zr8iLAorICAgICAgICAgICAg
ICAgICJ1bcSbbsOtIiwKKyAgICAgICAgICAgICAgICAic3V1bm5pdHRlbHUiLAorICAgICAgICAg
ICAgICAgICJkZXNpZ24iLAorICAgICAgICAgICAgICAgICJkZXNlxYQiLAorICAgICAgICAgICAg
ICAgICLQuNGB0LrRg9GB0YHRgtCy0L4iLAorICAgICAgICAgICAgICAgICLQtNC40LfQsNC50L0i
LAorICAgICAgICAgICAgICAgICJjb25jZXB0aW9uIiwKKyAgICAgICAgICAgICAgICAia3Vuc3Qi
LAorICAgICAgICAgICAgICAgICJrb25zdHJ1a3Rpb24iLAorICAgICAgICAgICAgICAgICLPhM6t
z4fOvc63IiwKKyAgICAgICAgICAgICAgICAiZGlzZcOxbyIKKyAgICAgICAgICAgIF07CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAiY2prIjoKKyAgICAgICAgICAgIGRhdGFzZXQg
PSBbCisgICAgICAgICAgICAgICAgIuiuvuiuoSIsCisgICAgICAgICAgICAgICAgIuuUlOyekOyd
uCIsCisgICAgICAgICAgICAgICAgIuODh+OCtuOCpOODsyIsCisgICAgICAgICAgICAgICAgIuOB
jOOBhOOBreOCkyIsCisgICAgICAgICAgICAgICAgIuiXneihkyIsCisgICAgICAgICAgICAgICAg
IuWFu+auliIsCisgICAgICAgICAgICAgICAgIuyYiOyIoCIsCisgICAgICAgICAgICAgICAgIuWx
lemWi+OBmeOCiyIsCisgICAgICAgICAgICAgICAgIuuwnOuLrCIsCisgICAgICAgICAgICAgICAg
IuaKgOihkyIsCisgICAgICAgICAgICAgICAgIumpmuOBjSIsCisgICAgICAgICAgICAgICAgIuS9
v+WQg+aDiiIsCisgICAgICAgICAgICBdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgImFyYWJpYyI6CisgICAgICAgICAgICBkYXRhc2V0ID0gWworICAgICAgICAgICAgICAgIHt0
ZXh0OiAi2KrYtdmF2YrZhSIsIGRpcmVjdGlvbjogInJ0bCJ9LAorICAgICAgICAgICAgICAgICLg
rrXgrp/grr/grrXgrq7gr4jgrqrgr43grqrgr4EiLAorICAgICAgICAgICAgICAgICLgpK/gpYvg
pJzgpKjgpL4iLAorICAgICAgICAgICAgICAgIHt0ZXh0OiAi15zWsNei1rfXpta115EiLCBkaXJl
Y3Rpb246ICJydGwifSwKKyAgICAgICAgICAgICAgICB7dGV4dDogItiu2YTYp9mCIiwgZGlyZWN0
aW9uOiAicnRsIn0sCisgICAgICAgICAgICAgICAgIuC4qOC4tOC4peC4m+C4sCIsCisgICAgICAg
ICAgICAgICAgIuCkleCljOCktuCksiIsCisgICAgICAgICAgICAgICAge3RleHQ6ICLXkNa4157W
uNeg15XWvNeqIiwgZGlyZWN0aW9uOiAicnRsIn0sCisgICAgICAgICAgICAgICAgIuCuleCusuCv
iCIsCisgICAgICAgICAgICAgICAgIuC4lOC4teC5hOC4i+C4meC5jCIsCisgICAgICAgICAgICAg
ICAgIuCmquCmsOCmv+CmleCmsuCnjeCmquCmqOCmviIsCisgICAgICAgICAgICAgICAge3RleHQ6
ICLaiduM2LLYp9uM2YYiLCBkaXJlY3Rpb246ICJydGwifSwKKyAgICAgICAgICAgIF07CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGRhdGFzZXQuZm9yRWFjaChmdW5j
dGlvbihlbnRyeSwgaSkgeworICAgICAgICAgICAgdmFyIHRkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNlbGwiICsgaSk7CisgICAgICAgICAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3Ry
aW5nJykgeworICAgICAgICAgICAgICAgIHRkLmlubmVyVGV4dCA9IGVudHJ5OworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZC5pbm5lclRleHQgPSBlbnRyeS50ZXh0Owor
ICAgICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQoInJ0bCIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9KQorCisgICAgICAgIFRleHRCZW5jaG1hcmsuY2FsbCh0aGlzLCBvcHRpb25zKTsK
KyAgICB9CispOworCit3aW5kb3cuYmVuY2htYXJrQ2xhc3MgPSBUZXh0VGVtcGxhdGVCZW5jaG1h
cms7CisKK30pKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325927</attachid>
            <date>2017-11-03 11:40:53 -0700</date>
            <delta_ts>2017-11-12 22:54:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179226-20171103114052.patch</filename>
            <type>text/plain</type>
            <size>38577</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDAzCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFiMjA1OWFlNDRl
MWEzYmE0ODAyYmM3ZmYxOTE5ODkyNTFmYzlhNzcuLmI1ZTU5YmYxZTlhMzMwZTljYzRkYjNiMzI1
MjQ2ZTQxNGVmYWU3ODMgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTctMTEt
MDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBpc29sYXRlZCB0
ZXh0IHRlc3RzIGZvciBNb3Rpb25NYXJrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBwcml2YXRlIHN1aXRlIHRoYXQgc2ltcGxpZmllcyB0aGUg
ZGVzaWduIHRlc3QuCisKKyAgICAgICAgKiBNb3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5u
ZXIvdGVzdHMuanM6CisgICAgICAgICogTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL3Rlc3Rz
LmpzOgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rlc2lnbi5odG1sOiBDb3Bp
ZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3RleHQuaHRt
bC4KKyAgICAgICAgUmVuYW1lIHRoZSBodG1sIGZpbGUgdG8gdGhlIHRpdGxlIG9mIHRoZSB0ZXN0
LgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy9kZXNpZ24uanM6
IFJlbmFtZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jl
c291cmNlcy90ZXh0LmpzLgorICAgICAgICAqIE1vdGlvbk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24t
Ni5odG1sOiBDb3BpZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFz
dGVyL3RleHQuaHRtbC4KKyAgICAgICAgU2l4IGFjdGl2ZSBjZWxscworICAgICAgICAqIE1vdGlv
bk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24tNi5qczogQWRkZWQuCisgICAgICAgICogTW90aW9uTWFy
ay90ZXN0cy90ZXh0L2Rlc2lnbi5odG1sOiBSZW5hbWVkIGZyb20gUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Rlc3RzL21hc3Rlci90ZXh0Lmh0bWwuCisgICAgICAgIFJlcGxhY2UgdGhlIHRl
eHQgd2l0aCBlbXB0eSB0YWJsZSBjZWxscyB0aGF0IGFyZSBwb3B1bGF0ZWQgd2l0aCBkZXNpcmVk
IHRleHQuCisgICAgICAgICogTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5qczogQWRkZWQu
CisKKzIwMTctMTEtMDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFk
ZCBsaWNlbnNlIGZvciBNb3Rpb25NYXJrCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyMjIKIApkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9N
b3Rpb25NYXJrL3Jlc291cmNlcy9kZWJ1Zy1ydW5uZXIvdGVzdHMuanMgYi9QZXJmb3JtYW5jZVRl
c3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcwppbmRleCAwNzVi
N2RlNTQ2YWQ1MzM2NWNhNzFmZWYwYmQyMTJlMzZjZWIwMGU4Li5kNzcwNDAwNWQyMTM2ZjUyNDU3
Zjk4YjRkZGQ2YjAwY2U5MzI2ZDJhIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlv
bk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcworKysgYi9QZXJmb3JtYW5jZVRl
c3RzL01vdGlvbk1hcmsvcmVzb3VyY2VzL2RlYnVnLXJ1bm5lci90ZXN0cy5qcwpAQCAtMjY2LDYg
KzI2NiwzNSBAQCBTdWl0ZXMucHVzaChuZXcgU3VpdGUoIlNWRyBzdWl0ZSIsCiAgICAgXQogKSk7
CiAKK1N1aXRlcy5wdXNoKG5ldyBTdWl0ZSgiVGV4dCBzdWl0ZSIsCisgICAgWworICAgICAgICB7
CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi5odG1sP2NvcnB1cz1sYXRpbiIsCisgICAg
ICAgICAgICBuYW1lOiAiRGVzaWduOiBMYXRpbiBvbmx5ICgxMiBpdGVtcykiCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVybDogInRleHQvZGVzaWduLmh0bWw/Y29ycHVzPWNq
ayIsCisgICAgICAgICAgICBuYW1lOiAiRGVzaWduOiBDSksgb25seSAoMTIgaXRlbXMpIgorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi5odG1sP2Nv
cnB1cz1hcmFiaWMiLAorICAgICAgICAgICAgbmFtZTogIkRlc2lnbjogUlRMIGFuZCBjb21wbGV4
IHNjcmlwdHMgb25seSAoMTIgaXRlbXMpIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAg
ICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi02Lmh0bWw/Y29ycHVzPWxhdGluIiwKKyAgICAgICAgICAg
IG5hbWU6ICJEZXNpZ246IExhdGluIG9ubHkgKDYgaXRlbXMpIgorICAgICAgICB9LAorICAgICAg
ICB7CisgICAgICAgICAgICB1cmw6ICJ0ZXh0L2Rlc2lnbi02Lmh0bWw/Y29ycHVzPWNqayIsCisg
ICAgICAgICAgICBuYW1lOiAiRGVzaWduOiBDSksgb25seSAoNiBpdGVtcykiCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVybDogInRleHQvZGVzaWduLTYuaHRtbD9jb3JwdXM9
YXJhYmljIiwKKyAgICAgICAgICAgIG5hbWU6ICJEZXNpZ246IFJUTCBhbmQgY29tcGxleCBzY3Jp
cHRzIG9ubHkgKDYgaXRlbXMpIgorICAgICAgICB9LAorICAgIF0KKykpOworCiBTdWl0ZXMucHVz
aChuZXcgU3VpdGUoIjNEIEdyYXBoaWNzIiwKICAgICBbCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay9yZXNvdXJjZXMvcnVubmVyL3Rlc3RzLmpzIGIv
UGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKaW5k
ZXggNmI2YmU4OGEzMjQ3YTM2NGYzOTRjN2FhMjNjMTMzNjI4MWJjZTU2YS4uMWFiNzIxMTAzZWFi
MmNkYWYyNzIyOWQwMDM0ZTAwNzcxMDU0ZWUxOCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Jlc291cmNlcy9ydW5uZXIvdGVzdHMuanMKQEAgLTYwLDcgKzYwLDcg
QEAgU3VpdGVzLnB1c2gobmV3IFN1aXRlKCJNb3Rpb25NYXJrIiwKICAgICAgICAgICAgIG5hbWU6
ICJJbWFnZXMiCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgIHVybDogIm1hc3Rl
ci90ZXh0Lmh0bWwiLAorICAgICAgICAgICAgdXJsOiAibWFzdGVyL2Rlc2lnbi5odG1sIiwKICAg
ICAgICAgICAgIG5hbWU6ICJEZXNpZ24iCiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy9tYXN0ZXIvZGVzaWduLmh0bWwg
Yi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rlc2lnbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE4MjQ2YTMwODQ5Mzg0ODk2NjExNDVkNGMyNTYyMTFlYjM2YjAwYzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL2Rl
c2lnbi5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IS0tCisgIENvcHlyaWdodCAoQykgMjAxNS0y
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgIGFyZSBtZXQ6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgorICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIGZvbnQtZmFt
aWx5OiBIZWx2ZXRpY2E7CisgICAgICAgICAgICBmb250LXNpemU6IDUycHg7CisgICAgICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzNTM0OworICAgICAgICB9CisgICAgICAgIEBtZWRpYSAo
bWF4LXdpZHRoOiA5MDBweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgICAg
ICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgQG1l
ZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAgICAgICAg
ICAgICAgIGZvbnQtc2l6ZTogMjhweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAg
ICAgICNzdGFnZSBkaXYgeworICAgICAgICAgICAgd2lkdGg6IDgwJTsKKyAgICAgICAgICAgIGhl
aWdodDogOTAlOworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAg
dGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICB9CisgICAgICAgICN0ZW1wbGF0ZSB7CisgICAg
ICAgICAgICBjb2xvcjogI0ZDRkNGQzsKKyAgICAgICAgfQorICAgICAgICB0YWJsZSB7CisgICAg
ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICB0ZCB7CisgICAgICAg
ICAgICB3aWR0aDogMzMlOworICAgICAgICB9CisgICAgICAgIHRyIHsKKyAgICAgICAgICAgIGhl
aWdodDogMjAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9InN0YWdlIj4KKyAgICAgICAgPGRpdiBpZD0idGVtcGxhdGUiPgorICAgICAgICAg
ICAgPHRhYmxlPgorICAgICAgICAgICAgICAgIDx0Ym9keT4KKyAgICAgICAgICAgICAgICAgICAg
PHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPs+Dz4fOrc60zrnOvzwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQ+6K6+6K6hPC90ZD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIDx0ZD5zdXVubml0dGVsdTwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAg
ICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5kZXNpZ248
L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPtC00LjQt9Cw0LnQvTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InJ0bCI+2KrYtdmF2YrZhTwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIDx0ZD7rlJTsnpDsnbg8L3RkPgorICAgICAgICAgICAgICAgICAgICAg
ICAgPHRkPmNvbmNlcHRpb248L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPuODh+OC
tuOCpOODszwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAg
ICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5rb25zdHJ1a3Rpb248L3RkPgor
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJydGwiPtei15nXpteV15E8L3RkPgor
ICAgICAgICAgICAgICAgICAgICAgICAgPHRkPmRpc2XDsW88L3RkPgorICAgICAgICAgICAgICAg
ICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxl
PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9zdGF0aXN0aWNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL21hdGguanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
bWFpbi5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9kZXNpZ24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0
cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzIGIvUGVyZm9ybWFu
Y2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkxYzY5Njg4YzY1MzM5N2I2YmEzOGFhMDc0NTRjMDA0ZDczMmNhMzUKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291
cmNlcy9kZXNpZ24uanMKQEAgLTAsMCArMSwxNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisoZnVuY3Rp
b24oKSB7CisKK3ZhciBUZXh0U3RhZ2UgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoU3RhZ2Us
CisgICAgZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgU3RhZ2UuY2FsbCh0aGlzKTsKKworICAg
ICAgICB0aGlzLnRlc3RFbGVtZW50cyA9IFtdOworICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9
IDA7CisgICAgfSwgeworCisgICAgc2hhZG93RmFsbG9mZjogbmV3IFVuaXRCZXppZXIobmV3IFBv
aW50KDAuMDE1LCAwLjc1MCksIG5ldyBQb2ludCgwLjc1NSwgMC4yMzUpKSwKKyAgICBzaGltbWVy
QXZlcmFnZTogMCwKKyAgICBzaGltbWVyTWF4OiAwLjUsCisgICAgbWlsbGlzZWNvbmRzUGVyUm90
YXRpb246IDEwMDAgLyAoLjI2ICogTWF0aC5QSSAqIDIpLAorICAgIHBhcnRpY2xlRGlzdGFuY2VY
OiAxLjUsCisgICAgcGFydGljbGVEaXN0YW5jZVk6IC41LAorICAgIGxpZ2h0bmVzc01pbjogMTMs
CisgICAgbGlnaHRuZXNzTWF4OiA5NCwKKyAgICBncmFkaWVudHM6IFsKKyAgICAgICAgWzEwLCAx
NzYsIDE3NiwgMjA5LCAxNDgsIDE0MF0sCisgICAgICAgIFsxNzEsIDEyMCwgMTU0LCAyNDUsIDE5
NiwgMTU0XSwKKyAgICAgICAgWzIyNCwgOTksIDk5LCA3MSwgMTM0LCAxNDhdLAorICAgICAgICBb
MTAxLCAxMDAsIDExNywgODAsIDIzMCwgMTc1XSwKKyAgICAgICAgWzIzMiwgMTY1LCAzMCwgNjks
IDE4NiwgMTcyXQorICAgIF0sCisKKyAgICBpbml0aWFsaXplOiBmdW5jdGlvbihiZW5jaG1hcmsp
CisgICAgeworICAgICAgICBTdGFnZS5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsIGJl
bmNobWFyayk7CisKKyAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVtcGxhdGUiKTsKKyAgICAgICAgdGhpcy5fb2Zmc2V0ID0gdGhpcy5zaXplLnN1YnRy
YWN0KFBvaW50LmVsZW1lbnRDbGllbnRTaXplKHRoaXMuX3RlbXBsYXRlKSkubXVsdGlwbHkoLjUp
OworICAgICAgICB0aGlzLl90ZW1wbGF0ZS5zdHlsZS5sZWZ0ID0gdGhpcy5fb2Zmc2V0LndpZHRo
ICsgInB4IjsKKyAgICAgICAgdGhpcy5fdGVtcGxhdGUuc3R5bGUudG9wID0gdGhpcy5fb2Zmc2V0
LmhlaWdodCArICJweCI7CisKKyAgICAgICAgdGhpcy5fc3RlcFByb2dyZXNzID0gMDsKKyAgICB9
LAorCisgICAgdHVuZTogZnVuY3Rpb24oY291bnQpCisgICAgeworICAgICAgICBpZiAoY291bnQg
PT0gMCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoY291bnQgPCAwKSB7Cisg
ICAgICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IE1hdGgubWF4KHRoaXMuX29mZnNldEluZGV4
ICsgY291bnQsIDApOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX29mZnNldEluZGV4
OyBpIDwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgdGhp
cy50ZXN0RWxlbWVudHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworCisgICAgICAg
ICAgICB0aGlzLl9zdGVwUHJvZ3Jlc3MgPSAxIC8gdGhpcy5fb2Zmc2V0SW5kZXg7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IHRo
aXMuX29mZnNldEluZGV4ICsgY291bnQ7CisgICAgICAgIHRoaXMuX3N0ZXBQcm9ncmVzcyA9IDEg
LyB0aGlzLl9vZmZzZXRJbmRleDsKKworICAgICAgICB2YXIgaW5kZXggPSBNYXRoLm1pbih0aGlz
Ll9vZmZzZXRJbmRleCwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKTsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBpbmRleDsgKytpKQorICAgICAgICAgICAgdGhpcy50ZXN0RWxlbWVudHNb
aV0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKKworICAgICAgICBpZiAodGhpcy5fb2Zm
c2V0SW5kZXggPD0gdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRlc3RFbGVtZW50cy5sZW5ndGg7IGkgPCB0
aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7CisgICAgICAgICAgICB2YXIgY2xvbmUgPSB0aGlzLl90
ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB0aGlzLnRlc3RFbGVtZW50cy5w
dXNoKGNsb25lKTsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUoY2xvbmUs
IHRoaXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBhbmlt
YXRlOiBmdW5jdGlvbih0aW1lRGVsdGEpIHsKKyAgICAgICAgdmFyIGFuZ2xlID0gU3RhZ2UuZGF0
ZUNvdW50ZXJWYWx1ZSh0aGlzLm1pbGxpc2Vjb25kc1BlclJvdGF0aW9uKTsKKworICAgICAgICB2
YXIgcHJvZ3Jlc3MgPSAwOworICAgICAgICB2YXIgc3RlcFggPSBNYXRoLnNpbihhbmdsZSkgKiB0
aGlzLnBhcnRpY2xlRGlzdGFuY2VYOworICAgICAgICB2YXIgc3RlcFkgPSBNYXRoLmNvcyhhbmds
ZSkgKiB0aGlzLnBhcnRpY2xlRGlzdGFuY2VZOworICAgICAgICB2YXIgeCA9IC1zdGVwWCAqIDM7
CisgICAgICAgIHZhciB5ID0gLXN0ZXBZICogMzsKKyAgICAgICAgdmFyIGdyYWRpZW50ID0gdGhp
cy5ncmFkaWVudHNbTWF0aC5mbG9vcihhbmdsZS8oTWF0aC5QSSAqIDIpKSAlIHRoaXMuZ3JhZGll
bnRzLmxlbmd0aF07CisgICAgICAgIHZhciBvZmZzZXQgPSBTdGFnZS5kYXRlQ291bnRlclZhbHVl
KDIwMCk7CisgICAgICAgIHRoaXMuX3RlbXBsYXRlLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xh
dGUoIiArIE1hdGguZmxvb3IoeCkgKyAicHgsIiArIE1hdGguZmxvb3IoeSkgKyAicHgpIjsKKyAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7CisgICAg
ICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMudGVzdEVsZW1lbnRzW2ldOworCisgICAgICAgICAg
ICB2YXIgY29sb3JQcm9ncmVzcyA9IHRoaXMuc2hhZG93RmFsbG9mZi5zb2x2ZShwcm9ncmVzcyk7
CisgICAgICAgICAgICB2YXIgc2hpbW1lciA9IE1hdGguc2luKG9mZnNldCAtIGNvbG9yUHJvZ3Jl
c3MpOworICAgICAgICAgICAgY29sb3JQcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKGNvbG9y
UHJvZ3Jlc3MgKyBVdGlsaXRpZXMubGVycChzaGltbWVyLCB0aGlzLnNoaW1tZXJBdmVyYWdlLCB0
aGlzLnNoaW1tZXJNYXgpLCAxKSwgMCk7CisgICAgICAgICAgICB2YXIgciA9IE1hdGgucm91bmQo
VXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMF0sIGdyYWRpZW50WzNdKSk7
CisgICAgICAgICAgICB2YXIgZyA9IE1hdGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9n
cmVzcywgZ3JhZGllbnRbMV0sIGdyYWRpZW50WzRdKSk7CisgICAgICAgICAgICB2YXIgYiA9IE1h
dGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMl0sIGdyYWRp
ZW50WzVdKSk7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gInJnYigiICsgciAr
ICIsIiArIGcgKyAiLCIgKyBiICsgIikiOworCisgICAgICAgICAgICB4ICs9IHN0ZXBYOworICAg
ICAgICAgICAgeSArPSBzdGVwWTsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNmb3Jt
ID0gInRyYW5zbGF0ZSgiICsgTWF0aC5mbG9vcih4KSArICJweCwiICsgTWF0aC5mbG9vcih5KSAr
ICJweCkiOworCisgICAgICAgICAgICBwcm9ncmVzcyArPSB0aGlzLl9zdGVwUHJvZ3Jlc3M7Cisg
ICAgICAgIH0KKyAgICB9LAorCisgICAgY29tcGxleGl0eTogZnVuY3Rpb24oKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIDEgKyB0aGlzLl9vZmZzZXRJbmRleDsKKyAgICB9Cit9KTsKKwordmFyIFRl
eHRCZW5jaG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoQmVuY2htYXJrLAorICAgIGZ1
bmN0aW9uKG9wdGlvbnMpCisgICAgeworICAgICAgICBCZW5jaG1hcmsuY2FsbCh0aGlzLCBuZXcg
VGV4dFN0YWdlKCksIG9wdGlvbnMpOworICAgIH0KKyk7CisKK3dpbmRvdy5iZW5jaG1hcmtDbGFz
cyA9IFRleHRCZW5jaG1hcms7CisKK30oKSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy90ZXh0LmpzIGIvUGVyZm9ybWFuY2VU
ZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL21hc3Rlci9yZXNvdXJjZXMvdGV4dC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOTFjNjk2ODhjNjUzMzk3YjZiYTM4YWEwNzQ1NGMwMDRkNzMy
Y2EzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9QZXJm
b3JtYW5jZVRlc3RzL01vdGlvbk1hcmsvdGVzdHMvbWFzdGVyL3Jlc291cmNlcy90ZXh0LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMTQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUt
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0oZnVuY3Rpb24o
KSB7Ci0KLXZhciBUZXh0U3RhZ2UgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoU3RhZ2UsCi0g
ICAgZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgU3RhZ2UuY2FsbCh0aGlzKTsKLQotICAgICAg
ICB0aGlzLnRlc3RFbGVtZW50cyA9IFtdOwotICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IDA7
Ci0gICAgfSwgewotCi0gICAgc2hhZG93RmFsbG9mZjogbmV3IFVuaXRCZXppZXIobmV3IFBvaW50
KDAuMDE1LCAwLjc1MCksIG5ldyBQb2ludCgwLjc1NSwgMC4yMzUpKSwKLSAgICBzaGltbWVyQXZl
cmFnZTogMCwKLSAgICBzaGltbWVyTWF4OiAwLjUsCi0gICAgbWlsbGlzZWNvbmRzUGVyUm90YXRp
b246IDEwMDAgLyAoLjI2ICogTWF0aC5QSSAqIDIpLAotICAgIHBhcnRpY2xlRGlzdGFuY2VYOiAx
LjUsCi0gICAgcGFydGljbGVEaXN0YW5jZVk6IC41LAotICAgIGxpZ2h0bmVzc01pbjogMTMsCi0g
ICAgbGlnaHRuZXNzTWF4OiA5NCwKLSAgICBncmFkaWVudHM6IFsKLSAgICAgICAgWzEwLCAxNzYs
IDE3NiwgMjA5LCAxNDgsIDE0MF0sCi0gICAgICAgIFsxNzEsIDEyMCwgMTU0LCAyNDUsIDE5Niwg
MTU0XSwKLSAgICAgICAgWzIyNCwgOTksIDk5LCA3MSwgMTM0LCAxNDhdLAotICAgICAgICBbMTAx
LCAxMDAsIDExNywgODAsIDIzMCwgMTc1XSwKLSAgICAgICAgWzIzMiwgMTY1LCAzMCwgNjksIDE4
NiwgMTcyXQotICAgIF0sCi0KLSAgICBpbml0aWFsaXplOiBmdW5jdGlvbihiZW5jaG1hcmspCi0g
ICAgewotICAgICAgICBTdGFnZS5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsIGJlbmNo
bWFyayk7Ci0KLSAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVtcGxhdGUiKTsKLSAgICAgICAgdGhpcy5fb2Zmc2V0ID0gdGhpcy5zaXplLnN1YnRyYWN0
KFBvaW50LmVsZW1lbnRDbGllbnRTaXplKHRoaXMuX3RlbXBsYXRlKSkubXVsdGlwbHkoLjUpOwot
ICAgICAgICB0aGlzLl90ZW1wbGF0ZS5zdHlsZS5sZWZ0ID0gdGhpcy5fb2Zmc2V0LndpZHRoICsg
InB4IjsKLSAgICAgICAgdGhpcy5fdGVtcGxhdGUuc3R5bGUudG9wID0gdGhpcy5fb2Zmc2V0Lmhl
aWdodCArICJweCI7Ci0KLSAgICAgICAgdGhpcy5fc3RlcFByb2dyZXNzID0gMDsKLSAgICB9LAot
Ci0gICAgdHVuZTogZnVuY3Rpb24oY291bnQpCi0gICAgewotICAgICAgICBpZiAoY291bnQgPT0g
MCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBpZiAoY291bnQgPCAwKSB7Ci0gICAg
ICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IE1hdGgubWF4KHRoaXMuX29mZnNldEluZGV4ICsg
Y291bnQsIDApOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX29mZnNldEluZGV4OyBp
IDwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgdGhpcy50
ZXN0RWxlbWVudHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwotCi0gICAgICAgICAg
ICB0aGlzLl9zdGVwUHJvZ3Jlc3MgPSAxIC8gdGhpcy5fb2Zmc2V0SW5kZXg7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl9vZmZzZXRJbmRleCA9IHRoaXMu
X29mZnNldEluZGV4ICsgY291bnQ7Ci0gICAgICAgIHRoaXMuX3N0ZXBQcm9ncmVzcyA9IDEgLyB0
aGlzLl9vZmZzZXRJbmRleDsKLQotICAgICAgICB2YXIgaW5kZXggPSBNYXRoLm1pbih0aGlzLl9v
ZmZzZXRJbmRleCwgdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKTsKLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbmRleDsgKytpKQotICAgICAgICAgICAgdGhpcy50ZXN0RWxlbWVudHNbaV0u
c3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKLQotICAgICAgICBpZiAodGhpcy5fb2Zmc2V0
SW5kZXggPD0gdGhpcy50ZXN0RWxlbWVudHMubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRlc3RFbGVtZW50cy5sZW5ndGg7IGkgPCB0aGlz
Ll9vZmZzZXRJbmRleDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgY2xvbmUgPSB0aGlzLl90ZW1w
bGF0ZS5jbG9uZU5vZGUodHJ1ZSk7Ci0gICAgICAgICAgICB0aGlzLnRlc3RFbGVtZW50cy5wdXNo
KGNsb25lKTsKLSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUoY2xvbmUsIHRo
aXMuZWxlbWVudC5maXJzdENoaWxkKTsKLSAgICAgICAgfQotICAgIH0sCi0KLSAgICBhbmltYXRl
OiBmdW5jdGlvbih0aW1lRGVsdGEpIHsKLSAgICAgICAgdmFyIGFuZ2xlID0gU3RhZ2UuZGF0ZUNv
dW50ZXJWYWx1ZSh0aGlzLm1pbGxpc2Vjb25kc1BlclJvdGF0aW9uKTsKLQotICAgICAgICB2YXIg
cHJvZ3Jlc3MgPSAwOwotICAgICAgICB2YXIgc3RlcFggPSBNYXRoLnNpbihhbmdsZSkgKiB0aGlz
LnBhcnRpY2xlRGlzdGFuY2VYOwotICAgICAgICB2YXIgc3RlcFkgPSBNYXRoLmNvcyhhbmdsZSkg
KiB0aGlzLnBhcnRpY2xlRGlzdGFuY2VZOwotICAgICAgICB2YXIgeCA9IC1zdGVwWCAqIDM7Ci0g
ICAgICAgIHZhciB5ID0gLXN0ZXBZICogMzsKLSAgICAgICAgdmFyIGdyYWRpZW50ID0gdGhpcy5n
cmFkaWVudHNbTWF0aC5mbG9vcihhbmdsZS8oTWF0aC5QSSAqIDIpKSAlIHRoaXMuZ3JhZGllbnRz
Lmxlbmd0aF07Ci0gICAgICAgIHZhciBvZmZzZXQgPSBTdGFnZS5kYXRlQ291bnRlclZhbHVlKDIw
MCk7Ci0gICAgICAgIHRoaXMuX3RlbXBsYXRlLnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xhdGUo
IiArIE1hdGguZmxvb3IoeCkgKyAicHgsIiArIE1hdGguZmxvb3IoeSkgKyAicHgpIjsKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9vZmZzZXRJbmRleDsgKytpKSB7Ci0gICAgICAg
ICAgICB2YXIgZWxlbWVudCA9IHRoaXMudGVzdEVsZW1lbnRzW2ldOwotCi0gICAgICAgICAgICB2
YXIgY29sb3JQcm9ncmVzcyA9IHRoaXMuc2hhZG93RmFsbG9mZi5zb2x2ZShwcm9ncmVzcyk7Ci0g
ICAgICAgICAgICB2YXIgc2hpbW1lciA9IE1hdGguc2luKG9mZnNldCAtIGNvbG9yUHJvZ3Jlc3Mp
OwotICAgICAgICAgICAgY29sb3JQcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKGNvbG9yUHJv
Z3Jlc3MgKyBVdGlsaXRpZXMubGVycChzaGltbWVyLCB0aGlzLnNoaW1tZXJBdmVyYWdlLCB0aGlz
LnNoaW1tZXJNYXgpLCAxKSwgMCk7Ci0gICAgICAgICAgICB2YXIgciA9IE1hdGgucm91bmQoVXRp
bGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMF0sIGdyYWRpZW50WzNdKSk7Ci0g
ICAgICAgICAgICB2YXIgZyA9IE1hdGgucm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVz
cywgZ3JhZGllbnRbMV0sIGdyYWRpZW50WzRdKSk7Ci0gICAgICAgICAgICB2YXIgYiA9IE1hdGgu
cm91bmQoVXRpbGl0aWVzLmxlcnAoY29sb3JQcm9ncmVzcywgZ3JhZGllbnRbMl0sIGdyYWRpZW50
WzVdKSk7Ci0gICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gInJnYigiICsgciArICIs
IiArIGcgKyAiLCIgKyBiICsgIikiOwotCi0gICAgICAgICAgICB4ICs9IHN0ZXBYOwotICAgICAg
ICAgICAgeSArPSBzdGVwWTsKLSAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0g
InRyYW5zbGF0ZSgiICsgTWF0aC5mbG9vcih4KSArICJweCwiICsgTWF0aC5mbG9vcih5KSArICJw
eCkiOwotCi0gICAgICAgICAgICBwcm9ncmVzcyArPSB0aGlzLl9zdGVwUHJvZ3Jlc3M7Ci0gICAg
ICAgIH0KLSAgICB9LAotCi0gICAgY29tcGxleGl0eTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIDEgKyB0aGlzLl9vZmZzZXRJbmRleDsKLSAgICB9Ci19KTsKLQotdmFyIFRleHRC
ZW5jaG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoQmVuY2htYXJrLAotICAgIGZ1bmN0
aW9uKG9wdGlvbnMpCi0gICAgewotICAgICAgICBCZW5jaG1hcmsuY2FsbCh0aGlzLCBuZXcgVGV4
dFN0YWdlKCksIG9wdGlvbnMpOwotICAgIH0KLSk7Ci0KLXdpbmRvdy5iZW5jaG1hcmtDbGFzcyA9
IFRleHRCZW5jaG1hcms7Ci0KLX0oKSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01v
dGlvbk1hcmsvdGVzdHMvbWFzdGVyL3RleHQuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9u
TWFyay90ZXN0cy9tYXN0ZXIvdGV4dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzNmMwYTk5ODEwYjU2OWFlZjA2M2ViMTgxNGM0NTQ5ZTlkMThiZDcxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9u
TWFyay90ZXN0cy9tYXN0ZXIvdGV4dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAg
QEAKLTwhLS0KLSAgQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotCi0gIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAgYXJlIG1ldDoKLSAgMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0KLSAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAgQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0tLT4KLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVz
b3VyY2VzL3N0YWdlLmNzcyI+Ci0gICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLQotICAgICAg
ICAjc3RhZ2UgewotICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYTsKLSAgICAgICAg
ICAgIGZvbnQtc2l6ZTogNTJweDsKLSAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM1
MzQ7Ci0gICAgICAgIH0KLSAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7Ci0gICAg
ICAgICAgICAjc3RhZ2UgewotICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHsK
LSAgICAgICAgICAgICNzdGFnZSB7Ci0gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4Owot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgI3N0YWdlIGRpdiB7Ci0gICAgICAg
ICAgICB3aWR0aDogODAlOwotICAgICAgICAgICAgaGVpZ2h0OiA5MCU7Ci0gICAgICAgICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gICAg
ICAgIH0KLSAgICAgICAgI3RlbXBsYXRlIHsKLSAgICAgICAgICAgIGNvbG9yOiAjRkNGQ0ZDOwot
ICAgICAgICB9Ci0gICAgICAgIHRhYmxlIHsKLSAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2
ZTsKLSAgICAgICAgICAgIHdpZHRoOiAxMDAlOwotICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwot
ICAgICAgICB9Ci0gICAgICAgIHRkIHsKLSAgICAgICAgICAgIHdpZHRoOiAzMyU7Ci0gICAgICAg
IH0KLSAgICAgICAgdHIgewotICAgICAgICAgICAgaGVpZ2h0OiAyMCU7Ci0gICAgICAgIH0KLSAg
ICA8L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGRpdiBpZD0ic3RhZ2UiPgotICAgICAg
ICA8ZGl2IGlkPSJ0ZW1wbGF0ZSI+Ci0gICAgICAgICAgICA8dGFibGU+Ci0gICAgICAgICAgICAg
ICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICA8dHI+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICA8dGQ+z4PPh86tzrTOuc6/PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD7o
rr7orqE8L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnN1dW5uaXR0ZWx1PC90ZD4K
LSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAg
ICAgICAgICAgICAgICAgICAgICAgPHRkPmRlc2lnbjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICA8dGQ+0LTQuNC30LDQudC9PC90ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBj
bGFzcz0icnRsIj7Yqti12YXZitmFPC90ZD4KLSAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAg
ICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkPuuUlOye
kOyduDwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Y29uY2VwdGlvbjwvdGQ+Ci0g
ICAgICAgICAgICAgICAgICAgICAgICA8dGQ+44OH44K244Kk44OzPC90ZD4KLSAgICAgICAgICAg
ICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgPHRyPgotICAgICAgICAgICAgICAg
ICAgICAgICAgPHRkPmtvbnN0cnVrdGlvbjwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8
dGQgY2xhc3M9InJ0bCI+16LXmdem15XXkTwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8
dGQ+ZGlzZcOxbzwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgICAg
ICAgPC90Ym9keT4KLSAgICAgICAgICAgIDwvdGFibGU+Ci0gICAgICAgIDwvZGl2PgotICAgIDwv
ZGl2PgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0YXRpc3RpY3MuanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYWluLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RleHQuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL3RleHQvZGVz
aWduLTYuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2ln
bi02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJkYThkY2EwNTgwMmQwNjk1NTY4NDg5MGI5NTQ0MTFjMjFj
ODllZQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0
cy90ZXh0L2Rlc2lnbi02Lmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhLS0KKyAgQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgIGFyZSBtZXQ6CisgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgorICAgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisKKyAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgIGZv
bnQtZmFtaWx5OiBIZWx2ZXRpY2E7CisgICAgICAgICAgICBmb250LXNpemU6IDUycHg7CisgICAg
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDIyRTJDOworICAgICAgICB9CisgICAgICAgIEBt
ZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAg
ICAgICAgICBmb250LXNpemU6IDQwcHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7CisgICAgICAgICAgICAjc3RhZ2UgeworICAg
ICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
CisgICAgICAgICNzdGFnZSBkaXYgeworICAgICAgICAgICAgd2lkdGg6IDgwJTsKKyAgICAgICAg
ICAgIGhlaWdodDogOTAlOworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICAgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgICAgICB9CisgICAgICAgICN0ZW1wbGF0ZSB7
CisgICAgICAgICAgICBjb2xvcjogI0ZDRkNGQzsKKyAgICAgICAgfQorICAgICAgICB0YWJsZSB7
CisgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICAgICAgICB3aWR0aDogMTAw
JTsKKyAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICB0ZCB7Cisg
ICAgICAgICAgICB3aWR0aDogMjUlOworICAgICAgICB9CisgICAgICAgIHRyIHsKKyAgICAgICAg
ICAgIGhlaWdodDogMjAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxkaXYgaWQ9InN0YWdlIj4KKyAgICAgICAgPGRpdiBpZD0idGVtcGxhdGUiPgorICAg
ICAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgICAgIDx0Ym9keT4KKyAgICAgICAgICAgICAg
ICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3Rk
PgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgICAgICAgICAg
IDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsMCI+PC90ZD4K
KyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDEiPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAg
ICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+Cisg
ICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwyIj48L3RkPgorICAgICAgICAgICAg
ICAgICAgICAgICAgPHRkIGlkPSJjZWxsMyI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAg
ICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZCBpZD0iY2VsbDQiPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8
dGQgaWQ9ImNlbGw1Ij48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+Cisg
ICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRk
PjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAg
ICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdGF0aXN0aWNzLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hdGguanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWFpbi5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iZGVzaWduLTYuanMiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFy
ay90ZXN0cy90ZXh0L2Rlc2lnbi02LmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Rl
c3RzL3RleHQvZGVzaWduLTYuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQwMTY1NzlhZWVhNzk1M2EyN2I1NzZm
OTI5NTVhNDMwNjRkZTg4NwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90
aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi02LmpzCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworKGZ1bmN0aW9uKCkgeworCisvLyBUaGUgTW90aW9uTWFyay1iYXNlZCBUZXh0QmVuY2htYXJr
IHNob3VsZCBhbHJlYWR5IGJlIHNldCB0byB8d2luZG93LmJlbmNobWFya0NsYXNzfAordmFyIFRl
eHRCZW5jaG1hcmsgPSB3aW5kb3cuYmVuY2htYXJrQ2xhc3M7Cit2YXIgVGV4dFRlbXBsYXRlQmVu
Y2htYXJrID0gVXRpbGl0aWVzLmNyZWF0ZVN1YmNsYXNzKFRleHRCZW5jaG1hcmssCisgICAgZnVu
Y3Rpb24ob3B0aW9ucykKKyAgICB7CisgICAgICAgIHZhciBkYXRhc2V0OworICAgICAgICBzd2l0
Y2ggKG9wdGlvbnNbImNvcnB1cyJdKSB7CisgICAgICAgIGNhc2UgImxhdGluIjoKKyAgICAgICAg
ICAgIGRhdGFzZXQgPSBbCisgICAgICAgICAgICAgICAgIs+Dz4fOrc60zrnOvyIsCisgICAgICAg
ICAgICAgICAgInVtxJtuw60iLAorICAgICAgICAgICAgICAgICJkZXNpZ24iLAorICAgICAgICAg
ICAgICAgICLQuNGB0LrRg9GB0YHRgtCy0L4iLAorICAgICAgICAgICAgICAgICJjb25jZXB0aW9u
IiwKKyAgICAgICAgICAgICAgICAiZGlzZcOxbyIKKyAgICAgICAgICAgIF07CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSAiY2prIjoKKyAgICAgICAgICAgIGRhdGFzZXQgPSBbCisg
ICAgICAgICAgICAgICAgIuiuvuiuoSIsCisgICAgICAgICAgICAgICAgIuuUlOyekOyduCIsCisg
ICAgICAgICAgICAgICAgIuODh+OCtuOCpOODsyIsCisgICAgICAgICAgICAgICAgIuyYiOyIoCIs
CisgICAgICAgICAgICAgICAgIuS9v+WQg+aDiiIsCisgICAgICAgICAgICAgICAgIuOBjOOBhOOB
reOCkyIsCisgICAgICAgICAgICBdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
ImFyYWJpYyI6CisgICAgICAgICAgICBkYXRhc2V0ID0gWworICAgICAgICAgICAgICAgIHt0ZXh0
OiAi2KrYtdmF2YrZhSIsIGRpcmVjdGlvbjogInJ0bCJ9LAorICAgICAgICAgICAgICAgICLgrrXg
rp/grr/grrXgrq7gr4jgrqrgr43grqrgr4EiLAorICAgICAgICAgICAgICAgICLgpK/gpYvgpJzg
pKjgpL4iLAorICAgICAgICAgICAgICAgIHt0ZXh0OiAi15zWsNei1rfXpta115EiLCBkaXJlY3Rp
b246ICJydGwifSwKKyAgICAgICAgICAgICAgICB7dGV4dDogItiu2YTYp9mCIiwgZGlyZWN0aW9u
OiAicnRsIn0sCisgICAgICAgICAgICAgICAgIuC4qOC4tOC4peC4m+C4sCIsCisgICAgICAgICAg
ICBdOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkYXRhc2V0LmZv
ckVhY2goZnVuY3Rpb24oZW50cnksIGkpIHsKKyAgICAgICAgICAgIHZhciB0ZCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjZWxsIiArIGkpOworICAgICAgICAgICAgaWYgKHR5cGVvZiBlbnRy
eSA9PT0gJ3N0cmluZycpIHsKKyAgICAgICAgICAgICAgICB0ZC5pbm5lclRleHQgPSBlbnRyeTsK
KyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdGQuaW5uZXJUZXh0ID0gZW50
cnkudGV4dDsKKyAgICAgICAgICAgICAgICB0ZC5jbGFzc0xpc3QuYWRkKCJydGwiKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfSkKKworICAgICAgICBUZXh0QmVuY2htYXJrLmNhbGwodGhpcywg
b3B0aW9ucyk7CisgICAgfQorKTsKKword2luZG93LmJlbmNobWFya0NsYXNzID0gVGV4dFRlbXBs
YXRlQmVuY2htYXJrOworCit9KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5odG1s
IGIvUGVyZm9ybWFuY2VUZXN0cy9Nb3Rpb25NYXJrL3Rlc3RzL3RleHQvZGVzaWduLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmQxNDI4Y2I0NDlkMWY2MWJmNGUwNjE1OWUxMzliODQ5NmQwYzhhZQotLS0gL2Rl
di9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2ln
bi5odG1sCkBAIC0wLDAgKzEsMTA3IEBACis8IS0tCisgIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICBhcmUgbWV0OgorICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3NzIj4KKyAgICA8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgorCisgICAgICAgICNzdGFnZSB7CisgICAgICAgICAgICBmb250LWZhbWlseTogSGVs
dmV0aWNhOworICAgICAgICAgICAgZm9udC1zaXplOiA1MnB4OworICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogIzQyMkUyQzsKKyAgICAgICAgfQorICAgICAgICBAbWVkaWEgKG1heC13aWR0
aDogOTAwcHgpIHsKKyAgICAgICAgICAgICNzdGFnZSB7CisgICAgICAgICAgICAgICAgZm9udC1z
aXplOiA0MHB4OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEBtZWRpYSAobWF4
LXdpZHRoOiA1NjhweCkgeworICAgICAgICAgICAgI3N0YWdlIHsKKyAgICAgICAgICAgICAgICBm
b250LXNpemU6IDI4cHg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAjc3Rh
Z2UgZGl2IHsKKyAgICAgICAgICAgIHdpZHRoOiA4MCU7CisgICAgICAgICAgICBoZWlnaHQ6IDkw
JTsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIHRleHQtYWxp
Z246IGNlbnRlcjsKKyAgICAgICAgfQorICAgICAgICAjdGVtcGxhdGUgeworICAgICAgICAgICAg
Y29sb3I6ICNGQ0ZDRkM7CisgICAgICAgIH0KKyAgICAgICAgdGFibGUgeworICAgICAgICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAg
ICBoZWlnaHQ6IDEwMCU7CisgICAgICAgIH0KKyAgICAgICAgdGQgeworICAgICAgICAgICAgd2lk
dGg6IDMzJTsKKyAgICAgICAgfQorICAgICAgICB0ciB7CisgICAgICAgICAgICBoZWlnaHQ6IDIw
JTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlk
PSJzdGFnZSI+CisgICAgICAgIDxkaXYgaWQ9InRlbXBsYXRlIj4KKyAgICAgICAgICAgIDx0YWJs
ZT4KKyAgICAgICAgICAgICAgICA8dGJvZHk+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDAiPjwvdGQ+CisgICAgICAgICAgICAg
ICAgICAgICAgICA8dGQgaWQ9ImNlbGwxIj48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAg
PHRkIGlkPSJjZWxsMiI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAg
ICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPSJjZWxsMyI+
PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDQiPjwvdGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGw1Ij48L3RkPgorICAgICAgICAgICAgICAg
ICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAg
ICAgICA8dGQgaWQ9ImNlbGw2Ij48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlk
PSJjZWxsNyI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDgiPjwv
dGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgIDx0cj4K
KyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0iY2VsbDkiPjwvdGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8dGQgaWQ9ImNlbGwxMCI+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIDx0ZCBpZD0iY2VsbDExIj48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAg
ICAgICAgICAgICAgIDwvdGJvZHk+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0cmluZ3Mu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9u
cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdGF0aXN0
aWNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hdGguanMi
Pjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWFpbi5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL21hc3Rlci9yZXNvdXJjZXMvZGVzaWduLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iZGVzaWduLmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL01vdGlv
bk1hcmsvdGVzdHMvdGV4dC9kZXNpZ24uanMgYi9QZXJmb3JtYW5jZVRlc3RzL01vdGlvbk1hcmsv
dGVzdHMvdGV4dC9kZXNpZ24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVjOGE4MGNlODBkZmI5YzU1OTFkNTFi
ZTI1MzMyNTRmMWZlNDIwNAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvTW90
aW9uTWFyay90ZXN0cy90ZXh0L2Rlc2lnbi5qcwpAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisoZnVuY3Rpb24oKSB7CisKKy8vIFRoZSBNb3Rpb25NYXJrLWJhc2VkIFRleHRCZW5jaG1hcmsg
c2hvdWxkIGFscmVhZHkgYmUgc2V0IHRvIHx3aW5kb3cuYmVuY2htYXJrQ2xhc3N8Cit2YXIgVGV4
dEJlbmNobWFyayA9IHdpbmRvdy5iZW5jaG1hcmtDbGFzczsKK3ZhciBUZXh0VGVtcGxhdGVCZW5j
aG1hcmsgPSBVdGlsaXRpZXMuY3JlYXRlU3ViY2xhc3MoVGV4dEJlbmNobWFyaywKKyAgICBmdW5j
dGlvbihvcHRpb25zKQorICAgIHsKKyAgICAgICAgdmFyIGRhdGFzZXQ7CisgICAgICAgIHN3aXRj
aCAob3B0aW9uc1siY29ycHVzIl0pIHsKKyAgICAgICAgY2FzZSAibGF0aW4iOgorICAgICAgICAg
ICAgZGF0YXNldCA9IFsKKyAgICAgICAgICAgICAgICAiz4PPh86tzrTOuc6/IiwKKyAgICAgICAg
ICAgICAgICAidW3Em27DrSIsCisgICAgICAgICAgICAgICAgInN1dW5uaXR0ZWx1IiwKKyAgICAg
ICAgICAgICAgICAiZGVzaWduIiwKKyAgICAgICAgICAgICAgICAiZGVzZcWEIiwKKyAgICAgICAg
ICAgICAgICAi0LjRgdC60YPRgdGB0YLQstC+IiwKKyAgICAgICAgICAgICAgICAi0LTQuNC30LDQ
udC9IiwKKyAgICAgICAgICAgICAgICAiY29uY2VwdGlvbiIsCisgICAgICAgICAgICAgICAgImt1
bnN0IiwKKyAgICAgICAgICAgICAgICAia29uc3RydWt0aW9uIiwKKyAgICAgICAgICAgICAgICAi
z4TOrc+Hzr3OtyIsCisgICAgICAgICAgICAgICAgImRpc2XDsW8iCisgICAgICAgICAgICBdOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgImNqayI6CisgICAgICAgICAgICBkYXRh
c2V0ID0gWworICAgICAgICAgICAgICAgICLorr7orqEiLAorICAgICAgICAgICAgICAgICLrlJTs
npDsnbgiLAorICAgICAgICAgICAgICAgICLjg4fjgrbjgqTjg7MiLAorICAgICAgICAgICAgICAg
ICLjgYzjgYTjga3jgpMiLAorICAgICAgICAgICAgICAgICLol53ooZMiLAorICAgICAgICAgICAg
ICAgICLlhbvmrpYiLAorICAgICAgICAgICAgICAgICLsmIjsiKAiLAorICAgICAgICAgICAgICAg
ICLlsZXplovjgZnjgosiLAorICAgICAgICAgICAgICAgICLrsJzri6wiLAorICAgICAgICAgICAg
ICAgICLmioDooZMiLAorICAgICAgICAgICAgICAgICLpqZrjgY0iLAorICAgICAgICAgICAgICAg
ICLkvb/lkIPmg4oiLAorICAgICAgICAgICAgXTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlICJhcmFiaWMiOgorICAgICAgICAgICAgZGF0YXNldCA9IFsKKyAgICAgICAgICAgICAg
ICB7dGV4dDogItiq2LXZhdmK2YUiLCBkaXJlY3Rpb246ICJydGwifSwKKyAgICAgICAgICAgICAg
ICAi4K614K6f4K6/4K614K6u4K+I4K6q4K+N4K6q4K+BIiwKKyAgICAgICAgICAgICAgICAi4KSv
4KWL4KSc4KSo4KS+IiwKKyAgICAgICAgICAgICAgICB7dGV4dDogItec1rDXota316bWtdeRIiwg
ZGlyZWN0aW9uOiAicnRsIn0sCisgICAgICAgICAgICAgICAge3RleHQ6ICLYrtmE2KfZgiIsIGRp
cmVjdGlvbjogInJ0bCJ9LAorICAgICAgICAgICAgICAgICLguKjguLTguKXguJvguLAiLAorICAg
ICAgICAgICAgICAgICLgpJXgpYzgpLbgpLIiLAorICAgICAgICAgICAgICAgIHt0ZXh0OiAi15DW
uNee1rjXoNeV1rzXqiIsIGRpcmVjdGlvbjogInJ0bCJ9LAorICAgICAgICAgICAgICAgICLgrpXg
rrLgr4giLAorICAgICAgICAgICAgICAgICLguJTguLXguYTguIvguJnguYwiLAorICAgICAgICAg
ICAgICAgICLgpqrgprDgpr/gppXgprLgp43gpqrgpqjgpr4iLAorICAgICAgICAgICAgICAgIHt0
ZXh0OiAi2onbjNiy2KfbjNmGIiwgZGlyZWN0aW9uOiAicnRsIn0sCisgICAgICAgICAgICBdOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBkYXRhc2V0LmZvckVhY2go
ZnVuY3Rpb24oZW50cnksIGkpIHsKKyAgICAgICAgICAgIHZhciB0ZCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjZWxsIiArIGkpOworICAgICAgICAgICAgaWYgKHR5cGVvZiBlbnRyeSA9PT0g
J3N0cmluZycpIHsKKyAgICAgICAgICAgICAgICB0ZC5pbm5lclRleHQgPSBlbnRyeTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdGQuaW5uZXJUZXh0ID0gZW50cnkudGV4
dDsKKyAgICAgICAgICAgICAgICB0ZC5jbGFzc0xpc3QuYWRkKCJydGwiKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSkKKworICAgICAgICBUZXh0QmVuY2htYXJrLmNhbGwodGhpcywgb3B0aW9u
cyk7CisgICAgfQorKTsKKword2luZG93LmJlbmNobWFya0NsYXNzID0gVGV4dFRlbXBsYXRlQmVu
Y2htYXJrOworCit9KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>