<?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>24294</bug_id>
          
          <creation_ts>2009-03-02 10:11:54 -0800</creation_ts>
          <short_desc>Improve media layout test logging</short_desc>
          <delta_ts>2009-03-03 17:07:53 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>111846</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-03-02 10:11:54 -0800</bug_when>
    <thetext>Most media layout tests log to too little information to diagnose a failure without examining the test source. All tests should log the condition that is being tested as well as success or failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111851</commentid>
    <comment_count>1</comment_count>
      <attachid>28181</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-03-02 10:36:33 -0800</bug_when>
    <thetext>Created attachment 28181
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112108</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-03-03 17:07:53 -0800</bug_when>
    <thetext>Committed revision 41413.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28181</attachid>
            <date>2009-03-02 10:36:33 -0800</date>
            <delta_ts>2009-03-03 16:18:40 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>111937</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQxMzYwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQwIEBACisyMDA5LTAzLTAyICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI0Mjk0CisgICAgICAgIEJ1ZyAyNDI5NDogSW1wcm92ZSBtZWRpYSBsYXlvdXQgdGVz
dCBsb2dnaW5nCisgICAgICAgIAorICAgICAgICBNYWtlIGFsbCBtZWRpYSBsYXlvdXQgdGVzdHMg
bG9nIHRoZSBjb25kaXRpb24gdGhhdCBpcyBiZWluZyB0ZXN0ZWQKKyAgICAgICAgYXMgd2VsbCBh
cyBzdWNjZXNzIG9yIGZhaWx1cmUgc28gaXQgaXMgcG9zc2libGUgdG8gc2VlIHdoYXQgZmFpbGVk
CisgICAgICAgIHdpdGhvdXQgaGF2aW5nIHRvIGxvb2sgYXQgdGhlIHRlc3Qgc291cmNlLiBDb25z
b2xpZGF0ZSBzb21lIG9mCisgICAgICAgIHRoZSBsb2dpYyBpbiB0aGUgc2hhcmVkIEphdmFTY3Jp
cHQgZmlsZS4KKworICAgICAgICAqIG1lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBtZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci1zcmMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIG1lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXNyYy5odG1sOgorICAgICAgICAqIG1l
ZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLmh0bWw6CisgICAgICAgICogbWVkaWEvYXVkaW8tbXBlZy1z
dXBwb3J0ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL2F1ZGlvLW1wZWctc3VwcG9y
dGVkLmh0bWw6CisgICAgICAgICogbWVkaWEvYnJva2VuLXZpZGVvLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBtZWRpYS9icm9rZW4tdmlkZW8uaHRtbDoKKyAgICAgICAgKiBtZWRpYS9jb25zdHJ1
Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL2NvbnN0cnVjdG9ycy5odG1sOgor
ICAgICAgICAqIG1lZGlhL2xvb3BlbmQtbGltaXRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBt
ZWRpYS9sb29wc3RhcnQtbGltaXRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9wcm9n
cmVzcy1ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvcHJvZ3Jlc3MtZXZlbnQt
dG90YWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3Byb2dyZXNzLWV2ZW50LXRvdGFs
Lmh0bWw6CisgICAgICAgICogbWVkaWEvcHJvZ3Jlc3MtZXZlbnQuaHRtbDoKKyAgICAgICAgKiBt
ZWRpYS9yZW1vdmUtZnJvbS1kb2N1bWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEv
cmVtb3ZlLWZyb20tZG9jdW1lbnQtbm8tbG9hZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVk
aWEvcmVtb3ZlLWZyb20tZG9jdW1lbnQtbm8tbG9hZC5odG1sOgorICAgICAgICAqIG1lZGlhL3Jl
bW92ZS1mcm9tLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvdW5zdXBwb3J0ZWQtcnRz
cC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC5odG1sOgor
ICAgICAgICAqIG1lZGlhL3Vuc3VwcG9ydGVkLXRyYWNrcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvdW5zdXBwb3J0ZWQtdHJhY2tzLmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8t
YXBwZW5kLXNvdXJjZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8tYXBwZW5k
LXNvdXJjZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWF1dG9wbGF5LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1hdXRvcGxheS5odG1sOgorICAgICAgICAqIG1lZGlh
L3ZpZGVvLWJ1ZmZlcmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1idWZm
ZXJlZC5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBtZWRpYS92aWRlby1jb250cm9scy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogbWVkaWEvdmlkZW8tY29udHJvbHMtdHJhbnNmb3JtZWQuaHRtbDoKKyAgICAg
ICAgKiBtZWRpYS92aWRlby1jb250cm9scy5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWN1
cnJlbnRUaW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1jdXJyZW50VGlt
ZS1zZXQuaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1jdXJyZW50VGltZS1zZXQyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1jdXJyZW50VGltZS1zZXQyLmh0bWw6Cisg
ICAgICAgICogbWVkaWEvdmlkZW8tY3VycmVudFRpbWUuaHRtbDoKKyAgICAgICAgKiBtZWRpYS92
aWRlby1kb20tYXV0b3BsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWRv
bS1hdXRvcGxheS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWRvbS1lbmQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWRvbS1lbmQuaHRtbDoKKyAgICAgICAgKiBtZWRp
YS92aWRlby1kb20tbG9vcGNvdW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRl
by1kb20tbG9vcGNvdW50Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tZG9tLWxvb3BlbmQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWRvbS1sb29wZW5kLmh0bWw6Cisg
ICAgICAgICogbWVkaWEvdmlkZW8tZG9tLWxvb3BzdGFydC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvdmlkZW8tZG9tLWxvb3BzdGFydC5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVv
LWRvbS1zcmMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWRvbS1zcmMuaHRt
bDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1kb20tc3RhcnQtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIG1lZGlhL3ZpZGVvLWRvbS1zdGFydC5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWVu
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8tZW5kLmh0bWw6CisgICAgICAg
ICogbWVkaWEvdmlkZW8tZXJyb3ItYWJvcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlh
L3ZpZGVvLWVycm9yLWFib3J0Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tZXJyb3ItZG9l
cy1ub3QtZXhpc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWVycm9yLWRv
ZXMtbm90LWV4aXN0Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tbG9hZC1uZXR3b3JrU3Rh
dGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWxvYWQtbmV0d29ya1N0YXRl
Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tbG9hZC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1sb2FkLXJlYWR5U3RhdGUuaHRtbDoKKyAgICAgICAg
KiBtZWRpYS92aWRlby1sb29wY291bnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3Zp
ZGVvLWxvb3Bjb3VudC5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWxvb3BlbmQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLWxvb3BlbmQuaHRtbDoKKyAgICAgICAgKiBt
ZWRpYS92aWRlby1sb29wc3RhcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVv
LWxvb3BzdGFydC5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLW11dGVkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1tdXRlZC5odG1sOgorICAgICAgICAqIG1lZGlhL3Zp
ZGVvLW5vLWF1dG9wbGF5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1uby1h
dXRvcGxheS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXBhdXNlLWVtcHR5LWV2ZW50cy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8tcGF1c2UtZW1wdHktZXZlbnRzLmh0
bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tcGxheS1lbXB0eS1ldmVudHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXBsYXktZW1wdHktZXZlbnRzLmh0bWw6CisgICAgICAg
ICogbWVkaWEvdmlkZW8tcGxheS1wYXVzZS1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IG1lZGlhL3ZpZGVvLXBsYXktcGF1c2UtZXZlbnRzLmh0bWw6CisgICAgICAgICogbWVkaWEvdmlk
ZW8tcG9zdGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1wb3N0ZXIuaHRt
bDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8tc2Vlay1wYXN0LWVuZC1wYXVzZWQuaHRtbDoKKyAg
ICAgICAgKiBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBsYXlpbmctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIG1lZGlhL3ZpZGVvLXNlZWstcGFzdC1lbmQtcGxheWluZy5odG1sOgorICAgICAg
ICAqIG1lZGlhL3ZpZGVvLXNlZWthYmxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92
aWRlby1zZWVrYWJsZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNlZWtpbmctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNlZWtpbmcuaHRtbDoKKyAgICAgICAgKiBt
ZWRpYS92aWRlby1zaXplLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1zaXpl
Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tc291cmNlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBtZWRpYS92aWRlby1zb3VyY2UtbWVkaWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1l
ZGlhL3ZpZGVvLXNvdXJjZS1tZWRpYS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNvdXJj
ZS10eXBlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1zb3VyY2UtdHlwZS1w
YXJhbXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNvdXJjZS10eXBlLXBh
cmFtcy5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNvdXJjZS10eXBlLmh0bWw6CisgICAg
ICAgICogbWVkaWEvdmlkZW8tc291cmNlLmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tc3Jj
LWNoYW5nZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8tc3JjLWNoYW5nZS5o
dG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNyYy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
bWVkaWEvdmlkZW8tc3JjLXJlbW92ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlk
ZW8tc3JjLXJlbW92ZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNyYy1zZXQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXNyYy1zZXQuaHRtbDoKKyAgICAgICAgKiBt
ZWRpYS92aWRlby1zcmMtc291cmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRl
by1zcmMtc291cmNlLmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tc3JjLmh0bWw6CisgICAg
ICAgICogbWVkaWEvdmlkZW8tc3RhcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3Zp
ZGVvLXN0YXJ0Lmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tdGVzdC5qczoKKyAgICAgICAg
KHRlc3QpOgorICAgICAgICAodGVzdEV4cGVjdGVkKToKKyAgICAgICAgKHdhaXRGb3JFdmVudC5f
ZXZlbnRDYWxsYmFjayk6CisgICAgICAgICh3YWl0Rm9yRXZlbnQpOgorICAgICAgICAod2FpdEZv
ckV2ZW50QW5kVGVzdC5fZXZlbnRDYWxsYmFjayk6CisgICAgICAgICh3YWl0Rm9yRXZlbnRBbmRU
ZXN0KToKKyAgICAgICAgKHRlc3RFeGNlcHRpb24pOgorICAgICAgICAobG9nUmVzdWx0KToKKyAg
ICAgICAgKiBtZWRpYS92aWRlby12b2x1bWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlh
L3ZpZGVvLXZvbHVtZS5odG1sOgorICAgICAgICAqIG1lZGlhL3ZpZGVvLXdpZHRoLWhlaWdodC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvdmlkZW8td2lkdGgtaGVpZ2h0Lmh0bWw6CisK
IDIwMDktMDMtMDEgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRp
YS9hdWRpby1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvbWVkaWEvYXVkaW8tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkK
KysrIExheW91dFRlc3RzL21lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw4ICsxLDkgQEAKIFRlc3QgdGhhdCBBdWRpbygpIG9iamVjdCBsb2Fk
cyB0aGUgcmVzb3VyY2UgYWZ0ZXIgc3JjIGF0dHJpYnV0ZSBpcyBzZXQgYW5kIGxvYWQoKSBpcyBj
YWxsZWQuCiAKLVRFU1QoYXVkaW8gaW5zdGFuY2VvZiBIVE1MQXVkaW9FbGVtZW50KSBPSworRVhQ
RUNURUQgKGF1ZGlvIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCA9PSAndHJ1ZScpIE9LCiBS
VU4oYXVkaW8ubG9hZCgpKQotRVZFTlQobG9hZHN0YXJ0KSBURVNUKHJlbGF0aXZlVVJMKGF1ZGlv
LmN1cnJlbnRTcmMpPT0nY29udGVudC90ZXN0LndhdicpIE9LCitFVkVOVChsb2Fkc3RhcnQpCitF
WFBFQ1RFRCAocmVsYXRpdmVVUkwoYXVkaW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC53
YXYnKSBPSwogRVZFTlQobG9hZCkKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXNyYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvbWVkaWEvYXVkaW8tY29uc3RydWN0b3Itc3JjLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci1zcmMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsOCBAQAogVGVzdCB0aGF0IEF1ZGlv
KCJ1cmwiKSBjb25zdHJ1Y3RvciBsb2FkcyB0aGUgc3BlY2lmaWVkIHJlc291cmNlLgogCi1URVNU
KGF1ZGlvIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCkgT0sKLUVWRU5UKGxvYWRzdGFydCkg
VEVTVChyZWxhdGl2ZVVSTChhdWRpby5jdXJyZW50U3JjKT09J2NvbnRlbnQvdGVzdC53YXYnKSBP
SworRVhQRUNURUQgKGF1ZGlvIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCA9PSAndHJ1ZScp
IE9LCitFVkVOVChsb2Fkc3RhcnQpCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwoYXVkaW8uY3VycmVu
dFNyYykgPT0gJ2NvbnRlbnQvdGVzdC53YXYnKSBPSwogRVZFTlQobG9hZCkKIEVORCBPRiBURVNU
CiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXNyYy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXNyYy5odG1s
CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL2F1ZGlvLWNvbnN0cnVjdG9y
LXNyYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDkgKzIsMTIgQEAKIDxwPlRlc3QgdGhhdCBB
dWRpbygidXJsIikgY29uc3RydWN0b3IgbG9hZHMgdGhlIHNwZWNpZmllZCByZXNvdXJjZS48L3A+
CiA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciBhdWRp
byA9IG5ldyBBdWRpbygiY29udGVudC90ZXN0LndhdiIpOwotbWVkaWEgPSBhdWRpbzsKLXRlc3Qo
ImF1ZGlvIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCIpOwotd2FpdEZvckV2ZW50QW5kVGVz
dCgibG9hZHN0YXJ0IiwgInJlbGF0aXZlVVJMKGF1ZGlvLmN1cnJlbnRTcmMpPT0nY29udGVudC90
ZXN0LndhdiciKTsKLXdhaXRGb3JFdmVudEFuZEVuZCgibG9hZCIpOworICAgIHZhciBhdWRpbyA9
IG5ldyBBdWRpbygiY29udGVudC90ZXN0LndhdiIpOworICAgIG1lZGlhID0gYXVkaW87CisKKyAg
ICB0ZXN0RXhwZWN0ZWQoImF1ZGlvIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCIsIHRydWUp
OworCisgICAgd2FpdEZvckV2ZW50KCJsb2Fkc3RhcnQiLCBmdW5jdGlvbiAoKSB7IHRlc3RFeHBl
Y3RlZCgicmVsYXRpdmVVUkwoYXVkaW8uY3VycmVudFNyYykiLCAiY29udGVudC90ZXN0LndhdiIp
OyB9KTsKKworICAgIHdhaXRGb3JFdmVudEFuZEVuZCgibG9hZCIpOwogPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL21lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDQxMzU5
KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tY29uc3RydWN0b3IuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMiArMSwxOCBAQAogPGJvZHk+CiA8cD5UZXN0IHRoYXQgQXVkaW8oKSBvYmpl
Y3QgbG9hZHMgdGhlIHJlc291cmNlIGFmdGVyIHNyYyBhdHRyaWJ1dGUgaXMgc2V0IGFuZCBsb2Fk
KCkgaXMgY2FsbGVkLjwvcD4KKwogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4K
KwogPHNjcmlwdD4KLXZhciBhdWRpbyA9IG5ldyBBdWRpbygpOwotbWVkaWEgPSBhdWRpbzsKLXRl
c3QoImF1ZGlvIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCIpOwotd2FpdEZvckV2ZW50QW5k
VGVzdCgibG9hZHN0YXJ0IiwgInJlbGF0aXZlVVJMKGF1ZGlvLmN1cnJlbnRTcmMpPT0nY29udGVu
dC90ZXN0LndhdiciKTsKLXdhaXRGb3JFdmVudEFuZEVuZCgibG9hZCIpOwotYXVkaW8uc3JjID0g
ImNvbnRlbnQvdGVzdC53YXYiOwotcnVuKCJhdWRpby5sb2FkKCkiKTsKKyAgICB2YXIgYXVkaW8g
PSBuZXcgQXVkaW8oKTsKKyAgICBtZWRpYSA9IGF1ZGlvOworCisgICAgdGVzdEV4cGVjdGVkKCJh
dWRpbyBpbnN0YW5jZW9mIEhUTUxBdWRpb0VsZW1lbnQiLCB0cnVlKTsKKworICAgIHdhaXRGb3JF
dmVudCgibG9hZHN0YXJ0IiwgZnVuY3Rpb24gKCkgeyB0ZXN0RXhwZWN0ZWQoInJlbGF0aXZlVVJM
KGF1ZGlvLmN1cnJlbnRTcmMpIiwgImNvbnRlbnQvdGVzdC53YXYiKTsgfSk7CisKKyAgICB3YWl0
Rm9yRXZlbnRBbmRFbmQoImxvYWQiKTsKKworICAgIGF1ZGlvLnNyYyA9ICJjb250ZW50L3Rlc3Qu
d2F2IjsKKyAgICBydW4oImF1ZGlvLmxvYWQoKSIpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9tZWRpYS9hdWRpby1tcGVnLXN1cHBvcnRlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tbXBlZy1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL2F1ZGlvLW1wZWctc3VwcG9ydGVk
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKIFRlc3QgdGhhdCB0
aGUgYXVkaW8gZWxlbWVudCBzdXBwb3J0cyBNUEVHIGZpbGVzLgogCiBFVkVOVChsb2FkKQotZXhw
ZWN0ZWQgbWVkaWEuY3VycmVudFRpbWU9PScwJywgb2JzZXJ2ZWQgJzAnIC0gT0sKK0VYUEVDVEVE
IChtZWRpYS5jdXJyZW50VGltZSA9PSAnMCcpIE9LCiBFVkVOVChwbGF5KQotVEVTVChtZWRpYS5j
dXJyZW50VGltZSA+IDApIE9LCitFWFBFQ1RFRCAobWVkaWEuY3VycmVudFRpbWUgPiAnMCcpIE9L
CiBFTkQgT0YgVEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1tcGVnLXN1cHBv
cnRlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL2F1ZGlvLW1wZWctc3Vw
cG9ydGVkLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8t
bXBlZy1zdXBwb3J0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAogCiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3RDdXJyZW50VGltZSgpIAogICAgICAgICB7Ci0gICAgICAgICAg
ICB0ZXN0KCJtZWRpYS5jdXJyZW50VGltZSA+IDAiKQorICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJtZWRpYS5jdXJyZW50VGltZSIsIDAsICc+Jyk7CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAg
ICAgICAgIH0KICAgICAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL2Jyb2tlbi12aWRlby1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvYnJva2VuLXZpZGVvLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9icm9rZW4t
dmlkZW8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogVGVzdCB0
aGF0IFF1aWNrVGltZSBmaWxlIHdpdGggYnJva2VuIGNvbnRlbnQgZ2VuZXJhdGVzIGFuIGVycm9y
LgogCiBFVkVOVChlcnJvcikKLVRFU1QodmlkZW8uZXJyb3IpIE9LCitFWFBFQ1RFRCAodmlkZW8u
ZXJyb3IgPT0gJ1tvYmplY3QgTWVkaWFFcnJvcl0nKSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDog
TGF5b3V0VGVzdHMvbWVkaWEvYnJva2VuLXZpZGVvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvbWVkaWEvYnJva2VuLXZpZGVvLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0
VGVzdHMvbWVkaWEvYnJva2VuLXZpZGVvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEs
MTEgQEAKIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgogPHA+VGVzdCB0aGF0IFF1aWNrVGltZSBm
aWxlIHdpdGggYnJva2VuIGNvbnRlbnQgZ2VuZXJhdGVzIGFuIGVycm9yLjxwPgogPHNjcmlwdCBz
cmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKwogPHNjcmlwdD4KLXZpZGVvLnNyYyA9ICJjb250
ZW50L2dhcmJhZ2UubXA0IjsKLXdhaXRGb3JFdmVudCgiZXJyb3IiLCBmdW5jdGlvbiAoKSB7Ci0g
ICAgdGVzdCgidmlkZW8uZXJyb3IiKTsKLSAgICBlbmRUZXN0KCk7Ci19KTsKKyAgICB2aWRlby5z
cmMgPSAiY29udGVudC9nYXJiYWdlLm1wNCI7CisgICAgd2FpdEZvckV2ZW50KCJlcnJvciIsIGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsICJbb2JqZWN0
IE1lZGlhRXJyb3JdIik7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9KTsKIDwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvbWVkaWEvY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL2NvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzEsMTMgQEAKIFRlc3QgdGhhdCBtZWRpYSBjb25z
dHJ1Y3RvcnMgYmVoYXZlIGNvbnNpc3RlbnRseS4KIAotVEVTVChhdWRpb0pTIGluc3RhbmNlb2Yg
SFRNTEF1ZGlvRWxlbWVudCkgT0sKLVRFU1QoYXVkaW9KUyBpbnN0YW5jZW9mIEhUTUxNZWRpYUVs
ZW1lbnQpIE9LCi1URVNUKCEoYXVkaW9KUyBpbnN0YW5jZW9mIEhUTUxWaWRlb0VsZW1lbnQpKSBP
SwotVEVTVChhdWRpb0VsZW0gaW5zdGFuY2VvZiBIVE1MQXVkaW9FbGVtZW50KSBPSwotVEVTVChh
dWRpb0VsZW0gaW5zdGFuY2VvZiBIVE1MTWVkaWFFbGVtZW50KSBPSwotVEVTVCghKGF1ZGlvRWxl
bSBpbnN0YW5jZW9mIEhUTUxWaWRlb0VsZW1lbnQpKSBPSwotVEVTVCh2aWRlb0VsZW0gaW5zdGFu
Y2VvZiBIVE1MVmlkZW9FbGVtZW50KSBPSwotVEVTVCh2aWRlb0VsZW0gaW5zdGFuY2VvZiBIVE1M
TWVkaWFFbGVtZW50KSBPSwotVEVTVCghKHZpZGVvRWxlbSBpbnN0YW5jZW9mIEhUTUxBdWRpb0Vs
ZW1lbnQpKSBPSworRVhQRUNURUQgKGF1ZGlvSlMgaW5zdGFuY2VvZiBIVE1MQXVkaW9FbGVtZW50
ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChhdWRpb0pTIGluc3RhbmNlb2YgSFRNTE1lZGlhRWxl
bWVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoYXVkaW9KUyBpbnN0YW5jZW9mIEhUTUxWaWRl
b0VsZW1lbnQgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChhdWRpb0VsZW0gaW5zdGFuY2VvZiBI
VE1MQXVkaW9FbGVtZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChhdWRpb0VsZW0gaW5zdGFu
Y2VvZiBIVE1MTWVkaWFFbGVtZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChhdWRpb0VsZW0g
aW5zdGFuY2VvZiBIVE1MVmlkZW9FbGVtZW50ID09ICdmYWxzZScpIE9LCitFWFBFQ1RFRCAodmlk
ZW9FbGVtIGluc3RhbmNlb2YgSFRNTFZpZGVvRWxlbWVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RF
RCAodmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTE1lZGlhRWxlbWVudCA9PSAndHJ1ZScpIE9LCitF
WFBFQ1RFRCAodmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCA9PSAnZmFsc2Un
KSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvY29uc3RydWN0b3Jz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvY29uc3RydWN0b3JzLmh0bWwJ
KHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvY29uc3RydWN0b3JzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTQsMTcgKzQsMTcgQEAKIDxhdWRpbz48L2F1ZGlvPgogPHNjcmlw
dCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgYXVkaW9KUyA9IG5l
dyBBdWRpbygpOwotdmFyIHZpZGVvRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCd2aWRlbycpWzBdOwotdmFyIGF1ZGlvRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdhdWRpbycpWzBdOwotdGVzdCgiYXVkaW9KUyBpbnN0YW5jZW9mIEhUTUxBdWRpb0VsZW1l
bnQiKTsKLXRlc3QoImF1ZGlvSlMgaW5zdGFuY2VvZiBIVE1MTWVkaWFFbGVtZW50Iik7Ci10ZXN0
KCIhKGF1ZGlvSlMgaW5zdGFuY2VvZiBIVE1MVmlkZW9FbGVtZW50KSIpOwotdGVzdCgiYXVkaW9F
bGVtIGluc3RhbmNlb2YgSFRNTEF1ZGlvRWxlbWVudCIpOwotdGVzdCgiYXVkaW9FbGVtIGluc3Rh
bmNlb2YgSFRNTE1lZGlhRWxlbWVudCIpOwotdGVzdCgiIShhdWRpb0VsZW0gaW5zdGFuY2VvZiBI
VE1MVmlkZW9FbGVtZW50KSIpOwotdGVzdCgidmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTFZpZGVv
RWxlbWVudCIpOwotdGVzdCgidmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTE1lZGlhRWxlbWVudCIp
OwotdGVzdCgiISh2aWRlb0VsZW0gaW5zdGFuY2VvZiBIVE1MQXVkaW9FbGVtZW50KSIpOwotZW5k
VGVzdCgpOworICAgIHZhciBhdWRpb0pTID0gbmV3IEF1ZGlvKCk7CisgICAgdmFyIHZpZGVvRWxl
bSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOworICAgIHZhciBh
dWRpb0VsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYXVkaW8nKVswXTsKKyAg
ICB0ZXN0RXhwZWN0ZWQoImF1ZGlvSlMgaW5zdGFuY2VvZiBIVE1MQXVkaW9FbGVtZW50IiwgdHJ1
ZSk7CisgICAgdGVzdEV4cGVjdGVkKCJhdWRpb0pTIGluc3RhbmNlb2YgSFRNTE1lZGlhRWxlbWVu
dCIsIHRydWUpOworICAgIHRlc3RFeHBlY3RlZCgiYXVkaW9KUyBpbnN0YW5jZW9mIEhUTUxWaWRl
b0VsZW1lbnQiLCBmYWxzZSk7CisgICAgdGVzdEV4cGVjdGVkKCJhdWRpb0VsZW0gaW5zdGFuY2Vv
ZiBIVE1MQXVkaW9FbGVtZW50IiwgdHJ1ZSk7CisgICAgdGVzdEV4cGVjdGVkKCJhdWRpb0VsZW0g
aW5zdGFuY2VvZiBIVE1MTWVkaWFFbGVtZW50IiwgdHJ1ZSk7CisgICAgdGVzdEV4cGVjdGVkKCJh
dWRpb0VsZW0gaW5zdGFuY2VvZiBIVE1MVmlkZW9FbGVtZW50IiwgZmFsc2UpOworICAgIHRlc3RF
eHBlY3RlZCgidmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTFZpZGVvRWxlbWVudCIsIHRydWUpOwor
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTE1lZGlhRWxlbWVudCIs
IHRydWUpOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW9FbGVtIGluc3RhbmNlb2YgSFRNTEF1ZGlv
RWxlbWVudCIsIGZhbHNlKTsKKyAgICBlbmRUZXN0KCk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL21lZGlhL2xvb3BlbmQtbGltaXRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9tZWRpYS9sb29wZW5kLWxpbWl0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQx
MzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvbG9vcGVuZC1saW1pdHMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0yLDIzICsyLDIzIEBACiBUZXN0IGxvb3BlbmQgYXR0cmlidXRlIHBh
cnNpbmcsIGxpbWl0cywgYW5kIGRlZmF1bHRzLgogCiA8dmlkZW8gbG9vcGVuZD0xLjU+IC0gbG9v
cGVuZCBzcGVjaWZpZWQsIHNob3VsZCBub3QgY2hhbmdlCi1leHBlY3RlZCB2aWRlby5sb29wRW5k
PT0nMS41Jywgb2JzZXJ2ZWQgJzEuNScgLSBPSwotZXhwZWN0ZWQgYXVkaW8ubG9vcEVuZD09JzEu
NScsIG9ic2VydmVkICcxLjUnIC0gT0sKK0VYUEVDVEVEICh2aWRlby5sb29wRW5kID09ICcxLjUn
KSBPSworRVhQRUNURUQgKGF1ZGlvLmxvb3BFbmQgPT0gJzEuNScpIE9LCiAKIDx2aWRlbyBlbmQ9
MS4wPiAtIGxvb3BlbmQgbm90IHNwZWNpZmllZCwgc2hvdWxkIHJldHVybiBlbmQgYXR0cgotZXhw
ZWN0ZWQgdmlkZW8ubG9vcEVuZD09JzEnLCBvYnNlcnZlZCAnMScgLSBPSwotZXhwZWN0ZWQgYXVk
aW8ubG9vcEVuZD09JzEnLCBvYnNlcnZlZCAnMScgLSBPSworRVhQRUNURUQgKHZpZGVvLmxvb3BF
bmQgPT0gJzEnKSBPSworRVhQRUNURUQgKGF1ZGlvLmxvb3BFbmQgPT0gJzEnKSBPSwogCiA8dmlk
ZW8gPiAtIG5vIGxvb3BlbmQgYW5kIG5vIGVuZCwgZGVmYXVsdCBzaG91bGQgYmUgaW5maW5pdHkg
KGVuZCBkZWZhdWx0KQotZXhwZWN0ZWQgdmlkZW8ubG9vcEVuZD09J0luZmluaXR5Jywgb2JzZXJ2
ZWQgJ0luZmluaXR5JyAtIE9LCi1leHBlY3RlZCBhdWRpby5sb29wRW5kPT0nSW5maW5pdHknLCBv
YnNlcnZlZCAnSW5maW5pdHknIC0gT0sKK0VYUEVDVEVEICh2aWRlby5sb29wRW5kID09ICdJbmZp
bml0eScpIE9LCitFWFBFQ1RFRCAoYXVkaW8ubG9vcEVuZCA9PSAnSW5maW5pdHknKSBPSwogCiA8
dmlkZW8gbG9vcGVuZD0nczEuMCc+IC0gYm9ndXMgbG9vcGVuZCBhbmQgbm8gZW5kLCBkZWZhdWx0
IHNob3VsZCBiZSBpbmZpbml0eSAoZW5kIGRlZmF1bHQpCi1leHBlY3RlZCB2aWRlby5sb29wRW5k
PT0nSW5maW5pdHknLCBvYnNlcnZlZCAnSW5maW5pdHknIC0gT0sKLWV4cGVjdGVkIGF1ZGlvLmxv
b3BFbmQ9PSdJbmZpbml0eScsIG9ic2VydmVkICdJbmZpbml0eScgLSBPSworRVhQRUNURUQgKHZp
ZGVvLmxvb3BFbmQgPT0gJ0luZmluaXR5JykgT0sKK0VYUEVDVEVEIChhdWRpby5sb29wRW5kID09
ICdJbmZpbml0eScpIE9LCiAKIDx2aWRlbyBsb29wZW5kPSdzMS4wJyBlbmQ9MS4wPiAtIGJvZ3Vz
IGxvb3BlbmQsIGRlZmF1bHQgc2hvdWxkIGJlIGVuZCBhdHRyCi1leHBlY3RlZCB2aWRlby5sb29w
RW5kPT0nMScsIG9ic2VydmVkICcxJyAtIE9LCi1leHBlY3RlZCBhdWRpby5sb29wRW5kPT0nMScs
IG9ic2VydmVkICcxJyAtIE9LCitFWFBFQ1RFRCAodmlkZW8ubG9vcEVuZCA9PSAnMScpIE9LCitF
WFBFQ1RFRCAoYXVkaW8ubG9vcEVuZCA9PSAnMScpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBM
YXlvdXRUZXN0cy9tZWRpYS9sb29wc3RhcnQtbGltaXRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9sb29wc3RhcnQtbGltaXRzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9sb29wc3RhcnQtbGltaXRzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMiwyMyArMiwyMyBAQAogVGVzdCBsb29wc3RhcnQg
YXR0cmlidXRlIHBhcnNpbmcsIGxpbWl0cywgYW5kIGRlZmF1bHRzLgogCiA8dmlkZW8gbG9vcHN0
YXJ0PTEuNT4gLSBsb29wc3RhcnQgc3BlY2lmaWVkLCBzaG91bGQgbm90IGNoYW5nZQotZXhwZWN0
ZWQgdmlkZW8ubG9vcFN0YXJ0PT0nMS41Jywgb2JzZXJ2ZWQgJzEuNScgLSBPSwotZXhwZWN0ZWQg
YXVkaW8ubG9vcFN0YXJ0PT0nMS41Jywgb2JzZXJ2ZWQgJzEuNScgLSBPSworRVhQRUNURUQgKHZp
ZGVvLmxvb3BTdGFydCA9PSAnMS41JykgT0sKK0VYUEVDVEVEIChhdWRpby5sb29wU3RhcnQgPT0g
JzEuNScpIE9LCiAKIDx2aWRlbyBzdGFydD0xLjA+IC0gbG9vcHN0YXJ0IG5vdCBzcGVjaWZpZWQs
IHNob3VsZCByZXR1cm4gc3RhcnQgYXR0cgotZXhwZWN0ZWQgdmlkZW8ubG9vcFN0YXJ0PT0nMScs
IG9ic2VydmVkICcxJyAtIE9LCi1leHBlY3RlZCBhdWRpby5sb29wU3RhcnQ9PScxJywgb2JzZXJ2
ZWQgJzEnIC0gT0sKK0VYUEVDVEVEICh2aWRlby5sb29wU3RhcnQgPT0gJzEnKSBPSworRVhQRUNU
RUQgKGF1ZGlvLmxvb3BTdGFydCA9PSAnMScpIE9LCiAKIDx2aWRlbz4gLSBubyBsb29wc3RhcnQg
YW5kIG5vIHN0YXJ0LCBkZWZhdWx0IHNob3VsZCBiZSAwCi1leHBlY3RlZCB2aWRlby5sb29wU3Rh
cnQ9PScwJywgb2JzZXJ2ZWQgJzAnIC0gT0sKLWV4cGVjdGVkIGF1ZGlvLmxvb3BTdGFydD09JzAn
LCBvYnNlcnZlZCAnMCcgLSBPSworRVhQRUNURUQgKHZpZGVvLmxvb3BTdGFydCA9PSAnMCcpIE9L
CitFWFBFQ1RFRCAoYXVkaW8ubG9vcFN0YXJ0ID09ICcwJykgT0sKIAogPHZpZGVvIGxvb3BzdGFy
dD0nczEuMCc+IC0gYm9ndXMgbG9vcHN0YXJ0IGFuZCBubyBzdGFydCwgZGVmYXVsdCBzaG91bGQg
YmUgMCAoc3RhcnQgZGVmYXVsdCkKLWV4cGVjdGVkIHZpZGVvLmxvb3BTdGFydD09JzAnLCBvYnNl
cnZlZCAnMCcgLSBPSwotZXhwZWN0ZWQgYXVkaW8ubG9vcFN0YXJ0PT0nMCcsIG9ic2VydmVkICcw
JyAtIE9LCitFWFBFQ1RFRCAodmlkZW8ubG9vcFN0YXJ0ID09ICcwJykgT0sKK0VYUEVDVEVEIChh
dWRpby5sb29wU3RhcnQgPT0gJzAnKSBPSwogCiA8dmlkZW8gbG9vcHN0YXJ0PSdzMS4wJyBzdGFy
dD0xLjA+IC0gYm9ndXMgbG9vcHN0YXJ0LCBkZWZhdWx0IHNob3VsZCBiZSBzdGFydCBhdHRyCi1l
eHBlY3RlZCB2aWRlby5sb29wU3RhcnQ9PScxJywgb2JzZXJ2ZWQgJzEnIC0gT0sKLWV4cGVjdGVk
IGF1ZGlvLmxvb3BTdGFydD09JzEnLCBvYnNlcnZlZCAnMScgLSBPSworRVhQRUNURUQgKHZpZGVv
Lmxvb3BTdGFydCA9PSAnMScpIE9LCitFWFBFQ1RFRCAoYXVkaW8ubG9vcFN0YXJ0ID09ICcxJykg
T0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1l
dmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEv
cHJvZ3Jlc3MtZXZlbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMTAg
QEAKLUVWRU5UKGxvYWRzdGFydCkgVEVTVCghZXZlbnQubGVuZ3RoQ29tcHV0YWJsZSAmJiBldmVu
dC5sb2FkZWQ9PTAgJiYgZXZlbnQudG90YWw9PTApIE9LCi1FVkVOVChsb2FkKSBURVNUKGV2ZW50
Lmxlbmd0aENvbXB1dGFibGUgJiYgZXZlbnQubG9hZGVkPjAgJiYgZXZlbnQudG90YWw+MCkgT0sK
K0VWRU5UKGxvYWRzdGFydCkKK0VYUEVDVEVEICghZXZlbnQubGVuZ3RoQ29tcHV0YWJsZSA9PSAn
dHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQudG90YWwgPT0gJzAnKSBPSworRVhQRUNURUQgKGV2
ZW50LmxvYWRlZCA9PSAnMCcpIE9LCitFVkVOVChsb2FkKQorRVhQRUNURUQgKGV2ZW50Lmxlbmd0
aENvbXB1dGFibGUgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmxvYWRlZCA+ICcwJykg
T0sKK0VYUEVDVEVEIChldmVudC50b3RhbCA+ICcwJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6
IExheW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50LXRvdGFsLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudC10b3RhbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvcHJvZ3Jlc3MtZXZl
bnQtdG90YWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMTAgQEAKLUVW
RU5UKGxvYWRzdGFydCkgVEVTVCghZXZlbnQubGVuZ3RoQ29tcHV0YWJsZSAmJiBldmVudC5sb2Fk
ZWQ9PTAgJiYgZXZlbnQudG90YWw9PTApIE9LCi1FVkVOVChsb2FkKSBURVNUKGV2ZW50Lmxlbmd0
aENvbXB1dGFibGUgJiYgZXZlbnQubG9hZGVkPjAgJiYgZXZlbnQudG90YWw9PTIzOTUyOCkgT0sK
K0VWRU5UKGxvYWRzdGFydCkKK0VYUEVDVEVEICghZXZlbnQubGVuZ3RoQ29tcHV0YWJsZSA9PSAn
dHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQudG90YWwgPT0gJzAnKSBPSworRVhQRUNURUQgKGV2
ZW50LmxvYWRlZCA9PSAnMCcpIE9LCitFVkVOVChsb2FkKQorRVhQRUNURUQgKGV2ZW50Lmxlbmd0
aENvbXB1dGFibGUgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmxvYWRlZCA+ICcwJykg
T0sKK0VYUEVDVEVEIChldmVudC50b3RhbCA9PSAnMjM5NTI4JykgT0sKIEVORCBPRiBURVNUCiAK
SW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Byb2dyZXNzLWV2ZW50LXRvdGFsLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnQtdG90YWwuaHRtbAkocmV2
aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudC10b3RhbC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsMjkgQEAKIDx2aWRlbyBjb250cm9scz48L3Zp
ZGVvPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci13YWl0
Rm9yRXZlbnRBbmRUZXN0KCJsb2Fkc3RhcnQiLCAiIWV2ZW50Lmxlbmd0aENvbXB1dGFibGUgJiYg
ZXZlbnQubG9hZGVkPT0wICYmIGV2ZW50LnRvdGFsPT0wIik7Ci13YWl0Rm9yRXZlbnRUZXN0QW5k
RW5kKCJsb2FkIiwgImV2ZW50Lmxlbmd0aENvbXB1dGFibGUgJiYgZXZlbnQubG9hZGVkPjAgJiYg
ZXZlbnQudG90YWw9PTIzOTUyOCIpOwotdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwor
ICAgIHZhciBldmVudDsKKworICAgIGZ1bmN0aW9uIHRlc3RPbkxvYWRTdGFydChldnQpCisgICAg
eworICAgICAgICBldmVudCA9IGV2dDsKKworICAgICAgICB0ZXN0RXhwZWN0ZWQoIiFldmVudC5s
ZW5ndGhDb21wdXRhYmxlIiwgdHJ1ZSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQudG90
YWwiLCAwKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5sb2FkZWQiLCAwKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiB0ZXN0T25Mb2FkKGV2dCkKKyAgICB7CisgICAgICAgIGV2ZW50ID0g
ZXZ0OworCisgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQubGVuZ3RoQ29tcHV0YWJsZSIsIHRy
dWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmxvYWRlZCIsIDAsICc+Jyk7CisgICAg
ICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQudG90YWwiLCAyMzk1MjgpOworICAgICAgICBlbmRUZXN0
KCk7CisgICAgfQorCisgICAgd2FpdEZvckV2ZW50KCJsb2Fkc3RhcnQiLCB0ZXN0T25Mb2FkU3Rh
cnQpOworICAgIHdhaXRGb3JFdmVudCgibG9hZCIsIHRlc3RPbkxvYWQsIHRydWUpOworCisgICAg
dmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9tZWRpYS9wcm9ncmVzcy1ldmVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L21lZGlhL3Byb2dyZXNzLWV2ZW50Lmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVz
dHMvbWVkaWEvcHJvZ3Jlc3MtZXZlbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDMw
IEBACiA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+
PC9zY3JpcHQ+CisKIDxzY3JpcHQ+Ci13YWl0Rm9yRXZlbnRBbmRUZXN0KCJsb2Fkc3RhcnQiLCAi
IWV2ZW50Lmxlbmd0aENvbXB1dGFibGUgJiYgZXZlbnQubG9hZGVkPT0wICYmIGV2ZW50LnRvdGFs
PT0wIik7Ci13YWl0Rm9yRXZlbnRUZXN0QW5kRW5kKCJsb2FkIiwgImV2ZW50Lmxlbmd0aENvbXB1
dGFibGUgJiYgZXZlbnQubG9hZGVkPjAgJiYgZXZlbnQudG90YWw+MCIpOwotdmlkZW8uc3JjID0g
ImNvbnRlbnQvdGVzdC5tcDQiOworICAgIHZhciBldmVudDsKKworICAgIGZ1bmN0aW9uIHRlc3RP
bkxvYWRTdGFydChldnQpCisgICAgeworICAgICAgICBldmVudCA9IGV2dDsKKworICAgICAgICB0
ZXN0RXhwZWN0ZWQoIiFldmVudC5sZW5ndGhDb21wdXRhYmxlIiwgdHJ1ZSk7CisgICAgICAgIHRl
c3RFeHBlY3RlZCgiZXZlbnQudG90YWwiLCAwKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVu
dC5sb2FkZWQiLCAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0T25Mb2FkKGV2dCkKKyAg
ICB7CisgICAgICAgIGV2ZW50ID0gZXZ0OworCisgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
bGVuZ3RoQ29tcHV0YWJsZSIsIHRydWUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50Lmxv
YWRlZCIsIDAsICc+Jyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQudG90YWwiLCAwLCAn
PicpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfQorCisgICAgd2FpdEZvckV2ZW50KCJsb2Fk
c3RhcnQiLCB0ZXN0T25Mb2FkU3RhcnQpOworICAgIHdhaXRGb3JFdmVudCgibG9hZCIsIHRlc3RP
bkxvYWQsIHRydWUpOworCisgICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwogPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS9yZW1vdmUtZnJvbS1kb2N1bWVudC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcmVtb3ZlLWZyb20tZG9j
dW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlh
L3JlbW92ZS1mcm9tLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwx
MCArMSwxMCBAQAogVGVzdCB0aGF0IHJlbW92aW5nIGEgbWVkaWEgZWxlbWVudCBmcm9tIHRoZSB0
cmVlIHBhdXNlcyBwbGF5YmFjayBidXQgZG9lcyBub3QgdW5sb2FkIHRoZSBtZWRpYS4KIAogRVZF
TlQobG9hZCkKLVRFU1QodmlkZW8ubmV0d29ya1N0YXRlID09IEhUTUxNZWRpYUVsZW1lbnQuTE9B
REVEKSBPSwotVEVTVCghdmlkZW8ucGF1c2VkKSBPSworRVhQRUNURUQgKHZpZGVvLm5ldHdvcmtT
dGF0ZSA9PSAnNCcpIE9LCitFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCiBS
VU4oZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh2aWRlbykpCi1URVNUKHZpZGVvLm5ldHdvcmtT
dGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkxPQURFRCkgT0sKLVRFU1QodmlkZW8ucGF1c2VkKSBP
SworRVhQRUNURUQgKHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSAnNCcpIE9LCitFWFBFQ1RFRCAodmlk
ZW8ucGF1c2VkID09ICd0cnVlJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3Rz
L21lZGlhL3JlbW92ZS1mcm9tLWRvY3VtZW50LW5vLWxvYWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3JlbW92ZS1mcm9tLWRvY3VtZW50LW5vLWxvYWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3JlbW92ZS1m
cm9tLWRvY3VtZW50LW5vLWxvYWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcg
KzEsNyBAQAogVGVzdCB0aGF0IHJlbW92aW5nIGEgbWVkaWEgZWxlbWVudCBmcm9tIHRoZSB0cmVl
IHdoZW4gbm8gbWVkaWEgaGFzIGJlZW4gbG9hZGVkIGRvZXMgbm90IGdlbmVyYXRlIGEgbG9hZCBl
dmVudC4KIAotVEVTVCh2aWRlby5uZXR3b3JrU3RhdGUgPT0gSFRNTE1lZGlhRWxlbWVudC5FTVBU
WSkgT0sKK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3RhdGUgPT0gJzAnKSBPSwogUlVOKGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQodmlkZW8pKQotVEVTVChkaWRSZWNlaXZlTG9hZFN0YXJ0RXZl
bnQgPT0gZmFsc2U7KSBPSworRVhQRUNURUQgKGRpZFJlY2VpdmVMb2FkU3RhcnRFdmVudCA9PSAn
ZmFsc2UnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvcmVtb3Zl
LWZyb20tZG9jdW1lbnQtbm8tbG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21l
ZGlhL3JlbW92ZS1mcm9tLWRvY3VtZW50LW5vLWxvYWQuaHRtbAkocmV2aXNpb24gNDEzNTkpCisr
KyBMYXlvdXRUZXN0cy9tZWRpYS9yZW1vdmUtZnJvbS1kb2N1bWVudC1uby1sb2FkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTIsMTEgKzIsMTEgQEAKIDxwPlRlc3QgdGhhdCByZW1vdmluZyBhIG1l
ZGlhIGVsZW1lbnQgZnJvbSB0aGUgdHJlZSB3aGVuIG5vIG1lZGlhIGhhcyBiZWVuIGxvYWRlZCBk
b2VzIG5vdCBnZW5lcmF0ZSBhIGxvYWQgZXZlbnQuPC9wPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVz
dC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1kaWRSZWNlaXZlTG9hZFN0YXJ0RXZlbnQgPSBmYWxz
ZTsKLXZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRzdGFydCcsIGZ1bmN0aW9uKCkgeyBkaWRS
ZWNlaXZlTG9hZFN0YXJ0RXZlbnQgPSB0cnVlOyB9KTsKLXZpZGVvLnNyYyA9ICJjb250ZW50L3Rl
c3QubXA0IjsKLXRlc3QoInZpZGVvLm5ldHdvcmtTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkVN
UFRZIik7Ci1ydW4oImRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodmlkZW8pIik7Ci10ZXN0KCJk
aWRSZWNlaXZlTG9hZFN0YXJ0RXZlbnQgPT0gZmFsc2U7Iik7Ci1lbmRUZXN0KCk7CisgICAgZGlk
UmVjZWl2ZUxvYWRTdGFydEV2ZW50ID0gZmFsc2U7CisgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5l
cignbG9hZHN0YXJ0JywgZnVuY3Rpb24oKSB7IGRpZFJlY2VpdmVMb2FkU3RhcnRFdmVudCA9IHRy
dWU7IH0pOworICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKKyAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLm5ldHdvcmtTdGF0ZSIsIEhUTUxNZWRpYUVsZW1lbnQuRU1QVFkpOworICAg
IHJ1bigiZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh2aWRlbykiKTsKKyAgICB0ZXN0RXhwZWN0
ZWQoImRpZFJlY2VpdmVMb2FkU3RhcnRFdmVudCIsIGZhbHNlKTsKKyAgICBlbmRUZXN0KCk7CiA8
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3JlbW92ZS1mcm9tLWRvY3VtZW50Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcmVtb3ZlLWZyb20tZG9jdW1lbnQu
aHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9yZW1vdmUtZnJvbS1k
b2N1bWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDE1ICsyLDIwIEBACiA8cD5UZXN0IHRo
YXQgcmVtb3ZpbmcgYSBtZWRpYSBlbGVtZW50IGZyb20gdGhlIHRyZWUgcGF1c2VzIHBsYXliYWNr
IGJ1dCBkb2VzIG5vdCB1bmxvYWQgdGhlIG1lZGlhLjwvcD4KIDxzY3JpcHQgc3JjPXZpZGVvLXRl
c3QuanM+PC9zY3JpcHQ+CiA8c2NyaXB0Pgotd2FpdEZvckV2ZW50KCdsb2FkJywgZnVuY3Rpb24g
KCkgewotICAgIHRlc3QoInZpZGVvLm5ldHdvcmtTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkxP
QURFRCIpOwotICAgIHRlc3QoIiF2aWRlby5wYXVzZWQiKTsKLSAgICBydW4oImRvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQodmlkZW8pIik7Ci0gICAgdGVzdCgidmlkZW8ubmV0d29ya1N0YXRlID09
IEhUTUxNZWRpYUVsZW1lbnQuTE9BREVEIik7Ci0gICAgdGVzdCgidmlkZW8ucGF1c2VkIik7Ci0g
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7Ci0gICAgZW5kVGVzdCgpOwotfSApOworICAgIHdh
aXRGb3JFdmVudCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsKKworICAgICAgICB0ZXN0RXhwZWN0ZWQo
InZpZGVvLm5ldHdvcmtTdGF0ZSIsIEhUTUxNZWRpYUVsZW1lbnQuTE9BREVEKTsKKyAgICAgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby5wYXVzZWQiLCBmYWxzZSk7CisKKyAgICAgICAgcnVuKCJkb2N1
bWVudC5ib2R5LnJlbW92ZUNoaWxkKHZpZGVvKSIpOworCisgICAgICAgIHRlc3RFeHBlY3RlZCgi
dmlkZW8ubmV0d29ya1N0YXRlIiwgSFRNTE1lZGlhRWxlbWVudC5MT0FERUQpOworICAgICAgICB0
ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIsIHRydWUpOworCisgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0VG9wOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSApOworCiB2aWRlby5zcmMg
PSAiY29udGVudC90ZXN0Lm1wNCI7CiB2aWRlby5wbGF5KCk7CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL21lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL21lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogVGVzdCB0aGF0IFF1aWNrVGlt
ZSBmaWxlIHdpdGggUlRTUCBVUkwgZ2VuZXJhdGVzIGEgbG9hZCBlcnJvci4KIAogRVZFTlQoZXJy
b3IpCi1URVNUKHZpZGVvLmVycm9yKSBPSwotVEVTVCh2aWRlby5lcnJvci5jb2RlID0gTWVkaWFF
cnJvci5NRURJQV9FUlJfTkVUV09SSykgT0sKK0VYUEVDVEVEICh2aWRlby5lcnJvciAhPSAnbnVs
bCcpIE9LCitFWFBFQ1RFRCAodmlkZW8uZXJyb3IuY29kZSA9PSAnMicpIE9LCiBFTkQgT0YgVEVT
VAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS91bnN1cHBvcnRlZC1ydHNwLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC5odG1sCShyZXZpc2lv
biA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtNCw4ICs0LDggQEAKIDxzY3JpcHQ+CiB2aWRlby5zcmMgPSAicnRzcDov
L2EyMDQ3LnYxNDExYi5jMTQxMS5nLnZxLmFrYW1haXN0cmVhbS5uZXQvNS8yMDQ3LzE0MTEvMl9o
MjY0XzY1MC8xYTFhMWFlNDU0YzQzMDk1MDA2NWRlNGNiYjJmOTRjMjI2OTUwYzdhZTY1NWI2MWE0
OGE5MTQ3NWUyNDNhY2RhM2RhYzE5NDg3OWFkZGUwZi93d2RjXzIwMDZfMl82NTAubW92IjsKIHdh
aXRGb3JFdmVudCgiZXJyb3IiLCBmdW5jdGlvbiAoKSB7Ci0gICAgdGVzdCgidmlkZW8uZXJyb3Ii
KTsKLSAgICB0ZXN0KCJ2aWRlby5lcnJvci5jb2RlID0gTWVkaWFFcnJvci5NRURJQV9FUlJfTkVU
V09SSyIpOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uZXJyb3IiLCBudWxsLCAiIT0iKTsKKyAg
ICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmVycm9yLmNvZGUiLCBNZWRpYUVycm9yLk1FRElBX0VSUl9O
RVRXT1JLKTsKICAgICBlbmRUZXN0KCk7CiB9KTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvbWVkaWEvdW5zdXBwb3J0ZWQtdHJhY2tzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9tZWRpYS91bnN1cHBvcnRlZC10cmFja3MtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3Vuc3VwcG9ydGVkLXRyYWNrcy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBUZXN0IHRoYXQgUXVpY2tUaW1l
IGZpbGUgd2l0aCB1bnN1cHBvcnRlZCB0cmFjayB0eXBlcyBvbmx5IGdlbmVyYXRlcyBhbiBlcnJv
ci4KIAogRVZFTlQoZXJyb3IpCi1URVNUKHZpZGVvLmVycm9yKSBPSworRVhQRUNURUQgKHZpZGVv
LmVycm9yICE9ICdudWxsJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3Vuc3VwcG9ydGVkLXRyYWNrcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21l
ZGlhL3Vuc3VwcG9ydGVkLXRyYWNrcy5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRl
c3RzL21lZGlhL3Vuc3VwcG9ydGVkLXRyYWNrcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00LDcg
KzQsNyBAQAogPHNjcmlwdD4KIHZpZGVvLnNyYyA9ICJjb250ZW50L3Vuc3VwcG9ydGVkX3RyYWNr
Lm1wNCI7CiB3YWl0Rm9yRXZlbnQoImVycm9yIiwgZnVuY3Rpb24gKCkgewotICAgIHRlc3QoInZp
ZGVvLmVycm9yIik7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsIG51bGwsICIhPSIp
OwogICAgIGVuZFRlc3QoKTsKIH0pOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1hcHBlbmQtc291cmNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9tZWRpYS92aWRlby1hcHBlbmQtc291cmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDEz
NTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1hcHBlbmQtc291cmNlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKLVRFU1QodmlkZW8uY3VycmVudFNyYz09
JycpIE9LCi1URVNUKHZpZGVvLmN1cnJlbnRTcmM9PScnKSBPSwotRVZFTlQobG9hZCkgVEVTVChy
ZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKT09J2NvbnRlbnQvdGVzdC5tcDQnKSBPSworRVhQ
RUNURUQgKHZpZGVvLmN1cnJlbnRTcmMgPT0gJycpIE9LCitFWFBFQ1RFRCAodmlkZW8uY3VycmVu
dFNyYyA9PSAnJykgT0sKK0VWRU5UKGxvYWQpCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwodmlkZW8u
Y3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tYXBwZW5kLXNvdXJjZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWFwcGVuZC1zb3VyY2UuaHRtbAkocmV2aXNpb24g
NDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1hcHBlbmQtc291cmNlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMTcgQEAKIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgog
PHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKwogPHNjcmlwdD4KLXRlc3QoInZp
ZGVvLmN1cnJlbnRTcmM9PScnIik7Ci12YXIgc291cmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic291cmNlIik7Ci1zb3VyY2Uuc2V0QXR0cmlidXRlKCJzcmMiLCAiY29udGVudC90ZXN0Lm1w
NCIpOwotdmlkZW8uYXBwZW5kQ2hpbGQoc291cmNlKTsKLXRlc3QoInZpZGVvLmN1cnJlbnRTcmM9
PScnIik7Ci13YWl0Rm9yRXZlbnRUZXN0QW5kRW5kKCJsb2FkIiwgInJlbGF0aXZlVVJMKHZpZGVv
LmN1cnJlbnRTcmMpPT0nY29udGVudC90ZXN0Lm1wNCciKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLmN1cnJlbnRTcmMiLCAiIik7CisgICAgdmFyIHNvdXJjZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNvdXJjZSIpOworICAgIHNvdXJjZS5zZXRBdHRyaWJ1dGUoInNyYyIsICJjb250ZW50
L3Rlc3QubXA0Iik7CisgICAgdmlkZW8uYXBwZW5kQ2hpbGQoc291cmNlKTsKKworICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIiKTsKKworICAgIHdhaXRGb3JFdmVudCgibG9h
ZCIsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWxhdGl2ZVVSTCh2aWRl
by5jdXJyZW50U3JjKSAiLCAiY29udGVudC90ZXN0Lm1wNCIpOworICAgICAgICBlbmRUZXN0KCk7
CisgICAgfSk7CisKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tYXV0
b3BsYXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LWF1dG9wbGF5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1hdXRvcGxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw2IEBACi1URVNUKHZpZGVvLmF1dG9wbGF5KSBPSwotVEVTVCh2aWRlby5nZXRBdHRyaWJ1dGUo
J2F1dG9wbGF5JykgIT0gbnVsbCkgT0sKLUVWRU5UKHBsYXkpIFRFU1QoIXZpZGVvLnBhdXNlZCkg
T0sKK0VYUEVDVEVEICh2aWRlby5hdXRvcGxheSA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAodmlk
ZW8uZ2V0QXR0cmlidXRlKCdhdXRvcGxheScpICE9ICdudWxsJykgT0sKK0VWRU5UKHBsYXkpCitF
WFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1hdXRvcGxheS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLWF1dG9wbGF5Lmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysg
TGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tYXV0b3BsYXkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSw4ICsxLDkgQEAKIDx2aWRlbyBhdXRvcGxheSBjb250cm9scz48L3ZpZGVvPgogPHNjcmlwdCBz
cmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKwogPHNjcmlwdD4KLXRlc3QoInZpZGVvLmF1dG9w
bGF5Iik7Ci10ZXN0KCJ2aWRlby5nZXRBdHRyaWJ1dGUoJ2F1dG9wbGF5JykgIT0gbnVsbCIpOwot
d2FpdEZvckV2ZW50VGVzdEFuZEVuZCgncGxheScsICIhdmlkZW8ucGF1c2VkIik7Ci12aWRlby5z
cmMgPSAiY29udGVudC90ZXN0Lm1wNCI7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5hdXRvcGxh
eSIsIHRydWUpOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uZ2V0QXR0cmlidXRlKCdhdXRvcGxh
eScpIiwgbnVsbCwgJyE9Jyk7CisgICAgd2FpdEZvckV2ZW50KCdwbGF5JywgZnVuY3Rpb24gKCkg
eyB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIsIGZhbHNlKTsgZW5kVGVzdCgpOyB9ICk7Cisg
ICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1idWZmZXJlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0
MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZlcmVkLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwxMiArMSwxMiBAQAotVEVTVCh2aWRlby5idWZmZXJlZC5sZW5n
dGggPT0gMCkgT0sKK0VYUEVDVEVEICh2aWRlby5idWZmZXJlZC5sZW5ndGggPT0gJzAnKSBPSwog
VEVTVCh2aWRlby5idWZmZXJlZC5zdGFydCgtMSkpIFRIUk9XUyhET01FeGNlcHRpb24uSU5ERVhf
U0laRV9FUlIpIE9LCiBURVNUKHZpZGVvLmJ1ZmZlcmVkLmVuZCgtMSkpIFRIUk9XUyhET01FeGNl
cHRpb24uSU5ERVhfU0laRV9FUlIpIE9LCiBURVNUKHZpZGVvLmJ1ZmZlcmVkLnN0YXJ0KDApKSBU
SFJPV1MoRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSKSBPSwogVEVTVCh2aWRlby5idWZmZXJl
ZC5lbmQoMCkpIFRIUk9XUyhET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIpIE9LCiBFVkVOVChs
b2FkKQotVEVTVCh2aWRlby5idWZmZXJlZC5sZW5ndGggPT0gMSkgT0sKLVRFU1QodmlkZW8uYnVm
ZmVyZWQuc3RhcnQoMCkgPT0gMCkgT0sKLVRFU1QodmlkZW8uYnVmZmVyZWQuZW5kKDApID4gMCkg
T0sKK0VYUEVDVEVEICh2aWRlby5idWZmZXJlZC5sZW5ndGggPT0gJzEnKSBPSworRVhQRUNURUQg
KHZpZGVvLmJ1ZmZlcmVkLnN0YXJ0KDApID09ICcwJykgT0sKK0VYUEVDVEVEICh2aWRlby5idWZm
ZXJlZC5lbmQoMCkgPiAnMCcpIE9LCiBURVNUKHZpZGVvLmJ1ZmZlcmVkLnN0YXJ0KC0xKSkgVEhS
T1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKIFRFU1QodmlkZW8uYnVmZmVyZWQu
ZW5kKC0xKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKIFRFU1Qodmlk
ZW8uYnVmZmVyZWQuc3RhcnQoMSkpIFRIUk9XUyhET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIp
IE9LCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1idWZmZXJlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZlcmVkLmh0bWwJKHJldmlzaW9uIDQx
MzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwyMyArMSwyMyBAQAogPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CiA8c2NyaXB0
IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXRlc3QoInZpZGVvLmJ1ZmZl
cmVkLmxlbmd0aCA9PSAwIik7Ci10ZXN0RXhjZXB0aW9uKCJ2aWRlby5idWZmZXJlZC5zdGFydCgt
MSkiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7Ci10ZXN0RXhjZXB0aW9uKCJ2aWRl
by5idWZmZXJlZC5lbmQoLTEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOwotdGVz
dEV4Y2VwdGlvbigidmlkZW8uYnVmZmVyZWQuc3RhcnQoMCkiLCAiRE9NRXhjZXB0aW9uLklOREVY
X1NJWkVfRVJSIik7Ci10ZXN0RXhjZXB0aW9uKCJ2aWRlby5idWZmZXJlZC5lbmQoMCkiLCAiRE9N
RXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7Ci13YWl0Rm9yRXZlbnQoJ2xvYWQnLCAKLSAgICBm
dW5jdGlvbiAoKSAKLSAgICB7Ci0gICAgICAgIHRlc3QoInZpZGVvLmJ1ZmZlcmVkLmxlbmd0aCA9
PSAxIik7Ci0gICAgICAgIHRlc3QoInZpZGVvLmJ1ZmZlcmVkLnN0YXJ0KDApID09IDAiKTsKLSAg
ICAgICAgdGVzdCgidmlkZW8uYnVmZmVyZWQuZW5kKDApID4gMCIpOwotICAgICAgICB0ZXN0RXhj
ZXB0aW9uKCJ2aWRlby5idWZmZXJlZC5zdGFydCgtMSkiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJ
WkVfRVJSIik7Ci0gICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLmJ1ZmZlcmVkLmVuZCgtMSki
LCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7Ci0gICAgICAgIHRlc3RFeGNlcHRpb24o
InZpZGVvLmJ1ZmZlcmVkLnN0YXJ0KDEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIp
OwotICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby5idWZmZXJlZC5lbmQoMSkiLCAiRE9NRXhj
ZXB0aW9uLklOREVYX1NJWkVfRVJSIik7Ci0gICAgICAgIGVuZFRlc3QoKTsKLSAgICB9Ci0pOwot
dmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8u
YnVmZmVyZWQubGVuZ3RoIiwgMCk7CisgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8uYnVmZmVyZWQu
c3RhcnQoLTEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOworICAgIHRlc3RFeGNl
cHRpb24oInZpZGVvLmJ1ZmZlcmVkLmVuZCgtMSkiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVf
RVJSIik7CisgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8uYnVmZmVyZWQuc3RhcnQoMCkiLCAiRE9N
RXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7CisgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8uYnVm
ZmVyZWQuZW5kKDApIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOworICAgIHdhaXRG
b3JFdmVudCgnbG9hZCcsIAorICAgICAgICBmdW5jdGlvbiAoKSAKKyAgICAgICAgeworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5idWZmZXJlZC5sZW5ndGgiLCAxKTsKKyAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uYnVmZmVyZWQuc3RhcnQoMCkiLCAwKTsKKyAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uYnVmZmVyZWQuZW5kKDApIiwgMCwgJz4nKTsKKyAgICAg
ICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLmJ1ZmZlcmVkLnN0YXJ0KC0xKSIsICJET01FeGNl
cHRpb24uSU5ERVhfU0laRV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVv
LmJ1ZmZlcmVkLmVuZCgtMSkiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7CisgICAg
ICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby5idWZmZXJlZC5zdGFydCgxKSIsICJET01FeGNl
cHRpb24uSU5ERVhfU0laRV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVv
LmJ1ZmZlcmVkLmVuZCgxKSIsICJET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIiKTsKKyAgICAg
ICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAgICk7CisgICAgdmlkZW8uc3JjID0gImNv
bnRlbnQvdGVzdC5tcDQiOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRl
by1jb250cm9scy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tY29udHJvbHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRl
c3RzL21lZGlhL3ZpZGVvLWNvbnRyb2xzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwxNSArMSwxNSBAQAogVGVzdCAnY29udHJvbHMnIGF0dHJpYnV0ZQogCi1URVNUKHZpZGVvLmNv
bnRyb2xzKSBPSworRVhQRUNURUQgKHZpZGVvLmNvbnRyb2xzICE9ICdudWxsJykgT0sKIEVWRU5U
KGxvYWQpCi1URVNUKHZpZGVvLmNvbnRyb2xzKSBPSworRVhQRUNURUQgKHZpZGVvLmNvbnRyb2xz
ICE9ICdudWxsJykgT0sKIFJVTih2aWRlby5yZW1vdmVBdHRyaWJ1dGUoJ2NvbnRyb2xzJykpCi1U
RVNUKCF2aWRlby5jb250cm9scykgT0sKK0VYUEVDVEVEICh2aWRlby5jb250cm9scyA9PSAnZmFs
c2UnKSBPSwogUlVOKHZpZGVvLmNvbnRyb2xzID0gdHJ1ZSkKLVRFU1QodmlkZW8uZ2V0QXR0cmli
dXRlKCdjb250cm9scycpID09ICdjb250cm9scycpIE9LCitFWFBFQ1RFRCAodmlkZW8uZ2V0QXR0
cmlidXRlKCdjb250cm9scycpID09ICdjb250cm9scycpIE9LCiBSVU4odmlkZW8uY29udHJvbHMg
PSBmYWxzZSkKLVRFU1QoIXZpZGVvLmdldEF0dHJpYnV0ZSgnY29udHJvbHMnKSkgT0sKK0VYUEVD
VEVEICh2aWRlby5jb250cm9scyA9PSAnZmFsc2UnKSBPSwogUlVOKHZpZGVvLnNldEF0dHJpYnV0
ZSgnY29udHJvbHMnLCdjb250cm9scycpKQotVEVTVCh2aWRlby5jb250cm9scykgT0sKK0VYUEVD
VEVEICh2aWRlby5jb250cm9scyAhPSAnbnVsbCcpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBM
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1jb250cm9scy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY29udHJvbHMtdHJhbnNmb3Jt
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLWNvbnRyb2xzLXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
Miw4ICsyLDggQEAgVGVzdCBjb250cm9scyBvbiB0cmFuc2Zvcm1lZCB2aWRlby4KIAogVGhpcyB0
ZXN0IG9ubHkgcnVucyBpbiBEUlQhCiAKLVRFU1QodmlkZW8uY29udHJvbHMpIE9LCitFWFBFQ1RF
RCAodmlkZW8uY29udHJvbHMgIT0gJ251bGwnKSBPSwogRVZFTlQobG9hZCkKLVRFU1QoIXZpZGVv
LnBhdXNlZCkgT0sKK0VYUEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIEVORCBP
RiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWNvbnRyb2xzLXRyYW5zZm9y
bWVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY29udHJvbHMt
dHJhbnNmb3JtZWQuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1jb250cm9scy10cmFuc2Zvcm1lZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05LDIyICs5
LDI1IEBACiAgIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KLSAgPHZpZGVvIGNvbnRyb2xzPjwv
dmlkZW8+Ci08cD5UZXN0IGNvbnRyb2xzIG9uIHRyYW5zZm9ybWVkIHZpZGVvLjwvcD4KLTxwPlRo
aXMgdGVzdCBvbmx5IHJ1bnMgaW4gRFJUITwvcD4KLTxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgidmlkZW8uY29udHJvbHMiKTsKLXdhaXRGb3JFdmVu
dCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsKLSAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg1NCwyNDApOyAvLyBvdmVyIHBsYXkgYnV0dG9uCi0g
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7
Ci0gIH0KLSAgdGVzdCgiIXZpZGVvLnBhdXNlZCIpOwotICBlbmRUZXN0KCk7Ci19ICk7Ci12aWRl
by5zcmMgPSAnY29udGVudC90ZXN0Lm1wNCc7Ci08L3NjcmlwdD4KKyAgICA8dmlkZW8gY29udHJv
bHM+PC92aWRlbz4KKyAgICA8cD5UZXN0IGNvbnRyb2xzIG9uIHRyYW5zZm9ybWVkIHZpZGVvLjwv
cD4KKyAgICA8cD5UaGlzIHRlc3Qgb25seSBydW5zIGluIERSVCE8L3A+CisgICAgPHNjcmlwdCBz
cmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLmNvbnRyb2xzIiwgbnVsbCwgJyE9Jyk7CisgICAgICAgIHdhaXRGb3JFdmVu
dCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpIAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKDU0LDI0MCk7IC8vIG92ZXIgcGxheSBidXR0b24KKyAgICAgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIs
IGZhbHNlKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfSApOworICAgICAgICB2
aWRlby5zcmMgPSAnY29udGVudC90ZXN0Lm1wNCc7CisgICAgPC9zY3JpcHQ+CiA8L2JvZHk+CiA8
L2h0bWw+CisKKwpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY29udHJvbHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1jb250cm9scy5odG1sCShyZXZp
c2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWNvbnRyb2xzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTIsMjMgKzIsMjMgQEAKIDxwPlRlc3QgJ2NvbnRyb2xzJyBhdHRyaWJ1
dGU8cD4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiA8c2NyaXB0PgotdGVz
dCgidmlkZW8uY29udHJvbHMiKTsKLXdhaXRGb3JFdmVudCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsK
LSAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKLSAgICB0ZXN0KCJ2aWRlby5jb250cm9scyIp
OwotICAgIHJ1bigidmlkZW8ucmVtb3ZlQXR0cmlidXRlKCdjb250cm9scycpIik7Ci0gICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRUb3A7Ci0gICAgdGVzdCgiIXZpZGVvLmNvbnRyb2xzIik7Ci0gICAg
cnVuKCJ2aWRlby5jb250cm9scyA9IHRydWUiKTsKLSAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRv
cDsKLSAgICB0ZXN0KCJ2aWRlby5nZXRBdHRyaWJ1dGUoJ2NvbnRyb2xzJykgPT0gJ2NvbnRyb2xz
JyIpOwotICAgIHJ1bigidmlkZW8uY29udHJvbHMgPSBmYWxzZSIpOwotICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0VG9wOwotICAgIHRlc3QoIiF2aWRlby5nZXRBdHRyaWJ1dGUoJ2NvbnRyb2xzJyki
KTsKLSAgICBydW4oInZpZGVvLnNldEF0dHJpYnV0ZSgnY29udHJvbHMnLCdjb250cm9scycpIik7
Ci0gICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7Ci0gICAgdGVzdCgidmlkZW8uY29udHJvbHMi
KTsKLSAgICBlbmRUZXN0KCk7Ci19ICk7Ci12aWRlby5zcmMgPSAnY29udGVudC90ZXN0Lm1wNCc7
CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jb250cm9scyIsIG51bGwsICchPScpOworICAgIHdh
aXRGb3JFdmVudCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5v
ZmZzZXRUb3A7CisgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY29udHJvbHMiLCBudWxsLCAn
IT0nKTsKKyAgICAgICAgcnVuKCJ2aWRlby5yZW1vdmVBdHRyaWJ1dGUoJ2NvbnRyb2xzJykiKTsK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgICAgIHRlc3RFeHBlY3RlZCgi
dmlkZW8uY29udHJvbHMiLCBmYWxzZSwgJz09Jyk7CisgICAgICAgIHJ1bigidmlkZW8uY29udHJv
bHMgPSB0cnVlIik7CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgICAgICB0
ZXN0RXhwZWN0ZWQoInZpZGVvLmdldEF0dHJpYnV0ZSgnY29udHJvbHMnKSIsICJjb250cm9scyIp
OworICAgICAgICBydW4oInZpZGVvLmNvbnRyb2xzID0gZmFsc2UiKTsKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRUb3A7CisgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY29udHJvbHMi
LCBmYWxzZSwgJz09Jyk7CisgICAgICAgIHJ1bigidmlkZW8uc2V0QXR0cmlidXRlKCdjb250cm9s
cycsJ2NvbnRyb2xzJykiKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY29udHJvbHMiLCBudWxsLCAnIT0nKTsKKyAgICAgICAg
ZW5kVGVzdCgpOworICAgIH0gKTsKKyAgICB2aWRlby5zcmMgPSAnY29udGVudC90ZXN0Lm1wNCc7
CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWN1cnJlbnRUaW1lLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1jdXJyZW50
VGltZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tY3VycmVudFRpbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NyBAQAotVEVTVCh2aWRlby5jdXJyZW50VGltZSA9PSAwKSBPSwotRVZFTlQobG9hZCkgVEVTVCh2
aWRlby5jdXJyZW50VGltZSA9PSAwKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRUaW1lID09
ICcwJykgT0sKK0VWRU5UKGxvYWQpCitFWFBFQ1RFRCAodmlkZW8uY3VycmVudFRpbWUgPT0gJzAn
KSBPSwogRVZFTlQocGxheSkKLVRFU1QodmlkZW8uY3VycmVudFRpbWUgPiAwKSBPSworRVhQRUNU
RUQgKHZpZGVvLmN1cnJlbnRUaW1lID4gJzAnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5
b3V0VGVzdHMvbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Mi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Mi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY3VycmVu
dFRpbWUtc2V0Mi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiBF
VkVOVChsb2FkKQotVEVTVCh2aWRlby5jdXJyZW50VGltZS50b0ZpeGVkKDEpID09IDEuNSkgT0sK
LVRFU1QodmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAzLjEpIE9LCitFWFBFQ1RFRCAo
dmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAnMS41JykgT0sKK0VYUEVDVEVEICh2aWRl
by5jdXJyZW50VGltZS50b0ZpeGVkKDEpID09ICczLjEnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Mi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWN1cnJlbnRUaW1lLXNldDIuaHRtbAkocmV2
aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1jdXJyZW50VGltZS1zZXQy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzEsMTQgQEAKIDx2aWRlbyBjb250cm9scz48
L3ZpZGVvPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci13
YWl0Rm9yRXZlbnQoJ2xvYWQnLCAgCi1mdW5jdGlvbiAoKSB7IAotICAgIHZpZGVvLmN1cnJlbnRU
aW1lID0gMS41OyAKLSAgICB0ZXN0KCJ2aWRlby5jdXJyZW50VGltZS50b0ZpeGVkKDEpID09IDEu
NSIpOwotICAgIHZpZGVvLnBsYXkoKTsKLSAgICB2aWRlby5jdXJyZW50VGltZSA9IDMuMTsgCi0g
ICAgdGVzdCgidmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAzLjEiKTsKLSAgICBlbmRU
ZXN0KCk7Ci19KTsKLXZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKKyAgICB3YWl0Rm9y
RXZlbnQoJ2xvYWQnLCAgCisgICAgZnVuY3Rpb24gKCkgeyAKKyAgICAgICAgdmlkZW8uY3VycmVu
dFRpbWUgPSAxLjU7IAorICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRUaW1lLnRv
Rml4ZWQoMSkiLCAxLjUpOworICAgICAgICB2aWRlby5wbGF5KCk7CisgICAgICAgIHZpZGVvLmN1
cnJlbnRUaW1lID0gMy4xOyAKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50VGlt
ZS50b0ZpeGVkKDEpIiwgMy4xKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0pOworICAgIHZp
ZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Lmh0bWwJKHJldmlzaW9uIDQxMzU5KQor
KysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY3VycmVudFRpbWUtc2V0Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTUsOSArNSw5IEBAIHdhaXRGb3JFdmVudCgnbG9hZCcsICAKIGZ1bmN0aW9uICgp
IHsgCiAgICAgdmlkZW8uY3VycmVudFRpbWUgPSB2aWRlby5kdXJhdGlvbiAtIDAuMjsgCiAgICAg
dmlkZW8ucGxheSgpOyAKLSAgICB3YWl0Rm9yRXZlbnQoJ3RpbWV1cGRhdGUnLAotICAgIGZ1bmN0
aW9uICgpIHsKLSAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IHRlc3QoImZhbHNlIikg
fSwgODAwKTsKKyAgICB3YWl0Rm9yRXZlbnQoJ3RpbWV1cGRhdGUnLCBmdW5jdGlvbiAoKSB7Cisg
ICAgICAgIHZhciB0aW1lb3V0ID0gODAwOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgp
IHsgbG9nUmVzdWx0KCJObyB0aW1ldXBkYXRlIGV2ZW50IGluICIgKyB0aW1lb3V0LzEwMDAgICsg
InNlY29uZHMiLCBmYWxzZSk7IH0sIHRpbWVvdXQpOwogICAgIH0pOwogICAgIHdhaXRGb3JFdmVu
dEFuZEVuZCgnZW5kZWQnKTsKIH0pOwpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY3Vy
cmVudFRpbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1jdXJy
ZW50VGltZS5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LWN1cnJlbnRUaW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzEsMTQgQEAKIDx2aWRl
byBjb250cm9scz48L3ZpZGVvPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4K
IDxzY3JpcHQ+Ci10ZXN0KCJ2aWRlby5jdXJyZW50VGltZSA9PSAwIikKLXdhaXRGb3JFdmVudEFu
ZFRlc3QoJ2xvYWQnLCAidmlkZW8uY3VycmVudFRpbWUgPT0gMCIpOwotdmlkZW8uYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeyB2aWRlby5wbGF5KCk7IHNldFRpbWVvdXQodGVz
dEN1cnJlbnRUaW1lLCA1MDApIH0pOwotd2FpdEZvckV2ZW50KCdwbGF5Jyk7Ci1mdW5jdGlvbiB0
ZXN0Q3VycmVudFRpbWUoKQotewotICAgIHRlc3QoInZpZGVvLmN1cnJlbnRUaW1lID4gMCIpCi0g
ICAgZW5kVGVzdCgpOwotfQotdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOworICAgIHRl
c3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFRpbWUiLCAwKQorICAgIHdhaXRGb3JFdmVudCgnbG9h
ZCcsIGZ1bmN0aW9uKCkgeyB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRUaW1lIiwgMCk7IH0g
KTsKKyAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7IHZpZGVv
LnBsYXkoKTsgc2V0VGltZW91dCh0ZXN0Q3VycmVudFRpbWUsIDUwMCkgfSk7CisgICAgd2FpdEZv
ckV2ZW50KCdwbGF5Jyk7CisgICAgZnVuY3Rpb24gdGVzdEN1cnJlbnRUaW1lKCkKKyAgICB7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFRpbWUiLCAwLCAnPicpCisgICAgICAg
IGVuZFRlc3QoKTsKKyAgICB9CisgICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwog
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tYXV0b3BsYXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1hdXRv
cGxheS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tZG9tLWF1dG9wbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDcgQEAKLVRFU1QoIXZpZGVvLmF1dG9wbGF5KSBPSwotVEVTVCh2aWRlby5hdXRvcGxheSkgT0sK
LVRFU1QodmlkZW8uZ2V0QXR0cmlidXRlKCdhdXRvcGxheScpICE9IG51bGwpIE9LCi1FVkVOVChw
bGF5KSBURVNUKCF2aWRlby5wYXVzZWQpIE9LCitFWFBFQ1RFRCAodmlkZW8uYXV0b3BsYXkgPT0g
J2ZhbHNlJykgT0sKK0VYUEVDVEVEICh2aWRlby5hdXRvcGxheSA9PSAndHJ1ZScpIE9LCitFWFBF
Q1RFRCAodmlkZW8uZ2V0QXR0cmlidXRlKCdhdXRvcGxheScpICE9ICdudWxsJykgT0sKK0VWRU5U
KHBsYXkpCitFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCiBFTkQgT0YgVEVT
VAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tYXV0b3BsYXkuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tYXV0b3BsYXkuaHRtbAkocmV2
aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tYXV0b3BsYXkuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSwxMCArMSwxNCBAQAogPHZpZGVvIGNvbnRyb2xzPjwvdmlk
ZW8+CiA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXRlc3Qo
IiF2aWRlby5hdXRvcGxheSIpOwotdmlkZW8uYXV0b3BsYXkgPSB0cnVlOwotdGVzdCgidmlkZW8u
YXV0b3BsYXkiKTsKLXRlc3QoInZpZGVvLmdldEF0dHJpYnV0ZSgnYXV0b3BsYXknKSAhPSBudWxs
Iik7Ci13YWl0Rm9yRXZlbnRUZXN0QW5kRW5kKCdwbGF5JywgIiF2aWRlby5wYXVzZWQiKTsKLXZp
ZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmF1
dG9wbGF5IiwgZmFsc2UpOworICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKKyAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLmF1dG9wbGF5IiwgdHJ1ZSk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5n
ZXRBdHRyaWJ1dGUoJ2F1dG9wbGF5JykiLCBudWxsLCAiIT0iKTsKKyAgICB3YWl0Rm9yRXZlbnQo
J3BsYXknLCBmdW5jdGlvbiAoKSB7IAorICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNl
ZCIsIGZhbHNlKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0gKTsKKworICAgIHZpZGVvLnNy
YyA9ICJjb250ZW50L3Rlc3QubXA0IjsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tZG9tLWVuZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
bWVkaWEvdmlkZW8tZG9tLWVuZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5
b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLWVuZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw2IEBACi1URVNUKHZpZGVvLmVuZCA9PSAwLjUpIE9LCi1URVNUKHZpZGVvLmdl
dEF0dHJpYnV0ZSgnZW5kJykgPT0gJzAuNXMnKSBPSwotRVZFTlQoZW5kZWQpIFRFU1QodmlkZW8u
Y3VycmVudFRpbWUgPT0gMC41KSBPSworRVhQRUNURUQgKHZpZGVvLmVuZCA9PSAnMC41JykgT0sK
K0VYUEVDVEVEICh2aWRlby5nZXRBdHRyaWJ1dGUoJ2VuZCcpID09ICcwLjVzJykgT0sKK0VWRU5U
KGVuZGVkKQorRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRUaW1lID09ICcwLjUnKSBPSwogRU5EIE9G
IFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLWVuZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1lbmQuaHRtbAkocmV2aXNpb24g
NDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tZW5kLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsOCArMSwxMiBAQAogPHZpZGVvIGF1dG9wbGF5IHNyYz1jb250ZW50L3Rlc3Qu
bXA0IGNvbnRyb2xzPjwvdmlkZW8+CiA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0
PgogPHNjcmlwdD4KLXZpZGVvLmVuZCA9IDAuNTsKLXRlc3QoInZpZGVvLmVuZCA9PSAwLjUiKTsK
LXRlc3QoInZpZGVvLmdldEF0dHJpYnV0ZSgnZW5kJykgPT0gJzAuNXMnIik7Ci13YWl0Rm9yRXZl
bnRUZXN0QW5kRW5kKCdlbmRlZCcsICJ2aWRlby5jdXJyZW50VGltZSA9PSAwLjUiKTsKKyAgICB2
aWRlby5lbmQgPSAwLjU7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lbmQiLCAwLjUpOworICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8uZ2V0QXR0cmlidXRlKCdlbmQnKSIsICIwLjVzIik7CisKKyAg
ICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJywgZnVuY3Rpb24gKCkgeyAKKyAgICAgICAgdGVzdEV4cGVj
dGVkKCJ2aWRlby5jdXJyZW50VGltZSIsIDAuNSk7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9
ICk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1sb29wY291
bnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRv
bS1sb29wY291bnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLWRvbS1sb29wY291bnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDkgKzEsMTAgQEAKIFRlc3QgdGhhdCBwbGF5Y291bnQgRE9NIGF0dHJpYnV0ZSBjYXVzZXMg
cGxheWJhY2sgdG8gZW5kIGFmdGVyIHJpZ2h0IG51bWJlciBvZiByZXBlYXRzLgogCi1URVNUKHZp
ZGVvLnBsYXlDb3VudCA9PSAzKSBPSwotVEVTVCh2aWRlby5jdXJyZW50TG9vcCA9PSAwKSBPSwot
VEVTVCh2aWRlby5nZXRBdHRyaWJ1dGUoJ3BsYXlDb3VudCcpID09IDMpIE9LCitFWFBFQ1RFRCAo
dmlkZW8ucGxheUNvdW50ID09ICczJykgT0sKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50TG9vcCA9
PSAnMCcpIE9LCitFWFBFQ1RFRCAodmlkZW8uZ2V0QXR0cmlidXRlKCdwbGF5Q291bnQnKSA9PSAn
MycpIE9LCiBSVU4odmlkZW8ucGxheSgpKQotRVZFTlQoZW5kZWQpIFRFU1QodmlkZW8uY3VycmVu
dExvb3AgPT0gMikgT0sKK0VWRU5UKGVuZGVkKQorRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRMb29w
ID09ICcyJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LWRvbS1sb29wY291bnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRl
by1kb20tbG9vcGNvdW50Lmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tZG9tLWxvb3Bjb3VudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDEwICsyLDE1
IEBACiA8cD5UZXN0IHRoYXQgcGxheWNvdW50IERPTSBhdHRyaWJ1dGUgY2F1c2VzIHBsYXliYWNr
IHRvIGVuZCBhZnRlciByaWdodCBudW1iZXIgb2YgcmVwZWF0cy48L3A+CiA8c2NyaXB0IHNyYz12
aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZpZGVvLnBsYXlDb3VudCA9IDM7Ci10
ZXN0KCJ2aWRlby5wbGF5Q291bnQgPT0gMyIpOwotdGVzdCgidmlkZW8uY3VycmVudExvb3AgPT0g
MCIpOwotdGVzdCgidmlkZW8uZ2V0QXR0cmlidXRlKCdwbGF5Q291bnQnKSA9PSAzIik7Ci13YWl0
Rm9yRXZlbnRUZXN0QW5kRW5kKCdlbmRlZCcsICJ2aWRlby5jdXJyZW50TG9vcCA9PSAyIik7Ci1y
dW4oInZpZGVvLnBsYXkoKSIpOworICAgIHZpZGVvLnBsYXlDb3VudCA9IDM7CisgICAgdGVzdEV4
cGVjdGVkKCJ2aWRlby5wbGF5Q291bnQiLCAzKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1
cnJlbnRMb29wIiwgMCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5nZXRBdHRyaWJ1dGUoJ3Bs
YXlDb3VudCcpIiwgMyk7CisKKyAgICB3YWl0Rm9yRXZlbnQoJ2VuZGVkJywgZnVuY3Rpb24gKCkg
eyAKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50TG9vcCIsIDIpOworICAgICAg
ICBlbmRUZXN0KCk7CisgICAgfSApOworCisgICAgcnVuKCJ2aWRlby5wbGF5KCkiKTsKIDwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLWxvb3BlbmQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1sb29wZW5kLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1k
b20tbG9vcGVuZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTEgQEAK
IFRlc3QgdGhhdCB2aWRlbyBsb29wcyB3aGVuIHRpbWUgcmVhY2hlcyB0aGUgdmFsdWUgc3BlY2lm
aWVkIGJ5IHRoZSBsb29wRW5kIERPTSBhdHRyaWJ1dGUuCiAKLVRFU1QodmlkZW8ubG9vcEVuZD09
MC41KSBPSwotVEVTVCh2aWRlby5nZXRBdHRyaWJ1dGUoJ2xvb3BlbmQnKSA9PSAnMC41cycpIE9L
CitFWFBFQ1RFRCAodmlkZW8ubG9vcEVuZCA9PSAnMC41JykgT0sKK0VYUEVDVEVEICh2aWRlby5n
ZXRBdHRyaWJ1dGUoJ2xvb3BlbmQnKSA9PSAnMC41cycpIE9LCiBSVU4odmlkZW8ucGxheSgpKQog
RVZFTlQodGltZXVwZGF0ZSkKIEVWRU5UKHRpbWV1cGRhdGUpCi1URVNUKHZpZGVvLmN1cnJlbnRM
b29wID09IDEpIE9LCi1URVNUKHZpZGVvLmN1cnJlbnRUaW1lLnRvRml4ZWQoMSkgPT0gMCkgT0sK
K0VYUEVDVEVEICh2aWRlby5jdXJyZW50TG9vcCA9PSAnMScpIE9LCitFWFBFQ1RFRCAodmlkZW8u
Y3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAnMCcpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBM
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tbG9vcGVuZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1sb29wZW5kLmh0bWwJKHJldmlzaW9uIDQxMzU5KQor
KysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLWxvb3BlbmQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMiwxNiArMiwxOCBAQAogPHA+VGVzdCB0aGF0IHZpZGVvIGxvb3BzIHdoZW4gdGltZSBy
ZWFjaGVzIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgdGhlIGxvb3BFbmQgRE9NIGF0dHJpYnV0ZS48
L3A+CiA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZpZGVv
Lmxvb3BFbmQ9MC41OwotdGVzdCgidmlkZW8ubG9vcEVuZD09MC41Iik7Ci10ZXN0KCJ2aWRlby5n
ZXRBdHRyaWJ1dGUoJ2xvb3BlbmQnKSA9PSAnMC41cyciKTsKLXNldFRpbWVvdXQoZnVuY3Rpb24g
KCkgeyB0ZXN0KCJ2aWRlby5jdXJyZW50VGltZTw9MC41Iik7IH0sIDIwMDApOwotd2FpdEZvckV2
ZW50KCd0aW1ldXBkYXRlJywgZnVuY3Rpb24gKCkgewotICAgIGlmICh2aWRlby5jdXJyZW50TG9v
cCA9PSAxKSB7Ci0gICAgICAgIHRlc3QoInZpZGVvLmN1cnJlbnRMb29wID09IDEiKTsKLSAgICAg
ICAgdGVzdCgidmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAwIik7Ci0gICAgICAgIGVu
ZFRlc3QoKTsKLSAgICB9Ci19KTsKLXJ1bigidmlkZW8ucGxheSgpIik7CisgICAgdmlkZW8ubG9v
cEVuZD0wLjU7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5sb29wRW5kIiwgMC41KTsKKyAgICB0
ZXN0RXhwZWN0ZWQoInZpZGVvLmdldEF0dHJpYnV0ZSgnbG9vcGVuZCcpIiwgIjAuNXMiKTsKKwor
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRU
aW1lIiwgMC41LCAiPD0iKTsgfSwgMjAwMCk7CisKKyAgICB3YWl0Rm9yRXZlbnQoJ3RpbWV1cGRh
dGUnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIGlmICh2aWRlby5jdXJyZW50TG9vcCA9PSAxKSB7
CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRMb29wIiwgMSk7CisgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRUaW1lLnRvRml4ZWQoMSkiLCAwKTsK
KyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAgIH0pOworICAgIHJ1bigidmlk
ZW8ucGxheSgpIik7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRv
bS1sb29wc3RhcnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlh
L3ZpZGVvLWRvbS1sb29wc3RhcnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1sb29wc3RhcnQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDEzICsxLDEzIEBACiBUZXN0IHRoYXQgcGxheWluZyB2aWRlbyByZXdpbmRz
IHRvIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBsb29wU3RhcnQgRE9NIGF0dHJpYnV0ZSB3aGVuIGl0
IGxvb3BzLgogCi1URVNUKHZpZGVvLmxvb3BTdGFydD09MS4wKSBPSwotVEVTVCh2aWRlby5nZXRB
dHRyaWJ1dGUoJ2xvb3BzdGFydCcpID09ICcxcycpIE9LCitFWFBFQ1RFRCAodmlkZW8ubG9vcFN0
YXJ0ID09ICcxJykgT0sKK0VYUEVDVEVEICh2aWRlby5nZXRBdHRyaWJ1dGUoJ2xvb3BzdGFydCcp
ID09ICcxcycpIE9LCiBSVU4odmlkZW8ucGxheSgpKQogRVZFTlQobG9hZCkKIEVWRU5UKHRpbWV1
cGRhdGUpCiBFVkVOVCh0aW1ldXBkYXRlKQogRVZFTlQodGltZXVwZGF0ZSkKLVRFU1QodmlkZW8u
Y3VycmVudExvb3AgPT0gMSkgT0sKLVRFU1QodmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9
PSAxLjApIE9LCitFWFBFQ1RFRCAodmlkZW8uY3VycmVudExvb3AgPT0gJzEnKSBPSworRVhQRUNU
RUQgKHZpZGVvLmN1cnJlbnRUaW1lLnRvRml4ZWQoMSkgPT0gJzEnKSBPSwogRU5EIE9GIFRFU1QK
IApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLWxvb3BzdGFydC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1sb29wc3RhcnQuaHRtbAkocmV2
aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tbG9vcHN0YXJ0Lmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsMjAgKzIsMjIgQEAKIDxwPlRlc3QgdGhhdCBwbGF5aW5n
IHZpZGVvIHJld2luZHMgdG8gdGltZSBzcGVjaWZpZWQgYnkgdGhlIGxvb3BTdGFydCBET00gYXR0
cmlidXRlIHdoZW4gaXQgbG9vcHMuPC9wPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KIDxzY3JpcHQ+Ci12aWRlby5sb29wU3RhcnQgPSAxLjA7Ci10ZXN0KCJ2aWRlby5sb29w
U3RhcnQ9PTEuMCIpOwotdGVzdCgidmlkZW8uZ2V0QXR0cmlidXRlKCdsb29wc3RhcnQnKSA9PSAn
MXMnIik7Ci13YWl0Rm9yRXZlbnQoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7Ci0gICAgd2FpdEZvckV2
ZW50KCd0aW1ldXBkYXRlJywgZnVuY3Rpb24gKCkgewotICAgICAgICBmYWlsVGVzdEluKDEwMDAp
OwotICAgICAgICBpZiAodmlkZW8uY3VycmVudExvb3AgPT0gMSkgewotICAgICAgICAgICAgdGVz
dCgidmlkZW8uY3VycmVudExvb3AgPT0gMSIpOwotICAgICAgICAgICAgdGVzdCgidmlkZW8uY3Vy
cmVudFRpbWUudG9GaXhlZCgxKSA9PSAxLjAiKTsKLSAgICAgICAgICAgIGVuZFRlc3QoKTsKLSAg
ICAgICAgfQorICAgIHZpZGVvLmxvb3BTdGFydCA9IDEuMDsKKyAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLmxvb3BTdGFydCIsIDEuMCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5nZXRBdHRyaWJ1
dGUoJ2xvb3BzdGFydCcpICIsICcxcycpOworCisgICAgd2FpdEZvckV2ZW50KCdsb2FkJywgZnVu
Y3Rpb24gKCkgeworICAgICAgICB3YWl0Rm9yRXZlbnQoJ3RpbWV1cGRhdGUnLCBmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICBmYWlsVGVzdEluKDEwMDApOworICAgICAgICAgICAgaWYgKHZpZGVv
LmN1cnJlbnRMb29wID09IDEpIHsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVv
LmN1cnJlbnRMb29wIiwgMSk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5j
dXJyZW50VGltZS50b0ZpeGVkKDEpIiwgMS4wKTsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9
IHZpZGVvLmR1cmF0aW9uIC0gMC4yOwogICAgIH0pOwotICAgIHZpZGVvLmN1cnJlbnRUaW1lID0g
dmlkZW8uZHVyYXRpb24gLSAwLjI7Ci19KTsKLXZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0
IjsKLXJ1bigidmlkZW8ucGxheSgpIik7CisKKyAgICB2aWRlby5zcmMgPSAiY29udGVudC90ZXN0
Lm1wNCI7CisgICAgcnVuKCJ2aWRlby5wbGF5KCkiKTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0
VGVzdHMvbWVkaWEvdmlkZW8tZG9tLXNyYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLXNyYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5
KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLXNyYy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw2IEBACi1URVNUKHZpZGVvLmN1cnJlbnRTcmM9PScnKSBPSwot
VEVTVCh2aWRlby5jdXJyZW50U3JjPT0nJykgT0sKLUVWRU5UKGxvYWQpIFRFU1QocmVsYXRpdmVV
UkwodmlkZW8uY3VycmVudFNyYyk9PSdjb250ZW50L3Rlc3QubXA0JykgT0sKK0VYUEVDVEVEICh2
aWRlby5jdXJyZW50U3JjID09ICcnKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRTcmMgPT0g
JycpIE9LCitFVkVOVChsb2FkKQorRVhQRUNURUQgKHJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRT
cmMpID09ICdjb250ZW50L3Rlc3QubXA0JykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91
dFRlc3RzL21lZGlhL3ZpZGVvLWRvbS1zcmMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1kb20tc3JjLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tZG9tLXNyYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICsxLDE0
IEBACiA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+
PC9zY3JpcHQ+CiA8c2NyaXB0PgotdGVzdCgidmlkZW8uY3VycmVudFNyYz09JyciKTsKLXZpZGVv
LnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKLXRlc3QoInZpZGVvLmN1cnJlbnRTcmM9PScnIik7
Ci13YWl0Rm9yRXZlbnRUZXN0QW5kRW5kKCJsb2FkIiwgInJlbGF0aXZlVVJMKHZpZGVvLmN1cnJl
bnRTcmMpPT0nY29udGVudC90ZXN0Lm1wNCciKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1
cnJlbnRTcmMiLCAiIik7CisgICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOworICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIiKTsKIAotdmlkZW8ubG9hZCgpOwor
ICAgIHdhaXRGb3JFdmVudCgnbG9hZCcsIGZ1bmN0aW9uICgpIHsgCisgICAgICAgIHRlc3RFeHBl
Y3RlZCgicmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykiLCAiY29udGVudC90ZXN0Lm1wNCIp
OworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSApOworICAgIAorICAgIHZpZGVvLmxvYWQoKTsK
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZG9tLXN0YXJ0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tc3RhcnQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LWRvbS1zdGFydC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMSw5IEBACiBU
ZXN0IHRoYXQgd2hlbiBzdGFydCBET00gYXR0cmlidXRlIGlzIHNldCwgcGxheWJhY2sgc3RhcnRz
IGZyb20gdGhhdCB0aW1lLgogCi1URVNUKHZpZGVvLnN0YXJ0ID09IDEuMCkgT0sKLVRFU1Qodmlk
ZW8uZ2V0QXR0cmlidXRlKCdzdGFydCcpID09ICcxcycpIE9LCitFWFBFQ1RFRCAodmlkZW8ubG9v
cFN0YXJ0ID09ICcxJykgT0sKK0VYUEVDVEVEICh2aWRlby5nZXRBdHRyaWJ1dGUoJ3N0YXJ0Jykg
PT0gJzFzJykgT0sKIFJVTih2aWRlby5sb2FkKCkpCi1FVkVOVChjYW5wbGF5dGhyb3VnaCkgVEVT
VCh2aWRlby5jdXJyZW50VGltZSA9PSAxLjApIE9LCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKK0VY
UEVDVEVEICh2aWRlby5jdXJyZW50VGltZSA9PSAnMScpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tc3RhcnQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tc3RhcnQuaHRtbAkocmV2aXNpb24gNDEzNTkpCisr
KyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1kb20tc3RhcnQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMiwxMCArMiwxNCBAQAogPHA+VGVzdCB0aGF0IHdoZW4gc3RhcnQgRE9NIGF0dHJpYnV0ZSBp
cyBzZXQsIHBsYXliYWNrIHN0YXJ0cyBmcm9tIHRoYXQgdGltZS48L3A+CiA8c2NyaXB0IHNyYz12
aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZpZGVvLnN0YXJ0ID0gMS4wOwotdGVz
dCgidmlkZW8uc3RhcnQgPT0gMS4wIik7Ci10ZXN0KCJ2aWRlby5nZXRBdHRyaWJ1dGUoJ3N0YXJ0
JykgPT0gJzFzJyIpOwotd2FpdEZvckV2ZW50VGVzdEFuZEVuZCgnY2FucGxheXRocm91Z2gnLCAi
dmlkZW8uY3VycmVudFRpbWUgPT0gMS4wIik7Ci12aWRlby5zcmMgPSAiY29udGVudC90ZXN0Lm1w
NCI7Ci1ydW4oInZpZGVvLmxvYWQoKSIpOworCisgICAgdmlkZW8uc3RhcnQgPSAxLjA7CisgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby5sb29wU3RhcnQiLCAxLjApOworCisgICAgdGVzdEV4cGVjdGVk
KCJ2aWRlby5nZXRBdHRyaWJ1dGUoJ3N0YXJ0JykgIiwgJzFzJyk7CisKKyAgICB3YWl0Rm9yRXZl
bnQoImNhbnBsYXl0aHJvdWdoIiwgZnVuY3Rpb24gKCkgeyB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1
cnJlbnRUaW1lIiwgMS4wKTsgZW5kVGVzdCgpOyB9KTsKKworICAgIHZpZGVvLnNyYyA9ICJjb250
ZW50L3Rlc3QubXA0IjsKKyAgICBydW4oInZpZGVvLmxvYWQoKSIpOwogPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1lbmQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWVuZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5
KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZW5kLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw3ICsxLDcgQEAKLVRFU1QoIXZpZGVvLmVuZGVkKSBPSwotVEVTVCh2aWRlby5l
bmQgPT0gMC41KSBPSworRVhQRUNURUQgKHZpZGVvLmVuZGVkID09ICdmYWxzZScpIE9LCitFWFBF
Q1RFRCAodmlkZW8uZW5kID09ICcwLjUnKSBPSwogRVZFTlQoZW5kZWQpCi1URVNUKHZpZGVvLmN1
cnJlbnRUaW1lID09IDAuNSkgT0sKLVRFU1QodmlkZW8uZW5kZWQpIE9LCitFWFBFQ1RFRCAodmlk
ZW8uY3VycmVudFRpbWUgPT0gJzAuNScpIE9LCitFWFBFQ1RFRCAodmlkZW8uZW5kZWQgPT0gJ3Ry
dWUnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZW5k
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZW5kLmh0bWwJKHJl
dmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZW5kLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTUgKzEsMTIgQEAKIDx2aWRlbyBzcmM9Y29udGVudC90ZXN0Lm1wNCBl
bmQ9MC41cyBjb250cm9scz48L3ZpZGVvPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCIhdmlkZW8uZW5kZWQiKTsKLXRlc3QoInZpZGVvLmVuZCA9
PSAwLjUiKTsKLXdhaXRGb3JFdmVudCgnZW5kZWQnLCAKLSAgICBmdW5jdGlvbiAoKSAKLSAgICB7
Ci0gICAgICAgIHRlc3QoInZpZGVvLmN1cnJlbnRUaW1lID09IDAuNSIpOwotICAgICAgICB0ZXN0
KCJ2aWRlby5lbmRlZCIpOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uZW5kZWQiLCBmYWxzZSk7
CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lbmQiLCAwLjUpOworICAgIHdhaXRGb3JFdmVudCgn
ZW5kZWQnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVu
dFRpbWUiLCAwLjUpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmVuZGVkIiwgdHJ1ZSk7
CiAgICAgICAgIGVuZFRlc3QoKTsKLSAgICB9Ci0pOwotdmlkZW8ucGxheSgpOworICAgIH0gKTsK
KyAgICB2aWRlby5wbGF5KCk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLWVycm9yLWFib3J0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1lcnJvci1hYm9ydC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysg
TGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItYWJvcnQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDcgKzEsOSBAQAotVEVTVCghdmlkZW8uZXJyb3IpIE9LCitFWFBFQ1RFRCAo
dmlkZW8uZXJyb3IgPT0gJ251bGwnKSBPSwogRVZFTlQobG9hZHN0YXJ0KQotRVZFTlQoYWJvcnQp
IFRFU1QodmlkZW8uZXJyb3IuY29kZSA9PSBNZWRpYUVycm9yLk1FRElBX0VSUl9BQk9SVEVEKSBP
SworRVZFTlQoYWJvcnQpCitFWFBFQ1RFRCAodmlkZW8uZXJyb3IuY29kZSA9PSAnMScpIE9LCiBF
VkVOVChsb2Fkc3RhcnQpCi1FVkVOVChsb2FkKSBURVNUKCF2aWRlby5lcnJvcikgT0sKK0VWRU5U
KGxvYWQpCitFWFBFQ1RFRCAodmlkZW8uZXJyb3IgPT0gJ251bGwnKSBPSwogRU5EIE9GIFRFU1QK
IApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItYWJvcnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1lcnJvci1hYm9ydC5odG1sCShyZXZpc2lv
biA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWVycm9yLWFib3J0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMTcgQEAKIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgog
PHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCIhdmlk
ZW8uZXJyb3IiKTsKLXZhciBkaWRMb2FkID0gZmFsc2U7Ci13YWl0Rm9yRXZlbnQoImxvYWRzdGFy
dCIsIGZ1bmN0aW9uICgpIHsgaWYgKGRpZExvYWQpIHJldHVybjsgZGlkTG9hZCA9IHRydWU7IHZp
ZGVvLmxvYWQoKTsgfSk7Ci13YWl0Rm9yRXZlbnRBbmRUZXN0KCJhYm9ydCIsICJ2aWRlby5lcnJv
ci5jb2RlID09IE1lZGlhRXJyb3IuTUVESUFfRVJSX0FCT1JURUQiKTsKLXdhaXRGb3JFdmVudFRl
c3RBbmRFbmQoImxvYWQiLCAiIXZpZGVvLmVycm9yIik7Ci12aWRlby5zcmMgPSAiY29udGVudC90
ZXN0Lm1wNCI7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsIG51bGwpOworICAgIHZh
ciBkaWRMb2FkID0gZmFsc2U7CisKKyAgICB3YWl0Rm9yRXZlbnQoImxvYWRzdGFydCIsIGZ1bmN0
aW9uICgpIHsgaWYgKGRpZExvYWQpIHJldHVybjsgZGlkTG9hZCA9IHRydWU7IHZpZGVvLmxvYWQo
KTsgfSk7CisKKyAgICB3YWl0Rm9yRXZlbnQoImFib3J0IiwgZnVuY3Rpb24gKCkgeyB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLmVycm9yLmNvZGUiLCBNZWRpYUVycm9yLk1FRElBX0VSUl9BQk9SVEVEKTsg
fSApOworCisgICAgd2FpdEZvckV2ZW50KCdsb2FkJywgZnVuY3Rpb24gKCkgeyAKKyAgICAgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsIG51bGwpOworICAgICAgICBlbmRUZXN0KCk7Cisg
ICAgfSApOworCisgICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwogPC9zY3JpcHQ+
CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1lcnJvci1kb2VzLW5vdC1leGlzdC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItZG9l
cy1ub3QtZXhpc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLWVycm9yLWRvZXMtbm90LWV4aXN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMiArMSwxMiBAQAogVGVzdCB0aGF0IHRoZSBtZWRpYSBlbGVtZW50IGlzIGlu
IGNvcnJlY3Qgc3RhdGUgYWZ0ZXIgbG9hZCBmYWlscy4KIAotVEVTVCghdmlkZW8uZXJyb3IpIE9L
CitFWFBFQ1RFRCAodmlkZW8uZXJyb3IgPT0gJ251bGwnKSBPSwogRVZFTlQoZW1wdGllZCkKLVRF
U1QodmlkZW8uZXJyb3IuY29kZSA9PSBNZWRpYUVycm9yLk1FRElBX0VSUl9ORVRXT1JLKSBPSwot
VEVTVCh2aWRlby5kdXJhdGlvbiA9PSAwKSBPSwotVEVTVCh2aWRlby5jdXJyZW50VGltZSA9PSAw
KSBPSwotVEVTVCh2aWRlby5idWZmZXJlZC5sZW5ndGggPT0gMCkgT0sKLVRFU1QodmlkZW8uc2Vl
a2FibGUubGVuZ3RoID09IDApIE9LCi1URVNUKHZpZGVvLmJ1ZmZlcmVkLmxlbmd0aCA9PSAwKSBP
SworRVhQRUNURUQgKHZpZGVvLmVycm9yLmNvZGUgPT0gJzInKSBPSworRVhQRUNURUQgKHZpZGVv
LmR1cmF0aW9uID09ICcwJykgT0sKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50VGltZSA9PSAnMCcp
IE9LCitFWFBFQ1RFRCAodmlkZW8uYnVmZmVyZWQubGVuZ3RoID09ICcwJykgT0sKK0VYUEVDVEVE
ICh2aWRlby5zZWVrYWJsZS5sZW5ndGggPT0gJzAnKSBPSworRVhQRUNURUQgKHZpZGVvLmJ1ZmZl
cmVkLmxlbmd0aCA9PSAnMCcpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1lcnJvci1kb2VzLW5vdC1leGlzdC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL21lZGlhL3ZpZGVvLWVycm9yLWRvZXMtbm90LWV4aXN0Lmh0bWwJKHJldmlzaW9uIDQx
MzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItZG9lcy1ub3QtZXhpc3QuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMiwxNSArMiwxNSBAQAogPHZpZGVvIGNvbnRyb2xzPjwvdmlk
ZW8+CiA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXRlc3Qo
IiF2aWRlby5lcnJvciIpOwordGVzdEV4cGVjdGVkKCJ2aWRlby5lcnJvciIsIG51bGwpOwogd2Fp
dEZvckV2ZW50QW5kVGVzdCgibG9hZCIsICJmYWxzZSIpOwogd2FpdEZvckV2ZW50KCJlbXB0aWVk
IiwgZnVuY3Rpb24gKCkgewotICAgIHRlc3QoInZpZGVvLmVycm9yLmNvZGUgPT0gTWVkaWFFcnJv
ci5NRURJQV9FUlJfTkVUV09SSyIpOwotICAgIHRlc3QoInZpZGVvLmR1cmF0aW9uID09IDAiKTsK
LSAgICB0ZXN0KCJ2aWRlby5jdXJyZW50VGltZSA9PSAwIik7Ci0gICAgdGVzdCgidmlkZW8uYnVm
ZmVyZWQubGVuZ3RoID09IDAiKTsKLSAgICB0ZXN0KCJ2aWRlby5zZWVrYWJsZS5sZW5ndGggPT0g
MCIpOwotICAgIHRlc3QoInZpZGVvLmJ1ZmZlcmVkLmxlbmd0aCA9PSAwIik7CisgICAgdGVzdEV4
cGVjdGVkKCJ2aWRlby5lcnJvci5jb2RlIiwgTWVkaWFFcnJvci5NRURJQV9FUlJfTkVUV09SSyk7
CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5kdXJhdGlvbiIsIDApOworICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8uY3VycmVudFRpbWUiLCAwKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmJ1ZmZl
cmVkLmxlbmd0aCIsIDApOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uc2Vla2FibGUubGVuZ3Ro
IiwgMCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5idWZmZXJlZC5sZW5ndGgiLCAwKTsKICAg
ICBlbmRUZXN0KCk7CiB9KTsKIHZpZGVvLnNyYyA9ICJjb250ZW50L2RvZXMtbm90LWV4aXN0Lm1w
ZWciOwpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1uZXR3b3JrU3RhdGUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtbmV0
d29ya1N0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1sb2FkLW5ldHdvcmtTdGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNyArMSwxMSBAQAotVEVTVCh2aWRlby5uZXR3b3JrU3RhdGUgPT0gSFRNTE1lZGlhRWxl
bWVudC5FTVBUWSkgT0sKLUVWRU5UKGxvYWRzdGFydCkgVEVTVCh2aWRlby5uZXR3b3JrU3RhdGUg
PT0gSFRNTE1lZGlhRWxlbWVudC5MT0FESU5HKSBPSwotRVZFTlQobG9hZGVkbWV0YWRhdGEpIFRF
U1QodmlkZW8ubmV0d29ya1N0YXRlID09IEhUTUxNZWRpYUVsZW1lbnQuTE9BREVEX01FVEFEQVRB
KSBPSwotRVZFTlQobG9hZGVkZmlyc3RmcmFtZSkgVEVTVCh2aWRlby5uZXR3b3JrU3RhdGUgPT0g
SFRNTE1lZGlhRWxlbWVudC5MT0FERURfRklSU1RfRlJBTUUpIE9LCi1FVkVOVChsb2FkKSBURVNU
KHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkxPQURFRCkgT0sKK0VYUEVD
VEVEICh2aWRlby5uZXR3b3JrU3RhdGUgPT0gJzAnKSBPSworRVZFTlQobG9hZHN0YXJ0KQorRVhQ
RUNURUQgKHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSAnMScpIE9LCitFVkVOVChsb2FkZWRtZXRhZGF0
YSkKK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3RhdGUgPT0gJzInKSBPSworRVZFTlQobG9hZGVk
Zmlyc3RmcmFtZSkKK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3RhdGUgPT0gJzMnKSBPSworRVZF
TlQobG9hZCkKK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3RhdGUgPT0gJzQnKSBPSwogRU5EIE9G
IFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1uZXR3b3JrU3RhdGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2FkLW5ldHdvcmtT
dGF0ZS5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxv
YWQtbmV0d29ya1N0YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMTcgQEAKIDx2
aWRlbyBjb250cm9scz48L3ZpZGVvPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3Njcmlw
dD4KIDxzY3JpcHQ+Ci10ZXN0KCJ2aWRlby5uZXR3b3JrU3RhdGUgPT0gSFRNTE1lZGlhRWxlbWVu
dC5FTVBUWSIpOwotd2FpdEZvckV2ZW50QW5kVGVzdCgibG9hZHN0YXJ0IiwgInZpZGVvLm5ldHdv
cmtTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkxPQURJTkciKTsKLXdhaXRGb3JFdmVudEFuZFRl
c3QoImxvYWRlZG1ldGFkYXRhIiwgInZpZGVvLm5ldHdvcmtTdGF0ZSA9PSBIVE1MTWVkaWFFbGVt
ZW50LkxPQURFRF9NRVRBREFUQSIpOwotd2FpdEZvckV2ZW50QW5kVGVzdCgibG9hZGVkZmlyc3Rm
cmFtZSIsICJ2aWRlby5uZXR3b3JrU3RhdGUgPT0gSFRNTE1lZGlhRWxlbWVudC5MT0FERURfRklS
U1RfRlJBTUUiKTsKLXdhaXRGb3JFdmVudFRlc3RBbmRFbmQoImxvYWQiLCAidmlkZW8ubmV0d29y
a1N0YXRlID09IEhUTUxNZWRpYUVsZW1lbnQuTE9BREVEIik7Ci12aWRlby5zcmMgPSAiY29udGVu
dC90ZXN0Lm1wNCI7CisgICAgZnVuY3Rpb24gdGVzdE5ldHdvcmtTdGF0ZShleHBlY3RlZCwgZW5k
SXQpCisgICAgeworICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm5ldHdvcmtTdGF0ZSIsIGV4
cGVjdGVkKTsKKyAgICAgICAgaWYgKGVuZEl0KQorICAgICAgICAgICAgZW5kVGVzdCgpOworICAg
IH0KKworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ubmV0d29ya1N0YXRlIiwgSFRNTE1lZGlhRWxl
bWVudC5FTVBUWSk7CisgICAgd2FpdEZvckV2ZW50KCJsb2Fkc3RhcnQiLCBmdW5jdGlvbiAoKSB7
IHRlc3ROZXR3b3JrU3RhdGUoSFRNTE1lZGlhRWxlbWVudC5MT0FESU5HKTsgfSApOworICAgIHdh
aXRGb3JFdmVudCgibG9hZGVkbWV0YWRhdGEiLCBmdW5jdGlvbiAoKSB7IHRlc3ROZXR3b3JrU3Rh
dGUoSFRNTE1lZGlhRWxlbWVudC5MT0FERURfTUVUQURBVEEpOyB9ICk7CisgICAgd2FpdEZvckV2
ZW50KCJsb2FkZWRmaXJzdGZyYW1lIiwgZnVuY3Rpb24gKCkgeyB0ZXN0TmV0d29ya1N0YXRlKEhU
TUxNZWRpYUVsZW1lbnQuTE9BREVEX0ZJUlNUX0ZSQU1FKTsgfSApOworICAgIHdhaXRGb3JFdmVu
dCgibG9hZCIsIGZ1bmN0aW9uICgpIHsgdGVzdE5ldHdvcmtTdGF0ZShIVE1MTWVkaWFFbGVtZW50
LkxPQURFRCwgdHJ1ZSk7IH0gKTsKKyAgICB2aWRlby5zcmMgPSAiY29udGVudC90ZXN0Lm1wNCI7
CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvYWQtcmVhZHlTdGF0
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9h
ZC1yZWFkeVN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1sb2FkLXJlYWR5U3RhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDggKzEsMTMgQEAKLVRFU1QodmlkZW8ucmVhZHlTdGF0ZSA9PSBIVE1MTWVkaWFFbGVt
ZW50LkRBVEFfVU5BVkFJTEFCTEUpIE9LCi1FVkVOVChsb2Fkc3RhcnQpIFRFU1QodmlkZW8ucmVh
ZHlTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkRBVEFfVU5BVkFJTEFCTEUpIE9LCi1FVkVOVChs
b2FkZWRtZXRhZGF0YSkgVEVTVCh2aWRlby5yZWFkeVN0YXRlID09IEhUTUxNZWRpYUVsZW1lbnQu
REFUQV9VTkFWQUlMQUJMRSkgT0sKLUVWRU5UKGxvYWRlZGZpcnN0ZnJhbWUpIFRFU1QodmlkZW8u
cmVhZHlTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkNBTl9TSE9XX0NVUlJFTlRfRlJBTUUpIE9L
Ci1FVkVOVChjYW5zaG93Y3VycmVudGZyYW1lKSBURVNUKHZpZGVvLnJlYWR5U3RhdGUgPT0gSFRN
TE1lZGlhRWxlbWVudC5DQU5fU0hPV19DVVJSRU5UX0ZSQU1FKSBPSwotRVZFTlQoY2FucGxheXRo
cm91Z2gpIFRFU1QodmlkZW8ucmVhZHlTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50LkNBTl9QTEFZ
X1RIUk9VR0gpIE9LCitFWFBFQ1RFRCAodmlkZW8ucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCitFVkVO
VChsb2Fkc3RhcnQpCitFWFBFQ1RFRCAodmlkZW8ucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCitFVkVO
VChsb2FkZWRtZXRhZGF0YSkKK0VYUEVDVEVEICh2aWRlby5yZWFkeVN0YXRlID09ICcwJykgT0sK
K0VWRU5UKGxvYWRlZGZpcnN0ZnJhbWUpCitFWFBFQ1RFRCAodmlkZW8ucmVhZHlTdGF0ZSA9PSAn
MScpIE9LCitFVkVOVChjYW5zaG93Y3VycmVudGZyYW1lKQorRVhQRUNURUQgKHZpZGVvLnJlYWR5
U3RhdGUgPT0gJzEnKSBPSworRVZFTlQoY2FucGxheXRocm91Z2gpCitFWFBFQ1RFRCAodmlkZW8u
cmVhZHlTdGF0ZSA9PSAnMycpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1sb2FkLXJlYWR5U3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1sb2FkLXJlYWR5U3RhdGUuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBM
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb2FkLXJlYWR5U3RhdGUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwxMSArMSwxOCBAQAogPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CiA8c2NyaXB0IHNy
Yz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXRlc3QoInZpZGVvLnJlYWR5U3Rh
dGUgPT0gSFRNTE1lZGlhRWxlbWVudC5EQVRBX1VOQVZBSUxBQkxFIik7Ci13YWl0Rm9yRXZlbnRB
bmRUZXN0KCJsb2Fkc3RhcnQiLCAidmlkZW8ucmVhZHlTdGF0ZSA9PSBIVE1MTWVkaWFFbGVtZW50
LkRBVEFfVU5BVkFJTEFCTEUiKTsKLXdhaXRGb3JFdmVudEFuZFRlc3QoImxvYWRlZG1ldGFkYXRh
IiwgInZpZGVvLnJlYWR5U3RhdGUgPT0gSFRNTE1lZGlhRWxlbWVudC5EQVRBX1VOQVZBSUxBQkxF
Iik7Ci13YWl0Rm9yRXZlbnRBbmRUZXN0KCJsb2FkZWRmaXJzdGZyYW1lIiwgInZpZGVvLnJlYWR5
U3RhdGUgPT0gSFRNTE1lZGlhRWxlbWVudC5DQU5fU0hPV19DVVJSRU5UX0ZSQU1FIik7Ci13YWl0
Rm9yRXZlbnRBbmRUZXN0KCJjYW5zaG93Y3VycmVudGZyYW1lIiwgInZpZGVvLnJlYWR5U3RhdGUg
PT0gSFRNTE1lZGlhRWxlbWVudC5DQU5fU0hPV19DVVJSRU5UX0ZSQU1FIik7Ci13YWl0Rm9yRXZl
bnRUZXN0QW5kRW5kKCJjYW5wbGF5dGhyb3VnaCIsICJ2aWRlby5yZWFkeVN0YXRlID09IEhUTUxN
ZWRpYUVsZW1lbnQuQ0FOX1BMQVlfVEhST1VHSCIpOwotdmlkZW8uc3JjID0gImNvbnRlbnQvdGVz
dC5tcDQiOworICAgIGZ1bmN0aW9uIHRlc3RSZWFkeVN0YXRlKGV4cGVjdGVkLCBlbmRJdCkKKyAg
ICB7CisgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ucmVhZHlTdGF0ZSIsIGV4cGVjdGVkKTsK
KyAgICAgICAgaWYgKGVuZEl0KQorICAgICAgICAgICAgZW5kVGVzdCgpOworICAgIH0KKworICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8ucmVhZHlTdGF0ZSIsIEhUTUxNZWRpYUVsZW1lbnQuREFUQV9V
TkFWQUlMQUJMRSk7CisgICAgd2FpdEZvckV2ZW50KCJsb2Fkc3RhcnQiLCBmdW5jdGlvbiAoKSB7
IHRlc3RSZWFkeVN0YXRlKEhUTUxNZWRpYUVsZW1lbnQuREFUQV9VTkFWQUlMQUJMRSk7IH0gKTsK
KyAgICB3YWl0Rm9yRXZlbnQoImxvYWRlZG1ldGFkYXRhIiwgZnVuY3Rpb24gKCkgeyB0ZXN0UmVh
ZHlTdGF0ZShIVE1MTWVkaWFFbGVtZW50LkRBVEFfVU5BVkFJTEFCTEUpOyB9ICk7CisgICAgd2Fp
dEZvckV2ZW50KCJsb2FkZWRmaXJzdGZyYW1lIiwgZnVuY3Rpb24gKCkgeyB0ZXN0UmVhZHlTdGF0
ZShIVE1MTWVkaWFFbGVtZW50LkNBTl9TSE9XX0NVUlJFTlRfRlJBTUUpOyB9ICk7CisgICAgd2Fp
dEZvckV2ZW50KCJjYW5zaG93Y3VycmVudGZyYW1lIiwgZnVuY3Rpb24gKCkgeyB0ZXN0UmVhZHlT
dGF0ZShIVE1MTWVkaWFFbGVtZW50LkNBTl9TSE9XX0NVUlJFTlRfRlJBTUUpOyB9ICk7CisgICAg
d2FpdEZvckV2ZW50KCJjYW5wbGF5dGhyb3VnaCIsIGZ1bmN0aW9uICgpIHsgdGVzdFJlYWR5U3Rh
dGUoSFRNTE1lZGlhRWxlbWVudC5DQU5fUExBWV9USFJPVUdILCB0cnVlKTsgfSApOworICAgIHZp
ZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tbG9vcGNvdW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1sb29wY291bnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1
OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvb3Bjb3VudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNyArMSw4IEBACiBUZXN0IHRoYXQgcGxheWNvdW50IGF0dHJpYnV0
ZSBjYXVzZXMgcGxheWJhY2sgdG8gZW5kIGFmdGVyIHJpZ2h0IG51bWJlciBvZiByZXBlYXRzLgog
Ci1URVNUKHZpZGVvLnBsYXlDb3VudCA9PSAzKSBPSwotVEVTVCh2aWRlby5jdXJyZW50TG9vcCA9
PSAwKSBPSwotRVZFTlQoZW5kZWQpIFRFU1QodmlkZW8uY3VycmVudExvb3AgPT0gMikgT0sKK0VY
UEVDVEVEICh2aWRlby5wbGF5Q291bnQgPT0gJzMnKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJl
bnRMb29wID09ICcwJykgT0sKK0VWRU5UKGVuZGVkKQorRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRM
b29wID09ICcyJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLWxvb3Bjb3VudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LWxvb3Bjb3VudC5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLWxvb3Bjb3VudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDggKzIsMTMgQEAKIDxwPlRl
c3QgdGhhdCBwbGF5Y291bnQgYXR0cmlidXRlIGNhdXNlcyBwbGF5YmFjayB0byBlbmQgYWZ0ZXIg
cmlnaHQgbnVtYmVyIG9mIHJlcGVhdHMuPC9wPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48
L3NjcmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCJ2aWRlby5wbGF5Q291bnQgPT0gMyIpOwotdGVzdCgi
dmlkZW8uY3VycmVudExvb3AgPT0gMCIpOwotd2FpdEZvckV2ZW50VGVzdEFuZEVuZCgnZW5kZWQn
LCAidmlkZW8uY3VycmVudExvb3AgPT0gMiIpOwotdmlkZW8ucGxheSgpOworICAgIHRlc3RFeHBl
Y3RlZCgidmlkZW8ucGxheUNvdW50IiwgMyk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJy
ZW50TG9vcCIsIDApOworCisgICAgd2FpdEZvckV2ZW50KCdlbmRlZCcsIGZ1bmN0aW9uICgpIHsg
CisgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudExvb3AiLCAyKTsKKyAgICAgICAg
ZW5kVGVzdCgpOworICAgIH0gKTsKKworICAgIHZpZGVvLnBsYXkoKTsKIDwvc2NyaXB0PgpJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9vcGVuZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9vcGVuZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9vcGVuZC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMTAgQEAKIFRlc3QgdGhhdCB2aWRlbyBsb29w
cyB3aGVuIHRpbWUgcmVhY2hlcyB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBsb29wRW5kIGF0
dHJpYnV0ZS4KIAotVEVTVCh2aWRlby5sb29wRW5kPT0wLjUpIE9LCitFWFBFQ1RFRCAodmlkZW8u
bG9vcEVuZCA9PSAnMC41JykgT0sKIFJVTih2aWRlby5wbGF5KCkpCiBFVkVOVCh0aW1ldXBkYXRl
KQogRVZFTlQodGltZXVwZGF0ZSkKLVRFU1QodmlkZW8uY3VycmVudExvb3AgPT0gMSkgT0sKLVRF
U1QodmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAwKSBPSworRVhQRUNURUQgKHZpZGVv
LmN1cnJlbnRMb29wID09ICcxJykgT0sKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50VGltZS50b0Zp
eGVkKDEpID09ICcwJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlh
L3ZpZGVvLWxvb3BlbmQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRl
by1sb29wZW5kLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlk
ZW8tbG9vcGVuZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDE0ICsyLDE0IEBACiA8cD5UZXN0
IHRoYXQgdmlkZW8gbG9vcHMgd2hlbiB0aW1lIHJlYWNoZXMgdGhlIHZhbHVlIHNwZWNpZmllZCBi
eSB0aGUgbG9vcEVuZCBhdHRyaWJ1dGUuPC9wPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48
L3NjcmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCJ2aWRlby5sb29wRW5kPT0wLjUiKTsKLXNldFRpbWVv
dXQoZnVuY3Rpb24gKCkgeyB0ZXN0KCJ2aWRlby5jdXJyZW50VGltZTw9MC41Iik7IH0sIDIwMDAp
Owotd2FpdEZvckV2ZW50KCd0aW1ldXBkYXRlJywgZnVuY3Rpb24gKCkgewotICAgIGlmICh2aWRl
by5jdXJyZW50TG9vcCA9PSAxKSB7Ci0gICAgICAgIHRlc3QoInZpZGVvLmN1cnJlbnRMb29wID09
IDEiKTsKLSAgICAgICAgdGVzdCgidmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSA9PSAwIik7
Ci0gICAgICAgIGVuZFRlc3QoKTsKLSAgICB9Ci19KTsKLXJ1bigidmlkZW8ucGxheSgpIik7Cisg
ICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5sb29wRW5kIiwgMC41KTsKKyAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uICgpIHsgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50VGltZSIsIDAuNSwgIjw9Iik7
IH0sIDIwMDApOworICAgIHdhaXRGb3JFdmVudCgndGltZXVwZGF0ZScsIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgaWYgKHZpZGVvLmN1cnJlbnRMb29wID09IDEpIHsKKyAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8uY3VycmVudExvb3AiLCAxKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSIsIDApOworICAgICAgICAgICAgZW5kVGVz
dCgpOworICAgICAgICB9CisgICAgfSk7CisgICAgcnVuKCJ2aWRlby5wbGF5KCkiKTsKIDwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbG9vcHN0YXJ0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1sb29wc3RhcnQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLWxvb3Bz
dGFydC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIgKzEsMTIgQEAKIFRlc3Qg
dGhhdCBwbGF5aW5nIHZpZGVvIHJld2luZHMgdG8gdGltZSBzcGVjaWZpZWQgYnkgdGhlIGxvb3Bz
dGFydCBhdHRyaWJ1dGUgd2hlbiBpdCBsb29wcy4KIAotVEVTVCh2aWRlby5sb29wU3RhcnQ9PTEu
MCkgT0sKK0VYUEVDVEVEICh2aWRlby5sb29wU3RhcnQgPT0gJzEnKSBPSwogUlVOKHZpZGVvLnBs
YXkoKSkKIEVWRU5UKGxvYWQpCiBFVkVOVCh0aW1ldXBkYXRlKQogRVZFTlQodGltZXVwZGF0ZSkK
IEVWRU5UKHRpbWV1cGRhdGUpCi1URVNUKHZpZGVvLmN1cnJlbnRMb29wID09IDEpIE9LCi1URVNU
KHZpZGVvLmN1cnJlbnRUaW1lLnRvRml4ZWQoMSkgPT0gMS4wKSBPSworRVhQRUNURUQgKHZpZGVv
LmN1cnJlbnRMb29wID09ICcxJykgT0sKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50VGltZS50b0Zp
eGVkKDEpID09ICcxJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlh
L3ZpZGVvLWxvb3BzdGFydC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLWxvb3BzdGFydC5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlh
L3ZpZGVvLWxvb3BzdGFydC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDE4ICsyLDI0IEBACiA8
cD5UZXN0IHRoYXQgcGxheWluZyB2aWRlbyByZXdpbmRzIHRvIHRpbWUgc3BlY2lmaWVkIGJ5IHRo
ZSBsb29wc3RhcnQgYXR0cmlidXRlIHdoZW4gaXQgbG9vcHMuPC9wPgogPHNjcmlwdCBzcmM9dmlk
ZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCJ2aWRlby5sb29wU3RhcnQ9PTEu
MCIpOwotd2FpdEZvckV2ZW50KCdsb2FkJywgZnVuY3Rpb24gKCkgewotICAgIHdhaXRGb3JFdmVu
dCgndGltZXVwZGF0ZScsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgZmFpbFRlc3RJbigxMDAwKTsK
LSAgICAgICAgaWYgKHZpZGVvLmN1cnJlbnRMb29wID09IDEpIHsKLSAgICAgICAgICAgIHRlc3Qo
InZpZGVvLmN1cnJlbnRMb29wID09IDEiKTsKLSAgICAgICAgICAgIHRlc3QoInZpZGVvLmN1cnJl
bnRUaW1lLnRvRml4ZWQoMSkgPT0gMS4wIik7Ci0gICAgICAgICAgICBlbmRUZXN0KCk7Ci0gICAg
ICAgIH0KKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmxvb3BTdGFydCIsIDEuMCk7CisKKyAgICB3
YWl0Rm9yRXZlbnQoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIHdhaXRGb3JFdmVudCgn
dGltZXVwZGF0ZScsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGZhaWxUZXN0SW4oMTAwMCk7
CisgICAgICAgICAgICBpZiAodmlkZW8uY3VycmVudExvb3AgPT0gMSkgeworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudExvb3AiLCAxKTsKKworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgxKSIsIDEuMCk7CisK
KyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOwor
ICAgICAgICB2aWRlby5jdXJyZW50VGltZSA9IHZpZGVvLmR1cmF0aW9uIC0gMC4yOwogICAgIH0p
OwotICAgIHZpZGVvLmN1cnJlbnRUaW1lID0gdmlkZW8uZHVyYXRpb24gLSAwLjI7Ci19KTsKLXZp
ZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKLXJ1bigidmlkZW8ucGxheSgpIik7CisKKyAg
ICB2aWRlby5zcmMgPSAiY29udGVudC90ZXN0Lm1wNCI7CisKKyAgICBydW4oInZpZGVvLnBsYXko
KSIpOworCiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLW11dGVkLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tdXRlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
bXV0ZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICsxLDEyIEBACiBUZXN0
ICdtdXRlZCcgYXR0cmlidXRlCiAKLVRFU1QoIXZpZGVvLm11dGVkKSBPSworRVhQRUNURUQgKHZp
ZGVvLm11dGVkID09ICdmYWxzZScpIE9LCiBSVU4odmlkZW8ubXV0ZWQgPSB0cnVlKQotVEVTVCh2
aWRlby5tdXRlZCkgT0sKK0VYUEVDVEVEICh2aWRlby5tdXRlZCA9PSAndHJ1ZScpIE9LCiBSVU4o
dmlkZW8ubG9hZCgpKQogRVZFTlQobG9hZCkKLVRFU1QodmlkZW8ubXV0ZWQpIE9LCitFWFBFQ1RF
RCAodmlkZW8ubXV0ZWQgPT0gJ3RydWUnKSBPSwogUlVOKHZpZGVvLm11dGVkID0gZmFsc2UpCi1U
RVNUKCF2aWRlby5tdXRlZCkgT0sKK0VYUEVDVEVEICh2aWRlby5tdXRlZCA9PSAnZmFsc2UnKSBP
SwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbXV0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1tdXRlZC5odG1sCShyZXZp
c2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLW11dGVkLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTIsMTUgKzIsMTUgQEAKIDxwPlRlc3QgJ211dGVkJyBhdHRyaWJ1dGU8cD4K
IDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiA8c2NyaXB0PgotdGVzdCgiIXZp
ZGVvLm11dGVkIik7Ci1ydW4oInZpZGVvLm11dGVkID0gdHJ1ZSIpOwotdGVzdCgidmlkZW8ubXV0
ZWQiKTsKLXZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKLXJ1bigidmlkZW8ubG9hZCgp
Iik7Ci13YWl0Rm9yRXZlbnQoImxvYWQiLCBmdW5jdGlvbiAoKSB7Ci0gICAgdGVzdCgidmlkZW8u
bXV0ZWQiKTsKLSAgICBydW4oInZpZGVvLm11dGVkID0gZmFsc2UiKTsKLSAgICB0ZXN0KCIhdmlk
ZW8ubXV0ZWQiKTsKLSAgICBlbmRUZXN0KCk7Ci19KTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVv
Lm11dGVkIiwgZmFsc2UpOworICAgIHJ1bigidmlkZW8ubXV0ZWQgPSB0cnVlIik7CisgICAgdGVz
dEV4cGVjdGVkKCJ2aWRlby5tdXRlZCIsIHRydWUpOworICAgIHZpZGVvLnNyYyA9ICJjb250ZW50
L3Rlc3QubXA0IjsKKyAgICBydW4oInZpZGVvLmxvYWQoKSIpOworICAgIHdhaXRGb3JFdmVudCgi
bG9hZCIsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5tdXRlZCIs
IHRydWUpOworICAgICAgICBydW4oInZpZGVvLm11dGVkID0gZmFsc2UiKTsKKyAgICAgICAgdGVz
dEV4cGVjdGVkKCJ2aWRlby5tdXRlZCIsIGZhbHNlKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAg
IH0pOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1uby1hdXRvcGxh
eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbm8t
YXV0b3BsYXktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLW5vLWF1dG9wbGF5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDggQEAKLVRFU1QodmlkZW8ucGF1c2VkKSBPSworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg1
OiBUeXBlRXJyb3I6IFJlc3VsdCBvZiBleHByZXNzaW9uICdmdW5jJyBbNjNdIGlzIG5vdCBhIGZ1
bmN0aW9uLgorVGVzdCB0aGF0IHBsYXkgZXZlbnQgZG9lcyBub3QgZmlyZSB3aGVuIGxvYWQoKSBj
YWxsZWQgd2l0aCBubyBhdXRvcGxheSBhdHRyaWJ1dGUuCisKK0VYUEVDVEVEICh2aWRlby5wYXVz
ZWQgPT0gJ3RydWUnKSBPSwogRVZFTlQobG9hZCkKLVRFU1QodmlkZW8ucGF1c2VkKSBPSworRVhQ
RUNURUQgKHZpZGVvLnBhdXNlZCA9PSAndHJ1ZScpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBM
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1uby1hdXRvcGxheS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLW5vLWF1dG9wbGF5Lmh0bWwJKHJldmlzaW9uIDQxMzU5KQor
KysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tbm8tYXV0b3BsYXkuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw4ICsxLDE4IEBACiA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKzxwPlRlc3QgdGhh
dCBwbGF5IGV2ZW50IGRvZXMgbm90IGZpcmUgd2hlbiBsb2FkKCkgY2FsbGVkIHdpdGggbm8gYXV0
b3BsYXkgYXR0cmlidXRlLjwvcD4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+
CiA8c2NyaXB0PgotdGVzdCgidmlkZW8ucGF1c2VkIik7Ci13YWl0Rm9yRXZlbnRBbmRUZXN0KCJw
bGF5IiwgImZhbHNlIik7Ci13YWl0Rm9yRXZlbnQoImxvYWQiLCBmdW5jdGlvbiAoKSB7IHNldFRp
bWVvdXQodGVzdEFuZEVuZCgndmlkZW8ucGF1c2VkJywgNTAwKSkgfSk7Ci12aWRlby5zcmMgPSAi
Y29udGVudC90ZXN0Lm1wNCI7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5wYXVzZWQiLCB0cnVl
KTsKKworICAgIHdhaXRGb3JFdmVudCgncGxheScsIGZ1bmN0aW9uICgpIHsgCisgICAgICAgIGxv
Z1Jlc3VsdCgiUExBWSBmaXJlZCIpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSApOworCisg
ICAgd2FpdEZvckV2ZW50KCdsb2FkJywgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IAorICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIsIHRydWUpOworICAgICAgICBlbmRUZXN0KCk7
CisgICAgfSwgNTAwICkpOworCisgICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOwog
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wYXVzZS1lbXB0eS1ldmVu
dHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBh
dXNlLWVtcHR5LWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0
VGVzdHMvbWVkaWEvdmlkZW8tcGF1c2UtZW1wdHktZXZlbnRzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFRlc3QgdGhhdCBwYXVzZSgpIGZyb20gRU1QVFkgbmV0
d29yayBzdGF0ZSB0cmlnZ2VycyBsb2FkKCkKIAotVEVTVCh2aWRlby5uZXR3b3JrU3RhdGUgPT0g
SFRNTE1lZGlhRWxlbWVudC5FTVBUWSkgT0sKK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3RhdGUg
PT0gJzAnKSBPSwogUlVOKHZpZGVvLnBhdXNlKCkpCiBFVkVOVChsb2Fkc3RhcnQpCiBFTkQgT0Yg
VEVTVApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGF1c2UtZW1wdHktZXZlbnRzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGF1c2UtZW1wdHktZXZl
bnRzLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGF1
c2UtZW1wdHktZXZlbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsOSArMiw5IEBACiA8cD5U
ZXN0IHRoYXQgcGF1c2UoKSBmcm9tIEVNUFRZIG5ldHdvcmsgc3RhdGUgdHJpZ2dlcnMgbG9hZCgp
PC9wPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12aWRl
by5zcmMgPSAiY29udGVudC90ZXN0Lm1wNCI7Ci10ZXN0KCJ2aWRlby5uZXR3b3JrU3RhdGUgPT0g
SFRNTE1lZGlhRWxlbWVudC5FTVBUWSIpOwotd2FpdEZvckV2ZW50QW5kRW5kKCdsb2Fkc3RhcnQn
KTsKLXJ1bigidmlkZW8ucGF1c2UoKSIpOwotY29uc29sZVdyaXRlKCJTQ1JJUFQgRE9ORSIpOwor
ICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKKyAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLm5ldHdvcmtTdGF0ZSIsIEhUTUxNZWRpYUVsZW1lbnQuRU1QVFkpOworICAgIHdhaXRGb3JF
dmVudEFuZEVuZCgnbG9hZHN0YXJ0Jyk7CisgICAgcnVuKCJ2aWRlby5wYXVzZSgpIik7CisgICAg
Y29uc29sZVdyaXRlKCJTQ1JJUFQgRE9ORSIpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1wbGF5LWVtcHR5LWV2ZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1lbXB0eS1ldmVudHMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBsYXktZW1wdHkt
ZXZlbnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICsxLDExIEBACiBUZXN0
IHRoYXQgcGxheSgpIGZyb20gRU1QVFkgbmV0d29yayBzdGF0ZSB0cmlnZ2VycyBsb2FkKCkgYW5k
IGFzeW5jIHBsYXkgZXZlbnQuCiAKLVRFU1QodmlkZW8ubmV0d29ya1N0YXRlID09IEhUTUxNZWRp
YUVsZW1lbnQuRU1QVFkpIE9LCitFWFBFQ1RFRCAodmlkZW8ubmV0d29ya1N0YXRlID09ICcwJykg
T0sKIFJVTih2aWRlby5wbGF5KCkpCi1FVkVOVChsb2Fkc3RhcnQpIFRFU1QodmlkZW8ucGF1c2Vk
KSBPSworRVZFTlQobG9hZHN0YXJ0KQorRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAndHJ1ZScp
IE9LCiBTQ1JJUFQgRE9ORQotRVZFTlQocGxheSkgVEVTVCghdmlkZW8ucGF1c2VkKSBPSworRVZF
TlQocGxheSkKK0VYUEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIEVORCBPRiBU
RVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBsYXktZW1wdHktZXZlbnRzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1lbXB0eS1ldmVu
dHMuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wbGF5
LWVtcHR5LWV2ZW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDEwICsyLDE4IEBACiA8cD5U
ZXN0IHRoYXQgcGxheSgpIGZyb20gRU1QVFkgbmV0d29yayBzdGF0ZSB0cmlnZ2VycyBsb2FkKCkg
YW5kIGFzeW5jIHBsYXkgZXZlbnQuPC9wPgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KIDxzY3JpcHQ+Ci12aWRlby5zcmMgPSAiY29udGVudC90ZXN0Lm1wNCI7Ci10ZXN0KCJ2
aWRlby5uZXR3b3JrU3RhdGUgPT0gSFRNTE1lZGlhRWxlbWVudC5FTVBUWSIpOwotd2FpdEZvckV2
ZW50QW5kVGVzdCgnbG9hZHN0YXJ0JywgInZpZGVvLnBhdXNlZCIpOwotd2FpdEZvckV2ZW50VGVz
dEFuZEVuZCgncGxheScsICIhdmlkZW8ucGF1c2VkIik7Ci1ydW4oInZpZGVvLnBsYXkoKSIpOwot
Y29uc29sZVdyaXRlKCJTQ1JJUFQgRE9ORSIpOworICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L3Rl
c3QubXA0IjsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm5ldHdvcmtTdGF0ZSIsIEhUTUxNZWRp
YUVsZW1lbnQuRU1QVFkpOworCisgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnLCBmdW5jdGlv
biAoKSB7IAorICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIsIHRydWUpOworICAg
IH0gKTsKKworICAgIHdhaXRGb3JFdmVudCgncGxheScsIGZ1bmN0aW9uICgpIHsgCisgICAgICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8ucGF1c2VkIiwgZmFsc2UpOworICAgICAgICBlbmRUZXN0KCk7
CisgICAgfSApOworCisgICAgcnVuKCJ2aWRlby5wbGF5KCkiKTsKKyAgICBjb25zb2xlV3JpdGUo
IlNDUklQVCBET05FIik7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LXBsYXktcGF1c2UtZXZlbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1wbGF5LXBhdXNlLWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQx
MzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1wYXVzZS1ldmVudHMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDggKzMsMTEgQEAgVGVzdCB0aGF0IGNhbGxpbmcg
cGxheSgpIGFuZCBwYXVzZSgpIHRyaQogUlVOKHZpZGVvLnBsYXkoKSkKIFJVTih2aWRlby5wYXVz
ZSgpKQogU0NSSVBUIERPTkUKLUVWRU5UKHBsYXkpIFRFU1QodmlkZW8ucGF1c2VkKSBPSwotRVZF
TlQodGltZXVwZGF0ZSkgVEVTVCh2aWRlby5wYXVzZWQpIE9LCi1FVkVOVChwYXVzZSkgVEVTVCh2
aWRlby5wYXVzZWQpIE9LCitFVkVOVChwbGF5KQorRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAn
dHJ1ZScpIE9LCitFVkVOVCh0aW1ldXBkYXRlKQorRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAn
dHJ1ZScpIE9LCitFVkVOVChwYXVzZSkKK0VYUEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ3RydWUn
KSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGxheS1w
YXVzZS1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1w
bGF5LXBhdXNlLWV2ZW50cy5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXBsYXktcGF1c2UtZXZlbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsMTEg
KzIsMTMgQEAKIDxwPlRlc3QgdGhhdCBjYWxsaW5nIHBsYXkoKSBhbmQgcGF1c2UoKSB0cmlnZ2Vy
cyBhc3luYyBwbGF5LCB0aW1ldXBkYXRlIGFuZCBwYXVzZSBldmVudHMuPC9wPgogPHNjcmlwdCBz
cmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12aWRlby5zcmMgPSAiY29udGVu
dC90ZXN0Lm1wNCI7Ci13YWl0Rm9yRXZlbnRBbmRUZXN0KCdwbGF5JywgInZpZGVvLnBhdXNlZCIp
Owotd2FpdEZvckV2ZW50QW5kVGVzdCgndGltZXVwZGF0ZScsICJ2aWRlby5wYXVzZWQiKTsKLXdh
aXRGb3JFdmVudFRlc3RBbmRFbmQoJ3BhdXNlJywgInZpZGVvLnBhdXNlZCIpOwotcnVuKCJ2aWRl
by5wbGF5KCkiKTsKLXJ1bigidmlkZW8ucGF1c2UoKSIpOwotY29uc29sZVdyaXRlKCJTQ1JJUFQg
RE9ORSIpOworICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKKworICAgIHdhaXRG
b3JFdmVudCgncGxheScsIGZ1bmN0aW9uICgpIHsgdGVzdEV4cGVjdGVkKCJ2aWRlby5wYXVzZWQi
LCB0cnVlKTt9ICk7CisgICAgd2FpdEZvckV2ZW50KCd0aW1ldXBkYXRlJywgZnVuY3Rpb24gKCkg
eyB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIsIHRydWUpO30gKTsKKyAgICB3YWl0Rm9yRXZl
bnQoJ3BhdXNlJywgZnVuY3Rpb24gKCkgeyB0ZXN0RXhwZWN0ZWQoInZpZGVvLnBhdXNlZCIsIHRy
dWUpOyBlbmRUZXN0KCk7IH0gKTsKKworICAgIHJ1bigidmlkZW8ucGxheSgpIik7CisgICAgcnVu
KCJ2aWRlby5wYXVzZSgpIik7CisgICAgY29uc29sZVdyaXRlKCJTQ1JJUFQgRE9ORSIpOwogPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wb3N0ZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBvc3Rlci1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcG9zdGVyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIAotVEVTVCh2aWRlby5n
ZXRBdHRyaWJ1dGUoJ3Bvc3RlcicpID09ICdjb250ZW50L2dyZWVuYm94LnBuZycpIE9LCi1URVNU
KHJlbGF0aXZlVVJMKHZpZGVvLnBvc3RlcikgPT0gJ2NvbnRlbnQvZ3JlZW5ib3gucG5nJykgT0sK
LVRFU1QodmlkZW8uZ2V0QXR0cmlidXRlKCdwb3N0ZXInKSA9PSAnY29udGVudC9hYmUucG5nJykg
T0sKLVRFU1QocmVsYXRpdmVVUkwodmlkZW8ucG9zdGVyKSA9PSAnY29udGVudC9hYmUucG5nJykg
T0sKK0VYUEVDVEVEICh2aWRlby5nZXRBdHRyaWJ1dGUoJ3Bvc3RlcicpID09ICdjb250ZW50L2dy
ZWVuYm94LnBuZycpIE9LCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwodmlkZW8ucG9zdGVyKSA9PSAn
Y29udGVudC9ncmVlbmJveC5wbmcnKSBPSworRVhQRUNURUQgKHZpZGVvLmdldEF0dHJpYnV0ZSgn
cG9zdGVyJykgPT0gJ2NvbnRlbnQvYWJlLnBuZycpIE9LCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwo
dmlkZW8ucG9zdGVyKSA9PSAnY29udGVudC9hYmUucG5nJykgT0sKIEVORCBPRiBURVNUCiAKSW5k
ZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBvc3Rlci5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLXBvc3Rlci5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLXBvc3Rlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEw
ICsxLDEwIEBACiA8dmlkZW8gcG9zdGVyPSJjb250ZW50L2dyZWVuYm94LnBuZyIgY29udHJvbHM+
PC92aWRlbz4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiA8c2NyaXB0Pgot
dGVzdCgidmlkZW8uZ2V0QXR0cmlidXRlKCdwb3N0ZXInKSA9PSAnY29udGVudC9ncmVlbmJveC5w
bmcnIik7Ci10ZXN0KCJyZWxhdGl2ZVVSTCh2aWRlby5wb3N0ZXIpID09ICdjb250ZW50L2dyZWVu
Ym94LnBuZyciKTsKLXZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgJ2NvbnRlbnQvYWJlLnBu
ZycpOwotdGVzdCgidmlkZW8uZ2V0QXR0cmlidXRlKCdwb3N0ZXInKSA9PSAnY29udGVudC9hYmUu
cG5nJyIpOwotdGVzdCgicmVsYXRpdmVVUkwodmlkZW8ucG9zdGVyKSA9PSAnY29udGVudC9hYmUu
cG5nJyIpOwotZW5kVGVzdCgpOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uZ2V0QXR0cmlidXRl
KCdwb3N0ZXInKSIsICJjb250ZW50L2dyZWVuYm94LnBuZyIpOworICAgIHRlc3RFeHBlY3RlZCgi
cmVsYXRpdmVVUkwodmlkZW8ucG9zdGVyKSIsICJjb250ZW50L2dyZWVuYm94LnBuZyIpOworICAg
IHZpZGVvLnNldEF0dHJpYnV0ZSgncG9zdGVyJywgJ2NvbnRlbnQvYWJlLnBuZycpOworICAgIHRl
c3RFeHBlY3RlZCgidmlkZW8uZ2V0QXR0cmlidXRlKCdwb3N0ZXInKSIsICJjb250ZW50L2FiZS5w
bmciKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInJlbGF0aXZlVVJMKHZpZGVvLnBvc3RlcikiLCAiY29u
dGVudC9hYmUucG5nIik7CisgICAgZW5kVGVzdCgpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9tZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc2Vlay1wYXN0LWVuZC1wYXVzZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNl
ZWstcGFzdC1lbmQtcGF1c2VkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw2ICs0
LDYgQEAgUlVOKHZpZGVvLmxvYWQoKSkKIEVWRU5UKGxvYWQpCiBSVU4odmlkZW8uY3VycmVudFRp
bWUgPSA1MDApCiBFVkVOVCh0aW1ldXBkYXRlKQotVEVTVCh2aWRlby5jdXJyZW50VGltZSA9PSB2
aWRlby5kdXJhdGlvbikgT0sKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50VGltZSA9PSAnOC4zOTk5
OTk2MTg1MzAyNzMnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tc2Vlay1wYXN0LWVuZC1wYXVzZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9tZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC5odG1sCShyZXZpc2lvbiA0MTM1OSkK
KysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNlZWstcGFzdC1lbmQtcGF1c2VkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTIsMjEgKzIsMjEgQEAKIDxwPlRlc3QgdGhhdCBzZWVraW5nIHBhdXNl
ZCB2aWRlbyBwYXN0IGl0J3MgZHVyYXRpb24gdGltZSBzZXRzIGN1cnJlbnRUaW1lIHRvIGR1cmF0
aW9uIGFuZCBsZWF2ZXMgdmlkZW8gcGF1c2VkLjwvcD4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3Qu
anM+PC9zY3JpcHQ+CiA8c2NyaXB0Pgotd2FpdEZvckV2ZW50KCdsb2FkJywgZnVuY3Rpb24gKCkg
eyAKLSAgICAvLyBleGFjdCBhbW91bnQgb2YgdGltZXVwZGF0ZSBldmVudHMgaXMgdGltaW5nIGFu
ZCBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQKLSAgICB2YXIgZmlyc3QgPSB0cnVlOwotICAgIHZp
ZGVvLmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
IGlmIChmaXJzdCkgewotICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVCh0aW1ldXBkYXRl
KSIpOwotICAgICAgICAgICAgdGVzdCgidmlkZW8uY3VycmVudFRpbWUgPT0gdmlkZW8uZHVyYXRp
b24iKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGlmICh2aWRlby5jdXJyZW50VGltZSAhPSB2
aWRlby5kdXJhdGlvbikKLSAgICAgICAgICAgIHRlc3QoInZpZGVvLmN1cnJlbnRUaW1lID09IHZp
ZGVvLmR1cmF0aW9uIik7Ci0gICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAgd2FpdEZvckV2ZW50
KCdsb2FkJywgZnVuY3Rpb24gKCkgeyAKKyAgICAgICAgLy8gZXhhY3QgYW1vdW50IG9mIHRpbWV1
cGRhdGUgZXZlbnRzIGlzIHRpbWluZyBhbmQgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50CisgICAg
ICAgIHZhciBmaXJzdCA9IHRydWU7CisgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoInRp
bWV1cGRhdGUiLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBpZiAoZmlyc3QpIHsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKHRpbWV1cGRhdGUpIik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50VGltZSIsIHZpZGVvLmR1cmF0aW9uKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKHZpZGVvLmN1cnJlbnRUaW1lICE9
IHZpZGVvLmR1cmF0aW9uKQorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3Vy
cmVudFRpbWUiLCB2aWRlby5kdXJhdGlvbik7CisgICAgICAgICAgICBmaXJzdCA9IGZhbHNlOwor
ICAgICAgICB9KTsKKyAgICAgICAgcnVuKCJ2aWRlby5jdXJyZW50VGltZSA9IDUwMCIpOworICAg
ICAgICBlbmRUZXN0TGF0ZXIoKTsKICAgICB9KTsKLSAgICBydW4oInZpZGVvLmN1cnJlbnRUaW1l
ID0gNTAwIik7Ci0gICAgZW5kVGVzdExhdGVyKCk7Ci19KTsKLXZpZGVvLnNyYyA9ICJjb250ZW50
L3Rlc3QubXA0IjsKLXJ1bigidmlkZW8ubG9hZCgpIik7CisgICAgdmlkZW8uc3JjID0gImNvbnRl
bnQvdGVzdC5tcDQiOworICAgIHJ1bigidmlkZW8ubG9hZCgpIik7CiA8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNlZWstcGFzdC1lbmQtcGxheWluZy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc2Vlay1wYXN0LWVuZC1w
bGF5aW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1zZWVrLXBhc3QtZW5kLXBsYXlpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC01LDYgKzUsNiBAQCBFVkVOVChsb2FkKQogRVZFTlQodGltZXVwZGF0ZSkKIEVWRU5UKHRp
bWV1cGRhdGUpCiBFVkVOVCh0aW1ldXBkYXRlKQotVEVTVCh2aWRlby5jdXJyZW50TG9vcCA9PSAx
KSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRMb29wID09ICcxJykgT0sKIEVORCBPRiBURVNU
CiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNlZWstcGFzdC1lbmQtcGxheWluZy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNlZWstcGFzdC1lbmQt
cGxheWluZy5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVv
LXNlZWstcGFzdC1lbmQtcGxheWluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDE2ICsyLDE2
IEBACiA8cD5UZXN0IHRoYXQgc2Vla2luZyB2aWRlbyB3aXRoIHJlbWFpbmluZyBsb29wcyBwYXN0
IGl0J3MgZW5kIHJld2luZHMgdG8gdGhlIGJlZ2lubmluZyBhbmQgY29udGludWVzIHBsYXliYWNr
LjwvcD4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiA8c2NyaXB0Pgotd2Fp
dEZvckV2ZW50KCdsb2FkJywgZnVuY3Rpb24gKCkgeyAKLSAgICB3YWl0Rm9yRXZlbnQoJ3RpbWV1
cGRhdGUnLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgIGZhaWxUZXN0SW4oMTAwMCk7Ci0gICAgICAg
IGlmICh2aWRlby5jdXJyZW50TG9vcCA9PSAxKSB7Ci0gICAgICAgICAgICB0ZXN0KCJ2aWRlby5j
dXJyZW50TG9vcCA9PSAxIik7Ci0gICAgICAgICAgICBlbmRUZXN0KCk7Ci0gICAgICAgIH0KKyAg
ICB3YWl0Rm9yRXZlbnQoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7IAorICAgICAgICB3YWl0Rm9yRXZl
bnQoJ3RpbWV1cGRhdGUnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBmYWlsVGVzdEluKDEw
MDApOworICAgICAgICAgICAgaWYgKHZpZGVvLmN1cnJlbnRMb29wID09IDEpIHsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRMb29wIiwgMSk7CisgICAgICAgICAg
ICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgdmlk
ZW8uY3VycmVudFRpbWUgPSA1MDA7CiAgICAgfSk7Ci0gICAgdmlkZW8uY3VycmVudFRpbWUgPSA1
MDA7Ci19KTsKLXZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKLXJ1bigidmlkZW8ucGxh
eSgpIik7CisgICAgdmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOworICAgIHJ1bigidmlk
ZW8ucGxheSgpIik7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNl
ZWthYmxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRl
by1zZWVrYWJsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMv
bWVkaWEvdmlkZW8tc2Vla2FibGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEy
ICsxLDEyIEBACi1URVNUKHZpZGVvLnNlZWthYmxlLmxlbmd0aCA9PSAwKSBPSworRVhQRUNURUQg
KHZpZGVvLnNlZWthYmxlLmxlbmd0aCA9PSAnMCcpIE9LCiBURVNUKHZpZGVvLnNlZWthYmxlLnN0
YXJ0KC0xKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKIFRFU1Qodmlk
ZW8uc2Vla2FibGUuZW5kKC0xKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikg
T0sKIFRFU1QodmlkZW8uc2Vla2FibGUuc3RhcnQoMCkpIFRIUk9XUyhET01FeGNlcHRpb24uSU5E
RVhfU0laRV9FUlIpIE9LCiBURVNUKHZpZGVvLnNlZWthYmxlLmVuZCgwKSkgVEhST1dTKERPTUV4
Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKIEVWRU5UKGxvYWQpCi1URVNUKHZpZGVvLnNlZWth
YmxlLmxlbmd0aCA9PSAxKSBPSwotVEVTVCh2aWRlby5zZWVrYWJsZS5zdGFydCgwKSA9PSAwKSBP
SwotVEVTVCh2aWRlby5zZWVrYWJsZS5lbmQoMCkgPiAwKSBPSworRVhQRUNURUQgKHZpZGVvLnNl
ZWthYmxlLmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAodmlkZW8uc2Vla2FibGUuc3RhcnQo
MCkgPT0gJzAnKSBPSworRVhQRUNURUQgKHZpZGVvLnNlZWthYmxlLmVuZCgwKSA+ICcwJykgT0sK
IFRFU1QodmlkZW8uc2Vla2FibGUuc3RhcnQoLTEpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOREVY
X1NJWkVfRVJSKSBPSwogVEVTVCh2aWRlby5zZWVrYWJsZS5lbmQoLTEpKSBUSFJPV1MoRE9NRXhj
ZXB0aW9uLklOREVYX1NJWkVfRVJSKSBPSwogVEVTVCh2aWRlby5zZWVrYWJsZS5zdGFydCgxKSkg
VEhST1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKSW5kZXg6IExheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLXNlZWthYmxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tc2Vla2FibGUuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby1zZWVrYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIzICsxLDIzIEBA
CiA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9z
Y3JpcHQ+CiA8c2NyaXB0PgotdGVzdCgidmlkZW8uc2Vla2FibGUubGVuZ3RoID09IDAiKTsKLXRl
c3RFeGNlcHRpb24oInZpZGVvLnNlZWthYmxlLnN0YXJ0KC0xKSIsICJET01FeGNlcHRpb24uSU5E
RVhfU0laRV9FUlIiKTsKLXRlc3RFeGNlcHRpb24oInZpZGVvLnNlZWthYmxlLmVuZCgtMSkiLCAi
RE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7Ci10ZXN0RXhjZXB0aW9uKCJ2aWRlby5zZWVr
YWJsZS5zdGFydCgwKSIsICJET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIiKTsKLXRlc3RFeGNl
cHRpb24oInZpZGVvLnNlZWthYmxlLmVuZCgwKSIsICJET01FeGNlcHRpb24uSU5ERVhfU0laRV9F
UlIiKTsKLXdhaXRGb3JFdmVudCgnbG9hZCcsCi0gICAgZnVuY3Rpb24gKCkgCi0gICAgewotICAg
ICAgICB0ZXN0KCJ2aWRlby5zZWVrYWJsZS5sZW5ndGggPT0gMSIpOwotICAgICAgICB0ZXN0KCJ2
aWRlby5zZWVrYWJsZS5zdGFydCgwKSA9PSAwIik7Ci0gICAgICAgIHRlc3QoInZpZGVvLnNlZWth
YmxlLmVuZCgwKSA+IDAiKTsKLSAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8uc2Vla2FibGUu
c3RhcnQoLTEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOwotICAgICAgICB0ZXN0
RXhjZXB0aW9uKCJ2aWRlby5zZWVrYWJsZS5lbmQoLTEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9T
SVpFX0VSUiIpOwotICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby5zZWVrYWJsZS5zdGFydCgx
KSIsICJET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIiKTsKLSAgICAgICAgdGVzdEV4Y2VwdGlv
bigidmlkZW8uc2Vla2FibGUuZW5kKDEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIp
OwotICAgICAgICBlbmRUZXN0KCk7Ci0gICAgfQotKTsKLXZpZGVvLnNyYyA9ICJjb250ZW50L3Rl
c3QubXA0IjsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnNlZWthYmxlLmxlbmd0aCIsIDApOwor
ICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLnNlZWthYmxlLnN0YXJ0KC0xKSIsICJET01FeGNlcHRp
b24uSU5ERVhfU0laRV9FUlIiKTsKKyAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby5zZWVrYWJsZS5l
bmQoLTEpIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOworICAgIHRlc3RFeGNlcHRp
b24oInZpZGVvLnNlZWthYmxlLnN0YXJ0KDApIiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VS
UiIpOworICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLnNlZWthYmxlLmVuZCgwKSIsICJET01FeGNl
cHRpb24uSU5ERVhfU0laRV9FUlIiKTsKKyAgICB3YWl0Rm9yRXZlbnQoJ2xvYWQnLAorICAgICAg
ICBmdW5jdGlvbiAoKSAKKyAgICAgICAgeworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRl
by5zZWVrYWJsZS5sZW5ndGgiLCAxKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8u
c2Vla2FibGUuc3RhcnQoMCkiLCAwKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8u
c2Vla2FibGUuZW5kKDApIiwgIDAsICI+Iik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2
aWRlby5zZWVrYWJsZS5zdGFydCgtMSkiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7
CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby5zZWVrYWJsZS5lbmQoLTEpIiwgIkRP
TUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigi
dmlkZW8uc2Vla2FibGUuc3RhcnQoMSkiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7
CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby5zZWVrYWJsZS5lbmQoMSkiLCAiRE9N
RXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAg
ICAgIH0KKyAgICApOworICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKIDwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc2Vla2luZy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc2Vla2luZy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc2Vla2luZy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTEgQEAKIFRlc3QgdGhhdCBz
ZWVraW5nIGF0dHJpYnV0ZSBpcyB0cnVlIGluIHRpbWV1cGRhdGUgZXZlbnQgYWZ0ZXIgc2VlayBh
bmQgZ29lcyBiYWNrIHRvIGZhbHNlIHdoZW4gc2Vla2luZyBjb21wbGV0ZXMKIAogRVZFTlQobG9h
ZCkKLVRFU1QoIXZpZGVvLnNlZWtpbmcpIE9LCitFWFBFQ1RFRCAodmlkZW8uc2Vla2luZyA9PSAn
ZmFsc2UnKSBPSwogUlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMikKIEVWRU5UKHRpbWV1cGRhdGUp
Ci1URVNUKHZpZGVvLnNlZWtpbmcpIE9LCi1URVNUKHZpZGVvLmN1cnJlbnRUaW1lID09IDIpIE9L
Ci1URVNUKCF2aWRlby5zZWVraW5nKSBPSworRVhQRUNURUQgKHZpZGVvLnNlZWtpbmcgPT0gJ3Ry
dWUnKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRUaW1lID09ICcyJykgT0sKK0VYUEVDVEVE
ICh2aWRlby5zZWVraW5nID09ICdmYWxzZScpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBMYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1zZWVraW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tc2Vla2luZy5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRl
c3RzL21lZGlhL3ZpZGVvLXNlZWtpbmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNSwxMiArNSwx
MyBAQAogd2FpdEZvckV2ZW50KCdsb2FkJywKICAgICBmdW5jdGlvbiAoKSAKICAgICB7Ci0gICAg
ICAgIHRlc3QoIiF2aWRlby5zZWVraW5nIik7CisgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8u
c2Vla2luZyIsIGZhbHNlKTsKICAgICAgICAgd2FpdEZvckV2ZW50KCd0aW1ldXBkYXRlJywgZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgdGVzdCgidmlkZW8uc2Vla2luZyIpOwotICAgICAgICAg
ICAgdGVzdCgidmlkZW8uY3VycmVudFRpbWUgPT0gMiIpOworICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJ2aWRlby5zZWVraW5nIiwgdHJ1ZSk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLmN1cnJlbnRUaW1lIiwgMik7CiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0QW5kRW5kKCIhdmlkZW8uc2Vla2luZyIpOworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uc2Vla2luZyIsIGZhbHNlKTsKKyAgICAgICAg
ICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9LCAyMDApOwogICAgICAgICB9KTsKICAg
ICAgICAgcnVuKCJ2aWRlby5jdXJyZW50VGltZSA9IDIiKTsKSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXNpemUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRl
c3RzL21lZGlhL3ZpZGVvLXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQg
KzEsNyBAQAotVEVTVCh2aWRlby52aWRlb1dpZHRoID09IDAgJiYgdmlkZW8udmlkZW9IZWlnaHQg
PT0gMCkgT0sKLUVWRU5UKGxvYWRlZG1ldGFkYXRhKSBURVNUKHZpZGVvLnZpZGVvV2lkdGggPiAw
ICYmIHZpZGVvLnZpZGVvSGVpZ2h0ID4gMCkgT0sKK0VYUEVDVEVEICh2aWRlby52aWRlb1dpZHRo
ID09ICcwJykgT0sKK0VYUEVDVEVEICh2aWRlby52aWRlb0hlaWdodCA9PSAnMCcpIE9LCitFVkVO
VChsb2FkZWRtZXRhZGF0YSkKK0VYUEVDVEVEICh2aWRlby52aWRlb1dpZHRoID4gJzAnKSBPSwor
RVhQRUNURUQgKHZpZGVvLnZpZGVvSGVpZ2h0ID4gJzAnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXNpemUuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRU
ZXN0cy9tZWRpYS92aWRlby1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSwxNCBA
QAogPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CiA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwv
c2NyaXB0PgogPHNjcmlwdD4KLXRlc3QoInZpZGVvLnZpZGVvV2lkdGggPT0gMCAmJiB2aWRlby52
aWRlb0hlaWdodCA9PSAwIik7Ci13YWl0Rm9yRXZlbnRUZXN0QW5kRW5kKCdsb2FkZWRtZXRhZGF0
YScsICJ2aWRlby52aWRlb1dpZHRoID4gMCAmJiB2aWRlby52aWRlb0hlaWdodCA+IDAiKTsKLXZp
ZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0IjsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnZp
ZGVvV2lkdGgiLCAwLCAiPT0iKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnZpZGVvSGVpZ2h0
IiwgMCwgIj09Iik7CisKKyAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRlZG1ldGFkYXRhJywgZnVuY3Rp
b24gKCkgeyAKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby52aWRlb1dpZHRoIiwgMCwgIj4i
KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby52aWRlb0hlaWdodCIsIDAsICI+Iik7Cisg
ICAgICAgIGVuZFRlc3QoKTsKKyAgICB9ICk7CisKKyAgICB2aWRlby5zcmMgPSAiY29udGVudC90
ZXN0Lm1wNCI7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNvdXJj
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291
cmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1zb3VyY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAot
RVZFTlQobG9hZHN0YXJ0KSBURVNUKHJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdj
b250ZW50L3Rlc3QubXA0JykgT0sKK0VWRU5UKGxvYWRzdGFydCkKK0VYUEVDVEVEIChyZWxhdGl2
ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9PSAnY29udGVudC90ZXN0Lm1wNCcpIE9LCiBFTkQgT0Yg
VEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zb3VyY2UtbWVkaWEtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNvdXJjZS1tZWRp
YS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlk
ZW8tc291cmNlLW1lZGlhLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQg
QEAKLUVWRU5UKGxvYWRzdGFydCkgVEVTVChyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9
PSAnY29udGVudC90ZXN0Lm1wNCcpIE9LCitFVkVOVChsb2Fkc3RhcnQpCitFWFBFQ1RFRCAocmVs
YXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBPSwogRU5E
IE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNlLW1lZGlhLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNlLW1lZGlhLmh0
bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNlLW1l
ZGlhLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTYsNiArNiwxMCBAQAogICAgIDxzb3VyY2Ugc3Jj
PWNvbnRlbnQvdGVzdC5tcDQgbWVkaWE9InNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDEw
MHB4KSI+CiA8L3ZpZGVvPgogPHNjcmlwdD4KLXZpZGVvID0gbWVkaWEgPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKLXdhaXRGb3JFdmVudFRlc3RBbmRFbmQoJ2xv
YWRzdGFydCcsICJyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9PSAnY29udGVudC90ZXN0
Lm1wNCciKTsKKyAgICB2aWRlbyA9IG1lZGlhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ3ZpZGVvJylbMF07CisgICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnLCBmdW5jdGlvbiAo
KSB7IAorICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMp
IiwgImNvbnRlbnQvdGVzdC5tcDQiKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0gKTsKKwog
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zb3VyY2UtdHlwZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNlLXR5
cGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLXNvdXJjZS10eXBlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQg
QEAKLUVWRU5UKGxvYWRzdGFydCkgVEVTVChyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9
PSAnY29udGVudC90ZXN0Lm1wNCcpIE9LCitFVkVOVChsb2Fkc3RhcnQpCitFWFBFQ1RFRCAocmVs
YXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBPSwogRU5E
IE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNlLXR5cGUtcGFy
YW1zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1z
b3VyY2UtdHlwZS1wYXJhbXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXNvdXJjZS10eXBlLXBhcmFtcy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw0IEBACi1FVkVOVChsb2Fkc3RhcnQpIFRFU1QocmVsYXRpdmVV
UkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBPSworRVZFTlQobG9h
ZHN0YXJ0KQorRVhQRUNURUQgKHJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdjb250
ZW50L3Rlc3QubXA0JykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlh
L3ZpZGVvLXNvdXJjZS10eXBlLXBhcmFtcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLXNvdXJjZS10eXBlLXBhcmFtcy5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysr
IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNvdXJjZS10eXBlLXBhcmFtcy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC02LDYgKzYsOSBAQAogICAgIDxzb3VyY2Ugc3JjPWNvbnRlbnQvZXJyb3IyLm1w
ZWcgdHlwZT12aWRlby9tcGVnPgogPC92aWRlbz4KIDxzY3JpcHQ+Ci12aWRlbyA9IG1lZGlhID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci13YWl0Rm9yRXZlbnRU
ZXN0QW5kRW5kKCdsb2Fkc3RhcnQnLCAicmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0g
J2NvbnRlbnQvdGVzdC5tcDQnIik7CisgICAgdmlkZW8gPSBtZWRpYSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOworICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0
JywgZnVuY3Rpb24gKCkgeyAKKyAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWxhdGl2ZVVSTCh2aWRl
by5jdXJyZW50U3JjKSIsICJjb250ZW50L3Rlc3QubXA0Iik7CisgICAgICAgIGVuZFRlc3QoKTsK
KyAgICB9ICk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNvdXJj
ZS10eXBlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNl
LXR5cGUuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1z
b3VyY2UtdHlwZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDYgKzYsMTAgQEAKICAgICA8c291
cmNlIHNyYz1jb250ZW50L2Vycm9yMi5tcGVnIHR5cGU9dmlkZW8vbXBlZz4KIDwvdmlkZW8+CiA8
c2NyaXB0PgotdmlkZW8gPSBtZWRpYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2
aWRlbycpWzBdOwotd2FpdEZvckV2ZW50VGVzdEFuZEVuZCgnbG9hZHN0YXJ0JywgInJlbGF0aXZl
VVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdjb250ZW50L3Rlc3QubXA0JyIpOworICAgIHZpZGVv
ID0gbWVkaWEgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKKwor
ICAgIHdhaXRGb3JFdmVudCgibG9hZHN0YXJ0IiwgZnVuY3Rpb24gKCkgeworICAgICAgICB0ZXN0
RXhwZWN0ZWQoInJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpICIsICJjb250ZW50L3Rlc3Qu
bXA0Iik7CisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9KTsKIDwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvbWVkaWEvdmlkZW8tc291cmNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tc291cmNlLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVz
dHMvbWVkaWEvdmlkZW8tc291cmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMywxMSBA
QAogPHZpZGVvIGNvbnRyb2xzPgogICAgIDxzb3VyY2Ugc3JjPWNvbnRlbnQvdGVzdC5tcDQ+CiA8
L3ZpZGVvPgorCiA8c2NyaXB0PgotdmlkZW8gPSBtZWRpYSA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCd2aWRlbycpWzBdOwotd2FpdEZvckV2ZW50VGVzdEFuZEVuZCgnbG9hZHN0YXJ0
JywgInJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdjb250ZW50L3Rlc3QubXA0JyIp
OworICAgIHZpZGVvID0gbWVkaWEgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlk
ZW8nKVswXTsKKyAgICB3YWl0Rm9yRXZlbnQoImxvYWRzdGFydCIsIGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgdGVzdEV4cGVjdGVkKCJyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSAiLCAiY29u
dGVudC90ZXN0Lm1wNCIpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSk7CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1jaGFuZ2UtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1jaGFuZ2UtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1jaGFu
Z2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzEsMTAgQEAKIFRlc3QgdGhh
dCBjaGFuZ2luZyBzcmMgYXR0cmlidXRlIHRyaWdnZXJzIGxvYWQgd2hlbiBuZXR3b3JrIHN0YXRl
IGlzIGVtcHR5LgogVGVzdCB0aGF0IGl0IGRvZXMgbm90IHRyaWdnZXIgbG9hZCB3aGVuIG5ldHdv
cmsgc3RhdGUgaXMgbm9uLWVtcHR5LgogRVZFTlQoZW1wdGllZCkKLVRFU1QodmlkZW8ubmV0d29y
a1N0YXRlID09IEhUTUxNZWRpYUVsZW1lbnQuRU1QVFkpIE9LCi1FVkVOVChsb2Fkc3RhcnQpIFRF
U1QocmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBP
SworRVhQRUNURUQgKHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSAnMCcpIE9LCitFVkVOVChsb2Fkc3Rh
cnQpCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQv
dGVzdC5tcDQnKSBPSwogRVZFTlQobG9hZCkKLVRFU1QodmlkZW8ubmV0d29ya1N0YXRlICE9IEhU
TUxNZWRpYUVsZW1lbnQuRU1QVFkpIE9LCitFWFBFQ1RFRCAodmlkZW8ubmV0d29ya1N0YXRlICE9
ICcwJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNy
Yy1jaGFuZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zcmMt
Y2hhbmdlLmh0bWwJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
c3JjLWNoYW5nZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01LDE1ICs1LDIxIEBAIFRlc3QgdGhh
dCBpdCBkb2VzIG5vdCB0cmlnZ2VyIGxvYWQgd2hlbiAKIDwvZGl2PgogPHNjcmlwdCBzcmM9dmlk
ZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci13YWl0Rm9yRXZlbnQoJ2VtcHRpZWQnLCBm
dW5jdGlvbiAoKSB7Ci0gICAgdGVzdCgndmlkZW8ubmV0d29ya1N0YXRlID09IEhUTUxNZWRpYUVs
ZW1lbnQuRU1QVFknKTsKLSAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICdjb250ZW50L3Rl
c3QubXA0JykKLSAgICB3YWl0Rm9yRXZlbnRBbmRUZXN0KCdsb2Fkc3RhcnQnLCAicmVsYXRpdmVV
UkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnIik7Ci0gICAgd2FpdEZv
ckV2ZW50KCdsb2FkJywgZnVuY3Rpb24gKCkgewotICAgICAgICB0ZXN0KCd2aWRlby5uZXR3b3Jr
U3RhdGUgIT0gSFRNTE1lZGlhRWxlbWVudC5FTVBUWScpOwotICAgICAgICB2aWRlby5zZXRBdHRy
aWJ1dGUoJ3NyYycsICdjb250ZW50L3Rlc3Qud2F2Jyk7Ci0gICAgICAgIHdhaXRGb3JFdmVudEFu
ZEZhaWwoJ2xvYWRzdGFydCcpOwotICAgICAgICBzZXRUaW1lb3V0KGVuZFRlc3QsIDUwMCk7Cisg
ICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJywgZnVuY3Rpb24gKCkgeworICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLm5ldHdvcmtTdGF0ZSIsIEhUTUxNZWRpYUVsZW1lbnQuRU1QVFkpOworICAg
ICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3NyYycsICdjb250ZW50L3Rlc3QubXA0JykKKyAgICAg
ICAgd2FpdEZvckV2ZW50KCJsb2Fkc3RhcnQiLCBmdW5jdGlvbiAoKSB7IHRlc3RFeHBlY3RlZCgi
cmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykiLCAiY29udGVudC90ZXN0Lm1wNCIpOyB9KTsK
KworICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm5ldHdvcmtTdGF0ZSIsIEhUTUxNZWRpYUVsZW1lbnQuRU1Q
VFksICIhPSIpOworICAgICAgICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdzcmMnLCAnY29udGVu
dC90ZXN0LndhdicpOworCisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcsIGZ1
bmN0aW9uICgpIHsgCisgICAgICAgICAgICAgICAgbG9nUmVzdWx0KCJMT0FEU1RBUlQgZmlyZWQi
KTsKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9ICk7CisKKyAgICAg
ICAgICAgIHNldFRpbWVvdXQoZW5kVGVzdCwgNTAwKTsKKyAgICAgICAgfSk7CiAgICAgfSk7Ci19
KTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3JjLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zcmMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACi1FVkVOVChsb2Fkc3RhcnQp
IFRFU1QocmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQn
KSBPSworRVZFTlQobG9hZHN0YXJ0KQorRVhQRUNURUQgKHJlbGF0aXZlVVJMKHZpZGVvLmN1cnJl
bnRTcmMpID09ICdjb250ZW50L3Rlc3QubXA0JykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1yZW1vdmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1yZW1vdmUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1yZW1vdmUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogVGVzdCB0aGF0IHJlbW92aW5n
IHNyYyBhdHRyaWJ1dGUgdHJpZ2dlcnMgbG9hZAogRVZFTlQoZW1wdGllZCkKLUVWRU5UKGxvYWRz
dGFydCkgVEVTVChyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9PSAnY29udGVudC90ZXN0
Lm1wNCcpIE9LCitFVkVOVChsb2Fkc3RhcnQpCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwodmlkZW8u
Y3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3JjLXJlbW92ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1yZW1vdmUuaHRtbAkocmV2aXNpb24gNDEzNTkp
CisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zcmMtcmVtb3ZlLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTcsOSArNywxMyBAQCBUZXN0IHRoYXQgcmVtb3Zpbmcgc3JjIGF0dHJpYnV0ZSB0cmln
Z2VyCiAgICAgPHNvdXJjZSBzcmM9Y29udGVudC90ZXN0Lm1wND48L3NvdXJjZT4KIDwvdmlkZW8+
CiA8c2NyaXB0PgotdmlkZW8gPSBtZWRpYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCd2aWRlbycpWzBdOwotd2FpdEZvckV2ZW50KCdlbXB0aWVkJywgZnVuY3Rpb24gKCkgewotICAg
IHZpZGVvLnJlbW92ZUF0dHJpYnV0ZSgnc3JjJykKLSAgICB3YWl0Rm9yRXZlbnRUZXN0QW5kRW5k
KCdsb2Fkc3RhcnQnLCAicmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQv
dGVzdC5tcDQnIik7Ci19KTsKKyAgICB2aWRlbyA9IG1lZGlhID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07CisgICAgd2FpdEZvckV2ZW50KCdlbXB0aWVkJywgZnVu
Y3Rpb24gKCkgeworICAgICAgICB2aWRlby5yZW1vdmVBdHRyaWJ1dGUoJ3NyYycpCisKKyAgICAg
ICAgd2FpdEZvckV2ZW50KCdsb2Fkc3RhcnQnLCBmdW5jdGlvbiAoKSB7IAorICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSIsICJjb250ZW50L3Rl
c3QubXA0Iik7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0gKTsKKyAgICB9KTsK
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3JjLXNldC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3JjLXNldC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3Jj
LXNldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw1IEBACiBUZXN0IHRo
YXQgc2V0dGluZyBzcmMgYXR0cmlidXRlIHRyaWdnZXJzIGxvYWQKLUVWRU5UKGxvYWRzdGFydCkg
VEVTVChyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9PSAnY29udGVudC90ZXN0Lm1wNCcp
IE9LCitFVkVOVChsb2Fkc3RhcnQpCitFWFBFQ1RFRCAocmVsYXRpdmVVUkwodmlkZW8uY3VycmVu
dFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnKSBPSwogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5
b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3JjLXNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL21lZGlhL3ZpZGVvLXNyYy1zZXQuaHRtbAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRU
ZXN0cy9tZWRpYS92aWRlby1zcmMtc2V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMSwx
MyBAQAogPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+Ci08ZGl2PgotVGVzdCB0aGF0IHNldHRpbmcg
c3JjIGF0dHJpYnV0ZSB0cmlnZ2VycyBsb2FkCi08L2Rpdj4KKzxkaXY+VGVzdCB0aGF0IHNldHRp
bmcgc3JjIGF0dHJpYnV0ZSB0cmlnZ2VycyBsb2FkPC9kaXY+CiA8c2NyaXB0IHNyYz12aWRlby10
ZXN0LmpzPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJ2Nv
bnRlbnQvdGVzdC5tcDQnKQotd2FpdEZvckV2ZW50VGVzdEFuZEVuZCgnbG9hZHN0YXJ0JywgInJl
bGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdjb250ZW50L3Rlc3QubXA0JyIpOworICAg
IHZpZGVvLnNldEF0dHJpYnV0ZSgnc3JjJywgJ2NvbnRlbnQvdGVzdC5tcDQnKQorCisgICAgd2Fp
dEZvckV2ZW50KCdsb2Fkc3RhcnQnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykiLCAiY29udGVudC90ZXN0Lm1wNCIpOwor
ICAgICAgICBlbmRUZXN0KCk7CisgICAgfSApOworCisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCdz
cmMnLCAnY29udGVudC90ZXN0Lm1wNCcpCiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXNyYy1zb3VyY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL21lZGlhL3ZpZGVvLXNyYy1zb3VyY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0MTM1OSkK
KysrIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy1zb3VyY2UtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAotRVZFTlQobG9hZHN0YXJ0KSBURVNUKHJlbGF0aXZl
VVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdjb250ZW50L3Rlc3QubXA0JykgT0sKK0VWRU5UKGxv
YWRzdGFydCkKK0VYUEVDVEVEIChyZWxhdGl2ZVVSTCh2aWRlby5jdXJyZW50U3JjKSA9PSAnY29u
dGVudC90ZXN0Lm1wNCcpIE9LCiBFTkQgT0YgVEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1zcmMtc291cmNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tc3JjLXNvdXJjZS5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXNyYy1zb3VyY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNCw2ICs0LDEyIEBA
CiAgICAgPHNvdXJjZSBzcmM9Y29udGVudC9lcnJvci5tcGVnPgogPC92aWRlbz4KIDxzY3JpcHQ+
Ci12aWRlbyA9IG1lZGlhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylb
MF07Ci13YWl0Rm9yRXZlbnRUZXN0QW5kRW5kKCdsb2Fkc3RhcnQnLCAicmVsYXRpdmVVUkwodmlk
ZW8uY3VycmVudFNyYykgPT0gJ2NvbnRlbnQvdGVzdC5tcDQnIik7CisKKyAgICB2aWRlbyA9IG1l
ZGlhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07CisKKyAgICB3
YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcsIGZ1bmN0aW9uICgpIHsgCisgICAgICAgIHRlc3RFeHBl
Y3RlZCgicmVsYXRpdmVVUkwodmlkZW8uY3VycmVudFNyYykiLCAiY29udGVudC90ZXN0Lm1wNCIp
OworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSApOworCiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXNyYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXNyYy5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91dFRlc3RzL21lZGlh
L3ZpZGVvLXNyYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsMTQgQEAKIDxib2R5Pgog
PHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDx2aWRlbyBjb250cm9scz48L3Zp
ZGVvPgorCiA8c2NyaXB0PgotdmlkZW8gPSBtZWRpYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCd2aWRlbycpWzBdOwotd2FpdEZvckV2ZW50VGVzdEFuZEVuZCgnbG9hZHN0YXJ0Jywg
InJlbGF0aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpID09ICdjb250ZW50L3Rlc3QubXA0JyIpOwot
dmlkZW8uc3JjID0gImNvbnRlbnQvdGVzdC5tcDQiOworICAgIHZpZGVvID0gbWVkaWEgPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKKworICAgIHdhaXRGb3JFdmVu
dCgibG9hZHN0YXJ0IiwgZnVuY3Rpb24gKCkgeworICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlbGF0
aXZlVVJMKHZpZGVvLmN1cnJlbnRTcmMpICIsICJjb250ZW50L3Rlc3QubXA0Iik7CisgICAgICAg
IGVuZFRlc3QoKTsKKyAgICB9KTsKKworICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L3Rlc3QubXA0
IjsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3RhcnQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXN0YXJ0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zdGFy
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw1IEBACi1URVNUKHZpZGVv
LnN0YXJ0ID09IDEuMCkgT0sKLUVWRU5UKGNhbnBsYXl0aHJvdWdoKSBURVNUKHZpZGVvLmN1cnJl
bnRUaW1lID09IDEuMCkgT0sKK0VYUEVDVEVEICh2aWRlby5zdGFydCA9PSAnMScpIE9LCitFVkVO
VChjYW5wbGF5dGhyb3VnaCkKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50VGltZSA9PSAnMScpIE9L
CiBFTkQgT0YgVEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby1zdGFydC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXN0YXJ0Lmh0bWwJKHJldmlz
aW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tc3RhcnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDkgQEAKIDx2aWRlbyBzdGFydD0xcyBjb250cm9scz48L3ZpZGVv
PgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCJ2
aWRlby5zdGFydCA9PSAxLjAiKTsKLXdhaXRGb3JFdmVudFRlc3RBbmRFbmQoJ2NhbnBsYXl0aHJv
dWdoJywgInZpZGVvLmN1cnJlbnRUaW1lID09IDEuMCIpOwotdmlkZW8uc3JjID0gImNvbnRlbnQv
dGVzdC5tcDQiOworICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uc3RhcnQiLCAxLjApOworCisgICAg
d2FpdEZvckV2ZW50KCJjYW5wbGF5dGhyb3VnaCIsIGZ1bmN0aW9uICgpIHsgdGVzdEV4cGVjdGVk
KCJ2aWRlby5jdXJyZW50VGltZSIsIDEuMCk7IGVuZFRlc3QoKTsgfSk7CisKKyAgICB2aWRlby5z
cmMgPSAiY29udGVudC90ZXN0Lm1wNCI7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXRlc3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
dGVzdC5qcwkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxNiArMjcsMTIgQEAgZnVuY3Rpb24gdGVzdEFuZEVu
ZCh0ZXN0RnVuY1N0cmluZykKIAogZnVuY3Rpb24gdGVzdCh0ZXN0RnVuY1N0cmluZywgZW5kaXQp
CiB7Ci0gICAgaWYgKGV2YWwodGVzdEZ1bmNTdHJpbmcpKQotICAgICAgICBjb25zb2xlV3JpdGUo
IlRFU1QoIiArIHRlc3RGdW5jU3RyaW5nICsgIikgPHNwYW4gc3R5bGU9J2NvbG9yOmdyZWVuJz5P
Szwvc3Bhbj4iKTsKLSAgICBlbHNlCi0gICAgICAgIGNvbnNvbGVXcml0ZSgiVEVTVCgiICsgdGVz
dEZ1bmNTdHJpbmcgKyAiKSA8c3BhbiBzdHlsZT0nY29sb3I6cmVkJz5GQUlMPC9zcGFuPiIpOyAg
ICAKLQorICAgIGxvZ1Jlc3VsdChldmFsKHRlc3RGdW5jU3RyaW5nKSwgIlRFU1QoIiArIHRlc3RG
dW5jU3RyaW5nICsgIikiKTsKICAgICBpZiAoZW5kaXQpCiAgICAgICAgIGVuZFRlc3QoKTsgIAog
fQogCi1mdW5jdGlvbiB0ZXN0RXhwZWN0ZWQodGVzdEZ1bmNTdHJpbmcsIGV4cGVjdGVkKQorZnVu
Y3Rpb24gdGVzdEV4cGVjdGVkKHRlc3RGdW5jU3RyaW5nLCBleHBlY3RlZCwgY29tcGFyaXNvbikK
IHsKICAgICB0cnkgewogICAgICAgICB2YXIgb2JzZXJ2ZWQgPSBldmFsKHRlc3RGdW5jU3RyaW5n
KTsKQEAgLTQ1LDEyICs0MSwyMyBAQCBmdW5jdGlvbiB0ZXN0RXhwZWN0ZWQodGVzdEZ1bmNTdHJp
bmcsIGV4CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCi0gICAgdmFyIG1zZyA9ICJleHBl
Y3RlZCAiICsgdGVzdEZ1bmNTdHJpbmcgKyAiPT0nIiArIGV4cGVjdGVkICsgIicsIG9ic2VydmVk
ICciICsgb2JzZXJ2ZWQgKyAiJyI7CisgICAgaWYgKGNvbXBhcmlzb24gPT09IHVuZGVmaW5lZCkK
KyAgICAgICAgY29tcGFyaXNvbiA9ICc9PSc7CiAKLSAgICBpZiAob2JzZXJ2ZWQgPT0gZXhwZWN0
ZWQpCi0gICAgICAgIGNvbnNvbGVXcml0ZShtc2cgKyAiIC0gPHNwYW4gc3R5bGU9J2NvbG9yOmdy
ZWVuJz5PSzwvc3Bhbj4iKTsKLSAgICBlbHNlCi0gICAgICAgIGNvbnNvbGVXcml0ZShtc2cgKyAi
IC0gPHNwYW4gc3R5bGU9J2NvbG9yOnJlZCc+RkFJTDwvc3Bhbj4iKTsKKyAgICB2YXIgc3VjY2Vz
cyA9IGZhbHNlOworICAgIHN3aXRjaCAoY29tcGFyaXNvbikKKyAgICB7CisgICAgICAgIGNhc2Ug
JzwnOiAgc3VjY2VzcyA9IG9ic2VydmVkIDwgIGV4cGVjdGVkOyBicmVhazsKKyAgICAgICAgY2Fz
ZSAnPic6ICBzdWNjZXNzID0gb2JzZXJ2ZWQgPiAgZXhwZWN0ZWQ7IGJyZWFrOworICAgICAgICBj
YXNlICchPSc6IHN1Y2Nlc3MgPSBvYnNlcnZlZCAhPSBleHBlY3RlZDsgYnJlYWs7CisgICAgICAg
IGNhc2UgJz09Jzogc3VjY2VzcyA9IG9ic2VydmVkID09IGV4cGVjdGVkOyBicmVhazsKKyAgICB9
CisKKyAgICB2YXIgbXNnID0gIkVYUEVDVEVEICg8ZW0+IiArIHRlc3RGdW5jU3RyaW5nICsgIiA8
L2VtPiIgKyBjb21wYXJpc29uICsgIiAnPGVtPiIgKyBleHBlY3RlZCArICI8L2VtPicpIjsKKyAg
ICBpZiAoIXN1Y2Nlc3MpCisgICAgICAgIG1zZyArPSAgIiwgT0JTRVJWRUQgJzxlbT4iICsgb2Jz
ZXJ2ZWQgKyAiPC9lbT4nIjsKKworICAgIGxvZ1Jlc3VsdChzdWNjZXNzLCBtc2cpOwogfQogCiBm
dW5jdGlvbiBydW4odGVzdEZ1bmNTdHJpbmcpCkBAIC03NSw3ICs4Miw3IEBAIGZ1bmN0aW9uIHdh
aXRGb3JFdmVudChldmVudE5hbWUsIGZ1bmMsIGUKICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVO
VCgiICsgZXZlbnROYW1lICsgIikiKTsKICAgICAgICAgCiAgICAgICAgIGlmIChmdW5jKQotICAg
ICAgICAgICAgZnVuYygpOworICAgICAgICAgICAgZnVuYyhldmVudCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAoZW5kaXQpCiAgICAgICAgICAgICBlbmRUZXN0KCk7ICAgIApAQCAtOTgsMTEgKzEw
NSw3IEBAIGZ1bmN0aW9uIHdhaXRGb3JFdmVudEFuZFRlc3QoZXZlbnROYW1lLCAKIHsKICAgICBm
dW5jdGlvbiBfZXZlbnRDYWxsYmFjayhldmVudCkKICAgICB7Ci0gICAgICAgIGlmIChldmFsKHRl
c3RGdW5jU3RyaW5nKSkKLSAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoIiArIGV2ZW50
TmFtZSArICIpIFRFU1QoIiArIHRlc3RGdW5jU3RyaW5nICsgIikgPHNwYW4gc3R5bGU9J2NvbG9y
OmdyZWVuJz5PSzwvc3Bhbj4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29uc29sZVdy
aXRlKCJFVkVOVCgiICsgZXZlbnROYW1lICsgIikgVEVTVCgiICsgdGVzdEZ1bmNTdHJpbmcgKyAi
KSA8c3BhbiBzdHlsZT0nY29sb3I6cmVkJz5GQUlMPC9zcGFuPiIpOwotICAgICAgICAKKyAgICAg
ICAgbG9nUmVzdWx0KGV2YWwodGVzdEZ1bmNTdHJpbmcpLCAiRVZFTlQoIiArIGV2ZW50TmFtZSAr
ICIpIFRFU1QoIiArIHRlc3RGdW5jU3RyaW5nICsgIikiKTsKICAgICAgICAgaWYgKGVuZGl0KQog
ICAgICAgICAgICAgZW5kVGVzdCgpOyAgICAKICAgICB9CkBAIC0xMTUsMTAgKzExOCw3IEBAIGZ1
bmN0aW9uIHRlc3RFeGNlcHRpb24odGVzdFN0cmluZywgZXhjZXAKICAgICB0cnkgewogICAgICAg
ICBldmFsKHRlc3RTdHJpbmcpOwogICAgIH0gY2F0Y2ggKGV4KSB7IAotICAgICAgICBpZiAoZXgu
Y29kZSA9PSBldmFsKGV4Y2VwdGlvblN0cmluZykpCi0gICAgICAgICAgICBjb25zb2xlV3JpdGUo
IlRFU1QoIiArIHRlc3RTdHJpbmcgKyAiKSBUSFJPV1MoIitleGNlcHRpb25TdHJpbmcrIikgPHNw
YW4gc3R5bGU9J2NvbG9yOmdyZWVuJz5PSzwvc3Bhbj4iKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJURVNUKCIgKyB0ZXN0U3RyaW5nICsgIikgVEhST1dTKCIrZXhj
ZXB0aW9uU3RyaW5nKyIpIDxzcGFuIHN0eWxlPSdjb2xvcjpyZWQnPkZBSUw8L3NwYW4+Iik7ICAg
IAorICAgICAgICBsb2dSZXN1bHQoZXguY29kZSA9PSBldmFsKGV4Y2VwdGlvblN0cmluZyksICJU
RVNUKCIgKyB0ZXN0U3RyaW5nICsgIikgVEhST1dTKCIrZXhjZXB0aW9uU3RyaW5nKyIpIik7CiAg
ICAgfQogfQogCkBAIC0xNDUsNiArMTQ1LDE0IEBAIGZ1bmN0aW9uIGZhaWxUZXN0SW4obXMpCiAg
ICAgfSwgbXMpOwogfQogCitmdW5jdGlvbiBsb2dSZXN1bHQoc3VjY2VzcywgdGV4dCkKK3sKKyAg
ICBpZiAoc3VjY2VzcykKKyAgICAgICAgY29uc29sZVdyaXRlKHRleHQgKyAiIDxzcGFuIHN0eWxl
PSdjb2xvcjpncmVlbic+T0s8L3NwYW4+Iik7CisgICAgZWxzZQorICAgICAgICBjb25zb2xlV3Jp
dGUodGV4dCArICIgPHNwYW4gc3R5bGU9J2NvbG9yOnJlZCc+RkFJTDwvc3Bhbj4iKTsKK30KKwog
ZnVuY3Rpb24gY29uc29sZVdyaXRlKHRleHQpCiB7CiAgICAgaWYgKHRlc3RFbmRlZCkKSW5kZXg6
IExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXZvbHVtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tdm9sdW1lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby12b2x1bWUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDE3ICsxLDE3IEBACiBUZXN0ICd2b2x1bWUnIGF0dHJpYnV0ZQog
Ci1URVNUKHZpZGVvLnZvbHVtZSA9PSAxLjApIE9LCitFWFBFQ1RFRCAodmlkZW8udm9sdW1lID09
ICcxJykgT0sKIFJVTih2aWRlby52b2x1bWUgPSAwLjUpCi1URVNUKHZpZGVvLnZvbHVtZSA9PSAw
LjUpIE9LCitFWFBFQ1RFRCAodmlkZW8udm9sdW1lID09ICcwLjUnKSBPSwogUlVOKHZpZGVvLnZv
bHVtZSA9IDApCi1URVNUKHZpZGVvLnZvbHVtZSA9PSAwKSBPSworRVhQRUNURUQgKHZpZGVvLnZv
bHVtZSA9PSAnMCcpIE9LCiBURVNUKHZpZGVvLnZvbHVtZSA9IDEuNSkgVEhST1dTKERPTUV4Y2Vw
dGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKIFRFU1QodmlkZW8udm9sdW1lID0gLTAuNSkgVEhST1dT
KERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sKIFJVTih2aWRlby5sb2FkKCkpCiBFVkVO
VChsb2FkKQotVEVTVCh2aWRlby52b2x1bWUgPT0gMCkgT0sKK0VYUEVDVEVEICh2aWRlby52b2x1
bWUgPT0gJzAnKSBPSwogUlVOKHZpZGVvLnZvbHVtZSA9IDAuNSkKLVRFU1QodmlkZW8udm9sdW1l
ID09IDAuNSkgT0sKK0VYUEVDVEVEICh2aWRlby52b2x1bWUgPT0gJzAuNScpIE9LCiBURVNUKHZp
ZGVvLnZvbHVtZSA9IDEuNSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUikgT0sK
IFRFU1QodmlkZW8udm9sdW1lID0gLTAuNSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTkRFWF9TSVpF
X0VSUikgT0sKIEVORCBPRiBURVNUCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby12b2x1
bWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby12b2x1bWUuaHRt
bAkocmV2aXNpb24gNDEzNTkpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby12b2x1bWUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMiwyMSArMiwyMSBAQAogPHA+VGVzdCAndm9sdW1lJyBhdHRy
aWJ1dGU8cD4KIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CiA8c2NyaXB0Pgot
dGVzdCgidmlkZW8udm9sdW1lID09IDEuMCIpOwotcnVuKCJ2aWRlby52b2x1bWUgPSAwLjUiKTsK
LXRlc3QoInZpZGVvLnZvbHVtZSA9PSAwLjUiKTsKLXJ1bigidmlkZW8udm9sdW1lID0gMCIpOwot
dGVzdCgidmlkZW8udm9sdW1lID09IDAiKTsKLXRlc3RFeGNlcHRpb24oInZpZGVvLnZvbHVtZSA9
IDEuNSIsICJET01FeGNlcHRpb24uSU5ERVhfU0laRV9FUlIiKTsKLXRlc3RFeGNlcHRpb24oInZp
ZGVvLnZvbHVtZSA9IC0wLjUiLCAiRE9NRXhjZXB0aW9uLklOREVYX1NJWkVfRVJSIik7Ci12aWRl
by5zcmMgPSAiY29udGVudC90ZXN0Lm1wNCI7Ci1ydW4oInZpZGVvLmxvYWQoKSIpOwotd2FpdEZv
ckV2ZW50KCJsb2FkIiwgZnVuY3Rpb24gKCkgewotICAgIHRlc3QoInZpZGVvLnZvbHVtZSA9PSAw
Iik7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby52b2x1bWUiLCAxLjApOwogICAgIHJ1bigidmlk
ZW8udm9sdW1lID0gMC41Iik7Ci0gICAgdGVzdCgidmlkZW8udm9sdW1lID09IDAuNSIpOworICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8udm9sdW1lIiwgMC41KTsKKyAgICBydW4oInZpZGVvLnZvbHVt
ZSA9IDAiKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnZvbHVtZSIsIDApOwogICAgIHRlc3RF
eGNlcHRpb24oInZpZGVvLnZvbHVtZSA9IDEuNSIsICJET01FeGNlcHRpb24uSU5ERVhfU0laRV9F
UlIiKTsKICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby52b2x1bWUgPSAtMC41IiwgIkRPTUV4Y2Vw
dGlvbi5JTkRFWF9TSVpFX0VSUiIpOwotICAgIGVuZFRlc3QoKTsKLX0pOyAKKyAgICB2aWRlby5z
cmMgPSAiY29udGVudC90ZXN0Lm1wNCI7CisgICAgcnVuKCJ2aWRlby5sb2FkKCkiKTsKKyAgICB3
YWl0Rm9yRXZlbnQoImxvYWQiLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIHRlc3RFeHBlY3RlZCgi
dmlkZW8udm9sdW1lIiwgMCk7CisgICAgICAgIHJ1bigidmlkZW8udm9sdW1lID0gMC41Iik7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udm9sdW1lIiwgMC41KTsKKyAgICAgICAgdGVzdEV4
Y2VwdGlvbigidmlkZW8udm9sdW1lID0gMS41IiwgIkRPTUV4Y2VwdGlvbi5JTkRFWF9TSVpFX0VS
UiIpOworICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby52b2x1bWUgPSAtMC41IiwgIkRPTUV4
Y2VwdGlvbi5JTkRFWF9TSVpFX0VSUiIpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfSk7IAog
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS92aWRlby13aWR0aC1oZWlnaHQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXdpZHRoLWhl
aWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQxMzU5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8td2lkdGgtaGVpZ2h0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCAr
MSwxNCBAQAotVEVTVCh2aWRlby53aWR0aCA9PSAxMDApIE9LCi1URVNUKHZpZGVvLmhlaWdodCA9
PSA1MCkgT0sKLVRFU1QodmlkZW8ub2Zmc2V0V2lkdGggPT0gMTAwKSBPSwotVEVTVCh2aWRlby5v
ZmZzZXRIZWlnaHQgPT0gNTApIE9LCi1URVNUKHZpZGVvLndpZHRoID09IDIwMCkgT0sKLVRFU1Qo
dmlkZW8uaGVpZ2h0ID09IDEwMCkgT0sKLVRFU1QodmlkZW8ub2Zmc2V0V2lkdGggPT0gMjAwKSBP
SwotVEVTVCh2aWRlby5vZmZzZXRIZWlnaHQgPT0gMTAwKSBPSwotVEVTVCh2aWRlby5nZXRBdHRy
aWJ1dGUoJ3dpZHRoJykgPT0gJzQwMCcpIE9LCi1URVNUKHZpZGVvLmdldEF0dHJpYnV0ZSgnaGVp
Z2h0JykgPT0gJzIwMCcpIE9LCi1URVNUKHZpZGVvLm9mZnNldFdpZHRoID09IDQwMCkgT0sKLVRF
U1QodmlkZW8ub2Zmc2V0SGVpZ2h0ID09IDIwMCkgT0sKK0VYUEVDVEVEICh2aWRlby53aWR0aCA9
PSAnMTAwJykgT0sKK0VYUEVDVEVEICh2aWRlby5oZWlnaHQgPT0gJzUwJykgT0sKK0VYUEVDVEVE
ICh2aWRlby5vZmZzZXRXaWR0aCA9PSAnMTAwJykgT0sKK0VYUEVDVEVEICh2aWRlby5vZmZzZXRI
ZWlnaHQgPT0gJzUwJykgT0sKK0VYUEVDVEVEICh2aWRlby53aWR0aCA9PSAnMjAwJykgT0sKK0VY
UEVDVEVEICh2aWRlby5oZWlnaHQgPT0gJzEwMCcpIE9LCitFWFBFQ1RFRCAodmlkZW8ub2Zmc2V0
V2lkdGggPT0gJzIwMCcpIE9LCitFWFBFQ1RFRCAodmlkZW8ub2Zmc2V0SGVpZ2h0ID09ICcxMDAn
KSBPSworRVhQRUNURUQgKHZpZGVvLmdldEF0dHJpYnV0ZSgnd2lkdGgnKSA9PSAnNDAwJykgT0sK
K0VYUEVDVEVEICh2aWRlby5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpID09ICcyMDAnKSBPSworRVhQ
RUNURUQgKHZpZGVvLm9mZnNldFdpZHRoID09ICc0MDAnKSBPSworRVhQRUNURUQgKHZpZGVvLm9m
ZnNldEhlaWdodCA9PSAnMjAwJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLXdpZHRoLWhlaWdodC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLXdpZHRoLWhlaWdodC5odG1sCShyZXZpc2lvbiA0MTM1OSkKKysrIExheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXdpZHRoLWhlaWdodC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIxICsxLDIxIEBACiA8dmlkZW8gd2lkdGg9MTAwIGhlaWdodD01MCBjb250cm9scz48L3ZpZGVv
PgogPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KIDxzY3JpcHQ+Ci10ZXN0KCJ2
aWRlby53aWR0aCA9PSAxMDAiKTsKLXRlc3QoInZpZGVvLmhlaWdodCA9PSA1MCIpOwotdGVzdCgi
dmlkZW8ub2Zmc2V0V2lkdGggPT0gMTAwIik7Ci10ZXN0KCJ2aWRlby5vZmZzZXRIZWlnaHQgPT0g
NTAiKTsKLXZpZGVvLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnMjAwJyk7Ci12aWRlby5zZXRBdHRy
aWJ1dGUoJ2hlaWdodCcsICcxMDAnKTsKLXRlc3QoInZpZGVvLndpZHRoID09IDIwMCIpOwotdGVz
dCgidmlkZW8uaGVpZ2h0ID09IDEwMCIpOwotdGVzdCgidmlkZW8ub2Zmc2V0V2lkdGggPT0gMjAw
Iik7Ci10ZXN0KCJ2aWRlby5vZmZzZXRIZWlnaHQgPT0gMTAwIik7Ci12aWRlby53aWR0aCA9IDQw
MDsKLXZpZGVvLmhlaWdodCA9IDIwMDsKLXRlc3QoInZpZGVvLmdldEF0dHJpYnV0ZSgnd2lkdGgn
KSA9PSAnNDAwJyIpOwotdGVzdCgidmlkZW8uZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSA9PSAnMjAw
JyIpOwotdGVzdCgidmlkZW8ub2Zmc2V0V2lkdGggPT0gNDAwIik7Ci10ZXN0KCJ2aWRlby5vZmZz
ZXRIZWlnaHQgPT0gMjAwIik7Ci1lbmRUZXN0KCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby53
aWR0aCIsIDEwMCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5oZWlnaHQiLCA1MCk7CisgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby5vZmZzZXRXaWR0aCIsIDEwMCk7CisgICAgdGVzdEV4cGVjdGVk
KCJ2aWRlby5vZmZzZXRIZWlnaHQiLCA1MCk7CisgICAgdmlkZW8uc2V0QXR0cmlidXRlKCd3aWR0
aCcsICcyMDAnKTsKKyAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsICcxMDAnKTsKKyAg
ICB0ZXN0RXhwZWN0ZWQoInZpZGVvLndpZHRoIiwgMjAwKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLmhlaWdodCIsIDEwMCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vZmZzZXRXaWR0aCIs
IDIwMCk7CisgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vZmZzZXRIZWlnaHQiLCAxMDApOworICAg
IHZpZGVvLndpZHRoID0gNDAwOworICAgIHZpZGVvLmhlaWdodCA9IDIwMDsKKyAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLmdldEF0dHJpYnV0ZSgnd2lkdGgnKSIsIDQwMCk7CisgICAgdGVzdEV4cGVj
dGVkKCJ2aWRlby5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpIiwgMjAwKTsKKyAgICB0ZXN0RXhwZWN0
ZWQoInZpZGVvLm9mZnNldFdpZHRoIiwgNDAwKTsKKyAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9m
ZnNldEhlaWdodCIsIDIwMCk7CisgICAgZW5kVGVzdCgpOwogPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="13770"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>