<?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>55816</bug_id>
          
          <creation_ts>2011-03-04 23:23:31 -0800</creation_ts>
          <short_desc>Web Inspector: fix layout tests flakiness.</short_desc>
          <delta_ts>2011-03-05 02:09:58 -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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>362884</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-04 23:23:31 -0800</bug_when>
    <thetext>A number of fixes were applied, there were multiple sources of flakiness.
- Order of issuing of evaluateForTestInFrontend was not guaranteed on the backend side (InspectorAgent side)
- Order of dispatching using timeouts was guaranteed via queueing. Source of all kinds of pains on SnowLeopard Release (inspector.js)
- Timeline now uses instrumentation calls, not UI representation while collecting events for tests
- No reloads in debugger tests that don&apos;t need them
- Forcing layout in timeline via calculating offsetHeight</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362885</commentid>
    <comment_count>1</comment_count>
      <attachid>84846</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-04 23:28:19 -0800</bug_when>
    <thetext>Created attachment 84846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362894</commentid>
    <comment_count>2</comment_count>
      <attachid>84849</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-04 23:59:13 -0800</bug_when>
    <thetext>Created attachment 84849
[PATCH] Same with chromium baselines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362895</commentid>
    <comment_count>3</comment_count>
      <attachid>84846</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-05 00:01:05 -0800</bug_when>
    <thetext>Comment on attachment 84846
Patch

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

&gt; LayoutTests/http/tests/inspector/inspector-test.js:331
&gt; +        var intermediate = document.createElement(&quot;div&quot;);

Why do you need this?

&gt; LayoutTests/inspector/console/console-uncaught-exception-expected.txt:6
&gt; +console-uncaught-exception.html:40Error: Exception in inline script.

Chromium has stack traces for uncaught exceptions when front-end is open, this is why we need to reload inspected page. I don&apos;t see changes to the chromium-specific expectations in this patch. r- for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362899</commentid>
    <comment_count>4</comment_count>
      <attachid>84849</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-05 00:07:58 -0800</bug_when>
    <thetext>Comment on attachment 84849
[PATCH] Same with chromium baselines.

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

&gt; LayoutTests/platform/chromium/inspector/console/console-uncaught-exception-expected.txt:6
&gt; +console-uncaught-exception.html:40Uncaught Error: Exception in inline script.aconsole-uncaught-exception.html:40bconsole-uncaught-exception.html:45(anonymous function)console-uncaught-exception.html:48

How can you be sure that frontend is already loaded when the exceptions are thrown?

&gt; Source/WebCore/inspector/InspectorAgent.cpp:399
&gt; +    m_pendingEvaluateTestCommands.clear();

Why do we need this magic?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362903</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-05 00:33:23 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 84846 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84846&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/inspector/inspector-test.js:331
&gt; &gt; +        var intermediate = document.createElement(&quot;div&quot;);
&gt; 
&gt; Why do you need this?
&gt; 

So that output was not the top-level element and was not generating DOM events upon every addResult invocation.

&gt; &gt; LayoutTests/inspector/console/console-uncaught-exception-expected.txt:6
&gt; &gt; +console-uncaught-exception.html:40Error: Exception in inline script.
&gt; 
&gt; Chromium has stack traces for uncaught exceptions when front-end is open, this is why we need to reload inspected page. I don&apos;t see changes to the chromium-specific expectations in this patch. r- for this.

Uploading patch with proper expectations and flow.


&gt; How can you be sure that frontend is already loaded when the exceptions are thrown?
&gt; 

See above.

&gt; &gt; Source/WebCore/inspector/InspectorAgent.cpp:399
&gt; &gt; +    m_pendingEvaluateTestCommands.clear();
&gt; 
&gt; Why do we need this magic?

When single inspector agent is reused, we&apos;d like to clear potential pending messages so that they don&apos;t get fired with the next front-end. This is a paranoid check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362910</commentid>
    <comment_count>6</comment_count>
      <attachid>84852</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-05 01:48:32 -0800</bug_when>
    <thetext>Created attachment 84852
[PATCH] Same with everything passing in debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362913</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-05 01:55:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 84846 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84846&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/http/tests/inspector/inspector-test.js:331
&gt; &gt; &gt; +        var intermediate = document.createElement(&quot;div&quot;);
&gt; &gt; 
&gt; &gt; Why do you need this?
&gt; &gt; 
&gt; 
&gt; So that output was not the top-level element and was not generating DOM events upon every addResult invocation.

A comment in the code would be very helpful for people who will read this code later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362914</commentid>
    <comment_count>8</comment_count>
      <attachid>84853</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-05 01:57:27 -0800</bug_when>
    <thetext>Created attachment 84853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362917</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-05 02:09:58 -0800</bug_when>
    <thetext>Committed r80416: &lt;http://trac.webkit.org/changeset/80416&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84846</attachid>
            <date>2011-03-04 23:28:19 -0800</date>
            <delta_ts>2011-03-05 01:48:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55816-20110305102816.patch</filename>
            <type>text/plain</type>
            <size>34318</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZTg3MDc5ZjBjMTVmMWE4MzhiZTVl
Yjk0MGY4NGVmMGIzNjkxZTU3Li5mN2RkNWZjYTMzZDNkYjMxMTVjNzUxODAzYjk2OTRiZjljN2Zk
Y2YxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsNDIgQEAKIDIwMTEtMDMtMDQgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZml4IGxheW91dCB0ZXN0cyBmbGFraW5lc3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTgxNgor
CisgICAgICAgIC0gVGltZWxpbmUgbm93IHVzZXMgaW5zdHJ1bWVudGF0aW9uIGNhbGxzLCBub3Qg
VUkgcmVwcmVzZW50YXRpb24gd2hpbGUgY29sbGVjdGluZyBldmVudHMgZm9yIHRlc3RzCisgICAg
ICAgIC0gTm8gcmVsb2FkcyBpbiBkZWJ1Z2dlciB0ZXN0cyB0aGF0IGRvbid0IG5lZWQgdGhlbQor
ICAgICAgICAtIEZvcmNpbmcgbGF5b3V0IGluIHRpbWVsaW5lIHZpYSBjYWxjdWxhdGluZyBvZmZz
ZXRIZWlnaHQKKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJv
ci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMv
c3ludGF4LWVycm9yLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20tanMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRl
c3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3Quc3RhcnRU
aW1lbGluZS5hZGRSZWNvcmQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0
b3JUZXN0LnN0YXJ0VGltZWxpbmUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNw
ZWN0b3JUZXN0LnN0b3BUaW1lbGluZSk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLklu
c3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludC5zdGVwMik6CisgICAgICAgIChpbml0
aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCk6Cisg
ICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJl
Y29yZHMpOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0
bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0OgorCisyMDExLTAzLTA0ICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIE5vdCByZXZpZXdlZDog
Zm9sbG93IHVwIHRvIDgwMzU1LCBmaXhpbmcgUXQgdGVzdHMuCiAKICAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKaW5kZXggYTg5NzJkMDE5ODIzNmM5
ODkyYzE2OGE1NTlkNWU1MTEwODQ2ODAzOS4uNzE5MGQ4ZGYwNDAxMjQyMWYyNzcwYjljMTA4MWQ2
NTMwMmJhMjI0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKQEAgLTMyOCwxMCArMzI4LDE2IEBAIHZhciBvdXRwdXRFbGVtZW50
OwogZnVuY3Rpb24gb3V0cHV0KHRleHQpCiB7CiAgICAgaWYgKCFvdXRwdXRFbGVtZW50KSB7Cisg
ICAgICAgIHZhciBpbnRlcm1lZGlhdGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnRlcm1lZGlhdGUpOworCisgICAg
ICAgIHZhciBpbnRlcm1lZGlhdGUyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgICAgIGludGVybWVkaWF0ZS5hcHBlbmRDaGlsZChpbnRlcm1lZGlhdGUyKTsKKwogICAgICAg
ICBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAg
IG91dHB1dEVsZW1lbnQuY2xhc3NOYW1lID0gIm91dHB1dCI7CiAgICAgICAgIG91dHB1dEVsZW1l
bnQuc3R5bGUud2hpdGVTcGFjZSA9ICJwcmUiOwotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKG91dHB1dEVsZW1lbnQpOworICAgICAgICBpbnRlcm1lZGlhdGUyLmFwcGVuZENoaWxk
KG91dHB1dEVsZW1lbnQpOwogICAgIH0KICAgICBvdXRwdXRFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpKTsKICAgICBvdXRwdXRFbGVtZW50LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIikpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNl
cHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGU1MDhkM2I3YzEyYzhiOWQyNTRmZTUzYTg2MWVlNTlk
ZDM2YTQ3MGMuLjIyNTE4YjZjNjIxOTRkNzQ3ZGRjNTgxMTNjNDBiNzBiMzJkY2I3MDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhj
ZXB0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsOSBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogRXhjZXB0aW9uIGluIGlubGluZSBzY3Jp
cHQuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IEVycm9yOiBFeGNlcHRpb24gaW4gJ2xvYWQn
IGV2ZW50IGxpc3RlbmVyLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBFcnJvcjogRXhjZXB0
aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVy
cm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
OTogRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjc6IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MDogRXJyb3I6IEV4Y2VwdGlvbiBpbiBpbmxpbmUgc2Ny
aXB0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMzOiBFcnJvcjogRXhjZXB0aW9uIGluICdsb2Fk
JyBldmVudCBsaXN0ZW5lci4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNTogRXJyb3I6IEV4Y2Vw
dGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLgogVGVzdHMgdGhhdCB1bmNhdWdodCBleGNlcHRp
b25zIGFyZSBsb2dnZWQgaW50byBjb25zb2xlLkJ1ZyA0NzI1MC4KIAotUGFnZSByZWxvYWRlZC4K
LWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MzVFcnJvcjogRXhjZXB0aW9uIGluIGlu
bGluZSBzY3JpcHQuCi1jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjE5RXJyb3I6IEV4
Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1jb25zb2xlLXVuY2F1Z2h0LWV4Y2Vw
dGlvbi5odG1sOjI3RXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLgorY29u
c29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDo0MEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5l
IHNjcmlwdC4KK2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MzNFcnJvcjogRXhjZXB0
aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KK2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9u
Lmh0bWw6MjVFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhj
ZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1
Z2h0LWV4Y2VwdGlvbi5odG1sCmluZGV4IDQ2MTcxOGNjNThhY2M5MmY5ODk3YWU0MTNhNjg3OGY2
NTg4Y2RhZTEuLjIxZGJmNjAzMWQ3NmIyM2Y3ZjIzZWY5MWVmZTJmNDY1NDJhMWUyYWEgMTAwNzU1
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhj
ZXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11
bmNhdWdodC1leGNlcHRpb24uaHRtbApAQCAtNCwxNCArNCwyOCBAQAogPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0PgogCi0KIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFn
ZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2Fn
ZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfSk7CisgICAgSW5zcGVjdG9y
VGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRN
ZXNzYWdlIiwgYWRkTWVzc2FnZSwgdHJ1ZSk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgiZmlyZVRpbWVyRXhjZXB0aW9uKCkiKTsKKyAgICBmdW5jdGlvbiBhZGRNZXNzYWdlKG1l
c3NhZ2UpCisgICAgeworICAgICAgICBpZiAobWVzc2FnZS50b1N0cmluZygpLmluZGV4T2YoInNl
dFRpbWVvdXQiKSAhPT0gLTEpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29u
c29sZU1lc3NhZ2VzKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVz
c2FnZXMoKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAg
ICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIGZpcmVUaW1lckV4Y2VwdGlvbigpCit7CisgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgZnVuY3Rpb24gYmFyKCkgeworICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4i
KTsKKyAgICAgICAgfQorICAgICAgICBiYXIoKTsKKyAgICB9LCAwKTsKIH0KIAogd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbihlKSB7CkBAIC0yMSwxNSArMzUsNiBAQCB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKGUpIHsKICAgICBmKCk7CiB9
LCBmYWxzZSk7CiAKLQotc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBiYXIo
KSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2Fs
bGJhY2suIik7Ci0gICAgfQotICAgIGJhcigpOwotfSwgMCk7Ci0KLQogZnVuY3Rpb24gYSgpCiB7
CiAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4iKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250
aW51ZS1vbi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQu
dHh0CmluZGV4IDUyZjZkM2E0MGU3MjBjNGRhYTgxYTA2OWQxMGE4ZmZlY2ZiMjNjMjIuLmI4NDhj
OWM2MjE3YjJjOTA2YjIzNjQ4MDVjYzhkNWJiOThkYjYwZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVy
cm9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKQEAgLTEsOCAr
MSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3ludGF4RXJyb3I6IFBhcnNlIGVycm9y
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNDogU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgODogSWZyYW1lIGxvYWRlZAogVGVzdHMgdGhhdCBkZWJ1Z2dlciB3b24ndCBz
dG9wIG9uIHN5bnRheCBlcnJvcnMgZXZlbiBpZiAicGF1c2Ugb24gdW5jYXVnaHQgZXhjZXB0aW9u
cyIgaXMgb24uCiAKIERlYnVnZ2VyIHdhcyBlbmFibGVkLgotUGFnZSByZWxvYWRlZC4KIERlYnVn
Z2VyIHdhcyBkaXNhYmxlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4
LWVycm9yLmh0bWwKaW5kZXggZDZhNmM0NWY4MGY3ODdlYWRmOWI3ZmI3MTdhZGRkNTNjNWM3NTdj
ZC4uYmJjYjg5NjA1NWQ3YTA5ZWQxNDcxZWUwMDliYWNiNTQ5ZjhhMDdkOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1z
eW50YXgtZXJyb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sCkBAIC0yLDI3ICsyLDMxIEBA
CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3N5bnRheC1lcnJvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCitmdW5jdGlvbiBsb2FkSWZy
YW1lKCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0bWwiOworICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30KKwogZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOwotICAgIEluc3BlY3Rv
clRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RhcnREZWJ1Z2dlclRlc3RDYWxsYmFjayk7CisgICAg
SW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7CiAKLSAgICBmdW5jdGlvbiBz
dGFydERlYnVnZ2VyVGVzdENhbGxiYWNrKCkKKyAgICBmdW5jdGlvbiBzdGVwMSgpCiAgICAgewog
ICAgICAgICBEZWJ1Z2dlckFnZW50LnNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUoV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5QYXVzZU9uRXhjZXB0aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4
Y2VwdGlvbnMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoImRlYnVn
Z2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRtbCIsIHJlbG9hZEluc3BlY3RlZFBh
Z2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNv
bGVWaWV3LnByb3RvdHlwZSwgImFkZE1lc3NhZ2UiLCBzdGVwMik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUoKSIpOwogICAgIH0KIAotICAgIGZ1bmN0
aW9uIHJlbG9hZEluc3BlY3RlZFBhZ2UoKQorICAgIGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAgICAgICAgfSk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKICAgICB9Ci0KIH0KIAog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVz
b3VyY2VzL3N5bnRheC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3Jlc291cmNlcy9zeW50YXgtZXJyb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWVlMjE0NTRmM2ExMTNl
NjM5YTA4MTI5OGMwMzVjMDU4NjI2ODJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuaHRtbApAQCAtMCwwICsx
LDEwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKykKKzwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9ImNvbnNvbGUubG9nKCdJZnJhbWUgbG9hZGVkJyk7Ij4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5qcyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWE4Y2QxNzdhZmY5ZDFlYzJiOWQxYjIxYWNlOWM0
NWUyM2FlN2RmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmpz
CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLWxpbWl0ZWQtY2hpbGRyZW4tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLWxp
bWl0ZWQtY2hpbGRyZW4tZXhwZWN0ZWQudHh0CmluZGV4IDBhYjgxMmNmNTcxNjY2ZWYzZTgyOTEz
NzVkNDM4N2UzYjFkMTY2ZGEuLjJiYTZkMTlmMjVhYTZhOTIyZDNjMmVhNTI4ZDdhMmU1NmFlYjE4
MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1w
YW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtbGltaXRlZC1jaGlsZHJlbi1leHBlY3RlZC50
eHQKQEAgLTM3LDcgKzM3LDcgQEAgVGVzdHMgdGhhdCBzcmMgYW5kIGhyZWYgZWxlbWVudCB0YXJn
ZXRzIGFyZSByZXdyaXR0ZW4gcHJvcGVybHkuCiAgICAgICAgICAgICAgIFNob3cgQWxsIE5vZGVz
ICg2IE1vcmUpCiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPHA+VGVzdHMgdGhhdCBzcmMg
YW5kIGhyZWYgZWxlbWVudCB0YXJnZXRzIGFyZSByZXdyaXR0ZW4gcHJvcGVybHkuPC9wPgotICAg
ICAgICArIDxkaXYgY2xhc3M9Im91dHB1dCIgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7ICI+4oCm
PC9kaXY+CisgICAgICAgICsgPGRpdj7igKY8L2Rpdj4KICAgICAgIDwvYm9keT4KICAgPC9odG1s
PgogPT09PT09PT09PT0gTG9hZGVkIGFsbCBjaGlsZHJlbiA9PT09PT09PT09PQpAQCAtNTgsNyAr
NTgsNyBAQCBUZXN0cyB0aGF0IHNyYyBhbmQgaHJlZiBlbGVtZW50IHRhcmdldHMgYXJlIHJld3Jp
dHRlbiBwcm9wZXJseS4KICAgICAgICAgICAgICAgPGE+PC9hPgogICAgICAgICAgIDwvZGl2Pgog
ICAgICAgICAgIDxwPlRlc3RzIHRoYXQgc3JjIGFuZCBocmVmIGVsZW1lbnQgdGFyZ2V0cyBhcmUg
cmV3cml0dGVuIHByb3Blcmx5LjwvcD4KLSAgICAgICAgKyA8ZGl2IGNsYXNzPSJvdXRwdXQiIHN0
eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyAiPuKApjwvZGl2PgorICAgICAgICArIDxkaXY+4oCmPC9k
aXY+CiAgICAgICA8L2JvZHk+CiAgIDwvaHRtbD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGFiYzY4YjM4OWVmNDAzYTEyNzMwYWVhNzhkOWFiNjkzOTNjYzliZDguLjVmMGZj
OTQ2ZDViYjdkNTRhNjI4ODJlNTYzNTYzZDY3ZGY0ZWYyMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1l
eHBlY3RlZC50eHQKQEAgLTUsOCArNSw4IEBAIFJ1bm5pbmcgdGVzdHMuLi4KIFJVTk5JTkcgVEVT
VDogZXh0ZW5zaW9uX3Rlc3RPblJlc291cmNlRmluaXNoZWQKIG9uRmluaXNoZWQgZmlyZWQKIFJV
Tk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RQYWdlTG9hZEV2ZW50cworUGFnZSByZWxvYWRlZC4K
IG9uRE9NQ29udGVudExvYWRlZCBmaXJlZDogbnVtYmVyCiBvbkxvYWRlZCBmaXJlZDogbnVtYmVy
Ci1QYWdlIHJlbG9hZGVkLgogQWxsIHRlc3RzIGRvbmUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLWV4cGVj
dGVkLnR4dAppbmRleCAzMzVmZjU1YmJiNmJjMTljZjU2MGU5YmViNWIzYzFjOWUyNDZlYTBlLi4x
MGYxODIzMjIzNzU2NjY1ZGQ1ZjEwZDZlNTY5YThiOTkzNjQ3MmExIDEwMDc1NQotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUtZnJvbS1qcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20t
anMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsOSBAQAogVGVzdHMgdGhhdCBjaGFuZ2VzIHRvIGFu
IGlubGluZSBzdHlsZSBmcm9tIEphdmFTY3JpcHQgYXJlIHJlZmxlY3RlZCBpbiB0aGUgU3R5bGVz
IHBhbmUgYW5kIEVsZW1lbnRzIHRyZWUuCiAKLSdzdHlsZScgYXR0cmlidXRlIG1vZGlmaWVkOgor
CitSdW5uaW5nOiB0ZXN0SW5pdAorCitSdW5uaW5nOiB0ZXN0U2V0U3R5bGVBdHRyaWJ1dGUKIDxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImNvbG9yOiAjZGFDMERFOyBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxlIHsgKCkKIGNvbG9yOiAj
REFDMERFOwpAQCAtMTksMTMgKzIyLDE1IEBAIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwogICAg
IGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsKIAogCi1jc3NUZXh0IG1vZGlmaWVkOgorCitSdW5u
aW5nOiB0ZXN0U2V0U3R5bGVDU1NUZXh0CiA8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJjb2xv
cjogcmdiKDE5MiwgMjU1LCAyMzgpOyAiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxl
IHsgKCkKIGNvbG9yOiAjQzBGRkVFOwogCiAKLXBhcnNlZCBhdHRyaWJ1dGVzIG1vZGlmaWVkOgor
CitSdW5uaW5nOiB0ZXN0U2V0VmlhUGFyc2VkQXR0cmlidXRlcwogPGRpdiBpZD0iY29udGFpbmVy
IiBzdHlsZT0iY29sb3I6IHJnYigxOTIsIDI1NSwgMjM4KTsgYm9yZGVyLXRvcC1zdHlsZTogZGFz
aGVkOyBib3JkZXItcmlnaHQtc3R5bGU6IGRhc2hlZDsgYm9yZGVyLWJvdHRvbS1zdHlsZTogZGFz
aGVkOyBib3JkZXItbGVmdC1zdHlsZTogZGFzaGVkOyBib3JkZXItdG9wLWNvbG9yOiBncmVlbjsg
Ym9yZGVyLXJpZ2h0LWNvbG9yOiBncmVlbjsgYm9yZGVyLWJvdHRvbS1jb2xvcjogZ3JlZW47IGJv
cmRlci1sZWZ0LWNvbG9yOiBncmVlbjsgYm9yZGVyLXRvcC13aWR0aDogM3B4OyBib3JkZXItcmln
aHQtd2lkdGg6IDNweDsgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4OyBib3JkZXItbGVmdC13aWR0
aDogM3B4OyAiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxlIHsgKCkKIGNvbG9yOiAj
QzBGRkVFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
dXBkYXRlLWZyb20tanMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVz
LXVwZGF0ZS1mcm9tLWpzLmh0bWwKaW5kZXggZjg4NWFiOWU3YTNlN2Q1MjZmMWY0NzA3NzdlYWI3
ZTMzYjY0MWZjMC4uZTQ2NjFmZjEyNjQyZDhmYzY3NTY5MTViMzUyZmQ2NDZlNzAwMTU3NyAxMDA3
NTUKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20t
anMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUt
ZnJvbS1qcy5odG1sCkBAIC04LDcgKzgsNyBAQCBmdW5jdGlvbiBtb2RpZnlTdHlsZUF0dHJpYnV0
ZSgpCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLnNldEF0dHJpYnV0
ZSgic3R5bGUiLCAiY29sb3I6ICNkYUMwREU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyIpOwog
fQogCi1mdW5jdGlvbiBtb2RpZnlDc3NUZXh0KCkKK2Z1bmN0aW9uIG1vZGlmeUNTU1RleHQoKQog
ewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5zdHlsZS5jc3NUZXh0
ID0gImNvbG9yOiAjQzBGRkVFIjsKIH0KQEAgLTIyLDQ3ICsyMiw1NCBAQCBmdW5jdGlvbiBtb2Rp
ZnlQYXJzZWRBdHRyaWJ1dGVzKCkKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgSW5zcGVjdG9y
VGVzdC5zZWxlY3ROb2RlV2l0aElkKCJjb250YWluZXIiLCBzdGVwMCk7CisgICAgSW5zcGVjdG9y
VGVzdC5ydW5UZXN0U3VpdGUoWwogCi0gICAgLy8gU2V0IHN0eWxlIHZpYSAic3R5bGUiIGF0dHJp
YnV0ZS4KLSAgICBmdW5jdGlvbiBzdGVwMCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlTdHlsZUF0dHJpYnV0ZSgpIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90
eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBzdGVwMSk7Ci0gICAgfQotCi0gICAgLy8gU2V0IHN0eWxl
IHZpYSBjc3NUZXh0LgotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCInc3R5bGUnIGF0dHJpYnV0ZSBtb2RpZmllZDoiKTsKLSAgICAg
ICAgZHVtcEF0dHJpYnV0ZUFuZFN0eWxlcygpOwotCi0gICAgICAgIC8vIEluaGliaXQgdGhlIHNl
Y29uZCBTdHlsZXMgcGFuZSB1cGRhdGUgZnJvbSBzdGVwMCgpLgotICAgICAgICBmdW5jdGlvbiBj
YWxsYmFjaygpCisgICAgICAgIGZ1bmN0aW9uIHRlc3RJbml0KG5leHQpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lk
ZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBzdGVwMik7Ci0gICAgICAgIH0K
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlDc3NUZXh0KCki
LCBjYWxsYmFjayk7Ci0gICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkKCJjb250YWluZXIiLCBuZXh0KTsKKyAgICAgICAgfSwKIAotICAgIC8vIFNldCBzdHls
ZSB2aWEgcGFyc2VkIGF0dHJpYnV0ZXMuCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImNzc1RleHQgbW9kaWZpZWQ6Iik7Ci0gICAg
ICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldFN0
eWxlQXR0cmlidXRlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1cGRhdGVDb3Vu
dCA9IDA7CisgICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgLy8gRXhwZWN0IHR3byB1cGRhdGVzIHdoaWxlIHNldHRpbmcgYXR0cmli
dXRlLgorICAgICAgICAgICAgICAgIGlmICgrK3VwZGF0ZUNvdW50ID09PSAyKSB7CisgICAgICAg
ICAgICAgICAgICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUu
cHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBjYWxsYmFjaywgdHJ1ZSk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlTdHlsZUF0dHJpYnV0ZSgpIik7
CisgICAgICAgIH0sCiAKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibW9k
aWZ5UGFyc2VkQXR0cmlidXRlcygpIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZl
cihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRh
dGUiLCBzdGVwMyk7Ci0gICAgfQorICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0U3R5bGVDU1NUZXh0
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1cGRhdGVDb3VudCA9IDA7CisgICAg
ICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgLy8gRXhwZWN0IHR3byB1cGRhdGVzIHdoaWxlIHNldHRpbmcgY3NzIHRleHQuCisgICAgICAg
ICAgICAgICAgaWYgKCsrdXBkYXRlQ291bnQgPT09IDIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVtcEF0dHJpYnV0ZUFuZFN0eWxlcygpOworICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUsICJf
cmVidWlsZFVwZGF0ZSIsIGNhbGxiYWNrLCB0cnVlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlmeUNTU1RleHQoKSIsIGNhbGxiYWNrKTsKKyAgICAgICAg
fSwKIAotICAgIC8vIEZpbmlzaCB0aGUgdGVzdC4KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicGFyc2VkIGF0dHJpYnV0ZXMgbW9k
aWZpZWQ6Iik7Ci0gICAgICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9CisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRWaWFQYXJzZWRBdHRyaWJ1dGVzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkdW1wQXR0cmli
dXRlQW5kU3R5bGVzKCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNT
aWRlYmFyUGFuZS5wcm90b3R5cGUsICJfcmVidWlsZFVwZGF0ZSIsIGNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlmeVBhcnNlZEF0dHJpYnV0
ZXMoKSIpOworICAgICAgICB9CisgICAgXSk7CiAKICAgICBmdW5jdGlvbiBkdW1wQXR0cmlidXRl
QW5kU3R5bGVzKCkKICAgICB7CkBAIC03Nyw2ICs4NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAg
ICAgZnVuY3Rpb24gZmluZE5vZGVUcmVlRWxlbWVudCgpCiAgICAgeworICAgICAgICBXZWJJbnNw
ZWN0b3IucGFuZWxzLmVsZW1lbnRzLnVwZGF0ZU1vZGlmaWVkTm9kZXMoKTsKICAgICAgICAgdmFy
IGV4cGFuZGVkTm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJjb250YWlu
ZXIiKTsKICAgICAgICAgaWYgKCFleHBhbmRlZE5vZGUpIHsKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCInY29udGFpbmVyJyBub2RlIG5vdCBmb3VuZCIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sCmluZGV4
IDI2YWViMjM3MGJiMjQwNTRjN2UyMzlmN2VmMjYwNWM4OWE1OTc0NjAuLmI1OTBiMzFkNjE0YTNk
MTg4YTFlNzZjNTQ1MWIxNDRjOTUzMDdlNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0Lmh0bWwKQEAgLTksNiArOSw4IEBAIGZ1bmN0
aW9uIHBlcmZvcm1BY3Rpb25zKCkKICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gIlRlc3QgZGF0YSI7CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICAvLyBGb3JjZSBsYXlvdXQu
CisgICAgdmFyIGZvbyA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0OwogfQogCiBmdW5jdGlvbiB0ZXN0
KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1u
ZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dAppbmRleCA2MzE5MDk0
YTY2M2ViNGEwYzljYmNkZGQ1NDU1YmQ0ZGI0YTU5N2Q4Li5jNDcwYWNmNDBhYWIxYzkzOTllY2Q0
NTZlNzFiNjI5ZTUyZmIwYThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0
ZWQudHh0CkBAIC0xLDExICsxLDcgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBTY3JpcHQg
ZXZhbHVhdGVkCiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIG5l
dHdvcmsgcmVzb3VyY2UgbG9hZAogCi1TdGFydAotc3RlcDAKLXN0ZXAxCi1zdGVwMgotc3RlcDMK
K1NjcmlwdCByZXNvdXJjZSBsb2FkZWQKIAogUmVzb3VyY2VTZW5kUmVxdWVzdCBQcm9wZXJ0aWVz
OgogewpAQCAtNDksNCArNDUsNCBAQCBSZXNvdXJjZUZpbmlzaCBQcm9wZXJ0aWVzOgogICAgIHVz
ZWRIZWFwU2l6ZSA6IDxudW1iZXI+CiAgICAgdG90YWxIZWFwU2l6ZSA6IDxudW1iZXI+CiB9Ci1T
Y3JpcHQgcmVzb3VyY2UgbG9hZGVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCmluZGV4IDgz
NWE2NzlhNDJmY2FkODczOGQxOWMyN2FkMDIxNjhmNWUxYTgxMDguLjNjMTgyMzMzOWMwYzU0NmRm
N2QxZGM3OGIwZDI5OGYwZDE2N2U2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbApAQCAt
MTgsMzEgKzE4LDIxIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHZhciByZXNvdXJjZUlkOwogICAg
IHZhciBzY3JpcHRVcmwgPSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7CiAKLSAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0cnVlIiwgc3RlcDApOwotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJTdGFydCIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDAoKQotCXsKLQkg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInN0ZXAwIik7Ci0JICAgIFRpbWVsaW5lQWdlbnQu
c3RhcnQoc3RlcDEpOwotCX0KKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEp
OwogCiAgICAgZnVuY3Rpb24gc3RlcDEoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInN0ZXAxIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
InBlcmZvcm1BY3Rpb25zKCkiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOwog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJzdGVwMiIpOwotICAgICAgICBUaW1lbGluZUFnZW50LnN0b3Aoc3RlcDMp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZShzdGVwMyk7CiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gc3RlcDMoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoInN0ZXAzIik7CiAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChyZWNvcmQpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdl
bnQuUmVjb3JkVHlwZS5SZXNvdXJjZVNlbmRSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluZGV4
IGNiYmYzOTRiYWJkZTU4MmE1NThjNjk2MzViZWU4NWI4MWRmYTY5M2YuLjIyNzI3OTEzMGQzY2Vk
YjcwYzU3MjAzYzA1YzZhMTgyZDM1NzFkNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKQEAgLTEzLDE2
ICsxMywxNiBAQCBmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCiAKIGZ1bmN0aW9uIHRlc3QoKSAK
IHsKLSAgICBUaW1lbGluZUFnZW50LnN0YXJ0KHN0ZXAxKTsKKyAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0VGltZWxpbmUoc3RlcDEpOwogICAgIGZ1bmN0aW9uIHN0ZXAxKCkKICAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90
b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3Rl
cDIoKQogICAgIHsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHN0ZXAzKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1zY3JpcHQtdGFnLTIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbmRleCBmZjczNzVhZmEyOWQ5NDNkYmQ5OWE1YmU0
YWYyNmI1ZGYwMzJiMmExLi4xZTBjZWI5MzAwZmUxNGYyMzQxODFmOThjOWU0M2IzOTE3OWM2ZWRm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXNjcmlwdC10YWctMi5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGZ1bmN0aW9uIHBlcmZvcm1B
Y3Rpb25zKCkKIAogZnVuY3Rpb24gdGVzdCgpIAogewotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQo
c3RlcDEpOworICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVu
Y3Rpb24gc3RlcDEoKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOwpA
QCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
ICAgICB7Ci0gICAgICAgIFRpbWVsaW5lQWdlbnQuc3RvcChzdGVwMyk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Quc3RvcFRpbWVsaW5lKHN0ZXAzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVw
MygpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
dGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0Lmpz
CmluZGV4IDkxNTM2ODE4NzhiZDI1OWRiMmI0YmU5MDQwNDUwYzQxMTllNWMxNTYuLjAyNDlkODNi
NTIzNjdkY2RkODliYjYwM2U3MGE0N2RmOTZjM2FhNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzCkBAIC0xNSw5ICsxNSwyNyBAQCBJbnNw
ZWN0b3JUZXN0LnRpbWVsaW5lTm9uRGV0ZXJtaW5pc3RpY1Byb3BzID0gewogICAgIG1pbWVUeXBl
IDogMQogfTsKIAorSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lID0gZnVuY3Rpb24oY2FsbGJh
Y2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzID0gW107CisgICAgVGlt
ZWxpbmVBZ2VudC5zdGFydChjYWxsYmFjayk7CisgICAgZnVuY3Rpb24gYWRkUmVjb3JkKHJlY29y
ZCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkcy5wdXNoKHJl
Y29yZCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQuY2hpbGRyZW4gJiYgaSA8IHJl
Y29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGFkZFJlY29yZChyZWNvcmQu
Y2hpbGRyZW5baV0pOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lRGlzcGF0Y2hlci5wcm90b3R5cGUsICJhZGRSZWNvcmRUb1RpbWVsaW5l
IiwgYWRkUmVjb3JkLCB0cnVlKTsKK307CisKK0luc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lID0g
ZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgVGltZWxpbmVBZ2VudC5zdG9wKGNhbGxiYWNrKTsK
K307CisKIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCA9IGZ1bmN0aW9uKGFj
dGlvbnMsIHR5cGVOYW1lKQogewotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQoc3RlcDEpOworICAg
IEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVuY3Rpb24gc3RlcDEo
KQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShhY3Rpb25zLCBz
dGVwMik7CkBAIC0yNSw3ICs0Myw3IEBAIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQ
cmludCA9IGZ1bmN0aW9uKGFjdGlvbnMsIHR5cGVOYW1lKQogCiAgICAgZnVuY3Rpb24gc3RlcDIo
KQogICAgIHsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKQEAgLTMzLDEzICs1MSwxMiBAQCBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5k
UHJpbnQgPSBmdW5jdGlvbihhY3Rpb25zLCB0eXBlTmFtZSkKICAgICAgICAgSW5zcGVjdG9yVGVz
dC5wcmludFRpbWVsaW5lUmVjb3Jkcyh0eXBlTmFtZSk7CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CiAgICAgfQotfQorfTsKIAogSW5zcGVjdG9yVGVzdC5wcmludFRpbWVs
aW5lUmVjb3JkcyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0ZXIpCiB7Ci0gICAgdmFyIHRp
bWVsaW5lUmVjb3JkcyA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVzdWx0cygpOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgdGltZWxpbmVSZWNvcmRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
IHZhciByZWNvcmQgPSB0aW1lbGluZVJlY29yZHNbaV07CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
dmFyIHJlY29yZCA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkc1tpXTsKICAgICAgICAg
aWYgKHR5cGVOYW1lICYmIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2Vu
dC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRU
aW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKICAgICAgICAgaWYgKGZvcm1hdHRlcikK
QEAgLTQ3LDIxICs2NCw2IEBAIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMgPSBm
dW5jdGlvbih0eXBlTmFtZSwgZm9ybWF0dGVyKQogICAgIH0KIH07CiAKLUluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lUmVzdWx0cyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSBbXTsKLSAg
ICBmdW5jdGlvbiBhZGRSZWNvcmRzKHJlY29yZHMpCi0gICAgewotICAgICAgICBpZiAoIXJlY29y
ZHMpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVj
b3Jkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgcmVzdWx0LnB1c2gocmVjb3Jkc1tpXS5v
cmlnaW5hbFJlY29yZEZvclRlc3RzKTsKLSAgICAgICAgICAgIGFkZFJlY29yZHMocmVjb3Jkc1tp
XS5jaGlsZHJlbik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgYWRkUmVjb3JkcyhXZWJJbnNwZWN0
b3IucGFuZWxzLnRpbWVsaW5lLl9yb290UmVjb3JkLmNoaWxkcmVuKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfTsKLQogLy8gRHVtcCBqdXN0IHRoZSByZWNvcmQgbmFtZSwgaW5kZW50aW5nIG91dHB1
dCBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc3VicmVjb3JkcwogSW5zcGVjdG9yVGVzdC5kdW1wVGlt
ZWxpbmVSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIGxldmVsKSAKIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sCmluZGV4IDNh
NGY3NzU5Y2Q1OTA4ZGE4ODQwNTkzOTNjYTcxMzA1NzQ0MmUwMzQuLmU3ZGY4OTg0YmIxYzEzMDdh
ZTRjNTQzOTEzYzUyMTdhMzFlMDA2MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbApAQCAtMSw2ICsxLDcgQEAKIDxodG1s
PgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3QuanMiPjwv
c2NyaXB0PgogPHNjcmlwdD4KIAogZnVuY3Rpb24gdGVzdCgpIHsKQEAgLTEwLDcgKzExLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVs
aW5lIHN0YXJ0ZWQiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAg
ICB9Ci0gICAgVGltZWxpbmVBZ2VudC5zdGFydChjYWxsYmFjayk7CisgICAgSW5zcGVjdG9yVGVz
dC5zdGFydFRpbWVsaW5lKGNhbGxiYWNrKTsKIH0KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKaW5k
ZXggNzk1Yjk5OTg1MmZjZDUzNmVkNWQyYzk5MTUxYzc0ZjBhZjE2N2I2Yi4uMTQ4NWExMzZjMmU2
OWY1NDRhZjg5YTg3NjUzNTQyYmQ4MzNmYzRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3Vy
Y2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dApAQCAt
MSwxMSArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogU2NyaXB0IGV2YWx1YXRlZAog
VGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3JrIHJlc291
cmNlIGxvYWQKIAotU3RhcnQKLXN0ZXAwCi1zdGVwMQotc3RlcDIKLXN0ZXAzCitTY3JpcHQgcmVz
b3VyY2UgbG9hZGVkCiAKIFJlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoKIHsKQEAgLTUw
LDQgKzQ2LDQgQEAgUmVzb3VyY2VGaW5pc2ggUHJvcGVydGllczoKICAgICB1c2VkSGVhcFNpemUg
OiA8bnVtYmVyPgogICAgIHRvdGFsSGVhcFNpemUgOiA8bnVtYmVyPgogfQotU2NyaXB0IHJlc291
cmNlIGxvYWRlZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYwNTEwMTQ0ZWYzMWQ4ODkxZTU2MjQzMzgxNDg4
MjcxOWZlMWRkMi4uNjA4OGY1ZThlNDIyZGE1ZjNmNGFhMjVlODk4OWE3NWQ1NjJmYjQ5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTAzLTA0ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGZpeCBsYXlvdXQgdGVzdHMgZmxha2luZXNzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4MTYKKwor
ICAgICAgICAtIE9yZGVyIG9mIGlzc3Vpbmcgb2YgZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCB3
YXMgbm90IGd1YXJhbnRlZWQgb24gdGhlIGJhY2tlbmQgc2lkZSAoSW5zcGVjdG9yQWdlbnQgc2lk
ZSkKKyAgICAgICAgLSBPcmRlciBvZiBkaXNwYXRjaGluZyB1c2luZyB0aW1lb3V0cyB3YXMgZ3Vh
cmFudGVlZCB2aWEgcXVldWVpbmcuIFNvdXJjZSBvZiBhbGwga2luZHMgb2YgcGFpbnMgb24gU25v
d0xlb3BhcmQgUmVsZWFzZSAoaW5zcGVjdG9yLmpzKQorCisgICAgICAgICogaW5zcGVjdG9yL0Nv
ZGVHZW5lcmF0b3JJbnNwZWN0b3IucG06CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2Vu
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250ZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50Ojpwb3B1bGF0ZVNjcmlwdE9iamVj
dHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRlRm9yVGVzdElu
RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omlzc3VlRXZhbHVh
dGVGb3JUZXN0Q29tbWFuZHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuZGlzcGF0Y2gpOgorCiAyMDExLTAzLTA0ICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KaW5kZXgg
OTYzZWI2YzVlNDc2M2E2YWVlNjk2ODkxZGNkMGUyNTFkZjJmYzNhNi4uMjMyYWM0MTk4ZmJhNzM1
MzE1M2NmY2I0N2ZiYWNjOTA5NDdkYzVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KQEAgLTc3OCw3ICs3NzgsNiBAQCBJbnNw
ZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUgPSB7CiAgICAgX3dyYXA6IGZ1bmN0aW9uKGNhbGxi
YWNrKQogICAgIHsKICAgICAgICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLl9sYXN0Q2FsbGJhY2tJ
ZCsrOwotICAgICAgICArK3RoaXMuX3BlbmRpbmdSZXNwb25zZXNDb3VudDsKICAgICAgICAgdGhp
cy5fY2FsbGJhY2tzW2NhbGxiYWNrSWRdID0gY2FsbGJhY2sgfHwgZnVuY3Rpb24oKSB7fTsKICAg
ICAgICAgcmV0dXJuIGNhbGxiYWNrSWQ7CiAgICAgfSwKQEAgLTgyNCw2ICs4MjMsOCBAQCBJbnNw
ZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjb25zb2xlLmxvZygi
ZnJvbnRlbmQ6ICIgKyBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KSk7CiAKICAgICAgICAgdmFyIG1l
c3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KTsKKworICAgICAgICArK3RoaXMuX3BlbmRp
bmdSZXNwb25zZXNDb3VudDsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNlbmRNZXNz
YWdlVG9CYWNrZW5kKG1lc3NhZ2UpOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IDIyNmQxOTdjNDIwZTEzMTk4YTYzYjdlMDk2NTU2
NmQyN2I3YjE0ZjQuLjE1Y2ViYTA4Mzk0Y2ZiNzA0ZjEwOTExZGQxYjU3Y2IwMDM3ZWM0MjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAtMTU4LDYg
KzE1OCw3IEBAIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdlLCBJbnNw
ZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1fYnJvd3NlckRlYnVnZ2VyQWdlbnQoSW5zcGVj
dG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0
KCksIG1fc3RhdGUuZ2V0KCksIG1fZG9tQWdlbnQuZ2V0KCksIG1fZGVidWdnZXJBZ2VudC5nZXQo
KSwgdGhpcykpCiAgICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6
Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9jb25zb2xlQWdlbnQuZ2V0KCks
IHBhZ2UpKQogI2VuZGlmCisgICAgLCBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVu
ZChmYWxzZSkKIHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwogICAgIEFTU0VSVF9BUkco
Y2xpZW50LCBjbGllbnQpOwpAQCAtMzk0LDYgKzM5NSw5IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6
OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAgICAgaWYgKCFtX2Zyb250ZW5kKQogICAgICAgICByZXR1
cm47CiAKKyAgICBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCA9IGZhbHNlOwor
ICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmNsZWFyKCk7CisKICAgICAvLyBEZXN0
cm95aW5nIGFnZW50cyB3b3VsZCBjaGFuZ2UgdGhlIHN0YXRlLCBidXQgd2UgZG9uJ3Qgd2FudCB0
aGF0LgogICAgIC8vIFByZS1kaXNjb25uZWN0IHN0YXRlIHdpbGwgYmUgdXNlZCB0byByZXN0b3Jl
IGluc3BlY3RvciBhZ2VudHMuCiAgICAgbV9zdGF0ZS0+bXV0ZSgpOwpAQCAtNDY5LDkgKzQ3Myw3
IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnBvcHVsYXRlU2NyaXB0T2JqZWN0cyhFcnJvclN0cmlu
ZyopCiAgICAgcmVzdG9yZVByb2ZpbGVyKFByb2ZpbGVyUmVzdG9yZU5vQWN0aW9uKTsKIAogICAg
IC8vIERpc3BhdGNoIHBlbmRpbmcgZnJvbnRlbmQgY29tbWFuZHMKLSAgICBmb3IgKFZlY3Rvcjxw
YWlyPGxvbmcsIFN0cmluZz4gPjo6aXRlcmF0b3IgaXQgPSBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RD
b21tYW5kcy5iZWdpbigpOyBpdCAhPSBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5kcy5lbmQo
KTsgKytpdCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQoKCppdCkuZmlyc3QsICgqaXQpLnNlY29uZCk7Ci0gICAgbV9wZW5kaW5nRXZh
bHVhdGVUZXN0Q29tbWFuZHMuY2xlYXIoKTsKKyAgICBpc3N1ZUV2YWx1YXRlRm9yVGVzdENvbW1h
bmRzKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnB1c2hEYXRhQ29sbGVjdGVkT2ZmbGlu
ZSgpCkBAIC03NjIsMTAgKzc2NCw5IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNob3dTY3JpcHRz
UGFuZWwoKQogCiB2b2lkIEluc3BlY3RvckFnZW50OjpldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5k
KGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCkKIHsKLSAgICBpZiAobV9mcm9udGVu
ZCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVzdEluRnJv
bnRlbmQoY2FsbElkLCBzY3JpcHQpOwotICAgIGVsc2UKLSAgICAgICAgbV9wZW5kaW5nRXZhbHVh
dGVUZXN0Q29tbWFuZHMuYXBwZW5kKHBhaXI8bG9uZywgU3RyaW5nPihjYWxsSWQsIHNjcmlwdCkp
OworICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmFwcGVuZChwYWlyPGxvbmcsIFN0
cmluZz4oY2FsbElkLCBzY3JpcHQpKTsKKyAgICBpZiAobV9jYW5Jc3N1ZUV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQpCisgICAgICAgIGlzc3VlRXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMoKTsKIH0K
IAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChFcnJv
clN0cmluZyosIGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIGpzb25SZXN1bHQpCkBAIC0xMDkz
LDYgKzEwOTQsMTcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6c2hvd1BhbmVsKGNvbnN0IFN0cmlu
ZyYgcGFuZWwpCiAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPnNob3dQYW5lbChwYW5lbCk7
CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQWdlbnQ6Omlzc3VlRXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMo
KQoreworICAgIGlmIChtX2Zyb250ZW5kKSB7CisgICAgICAgIFZlY3RvcjxwYWlyPGxvbmcsIFN0
cmluZz4gPiBjb3B5ID0gbV9wZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHM7CisgICAgICAgIG1f
cGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmNsZWFyKCk7CisgICAgICAgIGZvciAoVmVjdG9y
PHBhaXI8bG9uZywgU3RyaW5nPiA+OjppdGVyYXRvciBpdCA9IGNvcHkuYmVnaW4oKTsgbV9mcm9u
dGVuZCAmJiBpdCAhPSBjb3B5LmVuZCgpOyArK2l0KQorICAgICAgICAgICAgbV9mcm9udGVuZC0+
aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQoKCppdCkuZmlyc3QsICgqaXQp
LnNlY29uZCk7CisgICAgICAgIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kID0g
dHJ1ZTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
CmluZGV4IDdjZjhjY2JlZGNmN2Y1MjA4ZDJiYjU5Y2NjYzJhZDljM2ZkZDFlMGEuLjE1MWRiYTUw
NGQwZmYyZGU5OTI2OThjMzE3NDQzNGZhOTVkYmZlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBZ2VudC5oCkBAIC0yMzksNiArMjM5LDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgZm9jdXNOb2RlKCk7CiAgICAgYm9vbCBpc01haW5SZXNvdXJjZUxvYWRlcihEb2N1bWVu
dExvYWRlciosIGNvbnN0IEtVUkwmIHJlcXVlc3RVcmwpOworICAgIHZvaWQgaXNzdWVFdmFsdWF0
ZUZvclRlc3RDb21tYW5kcygpOwogCiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQYWdlOwogICAgIElu
c3BlY3RvckNsaWVudCogbV9jbGllbnQ7CkBAIC0yODIsOSArMjgzLDkgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV91c2VyQWdlbnRPdmVycmlkZTsKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICB0
eXBlZGVmIEhhc2hNYXA8aW50cHRyX3QsIFJlZlB0cjxJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZT4g
PiBXb3JrZXJzTWFwOwotCiAgICAgV29ya2Vyc01hcCBtX3dvcmtlcnM7CiAjZW5kaWYKKyAgICBi
b29sIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDViZDkxNGFhYjIyYTgxZDNkNzliNTY4NTkzZmRjZjhj
MDE3OTE2NmIuLjYyYzVkZTA2ODBjZGY1MTNmNDUyNDYxNzdmMzE5YTk5ZTVkYzk1NzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwu
anMKQEAgLTg2NSw3ICs4NjUsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0
ZWRSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIHBhcmVudFJlY29yZCwgcGFuZQogICAgIHRoaXMu
ZW5kVGltZSA9ICh0eXBlb2YgcmVjb3JkLmVuZFRpbWUgIT09ICJ1bmRlZmluZWQiKSA/IHJlY29y
ZC5lbmRUaW1lIC8gMTAwMCA6IHRoaXMuc3RhcnRUaW1lOwogICAgIHRoaXMuX3NlbGZUaW1lID0g
dGhpcy5lbmRUaW1lIC0gdGhpcy5zdGFydFRpbWU7CiAgICAgdGhpcy5fbGFzdENoaWxkRW5kVGlt
ZSA9IHRoaXMuZW5kVGltZTsKLSAgICB0aGlzLm9yaWdpbmFsUmVjb3JkRm9yVGVzdHMgPSByZWNv
cmQ7CiAgICAgaWYgKHJlY29yZC5zdGFja1RyYWNlICYmIHJlY29yZC5zdGFja1RyYWNlLmxlbmd0
aCkKICAgICAgICAgdGhpcy5zdGFja1RyYWNlID0gcmVjb3JkLnN0YWNrVHJhY2U7CiAgICAgdGhp
cy50b3RhbEhlYXBTaXplID0gcmVjb3JkLnRvdGFsSGVhcFNpemU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGNmMjgwZTMxODM2MTg5
YzhjYTNjZTYyNDZiYjI3YTJkZjAyYzBmMmEuLjY1NGZhYzMzZWUyZDNjMDliYTk0MTg3ZDUyZGUw
MzNiZGRhM2Q5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzCkBAIC01NzAsMTAgKzU3MCwyMCBAQCB2YXIgd2luZG93TG9hZGVkID0gZnVu
Y3Rpb24oKQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHdp
bmRvd0xvYWRlZCwgZmFsc2UpOwogCit2YXIgbWVzc2FnZXNUb0Rpc3BhdGNoID0gW107CisKKy8v
IFdlJ2QgbGlrZSB0byBlbmZvcmNlIGFzeW5jaHJvbm91cyBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRo
ZSBpbnNwZWN0b3IgY29udHJvbGxlciBhbmQgdGhlIGZyb250ZW5kLgorLy8gVGhpcyBpcyBpbXBv
cnRhbnQgdG8gcHJldmVudCByZS1lbnRlcmFiaWxpdHkgaW50byBiYWNrZW5kIGNvZGUuCisvLyBB
bHNvLCBub3RlIHRoYXQgbmF0aXZlIGRpc3BhdGNoZXMgc2NoZWR1bGluZyB0aW1lcnMgZG8gbm90
IGd1YXJhbnRlZSB0byBiZSBzZXJpYWxpemVkLCBzbyB3ZQorLy8gZW5mb3JjZSBzZXJpYWxpemF0
aW9uIHVzaW5nICdtZXNzYWdlc1RvRGlzcGF0Y2gnIHF1ZXVlLgogV2ViSW5zcGVjdG9yLmRpc3Bh
dGNoID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIC8vIFdlJ2QgbGlrZSB0byBlbmZvcmNlIGFz
eW5jaHJvbm91cyBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoZSBpbnNwZWN0b3IgY29udHJvbGxlciBh
bmQgdGhlIGZyb250ZW5kLgotICAgIC8vIFRoaXMgaXMgaW1wb3J0YW50IHRvIExheW91dFRlc3Rz
LgotICAgIHNldFRpbWVvdXQoSW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaC5iaW5kKEluc3BlY3Rv
ckJhY2tlbmQpLCAwLCBtZXNzYWdlKTsKKyAgICBtZXNzYWdlc1RvRGlzcGF0Y2gucHVzaChtZXNz
YWdlKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB2YXIgY29weSA9IG1l
c3NhZ2VzVG9EaXNwYXRjaDsKKyAgICAgICAgbWVzc2FnZXNUb0Rpc3BhdGNoID0gW107CisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29weS5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIElu
c3BlY3RvckJhY2tlbmQuZGlzcGF0Y2goY29weVtpXSk7CisgICAgfSwgMCk7CiB9CiAKIFdlYklu
c3BlY3Rvci5kaXNwYXRjaE1lc3NhZ2VGcm9tQmFja2VuZCA9IGZ1bmN0aW9uKG1lc3NhZ2VPYmpl
Y3QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84849</attachid>
            <date>2011-03-04 23:59:13 -0800</date>
            <delta_ts>2011-03-05 01:48:25 -0800</delta_ts>
            <desc>[PATCH] Same with chromium baselines.</desc>
            <filename>bug-55816-20110305105911.patch</filename>
            <type>text/plain</type>
            <size>39112</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZTg3MDc5ZjBjMTVmMWE4MzhiZTVl
Yjk0MGY4NGVmMGIzNjkxZTU3Li5mN2RkNWZjYTMzZDNkYjMxMTVjNzUxODAzYjk2OTRiZjljN2Zk
Y2YxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsNDIgQEAKIDIwMTEtMDMtMDQgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZml4IGxheW91dCB0ZXN0cyBmbGFraW5lc3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTgxNgor
CisgICAgICAgIC0gVGltZWxpbmUgbm93IHVzZXMgaW5zdHJ1bWVudGF0aW9uIGNhbGxzLCBub3Qg
VUkgcmVwcmVzZW50YXRpb24gd2hpbGUgY29sbGVjdGluZyBldmVudHMgZm9yIHRlc3RzCisgICAg
ICAgIC0gTm8gcmVsb2FkcyBpbiBkZWJ1Z2dlciB0ZXN0cyB0aGF0IGRvbid0IG5lZWQgdGhlbQor
ICAgICAgICAtIEZvcmNpbmcgbGF5b3V0IGluIHRpbWVsaW5lIHZpYSBjYWxjdWxhdGluZyBvZmZz
ZXRIZWlnaHQKKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJv
ci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMv
c3ludGF4LWVycm9yLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20tanMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRl
c3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3Quc3RhcnRU
aW1lbGluZS5hZGRSZWNvcmQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0
b3JUZXN0LnN0YXJ0VGltZWxpbmUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNw
ZWN0b3JUZXN0LnN0b3BUaW1lbGluZSk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLklu
c3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludC5zdGVwMik6CisgICAgICAgIChpbml0
aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCk6Cisg
ICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJl
Y29yZHMpOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0
bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0OgorCisyMDExLTAzLTA0ICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIE5vdCByZXZpZXdlZDog
Zm9sbG93IHVwIHRvIDgwMzU1LCBmaXhpbmcgUXQgdGVzdHMuCiAKICAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKaW5kZXggYTg5NzJkMDE5ODIzNmM5
ODkyYzE2OGE1NTlkNWU1MTEwODQ2ODAzOS4uNTNlNGYzNTBkMWU1YWEwYmFlMWRmN2RjY2FkYjA0
NDEzN2EwZWQ1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKQEAgLTI3Niw3ICsyNzYsNyBAQCBmdW5jdGlvbiBydW5UZXN0KGVu
YWJsZVdhdGNoRG9nV2hpbGVEZWJ1Z2dpbmcpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2hvd1BhbmVsKCJjb25zb2xlIik7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAg
ICB0ZXN0RnVuY3Rpb24oKTsKICAgICAgICAgfSBjYXRjaCAoZSkgewpAQCAtMzI4LDEwICszMjgs
MTYgQEAgdmFyIG91dHB1dEVsZW1lbnQ7CiBmdW5jdGlvbiBvdXRwdXQodGV4dCkKIHsKICAgICBp
ZiAoIW91dHB1dEVsZW1lbnQpIHsKKyAgICAgICAgdmFyIGludGVybWVkaWF0ZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGludGVybWVkaWF0ZSk7CisKKyAgICAgICAgdmFyIGludGVybWVkaWF0ZTIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgaW50ZXJtZWRpYXRlLmFwcGVuZENoaWxkKGlu
dGVybWVkaWF0ZTIpOworCiAgICAgICAgIG91dHB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKICAgICAgICAgb3V0cHV0RWxlbWVudC5jbGFzc05hbWUgPSAib3V0cHV0
IjsKICAgICAgICAgb3V0cHV0RWxlbWVudC5zdHlsZS53aGl0ZVNwYWNlID0gInByZSI7Ci0gICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0cHV0RWxlbWVudCk7CisgICAgICAgIGlu
dGVybWVkaWF0ZTIuYXBwZW5kQ2hpbGQob3V0cHV0RWxlbWVudCk7CiAgICAgfQogICAgIG91dHB1
dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCkpOwogICAg
IG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvYXVkaXRzL2F1ZGl0cy1wYW5lbC1m
dW5jdGlvbmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvYXVkaXRzL2F1ZGl0cy1wYW5l
bC1mdW5jdGlvbmFsLmh0bWwKaW5kZXggZmI4ZGMyYTk1YmRjMWJkNDUzMmY5MzllYzViMmMxOGE1
MjU1MWRkMC4uN2M5ZjJlYmEzNDgzYjQxZDAwN2JiOTFiNWNmMDc4NWJhM2IxMjJmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2F1ZGl0cy9hdWRpdHMtcGFuZWwtZnVuY3Rpb25h
bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9hdWRpdHMvYXVkaXRzLXBhbmVsLWZ1
bmN0aW9uYWwuaHRtbApAQCAtMTYsNiArMTYsOCBAQAogPHNjcmlwdD4KIHZhciB0ZXN0ID0gZnVu
Y3Rpb24oKQogeworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7CisKICAg
ICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOwogCiAgICAgZnVuY3Rpb24gc3RlcDEo
KQpAQCAtMzAsNyArMzIsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgbGF1bmNo
ZXJWaWV3Ll9sYXVuY2hCdXR0b25DbGlja2VkKCk7CiAKICAgICAgICAgSW5zcGVjdG9yVGVzdC5y
dW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAyKTsKLSAgICB9ICAgIAorICAgIH0KIAogICAg
IGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQKaW5kZXggZTUwOGQzYjdjMTJjOGI5ZDI1NGZlNTNhODYxZWU1OWRkMzZhNDcwYy4u
MjI1MThiNmM2MjE5NGQ3NDdkZGM1ODExM2M0MGI3MGIzMmRjYjcwOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5j
YXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSw5IEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzU6IEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxOTogRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlz
dGVuZXIuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0
VGltZW91dCBjYWxsYmFjay4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEV4Y2Vw
dGlvbiBpbiBpbmxpbmUgc2NyaXB0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBFcnJvcjog
RXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyNzogRXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDQwOiBFcnJvcjogRXhjZXB0aW9uIGluIGlubGluZSBzY3JpcHQuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMzM6IEVycm9yOiBFeGNlcHRpb24gaW4gJ2xvYWQnIGV2ZW50IGxp
c3RlbmVyLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI1OiBFcnJvcjogRXhjZXB0aW9uIGluIHNl
dFRpbWVvdXQgY2FsbGJhY2suCiBUZXN0cyB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgYXJlIGxv
Z2dlZCBpbnRvIGNvbnNvbGUuQnVnIDQ3MjUwLgogCi1QYWdlIHJlbG9hZGVkLgotY29uc29sZS11
bmNhdWdodC1leGNlcHRpb24uaHRtbDozNUVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlw
dC4KLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MTlFcnJvcjogRXhjZXB0aW9uIGlu
ICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6
MjdFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCitjb25zb2xlLXVuY2F1
Z2h0LWV4Y2VwdGlvbi5odG1sOjQwRXJyb3I6IEV4Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0Lgor
Y29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDozM0Vycm9yOiBFeGNlcHRpb24gaW4gJ2xv
YWQnIGV2ZW50IGxpc3RlbmVyLgorY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDoyNUVy
cm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0
aW9uLmh0bWwKaW5kZXggNDYxNzE4Y2M1OGFjYzkyZjk4OTdhZTQxM2E2ODc4ZjY1ODhjZGFlMS4u
MjFkYmY2MDMxZDc2YjIzZjdmMjNlZjkxZWZlMmY0NjU0MmExZTJhYSAxMDA3NTUKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4
Y2VwdGlvbi5odG1sCkBAIC00LDE0ICs0LDI4IEBACiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLQog
ZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0aW9u
KCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9KTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNu
aWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSwgImFkZE1lc3NhZ2UiLCBh
ZGRNZXNzYWdlLCB0cnVlKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJmaXJl
VGltZXJFeGNlcHRpb24oKSIpOworICAgIGZ1bmN0aW9uIGFkZE1lc3NhZ2UobWVzc2FnZSkKKyAg
ICB7CisgICAgICAgIGlmIChtZXNzYWdlLnRvU3RyaW5nKCkuaW5kZXhPZigic2V0VGltZW91dCIp
ICE9PSAtMSkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2Fn
ZXMoKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgfQorICAg
IH0KK30KKworZnVuY3Rpb24gZmlyZVRpbWVyRXhjZXB0aW9uKCkKK3sKKyAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeworICAgICAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGNhbGxiYWNrLiIpOworICAgICAg
ICB9CisgICAgICAgIGJhcigpOworICAgIH0sIDApOwogfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIGZ1bmN0aW9uKGUpIHsKQEAgLTIxLDE1ICszNSw2IEBAIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oZSkgewogICAgIGYoKTsKIH0sIGZhbHNlKTsK
IAotCi1zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIGJhcigpIHsKLSAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4iKTsK
LSAgICB9Ci0gICAgYmFyKCk7Ci19LCAwKTsKLQotCiBmdW5jdGlvbiBhKCkKIHsKICAgICB0aHJv
dyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LiIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5
bnRheC1lcnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
ZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKaW5kZXgg
NTJmNmQzYTQwZTcyMGM0ZGFhODFhMDY5ZDEwYThmZmVjZmIyM2MyMi4uYjg0OGM5YzYyMTdiMmM5
MDZiMjM2NDgwNWNjOGQ1YmI5OGRiNjBmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3ItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRv
Y29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxOiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxOiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSA0OiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA4OiBJZnJhbWUgbG9hZGVkCiBUZXN0cyB0aGF0IGRlYnVnZ2VyIHdvbid0IHN0b3Agb24gc3lu
dGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBvbiB1bmNhdWdodCBleGNlcHRpb25zIiBpcyBvbi4K
IAogRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1QYWdlIHJlbG9hZGVkLgogRGVidWdnZXIgd2FzIGRp
c2FibGVkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRt
bAppbmRleCBkNmE2YzQ1ZjgwZjc4N2VhZGY5YjdmYjcxN2FkZGQ1M2M1Yzc1N2NkLi5iYmNiODk2
MDU1ZDdhMDllZDE0NzFlZTAwOWJhY2I1NDlmOGEwN2Q4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJv
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRv
Y29udGludWUtb24tc3ludGF4LWVycm9yLmh0bWwKQEAgLTIsMjcgKzIsMzEgQEAKIDxoZWFkPgog
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKK2Z1bmN0aW9uIGxvYWRJZnJhbWUoKQorewor
ICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBp
ZnJhbWUuc3JjID0gInJlc291cmNlcy9zeW50YXgtZXJyb3IuaHRtbCI7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworfQorCiBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBX
ZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFy
dERlYnVnZ2VyVGVzdChzdGFydERlYnVnZ2VyVGVzdENhbGxiYWNrKTsKKyAgICBJbnNwZWN0b3JU
ZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKIAotICAgIGZ1bmN0aW9uIHN0YXJ0RGVidWdn
ZXJUZXN0Q2FsbGJhY2soKQorICAgIGZ1bmN0aW9uIHN0ZXAxKCkKICAgICB7CiAgICAgICAgIERl
YnVnZ2VyQWdlbnQuc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShXZWJJbnNwZWN0b3IuU2NyaXB0
c1BhbmVsLlBhdXNlT25FeGNlcHRpb25zU3RhdGUuUGF1c2VPblVuY2F1Z2h0RXhjZXB0aW9ucyk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgiZGVidWdnZXItYXV0b2Nv
bnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sIiwgcmVsb2FkSW5zcGVjdGVkUGFnZSk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJv
dG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgibG9hZElmcmFtZSgpIik7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcmVsb2Fk
SW5zcGVjdGVkUGFnZSgpCisgICAgZnVuY3Rpb24gc3RlcDIoKQogICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgICAgICB9KTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwogICAgIH0KLQogfQogCiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3lu
dGF4LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2Vz
L3N5bnRheC1lcnJvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZWUyMTQ1NGYzYTExM2U2MzlhMDgxMjk4
YzAzNWMwNTg2MjY4MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorKQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9u
bG9hZD0iY29uc29sZS5sb2coJ0lmcmFtZSBsb2FkZWQnKTsiPgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGJlYThjZDE3N2FmZjlkMWVjMmI5ZDFiMjFhY2U5YzQ1ZTIzYWU3ZGYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuanMKKysrIC9kZXYv
bnVsbApAQCAtMSArMCwwIEBACi0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtbGltaXRlZC1jaGlsZHJlbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtbGltaXRlZC1jaGls
ZHJlbi1leHBlY3RlZC50eHQKaW5kZXggMGFiODEyY2Y1NzE2NjZlZjNlODI5MTM3NWQ0Mzg3ZTNi
MWQxNjZkYS4uMmJhNmQxOWYyNWFhNmE5MjJkM2MyZWE1MjhkN2EyZTU2YWViMTgwMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLWxpbWl0
ZWQtY2hpbGRyZW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9lbGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dApAQCAtMzcs
NyArMzcsNyBAQCBUZXN0cyB0aGF0IHNyYyBhbmQgaHJlZiBlbGVtZW50IHRhcmdldHMgYXJlIHJl
d3JpdHRlbiBwcm9wZXJseS4KICAgICAgICAgICAgICAgU2hvdyBBbGwgTm9kZXMgKDYgTW9yZSkK
ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8cD5UZXN0cyB0aGF0IHNyYyBhbmQgaHJlZiBl
bGVtZW50IHRhcmdldHMgYXJlIHJld3JpdHRlbiBwcm9wZXJseS48L3A+Ci0gICAgICAgICsgPGRp
diBjbGFzcz0ib3V0cHV0IiBzdHlsZT0id2hpdGUtc3BhY2U6IHByZTsgIj7igKY8L2Rpdj4KKyAg
ICAgICAgKyA8ZGl2PuKApjwvZGl2PgogICAgICAgPC9ib2R5PgogICA8L2h0bWw+CiA9PT09PT09
PT09PSBMb2FkZWQgYWxsIGNoaWxkcmVuID09PT09PT09PT09CkBAIC01OCw3ICs1OCw3IEBAIFRl
c3RzIHRoYXQgc3JjIGFuZCBocmVmIGVsZW1lbnQgdGFyZ2V0cyBhcmUgcmV3cml0dGVuIHByb3Bl
cmx5LgogICAgICAgICAgICAgICA8YT48L2E+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg
PHA+VGVzdHMgdGhhdCBzcmMgYW5kIGhyZWYgZWxlbWVudCB0YXJnZXRzIGFyZSByZXdyaXR0ZW4g
cHJvcGVybHkuPC9wPgotICAgICAgICArIDxkaXYgY2xhc3M9Im91dHB1dCIgc3R5bGU9IndoaXRl
LXNwYWNlOiBwcmU7ICI+4oCmPC9kaXY+CisgICAgICAgICsgPGRpdj7igKY8L2Rpdj4KICAgICAg
IDwvYm9keT4KICAgPC9odG1sPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc2VhcmNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc2VhcmNoLmh0bWwKaW5kZXggNzhlYzczYTA2OTJm
ZGEyZDE4NDdjNDdjYTEyYzBkOWZmOGUzZWQ2Yi4uNzI0OGU3Njc4NTk2NmE5MjkwZDYxZjJjMjY1
YmRmMGM0ZDMzNDg2OSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L2VsZW1lbnRzLXBhbmVsLXNlYXJjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbApAQCAtNSw2ICs1LDggQEAKIDxzY3Jp
cHQ+CiBmdW5jdGlvbiB0ZXN0KCkKIHsKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVt
ZW50cyIpOworCiAgICAgdmFyIHNlYXJjaFJlc3VsdHMgPSBbXTsKICAgICBmdW5jdGlvbiBhZGRT
ZWFyY2hSZXN1bHQobWFya3VwVmFsdWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGFiYzY4YjM4OWVmNDAzYTEyNzMwYWVhNzhkOWFiNjkzOTNjYzliZDguLjVmMGZj
OTQ2ZDViYjdkNTRhNjI4ODJlNTYzNTYzZDY3ZGY0ZWYyMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1l
eHBlY3RlZC50eHQKQEAgLTUsOCArNSw4IEBAIFJ1bm5pbmcgdGVzdHMuLi4KIFJVTk5JTkcgVEVT
VDogZXh0ZW5zaW9uX3Rlc3RPblJlc291cmNlRmluaXNoZWQKIG9uRmluaXNoZWQgZmlyZWQKIFJV
Tk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RQYWdlTG9hZEV2ZW50cworUGFnZSByZWxvYWRlZC4K
IG9uRE9NQ29udGVudExvYWRlZCBmaXJlZDogbnVtYmVyCiBvbkxvYWRlZCBmaXJlZDogbnVtYmVy
Ci1QYWdlIHJlbG9hZGVkLgogQWxsIHRlc3RzIGRvbmUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLWV4cGVj
dGVkLnR4dAppbmRleCAzMzVmZjU1YmJiNmJjMTljZjU2MGU5YmViNWIzYzFjOWUyNDZlYTBlLi4x
MGYxODIzMjIzNzU2NjY1ZGQ1ZjEwZDZlNTY5YThiOTkzNjQ3MmExIDEwMDc1NQotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUtZnJvbS1qcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20t
anMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsOSBAQAogVGVzdHMgdGhhdCBjaGFuZ2VzIHRvIGFu
IGlubGluZSBzdHlsZSBmcm9tIEphdmFTY3JpcHQgYXJlIHJlZmxlY3RlZCBpbiB0aGUgU3R5bGVz
IHBhbmUgYW5kIEVsZW1lbnRzIHRyZWUuCiAKLSdzdHlsZScgYXR0cmlidXRlIG1vZGlmaWVkOgor
CitSdW5uaW5nOiB0ZXN0SW5pdAorCitSdW5uaW5nOiB0ZXN0U2V0U3R5bGVBdHRyaWJ1dGUKIDxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImNvbG9yOiAjZGFDMERFOyBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxlIHsgKCkKIGNvbG9yOiAj
REFDMERFOwpAQCAtMTksMTMgKzIyLDE1IEBAIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwogICAg
IGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsKIAogCi1jc3NUZXh0IG1vZGlmaWVkOgorCitSdW5u
aW5nOiB0ZXN0U2V0U3R5bGVDU1NUZXh0CiA8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJjb2xv
cjogcmdiKDE5MiwgMjU1LCAyMzgpOyAiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxl
IHsgKCkKIGNvbG9yOiAjQzBGRkVFOwogCiAKLXBhcnNlZCBhdHRyaWJ1dGVzIG1vZGlmaWVkOgor
CitSdW5uaW5nOiB0ZXN0U2V0VmlhUGFyc2VkQXR0cmlidXRlcwogPGRpdiBpZD0iY29udGFpbmVy
IiBzdHlsZT0iY29sb3I6IHJnYigxOTIsIDI1NSwgMjM4KTsgYm9yZGVyLXRvcC1zdHlsZTogZGFz
aGVkOyBib3JkZXItcmlnaHQtc3R5bGU6IGRhc2hlZDsgYm9yZGVyLWJvdHRvbS1zdHlsZTogZGFz
aGVkOyBib3JkZXItbGVmdC1zdHlsZTogZGFzaGVkOyBib3JkZXItdG9wLWNvbG9yOiBncmVlbjsg
Ym9yZGVyLXJpZ2h0LWNvbG9yOiBncmVlbjsgYm9yZGVyLWJvdHRvbS1jb2xvcjogZ3JlZW47IGJv
cmRlci1sZWZ0LWNvbG9yOiBncmVlbjsgYm9yZGVyLXRvcC13aWR0aDogM3B4OyBib3JkZXItcmln
aHQtd2lkdGg6IDNweDsgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4OyBib3JkZXItbGVmdC13aWR0
aDogM3B4OyAiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxlIHsgKCkKIGNvbG9yOiAj
QzBGRkVFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
dXBkYXRlLWZyb20tanMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVz
LXVwZGF0ZS1mcm9tLWpzLmh0bWwKaW5kZXggZjg4NWFiOWU3YTNlN2Q1MjZmMWY0NzA3NzdlYWI3
ZTMzYjY0MWZjMC4uZTQ2NjFmZjEyNjQyZDhmYzY3NTY5MTViMzUyZmQ2NDZlNzAwMTU3NyAxMDA3
NTUKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20t
anMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUt
ZnJvbS1qcy5odG1sCkBAIC04LDcgKzgsNyBAQCBmdW5jdGlvbiBtb2RpZnlTdHlsZUF0dHJpYnV0
ZSgpCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLnNldEF0dHJpYnV0
ZSgic3R5bGUiLCAiY29sb3I6ICNkYUMwREU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyIpOwog
fQogCi1mdW5jdGlvbiBtb2RpZnlDc3NUZXh0KCkKK2Z1bmN0aW9uIG1vZGlmeUNTU1RleHQoKQog
ewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5zdHlsZS5jc3NUZXh0
ID0gImNvbG9yOiAjQzBGRkVFIjsKIH0KQEAgLTIyLDQ3ICsyMiw1NCBAQCBmdW5jdGlvbiBtb2Rp
ZnlQYXJzZWRBdHRyaWJ1dGVzKCkKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgSW5zcGVjdG9y
VGVzdC5zZWxlY3ROb2RlV2l0aElkKCJjb250YWluZXIiLCBzdGVwMCk7CisgICAgSW5zcGVjdG9y
VGVzdC5ydW5UZXN0U3VpdGUoWwogCi0gICAgLy8gU2V0IHN0eWxlIHZpYSAic3R5bGUiIGF0dHJp
YnV0ZS4KLSAgICBmdW5jdGlvbiBzdGVwMCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlTdHlsZUF0dHJpYnV0ZSgpIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90
eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBzdGVwMSk7Ci0gICAgfQotCi0gICAgLy8gU2V0IHN0eWxl
IHZpYSBjc3NUZXh0LgotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCInc3R5bGUnIGF0dHJpYnV0ZSBtb2RpZmllZDoiKTsKLSAgICAg
ICAgZHVtcEF0dHJpYnV0ZUFuZFN0eWxlcygpOwotCi0gICAgICAgIC8vIEluaGliaXQgdGhlIHNl
Y29uZCBTdHlsZXMgcGFuZSB1cGRhdGUgZnJvbSBzdGVwMCgpLgotICAgICAgICBmdW5jdGlvbiBj
YWxsYmFjaygpCisgICAgICAgIGZ1bmN0aW9uIHRlc3RJbml0KG5leHQpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lk
ZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBzdGVwMik7Ci0gICAgICAgIH0K
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlDc3NUZXh0KCki
LCBjYWxsYmFjayk7Ci0gICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkKCJjb250YWluZXIiLCBuZXh0KTsKKyAgICAgICAgfSwKIAotICAgIC8vIFNldCBzdHls
ZSB2aWEgcGFyc2VkIGF0dHJpYnV0ZXMuCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImNzc1RleHQgbW9kaWZpZWQ6Iik7Ci0gICAg
ICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldFN0
eWxlQXR0cmlidXRlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1cGRhdGVDb3Vu
dCA9IDA7CisgICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgLy8gRXhwZWN0IHR3byB1cGRhdGVzIHdoaWxlIHNldHRpbmcgYXR0cmli
dXRlLgorICAgICAgICAgICAgICAgIGlmICgrK3VwZGF0ZUNvdW50ID09PSAyKSB7CisgICAgICAg
ICAgICAgICAgICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUu
cHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBjYWxsYmFjaywgdHJ1ZSk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlTdHlsZUF0dHJpYnV0ZSgpIik7
CisgICAgICAgIH0sCiAKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibW9k
aWZ5UGFyc2VkQXR0cmlidXRlcygpIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZl
cihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRh
dGUiLCBzdGVwMyk7Ci0gICAgfQorICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0U3R5bGVDU1NUZXh0
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1cGRhdGVDb3VudCA9IDA7CisgICAg
ICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgLy8gRXhwZWN0IHR3byB1cGRhdGVzIHdoaWxlIHNldHRpbmcgY3NzIHRleHQuCisgICAgICAg
ICAgICAgICAgaWYgKCsrdXBkYXRlQ291bnQgPT09IDIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVtcEF0dHJpYnV0ZUFuZFN0eWxlcygpOworICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUsICJf
cmVidWlsZFVwZGF0ZSIsIGNhbGxiYWNrLCB0cnVlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlmeUNTU1RleHQoKSIsIGNhbGxiYWNrKTsKKyAgICAgICAg
fSwKIAotICAgIC8vIEZpbmlzaCB0aGUgdGVzdC4KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicGFyc2VkIGF0dHJpYnV0ZXMgbW9k
aWZpZWQ6Iik7Ci0gICAgICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9CisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRWaWFQYXJzZWRBdHRyaWJ1dGVzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkdW1wQXR0cmli
dXRlQW5kU3R5bGVzKCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNT
aWRlYmFyUGFuZS5wcm90b3R5cGUsICJfcmVidWlsZFVwZGF0ZSIsIGNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlmeVBhcnNlZEF0dHJpYnV0
ZXMoKSIpOworICAgICAgICB9CisgICAgXSk7CiAKICAgICBmdW5jdGlvbiBkdW1wQXR0cmlidXRl
QW5kU3R5bGVzKCkKICAgICB7CkBAIC03Nyw2ICs4NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAg
ICAgZnVuY3Rpb24gZmluZE5vZGVUcmVlRWxlbWVudCgpCiAgICAgeworICAgICAgICBXZWJJbnNw
ZWN0b3IucGFuZWxzLmVsZW1lbnRzLnVwZGF0ZU1vZGlmaWVkTm9kZXMoKTsKICAgICAgICAgdmFy
IGV4cGFuZGVkTm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJjb250YWlu
ZXIiKTsKICAgICAgICAgaWYgKCFleHBhbmRlZE5vZGUpIHsKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCInY29udGFpbmVyJyBub2RlIG5vdCBmb3VuZCIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sCmluZGV4
IDI2YWViMjM3MGJiMjQwNTRjN2UyMzlmN2VmMjYwNWM4OWE1OTc0NjAuLmI1OTBiMzFkNjE0YTNk
MTg4YTFlNzZjNTQ1MWIxNDRjOTUzMDdlNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0Lmh0bWwKQEAgLTksNiArOSw4IEBAIGZ1bmN0
aW9uIHBlcmZvcm1BY3Rpb25zKCkKICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gIlRlc3QgZGF0YSI7CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICAvLyBGb3JjZSBsYXlvdXQu
CisgICAgdmFyIGZvbyA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0OwogfQogCiBmdW5jdGlvbiB0ZXN0
KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1u
ZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dAppbmRleCA2MzE5MDk0
YTY2M2ViNGEwYzljYmNkZGQ1NDU1YmQ0ZGI0YTU5N2Q4Li5jNDcwYWNmNDBhYWIxYzkzOTllY2Q0
NTZlNzFiNjI5ZTUyZmIwYThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0
ZWQudHh0CkBAIC0xLDExICsxLDcgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBTY3JpcHQg
ZXZhbHVhdGVkCiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIG5l
dHdvcmsgcmVzb3VyY2UgbG9hZAogCi1TdGFydAotc3RlcDAKLXN0ZXAxCi1zdGVwMgotc3RlcDMK
K1NjcmlwdCByZXNvdXJjZSBsb2FkZWQKIAogUmVzb3VyY2VTZW5kUmVxdWVzdCBQcm9wZXJ0aWVz
OgogewpAQCAtNDksNCArNDUsNCBAQCBSZXNvdXJjZUZpbmlzaCBQcm9wZXJ0aWVzOgogICAgIHVz
ZWRIZWFwU2l6ZSA6IDxudW1iZXI+CiAgICAgdG90YWxIZWFwU2l6ZSA6IDxudW1iZXI+CiB9Ci1T
Y3JpcHQgcmVzb3VyY2UgbG9hZGVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCmluZGV4IDgz
NWE2NzlhNDJmY2FkODczOGQxOWMyN2FkMDIxNjhmNWUxYTgxMDguLjNjMTgyMzMzOWMwYzU0NmRm
N2QxZGM3OGIwZDI5OGYwZDE2N2U2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbApAQCAt
MTgsMzEgKzE4LDIxIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHZhciByZXNvdXJjZUlkOwogICAg
IHZhciBzY3JpcHRVcmwgPSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7CiAKLSAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0cnVlIiwgc3RlcDApOwotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJTdGFydCIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDAoKQotCXsKLQkg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInN0ZXAwIik7Ci0JICAgIFRpbWVsaW5lQWdlbnQu
c3RhcnQoc3RlcDEpOwotCX0KKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEp
OwogCiAgICAgZnVuY3Rpb24gc3RlcDEoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInN0ZXAxIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
InBlcmZvcm1BY3Rpb25zKCkiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOwog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJzdGVwMiIpOwotICAgICAgICBUaW1lbGluZUFnZW50LnN0b3Aoc3RlcDMp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZShzdGVwMyk7CiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gc3RlcDMoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoInN0ZXAzIik7CiAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChyZWNvcmQpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdl
bnQuUmVjb3JkVHlwZS5SZXNvdXJjZVNlbmRSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluZGV4
IGNiYmYzOTRiYWJkZTU4MmE1NThjNjk2MzViZWU4NWI4MWRmYTY5M2YuLjIyNzI3OTEzMGQzY2Vk
YjcwYzU3MjAzYzA1YzZhMTgyZDM1NzFkNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKQEAgLTEzLDE2
ICsxMywxNiBAQCBmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCiAKIGZ1bmN0aW9uIHRlc3QoKSAK
IHsKLSAgICBUaW1lbGluZUFnZW50LnN0YXJ0KHN0ZXAxKTsKKyAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0VGltZWxpbmUoc3RlcDEpOwogICAgIGZ1bmN0aW9uIHN0ZXAxKCkKICAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90
b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3Rl
cDIoKQogICAgIHsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHN0ZXAzKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1zY3JpcHQtdGFnLTIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbmRleCBmZjczNzVhZmEyOWQ5NDNkYmQ5OWE1YmU0
YWYyNmI1ZGYwMzJiMmExLi4xZTBjZWI5MzAwZmUxNGYyMzQxODFmOThjOWU0M2IzOTE3OWM2ZWRm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXNjcmlwdC10YWctMi5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGZ1bmN0aW9uIHBlcmZvcm1B
Y3Rpb25zKCkKIAogZnVuY3Rpb24gdGVzdCgpIAogewotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQo
c3RlcDEpOworICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVu
Y3Rpb24gc3RlcDEoKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOwpA
QCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
ICAgICB7Ci0gICAgICAgIFRpbWVsaW5lQWdlbnQuc3RvcChzdGVwMyk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Quc3RvcFRpbWVsaW5lKHN0ZXAzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVw
MygpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
dGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0Lmpz
CmluZGV4IDkxNTM2ODE4NzhiZDI1OWRiMmI0YmU5MDQwNDUwYzQxMTllNWMxNTYuLjAyNDlkODNi
NTIzNjdkY2RkODliYjYwM2U3MGE0N2RmOTZjM2FhNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzCkBAIC0xNSw5ICsxNSwyNyBAQCBJbnNw
ZWN0b3JUZXN0LnRpbWVsaW5lTm9uRGV0ZXJtaW5pc3RpY1Byb3BzID0gewogICAgIG1pbWVUeXBl
IDogMQogfTsKIAorSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lID0gZnVuY3Rpb24oY2FsbGJh
Y2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzID0gW107CisgICAgVGlt
ZWxpbmVBZ2VudC5zdGFydChjYWxsYmFjayk7CisgICAgZnVuY3Rpb24gYWRkUmVjb3JkKHJlY29y
ZCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkcy5wdXNoKHJl
Y29yZCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQuY2hpbGRyZW4gJiYgaSA8IHJl
Y29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGFkZFJlY29yZChyZWNvcmQu
Y2hpbGRyZW5baV0pOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lRGlzcGF0Y2hlci5wcm90b3R5cGUsICJhZGRSZWNvcmRUb1RpbWVsaW5l
IiwgYWRkUmVjb3JkLCB0cnVlKTsKK307CisKK0luc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lID0g
ZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgVGltZWxpbmVBZ2VudC5zdG9wKGNhbGxiYWNrKTsK
K307CisKIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCA9IGZ1bmN0aW9uKGFj
dGlvbnMsIHR5cGVOYW1lKQogewotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQoc3RlcDEpOworICAg
IEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVuY3Rpb24gc3RlcDEo
KQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShhY3Rpb25zLCBz
dGVwMik7CkBAIC0yNSw3ICs0Myw3IEBAIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQ
cmludCA9IGZ1bmN0aW9uKGFjdGlvbnMsIHR5cGVOYW1lKQogCiAgICAgZnVuY3Rpb24gc3RlcDIo
KQogICAgIHsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKQEAgLTMzLDEzICs1MSwxMiBAQCBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5k
UHJpbnQgPSBmdW5jdGlvbihhY3Rpb25zLCB0eXBlTmFtZSkKICAgICAgICAgSW5zcGVjdG9yVGVz
dC5wcmludFRpbWVsaW5lUmVjb3Jkcyh0eXBlTmFtZSk7CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CiAgICAgfQotfQorfTsKIAogSW5zcGVjdG9yVGVzdC5wcmludFRpbWVs
aW5lUmVjb3JkcyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0ZXIpCiB7Ci0gICAgdmFyIHRp
bWVsaW5lUmVjb3JkcyA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVzdWx0cygpOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgdGltZWxpbmVSZWNvcmRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
IHZhciByZWNvcmQgPSB0aW1lbGluZVJlY29yZHNbaV07CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
dmFyIHJlY29yZCA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkc1tpXTsKICAgICAgICAg
aWYgKHR5cGVOYW1lICYmIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2Vu
dC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRU
aW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKICAgICAgICAgaWYgKGZvcm1hdHRlcikK
QEAgLTQ3LDIxICs2NCw2IEBAIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMgPSBm
dW5jdGlvbih0eXBlTmFtZSwgZm9ybWF0dGVyKQogICAgIH0KIH07CiAKLUluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lUmVzdWx0cyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSBbXTsKLSAg
ICBmdW5jdGlvbiBhZGRSZWNvcmRzKHJlY29yZHMpCi0gICAgewotICAgICAgICBpZiAoIXJlY29y
ZHMpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVj
b3Jkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgcmVzdWx0LnB1c2gocmVjb3Jkc1tpXS5v
cmlnaW5hbFJlY29yZEZvclRlc3RzKTsKLSAgICAgICAgICAgIGFkZFJlY29yZHMocmVjb3Jkc1tp
XS5jaGlsZHJlbik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgYWRkUmVjb3JkcyhXZWJJbnNwZWN0
b3IucGFuZWxzLnRpbWVsaW5lLl9yb290UmVjb3JkLmNoaWxkcmVuKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfTsKLQogLy8gRHVtcCBqdXN0IHRoZSByZWNvcmQgbmFtZSwgaW5kZW50aW5nIG91dHB1
dCBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc3VicmVjb3JkcwogSW5zcGVjdG9yVGVzdC5kdW1wVGlt
ZWxpbmVSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIGxldmVsKSAKIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sCmluZGV4IDNh
NGY3NzU5Y2Q1OTA4ZGE4ODQwNTkzOTNjYTcxMzA1NzQ0MmUwMzQuLmU3ZGY4OTg0YmIxYzEzMDdh
ZTRjNTQzOTEzYzUyMTdhMzFlMDA2MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbApAQCAtMSw2ICsxLDcgQEAKIDxodG1s
PgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3QuanMiPjwv
c2NyaXB0PgogPHNjcmlwdD4KIAogZnVuY3Rpb24gdGVzdCgpIHsKQEAgLTEwLDcgKzExLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVs
aW5lIHN0YXJ0ZWQiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAg
ICB9Ci0gICAgVGltZWxpbmVBZ2VudC5zdGFydChjYWxsYmFjayk7CisgICAgSW5zcGVjdG9yVGVz
dC5zdGFydFRpbWVsaW5lKGNhbGxiYWNrKTsKIH0KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4
Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKaW5k
ZXggMDQ0N2EzMzQ4YmQ1YjhiMjkxNTUxYjkxMjQ2OGUxNDMyOThlNWZmYy4uMjA5M2Y4MGU5YTE1
MTQwMTBiYWYxY2FiMmJmN2FkNTA5YjliZjlmZiAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MSwxMyArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFVuY2F1Z2h0IEVycm9yOiBF
eGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogVW5j
YXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMjc6IFVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91
dCBjYWxsYmFjay4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogVW5jYXVnaHQgRXJyb3I6IEV4
Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBVbmNh
dWdodCBFcnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAyNzogVW5jYXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0
IGNhbGxiYWNrLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQwOiBVbmNhdWdodCBFcnJvcjogRXhj
ZXB0aW9uIGluIGlubGluZSBzY3JpcHQuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzM6IFVuY2F1
Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gJ2xvYWQnIGV2ZW50IGxpc3RlbmVyLgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI1OiBVbmNhdWdodCBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQg
Y2FsbGJhY2suCiBUZXN0cyB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgYXJlIGxvZ2dlZCBpbnRv
IGNvbnNvbGUuQnVnIDQ3MjUwLgogCi1QYWdlIHJlbG9hZGVkLgotY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24uaHRtbDozNVVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlw
dC5hY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDozNWJjb25zb2xlLXVuY2F1Z2h0LWV4
Y2VwdGlvbi5odG1sOjQwKGFub255bW91cyBmdW5jdGlvbiljb25zb2xlLXVuY2F1Z2h0LWV4Y2Vw
dGlvbi5odG1sOjQzCi1jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjE5VW5jYXVnaHQg
RXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuZmNvbnNvbGUtdW5jYXVn
aHQtZXhjZXB0aW9uLmh0bWw6MTkoYW5vbnltb3VzIGZ1bmN0aW9uKWNvbnNvbGUtdW5jYXVnaHQt
ZXhjZXB0aW9uLmh0bWw6MjEKLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MjdVbmNh
dWdodCBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suYmFyY29uc29sZS11
bmNhdWdodC1leGNlcHRpb24uaHRtbDoyNyhhbm9ueW1vdXMgZnVuY3Rpb24pY29uc29sZS11bmNh
dWdodC1leGNlcHRpb24uaHRtbDoyOQorY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDo0
MFVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC5hY29uc29sZS11bmNh
dWdodC1leGNlcHRpb24uaHRtbDo0MGJjb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjQ1
KGFub255bW91cyBmdW5jdGlvbiljb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjQ4Citj
b25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjMzVW5jYXVnaHQgRXJyb3I6IEV4Y2VwdGlv
biBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuZmNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0
bWw6MzMoYW5vbnltb3VzIGZ1bmN0aW9uKWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6
MzUKK2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MjVVbmNhdWdodCBFcnJvcjogRXhj
ZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suYmFyY29uc29sZS11bmNhdWdodC1leGNlcHRp
b24uaHRtbDoyNShhbm9ueW1vdXMgZnVuY3Rpb24pY29uc29sZS11bmNhdWdodC1leGNlcHRpb24u
aHRtbDoyNwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdn
ZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKaW5k
ZXggM2QyYjhkMzJhZTM2ODdlN2E2Yzg3OTlmMDM0NmNiNTU5MDE0Y2RjNS4uYjA5YmFhMjRhNjBj
NDZjOWIyMTQ4NzhiYWQ1ODM0ZDhjOWFmYjIzYSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1v
bi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4
LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBVbmNhdWdodCBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiApCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogVW5jYXVnaHQgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gKQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IFVuY2F1Z2h0IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICkKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBJZnJhbWUgbG9hZGVkCiBUZXN0cyB0
aGF0IGRlYnVnZ2VyIHdvbid0IHN0b3Agb24gc3ludGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBv
biB1bmNhdWdodCBleGNlcHRpb25zIiBpcyBvbi4KIAogRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1Q
YWdlIHJlbG9hZGVkLgogRGVidWdnZXIgd2FzIGRpc2FibGVkLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0
d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50
eHQKaW5kZXggNzk1Yjk5OTg1MmZjZDUzNmVkNWQyYzk5MTUxYzc0ZjBhZjE2N2I2Yi4uMTQ4NWEx
MzZjMmU2OWY1NDRhZjg5YTg3NjUzNTQyYmQ4MzNmYzRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmst
cmVzb3VyY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4
dApAQCAtMSwxMSArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogU2NyaXB0IGV2YWx1
YXRlZAogVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3Jr
IHJlc291cmNlIGxvYWQKIAotU3RhcnQKLXN0ZXAwCi1zdGVwMQotc3RlcDIKLXN0ZXAzCitTY3Jp
cHQgcmVzb3VyY2UgbG9hZGVkCiAKIFJlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoKIHsK
QEAgLTUwLDQgKzQ2LDQgQEAgUmVzb3VyY2VGaW5pc2ggUHJvcGVydGllczoKICAgICB1c2VkSGVh
cFNpemUgOiA8bnVtYmVyPgogICAgIHRvdGFsSGVhcFNpemUgOiA8bnVtYmVyPgogfQotU2NyaXB0
IHJlc291cmNlIGxvYWRlZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYwNTEwMTQ0ZWYzMWQ4ODkxZTU2MjQz
MzgxNDg4MjcxOWZlMWRkMi4uNjA4OGY1ZThlNDIyZGE1ZjNmNGFhMjVlODk4OWE3NWQ1NjJmYjQ5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTAzLTA0ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGZpeCBsYXlvdXQgdGVzdHMgZmxha2lu
ZXNzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4
MTYKKworICAgICAgICAtIE9yZGVyIG9mIGlzc3Vpbmcgb2YgZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZCB3YXMgbm90IGd1YXJhbnRlZWQgb24gdGhlIGJhY2tlbmQgc2lkZSAoSW5zcGVjdG9yQWdl
bnQgc2lkZSkKKyAgICAgICAgLSBPcmRlciBvZiBkaXNwYXRjaGluZyB1c2luZyB0aW1lb3V0cyB3
YXMgZ3VhcmFudGVlZCB2aWEgcXVldWVpbmcuIFNvdXJjZSBvZiBhbGwga2luZHMgb2YgcGFpbnMg
b24gU25vd0xlb3BhcmQgUmVsZWFzZSAoaW5zcGVjdG9yLmpzKQorCisgICAgICAgICogaW5zcGVj
dG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG06CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpJbnNwZWN0
b3JBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZy
b250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50Ojpwb3B1bGF0ZVNjcmlw
dE9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRlRm9y
VGVzdEluRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omlzc3Vl
RXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuZGlzcGF0Y2gpOgorCiAyMDExLTAzLTA0ICBTdGV2ZSBGYWxrZW5idXJnICA8c2Zh
bGtlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9y
LnBtIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0K
aW5kZXggOTYzZWI2YzVlNDc2M2E2YWVlNjk2ODkxZGNkMGUyNTFkZjJmYzNhNi4uMjMyYWM0MTk4
ZmJhNzM1MzE1M2NmY2I0N2ZiYWNjOTA5NDdkYzVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KQEAgLTc3OCw3ICs3NzgsNiBA
QCBJbnNwZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUgPSB7CiAgICAgX3dyYXA6IGZ1bmN0aW9u
KGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLl9sYXN0Q2Fs
bGJhY2tJZCsrOwotICAgICAgICArK3RoaXMuX3BlbmRpbmdSZXNwb25zZXNDb3VudDsKICAgICAg
ICAgdGhpcy5fY2FsbGJhY2tzW2NhbGxiYWNrSWRdID0gY2FsbGJhY2sgfHwgZnVuY3Rpb24oKSB7
fTsKICAgICAgICAgcmV0dXJuIGNhbGxiYWNrSWQ7CiAgICAgfSwKQEAgLTgyNCw2ICs4MjMsOCBA
QCBJbnNwZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjb25zb2xl
LmxvZygiZnJvbnRlbmQ6ICIgKyBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KSk7CiAKICAgICAgICAg
dmFyIG1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KTsKKworICAgICAgICArK3RoaXMu
X3BlbmRpbmdSZXNwb25zZXNDb3VudDsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNl
bmRNZXNzYWdlVG9CYWNrZW5kKG1lc3NhZ2UpOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IDIyNmQxOTdjNDIwZTEzMTk4YTYzYjdl
MDk2NTU2NmQyN2I3YjE0ZjQuLjE1Y2ViYTA4Mzk0Y2ZiNzA0ZjEwOTExZGQxYjU3Y2IwMDM3ZWM0
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAt
MTU4LDYgKzE1OCw3IEBAIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdl
LCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1fYnJvd3NlckRlYnVnZ2VyQWdlbnQo
SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1fZG9tQWdlbnQuZ2V0KCksIG1fZGVidWdnZXJBZ2Vu
dC5nZXQoKSwgdGhpcykpCiAgICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9jb25zb2xlQWdlbnQu
Z2V0KCksIHBhZ2UpKQogI2VuZGlmCisgICAgLCBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5G
cm9udGVuZChmYWxzZSkKIHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwogICAgIEFTU0VS
VF9BUkcoY2xpZW50LCBjbGllbnQpOwpAQCAtMzk0LDYgKzM5NSw5IEBAIHZvaWQgSW5zcGVjdG9y
QWdlbnQ6OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAgICAgaWYgKCFtX2Zyb250ZW5kKQogICAgICAg
ICByZXR1cm47CiAKKyAgICBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCA9IGZh
bHNlOworICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmNsZWFyKCk7CisKICAgICAv
LyBEZXN0cm95aW5nIGFnZW50cyB3b3VsZCBjaGFuZ2UgdGhlIHN0YXRlLCBidXQgd2UgZG9uJ3Qg
d2FudCB0aGF0LgogICAgIC8vIFByZS1kaXNjb25uZWN0IHN0YXRlIHdpbGwgYmUgdXNlZCB0byBy
ZXN0b3JlIGluc3BlY3RvciBhZ2VudHMuCiAgICAgbV9zdGF0ZS0+bXV0ZSgpOwpAQCAtNDY5LDkg
KzQ3Myw3IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnBvcHVsYXRlU2NyaXB0T2JqZWN0cyhFcnJv
clN0cmluZyopCiAgICAgcmVzdG9yZVByb2ZpbGVyKFByb2ZpbGVyUmVzdG9yZU5vQWN0aW9uKTsK
IAogICAgIC8vIERpc3BhdGNoIHBlbmRpbmcgZnJvbnRlbmQgY29tbWFuZHMKLSAgICBmb3IgKFZl
Y3RvcjxwYWlyPGxvbmcsIFN0cmluZz4gPjo6aXRlcmF0b3IgaXQgPSBtX3BlbmRpbmdFdmFsdWF0
ZVRlc3RDb21tYW5kcy5iZWdpbigpOyBpdCAhPSBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5k
cy5lbmQoKTsgKytpdCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRl
Rm9yVGVzdEluRnJvbnRlbmQoKCppdCkuZmlyc3QsICgqaXQpLnNlY29uZCk7Ci0gICAgbV9wZW5k
aW5nRXZhbHVhdGVUZXN0Q29tbWFuZHMuY2xlYXIoKTsKKyAgICBpc3N1ZUV2YWx1YXRlRm9yVGVz
dENvbW1hbmRzKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnB1c2hEYXRhQ29sbGVjdGVk
T2ZmbGluZSgpCkBAIC03NjIsMTAgKzc2NCw5IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNob3dT
Y3JpcHRzUGFuZWwoKQogCiB2b2lkIEluc3BlY3RvckFnZW50OjpldmFsdWF0ZUZvclRlc3RJbkZy
b250ZW5kKGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCkKIHsKLSAgICBpZiAobV9m
cm9udGVuZCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQoY2FsbElkLCBzY3JpcHQpOwotICAgIGVsc2UKLSAgICAgICAgbV9wZW5kaW5n
RXZhbHVhdGVUZXN0Q29tbWFuZHMuYXBwZW5kKHBhaXI8bG9uZywgU3RyaW5nPihjYWxsSWQsIHNj
cmlwdCkpOworICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmFwcGVuZChwYWlyPGxv
bmcsIFN0cmluZz4oY2FsbElkLCBzY3JpcHQpKTsKKyAgICBpZiAobV9jYW5Jc3N1ZUV2YWx1YXRl
Rm9yVGVzdEluRnJvbnRlbmQpCisgICAgICAgIGlzc3VlRXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMo
KTsKIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVu
ZChFcnJvclN0cmluZyosIGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIGpzb25SZXN1bHQpCkBA
IC0xMDkzLDYgKzEwOTQsMTcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6c2hvd1BhbmVsKGNvbnN0
IFN0cmluZyYgcGFuZWwpCiAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPnNob3dQYW5lbChw
YW5lbCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQWdlbnQ6Omlzc3VlRXZhbHVhdGVGb3JUZXN0Q29t
bWFuZHMoKQoreworICAgIGlmIChtX2Zyb250ZW5kKSB7CisgICAgICAgIFZlY3RvcjxwYWlyPGxv
bmcsIFN0cmluZz4gPiBjb3B5ID0gbV9wZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHM7CisgICAg
ICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmNsZWFyKCk7CisgICAgICAgIGZvciAo
VmVjdG9yPHBhaXI8bG9uZywgU3RyaW5nPiA+OjppdGVyYXRvciBpdCA9IGNvcHkuYmVnaW4oKTsg
bV9mcm9udGVuZCAmJiBpdCAhPSBjb3B5LmVuZCgpOyArK2l0KQorICAgICAgICAgICAgbV9mcm9u
dGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQoKCppdCkuZmlyc3Qs
ICgqaXQpLnNlY29uZCk7CisgICAgICAgIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250
ZW5kID0gdHJ1ZTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JB
Z2VudC5oCmluZGV4IDdjZjhjY2JlZGNmN2Y1MjA4ZDJiYjU5Y2NjYzJhZDljM2ZkZDFlMGEuLjE1
MWRiYTUwNGQwZmYyZGU5OTI2OThjMzE3NDQzNGZhOTVkYmZlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oCkBAIC0yMzksNiArMjM5LDcgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgZm9jdXNOb2RlKCk7CiAgICAgYm9vbCBpc01haW5SZXNvdXJjZUxvYWRlcihE
b2N1bWVudExvYWRlciosIGNvbnN0IEtVUkwmIHJlcXVlc3RVcmwpOworICAgIHZvaWQgaXNzdWVF
dmFsdWF0ZUZvclRlc3RDb21tYW5kcygpOwogCiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQYWdlOwog
ICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CkBAIC0yODIsOSArMjgzLDkgQEAgcHJpdmF0
ZToKICAgICBTdHJpbmcgbV91c2VyQWdlbnRPdmVycmlkZTsKICNpZiBFTkFCTEUoV09SS0VSUykK
ICAgICB0eXBlZGVmIEhhc2hNYXA8aW50cHRyX3QsIFJlZlB0cjxJbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZT4gPiBXb3JrZXJzTWFwOwotCiAgICAgV29ya2Vyc01hcCBtX3dvcmtlcnM7CiAjZW5kaWYK
KyAgICBib29sIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDViZDkxNGFhYjIyYTgxZDNkNzliNTY4NTkz
ZmRjZjhjMDE3OTE2NmIuLjYyYzVkZTA2ODBjZGY1MTNmNDUyNDYxNzdmMzE5YTk5ZTVkYzk1NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UGFuZWwuanMKQEAgLTg2NSw3ICs4NjUsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5G
b3JtYXR0ZWRSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIHBhcmVudFJlY29yZCwgcGFuZQogICAg
IHRoaXMuZW5kVGltZSA9ICh0eXBlb2YgcmVjb3JkLmVuZFRpbWUgIT09ICJ1bmRlZmluZWQiKSA/
IHJlY29yZC5lbmRUaW1lIC8gMTAwMCA6IHRoaXMuc3RhcnRUaW1lOwogICAgIHRoaXMuX3NlbGZU
aW1lID0gdGhpcy5lbmRUaW1lIC0gdGhpcy5zdGFydFRpbWU7CiAgICAgdGhpcy5fbGFzdENoaWxk
RW5kVGltZSA9IHRoaXMuZW5kVGltZTsKLSAgICB0aGlzLm9yaWdpbmFsUmVjb3JkRm9yVGVzdHMg
PSByZWNvcmQ7CiAgICAgaWYgKHJlY29yZC5zdGFja1RyYWNlICYmIHJlY29yZC5zdGFja1RyYWNl
Lmxlbmd0aCkKICAgICAgICAgdGhpcy5zdGFja1RyYWNlID0gcmVjb3JkLnN0YWNrVHJhY2U7CiAg
ICAgdGhpcy50b3RhbEhlYXBTaXplID0gcmVjb3JkLnRvdGFsSGVhcFNpemU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGNmMjgwZTMx
ODM2MTg5YzhjYTNjZTYyNDZiYjI3YTJkZjAyYzBmMmEuLjY1NGZhYzMzZWUyZDNjMDliYTk0MTg3
ZDUyZGUwMzNiZGRhM2Q5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzCkBAIC01NzAsMTAgKzU3MCwyMCBAQCB2YXIgd2luZG93TG9hZGVk
ID0gZnVuY3Rpb24oKQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRl
ZCIsIHdpbmRvd0xvYWRlZCwgZmFsc2UpOwogCit2YXIgbWVzc2FnZXNUb0Rpc3BhdGNoID0gW107
CisKKy8vIFdlJ2QgbGlrZSB0byBlbmZvcmNlIGFzeW5jaHJvbm91cyBpbnRlcmFjdGlvbiBiZXR3
ZWVuIHRoZSBpbnNwZWN0b3IgY29udHJvbGxlciBhbmQgdGhlIGZyb250ZW5kLgorLy8gVGhpcyBp
cyBpbXBvcnRhbnQgdG8gcHJldmVudCByZS1lbnRlcmFiaWxpdHkgaW50byBiYWNrZW5kIGNvZGUu
CisvLyBBbHNvLCBub3RlIHRoYXQgbmF0aXZlIGRpc3BhdGNoZXMgc2NoZWR1bGluZyB0aW1lcnMg
ZG8gbm90IGd1YXJhbnRlZSB0byBiZSBzZXJpYWxpemVkLCBzbyB3ZQorLy8gZW5mb3JjZSBzZXJp
YWxpemF0aW9uIHVzaW5nICdtZXNzYWdlc1RvRGlzcGF0Y2gnIHF1ZXVlLgogV2ViSW5zcGVjdG9y
LmRpc3BhdGNoID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIC8vIFdlJ2QgbGlrZSB0byBlbmZv
cmNlIGFzeW5jaHJvbm91cyBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoZSBpbnNwZWN0b3IgY29udHJv
bGxlciBhbmQgdGhlIGZyb250ZW5kLgotICAgIC8vIFRoaXMgaXMgaW1wb3J0YW50IHRvIExheW91
dFRlc3RzLgotICAgIHNldFRpbWVvdXQoSW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaC5iaW5kKElu
c3BlY3RvckJhY2tlbmQpLCAwLCBtZXNzYWdlKTsKKyAgICBtZXNzYWdlc1RvRGlzcGF0Y2gucHVz
aChtZXNzYWdlKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB2YXIgY29w
eSA9IG1lc3NhZ2VzVG9EaXNwYXRjaDsKKyAgICAgICAgbWVzc2FnZXNUb0Rpc3BhdGNoID0gW107
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29weS5sZW5ndGg7ICsraSkKKyAgICAgICAg
ICAgIEluc3BlY3RvckJhY2tlbmQuZGlzcGF0Y2goY29weVtpXSk7CisgICAgfSwgMCk7CiB9CiAK
IFdlYkluc3BlY3Rvci5kaXNwYXRjaE1lc3NhZ2VGcm9tQmFja2VuZCA9IGZ1bmN0aW9uKG1lc3Nh
Z2VPYmplY3QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84852</attachid>
            <date>2011-03-05 01:48:32 -0800</date>
            <delta_ts>2011-03-05 01:57:21 -0800</delta_ts>
            <desc>[PATCH] Same with everything passing in debug.</desc>
            <filename>bug-55816-20110305124829.patch</filename>
            <type>text/plain</type>
            <size>41290</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZTg3MDc5ZjBjMTVmMWE4MzhiZTVl
Yjk0MGY4NGVmMGIzNjkxZTU3Li5mN2RkNWZjYTMzZDNkYjMxMTVjNzUxODAzYjk2OTRiZjljN2Zk
Y2YxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsNDIgQEAKIDIwMTEtMDMtMDQgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZml4IGxheW91dCB0ZXN0cyBmbGFraW5lc3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTgxNgor
CisgICAgICAgIC0gVGltZWxpbmUgbm93IHVzZXMgaW5zdHJ1bWVudGF0aW9uIGNhbGxzLCBub3Qg
VUkgcmVwcmVzZW50YXRpb24gd2hpbGUgY29sbGVjdGluZyBldmVudHMgZm9yIHRlc3RzCisgICAg
ICAgIC0gTm8gcmVsb2FkcyBpbiBkZWJ1Z2dlciB0ZXN0cyB0aGF0IGRvbid0IG5lZWQgdGhlbQor
ICAgICAgICAtIEZvcmNpbmcgbGF5b3V0IGluIHRpbWVsaW5lIHZpYSBjYWxjdWxhdGluZyBvZmZz
ZXRIZWlnaHQKKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJv
ci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMv
c3ludGF4LWVycm9yLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20tanMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRl
c3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3Quc3RhcnRU
aW1lbGluZS5hZGRSZWNvcmQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0
b3JUZXN0LnN0YXJ0VGltZWxpbmUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNw
ZWN0b3JUZXN0LnN0b3BUaW1lbGluZSk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLklu
c3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludC5zdGVwMik6CisgICAgICAgIChpbml0
aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCk6Cisg
ICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJl
Y29yZHMpOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0
bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0OgorCisyMDExLTAzLTA0ICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIE5vdCByZXZpZXdlZDog
Zm9sbG93IHVwIHRvIDgwMzU1LCBmaXhpbmcgUXQgdGVzdHMuCiAKICAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKaW5kZXggYTg5NzJkMDE5ODIzNmM5
ODkyYzE2OGE1NTlkNWU1MTEwODQ2ODAzOS4uNTNlNGYzNTBkMWU1YWEwYmFlMWRmN2RjY2FkYjA0
NDEzN2EwZWQ1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKQEAgLTI3Niw3ICsyNzYsNyBAQCBmdW5jdGlvbiBydW5UZXN0KGVu
YWJsZVdhdGNoRG9nV2hpbGVEZWJ1Z2dpbmcpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2hvd1BhbmVsKCJjb25zb2xlIik7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAg
ICB0ZXN0RnVuY3Rpb24oKTsKICAgICAgICAgfSBjYXRjaCAoZSkgewpAQCAtMzI4LDEwICszMjgs
MTYgQEAgdmFyIG91dHB1dEVsZW1lbnQ7CiBmdW5jdGlvbiBvdXRwdXQodGV4dCkKIHsKICAgICBp
ZiAoIW91dHB1dEVsZW1lbnQpIHsKKyAgICAgICAgdmFyIGludGVybWVkaWF0ZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGludGVybWVkaWF0ZSk7CisKKyAgICAgICAgdmFyIGludGVybWVkaWF0ZTIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgaW50ZXJtZWRpYXRlLmFwcGVuZENoaWxkKGlu
dGVybWVkaWF0ZTIpOworCiAgICAgICAgIG91dHB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKICAgICAgICAgb3V0cHV0RWxlbWVudC5jbGFzc05hbWUgPSAib3V0cHV0
IjsKICAgICAgICAgb3V0cHV0RWxlbWVudC5zdHlsZS53aGl0ZVNwYWNlID0gInByZSI7Ci0gICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0cHV0RWxlbWVudCk7CisgICAgICAgIGlu
dGVybWVkaWF0ZTIuYXBwZW5kQ2hpbGQob3V0cHV0RWxlbWVudCk7CiAgICAgfQogICAgIG91dHB1
dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCkpOwogICAg
IG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvYXVkaXRzL2F1ZGl0cy1wYW5lbC1m
dW5jdGlvbmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvYXVkaXRzL2F1ZGl0cy1wYW5l
bC1mdW5jdGlvbmFsLmh0bWwKaW5kZXggZmI4ZGMyYTk1YmRjMWJkNDUzMmY5MzllYzViMmMxOGE1
MjU1MWRkMC4uN2M5ZjJlYmEzNDgzYjQxZDAwN2JiOTFiNWNmMDc4NWJhM2IxMjJmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2F1ZGl0cy9hdWRpdHMtcGFuZWwtZnVuY3Rpb25h
bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9hdWRpdHMvYXVkaXRzLXBhbmVsLWZ1
bmN0aW9uYWwuaHRtbApAQCAtMTYsNiArMTYsOCBAQAogPHNjcmlwdD4KIHZhciB0ZXN0ID0gZnVu
Y3Rpb24oKQogeworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7CisKICAg
ICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOwogCiAgICAgZnVuY3Rpb24gc3RlcDEo
KQpAQCAtMzAsNyArMzIsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgbGF1bmNo
ZXJWaWV3Ll9sYXVuY2hCdXR0b25DbGlja2VkKCk7CiAKICAgICAgICAgSW5zcGVjdG9yVGVzdC5y
dW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAyKTsKLSAgICB9ICAgIAorICAgIH0KIAogICAg
IGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQKaW5kZXggZTUwOGQzYjdjMTJjOGI5ZDI1NGZlNTNhODYxZWU1OWRkMzZhNDcwYy4u
ZWI3ZGNmNjVhZTUzMGM0ZGRmNGMyNjIyYWYzNjQ0NThmMmEzNTJjYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5j
YXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogRXhjZXB0aW9uIGluIGlubGluZSBzY3JpcHQuCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTk6IEVycm9yOiBFeGNlcHRpb24gaW4gJ2xvYWQnIGV2ZW50IGxp
c3RlbmVyLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBFcnJvcjogRXhjZXB0aW9uIGluIHNl
dFRpbWVvdXQgY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBFeGNl
cHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogRXJyb3I6
IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjc6IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxODogRXJyb3I6IEV4Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDExOiBFcnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBs
aXN0ZW5lci4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBFcnJvcjogRXhjZXB0aW9uIGluIHNl
dFRpbWVvdXQgY2FsbGJhY2suCiBUZXN0cyB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgYXJlIGxv
Z2dlZCBpbnRvIGNvbnNvbGUuQnVnIDQ3MjUwLgogCi1QYWdlIHJlbG9hZGVkLgotY29uc29sZS11
bmNhdWdodC1leGNlcHRpb24uaHRtbDozNUVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlw
dC4KLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MTlFcnJvcjogRXhjZXB0aW9uIGlu
ICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6
MjdFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCisKK3VuY2F1Z2h0LWlu
LWlmcmFtZS5odG1sOjE4RXJyb3I6IEV4Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LgordW5jYXVn
aHQtaW4taWZyYW1lLmh0bWw6MTFFcnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0
ZW5lci4KK3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjZFcnJvcjogRXhjZXB0aW9uIGluIHNldFRp
bWVvdXQgY2FsbGJhY2suCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sCmluZGV4IDQ2MTcxOGNj
NThhY2M5MmY5ODk3YWU0MTNhNjg3OGY2NTg4Y2RhZTEuLjk5NWEzZTc2ZTFmNzEwMWIzNTlkYjAx
ZDRkMDExOGZkNjFmODI3MWYgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbApAQCAtNCw0NCAr
NCwyNyBAQAogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUt
dGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi0KIGZ1bmN0aW9uIHRlc3QoKQogewotICAg
IEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBhbmRDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
Q29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgfSk7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24o
ZSkgewotICAgIGZ1bmN0aW9uIGYoKSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0
aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4iKQotICAgIH0KLSAgICBmKCk7Ci19LCBmYWxz
ZSk7Ci0KLQotc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBiYXIoKSB7Ci0g
ICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2su
Iik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmll
dy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgYWRkTWVzc2FnZSwgdHJ1ZSk7CisgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgpIik7CisgICAgZnVuY3Rpb24gYWRk
TWVzc2FnZShtZXNzYWdlKQorICAgIHsKKyAgICAgICAgaWYgKG1lc3NhZ2UudG9TdHJpbmcoKS5p
bmRleE9mKCJzZXRUaW1lb3V0IikgIT09IC0xKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
Q29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgICAgICB9CiAgICAgfQotICAgIGJhcigpOwotfSwgMCk7Ci0KLQotZnVuY3Rpb24g
YSgpCi17Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4i
KQogfQogCi1mdW5jdGlvbiBiKCkKK2Z1bmN0aW9uIGxvYWRJZnJhbWUoKQogewotICAgIGEoKTsK
KyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAg
aWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWwiOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0KIAotYigpOwotCiA8L3NjcmlwdD4K
IDwvaGVhZD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2Rl
YnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgt
ZXJyb3ItZXhwZWN0ZWQudHh0CmluZGV4IDUyZjZkM2E0MGU3MjBjNGRhYTgxYTA2OWQxMGE4ZmZl
Y2ZiMjNjMjIuLmI4NDhjOWM2MjE3YjJjOTA2YjIzNjQ4MDVjYzhkNWJiOThkYjYwZjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGlu
dWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3Rl
ZC50eHQKQEAgLTEsOCArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3ludGF4RXJy
b3I6IFBhcnNlIGVycm9yCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3ludGF4RXJyb3I6IFBh
cnNlIGVycm9yCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogU3ludGF4RXJyb3I6IFBhcnNlIGVy
cm9yCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgODogSWZyYW1lIGxvYWRlZAogVGVzdHMgdGhhdCBk
ZWJ1Z2dlciB3b24ndCBzdG9wIG9uIHN5bnRheCBlcnJvcnMgZXZlbiBpZiAicGF1c2Ugb24gdW5j
YXVnaHQgZXhjZXB0aW9ucyIgaXMgb24uCiAKIERlYnVnZ2VyIHdhcyBlbmFibGVkLgotUGFnZSBy
ZWxvYWRlZC4KIERlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJy
b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29u
dGludWUtb24tc3ludGF4LWVycm9yLmh0bWwKaW5kZXggZDZhNmM0NWY4MGY3ODdlYWRmOWI3ZmI3
MTdhZGRkNTNjNWM3NTdjZC4uYmJjYjg5NjA1NWQ3YTA5ZWQxNDcxZWUwMDliYWNiNTQ5ZjhhMDdk
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1
dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sCkBA
IC0yLDI3ICsyLDMxIEBACiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3N5bnRheC1lcnJvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCitm
dW5jdGlvbiBsb2FkSWZyYW1lKCkKK3sKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaWZyYW1lIik7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30KKwog
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIp
OwotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RhcnREZWJ1Z2dlclRlc3RD
YWxsYmFjayk7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7CiAK
LSAgICBmdW5jdGlvbiBzdGFydERlYnVnZ2VyVGVzdENhbGxiYWNrKCkKKyAgICBmdW5jdGlvbiBz
dGVwMSgpCiAgICAgewogICAgICAgICBEZWJ1Z2dlckFnZW50LnNldFBhdXNlT25FeGNlcHRpb25z
U3RhdGUoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5QYXVzZU9uRXhjZXB0aW9uc1N0YXRlLlBh
dXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3Jp
cHRTb3VyY2UoImRlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRtbCIsIHJl
bG9hZEluc3BlY3RlZFBhZ2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2Vi
SW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSwgImFkZE1lc3NhZ2UiLCBzdGVwMik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUoKSIpOwogICAg
IH0KIAotICAgIGZ1bmN0aW9uIHJlbG9hZEluc3BlY3RlZFBhZ2UoKQorICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAg
ICAgICAgfSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsK
ICAgICB9Ci0KIH0KIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
YWVlMjE0NTRmM2ExMTNlNjM5YTA4MTI5OGMwMzVjMDU4NjI2ODJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50YXgtZXJyb3Iu
aHRtbApAQCAtMCwwICsxLDEwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKykKKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9ImNvbnNvbGUubG9nKCdJZnJhbWUgbG9hZGVk
Jyk7Ij4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1l
cnJvci5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4
LWVycm9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWE4Y2QxNzdhZmY5ZDFl
YzJiOWQxYjIxYWNlOWM0NWUyM2FlN2RmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMv
c3ludGF4LWVycm9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLWRlbGV0ZS1pbmxpbmUt
c3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1kZWxl
dGUtaW5saW5lLXN0eWxlLmh0bWwKaW5kZXggOTU1M2U1YzBjYTM3N2RlMjE0OTgyYTFmODk3Zjgz
NTJmNjQ4NmIwNC4uODhhOWViNDMxYTU4YmFiOGMyYmZjYThjNGEwMjg0MTM5YmMzZTViZiAxMDA3
NTUKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLWRlbGV0ZS1p
bmxpbmUtc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxl
bWVudHMtZGVsZXRlLWlubGluZS1zdHlsZS5odG1sCkBAIC02LDI5ICs2LDE0IEBACiAKIGZ1bmN0
aW9uIHRlc3QoKQogewotCisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsK
ICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZCIsIHN0ZXAxKTsK
IAotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICBmdW5jdGlvbiBzdGVwMShub2RlKQogICAgIHsK
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBzdHlsZSBwcm9wZXJ0eSBy
ZW1vdmFsOiIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHls
ZXModHJ1ZSk7Ci0KLSAgICAgICAgdmFyIHRyZWVFbGVtZW50OwotICAgICAgICB2YXIgaW5uZXJN
YXBwaW5nID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Ll9pZFRvRE9NTm9kZTsKLSAgICAgICAgZm9y
ICh2YXIgbm9kZUlkIGluIGlubmVyTWFwcGluZykgewotICAgICAgICAgICAgaWYgKGlubmVyTWFw
cGluZ1tub2RlSWRdLm5vZGVOYW1lID09PSAiRElWIikgewotICAgICAgICAgICAgICAgIHRyZWVF
bGVtZW50ID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy50cmVlT3V0bGluZS5maW5kVHJl
ZUVsZW1lbnQoaW5uZXJNYXBwaW5nW25vZGVJZF0pOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHZhciBzdHlsZUF0dHJFbGVtZW50ID0g
dHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIndlYmtp
dC1odG1sLWF0dHJpYnV0ZSIpWzFdOwotICAgICAgICB0cmVlRWxlbWVudC5fc3RhcnRFZGl0aW5n
VGFyZ2V0KHN0eWxlQXR0ckVsZW1lbnQpOwotICAgICAgICB2YXIgZWRpdG9yRWxlbWVudCA9IHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5hbmNob3JOb2RlLnBhcmVudEVsZW1lbnQ7Ci0KLSAgICAgICAg
Ly8gUmVtb3ZlIHRoZSAic3R5bGUiIGF0dHJpYnV0ZSBhbHRvZ2V0aGVyIChub3QganVzdCBjbGVh
ciBpdHMgdmFsdWUpLgotICAgICAgICBlZGl0b3JFbGVtZW50LnRleHRDb250ZW50ID0gIiI7Ci0g
ICAgICAgIGVkaXRvckVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtl
eUV2ZW50KCJFbnRlciIpKTsKKyAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIik7
CiAgICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMik7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxl
bWVudHMtcGFuZWwtbGltaXRlZC1jaGlsZHJlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtbGltaXRlZC1jaGlsZHJlbi1leHBlY3Rl
ZC50eHQKaW5kZXggMGFiODEyY2Y1NzE2NjZlZjNlODI5MTM3NWQ0Mzg3ZTNiMWQxNjZkYS4uMmJh
NmQxOWYyNWFhNmE5MjJkM2MyZWE1MjhkN2EyZTU2YWViMTgwMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLWxpbWl0ZWQtY2hpbGRyZW4t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50
cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dApAQCAtMzcsNyArMzcsNyBAQCBU
ZXN0cyB0aGF0IHNyYyBhbmQgaHJlZiBlbGVtZW50IHRhcmdldHMgYXJlIHJld3JpdHRlbiBwcm9w
ZXJseS4KICAgICAgICAgICAgICAgU2hvdyBBbGwgTm9kZXMgKDYgTW9yZSkKICAgICAgICAgICA8
L2Rpdj4KICAgICAgICAgICA8cD5UZXN0cyB0aGF0IHNyYyBhbmQgaHJlZiBlbGVtZW50IHRhcmdl
dHMgYXJlIHJld3JpdHRlbiBwcm9wZXJseS48L3A+Ci0gICAgICAgICsgPGRpdiBjbGFzcz0ib3V0
cHV0IiBzdHlsZT0id2hpdGUtc3BhY2U6IHByZTsgIj7igKY8L2Rpdj4KKyAgICAgICAgKyA8ZGl2
PuKApjwvZGl2PgogICAgICAgPC9ib2R5PgogICA8L2h0bWw+CiA9PT09PT09PT09PSBMb2FkZWQg
YWxsIGNoaWxkcmVuID09PT09PT09PT09CkBAIC01OCw3ICs1OCw3IEBAIFRlc3RzIHRoYXQgc3Jj
IGFuZCBocmVmIGVsZW1lbnQgdGFyZ2V0cyBhcmUgcmV3cml0dGVuIHByb3Blcmx5LgogICAgICAg
ICAgICAgICA8YT48L2E+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPHA+VGVzdHMgdGhh
dCBzcmMgYW5kIGhyZWYgZWxlbWVudCB0YXJnZXRzIGFyZSByZXdyaXR0ZW4gcHJvcGVybHkuPC9w
PgotICAgICAgICArIDxkaXYgY2xhc3M9Im91dHB1dCIgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7
ICI+4oCmPC9kaXY+CisgICAgICAgICsgPGRpdj7igKY8L2Rpdj4KICAgICAgIDwvYm9keT4KICAg
PC9odG1sPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxl
bWVudHMtcGFuZWwtc2VhcmNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
ZWxlbWVudHMtcGFuZWwtc2VhcmNoLmh0bWwKaW5kZXggNzhlYzczYTA2OTJmZGEyZDE4NDdjNDdj
YTEyYzBkOWZmOGUzZWQ2Yi4uNzI0OGU3Njc4NTk2NmE5MjkwZDYxZjJjMjY1YmRmMGM0ZDMzNDg2
OSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLXBh
bmVsLXNlYXJjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9lbGVt
ZW50cy1wYW5lbC1zZWFyY2guaHRtbApAQCAtNSw2ICs1LDggQEAKIDxzY3JpcHQ+CiBmdW5jdGlv
biB0ZXN0KCkKIHsKKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOworCiAg
ICAgdmFyIHNlYXJjaFJlc3VsdHMgPSBbXTsKICAgICBmdW5jdGlvbiBhZGRTZWFyY2hSZXN1bHQo
bWFya3VwVmFsdWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IGFi
YzY4YjM4OWVmNDAzYTEyNzMwYWVhNzhkOWFiNjkzOTNjYzliZDguLjVmMGZjOTQ2ZDViYjdkNTRh
NjI4ODJlNTYzNTYzZDY3ZGY0ZWYyMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQK
QEAgLTUsOCArNSw4IEBAIFJ1bm5pbmcgdGVzdHMuLi4KIFJVTk5JTkcgVEVTVDogZXh0ZW5zaW9u
X3Rlc3RPblJlc291cmNlRmluaXNoZWQKIG9uRmluaXNoZWQgZmlyZWQKIFJVTk5JTkcgVEVTVDog
ZXh0ZW5zaW9uX3Rlc3RQYWdlTG9hZEV2ZW50cworUGFnZSByZWxvYWRlZC4KIG9uRE9NQ29udGVu
dExvYWRlZCBmaXJlZDogbnVtYmVyCiBvbkxvYWRlZCBmaXJlZDogbnVtYmVyCi1QYWdlIHJlbG9h
ZGVkLgogQWxsIHRlc3RzIGRvbmUuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMvc3R5bGVzLWFkZC1ibGFuay1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5Lmh0bWwKaW5kZXggYTA0MDY0
ZDVhMmJkYTllM2IyZWY0MGY5OGI4ODUxNWY4YmRkMWJhYS4uMWIzMmRjNTc3YjFiYWFhNjI1Zjc1
YTk0YTA5NDFkZjRhNWExNzczMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0
eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5Lmh0bWwKQEAgLTYsNiArNiw3
IEBACiAKIGZ1bmN0aW9uIHRlc3QoKQogeworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVs
ZW1lbnRzIik7CiAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWQi
LCBzdGVwMSk7CiAKICAgICB2YXIgdHJlZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUtZnJvbS1qcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUtZnJvbS1qcy1leHBlY3Rl
ZC50eHQKaW5kZXggMzM1ZmY1NWJiYjZiYzE5Y2Y1NjBlOWJlYjViM2MxYzllMjQ2ZWEwZS4uMTBm
MTgyMzIyMzc1NjY2NWRkNWYxMGQ2ZTU2OWE4Yjk5MzY0NzJhMSAxMDA3NTUKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20tanMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpz
LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDkgQEAKIFRlc3RzIHRoYXQgY2hhbmdlcyB0byBhbiBp
bmxpbmUgc3R5bGUgZnJvbSBKYXZhU2NyaXB0IGFyZSByZWZsZWN0ZWQgaW4gdGhlIFN0eWxlcyBw
YW5lIGFuZCBFbGVtZW50cyB0cmVlLgogCi0nc3R5bGUnIGF0dHJpYnV0ZSBtb2RpZmllZDoKKwor
UnVubmluZzogdGVzdEluaXQKKworUnVubmluZzogdGVzdFNldFN0eWxlQXR0cmlidXRlCiA8ZGl2
IGlkPSJjb250YWluZXIiIHN0eWxlPSJjb2xvcjogI2RhQzBERTsgYm9yZGVyOiAxcHggc29saWQg
YmxhY2s7Ij48L2Rpdj4KIFtleHBhbmRlZF0gZWxlbWVudC5zdHlsZSB7ICgpCiBjb2xvcjogI0RB
QzBERTsKQEAgLTE5LDEzICsyMiwxNSBAQCBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAgICBi
b3JkZXItbGVmdC1jb2xvcjogYmxhY2s7CiAKIAotY3NzVGV4dCBtb2RpZmllZDoKKworUnVubmlu
ZzogdGVzdFNldFN0eWxlQ1NTVGV4dAogPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iY29sb3I6
IHJnYigxOTIsIDI1NSwgMjM4KTsgIj48L2Rpdj4KIFtleHBhbmRlZF0gZWxlbWVudC5zdHlsZSB7
ICgpCiBjb2xvcjogI0MwRkZFRTsKIAogCi1wYXJzZWQgYXR0cmlidXRlcyBtb2RpZmllZDoKKwor
UnVubmluZzogdGVzdFNldFZpYVBhcnNlZEF0dHJpYnV0ZXMKIDxkaXYgaWQ9ImNvbnRhaW5lciIg
c3R5bGU9ImNvbG9yOiByZ2IoMTkyLCAyNTUsIDIzOCk7IGJvcmRlci10b3Atc3R5bGU6IGRhc2hl
ZDsgYm9yZGVyLXJpZ2h0LXN0eWxlOiBkYXNoZWQ7IGJvcmRlci1ib3R0b20tc3R5bGU6IGRhc2hl
ZDsgYm9yZGVyLWxlZnQtc3R5bGU6IGRhc2hlZDsgYm9yZGVyLXRvcC1jb2xvcjogZ3JlZW47IGJv
cmRlci1yaWdodC1jb2xvcjogZ3JlZW47IGJvcmRlci1ib3R0b20tY29sb3I6IGdyZWVuOyBib3Jk
ZXItbGVmdC1jb2xvcjogZ3JlZW47IGJvcmRlci10b3Atd2lkdGg6IDNweDsgYm9yZGVyLXJpZ2h0
LXdpZHRoOiAzcHg7IGJvcmRlci1ib3R0b20td2lkdGg6IDNweDsgYm9yZGVyLWxlZnQtd2lkdGg6
IDNweDsgIj48L2Rpdj4KIFtleHBhbmRlZF0gZWxlbWVudC5zdHlsZSB7ICgpCiBjb2xvcjogI0Mw
RkZFRTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVw
ZGF0ZS1mcm9tLWpzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11
cGRhdGUtZnJvbS1qcy5odG1sCmluZGV4IGY4ODVhYjllN2EzZTdkNTI2ZjFmNDcwNzc3ZWFiN2Uz
M2I2NDFmYzAuLmU0NjYxZmYxMjY0MmQ4ZmM2NzU2OTE1YjM1MmZkNjQ2ZTcwMDE1NzcgMTAwNzU1
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZy
b20tanMuaHRtbApAQCAtOCw3ICs4LDcgQEAgZnVuY3Rpb24gbW9kaWZ5U3R5bGVBdHRyaWJ1dGUo
KQogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5zZXRBdHRyaWJ1dGUo
InN0eWxlIiwgImNvbG9yOiAjZGFDMERFOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsiKTsKIH0K
IAotZnVuY3Rpb24gbW9kaWZ5Q3NzVGV4dCgpCitmdW5jdGlvbiBtb2RpZnlDU1NUZXh0KCkKIHsK
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIikuc3R5bGUuY3NzVGV4dCA9
ICJjb2xvcjogI0MwRkZFRSI7CiB9CkBAIC0yMiw0NyArMjIsNTQgQEAgZnVuY3Rpb24gbW9kaWZ5
UGFyc2VkQXR0cmlidXRlcygpCiAKIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIEluc3BlY3RvclRl
c3Quc2VsZWN0Tm9kZVdpdGhJZCgiY29udGFpbmVyIiwgc3RlcDApOworICAgIEluc3BlY3RvclRl
c3QucnVuVGVzdFN1aXRlKFsKIAotICAgIC8vIFNldCBzdHlsZSB2aWEgInN0eWxlIiBhdHRyaWJ1
dGUuCi0gICAgZnVuY3Rpb24gc3RlcDAoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgibW9kaWZ5U3R5bGVBdHRyaWJ1dGUoKSIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlw
ZSwgIl9yZWJ1aWxkVXBkYXRlIiwgc3RlcDEpOwotICAgIH0KLQotICAgIC8vIFNldCBzdHlsZSB2
aWEgY3NzVGV4dC4KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiJ3N0eWxlJyBhdHRyaWJ1dGUgbW9kaWZpZWQ6Iik7Ci0gICAgICAg
IGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKLQotICAgICAgICAvLyBJbmhpYml0IHRoZSBzZWNv
bmQgU3R5bGVzIHBhbmUgdXBkYXRlIGZyb20gc3RlcDAoKS4KLSAgICAgICAgZnVuY3Rpb24gY2Fs
bGJhY2soKQorICAgICAgICBmdW5jdGlvbiB0ZXN0SW5pdChuZXh0KQogICAgICAgICB7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGVi
YXJQYW5lLnByb3RvdHlwZSwgIl9yZWJ1aWxkVXBkYXRlIiwgc3RlcDIpOwotICAgICAgICB9Ci0K
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibW9kaWZ5Q3NzVGV4dCgpIiwg
Y2FsbGJhY2spOwotICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdp
dGhJZCgiY29udGFpbmVyIiwgbmV4dCk7CisgICAgICAgIH0sCiAKLSAgICAvLyBTZXQgc3R5bGUg
dmlhIHBhcnNlZCBhdHRyaWJ1dGVzLgotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJjc3NUZXh0IG1vZGlmaWVkOiIpOwotICAgICAg
ICBkdW1wQXR0cmlidXRlQW5kU3R5bGVzKCk7CisgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRTdHls
ZUF0dHJpYnV0ZShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXBkYXRlQ291bnQg
PSAwOworICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIC8vIEV4cGVjdCB0d28gdXBkYXRlcyB3aGlsZSBzZXR0aW5nIGF0dHJpYnV0
ZS4KKyAgICAgICAgICAgICAgICBpZiAoKyt1cGRhdGVDb3VudCA9PT0gMikgeworICAgICAgICAg
ICAgICAgICAgICBkdW1wQXR0cmlidXRlQW5kU3R5bGVzKCk7CisgICAgICAgICAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnBy
b3RvdHlwZSwgIl9yZWJ1aWxkVXBkYXRlIiwgY2FsbGJhY2ssIHRydWUpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibW9kaWZ5U3R5bGVBdHRyaWJ1dGUoKSIpOwor
ICAgICAgICB9LAogCi0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlm
eVBhcnNlZEF0dHJpYnV0ZXMoKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIo
V2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZSwgIl9yZWJ1aWxkVXBkYXRl
Iiwgc3RlcDMpOwotICAgIH0KKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldFN0eWxlQ1NTVGV4dChu
ZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdXBkYXRlQ291bnQgPSAwOworICAgICAg
ICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IC8vIEV4cGVjdCB0d28gdXBkYXRlcyB3aGlsZSBzZXR0aW5nIGNzcyB0ZXh0LgorICAgICAgICAg
ICAgICAgIGlmICgrK3VwZGF0ZUNvdW50ID09PSAyKSB7CisgICAgICAgICAgICAgICAgICAgIGR1
bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLCAiX3Jl
YnVpbGRVcGRhdGUiLCBjYWxsYmFjaywgdHJ1ZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlDU1NUZXh0KCkiLCBjYWxsYmFjayk7CisgICAgICAgIH0s
CiAKLSAgICAvLyBGaW5pc2ggdGhlIHRlc3QuCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInBhcnNlZCBhdHRyaWJ1dGVzIG1vZGlm
aWVkOiIpOwotICAgICAgICBkdW1wQXR0cmlidXRlQW5kU3R5bGVzKCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQorICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0
VmlhUGFyc2VkQXR0cmlidXRlcyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlv
biBjYWxsYmFjaygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZHVtcEF0dHJpYnV0
ZUFuZFN0eWxlcygpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lk
ZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBjYWxsYmFjayk7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlQYXJzZWRBdHRyaWJ1dGVz
KCkiKTsKKyAgICAgICAgfQorICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZHVtcEF0dHJpYnV0ZUFu
ZFN0eWxlcygpCiAgICAgewpAQCAtNzcsNiArODQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAg
IGZ1bmN0aW9uIGZpbmROb2RlVHJlZUVsZW1lbnQoKQogICAgIHsKKyAgICAgICAgV2ViSW5zcGVj
dG9yLnBhbmVscy5lbGVtZW50cy51cGRhdGVNb2RpZmllZE5vZGVzKCk7CiAgICAgICAgIHZhciBl
eHBhbmRlZE5vZGUgPSBJbnNwZWN0b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJZCgiY29udGFpbmVy
Iik7CiAgICAgICAgIGlmICghZXhwYW5kZWROb2RlKSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiJ2NvbnRhaW5lcicgbm9kZSBub3QgZm91bmQiKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbAppbmRleCAy
NmFlYjIzNzBiYjI0MDU0YzdlMjM5ZjdlZjI2MDVjODlhNTk3NDYwLi5iNTkwYjMxZDYxNGEzZDE4
OGExZTc2YzU0NTFiMTQ0Yzk1MzA3ZTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sCkBAIC05LDYgKzksOCBAQCBmdW5jdGlv
biBwZXJmb3JtQWN0aW9ucygpCiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICBlbGVtZW50LmlubmVySFRNTCA9ICJUZXN0IGRhdGEiOwogICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgLy8gRm9yY2UgbGF5b3V0Lgor
ICAgIHZhciBmb28gPSBlbGVtZW50Lm9mZnNldEhlaWdodDsKIH0KIAogZnVuY3Rpb24gdGVzdCgp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0
d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKaW5kZXggNjMxOTA5NGE2
NjNlYjRhMGM5Y2JjZGRkNTQ1NWJkNGRiNGE1OTdkOC4uYzQ3MGFjZjQwYWFiMWM5Mzk5ZWNkNDU2
ZTcxYjYyOWU1MmZiMGE4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVk
LnR4dApAQCAtMSwxMSArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogU2NyaXB0IGV2
YWx1YXRlZAogVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3
b3JrIHJlc291cmNlIGxvYWQKIAotU3RhcnQKLXN0ZXAwCi1zdGVwMQotc3RlcDIKLXN0ZXAzCitT
Y3JpcHQgcmVzb3VyY2UgbG9hZGVkCiAKIFJlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoK
IHsKQEAgLTQ5LDQgKzQ1LDQgQEAgUmVzb3VyY2VGaW5pc2ggUHJvcGVydGllczoKICAgICB1c2Vk
SGVhcFNpemUgOiA8bnVtYmVyPgogICAgIHRvdGFsSGVhcFNpemUgOiA8bnVtYmVyPgogfQotU2Ny
aXB0IHJlc291cmNlIGxvYWRlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAppbmRleCA4MzVh
Njc5YTQyZmNhZDg3MzhkMTljMjdhZDAyMTY4ZjVlMWE4MTA4Li4zYzE4MjMzMzljMGM1NDZkZjdk
MWRjNzhiMGQyOThmMGQxNjdlNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKQEAgLTE4
LDMxICsxOCwyMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB2YXIgcmVzb3VyY2VJZDsKICAgICB2
YXIgc2NyaXB0VXJsID0gInRpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMiOwogCi0gICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgidHJ1ZSIsIHN0ZXAwKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiU3RhcnQiKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAwKCkKLQl7Ci0JICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJzdGVwMCIpOwotCSAgICBUaW1lbGluZUFnZW50LnN0
YXJ0KHN0ZXAxKTsKLQl9CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKHN0ZXAxKTsK
IAogICAgIGZ1bmN0aW9uIHN0ZXAxKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJzdGVwMSIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJw
ZXJmb3JtQWN0aW9ucygpIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsKICAg
ICB9CiAKICAgICBmdW5jdGlvbiBzdGVwMigpCiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgic3RlcDIiKTsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAg
IGZ1bmN0aW9uIHN0ZXAzKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJzdGVwMyIpOwogICAgICAgICBmdW5jdGlvbiBmb3JtYXQocmVjb3JkKQogICAgICAgICB7CiAg
ICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50
LlJlY29yZFR5cGUuUmVzb3VyY2VTZW5kUmVxdWVzdCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAppbmRleCBj
YmJmMzk0YmFiZGU1ODJhNTU4YzY5NjM1YmVlODViODFkZmE2OTNmLi4yMjcyNzkxMzBkM2NlZGI3
MGM1NzIwM2MwNWM2YTE4MmQzNTcxZDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCkBAIC0xMywxNiAr
MTMsMTYgQEAgZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQogCiBmdW5jdGlvbiB0ZXN0KCkgCiB7
Ci0gICAgVGltZWxpbmVBZ2VudC5zdGFydChzdGVwMSk7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFy
dFRpbWVsaW5lKHN0ZXAxKTsKICAgICBmdW5jdGlvbiBzdGVwMSgpCiAgICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7CiAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90
eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKICAgICB7Ci0gICAgICAgIFRpbWVsaW5lQWdlbnQuc3RvcChzdGVwMyk7CisgICAgICAgIElu
c3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKHN0ZXAzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBz
dGVwMygpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtc2NyaXB0LXRhZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKaW5kZXggZmY3Mzc1YWZhMjlkOTQzZGJkOTlhNWJlNGFm
MjZiNWRmMDMyYjJhMS4uMWUwY2ViOTMwMGZlMTRmMjM0MTgxZjk4YzllNDNiMzkxNzljNmVkZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlw
dC10YWctMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1zY3JpcHQtdGFnLTIuaHRtbApAQCAtMTMsNyArMTMsNyBAQCBmdW5jdGlvbiBwZXJmb3JtQWN0
aW9ucygpCiAKIGZ1bmN0aW9uIHRlc3QoKSAKIHsKLSAgICBUaW1lbGluZUFnZW50LnN0YXJ0KHN0
ZXAxKTsKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOwogICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsKQEAg
LTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICBmdW5jdGlvbiBzdGVwMigpCiAg
ICAgewotICAgICAgICBUaW1lbGluZUFnZW50LnN0b3Aoc3RlcDMpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LnN0b3BUaW1lbGluZShzdGVwMyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RlcDMo
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRl
c3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qcwpp
bmRleCA5MTUzNjgxODc4YmQyNTlkYjJiNGJlOTA0MDQ1MGM0MTE5ZTVjMTU2Li4wMjQ5ZDgzYjUy
MzY3ZGNkZDg5YmI2MDNlNzBhNDdkZjk2YzNhYTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qcwpAQCAtMTUsOSArMTUsMjcgQEAgSW5zcGVj
dG9yVGVzdC50aW1lbGluZU5vbkRldGVybWluaXN0aWNQcm9wcyA9IHsKICAgICBtaW1lVHlwZSA6
IDEKIH07CiAKK0luc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZSA9IGZ1bmN0aW9uKGNhbGxiYWNr
KQoreworICAgIEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3JkcyA9IFtdOworICAgIFRpbWVs
aW5lQWdlbnQuc3RhcnQoY2FsbGJhY2spOworICAgIGZ1bmN0aW9uIGFkZFJlY29yZChyZWNvcmQp
CisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMucHVzaChyZWNv
cmQpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgcmVjb3JkLmNoaWxkcmVuICYmIGkgPCByZWNv
cmQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBhZGRSZWNvcmQocmVjb3JkLmNo
aWxkcmVuW2ldKTsKKyAgICB9CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZURpc3BhdGNoZXIucHJvdG90eXBlLCAiYWRkUmVjb3JkVG9UaW1lbGluZSIs
IGFkZFJlY29yZCwgdHJ1ZSk7Cit9OworCitJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZSA9IGZ1
bmN0aW9uKGNhbGxiYWNrKQoreworICAgIFRpbWVsaW5lQWdlbnQuc3RvcChjYWxsYmFjayk7Cit9
OworCiBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJpbnQgPSBmdW5jdGlvbihhY3Rp
b25zLCB0eXBlTmFtZSkKIHsKLSAgICBUaW1lbGluZUFnZW50LnN0YXJ0KHN0ZXAxKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOwogICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
ICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYWN0aW9ucywgc3Rl
cDIpOwpAQCAtMjUsNyArNDMsNyBAQCBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5kUHJp
bnQgPSBmdW5jdGlvbihhY3Rpb25zLCB0eXBlTmFtZSkKIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
ICAgICB7Ci0gICAgICAgIFRpbWVsaW5lQWdlbnQuc3RvcChzdGVwMyk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Quc3RvcFRpbWVsaW5lKHN0ZXAzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVw
MygpCkBAIC0zMywxMyArNTEsMTIgQEAgSW5zcGVjdG9yVGVzdC5wZXJmb3JtQWN0aW9uc0FuZFBy
aW50ID0gZnVuY3Rpb24oYWN0aW9ucywgdHlwZU5hbWUpCiAgICAgICAgIEluc3BlY3RvclRlc3Qu
cHJpbnRUaW1lbGluZVJlY29yZHModHlwZU5hbWUpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwogICAgIH0KLX0KK307CiAKIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGlu
ZVJlY29yZHMgPSBmdW5jdGlvbih0eXBlTmFtZSwgZm9ybWF0dGVyKQogewotICAgIHZhciB0aW1l
bGluZVJlY29yZHMgPSBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlc3VsdHMoKTsKLSAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRpbWVsaW5lUmVjb3Jkcy5sZW5ndGg7ICsraSkgewotICAgICAgICB2
YXIgcmVjb3JkID0gdGltZWxpbmVSZWNvcmRzW2ldOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
SW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZh
ciByZWNvcmQgPSBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHNbaV07CiAgICAgICAgIGlm
ICh0eXBlTmFtZSAmJiByZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQu
UmVjb3JkVHlwZVt0eXBlTmFtZV0pCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGlt
ZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7CiAgICAgICAgIGlmIChmb3JtYXR0ZXIpCkBA
IC00NywyMSArNjQsNiBAQCBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzID0gZnVu
Y3Rpb24odHlwZU5hbWUsIGZvcm1hdHRlcikKICAgICB9CiB9OwogCi1JbnNwZWN0b3JUZXN0Ll90
aW1lbGluZVJlc3VsdHMgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmVzdWx0ID0gW107Ci0gICAg
ZnVuY3Rpb24gYWRkUmVjb3JkcyhyZWNvcmRzKQotICAgIHsKLSAgICAgICAgaWYgKCFyZWNvcmRz
KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29y
ZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHJlc3VsdC5wdXNoKHJlY29yZHNbaV0ub3Jp
Z2luYWxSZWNvcmRGb3JUZXN0cyk7Ci0gICAgICAgICAgICBhZGRSZWNvcmRzKHJlY29yZHNbaV0u
Y2hpbGRyZW4pOwotICAgICAgICB9Ci0gICAgfQotICAgIGFkZFJlY29yZHMoV2ViSW5zcGVjdG9y
LnBhbmVscy50aW1lbGluZS5fcm9vdFJlY29yZC5jaGlsZHJlbik7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX07Ci0KIC8vIER1bXAganVzdCB0aGUgcmVjb3JkIG5hbWUsIGluZGVudGluZyBvdXRwdXQg
b24gc2VwYXJhdGUgbGluZXMgZm9yIHN1YnJlY29yZHMKIEluc3BlY3RvclRlc3QuZHVtcFRpbWVs
aW5lUmVjb3JkID0gZnVuY3Rpb24ocmVjb3JkLCBsZXZlbCkgCiB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbAppbmRleCAzYTRm
Nzc1OWNkNTkwOGRhODg0MDU5MzkzY2E3MTMwNTc0NDJlMDM0Li5lN2RmODk4NGJiMWMxMzA3YWU0
YzU0MzkxM2M1MjE3YTMxZTAwNjE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwKQEAgLTEsNiArMSw3IEBACiA8aHRtbD4K
IDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0aW1lbGluZS10ZXN0LmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQ+CiAKIGZ1bmN0aW9uIHRlc3QoKSB7CkBAIC0xMCw3ICsxMSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKSB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUaW1lbGlu
ZSBzdGFydGVkIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiAgICAg
fQotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQoY2FsbGJhY2spOworICAgIEluc3BlY3RvclRlc3Qu
c3RhcnRUaW1lbGluZShjYWxsYmFjayk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNl
cHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CmluZGV4
IDA0NDdhMzM0OGJkNWI4YjI5MTU1MWI5MTI0NjhlMTQzMjk4ZTVmZmMuLmY5MzFlZmEwZDUxMWFj
NmUzZWQ5NDY2NjAwNjk4ZTE5NWE0MjhhYjMgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9u
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKQEAgLTEs
MTMgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBVbmNhdWdodCBFcnJvcjogRXhj
ZXB0aW9uIGluIGlubGluZSBzY3JpcHQuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IFVuY2F1
Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gJ2xvYWQnIGV2ZW50IGxpc3RlbmVyLgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI3OiBVbmNhdWdodCBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQg
Y2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFVuY2F1Z2h0IEVycm9yOiBFeGNl
cHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogVW5jYXVn
aHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjc6IFVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91dCBj
YWxsYmFjay4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxODogVW5jYXVnaHQgRXJyb3I6IEV4Y2Vw
dGlvbiBpbiBpbmxpbmUgc2NyaXB0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBVbmNhdWdo
dCBFcnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA2OiBVbmNhdWdodCBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2Fs
bGJhY2suCiBUZXN0cyB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgYXJlIGxvZ2dlZCBpbnRvIGNv
bnNvbGUuQnVnIDQ3MjUwLgogCi1QYWdlIHJlbG9hZGVkLgotY29uc29sZS11bmNhdWdodC1leGNl
cHRpb24uaHRtbDozNVVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC5h
Y29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDozNWJjb25zb2xlLXVuY2F1Z2h0LWV4Y2Vw
dGlvbi5odG1sOjQwKGFub255bW91cyBmdW5jdGlvbiljb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlv
bi5odG1sOjQzCi1jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjE5VW5jYXVnaHQgRXJy
b3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuZmNvbnNvbGUtdW5jYXVnaHQt
ZXhjZXB0aW9uLmh0bWw6MTkoYW5vbnltb3VzIGZ1bmN0aW9uKWNvbnNvbGUtdW5jYXVnaHQtZXhj
ZXB0aW9uLmh0bWw6MjEKLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MjdVbmNhdWdo
dCBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suYmFyY29uc29sZS11bmNh
dWdodC1leGNlcHRpb24uaHRtbDoyNyhhbm9ueW1vdXMgZnVuY3Rpb24pY29uc29sZS11bmNhdWdo
dC1leGNlcHRpb24uaHRtbDoyOQorY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDoxOFVu
Y2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC5hY29uc29sZS11bmNhdWdo
dC1leGNlcHRpb24uaHRtbDoxOGJjb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjIzKGFu
b255bW91cyBmdW5jdGlvbiljb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjI2Citjb25z
b2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjExVW5jYXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBp
biAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuZmNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6
MTEoYW5vbnltb3VzIGZ1bmN0aW9uKWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MTMK
K2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6NlVuY2F1Z2h0IEVycm9yOiBFeGNlcHRp
b24gaW4gc2V0VGltZW91dCBjYWxsYmFjay5iYXJjb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5o
dG1sOjYoYW5vbnltb3VzIGZ1bmN0aW9uKWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6
OAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3Iv
ZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKaW5kZXggM2Qy
YjhkMzJhZTM2ODdlN2E2Yzg3OTlmMDM0NmNiNTU5MDE0Y2RjNS4uYjA5YmFhMjRhNjBjNDZjOWIy
MTQ4NzhiYWQ1ODM0ZDhjOWFmYjIzYSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50
YXgtZXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9y
LWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBV
bmNhdWdodCBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiApCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTogVW5jYXVnaHQgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gKQorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDQ6IFVuY2F1Z2h0IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICkKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBJZnJhbWUgbG9hZGVkCiBUZXN0cyB0aGF0IGRl
YnVnZ2VyIHdvbid0IHN0b3Agb24gc3ludGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBvbiB1bmNh
dWdodCBleGNlcHRpb25zIiBpcyBvbi4KIAogRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1QYWdlIHJl
bG9hZGVkLgogRGVidWdnZXIgd2FzIGRpc2FibGVkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKaW5k
ZXggNzk1Yjk5OTg1MmZjZDUzNmVkNWQyYzk5MTUxYzc0ZjBhZjE2N2I2Yi4uMTQ4NWExMzZjMmU2
OWY1NDRhZjg5YTg3NjUzNTQyYmQ4MzNmYzRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3Vy
Y2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dApAQCAt
MSwxMSArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogU2NyaXB0IGV2YWx1YXRlZAog
VGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3JrIHJlc291
cmNlIGxvYWQKIAotU3RhcnQKLXN0ZXAwCi1zdGVwMQotc3RlcDIKLXN0ZXAzCitTY3JpcHQgcmVz
b3VyY2UgbG9hZGVkCiAKIFJlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoKIHsKQEAgLTUw
LDQgKzQ2LDQgQEAgUmVzb3VyY2VGaW5pc2ggUHJvcGVydGllczoKICAgICB1c2VkSGVhcFNpemUg
OiA8bnVtYmVyPgogICAgIHRvdGFsSGVhcFNpemUgOiA8bnVtYmVyPgogfQotU2NyaXB0IHJlc291
cmNlIGxvYWRlZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYwNTEwMTQ0ZWYzMWQ4ODkxZTU2MjQzMzgxNDg4
MjcxOWZlMWRkMi4uNjA4OGY1ZThlNDIyZGE1ZjNmNGFhMjVlODk4OWE3NWQ1NjJmYjQ5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTAzLTA0ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGZpeCBsYXlvdXQgdGVzdHMgZmxha2luZXNzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4MTYKKwor
ICAgICAgICAtIE9yZGVyIG9mIGlzc3Vpbmcgb2YgZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCB3
YXMgbm90IGd1YXJhbnRlZWQgb24gdGhlIGJhY2tlbmQgc2lkZSAoSW5zcGVjdG9yQWdlbnQgc2lk
ZSkKKyAgICAgICAgLSBPcmRlciBvZiBkaXNwYXRjaGluZyB1c2luZyB0aW1lb3V0cyB3YXMgZ3Vh
cmFudGVlZCB2aWEgcXVldWVpbmcuIFNvdXJjZSBvZiBhbGwga2luZHMgb2YgcGFpbnMgb24gU25v
d0xlb3BhcmQgUmVsZWFzZSAoaW5zcGVjdG9yLmpzKQorCisgICAgICAgICogaW5zcGVjdG9yL0Nv
ZGVHZW5lcmF0b3JJbnNwZWN0b3IucG06CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2Vu
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250ZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50Ojpwb3B1bGF0ZVNjcmlwdE9iamVj
dHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRlRm9yVGVzdElu
RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omlzc3VlRXZhbHVh
dGVGb3JUZXN0Q29tbWFuZHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuZGlzcGF0Y2gpOgorCiAyMDExLTAzLTA0ICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KaW5kZXgg
OTYzZWI2YzVlNDc2M2E2YWVlNjk2ODkxZGNkMGUyNTFkZjJmYzNhNi4uMjMyYWM0MTk4ZmJhNzM1
MzE1M2NmY2I0N2ZiYWNjOTA5NDdkYzVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KQEAgLTc3OCw3ICs3NzgsNiBAQCBJbnNw
ZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUgPSB7CiAgICAgX3dyYXA6IGZ1bmN0aW9uKGNhbGxi
YWNrKQogICAgIHsKICAgICAgICAgdmFyIGNhbGxiYWNrSWQgPSB0aGlzLl9sYXN0Q2FsbGJhY2tJ
ZCsrOwotICAgICAgICArK3RoaXMuX3BlbmRpbmdSZXNwb25zZXNDb3VudDsKICAgICAgICAgdGhp
cy5fY2FsbGJhY2tzW2NhbGxiYWNrSWRdID0gY2FsbGJhY2sgfHwgZnVuY3Rpb24oKSB7fTsKICAg
ICAgICAgcmV0dXJuIGNhbGxiYWNrSWQ7CiAgICAgfSwKQEAgLTgyNCw2ICs4MjMsOCBAQCBJbnNw
ZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjb25zb2xlLmxvZygi
ZnJvbnRlbmQ6ICIgKyBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KSk7CiAKICAgICAgICAgdmFyIG1l
c3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KTsKKworICAgICAgICArK3RoaXMuX3BlbmRp
bmdSZXNwb25zZXNDb3VudDsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNlbmRNZXNz
YWdlVG9CYWNrZW5kKG1lc3NhZ2UpOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IDIyNmQxOTdjNDIwZTEzMTk4YTYzYjdlMDk2NTU2
NmQyN2I3YjE0ZjQuLjE1Y2ViYTA4Mzk0Y2ZiNzA0ZjEwOTExZGQxYjU3Y2IwMDM3ZWM0MjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAtMTU4LDYg
KzE1OCw3IEBAIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdlLCBJbnNw
ZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1fYnJvd3NlckRlYnVnZ2VyQWdlbnQoSW5zcGVj
dG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0
KCksIG1fc3RhdGUuZ2V0KCksIG1fZG9tQWdlbnQuZ2V0KCksIG1fZGVidWdnZXJBZ2VudC5nZXQo
KSwgdGhpcykpCiAgICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6
Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9jb25zb2xlQWdlbnQuZ2V0KCks
IHBhZ2UpKQogI2VuZGlmCisgICAgLCBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVu
ZChmYWxzZSkKIHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwogICAgIEFTU0VSVF9BUkco
Y2xpZW50LCBjbGllbnQpOwpAQCAtMzk0LDYgKzM5NSw5IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6
OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAgICAgaWYgKCFtX2Zyb250ZW5kKQogICAgICAgICByZXR1
cm47CiAKKyAgICBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCA9IGZhbHNlOwor
ICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmNsZWFyKCk7CisKICAgICAvLyBEZXN0
cm95aW5nIGFnZW50cyB3b3VsZCBjaGFuZ2UgdGhlIHN0YXRlLCBidXQgd2UgZG9uJ3Qgd2FudCB0
aGF0LgogICAgIC8vIFByZS1kaXNjb25uZWN0IHN0YXRlIHdpbGwgYmUgdXNlZCB0byByZXN0b3Jl
IGluc3BlY3RvciBhZ2VudHMuCiAgICAgbV9zdGF0ZS0+bXV0ZSgpOwpAQCAtNDY5LDkgKzQ3Myw3
IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnBvcHVsYXRlU2NyaXB0T2JqZWN0cyhFcnJvclN0cmlu
ZyopCiAgICAgcmVzdG9yZVByb2ZpbGVyKFByb2ZpbGVyUmVzdG9yZU5vQWN0aW9uKTsKIAogICAg
IC8vIERpc3BhdGNoIHBlbmRpbmcgZnJvbnRlbmQgY29tbWFuZHMKLSAgICBmb3IgKFZlY3Rvcjxw
YWlyPGxvbmcsIFN0cmluZz4gPjo6aXRlcmF0b3IgaXQgPSBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RD
b21tYW5kcy5iZWdpbigpOyBpdCAhPSBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5kcy5lbmQo
KTsgKytpdCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQoKCppdCkuZmlyc3QsICgqaXQpLnNlY29uZCk7Ci0gICAgbV9wZW5kaW5nRXZh
bHVhdGVUZXN0Q29tbWFuZHMuY2xlYXIoKTsKKyAgICBpc3N1ZUV2YWx1YXRlRm9yVGVzdENvbW1h
bmRzKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnB1c2hEYXRhQ29sbGVjdGVkT2ZmbGlu
ZSgpCkBAIC03NjIsMTAgKzc2NCw5IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNob3dTY3JpcHRz
UGFuZWwoKQogCiB2b2lkIEluc3BlY3RvckFnZW50OjpldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5k
KGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCkKIHsKLSAgICBpZiAobV9mcm9udGVu
ZCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVzdEluRnJv
bnRlbmQoY2FsbElkLCBzY3JpcHQpOwotICAgIGVsc2UKLSAgICAgICAgbV9wZW5kaW5nRXZhbHVh
dGVUZXN0Q29tbWFuZHMuYXBwZW5kKHBhaXI8bG9uZywgU3RyaW5nPihjYWxsSWQsIHNjcmlwdCkp
OworICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmFwcGVuZChwYWlyPGxvbmcsIFN0
cmluZz4oY2FsbElkLCBzY3JpcHQpKTsKKyAgICBpZiAobV9jYW5Jc3N1ZUV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQpCisgICAgICAgIGlzc3VlRXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMoKTsKIH0K
IAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChFcnJv
clN0cmluZyosIGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIGpzb25SZXN1bHQpCkBAIC0xMDkz
LDYgKzEwOTQsMTcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6c2hvd1BhbmVsKGNvbnN0IFN0cmlu
ZyYgcGFuZWwpCiAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPnNob3dQYW5lbChwYW5lbCk7
CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQWdlbnQ6Omlzc3VlRXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMo
KQoreworICAgIGlmIChtX2Zyb250ZW5kKSB7CisgICAgICAgIFZlY3RvcjxwYWlyPGxvbmcsIFN0
cmluZz4gPiBjb3B5ID0gbV9wZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHM7CisgICAgICAgIG1f
cGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmNsZWFyKCk7CisgICAgICAgIGZvciAoVmVjdG9y
PHBhaXI8bG9uZywgU3RyaW5nPiA+OjppdGVyYXRvciBpdCA9IGNvcHkuYmVnaW4oKTsgbV9mcm9u
dGVuZCAmJiBpdCAhPSBjb3B5LmVuZCgpOyArK2l0KQorICAgICAgICAgICAgbV9mcm9udGVuZC0+
aW5zcGVjdG9yKCktPmV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQoKCppdCkuZmlyc3QsICgqaXQp
LnNlY29uZCk7CisgICAgICAgIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kID0g
dHJ1ZTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
CmluZGV4IDdjZjhjY2JlZGNmN2Y1MjA4ZDJiYjU5Y2NjYzJhZDljM2ZkZDFlMGEuLjE1MWRiYTUw
NGQwZmYyZGU5OTI2OThjMzE3NDQzNGZhOTVkYmZlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBZ2VudC5oCkBAIC0yMzksNiArMjM5LDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgZm9jdXNOb2RlKCk7CiAgICAgYm9vbCBpc01haW5SZXNvdXJjZUxvYWRlcihEb2N1bWVu
dExvYWRlciosIGNvbnN0IEtVUkwmIHJlcXVlc3RVcmwpOworICAgIHZvaWQgaXNzdWVFdmFsdWF0
ZUZvclRlc3RDb21tYW5kcygpOwogCiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQYWdlOwogICAgIElu
c3BlY3RvckNsaWVudCogbV9jbGllbnQ7CkBAIC0yODIsOSArMjgzLDkgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV91c2VyQWdlbnRPdmVycmlkZTsKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICB0
eXBlZGVmIEhhc2hNYXA8aW50cHRyX3QsIFJlZlB0cjxJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZT4g
PiBXb3JrZXJzTWFwOwotCiAgICAgV29ya2Vyc01hcCBtX3dvcmtlcnM7CiAjZW5kaWYKKyAgICBi
b29sIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDViZDkxNGFhYjIyYTgxZDNkNzliNTY4NTkzZmRjZjhj
MDE3OTE2NmIuLjYyYzVkZTA2ODBjZGY1MTNmNDUyNDYxNzdmMzE5YTk5ZTVkYzk1NzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwu
anMKQEAgLTg2NSw3ICs4NjUsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0
ZWRSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIHBhcmVudFJlY29yZCwgcGFuZQogICAgIHRoaXMu
ZW5kVGltZSA9ICh0eXBlb2YgcmVjb3JkLmVuZFRpbWUgIT09ICJ1bmRlZmluZWQiKSA/IHJlY29y
ZC5lbmRUaW1lIC8gMTAwMCA6IHRoaXMuc3RhcnRUaW1lOwogICAgIHRoaXMuX3NlbGZUaW1lID0g
dGhpcy5lbmRUaW1lIC0gdGhpcy5zdGFydFRpbWU7CiAgICAgdGhpcy5fbGFzdENoaWxkRW5kVGlt
ZSA9IHRoaXMuZW5kVGltZTsKLSAgICB0aGlzLm9yaWdpbmFsUmVjb3JkRm9yVGVzdHMgPSByZWNv
cmQ7CiAgICAgaWYgKHJlY29yZC5zdGFja1RyYWNlICYmIHJlY29yZC5zdGFja1RyYWNlLmxlbmd0
aCkKICAgICAgICAgdGhpcy5zdGFja1RyYWNlID0gcmVjb3JkLnN0YWNrVHJhY2U7CiAgICAgdGhp
cy50b3RhbEhlYXBTaXplID0gcmVjb3JkLnRvdGFsSGVhcFNpemU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGNmMjgwZTMxODM2MTg5
YzhjYTNjZTYyNDZiYjI3YTJkZjAyYzBmMmEuLmI0YzNmZGE4ZmUzYmUzOGVhZTkxYmJjNzQ0OTcy
ZTUzOWIwMjQ3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzCkBAIC01NzAsMTAgKzU3MCwxOSBAQCB2YXIgd2luZG93TG9hZGVkID0gZnVu
Y3Rpb24oKQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHdp
bmRvd0xvYWRlZCwgZmFsc2UpOwogCisvLyBXZSdkIGxpa2UgdG8gZW5mb3JjZSBhc3luY2hyb25v
dXMgaW50ZXJhY3Rpb24gYmV0d2VlbiB0aGUgaW5zcGVjdG9yIGNvbnRyb2xsZXIgYW5kIHRoZSBm
cm9udGVuZC4KKy8vIEl0IGlzIG5lZWRlZCB0byBwcmV2ZW50IHJlLWVudGVyaW5nIHRoZSBiYWNr
ZW5kIGNvZGUuCisvLyBBbHNvLCBuYXRpdmUgZGlzcGF0Y2hlcyBkbyBub3QgZ3VhcmFudGVlIHNl
dFRpbWVvdXRzIHRvIGJlIHNlcmlhbGl6ZWQsIHNvIHdlCisvLyBlbmZvcmNlIHNlcmlhbGl6YXRp
b24gdXNpbmcgJ21lc3NhZ2VzVG9EaXNwYXRjaCcgcXVldWUuIEl0IGlzIGFsc28gaW1wb3J0YW50
IHRoYXQgSlNDIGRlYnVnZ2VyCisvLyB0ZXN0cyByZXF1aXJlIHRoYXQgZWFjaCBjb21tYW5kIHdh
cyBkaXNwYXRjaCB3aXRoaW4gaW5kaXZpZHVhbCB0aW1lb3V0IGNhbGxiYWNrLCBzbyB3ZSBkb24n
dCBiYXRjaCB0aGVtLgorCit2YXIgbWVzc2FnZXNUb0Rpc3BhdGNoID0gW107CisKIFdlYkluc3Bl
Y3Rvci5kaXNwYXRjaCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKLSAgICAvLyBXZSdkIGxpa2UgdG8g
ZW5mb3JjZSBhc3luY2hyb25vdXMgaW50ZXJhY3Rpb24gYmV0d2VlbiB0aGUgaW5zcGVjdG9yIGNv
bnRyb2xsZXIgYW5kIHRoZSBmcm9udGVuZC4KLSAgICAvLyBUaGlzIGlzIGltcG9ydGFudCB0byBM
YXlvdXRUZXN0cy4KLSAgICBzZXRUaW1lb3V0KEluc3BlY3RvckJhY2tlbmQuZGlzcGF0Y2guYmlu
ZChJbnNwZWN0b3JCYWNrZW5kKSwgMCwgbWVzc2FnZSk7CisgICAgbWVzc2FnZXNUb0Rpc3BhdGNo
LnB1c2gobWVzc2FnZSk7CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgSW5z
cGVjdG9yQmFja2VuZC5kaXNwYXRjaChtZXNzYWdlc1RvRGlzcGF0Y2guc2hpZnQoKSk7CisgICAg
fSwgMCk7CiB9CiAKIFdlYkluc3BlY3Rvci5kaXNwYXRjaE1lc3NhZ2VGcm9tQmFja2VuZCA9IGZ1
bmN0aW9uKG1lc3NhZ2VPYmplY3QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84853</attachid>
            <date>2011-03-05 01:57:27 -0800</date>
            <delta_ts>2011-03-05 02:08:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55816-20110305125724.patch</filename>
            <type>text/plain</type>
            <size>41919</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA0MTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMWJkOTFiYzkzNTAxZjBlMjVjMWQ2
NDJhNmZjMWM5MTdkZjE2OTI0Li4wZDM3NWVjYjc2MGVmZjQ2ZDcyNTRkMTExYTg1NzU4OTZmNzAx
ZjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDMtMDQgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZml4IGxheW91dCB0ZXN0cyBmbGFraW5lc3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTgxNgor
CisgICAgICAgIC0gVGltZWxpbmUgbm93IHVzZXMgaW5zdHJ1bWVudGF0aW9uIGNhbGxzLCBub3Qg
VUkgcmVwcmVzZW50YXRpb24gd2hpbGUgY29sbGVjdGluZyBldmVudHMgZm9yIHRlc3RzCisgICAg
ICAgIC0gTm8gcmVsb2FkcyBpbiBkZWJ1Z2dlciB0ZXN0cyB0aGF0IGRvbid0IG5lZWQgdGhlbQor
ICAgICAgICAtIEZvcmNpbmcgbGF5b3V0IGluIHRpbWVsaW5lIHZpYSBjYWxjdWxhdGluZyBvZmZz
ZXRIZWlnaHQKKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1
Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJv
ci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMv
c3ludGF4LWVycm9yLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20tanMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1y
ZXNvdXJjZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRl
c3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3Quc3RhcnRU
aW1lbGluZS5hZGRSZWNvcmQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0
b3JUZXN0LnN0YXJ0VGltZWxpbmUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNw
ZWN0b3JUZXN0LnN0b3BUaW1lbGluZSk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLklu
c3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludC5zdGVwMik6CisgICAgICAgIChpbml0
aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCk6Cisg
ICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJl
Y29yZHMpOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0
bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0ZWQudHh0OgorCiAyMDExLTAzLTA1ICBDc2FiYSBP
c3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMK
aW5kZXggYTg5NzJkMDE5ODIzNmM5ODkyYzE2OGE1NTlkNWU1MTEwODQ2ODAzOS4uNTNlNGYzNTBk
MWU1YWEwYmFlMWRmN2RjY2FkYjA0NDEzN2EwZWQ1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKQEAgLTI3Niw3ICsyNzYsNyBA
QCBmdW5jdGlvbiBydW5UZXN0KGVuYWJsZVdhdGNoRG9nV2hpbGVEZWJ1Z2dpbmcpCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVt
ZW50cyIpOworICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJjb25zb2xlIik7CiAgICAg
ICAgIHRyeSB7CiAgICAgICAgICAgICB0ZXN0RnVuY3Rpb24oKTsKICAgICAgICAgfSBjYXRjaCAo
ZSkgewpAQCAtMzI4LDEwICszMjgsMTYgQEAgdmFyIG91dHB1dEVsZW1lbnQ7CiBmdW5jdGlvbiBv
dXRwdXQodGV4dCkKIHsKICAgICBpZiAoIW91dHB1dEVsZW1lbnQpIHsKKyAgICAgICAgdmFyIGlu
dGVybWVkaWF0ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGludGVybWVkaWF0ZSk7CisKKyAgICAgICAgdmFyIGludGVy
bWVkaWF0ZTIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgaW50ZXJt
ZWRpYXRlLmFwcGVuZENoaWxkKGludGVybWVkaWF0ZTIpOworCiAgICAgICAgIG91dHB1dEVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgb3V0cHV0RWxlbWVu
dC5jbGFzc05hbWUgPSAib3V0cHV0IjsKICAgICAgICAgb3V0cHV0RWxlbWVudC5zdHlsZS53aGl0
ZVNwYWNlID0gInByZSI7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0cHV0
RWxlbWVudCk7CisgICAgICAgIGludGVybWVkaWF0ZTIuYXBwZW5kQ2hpbGQob3V0cHV0RWxlbWVu
dCk7CiAgICAgfQogICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUodGV4dCkpOwogICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiYnIiKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
YXVkaXRzL2F1ZGl0cy1wYW5lbC1mdW5jdGlvbmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvYXVkaXRzL2F1ZGl0cy1wYW5lbC1mdW5jdGlvbmFsLmh0bWwKaW5kZXggZmI4ZGMyYTk1YmRj
MWJkNDUzMmY5MzllYzViMmMxOGE1MjU1MWRkMC4uN2M5ZjJlYmEzNDgzYjQxZDAwN2JiOTFiNWNm
MDc4NWJhM2IxMjJmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2F1ZGl0cy9h
dWRpdHMtcGFuZWwtZnVuY3Rpb25hbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9h
dWRpdHMvYXVkaXRzLXBhbmVsLWZ1bmN0aW9uYWwuaHRtbApAQCAtMTYsNiArMTYsOCBAQAogPHNj
cmlwdD4KIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQogeworICAgIFdlYkluc3BlY3Rvci5zaG93UGFu
ZWwoImVsZW1lbnRzIik7CisKICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOwog
CiAgICAgZnVuY3Rpb24gc3RlcDEoKQpAQCAtMzAsNyArMzIsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0
aW9uKCkKICAgICAgICAgbGF1bmNoZXJWaWV3Ll9sYXVuY2hCdXR0b25DbGlja2VkKCk7CiAKICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAyKTsKLSAg
ICB9ICAgIAorICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZTUwOGQzYjdjMTJjOGI5ZDI1NGZl
NTNhODYxZWU1OWRkMzZhNDcwYy4uZWI3ZGNmNjVhZTUzMGM0ZGRmNGMyNjIyYWYzNjQ0NThmMmEz
NTJjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11
bmNhdWdodC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwx
MyArMSwxMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogRXhjZXB0aW9uIGlu
IGlubGluZSBzY3JpcHQuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IEVycm9yOiBFeGNlcHRp
b24gaW4gJ2xvYWQnIGV2ZW50IGxpc3RlbmVyLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBF
cnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzU6IEVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxOTogRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIu
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91
dCBjYWxsYmFjay4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxODogRXJyb3I6IEV4Y2VwdGlvbiBp
biBpbmxpbmUgc2NyaXB0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBFcnJvcjogRXhjZXB0
aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBF
cnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCiBUZXN0cyB0aGF0IHVuY2F1
Z2h0IGV4Y2VwdGlvbnMgYXJlIGxvZ2dlZCBpbnRvIGNvbnNvbGUuQnVnIDQ3MjUwLgogCi1QYWdl
IHJlbG9hZGVkLgotY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDozNUVycm9yOiBFeGNl
cHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6
MTlFcnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLWNvbnNvbGUtdW5j
YXVnaHQtZXhjZXB0aW9uLmh0bWw6MjdFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2Fs
bGJhY2suCisKK3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjE4RXJyb3I6IEV4Y2VwdGlvbiBpbiBp
bmxpbmUgc2NyaXB0LgordW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6MTFFcnJvcjogRXhjZXB0aW9u
IGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KK3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjZFcnJv
cjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlv
bi5odG1sCmluZGV4IDQ2MTcxOGNjNThhY2M5MmY5ODk3YWU0MTNhNjg3OGY2NTg4Y2RhZTEuLjk5
NWEzZTc2ZTFmNzEwMWIzNTlkYjAxZDRkMDExOGZkNjFmODI3MWYgMTAwNzU1Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNl
cHRpb24uaHRtbApAQCAtNCw0NCArNCwyNyBAQAogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi0KIGZ1
bmN0aW9uIHRlc3QoKQogewotICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShmdW5jdGlvbigp
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfSk7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgZnVuY3Rpb24oZSkgewotICAgIGZ1bmN0aW9uIGYoKSB7Ci0gICAgICAgIHRo
cm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4iKQotICAg
IH0KLSAgICBmKCk7Ci19LCBmYWxzZSk7Ci0KLQotc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAg
ICBmdW5jdGlvbiBiYXIoKSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIGlu
IHNldFRpbWVvdXQgY2FsbGJhY2suIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgYWRkTWVzc2Fn
ZSwgdHJ1ZSk7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgp
Iik7CisgICAgZnVuY3Rpb24gYWRkTWVzc2FnZShtZXNzYWdlKQorICAgIHsKKyAgICAgICAgaWYg
KG1lc3NhZ2UudG9TdHJpbmcoKS5pbmRleE9mKCJzZXRUaW1lb3V0IikgIT09IC0xKSB7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9CiAgICAgfQotICAgIGJhcigpOwot
fSwgMCk7Ci0KLQotZnVuY3Rpb24gYSgpCi17Ci0gICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRp
b24gaW4gaW5saW5lIHNjcmlwdC4iKQogfQogCi1mdW5jdGlvbiBiKCkKK2Z1bmN0aW9uIGxvYWRJ
ZnJhbWUoKQogewotICAgIGEoKTsKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7CisgICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvdW5jYXVnaHQtaW4t
aWZyYW1lLmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIH0K
IAotYigpOwotCiA8L3NjcmlwdD4KIDwvaGVhZD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ0ODM2YzFiNTgyNTEyYTFjMTQwMTdmZjQzMTU3YmZmNzcxNmUxMzAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9yZXNvdXJj
ZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHNjcmlwdD4KK3dp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oZSkgeworICAgIGZ1bmN0aW9u
IGYoKSB7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBmdW5j
dGlvbiBiYXIoKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24g
aW4gc2V0VGltZW91dCBjYWxsYmFjay4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJh
cigpOworICAgICAgICB9LCAwKTsKKworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlv
biBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuIikKKyAgICB9CisgICAgZigpOworfSwgZmFsc2Up
OworCitmdW5jdGlvbiBhKCkKK3sKKyAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBpbiBp
bmxpbmUgc2NyaXB0LiIpCit9CisKK2Z1bmN0aW9uIGIoKQoreworICAgIGEoKTsKK30KKworYigp
OworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
ZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRh
eC1lcnJvci1leHBlY3RlZC50eHQKaW5kZXggNTJmNmQzYTQwZTcyMGM0ZGFhODFhMDY5ZDEwYThm
ZmVjZmIyM2MyMi4uYjg0OGM5YzYyMTdiMmM5MDZiMjM2NDgwNWNjOGQ1YmI5OGRiNjBmMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250
aW51ZS1vbi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVj
dGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBTeW50YXhF
cnJvcjogUGFyc2UgZXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBTeW50YXhFcnJvcjog
UGFyc2UgZXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBTeW50YXhFcnJvcjogUGFyc2Ug
ZXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBJZnJhbWUgbG9hZGVkCiBUZXN0cyB0aGF0
IGRlYnVnZ2VyIHdvbid0IHN0b3Agb24gc3ludGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBvbiB1
bmNhdWdodCBleGNlcHRpb25zIiBpcyBvbi4KIAogRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1QYWdl
IHJlbG9hZGVkLgogRGVidWdnZXIgd2FzIGRpc2FibGVkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1l
cnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9j
b250aW51ZS1vbi1zeW50YXgtZXJyb3IuaHRtbAppbmRleCBkNmE2YzQ1ZjgwZjc4N2VhZGY5Yjdm
YjcxN2FkZGQ1M2M1Yzc1N2NkLi5iYmNiODk2MDU1ZDdhMDllZDE0NzFlZTAwOWJhY2I1NDlmOGEw
N2Q4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVidWdnZXIt
YXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLmh0bWwK
QEAgLTIsMjcgKzIsMzEgQEAKIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc3ludGF4LWVycm9yLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAK
K2Z1bmN0aW9uIGxvYWRJZnJhbWUoKQoreworICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9zeW50YXgt
ZXJyb3IuaHRtbCI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworfQor
CiBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRz
Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGFydERlYnVnZ2VyVGVz
dENhbGxiYWNrKTsKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsK
IAotICAgIGZ1bmN0aW9uIHN0YXJ0RGVidWdnZXJUZXN0Q2FsbGJhY2soKQorICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKICAgICB7CiAgICAgICAgIERlYnVnZ2VyQWdlbnQuc2V0UGF1c2VPbkV4Y2VwdGlv
bnNTdGF0ZShXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLlBhdXNlT25FeGNlcHRpb25zU3RhdGUu
UGF1c2VPblVuY2F1Z2h0RXhjZXB0aW9ucyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1Nj
cmlwdFNvdXJjZSgiZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci5odG1sIiwg
cmVsb2FkSW5zcGVjdGVkUGFnZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihX
ZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLCAiYWRkTWVzc2FnZSIsIHN0ZXAyKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgpIik7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gcmVsb2FkSW5zcGVjdGVkUGFnZSgpCisgICAgZnVuY3Rpb24g
c3RlcDIoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwot
ICAgICAgICB9KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgp
OwogICAgIH0KLQogfQogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVhZWUyMTQ1NGYzYTExM2U2MzlhMDgxMjk4YzAzNWMwNTg2MjY4MmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJv
ci5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorKQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0iY29uc29sZS5sb2coJ0lmcmFtZSBsb2Fk
ZWQnKTsiPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4
LWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50
YXgtZXJyb3IuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlYThjZDE3N2FmZjlk
MWVjMmI5ZDFiMjFhY2U5YzQ1ZTIzYWU3ZGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNl
cy9zeW50YXgtZXJyb3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0pCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtZGVsZXRlLWlubGlu
ZS1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1lbnRzLWRl
bGV0ZS1pbmxpbmUtc3R5bGUuaHRtbAppbmRleCA5NTUzZTVjMGNhMzc3ZGUyMTQ5ODJhMWY4OTdm
ODM1MmY2NDg2YjA0Li44OGE5ZWI0MzFhNThiYWI4YzJiZmNhOGM0YTAyODQxMzliYzNlNWJmIDEw
MDc1NQotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtZGVsZXRl
LWlubGluZS1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1kZWxldGUtaW5saW5lLXN0eWxlLmh0bWwKQEAgLTYsMjkgKzYsMTQgQEAKIAogZnVu
Y3Rpb24gdGVzdCgpCiB7Ci0KKyAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIp
OwogICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiaW5zcGVjdGVkIiwgc3RlcDEp
OwogCi0gICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIGZ1bmN0aW9uIHN0ZXAxKG5vZGUpCiAgICAg
ewogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIHN0eWxlIHByb3BlcnR5
IHJlbW92YWw6Iik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0
eWxlcyh0cnVlKTsKLQotICAgICAgICB2YXIgdHJlZUVsZW1lbnQ7Ci0gICAgICAgIHZhciBpbm5l
ck1hcHBpbmcgPSBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuX2lkVG9ET01Ob2RlOwotICAgICAgICBm
b3IgKHZhciBub2RlSWQgaW4gaW5uZXJNYXBwaW5nKSB7Ci0gICAgICAgICAgICBpZiAoaW5uZXJN
YXBwaW5nW25vZGVJZF0ubm9kZU5hbWUgPT09ICJESVYiKSB7Ci0gICAgICAgICAgICAgICAgdHJl
ZUVsZW1lbnQgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnRyZWVPdXRsaW5lLmZpbmRU
cmVlRWxlbWVudChpbm5lck1hcHBpbmdbbm9kZUlkXSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgdmFyIHN0eWxlQXR0ckVsZW1lbnQg
PSB0cmVlRWxlbWVudC5saXN0SXRlbUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgid2Vi
a2l0LWh0bWwtYXR0cmlidXRlIilbMV07Ci0gICAgICAgIHRyZWVFbGVtZW50Ll9zdGFydEVkaXRp
bmdUYXJnZXQoc3R5bGVBdHRyRWxlbWVudCk7Ci0gICAgICAgIHZhciBlZGl0b3JFbGVtZW50ID0g
d2luZG93LmdldFNlbGVjdGlvbigpLmFuY2hvck5vZGUucGFyZW50RWxlbWVudDsKLQotICAgICAg
ICAvLyBSZW1vdmUgdGhlICJzdHlsZSIgYXR0cmlidXRlIGFsdG9nZXRoZXIgKG5vdCBqdXN0IGNs
ZWFyIGl0cyB2YWx1ZSkuCi0gICAgICAgIGVkaXRvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiIjsK
LSAgICAgICAgZWRpdG9yRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRl
S2V5RXZlbnQoIkVudGVyIikpOworICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUi
KTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAy
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1saW1pdGVkLWNoaWxkcmVuLWV4cGVj
dGVkLnR4dAppbmRleCAwYWI4MTJjZjU3MTY2NmVmM2U4MjkxMzc1ZDQzODdlM2IxZDE2NmRhLi4y
YmE2ZDE5ZjI1YWE2YTkyMmQzYzJlYTUyOGQ3YTJlNTZhZWIxODAzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtbGltaXRlZC1jaGlsZHJl
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2VsZW1l
bnRzLXBhbmVsLWxpbWl0ZWQtY2hpbGRyZW4tZXhwZWN0ZWQudHh0CkBAIC0zNyw3ICszNyw3IEBA
IFRlc3RzIHRoYXQgc3JjIGFuZCBocmVmIGVsZW1lbnQgdGFyZ2V0cyBhcmUgcmV3cml0dGVuIHBy
b3Blcmx5LgogICAgICAgICAgICAgICBTaG93IEFsbCBOb2RlcyAoNiBNb3JlKQogICAgICAgICAg
IDwvZGl2PgogICAgICAgICAgIDxwPlRlc3RzIHRoYXQgc3JjIGFuZCBocmVmIGVsZW1lbnQgdGFy
Z2V0cyBhcmUgcmV3cml0dGVuIHByb3Blcmx5LjwvcD4KLSAgICAgICAgKyA8ZGl2IGNsYXNzPSJv
dXRwdXQiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyAiPuKApjwvZGl2PgorICAgICAgICArIDxk
aXY+4oCmPC9kaXY+CiAgICAgICA8L2JvZHk+CiAgIDwvaHRtbD4KID09PT09PT09PT09IExvYWRl
ZCBhbGwgY2hpbGRyZW4gPT09PT09PT09PT0KQEAgLTU4LDcgKzU4LDcgQEAgVGVzdHMgdGhhdCBz
cmMgYW5kIGhyZWYgZWxlbWVudCB0YXJnZXRzIGFyZSByZXdyaXR0ZW4gcHJvcGVybHkuCiAgICAg
ICAgICAgICAgIDxhPjwvYT4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8cD5UZXN0cyB0
aGF0IHNyYyBhbmQgaHJlZiBlbGVtZW50IHRhcmdldHMgYXJlIHJld3JpdHRlbiBwcm9wZXJseS48
L3A+Ci0gICAgICAgICsgPGRpdiBjbGFzcz0ib3V0cHV0IiBzdHlsZT0id2hpdGUtc3BhY2U6IHBy
ZTsgIj7igKY8L2Rpdj4KKyAgICAgICAgKyA8ZGl2PuKApjwvZGl2PgogICAgICAgPC9ib2R5Pgog
ICA8L2h0bWw+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9l
bGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9lbGVtZW50cy1wYW5lbC1zZWFyY2guaHRtbAppbmRleCA3OGVjNzNhMDY5MmZkYTJkMTg0N2M0
N2NhMTJjMGQ5ZmY4ZTNlZDZiLi43MjQ4ZTc2Nzg1OTY2YTkyOTBkNjFmMmMyNjViZGYwYzRkMzM0
ODY5IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZWxlbWVudHMt
cGFuZWwtc2VhcmNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2Vs
ZW1lbnRzLXBhbmVsLXNlYXJjaC5odG1sCkBAIC01LDYgKzUsOCBAQAogPHNjcmlwdD4KIGZ1bmN0
aW9uIHRlc3QoKQogeworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7CisK
ICAgICB2YXIgc2VhcmNoUmVzdWx0cyA9IFtdOwogICAgIGZ1bmN0aW9uIGFkZFNlYXJjaFJlc3Vs
dChtYXJrdXBWYWx1ZSkKICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXgg
YWJjNjhiMzg5ZWY0MDNhMTI3MzBhZWE3OGQ5YWI2OTM5M2NjOWJkOC4uNWYwZmM5NDZkNWJiN2Q1
NGE2Mjg4MmU1NjM1NjNkNjdkZjRlZjIwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4
dApAQCAtNSw4ICs1LDggQEAgUnVubmluZyB0ZXN0cy4uLgogUlVOTklORyBURVNUOiBleHRlbnNp
b25fdGVzdE9uUmVzb3VyY2VGaW5pc2hlZAogb25GaW5pc2hlZCBmaXJlZAogUlVOTklORyBURVNU
OiBleHRlbnNpb25fdGVzdFBhZ2VMb2FkRXZlbnRzCitQYWdlIHJlbG9hZGVkLgogb25ET01Db250
ZW50TG9hZGVkIGZpcmVkOiBudW1iZXIKIG9uTG9hZGVkIGZpcmVkOiBudW1iZXIKLVBhZ2UgcmVs
b2FkZWQuCiBBbGwgdGVzdHMgZG9uZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHkuaHRtbAppbmRleCBhMDQw
NjRkNWEyYmRhOWUzYjJlZjQwZjk4Yjg4NTE1ZjhiZGQxYmFhLi4xYjMyZGM1NzdiMWJhYWE2MjVm
NzVhOTRhMDk0MWRmNGE1YTE3NzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHkuaHRtbApAQCAtNiw2ICs2
LDcgQEAKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgi
ZWxlbWVudHMiKTsKICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3Rl
ZCIsIHN0ZXAxKTsKIAogICAgIHZhciB0cmVlRWxlbWVudDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVzLXVwZGF0ZS1mcm9tLWpzLWV4cGVj
dGVkLnR4dAppbmRleCAzMzVmZjU1YmJiNmJjMTljZjU2MGU5YmViNWIzYzFjOWUyNDZlYTBlLi4x
MGYxODIzMjIzNzU2NjY1ZGQ1ZjEwZDZlNTY5YThiOTkzNjQ3MmExIDEwMDc1NQotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUtZnJvbS1qcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20t
anMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsOSBAQAogVGVzdHMgdGhhdCBjaGFuZ2VzIHRvIGFu
IGlubGluZSBzdHlsZSBmcm9tIEphdmFTY3JpcHQgYXJlIHJlZmxlY3RlZCBpbiB0aGUgU3R5bGVz
IHBhbmUgYW5kIEVsZW1lbnRzIHRyZWUuCiAKLSdzdHlsZScgYXR0cmlidXRlIG1vZGlmaWVkOgor
CitSdW5uaW5nOiB0ZXN0SW5pdAorCitSdW5uaW5nOiB0ZXN0U2V0U3R5bGVBdHRyaWJ1dGUKIDxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImNvbG9yOiAjZGFDMERFOyBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxlIHsgKCkKIGNvbG9yOiAj
REFDMERFOwpAQCAtMTksMTMgKzIyLDE1IEBAIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwogICAg
IGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsKIAogCi1jc3NUZXh0IG1vZGlmaWVkOgorCitSdW5u
aW5nOiB0ZXN0U2V0U3R5bGVDU1NUZXh0CiA8ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJjb2xv
cjogcmdiKDE5MiwgMjU1LCAyMzgpOyAiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxl
IHsgKCkKIGNvbG9yOiAjQzBGRkVFOwogCiAKLXBhcnNlZCBhdHRyaWJ1dGVzIG1vZGlmaWVkOgor
CitSdW5uaW5nOiB0ZXN0U2V0VmlhUGFyc2VkQXR0cmlidXRlcwogPGRpdiBpZD0iY29udGFpbmVy
IiBzdHlsZT0iY29sb3I6IHJnYigxOTIsIDI1NSwgMjM4KTsgYm9yZGVyLXRvcC1zdHlsZTogZGFz
aGVkOyBib3JkZXItcmlnaHQtc3R5bGU6IGRhc2hlZDsgYm9yZGVyLWJvdHRvbS1zdHlsZTogZGFz
aGVkOyBib3JkZXItbGVmdC1zdHlsZTogZGFzaGVkOyBib3JkZXItdG9wLWNvbG9yOiBncmVlbjsg
Ym9yZGVyLXJpZ2h0LWNvbG9yOiBncmVlbjsgYm9yZGVyLWJvdHRvbS1jb2xvcjogZ3JlZW47IGJv
cmRlci1sZWZ0LWNvbG9yOiBncmVlbjsgYm9yZGVyLXRvcC13aWR0aDogM3B4OyBib3JkZXItcmln
aHQtd2lkdGg6IDNweDsgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4OyBib3JkZXItbGVmdC13aWR0
aDogM3B4OyAiPjwvZGl2PgogW2V4cGFuZGVkXSBlbGVtZW50LnN0eWxlIHsgKCkKIGNvbG9yOiAj
QzBGRkVFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMt
dXBkYXRlLWZyb20tanMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvc3R5bGVz
LXVwZGF0ZS1mcm9tLWpzLmh0bWwKaW5kZXggZjg4NWFiOWU3YTNlN2Q1MjZmMWY0NzA3NzdlYWI3
ZTMzYjY0MWZjMC4uZTQ2NjFmZjEyNjQyZDhmYzY3NTY5MTViMzUyZmQ2NDZlNzAwMTU3NyAxMDA3
NTUKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9zdHlsZXMtdXBkYXRlLWZyb20t
anMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3N0eWxlcy11cGRhdGUt
ZnJvbS1qcy5odG1sCkBAIC04LDcgKzgsNyBAQCBmdW5jdGlvbiBtb2RpZnlTdHlsZUF0dHJpYnV0
ZSgpCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLnNldEF0dHJpYnV0
ZSgic3R5bGUiLCAiY29sb3I6ICNkYUMwREU7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyIpOwog
fQogCi1mdW5jdGlvbiBtb2RpZnlDc3NUZXh0KCkKK2Z1bmN0aW9uIG1vZGlmeUNTU1RleHQoKQog
ewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKS5zdHlsZS5jc3NUZXh0
ID0gImNvbG9yOiAjQzBGRkVFIjsKIH0KQEAgLTIyLDQ3ICsyMiw1NCBAQCBmdW5jdGlvbiBtb2Rp
ZnlQYXJzZWRBdHRyaWJ1dGVzKCkKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgSW5zcGVjdG9y
VGVzdC5zZWxlY3ROb2RlV2l0aElkKCJjb250YWluZXIiLCBzdGVwMCk7CisgICAgSW5zcGVjdG9y
VGVzdC5ydW5UZXN0U3VpdGUoWwogCi0gICAgLy8gU2V0IHN0eWxlIHZpYSAic3R5bGUiIGF0dHJp
YnV0ZS4KLSAgICBmdW5jdGlvbiBzdGVwMCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlTdHlsZUF0dHJpYnV0ZSgpIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90
eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBzdGVwMSk7Ci0gICAgfQotCi0gICAgLy8gU2V0IHN0eWxl
IHZpYSBjc3NUZXh0LgotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCInc3R5bGUnIGF0dHJpYnV0ZSBtb2RpZmllZDoiKTsKLSAgICAg
ICAgZHVtcEF0dHJpYnV0ZUFuZFN0eWxlcygpOwotCi0gICAgICAgIC8vIEluaGliaXQgdGhlIHNl
Y29uZCBTdHlsZXMgcGFuZSB1cGRhdGUgZnJvbSBzdGVwMCgpLgotICAgICAgICBmdW5jdGlvbiBj
YWxsYmFjaygpCisgICAgICAgIGZ1bmN0aW9uIHRlc3RJbml0KG5leHQpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lk
ZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBzdGVwMik7Ci0gICAgICAgIH0K
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlDc3NUZXh0KCki
LCBjYWxsYmFjayk7Ci0gICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkKCJjb250YWluZXIiLCBuZXh0KTsKKyAgICAgICAgfSwKIAotICAgIC8vIFNldCBzdHls
ZSB2aWEgcGFyc2VkIGF0dHJpYnV0ZXMuCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImNzc1RleHQgbW9kaWZpZWQ6Iik7Ci0gICAg
ICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNldFN0
eWxlQXR0cmlidXRlKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1cGRhdGVDb3Vu
dCA9IDA7CisgICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgLy8gRXhwZWN0IHR3byB1cGRhdGVzIHdoaWxlIHNldHRpbmcgYXR0cmli
dXRlLgorICAgICAgICAgICAgICAgIGlmICgrK3VwZGF0ZUNvdW50ID09PSAyKSB7CisgICAgICAg
ICAgICAgICAgICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKKyAgICAgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUu
cHJvdG90eXBlLCAiX3JlYnVpbGRVcGRhdGUiLCBjYWxsYmFjaywgdHJ1ZSk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlTdHlsZUF0dHJpYnV0ZSgpIik7
CisgICAgICAgIH0sCiAKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibW9k
aWZ5UGFyc2VkQXR0cmlidXRlcygpIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZl
cihXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLCAiX3JlYnVpbGRVcGRh
dGUiLCBzdGVwMyk7Ci0gICAgfQorICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0U3R5bGVDU1NUZXh0
KG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB1cGRhdGVDb3VudCA9IDA7CisgICAg
ICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgLy8gRXhwZWN0IHR3byB1cGRhdGVzIHdoaWxlIHNldHRpbmcgY3NzIHRleHQuCisgICAgICAg
ICAgICAgICAgaWYgKCsrdXBkYXRlQ291bnQgPT09IDIpIHsKKyAgICAgICAgICAgICAgICAgICAg
ZHVtcEF0dHJpYnV0ZUFuZFN0eWxlcygpOworICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUsICJf
cmVidWlsZFVwZGF0ZSIsIGNhbGxiYWNrLCB0cnVlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlmeUNTU1RleHQoKSIsIGNhbGxiYWNrKTsKKyAgICAgICAg
fSwKIAotICAgIC8vIEZpbmlzaCB0aGUgdGVzdC4KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicGFyc2VkIGF0dHJpYnV0ZXMgbW9k
aWZpZWQ6Iik7Ci0gICAgICAgIGR1bXBBdHRyaWJ1dGVBbmRTdHlsZXMoKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9CisgICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRWaWFQYXJzZWRBdHRyaWJ1dGVzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkdW1wQXR0cmli
dXRlQW5kU3R5bGVzKCk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNT
aWRlYmFyUGFuZS5wcm90b3R5cGUsICJfcmVidWlsZFVwZGF0ZSIsIGNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm1vZGlmeVBhcnNlZEF0dHJpYnV0
ZXMoKSIpOworICAgICAgICB9CisgICAgXSk7CiAKICAgICBmdW5jdGlvbiBkdW1wQXR0cmlidXRl
QW5kU3R5bGVzKCkKICAgICB7CkBAIC03Nyw2ICs4NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAg
ICAgZnVuY3Rpb24gZmluZE5vZGVUcmVlRWxlbWVudCgpCiAgICAgeworICAgICAgICBXZWJJbnNw
ZWN0b3IucGFuZWxzLmVsZW1lbnRzLnVwZGF0ZU1vZGlmaWVkTm9kZXMoKTsKICAgICAgICAgdmFy
IGV4cGFuZGVkTm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5kZWROb2RlV2l0aElkKCJjb250YWlu
ZXIiKTsKICAgICAgICAgaWYgKCFleHBhbmRlZE5vZGUpIHsKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCInY29udGFpbmVyJyBub2RlIG5vdCBmb3VuZCIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC5odG1sCmluZGV4
IDI2YWViMjM3MGJiMjQwNTRjN2UyMzlmN2VmMjYwNWM4OWE1OTc0NjAuLmI1OTBiMzFkNjE0YTNk
MTg4YTFlNzZjNTQ1MWIxNDRjOTUzMDdlNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0Lmh0bWwKQEAgLTksNiArOSw4IEBAIGZ1bmN0
aW9uIHBlcmZvcm1BY3Rpb25zKCkKICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gIlRlc3QgZGF0YSI7CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICAvLyBGb3JjZSBsYXlvdXQu
CisgICAgdmFyIGZvbyA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0OwogfQogCiBmdW5jdGlvbiB0ZXN0
KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1u
ZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dAppbmRleCA2MzE5MDk0
YTY2M2ViNGEwYzljYmNkZGQ1NDU1YmQ0ZGI0YTU5N2Q4Li5jNDcwYWNmNDBhYWIxYzkzOTllY2Q0
NTZlNzFiNjI5ZTUyZmIwYThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UtZXhwZWN0
ZWQudHh0CkBAIC0xLDExICsxLDcgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBTY3JpcHQg
ZXZhbHVhdGVkCiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIG5l
dHdvcmsgcmVzb3VyY2UgbG9hZAogCi1TdGFydAotc3RlcDAKLXN0ZXAxCi1zdGVwMgotc3RlcDMK
K1NjcmlwdCByZXNvdXJjZSBsb2FkZWQKIAogUmVzb3VyY2VTZW5kUmVxdWVzdCBQcm9wZXJ0aWVz
OgogewpAQCAtNDksNCArNDUsNCBAQCBSZXNvdXJjZUZpbmlzaCBQcm9wZXJ0aWVzOgogICAgIHVz
ZWRIZWFwU2l6ZSA6IDxudW1iZXI+CiAgICAgdG90YWxIZWFwU2l6ZSA6IDxudW1iZXI+CiB9Ci1T
Y3JpcHQgcmVzb3VyY2UgbG9hZGVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCmluZGV4IDgz
NWE2NzlhNDJmY2FkODczOGQxOWMyN2FkMDIxNjhmNWUxYTgxMDguLjNjMTgyMzMzOWMwYzU0NmRm
N2QxZGM3OGIwZDI5OGYwZDE2N2U2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbApAQCAt
MTgsMzEgKzE4LDIxIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHZhciByZXNvdXJjZUlkOwogICAg
IHZhciBzY3JpcHRVcmwgPSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7CiAKLSAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0cnVlIiwgc3RlcDApOwotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJTdGFydCIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDAoKQotCXsKLQkg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInN0ZXAwIik7Ci0JICAgIFRpbWVsaW5lQWdlbnQu
c3RhcnQoc3RlcDEpOwotCX0KKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEp
OwogCiAgICAgZnVuY3Rpb24gc3RlcDEoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInN0ZXAxIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
InBlcmZvcm1BY3Rpb25zKCkiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOwog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJzdGVwMiIpOwotICAgICAgICBUaW1lbGluZUFnZW50LnN0b3Aoc3RlcDMp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZShzdGVwMyk7CiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gc3RlcDMoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoInN0ZXAzIik7CiAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdChyZWNvcmQpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdl
bnQuUmVjb3JkVHlwZS5SZXNvdXJjZVNlbmRSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCmluZGV4
IGNiYmYzOTRiYWJkZTU4MmE1NThjNjk2MzViZWU4NWI4MWRmYTY5M2YuLjIyNzI3OTEzMGQzY2Vk
YjcwYzU3MjAzYzA1YzZhMTgyZDM1NzFkNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKQEAgLTEzLDE2
ICsxMywxNiBAQCBmdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCiAKIGZ1bmN0aW9uIHRlc3QoKSAK
IHsKLSAgICBUaW1lbGluZUFnZW50LnN0YXJ0KHN0ZXAxKTsKKyAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0VGltZWxpbmUoc3RlcDEpOwogICAgIGZ1bmN0aW9uIHN0ZXAxKCkKICAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90
b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9ucygpIik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3Rl
cDIoKQogICAgIHsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHN0ZXAzKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1zY3JpcHQtdGFnLTIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbAppbmRleCBmZjczNzVhZmEyOWQ5NDNkYmQ5OWE1YmU0
YWYyNmI1ZGYwMzJiMmExLi4xZTBjZWI5MzAwZmUxNGYyMzQxODFmOThjOWU0M2IzOTE3OWM2ZWRm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2Ny
aXB0LXRhZy0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXNjcmlwdC10YWctMi5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGZ1bmN0aW9uIHBlcmZvcm1B
Y3Rpb25zKCkKIAogZnVuY3Rpb24gdGVzdCgpIAogewotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQo
c3RlcDEpOworICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVu
Y3Rpb24gc3RlcDEoKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUsICJhZGRNZXNzYWdlIiwgc3RlcDIpOwpA
QCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
ICAgICB7Ci0gICAgICAgIFRpbWVsaW5lQWdlbnQuc3RvcChzdGVwMyk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Quc3RvcFRpbWVsaW5lKHN0ZXAzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVw
MygpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
dGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0Lmpz
CmluZGV4IDkxNTM2ODE4NzhiZDI1OWRiMmI0YmU5MDQwNDUwYzQxMTllNWMxNTYuLjAyNDlkODNi
NTIzNjdkY2RkODliYjYwM2U3MGE0N2RmOTZjM2FhNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10ZXN0LmpzCkBAIC0xNSw5ICsxNSwyNyBAQCBJbnNw
ZWN0b3JUZXN0LnRpbWVsaW5lTm9uRGV0ZXJtaW5pc3RpY1Byb3BzID0gewogICAgIG1pbWVUeXBl
IDogMQogfTsKIAorSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lID0gZnVuY3Rpb24oY2FsbGJh
Y2spCit7CisgICAgSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzID0gW107CisgICAgVGlt
ZWxpbmVBZ2VudC5zdGFydChjYWxsYmFjayk7CisgICAgZnVuY3Rpb24gYWRkUmVjb3JkKHJlY29y
ZCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkcy5wdXNoKHJl
Y29yZCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQuY2hpbGRyZW4gJiYgaSA8IHJl
Y29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGFkZFJlY29yZChyZWNvcmQu
Y2hpbGRyZW5baV0pOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lRGlzcGF0Y2hlci5wcm90b3R5cGUsICJhZGRSZWNvcmRUb1RpbWVsaW5l
IiwgYWRkUmVjb3JkLCB0cnVlKTsKK307CisKK0luc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lID0g
ZnVuY3Rpb24oY2FsbGJhY2spCit7CisgICAgVGltZWxpbmVBZ2VudC5zdG9wKGNhbGxiYWNrKTsK
K307CisKIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCA9IGZ1bmN0aW9uKGFj
dGlvbnMsIHR5cGVOYW1lKQogewotICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQoc3RlcDEpOworICAg
IEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVuY3Rpb24gc3RlcDEo
KQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShhY3Rpb25zLCBz
dGVwMik7CkBAIC0yNSw3ICs0Myw3IEBAIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQ
cmludCA9IGZ1bmN0aW9uKGFjdGlvbnMsIHR5cGVOYW1lKQogCiAgICAgZnVuY3Rpb24gc3RlcDIo
KQogICAgIHsKLSAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHN0ZXAzKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKQEAgLTMzLDEzICs1MSwxMiBAQCBJbnNwZWN0b3JUZXN0LnBlcmZvcm1BY3Rpb25zQW5k
UHJpbnQgPSBmdW5jdGlvbihhY3Rpb25zLCB0eXBlTmFtZSkKICAgICAgICAgSW5zcGVjdG9yVGVz
dC5wcmludFRpbWVsaW5lUmVjb3Jkcyh0eXBlTmFtZSk7CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CiAgICAgfQotfQorfTsKIAogSW5zcGVjdG9yVGVzdC5wcmludFRpbWVs
aW5lUmVjb3JkcyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0ZXIpCiB7Ci0gICAgdmFyIHRp
bWVsaW5lUmVjb3JkcyA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVzdWx0cygpOwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgdGltZWxpbmVSZWNvcmRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
IHZhciByZWNvcmQgPSB0aW1lbGluZVJlY29yZHNbaV07CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
dmFyIHJlY29yZCA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkc1tpXTsKICAgICAgICAg
aWYgKHR5cGVOYW1lICYmIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2Vu
dC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRU
aW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKICAgICAgICAgaWYgKGZvcm1hdHRlcikK
QEAgLTQ3LDIxICs2NCw2IEBAIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMgPSBm
dW5jdGlvbih0eXBlTmFtZSwgZm9ybWF0dGVyKQogICAgIH0KIH07CiAKLUluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lUmVzdWx0cyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciByZXN1bHQgPSBbXTsKLSAg
ICBmdW5jdGlvbiBhZGRSZWNvcmRzKHJlY29yZHMpCi0gICAgewotICAgICAgICBpZiAoIXJlY29y
ZHMpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVj
b3Jkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgcmVzdWx0LnB1c2gocmVjb3Jkc1tpXS5v
cmlnaW5hbFJlY29yZEZvclRlc3RzKTsKLSAgICAgICAgICAgIGFkZFJlY29yZHMocmVjb3Jkc1tp
XS5jaGlsZHJlbik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgYWRkUmVjb3JkcyhXZWJJbnNwZWN0
b3IucGFuZWxzLnRpbWVsaW5lLl9yb290UmVjb3JkLmNoaWxkcmVuKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfTsKLQogLy8gRHVtcCBqdXN0IHRoZSByZWNvcmQgbmFtZSwgaW5kZW50aW5nIG91dHB1
dCBvbiBzZXBhcmF0ZSBsaW5lcyBmb3Igc3VicmVjb3JkcwogSW5zcGVjdG9yVGVzdC5kdW1wVGlt
ZWxpbmVSZWNvcmQgPSBmdW5jdGlvbihyZWNvcmQsIGxldmVsKSAKIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sCmluZGV4IDNh
NGY3NzU5Y2Q1OTA4ZGE4ODQwNTkzOTNjYTcxMzA1NzQ0MmUwMzQuLmU3ZGY4OTg0YmIxYzEzMDdh
ZTRjNTQzOTEzYzUyMTdhMzFlMDA2MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS10cml2aWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbApAQCAtMSw2ICsxLDcgQEAKIDxodG1s
PgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InRpbWVsaW5lLXRlc3QuanMiPjwv
c2NyaXB0PgogPHNjcmlwdD4KIAogZnVuY3Rpb24gdGVzdCgpIHsKQEAgLTEwLDcgKzExLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVs
aW5lIHN0YXJ0ZWQiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAg
ICB9Ci0gICAgVGltZWxpbmVBZ2VudC5zdGFydChjYWxsYmFjayk7CisgICAgSW5zcGVjdG9yVGVz
dC5zdGFydFRpbWVsaW5lKGNhbGxiYWNrKTsKIH0KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4
Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKaW5k
ZXggMDQ0N2EzMzQ4YmQ1YjhiMjkxNTUxYjkxMjQ2OGUxNDMyOThlNWZmYy4uNTQ1ZTcxZjI3ZmI0
ODMxNjI4ZTYyNTM2ODZjMDIzYjFjNTA1OGVhOSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MSwxMyArMSw5IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFVuY2F1Z2h0IEVycm9yOiBF
eGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogVW5j
YXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMjc6IFVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91
dCBjYWxsYmFjay4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogVW5jYXVnaHQgRXJyb3I6IEV4
Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBVbmNh
dWdodCBFcnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAyNzogVW5jYXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiBzZXRUaW1lb3V0
IGNhbGxiYWNrLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE4OiBVbmNhdWdodCBFcnJvcjogRXhj
ZXB0aW9uIGluIGlubGluZSBzY3JpcHQuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IFVuY2F1
Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gJ2xvYWQnIGV2ZW50IGxpc3RlbmVyLgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY6IFVuY2F1Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91dCBj
YWxsYmFjay4KIFRlc3RzIHRoYXQgdW5jYXVnaHQgZXhjZXB0aW9ucyBhcmUgbG9nZ2VkIGludG8g
Y29uc29sZS5CdWcgNDcyNTAuCiAKLVBhZ2UgcmVsb2FkZWQuCi1jb25zb2xlLXVuY2F1Z2h0LWV4
Y2VwdGlvbi5odG1sOjM1VW5jYXVnaHQgRXJyb3I6IEV4Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0
LmFjb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjM1YmNvbnNvbGUtdW5jYXVnaHQtZXhj
ZXB0aW9uLmh0bWw6NDAoYW5vbnltb3VzIGZ1bmN0aW9uKWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0
aW9uLmh0bWw6NDMKLWNvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLmh0bWw6MTlVbmNhdWdodCBF
cnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci5mY29uc29sZS11bmNhdWdo
dC1leGNlcHRpb24uaHRtbDoxOShhbm9ueW1vdXMgZnVuY3Rpb24pY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24uaHRtbDoyMQotY29uc29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDoyN1VuY2F1
Z2h0IEVycm9yOiBFeGNlcHRpb24gaW4gc2V0VGltZW91dCBjYWxsYmFjay5iYXJjb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi5odG1sOjI3KGFub255bW91cyBmdW5jdGlvbiljb25zb2xlLXVuY2F1
Z2h0LWV4Y2VwdGlvbi5odG1sOjI5Cit1bmNhdWdodC1pZnJhbWUuaHRtbDoxOFVuY2F1Z2h0IEVy
cm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC5hdW5jYXVnaHQtaWZyYW1lLmh0bWw6MThi
dW5jYXVnaHQtaWZyYW1lLmh0bWw6MjMoYW5vbnltb3VzIGZ1bmN0aW9uKXVuY2F1Z2h0LWlmcmFt
ZS5odG1sOjI2Cit1bmNhdWdodC1pZnJhbWUuaHRtbDoxMVVuY2F1Z2h0IEVycm9yOiBFeGNlcHRp
b24gaW4gJ2xvYWQnIGV2ZW50IGxpc3RlbmVyLmZ1bmNhdWdodC1pZnJhbWUuaHRtbDoxMShhbm9u
eW1vdXMgZnVuY3Rpb24pdW5jYXVnaHQtaWZyYW1lLmh0bWw6MTMKK3VuY2F1Z2h0LWlmcmFtZS5o
dG1sOjZVbmNhdWdodCBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suYmFy
dW5jYXVnaHQtaWZyYW1lLmh0bWw6Nihhbm9ueW1vdXMgZnVuY3Rpb24pdW5jYXVnaHQtaWZyYW1l
Lmh0bWw6OAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdn
ZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQKaW5k
ZXggM2QyYjhkMzJhZTM2ODdlN2E2Yzg3OTlmMDM0NmNiNTU5MDE0Y2RjNS4uYjA5YmFhMjRhNjBj
NDZjOWIyMTQ4NzhiYWQ1ODM0ZDhjOWFmYjIzYSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1v
bi1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4
LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBVbmNhdWdodCBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiApCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogVW5jYXVnaHQgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gKQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IFVuY2F1Z2h0IFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICkKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBJZnJhbWUgbG9hZGVkCiBUZXN0cyB0
aGF0IGRlYnVnZ2VyIHdvbid0IHN0b3Agb24gc3ludGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBv
biB1bmNhdWdodCBleGNlcHRpb25zIiBpcyBvbi4KIAogRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1Q
YWdlIHJlbG9hZGVkLgogRGVidWdnZXIgd2FzIGRpc2FibGVkLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0
d29yay1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS1leHBlY3RlZC50
eHQKaW5kZXggNzk1Yjk5OTg1MmZjZDUzNmVkNWQyYzk5MTUxYzc0ZjBhZjE2N2I2Yi4uMTQ4NWEx
MzZjMmU2OWY1NDRhZjg5YTg3NjUzNTQyYmQ4MzNmYzRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmst
cmVzb3VyY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4
dApAQCAtMSwxMSArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogU2NyaXB0IGV2YWx1
YXRlZAogVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3Jr
IHJlc291cmNlIGxvYWQKIAotU3RhcnQKLXN0ZXAwCi1zdGVwMQotc3RlcDIKLXN0ZXAzCitTY3Jp
cHQgcmVzb3VyY2UgbG9hZGVkCiAKIFJlc291cmNlU2VuZFJlcXVlc3QgUHJvcGVydGllczoKIHsK
QEAgLTUwLDQgKzQ2LDQgQEAgUmVzb3VyY2VGaW5pc2ggUHJvcGVydGllczoKICAgICB1c2VkSGVh
cFNpemUgOiA8bnVtYmVyPgogICAgIHRvdGFsSGVhcFNpemUgOiA8bnVtYmVyPgogfQotU2NyaXB0
IHJlc291cmNlIGxvYWRlZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlhMDkyZWYyYmUwYTI3MTE3NWMxOTMy
YjM3YjNkMDhjYzcwMjY1ZS4uNmIzYWM4Y2I0ZjY2MTg2OGMxYWNmZGQwMjlmMzU5OWEwNTI5NTFj
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTAzLTA0ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGZpeCBsYXlvdXQgdGVzdHMgZmxha2lu
ZXNzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4
MTYKKworICAgICAgICAtIE9yZGVyIG9mIGlzc3Vpbmcgb2YgZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZCB3YXMgbm90IGd1YXJhbnRlZWQgb24gdGhlIGJhY2tlbmQgc2lkZSAoSW5zcGVjdG9yQWdl
bnQgc2lkZSkKKyAgICAgICAgLSBPcmRlciBvZiBkaXNwYXRjaGluZyB1c2luZyB0aW1lb3V0cyB3
YXMgZ3VhcmFudGVlZCB2aWEgcXVldWVpbmcuIFNvdXJjZSBvZiBhbGwga2luZHMgb2YgcGFpbnMg
b24gU25vd0xlb3BhcmQgUmVsZWFzZSAoaW5zcGVjdG9yLmpzKQorCisgICAgICAgICogaW5zcGVj
dG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG06CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50OjpJbnNwZWN0
b3JBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZy
b250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50Ojpwb3B1bGF0ZVNjcmlw
dE9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRlRm9y
VGVzdEluRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omlzc3Vl
RXZhbHVhdGVGb3JUZXN0Q29tbWFuZHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuZGlzcGF0Y2gpOgorCiAyMDExLTAzLTA1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQppbmRl
eCA5NjNlYjZjNWU0NzYzYTZhZWU2OTY4OTFkY2QwZTI1MWRmMmZjM2E2Li4yMzJhYzQxOThmYmE3
MzUzMTUzY2ZjYjQ3ZmJhY2M5MDk0N2RjNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQpAQCAtNzc4LDcgKzc3OCw2IEBAIElu
c3BlY3RvckJhY2tlbmRTdHViLnByb3RvdHlwZSA9IHsKICAgICBfd3JhcDogZnVuY3Rpb24oY2Fs
bGJhY2spCiAgICAgewogICAgICAgICB2YXIgY2FsbGJhY2tJZCA9IHRoaXMuX2xhc3RDYWxsYmFj
a0lkKys7Ci0gICAgICAgICsrdGhpcy5fcGVuZGluZ1Jlc3BvbnNlc0NvdW50OwogICAgICAgICB0
aGlzLl9jYWxsYmFja3NbY2FsbGJhY2tJZF0gPSBjYWxsYmFjayB8fCBmdW5jdGlvbigpIHt9Owog
ICAgICAgICByZXR1cm4gY2FsbGJhY2tJZDsKICAgICB9LApAQCAtODI0LDYgKzgyMyw4IEBAIElu
c3BlY3RvckJhY2tlbmRTdHViLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGNvbnNvbGUubG9n
KCJmcm9udGVuZDogIiArIEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpKTsKIAogICAgICAgICB2YXIg
bWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KHJlcXVlc3QpOworCisgICAgICAgICsrdGhpcy5fcGVu
ZGluZ1Jlc3BvbnNlc0NvdW50OwogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2VuZE1l
c3NhZ2VUb0JhY2tlbmQobWVzc2FnZSk7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKaW5kZXggMjI2ZDE5N2M0MjBlMTMxOThhNjNiN2UwOTY1
NTY2ZDI3YjdiMTRmNC4uMTVjZWJhMDgzOTRjZmI3MDRmMTA5MTFkZDFiNTdjYjAwMzdlYzQyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC0xNTgs
NiArMTU4LDcgQEAgSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogY2xpZW50KQogICAgICwgbV9icm93c2VyRGVidWdnZXJBZ2VudChJbnNw
ZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5n
ZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9kb21BZ2VudC5nZXQoKSwgbV9kZWJ1Z2dlckFnZW50Lmdl
dCgpLCB0aGlzKSkKICAgICAsIG1fcHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50
OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2NvbnNvbGVBZ2VudC5nZXQo
KSwgcGFnZSkpCiAjZW5kaWYKKyAgICAsIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250
ZW5kKGZhbHNlKQogewogICAgIEFTU0VSVF9BUkcocGFnZSwgcGFnZSk7CiAgICAgQVNTRVJUX0FS
RyhjbGllbnQsIGNsaWVudCk7CkBAIC0zOTQsNiArMzk1LDkgQEAgdm9pZCBJbnNwZWN0b3JBZ2Vu
dDo6ZGlzY29ubmVjdEZyb250ZW5kKCkKICAgICBpZiAoIW1fZnJvbnRlbmQpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kID0gZmFsc2U7
CisgICAgbV9wZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHMuY2xlYXIoKTsKKwogICAgIC8vIERl
c3Ryb3lpbmcgYWdlbnRzIHdvdWxkIGNoYW5nZSB0aGUgc3RhdGUsIGJ1dCB3ZSBkb24ndCB3YW50
IHRoYXQuCiAgICAgLy8gUHJlLWRpc2Nvbm5lY3Qgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIHJlc3Rv
cmUgaW5zcGVjdG9yIGFnZW50cy4KICAgICBtX3N0YXRlLT5tdXRlKCk7CkBAIC00NjksOSArNDcz
LDcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6cG9wdWxhdGVTY3JpcHRPYmplY3RzKEVycm9yU3Ry
aW5nKikKICAgICByZXN0b3JlUHJvZmlsZXIoUHJvZmlsZXJSZXN0b3JlTm9BY3Rpb24pOwogCiAg
ICAgLy8gRGlzcGF0Y2ggcGVuZGluZyBmcm9udGVuZCBjb21tYW5kcwotICAgIGZvciAoVmVjdG9y
PHBhaXI8bG9uZywgU3RyaW5nPiA+OjppdGVyYXRvciBpdCA9IG1fcGVuZGluZ0V2YWx1YXRlVGVz
dENvbW1hbmRzLmJlZ2luKCk7IGl0ICE9IG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmVu
ZCgpOyArK2l0KQotICAgICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+ZXZhbHVhdGVGb3JU
ZXN0SW5Gcm9udGVuZCgoKml0KS5maXJzdCwgKCppdCkuc2Vjb25kKTsKLSAgICBtX3BlbmRpbmdF
dmFsdWF0ZVRlc3RDb21tYW5kcy5jbGVhcigpOworICAgIGlzc3VlRXZhbHVhdGVGb3JUZXN0Q29t
bWFuZHMoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6cHVzaERhdGFDb2xsZWN0ZWRPZmZs
aW5lKCkKQEAgLTc2MiwxMCArNzY0LDkgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6c2hvd1Njcmlw
dHNQYW5lbCgpCiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRlRm9yVGVzdEluRnJvbnRl
bmQobG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQogewotICAgIGlmIChtX2Zyb250
ZW5kKQotICAgICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+ZXZhbHVhdGVGb3JUZXN0SW5G
cm9udGVuZChjYWxsSWQsIHNjcmlwdCk7Ci0gICAgZWxzZQotICAgICAgICBtX3BlbmRpbmdFdmFs
dWF0ZVRlc3RDb21tYW5kcy5hcHBlbmQocGFpcjxsb25nLCBTdHJpbmc+KGNhbGxJZCwgc2NyaXB0
KSk7CisgICAgbV9wZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHMuYXBwZW5kKHBhaXI8bG9uZywg
U3RyaW5nPihjYWxsSWQsIHNjcmlwdCkpOworICAgIGlmIChtX2Nhbklzc3VlRXZhbHVhdGVGb3JU
ZXN0SW5Gcm9udGVuZCkKKyAgICAgICAgaXNzdWVFdmFsdWF0ZUZvclRlc3RDb21tYW5kcygpOwog
fQogCiB2b2lkIEluc3BlY3RvckFnZW50OjpkaWRFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKEVy
cm9yU3RyaW5nKiwgbG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYganNvblJlc3VsdCkKQEAgLTEw
OTMsNiArMTA5NCwxNyBAQCB2b2lkIEluc3BlY3RvckFnZW50OjpzaG93UGFuZWwoY29uc3QgU3Ry
aW5nJiBwYW5lbCkKICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+c2hvd1BhbmVsKHBhbmVs
KTsKIH0KIAordm9pZCBJbnNwZWN0b3JBZ2VudDo6aXNzdWVFdmFsdWF0ZUZvclRlc3RDb21tYW5k
cygpCit7CisgICAgaWYgKG1fZnJvbnRlbmQpIHsKKyAgICAgICAgVmVjdG9yPHBhaXI8bG9uZywg
U3RyaW5nPiA+IGNvcHkgPSBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5kczsKKyAgICAgICAg
bV9wZW5kaW5nRXZhbHVhdGVUZXN0Q29tbWFuZHMuY2xlYXIoKTsKKyAgICAgICAgZm9yIChWZWN0
b3I8cGFpcjxsb25nLCBTdHJpbmc+ID46Oml0ZXJhdG9yIGl0ID0gY29weS5iZWdpbigpOyBtX2Zy
b250ZW5kICYmIGl0ICE9IGNvcHkuZW5kKCk7ICsraXQpCisgICAgICAgICAgICBtX2Zyb250ZW5k
LT5pbnNwZWN0b3IoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCgoKml0KS5maXJzdCwgKCpp
dCkuc2Vjb25kKTsKKyAgICAgICAgbV9jYW5Jc3N1ZUV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQg
PSB0cnVlOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50
LmgKaW5kZXggN2NmOGNjYmVkY2Y3ZjUyMDhkMmJiNTljY2NjMmFkOWMzZmRkMWUwYS4uMTUxZGJh
NTA0ZDBmZjJkZTk5MjY5OGMzMTc0NDM0ZmE5NWRiZmVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmgKQEAgLTIzOSw2ICsyMzksNyBAQCBwcml2YXRlOgogCiAg
ICAgdm9pZCBmb2N1c05vZGUoKTsKICAgICBib29sIGlzTWFpblJlc291cmNlTG9hZGVyKERvY3Vt
ZW50TG9hZGVyKiwgY29uc3QgS1VSTCYgcmVxdWVzdFVybCk7CisgICAgdm9pZCBpc3N1ZUV2YWx1
YXRlRm9yVGVzdENvbW1hbmRzKCk7CiAKICAgICBQYWdlKiBtX2luc3BlY3RlZFBhZ2U7CiAgICAg
SW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsKQEAgLTI4Miw5ICsyODMsOSBAQCBwcml2YXRlOgog
ICAgIFN0cmluZyBtX3VzZXJBZ2VudE92ZXJyaWRlOwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAg
IHR5cGVkZWYgSGFzaE1hcDxpbnRwdHJfdCwgUmVmUHRyPEluc3BlY3RvcldvcmtlclJlc291cmNl
PiA+IFdvcmtlcnNNYXA7Ci0KICAgICBXb3JrZXJzTWFwIG1fd29ya2VyczsKICNlbmRpZgorICAg
IGJvb2wgbV9jYW5Jc3N1ZUV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggNWJkOTE0YWFiMjJhODFkM2Q3OWI1Njg1OTNmZGNm
OGMwMTc5MTY2Yi4uNjJjNWRlMDY4MGNkZjUxM2Y0NTI0NjE3N2YzMTlhOTllNWRjOTU3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5l
bC5qcwpAQCAtODY1LDcgKzg2NSw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1h
dHRlZFJlY29yZCA9IGZ1bmN0aW9uKHJlY29yZCwgcGFyZW50UmVjb3JkLCBwYW5lCiAgICAgdGhp
cy5lbmRUaW1lID0gKHR5cGVvZiByZWNvcmQuZW5kVGltZSAhPT0gInVuZGVmaW5lZCIpID8gcmVj
b3JkLmVuZFRpbWUgLyAxMDAwIDogdGhpcy5zdGFydFRpbWU7CiAgICAgdGhpcy5fc2VsZlRpbWUg
PSB0aGlzLmVuZFRpbWUgLSB0aGlzLnN0YXJ0VGltZTsKICAgICB0aGlzLl9sYXN0Q2hpbGRFbmRU
aW1lID0gdGhpcy5lbmRUaW1lOwotICAgIHRoaXMub3JpZ2luYWxSZWNvcmRGb3JUZXN0cyA9IHJl
Y29yZDsKICAgICBpZiAocmVjb3JkLnN0YWNrVHJhY2UgJiYgcmVjb3JkLnN0YWNrVHJhY2UubGVu
Z3RoKQogICAgICAgICB0aGlzLnN0YWNrVHJhY2UgPSByZWNvcmQuc3RhY2tUcmFjZTsKICAgICB0
aGlzLnRvdGFsSGVhcFNpemUgPSByZWNvcmQudG90YWxIZWFwU2l6ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggY2YyODBlMzE4MzYx
ODljOGNhM2NlNjI0NmJiMjdhMmRmMDJjMGYyYS4uYjRjM2ZkYThmZTNiZTM4ZWFlOTFiYmM3NDQ5
NzJlNTM5YjAyNDdlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuanMKQEAgLTU3MCwxMCArNTcwLDE5IEBAIHZhciB3aW5kb3dMb2FkZWQgPSBm
dW5jdGlvbigpCiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwg
d2luZG93TG9hZGVkLCBmYWxzZSk7CiAKKy8vIFdlJ2QgbGlrZSB0byBlbmZvcmNlIGFzeW5jaHJv
bm91cyBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoZSBpbnNwZWN0b3IgY29udHJvbGxlciBhbmQgdGhl
IGZyb250ZW5kLgorLy8gSXQgaXMgbmVlZGVkIHRvIHByZXZlbnQgcmUtZW50ZXJpbmcgdGhlIGJh
Y2tlbmQgY29kZS4KKy8vIEFsc28sIG5hdGl2ZSBkaXNwYXRjaGVzIGRvIG5vdCBndWFyYW50ZWUg
c2V0VGltZW91dHMgdG8gYmUgc2VyaWFsaXplZCwgc28gd2UKKy8vIGVuZm9yY2Ugc2VyaWFsaXph
dGlvbiB1c2luZyAnbWVzc2FnZXNUb0Rpc3BhdGNoJyBxdWV1ZS4gSXQgaXMgYWxzbyBpbXBvcnRh
bnQgdGhhdCBKU0MgZGVidWdnZXIKKy8vIHRlc3RzIHJlcXVpcmUgdGhhdCBlYWNoIGNvbW1hbmQg
d2FzIGRpc3BhdGNoIHdpdGhpbiBpbmRpdmlkdWFsIHRpbWVvdXQgY2FsbGJhY2ssIHNvIHdlIGRv
bid0IGJhdGNoIHRoZW0uCisKK3ZhciBtZXNzYWdlc1RvRGlzcGF0Y2ggPSBbXTsKKwogV2ViSW5z
cGVjdG9yLmRpc3BhdGNoID0gZnVuY3Rpb24obWVzc2FnZSkgewotICAgIC8vIFdlJ2QgbGlrZSB0
byBlbmZvcmNlIGFzeW5jaHJvbm91cyBpbnRlcmFjdGlvbiBiZXR3ZWVuIHRoZSBpbnNwZWN0b3Ig
Y29udHJvbGxlciBhbmQgdGhlIGZyb250ZW5kLgotICAgIC8vIFRoaXMgaXMgaW1wb3J0YW50IHRv
IExheW91dFRlc3RzLgotICAgIHNldFRpbWVvdXQoSW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaC5i
aW5kKEluc3BlY3RvckJhY2tlbmQpLCAwLCBtZXNzYWdlKTsKKyAgICBtZXNzYWdlc1RvRGlzcGF0
Y2gucHVzaChtZXNzYWdlKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBJ
bnNwZWN0b3JCYWNrZW5kLmRpc3BhdGNoKG1lc3NhZ2VzVG9EaXNwYXRjaC5zaGlmdCgpKTsKKyAg
ICB9LCAwKTsKIH0KIAogV2ViSW5zcGVjdG9yLmRpc3BhdGNoTWVzc2FnZUZyb21CYWNrZW5kID0g
ZnVuY3Rpb24obWVzc2FnZU9iamVjdCkK
</data>
<flag name="review"
          id="76894"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>