<?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>54390</bug_id>
          
          <creation_ts>2011-02-14 06:35:55 -0800</creation_ts>
          <short_desc>Web Inspector: move timeline and highlighter tests to the new harness.</short_desc>
          <delta_ts>2011-02-15 02:07:24 -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>Web Inspector (Deprecated)</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>
          <dependson>54442</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>350635</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-14 06:35:55 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350638</commentid>
    <comment_count>1</comment_count>
      <attachid>82312</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-14 06:44:56 -0800</bug_when>
    <thetext>Created attachment 82312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350644</commentid>
    <comment_count>2</comment_count>
      <attachid>82312</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-14 07:04:21 -0800</bug_when>
    <thetext>Comment on attachment 82312
Patch

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

&gt; LayoutTests/inspector/timeline-script-tag-2.js:-1
&gt; -console.markTimeline(&quot;SCRIPT TAG&quot;);

I don&apos;t see the call to markTimeline anymore, is it intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350652</commentid>
    <comment_count>3</comment_count>
      <attachid>82312</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-14 07:32:43 -0800</bug_when>
    <thetext>Comment on attachment 82312
Patch

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

&gt; LayoutTests/inspector/resources/timeline-iframe-data.html:8
&gt; +    console.log(&quot;iframe loaded&quot;);

Please file a bug about sending messages from the inspected page to the front-end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350653</commentid>
    <comment_count>4</comment_count>
      <attachid>82312</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-14 07:37:05 -0800</bug_when>
    <thetext>Comment on attachment 82312
Patch

It is intentional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350655</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-14 07:44:11 -0800</bug_when>
    <thetext>Committed r78477: &lt;http://trac.webkit.org/changeset/78477&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350679</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-14 08:39:22 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78477 might have broken Qt Linux Release
The following tests are not passing:
inspector/timeline-network-resource.html
inspector/timeline-script-tag-1.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82312</attachid>
            <date>2011-02-14 06:44:56 -0800</date>
            <delta_ts>2011-02-14 07:37:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54390-20110214174451.patch</filename>
            <type>text/plain</type>
            <size>55822</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg0NjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNzAyZmI1NTRlYjFiMjk2YTkxNDZk
YjgwOTIyMTE2ZGE3ODBlY2RkLi5lODYzMzI1Y2I3NzY3ZjU1NjRkNjI2NGNhMmZiMmU3ZDEwODM3
NTFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsNTggQEAKIDIwMTEtMDItMTQgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbW92ZSB0aW1lbGluZSBhbmQgaGlnaGxpZ2h0
ZXIgdGVzdHMgdG8gdGhlIG5ldyBoYXJuZXNzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQzOTAKKworICAgICAgICAqIGluc3BlY3Rvci9jb29raWUt
cmVzb3VyY2UtbWF0Y2guaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZWxlbWVudHMtcGFuZWwt
c2VhcmNoLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250ZW5kLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJv
bnRlbmQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvaW5zcGVjdGVkLW9iamVj
dHMtbm90LW92ZXJyaWRlbi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9yZXNvdXJjZXMvdGlt
ZWxpbmUtaWZyYW1lLWRhdGEuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1jc3MuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1odG1s
Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNj
cmlwdC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LmpzOgorICAg
ICAgICAoaW5pdGlhbGl6ZV9TeW50YXhIaWdobGlnaHQuSW5zcGVjdG9yVGVzdC5kdW1wU3ludGF4
SGlnaGxpZ2h0KToKKyAgICAgICAgKGluaXRpYWxpemVfU3ludGF4SGlnaGxpZ2h0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHktZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci90aW1lbGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci90
aW1lbGluZS1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUtbWFyay10
aW1lbGluZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291
cmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291
cmNlLmpzOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS1wYWludC5odG1sOgorICAgICAg
ICAqIGluc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGlu
c3BlY3Rvci90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3Rp
bWVsaW5lLXNjcmlwdC10YWctMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3Rp
bWVsaW5lLXNjcmlwdC10YWctMi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTIuanM6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanM6Cisg
ICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNB
bmRQcmludC5zdGVwMSk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRl
c3QucGVyZm9ybUFjdGlvbnNBbmRQcmludC5zdGVwMik6CisgICAgICAgIChpbml0aWFsaXplX1Rp
bWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludC5zdGVwMyk6CisgICAg
ICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQ
cmludCk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucHJpbnRU
aW1lbGluZVJlY29yZHMpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0b3JU
ZXN0Ll90aW1lbGluZVJlc3VsdHMpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNw
ZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29yZCk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVs
aW5lLkluc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3Jkcyk6CisgICAgICAgIChpbml0aWFs
aXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMp
OgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0b3JUZXN0Ll90aW1lbGluZUFn
ZW50VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKGluaXRpYWxpemVfVGltZWxpbmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci90aW1lbGluZS10cml2aWFsLmh0bWw6CisKKzIwMTEtMDItMTQgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgTm90IHJldmlld2Vk
OiBmb2xsb3cgdXAgdG8gcjc4NDYwIHdpdGggbW9yZSBleHBlY3RhdGlvbiB1cGRhdGVzLgogCiAg
ICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy1pZnJhbWUtZXhwZWN0ZWQudHh0OgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2Nvb2tpZS1yZXNvdXJjZS1tYXRjaC5odG1sCmluZGV4IDcwODc0
ZmJmZGRmZTJiOWEwNjZkYmE4Mzc3NDNiNzU0NTcyNzE4MzUuLjkwZjEyNjE1MjRjNmM3YTY1MGVm
NjlhMzI3OTBkMDViMDljOGFmZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b29raWUtcmVzb3VyY2UtbWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29v
a2llLXJlc291cmNlLW1hdGNoLmh0bWwKQEAgLTEsMzYgKzEsMjYgQEAKIDxodG1sPgogPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0Mi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1mdW5jdGlvbiBkb2l0KCkgewotICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcmVzdWx0Lmxlbmd0aDsgKytpKQotICAgICAgICAgICAgb3V0cHV0KCJbIiArIHJlc3Vs
dFtpXSArICJdIik7Ci0gICAgICAgIG5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgZXZhbHVhdGVJ
bldlYkluc3BlY3RvcigiZnJvbnRlbmRfZG9pdEFuZER1bXAiLCBjYWxsYmFjayk7Ci19CitmdW5j
dGlvbiB0ZXN0KCkgewogCi1mdW5jdGlvbiBmcm9udGVuZF9kb2l0QW5kRHVtcCgpCi17CiAgICAg
dmFyIGNvb2tpZXMgPSBbCi0gICAgICAgIGZyb250ZW5kX2NyZWF0ZUNvb2tpZSgiaW5zZWN1cmVP
bmx5V2Via2l0IiwgIjEyMzQ1Njc4OTAiLCBmYWxzZSwgIndlYmtpdC5vcmciLCAiLyIpLAotICAg
ICAgICBmcm9udGVuZF9jcmVhdGVDb29raWUoImluc2VjdXJlQWxsV2Via2l0IiwgIjEyMzQ1Njc4
OTAxMjM0NTYiLCBmYWxzZSwgIi53ZWJraXQub3JnIiwgIi8iKSwKLSAgICAgICAgZnJvbnRlbmRf
Y3JlYXRlQ29va2llKCJpbnNlY3VyZUFsbFdlYmtpdFBhdGgiLCAiMTIzNDU2Nzg5MDEyMzQ1NiIs
IGZhbHNlLCAiLndlYmtpdC5vcmciLCAiL3BhdGgiKSwKLSAgICAgICAgZnJvbnRlbmRfY3JlYXRl
Q29va2llKCJzZWN1cmVPbmx5V2Via2l0UGF0aCIsICJiYXIiLCB0cnVlLCAid2Via2l0Lm9yZyIs
ICIvcGF0aCIpLAotICAgICAgICBmcm9udGVuZF9jcmVhdGVDb29raWUoInNlY3VyZUFsbFdlYmtp
dCIsICJmb28iLCB0cnVlLCAiLndlYmtpdC5vcmciLCAiLyIpLAotICAgICAgICBmcm9udGVuZF9j
cmVhdGVDb29raWUoInNlY3VyZUFsbFdlYmtpdFBhdGgiLCAiZm9vIiwgdHJ1ZSwgIi53ZWJraXQu
b3JnIiwgIi9wYXRoIiksCi0gICAgICAgIGZyb250ZW5kX2NyZWF0ZUNvb2tpZSgiaW5zZWN1cmVP
bmx5V2Via2l0UG9ydCIsICIxMjM0NTY3ODkwIiwgZmFsc2UsICJ3ZWJraXQub3JnIiwgIi8iLCA4
MCksCi0gICAgICAgIGZyb250ZW5kX2NyZWF0ZUNvb2tpZSgiaW5zZWN1cmVBbGxXZWJraXRQb3J0
IiwgIjEyMzQ1Njc4OTAxMjM0NTYiLCBmYWxzZSwgIi53ZWJraXQub3JnIiwgIi8iLCA4MCksCi0g
ICAgICAgIGZyb250ZW5kX2NyZWF0ZUNvb2tpZSgiaW5zZWN1cmVBbGxXZWJraXRQYXRoUG9ydCIs
ICIxMjM0NTY3ODkwMTIzNDU2IiwgZmFsc2UsICIud2Via2l0Lm9yZyIsICIvcGF0aCIsIDgwKSwK
LSAgICAgICAgZnJvbnRlbmRfY3JlYXRlQ29va2llKCJzZWN1cmVPbmx5V2Via2l0UGF0aFBvcnQi
LCAiYmFyIiwgdHJ1ZSwgIndlYmtpdC5vcmciLCAiL3BhdGgiLCA4MCksCi0gICAgICAgIGZyb250
ZW5kX2NyZWF0ZUNvb2tpZSgic2VjdXJlQWxsV2Via2l0UG9ydCIsICJmb28iLCB0cnVlLCAiLndl
YmtpdC5vcmciLCAiLyIsIDgwKSwKLSAgICAgICAgZnJvbnRlbmRfY3JlYXRlQ29va2llKCJzZWN1
cmVBbGxXZWJraXRQYXRoUG9ydCIsICJmb28iLCB0cnVlLCAiLndlYmtpdC5vcmciLCAiL3BhdGgi
LCA4MCksCi0gICAgICAgIGZyb250ZW5kX2NyZWF0ZUNvb2tpZSgibm9uTWF0Y2hpbmcxIiwgImJh
ciIsIGZhbHNlLCAid2Via2l0LnpvbyIsICIvIiksCi0gICAgICAgIGZyb250ZW5kX2NyZWF0ZUNv
b2tpZSgibm9uTWF0Y2hpbmcyIiwgImJhciIsIGZhbHNlLCAid2Via2l0Lm9yZyIsICIvYmFkUGF0
aCIpLAotICAgICAgICBmcm9udGVuZF9jcmVhdGVDb29raWUoIm5vbk1hdGNoaW5nMyIsICJiYXIi
LCB0cnVlLCAiLm1vby5jb20iLCAiLyIpCisgICAgICAgIGNyZWF0ZUNvb2tpZSgiaW5zZWN1cmVP
bmx5V2Via2l0IiwgIjEyMzQ1Njc4OTAiLCBmYWxzZSwgIndlYmtpdC5vcmciLCAiLyIpLAorICAg
ICAgICBjcmVhdGVDb29raWUoImluc2VjdXJlQWxsV2Via2l0IiwgIjEyMzQ1Njc4OTAxMjM0NTYi
LCBmYWxzZSwgIi53ZWJraXQub3JnIiwgIi8iKSwKKyAgICAgICAgY3JlYXRlQ29va2llKCJpbnNl
Y3VyZUFsbFdlYmtpdFBhdGgiLCAiMTIzNDU2Nzg5MDEyMzQ1NiIsIGZhbHNlLCAiLndlYmtpdC5v
cmciLCAiL3BhdGgiKSwKKyAgICAgICAgY3JlYXRlQ29va2llKCJzZWN1cmVPbmx5V2Via2l0UGF0
aCIsICJiYXIiLCB0cnVlLCAid2Via2l0Lm9yZyIsICIvcGF0aCIpLAorICAgICAgICBjcmVhdGVD
b29raWUoInNlY3VyZUFsbFdlYmtpdCIsICJmb28iLCB0cnVlLCAiLndlYmtpdC5vcmciLCAiLyIp
LAorICAgICAgICBjcmVhdGVDb29raWUoInNlY3VyZUFsbFdlYmtpdFBhdGgiLCAiZm9vIiwgdHJ1
ZSwgIi53ZWJraXQub3JnIiwgIi9wYXRoIiksCisgICAgICAgIGNyZWF0ZUNvb2tpZSgiaW5zZWN1
cmVPbmx5V2Via2l0UG9ydCIsICIxMjM0NTY3ODkwIiwgZmFsc2UsICJ3ZWJraXQub3JnIiwgIi8i
LCA4MCksCisgICAgICAgIGNyZWF0ZUNvb2tpZSgiaW5zZWN1cmVBbGxXZWJraXRQb3J0IiwgIjEy
MzQ1Njc4OTAxMjM0NTYiLCBmYWxzZSwgIi53ZWJraXQub3JnIiwgIi8iLCA4MCksCisgICAgICAg
IGNyZWF0ZUNvb2tpZSgiaW5zZWN1cmVBbGxXZWJraXRQYXRoUG9ydCIsICIxMjM0NTY3ODkwMTIz
NDU2IiwgZmFsc2UsICIud2Via2l0Lm9yZyIsICIvcGF0aCIsIDgwKSwKKyAgICAgICAgY3JlYXRl
Q29va2llKCJzZWN1cmVPbmx5V2Via2l0UGF0aFBvcnQiLCAiYmFyIiwgdHJ1ZSwgIndlYmtpdC5v
cmciLCAiL3BhdGgiLCA4MCksCisgICAgICAgIGNyZWF0ZUNvb2tpZSgic2VjdXJlQWxsV2Via2l0
UG9ydCIsICJmb28iLCB0cnVlLCAiLndlYmtpdC5vcmciLCAiLyIsIDgwKSwKKyAgICAgICAgY3Jl
YXRlQ29va2llKCJzZWN1cmVBbGxXZWJraXRQYXRoUG9ydCIsICJmb28iLCB0cnVlLCAiLndlYmtp
dC5vcmciLCAiL3BhdGgiLCA4MCksCisgICAgICAgIGNyZWF0ZUNvb2tpZSgibm9uTWF0Y2hpbmcx
IiwgImJhciIsIGZhbHNlLCAid2Via2l0LnpvbyIsICIvIiksCisgICAgICAgIGNyZWF0ZUNvb2tp
ZSgibm9uTWF0Y2hpbmcyIiwgImJhciIsIGZhbHNlLCAid2Via2l0Lm9yZyIsICIvYmFkUGF0aCIp
LAorICAgICAgICBjcmVhdGVDb29raWUoIm5vbk1hdGNoaW5nMyIsICJiYXIiLCB0cnVlLCAiLm1v
by5jb20iLCAiLyIpCiAgICAgXTsKIAogICAgIHZhciByZXNvdXJjZVVSTHMgPSBbCkBAIC02Nywz
MSArNTcsMzAgQEAgZnVuY3Rpb24gZnJvbnRlbmRfZG9pdEFuZER1bXAoKQogICAgICAgICAgICAg
aWYgKFdlYkluc3BlY3Rvci5Db29raWVzLmNvb2tpZU1hdGNoZXNSZXNvdXJjZVVSTChjb29raWVz
W2ldLCByZXNvdXJjZVVSTHNbal0pKQogICAgICAgICAgICAgICAgIGNvb2tpZVJlc3VsdC5wdXNo
KGopOwogICAgICAgICB9Ci0gICAgICAgIHJlc3VsdC5wdXNoKGNvb2tpZVJlc3VsdCk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIiArIGNvb2tpZVJlc3VsdCArICJdIik7CiAg
ICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19CisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKIAotZnVuY3Rpb24gZnJvbnRlbmRfY3JlYXRlQ29va2llKG5hbWUsIHZhbHVlLCBzZWN1
cmUsIGRvbWFpbiwgcGF0aCwgcG9ydCkKLXsKLSAgICByZXR1cm4gewotICAgICAgICBuYW1lOiBu
YW1lLAotICAgICAgICB2YWx1ZTogdmFsdWUsCi0gICAgICAgIGRvbWFpbjogZG9tYWluLAotICAg
ICAgICBwb3J0OiBwb3J0LAotICAgICAgICBwYXRoOiBwYXRoLAotICAgICAgICBleHBpcmVzOiAi
VGh1IEphbiAwMSAxOTcwIDAwOjAwOjAwIEdNVCIsCi0gICAgICAgIHNpemU6IG5hbWUubGVuZ3Ro
ICsgdmFsdWUubGVuZ3RoLAotICAgICAgICBodHRwT25seTogZmFsc2UsCi0gICAgICAgIHNlY3Vy
ZTogc2VjdXJlLAotICAgICAgICBzZXNzaW9uOiB0cnVlCi0gICAgfTsKKyAgICBmdW5jdGlvbiBj
cmVhdGVDb29raWUobmFtZSwgdmFsdWUsIHNlY3VyZSwgZG9tYWluLCBwYXRoLCBwb3J0KQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIG5hbWU6IG5hbWUsCisgICAgICAgICAg
ICB2YWx1ZTogdmFsdWUsCisgICAgICAgICAgICBkb21haW46IGRvbWFpbiwKKyAgICAgICAgICAg
IHBvcnQ6IHBvcnQsCisgICAgICAgICAgICBwYXRoOiBwYXRoLAorICAgICAgICAgICAgZXhwaXJl
czogIlRodSBKYW4gMDEgMTk3MCAwMDowMDowMCBHTVQiLAorICAgICAgICAgICAgc2l6ZTogbmFt
ZS5sZW5ndGggKyB2YWx1ZS5sZW5ndGgsCisgICAgICAgICAgICBodHRwT25seTogZmFsc2UsCisg
ICAgICAgICAgICBzZWN1cmU6IHNlY3VyZSwKKyAgICAgICAgICAgIHNlc3Npb246IHRydWUKKyAg
ICAgICAgfTsKKyAgICB9CiB9Ci0KIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9
Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMgdGhhdCBj
b29raWVzIGFyZSBtYXRjaGVkIHVwIHdpdGggcmVzb3VyY2VzIGNvcnJlY3RseS4KIDwvcD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbAppbmRl
eCBiNjljNzQ1ODM5MTZhOTdkZmE2YjcxZDJmMGRkOTAxYzViNmVkZjQ0Li5hYTlkNDM3N2M2MzM0
NjUyZWI5MmE4ZjBiMTEyYTgwMDMyMWRhZTAwIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMtcGFuZWwtc2VhcmNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VsZW1lbnRzLXBhbmVsLXNlYXJjaC5odG1sCkBAIC0xLDMxICsxLDIwIEBACiA8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAi
aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KIDxodG1sPgogPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0Mi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotZnVuY3Rpb24gZG9pdCgpCitmdW5jdGlvbiB0
ZXN0KCkKIHsKLSAgICBmdW5jdGlvbiBjYWxsYmFjayhzZWFyY2hSZXN1bHRzKQotICAgIHsKLSAg
ICAgICAgb3V0cHV0KCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLSAg
ICAgICAgb3V0cHV0KCJSZXN1bHRzOiIpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNl
YXJjaFJlc3VsdHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBvdXRwdXQoc2VhcmNoUmVzdWx0
c1tpXSk7Ci0gICAgICAgIG5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgZXZhbHVhdGVJbldlYklu
c3BlY3RvcigiZnJvbnRlbmRfcGVyZm9ybVNlYXJjaCIsIGNhbGxiYWNrKTsKLX0KLQotCi0vLyBG
cm9udGVuZCBmdW5jdGlvbnMuCi0KLWZ1bmN0aW9uIGZyb250ZW5kX3BlcmZvcm1TZWFyY2godGVz
dENvbnRyb2xsZXIpCi17Ci0gICAgdGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotCiAg
ICAgdmFyIHNlYXJjaFJlc3VsdHMgPSBbXTsKICAgICBmdW5jdGlvbiBhZGRTZWFyY2hSZXN1bHQo
bWFya3VwVmFsdWUpCiAgICAgeworICAgICAgICBpZiAobWFya3VwVmFsdWUuaW5kZXhPZigidGVy
IiArICJtaSIgKyAibmF0b3IiKSAhPT0gLTEpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXN1bHRzOiIpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHRzKHNlYXJjaFJlc3VsdHMpOworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
IH0KICAgICAgICAgc2VhcmNoUmVzdWx0cy5wdXNoKG1hcmt1cFZhbHVlKTsKICAgICB9CiAKQEAg
LTM5LDYgKzI4LDcgQEAgZnVuY3Rpb24gZnJvbnRlbmRfcGVyZm9ybVNlYXJjaCh0ZXN0Q29udHJv
bGxlcikKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLmdldE91dGVySFRNTChub2Rl
LmlkLCBhZGRTZWFyY2hSZXN1bHQpOwogICAgICAgICB9CiAgICAgfQorCiAgICAgLy8gUGxhaW4g
dGV4dC4KICAgICBJbnNwZWN0b3JCYWNrZW5kLnBlcmZvcm1TZWFyY2goIkZvbyIgKyAiQmFyIiwg
dHJ1ZSk7CiAgICAgLy8gUGFydGlhbCB0ZXh0LgpAQCAtNTMsMjEgKzQzLDIwIEBAIGZ1bmN0aW9u
IGZyb250ZW5kX3BlcmZvcm1TZWFyY2godGVzdENvbnRyb2xsZXIpCiAgICAgSW5zcGVjdG9yQmFj
a2VuZC5wZXJmb3JtU2VhcmNoKCJJbiIgKyAicHV0VmEiICsgImwiLCB0cnVlKTsKICAgICAvLyBQ
YXJ0aWFsIGF0dHJpYnV0ZSB2YWw8PnVlLgogICAgIEluc3BlY3RvckJhY2tlbmQucGVyZm9ybVNl
YXJjaCgibiIgKyAicHV0VmEiICsgImwiLCB0cnVlKTsKLQotICAgIHRlc3RDb250cm9sbGVyLnJ1
bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoc2VhcmNoUmVzdWx0cyk7Ci0gICAgfSk7CisgICAgLy8gVGVybWluYXRv
ci4KKyAgICBJbnNwZWN0b3JCYWNrZW5kLnBlcmZvcm1TZWFyY2goInRlciIgKyAibWkiICsgIm5h
dG9yIiwgdHJ1ZSk7CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIAotPGJvZHkgb25sb2FkPSJvbmxv
YWQoKSI+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cD4KIFRlc3RzIHRoYXQgZWxlbWVu
dHMgcGFuZWwgc2VhcmNoIGlzIHJldHVybmluZyBwcm9wZXIgcmVzdWx0cy4KIDwvcD4KIAogPGRp
dj5Gb29CYXI8L2Rpdj4KIDxpbnB1dCB2YWx1ZT0iSW5wdXRWYWwiPgorPGRpdiBpZD0idGVybWlu
YXRvciI+PC9kaXY+CiAKIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9ldmFsdWF0ZS1pbi1mcm9udGVuZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhODc1MmRmNGRkOGZkNWQ5Y2IzM2NlNDE1MzdmNjRkYThjMDQ5
ZGMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9ldmFsdWF0ZS1pbi1mcm9udGVuZC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCBsYXlvdXQgdGVzdCBjYW4g
ZXZhbHVhdGUgc2NyaXB0cyBpbiB0aGUgd2ViIGluc3BlY3RvciBjb250ZXh0LgotCi0yICsgMiA9
IDQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V2YWx1YXRlLWluLWZyb250
ZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggODkxYWZhZWM4NDE1NGI0ZjE2MGQ5ODdj
ZWVmYjEwNjBlYmQwNmIyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXZhbHVhdGUtaW4tZnJvbnRlbmQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotZnVuY3Rpb24gZG9pdCgpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2socmVz
dWx0KQotICAgIHsKLSAgICAgICAgb3V0cHV0KCIyICsgMiA9ICIgKyByZXN1bHQpOwotICAgICAg
ICBub3RpZnlEb25lKCk7Ci0gICAgfQotICAgIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoImZyb250
ZW5kX3N1bSgyLCAyKSIsIGNhbGxiYWNrKTsKLX0KLQotCi0vLyBGcm9udGVuZCBmdW5jdGlvbnMu
Ci0KLWZ1bmN0aW9uIGZyb250ZW5kX3N1bShhLCBiKQotewotICAgIHJldHVybiBhICsgYjsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+Ci1U
aGlzIHRlc3RzIHRoYXQgbGF5b3V0IHRlc3QgY2FuIGV2YWx1YXRlIHNjcmlwdHMgaW4gdGhlIHdl
YiBpbnNwZWN0b3IgY29udGV4dC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V2YWx1YXRlLWluLXBhZ2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V2YWx1YXRlLWluLXBhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI5MGFkNDNiMWY1MTViYTU0ZWUzZmM1ZThiN2Y1YjIyNDU1ZTZlZDcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXZhbHVhdGUtaW4tcGFnZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlzIHRlc3RzIHRoYXQgbGF5b3V0IHRlc3QgY2FuIGV2
YWx1YXRlIHNjcmlwdHMgaW4gdGhlIGluc3BlY3RlZCBwYWdlLgorCisyICsgMiA9IDQKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V2YWx1YXRlLWluLXBhZ2UuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9ldmFsdWF0ZS1pbi1wYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg2
NzY5ZDU5ZjNlOTM5ZTM0NTNmYTFhYjY1Y2QzZjQ1NGNjY2FlMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9ldmFsdWF0ZS1pbi1wYWdlLmh0bWwKQEAgLTAsMCArMSwz
MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gc3Vt
KGEsIGIpCit7CisgICAgcmV0dXJuIGEgKyBiOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1bHQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiMiArIDIgPSAiICsgcmVzdWx0LmRlc2NyaXB0aW9uKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgic3VtKDIsIDIpIiwgY2FsbGJhY2spOworfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUaGlzIHRlc3RzIHRoYXQgbGF5
b3V0IHRlc3QgY2FuIGV2YWx1YXRlIHNjcmlwdHMgaW4gdGhlIGluc3BlY3RlZCBwYWdlLgorPC9w
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2luc3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbAppbmRleCA3NDdlYTllNDFi
MTllMmVlMDBiZjhiOGM4NjdiZTkyYzVkYTc2ZjI3Li4zYTVjNjVkNzlkNWM3M2Y4NWVjMzZhZGY4
MTVkMmU2NTlmNTM3YTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv
L0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KIDxodG1sPgogPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCiBmdW5jdGlvbiBteUltcGwoKSB7
CkBAIC0xNiwzNCArMTYsNDIgQEAgT2JqZWN0LmNsYXNzTmFtZSA9IG15SW1wbDsKIFN0cmluZy5w
cm90b3R5cGUuZXNjYXBlQ2hhcmFjdGVycyA9IG15SW1wbDsKIEpTT04uc3RyaW5naWZ5ID0gbXlJ
bXBsOwogCi1mdW5jdGlvbiBkb2l0KCkKK2Z1bmN0aW9uIG91dHB1dCh0ZXh0KQogewotICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKHJlc3VsdCkKKyAgICB2YXIgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIm91dHB1dCIpOworICAgIG91dHB1dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSh0ZXh0KSk7CisgICAgb3V0cHV0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImJyIikpOworfQorCitmdW5jdGlvbiBkdW1wVmFsdWVzKCkKK3sKKyAgICAvLyBD
aGVjayB0aGF0IHRoZSBtZXRob2RzIGhhdmVuJ3QgY2hhbmdlZC4KKyAgICBvdXRwdXQoIm15SW1w
bCgpID0+ICIgKyBteUltcGwoKSk7CisgICAgb3V0cHV0KCJPYmplY3QudHlwZSA9PT0gbXlJbXBs
ID0+ICIgKyAoT2JqZWN0LnR5cGUgPT09IG15SW1wbCkpOworICAgIG91dHB1dCgiT2JqZWN0Lmhh
c1Byb3BlcnRpZXMgPT09IG15SW1wbCA9PiAiICsgKE9iamVjdC5oYXNQcm9wZXJ0aWVzID09PSBt
eUltcGwpKTsKKyAgICBvdXRwdXQoIk9iamVjdC5kZXNjcmliZSA9PT0gbXlJbXBsID0+ICIgKyAo
T2JqZWN0LmRlc2NyaWJlID09PSBteUltcGwpKTsKKyAgICBvdXRwdXQoIk9iamVjdC5jbGFzc05h
bWUgPT09IG15SW1wbCA9PiAiICsgKE9iamVjdC5jbGFzc05hbWUgPT09IG15SW1wbCkpOworICAg
IG91dHB1dCgiU3RyaW5nLnByb3RvdHlwZS5lc2NhcGVDaGFyYWN0ZXJzID09PSBteUltcGwgPT4g
IiArIChTdHJpbmcucHJvdG90eXBlLmVzY2FwZUNoYXJhY3RlcnMgPT09IG15SW1wbCkpOworICAg
IG91dHB1dCgiSlNPTi5zdHJpbmdpZnkgPT09IG15SW1wbCA9PiAiICsgKEpTT04uc3RyaW5naWZ5
ID09PSBteUltcGwpKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gY2Fs
bGJhY2soKQogICAgIHsKLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgbWV0aG9kcyBoYXZlbid0
IGNoYW5nZWQuCi0gICAgICAgIG91dHB1dCgibXlJbXBsKCkgPT4gIiArIG15SW1wbCgpKTsKLSAg
ICAgICAgb3V0cHV0KCJPYmplY3QudHlwZSA9PT0gbXlJbXBsID0+ICIgKyAoT2JqZWN0LnR5cGUg
PT09IG15SW1wbCkpOwotICAgICAgICBvdXRwdXQoIk9iamVjdC5oYXNQcm9wZXJ0aWVzID09PSBt
eUltcGwgPT4gIiArIChPYmplY3QuaGFzUHJvcGVydGllcyA9PT0gbXlJbXBsKSk7Ci0gICAgICAg
IG91dHB1dCgiT2JqZWN0LmRlc2NyaWJlID09PSBteUltcGwgPT4gIiArIChPYmplY3QuZGVzY3Jp
YmUgPT09IG15SW1wbCkpOwotICAgICAgICBvdXRwdXQoIk9iamVjdC5jbGFzc05hbWUgPT09IG15
SW1wbCA9PiAiICsgKE9iamVjdC5jbGFzc05hbWUgPT09IG15SW1wbCkpOwotICAgICAgICBvdXRw
dXQoIlN0cmluZy5wcm90b3R5cGUuZXNjYXBlQ2hhcmFjdGVycyA9PT0gbXlJbXBsID0+ICIgKyAo
U3RyaW5nLnByb3RvdHlwZS5lc2NhcGVDaGFyYWN0ZXJzID09PSBteUltcGwpKTsKLSAgICAgICAg
b3V0cHV0KCJKU09OLnN0cmluZ2lmeSA9PT0gbXlJbXBsID0+ICIgKyAoSlNPTi5zdHJpbmdpZnkg
PT09IG15SW1wbCkpOwotCi0gICAgICAgIG5vdGlmeURvbmUoKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9Ci0gICAgZXZhbHVhdGVJbldlYkluc3BlY3Rvcigi
dHJ1ZSIsIGNhbGxiYWNrKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1w
VmFsdWVzKCkiLCBjYWxsYmFjayk7CiB9Ci0KIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBv
bmxvYWQ9Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMg
dGhhdCBvcGVuaW5nIGluc3BlY3RvciBmcm9udC1lbmQgZG9lc24ndCBjaGFuZ2UgbWV0aG9kcyBk
ZWZpbmVkIGJ5IHRoZSBpbnNwZWN0ZWQgYXBwbGljYXRpb24uCiA8L3A+CiAKLTxwcmUgaWQ9Im91
dHB1dFByZSI+Ci08L3ByZT4KKzxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CiAKIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvdGltZWxp
bmUtaWZyYW1lLWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvdGlt
ZWxpbmUtaWZyYW1lLWRhdGEuaHRtbAppbmRleCA3NGYxNmE2OWUxYzJjMDgwMDM1OWE4Y2M5MDk5
NDg2MTJmODc3NzM1Li4zNTk1NjgwN2NjY2I1NjQ3YjFmMDA4NjdhYjQ5NzcwYTM2MWYwMWIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFt
ZS1kYXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy90aW1lbGlu
ZS1pZnJhbWUtZGF0YS5odG1sCkBAIC01LDcgKzUsNyBAQCBjb25zb2xlLm1hcmtUaW1lbGluZSgi
U0NSSVBUIFRBRyIpOwogCiBmdW5jdGlvbiBpZnJhbWVPbmxvYWQoKQogewotICAgIHdpbmRvdy5w
YXJlbnQuaWZyYW1lTG9hZGVkID0gdHJ1ZTsKKyAgICBjb25zb2xlLmxvZygiaWZyYW1lIGxvYWRl
ZCIpOwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
eW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCmluZGV4IGQ4OWMwODFmNmI5YTMxMDlkZGNlNjA1ODNl
MzNiYmJiNDlkZGVjMjguLjk4N2I5ZDNkYTFkZTc4NTBmNTg2MWI2OWEzYWUxYjJlZGUyNmE5NjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1s
CkBAIC0xLDMzICsxLDMyIEBACiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InN5bnRheC1oaWdobGlnaHQuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAot
Ly8gRnJvbnRlbmQgZnVuY3Rpb25zLgotCi1mdW5jdGlvbiBmcm9udGVuZF9kdW1wU3ludGF4SGln
aGxpZ2h0Q1NTKHN0cikKK2Z1bmN0aW9uIHRlc3QoKQogewotICAgIHJldHVybiBmcm9udGVuZF9k
dW1wU3ludGF4SGlnaGxpZ2h0KHN0ciwgInRleHQvY3NzIik7Ci19CisgICAgZnVuY3Rpb24gZHVt
cFN5bnRheEhpZ2hsaWdodENTUyhzdHIpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTeW50YXhIaWdobGlnaHQoc3RyLCAidGV4dC9jc3MiKTsKKyAgICB9CisKKyAgICBkdW1wU3lu
dGF4SGlnaGxpZ2h0Q1NTKCJhW2hyZWY9Jy8nXSIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRD
U1MoIiNjb250ZW50ID4gYTpob3ZlciIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBp
bXBvcnQgdXJsKHN0eWxlLmNzcyk7Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygiQGlt
cG9ydCB1cmwoXCJzdHlsZS5jc3NcIikgcHJvamVjdGlvbiwgdHY7Iik7CisgICAgZHVtcFN5bnRh
eEhpZ2hsaWdodENTUygiQG1lZGlhIHNjcmVlbiB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH0iKTsK
KyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IE15
SGVsdmV0aWNhOyB9Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygicCB7IGNvbG9yOiBj
b2xvcjsgcmVkOiByZWQ7IH0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJwIHsgbWFy
Z2luOiAtMTBweCAhaW1wb3J0YW50OyB9Iik7CiAKLWZ1bmN0aW9uIGZyb250ZW5kX2RvaXRBbmRE
dW1wKCkgewotICAgIHZhciByZXN1bHQgPSBbXTsKLSAgICByZXN1bHQucHVzaChmcm9udGVuZF9k
dW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJhW2hyZWY9Jy8nXSIpKTsKLSAgICByZXN1bHQucHVzaChm
cm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCIjY29udGVudCA+IGE6aG92ZXIiKSk7Ci0g
ICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodENTUygiQGltcG9ydCB1
cmwoc3R5bGUuY3NzKTsiKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhp
Z2hsaWdodENTUygiQGltcG9ydCB1cmwoXCJzdHlsZS5jc3NcIikgcHJvamVjdGlvbiwgdHY7Iikp
OwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBtZWRp
YSBzY3JlZW4geyBib2R5IHsgY29sb3I6IHJlZDsgfSB9IikpOwotICAgIHJlc3VsdC5wdXNoKGZy
b250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBmb250LWZhY2UgeyBmb250LWZhbWlseTog
TXlIZWx2ZXRpY2E7IH0iKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhp
Z2hsaWdodENTUygicCB7IGNvbG9yOiBjb2xvcjsgcmVkOiByZWQ7IH0iKSk7Ci0gICAgcmVzdWx0
LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodENTUygicCB7IG1hcmdpbjogLTEwcHgg
IWltcG9ydGFudDsgfSIpKTsKLSAgICByZXR1cm4gcmVzdWx0OworICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CiB9CiAKIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9
Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMgdGhhdCBD
U1NTb3VyY2VTeW50YXhIaWdobGlnaHRlciBkZXRlY3RzIHRoZSB0b2tlbnMuCiA8L3A+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1odG1sLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1odG1sLmh0bWwKaW5kZXgg
NDI3M2NmZWFiZWJlNTYyMWU2YmJlNjIxYmE1NzJiNDBmZDhjODRmZS4uMzY1YmFiNWU3NjM1M2Rj
ODBiZWUwMzFlNTdjM2JlZDRhY2MxMzVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtaHRtbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zeW50YXgtaGlnaGxpZ2h0LWh0bWwuaHRtbApAQCAtMSwzMyArMSwzMiBAQAogPGh0bWw+CiA8
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJzeW50YXgtaGlnaGxpZ2h0
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLS8vIEZyb250ZW5kIGZ1bmN0aW9ucy4KLQotZnVu
Y3Rpb24gZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwoc3RyKQorZnVuY3Rpb24gdGVz
dCgpCiB7Ci0gICAgcmV0dXJuIGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHQoc3RyLCAidGV4
dC9odG1sIik7Ci19CisgICAgZnVuY3Rpb24gZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwoc3RyKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3ludGF4SGlnaGxpZ2h0KHN0ciwgInRl
eHQvaHRtbCIpOworICAgIH0KKworICAgIGR1bXBTeW50YXhIaWdobGlnaHRIVE1MKCI8aHRtbD4i
KTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0SFRNTCgiPHRhYmxlIGNlbGxzcGFjaW5nPTA+Iik7
CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwoIjxpbnB1dCBjaGVja2VkIHZhbHVlPVwiZm9v
XCI+Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwoIjx0YWJsZSBjZWxsc3BhY2luZz1c
IjBcIiBjZWxscGFkZGluZz0nMCc+Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwoIjwh
RE9DVFlQRSBIVE1MIFBVQkxJQyBcIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv
L0VOXCIgXCJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGRcIj4iKTsKKyAgICBk
dW1wU3ludGF4SGlnaGxpZ2h0SFRNTCgiPCEtLWRpdj48ZGl2IGZvb2Jhci0tPiIpOworICAgIGR1
bXBTeW50YXhIaWdobGlnaHRIVE1MKCI8c2NyaXB0PjwvIiArICJzY3JpcHQ+PCEtLWRpdi0tPiIp
OworICAgIGR1bXBTeW50YXhIaWdobGlnaHRIVE1MKCI8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFz
Y3JpcHRcIj5kb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+
PC8nICsgJ3NjcmlwdD4nKTs8LyIgKyAic2NyaXB0PiIpOwogCi1mdW5jdGlvbiBmcm9udGVuZF9k
b2l0QW5kRHVtcCgpIHsKLSAgICB2YXIgcmVzdWx0ID0gW107Ci0gICAgcmVzdWx0LnB1c2goZnJv
bnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwoIjxodG1sPiIpKTsKLSAgICByZXN1bHQucHVz
aChmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0SFRNTCgiPHRhYmxlIGNlbGxzcGFjaW5nPTA+
IikpOwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHRIVE1MKCI8
aW5wdXQgY2hlY2tlZCB2YWx1ZT1cImZvb1wiPiIpKTsKLSAgICByZXN1bHQucHVzaChmcm9udGVu
ZF9kdW1wU3ludGF4SGlnaGxpZ2h0SFRNTCgiPHRhYmxlIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxw
YWRkaW5nPScwJz4iKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hs
aWdodEhUTUwoIjwhRE9DVFlQRSBIVE1MIFBVQkxJQyBcIi0vL1czQy8vRFREIEhUTUwgNC4wMSBU
cmFuc2l0aW9uYWwvL0VOXCIgXCJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGRc
Ij4iKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodEhUTUwo
IjwhLS1kaXY+PGRpdiBmb29iYXItLT4iKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVt
cFN5bnRheEhpZ2hsaWdodEhUTUwoIjxzY3JpcHQ+PC8iICsgInNjcmlwdD48IS0tZGl2LS0+Iikp
OwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHRIVE1MKCI8c2Ny
aXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj5kb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBl
PVwidGV4dC9qYXZhc2NyaXB0XCI+PC8nICsgJ3NjcmlwdD4nKTs8LyIgKyAic2NyaXB0PiIpKTsK
LSAgICByZXR1cm4gcmVzdWx0OworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiB9
CiAKIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMgdGhhdCBTb3VyY2VIVE1MVG9rZW5pemVy
IGRldGVjdHMgdGhlIHRva2Vucy4KIDwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAppbmRleCA4MzNjMmExMTg1ZmQ2
N2NkNTBhNTM4OGIwMWY5NzRjODczNDVjNmU5Li5lZDRlNGY3YjNjNmNhZWU2YWI2YWM4ODc1NDNl
NWIxNzkzMDY0OWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhp
Z2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRh
eC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sCkBAIC0xLDM3ICsxLDM1IEBACiA8aHRtbD4KIDxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InN5bnRheC1oaWdobGlnaHQu
anMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotLy8gRnJvbnRlbmQgZnVuY3Rpb25zLgotCi1mdW5j
dGlvbiBmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0SlMoc3RyKQorZnVuY3Rpb24gdGVzdCgp
CiB7Ci0gICAgcmV0dXJuIGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHQoc3RyLCAidGV4dC9q
YXZhc2NyaXB0Iik7Ci19CisgICAgZnVuY3Rpb24gZHVtcFN5bnRheEhpZ2hsaWdodEpTKHN0cikK
KyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN5bnRheEhpZ2hsaWdodChzdHIsICJ0
ZXh0L2phdmFzY3JpcHQiKTsKKyAgICB9CisKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0SlMoInJl
dHVybidmb28nOyIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRKUygiL1xcXC8vZyIpOworICAg
IGR1bXBTeW50YXhIaWdobGlnaHRKUygiLy9pZyc7Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdo
dEpTKCIxIC8gMiArIC9hLy50ZXN0KCdhJyk7Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodEpT
KCJcIlxcXCIvXCIubGVuZ3RoIC8gMiIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRKUygidmFy
IGZvbyA9IDEvKi8qKiovLzIiKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0SlMoIi8qY29tbWVu
dCovLy4qLy50ZXN0KCdhJykiKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0SlMoIidmXFxcbm9v
JzsiKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0SlMoIidcXGZcXGJcXHQnOyIpOworICAgIGR1
bXBTeW50YXhIaWdobGlnaHRKUygiJy9cXFxuLyc7Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdo
dEpTKCJmb28vKipcbi9cbiovZm9vIik7CiAKLWZ1bmN0aW9uIGZyb250ZW5kX2RvaXRBbmREdW1w
KCkgewotICAgIHZhciByZXN1bHQgPSBbXTsKLSAgICAKLSAgICByZXN1bHQucHVzaChmcm9udGVu
ZF9kdW1wU3ludGF4SGlnaGxpZ2h0SlMoInJldHVybidmb28nOyIpKTsKLSAgICByZXN1bHQucHVz
aChmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0SlMoIi9cXFwvL2ciKSk7Ci0gICAgcmVzdWx0
LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodEpTKCIvL2lnJzsiKSk7Ci0gICAgcmVz
dWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodEpTKCIxIC8gMiArIC9hLy50ZXN0
KCdhJyk7IikpOwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHRK
UygiXCJcXFwiL1wiLmxlbmd0aCAvIDIiKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVt
cFN5bnRheEhpZ2hsaWdodEpTKCJ2YXIgZm9vID0gMS8qLyoqKi8vMiIpKTsKLSAgICByZXN1bHQu
cHVzaChmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0SlMoIi8qY29tbWVudCovLy4qLy50ZXN0
KCdhJykiKSk7Ci0gICAgcmVzdWx0LnB1c2goZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodEpT
KCInZlxcXG5vbyc7IikpOwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5kX2R1bXBTeW50YXhIaWdo
bGlnaHRKUygiJ1xcZlxcYlxcdCc7IikpOwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5kX2R1bXBT
eW50YXhIaWdobGlnaHRKUygiJy9cXFxuLyc7IikpOwotICAgIHJlc3VsdC5wdXNoKGZyb250ZW5k
X2R1bXBTeW50YXhIaWdobGlnaHRKUygiZm9vLyoqXG4vXG4qL2ZvbyIpKTsKLSAgICByZXR1cm4g
cmVzdWx0OworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiB9CiAKIDwvc2NyaXB0
PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KIDxwPgogVGVzdHMgdGhhdCBKYXZhU2NyaXB0U291cmNlU3ludGF4SGlnaGxpZ2h0
ZXIgZGV0ZWN0cyB0aGUgdG9rZW5zLgogPC9wPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3N5bnRheC1oaWdobGlnaHQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4
LWhpZ2hsaWdodC5qcwppbmRleCA5YmRmMmIzOTcyZDMzMzRjMDg3MTQ0YjQzMDFlMzcxY2IxN2Ji
MmI3Li5jYjNlYTdhYWFkMGVkMDc3NTM1ZjE1OTljMmY0NDY0OWI2ZThiMmYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC5qcwpAQCAtMSwxOSArMSw2IEBACi0vLyBJ
bnNwZWN0ZWQgUGFnZSBmdW5jdGlvbnMuCit2YXIgaW5pdGlhbGl6ZV9TeW50YXhIaWdobGlnaHQg
PSBmdW5jdGlvbigpIHsKIAotZnVuY3Rpb24gZG9pdCgpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJh
Y2socmVzdWx0KQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVu
Z3RoOyArK2kpCi0gICAgICAgICAgICBvdXRwdXQocmVzdWx0W2ldKTsKLSAgICAgICAgbm90aWZ5
RG9uZSgpOwotICAgIH0KLSAgICBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCJmcm9udGVuZF9kb2l0
QW5kRHVtcCIsIGNhbGxiYWNrKTsKLX0KLQotLy8gRnJvbnRlbmQgZnVuY3Rpb25zLgotCi1mdW5j
dGlvbiBmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0KHN0ciwgbWltZVR5cGUpCitJbnNwZWN0
b3JUZXN0LmR1bXBTeW50YXhIaWdobGlnaHQgPSBmdW5jdGlvbihzdHIsIG1pbWVUeXBlKQogewog
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgIG5vZGUu
dGV4dENvbnRlbnQgPSBzdHI7CkBAIC0yNyw1ICsxNCw3IEBAIGZ1bmN0aW9uIGZyb250ZW5kX2R1
bXBTeW50YXhIaWdobGlnaHQoc3RyLCBtaW1lVHlwZSkKICAgICAgICAgICAgIG5vZGVfcGFydHMu
cHVzaCgiKiIpOwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVybiBzdHIgKyAiOiAiICsgbm9k
ZV9wYXJ0cy5qb2luKCIsIik7Ci19CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc3RyICsg
IjogIiArIG5vZGVfcGFydHMuam9pbigiLCIpKTsKK307CisKK307CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5LWV4cGVjdGVkLnR4
dAppbmRleCBjZTIzMTA2ZDYyYzA2M2ZmNmY1OWUzM2VkYTQ1ZjBkYjMyODMyMjc0Li5hMjhmZDQ4
ZmE4MWZjN2IwNzhlZTdhODY3Y2IzNDRhZTYyZjNlNmRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHktZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3RlZC50eHQK
QEAgLTIsMjUgKzIsMjcgQEAgQ2hlY2sgdG8gc2VlIHRoYXQgVGltZWxpbmVBZ2VudCByZWNvcmQg
dHlwZXMgYXJlIHN0YWJsZS4KIAogQXBwbGljYXRpb25zIG91dHNpZGUgb2YgV2ViS2l0IGRlcGVu
ZCBvbiB0aGUgc3RhYmlsaXR5IG9mIHRoZSBtYXBwaW5nIG9mIHRoZXNlIHR5cGVzIHRvIHRoZXNl
IHNwZWNpZmljIHZhbHVlcy4KIAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZS5FdmVudERpc3BhdGNoIDogMAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZS5MYXlvdXQgOiAxCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlJlY2Fs
Y3VsYXRlU3R5bGVzIDogMgotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5Q
YWludCA6IDMKLVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUGFyc2VIVE1M
IDogNAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lckluc3RhbGwg
OiA1Ci1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVyUmVtb3ZlIDog
NgotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lckZpcmUgOiA3Ci1X
ZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlhIUlJlYWR5U3RhdGVDaGFuZ2Ug
OiA4Ci1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlhIUkxvYWQgOiA5Ci1X
ZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0IDogMTAK
LVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuTWFya1RpbWVsaW5lIDogMTEK
LVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVzb3VyY2VTZW5kUmVxdWVz
dCA6IDEyCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlJlc291cmNlUmVj
ZWl2ZVJlc3BvbnNlIDogMTMKLVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUu
UmVzb3VyY2VGaW5pc2ggOiAxNAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZS5GdW5jdGlvbkNhbGwgOiAxNQotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZS5SZXNvdXJjZVJlY2VpdmVEYXRhIDogMTYKLVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJl
Y29yZFR5cGUuR0NFdmVudCA6IDE3Ci1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRU
eXBlLk1hcmtET01Db250ZW50RXZlbnRUeXBlIDogMTgKLVdlYkluc3BlY3Rvci5UaW1lbGluZUFn
ZW50LlJlY29yZFR5cGUuTWFya0xvYWRFdmVudFR5cGUgOiAxOQotV2ViSW5zcGVjdG9yLlRpbWVs
aW5lQWdlbnQuUmVjb3JkVHlwZS5TY2hlZHVsZVJlc291cmNlUmVxdWVzdCA6IDIwCit7CisgICAg
RXZlbnREaXNwYXRjaCA6IDAKKyAgICBMYXlvdXQgOiAxCisgICAgUmVjYWxjdWxhdGVTdHlsZXMg
OiAyCisgICAgUGFpbnQgOiAzCisgICAgUGFyc2VIVE1MIDogNAorICAgIFRpbWVySW5zdGFsbCA6
IDUKKyAgICBUaW1lclJlbW92ZSA6IDYKKyAgICBUaW1lckZpcmUgOiA3CisgICAgWEhSUmVhZHlT
dGF0ZUNoYW5nZSA6IDgKKyAgICBYSFJMb2FkIDogOQorICAgIEV2YWx1YXRlU2NyaXB0IDogMTAK
KyAgICBNYXJrVGltZWxpbmUgOiAxMQorICAgIFJlc291cmNlU2VuZFJlcXVlc3QgOiAxMgorICAg
IFJlc291cmNlUmVjZWl2ZVJlc3BvbnNlIDogMTMKKyAgICBSZXNvdXJjZUZpbmlzaCA6IDE0Cisg
ICAgRnVuY3Rpb25DYWxsIDogMTUKKyAgICBSZXNvdXJjZVJlY2VpdmVEYXRhIDogMTYKKyAgICBH
Q0V2ZW50IDogMTcKKyAgICBNYXJrRE9NQ29udGVudEV2ZW50VHlwZSA6IDE4CisgICAgTWFya0xv
YWRFdmVudFR5cGUgOiAxOQorICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0IDogMjAKK30KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRt
bAppbmRleCBkNTgyMDA4OWYzMzI3NjM3ZTRiODFiZjk1ODhjM2ViMjQwZTQzYWZiLi5mZTAzZjUy
YTgwZmRmMmM2MjUzNTFjMGFlNGE3ODdmMTljNzgzM2NlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbApAQCAtMSwyNSArMSwxOCBA
QAogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLWZ1bmN0
aW9uIGR1bXBUaW1lbGluZUFnZW50UmVjb3JkVHlwZSh0eXBlcykgewotICAgdmFyIHByZWZpeCA9
ICJXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLiI7Ci0gICBmb3IgKHByb3Ag
aW4gdHlwZXMpIHsKLSAgICAgICBvdXRwdXQocHJlZml4ICsgcHJvcCArICIgOiAiICsgdHlwZXNb
cHJvcF0pOwotICAgfQotICAgbm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBkb2l0KCkKK2Z1
bmN0aW9uIHRlc3QoKQogewotICAgZXZhbHVhdGVJbldlYkluc3BlY3RvcigiV2ViSW5zcGVjdG9y
LlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZSIsIGR1bXBUaW1lbGluZUFnZW50UmVjb3JkVHlwZSk7
CisgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QoV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQu
UmVjb3JkVHlwZSk7CisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKIH0KIAogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiAKLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgogPHA+IAogQ2hlY2sgdG8gc2VlIHRoYXQgVGltZWxpbmVBZ2VudCByZWNv
cmQgdHlwZXMgYXJlIHN0YWJsZS4KIDwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS1ldmVudC1kaXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKaW5kZXggZDAxZTkzYmRhZjU2ZGRkZDhkY2Q4
NmEzM2VmMzc5MzNkYTkyMzE0ZC4uOTcyM2NjMjc4NzU2MDBkMDdiNmQ1NGNmNzk1MGVjNTAyZjZl
ZTVkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRp
c3BhdGNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRp
c3BhdGNoLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KIApAQCAtOSwxMSArOSw4IEBAIGZ1bmN0aW9uIGhhbmRsZU1vdXNlRG93bihldmVudCkKICAg
ICBjb25zb2xlLm1hcmtUaW1lbGluZSgiSGFuZGxpbmcgbW91c2Vkb3duIik7CiB9CiAKLWZ1bmN0
aW9uIGRvaXQoKSAKK2Z1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKIHsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RUYXJnZXQiKTsKICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vkb3duIiwgaGFuZGxlTW91c2VEb3duLCB0cnVlKTsKICAgICB2YXIgcmVjdCA9
IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKQEAgLTIzLDE2ICsyMCwxNyBAQCBmdW5j
dGlvbiBkb2l0KCkKICAgICAgICAgd2luZG93LmV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHJlY3Qu
bGVmdCArIHJlY3Qud2lkdGggLyAyLCByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMik7CiAgICAg
ICAgIHdpbmRvdy5ldmVudFNlbmRlci5tb3VzZURvd24oKTsKICAgICB9Cit9CiAKLSAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBwcmludFRpbWVsaW5lUmVjb3JkcyhudWxsLCAi
RXZlbnREaXNwYXRjaCIpOwotICAgIH0sIDApOworZnVuY3Rpb24gdGVzdCgpIAoreworICAgIElu
c3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJF
dmVudERpc3BhdGNoIik7CiB9CiAKIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9
Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMgdGhlIFRp
bWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBET00gRGlzcGF0Y2ggKG1vdXNlZG93bikK
IDwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1sYXlvdXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC1leHBl
Y3RlZC50eHQKaW5kZXggOWUxYmU0ODZhODViOGE3ZmQ1Yzc1MDk3NDE3ZWI3NjUzOTI3YTZlOC4u
ZGE3ZWMxOGJlMzY4MjA3NDZlYjg3NzViYjU3NzlkYzkxYmJkMmY1MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw2IEBACiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIExheW91
dCBldmVudAogCitUZXN0IGRhdGEKIExheW91dCBQcm9wZXJ0aWVzOgogewogICAgIHN0YXJ0VGlt
ZSA6IDxudW1iZXI+CkBAIC0xMSw0ICsxMiw0IEBAIExheW91dCBQcm9wZXJ0aWVzOgogICAgIHVz
ZWRIZWFwU2l6ZSA6IDxudW1iZXI+CiAgICAgdG90YWxIZWFwU2l6ZSA6IDxudW1iZXI+CiB9Ci1U
ZXN0IGRhdGEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWxh
eW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLWxheW91dC5odG1sCmlu
ZGV4IDI0NDZlNzFkY2NjZjQyZjM3NWVhMDE1ZmQ5YmE2YmJkZWEwNGIyZGIuLjU5MmIxYjhmNzVm
YTA0ZWQ5N2ZmNjNiMjdiZWI4NmQyMGNhMjg4OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUtbGF5b3V0Lmh0bWwKQEAgLTEsNiArMSw2IEBACiA8aHRtbD4KIDxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dDIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0
PgogPHNjcmlwdD4KIApAQCAtMTEsMTUgKzExLDE1IEBAIGZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25z
KCkKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogfQogCi1mdW5jdGlv
biBkb2l0KCkgCitmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBwcmludFRpbWVsaW5lUmVjb3Jkcyhw
ZXJmb3JtQWN0aW9ucywgIkxheW91dCIpOworICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlv
bnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJMYXlvdXQiKTsKIH0KIAogPC9zY3JpcHQ+
CiA8L2hlYWQ+CiAKLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgogPHA+CiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBh
IExheW91dCBldmVudAogPC9wPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lLW1hcmstdGltZWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS1tYXJrLXRpbWVsaW5lLmh0bWwKaW5kZXggMjRlN2E3YTZkYmVhMDQ4ODM1YmFlYmM5M2U4Njc4
MmZkMDdhNTBiMy4uZmUyOTcwZjI1NjEwODg2MzM1ZmIxZmEyODYwNGIzNTdjNjE4YjJiZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLW1hcmstdGltZWxpbmUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtbWFyay10aW1lbGluZS5odG1s
CkBAIC0xLDYgKzEsNiBAQAogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJ0aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKQEAgLTks
MTUgKzksMTUgQEAgZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQogICAgIGNvbnNvbGUubWFya1Rp
bWVsaW5lKCJNQVJLIFRJTUVMSU5FIik7CiB9CiAKLWZ1bmN0aW9uIGRvaXQoKSAKK2Z1bmN0aW9u
IHRlc3QoKQogewotICAgIHByaW50VGltZWxpbmVSZWNvcmRzKHBlcmZvcm1BY3Rpb25zLCAiTWFy
a1RpbWVsaW5lIik7CisgICAgSW5zcGVjdG9yVGVzdC5wZXJmb3JtQWN0aW9uc0FuZFByaW50KCJw
ZXJmb3JtQWN0aW9ucygpIiwgIk1hcmtUaW1lbGluZSIpOwogfQogCiA8L3NjcmlwdD4KIDwvaGVh
ZD4KIAotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
CiA8cD4KIFRlc3RzIHRoZSBUaW1lbGluZSBBUEkgbWFyayBmZWF0dXJlCiA8L3A+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtbmV0d29yay1yZXNvdXJj
ZS1leHBlY3RlZC50eHQKaW5kZXggOTI2OTc3NWExNTI1N2JkNDlhNzNiM2Y5NGNmN2RjM2QyMTMw
MDY3MC4uYzQ3MGFjZjQwYWFiMWM5Mzk5ZWNkNDU2ZTcxYjYyOWU1MmZiMGE4ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291
cmNlLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDcgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3
OiBTY3JpcHQgZXZhbHVhdGVkCiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlv
biBvZiBhIG5ldHdvcmsgcmVzb3VyY2UgbG9hZAogCitTY3JpcHQgcmVzb3VyY2UgbG9hZGVkCiAK
IFJlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoKIHsKQEAgLTIxLDcgKzIzLDcgQEAgUmVz
b3VyY2VSZWNlaXZlUmVzcG9uc2UgUHJvcGVydGllczoKICAgICAgICAgaWRlbnRpZmllciA6IDxu
dW1iZXI+CiAgICAgICAgIHN0YXR1c0NvZGUgOiAwCiAgICAgICAgIG1pbWVUeXBlIDogPHN0cmlu
Zz4KLSAgICAgICAgZXhwZWN0ZWRDb250ZW50TGVuZ3RoIDogMjA4CisgICAgICAgIGV4cGVjdGVk
Q29udGVudExlbmd0aCA6IDIxMwogICAgICAgICB1cmwgOiA8c3RyaW5nPgogICAgIH0KICAgICBj
aGlsZHJlbiA6IDxvYmplY3Q+CkBAIC00Myw0ICs0NSw0IEBAIFJlc291cmNlRmluaXNoIFByb3Bl
cnRpZXM6CiAgICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KICAgICB0b3RhbEhlYXBTaXplIDog
PG51bWJlcj4KIH0KLVNjcmlwdCByZXNvdXJjZSBsb2FkZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKaW5kZXggNmZjNTA4
ZmFiMzdkNGRlZWEwOTdkYTU4MWE3NGY2YmVlMWY0ZjlhMC4uYmY5NGZkMmQ4YjY0YWVmZmVlNDNh
Y2MyNTA5MWEyMGUyYmZjN2Q2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCkBAIC0xLDc0ICsxLDkwIEBACiA8aHRtbD4K
IDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3Qu
anMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAogdmFyIHNjcmlwdFVybCA9ICJ0aW1lbGluZS1uZXR3
b3JrLXJlc291cmNlLmpzIjsKIAotZnVuY3Rpb24gcnVuQWZ0ZXJTY3JpcHRJc0V2YWx1YXRlZCgp
CitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpIAogewotICAgIHByaW50VGltZWxpbmVSZWNvcmRz
KG51bGwsIG51bGwsIGZ1bmN0aW9uKHJlY29yZCkgewotICAgICAgICBpZiAocmVjb3JkLnR5cGUg
PT09IHRpbWVsaW5lQWdlbnRSZWNvcmRUeXBlWyJSZXNvdXJjZVNlbmRSZXF1ZXN0Il0pCi0gICAg
ICAgICAgICBwcmludFNlbmQocmVjb3JkKTsKLSAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUg
PT09IHRpbWVsaW5lQWdlbnRSZWNvcmRUeXBlWyJSZXNvdXJjZVJlY2VpdmVSZXNwb25zZSJdKQot
ICAgICAgICAgICAgcHJpbnRSZWNlaXZlKHJlY29yZCk7Ci0gICAgICAgIGVsc2UgaWYgKHJlY29y
ZC50eXBlID09PSB0aW1lbGluZUFnZW50UmVjb3JkVHlwZVsiUmVzb3VyY2VGaW5pc2giXSkKLSAg
ICAgICAgICAgIHByaW50RmluaXNoKHJlY29yZCk7Ci0gICAgfSk7Ci0gICAgZXZhbHVhdGVJbldl
Ykluc3BlY3RvcigiMCIsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAvLyBUZW1wb3Jhcnkg
bm9vcCB0byByZW1vdmUgZmxha2UuCi0gICAgfSk7CisgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRVcmw7Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOwogfQogCi1mdW5jdGlvbiBwcmlu
dFJlY29yZChyZWNvcmQpCitmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBvdXRwdXQoIiIpOwotICAg
IHByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7Ci19CisgICAgdmFyIHJlc291
cmNlSWQ7CisgICAgdmFyIHNjcmlwdFVybCA9ICJ0aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpz
IjsKIAotZnVuY3Rpb24gcHJpbnRTZW5kKHJlY29yZCkKLXsKLSAgICBwcmludFJlY29yZChyZWNv
cmQpOwotICAgIHdpbmRvdy5yZXNvdXJjZUlkID0gcmVjb3JkLmRhdGEuaWRlbnRpZmllcjsKLSAg
ICBpZiAocmVjb3JkLmRhdGEudXJsID09PSB1bmRlZmluZWQpIAotICAgICAgICBvdXRwdXQoIiog
Tm8gJ3VybCcgcHJvcGVydHkgaW4gcmVjb3JkIik7Ci0gICAgZWxzZSBpZiAocmVjb3JkLmRhdGEu
dXJsLmluZGV4T2Yoc2NyaXB0VXJsKSA9PT0gLTEpCi0gICAgICAgIG91dHB1dCgiKiBEaWRuJ3Qg
ZmluZCBVUkw6ICIgKyBzY3JpcHRVcmwpOwotfQorICAgIEluc3BlY3RvckJhY2tlbmQuc3RhcnRU
aW1lbGluZVByb2ZpbGVyKHN0ZXAxKTsKIAotZnVuY3Rpb24gcHJpbnRSZWNlaXZlKHJlY29yZCkK
LXsKLSAgICBwcmludFJlY29yZChyZWNvcmQpOwotICAgIGlmICh3aW5kb3cucmVzb3VyY2VJZCAh
PT0gcmVjb3JkLmRhdGEuaWRlbnRpZmllcikKLSAgICAgICAgb3V0cHV0KCJEaWRuJ3QgZmluZCBt
YXRjaGluZyByZXNvdXJjZUlkOiAiICsgd2luZG93LnJlc291cmNlSWQpOwotICAgIGlmIChyZWNv
cmQuZGF0YS5zdGF0dXNDb2RlICE9PSAwKQotICAgICAgICBvdXRwdXQoIlJlc3BvbnNlIHJlY2Vp
dmVkIHN0YXR1czogIiArIHJlY29yZC5kYXRhLnN0YXR1c0NvZGUpOwotfQorICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBl
cmZvcm1BY3Rpb25zKCkiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5fYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsKKyAg
ICB9CiAKLWZ1bmN0aW9uIHByaW50RmluaXNoKHJlY29yZCkKLXsKLSAgICBwcmludFJlY29yZChy
ZWNvcmQpOwotICAgIGlmICh3aW5kb3cucmVzb3VyY2VJZCAhPT0gcmVjb3JkLmRhdGEuaWRlbnRp
ZmllcikKLSAgICAgICAgb3V0cHV0KCJEaWRuJ3QgZmluZCBtYXRjaGluZyByZXNvdXJjZUlkOiAi
ICsgd2luZG93LnJlc291cmNlSWQpOwotICAgIGlmIChyZWNvcmQuZGF0YS5kaWRGYWlsKQotICAg
ICAgICBvdXRwdXQoIlJlcXVlc3QgZmFpbGVkLiIpOwotfQorICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
KyAgICB7CisgICAgICAgIEluc3BlY3RvckJhY2tlbmQuc3RvcFRpbWVsaW5lUHJvZmlsZXIoc3Rl
cDMpOworICAgIH0KIAotZnVuY3Rpb24gZG9pdCgpIAotewotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFRpbWVsaW5l
UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAg
ICAgICBmdW5jdGlvbiBmb3JtYXQocmVjb3JkKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
cmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVz
b3VyY2VTZW5kUmVxdWVzdCkKKyAgICAgICAgICAgICAgICBwcmludFNlbmQocmVjb3JkKTsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudC5SZWNvcmRUeXBlLlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlKQorICAgICAgICAgICAgICAg
IHByaW50UmVjZWl2ZShyZWNvcmQpOworICAgICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUg
PT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVzb3VyY2VGaW5pc2gp
CisgICAgICAgICAgICAgICAgcHJpbnRGaW5pc2gocmVjb3JkKTsKKyAgICAgICAgfQorICAgICAg
ICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKG51bGwsIGZvcm1hdCk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQogCi0gICAgdmFyIHNjcmlw
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNjcmlwdC5zcmMgPSBz
Y3JpcHRVcmw7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOworICAgIGZ1
bmN0aW9uIHByaW50UmVjb3JkKHJlY29yZCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jk
UHJvcGVydGllcyhyZWNvcmQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHByaW50U2VuZChyZWNv
cmQpCisgICAgeworICAgICAgICBwcmludFJlY29yZChyZWNvcmQpOworICAgICAgICByZXNvdXJj
ZUlkID0gcmVjb3JkLmRhdGEuaWRlbnRpZmllcjsKKyAgICAgICAgaWYgKHJlY29yZC5kYXRhLnVy
bCA9PT0gdW5kZWZpbmVkKSAKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIq
IE5vICd1cmwnIHByb3BlcnR5IGluIHJlY29yZCIpOworICAgICAgICBlbHNlIGlmIChyZWNvcmQu
ZGF0YS51cmwuaW5kZXhPZihzY3JpcHRVcmwpID09PSAtMSkKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIqIERpZG4ndCBmaW5kIFVSTDogIiArIHNjcmlwdFVybCk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gcHJpbnRSZWNlaXZlKHJlY29yZCkKKyAgICB7CisgICAgICAgIHBy
aW50UmVjb3JkKHJlY29yZCk7CisgICAgICAgIGlmIChyZXNvdXJjZUlkICE9PSByZWNvcmQuZGF0
YS5pZGVudGlmaWVyKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRpZG4n
dCBmaW5kIG1hdGNoaW5nIHJlc291cmNlSWQ6ICIgKyByZXNvdXJjZUlkKTsKKyAgICAgICAgaWYg
KHJlY29yZC5kYXRhLnN0YXR1c0NvZGUgIT09IDApCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiUmVzcG9uc2UgcmVjZWl2ZWQgc3RhdHVzOiAiICsgcmVjb3JkLmRhdGEuc3Rh
dHVzQ29kZSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcHJpbnRGaW5pc2gocmVjb3JkKQorICAg
IHsKKyAgICAgICAgcHJpbnRSZWNvcmQocmVjb3JkKTsKKyAgICAgICAgaWYgKHJlc291cmNlSWQg
IT09IHJlY29yZC5kYXRhLmlkZW50aWZpZXIpCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiRGlkbid0IGZpbmQgbWF0Y2hpbmcgcmVzb3VyY2VJZDogIiArIHJlc291cmNlSWQp
OworICAgICAgICBpZiAocmVjb3JkLmRhdGEuZGlkRmFpbCkKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSZXF1ZXN0IGZhaWxlZC4iKTsKKyAgICB9CiB9CiAKIDwvc2NyaXB0
PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KIDxwPgogVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2Yg
YSBuZXR3b3JrIHJlc291cmNlIGxvYWQKIDwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMKaW5kZXggZGU3YzcyMGY1OGY3Nzc5Y2Ji
ZjZjZTcxNTdiMjUxZjYxNTI5ZDA1YS4uNTQ4OTc2ZTAwMTlmYTEwMThhY2UwZTc1MTVmNmEzYmEw
MDlkZjlkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdv
cmstcmVzb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLW5ldHdv
cmstcmVzb3VyY2UuanMKQEAgLTMsNCArMyw1IEBACiB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogZWxlbWVudC5pbm5lckhUTUwgPSAiU2NyaXB0IHJlc291cmNl
IGxvYWRlZCI7CiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotcnVuQWZ0ZXJT
Y3JpcHRJc0V2YWx1YXRlZCgpOworCitjb25zb2xlLmxvZygiU2NyaXB0IGV2YWx1YXRlZCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQuaHRtbAppbmRleCBkZThhOTEzZGZk
NGYyOGM2MzI1ODJiN2RkYmZhMWI5ZDY2MjdmMjkyLi43NjkxYWYxNGRlY2NiMDM0MjM1Yjk1MWU4
M2I1MmVmNzdkZThlMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUtcGFpbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcGFpbnQu
aHRtbApAQCAtMSw2ICsxLDYgQEAKIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0idGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCkBA
IC0xMCwxNSArMTAsMTUgQEAgZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQogICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7CiB9CiAKLWZ1bmN0aW9uIGRvaXQoKSAKK2Z1bmN0
aW9uIHRlc3QoKQogewotICAgIHByaW50VGltZWxpbmVSZWNvcmRzKHBlcmZvcm1BY3Rpb25zLCAi
UGFpbnQiKTsKKyAgICBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJpbnQoInBlcmZv
cm1BY3Rpb25zKCkiLCAiUGFpbnQiKTsKIH0KIAogPC9zY3JpcHQ+CiA8L2hlYWQ+CiAKLTxib2R5
IG9ubG9hZD0ib25sb2FkKCkiPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgogPHA+CiBUZXN0
cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIHBhaW50IGV2ZW50CiA8L3A+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC1l
eHBlY3RlZC50eHQKaW5kZXggYjgxY2QyZDNiZmI3ZWZjZGE0NTliMmRiNzlkNmEyMjhkYTljN2Yy
Ny4uZDNlOTM1MmFlN2QwNDE0ZjRmYWJlZDAxOGM3MTIyOWUwZjdmODVhNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1wYXJzZS1odG1sLWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDYgQEAKIFRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9u
IG9mIFBhcnNlSFRNTAogCitUZXN0IGRhdGEKIFBhcnNlSFRNTCBQcm9wZXJ0aWVzOgogewogICAg
IHN0YXJ0VGltZSA6IDxudW1iZXI+CkBAIC0yOCw0ICsyOSw0IEBAIFBhcnNlSFRNTCBQcm9wZXJ0
aWVzOgogICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+CiAgICAgdG90YWxIZWFwU2l6ZSA6IDxu
dW1iZXI+CiB9Ci1UZXN0IGRhdGEKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS1wYXJzZS1odG1sLmh0bWwKaW5kZXggMTc2NDUxZmUyMzI1ZmY0ZDgxZTkxY2M0MjRjODcwZDQw
YmZiNzczMC4uY2ViNTZlNmEwOWVhYjY4MGUyYjJlNTY3OWQyNDRkNGM2ZmUxMGYwNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXBhcnNlLWh0bWwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCkBAIC0xLDYg
KzEsNiBAQAogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJ0aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKQEAgLTExLDE1ICsxMSwx
NSBAQCBmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChlbGVtZW50KTsKIH0KIAotZnVuY3Rpb24gZG9pdCgpIAorZnVuY3Rpb24gdGVzdCgpCiB7
Ci0gICAgcHJpbnRUaW1lbGluZVJlY29yZHMocGVyZm9ybUFjdGlvbnMsICJQYXJzZUhUTUwiKTsK
KyAgICBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJpbnQoInBlcmZvcm1BY3Rpb25z
KCkiLCAiUGFyc2VIVE1MIik7CiB9CiAKIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxv
YWQ9Im9ubG9hZCgpIj4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMgdGhl
IFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgUGFyc2VIVE1MIAogPC9wPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUt
c3R5bGVzLWV4cGVjdGVkLnR4dAppbmRleCA1MTA0MzZkOWY2NTBkMDY3YTMwZTRhMTNiZmVmNjZl
M2NiMDg1ODM1Li42OTBmNmVkYzNmZWJiNDRjYWY4MTFlNDA1M2IyYjAzZGUzMzM1ZjlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcmVjYWxj
dWxhdGUtc3R5bGVzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYgQEAKIFRlc3RzIHRoZSBUaW1l
bGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgc3R5bGUgcmVjYWxjdWxhdGlvbiBldmVudAog
CitUZXN0IGRhdGEKIFJlY2FsY3VsYXRlU3R5bGVzIFByb3BlcnRpZXM6CiB7CiAgICAgc3RhcnRU
aW1lIDogPG51bWJlcj4KQEAgLTExLDQgKzEyLDQgQEAgUmVjYWxjdWxhdGVTdHlsZXMgUHJvcGVy
dGllczoKICAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgogICAgIHRvdGFsSGVhcFNpemUgOiA8
bnVtYmVyPgogfQotVGVzdCBkYXRhCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbAppbmRleCAxMDIxM2I5MjM5YWJlOTA5
OTQyZmZmNTJjMzA1ZWUxZGViMDc4ZmNlLi5mOGE3YWVlMmMyZDA2NWU3OThhNDE5MDEwYjYwZmYy
ZTMwMWJlNGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtcmVj
YWxjdWxhdGUtc3R5bGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
LXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sCkBAIC0xLDYgKzEsNiBAQAogPGh0bWw+CiA8aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9y
LXRlc3QyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJ0aW1lbGluZS10ZXN0LmpzIj48L3Nj
cmlwdD4KIAogPHN0eWxlPgpAQCAtMTksMTUgKzE5LDE1IEBAIGZ1bmN0aW9uIHBlcmZvcm1BY3Rp
b25zKCkKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogfQogCi1mdW5j
dGlvbiBkb2l0KCkgCitmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBwcmludFRpbWVsaW5lUmVjb3Jk
cyhwZXJmb3JtQWN0aW9ucywgIlJlY2FsY3VsYXRlU3R5bGVzIik7CisgICAgSW5zcGVjdG9yVGVz
dC5wZXJmb3JtQWN0aW9uc0FuZFByaW50KCJwZXJmb3JtQWN0aW9ucygpIiwgIlJlY2FsY3VsYXRl
U3R5bGVzIik7CiB9CiAKIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9Im9ubG9h
ZCgpIj4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogVGVzdHMgdGhlIFRpbWVsaW5l
IEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBzdHlsZSByZWNhbGN1bGF0aW9uIGV2ZW50CiA8L3A+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0x
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFn
LTEtZXhwZWN0ZWQudHh0CmluZGV4IDM1NjMxZDhlZDI3NWViMDg1ZTc4NzE1NTg2NzBmMjY4NzJl
OTlkODkuLjlmNTA3NDVkYWMzMTkyOTExYzQ1YWMxYzRlYzY5OTA2ZDU2ZjhkZmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEtZXhw
ZWN0ZWQudHh0CkBAIC0xLDUgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IGlmcmFt
ZSBsb2FkZWQKIFRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGFuIEhU
TUwgc2NyaXB0IHRhZy4KIAorCiBQYXJzZUhUTUwKIFBhcnNlSFRNTAogLS0tLT4gRXZhbHVhdGVT
Y3JpcHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQt
dGFnLTEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEu
aHRtbAppbmRleCAxMzFkMzRlZjY5ZTllODBkYmJhMjAwNTgwODIxM2VmYTYwZjRhOTI2Li41ODYz
YmJkYTUwNDBhYWU5OTY1ZDliOTY2MDhkYjhiZjBkZjZlMzhlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCkBAIC0xLDQ0ICsxLDQ3IEBA
CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InRpbWVs
aW5lLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotZnVuY3Rpb24gcnVuQWZ0ZXJJZnJh
bWVJc0xvYWRlZChjb250aW51YXRpb24pCitmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCiB7Ci0g
ICAgZnVuY3Rpb24gc3RlcCgpCi0gICAgewotICAgICAgICBpZiAoIXdpbmRvdy5pZnJhbWVMb2Fk
ZWQpCi0gICAgICAgICAgICBzZXRUaW1lb3V0KHN0ZXAsIDEwMCk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGNvbnRpbnVhdGlvbigpOwotICAgIH0KLSAgICBzZXRUaW1lb3V0KHN0ZXAsIDEw
MCk7CisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwor
ICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFtZS1kYXRhLmh0bWwiOwor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0KIAotZnVuY3Rpb24gZG9p
dCgpIAorZnVuY3Rpb24gdGVzdCgpIAogewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICBJbnNwZWN0b3JCYWNrZW5kLnN0YXJ0VGltZWxpbmVQcm9maWxl
cihzdGVwMSk7CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIpOworICAgICAgICBJbnNwZWN0
b3JUZXN0Ll9hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJh
ZGRNZXNzYWdlIiwgc3RlcDIpOworICAgIH0KIAotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy90aW1l
bGluZS1pZnJhbWUtZGF0YS5odG1sIjsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlm
cmFtZSk7CisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yQmFj
a2VuZC5zdG9wVGltZWxpbmVQcm9maWxlcihzdGVwMyk7CisgICAgfQogCi0gICAgcnVuQWZ0ZXJJ
ZnJhbWVJc0xvYWRlZChmdW5jdGlvbigpIHsKLSAgICAgICAgcHJpbnRUaW1lbGluZVJlY29yZHMo
bnVsbCwgbnVsbCwgZnVuY3Rpb24ocmVjb3JkKSB7Ci0gICAgICAgICAgICBpZiAocmVjb3JkLnR5
cGUgPT09IHRpbWVsaW5lQWdlbnRSZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0KQotICAgICAgICAg
ICAgICAgIHByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7Ci0gICAgICAgICAg
ICBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gdGltZWxpbmVBZ2VudFJlY29yZFR5cGUuUGFyc2VI
VE1MKQotICAgICAgICAgICAgICAgIGR1bXBUaW1lbGluZVJlY29yZChyZWNvcmQpOwotICAgICAg
ICB9KTsKLSAgICB9KTsKKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBmdW5j
dGlvbiBmb3JtYXQocmVjb3JkKSB7CisgICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuRXZhbHVhdGVTY3JpcHQpCisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkUHJvcGVydGllcyhy
ZWNvcmQpOworICAgICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUGFyc2VIVE1MKQorICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkKHJlY29yZCk7CisgICAgICAgIH0KKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcyhudWxsLCBmb3JtYXQpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KIH0KIAogPC9zY3JpcHQ+
CiA8L2hlYWQ+CiAKLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgogPHA+CiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBh
biBIVE1MIHNjcmlwdCB0YWcuCiA8L3A+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTItZXhwZWN0ZWQudHh0CmluZGV4IGJlZDE3M2M4NTJi
NWRlZGVmMDQzY2RiZDgzNTFlZmI4YWYyYmRkN2YuLmExMTYwYzRiYTZmZWM3ODBhZjQzZGFjM2Nk
YzEwZjhlOTZjMjZkMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS1zY3JpcHQtdGFnLTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IFNDUklQVCBUQUcKIFRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5z
dHJ1bWVudGF0aW9uIG9mIGEgc2NyaXB0IHRhZyB3aXRoIGFuIGV4dGVybmFsIHNjcmlwdC4KIAog
RXZhbHVhdGVTY3JpcHQgUHJvcGVydGllczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbmRleCA1M2UzZDQ4ZDBkMDJlMjlkMjc2NWI2ZDgw
MjM2ZmEzODRiMTA1NmQ2Li41ZjhkZWMyNDI4Yjk5YjliMzIzNzkyMmIyNDljNjJlZDk0OGY5MjM4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWctMi5o
dG1sCkBAIC0xLDM5ICsxLDQxIEBACiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAot
ZnVuY3Rpb24gcnVuQWZ0ZXJTY3JpcHRJc0V2YWx1YXRlZChjb250aW51YXRpb24pCitmdW5jdGlv
biBwZXJmb3JtQWN0aW9ucygpCiB7Ci0gICAgZnVuY3Rpb24gc3RlcCgpCi0gICAgewotICAgICAg
ICBpZiAoIXdpbmRvdy5zY3JpcHRFdmFsdWF0ZWQpCi0gICAgICAgICAgICBzZXRUaW1lb3V0KHN0
ZXAsIDEwMCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGNvbnRpbnVhdGlvbigpOwotICAg
IH0KLSAgICBzZXRUaW1lb3V0KHN0ZXAsIDEwMCk7CisgICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIHNjcmlwdC5zcmMgPSAidGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmpzIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CiB9
CiAKLWZ1bmN0aW9uIGRvaXQoKSAKK2Z1bmN0aW9uIHRlc3QoKSAKIHsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgSW5zcGVjdG9yQmFja2VuZC5zdGFy
dFRpbWVsaW5lUHJvZmlsZXIoc3RlcDEpOworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuX2FkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3
LnByb3RvdHlwZSwgImFkZE1lc3NhZ2UiLCBzdGVwMik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKKyAgICB9CiAKLSAgICB2YXIgc2Ny
aXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgc2NyaXB0LnNyYyA9
ICJ0aW1lbGluZS1zY3JpcHQtdGFnLTIuanMiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoc2NyaXB0KTsKKyAgICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0
b3JCYWNrZW5kLnN0b3BUaW1lbGluZVByb2ZpbGVyKHN0ZXAzKTsKKyAgICB9CiAKLSAgICBydW5B
ZnRlclNjcmlwdElzRXZhbHVhdGVkKGZ1bmN0aW9uKCkgewotICAgICAgICBwcmludFRpbWVsaW5l
UmVjb3JkcyhudWxsLCAiRXZhbHVhdGVTY3JpcHQiKTsKLSAgICB9KTsKKyAgICBmdW5jdGlvbiBz
dGVwMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRz
KCJFdmFsdWF0ZVNjcmlwdCIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KIH0KIAogPC9zY3JpcHQ+CiA8L2hlYWQ+CiAKLTxib2R5IG9ubG9hZD0ib25sb2Fk
KCkiPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgogPHA+CiBUZXN0cyB0aGUgVGltZWxpbmUg
QVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIHNjcmlwdCB0YWcgd2l0aCBhbiBleHRlcm5hbCBzY3Jp
cHQuCiA8L3A+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXNjcmlwdC10YWct
Mi5qcwppbmRleCA2NDAyNGYxNThmNjc0ZTYzYWYwNTkxZjdkMWUwOThjMTA0YjNjMzZmLi45MDU3
YTM3M2ZlNTUwMDM1YTMxZjJkNDIwZmI2MGQ4NDUyZDIyZGVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmpzCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTIuanMKQEAgLTEsMiArMSBAQAotY29uc29s
ZS5tYXJrVGltZWxpbmUoIlNDUklQVCBUQUciKTsKLXdpbmRvdy5zY3JpcHRFdmFsdWF0ZWQgPSB0
cnVlOworY29uc29sZS5sb2coIlNDUklQVCBUQUciKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lLXRlc3QuanMKaW5kZXggYTRkNzJmZmMwN2JkMDYwYTcyNmJjNjVmOWU0NGFjMjAzZjU1MzUz
MS4uNTRkNjNjMTM2YjQzYzA1MTA5Nzk3MDY0NmM2N2E0N2I3ZTQwZjc1NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMKQEAgLTEsNyArMSw3IEBACi12YXIgdGltZWxpbmVB
Z2VudFJlY29yZFR5cGUgPSB7fTsKK3ZhciBpbml0aWFsaXplX1RpbWVsaW5lID0gZnVuY3Rpb24o
KSB7CiAKIC8vIFNjcnViIHZhbHVlcyB3aGVuIHByaW50aW5nIG91dCB0aGVzZSBwcm9wZXJ0aWVz
IGluIHRoZSByZWNvcmQgb3IgZGF0YSBmaWVsZC4KLXZhciB0aW1lbGluZU5vbkRldGVybWluaXN0
aWNQcm9wcyA9IHsgCitJbnNwZWN0b3JUZXN0LnRpbWVsaW5lTm9uRGV0ZXJtaW5pc3RpY1Byb3Bz
ID0geyAKICAgICBjaGlsZHJlbiA6IDEsCiAgICAgZW5kVGltZSA6IDEsIAogICAgIGhlaWdodCA6
IDEsCkBAIC0xNSw0MyArMTUsNTUgQEAgdmFyIHRpbWVsaW5lTm9uRGV0ZXJtaW5pc3RpY1Byb3Bz
ID0gewogICAgIG1pbWVUeXBlIDogMQogfTsKIAotZnVuY3Rpb24gcHJpbnRUaW1lbGluZVJlY29y
ZHMocGVyZm9ybUFjdGlvbnMsIHR5cGVOYW1lLCBmb3JtYXR0ZXIpCitJbnNwZWN0b3JUZXN0LnBl
cmZvcm1BY3Rpb25zQW5kUHJpbnQgPSBmdW5jdGlvbihhY3Rpb25zLCB0eXBlTmFtZSkKIHsKLSAg
ICBpZiAocGVyZm9ybUFjdGlvbnMpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFRpbWVsaW5lUHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcGVyZm9ybUFjdGlvbnMoKTsKKyAgICBJbnNw
ZWN0b3JCYWNrZW5kLnN0YXJ0VGltZWxpbmVQcm9maWxlcihzdGVwMSk7CisgICAgZnVuY3Rpb24g
c3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShhY3Rp
b25zLCBzdGVwMik7CiAgICAgfQogCi0gICAgZXZhbHVhdGVJbldlYkluc3BlY3RvcigiV2ViSW5z
cGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZSIsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICB0aW1lbGluZUFnZW50UmVjb3JkVHlwZSA9IHJlc3VsdDsKLSAgICB9KTsKKyAgICBmdW5j
dGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnN0b3BUaW1lbGlu
ZVByb2ZpbGVyKHN0ZXAzKTsKKyAgICB9CiAKLSAgICBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCJm
cm9udGVuZF9nZXRUaW1lbGluZVJlc3VsdHMiLCBmdW5jdGlvbih0aW1lbGluZVJlY29yZHMpIHsK
LSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIGlmICh0eXBlb2YodGltZWxpbmVSZWNvcmRzKSA9
PT0gInN0cmluZyIpCi0gICAgICAgICAgICAgICAgb3V0cHV0KCJFcnJvciBmZXRjaGluZyBUaW1l
bGluZSByZXN1bHRzOiAiICsgdGltZWxpbmVSZWNvcmRzKTsKLSAgICAgICAgICAgIGVsc2Ugewot
ICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGltZWxpbmVSZWNvcmRzLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciByZWNvcmQgPSB0aW1lbGluZVJlY29y
ZHNbaV07Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlTmFtZSAmJiByZWNvcmQudHlwZSA9
PT0gdGltZWxpbmVBZ2VudFJlY29yZFR5cGVbdHlwZU5hbWVdKQotICAgICAgICAgICAgICAgICAg
ICAgICAgcHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKGZvcm1hdHRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRl
cihyZWNvcmQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGZhbHNlKTsKLSAgICAg
ICAgICAgIG5vdGlmeURvbmUoKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAg
Y29uc29sZS5sb2coIkFuIGV4Y2VwdGlvbiB3YXMgY2F1Z2h0OiAiICsgZS50b1N0cmluZygpKTsK
LSAgICAgICAgICAgIG5vdGlmeURvbmUoZS50b1N0cmluZygpKTsKLSAgICAgICAgfQotICAgIH0p
OworICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QucHJp
bnRUaW1lbGluZVJlY29yZHModHlwZU5hbWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIH0KIH0KIAorSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jk
cyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0ZXIpCit7CisgICAgdmFyIHRpbWVsaW5lUmVj
b3JkcyA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVzdWx0cygpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgdGltZWxpbmVSZWNvcmRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciByZWNv
cmQgPSB0aW1lbGluZVJlY29yZHNbaV07CisgICAgICAgIGlmICh0eXBlTmFtZSAmJiByZWNvcmQu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZVt0eXBlTmFtZV0p
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVz
KHJlY29yZCk7CisgICAgICAgIGlmIChmb3JtYXR0ZXIpCisgICAgICAgICAgICBmb3JtYXR0ZXIo
cmVjb3JkKTsKKyAgICB9Cit9OworCitJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlc3VsdHMgPSBm
dW5jdGlvbigpIHsKKyAgICB2YXIgcmVzdWx0ID0gW107CisgICAgZnVuY3Rpb24gYWRkUmVjb3Jk
cyhyZWNvcmRzKQorICAgIHsKKyAgICAgICAgaWYgKCFyZWNvcmRzKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgICAgIHJlc3VsdC5wdXNoKHJlY29yZHNbaV0ub3JpZ2luYWxSZWNvcmRGb3JUZXN0
cyk7CisgICAgICAgICAgICBhZGRSZWNvcmRzKHJlY29yZHNbaV0uY2hpbGRyZW4pOworICAgICAg
ICB9CisgICAgfQorICAgIGFkZFJlY29yZHMoV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5f
cm9vdFJlY29yZC5jaGlsZHJlbik7CisgICAgcmV0dXJuIHJlc3VsdDsKK307CisKIC8vIER1bXAg
anVzdCB0aGUgcmVjb3JkIG5hbWUsIGluZGVudGluZyBvdXRwdXQgb24gc2VwYXJhdGUgbGluZXMg
Zm9yIHN1YnJlY29yZHMKLWZ1bmN0aW9uIGR1bXBUaW1lbGluZVJlY29yZChyZWNvcmQsIGxldmVs
KSAKK0luc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkID0gZnVuY3Rpb24ocmVjb3JkLCBs
ZXZlbCkgCiB7CiAgICAgaWYgKHR5cGVvZiBsZXZlbCAhPT0gIm51bWJlciIpCiAgICAgICAgIGxl
dmVsID0gMDsKQEAgLTYxLDQ5ICs3MywzNiBAQCBmdW5jdGlvbiBkdW1wVGltZWxpbmVSZWNvcmQo
cmVjb3JkLCBsZXZlbCkKICAgICAgICAgcHJlZml4ID0gIi0tLS0iICsgcHJlZml4OwogICAgIGlm
IChsZXZlbCA+IDApCiAgICAgICAgIHByZWZpeCA9IHByZWZpeCArICI+ICI7Ci0gICAgaWYgKHJl
Y29yZC50eXBlID09PSB0aW1lbGluZUFnZW50UmVjb3JkVHlwZS5NYXJrVGltZWxpbmUpIHsKKyAg
ICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5
cGUuTWFya1RpbWVsaW5lKSB7CiAgICAgICAgIHN1ZmZpeCA9ICIgOiAiICsgcmVjb3JkLmRhdGEu
bWVzc2FnZTsKICAgICB9Ci0gICAgb3V0cHV0KHByZWZpeCArIHRpbWVsaW5lQWdlbnRUeXBlVG9T
dHJpbmcocmVjb3JkLnR5cGUpICsgc3VmZml4KTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChwcmVmaXggKyBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZUFnZW50VHlwZVRvU3RyaW5nKHJlY29y
ZC50eXBlKSArIHN1ZmZpeCk7CiAKICAgICB2YXIgbnVtQ2hpbGRyZW4gPSByZWNvcmQuY2hpbGRy
ZW4gPyByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoIDogMDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IG51bUNoaWxkcmVuOyArK2kpCi0gICAgICAgIGR1bXBUaW1lbGluZVJlY29yZChyZWNvcmQuY2hp
bGRyZW5baV0sIGxldmVsICsgMSk7Ci19CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFRpbWVs
aW5lUmVjb3JkKHJlY29yZC5jaGlsZHJlbltpXSwgbGV2ZWwgKyAxKTsKK307CiAKLWZ1bmN0aW9u
IGR1bXBUaW1lbGluZVJlY29yZHModGltZWxpbmVSZWNvcmRzKSB7CitJbnNwZWN0b3JUZXN0LmR1
bXBUaW1lbGluZVJlY29yZHMgPSBmdW5jdGlvbih0aW1lbGluZVJlY29yZHMpCit7CiAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB0aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAgIGR1
bXBUaW1lbGluZVJlY29yZCh0aW1lbGluZVJlY29yZHNbaV0sIDApOwotfQorICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29yZCh0aW1lbGluZVJlY29yZHNbaV0sIDApOworfTsK
IAotZnVuY3Rpb24gcHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKQorSW5zcGVj
dG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkUHJvcGVydGllcyA9IGZ1bmN0aW9uKHJlY29yZCkK
IHsKLSAgICBvdXRwdXQodGltZWxpbmVBZ2VudFR5cGVUb1N0cmluZyhyZWNvcmQudHlwZSkgKyAi
IFByb3BlcnRpZXM6Iik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoSW5zcGVjdG9yVGVz
dC5fdGltZWxpbmVBZ2VudFR5cGVUb1N0cmluZyhyZWNvcmQudHlwZSkgKyAiIFByb3BlcnRpZXM6
Iik7CiAgICAgLy8gVXNlIHRoaXMgcmVjdXJzaXZlIHJvdXRpbmUgdG8gcHJpbnQgdGhlIHByb3Bl
cnRpZXMKLSAgICBkdW1wT2JqZWN0KHJlY29yZCwgdGltZWxpbmVOb25EZXRlcm1pbmlzdGljUHJv
cHMpOwotfQorICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KHJlY29yZCwgSW5zcGVjdG9yVGVz
dC50aW1lbGluZU5vbkRldGVybWluaXN0aWNQcm9wcyk7Cit9OwogCi1mdW5jdGlvbiB0aW1lbGlu
ZUFnZW50VHlwZVRvU3RyaW5nKG51bWVyaWNUeXBlKQorSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVB
Z2VudFR5cGVUb1N0cmluZyA9IGZ1bmN0aW9uKG51bWVyaWNUeXBlKQogewotICAgIGZvciAodmFy
IHByb3AgaW4gdGltZWxpbmVBZ2VudFJlY29yZFR5cGUpIHsKLSAgICAgICAgaWYgKHRpbWVsaW5l
QWdlbnRSZWNvcmRUeXBlW3Byb3BdID09PSBudW1lcmljVHlwZSkKKyAgICBmb3IgKHZhciBwcm9w
IGluIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUpIHsKKyAgICAgICAgaWYg
KFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGVbcHJvcF0gPT09IG51bWVyaWNU
eXBlKQogICAgICAgICAgICAgcmV0dXJuIHByb3A7CiAgICAgfQogICAgIHJldHVybiB1bmRlZmlu
ZWQ7Ci19Cit9OwogCi0vLyBJbmplY3RlZCBpbnRvIEluc3BlY3RvciB3aW5kb3cKLWZ1bmN0aW9u
IGZyb250ZW5kX2dldFRpbWVsaW5lUmVzdWx0cygpIHsKLSAgICB2YXIgcmVzdWx0ID0gW107Ci0g
ICAgZnVuY3Rpb24gYWRkUmVjb3JkcyhyZWNvcmRzKQotICAgIHsKLSAgICAgICAgaWYgKCFyZWNv
cmRzKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJl
Y29yZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHJlc3VsdC5wdXNoKHJlY29yZHNbaV0u
b3JpZ2luYWxSZWNvcmRGb3JUZXN0cyk7Ci0gICAgICAgICAgICBhZGRSZWNvcmRzKHJlY29yZHNb
aV0uY2hpbGRyZW4pOwotICAgICAgICB9Ci0gICAgfQotICAgIGFkZFJlY29yZHMoV2ViSW5zcGVj
dG9yLnBhbmVscy50aW1lbGluZS5fcm9vdFJlY29yZC5jaGlsZHJlbik7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUt
dHJpdmlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRyaXZpYWwuaHRt
bAppbmRleCA2ZmVlZDliZDkzZjkyY2VmMDc5NmM1NDc1ZWUwZjhiODRlMmRiNzVhLi5lZGRiMjI4
ZjZjZjgyNDdiOTMxMDJlZTQ2ZTMzMzUxNjZjNmQ4YTdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUtdHJpdmlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS10cml2aWFsLmh0bWwKQEAgLTEsMzMgKzEsMjUgQEAKIDxodG1sPgogPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1mdW5jdGlvbiBkb2l0KCkKLXsK
LSAgICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1bHQpIHsKLSAgICAgICAgb3V0cHV0KCJUaW1lbGlu
ZSBzdGFydGVkIik7Ci0gICAgICAgIG5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgZXZhbHVhdGVJ
bldlYkluc3BlY3Rvcigic3RhcnRUaW1lbGluZSgpIiwgY2FsbGJhY2spOwotfQotCi0KLS8vIEZy
b250ZW5kIGZ1bmN0aW9ucy4KLQotZnVuY3Rpb24gZnJvbnRlbmRfc3RhcnRUaW1lbGluZSgpIHsK
K2Z1bmN0aW9uIHRlc3QoKSB7CiAgICAgLyogVGhpcyB0ZXN0IHNlZW1zIHNpbGx5LCBidXQgb3Jp
Z2luYWxseSBpdCB0aWNrbGVkIGJ1ZyAzMTA4MCAqLwotICAgIEluc3BlY3RvckNvbnRyb2xsZXIu
c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgZnVuY3Rpb24g
Y2FsbGJhY2soKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVs
aW5lIHN0YXJ0ZWQiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICB9CisgICAgSW5zcGVjdG9yQmFja2VuZC5zdGFydFRpbWVsaW5lUHJvZmlsZXIoY2FsbGJhY2sp
OwogfQogCiAKIDwvc2NyaXB0PgogPC9oZWFkPgogCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4K
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPiAKLVRyaXZpYWwgdXNlIG9mIGluc3BlY3Rv
ciBmcm9udGVuZCB0ZXN0cyAKK1RyaXZpYWwgdXNlIG9mIGluc3BlY3RvciBmcm9udGVuZCB0ZXN0
cwogPC9wPgogCiA8L2JvZHk+Cg==
</data>
<flag name="review"
          id="73971"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>