<?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>109114</bug_id>
          
          <creation_ts>2013-02-06 17:54:26 -0800</creation_ts>
          <short_desc>Add WebGL Conformance Tests context folder.</short_desc>
          <delta_ts>2013-02-07 21:59:46 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>falken</cc>
    
    <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826931</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 17:54:26 -0800</bug_when>
    <thetext>Add WebGL Conformance Tests context folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826933</commentid>
    <comment_count>1</comment_count>
      <attachid>186961</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 17:55:26 -0800</bug_when>
    <thetext>Created attachment 186961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826978</commentid>
    <comment_count>2</comment_count>
      <attachid>186961</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-06 18:43:45 -0800</bug_when>
    <thetext>Comment on attachment 186961
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827338</commentid>
    <comment_count>3</comment_count>
      <attachid>186961</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 04:58:50 -0800</bug_when>
    <thetext>Comment on attachment 186961
Patch

Clearing flags on attachment: 186961

Committed r142098: &lt;http://trac.webkit.org/changeset/142098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827339</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 04:58:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828192</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-07 21:59:46 -0800</bug_when>
    <thetext>These are timing out on all platforms:
webgl/conformance/context/context-release-upon-reload.html
webgl/conformance/context/context-release-with-workers.html

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=webgl%2Fconformance%2Fcontext%2Fcontext-release-upon-reload.html

I&apos;ll mark them Timeout. I&apos;ve tried Slow on other webgl/conformance tests and it didn&apos;t fix the issue.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186961</attachid>
            <date>2013-02-06 17:55:26 -0800</date>
            <delta_ts>2013-02-07 04:58:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109114-20130206175203.patch</filename>
            <type>text/plain</type>
            <size>118172</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDU4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTg1YzNmODI2ZjFlY2EwZDY4NmNl
OTY2MDM2ZmZkNjliMWMyYmQ4My4uNWU0ZjBjMzlhZWQ0ZjVkNmY2MDg1YzBmMjZmNDUyMzkzYTkx
ODJmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDEzLTAyLTA2ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQWRkIFdlYkdMIENvbmZvcm1hbmNlIFRlc3Rz
IGNvbnRleHQgZm9sZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA5MTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnN0YW50cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29uc3RhbnRz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4
dC1hdHRyaWJ1dGVzLWFscGhhLWRlcHRoLXN0ZW5jaWwtYW50aWFsaWFzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJp
YnV0ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtbG9zdC1y
ZXN0b3JlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1sb3N0LXJlc3RvcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2Fk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250
ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC10eXBlLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtdHlwZS10ZXN0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvaW5jb3JyZWN0
LWNvbnRleHQtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvaW5jb3JyZWN0LWNvbnRleHQtb2JqZWN0LWJlaGF2
aW91ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L21l
dGhvZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9j
b250ZXh0L21ldGhvZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y29udGV4dC9wcmVtdWx0aXBseWFscGhhLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L3Jlc291cmNlLXNo
YXJpbmctdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL2NvbnRleHQvcmVzb3VyY2Utc2hhcmluZy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvMDBf
dGVzdF9saXN0LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb25zdGFudHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWF0dHJpYnV0ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LWxvc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxv
YWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC10eXBlLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9pbmNv
cnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvbWV0aG9k
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9jb250ZXh0L3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
b250ZXh0L3Jlc291cmNlLXNoYXJpbmctdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L3Jlc291cmNl
cy9jb250ZXh0LXJlbGVhc2UtY2hpbGQtd2l0aC13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9y
ZXNvdXJjZXMvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2FkLWNoaWxkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2Nv
bnRleHQvcmVzb3VyY2VzL2NvbnRleHQtcmVsZWFzZS13b3JrZXIuanM6IEFkZGVkLgorCisyMDEz
LTAyLTA2ICBHcmVnZyBUYXZhcmVzICA8Z21hbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgQWRk
cyBmYWlsaW5nIFdlYkdMIENvbmZvcm1hbmNlIFRlc3RzLgogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDc1CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29uc3RhbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29uc3RhbnRzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNDRiMDIxNDY5Y2E3YjA5ZDJlNDVlYzJjMTE0NGY1Y2YxNTNjOWFmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9j
b25zdGFudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2NvbnRleHQvY29uc3RhbnRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb25zdGFudHMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29uc3RhbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzA5
NWM3Y2Q1ZDUxYzI3YmNhMDVmMDQxYjMzNWFmOTFjNzZmYzMyOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29uc3RhbnRzLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgY29uc3RhbnRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250
ZXh0L2NvbnN0YW50cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jb250ZXh0L2NvbnN0YW50cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb25zdGFudHMuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0
cmlidXRlcy1hbHBoYS1kZXB0aC1zdGVuY2lsLWFudGlhbGlhcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlcy1hbHBo
YS1kZXB0aC1zdGVuY2lsLWFudGlhbGlhcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU5YTUx
YjgyNDI2N2MzOTI5ZjAxMzE3Njc1OTZlNWIwODdlMzhiYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGVzLWFs
cGhhLWRlcHRoLXN0ZW5jaWwtYW50aWFsaWFzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1k
ZXB0aC1zdGVuY2lsLWFudGlhbGlhcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGVzLWFscGhhLWRl
cHRoLXN0ZW5jaWwtYW50aWFsaWFzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1kZXB0aC1zdGVuY2lsLWFudGlhbGlh
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEwMDhmMTQ0NmI0M2UxMTIzZjU3ZWYxMWRhYzY2NTEzN2U3YTA4
YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250
ZXh0L2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1kZXB0aC1zdGVuY2lsLWFudGlhbGlhcy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1kZXB0aC1z
dGVuY2lsLWFudGlhbGlhcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0
dHJpYnV0ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0
ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGVz
LWFscGhhLWRlcHRoLXN0ZW5jaWwtYW50aWFsaWFzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3Qt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlYWNiMmNmYTZjZWQyMjQxMGE1NWNiYzMxM2ZlN2Ey
OWYzODc2NGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtbG9zdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtbG9z
dC1yZXN0b3JlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9j
b250ZXh0L2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAy
ZGEyYmUyMTFhNzUxNTE3MjM1MWZkODc2YjhhNzcyNjkzNDVlZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1sb3N0LXJlc3Rv
cmVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
b250ZXh0L2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1sb3N0LXJlc3RvcmVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtbG9z
dC1yZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxZDc4Y2FkYzMxZjFlYjdiYWYyNTEyNjI2MGJh
YjRlYTc3NDcyZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGNvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29u
dGV4dC1sb3N0LXJlc3RvcmVkLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1sb3N0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM2
ODViM2ExNjllYThhMmI4ZDE4YzgzMDVkODExZTg0ODY3ZjU0MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1sb3N0Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udGV4dC1sb3N0Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtbG9zdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtbG9zdC5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3Qu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250
ZXh0L2NvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM5ODEwY2UxMDQ4MjFhMzczNzc5M2FkZWFmYTc4MWRh
ZGNhNTlhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS11
cG9uLXJlbG9hZC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2FkLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS11cG9uLXJl
bG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwODVlZDAyYmE5OWY5MDYwYjM5M2RmNGE3ODI4ZTYxNmEy
NzI1OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9j
b250ZXh0L2NvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGNvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Y29udGV4dC9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxvYWQuaHRtbCI+Li4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXJlbGVhc2UtdXBv
bi1yZWxvYWQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2FkLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXJl
bGVhc2Utd2l0aC13b3JrZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXdpdGgtd29ya2Vycy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMyYTY2YjU4NmFlNWIwOTE0MTdkMjU5YTU4MWRjYzBmZjE0YTJlZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29u
dGV4dC1yZWxlYXNlLXdpdGgtd29ya2Vycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y29udGV4dC9jb250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS13aXRoLXdvcmtlcnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YTg0M2Y3MjMwY2UzYjhiZmM2OTBiNTVmNmFlODJmYWRhZTllZWVjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
Y29udGV4dC1yZWxlYXNlLXdpdGgtd29ya2Vycy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXdpdGgtd29y
a2Vycy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY29udGV4dC9jb250ZXh0LXJlbGVhc2Utd2l0aC13b3JrZXJzLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXR5cGUt
dGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtdHlwZS10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmUyOTE4ZDFkNDRj
MTBjODY1YWNjNWUxN2UxZjA3OTYyYTFiZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXR5cGUtdGVzdC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0
LXR5cGUtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC10eXBlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC10eXBlLXRlc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40ZmY3Y2MxNjQ2M2FlMDY2YjdmNTUzNmM1NjYxMGZkYWZkNWJmMTM5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXR5cGUt
dGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvbnRleHQtdHlwZS10ZXN0Lmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtdHlwZS10ZXN0Lmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC10eXBl
LXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2NvbnRleHQvY29udGV4dC10eXBlLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2luY29ycmVjdC1jb250ZXh0LW9iamVj
dC1iZWhhdmlvdXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y29udGV4dC9pbmNvcnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43OWE5ZDg4MGY1NWYzMGI4ZGUwMTMyNzJmY2YyYzQzZTg2NzRkMWY5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9pbmNv
cnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2luY29ycmVjdC1jb250ZXh0LW9iamVj
dC1iZWhhdmlvdXIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2luY29ycmVjdC1jb250ZXh0LW9iamVjdC1iZWhhdmlvdXIuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvaW5jb3JyZWN0LWNvbnRl
eHQtb2JqZWN0LWJlaGF2aW91ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4MDhiZDA0NzUwNDYxYzIzOTI3
ZjAzMjMyNzJmNDdkZDllODk2YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jb250ZXh0L2luY29ycmVjdC1jb250ZXh0LW9iamVjdC1iZWhhdmlvdXIu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBpbmNvcnJlY3QtY29udGV4dC1vYmplY3QtYmVo
YXZpb3VyLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2luY29ycmVjdC1jb250ZXh0LW9i
amVjdC1iZWhhdmlvdXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY29udGV4dC9pbmNvcnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3VyLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0
L2luY29ycmVjdC1jb250ZXh0LW9iamVjdC1iZWhhdmlvdXIuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L21ldGhvZHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9tZXRob2RzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MGJiYjg3OWI2YjlkYWU4MDE3YWVkNmI2MzdkZWNmNzI3NTBj
NWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29u
dGV4dC9tZXRob2RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jb250ZXh0L21ldGhvZHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L21ldGhvZHMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvbWV0aG9kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3Y2Ux
Mzk4NjEwMGZlMzNmMWFiNDg5MTY4OGRlMjk2MjA2NWVhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L21ldGhvZHMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBtZXRob2RzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L21l
dGhvZHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Y29udGV4dC9tZXRob2RzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9jb250ZXh0L21ldGhvZHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L3ByZW11bHRpcGx5YWxwaGEtdGVzdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L3ByZW11
bHRpcGx5YWxwaGEtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDAwNWUwZWQyZDZiOWI5
Y2VkMjJmOTQ1OGEyNzVkZWE0ZGI3NzAxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L3ByZW11
bHRpcGx5YWxwaGEtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvcHJlbXVsdGlwbHlhbHBoYS10ZXN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L3ByZW11bHRpcGx5YWxwaGEtdGVzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI3NTc0ZjYwOTg5NjQ4N2U5YzZmMWU3OWQ3YWQ4Zjk4ZGQ3OTM3ZDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHByZW11
bHRpcGx5YWxwaGEtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9wcmVtdWx0aXBs
eWFscGhhLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY29udGV4dC9wcmVtdWx0aXBseWFscGhhLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvcHJlbXVsdGlwbHlhbHBo
YS10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY29udGV4dC9yZXNvdXJjZS1zaGFyaW5nLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZS1zaGFyaW5nLXRlc3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM5YmUzODgxZDEzZTMxZWY4MTFkMDkwZjJlMmIwNGU3YWYyMzQ0
NGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250
ZXh0L3Jlc291cmNlLXNoYXJpbmctdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZS1zaGFyaW5nLXRlc3QuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L3Jlc291cmNlLXNoYXJpbmctdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY29udGV4dC9yZXNvdXJjZS1zaGFyaW5nLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGNmMDA2
YzIyNDQwMDdkNzI5MjgzNDNlNDU3MzFhMDFlNzc3Y2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZS1zaGFyaW5nLXRlc3Qu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciByZXNvdXJjZS1zaGFyaW5nLXRlc3QuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvcmVzb3VyY2Utc2hhcmluZy10ZXN0Lmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvcmVzb3VyY2Ut
c2hhcmluZy10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jb250ZXh0L3Jlc291cmNlLXNoYXJpbmctdGVzdC5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NvbnRleHQvMDBfdGVzdF9saXN0LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvMDBfdGVzdF9saXN0LnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NTExMDJhNzIwMjI2OTM5MDM4NDFlMDA0ZmMxMzk4OWYwMDhmMDQwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC8wMF90ZXN0X2xpc3QudHh0CkBAIC0wLDAgKzEsMTQg
QEAKK2NvbnN0YW50cy5odG1sCistLW1pbi12ZXJzaW9uIDEuMC4yIGNvbnRleHQtYXR0cmlidXRl
LXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKK2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1k
ZXB0aC1zdGVuY2lsLWFudGlhbGlhcy5odG1sCistLW1pbi12ZXJzaW9uIDEuMC4yIC0tc2xvdyBj
b250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCistLW1pbi12ZXJzaW9uIDEuMC4y
IGNvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC5odG1sCistLW1pbi12ZXJzaW9uIDEuMC4yIGNv
bnRleHQtcmVsZWFzZS13aXRoLXdvcmtlcnMuaHRtbAorY29udGV4dC1sb3N0LXJlc3RvcmVkLmh0
bWwKK2NvbnRleHQtbG9zdC5odG1sCitjb250ZXh0LXR5cGUtdGVzdC5odG1sCitpbmNvcnJlY3Qt
Y29udGV4dC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKK21ldGhvZHMuaHRtbAorcHJlbXVsdGlwbHlh
bHBoYS10ZXN0Lmh0bWwKK3Jlc291cmNlLXNoYXJpbmctdGVzdC5odG1sCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29uc3RhbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnN0YW50cy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ4ZDhkNmE5ZjAxNzNhODhjNGE1MmU2ZjEzMjBmNjBkZTI0NTkyOTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jb250ZXh0L2NvbnN0YW50cy5odG1sCkBAIC0wLDAgKzEsNTQwIEBACis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uc3RhbnRzIFRl
c3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3Rv
cC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUw
cHg7Ij4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIFdlYkdMIGNvbnRleHQgaGFzIGFsbCB0aGUgY29uc3Rh
bnRzIGluIHRoZSBzcGVjaWZpY2F0aW9uLiIpOworCit2YXIgY29uc3RhbnRzID0geworICAgIC8q
IENsZWFyQnVmZmVyTWFzayAqLworREVQVEhfQlVGRkVSX0JJVCAgICAgICAgICAgICAgIDogMHgw
MDAwMDEwMCwKK1NURU5DSUxfQlVGRkVSX0JJVCAgICAgICAgICAgICA6IDB4MDAwMDA0MDAsCitD
T0xPUl9CVUZGRVJfQklUICAgICAgICAgICAgICAgOiAweDAwMDA0MDAwLAorICAgIAorICAgIC8q
IEJlZ2luTW9kZSAqLworUE9JTlRTICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgwMDAwLAor
TElORVMgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgwMDAxLAorTElORV9MT09QICAgICAg
ICAgICAgICAgICAgICAgIDogMHgwMDAyLAorTElORV9TVFJJUCAgICAgICAgICAgICAgICAgICAg
IDogMHgwMDAzLAorVFJJQU5HTEVTICAgICAgICAgICAgICAgICAgICAgIDogMHgwMDA0LAorVFJJ
QU5HTEVfU1RSSVAgICAgICAgICAgICAgICAgIDogMHgwMDA1LAorVFJJQU5HTEVfRkFOICAgICAg
ICAgICAgICAgICAgIDogMHgwMDA2LAorICAgIAorICAgIC8qIEFscGhhRnVuY3Rpb24gKG5vdCBz
dXBwb3J0ZWQgaW4gRVMyMCkgKi8KKyAgICAvKiAgICAgIE5FVkVSICovCisgICAgLyogICAgICBM
RVNTICovCisgICAgLyogICAgICBFUVVBTCAqLworICAgIC8qICAgICAgTEVRVUFMICovCisgICAg
LyogICAgICBHUkVBVEVSICovCisgICAgLyogICAgICBOT1RFUVVBTCAqLworICAgIC8qICAgICAg
R0VRVUFMICovCisgICAgLyogICAgICBBTFdBWVMgKi8KKyAgICAKKyAgICAvKiBCbGVuZGluZ0Zh
Y3RvckRlc3QgKi8KK1pFUk8gICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAsCitPTkUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiAxLAorU1JDX0NPTE9SICAgICAgICAgICAgICAgICAg
ICAgIDogMHgwMzAwLAorT05FX01JTlVTX1NSQ19DT0xPUiAgICAgICAgICAgIDogMHgwMzAxLAor
U1JDX0FMUEhBICAgICAgICAgICAgICAgICAgICAgIDogMHgwMzAyLAorT05FX01JTlVTX1NSQ19B
TFBIQSAgICAgICAgICAgIDogMHgwMzAzLAorRFNUX0FMUEhBICAgICAgICAgICAgICAgICAgICAg
IDogMHgwMzA0LAorT05FX01JTlVTX0RTVF9BTFBIQSAgICAgICAgICAgIDogMHgwMzA1LAorICAg
IAorICAgIC8qIEJsZW5kaW5nRmFjdG9yU3JjICovCisgICAgLyogICAgICBaRVJPICovCisgICAg
LyogICAgICBPTkUgKi8KK0RTVF9DT0xPUiAgICAgICAgICAgICAgICAgICAgICA6IDB4MDMwNiwK
K09ORV9NSU5VU19EU1RfQ09MT1IgICAgICAgICAgICA6IDB4MDMwNywKK1NSQ19BTFBIQV9TQVRV
UkFURSAgICAgICAgICAgICA6IDB4MDMwOCwKKyAgICAvKiAgICAgIFNSQ19BTFBIQSAqLworICAg
IC8qICAgICAgT05FX01JTlVTX1NSQ19BTFBIQSAqLworICAgIC8qICAgICAgRFNUX0FMUEhBICov
CisgICAgLyogICAgICBPTkVfTUlOVVNfRFNUX0FMUEhBICovCisgICAgCisgICAgLyogQmxlbmRF
cXVhdGlvblNlcGFyYXRlICovCitGVU5DX0FERCAgICAgICAgICAgICAgICAgICAgICAgOiAweDgw
MDYsCitCTEVORF9FUVVBVElPTiAgICAgICAgICAgICAgICAgOiAweDgwMDksCitCTEVORF9FUVVB
VElPTl9SR0IgICAgICAgICAgICAgOiAweDgwMDksICAgLyogc2FtZSBhcyBCTEVORF9FUVVBVElP
TiAqLworQkxFTkRfRVFVQVRJT05fQUxQSEEgICAgICAgICAgIDogMHg4ODNELAorICAgIAorICAg
IC8qIEJsZW5kU3VidHJhY3QgKi8KK0ZVTkNfU1VCVFJBQ1QgICAgICAgICAgICAgICAgICA6IDB4
ODAwQSwKK0ZVTkNfUkVWRVJTRV9TVUJUUkFDVCAgICAgICAgICA6IDB4ODAwQiwKKyAgICAKKyAg
ICAvKiBTZXBhcmF0ZSBCbGVuZCBGdW5jdGlvbnMgKi8KK0JMRU5EX0RTVF9SR0IgICAgICAgICAg
ICAgICAgICA6IDB4ODBDOCwKK0JMRU5EX1NSQ19SR0IgICAgICAgICAgICAgICAgICA6IDB4ODBD
OSwKK0JMRU5EX0RTVF9BTFBIQSAgICAgICAgICAgICAgICA6IDB4ODBDQSwKK0JMRU5EX1NSQ19B
TFBIQSAgICAgICAgICAgICAgICA6IDB4ODBDQiwKK0NPTlNUQU5UX0NPTE9SICAgICAgICAgICAg
ICAgICA6IDB4ODAwMSwKK09ORV9NSU5VU19DT05TVEFOVF9DT0xPUiAgICAgICA6IDB4ODAwMiwK
K0NPTlNUQU5UX0FMUEhBICAgICAgICAgICAgICAgICA6IDB4ODAwMywKK09ORV9NSU5VU19DT05T
VEFOVF9BTFBIQSAgICAgICA6IDB4ODAwNCwKK0JMRU5EX0NPTE9SICAgICAgICAgICAgICAgICAg
ICA6IDB4ODAwNSwKKyAgICAKKyAgICAvKiBCdWZmZXIgT2JqZWN0cyAqLworQVJSQVlfQlVGRkVS
ICAgICAgICAgICAgICAgICAgIDogMHg4ODkyLAorRUxFTUVOVF9BUlJBWV9CVUZGRVIgICAgICAg
ICAgIDogMHg4ODkzLAorQVJSQVlfQlVGRkVSX0JJTkRJTkcgICAgICAgICAgIDogMHg4ODk0LAor
RUxFTUVOVF9BUlJBWV9CVUZGRVJfQklORElORyAgIDogMHg4ODk1LAorICAgIAorU1RSRUFNX0RS
QVcgICAgICAgICAgICAgICAgICAgIDogMHg4OEUwLAorU1RBVElDX0RSQVcgICAgICAgICAgICAg
ICAgICAgIDogMHg4OEU0LAorRFlOQU1JQ19EUkFXICAgICAgICAgICAgICAgICAgIDogMHg4OEU4
LAorICAgIAorQlVGRkVSX1NJWkUgICAgICAgICAgICAgICAgICAgIDogMHg4NzY0LAorQlVGRkVS
X1VTQUdFICAgICAgICAgICAgICAgICAgIDogMHg4NzY1LAorICAgIAorQ1VSUkVOVF9WRVJURVhf
QVRUUklCICAgICAgICAgIDogMHg4NjI2LAorICAgIAorICAgIC8qIEN1bGxGYWNlTW9kZSAqLwor
RlJPTlQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgwNDA0LAorQkFDSyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogMHgwNDA1LAorRlJPTlRfQU5EX0JBQ0sgICAgICAgICAgICAgICAg
IDogMHgwNDA4LAorICAgIAorICAgIC8qIERlcHRoRnVuY3Rpb24gKi8KKyAgICAvKiAgICAgIE5F
VkVSICovCisgICAgLyogICAgICBMRVNTICovCisgICAgLyogICAgICBFUVVBTCAqLworICAgIC8q
ICAgICAgTEVRVUFMICovCisgICAgLyogICAgICBHUkVBVEVSICovCisgICAgLyogICAgICBOT1RF
UVVBTCAqLworICAgIC8qICAgICAgR0VRVUFMICovCisgICAgLyogICAgICBBTFdBWVMgKi8KKyAg
ICAKKyAgICAvKiBFbmFibGVDYXAgKi8KKyAgICAvKiBURVhUVVJFXzJEICovCitDVUxMX0ZBQ0Ug
ICAgICAgICAgICAgICAgICAgICAgOiAweDBCNDQsCitCTEVORCAgICAgICAgICAgICAgICAgICAg
ICAgICAgOiAweDBCRTIsCitESVRIRVIgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDBCRDAs
CitTVEVOQ0lMX1RFU1QgICAgICAgICAgICAgICAgICAgOiAweDBCOTAsCitERVBUSF9URVNUICAg
ICAgICAgICAgICAgICAgICAgOiAweDBCNzEsCitTQ0lTU09SX1RFU1QgICAgICAgICAgICAgICAg
ICAgOiAweDBDMTEsCitQT0xZR09OX09GRlNFVF9GSUxMICAgICAgICAgICAgOiAweDgwMzcsCitT
QU1QTEVfQUxQSEFfVE9fQ09WRVJBR0UgICAgICAgOiAweDgwOUUsCitTQU1QTEVfQ09WRVJBR0Ug
ICAgICAgICAgICAgICAgOiAweDgwQTAsCisgICAgCisgICAgLyogRXJyb3JDb2RlICovCitOT19F
UlJPUiAgICAgICAgICAgICAgICAgICAgICAgOiAwLAorSU5WQUxJRF9FTlVNICAgICAgICAgICAg
ICAgICAgIDogMHgwNTAwLAorSU5WQUxJRF9WQUxVRSAgICAgICAgICAgICAgICAgIDogMHgwNTAx
LAorSU5WQUxJRF9PUEVSQVRJT04gICAgICAgICAgICAgIDogMHgwNTAyLAorT1VUX09GX01FTU9S
WSAgICAgICAgICAgICAgICAgIDogMHgwNTA1LAorICAgIAorICAgIC8qIEZyb250RmFjZURpcmVj
dGlvbiAqLworQ1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgwOTAwLAorQ0NXICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgwOTAxLAorICAgIAorICAgIC8qIEdldFBOYW1l
ICovCitMSU5FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgOiAweDBCMjEsCitBTElBU0VEX1BP
SU5UX1NJWkVfUkFOR0UgICAgICAgOiAweDg0NkQsCitBTElBU0VEX0xJTkVfV0lEVEhfUkFOR0Ug
ICAgICAgOiAweDg0NkUsCitDVUxMX0ZBQ0VfTU9ERSAgICAgICAgICAgICAgICAgOiAweDBCNDUs
CitGUk9OVF9GQUNFICAgICAgICAgICAgICAgICAgICAgOiAweDBCNDYsCitERVBUSF9SQU5HRSAg
ICAgICAgICAgICAgICAgICAgOiAweDBCNzAsCitERVBUSF9XUklURU1BU0sgICAgICAgICAgICAg
ICAgOiAweDBCNzIsCitERVBUSF9DTEVBUl9WQUxVRSAgICAgICAgICAgICAgOiAweDBCNzMsCitE
RVBUSF9GVU5DICAgICAgICAgICAgICAgICAgICAgOiAweDBCNzQsCitTVEVOQ0lMX0NMRUFSX1ZB
TFVFICAgICAgICAgICAgOiAweDBCOTEsCitTVEVOQ0lMX0ZVTkMgICAgICAgICAgICAgICAgICAg
OiAweDBCOTIsCitTVEVOQ0lMX0ZBSUwgICAgICAgICAgICAgICAgICAgOiAweDBCOTQsCitTVEVO
Q0lMX1BBU1NfREVQVEhfRkFJTCAgICAgICAgOiAweDBCOTUsCitTVEVOQ0lMX1BBU1NfREVQVEhf
UEFTUyAgICAgICAgOiAweDBCOTYsCitTVEVOQ0lMX1JFRiAgICAgICAgICAgICAgICAgICAgOiAw
eDBCOTcsCitTVEVOQ0lMX1ZBTFVFX01BU0sgICAgICAgICAgICAgOiAweDBCOTMsCitTVEVOQ0lM
X1dSSVRFTUFTSyAgICAgICAgICAgICAgOiAweDBCOTgsCitTVEVOQ0lMX0JBQ0tfRlVOQyAgICAg
ICAgICAgICAgOiAweDg4MDAsCitTVEVOQ0lMX0JBQ0tfRkFJTCAgICAgICAgICAgICAgOiAweDg4
MDEsCitTVEVOQ0lMX0JBQ0tfUEFTU19ERVBUSF9GQUlMICAgOiAweDg4MDIsCitTVEVOQ0lMX0JB
Q0tfUEFTU19ERVBUSF9QQVNTICAgOiAweDg4MDMsCitTVEVOQ0lMX0JBQ0tfUkVGICAgICAgICAg
ICAgICAgOiAweDhDQTMsCitTVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSyAgICAgICAgOiAweDhDQTQs
CitTVEVOQ0lMX0JBQ0tfV1JJVEVNQVNLICAgICAgICAgOiAweDhDQTUsCitWSUVXUE9SVCAgICAg
ICAgICAgICAgICAgICAgICAgOiAweDBCQTIsCitTQ0lTU09SX0JPWCAgICAgICAgICAgICAgICAg
ICAgOiAweDBDMTAsCisgICAgLyogICAgICBTQ0lTU09SX1RFU1QgKi8KK0NPTE9SX0NMRUFSX1ZB
TFVFICAgICAgICAgICAgICA6IDB4MEMyMiwKK0NPTE9SX1dSSVRFTUFTSyAgICAgICAgICAgICAg
ICA6IDB4MEMyMywKK1VOUEFDS19BTElHTk1FTlQgICAgICAgICAgICAgICA6IDB4MENGNSwKK1BB
Q0tfQUxJR05NRU5UICAgICAgICAgICAgICAgICA6IDB4MEQwNSwKK01BWF9URVhUVVJFX1NJWkUg
ICAgICAgICAgICAgICA6IDB4MEQzMywKK01BWF9WSUVXUE9SVF9ESU1TICAgICAgICAgICAgICA6
IDB4MEQzQSwKK1NVQlBJWEVMX0JJVFMgICAgICAgICAgICAgICAgICA6IDB4MEQ1MCwKK1JFRF9C
SVRTICAgICAgICAgICAgICAgICAgICAgICA6IDB4MEQ1MiwKK0dSRUVOX0JJVFMgICAgICAgICAg
ICAgICAgICAgICA6IDB4MEQ1MywKK0JMVUVfQklUUyAgICAgICAgICAgICAgICAgICAgICA6IDB4
MEQ1NCwKK0FMUEhBX0JJVFMgICAgICAgICAgICAgICAgICAgICA6IDB4MEQ1NSwKK0RFUFRIX0JJ
VFMgICAgICAgICAgICAgICAgICAgICA6IDB4MEQ1NiwKK1NURU5DSUxfQklUUyAgICAgICAgICAg
ICAgICAgICA6IDB4MEQ1NywKK1BPTFlHT05fT0ZGU0VUX1VOSVRTICAgICAgICAgICA6IDB4MkEw
MCwKKyAgICAvKiAgICAgIFBPTFlHT05fT0ZGU0VUX0ZJTEwgKi8KK1BPTFlHT05fT0ZGU0VUX0ZB
Q1RPUiAgICAgICAgICA6IDB4ODAzOCwKK1RFWFRVUkVfQklORElOR18yRCAgICAgICAgICAgICA6
IDB4ODA2OSwKK1NBTVBMRV9CVUZGRVJTICAgICAgICAgICAgICAgICA6IDB4ODBBOCwKK1NBTVBM
RVMgICAgICAgICAgICAgICAgICAgICAgICA6IDB4ODBBOSwKK1NBTVBMRV9DT1ZFUkFHRV9WQUxV
RSAgICAgICAgICA6IDB4ODBBQSwKK1NBTVBMRV9DT1ZFUkFHRV9JTlZFUlQgICAgICAgICA6IDB4
ODBBQiwKKyAgICAKKyAgICAvKiBHZXRUZXh0dXJlUGFyYW1ldGVyICovCisgICAgLyogICAgICBU
RVhUVVJFX01BR19GSUxURVIgKi8KKyAgICAvKiAgICAgIFRFWFRVUkVfTUlOX0ZJTFRFUiAqLwor
ICAgIC8qICAgICAgVEVYVFVSRV9XUkFQX1MgKi8KKyAgICAvKiAgICAgIFRFWFRVUkVfV1JBUF9U
ICovCisgICAgCitDT01QUkVTU0VEX1RFWFRVUkVfRk9STUFUUyAgICAgOiAweDg2QTMsCisgICAg
CisgICAgLyogSGludE1vZGUgKi8KK0RPTlRfQ0FSRSAgICAgICAgICAgICAgICAgICAgICA6IDB4
MTEwMCwKK0ZBU1RFU1QgICAgICAgICAgICAgICAgICAgICAgICA6IDB4MTEwMSwKK05JQ0VTVCAg
ICAgICAgICAgICAgICAgICAgICAgICA6IDB4MTEwMiwKKyAgICAKKyAgICAvKiBIaW50VGFyZ2V0
ICovCitHRU5FUkFURV9NSVBNQVBfSElOVCAgICAgICAgICAgIDogMHg4MTkyLAorICAgIAorICAg
IC8qIERhdGFUeXBlICovCitCWVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDE0MDAs
CitVTlNJR05FRF9CWVRFICAgICAgICAgICAgICAgICAgOiAweDE0MDEsCitTSE9SVCAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiAweDE0MDIsCitVTlNJR05FRF9TSE9SVCAgICAgICAgICAgICAg
ICAgOiAweDE0MDMsCitJTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDE0MDQsCitV
TlNJR05FRF9JTlQgICAgICAgICAgICAgICAgICAgOiAweDE0MDUsCitGTE9BVCAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAweDE0MDYsCisgICAgCisgICAgLyogUGl4ZWxGb3JtYXQgKi8KK0RF
UFRIX0NPTVBPTkVOVCAgICAgICAgICAgICAgICA6IDB4MTkwMiwKK0FMUEhBICAgICAgICAgICAg
ICAgICAgICAgICAgICA6IDB4MTkwNiwKK1JHQiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6
IDB4MTkwNywKK1JHQkEgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDB4MTkwOCwKK0xVTUlO
QU5DRSAgICAgICAgICAgICAgICAgICAgICA6IDB4MTkwOSwKK0xVTUlOQU5DRV9BTFBIQSAgICAg
ICAgICAgICAgICA6IDB4MTkwQSwKKyAgICAKKyAgICAvKiBQaXhlbFR5cGUgKi8KKyAgICAvKiAg
ICAgIFVOU0lHTkVEX0JZVEUgKi8KK1VOU0lHTkVEX1NIT1JUXzRfNF80XzQgICAgICAgICA6IDB4
ODAzMywKK1VOU0lHTkVEX1NIT1JUXzVfNV81XzEgICAgICAgICA6IDB4ODAzNCwKK1VOU0lHTkVE
X1NIT1JUXzVfNl81ICAgICAgICAgICA6IDB4ODM2MywKKyAgICAKKyAgICAvKiBTaGFkZXJzICov
CitGUkFHTUVOVF9TSEFERVIgICAgICAgICAgICAgICAgICA6IDB4OEIzMCwKK1ZFUlRFWF9TSEFE
RVIgICAgICAgICAgICAgICAgICAgIDogMHg4QjMxLAorTUFYX1ZFUlRFWF9BVFRSSUJTICAgICAg
ICAgICAgICAgOiAweDg4NjksCitNQVhfVkVSVEVYX1VOSUZPUk1fVkVDVE9SUyAgICAgICA6IDB4
OERGQiwKK01BWF9WQVJZSU5HX1ZFQ1RPUlMgICAgICAgICAgICAgIDogMHg4REZDLAorTUFYX0NP
TUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMgOiAweDhCNEQsCitNQVhfVkVSVEVYX1RFWFRVUkVf
SU1BR0VfVU5JVFMgICA6IDB4OEI0QywKK01BWF9URVhUVVJFX0lNQUdFX1VOSVRTICAgICAgICAg
IDogMHg4ODcyLAorTUFYX0ZSQUdNRU5UX1VOSUZPUk1fVkVDVE9SUyAgICAgOiAweDhERkQsCitT
SEFERVJfVFlQRSAgICAgICAgICAgICAgICAgICAgICA6IDB4OEI0RiwKK0RFTEVURV9TVEFUVVMg
ICAgICAgICAgICAgICAgICAgIDogMHg4QjgwLAorTElOS19TVEFUVVMgICAgICAgICAgICAgICAg
ICAgICAgOiAweDhCODIsCitWQUxJREFURV9TVEFUVVMgICAgICAgICAgICAgICAgICA6IDB4OEI4
MywKK0FUVEFDSEVEX1NIQURFUlMgICAgICAgICAgICAgICAgIDogMHg4Qjg1LAorQUNUSVZFX1VO
SUZPUk1TICAgICAgICAgICAgICAgICAgOiAweDhCODYsCitBQ1RJVkVfQVRUUklCVVRFUyAgICAg
ICAgICAgICAgICA6IDB4OEI4OSwKK1NIQURJTkdfTEFOR1VBR0VfVkVSU0lPTiAgICAgICAgIDog
MHg4QjhDLAorQ1VSUkVOVF9QUk9HUkFNICAgICAgICAgICAgICAgICAgOiAweDhCOEQsCisgICAg
CisgICAgLyogU3RlbmNpbEZ1bmN0aW9uICovCitORVZFUiAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiAweDAyMDAsCitMRVNTICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDAyMDEsCitF
UVVBTCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDAyMDIsCitMRVFVQUwgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAweDAyMDMsCitHUkVBVEVSICAgICAgICAgICAgICAgICAgICAgICAg
OiAweDAyMDQsCitOT1RFUVVBTCAgICAgICAgICAgICAgICAgICAgICAgOiAweDAyMDUsCitHRVFV
QUwgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDAyMDYsCitBTFdBWVMgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAweDAyMDcsCisgICAgCisgICAgLyogU3RlbmNpbE9wICovCisgICAgLyog
ICAgICBaRVJPICovCitLRUVQICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDFFMDAsCitS
RVBMQUNFICAgICAgICAgICAgICAgICAgICAgICAgOiAweDFFMDEsCitJTkNSICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAweDFFMDIsCitERUNSICAgICAgICAgICAgICAgICAgICAgICAgICAg
OiAweDFFMDMsCitJTlZFUlQgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDE1MEEsCitJTkNS
X1dSQVAgICAgICAgICAgICAgICAgICAgICAgOiAweDg1MDcsCitERUNSX1dSQVAgICAgICAgICAg
ICAgICAgICAgICAgOiAweDg1MDgsCisgICAgCisgICAgLyogU3RyaW5nTmFtZSAqLworVkVORE9S
ICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgxRjAwLAorUkVOREVSRVIgICAgICAgICAgICAg
ICAgICAgICAgIDogMHgxRjAxLAorVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgICAgIDogMHgx
RjAyLAorICAgIAorICAgIC8qIFRleHR1cmVNYWdGaWx0ZXIgKi8KK05FQVJFU1QgICAgICAgICAg
ICAgICAgICAgICAgICA6IDB4MjYwMCwKK0xJTkVBUiAgICAgICAgICAgICAgICAgICAgICAgICA6
IDB4MjYwMSwKKyAgICAKKyAgICAvKiBUZXh0dXJlTWluRmlsdGVyICovCisgICAgLyogICAgICBO
RUFSRVNUICovCisgICAgLyogICAgICBMSU5FQVIgKi8KK05FQVJFU1RfTUlQTUFQX05FQVJFU1Qg
ICAgICAgICA6IDB4MjcwMCwKK0xJTkVBUl9NSVBNQVBfTkVBUkVTVCAgICAgICAgICA6IDB4Mjcw
MSwKK05FQVJFU1RfTUlQTUFQX0xJTkVBUiAgICAgICAgICA6IDB4MjcwMiwKK0xJTkVBUl9NSVBN
QVBfTElORUFSICAgICAgICAgICA6IDB4MjcwMywKKyAgICAKKyAgICAvKiBUZXh0dXJlUGFyYW1l
dGVyTmFtZSAqLworVEVYVFVSRV9NQUdfRklMVEVSICAgICAgICAgICAgIDogMHgyODAwLAorVEVY
VFVSRV9NSU5fRklMVEVSICAgICAgICAgICAgIDogMHgyODAxLAorVEVYVFVSRV9XUkFQX1MgICAg
ICAgICAgICAgICAgIDogMHgyODAyLAorVEVYVFVSRV9XUkFQX1QgICAgICAgICAgICAgICAgIDog
MHgyODAzLAorICAgIAorICAgIC8qIFRleHR1cmVUYXJnZXQgKi8KK1RFWFRVUkVfMkQgICAgICAg
ICAgICAgICAgICAgICA6IDB4MERFMSwKK1RFWFRVUkUgICAgICAgICAgICAgICAgICAgICAgICA6
IDB4MTcwMiwKKyAgICAKK1RFWFRVUkVfQ1VCRV9NQVAgICAgICAgICAgICAgICA6IDB4ODUxMywK
K1RFWFRVUkVfQklORElOR19DVUJFX01BUCAgICAgICA6IDB4ODUxNCwKK1RFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWCAgICA6IDB4ODUxNSwKK1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCAg
ICA6IDB4ODUxNiwKK1RFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSAgICA6IDB4ODUxNywKK1RF
WFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSAgICA6IDB4ODUxOCwKK1RFWFRVUkVfQ1VCRV9NQVBf
UE9TSVRJVkVfWiAgICA6IDB4ODUxOSwKK1RFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWiAgICA6
IDB4ODUxQSwKK01BWF9DVUJFX01BUF9URVhUVVJFX1NJWkUgICAgICA6IDB4ODUxQywKKyAgICAK
KyAgICAvKiBUZXh0dXJlVW5pdCAqLworVEVYVFVSRTAgICAgICAgICAgICAgICAgICAgICAgIDog
MHg4NEMwLAorVEVYVFVSRTEgICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEMxLAorVEVYVFVS
RTIgICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEMyLAorVEVYVFVSRTMgICAgICAgICAgICAg
ICAgICAgICAgIDogMHg4NEMzLAorVEVYVFVSRTQgICAgICAgICAgICAgICAgICAgICAgIDogMHg4
NEM0LAorVEVYVFVSRTUgICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEM1LAorVEVYVFVSRTYg
ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEM2LAorVEVYVFVSRTcgICAgICAgICAgICAgICAg
ICAgICAgIDogMHg4NEM3LAorVEVYVFVSRTggICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEM4
LAorVEVYVFVSRTkgICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEM5LAorVEVYVFVSRTEwICAg
ICAgICAgICAgICAgICAgICAgIDogMHg4NENBLAorVEVYVFVSRTExICAgICAgICAgICAgICAgICAg
ICAgIDogMHg4NENCLAorVEVYVFVSRTEyICAgICAgICAgICAgICAgICAgICAgIDogMHg4NENDLAor
VEVYVFVSRTEzICAgICAgICAgICAgICAgICAgICAgIDogMHg4NENELAorVEVYVFVSRTE0ICAgICAg
ICAgICAgICAgICAgICAgIDogMHg4NENFLAorVEVYVFVSRTE1ICAgICAgICAgICAgICAgICAgICAg
IDogMHg4NENGLAorVEVYVFVSRTE2ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEQwLAorVEVY
VFVSRTE3ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEQxLAorVEVYVFVSRTE4ICAgICAgICAg
ICAgICAgICAgICAgIDogMHg4NEQyLAorVEVYVFVSRTE5ICAgICAgICAgICAgICAgICAgICAgIDog
MHg4NEQzLAorVEVYVFVSRTIwICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEQ0LAorVEVYVFVS
RTIxICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEQ1LAorVEVYVFVSRTIyICAgICAgICAgICAg
ICAgICAgICAgIDogMHg4NEQ2LAorVEVYVFVSRTIzICAgICAgICAgICAgICAgICAgICAgIDogMHg4
NEQ3LAorVEVYVFVSRTI0ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEQ4LAorVEVYVFVSRTI1
ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NEQ5LAorVEVYVFVSRTI2ICAgICAgICAgICAgICAg
ICAgICAgIDogMHg4NERBLAorVEVYVFVSRTI3ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NERC
LAorVEVYVFVSRTI4ICAgICAgICAgICAgICAgICAgICAgIDogMHg4NERDLAorVEVYVFVSRTI5ICAg
ICAgICAgICAgICAgICAgICAgIDogMHg4NERELAorVEVYVFVSRTMwICAgICAgICAgICAgICAgICAg
ICAgIDogMHg4NERFLAorVEVYVFVSRTMxICAgICAgICAgICAgICAgICAgICAgIDogMHg4NERGLAor
QUNUSVZFX1RFWFRVUkUgICAgICAgICAgICAgICAgIDogMHg4NEUwLAorICAgIAorICAgIC8qIFRl
eHR1cmVXcmFwTW9kZSAqLworUkVQRUFUICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgyOTAx
LAorQ0xBTVBfVE9fRURHRSAgICAgICAgICAgICAgICAgIDogMHg4MTJGLAorTUlSUk9SRURfUkVQ
RUFUICAgICAgICAgICAgICAgIDogMHg4MzcwLAorICAgIAorICAgIC8qIFVuaWZvcm0gVHlwZXMg
Ki8KK0ZMT0FUX1ZFQzIgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1MCwKK0ZMT0FUX1ZFQzMg
ICAgICAgICAgICAgICAgICAgICA6IDB4OEI1MSwKK0ZMT0FUX1ZFQzQgICAgICAgICAgICAgICAg
ICAgICA6IDB4OEI1MiwKK0lOVF9WRUMyICAgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1MywK
K0lOVF9WRUMzICAgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1NCwKK0lOVF9WRUM0ICAgICAg
ICAgICAgICAgICAgICAgICA6IDB4OEI1NSwKK0JPT0wgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IDB4OEI1NiwKK0JPT0xfVkVDMiAgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1NywKK0JP
T0xfVkVDMyAgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1OCwKK0JPT0xfVkVDNCAgICAgICAg
ICAgICAgICAgICAgICA6IDB4OEI1OSwKK0ZMT0FUX01BVDIgICAgICAgICAgICAgICAgICAgICA6
IDB4OEI1QSwKK0ZMT0FUX01BVDMgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1QiwKK0ZMT0FU
X01BVDQgICAgICAgICAgICAgICAgICAgICA6IDB4OEI1QywKK1NBTVBMRVJfMkQgICAgICAgICAg
ICAgICAgICAgICA6IDB4OEI1RSwKK1NBTVBMRVJfQ1VCRSAgICAgICAgICAgICAgICAgICA6IDB4
OEI2MCwKKyAgICAKKyAgICAvKiBWZXJ0ZXggQXJyYXlzICovCitWRVJURVhfQVRUUklCX0FSUkFZ
X0VOQUJMRUQgICAgICAgIDogMHg4NjIyLAorVkVSVEVYX0FUVFJJQl9BUlJBWV9TSVpFICAgICAg
ICAgICA6IDB4ODYyMywKK1ZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFICAgICAgICAgOiAweDg2
MjQsCitWRVJURVhfQVRUUklCX0FSUkFZX1RZUEUgICAgICAgICAgIDogMHg4NjI1LAorVkVSVEVY
X0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVEICAgICA6IDB4ODg2QSwKK1ZFUlRFWF9BVFRSSUJfQVJS
QVlfUE9JTlRFUiAgICAgICAgOiAweDg2NDUsCitWRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9C
SU5ESU5HIDogMHg4ODlGLAorICAgIAorICAgIC8qIFNoYWRlciBTb3VyY2UgKi8KK0NPTVBJTEVf
U1RBVFVTICAgICAgICAgICAgICAgICA6IDB4OEI4MSwKKyAgICAKKyAgICAvKiBTaGFkZXIgUHJl
Y2lzaW9uLVNwZWNpZmllZCBUeXBlcyAqLworTE9XX0ZMT0FUICAgICAgICAgICAgICAgICAgICAg
IDogMHg4REYwLAorTUVESVVNX0ZMT0FUICAgICAgICAgICAgICAgICAgIDogMHg4REYxLAorSElH
SF9GTE9BVCAgICAgICAgICAgICAgICAgICAgIDogMHg4REYyLAorTE9XX0lOVCAgICAgICAgICAg
ICAgICAgICAgICAgIDogMHg4REYzLAorTUVESVVNX0lOVCAgICAgICAgICAgICAgICAgICAgIDog
MHg4REY0LAorSElHSF9JTlQgICAgICAgICAgICAgICAgICAgICAgIDogMHg4REY1LAorICAgIAor
ICAgIC8qIEZyYW1lYnVmZmVyIE9iamVjdC4gKi8KK0ZSQU1FQlVGRkVSICAgICAgICAgICAgICAg
ICAgICA6IDB4OEQ0MCwKK1JFTkRFUkJVRkZFUiAgICAgICAgICAgICAgICAgICA6IDB4OEQ0MSwK
KyAgICAKK1JHQkE0ICAgICAgICAgICAgICAgICAgICAgICAgICA6IDB4ODA1NiwKK1JHQjVfQTEg
ICAgICAgICAgICAgICAgICAgICAgICA6IDB4ODA1NywKK1JHQjU2NSAgICAgICAgICAgICAgICAg
ICAgICAgICA6IDB4OEQ2MiwKK0RFUFRIX0NPTVBPTkVOVDE2ICAgICAgICAgICAgICA6IDB4ODFB
NSwKK1NURU5DSUxfSU5ERVggICAgICAgICAgICAgICAgICA6IDB4MTkwMSwKK1NURU5DSUxfSU5E
RVg4ICAgICAgICAgICAgICAgICA6IDB4OEQ0OCwKK0RFUFRIX1NURU5DSUwgICAgICAgICAgICAg
ICAgICA6IDB4ODRGOSwKKyAgICAKK1JFTkRFUkJVRkZFUl9XSURUSCAgICAgICAgICAgICA6IDB4
OEQ0MiwKK1JFTkRFUkJVRkZFUl9IRUlHSFQgICAgICAgICAgICA6IDB4OEQ0MywKK1JFTkRFUkJV
RkZFUl9JTlRFUk5BTF9GT1JNQVQgICA6IDB4OEQ0NCwKK1JFTkRFUkJVRkZFUl9SRURfU0laRSAg
ICAgICAgICA6IDB4OEQ1MCwKK1JFTkRFUkJVRkZFUl9HUkVFTl9TSVpFICAgICAgICA6IDB4OEQ1
MSwKK1JFTkRFUkJVRkZFUl9CTFVFX1NJWkUgICAgICAgICA6IDB4OEQ1MiwKK1JFTkRFUkJVRkZF
Ul9BTFBIQV9TSVpFICAgICAgICA6IDB4OEQ1MywKK1JFTkRFUkJVRkZFUl9ERVBUSF9TSVpFICAg
ICAgICA6IDB4OEQ1NCwKK1JFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUgICAgICA6IDB4OEQ1NSwK
KyAgICAKK0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUgICAgICAgICAgIDogMHg4
Q0QwLAorRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSAgICAgICAgICAgOiAweDhD
RDEsCitGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUwgICAgICAgICA6IDB4OENE
MiwKK0ZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFIDogMHg4Q0Qz
LAorICAgIAorQ09MT1JfQVRUQUNITUVOVDAgICAgICAgICAgICAgIDogMHg4Q0UwLAorREVQVEhf
QVRUQUNITUVOVCAgICAgICAgICAgICAgIDogMHg4RDAwLAorU1RFTkNJTF9BVFRBQ0hNRU5UICAg
ICAgICAgICAgIDogMHg4RDIwLAorREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UICAgICAgIDogMHg4
MjFBLAorICAgIAorTk9ORSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCwKKyAgICAKK0ZS
QU1FQlVGRkVSX0NPTVBMRVRFICAgICAgICAgICAgICAgICAgICAgIDogMHg4Q0Q1LAorRlJBTUVC
VUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UICAgICAgICAgOiAweDhDRDYsCitGUkFNRUJVRkZF
Ul9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCA6IDB4OENENywKK0ZSQU1FQlVGRkVSX0lO
Q09NUExFVEVfRElNRU5TSU9OUyAgICAgICAgIDogMHg4Q0Q5LAorRlJBTUVCVUZGRVJfVU5TVVBQ
T1JURUQgICAgICAgICAgICAgICAgICAgOiAweDhDREQsCisgIAorRlJBTUVCVUZGRVJfQklORElO
RyAgICAgICAgICAgIDogMHg4Q0E2LAorUkVOREVSQlVGRkVSX0JJTkRJTkcgICAgICAgICAgIDog
MHg4Q0E3LAorTUFYX1JFTkRFUkJVRkZFUl9TSVpFICAgICAgICAgIDogMHg4NEU4LAorICAgIAor
SU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04gIDogMHgwNTA2LAorCisvKiBXZWJHTC1zcGVj
aWZpYyBlbnVtcyAqLworVU5QQUNLX0ZMSVBfWV9XRUJHTCAgICAgICAgICAgICAgICA6IDB4OTI0
MCwKK1VOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCAgICAgOiAweDkyNDEsCitDT05URVhU
X0xPU1RfV0VCR0wgICAgICAgICAgICAgICAgIDogMHg5MjQyLAorVU5QQUNLX0NPTE9SU1BBQ0Vf
Q09OVkVSU0lPTl9XRUJHTCA6IDB4OTI0MywKK0JST1dTRVJfREVGQVVMVF9XRUJHTCAgICAgICAg
ICAgICAgOiAweDkyNDQKK307CisKKy8vIENvbnN0YW50cyByZW1vdmVkIGZyb20gdGhlIFdlYkdM
IHNwZWMgY29tcGFyZWQgdG8gRVMgMi4wCit2YXIgcmVtb3ZlZENvbnN0YW50cyA9IHsKK05VTV9D
T01QUkVTU0VEX1RFWFRVUkVfRk9STUFUUyA6IDB4ODZBMiwKK0ZJWEVEICAgICAgICAgICAgICAg
ICAgICAgICAgICA6IDB4MTQwQywKK0FDVElWRV9VTklGT1JNX01BWF9MRU5HVEggICAgICA6IDB4
OEI4NywKK0FDVElWRV9BVFRSSUJVVEVfTUFYX0xFTkdUSCAgICA6IDB4OEI4QSwKK0VYVEVOU0lP
TlMgICAgICAgICAgICAgICAgICAgICA6IDB4MUYwMywKK0lORk9fTE9HX0xFTkdUSCAgICAgICAg
ICAgICAgICA6IDB4OEI4NCwKK1NIQURFUl9TT1VSQ0VfTEVOR1RIICAgICAgICAgICA6IDB4OEI4
OCwKK1NIQURFUl9DT01QSUxFUiAgICAgICAgICAgICAgICA6IDB4OERGQSwKK1NIQURFUl9CSU5B
UllfRk9STUFUUyAgICAgICAgICA6IDB4OERGOCwKK05VTV9TSEFERVJfQklOQVJZX0ZPUk1BVFMg
ICAgICA6IDB4OERGOSwKK307CisKK2Z1bmN0aW9uIGFzc2VydFByb3BlcnR5KHYsIHApIHsKKyAg
aWYgKHAgaW4gdikgeworICAgIHJldHVybiB0cnVlOworICB9IGVsc2UgeworICAgIHRlc3RGYWls
ZWQoIlByb3BlcnR5IGRvZXMgbm90IGV4aXN0OiAiICsgcCkKKyAgICByZXR1cm4gZmFsc2U7Cisg
IH0KK30KKworZnVuY3Rpb24gYXNzZXJ0Tm9Qcm9wZXJ0eSh2LCBwKSB7CisgIGlmIChwIGluIHYp
IHsKKyAgICB0ZXN0RmFpbGVkKCJQcm9wZXJ0eSBpcyBkZWZpbmVkIGFuZCBzaG91bGQgbm90IGJl
OiAiICsgcCkKKyAgICByZXR1cm4gZmFsc2U7CisgIH0gZWxzZSB7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KK30KKworZnVuY3Rpb24gYXNzZXJ0TXNnXyhib29sLCBtc2cpIHsKKyAgaWYgKCFib29s
KSAvLyBzaG93IG9ubHkgZmFpbHVyZXMgdG8gYXZvaWQgc3BhbW1pbmcgcmVzdWx0IGxpc3QKKyAg
ICBhc3NlcnRNc2coYm9vbCwgbXNnKTsKKyAgcmV0dXJuIGJvb2w7Cit9CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOwordmFyIHBhc3NlZCA9IHRydWU7Citmb3Ig
KHZhciBpIGluIGNvbnN0YW50cykgeworICB2YXIgciA9IGFzc2VydFByb3BlcnR5KGdsLCBpKSAm
JiBhc3NlcnRNc2dfKGdsW2ldID09IGNvbnN0YW50c1tpXSwgIlByb3BlcnR5ICIraSsiIHZhbHVl
IHRlc3QgIitnbFtpXSsiID09ICIrY29uc3RhbnRzW2ldKTsKKyAgcGFzc2VkID0gcGFzc2VkICYm
IHI7Cit9CitpZiAocGFzc2VkKSB7CisgIHRlc3RQYXNzZWQoIkFsbCBXZWJHTCBjb25zdGFudHMg
Zm91bmQgdG8gaGF2ZSBjb3JyZWN0IHZhbHVlcy4iKTsKK30KK3Bhc3NlZCA9IHRydWU7Citmb3Ig
KHZhciBpIGluIHJlbW92ZWRDb25zdGFudHMpIHsKKyAgdmFyIHIgPSBhc3NlcnROb1Byb3BlcnR5
KGdsLCBpKTsKKyAgcGFzc2VkID0gcGFzc2VkICYmIHI7Cit9CitpZiAocGFzc2VkKSB7CisgIHRl
c3RQYXNzZWQoIkFsbCBjb25zdGFudHMgcmVtb3ZlZCBmcm9tIFdlYkdMIHNwZWMgd2VyZSBhYnNl
bnQgZnJvbSBXZWJHTCBjb250ZXh0LiIpOworfQordmFyIGV4dGVuZGVkID0gZmFsc2U7Citmb3Ig
KHZhciBpIGluIGdsKSB7CisgIGlmIChpLm1hdGNoKC9eW15hLXpdLykgJiYgY29uc3RhbnRzW2ld
ID09IG51bGwpIHsKKyAgICBpZiAoIWV4dGVuZGVkKSB7CisgICAgICBleHRlbmRlZCA9IHRydWU7
CisgICAgICBkZWJ1ZygiQWxzbyBmb3VuZCB0aGUgZm9sbG93aW5nIGV4dHJhIGNvbnN0YW50czoi
KTsKKyAgICB9CisgICAgZGVidWcoaSk7CisgIH0KK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1h
bnRpYWxpYXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGVzLWFscGhhLWRlcHRoLXN0
ZW5jaWwtYW50aWFsaWFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY0MWU5MDRiMDYyNzAyMGRmMjRkZWMy
MGRhNWRhOTQwZjhkZWJmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRy
aWJ1dGVzLWFscGhhLWRlcHRoLXN0ZW5jaWwtYW50aWFsaWFzLmh0bWwKQEAgLTAsMCArMSwzNDMg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBw
b3M7CithdHRyaWJ1dGUgdmVjNCBjb2xvckluOwordmFyeWluZyB2ZWM0IGNvbG9yOworCit2b2lk
IG1haW4oKQoreworICAgIGNvbG9yID0gY29sb3JJbjsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQo
cG9zLnh5eiwgMS4wKTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5
aW5nIHZlYzQgY29sb3I7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gY29s
b3I7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKworLy8gVGhlc2Ug
Zm91ciBkZWNsYXJhdGlvbnMgbmVlZCB0byBiZSBnbG9iYWwgZm9yICJzaG91bGRCZSIgdG8gc2Vl
IHRoZW0KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbDsKK3ZhciBjb250ZXh0QXR0
cmlicyA9IG51bGw7Cit2YXIgcGl4ZWwgPSBbMCwgMCwgMCwgMV07Cit2YXIgY29ycmVjdENvbG9y
ID0gbnVsbDsKK3ZhciBmcmFtZWJ1ZmZlcjsKK3ZhciBmYkhhc0NvbG9yOwordmFyIGZiSGFzRGVw
dGg7Cit2YXIgZmJIYXNTdGVuY2lsOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAgICBpbml0VGVz
dGluZ0hhcm5lc3NXYWl0VW50aWxEb25lKCk7CisKKyAgICBkZXNjcmlwdGlvbignVmVyaWZ5IFdl
YkdMQ29udGV4dEF0dHJpYnV0ZXMgYXJlIHdvcmtpbmcgYXMgc3BlY2lmaWVkLCBpbmNsdWRpbmcg
YWxwaGEsIGRlcHRoLCBzdGVuY2lsLCBhbnRpYWxpYXMsIGJ1dCBub3QgcHJlbXVsdGlwbGllZEFs
cGhhJyk7CisKKyAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9uIGdldFdlYkdMKGNhbnZhc1dp
ZHRoLCBjYW52YXNIZWlnaHQsIGNvbnRleHRBdHRyaWJzLCBjbGVhckNvbG9yLCBjbGVhckRlcHRo
LCBjbGVhclN0ZW5jaWwpCit7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImNhbnZhcyIpOworICAgIGlmICghY2FudmFzKQorICAgICAgICByZXR1cm4gbnVsbDsKKyAg
ICBjYW52YXMud2lkdGggPSBjYW52YXNXaWR0aDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFz
SGVpZ2h0OworCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywgY29udGV4dEF0
dHJpYnMpOworICAgIGlmICghZ2wpCisgICAgICAgIHJldHVybiBudWxsOworCisgICAgdmFyIHBy
b2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBbInBv
cyIsICJjb2xvckluIl0pOworICAgIGlmICghcHJvZ3JhbSkKKyAgICAgICAgcmV0dXJuIG51bGw7
CisKKyAgICBnbC5lbmFibGUoZ2wuREVQVEhfVEVTVCk7CisgICAgZ2wuZW5hYmxlKGdsLlNURU5D
SUxfVEVTVCk7CisKKyAgICBnbC5jbGVhckNvbG9yKGNsZWFyQ29sb3JbMF0sIGNsZWFyQ29sb3Jb
MV0sIGNsZWFyQ29sb3JbMl0sIGNsZWFyQ29sb3JbM10pOworICAgIGdsLmNsZWFyRGVwdGgoY2xl
YXJEZXB0aCk7CisgICAgZ2wuY2xlYXJTdGVuY2lsKGNsZWFyU3RlbmNpbCk7CisgICAgZ2wuY2xl
YXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQgfCBnbC5TVEVOQ0lM
X0JVRkZFUl9CSVQpOworCisgICAgZnJhbWVidWZmZXIgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigp
OworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpOwor
ICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJl
KGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgZ2wuY2FudmFzLndpZHRoLCBnbC5jYW52YXMuaGVpZ2h0LCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUy
RChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRl
eHR1cmUsIDApOworICAgIGZiSGFzU3RlbmNpbCA9IGZhbHNlOworICAgIGZiSGFzRGVwdGggPSBm
YWxzZTsKKyAgICBmYkhhc0NvbG9yID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFN
RUJVRkZFUikgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEU7CisgICAgaWYgKGZiSGFzQ29sb3Ip
IHsKKyAgICAgIHZhciBkZXB0aFN0ZW5jaWwgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKyAg
ICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aFN0ZW5jaWwpOwor
ICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX1NU
RU5DSUwsIGdsLmNhbnZhcy53aWR0aCwgZ2wuY2FudmFzLmhlaWdodCk7CisgICAgICBnbC5mcmFt
ZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZ2wuREVQVEhfU1RFTkNJTF9BVFRB
Q0hNRU5ULCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRoU3RlbmNpbCk7CisgICAgICBmYkhhc0RlcHRo
ID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgPT0gZ2wuRlJBTUVC
VUZGRVJfQ09NUExFVEU7CisgICAgICBpZiAoIWZiSGFzRGVwdGgpIHsKKyAgICAgICAgZ2wuZnJh
bWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX1NURU5DSUxfQVRU
QUNITUVOVCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICAgICAgc2hvdWxkQmUoJ2dsLmNo
ZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFJyk7CisgICAgICB9IGVsc2UgeworICAgICAgICBmYkhhc1N0ZW5jaWwgPSB0cnVlOwor
ICAgICAgfQorICAgIH0KKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIG51
bGwpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8g
ZXJyb3JzIik7CisKKyAgICByZXR1cm4gZ2w7Cit9CisKK2Z1bmN0aW9uIGRyYXdBbmRSZWFkUGl4
ZWwoZ2wsIHZlcnRpY2VzLCBjb2xvcnMpCit7CisgICAgdmFyIGNvbG9yT2Zmc2V0ID0gdmVydGlj
ZXMuYnl0ZUxlbmd0aDsKKworICAgIHZhciB2Ym8gPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvKTsKKyAgICBnbC5idWZmZXJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgY29sb3JPZmZzZXQgKyBjb2xvcnMuYnl0ZUxlbmd0aCwgZ2wuU1RBVElD
X0RSQVcpOworICAgIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAwLCB2ZXJ0aWNl
cyk7CisgICAgZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGRVIsIGNvbG9yT2Zmc2V0LCBj
b2xvcnMpOworCisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFs
c2UsIDAsIDApOworICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICAgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIoMSwgNCwgZ2wuVU5TSUdORURfQllURSwgdHJ1ZSwgMCwgY29sb3JP
ZmZzZXQpOworICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOworCisgICAgZ2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIHZlcnRpY2VzLmxlbmd0aCAvIDMpOworfQorCitmdW5j
dGlvbiB0ZXN0QWxwaGEoYWxwaGEpCit7CisgICAgZGVidWcoIlRlc3RpbmcgYWxwaGEgPSAiICsg
YWxwaGEpOworICAgIGlmIChhbHBoYSkgeworICAgICAgICBzaG91bGRCZU5vbk51bGwoImdsID0g
Z2V0V2ViR0woMSwgMSwgeyBhbHBoYTogdHJ1ZSwgZGVwdGg6IGZhbHNlLCBzdGVuY2lsOiBmYWxz
ZSwgYW50aWFsaWFzOiBmYWxzZSB9LCBbIDAsIDAsIDAsIDAgXSwgMSwgMCkiKTsKKyAgICAgICAg
c2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxQSEFfQklUUykgPj0gOCIpOworICAg
IH0gZWxzZSB7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiZ2wgPSBnZXRXZWJHTCgxLCAxLCB7
IGFscGhhOiBmYWxzZSwgZGVwdGg6IGZhbHNlLCBzdGVuY2lsOiBmYWxzZSwgYW50aWFsaWFzOiBm
YWxzZSB9LCBbIDAsIDAsIDAsIDAgXSwgMSwgMCkiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJn
bC5nZXRQYXJhbWV0ZXIoZ2wuQUxQSEFfQklUUykgPT0gMCIpOworICAgIH0KKyAgICBzaG91bGRC
ZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5SRURfQklUUykgPj0gOCIpOworICAgIHNob3VsZEJl
VHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkdSRUVOX0JJVFMpID49IDgiKTsKKyAgICBzaG91bGRC
ZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5CTFVFX0JJVFMpID49IDgiKTsKKyAgICBzaG91bGRC
ZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRTKSA9PSAwIik7CisgICAgc2hvdWxk
QmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuU1RFTkNJTF9CSVRTKSA9PSAwIik7CisKKyAgICBz
aG91bGRCZU5vbk51bGwoImNvbnRleHRBdHRyaWJzID0gZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMo
KSIpOworICAgIHNob3VsZEJlVHJ1ZSgiY29udGV4dEF0dHJpYnMuYWxwaGEgPT0gIiArIGFscGhh
KTsKKworICAgIHZhciBjb3JyZWN0Q29sb3IgPSAoY29udGV4dEF0dHJpYnMuYWxwaGEgPyBbMCwg
MCwgMCwgMF0gOiBbMCwgMCwgMCwgMjU1XSk7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MCwgMCwgMSwgMSwgY29ycmVjdENvbG9yKTsKKworICAgIGlmIChmYkhhc0NvbG9yKSB7CisgICAg
ICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyKTsKKyAgICAg
IGdsLmNsZWFyQ29sb3IoMC41LCAwLjUsIDAuNSwgMC41KTsKKyAgICAgIGdsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQpOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMSwg
MSwgWzEyNywgMTI3LCAxMjcsIDEyN10sIHVuZGVmaW5lZCwgMSk7CisgICAgICBnbC5iaW5kRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIG51bGwpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVz
dERlcHRoKGRlcHRoKQoreworICAgIGRlYnVnKCJUZXN0aW5nIGRlcHRoID0gIiArIGRlcHRoKTsK
KyAgICBpZiAoZGVwdGgpIHsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJnbCA9IGdldFdlYkdM
KDEsIDEsIHsgc3RlbmNpbDogZmFsc2UsIGFudGlhbGlhczogZmFsc2UgfSwgWyAwLCAwLCAwLCAx
IF0sIDEsIDApIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkRF
UFRIX0JJVFMpID49IDE2Iik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxs
KCJnbCA9IGdldFdlYkdMKDEsIDEsIHsgZGVwdGg6IGZhbHNlLCBzdGVuY2lsOiBmYWxzZSwgYW50
aWFsaWFzOiBmYWxzZSB9LCBbIDAsIDAsIDAsIDEgXSwgMSwgMCkiKTsKKyAgICAgICAgc2hvdWxk
QmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuREVQVEhfQklUUykgPT0gMCIpOworICAgIH0KKyAg
ICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5SRURfQklUUykgPj0gOCIpOworICAg
IHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkdSRUVOX0JJVFMpID49IDgiKTsKKyAg
ICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5CTFVFX0JJVFMpID49IDgiKTsKKyAg
ICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5BTFBIQV9CSVRTKSA+PSA4Iik7CisK
KyAgICBzaG91bGRCZU5vbk51bGwoImNvbnRleHRBdHRyaWJzID0gZ2wuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKSIpOworCisgICAgZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKTsKKworICAgIHZhciB2ZXJ0
aWNlcyA9IG5ldyBGbG9hdDMyQXJyYXkoWworICAgICAgICAgMS4wLCAgMS4wLCAwLjAsCisgICAg
ICAgIC0xLjAsICAxLjAsIDAuMCwKKyAgICAgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAgICAg
MS4wLCAgMS4wLCAwLjAsCisgICAgICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgICAgIDEuMCwg
LTEuMCwgMC4wXSk7CisgICAgdmFyIGNvbG9ycyA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAgICAg
MjU1LCAwLCAwLCAyNTUsCisgICAgICAgIDI1NSwgMCwgMCwgMjU1LAorICAgICAgICAyNTUsIDAs
IDAsIDI1NSwKKyAgICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAgIDI1NSwgMCwgMCwgMjU1
LAorICAgICAgICAyNTUsIDAsIDAsIDI1NV0pOworCisgICAgZHJhd0FuZFJlYWRQaXhlbChnbCwg
dmVydGljZXMsIGNvbG9ycywgMCwgMCk7CisgICAgY29ycmVjdENvbG9yID0gKGNvbnRleHRBdHRy
aWJzLmRlcHRoID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1LCAwLCAwLCAyNTVdKTsKKyAgICB3dHUu
Y2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBjb3JyZWN0Q29sb3IpOworCisgICAgaWYg
KGZiSGFzRGVwdGgpIHsKKyAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwg
ZnJhbWVidWZmZXIpOworICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRF
UFRIX0JVRkZFUl9CSVQpOworICAgICAgZHJhd0FuZFJlYWRQaXhlbChnbCwgdmVydGljZXMsIGNv
bG9ycywgMCwgMCk7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBb
MCwgMCwgMCwgMjU1XSk7CisgICAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIs
IG51bGwpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdFN0ZW5jaWxBbmREZXB0aChzdGVuY2ls
LCBkZXB0aCkKK3sKKyAgICBkZWJ1ZygiVGVzdGluZyBzdGVuY2lsID0gIiArIHN0ZW5jaWwgKyAi
LCBkZXB0aCA9ICIgKyBkZXB0aCk7CisgICAgdmFyIGNyZWF0aW9uU3RyaW5nID0KKyAgICAgICAg
ImdsID0gZ2V0V2ViR0woMSwgMSwgeyBkZXB0aDogIiArIGRlcHRoICsgIiwgc3RlbmNpbDogIiAr
IHN0ZW5jaWwgKyAiLCBhbnRpYWxpYXM6IGZhbHNlIH0sIFsgMCwgMCwgMCwgMSBdLCAxLCAwKSI7
CisgICAgc2hvdWxkQmVOb25OdWxsKGNyZWF0aW9uU3RyaW5nKTsKKworICAgIHNob3VsZEJlVHJ1
ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlJFRF9CSVRTKSA+PSA4Iik7CisgICAgc2hvdWxkQmVUcnVl
KCJnbC5nZXRQYXJhbWV0ZXIoZ2wuR1JFRU5fQklUUykgPj0gOCIpOworICAgIHNob3VsZEJlVHJ1
ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkJMVUVfQklUUykgPj0gOCIpOworICAgIHNob3VsZEJlVHJ1
ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkFMUEhBX0JJVFMpID49IDgiKTsKKyAgICBpZiAoZGVwdGgp
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkRFUFRIX0JJVFMpID49
IDE2Iik7CisgICAgZWxzZQorICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihn
bC5ERVBUSF9CSVRTKSA9PSAwIik7CisKKyAgICBpZiAoc3RlbmNpbCkKKyAgICAgICAgc2hvdWxk
QmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuU1RFTkNJTF9CSVRTKSA+PSA4Iik7CisgICAgZWxz
ZQorICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5TVEVOQ0lMX0JJVFMp
ID09IDAiKTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiY29udGV4dEF0dHJpYnMgPSBnbC5nZXRD
b250ZXh0QXR0cmlidXRlcygpIik7CisgICAgaWYgKCFkZXB0aCAmJiBjb250ZXh0QXR0cmlicy5k
ZXB0aCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJXZWJHTCBpbXBsZW1lbnRhdGlvbiBwcm92aWRl
ZCBhIGRlcHRoIGJ1ZmZlciB3aGVuIGl0IHNob3VsZCBub3QgaGF2ZSIpOworICAgIH0KKyAgICBp
ZiAoIWNvbnRleHRBdHRyaWJzLmRlcHRoKQorICAgICAgICBkZXB0aCA9IGZhbHNlOworICAgIGlm
ICghc3RlbmNpbCAmJiBjb250ZXh0QXR0cmlicy5zdGVuY2lsKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoIldlYkdMIGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIGEgc3RlbmNpbCBidWZmZXIgd2hlbiBp
dCBzaG91bGQgbm90IGhhdmUiKTsKKyAgICB9CisgICAgaWYgKCFjb250ZXh0QXR0cmlicy5zdGVu
Y2lsKQorICAgICAgICBzdGVuY2lsID0gZmFsc2U7CisKKyAgICBnbC5kZXB0aEZ1bmMoZ2wuQUxX
QVlTKTsKKworICAgIGdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAxLCAxKTsKKyAgICBnbC5zdGVu
Y2lsT3AoZ2wuS0VFUCwgZ2wuS0VFUCwgZ2wuS0VFUCk7CisKKyAgICB2YXIgdmVydGljZXMgPSBu
ZXcgRmxvYXQzMkFycmF5KFsKKyAgICAgICAgIDEuMCwgMS4wLCAwLjAsCisgICAgICAgIC0xLjAs
IDEuMCwgMC4wLAorICAgICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAgICAgICAxLjAsIDEuMCwg
MC4wLAorICAgICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAgICAgICAxLjAsIC0xLjAsIDAuMF0p
OworICAgIHZhciBjb2xvcnMgPSBuZXcgVWludDhBcnJheShbCisgICAgICAgIDI1NSwgMCwgMCwg
MjU1LAorICAgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgICAgMjU1LCAwLCAwLCAyNTUsCisg
ICAgICAgIDI1NSwgMCwgMCwgMjU1LAorICAgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgICAg
MjU1LCAwLCAwLCAyNTVdKTsKKworICAgIGRyYXdBbmRSZWFkUGl4ZWwoZ2wsIHZlcnRpY2VzLCBj
b2xvcnMsIDAsIDApOworICAgIGNvcnJlY3RDb2xvciA9IChzdGVuY2lsID8gWzAsIDAsIDAsIDI1
NV0gOiBbMjU1LCAwLCAwLCAyNTVdKTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAw
LCAxLCAxLCBjb3JyZWN0Q29sb3IpCisKKyAgICBpZiAoZmJIYXNTdGVuY2lsKSB7CisgICAgICBn
bC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyKTsKKyAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAg
IGRyYXdBbmRSZWFkUGl4ZWwoZ2wsIHZlcnRpY2VzLCBjb2xvcnMsIDAsIDApOworICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMSwgMSwgWzAsIDAsIDAsIDI1NV0pOworICAgICAg
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBudWxsKTsKKyAgICB9Cit9CisKK2Z1
bmN0aW9uIHRlc3RBbnRpYWxpYXMoYW50aWFsaWFzKQoreworICAgIGRlYnVnKCJUZXN0aW5nIGFu
dGlhbGlhcyA9ICIgKyBhbnRpYWxpYXMpOworICAgIGlmIChhbnRpYWxpYXMpCisgICAgICAgIHNo
b3VsZEJlTm9uTnVsbCgiZ2wgPSBnZXRXZWJHTCgyLCAyLCB7IGRlcHRoOiBmYWxzZSwgc3RlbmNp
bDogZmFsc2UsIGFscGhhOiBmYWxzZSwgYW50aWFsaWFzOiB0cnVlIH0sIFsgMCwgMCwgMCwgMSBd
LCAxLCAwKSIpOworICAgIGVsc2UKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJnbCA9IGdldFdl
YkdMKDIsIDIsIHsgZGVwdGg6IGZhbHNlLCBzdGVuY2lsOiBmYWxzZSwgYWxwaGE6IGZhbHNlLCBh
bnRpYWxpYXM6IGZhbHNlIH0sIFsgMCwgMCwgMCwgMSBdLCAxLCAwKSIpOworICAgIHNob3VsZEJl
Tm9uTnVsbCgiY29udGV4dEF0dHJpYnMgPSBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpIik7CisK
KyAgICB2YXIgdmVydGljZXMgPSBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAgICAgIDEuMCwgMS4w
LCAwLjAsCisgICAgICAgIC0xLjAsIDEuMCwgMC4wLAorICAgICAgICAtMS4wLCAtMS4wLCAwLjBd
KTsKKyAgICB2YXIgY29sb3JzID0gbmV3IFVpbnQ4QXJyYXkoWworICAgICAgICAyNTUsIDAsIDAs
IDI1NSwKKyAgICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAgIDI1NSwgMCwgMCwgMjU1XSk7
CisgICAgZHJhd0FuZFJlYWRQaXhlbChnbCwgdmVydGljZXMsIGNvbG9ycywgMCwgMCk7CisgICAg
dmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDEgKiAxICogNCk7CisgICAgZ2wucmVhZFBpeGVscygw
LCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIHBpeGVsWzBd
ID0gYnVmWzBdOworICAgIHNob3VsZEJlKCJwaXhlbFswXSAhPSAyNTUgJiYgcGl4ZWxbMF0gIT0g
MCIsICJjb250ZXh0QXR0cmlicy5hbnRpYWxpYXMiKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgp
Cit7CisKKyAgICB0ZXN0QWxwaGEodHJ1ZSk7CisgICAgdGVzdEFscGhhKGZhbHNlKTsKKyAgICB0
ZXN0RGVwdGgodHJ1ZSk7CisgICAgdGVzdERlcHRoKGZhbHNlKTsKKyAgICB0ZXN0U3RlbmNpbEFu
ZERlcHRoKHRydWUsIGZhbHNlKTsKKyAgICB0ZXN0U3RlbmNpbEFuZERlcHRoKGZhbHNlLCBmYWxz
ZSk7CisgICAgdGVzdFN0ZW5jaWxBbmREZXB0aCh0cnVlLCB0cnVlKTsKKyAgICB0ZXN0U3RlbmNp
bEFuZERlcHRoKGZhbHNlLCB0cnVlKTsKKyAgICB0ZXN0QW50aWFsaWFzKHRydWUpOworICAgIHRl
c3RBbnRpYWxpYXMoZmFsc2UpOworCisgICAgZmluaXNoVGVzdCgpOworfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iaW5pdCgpIj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4
dC1sb3N0LXJlc3RvcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgxNWJkNTIzZDVkZTdhNzY3OTNkOGFj
NmExMDBmOTFjZDBmYTgzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1sb3N0
LXJlc3RvcmVkLmh0bWwKQEAgLTAsMCArMSwyMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVH
TEVycm9yOwordmFyIGV4dGVuc2lvbk5hbWVzID0gWworICAgICJXRUJLSVRfV0VCR0xfbG9zZV9j
b250ZXh0IiwKKyAgICAiTU9aX1dFQkdMX2xvc2VfY29udGV4dCIsCitdOwordmFyIGV4dGVuc2lv
bjsKK3ZhciBidWZmZXJPYmplY3RzOwordmFyIHByb2dyYW07Cit2YXIgdGV4dHVyZTsKK3ZhciB0
ZXhDb2xvciA9IFsyNTUsIDEwLCAyMCwgMjU1XTsKK3ZhciBhbGxvd1Jlc3RvcmU7Cit2YXIgY29u
dGV4dExvc3RFdmVudEZpcmVkOwordmFyIGNvbnRleHRSZXN0b3JlZEV2ZW50RmlyZWQ7CisKK2Z1
bmN0aW9uIGluaXQoKQoreworICAgIGluaXRUZXN0aW5nSGFybmVzc1dhaXRVbnRpbERvbmUoKTsK
KworICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBiZWhhdmlvciB1bmRlciBhIHJlc3RvcmVkIGNvbnRl
eHQuIik7CisKKyAgICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVH
TEVycm9yOworICAgIHRlc3RMb3NpbmdDb250ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIHNldHVwVGVz
dCgpCit7CisgICAgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Cisg
ICAgY2FudmFzLndpZHRoID0gMTsKKyAgICBjYW52YXMuaGVpZ2h0ID0gMTsKKyAgICBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZXh0
ZW5zaW9uTmFtZXMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4
dGVuc2lvbihleHRlbnNpb25OYW1lc1tpaV0pOworICAgICAgICBpZiAoZXh0ZW5zaW9uKQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmICghZXh0ZW5zaW9uKSB7CisgICAgICAgIGRl
YnVnKCJDb3VsZCBub3QgZmluZCBsb3NlX2NvbnRleHQgZXh0ZW5zaW9uIHVuZGVyIHRoZSBmb2xs
b3dpbmcgbmFtZXM6ICIgKyBleHRlbnNpb25OYW1lcy5qb2luKCIgIikpOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiB0ZXN0TG9z
aW5nQ29udGV4dCgpCit7CisgICAgaWYgKCFzZXR1cFRlc3QoKSkKKyAgICAgICAgZmluaXNoVGVz
dCgpOworCisgICAgZGVidWcoIlRlc3QgbG9zaW5nIGEgY29udGV4dCBhbmQgaW5hYmlsaXR5IHRv
IHJlc3RvcmUgaXQuIik7CisKKyAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250
ZXh0bG9zdCIsIGZ1bmN0aW9uKGUpIHsKKyAgICAgICB0ZXN0TG9zdENvbnRleHQoZSk7CisgICAg
ICAgLy8gcmVzdG9yZSB0aGUgY29udGV4dCBhZnRlciB0aGlzIGV2ZW50IGhhcyBleGl0ZWQuCisg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgIC8vIHdlIGRpZG4ndCBjYWxs
IHByZXZlbnQgZGVmYXVsdCBzbyB3ZSBzaG91bGQgbm90IGJlIGFibGUgdG8gcmVzdG9yZSB0aGUg
Y29udGV4dAorICAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgImV4dGVuc2lvbi5yZXN0b3JlQ29udGV4dCgpIik7CisgICAgICAgICB0ZXN0TG9z
aW5nQW5kUmVzdG9yaW5nQ29udGV4dCgpOworICAgICAgIH0sIDApOworICAgIH0pOworICAgIGNh
bnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIHRlc3RTaG91bGRO
b3RSZXN0b3JlQ29udGV4dCk7CisgICAgYWxsb3dSZXN0b3JlID0gZmFsc2U7CisgICAgY29udGV4
dExvc3RFdmVudEZpcmVkID0gZmFsc2U7CisgICAgY29udGV4dFJlc3RvcmVkRXZlbnRGaXJlZCA9
IGZhbHNlOworCisgICAgdGVzdE9yaWdpbmFsQ29udGV4dCgpOworICAgIGV4dGVuc2lvbi5sb3Nl
Q29udGV4dCgpOworICAgIC8vIFRoZSBjb250ZXh0IHNob3VsZCBiZSBsb3N0IGltbWVkaWF0ZWx5
LgorICAgIHNob3VsZEJlVHJ1ZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldEVycm9yKCkiLCAiZ2wuQ09OVEVYVF9MT1NUX1dFQkdMIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKyAgICAvLyBnbCBtZXRob2RzIHNob3Vs
ZCBiZSBuby1vcHMKKyAgICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAi
Z2wuYmxlbmRGdW5jKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfQ1VCRV9NQVApIik7CisgICAg
Ly8gYnV0IHRoZSBldmVudCBzaG91bGQgbm90IGhhdmUgYmVlbiBmaXJlZC4KKyAgICBzaG91bGRC
ZUZhbHNlKCJjb250ZXh0TG9zdEV2ZW50RmlyZWQiKTsKK30KKworZnVuY3Rpb24gdGVzdExvc2lu
Z0FuZFJlc3RvcmluZ0NvbnRleHQoKQoreworICAgIGlmICghc2V0dXBUZXN0KCkpCisgICAgICAg
IGZpbmlzaFRlc3QoKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdCBsb3Npbmcg
YW5kIHJlc3RvcmluZyBhIGNvbnRleHQuIik7CisKKyAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5l
cigid2ViZ2xjb250ZXh0bG9zdCIsIGZ1bmN0aW9uKGUpIHsKKyAgICAgIHRlc3RMb3N0Q29udGV4
dChlKTsKKyAgICAgIC8vIHJlc3RvcmUgdGhlIGNvbnRleHQgYWZ0ZXIgdGhpcyBldmVudCBoYXMg
ZXhpdGVkLgorICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImV4dGVuc2lvbi5yZXN0b3JlQ29udGV4dCgp
Iik7CisgICAgICAgIC8vIFRoZSBjb250ZXh0IHNob3VsZCBzdGlsbCBiZSBsb3N0LiBJdCB3aWxs
IG5vdCBnZXQgcmVzdG9yZWQgdW50aWwgdGhlIAorICAgICAgICAvLyB3ZWJnbHJlc3RvcmVjb250
ZXh0IGV2ZW50IGlzIGZpcmVkLgorICAgICAgICBzaG91bGRCZVRydWUoImdsLmlzQ29udGV4dExv
c3QoKSIpOworICAgICAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIp
OworICAgICAgICAvLyBnbCBtZXRob2RzIHNob3VsZCBzdGlsbCBiZSBuby1vcHMKKyAgICAgICAg
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJsZW5kRnVuYyhnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX0NVQkVfTUFQKSIpOworICAgICAgfSwgMCk7CisgICAgfSk7
CisgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIiwgZnVu
Y3Rpb24oKSB7CisgICAgICB0ZXN0UmVzdG9yZWRDb250ZXh0KCk7CisgICAgICBmaW5pc2hUZXN0
KCk7CisgICAgfSk7CisgICAgYWxsb3dSZXN0b3JlID0gdHJ1ZTsKKyAgICBjb250ZXh0TG9zdEV2
ZW50RmlyZWQgPSBmYWxzZTsKKyAgICBjb250ZXh0UmVzdG9yZWRFdmVudEZpcmVkID0gZmFsc2U7
CisKKyAgICB0ZXN0T3JpZ2luYWxDb250ZXh0KCk7CisgICAgZXh0ZW5zaW9uLmxvc2VDb250ZXh0
KCk7CisgICAgLy8gVGhlIGNvbnRleHQgc2hvdWxkIGJlIGxvc3QgaW1tZWRpYXRlbHkuCisgICAg
c2hvdWxkQmVUcnVlKCJnbC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5DT05URVhUX0xPU1RfV0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgIC8vIGdsIG1ldGhvZHMgc2hvdWxkIGJlIG5v
LW9wcworICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5ibGVu
ZEZ1bmMoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9DVUJFX01BUCkiKTsKKyAgICAvLyBidXQg
dGhlIGV2ZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGZpcmVkLgorICAgIHNob3VsZEJlRmFsc2Uo
ImNvbnRleHRMb3N0RXZlbnRGaXJlZCIpOworfQorCitmdW5jdGlvbiB0ZXN0UmVuZGVyaW5nKCkK
K3sKKyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDI1NSk7CisgICAgZ2wuY29sb3JNYXNrKDEs
IDEsIDEsIDApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9C
VUZGRVJfQklUKTsKKworICAgIHByb2dyYW0gPSB3dHUuc2V0dXBTaW1wbGVUZXh0dXJlUHJvZ3Jh
bShnbCk7CisgICAgYnVmZmVyT2JqZWN0cyA9IHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgICB0
ZXh0dXJlID0gd3R1LmNyZWF0ZUNvbG9yZWRUZXh0dXJlKGdsLCBjYW52YXMud2lkdGgsIGNhbnZh
cy5oZWlnaHQsIHRleENvbG9yKTsKKworICAgIGdsLnVuaWZvcm0xaShnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInRleCIpLCAwKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAw
LCAyNTVdKTsKKworICAgIHZhciBjb21wYXJlID0gdGV4Q29sb3Iuc2xpY2UoMCwgMyk7CisgICAg
d3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0
LCBjb21wYXJlLCAic2hvdWxkQmUgIiArIGNvbXBhcmUpOworCisgICAgc2hvdWxkQmUoImdsLmdl
dEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKK30KKworZnVuY3Rpb24gdGVzdE9yaWdpbmFsQ29u
dGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFsaWQgY29udGV4dCIpOworICAgIHNob3VsZEJl
RmFsc2UoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigp
IiwgImdsLk5PX0VSUk9SIik7CisgICAgdGVzdFJlbmRlcmluZygpOworICAgIGRlYnVnKCIiKTsK
K30KKworZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KGUpCit7CisgICAgZGVidWcoIlRlc3QgbG9z
dCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiY29udGV4dExvc3RFdmVudEZpcmVkIik7
CisgICAgY29udGV4dExvc3RFdmVudEZpcmVkID0gdHJ1ZTsKKyAgICBzaG91bGRCZVRydWUoImds
LmlzQ29udGV4dExvc3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5P
X0VSUk9SIik7CisgICAgZGVidWcoIiIpOworICAgIGlmIChhbGxvd1Jlc3RvcmUpCisgICAgICBl
LnByZXZlbnREZWZhdWx0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RTaG91bGROb3RSZXN0b3JlQ29u
dGV4dChlKQoreworICAgIHRlc3RGYWlsZWQoIlNob3VsZCBub3QgcmVzdG9yZSB0aGUgY29udGV4
dCB1bmxlc3MgcHJldmVudERlZmF1bHQgaXMgY2FsbGVkIG9uIHRoZSBjb250ZXh0IGxvc3QgZXZl
bnQiKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZXNvdXJjZXMoZXhwZWN0
ZWQpCit7CisgICAgdmFyIHRlc3RzID0gWworICAgICAgICAiZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4dHVyZSkiLAorICAgICAgICAiZ2wudXNlUHJvZ3JhbShwcm9ncmFtKSIsCisg
ICAgICAgICJnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyT2JqZWN0c1swXSki
LAorICAgIF07CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKQor
ICAgICAgICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGV4cGVjdGVkLCB0ZXN0c1tpXSk7Cit9
CisKK2Z1bmN0aW9uIHRlc3RSZXN0b3JlZENvbnRleHQoKQoreworICAgIGRlYnVnKCJUZXN0IHJl
c3RvcmVkIGNvbnRleHQiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJjb250ZXh0UmVzdG9yZWRFdmVu
dEZpcmVkIik7CisgICAgY29udGV4dFJlc3RvcmVkRXZlbnRGaXJlZCA9IHRydWU7CisgICAgc2hv
dWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7CisgICAgc2hvdWxkQmUoImdsLmdldEVy
cm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAgIC8vIFZhbGlkYXRlIHRoYXQgdXNpbmcgb2xk
IHJlc291cmNlcyBmYWlscy4KKyAgICB0ZXN0UmVzb3VyY2VzKGdsLklOVkFMSURfT1BFUkFUSU9O
KTsKKworICAgIHRlc3RSZW5kZXJpbmcoKTsKKworICAgIC8vIFZhbGlkYXRlIG5ldyByZXNvdXJj
ZXMgY3JlYXRlZCBpbiB0ZXN0UmVuZGVyaW5nKCkuCisgICAgdGVzdFJlc291cmNlcyhnbC5OT19F
UlJPUik7CisgICAgZGVidWcoIiIpOworfQorCisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtbG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWxvc3QuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NWZlYzk5MDgwOGU3MzJkYTEyZTk1Y2RjYjlmYmFjOGJlN2IxMWJmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY29udGV4dC9jb250ZXh0LWxvc3QuaHRtbApAQCAtMCwwICsxLDM1MCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OwordmFyIHd0dTsKK3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVy
cm9yOwordmFyIGV4dGVuc2lvbk5hbWVzID0gWworICAgICJXRUJLSVRfV0VCR0xfbG9zZV9jb250
ZXh0IiwKKyAgICAiTU9aX1dFQkdMX2xvc2VfY29udGV4dCIsCitdOwordmFyIGV4dGVuc2lvbk5h
bWU7Cit2YXIgZXh0ZW5zaW9uOworCit2YXIgYnVmZmVyOwordmFyIGZyYW1lYnVmZmVyOwordmFy
IHByb2dyYW07Cit2YXIgcmVuZGVyYnVmZmVyOwordmFyIHNoYWRlcjsKK3ZhciB0ZXh0dXJlOwor
dmFyIHVuaWZvcm1Mb2NhdGlvbjsKK3ZhciBhcnJheUJ1ZmZlcjsKK3ZhciBhcnJheUJ1ZmZlclZp
ZXcKK3ZhciBpbWFnZTsKK3ZhciB2aWRlbzsKK3ZhciBjYW52YXMyZDsKK3ZhciBjdHgyZDsKK3Zh
ciBpbWFnZURhdGE7Cit2YXIgZmxvYXQzMmFycmF5OwordmFyIGludDMyYXJyYXk7CisKK2Z1bmN0
aW9uIGluaXQoKQoreworICAgIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICBnbCA9IHd0dS5jcmVhdGUzRENv
bnRleHQoY2FudmFzKTsKKyAgICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yOworCisgICAgZGVzY3JpcHRpb24oIlRlc3RzIGJlaGF2aW9yIHVuZGVyIGEg
bG9zdCBjb250ZXh0Iik7CisKKyAgICBpbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25lKCk7
CisKKyAgICAvLyBjYWxsIHRlc3RWYWxpZENvbnRleHQoKSBiZWZvcmUgY2hlY2tpbmcgZm9yIHRo
ZSBleHRlbnNpb24sIGJlY2F1c2UgdGhpcyBpcyB3aGVyZSB3ZSBjaGVjaworICAgIC8vIGZvciB0
aGUgaXNDb250ZXh0TG9zdCgpIG1ldGhvZCwgd2hpY2ggd2Ugd2FudCB0byBkbyByZWdhcmRsZXNz
IG9mIHRoZSBleHRlbnNpb24ncyBwcmVzZW5jZS4KKyAgICB0ZXN0VmFsaWRDb250ZXh0KCk7CisK
KyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZXh0ZW5zaW9uTmFtZXMubGVuZ3RoOyArK2lpKSB7
CisgICAgICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25OYW1lc1tpaV0p
OworICAgICAgICBpZiAoZXh0ZW5zaW9uKSB7CisgICAgICAgICAgICBleHRlbnNpb25OYW1lID0g
ZXh0ZW5zaW9uTmFtZXNbaWldOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
CisgICAgaWYgKCFleHRlbnNpb24pIHsKKyAgICAgICAgZGVidWcoIkNvdWxkIG5vdCBmaW5kIGxv
c2VfY29udGV4dCBleHRlbnNpb24gdW5kZXIgdGhlIGZvbGxvd2luZyBuYW1lczogIiArIGV4dGVu
c2lvbk5hbWVzLmpvaW4oIiAiKSk7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKworICAgIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNv
bnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0LCBmYWxzZSk7CisKKyAgICBsb3NlQ29udGV4dCgp
OworfQorCitmdW5jdGlvbiBsb3NlQ29udGV4dCgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRl
YnVnKCJMb3NlIGNvbnRleHQiKTsKKworICAgIC8vIE5vdGU6IHRoaXMgd2lsbCBjYXVzZSB0aGUg
Y29udGV4dCB0byBiZSBsb3N0LCBidXQgdGhlCisgICAgLy8gd2ViZ2xjb250ZXh0bG9zdCBldmVu
dCBsaXN0ZW5lciB0byBiZSBxdWV1ZWQuCisgICAgZXh0ZW5zaW9uLmxvc2VDb250ZXh0KCk7Cisg
ICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0VmFsaWRDb250ZXh0KCkKK3sKKyAgICBk
ZWJ1ZygiVGVzdCB2YWxpZCBjb250ZXh0Iik7CisKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0Nv
bnRleHRMb3N0KCkiKTsKKworICAgIGFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDQpOwor
ICAgIGFycmF5QnVmZmVyVmlldyA9IG5ldyBJbnQ4QXJyYXkoYXJyYXlCdWZmZXIpOworCisgICAg
Ly8gR2VuZXJhdGUgcmVzb3VyY2VzIGZvciB0ZXN0aW5nLgorICAgIGJ1ZmZlciA9IGdsLmNyZWF0
ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpOwor
ICAgIGZyYW1lYnVmZmVyID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKKyAgICBnbC5iaW5kRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyKTsKKyAgICBwcm9ncmFtID0gd3R1
LnNldHVwU2ltcGxlVGV4dHVyZVByb2dyYW0oZ2wpOworICAgIHJlbmRlcmJ1ZmZlciA9IGdsLmNy
ZWF0ZVJlbmRlcmJ1ZmZlcigpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVG
RkVSLCByZW5kZXJidWZmZXIpOworICAgIHNoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJU
RVhfU0hBREVSKTsKKyAgICB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgIHNob3VsZEJlKCJnbC5nZXRF
cnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICAvLyBUZXN0IGlzIHF1ZXJpZXMgdGhhdCB3
aWxsIGxhdGVyIGJlIGZhbHNlCisgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19F
UlJPUiwgImdsLmVuYWJsZShnbC5CTEVORCkiKTsKKyAgICBzaG91bGRCZVRydWUoImdsLmlzQnVm
ZmVyKGJ1ZmZlcikiKTsKKyAgICBzaG91bGRCZVRydWUoImdsLmlzRW5hYmxlZChnbC5CTEVORCki
KTsKKyAgICBzaG91bGRCZVRydWUoImdsLmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIik7Cisg
ICAgc2hvdWxkQmVUcnVlKCJnbC5pc1Byb2dyYW0ocHJvZ3JhbSkiKTsKKyAgICBzaG91bGRCZVRy
dWUoImdsLmlzUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZlcikiKTsKKyAgICBzaG91bGRCZVRydWUo
ImdsLmlzU2hhZGVyKHNoYWRlcikiKTsKKyAgICBzaG91bGRCZVRydWUoImdsLmlzVGV4dHVyZSh0
ZXh0dXJlKSIpOworfQorCitmdW5jdGlvbiB0ZXN0TG9zdENvbnRleHQoKQoreworICAgIGRlYnVn
KCJUZXN0IGxvc3QgY29udGV4dCIpOworCisgICAgLy8gRnVuY3Rpb25zIHdpdGggc3BlY2lhbCBy
ZXR1cm4gdmFsdWVzLgorICAgIHNob3VsZEJlVHJ1ZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7Cisg
ICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuQ09OVEVYVF9MT1NUX1dFQkdMIik7Cisg
ICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKyAgICBzaG91bGRC
ZSgiZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikiLCAiZ2wuRlJBTUVC
VUZGRVJfVU5TVVBQT1JURUQiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0QXR0cmliTG9jYXRpb24o
cHJvZ3JhbSwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpIiwgIi0xIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldFZlcnRleEF0dHJpYk9mZnNldCgwLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1BPSU5U
RVIpIiwgIjAiKTsKKworICAgIC8vIFRlc3QgdGhlIGV4dGVuc2lvbiBpdHNlbGYuCisgICAgc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImV4dGVuc2lvbi5s
b3NlQ29udGV4dCgpIik7CisKKyAgICBpbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlt
ZyIpOworICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTsKKyAgICBj
YW52YXMyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAgIGN0eDJkID0g
Y2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBpbWFnZURhdGEgPSBjdHgyZC5jcmVhdGVJ
bWFnZURhdGEoMSwgMSk7CisgICAgZmxvYXQzMmFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgxKTsK
KyAgICBpbnQzMmFycmF5ID0gbmV3IEludDMyQXJyYXkoMSk7CisKKyAgICAvLyBGdW5jdGlvbnMg
cmV0dXJuaW5nIHZvaWQgc2hvdWxkIHJldHVybiBpbW1lZGlhdGVseS4KKyAgICAvLyBUaGlzIGlz
IHVudGVzdGFibGUsIGJ1dCB3ZSBjYW4gYXQgbGVhc3QgYmUgc3VyZSB0aGV5IGNhdXNlIG5vIGVy
cm9ycworICAgIC8vIGFuZCB0aGUgY29kZXBhdGhzIGFyZSBleGVyY2lzZWQuCisgICAgdmFyIHZv
aWRUZXN0cyA9IFsKKyAgICAgICAgImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTApIiwKKyAg
ICAgICAgImdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBzaGFkZXIpIiwKKyAgICAgICAgImdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLmJsZW5k
Q29sb3IoMS4wLCAxLjAsIDEuMCwgMS4wKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uKGds
LkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19B
REQsIGdsLkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmMoZ2wuT05FLCBnbC5PTkUp
IiwKKyAgICAgICAgImdsLmJsZW5kRnVuY1NlcGFyYXRlKGdsLk9ORSwgZ2wuT05FLCBnbC5PTkUs
IGdsLk9ORSkiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIGds
LlNUQVRJQ19EUkFXKSIsCisgICAgICAgICJnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwg
YXJyYXlCdWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAg
ICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmlldyki
LAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVm
ZmVyKSIsCisgICAgICAgICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIsCisgICAgICAg
ICJnbC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIiwKKyAgICAgICAgImdsLmNsZWFyRGVwdGgoMSki
LAorICAgICAgICAiZ2wuY2xlYXJTdGVuY2lsKDApIiwKKyAgICAgICAgImdsLmNvbG9yTWFzaygx
LCAxLCAxLCAxKSIsCisgICAgICAgICJnbC5jb21waWxlU2hhZGVyKHNoYWRlcikiLAorICAgICAg
ICAiZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwgMCwg
MCwgMCkiLAorICAgICAgICAiZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIiwKKyAg
ICAgICAgImdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZUZyYW1l
YnVmZmVyKGZyYW1lYnVmZmVyKSIsCisgICAgICAgICJnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0p
IiwKKyAgICAgICAgImdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIiwKKyAgICAg
ICAgImdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVRleHR1cmUo
dGV4dHVyZSkiLAorICAgICAgICAiZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSIsCisgICAgICAgICJn
bC5kZXB0aE1hc2soMCkiLAorICAgICAgICAiZ2wuZGVwdGhSYW5nZSgwLCAxKSIsCisgICAgICAg
ICJnbC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSIsCisgICAgICAgICJnbC5kaXNhYmxl
KGdsLkJMRU5EKSIsCisgICAgICAgICJnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCkiLAor
ICAgICAgICAiZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIDApIiwKKyAgICAgICAgImdsLmRy
YXdFbGVtZW50cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSIsCisgICAgICAg
ICJnbC5lbmFibGUoZ2wuQkxFTkQpIiwKKyAgICAgICAgImdsLmVuYWJsZVZlcnRleEF0dHJpYkFy
cmF5KDApIiwKKyAgICAgICAgImdsLmZpbmlzaCgpIiwKKyAgICAgICAgImdsLmZsdXNoKCkiLAor
ICAgICAgICAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikiLAorICAgICAg
ICAiZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSIsCisgICAgICAgICJnbC5mcm9udEZh
Y2UoZ2wuQ1cpIiwKKyAgICAgICAgImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIiwK
KyAgICAgICAgImdsLmhpbnQoZ2wuR0VORVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1QpIiwK
KyAgICAgICAgImdsLmxpbmVXaWR0aCgwKSIsCisgICAgICAgICJnbC5saW5rUHJvZ3JhbShwcm9n
cmFtKSIsCisgICAgICAgICJnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCAw
KSIsCisgICAgICAgICJnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIiwKKyAgICAgICAgImdsLnJlYWRQ
aXhlbHMoMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJW
aWV3KSIsCisgICAgICAgICJnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkdCQTQsIDAsIDApIiwKKyAgICAgICAgImdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIiwKKyAg
ICAgICAgImdsLnNjaXNzb3IoMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuc2hhZGVyU291cmNl
KHNoYWRlciwgJycpIiwKKyAgICAgICAgImdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAwKSIs
CisgICAgICAgICJnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05ULCBnbC5ORVZFUiwgMCwg
MCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2soMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1h
c2tTZXBhcmF0ZShnbC5GUk9OVCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE9wKGdsLktFRVAs
IGdsLktFRVAsIGdsLktFRVApIiwKKyAgICAgICAgImdsLnN0ZW5jaWxPcFNlcGFyYXRlKGdsLkZS
T05ULCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEp
IiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2Fu
dmFzKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCisgICAgICAgICJnbC50ZXhQYXJh
bWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCki
LAorICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01J
Tl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlC
dWZmZXJWaWV3KSIsCisgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkiLAorICAgICAgICAi
Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBpbWFnZSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIiwKKyAgICAg
ICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgdmlkZW8pIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3JtTG9j
YXRpb24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9h
dDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBbMF0p
IiwKKyAgICAgICAgImdsLnVuaWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAg
ImdsLnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJn
bC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSIsCisgICAgICAgICJnbC51bmlmb3Jt
MmYodW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZv
cm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZv
cm1Mb2NhdGlvbiwgWzAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmkodW5pZm9ybUxvY2F0
aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwgaW50
MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFswLCAw
XSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAor
ICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkiLAor
ICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwXSkiLAorICAg
ICAgICAiZ2wudW5pZm9ybTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAgICAi
Z2wudW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIiwKKyAgICAgICAgImds
LnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVu
aWZvcm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZv
cm00ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZv
cm00ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZv
cm00aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00
aXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtNGl2
KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0
cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkiLAorICAgICAgICAi
Z2wudW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMF0p
IiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXgzZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwg
ZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2Nh
dGlvbiwgZmFsc2UsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkiLAorICAgICAgICAiZ2wu
dW5pZm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIiwK
KyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSIsCisgICAgICAg
ICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLnZhbGlkYXRlUHJvZ3JhbShw
cm9ncmFtKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhB
dHRyaWIxZnYoMCwgWzBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZigwLCAwLCAwKSIs
CisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAg
ICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRy
aWIzZigwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxvYXQz
MmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAsIDAsIDBdKSIsCisg
ICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52
ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRy
aWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KDAsIDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkiLAorICAgICAgICAiZ2wudmlld3BvcnQoMCwg
MCwgMCwgMCkiLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2b2lkVGVzdHMubGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJP
Uiwgdm9pZFRlc3RzW2ldKTsKKyAgICB9CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuIG51bGxh
YmxlIHZhbHVlcyBzaG91bGQgYWxsIHJldHVybiBudWxsLgorICAgIHZhciBudWxsVGVzdHMgPSBb
CisgICAgICAgICJnbC5jcmVhdGVCdWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpIiwKKyAgICAgICAgImdsLmNyZWF0ZVByb2dyYW0oKSIsCisgICAgICAgICJnbC5jcmVh
dGVSZW5kZXJidWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVTaGFkZXIoZ2wuR0xfVkVSVEVY
X1NIQURFUikiLAorICAgICAgICAiZ2wuY3JlYXRlVGV4dHVyZSgpIiwKKyAgICAgICAgImdsLmdl
dEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSIsCisgICAgICAgICJnbC5nZXRBY3RpdmVVbmlmb3Jt
KHByb2dyYW0sIDApIiwKKyAgICAgICAgImdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtKSIs
CisgICAgICAgICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5CVUZG
RVJfU0laRSkiLAorICAgICAgICAiZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIsCisgICAgICAg
ICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGds
LkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1F
KSIsCisgICAgICAgICJnbC5nZXRQYXJhbWV0ZXIoZ2wuQ1VSUkVOVF9QUk9HUkFNKSIsCisgICAg
ICAgICJnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSIsCisgICAgICAgICJnbC5nZXRS
ZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lE
VEgpIiwKKyAgICAgICAgImdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKSIsCisgICAgICAgICJn
bC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSkiLAorICAgICAgICAi
Z2wuZ2V0U2hhZGVyU291cmNlKHNoYWRlcikiLAorICAgICAgICAiZ2wuZ2V0VGV4UGFyYW1ldGVy
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TKSIsCisgICAgICAgICJnbC5nZXRVbmlm
b3JtKHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikiLAorICAgICAgICAiZ2wuZ2V0VW5pZm9ybUxv
Y2F0aW9uKHByb2dyYW0sICd2UG9zaXRpb24nKSIsCisgICAgICAgICJnbC5nZXRWZXJ0ZXhBdHRy
aWIoMCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORykiLAorICAgICAgICAi
Z2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIiwKKyAgICAgICAgImdsLmdldEV4dGVuc2lvbign
IiArIGV4dGVuc2lvbk5hbWUgKyAiJykiLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBudWxsVGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hvdWxkQmVOdWxsKG51bGxUZXN0
c1tpXSk7CisgICAgfQorCisgICAgLy8gIklzIiBxdWVyaWVzIHNob3VsZCBhbGwgcmV0dXJuIGZh
bHNlLgorICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQnVmZmVyKGJ1ZmZlcikiKTsKKyAgICBzaG91
bGRCZUZhbHNlKCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVGYWxzZSgi
Z2wuaXNGcmFtZWJ1ZmZlcihmcmFtZWJ1ZmZlcikiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5p
c1Byb2dyYW0ocHJvZ3JhbSkiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc1JlbmRlcmJ1ZmZl
cihyZW5kZXJidWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNTaGFkZXIoc2hhZGVy
KSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzVGV4dHVyZSh0ZXh0dXJlKSIpOworCisgICAg
c2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAgIGRlYnVnKCIi
KTsKKworICAgIGZpbmlzaFRlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9ImluaXQoKSI+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyI+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTU4N2U4
ZmUxOWEzNWEwZmFiNDNlMzRjZTM1OTU1NWNiZDk0ZGI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxvYWQuaHRtbApAQCAtMCwwICsxLDkyIEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb250
ZXh0IFJlbGVhc2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0iaG9zdCIgc3R5bGU9IndpZHRoOiAyNTZw
eDsgaGVpZ2h0OiAyNTZweDsgYm9yZGVyOiAwOyI+PC9pZnJhbWU+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBXZWJHTCBjb250ZXh0
cyBhcmUgcmVsZWFzZWQgcHJvcGVybHkgdXBvbiBwYWdlIHJlbG9hZCIpOworCit2YXIgaG9zdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Cit2YXIgdGVzdEl0ZXJhdGlvbnMgPSAy
NTsKK3ZhciBjdXJyZW50SXRlcmF0aW9uID0gMDsKKworZnVuY3Rpb24gcmVmcmVzaEZyYW1lKCkg
eworICBpZihjdXJyZW50SXRlcmF0aW9uIDwgdGVzdEl0ZXJhdGlvbnMpIHsKKyAgICBjdXJyZW50
SXRlcmF0aW9uKys7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0ICIgKyBjdXJyZW50
SXRlcmF0aW9uICsgIiBvZiAiICsgdGVzdEl0ZXJhdGlvbnMpOworICAgIGhvc3Quc3JjID0gInJl
c291cmNlcy9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxvYWQtY2hpbGQuaHRtbCI7CisgIH0gZWxz
ZSB7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RDb250ZXh0KCkg
eworICB2YXIgZ2wgPSBob3N0LmNvbnRlbnRXaW5kb3cuZ2xDb250ZXh0OworICBhc3NlcnRNc2co
Z2wgIT0gbnVsbCwgImNvbnRleHQgd2FzIGNyZWF0ZWQgcHJvcGVybHkiKTsKKworICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVycm9ycyIpOworCisgIGlm
KGdsLmNhbnZhcy53aWR0aCAhPSBnbC5kcmF3aW5nQnVmZmVyV2lkdGggfHwKKyAgICBnbC5jYW52
YXMuaGVpZ2h0ICE9IGdsLmRyYXdpbmdCdWZmZXJIZWlnaHQpIHsKKyAgICB0ZXN0RmFpbGVkKCJC
dWZmZXIgd2FzIHRoZSB3cm9uZyBzaXplOiAiICsKKyAgICAgICAgZ2wuZHJhd2luZ0J1ZmZlcldp
ZHRoICsgIngiICsgZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCk7CisgIH0gZWxzZSB7CisgICAgdGVz
dFBhc3NlZCgiQnVmZmVyIHdhcyB0aGUgY29ycmVjdCBzaXplOiAiICsKKyAgICAgICAgZ2wuZHJh
d2luZ0J1ZmZlcldpZHRoICsgIngiICsgZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCk7CisgICAgcmVm
cmVzaEZyYW1lKCk7CisgIH0KKworICBnbCA9IG51bGw7Cit9CisKK3dpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgaWYoZXZlbnQuZGF0YSA9PSAi
UmVhZHkiKSB7CisgICAgdGVzdENvbnRleHQoKTsKKyAgfQorfSk7CisKK3JlZnJlc2hGcmFtZSgp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS13aXRoLXdvcmtl
cnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXdpdGgtd29ya2Vycy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYyZTM5OThlNzA2OWZmM2EyOGRkODUxODM4NDM4MjliZjYyNmI3ZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS13aXRoLXdvcmtlcnMuaHRtbApAQCAt
MCwwICsxLDkyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb250ZXh0IFJlbGVhc2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0iaG9zdCIgc3R5
bGU9IndpZHRoOiAyNTZweDsgaGVpZ2h0OiAyNTZweDsgYm9yZGVyOiAwOyI+PC9pZnJhbWU+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhh
dCBXZWJHTCBjb250ZXh0cyBhcmUgcmVsZWFzZWQgcHJvcGVybHkgd2hlbiBhIHdvcmtlciBpcyB1
c2VkIik7CisKK3ZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKK3Zh
ciB0ZXN0SXRlcmF0aW9ucyA9IDI1OwordmFyIGN1cnJlbnRJdGVyYXRpb24gPSAwOworCitmdW5j
dGlvbiByZWZyZXNoRnJhbWUoKSB7CisgIGlmKGN1cnJlbnRJdGVyYXRpb24gPCB0ZXN0SXRlcmF0
aW9ucykgeworICAgIGN1cnJlbnRJdGVyYXRpb24rKzsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVi
dWcoIlRlc3QgIiArIGN1cnJlbnRJdGVyYXRpb24gKyAiIG9mICIgKyB0ZXN0SXRlcmF0aW9ucyk7
CisgICAgaG9zdC5zcmMgPSAicmVzb3VyY2VzL2NvbnRleHQtcmVsZWFzZS1jaGlsZC13aXRoLXdv
cmtlci5odG1sIjsKKyAgfSBlbHNlIHsKKyAgICBmaW5pc2hUZXN0KCk7CisgIH0KK30KKworZnVu
Y3Rpb24gdGVzdENvbnRleHQoKSB7CisgIHZhciBnbCA9IGhvc3QuY29udGVudFdpbmRvdy5nbENv
bnRleHQ7CisgIGFzc2VydE1zZyhnbCAhPSBudWxsLCAiY29udGV4dCB3YXMgY3JlYXRlZCBwcm9w
ZXJseSIpOworCisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUg
bm8gZXJyb3JzIik7CisKKyAgaWYoZ2wuY2FudmFzLndpZHRoICE9IGdsLmRyYXdpbmdCdWZmZXJX
aWR0aCB8fAorICAgIGdsLmNhbnZhcy5oZWlnaHQgIT0gZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCkg
eworICAgIHRlc3RGYWlsZWQoIkJ1ZmZlciB3YXMgdGhlIHdyb25nIHNpemU6ICIgKworICAgICAg
ICBnbC5kcmF3aW5nQnVmZmVyV2lkdGggKyAieCIgKyBnbC5kcmF3aW5nQnVmZmVySGVpZ2h0KTsK
KyAgfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJCdWZmZXIgd2FzIHRoZSBjb3JyZWN0IHNpemU6
ICIgKworICAgICAgICBnbC5kcmF3aW5nQnVmZmVyV2lkdGggKyAieCIgKyBnbC5kcmF3aW5nQnVm
ZmVySGVpZ2h0KTsKKyAgICByZWZyZXNoRnJhbWUoKTsKKyAgfQorCisgIGdsID0gbnVsbDsKK30K
Kword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewor
ICBpZihldmVudC5kYXRhID09ICJSZWFkeSIpIHsKKyAgICB0ZXN0Q29udGV4dCgpOworICB9Cit9
KTsKKworcmVmcmVzaEZyYW1lKCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4
dC10eXBlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC10eXBlLXRlc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41M2IyNmU5MDhlYWY3YTU0NTNjMmYwNTY2MmVjZmIyMDE2YzQxMjU0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY29udGV4dC9jb250ZXh0LXR5cGUtdGVzdC5odG1sCkBAIC0wLDAgKzEsNzQgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENh
bnZhcyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiBzdHlsZT0id2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsiPiA8L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczJk
IiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiPiA8L2NhbnZhcz4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25z
IGludGVyYWN0IGNvcnJlY3RseSB3aXRoIHRoZSBjYW52YXMgdGFnLiIpOworCitkZWJ1ZygiIik7
CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKworYXNzZXJ0TXNnKHdpbmRvdy5XZWJHTFJl
bmRlcmluZ0NvbnRleHQsCisgICAgICAgICAgIldlYkdMUmVuZGVyaW5nQ29udGV4dCBzaG91bGQg
YmUgYSBtZW1iZXIgb2Ygd2luZG93Iik7Cithc3NlcnRNc2coJ1dlYkdMUmVuZGVyaW5nQ29udGV4
dCcgaW4gd2luZG93LAorICAgICAgICAgICJXZWJHTFJlbmRlcmluZ0NvbnRleHQgc2hvdWxkIGJl
ICdpbicgd2luZG93Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KGNhbnZhcyk7CitpZiAoIWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9l
cyBub3QgZXhpc3QiKTsKK30gZWxzZSB7CisgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7
CisKKyAgZGVidWcoIkNoZWNraW5nIGNvbnRleHQgdHlwZSIpOworICBhc3NlcnRNc2coZ2wgaW5z
dGFuY2VvZiBXZWJHTFJlbmRlcmluZ0NvbnRleHQsCisgICAgICAgICAgICAiY29udGV4dCB0eXBl
IHNob3VsZCBiZSBXZWJHTFJlbmRlcmluZ0NvbnRleHQiKTsKK30KK2RlYnVnKCIiKTsKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NvbnRleHQvaW5jb3JyZWN0LWNvbnRleHQtb2JqZWN0LWJlaGF2aW91ci5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY29udGV4dC9pbmNvcnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWVhNjgzMGE2NDBmNDlmNzM5NzFhMjMwMzc4MDM3NjZjNGYzZjliOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NvbnRleHQvaW5jb3JyZWN0LWNvbnRleHQtb2JqZWN0LWJlaGF2aW91ci5o
dG1sCkBAIC0wLDAgKzEsODkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVz
Y3JpcHRpb24oIlRlc3RzIGNhbGxpbmcgV2ViR0wgQVBJcyB3aXRoIG9iamVjdHMgZnJvbSBvdGhl
ciBjb250ZXh0cyIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY29udGV4dEEg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgY29udGV4dEIgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCk7Cit2YXIgcHJvZ3JhbUEgPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0QSk7
Cit2YXIgcHJvZ3JhbUIgPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0Qik7Cit2YXIg
c2hhZGVyQSA9IHd0dS5sb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoY29udGV4dEEpOwordmFyIHNo
YWRlckIgPSB3dHUubG9hZFN0YW5kYXJkVmVydGV4U2hhZGVyKGNvbnRleHRCKTsKK3ZhciB0ZXh0
dXJlQSA9IGNvbnRleHRBLmNyZWF0ZVRleHR1cmUoKTsKK3ZhciB0ZXh0dXJlQiA9IGNvbnRleHRC
LmNyZWF0ZVRleHR1cmUoKTsKK3ZhciBmcmFtZUJ1ZmZlckEgPSBjb250ZXh0QS5jcmVhdGVGcmFt
ZWJ1ZmZlcigpOwordmFyIGZyYW1lQnVmZmVyQiA9IGNvbnRleHRCLmNyZWF0ZUZyYW1lYnVmZmVy
KCk7Cit2YXIgcmVuZGVyQnVmZmVyQSA9IGNvbnRleHRBLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOwor
dmFyIHJlbmRlckJ1ZmZlckIgPSBjb250ZXh0Qi5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK3ZhciBs
b2NhdGlvbkEgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUEsICd1X21vZGVs
Vmlld1Byb2pNYXRyaXgnKTsKK3ZhciBsb2NhdGlvbkIgPSBjb250ZXh0Qi5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbUIsICd1X21vZGVsVmlld1Byb2pNYXRyaXgnKTsKKworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRB
LmNvbXBpbGVTaGFkZXIoc2hhZGVyQikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5saW5rUHJvZ3JhbShwcm9n
cmFtQikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJ
RF9PUEVSQVRJT04sICJjb250ZXh0QS5hdHRhY2hTaGFkZXIocHJvZ3JhbUEsIHNoYWRlckIpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFU
SU9OLCAiY29udGV4dEEuYXR0YWNoU2hhZGVyKHByb2dyYW1CLCBzaGFkZXJBKSIpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNv
bnRleHRBLmF0dGFjaFNoYWRlcihwcm9ncmFtQiwgc2hhZGVyQikiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5k
ZXRhY2hTaGFkZXIocHJvZ3JhbUEsIHNoYWRlckIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEuZGV0YWNoU2hh
ZGVyKHByb2dyYW1CLCBzaGFkZXJBKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRB
LCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLmRldGFjaFNoYWRlcihwcm9n
cmFtQiwgc2hhZGVyQikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4
dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5zaGFkZXJTb3VyY2Uoc2hhZGVyQiwgJ2Zv
bycpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURf
T1BFUkFUSU9OLCAiY29udGV4dEEuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dyYW1CLCAwLCAnZm9v
JykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9P
UEVSQVRJT04sICJjb250ZXh0QS5iaW5kRnJhbWVidWZmZXIoY29udGV4dEEuRlJBTUVCVUZGRVIs
IGZyYW1lQnVmZmVyQikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4
dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHRB
LlJFTkRFUkJVRkZFUiwgcmVuZGVyQnVmZmVyQikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5iaW5kVGV4dHVy
ZShjb250ZXh0QS5URVhUVVJFXzJELCB0ZXh0dXJlQikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5mcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlcihjb250ZXh0QS5GUkFNRUJVRkZFUiwgY29udGV4dEEuREVQVEhfQVRU
QUNITUVOVCwgY29udGV4dEEuUkVOREVSQlVGRkVSLCByZW5kZXJCdWZmZXJCKSIpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNv
bnRleHRBLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHRBLkZSQU1FQlVGRkVSLCBjb250ZXh0
QS5DT0xPUl9BVFRBQ0hNRU5UMCwgY29udGV4dEEuVEVYVFVSRV8yRCwgdGV4dHVyZUIsIDApIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFU
SU9OLCAiY29udGV4dEEuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtQiwgMCkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJj
b250ZXh0QS5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtQiwgMCkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5n
ZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyQiwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5nZXRTaGFkZXJJ
bmZvTG9nKHNoYWRlckIsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNv
bnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEuZ2V0U2hhZGVyU291cmNlKHNoYWRl
ckIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURf
T1BFUkFUSU9OLCAiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtQiwgbG9jYXRpb25BKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElP
TiwgImNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtQiwgJ3VfbW9kZWxWaWV3UHJv
ak1hdHJpeCcpIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvbWV0aG9kcy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Y29udGV4dC9tZXRob2RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwYThjODkyYzgwMTcyMmFlZjU1NDhh
YWFhODNkYjc4OGJiMDU0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvbWV0aG9kcy5odG1s
CkBAIC0wLDAgKzEsMjI0IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgTWV0aG9kcyBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHN0eWxl
PSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ug
c3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRoZSBXZWJHTCBj
b250ZXh0IGhhcyBhbGwgdGhlIG1ldGhvZHMgaW4gdGhlIHNwZWNpZmljYXRpb24uIik7CisKK3Zh
ciBtZXRob2RzID0gWworImNhbnZhcyIsCisiZ2V0Q29udGV4dEF0dHJpYnV0ZXMiLAorImFjdGl2
ZVRleHR1cmUiLAorImF0dGFjaFNoYWRlciIsCisiYmluZEF0dHJpYkxvY2F0aW9uIiwKKyJiaW5k
QnVmZmVyIiwKKyJiaW5kRnJhbWVidWZmZXIiLAorImJpbmRSZW5kZXJidWZmZXIiLAorImJpbmRU
ZXh0dXJlIiwKKyJibGVuZENvbG9yIiwKKyJibGVuZEVxdWF0aW9uIiwKKyJibGVuZEVxdWF0aW9u
U2VwYXJhdGUiLAorImJsZW5kRnVuYyIsCisiYmxlbmRGdW5jU2VwYXJhdGUiLAorImJ1ZmZlckRh
dGEiLAorImJ1ZmZlclN1YkRhdGEiLAorImNoZWNrRnJhbWVidWZmZXJTdGF0dXMiLAorImNsZWFy
IiwKKyJjbGVhckNvbG9yIiwKKyJjbGVhckRlcHRoIiwKKyJjbGVhclN0ZW5jaWwiLAorImNvbG9y
TWFzayIsCisiY29tcGlsZVNoYWRlciIsCisiY29weVRleEltYWdlMkQiLAorImNvcHlUZXhTdWJJ
bWFnZTJEIiwKKyJjcmVhdGVCdWZmZXIiLAorImNyZWF0ZUZyYW1lYnVmZmVyIiwKKyJjcmVhdGVQ
cm9ncmFtIiwKKyJjcmVhdGVSZW5kZXJidWZmZXIiLAorImNyZWF0ZVNoYWRlciIsCisiY3JlYXRl
VGV4dHVyZSIsCisiY3VsbEZhY2UiLAorImRlbGV0ZUJ1ZmZlciIsCisiZGVsZXRlRnJhbWVidWZm
ZXIiLAorImRlbGV0ZVByb2dyYW0iLAorImRlbGV0ZVJlbmRlcmJ1ZmZlciIsCisiZGVsZXRlU2hh
ZGVyIiwKKyJkZWxldGVUZXh0dXJlIiwKKyJkZXB0aEZ1bmMiLAorImRlcHRoTWFzayIsCisiZGVw
dGhSYW5nZSIsCisiZGV0YWNoU2hhZGVyIiwKKyJkaXNhYmxlIiwKKyJkaXNhYmxlVmVydGV4QXR0
cmliQXJyYXkiLAorImRyYXdBcnJheXMiLAorImRyYXdFbGVtZW50cyIsCisiZW5hYmxlIiwKKyJl
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheSIsCisiZmluaXNoIiwKKyJmbHVzaCIsCisiZnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIiLAorImZyYW1lYnVmZmVyVGV4dHVyZTJEIiwKKyJmcm9udEZhY2UiLAor
ImdlbmVyYXRlTWlwbWFwIiwKKyJnZXRBY3RpdmVBdHRyaWIiLAorImdldEFjdGl2ZVVuaWZvcm0i
LAorImdldEF0dGFjaGVkU2hhZGVycyIsCisiZ2V0QXR0cmliTG9jYXRpb24iLAorImdldFBhcmFt
ZXRlciIsCisiZ2V0QnVmZmVyUGFyYW1ldGVyIiwKKyJnZXRFcnJvciIsCisiZ2V0RnJhbWVidWZm
ZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyJnZXRQcm9ncmFtUGFyYW1ldGVyIiwKKyJnZXRQcm9n
cmFtSW5mb0xvZyIsCisiZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyIiwKKyJnZXRTaGFkZXJQYXJh
bWV0ZXIiLAorImdldFNoYWRlckluZm9Mb2ciLAorImdldFNoYWRlclNvdXJjZSIsCisiZ2V0VGV4
UGFyYW1ldGVyIiwKKyJnZXRVbmlmb3JtIiwKKyJnZXRVbmlmb3JtTG9jYXRpb24iLAorImdldFZl
cnRleEF0dHJpYiIsCisiZ2V0VmVydGV4QXR0cmliT2Zmc2V0IiwKKyJoaW50IiwKKyJpc0J1ZmZl
ciIsCisiaXNFbmFibGVkIiwKKyJpc0ZyYW1lYnVmZmVyIiwKKyJpc1Byb2dyYW0iLAorImlzUmVu
ZGVyYnVmZmVyIiwKKyJpc1NoYWRlciIsCisiaXNUZXh0dXJlIiwKKyJsaW5lV2lkdGgiLAorImxp
bmtQcm9ncmFtIiwKKyJwaXhlbFN0b3JlaSIsCisicG9seWdvbk9mZnNldCIsCisicmVhZFBpeGVs
cyIsCisicmVuZGVyYnVmZmVyU3RvcmFnZSIsCisic2FtcGxlQ292ZXJhZ2UiLAorInNjaXNzb3Ii
LAorInNoYWRlclNvdXJjZSIsCisic3RlbmNpbEZ1bmMiLAorInN0ZW5jaWxGdW5jU2VwYXJhdGUi
LAorInN0ZW5jaWxNYXNrIiwKKyJzdGVuY2lsTWFza1NlcGFyYXRlIiwKKyJzdGVuY2lsT3AiLAor
InN0ZW5jaWxPcFNlcGFyYXRlIiwKKyJ0ZXhJbWFnZTJEIiwKKyJ0ZXhQYXJhbWV0ZXJmIiwKKyJ0
ZXhQYXJhbWV0ZXJpIiwKKyJ0ZXhTdWJJbWFnZTJEIiwKKyJ1bmlmb3JtMWYiLAorInVuaWZvcm0x
ZnYiLAorInVuaWZvcm0xaSIsCisidW5pZm9ybTFpdiIsCisidW5pZm9ybTJmIiwKKyJ1bmlmb3Jt
MmZ2IiwKKyJ1bmlmb3JtMmkiLAorInVuaWZvcm0yaXYiLAorInVuaWZvcm0zZiIsCisidW5pZm9y
bTNmdiIsCisidW5pZm9ybTNpIiwKKyJ1bmlmb3JtM2l2IiwKKyJ1bmlmb3JtNGYiLAorInVuaWZv
cm00ZnYiLAorInVuaWZvcm00aSIsCisidW5pZm9ybTRpdiIsCisidW5pZm9ybU1hdHJpeDJmdiIs
CisidW5pZm9ybU1hdHJpeDNmdiIsCisidW5pZm9ybU1hdHJpeDRmdiIsCisidXNlUHJvZ3JhbSIs
CisidmFsaWRhdGVQcm9ncmFtIiwKKyJ2ZXJ0ZXhBdHRyaWIxZiIsCisidmVydGV4QXR0cmliMWZ2
IiwKKyJ2ZXJ0ZXhBdHRyaWIyZiIsCisidmVydGV4QXR0cmliMmZ2IiwKKyJ2ZXJ0ZXhBdHRyaWIz
ZiIsCisidmVydGV4QXR0cmliM2Z2IiwKKyJ2ZXJ0ZXhBdHRyaWI0ZiIsCisidmVydGV4QXR0cmli
NGZ2IiwKKyJ2ZXJ0ZXhBdHRyaWJQb2ludGVyIiwKKyJ2aWV3cG9ydCIKK10KKworZnVuY3Rpb24g
YXNzZXJ0UHJvcGVydHkodiwgcCkgeworICB0cnkgeworICAgIGlmICh2W3BdID09IG51bGwpIHsK
KyAgICAgIHRlc3RGYWlsZWQoIlByb3BlcnR5IGRvZXMgbm90IGV4aXN0OiAiICsgcCkKKyAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9IGVsc2UgeworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICB9IGNhdGNoKGUpIHsKKyAgICB0ZXN0RmFpbGVkKCJUcnlpbmcgdG8gYWNjZXNzIHRoZSBwcm9w
ZXJ0eSAnIitwKyInIHRocmV3IGFuIGVycm9yOiAiK2UudG9TdHJpbmcoKSk7CisgIH0KK30KKwor
ZGVidWcoIiIpOworZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
Iik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7Cit2YXIgcGFzc2VkID0g
dHJ1ZTsKK2ZvciAodmFyIGk9MDsgaTxtZXRob2RzLmxlbmd0aDsgaSsrKSB7CisgIHZhciByID0g
YXNzZXJ0UHJvcGVydHkoZ2wsIG1ldGhvZHNbaV0pOworICBwYXNzZWQgPSBwYXNzZWQgJiYgcjsK
K30KK2lmIChwYXNzZWQpIHsKKyAgdGVzdFBhc3NlZCgiQWxsIFdlYkdMIG1ldGhvZHMgZm91bmQu
Iik7Cit9Cit2YXIgZXh0ZW5kZWQgPSBmYWxzZTsKK2ZvciAodmFyIGkgaW4gZ2wpIHsKKyAgaWYg
KGkubWF0Y2goL15bYS16XS8pICYmIG1ldGhvZHMuaW5kZXhPZihpKSA9PSAtMSkgeworICAgIGlm
ICghZXh0ZW5kZWQpIHsKKyAgICAgIGV4dGVuZGVkID0gdHJ1ZTsKKyAgICAgIGRlYnVnKCJBbHNv
IGZvdW5kIHRoZSBmb2xsb3dpbmcgZXh0cmEgbWV0aG9kczoiKTsKKyAgICB9CisgICAgZGVidWco
aSk7CisgIH0KK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9wcmVt
dWx0aXBseWFscGhhLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvcHJlbXVsdGlwbHlhbHBoYS10ZXN0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzk0YTVhOWNlNmI5YTBkNmQ0NzVlNWZlNzUzZTc1MjMxOGQ3OTIxNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvcHJlbXVsdGlwbHlhbHBoYS10ZXN0Lmh0bWwKQEAg
LTAsMCArMSwxOTIgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPlRlc3QgdGhlIFdlYkdMIHByZW11bHRpcGxlZEFscGhhIGNvbnRleHQgY3JlYXRpb24g
ZmxhZy48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PjxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0
IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKwordmFyIHRlc3RzID0gWworICAvLyBJZiBw
cmVtdWx0aXBsZWRBbHBoYSBpcyB0cnVlIHRoZW4KKyAgLy8gW3RleHR1cmVdICAgICAgICAgICBb
Y2FudmFzXSAgICAgICAgICAgICBbZGF0YVVSTF0KKyAgLy8gMzIsIDY0LCAxMjgsIDEyOCAtPiA2
NCwgMTI4LCAyNTUsIDEyOCAtPiA2NCwgMTI4LCAyNTUsIDEyOAorICB7IGNyZWF0aW9uQXR0cmli
dXRlczoge30sCisgICAgc2VudENvbG9yOiBbMzIsIDY0LCAxMjgsIDEyOF0sCisgICAgZXhwZWN0
ZWRDb2xvcjogWzY0LCAxMjgsIDI1NSwgMTI4XSwKKyAgICBlcnJvclJhbmdlOiAyLAorICAgIGlt
YWdlRm9ybWF0OiAiaW1hZ2UvcG5nIgorICB9LAorICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBp
cyB0cnVlIHRoZW4KKyAgLy8gW3RleHR1cmVdICAgICAgICAgICBbY2FudmFzXSAgICAgICAgICAg
ICBbdGV4dHVyZV0KKyAgLy8gMzIsIDY0LCAxMjgsIDEyOCAtPiA2NCwgMTI4LCAyNTUsIDEyOCAt
PiA2NCwgMTI4LCAyNTUsIDEyOAorICB7IGNyZWF0aW9uQXR0cmlidXRlczoge30sCisgICAgc2Vu
dENvbG9yOiBbMzIsIDY0LCAxMjgsIDEyOF0sCisgICAgZXhwZWN0ZWRDb2xvcjogWzY0LCAxMjgs
IDI1NSwgMTI4XSwKKyAgICBlcnJvclJhbmdlOiAyLAorICB9LAorICAvLyBJZiBwcmVtdWx0aXBs
ZWRBbHBoYSBpcyBmYWxzZSB0aGVuCisgIC8vIFt0ZXh0dXJlXSAgICAgICAgICAgW2NhbnZhc10g
ICAgICAgICAgICBbZGF0YVVSTF0KKyAgLy8gMjU1LCAxOTIsIDEyOCwgMSAtPiAyNTUsIDE5Miwg
MTI4LCAxIC0+IDI1NSwgMTkyLCAxMjgsIDEKKyAgeyBjcmVhdGlvbkF0dHJpYnV0ZXM6IHtwcmVt
dWx0aXBsaWVkQWxwaGE6IGZhbHNlfSwKKyAgICBzZW50Q29sb3I6IFsyNTUsIDE5MiwgMTI4LCAx
XSwKKyAgICBleHBlY3RlZENvbG9yOiBbMjU1LCAxOTIsIDEyOCwgMV0sCisgICAgZXJyb3JSYW5n
ZTogMCwKKyAgICBpbWFnZUZvcm1hdDogImltYWdlL3BuZyIKKyAgfSwKKyAgLy8gSWYgcHJlbXVs
dGlwbGVkQWxwaGEgaXMgZmFsc2UgdGhlbgorICAvLyBbdGV4dHVyZV0gICAgICAgICAgIFtjYW52
YXNdICAgICAgICAgICAgW3RleHR1cmVdCisgIC8vIDI1NSwgMTkyLCAxMjgsIDEgLT4gMjU1LCAx
OTIsIDEyOCwgMSAtPiAyNTUsIDE5MiwgMTI4LCAxCisgIHsgY3JlYXRpb25BdHRyaWJ1dGVzOiB7
cHJlbXVsdGlwbGllZEFscGhhOiBmYWxzZX0sCisgICAgc2VudENvbG9yOiBbMjU1LCAxOTIsIDEy
OCwgMV0sCisgICAgZXhwZWN0ZWRDb2xvcjogWzI1NSwgMTkyLCAxMjgsIDFdLAorICAgIGVycm9y
UmFuZ2U6IDAsCisgIH0sCisgIC8vIElmIHByZW11bHRpcGxlZEFscGhhIGlzIGZhbHNlIHRoZW4K
KyAgLy8gW3RleHR1cmVdICAgICAgICAgICAgIFtjYW52YXNdICAgICAgICAgICAgW2RhdGFVUkxd
CisgIC8vIDI1NSwgMjU1LCAyNTUsIDEyOCAtPiAyNTUsIDI1NSwgMjU1LCAxMjggLT4gMTI4LCAx
MjgsIDEyOCwgMjU1CisgIHsgY3JlYXRpb25BdHRyaWJ1dGVzOiB7cHJlbXVsdGlwbGllZEFscGhh
OiBmYWxzZX0sCisgICAgc2VudENvbG9yOiBbMjU1LCAyNTUsIDI1NSwgMTI4XSwKKyAgICBleHBl
Y3RlZENvbG9yOiBbMTI4LCAxMjgsIDEyOCwgMjU1XSwKKyAgICBlcnJvclJhbmdlOiAyLAorICAg
IGltYWdlRm9ybWF0OiAiaW1hZ2UvanBlZyIKKyAgfSwKKyAgLy8gSWYgcHJlbXVsdGlwbGVkQWxw
aGEgaXMgdHJ1ZSB0aGVuCisgIC8vIFt0ZXh0dXJlXSAgICAgICAgICAgICBbY2FudmFzXSAgICAg
ICAgICAgIFtkYXRhVVJMXQorICAvLyAxMjgsIDEyOCwgMTI4LCAxMjggLT4gMjU1LCAyNTUsIDI1
NSwgMTI4IC0+IDEyOCwgMTI4LCAxMjgsIDI1NQorICB7IGNyZWF0aW9uQXR0cmlidXRlczoge30s
CisgICAgc2VudENvbG9yOiBbMTI4LCAxMjgsIDEyOCwgMTI4XSwKKyAgICBleHBlY3RlZENvbG9y
OiBbMTI4LCAxMjgsIDEyOCwgMjU1XSwKKyAgICBlcnJvclJhbmdlOiAyLAorICAgIGltYWdlRm9y
bWF0OiAiaW1hZ2UvanBlZyIKKyAgfQorXTsKKwordmFyIGdfY291bnQgPSAwOwordmFyIGdsOwor
dmFyIGNhbnZhczsKK3ZhciBwcmVtdWx0aXBsZWRBbHBoYTsKKworZGVzY3JpcHRpb24oIlRlc3Qg
dGhlIFdlYkdMIHByZW11bHRpcGxlZEFscGhhIGNvbnRleHQgY3JlYXRpb24gZmxhZy4iKTsKK2Rv
TmV4dFRlc3QoKTsKK2Z1bmN0aW9uIGRvTmV4dFRlc3QoKSB7CisgIGlmIChnX2NvdW50IDwgdGVz
dHMubGVuZ3RoKSB7CisgICAgIHZhciB0ZXN0ID0gdGVzdHNbZ19jb3VudCsrXTsKKyAgICAgY2Fu
dmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgICAgIC8vIE5lZWQgdG8g
cHJlc2VydmUgZHJhd2luZyBidWZmZXIgdG8gbG9hZCBpdCBpbiBhIGNhbGxiYWNrCisgICAgIHRl
c3QuY3JlYXRpb25BdHRyaWJ1dGVzLnByZXNlcnZlRHJhd2luZ0J1ZmZlciA9IHRydWU7CisgICAg
IGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMsIHRlc3QuY3JlYXRpb25BdHRyaWJ1dGVz
KTsKKyAgICAgdmFyIHByZW11bHRpcGxpZWRBbHBoYSA9IHRlc3QuY3JlYXRpb25BdHRyaWJ1dGVz
LnByZW11bHRpcGxpZWRBbHBoYSAhPSBmYWxzZTsKKyAgICAgZGVidWcoIiIpCisgICAgIGRlYnVn
KCJ0ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6ICIgKyBwcmVtdWx0aXBsaWVkQWxwaGEgKyAi
IGltYWdlRm9ybWF0OiAiICsgdGVzdC5pbWFnZUZvcm1hdCk7CisKKyAgICAgc2hvdWxkQmUoJ2ds
LmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxwaGEnLCAncHJlbXVsdGlwbGVk
QWxwaGEnKTsKKyAgICAgc2hvdWxkQmVUcnVlKCdnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnBy
ZXNlcnZlRHJhd2luZ0J1ZmZlcicpOworCisgICAgIHd0dS5sb2coZ2wuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKSk7CisgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsK
KworICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVy
cm9ycyBmcm9tIHNldHVwLiIpOworICAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwor
ICAgICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgMiwgMiwgdGVzdC5zZW50Q29sb3IsIDApOwor
ICAgICB2YXIgbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAg
ICAgZ2wudW5pZm9ybTFpKGxvYywgMCk7CisgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgICBnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsK
KyAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywg
Z2wuQ0xBTVBfVE9fRURHRSk7CisgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworCisgICAgIHd0dS5kcmF3UXVh
ZChnbCk7CisgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUg
bm8gZXJyb3JzIGZyb20gZHJhd2luZy4iKTsKKworICAgICB2YXIgbG9hZFRleHR1cmUgPSBmdW5j
dGlvbigpIHsKKyAgICAgICB2YXIgcG5nVGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAg
IC8vIG5vdCBuZWVkZWQgYXMgaXQncyB0aGUgZGVmYXVsdAorICAgICAgIC8vIGdsLnBpeGVsU3Rv
cmVpKGdsLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgZmFsc2UpOworICAgICAgIGds
LnBpeGVsU3RvcmVpKGdsLlVOUEFDS19DT0xPUlNQQUNFX0NPTlZFUlNJT05fV0VCR0wsIGZhbHNl
KTsKKyAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBwbmdUZXgpOworICAgICAg
IGlmICh0ZXN0LmltYWdlRm9ybWF0KSB7CisgICAgICAgICAgLy8gY3JlYXRlIHRleHR1cmUgZnJv
bSBpbWFnZQorICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdGhpcyk7CisgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAvLyBjcmVhdGUgdGV4dHVyZSBmcm9tIGNhbnZhcworICAgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgY2FudmFzKTsKKyAgICAgICB9CisgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJF
XzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVBUik7
CisgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
UywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJF
XzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBjcmVh
dGluZyBjb3B5LiIpOworICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSAybmQgZHJh
d2luZy4iKTsKKyAgICAgICB3dHUuY2hlY2tDYW52YXMoCisgICAgICAgICAgZ2wsIHRlc3QuZXhw
ZWN0ZWRDb2xvciwKKyAgICAgICAgICAic2hvdWxkIGRyYXcgd2l0aCAiICsgdGVzdC5leHBlY3Rl
ZENvbG9yLCB0ZXN0LmVycm9yUmFuZ2UpOworCisgICAgICAgZG9OZXh0VGVzdCgpOworICAgICB9
CisKKyAgICAgaWYgKHRlc3QuaW1hZ2VGb3JtYXQpIHsKKyAgICAgICAgLy8gTG9hZCBjYW52YXMg
aW50byBzdHJpbmcgdXNpbmcgdG9EYXRhVVJMCisgICAgICAgIHZhciBpbWFnZVVybCA9IGNhbnZh
cy50b0RhdGFVUkwodGVzdC5pbWFnZUZvcm1hdCk7CisgICAgICAgIGlmICh0ZXN0LmltYWdlRm9y
bWF0ICE9ICJpbWFnZS9wbmciICYmCisgICAgICAgICAgICAoaW1hZ2VVcmwuaW5kZXhPZigiZGF0
YTppbWFnZS9wbmcsIikgPT0gMCB8fAorICAgICAgICAgICAgIGltYWdlVXJsLmluZGV4T2YoImRh
dGE6aW1hZ2UvcG5nOyIpID09IDApKSB7CisgICAgICAgICAgZGVidWcoIkltYWdlIGZvcm1hdCAi
ICsgdGVzdC5pbWFnZUZvcm1hdCArICIgbm90IHN1cHBvcnRlZDsgc2tpcHBpbmciKTsKKyAgICAg
ICAgICBzZXRUaW1lb3V0KGRvTmV4dFRlc3QsIDApOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgIC8vIExvYWQgc3RyaW5nIGludG8gdGhlIHRleHR1cmUKKyAgICAgICAgICB2YXIgaW5wdXQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgICAgICBpbnB1dC5vbmxvYWQg
PSBsb2FkVGV4dHVyZTsKKyAgICAgICAgICBpbnB1dC5zcmMgPSBpbWFnZVVybDsKKyAgICAgICAg
fQorICAgICB9IGVsc2UgeworICAgICAgICAvLyBMb2FkIGNhbnZhcyBpbnRvIHRoZSB0ZXh0dXJl
IGFzeW5jaHJvbm91c2x5ICh0byBwcmV2ZW50IHVuYm91bmRlZCBzdGFjayBjb25zdW1wdGlvbikK
KyAgICAgICAgc2V0VGltZW91dChsb2FkVGV4dHVyZSwgMCk7CisgICAgIH0KKyAgIH0gZWxzZSB7
CisgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgIH0KK30KKworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jb250ZXh0L3Jlc291cmNlLXNoYXJpbmctdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJj
ZS1zaGFyaW5nLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2Q3NTQzMTQwMTE0ZDdhZDI1ZWNkM2Fi
MzU0NzM0MTQ4ZTEyMWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZS1zaGFy
aW5nLXRlc3QuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBSZXNvdXJjZSBTaGFyaW5nLjwvdGl0
bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJl
eGFtcGxlMSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6
IDQwcHg7Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUyIiB3aWR0aD0iMiIgaGVpZ2h0
PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcmVzb3VyY2VzIGNhbiBu
b3QgYmUgc2hhcmVkLiIpOworZGVidWcoIiIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
Cit2YXIgZ2wxID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZTEiKTsKK3ZhciBnbDIgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlMiIpOworYXNzZXJ0TXNnKGdsMSAmJiBnbDIsCisg
ICAgICAgICAgIkdvdCAzZCBjb250ZXh0LiIpOworCit2YXIgdmVydGV4T2JqZWN0ID0gZ2wxLmNy
ZWF0ZUJ1ZmZlcigpOworZ2wyLmJpbmRCdWZmZXIoZ2wyLkFSUkFZX0JVRkZFUiwgdmVydGV4T2Jq
ZWN0KTsKK2Fzc2VydE1zZygKKyAgZ2wyLmdldEVycm9yKCkgPT0gZ2wyLklOVkFMSURfT1BFUkFU
SU9OLAorICAiYXR0ZW1wdCB0byB1c2UgYSByZXNvdXJjZSBmcm9tIHRoZSB3cm9uZyBjb250ZXh0
IHNob3VsZCBmYWlsIHdpdGggSU5WQUxJRF9PUEVSQVRJT04iKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY29udGV4dC9yZXNvdXJjZXMvY29udGV4dC1yZWxlYXNlLWNoaWxkLXdpdGgtd29ya2VyLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jb250ZXh0L3Jlc291cmNlcy9jb250ZXh0LXJlbGVhc2UtY2hpbGQtd2l0aC13b3JrZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mZTcxZTcyNzE3Y2FhYWYzNDZkOTZiMDIxMjI3OTEzODNiNDQwMDZh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZXMvY29udGV4dC1yZWxlYXNlLWNo
aWxkLXdpdGgtd29ya2VyLmh0bWwKQEAgLTAsMCArMSw3OCBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIHN0eWxlPSJtYXJn
aW46IDA7IHBhZGRpbmc6IDA7Ij4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cisg
ICAgPHRpdGxlPlNpbXBsZSBXZWJHTCBjb250ZXh0IHdpdGggV29ya2VyPC90aXRsZT4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93
OiBoaWRkZW47Ij4KKyAgICA8Y2FudmFzIGlkPSJjIgorICAgICAgICB3aWR0aD0iMTY4MCIgaGVp
Z2h0PSIxMDUwIgorICAgICAgICBzdHlsZT0id2lkdGg6IDI1NnB4OyBoZWlnaHQ6IDI1NnB4OyI+
IDwhLS0gc2NhbGVkIHRvIGZpdCBwYWdlIGJldHRlciAtLT4KKyAgICA8c2NyaXB0IGlkPSJ2c2hh
ZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICAgIGF0dHJpYnV0ZSB2ZWM0IHZQ
b3NpdGlvbjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xf
UG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxz
Y3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgICB2
b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEu
MCwwLjAsMC4wLDEuMCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxzY3JpcHQ+
CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworICAgICAgICB2YXIgbXlXb3JrZXIgPSBuZXcgV29ya2VyKCJjb250ZXh0LXJlbGVhc2Utd29y
a2VyLmpzIik7CisKKyAgICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiYyIsIHsi
YW50aWFsaWFzZWQiOiBmYWxzZX0pOworICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFBy
b2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9uIl0pOworCisgICAg
ICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7CisgICAgICAgIGdsLmJ1ZmZl
ckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgMCwwLjc1LDAsIC0wLjc1
LC0wLjc1LDAsIDAuNzUsLTAuNzUsMCBdKSwgZ2wuU1RBVElDX0RSQVcpOworICAgICAgICBnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRl
cigwLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgICAgIGdsLmNsZWFyQ29sb3Io
MC4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgMyk7CisKKyAgICAgICAgaWYocGFyZW50KSB7CisgICAgICAgICAgICB3aW5kb3cu
Z2xDb250ZXh0ID0gZ2w7CisgICAgICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UoIlJlYWR5Iiwg
IioiKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY29udGV4dC9yZXNvdXJjZXMvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2FkLWNoaWxk
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jb250ZXh0L3Jlc291cmNlcy9jb250ZXh0LXJlbGVhc2UtdXBvbi1yZWxvYWQtY2hp
bGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jMmM3NThjZmZlMjEzNDAyY2Q3ZjhiMjExNWEzOGUwNGNlN2I3
NTYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZXMvY29udGV4dC1yZWxlYXNl
LXVwb24tcmVsb2FkLWNoaWxkLmh0bWwKQEAgLTAsMCArMSw3NyBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIHN0eWxlPSJt
YXJnaW46IDA7IHBhZGRpbmc6IDA7Ij4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
CisgICAgPHRpdGxlPlNpbXBsZSBXZWJHTCBjb250ZXh0PC90aXRsZT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG92ZXJmbG93OiBoaWRkZW47
Ij4KKyAgICA8Y2FudmFzIGlkPSJjIgorICAgICAgICB3aWR0aD0iMTY4MCIgaGVpZ2h0PSIxMDUw
IgorICAgICAgICBzdHlsZT0id2lkdGg6IDI1NnB4OyBoZWlnaHQ6IDI1NnB4OyI+IDwhLS0gc2Nh
bGVkIHRvIGZpdCBwYWdlIGJldHRlciAtLT4KKyAgICA8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBl
PSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsK
KyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xfUG9zaXRpb24g
PSB2UG9zaXRpb247CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxzY3JpcHQgaWQ9
ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgICB2b2lkIG1haW4o
KQorICAgICAgICB7CisgICAgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwwLjAsMC4w
LDEuMCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxzY3JpcHQ+CisgICAgICAg
ICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCisgICAg
ICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMiLCB7ImFudGlhbGlhc2VkIjogZmFs
c2V9KTsKKyAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFk
ZXIiLCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKworICAgICAgICB2YXIgdmVydGV4T2Jq
ZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JV
RkZFUiwgbmV3IEZsb2F0MzJBcnJheShbIDAsMC43NSwwLCAtMC43NSwtMC43NSwwLCAwLjc1LC0w
Ljc1LDAgXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkoMCk7CisgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKworICAgICAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAwLjAsIDEu
MCk7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZG
RVJfQklUKTsKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOworCisg
ICAgICAgIGlmIChwYXJlbnQpIHsKKyAgICAgICAgICAgIHdpbmRvdy5nbENvbnRleHQgPSBnbDsK
KyAgICAgICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZSgiUmVhZHkiLCAiKiIpOworICAgICAgICB9
CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L3Jl
c291cmNlcy9jb250ZXh0LXJlbGVhc2Utd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZXMvY29u
dGV4dC1yZWxlYXNlLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjgwMTE3YzI1YjNkYTE3OTM4MmJm
MTkxMTk3NTNmMzFhNjZmNmM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9yZXNvdXJjZXMv
Y29udGV4dC1yZWxlYXNlLXdvcmtlci5qcwpAQCAtMCwwICsxLDQgQEAKKy8vIFNpbXBsZSB3b3Jr
ZXIgdXNlZCB0byBwcm92b2tlIFdlYkdMIGNvbnRleHQgcmVsZWFzZSBidWdzIG9uIENocm9tZQor
Citwb3N0TWVzc2FnZSgiSGVsbG8gV29ybGQiKTsKK2Nsb3NlKCk7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>