<?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>196778</bug_id>
          
          <creation_ts>2019-04-10 12:56:02 -0700</creation_ts>
          <short_desc>Web Inspector: Timelines: can&apos;t reliably stop/start a recording</short_desc>
          <delta_ts>2019-11-06 17:47:06 -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</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=152904</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>203935</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>timothy</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1526070</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-04-10 12:56:02 -0700</bug_when>
    <thetext>Sometimes you can&apos;t reliably stop/start a timeline recording by clicking the button or hitting the spacebar.

# STEPS TO REPRODUCE:
1. inspect &lt;https://wkwebviewtest.surge.sh&gt;
2. go to the Timelines tab
3. reload the page, which will trigger a timeline recording (make sure &quot;Stop recording once page loads&quot; is NOT checked)
4. when the recording stops after 2s, immediately click the record button to resume the recording
 =&gt; recording doesn&apos;t always resume.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526071</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-04-10 12:56:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/47606798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526093</commentid>
    <comment_count>2</comment_count>
      <attachid>367156</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-04-10 13:38:25 -0700</bug_when>
    <thetext>Created attachment 367156
Patch

Patch to see how bots like the new state system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526094</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-10 13:40:44 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol. Please ensure that any frontend changes appropriately use feature checks for new protocol features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526176</commentid>
    <comment_count>4</comment_count>
      <attachid>367156</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 15:49:00 -0700</bug_when>
    <thetext>Comment on attachment 367156
Patch

Clearing flags on attachment: 367156

Committed r244158: &lt;https://trac.webkit.org/changeset/244158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526177</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 15:49:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526376</commentid>
    <comment_count>6</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-04-11 08:41:33 -0700</bug_when>
    <thetext>It looks like the changes in https://trac.webkit.org/changeset/244158/webkit

has caused 8 test failures: 
inspector/timeline/line-column.html
inspector/timeline/timeline-event-CancelAnimationFrame.html
inspector/timeline/timeline-event-FireAnimationFrame.html
inspector/timeline/timeline-event-RequestAnimationFrame.html
inspector/timeline/timeline-event-TimerFire.html
inspector/timeline/timeline-event-TimerInstall.html
inspector/timeline/timeline-event-TimerRemove.html
inspector/timeline/timeline-recording.html

These tests are effecting all of Mac. Can this be resolved quickly? 

Diff of inspector/timeline/line-column.html:
https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r244167%20(10623)/inspector/timeline/line-column-diff.txt

History of inspector/timeline/line-column.html:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Fline-column.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526403</commentid>
    <comment_count>7</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-04-11 10:45:10 -0700</bug_when>
    <thetext>Reverted r244158 for reason:

Casued 8 inspector/timeline/ test failures.

Committed r244191: &lt;https://trac.webkit.org/changeset/244191&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526416</commentid>
    <comment_count>8</comment_count>
      <attachid>367230</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-04-11 11:43:29 -0700</bug_when>
    <thetext>Created attachment 367230
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526445</commentid>
    <comment_count>9</comment_count>
      <attachid>367230</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-11 13:18:37 -0700</bug_when>
    <thetext>Comment on attachment 367230
Patch

Rejecting attachment 367230 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 367230, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/11844142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526446</commentid>
    <comment_count>10</comment_count>
      <attachid>367235</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-04-11 13:19:54 -0700</bug_when>
    <thetext>Created attachment 367235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526448</commentid>
    <comment_count>11</comment_count>
      <attachid>367235</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-11 13:22:21 -0700</bug_when>
    <thetext>Comment on attachment 367235
Patch

Rejecting attachment 367235 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 367235, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/JavaScriptCore/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/11844224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526449</commentid>
    <comment_count>12</comment_count>
      <attachid>367236</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-04-11 13:26:16 -0700</bug_when>
    <thetext>Created attachment 367236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526463</commentid>
    <comment_count>13</comment_count>
      <attachid>367236</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-11 14:06:53 -0700</bug_when>
    <thetext>Comment on attachment 367236
Patch

Clearing flags on attachment: 367236

Committed r244195: &lt;https://trac.webkit.org/changeset/244195&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526464</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-11 14:06:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367156</attachid>
            <date>2019-04-10 13:38:25 -0700</date>
            <delta_ts>2019-04-11 13:26:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196778-20190410133825.patch</filename>
            <type>text/plain</type>
            <size>72365</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDZkYjRmZDE5NGFiYTMzMWU3OWQ5ZjIzZWY5MTM0
ZDE1YzYzYTYxZDcuLmI3YThhNzJjZGZjZjU1ZjQwMWZiNDZkN2IyYWVlMmNhODZiOWI4MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA0LTEwICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBU
aW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvU2NyaXB0UHJvZmlsZXIuanNv
bjoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbjoKKyAgICAgICAg
SXQgaXMgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHdoZW4gcHJvZ3JhbW1hdGljIGNhcHR1cmluZyBz
dGFydHMvc3RvcHMgaW4gdGhlIGZyb250ZW5kIGJhc2VkCisgICAgICAgIG9uIHRoZSBzdGF0ZSB3
aGVuIHRoZSBiYWNrZW5kIGNhdXNlcyB0aGUgc3RhdGUgdG8gY2hhbmdlLCBzdWNoIGFzIGlmIHRo
ZSBzdGF0ZSBpcyAiaW5hY3RpdmUiCisgICAgICAgIHdoZW4gdGhlIGZyb250ZW5kIGlzIHRvbGQg
dGhhdCB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJpbmcuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvcHJvdG9jb2wvQ1BVUHJvZmlsZXIuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJv
dG9jb2wvTWVtb3J5Lmpzb246CisgICAgICAgIFNlbmQgYW4gZW5kIHRpbWVzdGFtcCB0byBtYXRj
aCBvdGhlciBpbnN0cnVtZW50cy4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVj
dENvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQ6OnN0YXJ0Q29uc29sZVByb2ZpbGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnN0b3BDb25zb2xlUHJvZmlsZSk6CisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3Bw
OgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojp0cmFj
a2luZ0NvbXBsZXRlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudDo6cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAo
SW5zcGVjdG9yOjpJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZCk6IERlbGV0ZWQuCisKIDIwMTktMDQtMDkgIEtlaXRoIFJvbGxpbiAgPGtyb2xs
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgbWFpbnRlbmFuY2UgLS0g
dXBkYXRlIC54Y2ZpbGVsaXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MjgwNmFhNzRmZTRjYWYzYjU1Yjcz
ZmFmMTZmNTA1ZTI0NzlmMzllLi45ZjRmNDY3NzQ4OWVjYWJmYmJmMmY0Y2UzNTM3NTk0MjlmM2Iw
OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTktMDQtMTAgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5l
czogY2FuJ3QgcmVsaWFibHkgc3RvcC9zdGFydCBhIHJlY29yZGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2Nzc4CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS80NzYwNjc5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdGFydFByb2dyYW1t
YXRpY0NhcHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
c3RvcFByb2dyYW1tYXRpY0NhcHR1cmUpOgorICAgICAgICBJdCBpcyBwb3NzaWJsZSB0byBkZXRl
cm1pbmUgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyaW5nIHN0YXJ0cy9zdG9wcyBpbiB0aGUgZnJv
bnRlbmQgYmFzZWQKKyAgICAgICAgb24gdGhlIHN0YXRlIHdoZW4gdGhlIGJhY2tlbmQgY2F1c2Vz
IHRoZSBzdGF0ZSB0byBjaGFuZ2UsIHN1Y2ggYXMgaWYgdGhlIHN0YXRlIGlzICJpbmFjdGl2ZSIK
KyAgICAgICAgd2hlbiB0aGUgZnJvbnRlbmQgaXMgdG9sZCB0aGF0IHRoZSBiYWNrZW5kIGhhcyBz
dGFydGVkIGNhcHR1cmluZy4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
Q1BVUHJvZmlsZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDUFVQcm9m
aWxlckFnZW50OjpzdG9wVHJhY2tpbmcpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWVtb3J5
QWdlbnQ6OnN0b3BUcmFja2luZyk6CisgICAgICAgIFNlbmQgYW4gZW5kIHRpbWVzdGFtcCB0byBt
YXRjaCBvdGhlciBpbnN0cnVtZW50cy4KKwogMjAxOS0wNC0wOSAgS2VpdGggUm9sbGluICA8a3Jv
bGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBtYWludGVuYW5jZSAt
LSB1cGRhdGUgLnhjZmlsZWxpc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggNTAyNmM2
Yzc3NWRmMTA1MjZlZDUwZjNjNGE5Y2UyM2E0ZDhjODgwYy4uMjE5YzdhN2IyNzA3ZTgwNjA2Y2E5
NGFmYTM3ZjkzY2YyZDdlZjM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTI1IEBACisyMDE5LTA0LTEwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0b3Avc3Rh
cnQgYSByZWNvcmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5Njc3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmF0aGVyIHRoYW4gaGF2
ZSBhIGJpbmFyeSBzdGF0ZSBvZiBjYXB0dXJpbmcvbm90LWNhcHR1cmluZywgd2Ugc2hvdWxkIHVz
ZSBhIGZvdXIgc3RhdGU6CisgICAgICAgICAxLiBpbmFjdGl2ZSAod2hlbiB0aGUgYmFja2VuZCBo
YXMgc3RvcHBlZCBjYXB0dXJpbmcpCisgICAgICAgICAyLiBzdGFydGluZyAod2hlbiB0aGUgZnJv
bnRlbmQgcmVxdWVzdHMgY2FwdHVyaW5nIHRvIHN0YXJ0KQorICAgICAgICAgMy4gYWN0aXZlICh3
aGVuIHRoZSBiYWNrZW5kIGhhcyBzdGFydGVkIGNhcHR1cmluZykKKyAgICAgICAgIDQuIHN0b3Bw
aW5nICh3aGVuIHRoZSBmcm9udGVuZCByZXF1ZXN0cyBjYXB0dXJpbmcgdG8gc3RvcCkKKworICAg
ICAgICBDYXB0dXJpbmcgaXMgY29uc2lkZXJlZCAib24iIHdoZW4gbm90IGluIGFuICJpbmFjdGl2
ZSIgc3RhdGUuIFByZXZlbnQgdGhlIGZyb250ZW5kIGZyb20KKyAgICAgICAgc3RhcnRpbmcvc3Rv
cHBpbmcgY2FwdHVyaW5nIHVubGVzcyB3ZSdyZSBpbiBhICJzdGFibGUiICgiaW5hY3RpdmUiIG9y
ICJhY3RpdmUiKSBzdGF0ZSwgbm90IGEKKyAgICAgICAgInRyYW5zaXRpb24iICgic3RhcnRpbmci
IG9yICJzdG9wcGluZyIpIHN0YXRlLgorCisgICAgICAgIE9uZSAic2lkZSBlZmZlY3QiIG9mIHRo
aXMgY2hhbmdlIGlzIHRoYXQgc2luY2UgdGhlIGNhcHR1cmluZyBpcyBjb25zaWRlcmVkIGFjdGl2
ZSB1bnRpbCB0aGUKKyAgICAgICAgYmFja2VuZCBoYXMgc3RvcHBlZCBjYXB0dXJpbmcsIHdlIHdp
bGwgY29udGludWUgdG8gcHJvY2VzcyByZWNvcmRzIGluIHRoZSBmcm9udGVuZCBldmVuIGlmCisg
ICAgICAgIHRoZSBmcm9udGVuZCBoYXMgcmVxdWVzdGVkIHRvIHN0b3AgY2FwdHVyaW5nLiA8aHR0
cHM6Ly93ZWJraXQub3JnL2IvMTUyOTA0PgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanM6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIp
OgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5nZXQgY2FwdHVyaW5nU3Rh
dGUpOiBBZGRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUucmVzZXQp
OgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5nZXQgYWN0aXZlUmVjb3Jk
aW5nKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuc2V0IGF1dG9DYXB0
dXJlT25QYWdlTG9hZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLmlz
Q2FwdHVyaW5nKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuc3RhcnRD
YXB0dXJpbmcpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5zdG9wQ2Fw
dHVyaW5nKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUucHJvY2Vzc0pT
T04pOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5jYXB0dXJpbmdTdGFy
dGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuY2FwdHVyaW5nU3Rv
cHBlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLmF1dG9DYXB0dXJl
U3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLmV2ZW50UmVj
b3JkZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5wYWdlRE9NQ29u
dGVudExvYWRlZEV2ZW50RmlyZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3Rv
dHlwZS5wYWdlTG9hZEV2ZW50RmlyZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5jcHVQcm9maWxlclRyYWNraW5nVXBkYXRlZCk6CisgICAgICAgIChXSS5UaW1lbGlu
ZU1hbmFnZXIucHJvdG90eXBlLmNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5tZW1vcnlUcmFja2luZ1VwZGF0ZWQpOgor
ICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5tZW1vcnlUcmFja2luZ0NvbXBs
ZXRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLmhlYXBUcmFja2lu
Z1N0YXJ0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5oZWFwVHJh
Y2tpbmdDb21wbGV0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5o
ZWFwU25hcHNob3RBZGRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBl
Ll91cGRhdGVDYXB0dXJpbmdTdGF0ZSk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVNYW5h
Z2VyLnByb3RvdHlwZS5fcHJvY2Vzc1JlY29yZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLl9wcm9jZXNzRXZlbnQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2Vy
LnByb3RvdHlwZS5fbG9hZE5ld1JlY29yZGluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLl9hZGRSZWNvcmQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5fYXR0ZW1wdEF1dG9DYXB0dXJpbmdGb3JGcmFtZSk6CisgICAgICAgIChXSS5UaW1l
bGluZU1hbmFnZXIucHJvdG90eXBlLl9sZWdhY3lBdHRlbXB0U3RhcnRBdXRvQ2FwdHVyaW5nRm9y
RnJhbWUpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fc3RvcEF1dG9S
ZWNvcmRpbmdTb29uKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX3Jl
c2V0QXV0b1JlY29yZGluZ0RlYWRUaW1lVGltZW91dCk6CisgICAgICAgIChXSS5UaW1lbGluZU1h
bmFnZXIucHJvdG90eXBlLl9tYWluUmVzb3VyY2VEaWRDaGFuZ2UpOgorICAgICAgICAoV0kuVGlt
ZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcmVzb3VyY2VXYXNBZGRlZCk6CisgICAgICAgIChXSS5U
aW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9nYXJiYWdlQ29sbGVjdGVkKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX21lbW9yeVByZXNzdXJlKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lc0F1dG9TdG9wU2V0dGlu
Z0NoYW5nZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHRQ
cm9maWxlclRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5w
cm90b3R5cGUuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQpOgorICAgICAgICAoV0kuVGltZWxp
bmVNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlRE9NTm9kZUxvd1Bvd2VyQ2hhbmdlZCk6CisgICAg
ICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnVubG9hZFJlY29yZGluZyk6IERlbGV0
ZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0Nh
cHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90
b3R5cGUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAoV0ku
VGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1
cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5
cGUuc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCk6IERlbGV0ZWQuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIu
anM6CisgICAgICAgIChXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyLnByb3RvdHlwZS50cmFja2lu
Z0NvbXBsZXRlKToKKyAgICAgICAgKFdJLlNjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIucHJvdG90eXBl
LnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKToKKyAgICAgICAgKFdJLlNjcmlwdFByb2ZpbGVy
T2JzZXJ2ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanM6CisgICAgICAgIChX
SS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCk6
CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZCk6CisgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVybWluZSB3aGVuIHBy
b2dyYW1tYXRpYyBjYXB0dXJpbmcgc3RhcnRzL3N0b3BzIGluIHRoZSBmcm9udGVuZCBiYXNlZAor
ICAgICAgICBvbiB0aGUgc3RhdGUgd2hlbiB0aGUgYmFja2VuZCBjYXVzZXMgdGhlIHN0YXRlIHRv
IGNoYW5nZSwgc3VjaCBhcyBpZiB0aGUgc3RhdGUgaXMgImluYWN0aXZlIgorICAgICAgICB3aGVu
IHRoZSBmcm9udGVuZCBpcyB0b2xkIHRoYXQgdGhlIGJhY2tlbmQgaGFzIHN0YXJ0ZWQgY2FwdHVy
aW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2Vy
dmVyLmpzOgorICAgICAgICAoV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci5wcm90b3R5cGUudHJhY2tp
bmdDb21wbGV0ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1vcnlPYnNl
cnZlci5qczoKKyAgICAgICAgKFdJLk1lbW9yeU9ic2VydmVyLnByb3RvdHlwZS50cmFja2luZ0Nv
bXBsZXRlKToKKyAgICAgICAgU2VuZCBhbiBlbmQgdGltZXN0YW1wIHRvIG1hdGNoIG90aGVyIGlu
c3RydW1lbnRzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dl
ck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlck1hbmFnZXIpOgorICAgICAgICAoV0ku
RGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNo
YW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3Rp
bWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2Vy
TWFuYWdlci5wcm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZCk6IERlbGV0ZWQuCisg
ICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRGVmYXVsdERhc2hib2FyZC5qczoKKyAgICAg
ICAgKFdJLkRlZmF1bHREYXNoYm9hcmQpOgorICAgICAgICAoV0kuRGVmYXVsdERhc2hib2FyZC5w
cm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisg
ICAgICAgIChXSS5EZWZhdWx0RGFzaGJvYXJkLnByb3RvdHlwZS5fY2FwdHVyaW5nU3RvcHBlZCk6
IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQ
YW5lbC5qczoKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsKToKKyAgICAgICAgKFdJ
LkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdT
dGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5fdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQpOiBEZWxldGVkLgorICAgICAgICAo
V0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLl90aW1lbGluZUNhcHR1cmluZ1N0b3Bw
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmln
YXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90
b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAg
ICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZVRp
bWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNvdXJjZXNO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdT
dG9wcGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
T3ZlcnZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3KToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRl
Q2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUu
X2NhcHR1cmluZ1N0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qczoKKyAgICAgICAg
KFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3Rh
dGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRW
aWV3LnByb3RvdHlwZS5fcmVjb3JkaW5nVW5sb2FkZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0YXJ0ZWQpOiBEZWxldGVk
LgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2Nh
cHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lVGFiQ29udGVu
dFZpZXcpOgorICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5wcm90b3R5cGUuX2hh
bmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5U
aW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBl
ZCk6IERlbGV0ZWQuCisgICAgICAgIFVzZSB0aGUgbmV3IHNpbmdsZSBldmVudCBmb3IgYWxsIFRp
bWVsaW5lcyBjYXB0dXJlIHN0YXRlIGNoYW5nZXMuCisgICAgICAgIFByZXZlbnQgdGhlIHJlY29y
ZCBidXR0b24gZnJvbSBiZWluZyBjbGlja2VkIHdoZW4gY2FwdHVyaW5nIGlzIGluIGEgdHJhbnNp
dGlvbiBzdGF0ZS4KKwogMjAxOS0wNC0wOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHMgdGFiOiBDbGFzc2VzIHRvZ2ds
ZSBzaG91bGQgdXNlIGFjY2VudCBjb2xvciBvbiBob3ZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGll
bnQuY3BwCmluZGV4IGQxYmQzOTEyM2E4ZmQxYmE0YWRlMzVmYTg2MDZlMDgxMDMzYzllM2IuLjBj
ZDkyMjdkOWY4ZDc1MTNkYTAzNWFlZWE0YTBmYjM4NjNmMTgxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29u
c29sZUNsaWVudC5jcHAKQEAgLTEyMSwxMCArMTIxLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQ6OnN0YXJ0Q29uc29sZVByb2ZpbGUoKQogewogICAgIEVycm9yU3RyaW5nIHVu
dXNlZDsKIAotICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5l
cmFsaXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsg
ZXF1YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgIGlmIChtX3Njcmlw
dFByb2ZpbGVyQWdlbnQpCi0gICAgICAgIG1fc2NyaXB0UHJvZmlsZXJBZ2VudC0+cHJvZ3JhbW1h
dGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLQogICAgIGlmIChtX2RlYnVnZ2VyQWdlbnQpIHsKICAgICAg
ICAgbV9wcm9maWxlUmVzdG9yZUJyZWFrcG9pbnRBY3RpdmVWYWx1ZSA9IG1fZGVidWdnZXJBZ2Vu
dC0+YnJlYWtwb2ludHNBY3RpdmUoKTsKICAgICAgICAgbV9kZWJ1Z2dlckFnZW50LT5zZXRCcmVh
a3BvaW50c0FjdGl2ZSh1bnVzZWQsIGZhbHNlKTsKQEAgLTE0NSwxMCArMTQxLDYgQEAgdm9pZCBK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnN0b3BDb25zb2xlUHJvZmlsZSgpCiAKICAgICBp
ZiAobV9kZWJ1Z2dlckFnZW50KQogICAgICAgICBtX2RlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9p
bnRzQWN0aXZlKHVudXNlZCwgbV9wcm9maWxlUmVzdG9yZUJyZWFrcG9pbnRBY3RpdmVWYWx1ZSk7
Ci0KLSAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1ODc1Mz4gR2VuZXJhbGl6
ZSB0aGUgY29uY2VwdCBvZiBJbnN0cnVtZW50cyBvbiB0aGUgYmFja2VuZCB0byB3b3JrIGVxdWFs
bHkgZm9yIEpTQ29udGV4dCBhbmQgV2ViIGluc3BlY3Rpb24KLSAgICBpZiAobV9zY3JpcHRQcm9m
aWxlckFnZW50KQotICAgICAgICBtX3NjcmlwdFByb2ZpbGVyQWdlbnQtPnByb2dyYW1tYXRpY0Nh
cHR1cmVTdG9wcGVkKCk7CiB9CiAKIHZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Ojp0
YWtlSGVhcFNuYXBzaG90KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clNjcmlwdFByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggMWVjMjVjNDRj
YzY2NWRmNjViNTFmZjVjYzI4MWYwODljZjk1OTY3Yi4uNTZmYzFiNzk4ZGEwZWVlZWEwMjMzMWVk
NTI1NGE5NTAyMTAwNTg3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJB
Z2VudC5jcHAKQEAgLTIwMyw2ICsyMDMsOCBAQCBzdGF0aWMgUmVmPFByb3RvY29sOjpTY3JpcHRQ
cm9maWxlcjo6U2FtcGxlcz4gYnVpbGRTYW1wbGVzKFZNJiB2bSwgVmVjdG9yPFNhbXBsaQogCiB2
b2lkIEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ6OnRyYWNraW5nQ29tcGxldGUoKQogewor
ICAgIGF1dG8gdGltZXN0YW1wID0gbV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+
ZWxhcHNlZFRpbWUoKS5zZWNvbmRzKCk7CisKICNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIp
CiAgICAgaWYgKG1fZW5hYmxlZFNhbXBsaW5nUHJvZmlsZXIpIHsKICAgICAgICAgVk0mIHZtID0g
bV9lbnZpcm9ubWVudC5zY3JpcHREZWJ1Z1NlcnZlcigpLnZtKCk7CkBAIC0yMjAsMTEgKzIyMiwx
MSBAQCB2b2lkIEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ6OnRyYWNraW5nQ29tcGxldGUo
KQogCiAgICAgICAgIG1fZW5hYmxlZFNhbXBsaW5nUHJvZmlsZXIgPSBmYWxzZTsKIAotICAgICAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShXVEZNb3ZlKHNhbXBsZXMp
KTsKKyAgICAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUodGltZXN0
YW1wLCBXVEZNb3ZlKHNhbXBsZXMpKTsKICAgICB9IGVsc2UKLSAgICAgICAgbV9mcm9udGVuZERp
c3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUobnVsbHB0cik7CisgICAgICAgIG1fZnJvbnRlbmRE
aXNwYXRjaGVyLT50cmFja2luZ0NvbXBsZXRlKHRpbWVzdGFtcCwgbnVsbHB0cik7CiAjZWxzZQot
ICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2luZ0NvbXBsZXRlKG51bGxwdHIpOworICAg
IG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2luZ0NvbXBsZXRlKHRpbWVzdGFtcCwgbnVsbHB0
cik7CiAjZW5kaWYgLy8gRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVSKQogfQogCkBAIC0yNDYsMTQg
KzI0OCw0IEBAIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6c3RvcFNhbXBsaW5n
V2hlbkRpc2Nvbm5lY3RpbmcoKQogI2VuZGlmCiB9CiAKLXZvaWQgSW5zcGVjdG9yU2NyaXB0UHJv
ZmlsZXJBZ2VudDo6cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKQotewotICAgIG1fZnJvbnRl
bmREaXNwYXRjaGVyLT5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOwotfQotCi12b2lkIElu
c3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ6OnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCkK
LXsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQo
KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3Jp
cHRQcm9maWxlckFnZW50LmgKaW5kZXggZGFiNzc0ZmUyYmZmNjMzMmE5YTIzMzUwY2Q3MTI4NDc0
NzYwZjE1Ni4uOGEyODdkOGM1NjFjNmM3ZmRlYjQyYTY1OGM3ODBmMjM3OTM3M2Y5YSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2Ny
aXB0UHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaApAQCAtNTMsOSArNTMsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzdGFydFRyYWNraW5nKEVycm9yU3RyaW5nJiwgY29uc3QgYm9vbCog
aW5jbHVkZVNhbXBsZXMpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcFRyYWNraW5nKEVycm9yU3Ry
aW5nJikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCk7
Ci0gICAgdm9pZCBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotCiAgICAgLy8gRGVidWdn
ZXI6OlByb2ZpbGluZ0NsaWVudAogICAgIGJvb2wgaXNBbHJlYWR5UHJvZmlsaW5nKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU2Vjb25kcyB3aWxsRXZhbHVhdGVTY3JpcHQoKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1BVUHJv
ZmlsZXIuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1BV
UHJvZmlsZXIuanNvbgppbmRleCBjZGRmOWNhYTdmMDc2MWVkZGE4MTRjMDYzMzgyNjI1NGEwYTRi
ZGRiLi4xZjYwZDlkYjA5MmY0MWIzNmI5YzdiMWFiYWU5NDIzZjQ2ZDRjOTZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NQVVByb2ZpbGVyLmpz
b24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9m
aWxlci5qc29uCkBAIC01Miw3ICs1MiwxMCBAQAogICAgICAgICB9LAogICAgICAgICB7CiAgICAg
ICAgICAgICAibmFtZSI6ICJ0cmFja2luZ0NvbXBsZXRlIiwKLSAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJUcmFja2luZyBzdG9wcGVkLiBJbmNsdWRlcyBhbnkgYnVmZmVyZWQgZGF0YSBkdXJp
bmcgdHJhY2tpbmcsIHN1Y2ggYXMgcHJvZmlsaW5nIGluZm9ybWF0aW9uLiIKKyAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJUcmFja2luZyBzdG9wcGVkLiIsCisgICAgICAgICAgICAicGFyYW1l
dGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWVzdGFtcCIsICJ0eXBlIjog
Im51bWJlciIgfQorICAgICAgICAgICAgXQogICAgICAgICB9CiAgICAgXQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9NZW1vcnkuanNvbiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvTWVtb3J5Lmpzb24KaW5k
ZXggYjZiM2RiOWYyZTVkNTU3Nzg3ZTU1YTI3NTk4ZGU5YTVlMWIxNzJlNi4uMWMzZDAxYmFjNTYz
OTQ0OWExNjU4MDJhYmVlNTJmNGY5MGMwYTQwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9NZW1vcnkuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL01lbW9yeS5qc29uCkBAIC02NCw3ICs2NCwxMCBA
QAogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJ0cmFja2luZ0Nv
bXBsZXRlIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUcmFja2luZyBzdG9wcGVkLiIK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUcmFja2luZyBzdG9wcGVkLiIsCisgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWVzdGFt
cCIsICJ0eXBlIjogIm51bWJlciIgfQorICAgICAgICAgICAgXQogICAgICAgICB9CiAgICAgXQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9T
Y3JpcHRQcm9maWxlci5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9TY3JpcHRQcm9maWxlci5qc29uCmluZGV4IDM1MDMyYTViOGQxYmY3YzVjMzMzMDg5OGUw
NTA0NzBiMWI2NjQwMGUuLjYwY2E2ODdiN2VkZjRmMDFjMGU2MzFkMTVjY2RiZjc3YTk4NDM5YWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvU2Ny
aXB0UHJvZmlsZXIuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3By
b3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24KQEAgLTg1LDE2ICs4NSw5IEBACiAgICAgICAgICAg
ICAibmFtZSI6ICJ0cmFja2luZ0NvbXBsZXRlIiwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJUcmFja2luZyBzdG9wcGVkLiBJbmNsdWRlcyBhbnkgYnVmZmVyZWQgZGF0YSBkdXJpbmcgdHJh
Y2tpbmcsIHN1Y2ggYXMgcHJvZmlsaW5nIGluZm9ybWF0aW9uLiIsCiAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWVzdGFtcCIsICJ0eXBl
IjogIm51bWJlciIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNhbXBsZXMiLCAiJHJl
ZiI6ICJTYW1wbGVzIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlN0YWNrIHRy
YWNlcy4iIH0KICAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgIm5hbWUiOiAicHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQiLAotICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gcHJvZ3JhbW1hdGljIGNhcHR1cmUgc3RhcnRzIChjb25z
b2xlLnByb2ZpbGUpLiBKU0NvbnRleHQgaW5zcGVjdGlvbiBvbmx5LiIKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQi
LAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gcHJvZ3JhbW1hdGljIGNh
cHR1cmUgc3RvcHMgKGNvbnNvbGUucHJvZmlsZUVuZCkuIEpTQ29udGV4dCBpbnNwZWN0aW9uIG9u
bHkuIgogICAgICAgICB9CiAgICAgXQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCmluZGV4IGI5YzRmODQ2MTEwYzVm
YmYzMTAwM2IwYzZiN2VjNTE5YWRlZWRhNGUuLjk4ODAwMzJlYzgxNGM2NTk4ZmI2OWZmZDNkNDhk
MjU5MDAxOTk3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvVGltZWxpbmUuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24KQEAgLTEwNywxNCArMTA3LDYgQEAKICAgICAgICAg
ewogICAgICAgICAgICAgIm5hbWUiOiAiYXV0b0NhcHR1cmVTdGFydGVkIiwKICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIGF1dG8gY2FwdHVyZSBzdGFydGVkLiIKLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicHJvZ3JhbW1hdGljQ2FwdHVy
ZVN0YXJ0ZWQiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gcHJvZ3Jh
bW1hdGljIGNhcHR1cmUgc3RhcnRzIChjb25zb2xlLnByb2ZpbGUpLiIKLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQi
LAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gcHJvZ3JhbW1hdGljIGNh
cHR1cmUgc3RvcHMgKGNvbnNvbGUucHJvZmlsZUVuZCkuIgogICAgICAgICB9CiAgICAgXQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQ
cm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggOGYxNTUwNDViMGYwMzZlYTY4Y2FkOGY4MzMx
MjllNmZhZDNhMDAwNS4uNmEyOTcyZDY4ODUxNmRjZjI4NjFiM2UxNWE1NDE2YWMwMjFmYjRmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQ
cm9maWxlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgSW5zcGVj
dG9yQ1BVUHJvZmlsZXJBZ2VudDo6c3RvcFRyYWNraW5nKEVycm9yU3RyaW5nJikKIAogICAgIG1f
dHJhY2tpbmcgPSBmYWxzZTsKIAotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2luZ0Nv
bXBsZXRlKCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUobV9l
bnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRpbWUoKS5zZWNvbmRzKCkp
OwogfQogCiBzdGF0aWMgUmVmPFByb3RvY29sOjpDUFVQcm9maWxlcjo6VGhyZWFkSW5mbz4gYnVp
bGRUaHJlYWRJbmZvKGNvbnN0IFRocmVhZENQVUluZm8mIHRocmVhZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAK
aW5kZXggNWJjNTZlYWI2ODliM2M2ZDhmOTAxM2NmMTA5MzEzMDQ4ODFmOTNkYi4uMjJkNDdmNTdm
NDVlMjA5YjczNTJkZmEwZDUzYzIyZjAyMDk5YTU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTky
LDcgKzkyLDcgQEAgdm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6c3RvcFRyYWNraW5nKEVycm9y
U3RyaW5nJikKIAogICAgIG1fdHJhY2tpbmcgPSBmYWxzZTsKIAotICAgIG1fZnJvbnRlbmREaXNw
YXRjaGVyLT50cmFja2luZ0NvbXBsZXRlKCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRy
YWNraW5nQ29tcGxldGUobV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNl
ZFRpbWUoKS5zZWNvbmRzKCkpOwogfQogCiB2b2lkIEluc3BlY3Rvck1lbW9yeUFnZW50OjpkaWRI
YW5kbGVNZW1vcnlQcmVzc3VyZShDcml0aWNhbCBjcml0aWNhbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CmluZGV4IDgxZGVkY2VlN2ZjNGQzZDZiZGZjOWZkYWVmOWQ3MjdhYjk0YTZkMmMuLmExZDNkOTE0
NGE1MjEyY2Q5NGU3OTM0NTEwOWMyZGU3ZGZmYjg0MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApA
QCAtNDc3LDggKzQ3Nyw2IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnRQcm9n
cmFtbWF0aWNDYXB0dXJlKCkKICAgICB9IGVsc2UKICAgICAgICAgbV9wcm9ncmFtbWF0aWNDYXB0
dXJlUmVzdG9yZUJyZWFrcG9pbnRBY3RpdmVWYWx1ZSA9IGZhbHNlOwogCi0gICAgbV9mcm9udGVu
ZERpc3BhdGNoZXItPnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCk7Ci0KICAgICB0b2dnbGVT
Y3JpcHRQcm9maWxlckluc3RydW1lbnQoSW5zdHJ1bWVudFN0YXRlOjpTdGFydCk7IC8vIEVuc3Vy
ZSBKYXZhU2NyaXB0IHNhbXBpbmcgZGF0YS4KICAgICB0b2dnbGVUaW1lbGluZUluc3RydW1lbnQo
SW5zdHJ1bWVudFN0YXRlOjpTdGFydCk7IC8vIEVuc3VyZSBDb25zb2xlIFByb2ZpbGUgZXZlbnQg
cmVjb3Jkcy4KICAgICB0b2dnbGVJbnN0cnVtZW50cyhJbnN0cnVtZW50U3RhdGU6OlN0YXJ0KTsg
Ly8gQW55IG90aGVyIGluc3RydW1lbnRzIHRoZSBmcm9udGVuZCB3YW50cyB1cyB0byByZWNvcmQu
CkBAIC01MDAsOCArNDk4LDYgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wUHJv
Z3JhbW1hdGljQ2FwdHVyZSgpCiAgICAgICAgICAgICBkZWJ1Z2dlckFnZW50LT5zZXRCcmVha3Bv
aW50c0FjdGl2ZSh1bnVzZWQsIHRydWUpOwogICAgICAgICB9CiAgICAgfQotCi0gICAgbV9mcm9u
dGVuZERpc3BhdGNoZXItPnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCk7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6dG9nZ2xlSW5zdHJ1bWVudHMoSW5zdHJ1bWVudFN0YXRl
IHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCmluZGV4IDJhNmEyMGY0
YjkyM2I2NWNjMjgzZTEzZjM2MjkwNGZmMzZkZWRhNWQuLjY4ZGYzYWY0YjBjNDUwMjJjNzNmN2Jm
MDIwNTFhZTY1ZTE5MDFlYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMK
QEAgLTM4LDggKzM4LDcgQEAgV0kuRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRGVidWdnZXJNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIFdJLkJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0
ZW5lcihXSS5CcmVha3BvaW50LkV2ZW50LkF1dG9Db250aW51ZURpZENoYW5nZSwgdGhpcy5fYnJl
YWtwb2ludEVkaXRhYmxlUHJvcGVydHlEaWRDaGFuZ2UsIHRoaXMpOwogICAgICAgICBXSS5CcmVh
a3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuQnJlYWtwb2ludC5FdmVudC5BY3Rpb25zRGlkQ2hh
bmdlLCB0aGlzLl9oYW5kbGVCcmVha3BvaW50QWN0aW9uc0RpZENoYW5nZSwgdGhpcyk7CiAKLSAg
ICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5h
Z2VyLkV2ZW50LkNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdXaWxs
U3RhcnQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcy5fdGltZWxp
bmVDYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hh
bmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMpOwog
CiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdl
ci5FdmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0U2NoZWR1
bGVkLCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0ku
QXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdl
clRlc3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMTEzNywxNyArMTEzNiwxOSBAQCBXSS5EZWJ1Z2dl
ck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgdGhpcy5icmVha3BvaW50c0VuYWJsZWQgPSByZXN0b3JlU3RhdGU7CiAgICAgfQogCi0gICAg
X3RpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KGV2ZW50KQorICAgIF9oYW5kbGVUaW1lbGluZUNh
cHR1cmluZ1N0YXRlQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIHRoaXMuX3N0YXJ0RGlz
YWJsaW5nQnJlYWtwb2ludHNUZW1wb3JhcmlseSgpOworICAgICAgICBzd2l0Y2ggKFdJLnRpbWVs
aW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSkgeworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFu
YWdlci5DYXB0dXJpbmdTdGF0ZS5TdGFydGluZzoKKyAgICAgICAgICAgIHRoaXMuX3N0YXJ0RGlz
YWJsaW5nQnJlYWtwb2ludHNUZW1wb3JhcmlseSgpOworICAgICAgICAgICAgaWYgKHRoaXMucGF1
c2VkKQorICAgICAgICAgICAgICAgIHRoaXMucmVzdW1lKCk7CisgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICBpZiAodGhpcy5wYXVzZWQpCi0gICAgICAgICAgICB0aGlzLnJlc3VtZSgpOwot
ICAgIH0KLQotICAgIF90aW1lbGluZUNhcHR1cmluZ1N0b3BwZWQoZXZlbnQpCi0gICAgewotICAg
ICAgICB0aGlzLl9zdG9wRGlzYWJsaW5nQnJlYWtwb2ludHNUZW1wb3JhcmlseSgpOworICAgICAg
ICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAg
ICAgICAgIHRoaXMuX3N0b3BEaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5KCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIF9oYW5kbGVBdWRpdE1hbmFn
ZXJUZXN0U2NoZWR1bGVkKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpz
CmluZGV4IGU0YjcyZWNkZTNiZWIzMTA4NmEyMDljYmFjMzU4OGU0MWU4MTliODYuLjc4YWVhMGRl
NDIyZWUwNjVmY2NhZWNkZWM1OWQ3MTEzZTI2YmNkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1l
bGluZU1hbmFnZXIuanMKQEAgLTMzLDMwICszMywyNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBj
bGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICBXSS5GcmFt
ZS5hZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50LlByb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQs
IHRoaXMuX3Byb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQsIHRoaXMpOwogICAgICAgICBXSS5GcmFtZS5h
ZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwgdGhp
cy5fbWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgV0kuRnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJj
ZVdhc0FkZGVkLCB0aGlzKTsKLSAgICAgICAgV0kuVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoV0ku
VGFyZ2V0LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMp
OwotCi0gICAgICAgIFdJLmhlYXBNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuSGVhcE1hbmFn
ZXIuRXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3RlZCwgdGhpcyk7
Ci0gICAgICAgIFdJLm1lbW9yeU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5NZW1vcnlNYW5h
Z2VyLkV2ZW50Lk1lbW9yeVByZXNzdXJlLCB0aGlzLl9tZW1vcnlQcmVzc3VyZSwgdGhpcyk7Ci0K
LSAgICAgICAgV0kuc2V0dGluZ3MudGltZWxpbmVzQXV0b1N0b3AuYWRkRXZlbnRMaXN0ZW5lcihX
SS5TZXR0aW5nLkV2ZW50LkNoYW5nZWQsIHRoaXMuX2hhbmRsZVRpbWVsaW5lc0F1dG9TdG9wU2V0
dGluZ0NoYW5nZWQsIHRoaXMpOwogCiAgICAgICAgIHRoaXMuX2VuYWJsZWRUaW1lbGluZVR5cGVz
U2V0dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJlbmFibGVkLWluc3RydW1lbnQtdHlwZXMiLCBXSS5U
aW1lbGluZU1hbmFnZXIuZGVmYXVsdFRpbWVsaW5lVHlwZXMoKSk7CiAKLSAgICAgICAgdGhpcy5f
aXNDYXB0dXJpbmcgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nU3RhdGUgPSBUaW1l
bGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7CisgICAgICAgIHRoaXMuX2NhcHR1
cmluZ0luc3RydW1lbnRDb3VudCA9IDA7CisgICAgICAgIHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGlt
ZSA9IE5hTjsKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nRW5kVGltZSA9IE5hTjsKKwogICAgICAg
ICB0aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRTdGFydCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9p
bml0aWF0ZWRCeUJhY2tlbmRTdG9wID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JD
YXB0dXJpbmdTdGFydGVkRXZlbnQgPSBmYWxzZTsKKwogICAgICAgICB0aGlzLl9pc0NhcHR1cmlu
Z1BhZ2VSZWxvYWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fYXV0b0NhcHR1cmVPblBhZ2VMb2Fk
ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcgPSBu
dWxsOwogICAgICAgICB0aGlzLl9zaG91bGRTZXRBdXRvQ2FwdHVyaW5nTWFpblJlc291cmNlID0g
ZmFsc2U7CiAgICAgICAgIHRoaXMuX3RyYW5zaXRpb25pbmdQYWdlVGFyZ2V0ID0gZmFsc2U7Ci0g
ICAgICAgIHRoaXMuX2JvdW5kU3RvcENhcHR1cmluZyA9IHRoaXMuc3RvcENhcHR1cmluZy5iaW5k
KHRoaXMpOwogCiAgICAgICAgIHRoaXMuX3dlYlRpbWVsaW5lU2NyaXB0UmVjb3Jkc0V4cGVjdGlu
Z1NjcmlwdFByb2ZpbGVyRXZlbnRzID0gbnVsbDsKICAgICAgICAgdGhpcy5fc2NyaXB0UHJvZmls
ZXJSZWNvcmRzID0gbnVsbDsKIAorICAgICAgICB0aGlzLl9ib3VuZFN0b3BDYXB0dXJpbmcgPSB0
aGlzLnN0b3BDYXB0dXJpbmcuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5fc3RvcENhcHR1cmlu
Z1RpbWVvdXQgPSB1bmRlZmluZWQ7CiAgICAgICAgIHRoaXMuX2RlYWRUaW1lVGltZW91dCA9IHVu
ZGVmaW5lZDsKICAgICAgICAgdGhpcy5fbGFzdERlYWRUaW1lVGlja2xlID0gMDsKQEAgLTE1Myw5
ICsxNTAsMTEgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4
dGVuZHMgV0kuT2JqZWN0CiAKICAgICAvLyBQdWJsaWMKIAorICAgIGdldCBjYXB0dXJpbmdTdGF0
ZSgpIHsgcmV0dXJuIHRoaXMuX2NhcHR1cmluZ1N0YXRlOyB9CisKICAgICByZXNldCgpCiAgICAg
ewotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2Fw
dHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB0
aGlzLl9yZWNvcmRpbmdzID0gW107CkBAIC0xNjgsNyArMTY3LDcgQEAgV0kuVGltZWxpbmVNYW5h
Z2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgLy8gVGhl
IGN1cnJlbnQgcmVjb3JkaW5nIHRoYXQgbmV3IHRpbWVsaW5lIHJlY29yZHMgd2lsbCBiZSBhcHBl
bmRlZCB0bywgaWYgYW55LgogICAgIGdldCBhY3RpdmVSZWNvcmRpbmcoKQogICAgIHsKLSAgICAg
ICAgY29uc29sZS5hc3NlcnQodGhpcy5fYWN0aXZlUmVjb3JkaW5nIHx8ICF0aGlzLl9pc0NhcHR1
cmluZyk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2FjdGl2ZVJlY29yZGluZyB8fCAh
dGhpcy5pc0NhcHR1cmluZygpKTsKICAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVJlY29yZGlu
ZzsKICAgICB9CiAKQEAgLTE5MSw4ICsxOTAsMTAgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xh
c3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fYXV0
b0NhcHR1cmVPblBhZ2VMb2FkID0gYXV0b0NhcHR1cmU7CiAKLSAgICAgICAgaWYgKHdpbmRvdy5U
aW1lbGluZUFnZW50ICYmIFRpbWVsaW5lQWdlbnQuc2V0QXV0b0NhcHR1cmVFbmFibGVkKQotICAg
ICAgICAgICAgVGltZWxpbmVBZ2VudC5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQodGhpcy5fYXV0b0Nh
cHR1cmVPblBhZ2VMb2FkKTsKKyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMp
IHsKKyAgICAgICAgICAgIGlmICh0YXJnZXQuVGltZWxpbmVBZ2VudCkKKyAgICAgICAgICAgICAg
ICB0YXJnZXQuVGltZWxpbmVBZ2VudC5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQodGhpcy5fYXV0b0Nh
cHR1cmVPblBhZ2VMb2FkKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGdldCBlbmFibGVkVGlt
ZWxpbmVUeXBlcygpCkBAIC0yMTAsNyArMjExLDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xh
c3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBpc0NhcHR1cmluZygp
CiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5faXNDYXB0dXJpbmc7CisgICAgICAgIHJldHVy
biB0aGlzLl9jYXB0dXJpbmdTdGF0ZSAhPT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRl
LkluYWN0aXZlOwogICAgIH0KIAogICAgIGlzQ2FwdHVyaW5nUGFnZVJlbG9hZCgpCkBAIC0yMzgs
NDAgKzIzOSwyOSBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIg
ZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIHN0YXJ0Q2FwdHVyaW5nKHNob3VsZENyZWF0ZVJlY29y
ZGluZykKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9pc0NhcHR1cmluZywg
IlRpbWVsaW5lTWFuYWdlciBpcyBhbHJlYWR5IGNhcHR1cmluZy4iKTsKKyAgICAgICAgY29uc29s
ZS5hc3NlcnQodGhpcy5fY2FwdHVyaW5nU3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJp
bmdTdGF0ZS5TdG9wcGluZyB8fCB0aGlzLl9jYXB0dXJpbmdTdGF0ZSA9PT0gVGltZWxpbmVNYW5h
Z2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZlLCAiVGltZWxpbmVNYW5hZ2VyIGlzIGFscmVhZHkg
Y2FwdHVyaW5nLiIpOworICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5nU3RhdGUgIT09IFRpbWVs
aW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdG9wcGluZyAmJiB0aGlzLl9jYXB0dXJpbmdTdGF0
ZSAhPT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZlKQorICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghdGhpcy5fYWN0aXZlUmVjb3JkaW5nIHx8IHNob3Vs
ZENyZWF0ZVJlY29yZGluZykKICAgICAgICAgICAgIHRoaXMuX2xvYWROZXdSZWNvcmRpbmcoKTsK
IAotICAgICAgICB0aGlzLl93YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50ID0gdHJ1ZTsK
LQotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5UaW1lbGluZU1hbmFn
ZXIuRXZlbnQuQ2FwdHVyaW5nV2lsbFN0YXJ0KTsKKyAgICAgICAgdGhpcy5fdXBkYXRlQ2FwdHVy
aW5nU3RhdGUoVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nKTsKIAorICAg
ICAgICB0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUgPSBOYU47CiAgICAgICAgIHRoaXMuX2FjdGl2
ZVJlY29yZGluZy5zdGFydCh0aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRTdGFydCk7CiAgICAgfQog
CiAgICAgc3RvcENhcHR1cmluZygpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlz
Ll9pc0NhcHR1cmluZywgIlRpbWVsaW5lTWFuYWdlciBpcyBub3QgY2FwdHVyaW5nLiIpOwotCi0g
ICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5zdG9wKHRoaXMuX2luaXRpYXRlZEJ5QmFja2Vu
ZFN0b3ApOwotCi0gICAgICAgIC8vIE5PVEU6IEFsd2F5cyBzdG9wIGltbWVkaWF0ZWx5IGluc3Rl
YWQgb2Ygd2FpdGluZyBmb3IgYSBUaW1lbGluZS5yZWNvcmRpbmdTdG9wcGVkIGV2ZW50LgotICAg
ICAgICAvLyBUaGlzIHdheSB0aGUgVUkgZmVlbHMgYXMgcmVzcG9uc2l2ZSB0byBhIHN0b3AgYXMg
cG9zc2libGUuCi0gICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUyOTA0
PiBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBVSSBzaG91bGQga2VlcCB1cCB3aXRoIHByb2Nlc3Np
bmcgYWxsIGluY29taW5nIHJlY29yZHMKLSAgICAgICAgdGhpcy5jYXB0dXJpbmdTdG9wcGVkKCk7
Ci0gICAgfQotCi0gICAgdW5sb2FkUmVjb3JkaW5nKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhp
cy5fYWN0aXZlUmVjb3JkaW5nKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9jYXB0dXJp
bmdTdGF0ZSA9PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nIHx8IHRo
aXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0
aXZlLCAiVGltZWxpbmVNYW5hZ2VyIGlzIG5vdCBjYXB0dXJpbmcuIik7CisgICAgICAgIGlmICh0
aGlzLl9jYXB0dXJpbmdTdGF0ZSAhPT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0
YXJ0aW5nICYmIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVy
aW5nU3RhdGUuQWN0aXZlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmICh0aGlz
Ll9pc0NhcHR1cmluZykKLSAgICAgICAgICAgIHRoaXMuc3RvcENhcHR1cmluZygpOworICAgICAg
ICB0aGlzLl91cGRhdGVDYXB0dXJpbmdTdGF0ZShUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3Rh
dGUuU3RvcHBpbmcpOwogCi0gICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy51bmxvYWRlZCgp
OwotICAgICAgICB0aGlzLl9hY3RpdmVSZWNvcmRpbmcgPSBudWxsOworICAgICAgICB0aGlzLl9j
YXB0dXJpbmdFbmRUaW1lID0gTmFOOworICAgICAgICB0aGlzLl9hY3RpdmVSZWNvcmRpbmcuc3Rv
cCh0aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRTdG9wKTsKICAgICB9CiAKICAgICBwcm9jZXNzSlNP
Tih7ZmlsZW5hbWUsIGpzb24sIGVycm9yfSkKQEAgLTMwNSw3ICsyOTUsNyBAQCBXSS5UaW1lbGlu
ZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5UaW1lbGluZU1hbmFnZXIuRXZl
bnQuUmVjb3JkaW5nQ3JlYXRlZCwge3JlY29yZGluZzogbmV3UmVjb3JkaW5nfSk7CiAKLSAgICAg
ICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBpZiAodGhpcy5pc0NhcHR1cmluZygp
KQogICAgICAgICAgICAgdGhpcy5zdG9wQ2FwdHVyaW5nKCk7CiAKICAgICAgICAgbGV0IG9sZFJl
Y29yZGluZyA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZzsKQEAgLTMzOSw1MSArMzI5LDk1IEBAIFdJ
LlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuVGltZWxpbmVPYnNlcnZlci4KIAot
ICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAgIC8vIFRoZSBmcm9udGVuZCBk
aWRuJ3Qgc3RhcnQgY2FwdHVyaW5nLCBzbyB0aGlzIHdhcyBhIHByb2dyYW1tYXRpYyBzdGFydC4K
KyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuSW5hY3RpdmUpIHsKKyAgICAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFj
a2VuZFN0YXJ0ID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRT
Y3JpcHRJbnN0cnVtZW50Rm9yUHJvZ3JhbW1hdGljQ2FwdHVyZSgpOworICAgICAgICAgICAgdGhp
cy5zdGFydENhcHR1cmluZygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFpc05hTihzdGFy
dFRpbWUpKSB7CisgICAgICAgICAgICBpZiAoaXNOYU4odGhpcy5fY2FwdHVyaW5nU3RhcnRUaW1l
KSB8fCBzdGFydFRpbWUgPCB0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUpCisgICAgICAgICAgICAg
ICAgdGhpcy5fY2FwdHVyaW5nU3RhcnRUaW1lID0gc3RhcnRUaW1lOworCisgICAgICAgICAgICB0
aGlzLl9hY3RpdmVSZWNvcmRpbmcuaW5pdGlhbGl6ZVRpbWVCb3VuZHNJZk5lY2Vzc2FyeShzdGFy
dFRpbWUpOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENv
dW50Kys7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ0luc3RydW1lbnRD
b3VudCk7CisgICAgICAgIGlmICh0aGlzLl9jYXB0dXJpbmdJbnN0cnVtZW50Q291bnQgPiAxKQog
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JDYXB0dXJpbmdT
dGFydGVkRXZlbnQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5faXNDYXB0dXJpbmcgPSB0cnVlOwor
ICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5nU3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0
dXJpbmdTdGF0ZS5BY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5f
bGFzdERlYWRUaW1lVGlja2xlID0gMDsKIAotICAgICAgICBpZiAoc3RhcnRUaW1lKQotICAgICAg
ICAgICAgdGhpcy5hY3RpdmVSZWNvcmRpbmcuaW5pdGlhbGl6ZVRpbWVCb3VuZHNJZk5lY2Vzc2Fy
eShzdGFydFRpbWUpOwotCiAgICAgICAgIHRoaXMuX3dlYlRpbWVsaW5lU2NyaXB0UmVjb3Jkc0V4
cGVjdGluZ1NjcmlwdFByb2ZpbGVyRXZlbnRzID0gW107CiAKKyAgICAgICAgV0kuc2V0dGluZ3Mu
dGltZWxpbmVzQXV0b1N0b3AuYWRkRXZlbnRMaXN0ZW5lcihXSS5TZXR0aW5nLkV2ZW50LkNoYW5n
ZWQsIHRoaXMuX2hhbmRsZVRpbWVsaW5lc0F1dG9TdG9wU2V0dGluZ0NoYW5nZWQsIHRoaXMpOwor
CisgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUuRXZlbnQuUmVzb3Vy
Y2VXYXNBZGRlZCwgdGhpcy5fcmVzb3VyY2VXYXNBZGRlZCwgdGhpcyk7CisgICAgICAgIFdJLlRh
cmdldC5hZGRFdmVudExpc3RlbmVyKFdJLlRhcmdldC5FdmVudC5SZXNvdXJjZUFkZGVkLCB0aGlz
Ll9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKKworICAgICAgICBXSS5oZWFwTWFuYWdlci5hZGRF
dmVudExpc3RlbmVyKFdJLkhlYXBNYW5hZ2VyLkV2ZW50LkdhcmJhZ2VDb2xsZWN0ZWQsIHRoaXMu
X2dhcmJhZ2VDb2xsZWN0ZWQsIHRoaXMpOworCisgICAgICAgIFdJLm1lbW9yeU1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXSS5NZW1vcnlNYW5hZ2VyLkV2ZW50Lk1lbW9yeVByZXNzdXJlLCB0aGlz
Ll9tZW1vcnlQcmVzc3VyZSwgdGhpcyk7CisKICAgICAgICAgV0kuRE9NTm9kZS5hZGRFdmVudExp
c3RlbmVyKFdJLkRPTU5vZGUuRXZlbnQuRGlkRmlyZUV2ZW50LCB0aGlzLl9oYW5kbGVET01Ob2Rl
RGlkRmlyZUV2ZW50LCB0aGlzKTsKICAgICAgICAgV0kuRE9NTm9kZS5hZGRFdmVudExpc3RlbmVy
KFdJLkRPTU5vZGUuRXZlbnQuTG93UG93ZXJDaGFuZ2VkLCB0aGlzLl9oYW5kbGVET01Ob2RlTG93
UG93ZXJDaGFuZ2VkLCB0aGlzKTsKIAotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhcnRlZCwge3N0YXJ0VGlt
ZX0pOworICAgICAgICB0aGlzLl91cGRhdGVDYXB0dXJpbmdTdGF0ZShUaW1lbGluZU1hbmFnZXIu
Q2FwdHVyaW5nU3RhdGUuQWN0aXZlLCB7c3RhcnRUaW1lOiB0aGlzLl9jYXB0dXJpbmdTdGFydFRp
bWV9KTsKICAgICB9CiAKICAgICBjYXB0dXJpbmdTdG9wcGVkKGVuZFRpbWUpCiAgICAgewogICAg
ICAgICAvLyBDYWxsZWQgZnJvbSBXSS5UaW1lbGluZU9ic2VydmVyLgogCi0gICAgICAgIGlmICgh
dGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAgIC8vIFRoZSBmcm9udGVuZCBkaWRuJ3Qgc3RvcCBj
YXB0dXJpbmcsIHNvIHRoaXMgd2FzIGEgcHJvZ3JhbW1hdGljIHN0b3AuCisgICAgICAgIGlmICh0
aGlzLl9jYXB0dXJpbmdTdGF0ZSA9PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkFj
dGl2ZSkgeworICAgICAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RvcCA9IHRydWU7
CisgICAgICAgICAgICB0aGlzLnN0b3BDYXB0dXJpbmcoKTsKKyAgICAgICAgfQorCisgICAgICAg
IGlmICghaXNOYU4oZW5kVGltZSkpIHsKKyAgICAgICAgICAgIGlmIChpc05hTih0aGlzLl9jYXB0
dXJpbmdFbmRUaW1lKSB8fCBlbmRUaW1lID4gdGhpcy5fY2FwdHVyaW5nRW5kVGltZSkKKyAgICAg
ICAgICAgICAgICB0aGlzLl9jYXB0dXJpbmdFbmRUaW1lID0gZW5kVGltZTsKKyAgICAgICAgfQor
CisgICAgICAgIHRoaXMuX2NhcHR1cmluZ0luc3RydW1lbnRDb3VudC0tOworICAgICAgICBjb25z
b2xlLmFzc2VydCh0aGlzLl9jYXB0dXJpbmdJbnN0cnVtZW50Q291bnQgPj0gMCk7CisgICAgICAg
IGlmICh0aGlzLl9jYXB0dXJpbmdJbnN0cnVtZW50Q291bnQpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIu
Q2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAg
V0kuRE9NTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOworICAgICAg
ICBXSS5tZW1vcnlNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7
CisgICAgICAgIFdJLmhlYXBNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwg
dGhpcyk7CisgICAgICAgIFdJLlRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRhcmdldC5F
dmVudC5SZXNvdXJjZUFkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKKyAgICAg
ICAgV0kuRnJhbWUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdh
c0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKKyAgICAgICAgV0kuc2V0dGlu
Z3MudGltZWxpbmVzQXV0b1N0b3AucmVtb3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlz
KTsKIAogICAgICAgICB0aGlzLnJlbGF4QXV0b1N0b3AoKTsKIAotICAgICAgICB0aGlzLl9pc0Nh
cHR1cmluZyA9IGZhbHNlOwogICAgICAgICB0aGlzLl9pc0NhcHR1cmluZ1BhZ2VSZWxvYWQgPSBm
YWxzZTsKICAgICAgICAgdGhpcy5fc2hvdWxkU2V0QXV0b0NhcHR1cmluZ01haW5SZXNvdXJjZSA9
IGZhbHNlOwogICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nID0gbnVs
bDsKICAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSBmYWxzZTsKICAgICAg
ICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RvcCA9IGZhbHNlOwogCi0gICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJp
bmdTdG9wcGVkLCB7ZW5kVGltZX0pOworICAgICAgICB0aGlzLl91cGRhdGVDYXB0dXJpbmdTdGF0
ZShUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUsIHtlbmRUaW1lOiB0aGlz
Ll9jYXB0dXJpbmdFbmRUaW1lfSk7CiAgICAgfQogCiAgICAgYXV0b0NhcHR1cmVTdGFydGVkKCkK
ICAgICB7CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLlRpbWVsaW5lT2JzZXJ2ZXIuCiAKLSAg
ICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBsZXQgd2FpdGluZ0ZvckNhcHR1
cmluZ1N0YXJ0ZWRFdmVudCA9IHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFn
ZXIuQ2FwdHVyaW5nU3RhdGUuU3RhcnRpbmc7CisKKyAgICAgICAgaWYgKHRoaXMuaXNDYXB0dXJp
bmcoKSkKICAgICAgICAgICAgIHRoaXMuc3RvcENhcHR1cmluZygpOwogCiAgICAgICAgIHRoaXMu
X2luaXRpYXRlZEJ5QmFja2VuZFN0YXJ0ID0gdHJ1ZTsKQEAgLTM5MSw3ICs0MjUsNyBAQCBXSS5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgLy8gV2UgbWF5IGFscmVhZHkgaGF2ZSBhbiBmcmVzaCBUaW1lbGluZVJlY29yZGlu
ZyBjcmVhdGVkIGlmIGF1dG9DYXB0dXJlU3RhcnRlZCBpcyByZWNlaXZlZAogICAgICAgICAvLyBi
ZXR3ZWVuIHNlbmRpbmcgdGhlIFRpbWVsaW5lLnN0YXJ0IGNvbW1hbmQgYW5kIHJlY2VpdmluZyBU
aW1lbGluZS5jYXB0dXJpbmdTdGFydGVkIGV2ZW50LgogICAgICAgICAvLyBJbiB0aGF0IGNhc2Us
IHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbCBzdGFydENhcHR1cmluZyBhZ2Fpbi4gUmV1c2UgdGhl
IGZyZXNoIHJlY29yZGluZy4KLSAgICAgICAgaWYgKCF0aGlzLl93YWl0aW5nRm9yQ2FwdHVyaW5n
U3RhcnRlZEV2ZW50KSB7CisgICAgICAgIGlmICghd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRF
dmVudCkgewogICAgICAgICAgICAgY29uc3QgY3JlYXRlTmV3UmVjb3JkaW5nID0gdHJ1ZTsKICAg
ICAgICAgICAgIHRoaXMuc3RhcnRDYXB0dXJpbmcoY3JlYXRlTmV3UmVjb3JkaW5nKTsKICAgICAg
ICAgfQpAQCAtMzk5LDM3ICs0MzMsMTIgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGlt
ZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX3Nob3VsZFNldEF1
dG9DYXB0dXJpbmdNYWluUmVzb3VyY2UgPSB0cnVlOwogICAgIH0KIAotICAgIHByb2dyYW1tYXRp
Y0NhcHR1cmVTdGFydGVkKCkKLSAgICB7Ci0gICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLlRpbWVs
aW5lT2JzZXJ2ZXIuCi0KLSAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0
cnVlOwotCi0gICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRTY3JpcHRJbnN0cnVtZW50
Rm9yUHJvZ3JhbW1hdGljQ2FwdHVyZSgpOwotCi0gICAgICAgIGNvbnN0IGNyZWF0ZU5ld1JlY29y
ZGluZyA9IGZhbHNlOwotICAgICAgICB0aGlzLnN0YXJ0Q2FwdHVyaW5nKGNyZWF0ZU5ld1JlY29y
ZGluZyk7Ci0gICAgfQotCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQotICAgIHsK
LSAgICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuVGltZWxpbmVPYnNlcnZlci4KLQotICAgICAgICB0
aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRTdG9wID0gdHJ1ZTsKLQotICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyBwdXJlbHkgdG8gYXZvaWQgYSBub2lzeSBhc3NlcnQuIFByZXZpb3VzbHkKLSAgICAg
ICAgLy8gaXQgd2FzIGltcG9zc2libGUgdG8gc3RvcCB3aXRob3V0IHN0b3BwaW5nIGZyb20gdGhl
IFVJLgotICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5faXNDYXB0dXJpbmcpOwotICAgICAg
ICB0aGlzLl9pc0NhcHR1cmluZyA9IHRydWU7Ci0KLSAgICAgICAgdGhpcy5zdG9wQ2FwdHVyaW5n
KCk7Ci0gICAgfQotCiAgICAgZXZlbnRSZWNvcmRlZChyZWNvcmRQYXlsb2FkKQogICAgIHsKICAg
ICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuVGltZWxpbmVPYnNlcnZlci4KIAotICAgICAgICBpZiAo
IXRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVy
aW5nKCkpOworICAgICAgICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICB2YXIgcmVjb3JkcyA9IFtdOwpAQCAtNDY5LDggKzQ3OCw2IEBAIFdJ
LlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICB9CiAgICAgfQogCi0gICAgLy8gUHJvdGVjdGVkCi0KICAgICBwYWdlRE9NQ29u
dGVudExvYWRlZEV2ZW50RmlyZWQodGltZXN0YW1wKQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVk
IGZyb20gV0kuUGFnZU9ic2VydmVyLgpAQCAtNDc4LDcgKzQ4NSw3IEBAIFdJLlRpbWVsaW5lTWFu
YWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLl9hY3RpdmVSZWNvcmRpbmcpOwogICAgICAgICBjb25zb2xlLmFz
c2VydChpc05hTihXSS5uZXR3b3JrTWFuYWdlci5tYWluRnJhbWUuZG9tQ29udGVudFJlYWR5RXZl
bnRUaW1lc3RhbXApKTsKIAotICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3RhbXAgPSB0aGlzLmFj
dGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUodGltZXN0YW1wKTsKKyAgICAgICAgbGV0
IGNvbXB1dGVkVGltZXN0YW1wID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2Vk
VGltZSh0aW1lc3RhbXApOwogCiAgICAgICAgIFdJLm5ldHdvcmtNYW5hZ2VyLm1haW5GcmFtZS5t
YXJrRE9NQ29udGVudFJlYWR5RXZlbnQoY29tcHV0ZWRUaW1lc3RhbXApOwogCkBAIC00OTMsNyAr
NTAwLDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVu
ZHMgV0kuT2JqZWN0CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2FjdGl2ZVJlY29yZGlu
Zyk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlzTmFOKFdJLm5ldHdvcmtNYW5hZ2VyLm1haW5G
cmFtZS5sb2FkRXZlbnRUaW1lc3RhbXApKTsKIAotICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3Rh
bXAgPSB0aGlzLmFjdGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUodGltZXN0YW1wKTsK
KyAgICAgICAgbGV0IGNvbXB1dGVkVGltZXN0YW1wID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNv
bXB1dGVFbGFwc2VkVGltZSh0aW1lc3RhbXApOwogCiAgICAgICAgIFdJLm5ldHdvcmtNYW5hZ2Vy
Lm1haW5GcmFtZS5tYXJrTG9hZEV2ZW50KGNvbXB1dGVkVGltZXN0YW1wKTsKIApAQCAtNTE0LDE1
ICs1MjEsMTggQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5DUFVQcm9m
aWxlck9ic2VydmVyLgogCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5p
c0NhcHR1cmluZygpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX2FkZFJl
Y29yZChuZXcgV0kuQ1BVVGltZWxpbmVSZWNvcmQoZXZlbnQpKTsKICAgICB9CiAKLSAgICBjcHVQ
cm9maWxlclRyYWNraW5nQ29tcGxldGVkKCkKKyAgICBjcHVQcm9maWxlclRyYWNraW5nQ29tcGxl
dGVkKHRpbWVzdGFtcCkKICAgICB7CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLkNQVVByb2Zp
bGVyT2JzZXJ2ZXIuCisKKyAgICAgICAgdGhpcy5jYXB0dXJpbmdTdG9wcGVkKHRpbWVzdGFtcCk7
CiAgICAgfQogCiAgICAgbWVtb3J5VHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCkKQEAgLTUzNiwy
NCArNTQ2LDI3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBl
eHRlbmRzIFdJLk9iamVjdAogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuTWVtb3J5
T2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgY29u
c29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygpKTsKKyAgICAgICAgaWYgKCF0aGlzLmlzQ2Fw
dHVyaW5nKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3Jk
KG5ldyBXSS5NZW1vcnlUaW1lbGluZVJlY29yZChldmVudC50aW1lc3RhbXAsIGV2ZW50LmNhdGVn
b3JpZXMpKTsKICAgICB9CiAKLSAgICBtZW1vcnlUcmFja2luZ0NvbXBsZXRlZCgpCisgICAgbWVt
b3J5VHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVk
IGZyb20gV0kuTWVtb3J5T2JzZXJ2ZXIuCisKKyAgICAgICAgdGhpcy5jYXB0dXJpbmdTdG9wcGVk
KHRpbWVzdGFtcCk7CiAgICAgfQogCiAgICAgaGVhcFRyYWNraW5nU3RhcnRlZCh0aW1lc3RhbXAs
IHNuYXBzaG90KQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuSGVhcE9ic2VydmVy
LgogCi0gICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxp
bmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkpOwotCiAgICAgICAgIHRoaXMuY2FwdHVyaW5n
U3RhcnRlZCh0aW1lc3RhbXApOworCisgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcgV0kuSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkpOwogICAgIH0K
IAogICAgIGhlYXBUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAsIHNuYXBzaG90KQpAQCAtNTYx
LDIxICs1NzQsMzkgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2Vy
IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLkhlYXBPYnNlcnZl
ci4KIAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVs
aW5lUmVjb3JkKHRpbWVzdGFtcCwgc25hcHNob3QpKTsKKworICAgICAgICB0aGlzLmNhcHR1cmlu
Z1N0b3BwZWQoKTsKICAgICB9CiAKICAgICBoZWFwU25hcHNob3RBZGRlZCh0aW1lc3RhbXAsIHNu
YXBzaG90KQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuSGVhcEFsbG9jYXRpb25z
SW5zdHJ1bWVudC4KIAorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5nKCkp
OworICAgICAgICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSkKKyAgICAgICAgICAgIHJldHVybjsK
KwogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5l
UmVjb3JkKHRpbWVzdGFtcCwgc25hcHNob3QpKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCiAK
KyAgICBfdXBkYXRlQ2FwdHVyaW5nU3RhdGUoc3RhdGUsIGRhdGEgPSB7fSkKKyAgICB7CisgICAg
ICAgIGlmICh0aGlzLl9jYXB0dXJpbmdTdGF0ZSA9PT0gc3RhdGUpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nU3RhdGUgPSBzdGF0ZTsKKworICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhUaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVy
aW5nU3RhdGVDaGFuZ2VkLCBkYXRhKTsKKyAgICB9CisKICAgICBfcHJvY2Vzc1JlY29yZChyZWNv
cmRQYXlsb2FkLCBwYXJlbnRSZWNvcmRQYXlsb2FkKQogICAgIHsKLSAgICAgICAgdmFyIHN0YXJ0
VGltZSA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2VkVGltZShyZWNvcmRQYXls
b2FkLnN0YXJ0VGltZSk7Ci0gICAgICAgIHZhciBlbmRUaW1lID0gdGhpcy5hY3RpdmVSZWNvcmRp
bmcuY29tcHV0ZUVsYXBzZWRUaW1lKHJlY29yZFBheWxvYWQuZW5kVGltZSk7CisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisKKyAgICAgICAgdmFyIHN0YXJ0VGlt
ZSA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9h
ZC5zdGFydFRpbWUpOworICAgICAgICB2YXIgZW5kVGltZSA9IHRoaXMuX2FjdGl2ZVJlY29yZGlu
Zy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5lbmRUaW1lKTsKICAgICAgICAgdmFy
IGNhbGxGcmFtZXMgPSB0aGlzLl9jYWxsRnJhbWVzRnJvbVBheWxvYWQocmVjb3JkUGF5bG9hZC5z
dGFja1RyYWNlKTsKIAogICAgICAgICB2YXIgc2lnbmlmaWNhbnRDYWxsRnJhbWUgPSBudWxsOwpA
QCAtNzYyLDkgKzc5MywxMSBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1h
bmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9wcm9jZXNzRXZlbnQocmVjb3JkUGF5bG9h
ZCwgcGFyZW50UmVjb3JkUGF5bG9hZCkKICAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRo
aXMuaXNDYXB0dXJpbmcoKSk7CisKICAgICAgICAgc3dpdGNoIChyZWNvcmRQYXlsb2FkLnR5cGUp
IHsKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5UaW1lU3RhbXA6Ci0gICAg
ICAgICAgICB2YXIgdGltZXN0YW1wID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBz
ZWRUaW1lKHJlY29yZFBheWxvYWQuc3RhcnRUaW1lKTsKKyAgICAgICAgICAgIHZhciB0aW1lc3Rh
bXAgPSB0aGlzLl9hY3RpdmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHJlY29yZFBheWxv
YWQuc3RhcnRUaW1lKTsKICAgICAgICAgICAgIHZhciBldmVudE1hcmtlciA9IG5ldyBXSS5UaW1l
bGluZU1hcmtlcih0aW1lc3RhbXAsIFdJLlRpbWVsaW5lTWFya2VyLlR5cGUuVGltZVN0YW1wLCBy
ZWNvcmRQYXlsb2FkLmRhdGEubWVzc2FnZSk7CiAgICAgICAgICAgICB0aGlzLl9hY3RpdmVSZWNv
cmRpbmcuYWRkRXZlbnRNYXJrZXIoZXZlbnRNYXJrZXIpOwogICAgICAgICAgICAgYnJlYWs7CkBA
IC03OTQsNyArODI3LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX3JlY29yZGluZ3MucHVzaChuZXdS
ZWNvcmRpbmcpOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuUmVjb3JkaW5nQ3JlYXRlZCwge3JlY29yZGluZzogbmV3UmVjb3Jk
aW5nfSk7CiAKLSAgICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBpZiAodGhp
cy5pc0NhcHR1cmluZygpKQogICAgICAgICAgICAgdGhpcy5zdG9wQ2FwdHVyaW5nKCk7CiAKICAg
ICAgICAgdmFyIG9sZFJlY29yZGluZyA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZzsKQEAgLTgyNyw2
ICs4NjAsOCBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKIAogICAgIF9hZGRSZWNvcmQocmVjb3JkKQogICAgIHsKKyAgICAgICAg
Y29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygpKTsKKwogICAgICAgICB0aGlzLl9hY3Rp
dmVSZWNvcmRpbmcuYWRkUmVjb3JkKHJlY29yZCk7CiAKICAgICAgICAgLy8gT25seSB3b3JyeSBh
Ym91dCBkZWFkIHRpbWUgYWZ0ZXIgdGhlIGxvYWQgZXZlbnQuCkBAIC04NDQsMTUgKzg3OSwxNSBA
QCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKIAogICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgOSk6IFRpbWVsaW5lLnNldEF1
dG9DYXB0dXJlRW5hYmxlZCBkaWQgbm90IGV4aXN0LgogICAgICAgICAvLyBQZXJmb3JtIGF1dG8g
Y2FwdHVyZSBpbiB0aGUgZnJvbnRlbmQuCi0gICAgICAgIGlmICghd2luZG93LlRpbWVsaW5lQWdl
bnQpCisgICAgICAgIGlmICghSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlRpbWVsaW5lKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoIVRpbWVsaW5lQWdlbnQuc2V0QXV0
b0NhcHR1cmVFbmFibGVkKQorICAgICAgICBpZiAoIUluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5U
aW1lbGluZS5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5f
bGVnYWN5QXR0ZW1wdFN0YXJ0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKGZyYW1lKTsKIAogICAgICAg
ICBpZiAoIXRoaXMuX3Nob3VsZFNldEF1dG9DYXB0dXJpbmdNYWluUmVzb3VyY2UpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5faXNDYXB0
dXJpbmcsICJXZSBzYXcgYXV0b0NhcHR1cmVTdGFydGVkIHNvIHdlIHNob3VsZCBhbHJlYWR5IGJl
IGNhcHR1cmluZyIpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5nKCks
ICJXZSBzYXcgYXV0b0NhcHR1cmVTdGFydGVkIHNvIHdlIHNob3VsZCBhbHJlYWR5IGJlIGNhcHR1
cmluZyIpOwogCiAgICAgICAgIGxldCBtYWluUmVzb3VyY2UgPSBmcmFtZS5wcm92aXNpb25hbE1h
aW5SZXNvdXJjZSB8fCBmcmFtZS5tYWluUmVzb3VyY2U7CiAgICAgICAgIGlmIChtYWluUmVzb3Vy
Y2UgPT09IHRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcpCkBAIC04NzQsNyArOTA5
LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMg
V0kuT2JqZWN0CiAKICAgICBfbGVnYWN5QXR0ZW1wdFN0YXJ0QXV0b0NhcHR1cmluZ0ZvckZyYW1l
KGZyYW1lKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nICYmICF0aGlzLl9t
YWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nKQorICAgICAgICBpZiAodGhpcy5pc0NhcHR1cmlu
ZygpICYmICF0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGxldCBtYWluUmVzb3VyY2UgPSBmcmFtZS5wcm92aXNp
b25hbE1haW5SZXNvdXJjZSB8fCBmcmFtZS5tYWluUmVzb3VyY2U7CkBAIC04ODQsNyArOTE5LDcg
QEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0ku
T2JqZWN0CiAgICAgICAgIGxldCBvbGRNYWluUmVzb3VyY2UgPSBmcmFtZS5tYWluUmVzb3VyY2Ug
fHwgbnVsbDsKICAgICAgICAgdGhpcy5faXNDYXB0dXJpbmdQYWdlUmVsb2FkID0gb2xkTWFpblJl
c291cmNlICE9PSBudWxsICYmIG9sZE1haW5SZXNvdXJjZS51cmwgPT09IG1haW5SZXNvdXJjZS51
cmw7CiAKLSAgICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBpZiAodGhpcy5p
c0NhcHR1cmluZygpKQogICAgICAgICAgICAgdGhpcy5zdG9wQ2FwdHVyaW5nKCk7CiAKICAgICAg
ICAgdGhpcy5fbWFpblJlc291cmNlRm9yQXV0b0NhcHR1cmluZyA9IG1haW5SZXNvdXJjZTsKQEAg
LTkwNiw3ICs5NDEsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFn
ZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBP
bmx5IGF1dG8gc3RvcCB3aGVuIGF1dG8gY2FwdHVyaW5nLgotICAgICAgICBpZiAoIXRoaXMuX2lz
Q2FwdHVyaW5nIHx8ICF0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nKQorICAgICAg
ICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSB8fCAhdGhpcy5fbWFpblJlc291cmNlRm9yQXV0b0Nh
cHR1cmluZykKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodGhpcy5fc3RvcENh
cHR1cmluZ1RpbWVvdXQpCkBAIC05MzAsNyArOTY1LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgLy8gT25seSBtb25pdG9yIGRlYWQgdGltZSB3aGVuIGF1dG8gY2FwdHVy
aW5nLgotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nIHx8ICF0aGlzLl9tYWluUmVzb3Vy
Y2VGb3JBdXRvQ2FwdHVyaW5nKQorICAgICAgICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSB8fCAh
dGhpcy5fbWFpblJlc291cmNlRm9yQXV0b0NhcHR1cmluZykKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICAvLyBBdm9pZCB1bm5lY2Vzc2FyeSBjaHVybmluZyBvZiB0aW1lb3V0IGlkZW50
aWZpZXIgYnkgbm90IHRpY2tsaW5nIHVudGlsIDEwbXMgaGF2ZSBwYXNzZWQuCkBAIC05NzEsNyAr
MTAwNiw4IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRl
bmRzIFdJLk9iamVjdAogICAgICAgICBpZiAodGhpcy5fYXR0ZW1wdEF1dG9DYXB0dXJpbmdGb3JG
cmFtZShmcmFtZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKCF0aGlzLl9p
c0NhcHR1cmluZykKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygpKTsK
KyAgICAgICAgaWYgKCF0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgbGV0IG1haW5SZXNvdXJjZSA9IGZyYW1lLm1haW5SZXNvdXJjZTsKQEAgLTk4Myw0
MCArMTAxOSwyNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIg
ZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9yZXNvdXJjZVdhc0FkZGVkKGV2ZW50KQogICAgIHsK
LQogICAgICAgICAvLyBJZ25vcmUgcmVzb3VyY2UgZXZlbnRzIHdoZW4gdGhlcmUgaXNuJ3QgYSBt
YWluIGZyYW1lIHlldC4gVGhvc2UgZXZlbnRzIGFyZSB0cmlnZ2VyZWQgYnkKICAgICAgICAgLy8g
bG9hZGluZyB0aGUgY2FjaGVkIHJlc291cmNlcyB3aGVuIHRoZSBpbnNwZWN0b3Igb3BlbnMsIGFu
ZCB0aGV5IGRvIG5vdCBoYXZlIHRpbWluZyBpbmZvcm1hdGlvbi4KICAgICAgICAgaWYgKCFXSS5u
ZXR3b3JrTWFuYWdlci5tYWluRnJhbWUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
aWYgKCF0aGlzLl9pc0NhcHR1cmluZykKLSAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICB0
aGlzLl9hZGRSZWNvcmQobmV3IFdJLlJlc291cmNlVGltZWxpbmVSZWNvcmQoZXZlbnQuZGF0YS5y
ZXNvdXJjZSkpOwogICAgIH0KIAogICAgIF9nYXJiYWdlQ29sbGVjdGVkKGV2ZW50KQogICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICBsZXQgY29sbGVjdGlvbiA9IGV2ZW50LmRhdGEuY29sbGVjdGlvbjsKKyAgICAgICAg
bGV0IHtjb2xsZWN0aW9ufSA9IGV2ZW50LmRhdGE7CiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChu
ZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRU
eXBlLkdhcmJhZ2VDb2xsZWN0ZWQsIGNvbGxlY3Rpb24uc3RhcnRUaW1lLCBjb2xsZWN0aW9uLmVu
ZFRpbWUsIG51bGwsIG51bGwsIGNvbGxlY3Rpb24pKTsKICAgICB9CiAKICAgICBfbWVtb3J5UHJl
c3N1cmUoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuYWN0aXZlUmVjb3JkaW5nLmFkZE1lbW9y
eVByZXNzdXJlRXZlbnQoZXZlbnQuZGF0YS5tZW1vcnlQcmVzc3VyZUV2ZW50KTsKKyAgICAgICAg
dGhpcy5fYWN0aXZlUmVjb3JkaW5nLmFkZE1lbW9yeVByZXNzdXJlRXZlbnQoZXZlbnQuZGF0YS5t
ZW1vcnlQcmVzc3VyZUV2ZW50KTsKICAgICB9CiAKICAgICBfaGFuZGxlVGltZWxpbmVzQXV0b1N0
b3BTZXR0aW5nQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5faXNDYXB0
dXJpbmcpCi0gICAgICAgICAgICByZXR1cm47Ci0KICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnRp
bWVsaW5lc0F1dG9TdG9wLnZhbHVlKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fbWFpblJlc291
cmNlRm9yQXV0b0NhcHR1cmluZyAmJiAhaXNOYU4odGhpcy5fbWFpblJlc291cmNlRm9yQXV0b0Nh
cHR1cmluZy5wYXJlbnRGcmFtZS5sb2FkRXZlbnRUaW1lc3RhbXApKQogICAgICAgICAgICAgICAg
IHRoaXMuX3N0b3BBdXRvUmVjb3JkaW5nU29vbigpOwpAQCAtMTAzOSwyNCArMTA2Miw2IEBAIFdJ
LlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICB9CiAgICAgfQogCi0gICAgc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZCgpCi0gICAgewotICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE1ODc1Mz4gR2VuZXJhbGl6ZSB0aGUgY29uY2VwdCBvZiBJbnN0cnVtZW50cyBvbiB0aGUg
YmFja2VuZCB0byB3b3JrIGVxdWFsbHkgZm9yIEpTQ29udGV4dCBhbmQgV2ViIGluc3BlY3Rpb24K
LSAgICAgICAgY29uc29sZS5hc3NlcnQoV0kuc2hhcmVkQXBwLmRlYnVnZ2FibGVUeXBlID09PSBX
SS5EZWJ1Z2dhYmxlVHlwZS5KYXZhU2NyaXB0KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoIXRo
aXMuX2lzQ2FwdHVyaW5nKTsKLQotICAgICAgICB0aGlzLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFy
dGVkKCk7Ci0gICAgfQotCi0gICAgc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0dXJlU3Rv
cHBlZCgpCi0gICAgewotICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1
ODc1Mz4gR2VuZXJhbGl6ZSB0aGUgY29uY2VwdCBvZiBJbnN0cnVtZW50cyBvbiB0aGUgYmFja2Vu
ZCB0byB3b3JrIGVxdWFsbHkgZm9yIEpTQ29udGV4dCBhbmQgV2ViIGluc3BlY3Rpb24KLSAgICAg
ICAgY29uc29sZS5hc3NlcnQoV0kuc2hhcmVkQXBwLmRlYnVnZ2FibGVUeXBlID09PSBXSS5EZWJ1
Z2dhYmxlVHlwZS5KYXZhU2NyaXB0KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5faXND
YXB0dXJpbmcpOwotCi0gICAgICAgIHRoaXMucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsK
LSAgICB9Ci0KICAgICBzY3JpcHRQcm9maWxlclRyYWNraW5nU3RhcnRlZCh0aW1lc3RhbXApCiAg
ICAgewogICAgICAgICB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMgPSBbXTsKQEAgLTEwODAs
MTMgKzEwODUsMTMgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2Vy
IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB0aGlzLl9hZGRSZWNvcmQocmVjb3JkKTsK
ICAgICB9CiAKLSAgICBzY3JpcHRQcm9maWxlclRyYWNraW5nQ29tcGxldGVkKHNhbXBsZXMpCisg
ICAgc2NyaXB0UHJvZmlsZXJUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAsIHNhbXBsZXMpCiAg
ICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fd2ViVGltZWxpbmVTY3JpcHRSZWNv
cmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMgfHwgdGhpcy5fc2NyaXB0UHJvZmlsZXJS
ZWNvcmRzLmxlbmd0aCA+PSB0aGlzLl93ZWJUaW1lbGluZVNjcmlwdFJlY29yZHNFeHBlY3RpbmdT
Y3JpcHRQcm9maWxlckV2ZW50cy5sZW5ndGgpOwogCiAgICAgICAgIGlmIChzYW1wbGVzKSB7CiAg
ICAgICAgICAgICBsZXQge3N0YWNrVHJhY2VzfSA9IHNhbXBsZXM7Ci0gICAgICAgICAgICBsZXQg
dG9wRG93bkNhbGxpbmdDb250ZXh0VHJlZSA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLnRvcERvd25D
YWxsaW5nQ29udGV4dFRyZWU7CisgICAgICAgICAgICBsZXQgdG9wRG93bkNhbGxpbmdDb250ZXh0
VHJlZSA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZy50b3BEb3duQ2FsbGluZ0NvbnRleHRUcmVlOwog
CiAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgYSBwZXItc2FtcGxlIGR1cmF0aW9uLgogICAgICAg
ICAgICAgbGV0IHRpbWVzdGFtcEluZGV4ID0gMDsKQEAgLTExMjAsNyArMTEyNSw3IEBAIFdJLlRp
bWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAog
ICAgICAgICAgICAgaWYgKHRpbWVzdGFtcEluZGV4IDwgdGltZXN0YW1wQ291bnQpCiAgICAgICAg
ICAgICAgICAgc2FtcGxlRHVyYXRpb25zLmZpbGwoZGVmYXVsdER1cmF0aW9uLCBzYW1wbGVEdXJh
dGlvbkluZGV4KTsKIAotICAgICAgICAgICAgdGhpcy5hY3RpdmVSZWNvcmRpbmcuaW5pdGlhbGl6
ZUNhbGxpbmdDb250ZXh0VHJlZXMoc3RhY2tUcmFjZXMsIHNhbXBsZUR1cmF0aW9ucyk7CisgICAg
ICAgICAgICB0aGlzLl9hY3RpdmVSZWNvcmRpbmcuaW5pdGlhbGl6ZUNhbGxpbmdDb250ZXh0VHJl
ZXMoc3RhY2tUcmFjZXMsIHNhbXBsZUR1cmF0aW9ucyk7CiAKICAgICAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIHRyYW5zZm9ybWF0aW9uIHNob3VsZCBub3QgYmUgbmVlZGVkIGFmdGVyIGludHJvZHVj
aW5nIFByb2ZpbGVWaWV3LgogICAgICAgICAgICAgLy8gT25jZSB3ZSBlbGltaW5hdGUgUHJvZmls
ZU5vZGVUcmVlRWxlbWVudHMgYW5kIFByb2ZpbGVOb2RlRGF0YUdyaWROb2Rlcy4KQEAgLTExNDAs
OCArMTE0NSwxMCBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIg
ZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMg
PSBudWxsOwogCi0gICAgICAgIGxldCB0aW1lbGluZSA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLnRp
bWVsaW5lRm9yUmVjb3JkVHlwZShXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAg
ICAgIGxldCB0aW1lbGluZSA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZy50aW1lbGluZUZvclJlY29y
ZFR5cGUoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOwogICAgICAgICB0aW1lbGluZS5y
ZWZyZXNoKCk7CisKKyAgICAgICAgdGhpcy5jYXB0dXJpbmdTdG9wcGVkKHRpbWVzdGFtcCk7CiAg
ICAgfQogCiAgICAgX21lcmdlU2NyaXB0UHJvZmlsZVJlY29yZHMoKQpAQCAtMTI0MCw4ICsxMjQ3
LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMg
V0kuT2JqZWN0CiAKICAgICBfaGFuZGxlRE9NTm9kZURpZEZpcmVFdmVudChldmVudCkKICAgICB7
Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2lzQ2FwdHVyaW5nKTsKLQogICAgICAgICBs
ZXQge2RvbUV2ZW50fSA9IGV2ZW50LmRhdGE7CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5l
dyBXSS5NZWRpYVRpbWVsaW5lUmVjb3JkKFdJLk1lZGlhVGltZWxpbmVSZWNvcmQuRXZlbnRUeXBl
LkRPTUV2ZW50LCBkb21FdmVudC50aW1lc3RhbXAsIHsKQEAgLTEyNTIsOCArMTI1Nyw2IEBAIFdJ
LlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogCiAgICAgX2hhbmRsZURPTU5vZGVMb3dQb3dlckNoYW5nZWQoZXZlbnQpCiAgICAgewotICAg
ICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZyk7Ci0KICAgICAgICAgbGV0IHt0
aW1lc3RhbXAsIGlzTG93UG93ZXJ9ID0gZXZlbnQuZGF0YTsKIAogICAgICAgICB0aGlzLl9hZGRS
ZWNvcmQobmV3IFdJLk1lZGlhVGltZWxpbmVSZWNvcmQoV0kuTWVkaWFUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuTG93UG93ZXIsIHRpbWVzdGFtcCwgewpAQCAtMTI2MywxMyArMTI2NiwxOCBAQCBX
SS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICB9CiB9OwogCitXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUgPSB7Cisg
ICAgSW5hY3RpdmU6ICJpbmFjdGl2ZSIsCisgICAgU3RhcnRpbmc6ICJzdGFydGluZyIsCisgICAg
QWN0aXZlOiAiYWN0aXZlIiwKKyAgICBTdG9wcGluZzogInN0b3BwaW5nIiwKK307CisKIFdJLlRp
bWVsaW5lTWFuYWdlci5FdmVudCA9IHsKKyAgICBDYXB0dXJpbmdTdGF0ZUNoYW5nZWQ6ICJ0aW1l
bGluZS1tYW5hZ2VyLWNhcHR1cmluZy1zdGFydGVkIiwKICAgICBSZWNvcmRpbmdDcmVhdGVkOiAi
dGltZWxpbmUtbWFuYWdlci1yZWNvcmRpbmctY3JlYXRlZCIsCiAgICAgUmVjb3JkaW5nTG9hZGVk
OiAidGltZWxpbmUtbWFuYWdlci1yZWNvcmRpbmctbG9hZGVkIiwKICAgICBSZWNvcmRpbmdJbXBv
cnRlZDogInRpbWVsaW5lLW1hbmFnZXItcmVjb3JkaW5nLWltcG9ydGVkIiwKLSAgICBDYXB0dXJp
bmdXaWxsU3RhcnQ6ICJ0aW1lbGluZS1tYW5hZ2VyLWNhcHR1cmluZy13aWxsLXN0YXJ0IiwKLSAg
ICBDYXB0dXJpbmdTdGFydGVkOiAidGltZWxpbmUtbWFuYWdlci1jYXB0dXJpbmctc3RhcnRlZCIs
Ci0gICAgQ2FwdHVyaW5nU3RvcHBlZDogInRpbWVsaW5lLW1hbmFnZXItY2FwdHVyaW5nLXN0b3Bw
ZWQiCiB9OwogCiBXSS5UaW1lbGluZU1hbmFnZXIuTWF4aW11bUF1dG9SZWNvcmREdXJhdGlvbiA9
IDkwMDAwOyAvLyA5MCBzZWNvbmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvRGVmYXVsdERhc2hib2FyZC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9EZWZhdWx0RGFzaGJvYXJkLmpzCmluZGV4IDY0
NWY5OTNlMDQxOWJlYTc5MzRjNjFmYzIzZjM0YWU3YWM2YTNmNmIuLmM4Y2I5ZjU2MzZkNDBlMzlj
N2UzOTJlYTczZmE1ZjUwMTVkMTI2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9EZWZhdWx0RGFzaGJvYXJkLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9EZWZhdWx0RGFzaGJvYXJkLmpzCkBA
IC0zMyw3ICszMyw3IEBAIFdJLkRlZmF1bHREYXNoYm9hcmQgPSBjbGFzcyBEZWZhdWx0RGFzaGJv
YXJkIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAgLy8gTmVjZXNzYXJ5IGV2ZW50IHJlcXVp
cmVkIHRvIHRyYWNrIHBhZ2UgbG9hZCB0aW1lIGFuZCByZXNvdXJjZSBzaXplcy4KICAgICAgICAg
V0kuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5NYWluUmVzb3VyY2VEaWRD
aGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7Ci0gICAgICAgIFdJLnRp
bWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5D
YXB0dXJpbmdTdG9wcGVkLCB0aGlzLl9jYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAg
V0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2
ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdT
dGF0ZUNoYW5nZWQsIHRoaXMpOwogCiAgICAgICAgIC8vIE5lY2Vzc2FyeSBldmVudHMgcmVxdWly
ZWQgdG8gdHJhY2sgbG9hZCBvZiByZXNvdXJjZXMuCiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50
TGlzdGVuZXIoV0kuRnJhbWUuRXZlbnQuUmVzb3VyY2VXYXNBZGRlZCwgdGhpcy5fcmVzb3VyY2VX
YXNBZGRlZCwgdGhpcyk7CkBAIC0xNjMsOCArMTYzLDExIEBAIFdJLkRlZmF1bHREYXNoYm9hcmQg
PSBjbGFzcyBEZWZhdWx0RGFzaGJvYXJkIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB0
aGlzLl90cmFuc2l0aW9uaW5nUGFnZVRhcmdldCA9IGZhbHNlOwogICAgIH0KIAotICAgIF9jYXB0
dXJpbmdTdG9wcGVkKGV2ZW50KQorICAgIF9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hh
bmdlZChldmVudCkKICAgICB7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0
dXJpbmcoKSkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICAvLyBJZiByZWNvcmRpbmcg
c3RvcHMsIHdlIHNob3VsZCBzdG9wIHRoZSB0aW1lciBpZiBpdCBoYXNuJ3Qgc3RvcHBlZCBhbHJl
YWR5LgogICAgICAgICB0aGlzLl9zdG9wVXBkYXRpbmdUaW1lKCk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvQ1BVUHJvZmls
ZXJPYnNlcnZlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL0NQVVByb2ZpbGVyT2JzZXJ2ZXIuanMKaW5kZXggNDlhMjM0NWJkYTQyYWViMDdkYzE0ZWE4
YmI0MDUwOWQ3OTg2N2UwZS4uMDUxMzQ3MGE3OWIxYjQ4ZmI2MWJkMTBjZmU5ODYwOTJjNmVmNzhk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvQ1BVUHJvZmlsZXJPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2VydmVyLmpzCkBAIC0zNyw4ICszNyw4
IEBAIFdJLkNQVVByb2ZpbGVyT2JzZXJ2ZXIgPSBjbGFzcyBDUFVQcm9maWxlck9ic2VydmVyCiAg
ICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5jcHVQcm9maWxlclRyYWNraW5nVXBkYXRlZChldmVu
dCk7CiAgICAgfQogCi0gICAgdHJhY2tpbmdDb21wbGV0ZShzYW1wbGVzKQorICAgIHRyYWNraW5n
Q29tcGxldGUodGltZXN0YW1wKQogICAgIHsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmNw
dVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoc2FtcGxlcyk7CisgICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5jcHVQcm9maWxlclRyYWNraW5nQ29tcGxldGVkKHRpbWVzdGFtcCk7CiAgICAgfQog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL01lbW9yeU9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvTWVtb3J5T2JzZXJ2ZXIuanMKaW5kZXggNzIyNGRlMjc3YzZiYzRkYWMzNTAz
NTliNzRjZGRhZjRkYzE4OWRkMS4uZTg0MjI1YmM0YWJlMmMzM2Y4M2I3NGY0OWYwZjgwODg4Mzc5
ZjM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvTWVtb3J5T2JzZXJ2ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvUHJvdG9jb2wvTWVtb3J5T2JzZXJ2ZXIuanMKQEAgLTQyLDggKzQyLDggQEAgV0ku
TWVtb3J5T2JzZXJ2ZXIgPSBjbGFzcyBNZW1vcnlPYnNlcnZlcgogICAgICAgICBXSS50aW1lbGlu
ZU1hbmFnZXIubWVtb3J5VHJhY2tpbmdVcGRhdGVkKGV2ZW50KTsKICAgICB9CiAKLSAgICB0cmFj
a2luZ0NvbXBsZXRlKCkKKyAgICB0cmFja2luZ0NvbXBsZXRlKHRpbWVzdGFtcCkKICAgICB7Ci0g
ICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5tZW1vcnlUcmFja2luZ0NvbXBsZXRlZCgpOworICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIubWVtb3J5VHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1w
KTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvU2NyaXB0UHJvZmlsZXJPYnNlcnZlci5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIuanMK
aW5kZXggZjFiNTRjYzc3MDE3ZmVmMmNlZDljNjYwOTM1YjI3MTcyOWM0NTEwOS4uNmI3YjU1ODY5
MjdjMzkwYThiOWY4NGI2MmI3MzExYTM0NTAwMGU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvU2NyaXB0UHJvZmlsZXJPYnNlcnZlci5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9TY3Jp
cHRQcm9maWxlck9ic2VydmVyLmpzCkBAIC0zNywxOCArMzcsMTggQEAgV0kuU2NyaXB0UHJvZmls
ZXJPYnNlcnZlciA9IGNsYXNzIFNjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIKICAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLnNjcmlwdFByb2ZpbGVyVHJhY2tpbmdVcGRhdGVkKGV2ZW50KTsKICAgICB9
CiAKLSAgICB0cmFja2luZ0NvbXBsZXRlKHNhbXBsZXMpCisgICAgdHJhY2tpbmdDb21wbGV0ZSh0
aW1lc3RhbXAsIHNhbXBsZXMpCiAgICAgewotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2Ny
aXB0UHJvZmlsZXJUcmFja2luZ0NvbXBsZXRlZChzYW1wbGVzKTsKKyAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLnNjcmlwdFByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wLCBzYW1w
bGVzKTsKICAgICB9CiAKICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpCiAgICAgewot
ICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZCgpOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIuMik6IFNjcmlw
dFByb2ZpbGVyLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIHdhcyByZW1vdmVkIGFmdGVyIGlP
UyAxMi4yLgogICAgIH0KIAogICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCkKICAgICB7
Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0Nh
cHR1cmVTdG9wcGVkKCk7CisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMi4yKTogU2Ny
aXB0UHJvZmlsZXIucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQgd2FzIHJlbW92ZWQgYWZ0ZXIg
aU9TIDEyLjIuCiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9UaW1lbGluZU9ic2VydmVyLmpzCmluZGV4
IGJhOWQwMTk5MDNjOGE4ZGFlZjc1YTM1YjRmNTU5NGQxMjRmMGNjODYuLmM5YjBhYTdkNjNiZTU0
Njk0YmJhMWZjOWRhZTM3MzQ5Mzg4ODdkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGltZWxpbmVPYnNlcnZl
ci5qcwpAQCAtNDksMTEgKzQ5LDExIEBAIFdJLlRpbWVsaW5lT2JzZXJ2ZXIgPSBjbGFzcyBUaW1l
bGluZU9ic2VydmVyCiAKICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpCiAgICAgewot
ICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsK
KyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEyLjIpOiBUaW1lbGluZS5wcm9ncmFtbWF0
aWNDYXB0dXJlU3RhcnRlZCB3YXMgcmVtb3ZlZCBhZnRlciBpT1MgMTIuMi4KICAgICB9CiAKICAg
ICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpCiAgICAgewotICAgICAgICBXSS50aW1lbGlu
ZU1hbmFnZXIucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKKyAgICAgICAgLy8gQ09NUEFU
SUJJTElUWSAoaU9TIDEyLjIpOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCB3
YXMgcmVtb3ZlZCBhZnRlciBpT1MgMTIuMi4KICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNp
ZGViYXJQYW5lbC5qcwppbmRleCA4YzFjNTZiOWQyNjRlNjRlZjBmY2YzMzAxZmQyZDRkMTViMDhl
OWFjLi40ZTdjNDBhMDI1MGI0YWEyZmZkODljN2M4MDA5YjA1NjUxODgzOWI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGVi
YXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwpAQCAtNTUsOCArNTUsNyBAQCBXSS5EZWJ1Z2dlclNp
ZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdh
dGlvblNpZGViYQogCiAgICAgICAgIFdJLkRPTUJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihX
SS5ET01CcmVha3BvaW50LkV2ZW50LkRPTU5vZGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVET01CcmVh
a3BvaW50RE9NTm9kZUNoYW5nZWQsIHRoaXMpOwogCi0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdXaWxs
U3RhcnQsIHRoaXMuX3RpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0LCB0aGlzKTsKLSAgICAgICAg
V0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2
ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZCwgdGhp
cyk7CisgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVs
aW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMuX2hhbmRsZVRpbWVs
aW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzKTsKIAogICAgICAgICBXSS5hdWRpdE1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuVGVzdFNjaGVkdWxlZCwg
dGhpcy5faGFuZGxlQXVkaXRNYW5hZ2VyVGVzdFNjaGVkdWxlZCwgdGhpcyk7CiAgICAgICAgIFdJ
LmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdlci5FdmVudC5UZXN0
Q29tcGxldGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0Q29tcGxldGVkLCB0aGlzKTsK
QEAgLTI1MSw4ICsyNTAsNyBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVn
Z2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAg
dGhpcy5fZGVidWdnZXJEaWRQYXVzZShudWxsKTsKIAogICAgICAgICBpZiAoV0kuZGVidWdnZXJN
YW5hZ2VyLmJyZWFrcG9pbnRzRGlzYWJsZWRUZW1wb3JhcmlseSkgewotICAgICAgICAgICAgaWYg
KFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpKQotICAgICAgICAgICAgICAgIHRoaXMu
X3RpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KCk7CisgICAgICAgICAgICB0aGlzLl9oYW5kbGVU
aW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCgpOwogCiAgICAgICAgICAgICBpZiAoV0kuYXVk
aXRNYW5hZ2VyLnJ1bm5pbmdTdGF0ZSA9PT0gV0kuQXVkaXRNYW5hZ2VyLlJ1bm5pbmdTdGF0ZS5B
Y3RpdmUgfHwgV0kuYXVkaXRNYW5hZ2VyLnJ1bm5pbmdTdGF0ZSA9PT0gV0kuQXVkaXRNYW5hZ2Vy
LlJ1bm5pbmdTdGF0ZS5TdG9wcGluZykKICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVBdWRp
dE1hbmFnZXJUZXN0U2NoZWR1bGVkKCk7CkBAIC02NDgsMTkgKzY0NiwyMCBAQCBXSS5EZWJ1Z2dl
clNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2
aWdhdGlvblNpZGViYQogICAgICAgICB9CiAgICAgfQogCi0gICAgX3RpbWVsaW5lQ2FwdHVyaW5n
V2lsbFN0YXJ0KGV2ZW50KQorICAgIF9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdl
ZChldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVRlbXBvcmFyaWx5RGlzYWJsZWRC
cmVha3BvaW50c0J1dHRvbnMoKTsKIAotICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQu
aW5zZXJ0QmVmb3JlKHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQsIHRoaXMu
Y29udGVudFZpZXcuZWxlbWVudC5maXJzdENoaWxkKTsKLSAgICAgICAgdGhpcy5fdXBkYXRlQnJl
YWtwb2ludHNEaXNhYmxlZEJhbm5lcigpOwotICAgIH0KKyAgICAgICAgc3dpdGNoIChXSS50aW1l
bGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAgICAgY2FzZSBXSS5UaW1lbGluZU1h
bmFnZXIuQ2FwdHVyaW5nU3RhdGUuU3RhcnRpbmc6CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRW
aWV3LmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0Vs
ZW1lbnQsIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgICAg
IGJyZWFrOwogCi0gICAgX3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZChldmVudCkKLSAgICB7Ci0g
ICAgICAgIHRoaXMuX3VwZGF0ZVRlbXBvcmFyaWx5RGlzYWJsZWRCcmVha3BvaW50c0J1dHRvbnMo
KTsKKyAgICAgICAgY2FzZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3Rp
dmU6CisgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50LnJl
bW92ZSgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KIAotICAgICAgICB0aGlzLl90
aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50LnJlbW92ZSgpOwogICAgICAgICB0aGlzLl91
cGRhdGVCcmVha3BvaW50c0Rpc2FibGVkQmFubmVyKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlv
blNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCmluZGV4IDU2OGEzY2Q1ZGE5MGRj
NmJmNmJiM2Q0ODI5MzJiYWQxMGY4ZWYxYjYuLmYwZTk0ZmJhZDE2ZjAwMDgyZTNkYzllZjk1MWVm
ZGQxMmEyYmJlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJh
clBhbmVsLmpzCkBAIC0yODIsOCArMjgyLDcgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFy
UGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAg
ICAgICAgV0kuY29uc29sZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdl
ci5FdmVudC5Jc3N1ZUFkZGVkLCB0aGlzLl9oYW5kbGVDb25zb2xlSXNzdWVBZGRlZCwgdGhpcyk7
CiAgICAgICAgIFdJLmNvbnNvbGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1h
bmFnZXIuRXZlbnQuQ2xlYXJlZCwgdGhpcy5faGFuZGxlQ29uc29sZUNsZWFyZWQsIHRoaXMpOwog
Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5l
TWFuYWdlci5FdmVudC5DYXB0dXJpbmdXaWxsU3RhcnQsIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2Fw
dHVyaW5nV2lsbFN0YXJ0LCB0aGlzKTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRo
aXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcyk7CisgICAgICAgIFdJLnRp
bWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5D
YXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVD
aGFuZ2VkLCB0aGlzKTsKIAogICAgICAgICBXSS5hdWRpdE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuVGVzdFNjaGVkdWxlZCwgdGhpcy5faGFuZGxlQXVkaXRN
YW5hZ2VyVGVzdFNjaGVkdWxlZCwgdGhpcyk7CiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRF
dmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdlci5FdmVudC5UZXN0Q29tcGxldGVkLCB0aGlzLl9o
YW5kbGVBdWRpdE1hbmFnZXJUZXN0Q29tcGxldGVkLCB0aGlzKTsKQEAgLTMzNyw4ICszMzYsNyBA
QCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICAgICAgdGhpcy5faGFuZGxlRGVidWdn
ZXJQYXVzZWQoKTsKIAogICAgICAgICBpZiAoV0kuZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRz
RGlzYWJsZWRUZW1wb3JhcmlseSkgewotICAgICAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdl
ci5pc0NhcHR1cmluZygpKQotICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2Fw
dHVyaW5nV2lsbFN0YXJ0KCk7CisgICAgICAgICAgICB0aGlzLl9oYW5kbGVUaW1lbGluZUNhcHR1
cmluZ1N0YXRlQ2hhbmdlZCgpOwogCiAgICAgICAgICAgICBpZiAoV0kuYXVkaXRNYW5hZ2VyLnJ1
bm5pbmdTdGF0ZSA9PT0gV0kuQXVkaXRNYW5hZ2VyLlJ1bm5pbmdTdGF0ZS5BY3RpdmUgfHwgV0ku
YXVkaXRNYW5hZ2VyLnJ1bm5pbmdTdGF0ZSA9PT0gV0kuQXVkaXRNYW5hZ2VyLlJ1bm5pbmdTdGF0
ZS5TdG9wcGluZykKICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0
U2NoZWR1bGVkKCk7CkBAIC0xODIwLDM0ICsxODE4LDMzIEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9u
U2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5k
cyBXCiAgICAgICAgIGlzc3VlVHJlZUVsZW1lbnRzLmZvckVhY2goKHRyZWVFbGVtZW50KSA9PiB0
cmVlRWxlbWVudC5wYXJlbnQucmVtb3ZlQ2hpbGQodHJlZUVsZW1lbnQpKTsKICAgICB9CiAKLSAg
ICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoZXZlbnQpCisgICAgX2hhbmRsZVRp
bWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5f
dXBkYXRlVGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9ucygpOwogCi0gICAgICAg
IGlmICghdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCkgewotICAgICAgICAg
ICAgbGV0IHN0b3BSZWNvcmRpbmdCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0
b24iKTsKLSAgICAgICAgICAgIHN0b3BSZWNvcmRpbmdCdXR0b24udGV4dENvbnRlbnQgPSBXSS5V
SVN0cmluZygiU3RvcCByZWNvcmRpbmciKTsKLSAgICAgICAgICAgIHN0b3BSZWNvcmRpbmdCdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgV0ku
dGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKLSAgICAgICAgICAgIH0pOworICAgICAg
ICBzd2l0Y2ggKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSkgeworICAgICAgICBj
YXNlIFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdGFydGluZzoKKyAgICAgICAg
ICAgIGlmICghdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCkgeworICAgICAg
ICAgICAgICAgIGxldCBzdG9wUmVjb3JkaW5nQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYnV0dG9uIik7CisgICAgICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRvbi50ZXh0Q29u
dGVudCA9IFdJLlVJU3RyaW5nKCJTdG9wIHJlY29yZGluZyIpOworICAgICAgICAgICAgICAgIHN0
b3BSZWNvcmRpbmdCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdG9wQ2FwdHVyaW5nKCk7CisgICAg
ICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fy
bmluZ0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgICAg
IHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgid2Fy
bmluZy1iYW5uZXIiKTsKLSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fybmlu
Z0VsZW1lbnQuYXBwZW5kKFdJLlVJU3RyaW5nKCJEZWJ1Z2dlciBkaXNhYmxlZCBkdXJpbmcgVGlt
ZWxpbmUgcmVjb3JkaW5nIiksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIiksIHN0b3BSZWNv
cmRpbmdCdXR0b24pOwotICAgICAgICB9CisgICAgICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVS
ZWNvcmRpbmdXYXJuaW5nRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQuY2xh
c3NMaXN0LmFkZCgid2FybmluZy1iYW5uZXIiKTsKKyAgICAgICAgICAgICAgICB0aGlzLl90aW1l
bGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50LmFwcGVuZChXSS5VSVN0cmluZygiRGVidWdnZXIg
ZGlzYWJsZWQgZHVyaW5nIFRpbWVsaW5lIHJlY29yZGluZyIpLCBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJiciIpLCBzdG9wUmVjb3JkaW5nQnV0dG9uKTsKKyAgICAgICAgICAgIH0KIAotICAgICAg
ICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3RpbWVsaW5lUmVj
b3JkaW5nV2FybmluZ0VsZW1lbnQsIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5maXJzdENoaWxk
KTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhp
cy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVt
ZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgdGhpcy5fdXBk
YXRlQnJlYWtwb2ludHNEaXNhYmxlZEJhbm5lcigpOwotICAgIH0KLQotICAgIF9oYW5kbGVUaW1l
bGluZUNhcHR1cmluZ1N0b3BwZWQoZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl91cGRhdGVU
ZW1wb3JhcmlseURpc2FibGVkQnJlYWtwb2ludHNCdXR0b25zKCk7Ci0KLSAgICAgICAgaWYgKHRo
aXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQpIHsKLSAgICAgICAgICAgIHRoaXMu
X3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQucmVtb3ZlKCk7Ci0gICAgICAgICAgICB0
aGlzLl90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgY2Fz
ZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU6CisgICAgICAgICAg
ICBpZiAodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCkgeworICAgICAgICAg
ICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQucmVtb3ZlKCk7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCA9IG51
bGw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCiAgICAg
ICAgIHRoaXMuX3VwZGF0ZUJyZWFrcG9pbnRzRGlzYWJsZWRCYW5uZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZp
ZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZU92ZXJ2aWV3LmpzCmluZGV4IGExNTYwZTk0ZjNlYTQ3MzNlYzY5ZmE4ODYzODg3ZDRkOTVlN2Uw
NDUuLjNjZWM0ZmI3N2U3ZmUyNjk3YTBlMGE1YzYwZTRlMzdkODg2NzgzYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVPdmVydmlldy5qcwpAQCAtMTE2LDkgKzExNiw4IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcg
PSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogCiAgICAgICAgIHRoaXMu
X3ZpZXdNb2RlRGlkQ2hhbmdlKCk7CiAKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdl
ZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMpOwogICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFn
ZXIuRXZlbnQuUmVjb3JkaW5nSW1wb3J0ZWQsIHRoaXMuX3JlY29yZGluZ0ltcG9ydGVkLCB0aGlz
KTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxp
bmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXJ0ZWQsIHRoaXMuX2NhcHR1cmluZ1N0YXJ0ZWQs
IHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5U
aW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcy5fY2FwdHVyaW5nU3Rv
cHBlZCwgdGhpcyk7CiAgICAgfQogCiAgICAgLy8gSW1wb3J0IC8gRXhwb3J0CkBAIC0xMDMyLDYg
KzEwMzEsMjAgQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcg
ZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIHRoaXMuX2VkaXRpbmdJbnN0cnVtZW50c0RpZENoYW5n
ZSgpOwogICAgIH0KIAorICAgIF9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZChl
dmVudCkKKyAgICB7CisgICAgICAgIHN3aXRjaCAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmlu
Z1N0YXRlKSB7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRl
LkFjdGl2ZToKKyAgICAgICAgICAgIHRoaXMuX2VkaXRJbnN0cnVtZW50c0J1dHRvbi5lbmFibGVk
ID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9zdG9wRWRpdGluZ0luc3RydW1lbnRzKCk7Cisg
ICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0
dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIHRoaXMuX2VkaXRJbnN0cnVtZW50c0J1
dHRvbi5lbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
fQorCiAgICAgX3JlY29yZGluZ0ltcG9ydGVkKGV2ZW50KQogICAgIHsKICAgICAgICAgbGV0IHtv
dmVydmlld0RhdGF9ID0gZXZlbnQuZGF0YTsKQEAgLTEwNTUsMTcgKzEwNjgsNiBAQCBXSS5UaW1l
bGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgfQogICAgIH0KIAotICAgIF9jYXB0dXJpbmdTdGFydGVkKGV2ZW50KQotICAgIHsKLSAg
ICAgICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSBmYWxzZTsKLSAgICAg
ICAgdGhpcy5fc3RvcEVkaXRpbmdJbnN0cnVtZW50cygpOwotICAgIH0KLQotICAgIF9jYXB0dXJp
bmdTdG9wcGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0
dG9uLmVuYWJsZWQgPSB0cnVlOwotICAgIH0KLQogICAgIF9jb21wYXJlVGltZWxpbmVUcmVlRWxl
bWVudHMoYSwgYikKICAgICB7CiAgICAgICAgIGxldCBhVGltZWxpbmVUeXBlID0gYS5yZXByZXNl
bnRlZE9iamVjdC50eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcuanMKaW5kZXggMGUxNjk3MzIwY2FjMjBkMTExODU4OWFjZTc5MzY2ZTI5ZGRiNDU2Ny4u
NTYyOTJjY2Y3ODI3MzZiNmQwZmJlZjFmODUxMWY2MzJiNWU5M2MxOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCkBAIC0xMDIsOCArMTAyLDcgQEAg
V0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS4KICAgICAgICAgdGhpcy5fcmVjb3JkaW5nLmFkZEV2ZW50
TGlzdGVuZXIoV0kuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuUmVzZXQsIHRoaXMuX3JlY29yZGlu
Z1Jlc2V0LCB0aGlzKTsKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nLmFkZEV2ZW50TGlzdGVuZXIo
V0kuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuVW5sb2FkZWQsIHRoaXMuX3JlY29yZGluZ1VubG9h
ZGVkLCB0aGlzKTsKIAotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhcnRlZCwgdGhpcy5fY2FwdHVy
aW5nU3RhcnRlZCwgdGhpcyk7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCB0aGlzLl9j
YXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdl
ZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMpOwogCiAg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFu
YWdlci5FdmVudC5QYXVzZWQsIHRoaXMuX2RlYnVnZ2VyUGF1c2VkLCB0aGlzKTsKICAgICAgICAg
V0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2
ZW50LlJlc3VtZWQsIHRoaXMuX2RlYnVnZ2VyUmVzdW1lZCwgdGhpcyk7CkBAIC01MTAsNDAgKzUw
OSw0MyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogICAgICAgICB9CiAgICAgfQogCi0gICAg
X2NhcHR1cmluZ1N0YXJ0ZWQoZXZlbnQpCisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3Rh
dGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKKyAgICAgICAgbGV0IHtzdGFydFRpbWUsIGVuZFRpbWV9
ID0gZXZlbnQuZGF0YTsKKwogICAgICAgICB0aGlzLl91cGRhdGVQcm9ncmVzc1ZpZXcoKTsKIAot
ICAgICAgICBsZXQgc3RhcnRUaW1lID0gZXZlbnQuZGF0YS5zdGFydFRpbWU7Ci0gICAgICAgIGlm
ICghdGhpcy5fdXBkYXRpbmcpCi0gICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0aW5nQ3VycmVu
dFRpbWUoc3RhcnRUaW1lKTsKLSAgICAgICAgdGhpcy5fY2xlYXJUaW1lbGluZU5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSAhdGhpcy5fcmVjb3JkaW5nLnJlYWRvbmx5OwotICAgICAgICB0aGlzLl9l
eHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gZmFsc2U7CisgICAgICAgIHN3aXRj
aCAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7CisgICAgICAgIGNhc2UgV0ku
VGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkFjdGl2ZToKKyAgICAgICAgICAgIGlmICgh
dGhpcy5fdXBkYXRpbmcpCisgICAgICAgICAgICAgICAgdGhpcy5fc3RhcnRVcGRhdGluZ0N1cnJl
bnRUaW1lKHN0YXJ0VGltZSk7CiAKLSAgICAgICAgLy8gQSBkaXNjb250aW51aXR5IG9jY3VycyB3
aGVuIHRoZSByZWNvcmRpbmcgaXMgc3RvcHBlZCBhbmQgcmVzdW1lZCBhdAotICAgICAgICAvLyBh
IGZ1dHVyZSB0aW1lLiBDYXB0dXJpbmcgc3RhcnRlZCBzaWduYWxzIHRoZSBlbmQgb2YgdGhlIGN1
cnJlbnQKLSAgICAgICAgLy8gZGlzY29udGludWl0eSwgaWYgb25lIGV4aXN0cy4KLSAgICAgICAg
aWYgKCFpc05hTih0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lKSkgewotICAgICAgICAgICAg
dGhpcy5fcmVjb3JkaW5nLmFkZERpc2NvbnRpbnVpdHkodGhpcy5fZGlzY29udGludWl0eVN0YXJ0
VGltZSwgc3RhcnRUaW1lKTsKLSAgICAgICAgICAgIHRoaXMuX2Rpc2NvbnRpbnVpdHlTdGFydFRp
bWUgPSBOYU47CisgICAgICAgICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0u
ZW5hYmxlZCA9ICF0aGlzLl9yZWNvcmRpbmcucmVhZG9ubHk7CisgICAgICAgICAgICB0aGlzLl9l
eHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gZmFsc2U7CisKKyAgICAgICAgICAg
IC8vIEEgZGlzY29udGludWl0eSBvY2N1cnMgd2hlbiB0aGUgcmVjb3JkaW5nIGlzIHN0b3BwZWQg
YW5kIHJlc3VtZWQgYXQKKyAgICAgICAgICAgIC8vIGEgZnV0dXJlIHRpbWUuIENhcHR1cmluZyBz
dGFydGVkIHNpZ25hbHMgdGhlIGVuZCBvZiB0aGUgY3VycmVudAorICAgICAgICAgICAgLy8gZGlz
Y29udGludWl0eSwgaWYgb25lIGV4aXN0cy4KKyAgICAgICAgICAgIGlmICghaXNOYU4odGhpcy5f
ZGlzY29udGludWl0eVN0YXJ0VGltZSkpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9yZWNvcmRp
bmcuYWRkRGlzY29udGludWl0eSh0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lLCBzdGFydFRp
bWUpOworICAgICAgICAgICAgICAgIHRoaXMuX2Rpc2NvbnRpbnVpdHlTdGFydFRpbWUgPSBOYU47
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdJLlRp
bWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIGlmICh0
aGlzLl91cGRhdGluZykKKyAgICAgICAgICAgICAgICB0aGlzLl9zdG9wVXBkYXRpbmdDdXJyZW50
VGltZSgpOworCisgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KQorICAg
ICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRpbWVsaW5lVmlld1RpbWVzKHRoaXMuY3VycmVudFRp
bWVsaW5lVmlldyk7CisKKyAgICAgICAgICAgIHRoaXMuX2Rpc2NvbnRpbnVpdHlTdGFydFRpbWUg
PSBlbmRUaW1lIHx8IHRoaXMuX2N1cnJlbnRUaW1lOworCisgICAgICAgICAgICB0aGlzLl9leHBv
cnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5fcmVjb3JkaW5nLmNhbkV4cG9y
dCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBfY2FwdHVy
aW5nU3RvcHBlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZVByb2dyZXNzVmll
dygpOwotCi0gICAgICAgIGlmICh0aGlzLl91cGRhdGluZykKLSAgICAgICAgICAgIHRoaXMuX3N0
b3BVcGRhdGluZ0N1cnJlbnRUaW1lKCk7Ci0KLSAgICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVs
aW5lVmlldykKLSAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRpbWVsaW5lVmlld1RpbWVzKHRoaXMu
Y3VycmVudFRpbWVsaW5lVmlldyk7Ci0KLSAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0
VGltZSA9IGV2ZW50LmRhdGEuZW5kVGltZSB8fCB0aGlzLl9jdXJyZW50VGltZTsKLQotICAgICAg
ICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5fcmVjb3Jk
aW5nLmNhbkV4cG9ydCgpOwotICAgIH0KLQogICAgIF9kZWJ1Z2dlclBhdXNlZChldmVudCkKICAg
ICB7CiAgICAgICAgIGlmICh0aGlzLl91cGRhdGluZykKQEAgLTczMSw4ICs3MzMsNyBAQCBXSS5U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50VmlldyBleHRlbmRzIFdJLgogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMu
X3VwZGF0aW5nKTsKIAotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhcnRlZCwgdGhpcy5fY2Fw
dHVyaW5nU3RhcnRlZCwgdGhpcyk7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVF
dmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCB0
aGlzLl9jYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2Vy
LnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CiAgICAgfQogCiAgICAgX3Rp
bWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250
ZW50Vmlldy5qcwppbmRleCA0ZDA4NWY3ZDk5NDNmZmNmOGMxZDA0YjBiYjQwMDJjMmUyMWM0YThj
Li44ZGVhNzcxMjMyNmY2MzYxZTBkZjgyZTU0ZGE5YzEyNTc0YzBkNWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRl
bnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKQEAgLTcxLDEyICs3MSwxMCBAQCBXSS5UaW1lbGlu
ZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRCcm93cwogICAgICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5uYXZpZ2F0aW9u
QmFyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTmF2aWdhdGlvbkJhci5FdmVudC5OYXZpZ2F0aW9uSXRl
bVNlbGVjdGVkLCB0aGlzLl92aWV3TW9kZVNlbGVjdGVkLCB0aGlzKTsKICAgICAgICAgfQogCisg
ICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2Fw
dHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LlJlY29yZGluZ0NyZWF0ZWQs
IHRoaXMuX3JlY29yZGluZ0NyZWF0ZWQsIHRoaXMpOwogICAgICAgICBXSS50aW1lbGluZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuUmVjb3JkaW5nTG9h
ZGVkLCB0aGlzLl9yZWNvcmRpbmdMb2FkZWQsIHRoaXMpOwogCi0gICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJp
bmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkT3JTdG9wcGVkLCB0aGlzKTsKLSAgICAg
ICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2Vy
LkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0YXJ0ZWRPclN0b3BwZWQs
IHRoaXMpOwotCiAgICAgICAgIFdJLm5vdGlmaWNhdGlvbnMuYWRkRXZlbnRMaXN0ZW5lcihXSS5O
b3RpZmljYXRpb24uVmlzaWJpbGl0eVN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9pbnNwZWN0b3JWaXNp
YmlsaXR5Q2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIFdJLm5vdGlmaWNhdGlvbnMuYWRkRXZlbnRM
aXN0ZW5lcihXSS5Ob3RpZmljYXRpb24uR2xvYmFsTW9kaWZpZXJLZXlzRGlkQ2hhbmdlLCB0aGlz
Ll9nbG9iYWxNb2RpZmllcktleXNEaWRDaGFuZ2UsIHRoaXMpOwogCkBAIC00MjUsMTAgKzQyMywx
NSBAQCBXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVUYWJDb250ZW50
VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93cwogICAgICAgICAgICAgdGhpcy5fc2hvd0NvbnRp
bnVlQnV0dG9uKCk7CiAgICAgfQogCi0gICAgX2NhcHR1cmluZ1N0YXJ0ZWRPclN0b3BwZWQoZXZl
bnQpCisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgbGV0IGlzQ2FwdHVyaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmlzQ2FwdHVy
aW5nKCk7Ci0gICAgICAgIHRoaXMuX3JlY29yZEJ1dHRvbi50b2dnbGVkID0gaXNDYXB0dXJpbmc7
CisgICAgICAgIGxldCBlbmFibGVkID0gV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRl
ID09PSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlIHx8IFdJLnRpbWVs
aW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSA9PT0gV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmlu
Z1N0YXRlLkluYWN0aXZlOworCisgICAgICAgIHRoaXMuX3RvZ2dsZVJlY29yZGluZ1Nob3J0Y3V0
LmRpc2FibGVkID0gIWVuYWJsZWQ7CisgICAgICAgIHRoaXMuX3RvZ2dsZU5ld1JlY29yZGluZ1No
b3J0Y3V0LmRpc2FibGVkID0gIWVuYWJsZWQ7CisKKyAgICAgICAgdGhpcy5fcmVjb3JkQnV0dG9u
LnRvZ2dsZWQgPSBXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0dXJpbmcoKTsKKyAgICAgICAgdGhp
cy5fcmVjb3JkQnV0dG9uLmVuYWJsZWQgPSBlbmFibGVkOwogCiAgICAgICAgIHRoaXMuX3VwZGF0
ZU5hdmlnYXRpb25CYXJCdXR0b25zKCk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367230</attachid>
            <date>2019-04-11 11:43:29 -0700</date>
            <delta_ts>2019-04-11 13:19:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196778-20190411114328.patch</filename>
            <type>text/plain</type>
            <size>91840</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY0MjgzNmU0ZjhiMWJkYzYyMDQxMmZlMTJjMGQx
MmYzOWE0Y2E4NzAuLmQ3OTQyYTkyNzA5NzM5OTkxYjE5Y2U5ZTQ5NjExZjhmNGJlNzE4NmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA0LTExICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBU
aW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvU2NyaXB0UHJvZmlsZXIuanNv
bjoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbjoKKyAgICAgICAg
SXQgaXMgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHdoZW4gcHJvZ3JhbW1hdGljIGNhcHR1cmluZyBz
dGFydHMvc3RvcHMgaW4gdGhlIGZyb250ZW5kIGJhc2VkCisgICAgICAgIG9uIHRoZSBzdGF0ZSB3
aGVuIHRoZSBiYWNrZW5kIGNhdXNlcyB0aGUgc3RhdGUgdG8gY2hhbmdlLCBzdWNoIGFzIGlmIHRo
ZSBzdGF0ZSBpcyAiaW5hY3RpdmUiCisgICAgICAgIHdoZW4gdGhlIGZyb250ZW5kIGlzIHRvbGQg
dGhhdCB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJpbmcuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvcHJvdG9jb2wvQ1BVUHJvZmlsZXIuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJv
dG9jb2wvTWVtb3J5Lmpzb246CisgICAgICAgIFNlbmQgYW4gZW5kIHRpbWVzdGFtcCB0byBtYXRj
aCBvdGhlciBpbnN0cnVtZW50cy4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVj
dENvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQ6OnN0YXJ0Q29uc29sZVByb2ZpbGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnN0b3BDb25zb2xlUHJvZmlsZSk6CisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3Bw
OgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojp0cmFj
a2luZ0NvbXBsZXRlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudDo6cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAo
SW5zcGVjdG9yOjpJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZCk6IERlbGV0ZWQuCisKIDIwMTktMDQtMTEgIFRydWl0dCBTYXZlbGwgIDx0c2F2
ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0MTU4
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGIwN2YxN2RhNmJjNTk4YzVlOTdmMjg0YWFiNWJjYWNlNjQ4NWIwOGEu
LjE2Njk4YjcwNDI5YTgyZmU1NDhhM2M2MGYzNmRhMWVkMDQzMTU1MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxOS0wNC0xMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVGltZWxpbmVzOiBjYW4ndCByZWxpYWJseSBz
dG9wL3N0YXJ0IGEgcmVjb3JkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTY3NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NjA2Nzk4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0UHJvZ3JhbW1hdGljQ2FwdHVyZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wUHJvZ3JhbW1hdGljQ2Fw
dHVyZSk6CisgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVybWluZSB3aGVuIHByb2dyYW1t
YXRpYyBjYXB0dXJpbmcgc3RhcnRzL3N0b3BzIGluIHRoZSBmcm9udGVuZCBiYXNlZAorICAgICAg
ICBvbiB0aGUgc3RhdGUgd2hlbiB0aGUgYmFja2VuZCBjYXVzZXMgdGhlIHN0YXRlIHRvIGNoYW5n
ZSwgc3VjaCBhcyBpZiB0aGUgc3RhdGUgaXMgImluYWN0aXZlIgorICAgICAgICB3aGVuIHRoZSBm
cm9udGVuZCBpcyB0b2xkIHRoYXQgdGhlIGJhY2tlbmQgaGFzIHN0YXJ0ZWQgY2FwdHVyaW5nLgor
CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ6OnN0b3BUcmFj
a2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZW1vcnlBZ2VudDo6c3RvcFRyYWNraW5n
KToKKyAgICAgICAgU2VuZCBhbiBlbmQgdGltZXN0YW1wIHRvIG1hdGNoIG90aGVyIGluc3RydW1l
bnRzLgorCiAyMDE5LTA0LTExICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0NDE1OC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCmluZGV4IDVhMDU4M2JmYTMzMzMxMmJjNjM0OTZmMTE0NTRiOTE1NWI0MGRkYzcuLmZm
OTg1ODc3OTcyZGJjYmYzN2Q4Yzk4ZjZiOWU5N2U4NjgyYjQyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAxOS0wNC0xMSAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVGltZWxpbmVzOiBjYW4n
dCByZWxpYWJseSBzdG9wL3N0YXJ0IGEgcmVjb3JkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY3NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ3NjA2Nzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJhdGhlciB0aGFuIGhhdmUgYSBiaW5hcnkgc3RhdGUgb2YgY2FwdHVyaW5nL25vdC1jYXB0
dXJpbmcsIHdlIHNob3VsZCB1c2UgYSBmb3VyIHN0YXRlOgorICAgICAgICAgMS4gaW5hY3RpdmUg
KHdoZW4gdGhlIGJhY2tlbmQgaGFzIHN0b3BwZWQgY2FwdHVyaW5nKQorICAgICAgICAgMi4gc3Rh
cnRpbmcgKHdoZW4gdGhlIGZyb250ZW5kIHJlcXVlc3RzIGNhcHR1cmluZyB0byBzdGFydCkKKyAg
ICAgICAgIDMuIGFjdGl2ZSAod2hlbiB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJpbmcp
CisgICAgICAgICA0LiBzdG9wcGluZyAod2hlbiB0aGUgZnJvbnRlbmQgcmVxdWVzdHMgY2FwdHVy
aW5nIHRvIHN0b3ApCisKKyAgICAgICAgQ2FwdHVyaW5nIGlzIGNvbnNpZGVyZWQgIm9uIiB3aGVu
IG5vdCBpbiBhbiAiaW5hY3RpdmUiIHN0YXRlLiBQcmV2ZW50IHRoZSBmcm9udGVuZCBmcm9tCisg
ICAgICAgIHN0YXJ0aW5nL3N0b3BwaW5nIGNhcHR1cmluZyB1bmxlc3Mgd2UncmUgaW4gYSAic3Rh
YmxlIiAoImluYWN0aXZlIiBvciAiYWN0aXZlIikgc3RhdGUsIG5vdCBhCisgICAgICAgICJ0cmFu
c2l0aW9uIiAoInN0YXJ0aW5nIiBvciAic3RvcHBpbmciKSBzdGF0ZS4KKworICAgICAgICBPbmUg
InNpZGUgZWZmZWN0IiBvZiB0aGlzIGNoYW5nZSBpcyB0aGF0IHNpbmNlIHRoZSBjYXB0dXJpbmcg
aXMgY29uc2lkZXJlZCBhY3RpdmUgdW50aWwgdGhlCisgICAgICAgIGJhY2tlbmQgaGFzIHN0b3Bw
ZWQgY2FwdHVyaW5nLCB3ZSB3aWxsIGNvbnRpbnVlIHRvIHByb2Nlc3MgcmVjb3JkcyBpbiB0aGUg
ZnJvbnRlbmQgZXZlbiBpZgorICAgICAgICB0aGUgZnJvbnRlbmQgaGFzIHJlcXVlc3RlZCB0byBz
dG9wIGNhcHR1cmluZy4gPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MjkwND4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgorICAgICAgICAo
V0kuVGltZWxpbmVNYW5hZ2VyKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5
cGUuZ2V0IGNhcHR1cmluZ1N0YXRlKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5
cGUuZ2V0IGFjdGl2ZVJlY29yZGluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlLnNldCBhdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOgorICAgICAgICAoV0kuVGltZWxpbmVN
YW5hZ2VyLnByb3RvdHlwZS5pc0NhcHR1cmluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLnN0YXJ0Q2FwdHVyaW5nKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdl
ci5wcm90b3R5cGUuc3RvcENhcHR1cmluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIu
cHJvdG90eXBlLnByb2Nlc3NKU09OKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90
b3R5cGUuY2FwdHVyaW5nU3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlLmNhcHR1cmluZ1N0b3BwZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5hdXRvQ2FwdHVyZVN0YXJ0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2Vy
LnByb3RvdHlwZS5ldmVudFJlY29yZGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5w
cm90b3R5cGUucGFnZURPTUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdJLlRp
bWVsaW5lTWFuYWdlci5wcm90b3R5cGUucGFnZUxvYWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuY3B1UHJvZmlsZXJUcmFja2luZ1VwZGF0ZWQpOgor
ICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5jcHVQcm9maWxlclRyYWNraW5n
Q29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUubWVtb3J5
VHJhY2tpbmdVcGRhdGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
bWVtb3J5VHJhY2tpbmdDb21wbGV0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5oZWFwVHJhY2tpbmdTdGFydGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdl
ci5wcm90b3R5cGUuaGVhcFRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5l
TWFuYWdlci5wcm90b3R5cGUuaGVhcFNuYXBzaG90QWRkZWQpOgorICAgICAgICAoV0kuVGltZWxp
bmVNYW5hZ2VyLnByb3RvdHlwZS5fdXBkYXRlQ2FwdHVyaW5nU3RhdGUpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX3Byb2Nlc3NSZWNvcmQpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc0V2ZW50KToKKyAgICAgICAg
KFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2xvYWROZXdSZWNvcmRpbmcpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fYWRkUmVjb3JkKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2F0dGVtcHRBdXRvQ2FwdHVyaW5nRm9yRnJhbWUp
OgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fbGVnYWN5QXR0ZW1wdFN0
YXJ0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5w
cm90b3R5cGUuX3N0b3BBdXRvUmVjb3JkaW5nU29vbik6CisgICAgICAgIChXSS5UaW1lbGluZU1h
bmFnZXIucHJvdG90eXBlLl9yZXNldEF1dG9SZWNvcmRpbmdEZWFkVGltZVRpbWVvdXQpOgorICAg
ICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcmVzb3VyY2VXYXNBZGRlZCk6Cisg
ICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9nYXJiYWdlQ29sbGVjdGVkKToK
KyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX21lbW9yeVByZXNzdXJlKToK
KyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lc0F1
dG9TdG9wU2V0dGluZ0NoYW5nZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3Rv
dHlwZS5zY3JpcHRQcm9maWxlclRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVs
aW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlRE9NTm9kZUxvd1Bvd2VyQ2hh
bmdlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnVubG9hZFJlY29y
ZGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnBy
b2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5l
TWFuYWdlci5wcm90b3R5cGUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQpOiBEZWxldGVkLgor
ICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHRQcm9maWxlclByb2dy
YW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lTWFu
YWdlci5wcm90b3R5cGUuc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCk6
IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2Zp
bGVyT2JzZXJ2ZXIuanM6CisgICAgICAgIChXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyLnByb3Rv
dHlwZS50cmFja2luZ0NvbXBsZXRlKToKKyAgICAgICAgKFdJLlNjcmlwdFByb2ZpbGVyT2JzZXJ2
ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKToKKyAgICAgICAgKFdJLlNj
cmlwdFByb2ZpbGVyT2JzZXJ2ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVk
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanM6
CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9n
cmFtbWF0aWNDYXB0dXJlU3RvcHBlZCk6CisgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVy
bWluZSB3aGVuIHByb2dyYW1tYXRpYyBjYXB0dXJpbmcgc3RhcnRzL3N0b3BzIGluIHRoZSBmcm9u
dGVuZCBiYXNlZAorICAgICAgICBvbiB0aGUgc3RhdGUgd2hlbiB0aGUgYmFja2VuZCBjYXVzZXMg
dGhlIHN0YXRlIHRvIGNoYW5nZSwgc3VjaCBhcyBpZiB0aGUgc3RhdGUgaXMgImluYWN0aXZlIgor
ICAgICAgICB3aGVuIHRoZSBmcm9udGVuZCBpcyB0b2xkIHRoYXQgdGhlIGJhY2tlbmQgaGFzIHN0
YXJ0ZWQgY2FwdHVyaW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQ
cm9maWxlck9ic2VydmVyLmpzOgorICAgICAgICAoV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci5wcm90
b3R5cGUudHJhY2tpbmdDb21wbGV0ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9NZW1vcnlPYnNlcnZlci5qczoKKyAgICAgICAgKFdJLk1lbW9yeU9ic2VydmVyLnByb3RvdHlw
ZS50cmFja2luZ0NvbXBsZXRlKToKKyAgICAgICAgU2VuZCBhbiBlbmQgdGltZXN0YW1wIHRvIG1h
dGNoIG90aGVyIGluc3RydW1lbnRzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9EZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlck1hbmFnZXIpOgor
ICAgICAgICAoV0kuRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVDYXB0
dXJpbmdTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyTWFuYWdlci5w
cm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdJLkRlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZCk6
IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRGVmYXVsdERhc2hib2Fy
ZC5qczoKKyAgICAgICAgKFdJLkRlZmF1bHREYXNoYm9hcmQpOgorICAgICAgICAoV0kuRGVmYXVs
dERhc2hib2FyZC5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2Vk
KTogQWRkZWQuCisgICAgICAgIChXSS5EZWZhdWx0RGFzaGJvYXJkLnByb3RvdHlwZS5fY2FwdHVy
aW5nU3RvcHBlZCk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1
Z2dlclNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsKToK
KyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGltZWxp
bmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5fdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQpOiBEZWxldGVk
LgorICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLl90aW1lbGluZUNh
cHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2
aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTog
QWRkZWQuCisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5
cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGltZWxp
bmVDYXB0dXJpbmdTdG9wcGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3KToK
KyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVUaW1lbGluZUNh
cHR1cmluZ1N0YXRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5q
czoKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcpOgorICAgICAgICAo
V0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5l
Q2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fcmVjb3JkaW5nVW5sb2FkZWQpOgorICAgICAgICAo
V0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0YXJ0
ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5w
cm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlRpbWVs
aW5lVGFiQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisg
ICAgICAgIChXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY2FwdHVyaW5nU3Rh
cnRlZE9yU3RvcHBlZCk6IERlbGV0ZWQuCisgICAgICAgIFVzZSB0aGUgbmV3IHNpbmdsZSBldmVu
dCBmb3IgYWxsIFRpbWVsaW5lcyBjYXB0dXJlIHN0YXRlIGNoYW5nZXMuCisgICAgICAgIFByZXZl
bnQgdGhlIHJlY29yZCBidXR0b24gZnJvbSBiZWluZyBjbGlja2VkIHdoZW4gY2FwdHVyaW5nIGlz
IGluIGEgdHJhbnNpdGlvbiBzdGF0ZS4KKwogMjAxOS0wNC0xMSAgVHJ1aXR0IFNhdmVsbCAgPHRz
YXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDQx
NTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0Q29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAKaW5kZXggZDFiZDM5MTIzYThmZDFiYTRh
ZGUzNWZhODYwNmUwODEwMzNjOWUzYi4uMGNkOTIyN2Q5ZjhkNzUxM2RhMDM1YWVlYTRhMGZiMzg2
M2YxODE0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcApAQCAtMTIxLDEwICsxMjEs
NiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6c3RhcnRDb25zb2xlUHJvZmls
ZSgpCiB7CiAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwogCi0gICAgLy8gRklYTUU6IDxodHRwczov
L3dlYmtpdC5vcmcvYi8xNTg3NTM+IEdlbmVyYWxpemUgdGhlIGNvbmNlcHQgb2YgSW5zdHJ1bWVu
dHMgb24gdGhlIGJhY2tlbmQgdG8gd29yayBlcXVhbGx5IGZvciBKU0NvbnRleHQgYW5kIFdlYiBp
bnNwZWN0aW9uCi0gICAgaWYgKG1fc2NyaXB0UHJvZmlsZXJBZ2VudCkKLSAgICAgICAgbV9zY3Jp
cHRQcm9maWxlckFnZW50LT5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOwotCiAgICAgaWYg
KG1fZGVidWdnZXJBZ2VudCkgewogICAgICAgICBtX3Byb2ZpbGVSZXN0b3JlQnJlYWtwb2ludEFj
dGl2ZVZhbHVlID0gbV9kZWJ1Z2dlckFnZW50LT5icmVha3BvaW50c0FjdGl2ZSgpOwogICAgICAg
ICBtX2RlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9pbnRzQWN0aXZlKHVudXNlZCwgZmFsc2UpOwpA
QCAtMTQ1LDEwICsxNDEsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6c3Rv
cENvbnNvbGVQcm9maWxlKCkKIAogICAgIGlmIChtX2RlYnVnZ2VyQWdlbnQpCiAgICAgICAgIG1f
ZGVidWdnZXJBZ2VudC0+c2V0QnJlYWtwb2ludHNBY3RpdmUodW51c2VkLCBtX3Byb2ZpbGVSZXN0
b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVlKTsKLQotICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9u
IHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVj
dGlvbgotICAgIGlmIChtX3NjcmlwdFByb2ZpbGVyQWdlbnQpCi0gICAgICAgIG1fc2NyaXB0UHJv
ZmlsZXJBZ2VudC0+cHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKIH0KIAogdm9pZCBKU0ds
b2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnRha2VIZWFwU25hcHNob3QoSlNDOjpFeGVjU3RhdGUq
LCBjb25zdCBTdHJpbmcmIHRpdGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxl
ckFnZW50LmNwcAppbmRleCAxZWMyNWM0NGNjNjY1ZGY2NWI1MWZmNWNjMjgxZjA4OWNmOTU5Njdi
Li41NmZjMWI3OThkYTBlZWVlYTAyMzMxZWQ1MjU0YTk1MDIxMDA1ODc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9m
aWxlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmNwcApAQCAtMjAzLDYgKzIwMyw4IEBAIHN0
YXRpYyBSZWY8UHJvdG9jb2w6OlNjcmlwdFByb2ZpbGVyOjpTYW1wbGVzPiBidWlsZFNhbXBsZXMo
Vk0mIHZtLCBWZWN0b3I8U2FtcGxpCiAKIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2Vu
dDo6dHJhY2tpbmdDb21wbGV0ZSgpCiB7CisgICAgYXV0byB0aW1lc3RhbXAgPSBtX2Vudmlyb25t
ZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKTsKKwogI2lm
IEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikKICAgICBpZiAobV9lbmFibGVkU2FtcGxpbmdQcm9m
aWxlcikgewogICAgICAgICBWTSYgdm0gPSBtX2Vudmlyb25tZW50LnNjcmlwdERlYnVnU2VydmVy
KCkudm0oKTsKQEAgLTIyMCwxMSArMjIyLDExIEBAIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudDo6dHJhY2tpbmdDb21wbGV0ZSgpCiAKICAgICAgICAgbV9lbmFibGVkU2FtcGxpbmdQ
cm9maWxlciA9IGZhbHNlOwogCi0gICAgICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2lu
Z0NvbXBsZXRlKFdURk1vdmUoc2FtcGxlcykpOworICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+dHJhY2tpbmdDb21wbGV0ZSh0aW1lc3RhbXAsIFdURk1vdmUoc2FtcGxlcykpOwogICAgIH0g
ZWxzZQotICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShudWxs
cHRyKTsKKyAgICAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUodGlt
ZXN0YW1wLCBudWxscHRyKTsKICNlbHNlCi0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNr
aW5nQ29tcGxldGUobnVsbHB0cik7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5n
Q29tcGxldGUodGltZXN0YW1wLCBudWxscHRyKTsKICNlbmRpZiAvLyBFTkFCTEUoU0FNUExJTkdf
UFJPRklMRVIpCiB9CiAKQEAgLTI0NiwxNCArMjQ4LDQgQEAgdm9pZCBJbnNwZWN0b3JTY3JpcHRQ
cm9maWxlckFnZW50OjpzdG9wU2FtcGxpbmdXaGVuRGlzY29ubmVjdGluZygpCiAjZW5kaWYKIH0K
IAotdm9pZCBJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0dXJl
U3RhcnRlZCgpCi17Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnByb2dyYW1tYXRpY0NhcHR1
cmVTdGFydGVkKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6cHJv
Z3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQotewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5w
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaAppbmRleCBkYWI3NzRm
ZTJiZmY2MzMyYTlhMjMzNTBjZDcxMjg0NzQ3NjBmMTU2Li44YTI4N2Q4YzU2MWM2YzdmZGViNDJh
NjU4Yzc4MGYyMzc5MzczZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJB
Z2VudC5oCkBAIC01Myw5ICs1Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmco
RXJyb3JTdHJpbmcmLCBjb25zdCBib29sKiBpbmNsdWRlU2FtcGxlcykgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdG9wVHJhY2tpbmcoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKIAotICAgIHZvaWQgcHJv
Z3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLSAgICB2b2lkIHByb2dyYW1tYXRpY0NhcHR1cmVT
dG9wcGVkKCk7Ci0KICAgICAvLyBEZWJ1Z2dlcjo6UHJvZmlsaW5nQ2xpZW50CiAgICAgYm9vbCBp
c0FscmVhZHlQcm9maWxpbmcoKSBjb25zdCBvdmVycmlkZTsKICAgICBTZWNvbmRzIHdpbGxFdmFs
dWF0ZVNjcmlwdCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9maWxlci5qc29uIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9maWxlci5qc29uCmluZGV4IGNkZGY5Y2FhN2Yw
NzYxZWRkYTgxNGMwNjMzODI2MjU0YTBhNGJkZGIuLjFmNjBkOWRiMDkyZjQxYjM2YjljN2IxYWJh
ZTk0MjNmNDZkNGM5NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ1BVUHJvZmlsZXIuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0NQVVByb2ZpbGVyLmpzb24KQEAgLTUyLDcgKzUyLDEwIEBACiAg
ICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxl
dGUiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIEluY2x1
ZGVzIGFueSBidWZmZXJlZCBkYXRhIGR1cmluZyB0cmFja2luZywgc3VjaCBhcyBwcm9maWxpbmcg
aW5mb3JtYXRpb24uIgorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3Bw
ZWQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAgICAgICAgICBdCiAgICAg
ICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL01lbW9yeS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9NZW1vcnkuanNvbgppbmRleCBiNmIzZGI5ZjJlNWQ1NTc3ODdlNTVhMjc1OThk
ZTlhNWUxYjE3MmU2Li4xYzNkMDFiYWM1NjM5NDQ5YTE2NTgwMmFiZWU1MmY0ZjkwYzBhNDA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL01lbW9y
eS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvTWVt
b3J5Lmpzb24KQEAgLTY0LDcgKzY0LDEwIEBACiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAg
ICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxldGUiLAotICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIgorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRy
YWNraW5nIHN0b3BwZWQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAgICAg
ICAgICBdCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24KaW5kZXgg
MzUwMzJhNWI4ZDFiZjdjNWMzMzMwODk4ZTA1MDQ3MGIxYjY2NDAwZS4uNjBjYTY4N2I3ZWRmNGYw
MWMwZTYzMWQxNWNjZGJmNzdhOTg0MzlhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9TY3JpcHRQcm9maWxlci5qc29uCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvU2NyaXB0UHJvZmlsZXIuanNvbgpAQCAt
ODUsMTYgKzg1LDkgQEAKICAgICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxldGUiLAog
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIEluY2x1ZGVzIGFu
eSBidWZmZXJlZCBkYXRhIGR1cmluZyB0cmFja2luZywgc3VjaCBhcyBwcm9maWxpbmcgaW5mb3Jt
YXRpb24uIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9LAogICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAic2FtcGxlcyIsICIkcmVmIjogIlNhbXBsZXMiLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiU3RhY2sgdHJhY2VzLiIgfQogICAgICAgICAgICAgXQotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJwcm9ncmFtbWF0aWNDYXB0dXJl
U3RhcnRlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBwcm9ncmFt
bWF0aWMgY2FwdHVyZSBzdGFydHMgKGNvbnNvbGUucHJvZmlsZSkuIEpTQ29udGV4dCBpbnNwZWN0
aW9uIG9ubHkuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJw
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
RmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdG9wcyAoY29uc29sZS5wcm9maWxlRW5k
KS4gSlNDb250ZXh0IGluc3BlY3Rpb24gb25seS4iCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb24KaW5kZXggYjljNGY4NDYxMTBjNWZiZjMxMDAzYjBjNmI3ZWM1MTlhZGVlZGE0ZS4uOTg4
MDAzMmVjODE0YzY1OThmYjY5ZmZkM2Q0OGQyNTkwMDE5OTcxMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgpAQCAt
MTA3LDE0ICsxMDcsNiBAQAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJhdXRvQ2Fw
dHVyZVN0YXJ0ZWQiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gYXV0
byBjYXB0dXJlIHN0YXJ0ZWQuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJwcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCIsCi0gICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdGFydHMgKGNvbnNvbGUu
cHJvZmlsZSkuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJw
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
RmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdG9wcyAoY29uc29sZS5wcm9maWxlRW5k
KS4iCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcAppbmRleCA4
ZjE1NTA0NWIwZjAzNmVhNjhjYWQ4ZjgzMzEyOWU2ZmFkM2EwMDA1Li42YTI5NzJkNjg4NTE2ZGNm
Mjg2MWIzZTE1YTU0MTZhYzAyMWZiNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKQEAg
LTc3LDcgKzc3LDcgQEAgdm9pZCBJbnNwZWN0b3JDUFVQcm9maWxlckFnZW50OjpzdG9wVHJhY2tp
bmcoRXJyb3JTdHJpbmcmKQogCiAgICAgbV90cmFja2luZyA9IGZhbHNlOwogCi0gICAgbV9mcm9u
dGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUoKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgp
LT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKSk7CiB9CiAKIHN0YXRpYyBSZWY8UHJvdG9jb2w6OkNQ
VVByb2ZpbGVyOjpUaHJlYWRJbmZvPiBidWlsZFRocmVhZEluZm8oY29uc3QgVGhyZWFkQ1BVSW5m
byYgdGhyZWFkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCA1YmM1NmVhYjY4OWIzYzZkOGY5MDEzY2Yx
MDkzMTMwNDg4MWY5M2RiLi4yMmQ0N2Y1N2Y0NWUyMDliNzM1MmRmYTBkNTNjMjJmMDIwOTlhNThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck1l
bW9yeUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcApAQCAtOTIsNyArOTIsNyBAQCB2b2lkIEluc3BlY3Rvck1lbW9y
eUFnZW50OjpzdG9wVHJhY2tpbmcoRXJyb3JTdHJpbmcmKQogCiAgICAgbV90cmFja2luZyA9IGZh
bHNlOwogCi0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUoKTsKKyAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShtX2Vudmlyb25tZW50LmV4
ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKSk7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmRpZEhhbmRsZU1lbW9yeVByZXNzdXJlKENyaXRpY2FsIGNy
aXRpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggODFkZWRjZWU3ZmM0ZDNkNmJkZmM5ZmRh
ZWY5ZDcyN2FiOTRhNmQyYy4uYTFkM2Q5MTQ0YTUyMTJjZDk0ZTc5MzQ1MTA5YzJkZTdkZmZiODQz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00NzcsOCArNDc3LDYgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpzdGFydFByb2dyYW1tYXRpY0NhcHR1cmUoKQogICAgIH0gZWxzZQog
ICAgICAgICBtX3Byb2dyYW1tYXRpY0NhcHR1cmVSZXN0b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVl
ID0gZmFsc2U7CiAKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2FwdHVy
ZVN0YXJ0ZWQoKTsKLQogICAgIHRvZ2dsZVNjcmlwdFByb2ZpbGVySW5zdHJ1bWVudChJbnN0cnVt
ZW50U3RhdGU6OlN0YXJ0KTsgLy8gRW5zdXJlIEphdmFTY3JpcHQgc2FtcGluZyBkYXRhLgogICAg
IHRvZ2dsZVRpbWVsaW5lSW5zdHJ1bWVudChJbnN0cnVtZW50U3RhdGU6OlN0YXJ0KTsgLy8gRW5z
dXJlIENvbnNvbGUgUHJvZmlsZSBldmVudCByZWNvcmRzLgogICAgIHRvZ2dsZUluc3RydW1lbnRz
KEluc3RydW1lbnRTdGF0ZTo6U3RhcnQpOyAvLyBBbnkgb3RoZXIgaW5zdHJ1bWVudHMgdGhlIGZy
b250ZW5kIHdhbnRzIHVzIHRvIHJlY29yZC4KQEAgLTUwMCw4ICs0OTgsNiBAQCB2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BQcm9ncmFtbWF0aWNDYXB0dXJlKCkKICAgICAgICAgICAg
IGRlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9pbnRzQWN0aXZlKHVudXNlZCwgdHJ1ZSk7CiAgICAg
ICAgIH0KICAgICB9Ci0KLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0b3BwZWQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0b2dnbGVJ
bnN0cnVtZW50cyhJbnN0cnVtZW50U3RhdGUgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dl
ck1hbmFnZXIuanMKaW5kZXggMmE2YTIwZjRiOTIzYjY1Y2MyODNlMTNmMzYyOTA0ZmYzNmRlZGE1
ZC4uNjhkZjNhZjRiMGM0NTAyMmM3M2Y3YmYwMjA1MWFlNjVlMTkwMWVjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJN
YW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcwpAQCAtMzgsOCArMzgsNyBAQCBXSS5EZWJ1Z2dlck1h
bmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
V0kuQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkJyZWFrcG9pbnQuRXZlbnQuQXV0b0Nv
bnRpbnVlRGlkQ2hhbmdlLCB0aGlzLl9icmVha3BvaW50RWRpdGFibGVQcm9wZXJ0eURpZENoYW5n
ZSwgdGhpcyk7CiAgICAgICAgIFdJLkJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5CcmVh
a3BvaW50LkV2ZW50LkFjdGlvbnNEaWRDaGFuZ2UsIHRoaXMuX2hhbmRsZUJyZWFrcG9pbnRBY3Rp
b25zRGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nV2lsbFN0YXJ0LCB0
aGlzLl90aW1lbGluZUNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcyk7Ci0gICAgICAgIFdJLnRpbWVs
aW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0
dXJpbmdTdG9wcGVkLCB0aGlzLl90aW1lbGluZUNhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOworICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFn
ZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1lbGluZUNhcHR1
cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuQXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RTY2hlZHVsZWQsIHRoaXMuX2hh
bmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQsIHRoaXMpOwogICAgICAgICBXSS5hdWRpdE1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuVGVzdENvbXBsZXRl
ZCwgdGhpcy5faGFuZGxlQXVkaXRNYW5hZ2VyVGVzdENvbXBsZXRlZCwgdGhpcyk7CkBAIC0xMTM3
LDE3ICsxMTM2LDE5IEBAIFdJLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLmJyZWFrcG9pbnRzRW5hYmxlZCA9IHJl
c3RvcmVTdGF0ZTsKICAgICB9CiAKLSAgICBfdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoZXZl
bnQpCisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgdGhpcy5fc3RhcnREaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5KCk7
CisgICAgICAgIHN3aXRjaCAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7Cisg
ICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nOgor
ICAgICAgICAgICAgdGhpcy5fc3RhcnREaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5KCk7
CisgICAgICAgICAgICBpZiAodGhpcy5wYXVzZWQpCisgICAgICAgICAgICAgICAgdGhpcy5yZXN1
bWUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGlmICh0aGlzLnBhdXNlZCkKLSAg
ICAgICAgICAgIHRoaXMucmVzdW1lKCk7Ci0gICAgfQotCi0gICAgX3RpbWVsaW5lQ2FwdHVyaW5n
U3RvcHBlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3N0b3BEaXNhYmxpbmdCcmVha3Bv
aW50c1RlbXBvcmFyaWx5KCk7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1
cmluZ1N0YXRlLkluYWN0aXZlOgorICAgICAgICAgICAgdGhpcy5fc3RvcERpc2FibGluZ0JyZWFr
cG9pbnRzVGVtcG9yYXJpbHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAg
fQogCiAgICAgX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQoZXZlbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1l
bGluZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKaW5kZXggZTRiNzJlY2RlM2JlYjMxMDg2YTIwOWNi
YWMzNTg4ZTQxZTgxOWI4Ni4uODIyYzQwNTMwYTM1MDNlYWQ2OTQ0MjM5MDg0YmEyOGExYmNkM2Rh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtMzMsMzAgKzMzLDI3
IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJ
Lk9iamVjdAogCiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUuRXZl
bnQuUHJvdmlzaW9uYWxMb2FkU3RhcnRlZCwgdGhpcy5fcHJvdmlzaW9uYWxMb2FkU3RhcnRlZCwg
dGhpcyk7CiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUuRXZlbnQu
TWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMp
OwotICAgICAgICBXSS5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50LlJlc291
cmNlV2FzQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMpOwotICAgICAgICBXSS5U
YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihXSS5UYXJnZXQuRXZlbnQuUmVzb3VyY2VBZGRlZCwgdGhp
cy5fcmVzb3VyY2VXYXNBZGRlZCwgdGhpcyk7Ci0KLSAgICAgICAgV0kuaGVhcE1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXSS5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCB0aGlz
Ll9nYXJiYWdlQ29sbGVjdGVkLCB0aGlzKTsKLSAgICAgICAgV0kubWVtb3J5TWFuYWdlci5hZGRF
dmVudExpc3RlbmVyKFdJLk1lbW9yeU1hbmFnZXIuRXZlbnQuTWVtb3J5UHJlc3N1cmUsIHRoaXMu
X21lbW9yeVByZXNzdXJlLCB0aGlzKTsKLQotICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNB
dXRvU3RvcC5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlVGltZWxpbmVzQXV0b1N0b3BTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAg
dGhpcy5fZW5hYmxlZFRpbWVsaW5lVHlwZXNTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImVuYWJs
ZWQtaW5zdHJ1bWVudC10eXBlcyIsIFdJLlRpbWVsaW5lTWFuYWdlci5kZWZhdWx0VGltZWxpbmVU
eXBlcygpKTsKIAotICAgICAgICB0aGlzLl9pc0NhcHR1cmluZyA9IGZhbHNlOworICAgICAgICB0
aGlzLl9jYXB0dXJpbmdTdGF0ZSA9IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFj
dGl2ZTsKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENvdW50ID0gMDsKKyAgICAg
ICAgdGhpcy5fY2FwdHVyaW5nU3RhcnRUaW1lID0gTmFOOworICAgICAgICB0aGlzLl9jYXB0dXJp
bmdFbmRUaW1lID0gTmFOOworCiAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0YXJ0
ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3AgPSBmYWxzZTsK
LSAgICAgICAgdGhpcy5fd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCA9IGZhbHNlOwor
CiAgICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nUGFnZVJlbG9hZCA9IGZhbHNlOwogICAgICAgICB0
aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fbWFpblJl
c291cmNlRm9yQXV0b0NhcHR1cmluZyA9IG51bGw7CiAgICAgICAgIHRoaXMuX3Nob3VsZFNldEF1
dG9DYXB0dXJpbmdNYWluUmVzb3VyY2UgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fdHJhbnNpdGlv
bmluZ1BhZ2VUYXJnZXQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fYm91bmRTdG9wQ2FwdHVyaW5n
ID0gdGhpcy5zdG9wQ2FwdHVyaW5nLmJpbmQodGhpcyk7CiAKICAgICAgICAgdGhpcy5fd2ViVGlt
ZWxpbmVTY3JpcHRSZWNvcmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMgPSBudWxsOwog
ICAgICAgICB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMgPSBudWxsOwogCisgICAgICAgIHRo
aXMuX2JvdW5kU3RvcENhcHR1cmluZyA9IHRoaXMuc3RvcENhcHR1cmluZy5iaW5kKHRoaXMpOwog
ICAgICAgICB0aGlzLl9zdG9wQ2FwdHVyaW5nVGltZW91dCA9IHVuZGVmaW5lZDsKICAgICAgICAg
dGhpcy5fZGVhZFRpbWVUaW1lb3V0ID0gdW5kZWZpbmVkOwogICAgICAgICB0aGlzLl9sYXN0RGVh
ZFRpbWVUaWNrbGUgPSAwOwpAQCAtMTUzLDkgKzE1MCwxMSBAQCBXSS5UaW1lbGluZU1hbmFnZXIg
PSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIC8vIFB1Ymxp
YwogCisgICAgZ2V0IGNhcHR1cmluZ1N0YXRlKCkgeyByZXR1cm4gdGhpcy5fY2FwdHVyaW5nU3Rh
dGU7IH0KKwogICAgIHJlc2V0KCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9pc0NhcHR1cmlu
ZykKKyAgICAgICAgaWYgKHRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHRoaXMuc3Rv
cENhcHR1cmluZygpOwogCiAgICAgICAgIHRoaXMuX3JlY29yZGluZ3MgPSBbXTsKQEAgLTE2OCw3
ICsxNjcsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAvLyBUaGUgY3VycmVudCByZWNvcmRpbmcgdGhhdCBuZXcgdGlt
ZWxpbmUgcmVjb3JkcyB3aWxsIGJlIGFwcGVuZGVkIHRvLCBpZiBhbnkuCiAgICAgZ2V0IGFjdGl2
ZVJlY29yZGluZygpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9hY3RpdmVS
ZWNvcmRpbmcgfHwgIXRoaXMuX2lzQ2FwdHVyaW5nKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
dGhpcy5fYWN0aXZlUmVjb3JkaW5nIHx8ICF0aGlzLmlzQ2FwdHVyaW5nKCkpOwogICAgICAgICBy
ZXR1cm4gdGhpcy5fYWN0aXZlUmVjb3JkaW5nOwogICAgIH0KIApAQCAtMTkxLDggKzE5MCwxMCBA
QCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKIAogICAgICAgICB0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBhdXRvQ2FwdHVy
ZTsKIAotICAgICAgICBpZiAod2luZG93LlRpbWVsaW5lQWdlbnQgJiYgVGltZWxpbmVBZ2VudC5z
ZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCi0gICAgICAgICAgICBUaW1lbGluZUFnZW50LnNldEF1dG9D
YXB0dXJlRW5hYmxlZCh0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOworICAgICAgICBmb3Ig
KGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgeworICAgICAgICAgICAgaWYgKHRhcmdldC5UaW1l
bGluZUFnZW50KQorICAgICAgICAgICAgICAgIHRhcmdldC5UaW1lbGluZUFnZW50LnNldEF1dG9D
YXB0dXJlRW5hYmxlZCh0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOworICAgICAgICB9CiAg
ICAgfQogCiAgICAgZ2V0IGVuYWJsZWRUaW1lbGluZVR5cGVzKCkKQEAgLTIxMCw3ICsyMTEsNyBA
QCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKIAogICAgIGlzQ2FwdHVyaW5nKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9p
c0NhcHR1cmluZzsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1l
bGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7CiAgICAgfQogCiAgICAgaXNDYXB0
dXJpbmdQYWdlUmVsb2FkKCkKQEAgLTIzOCw0MCArMjM5LDI5IEBAIFdJLlRpbWVsaW5lTWFuYWdl
ciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgc3RhcnRD
YXB0dXJpbmcoc2hvdWxkQ3JlYXRlUmVjb3JkaW5nKQogICAgIHsKLSAgICAgICAgY29uc29sZS5h
c3NlcnQoIXRoaXMuX2lzQ2FwdHVyaW5nLCAiVGltZWxpbmVNYW5hZ2VyIGlzIGFscmVhZHkgY2Fw
dHVyaW5nLiIpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9jYXB0dXJpbmdTdGF0ZSA9
PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0b3BwaW5nIHx8IHRoaXMuX2NhcHR1
cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUsICJU
aW1lbGluZU1hbmFnZXIgaXMgYWxyZWFkeSBjYXB0dXJpbmcuIik7CisgICAgICAgIGlmICh0aGlz
Ll9jYXB0dXJpbmdTdGF0ZSAhPT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0b3Bw
aW5nICYmIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5n
U3RhdGUuSW5hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKCF0aGlz
Ll9hY3RpdmVSZWNvcmRpbmcgfHwgc2hvdWxkQ3JlYXRlUmVjb3JkaW5nKQogICAgICAgICAgICAg
dGhpcy5fbG9hZE5ld1JlY29yZGluZygpOwogCi0gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JDYXB0
dXJpbmdTdGFydGVkRXZlbnQgPSB0cnVlOwotCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdXaWxsU3RhcnQpOwor
ICAgICAgICB0aGlzLl91cGRhdGVDYXB0dXJpbmdTdGF0ZShUaW1lbGluZU1hbmFnZXIuQ2FwdHVy
aW5nU3RhdGUuU3RhcnRpbmcpOwogCisgICAgICAgIHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGltZSA9
IE5hTjsKICAgICAgICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5nLnN0YXJ0KHRoaXMuX2luaXRpYXRl
ZEJ5QmFja2VuZFN0YXJ0KTsKICAgICB9CiAKICAgICBzdG9wQ2FwdHVyaW5nKCkKICAgICB7Ci0g
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2lzQ2FwdHVyaW5nLCAiVGltZWxpbmVNYW5hZ2Vy
IGlzIG5vdCBjYXB0dXJpbmcuIik7Ci0KLSAgICAgICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5nLnN0
b3AodGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RvcCk7Ci0KLSAgICAgICAgLy8gTk9URTogQWx3
YXlzIHN0b3AgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciBhIFRpbWVsaW5lLnJl
Y29yZGluZ1N0b3BwZWQgZXZlbnQuCi0gICAgICAgIC8vIFRoaXMgd2F5IHRoZSBVSSBmZWVscyBh
cyByZXNwb25zaXZlIHRvIGEgc3RvcCBhcyBwb3NzaWJsZS4KLSAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNTI5MDQ+IFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIFVJIHNo
b3VsZCBrZWVwIHVwIHdpdGggcHJvY2Vzc2luZyBhbGwgaW5jb21pbmcgcmVjb3JkcwotICAgICAg
ICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQoKTsKLSAgICB9Ci0KLSAgICB1bmxvYWRSZWNvcmRpbmco
KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9hY3RpdmVSZWNvcmRpbmcpCisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuU3RhcnRpbmcgfHwgdGhpcy5fY2FwdHVyaW5nU3RhdGUgPT09IFRpbWVsaW5l
TWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUsICJUaW1lbGluZU1hbmFnZXIgaXMgbm90IGNh
cHR1cmluZy4iKTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1lbGlu
ZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuU3RhcnRpbmcgJiYgdGhpcy5fY2FwdHVyaW5nU3RhdGUg
IT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQotICAgICAgICAgICAgdGhp
cy5zdG9wQ2FwdHVyaW5nKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNhcHR1cmluZ1N0YXRlKFRp
bWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdG9wcGluZyk7CiAKLSAgICAgICAgdGhpcy5f
YWN0aXZlUmVjb3JkaW5nLnVubG9hZGVkKCk7Ci0gICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGlu
ZyA9IG51bGw7CisgICAgICAgIHRoaXMuX2NhcHR1cmluZ0VuZFRpbWUgPSBOYU47CisgICAgICAg
IHRoaXMuX2FjdGl2ZVJlY29yZGluZy5zdG9wKHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3Ap
OwogICAgIH0KIAogICAgIHByb2Nlc3NKU09OKHtmaWxlbmFtZSwganNvbiwgZXJyb3J9KQpAQCAt
MzA1LDcgKzI5NSw3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdDcmVhdGVkLCB7cmVjb3JkaW5n
OiBuZXdSZWNvcmRpbmd9KTsKIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisgICAg
ICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLnN0b3BDYXB0dXJp
bmcoKTsKIAogICAgICAgICBsZXQgb2xkUmVjb3JkaW5nID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5n
OwpAQCAtMzM5LDUxICszMjksOTUgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxp
bmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJv
bSBXSS5UaW1lbGluZU9ic2VydmVyLgogCi0gICAgICAgIGlmICh0aGlzLl9pc0NhcHR1cmluZykK
KyAgICAgICAgLy8gVGhlIGZyb250ZW5kIGRpZG4ndCBzdGFydCBjYXB0dXJpbmcsIHNvIHRoaXMg
d2FzIGEgcHJvZ3JhbW1hdGljIHN0YXJ0LgorICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5nU3Rh
dGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkgeworICAgICAg
ICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0cnVlOworICAgICAgICAgICAg
dGhpcy5fYWN0aXZlUmVjb3JkaW5nLmFkZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0aWND
YXB0dXJlKCk7CisgICAgICAgICAgICB0aGlzLnN0YXJ0Q2FwdHVyaW5nKCk7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIWlzTmFOKHN0YXJ0VGltZSkpIHsKKyAgICAgICAgICAgIGlmIChpc05h
Tih0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUpIHx8IHN0YXJ0VGltZSA8IHRoaXMuX2NhcHR1cmlu
Z1N0YXJ0VGltZSkKKyAgICAgICAgICAgICAgICB0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUgPSBz
dGFydFRpbWU7CisKKyAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5pbml0aWFsaXpl
VGltZUJvdW5kc0lmTmVjZXNzYXJ5KHN0YXJ0VGltZSk7CisgICAgICAgIH0KKworICAgICAgICB0
aGlzLl9jYXB0dXJpbmdJbnN0cnVtZW50Q291bnQrKzsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
dGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENvdW50KTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1
cmluZ0luc3RydW1lbnRDb3VudCA+IDEpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
dGhpcy5fd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCA9IGZhbHNlOwotICAgICAgICB0
aGlzLl9pc0NhcHR1cmluZyA9IHRydWU7CisgICAgICAgIGlmICh0aGlzLl9jYXB0dXJpbmdTdGF0
ZSA9PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkFjdGl2ZSkKKyAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICB0aGlzLl9sYXN0RGVhZFRpbWVUaWNrbGUgPSAwOwogCi0gICAg
ICAgIGlmIChzdGFydFRpbWUpCi0gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlY29yZGluZy5pbml0
aWFsaXplVGltZUJvdW5kc0lmTmVjZXNzYXJ5KHN0YXJ0VGltZSk7Ci0KICAgICAgICAgdGhpcy5f
d2ViVGltZWxpbmVTY3JpcHRSZWNvcmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMgPSBb
XTsKIAorICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNBdXRvU3RvcC5hZGRFdmVudExpc3Rl
bmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVzQXV0b1N0
b3BTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CisKKyAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0
ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0Fk
ZGVkLCB0aGlzKTsKKyAgICAgICAgV0kuVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoV0kuVGFyZ2V0
LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMpOworCisg
ICAgICAgIFdJLmhlYXBNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuSGVhcE1hbmFnZXIuRXZl
bnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3RlZCwgdGhpcyk7CisKKyAg
ICAgICAgV0kubWVtb3J5TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLk1lbW9yeU1hbmFnZXIu
RXZlbnQuTWVtb3J5UHJlc3N1cmUsIHRoaXMuX21lbW9yeVByZXNzdXJlLCB0aGlzKTsKKwogICAg
ICAgICBXSS5ET01Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVudC5EaWRGaXJl
RXZlbnQsIHRoaXMuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQsIHRoaXMpOwogICAgICAgICBX
SS5ET01Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVudC5Mb3dQb3dlckNoYW5n
ZWQsIHRoaXMuX2hhbmRsZURPTU5vZGVMb3dQb3dlckNoYW5nZWQsIHRoaXMpOwogCi0gICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5D
YXB0dXJpbmdTdGFydGVkLCB7c3RhcnRUaW1lfSk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNhcHR1
cmluZ1N0YXRlKFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUsIHtzdGFydFRp
bWU6IHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGltZX0pOwogICAgIH0KIAogICAgIGNhcHR1cmluZ1N0
b3BwZWQoZW5kVGltZSkKICAgICB7CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLlRpbWVsaW5l
T2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgLy8g
VGhlIGZyb250ZW5kIGRpZG4ndCBzdG9wIGNhcHR1cmluZywgc28gdGhpcyB3YXMgYSBwcm9ncmFt
bWF0aWMgc3RvcC4KKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGlu
ZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlKSB7CisgICAgICAgICAgICB0aGlzLl9pbml0
aWF0ZWRCeUJhY2tlbmRTdG9wID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuc3RvcENhcHR1cmlu
ZygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFpc05hTihlbmRUaW1lKSkgeworICAgICAg
ICAgICAgaWYgKGlzTmFOKHRoaXMuX2NhcHR1cmluZ0VuZFRpbWUpIHx8IGVuZFRpbWUgPiB0aGlz
Ll9jYXB0dXJpbmdFbmRUaW1lKQorICAgICAgICAgICAgICAgIHRoaXMuX2NhcHR1cmluZ0VuZFRp
bWUgPSBlbmRUaW1lOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5zdHJ1
bWVudENvdW50LS07CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ0luc3Ry
dW1lbnRDb3VudCA+PSAwKTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ0luc3RydW1lbnRD
b3VudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5n
U3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkKICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICBXSS5ET01Ob2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIo
bnVsbCwgbnVsbCwgdGhpcyk7CisgICAgICAgIFdJLm1lbW9yeU1hbmFnZXIucmVtb3ZlRXZlbnRM
aXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuaGVhcE1hbmFnZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuVGFyZ2V0LnJlbW92
ZUV2ZW50TGlzdGVuZXIoV0kuVGFyZ2V0LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291
cmNlV2FzQWRkZWQsIHRoaXMpOworICAgICAgICBXSS5GcmFtZS5yZW1vdmVFdmVudExpc3RlbmVy
KFdJLkZyYW1lLkV2ZW50LlJlc291cmNlV2FzQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQs
IHRoaXMpOworICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNBdXRvU3RvcC5yZW1vdmVFdmVu
dExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwogCiAgICAgICAgIHRoaXMucmVsYXhBdXRvU3Rv
cCgpOwogCi0gICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gZmFsc2U7CiAgICAgICAgIHRoaXMu
X2lzQ2FwdHVyaW5nUGFnZVJlbG9hZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9zaG91bGRTZXRB
dXRvQ2FwdHVyaW5nTWFpblJlc291cmNlID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX21haW5SZXNv
dXJjZUZvckF1dG9DYXB0dXJpbmcgPSBudWxsOwogICAgICAgICB0aGlzLl9pbml0aWF0ZWRCeUJh
Y2tlbmRTdGFydCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRTdG9w
ID0gZmFsc2U7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHtlbmRUaW1lfSk7CisgICAgICAg
IHRoaXMuX3VwZGF0ZUNhcHR1cmluZ1N0YXRlKFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0
ZS5JbmFjdGl2ZSwge2VuZFRpbWU6IHRoaXMuX2NhcHR1cmluZ0VuZFRpbWV9KTsKICAgICB9CiAK
ICAgICBhdXRvQ2FwdHVyZVN0YXJ0ZWQoKQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20g
V0kuVGltZWxpbmVPYnNlcnZlci4KIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisg
ICAgICAgIGxldCB3YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50ID0gdGhpcy5fY2FwdHVy
aW5nU3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdGFydGluZzsKKwor
ICAgICAgICBpZiAodGhpcy5pc0NhcHR1cmluZygpKQogICAgICAgICAgICAgdGhpcy5zdG9wQ2Fw
dHVyaW5nKCk7CiAKICAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0cnVl
OwpAQCAtMzkxLDcgKzQyNSw3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5l
TWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyBXZSBtYXkgYWxyZWFkeSBoYXZl
IGFuIGZyZXNoIFRpbWVsaW5lUmVjb3JkaW5nIGNyZWF0ZWQgaWYgYXV0b0NhcHR1cmVTdGFydGVk
IGlzIHJlY2VpdmVkCiAgICAgICAgIC8vIGJldHdlZW4gc2VuZGluZyB0aGUgVGltZWxpbmUuc3Rh
cnQgY29tbWFuZCBhbmQgcmVjZWl2aW5nIFRpbWVsaW5lLmNhcHR1cmluZ1N0YXJ0ZWQgZXZlbnQu
CiAgICAgICAgIC8vIEluIHRoYXQgY2FzZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIHN0YXJ0
Q2FwdHVyaW5nIGFnYWluLiBSZXVzZSB0aGUgZnJlc2ggcmVjb3JkaW5nLgotICAgICAgICBpZiAo
IXRoaXMuX3dhaXRpbmdGb3JDYXB0dXJpbmdTdGFydGVkRXZlbnQpIHsKKyAgICAgICAgaWYgKCF3
YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50KSB7CiAgICAgICAgICAgICBjb25zdCBjcmVh
dGVOZXdSZWNvcmRpbmcgPSB0cnVlOwogICAgICAgICAgICAgdGhpcy5zdGFydENhcHR1cmluZyhj
cmVhdGVOZXdSZWNvcmRpbmcpOwogICAgICAgICB9CkBAIC0zOTksMzcgKzQzMywxMiBAQCBXSS5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgdGhpcy5fc2hvdWxkU2V0QXV0b0NhcHR1cmluZ01haW5SZXNvdXJjZSA9IHRydWU7
CiAgICAgfQogCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKQotICAgIHsKLSAgICAg
ICAgLy8gQ2FsbGVkIGZyb20gV0kuVGltZWxpbmVPYnNlcnZlci4KLQotICAgICAgICB0aGlzLl9p
bml0aWF0ZWRCeUJhY2tlbmRTdGFydCA9IHRydWU7Ci0KLSAgICAgICAgdGhpcy5fYWN0aXZlUmVj
b3JkaW5nLmFkZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0aWNDYXB0dXJlKCk7Ci0KLSAg
ICAgICAgY29uc3QgY3JlYXRlTmV3UmVjb3JkaW5nID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuc3Rh
cnRDYXB0dXJpbmcoY3JlYXRlTmV3UmVjb3JkaW5nKTsKLSAgICB9Ci0KLSAgICBwcm9ncmFtbWF0
aWNDYXB0dXJlU3RvcHBlZCgpCi0gICAgewotICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5UaW1l
bGluZU9ic2VydmVyLgotCi0gICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3AgPSB0
cnVlOwotCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHB1cmVseSB0byBhdm9pZCBhIG5vaXN5
IGFzc2VydC4gUHJldmlvdXNseQotICAgICAgICAvLyBpdCB3YXMgaW1wb3NzaWJsZSB0byBzdG9w
IHdpdGhvdXQgc3RvcHBpbmcgZnJvbSB0aGUgVUkuCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0
aGlzLl9pc0NhcHR1cmluZyk7Ci0gICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gdHJ1ZTsKLQot
ICAgICAgICB0aGlzLnN0b3BDYXB0dXJpbmcoKTsKLSAgICB9Ci0KICAgICBldmVudFJlY29yZGVk
KHJlY29yZFBheWxvYWQpCiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5UaW1lbGlu
ZU9ic2VydmVyLgogCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5pc0Nh
cHR1cmluZygpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciByZWNvcmRzID0g
W107CkBAIC00NjksOCArNDc4LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxp
bmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBQ
cm90ZWN0ZWQKLQogICAgIHBhZ2VET01Db250ZW50TG9hZGVkRXZlbnRGaXJlZCh0aW1lc3RhbXAp
CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5QYWdlT2JzZXJ2ZXIuCkBAIC00Nzgs
NyArNDg1LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2FjdGl2ZVJlY29y
ZGluZyk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlzTmFOKFdJLm5ldHdvcmtNYW5hZ2VyLm1h
aW5GcmFtZS5kb21Db250ZW50UmVhZHlFdmVudFRpbWVzdGFtcCkpOwogCi0gICAgICAgIGxldCBj
b21wdXRlZFRpbWVzdGFtcCA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2VkVGlt
ZSh0aW1lc3RhbXApOworICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3RhbXAgPSB0aGlzLl9hY3Rp
dmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHRpbWVzdGFtcCk7CiAKICAgICAgICAgV0ku
bmV0d29ya01hbmFnZXIubWFpbkZyYW1lLm1hcmtET01Db250ZW50UmVhZHlFdmVudChjb21wdXRl
ZFRpbWVzdGFtcCk7CiAKQEAgLTQ5Myw3ICs1MDAsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBj
bGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgY29uc29sZS5h
c3NlcnQodGhpcy5fYWN0aXZlUmVjb3JkaW5nKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQoaXNO
YU4oV0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLmxvYWRFdmVudFRpbWVzdGFtcCkpOwogCi0g
ICAgICAgIGxldCBjb21wdXRlZFRpbWVzdGFtcCA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNvbXB1
dGVFbGFwc2VkVGltZSh0aW1lc3RhbXApOworICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3RhbXAg
PSB0aGlzLl9hY3RpdmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHRpbWVzdGFtcCk7CiAK
ICAgICAgICAgV0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLm1hcmtMb2FkRXZlbnQoY29tcHV0
ZWRUaW1lc3RhbXApOwogCkBAIC01MTQsMTUgKzUyMSwxOCBAQCBXSS5UaW1lbGluZU1hbmFnZXIg
PSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAgICAg
IC8vIENhbGxlZCBmcm9tIFdJLkNQVVByb2ZpbGVyT2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYgKCF0
aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmlu
ZygpKTsKKyAgICAgICAgaWYgKCF0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5DUFVUaW1lbGluZVJlY29yZChl
dmVudCkpOwogICAgIH0KIAotICAgIGNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoKQorICAg
IGNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKQogICAgIHsKICAgICAgICAg
Ly8gQ2FsbGVkIGZyb20gV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci4KKworICAgICAgICB0aGlzLmNh
cHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBtZW1vcnlUcmFja2luZ1N0
YXJ0ZWQodGltZXN0YW1wKQpAQCAtNTM2LDI0ICs1NDYsMjcgQEAgV0kuVGltZWxpbmVNYW5hZ2Vy
ID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAg
ICAvLyBDYWxsZWQgZnJvbSBXSS5NZW1vcnlPYnNlcnZlci4KIAotICAgICAgICBpZiAoIXRoaXMu
X2lzQ2FwdHVyaW5nKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5nKCkp
OworICAgICAgICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLk1lbW9yeVRpbWVsaW5lUmVjb3JkKGV2
ZW50LnRpbWVzdGFtcCwgZXZlbnQuY2F0ZWdvcmllcykpOwogICAgIH0KIAotICAgIG1lbW9yeVRy
YWNraW5nQ29tcGxldGVkKCkKKyAgICBtZW1vcnlUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAp
CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5NZW1vcnlPYnNlcnZlci4KKworICAg
ICAgICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBoZWFw
VHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCwgc25hcHNob3QpCiAgICAgewogICAgICAgICAvLyBD
YWxsZWQgZnJvbSBXSS5IZWFwT2JzZXJ2ZXIuCiAKLSAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5l
dyBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVJlY29yZCh0aW1lc3RhbXAsIHNuYXBzaG90KSk7
Ci0KICAgICAgICAgdGhpcy5jYXB0dXJpbmdTdGFydGVkKHRpbWVzdGFtcCk7CisKKyAgICAgICAg
dGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVJlY29yZCh0aW1l
c3RhbXAsIHNuYXBzaG90KSk7CiAgICAgfQogCiAgICAgaGVhcFRyYWNraW5nQ29tcGxldGVkKHRp
bWVzdGFtcCwgc25hcHNob3QpCkBAIC01NjEsMjEgKzU3NCwzOSBAQCBXSS5UaW1lbGluZU1hbmFn
ZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgLy8g
Q2FsbGVkIGZyb20gV0kuSGVhcE9ic2VydmVyLgogCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChu
ZXcgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkp
OworCisgICAgICAgIHRoaXMuY2FwdHVyaW5nU3RvcHBlZCgpOwogICAgIH0KIAogICAgIGhlYXBT
bmFwc2hvdEFkZGVkKHRpbWVzdGFtcCwgc25hcHNob3QpCiAgICAgewogICAgICAgICAvLyBDYWxs
ZWQgZnJvbSBXSS5IZWFwQWxsb2NhdGlvbnNJbnN0cnVtZW50LgogCisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5pc0NhcHR1cmlu
ZygpKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcg
V0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkpOwog
ICAgIH0KIAogICAgIC8vIFByaXZhdGUKIAorICAgIF91cGRhdGVDYXB0dXJpbmdTdGF0ZShzdGF0
ZSwgZGF0YSA9IHt9KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09
PSBzdGF0ZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9jYXB0dXJpbmdT
dGF0ZSA9IHN0YXRlOworCisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFRp
bWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIGRhdGEpOworICAgIH0K
KwogICAgIF9wcm9jZXNzUmVjb3JkKHJlY29yZFBheWxvYWQsIHBhcmVudFJlY29yZFBheWxvYWQp
CiAgICAgewotICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcuY29t
cHV0ZUVsYXBzZWRUaW1lKHJlY29yZFBheWxvYWQuc3RhcnRUaW1lKTsKLSAgICAgICAgdmFyIGVu
ZFRpbWUgPSB0aGlzLmFjdGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5
bG9hZC5lbmRUaW1lKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygp
KTsKKworICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNvbXB1
dGVFbGFwc2VkVGltZShyZWNvcmRQYXlsb2FkLnN0YXJ0VGltZSk7CisgICAgICAgIHZhciBlbmRU
aW1lID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2VkVGltZShyZWNvcmRQYXls
b2FkLmVuZFRpbWUpOwogICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IHRoaXMuX2NhbGxGcmFtZXNG
cm9tUGF5bG9hZChyZWNvcmRQYXlsb2FkLnN0YWNrVHJhY2UpOwogCiAgICAgICAgIHZhciBzaWdu
aWZpY2FudENhbGxGcmFtZSA9IG51bGw7CkBAIC03NjIsOSArNzkzLDExIEBAIFdJLlRpbWVsaW5l
TWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAg
X3Byb2Nlc3NFdmVudChyZWNvcmRQYXlsb2FkLCBwYXJlbnRSZWNvcmRQYXlsb2FkKQogICAgIHsK
KyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygpKTsKKwogICAgICAgICBz
d2l0Y2ggKHJlY29yZFBheWxvYWQudHlwZSkgewogICAgICAgICBjYXNlIFRpbWVsaW5lQWdlbnQu
RXZlbnRUeXBlLlRpbWVTdGFtcDoKLSAgICAgICAgICAgIHZhciB0aW1lc3RhbXAgPSB0aGlzLmFj
dGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5zdGFydFRpbWUp
OworICAgICAgICAgICAgdmFyIHRpbWVzdGFtcCA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZy5jb21w
dXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5zdGFydFRpbWUpOwogICAgICAgICAgICAgdmFy
IGV2ZW50TWFya2VyID0gbmV3IFdJLlRpbWVsaW5lTWFya2VyKHRpbWVzdGFtcCwgV0kuVGltZWxp
bmVNYXJrZXIuVHlwZS5UaW1lU3RhbXAsIHJlY29yZFBheWxvYWQuZGF0YS5tZXNzYWdlKTsKICAg
ICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRFdmVudE1hcmtlcihldmVudE1hcmtl
cik7CiAgICAgICAgICAgICBicmVhazsKQEAgLTc5NCw3ICs4MjcsNyBAQCBXSS5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
dGhpcy5fcmVjb3JkaW5ncy5wdXNoKG5ld1JlY29yZGluZyk7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdDcmVh
dGVkLCB7cmVjb3JkaW5nOiBuZXdSZWNvcmRpbmd9KTsKIAotICAgICAgICBpZiAodGhpcy5faXND
YXB0dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0
aGlzLnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB2YXIgb2xkUmVjb3JkaW5nID0gdGhpcy5f
YWN0aXZlUmVjb3JkaW5nOwpAQCAtODI3LDYgKzg2MCw4IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9
IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgX2FkZFJlY29y
ZChyZWNvcmQpCiAgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5n
KCkpOworCiAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRSZWNvcmQocmVjb3JkKTsK
IAogICAgICAgICAvLyBPbmx5IHdvcnJ5IGFib3V0IGRlYWQgdGltZSBhZnRlciB0aGUgbG9hZCBl
dmVudC4KQEAgLTg0NCwxNSArODc5LDE1IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRp
bWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIC8vIENPTVBBVElCSUxJ
VFkgKGlPUyA5KTogVGltZWxpbmUuc2V0QXV0b0NhcHR1cmVFbmFibGVkIGRpZCBub3QgZXhpc3Qu
CiAgICAgICAgIC8vIFBlcmZvcm0gYXV0byBjYXB0dXJlIGluIHRoZSBmcm9udGVuZC4KLSAgICAg
ICAgaWYgKCF3aW5kb3cuVGltZWxpbmVBZ2VudCkKKyAgICAgICAgaWYgKCFJbnNwZWN0b3JCYWNr
ZW5kLmRvbWFpbnMuVGltZWxpbmUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IGlmICghVGltZWxpbmVBZ2VudC5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCisgICAgICAgIGlmICgh
SW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlRpbWVsaW5lLnNldEF1dG9DYXB0dXJlRW5hYmxlZCkK
ICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sZWdhY3lBdHRlbXB0U3RhcnRBdXRvQ2FwdHVyaW5n
Rm9yRnJhbWUoZnJhbWUpOwogCiAgICAgICAgIGlmICghdGhpcy5fc2hvdWxkU2V0QXV0b0NhcHR1
cmluZ01haW5SZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZywgIldlIHNhdyBhdXRvQ2FwdHVyZVN0YXJ0
ZWQgc28gd2Ugc2hvdWxkIGFscmVhZHkgYmUgY2FwdHVyaW5nIik7CisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSwgIldlIHNhdyBhdXRvQ2FwdHVyZVN0YXJ0ZWQgc28g
d2Ugc2hvdWxkIGFscmVhZHkgYmUgY2FwdHVyaW5nIik7CiAKICAgICAgICAgbGV0IG1haW5SZXNv
dXJjZSA9IGZyYW1lLnByb3Zpc2lvbmFsTWFpblJlc291cmNlIHx8IGZyYW1lLm1haW5SZXNvdXJj
ZTsKICAgICAgICAgaWYgKG1haW5SZXNvdXJjZSA9PT0gdGhpcy5fbWFpblJlc291cmNlRm9yQXV0
b0NhcHR1cmluZykKQEAgLTg3NCw3ICs5MDksNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFz
cyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9sZWdhY3lBdHRlbXB0
U3RhcnRBdXRvQ2FwdHVyaW5nRm9yRnJhbWUoZnJhbWUpCiAgICAgewotICAgICAgICBpZiAodGhp
cy5faXNDYXB0dXJpbmcgJiYgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcpCisg
ICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkgJiYgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1
dG9DYXB0dXJpbmcpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgbGV0IG1h
aW5SZXNvdXJjZSA9IGZyYW1lLnByb3Zpc2lvbmFsTWFpblJlc291cmNlIHx8IGZyYW1lLm1haW5S
ZXNvdXJjZTsKQEAgLTg4NCw3ICs5MTksNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBU
aW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgbGV0IG9sZE1haW5SZXNv
dXJjZSA9IGZyYW1lLm1haW5SZXNvdXJjZSB8fCBudWxsOwogICAgICAgICB0aGlzLl9pc0NhcHR1
cmluZ1BhZ2VSZWxvYWQgPSBvbGRNYWluUmVzb3VyY2UgIT09IG51bGwgJiYgb2xkTWFpblJlc291
cmNlLnVybCA9PT0gbWFpblJlc291cmNlLnVybDsKIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0
dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlz
LnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2Fw
dHVyaW5nID0gbWFpblJlc291cmNlOwpAQCAtOTA2LDcgKzk0MSw3IEBAIFdJLlRpbWVsaW5lTWFu
YWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIC8vIE9ubHkgYXV0byBzdG9wIHdoZW4gYXV0byBjYXB0dXJp
bmcuCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcgfHwgIXRoaXMuX21haW5SZXNvdXJj
ZUZvckF1dG9DYXB0dXJpbmcpCisgICAgICAgIGlmICghdGhpcy5pc0NhcHR1cmluZygpIHx8ICF0
aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIGlmICh0aGlzLl9zdG9wQ2FwdHVyaW5nVGltZW91dCkKQEAgLTkzMCw3ICs5NjUs
NyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBPbmx5IG1vbml0b3Ig
ZGVhZCB0aW1lIHdoZW4gYXV0byBjYXB0dXJpbmcuCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0
dXJpbmcgfHwgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcpCisgICAgICAgIGlm
ICghdGhpcy5pc0NhcHR1cmluZygpIHx8ICF0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVy
aW5nKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIEF2b2lkIHVubmVjZXNzYXJ5
IGNodXJuaW5nIG9mIHRpbWVvdXQgaWRlbnRpZmllciBieSBub3QgdGlja2xpbmcgdW50aWwgMTBt
cyBoYXZlIHBhc3NlZC4KQEAgLTk3MSw3ICsxMDA2LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICh0aGlz
Ll9hdHRlbXB0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBpZiAoIXRoaXMu
aXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBsZXQgbWFpblJl
c291cmNlID0gZnJhbWUubWFpblJlc291cmNlOwpAQCAtOTgzLDQwICsxMDE4LDI3IEBAIFdJLlRp
bWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAog
CiAgICAgX3Jlc291cmNlV2FzQWRkZWQoZXZlbnQpCiAgICAgewotCiAgICAgICAgIC8vIElnbm9y
ZSByZXNvdXJjZSBldmVudHMgd2hlbiB0aGVyZSBpc24ndCBhIG1haW4gZnJhbWUgeWV0LiBUaG9z
ZSBldmVudHMgYXJlIHRyaWdnZXJlZCBieQogICAgICAgICAvLyBsb2FkaW5nIHRoZSBjYWNoZWQg
cmVzb3VyY2VzIHdoZW4gdGhlIGluc3BlY3RvciBvcGVucywgYW5kIHRoZXkgZG8gbm90IGhhdmUg
dGltaW5nIGluZm9ybWF0aW9uLgogICAgICAgICBpZiAoIVdJLm5ldHdvcmtNYW5hZ2VyLm1haW5G
cmFtZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVy
aW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcg
V0kuUmVzb3VyY2VUaW1lbGluZVJlY29yZChldmVudC5kYXRhLnJlc291cmNlKSk7CiAgICAgfQog
CiAgICAgX2dhcmJhZ2VDb2xsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
X2lzQ2FwdHVyaW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxldCBjb2xsZWN0
aW9uID0gZXZlbnQuZGF0YS5jb2xsZWN0aW9uOworICAgICAgICBsZXQge2NvbGxlY3Rpb259ID0g
ZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxlY3Rl
ZCwgY29sbGVjdGlvbi5zdGFydFRpbWUsIGNvbGxlY3Rpb24uZW5kVGltZSwgbnVsbCwgbnVsbCwg
Y29sbGVjdGlvbikpOwogICAgIH0KIAogICAgIF9tZW1vcnlQcmVzc3VyZShldmVudCkKICAgICB7
Ci0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgdGhpcy5hY3RpdmVSZWNvcmRpbmcuYWRkTWVtb3J5UHJlc3N1cmVFdmVudChldmVu
dC5kYXRhLm1lbW9yeVByZXNzdXJlRXZlbnQpOworICAgICAgICB0aGlzLl9hY3RpdmVSZWNvcmRp
bmcuYWRkTWVtb3J5UHJlc3N1cmVFdmVudChldmVudC5kYXRhLm1lbW9yeVByZXNzdXJlRXZlbnQp
OwogICAgIH0KIAogICAgIF9oYW5kbGVUaW1lbGluZXNBdXRvU3RvcFNldHRpbmdDaGFuZ2VkKGV2
ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKLSAgICAgICAgICAg
IHJldHVybjsKLQogICAgICAgICBpZiAoV0kuc2V0dGluZ3MudGltZWxpbmVzQXV0b1N0b3AudmFs
dWUpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5n
ICYmICFpc05hTih0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nLnBhcmVudEZyYW1l
LmxvYWRFdmVudFRpbWVzdGFtcCkpCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcEF1dG9SZWNv
cmRpbmdTb29uKCk7CkBAIC0xMDM5LDI0ICsxMDYxLDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKLSAgICB7
Ci0gICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFs
aXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1
YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xlLmFz
c2VydChXSS5zaGFyZWRBcHAuZGVidWdnYWJsZVR5cGUgPT09IFdJLkRlYnVnZ2FibGVUeXBlLkph
dmFTY3JpcHQpOwotICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5faXNDYXB0dXJpbmcpOwot
Ci0gICAgICAgIHRoaXMucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLSAgICB9Ci0KLSAg
ICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCkKLSAgICB7Ci0gICAg
ICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXplIHRo
ZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxseSBm
b3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xlLmFzc2VydChX
SS5zaGFyZWRBcHAuZGVidWdnYWJsZVR5cGUgPT09IFdJLkRlYnVnZ2FibGVUeXBlLkphdmFTY3Jp
cHQpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZyk7Ci0KLSAgICAg
ICAgdGhpcy5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotICAgIH0KLQogICAgIHNjcmlw
dFByb2ZpbGVyVHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCkKICAgICB7CiAgICAgICAgIHRoaXMu
X3NjcmlwdFByb2ZpbGVyUmVjb3JkcyA9IFtdOwpAQCAtMTA4MCwxMyArMTA4NCwxMyBAQCBXSS5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgICAgIHRoaXMuX2FkZFJlY29yZChyZWNvcmQpOwogICAgIH0KIAotICAgIHNjcmlw
dFByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoc2FtcGxlcykKKyAgICBzY3JpcHRQcm9maWxlclRy
YWNraW5nQ29tcGxldGVkKHRpbWVzdGFtcCwgc2FtcGxlcykKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KCF0aGlzLl93ZWJUaW1lbGluZVNjcmlwdFJlY29yZHNFeHBlY3RpbmdTY3JpcHRQ
cm9maWxlckV2ZW50cyB8fCB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMubGVuZ3RoID49IHRo
aXMuX3dlYlRpbWVsaW5lU2NyaXB0UmVjb3Jkc0V4cGVjdGluZ1NjcmlwdFByb2ZpbGVyRXZlbnRz
Lmxlbmd0aCk7CiAKICAgICAgICAgaWYgKHNhbXBsZXMpIHsKICAgICAgICAgICAgIGxldCB7c3Rh
Y2tUcmFjZXN9ID0gc2FtcGxlczsKLSAgICAgICAgICAgIGxldCB0b3BEb3duQ2FsbGluZ0NvbnRl
eHRUcmVlID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcudG9wRG93bkNhbGxpbmdDb250ZXh0VHJlZTsK
KyAgICAgICAgICAgIGxldCB0b3BEb3duQ2FsbGluZ0NvbnRleHRUcmVlID0gdGhpcy5fYWN0aXZl
UmVjb3JkaW5nLnRvcERvd25DYWxsaW5nQ29udGV4dFRyZWU7CiAKICAgICAgICAgICAgIC8vIENh
bGN1bGF0ZSBhIHBlci1zYW1wbGUgZHVyYXRpb24uCiAgICAgICAgICAgICBsZXQgdGltZXN0YW1w
SW5kZXggPSAwOwpAQCAtMTEyMCw3ICsxMTI0LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xh
c3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBpZiAodGlt
ZXN0YW1wSW5kZXggPCB0aW1lc3RhbXBDb3VudCkKICAgICAgICAgICAgICAgICBzYW1wbGVEdXJh
dGlvbnMuZmlsbChkZWZhdWx0RHVyYXRpb24sIHNhbXBsZUR1cmF0aW9uSW5kZXgpOwogCi0gICAg
ICAgICAgICB0aGlzLmFjdGl2ZVJlY29yZGluZy5pbml0aWFsaXplQ2FsbGluZ0NvbnRleHRUcmVl
cyhzdGFja1RyYWNlcywgc2FtcGxlRHVyYXRpb25zKTsKKyAgICAgICAgICAgIHRoaXMuX2FjdGl2
ZVJlY29yZGluZy5pbml0aWFsaXplQ2FsbGluZ0NvbnRleHRUcmVlcyhzdGFja1RyYWNlcywgc2Ft
cGxlRHVyYXRpb25zKTsKIAogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgdHJhbnNmb3JtYXRp
b24gc2hvdWxkIG5vdCBiZSBuZWVkZWQgYWZ0ZXIgaW50cm9kdWNpbmcgUHJvZmlsZVZpZXcuCiAg
ICAgICAgICAgICAvLyBPbmNlIHdlIGVsaW1pbmF0ZSBQcm9maWxlTm9kZVRyZWVFbGVtZW50cyBh
bmQgUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGVzLgpAQCAtMTE0MCw4ICsxMTQ0LDEwIEBAIFdJLlRp
bWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAog
CiAgICAgICAgIHRoaXMuX3NjcmlwdFByb2ZpbGVyUmVjb3JkcyA9IG51bGw7CiAKLSAgICAgICAg
bGV0IHRpbWVsaW5lID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcudGltZWxpbmVGb3JSZWNvcmRUeXBl
KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgbGV0IHRpbWVsaW5lID0g
dGhpcy5fYWN0aXZlUmVjb3JkaW5nLnRpbWVsaW5lRm9yUmVjb3JkVHlwZShXSS5UaW1lbGluZVJl
Y29yZC5UeXBlLlNjcmlwdCk7CiAgICAgICAgIHRpbWVsaW5lLnJlZnJlc2goKTsKKworICAgICAg
ICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBfbWVyZ2VT
Y3JpcHRQcm9maWxlUmVjb3JkcygpCkBAIC0xMjQwLDggKzEyNDYsNiBAQCBXSS5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9o
YW5kbGVET01Ob2RlRGlkRmlyZUV2ZW50KGV2ZW50KQogICAgIHsKLSAgICAgICAgY29uc29sZS5h
c3NlcnQodGhpcy5faXNDYXB0dXJpbmcpOwotCiAgICAgICAgIGxldCB7ZG9tRXZlbnR9ID0gZXZl
bnQuZGF0YTsKIAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLk1lZGlhVGltZWxpbmVS
ZWNvcmQoV0kuTWVkaWFUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRE9NRXZlbnQsIGRvbUV2ZW50
LnRpbWVzdGFtcCwgewpAQCAtMTI1Miw4ICsxMjU2LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfaGFuZGxlRE9N
Tm9kZUxvd1Bvd2VyQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRoaXMuX2lzQ2FwdHVyaW5nKTsKLQogICAgICAgICBsZXQge3RpbWVzdGFtcCwgaXNMb3dQb3dl
cn0gPSBldmVudC5kYXRhOwogCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcgV0kuTWVkaWFU
aW1lbGluZVJlY29yZChXSS5NZWRpYVRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Mb3dQb3dlciwg
dGltZXN0YW1wLCB7CkBAIC0xMjYzLDEzICsxMjY1LDE4IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9
IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgIH0KIH07CiAKK1dJ
LlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZSA9IHsKKyAgICBJbmFjdGl2ZTogImluYWN0
aXZlIiwKKyAgICBTdGFydGluZzogInN0YXJ0aW5nIiwKKyAgICBBY3RpdmU6ICJhY3RpdmUiLAor
ICAgIFN0b3BwaW5nOiAic3RvcHBpbmciLAorfTsKKwogV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50
ID0geworICAgIENhcHR1cmluZ1N0YXRlQ2hhbmdlZDogInRpbWVsaW5lLW1hbmFnZXItY2FwdHVy
aW5nLXN0YXJ0ZWQiLAogICAgIFJlY29yZGluZ0NyZWF0ZWQ6ICJ0aW1lbGluZS1tYW5hZ2VyLXJl
Y29yZGluZy1jcmVhdGVkIiwKICAgICBSZWNvcmRpbmdMb2FkZWQ6ICJ0aW1lbGluZS1tYW5hZ2Vy
LXJlY29yZGluZy1sb2FkZWQiLAogICAgIFJlY29yZGluZ0ltcG9ydGVkOiAidGltZWxpbmUtbWFu
YWdlci1yZWNvcmRpbmctaW1wb3J0ZWQiLAotICAgIENhcHR1cmluZ1dpbGxTdGFydDogInRpbWVs
aW5lLW1hbmFnZXItY2FwdHVyaW5nLXdpbGwtc3RhcnQiLAotICAgIENhcHR1cmluZ1N0YXJ0ZWQ6
ICJ0aW1lbGluZS1tYW5hZ2VyLWNhcHR1cmluZy1zdGFydGVkIiwKLSAgICBDYXB0dXJpbmdTdG9w
cGVkOiAidGltZWxpbmUtbWFuYWdlci1jYXB0dXJpbmctc3RvcHBlZCIKIH07CiAKIFdJLlRpbWVs
aW5lTWFuYWdlci5NYXhpbXVtQXV0b1JlY29yZER1cmF0aW9uID0gOTAwMDA7IC8vIDkwIHNlY29u
ZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9EZWZhdWx0RGFzaGJvYXJkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKaW5kZXggNjQ1Zjk5M2UwNDE5YmVhNzkzNGM2
MWZjMjNmMzRhZTdhYzZhM2Y2Yi4uYzhjYjlmNTYzNmQ0MGUzOWM3ZTM5MmVhNzNmYTVmNTAxNWQx
MjY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKQEAgLTMzLDcgKzMzLDcgQEAgV0ku
RGVmYXVsdERhc2hib2FyZCA9IGNsYXNzIERlZmF1bHREYXNoYm9hcmQgZXh0ZW5kcyBXSS5PYmpl
Y3QKIAogICAgICAgICAvLyBOZWNlc3NhcnkgZXZlbnQgcmVxdWlyZWQgdG8gdHJhY2sgcGFnZSBs
b2FkIHRpbWUgYW5kIHJlc291cmNlIHNpemVzLgogICAgICAgICBXSS5GcmFtZS5hZGRFdmVudExp
c3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcy5fbWFpblJl
c291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRo
aXMuX2NhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVD
aGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7
CiAKICAgICAgICAgLy8gTmVjZXNzYXJ5IGV2ZW50cyByZXF1aXJlZCB0byB0cmFjayBsb2FkIG9m
IHJlc291cmNlcy4KICAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5F
dmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKQEAg
LTE2Myw4ICsxNjMsMTEgQEAgV0kuRGVmYXVsdERhc2hib2FyZCA9IGNsYXNzIERlZmF1bHREYXNo
Ym9hcmQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHRoaXMuX3RyYW5zaXRpb25pbmdQ
YWdlVGFyZ2V0ID0gZmFsc2U7CiAgICAgfQogCi0gICAgX2NhcHR1cmluZ1N0b3BwZWQoZXZlbnQp
CisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsK
KyAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpKQorICAgICAgICAg
ICAgcmV0dXJuOworCiAgICAgICAgIC8vIElmIHJlY29yZGluZyBzdG9wcywgd2Ugc2hvdWxkIHN0
b3AgdGhlIHRpbWVyIGlmIGl0IGhhc24ndCBzdG9wcGVkIGFscmVhZHkuCiAgICAgICAgIHRoaXMu
X3N0b3BVcGRhdGluZ1RpbWUoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2VydmVyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvQ1BVUHJvZmlsZXJPYnNl
cnZlci5qcwppbmRleCA0OWEyMzQ1YmRhNDJhZWIwN2RjMTRlYThiYjQwNTA5ZDc5ODY3ZTBlLi4w
NTEzNDcwYTc5YjFiNDhmYjYxYmQxMGNmZTk4NjA5MmM2ZWY3OGRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2Vy
dmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L0NQVVByb2ZpbGVyT2JzZXJ2ZXIuanMKQEAgLTM3LDggKzM3LDggQEAgV0kuQ1BVUHJvZmlsZXJP
YnNlcnZlciA9IGNsYXNzIENQVVByb2ZpbGVyT2JzZXJ2ZXIKICAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLmNwdVByb2ZpbGVyVHJhY2tpbmdVcGRhdGVkKGV2ZW50KTsKICAgICB9CiAKLSAgICB0
cmFja2luZ0NvbXBsZXRlKHNhbXBsZXMpCisgICAgdHJhY2tpbmdDb21wbGV0ZSh0aW1lc3RhbXAp
CiAgICAgewotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuY3B1UHJvZmlsZXJUcmFja2luZ0Nv
bXBsZXRlZChzYW1wbGVzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmNwdVByb2ZpbGVy
VHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTWVtb3J5T2JzZXJ2ZXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1vcnlP
YnNlcnZlci5qcwppbmRleCA3MjI0ZGUyNzdjNmJjNGRhYzM1MDM1OWI3NGNkZGFmNGRjMTg5ZGQx
Li5lODQyMjViYzRhYmUyYzMzZjgzYjc0ZjQ5ZjBmODA4ODgzNzlmMzZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1vcnlPYnNlcnZl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9N
ZW1vcnlPYnNlcnZlci5qcwpAQCAtNDIsOCArNDIsOCBAQCBXSS5NZW1vcnlPYnNlcnZlciA9IGNs
YXNzIE1lbW9yeU9ic2VydmVyCiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5tZW1vcnlUcmFj
a2luZ1VwZGF0ZWQoZXZlbnQpOwogICAgIH0KIAotICAgIHRyYWNraW5nQ29tcGxldGUoKQorICAg
IHRyYWNraW5nQ29tcGxldGUodGltZXN0YW1wKQogICAgIHsKLSAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLm1lbW9yeVRyYWNraW5nQ29tcGxldGVkKCk7CisgICAgICAgIFdJLnRpbWVsaW5lTWFu
YWdlci5tZW1vcnlUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXApOwogICAgIH0KIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9TY3Jp
cHRQcm9maWxlck9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvU2NyaXB0UHJvZmlsZXJPYnNlcnZlci5qcwppbmRleCBmMWI1NGNjNzcwMTdm
ZWYyY2VkOWM2NjA5MzViMjcxNzI5YzQ1MTA5Li42YjdiNTU4NjkyN2MzOTBhOGI5Zjg0YjYyYjcz
MTFhMzQ1MDAwZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Qcm90b2NvbC9TY3JpcHRQcm9maWxlck9ic2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIu
anMKQEAgLTM3LDE4ICszNywxOCBAQCBXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyID0gY2xhc3Mg
U2NyaXB0UHJvZmlsZXJPYnNlcnZlcgogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2NyaXB0
UHJvZmlsZXJUcmFja2luZ1VwZGF0ZWQoZXZlbnQpOwogICAgIH0KIAotICAgIHRyYWNraW5nQ29t
cGxldGUoc2FtcGxlcykKKyAgICB0cmFja2luZ0NvbXBsZXRlKHRpbWVzdGFtcCwgc2FtcGxlcykK
ICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zY3JpcHRQcm9maWxlclRyYWNraW5n
Q29tcGxldGVkKHNhbXBsZXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2NyaXB0UHJv
ZmlsZXJUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAsIHNhbXBsZXMpOwogICAgIH0KIAogICAg
IHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5zY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCk7CisgICAg
ICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMi4yKTogU2NyaXB0UHJvZmlsZXIucHJvZ3JhbW1h
dGljQ2FwdHVyZVN0YXJ0ZWQgd2FzIHJlbW92ZWQgYWZ0ZXIgaU9TIDEyLjIuCiAgICAgfQogCiAg
ICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQogICAgIHsKLSAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLnNjcmlwdFByb2ZpbGVyUHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKKyAg
ICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEyLjIpOiBTY3JpcHRQcm9maWxlci5wcm9ncmFt
bWF0aWNDYXB0dXJlU3RvcHBlZCB3YXMgcmVtb3ZlZCBhZnRlciBpT1MgMTIuMi4KICAgICB9CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvVGltZWxpbmVPYnNlcnZlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanMKaW5kZXggYmE5ZDAxOTkwM2M4YThkYWVm
NzVhMzViNGY1NTk0ZDEyNGYwY2M4Ni4uYzliMGFhN2Q2M2JlNTQ2OTRiYmExZmM5ZGFlMzczNDkz
ODg4N2Q2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvVGltZWxpbmVPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Qcm90b2NvbC9UaW1lbGluZU9ic2VydmVyLmpzCkBAIC00OSwxMSArNDks
MTEgQEAgV0kuVGltZWxpbmVPYnNlcnZlciA9IGNsYXNzIFRpbWVsaW5lT2JzZXJ2ZXIKIAogICAg
IHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOworICAgICAgICAvLyBDT01QQVRJ
QklMSVRZIChpT1MgMTIuMik6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIHdh
cyByZW1vdmVkIGFmdGVyIGlPUyAxMi4yLgogICAgIH0KIAogICAgIHByb2dyYW1tYXRpY0NhcHR1
cmVTdG9wcGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5wcm9ncmFtbWF0
aWNDYXB0dXJlU3RvcHBlZCgpOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIuMik6
IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkIHdhcyByZW1vdmVkIGFmdGVyIGlP
UyAxMi4yLgogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4
IDhjMWM1NmI5ZDI2NGU2NGVmMGZjZjMzMDFmZDJkNGQxNWIwOGU5YWMuLjRlN2M0MGEwMjUwYjRh
YTJmZmQ4OWM3YzgwMDliMDU2NTE4ODM5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBh
bmVsLmpzCkBAIC01NSw4ICs1NSw3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3Mg
RGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAKICAgICAg
ICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZl
bnQuRE9NTm9kZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hhbmdl
ZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcy5fdGltZWxp
bmVDYXB0dXJpbmdXaWxsU3RhcnQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBl
ZCwgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNh
cHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNo
YW5nZWQsIHRoaXMpOwogCiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLkF1ZGl0TWFuYWdlci5FdmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1h
bmFnZXJUZXN0U2NoZWR1bGVkLCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuQXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMuX2hh
bmRsZUF1ZGl0TWFuYWdlclRlc3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMjUxLDggKzI1MCw3IEBA
IFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0
ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlckRpZFBh
dXNlKG51bGwpOwogCiAgICAgICAgIGlmIChXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNE
aXNhYmxlZFRlbXBvcmFyaWx5KSB7Ci0gICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2Vy
LmlzQ2FwdHVyaW5nKCkpCi0gICAgICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdX
aWxsU3RhcnQoKTsKKyAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3Rh
dGVDaGFuZ2VkKCk7CiAKICAgICAgICAgICAgIGlmIChXSS5hdWRpdE1hbmFnZXIucnVubmluZ1N0
YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLkFjdGl2ZSB8fCBXSS5hdWRpdE1h
bmFnZXIucnVubmluZ1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLlN0b3Bw
aW5nKQogICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVs
ZWQoKTsKQEAgLTY0OCwxOSArNjQ2LDIwIEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xh
c3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBfdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoZXZlbnQpCisg
ICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAg
ICAgICAgdGhpcy5fdXBkYXRlVGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9ucygp
OwogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5f
dGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50
LmZpcnN0Q2hpbGQpOwotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0Rpc2FibGVkQmFu
bmVyKCk7Ci0gICAgfQorICAgICAgICBzd2l0Y2ggKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJp
bmdTdGF0ZSkgeworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0
ZS5TdGFydGluZzoKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRC
ZWZvcmUodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250ZW50
Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBfdGlt
ZWxpbmVDYXB0dXJpbmdTdG9wcGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fdXBkYXRl
VGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9ucygpOworICAgICAgICBjYXNlIFdJ
LlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIHRo
aXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQucmVtb3ZlKCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fy
bmluZ0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJyZWFrcG9pbnRzRGlz
YWJsZWRCYW5uZXIoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwuanMKaW5kZXggNTY4YTNjZDVkYTkwZGM2YmY2YmIzZDQ4MjkzMmJhZDEw
ZjhlZjFiNi4uZjBlOTRmYmFkMTZmMDAwODJlM2RjOWVmOTUxZWZkZDEyYTJiYmViMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05h
dmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTI4Miw4
ICsyODIsNyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICBXSS5jb25zb2xlTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lklzc3VlQWRkZWQs
IHRoaXMuX2hhbmRsZUNvbnNvbGVJc3N1ZUFkZGVkLCB0aGlzKTsKICAgICAgICAgV0kuY29uc29s
ZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5DbGVhcmVk
LCB0aGlzLl9oYW5kbGVDb25zb2xlQ2xlYXJlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1
cmluZ1dpbGxTdGFydCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQsIHRo
aXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVD
YXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdl
ZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMpOwogCiAg
ICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdlci5F
dmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0U2NoZWR1bGVk
LCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQXVk
aXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRl
c3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMzM3LDggKzMzNiw3IEBAIFdJLlNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0
ZW5kcyBXCiAgICAgICAgICAgICB0aGlzLl9oYW5kbGVEZWJ1Z2dlclBhdXNlZCgpOwogCiAgICAg
ICAgIGlmIChXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNEaXNhYmxlZFRlbXBvcmFyaWx5
KSB7Ci0gICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2VyLmlzQ2FwdHVyaW5nKCkpCi0g
ICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoKTsK
KyAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKCk7
CiAKICAgICAgICAgICAgIGlmIChXSS5hdWRpdE1hbmFnZXIucnVubmluZ1N0YXRlID09PSBXSS5B
dWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLkFjdGl2ZSB8fCBXSS5hdWRpdE1hbmFnZXIucnVubmlu
Z1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLlN0b3BwaW5nKQogICAgICAg
ICAgICAgICAgIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQoKTsKQEAgLTE4
MjAsMzQgKzE4MTgsMzMgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFz
cyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgaXNzdWVU
cmVlRWxlbWVudHMuZm9yRWFjaCgodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50LnBhcmVudC5y
ZW1vdmVDaGlsZCh0cmVlRWxlbWVudCkpOwogICAgIH0KIAotICAgIF9oYW5kbGVUaW1lbGluZUNh
cHR1cmluZ1dpbGxTdGFydChldmVudCkKKyAgICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0
ZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLl91cGRhdGVUZW1wb3JhcmlseURp
c2FibGVkQnJlYWtwb2ludHNCdXR0b25zKCk7CiAKLSAgICAgICAgaWYgKCF0aGlzLl90aW1lbGlu
ZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7Ci0gICAgICAgICAgICBsZXQgc3RvcFJlY29yZGlu
Z0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwotICAgICAgICAgICAg
c3RvcFJlY29yZGluZ0J1dHRvbi50ZXh0Q29udGVudCA9IFdJLlVJU3RyaW5nKCJTdG9wIHJlY29y
ZGluZyIpOwotICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKLSAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3Rv
cENhcHR1cmluZygpOwotICAgICAgICAgICAgfSk7CisgICAgICAgIHN3aXRjaCAoV0kudGltZWxp
bmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5h
Z2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nOgorICAgICAgICAgICAgaWYgKCF0aGlzLl90aW1l
bGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICAgICAgbGV0IHN0b3BS
ZWNvcmRpbmdCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAgICAg
ICAgICAgICAgICBzdG9wUmVjb3JkaW5nQnV0dG9uLnRleHRDb250ZW50ID0gV0kuVUlTdHJpbmco
IlN0b3AgcmVjb3JkaW5nIik7CisgICAgICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgV0ku
dGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKKyAgICAgICAgICAgICAgICB9KTsKIAot
ICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNv
cmRpbmdXYXJuaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3YXJuaW5nLWJhbm5lciIpOwotICAg
ICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5hcHBlbmQoV0ku
VUlTdHJpbmcoIkRlYnVnZ2VyIGRpc2FibGVkIGR1cmluZyBUaW1lbGluZSByZWNvcmRpbmciKSwg
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSwgc3RvcFJlY29yZGluZ0J1dHRvbik7Ci0gICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICAgICAgdGhp
cy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3YXJuaW5n
LWJhbm5lciIpOworICAgICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fybmlu
Z0VsZW1lbnQuYXBwZW5kKFdJLlVJU3RyaW5nKCJEZWJ1Z2dlciBkaXNhYmxlZCBkdXJpbmcgVGlt
ZWxpbmUgcmVjb3JkaW5nIiksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIiksIHN0b3BSZWNv
cmRpbmdCdXR0b24pOworICAgICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcu
ZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVu
dCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgdGhp
cy5jb250ZW50Vmlldy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl90aW1lbGluZVJlY29yZGlu
Z1dhcm5pbmdFbGVtZW50LCB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuZmlyc3RDaGlsZCk7Cisg
ICAgICAgICAgICBicmVhazsKIAotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0Rpc2Fi
bGVkQmFubmVyKCk7Ci0gICAgfQotCi0gICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RvcHBl
ZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZVRlbXBvcmFyaWx5RGlzYWJsZWRC
cmVha3BvaW50c0J1dHRvbnMoKTsKLQotICAgICAgICBpZiAodGhpcy5fdGltZWxpbmVSZWNvcmRp
bmdXYXJuaW5nRWxlbWVudCkgewotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdX
YXJuaW5nRWxlbWVudC5yZW1vdmUoKTsKLSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3Jk
aW5nV2FybmluZ0VsZW1lbnQgPSBudWxsOworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdl
ci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIGlmICh0aGlzLl90aW1lbGlu
ZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICAgICAgdGhpcy5fdGltZWxp
bmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICB0aGlz
Ll90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fdXBkYXRlQnJl
YWtwb2ludHNEaXNhYmxlZEJhbm5lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKaW5kZXgg
YTE1NjBlOTRmM2VhNDczM2VjNjlmYTg4NjM4ODdkNGQ5NWU3ZTA0NS4uM2NlYzRmYjc3ZTdmZTI2
OTdhMGUwYTVjNjBlNGUzN2Q4ODY3ODNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCkBA
IC0xMTYsOSArMTE2LDggQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAgICAgdGhpcy5fdmlld01vZGVEaWRDaGFuZ2Uo
KTsKIAorICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1l
bGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5lTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdJ
bXBvcnRlZCwgdGhpcy5fcmVjb3JkaW5nSW1wb3J0ZWQsIHRoaXMpOwotICAgICAgICBXSS50aW1l
bGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2Fw
dHVyaW5nU3RhcnRlZCwgdGhpcy5fY2FwdHVyaW5nU3RhcnRlZCwgdGhpcyk7Ci0gICAgICAgIFdJ
LnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVu
dC5DYXB0dXJpbmdTdG9wcGVkLCB0aGlzLl9jYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKICAgICB9
CiAKICAgICAvLyBJbXBvcnQgLyBFeHBvcnQKQEAgLTEwMzIsNiArMTAzMSwyMCBAQCBXSS5UaW1l
bGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgdGhpcy5fZWRpdGluZ0luc3RydW1lbnRzRGlkQ2hhbmdlKCk7CiAgICAgfQogCisgICAg
X2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQorICAgIHsKKyAgICAg
ICAgc3dpdGNoIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAgICAg
Y2FzZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlOgorICAgICAgICAg
ICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHRoaXMuX3N0b3BFZGl0aW5nSW5zdHJ1bWVudHMoKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZl
OgorICAgICAgICAgICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSB0cnVl
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKICAgICBfcmVjb3JkaW5n
SW1wb3J0ZWQoZXZlbnQpCiAgICAgewogICAgICAgICBsZXQge292ZXJ2aWV3RGF0YX0gPSBldmVu
dC5kYXRhOwpAQCAtMTA1NSwxNyArMTA2OCw2IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFz
cyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAgfQogCi0g
ICAgX2NhcHR1cmluZ1N0YXJ0ZWQoZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9lZGl0SW5z
dHJ1bWVudHNCdXR0b24uZW5hYmxlZCA9IGZhbHNlOwotICAgICAgICB0aGlzLl9zdG9wRWRpdGlu
Z0luc3RydW1lbnRzKCk7Ci0gICAgfQotCi0gICAgX2NhcHR1cmluZ1N0b3BwZWQoZXZlbnQpCi0g
ICAgewotICAgICAgICB0aGlzLl9lZGl0SW5zdHJ1bWVudHNCdXR0b24uZW5hYmxlZCA9IHRydWU7
Ci0gICAgfQotCiAgICAgX2NvbXBhcmVUaW1lbGluZVRyZWVFbGVtZW50cyhhLCBiKQogICAgIHsK
ICAgICAgICAgbGV0IGFUaW1lbGluZVR5cGUgPSBhLnJlcHJlc2VudGVkT2JqZWN0LnR5cGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCAwZTE2
OTczMjBjYWMyMGQxMTE4NTg5YWNlNzkzNjZlMjlkZGI0NTY3Li41NjI5MmNjZjc4MjczNmI2ZDBm
YmVmMWY4NTExZjYzMmI1ZTkzYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcuanMKQEAgLTEwMiw4ICsxMDIsNyBAQCBXSS5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRz
IFdJLgogICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGlu
ZVJlY29yZGluZy5FdmVudC5SZXNldCwgdGhpcy5fcmVjb3JkaW5nUmVzZXQsIHRoaXMpOwogICAg
ICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZVJlY29yZGlu
Zy5FdmVudC5VbmxvYWRlZCwgdGhpcy5fcmVjb3JkaW5nVW5sb2FkZWQsIHRoaXMpOwogCi0gICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdl
ci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkLCB0aGlzKTsK
LSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVN
YW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0b3BwZWQsIHRo
aXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1l
bGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuZGVidWdnZXJN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
dGhpcy5fZGVidWdnZXJQYXVzZWQsIHRoaXMpOwogICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUmVzdW1lZCwgdGhpcy5f
ZGVidWdnZXJSZXN1bWVkLCB0aGlzKTsKQEAgLTUxMCw0MCArNTA5LDQzIEBAIFdJLlRpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBfY2FwdHVyaW5nU3RhcnRlZChl
dmVudCkKKyAgICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQoZXZlbnQpCiAg
ICAgeworICAgICAgICBsZXQge3N0YXJ0VGltZSwgZW5kVGltZX0gPSBldmVudC5kYXRhOworCiAg
ICAgICAgIHRoaXMuX3VwZGF0ZVByb2dyZXNzVmlldygpOwogCi0gICAgICAgIGxldCBzdGFydFRp
bWUgPSBldmVudC5kYXRhLnN0YXJ0VGltZTsKLSAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZykK
LSAgICAgICAgICAgIHRoaXMuX3N0YXJ0VXBkYXRpbmdDdXJyZW50VGltZShzdGFydFRpbWUpOwot
ICAgICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICF0aGlz
Ll9yZWNvcmRpbmcucmVhZG9ubHk7Ci0gICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgc3dpdGNoIChXSS50aW1lbGluZU1hbmFn
ZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAgICAgY2FzZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuQWN0aXZlOgorICAgICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZykKKyAg
ICAgICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0aW5nQ3VycmVudFRpbWUoc3RhcnRUaW1lKTsK
IAotICAgICAgICAvLyBBIGRpc2NvbnRpbnVpdHkgb2NjdXJzIHdoZW4gdGhlIHJlY29yZGluZyBp
cyBzdG9wcGVkIGFuZCByZXN1bWVkIGF0Ci0gICAgICAgIC8vIGEgZnV0dXJlIHRpbWUuIENhcHR1
cmluZyBzdGFydGVkIHNpZ25hbHMgdGhlIGVuZCBvZiB0aGUgY3VycmVudAotICAgICAgICAvLyBk
aXNjb250aW51aXR5LCBpZiBvbmUgZXhpc3RzLgotICAgICAgICBpZiAoIWlzTmFOKHRoaXMuX2Rp
c2NvbnRpbnVpdHlTdGFydFRpbWUpKSB7Ci0gICAgICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRk
RGlzY29udGludWl0eSh0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lLCBzdGFydFRpbWUpOwot
ICAgICAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IE5hTjsKKyAgICAgICAg
ICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gIXRoaXMuX3Jl
Y29yZGluZy5yZWFkb25seTsKKyAgICAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgLy8gQSBkaXNjb250aW51aXR5
IG9jY3VycyB3aGVuIHRoZSByZWNvcmRpbmcgaXMgc3RvcHBlZCBhbmQgcmVzdW1lZCBhdAorICAg
ICAgICAgICAgLy8gYSBmdXR1cmUgdGltZS4gQ2FwdHVyaW5nIHN0YXJ0ZWQgc2lnbmFscyB0aGUg
ZW5kIG9mIHRoZSBjdXJyZW50CisgICAgICAgICAgICAvLyBkaXNjb250aW51aXR5LCBpZiBvbmUg
ZXhpc3RzLgorICAgICAgICAgICAgaWYgKCFpc05hTih0aGlzLl9kaXNjb250aW51aXR5U3RhcnRU
aW1lKSkgeworICAgICAgICAgICAgICAgIHRoaXMuX3JlY29yZGluZy5hZGREaXNjb250aW51aXR5
KHRoaXMuX2Rpc2NvbnRpbnVpdHlTdGFydFRpbWUsIHN0YXJ0VGltZSk7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IE5hTjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1
cmluZ1N0YXRlLkluYWN0aXZlOgorICAgICAgICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nKQorICAg
ICAgICAgICAgICAgIHRoaXMuX3N0b3BVcGRhdGluZ0N1cnJlbnRUaW1lKCk7CisKKyAgICAgICAg
ICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcpCisgICAgICAgICAgICAgICAgdGhpcy5f
dXBkYXRlVGltZWxpbmVWaWV3VGltZXModGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KTsKKworICAg
ICAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IGVuZFRpbWUgfHwgdGhpcy5f
Y3VycmVudFRpbWU7CisKKyAgICAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgIH0KIAotICAgIF9jYXB0dXJpbmdTdG9wcGVkKGV2ZW50KQot
ICAgIHsKLSAgICAgICAgdGhpcy5fdXBkYXRlUHJvZ3Jlc3NWaWV3KCk7Ci0KLSAgICAgICAgaWYg
KHRoaXMuX3VwZGF0aW5nKQotICAgICAgICAgICAgdGhpcy5fc3RvcFVwZGF0aW5nQ3VycmVudFRp
bWUoKTsKLQotICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KQotICAgICAgICAg
ICAgdGhpcy5fdXBkYXRlVGltZWxpbmVWaWV3VGltZXModGhpcy5jdXJyZW50VGltZWxpbmVWaWV3
KTsKLQotICAgICAgICB0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lID0gZXZlbnQuZGF0YS5l
bmRUaW1lIHx8IHRoaXMuX2N1cnJlbnRUaW1lOwotCi0gICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRv
bk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7Ci0g
ICAgfQotCiAgICAgX2RlYnVnZ2VyUGF1c2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKHRo
aXMuX3VwZGF0aW5nKQpAQCAtNzMxLDggKzczMyw3IEBAIFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdXBkYXRpbmcpOwogCi0gICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkLCB0aGlz
KTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0b3Bw
ZWQsIHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cihudWxsLCBudWxsLCB0aGlzKTsKICAgICB9CiAKICAgICBfdGltZVJhbmdlU2VsZWN0aW9uQ2hh
bmdlZChldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDRk
MDg1ZjdkOTk0M2ZmY2Y4YzFkMDRiMGJiNDAwMmMyZTIxYzRhOGMuLjhkZWE3NzEyMzI2ZjYzNjFl
MGRmODJlNTRkYTljMTI1NzRjMGQ1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50
Vmlldy5qcwpAQCAtNzEsMTIgKzcxLDEwIEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcgPSBj
bGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAgICAg
ICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLm5hdmlnYXRpb25CYXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5hdmlnYXRpb25JdGVtU2VsZWN0ZWQsIHRoaXMuX3Zp
ZXdNb2RlU2VsZWN0ZWQsIHRoaXMpOwogICAgICAgICB9CiAKKyAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmlu
Z1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQs
IHRoaXMpOwogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5U
aW1lbGluZU1hbmFnZXIuRXZlbnQuUmVjb3JkaW5nQ3JlYXRlZCwgdGhpcy5fcmVjb3JkaW5nQ3Jl
YXRlZCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdMb2FkZWQsIHRoaXMuX3JlY29yZGlu
Z0xvYWRlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXJ0ZWQsIHRoaXMuX2Nh
cHR1cmluZ1N0YXJ0ZWRPclN0b3BwZWQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3Rv
cHBlZCwgdGhpcy5fY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBlZCwgdGhpcyk7Ci0KICAgICAgICAg
V0kubm90aWZpY2F0aW9ucy5hZGRFdmVudExpc3RlbmVyKFdJLk5vdGlmaWNhdGlvbi5WaXNpYmls
aXR5U3RhdGVEaWRDaGFuZ2UsIHRoaXMuX2luc3BlY3RvclZpc2liaWxpdHlDaGFuZ2VkLCB0aGlz
KTsKICAgICAgICAgV0kubm90aWZpY2F0aW9ucy5hZGRFdmVudExpc3RlbmVyKFdJLk5vdGlmaWNh
dGlvbi5HbG9iYWxNb2RpZmllcktleXNEaWRDaGFuZ2UsIHRoaXMuX2dsb2JhbE1vZGlmaWVyS2V5
c0RpZENoYW5nZSwgdGhpcyk7CiAKQEAgLTQyNSwxMCArNDIzLDE1IEBAIFdJLlRpbWVsaW5lVGFi
Q29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudEJyb3dzCiAgICAgICAgICAgICB0aGlzLl9zaG93Q29udGludWVCdXR0b24oKTsKICAgICB9
CiAKLSAgICBfY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBlZChldmVudCkKKyAgICBfaGFuZGxlVGlt
ZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBsZXQgaXND
YXB0dXJpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0dXJpbmcoKTsKLSAgICAgICAgdGhp
cy5fcmVjb3JkQnV0dG9uLnRvZ2dsZWQgPSBpc0NhcHR1cmluZzsKKyAgICAgICAgbGV0IGVuYWJs
ZWQgPSBXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09IFdJLlRpbWVsaW5lTWFu
YWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUgfHwgV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmlu
Z1N0YXRlID09PSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7CisK
KyAgICAgICAgdGhpcy5fdG9nZ2xlUmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQgPSAhZW5hYmxl
ZDsKKyAgICAgICAgdGhpcy5fdG9nZ2xlTmV3UmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQgPSAh
ZW5hYmxlZDsKKworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b24udG9nZ2xlZCA9IFdJLnRpbWVs
aW5lTWFuYWdlci5pc0NhcHR1cmluZygpOworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b24uZW5h
YmxlZCA9IGVuYWJsZWQ7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlTmF2aWdhdGlvbkJhckJ1dHRv
bnMoKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmYwMzM1MDFhNDQ2NTBlZDk2YmJhZThiYzcyZjc5OTNlNDIz
YjQ0Yi4uZmYxZDUyNTRiNTI1ZTg5MDQ3NDM3YTg2YzVkZTdlODU5MGM0Y2ZjYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE5LTA0LTExICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0
b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvdGltZWxpbmUvZGVidWdnZXItcGF1c2VkLXdoaWxlLXJlY29yZGluZy5odG1sOgorICAgICAg
ICAqIGluc3BlY3Rvci90aW1lbGluZS9leGNlcHRpb24taW4taW5qZWN0ZWQtc2NyaXB0LXdoaWxl
LXJlY29yZGluZy5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS9saW5lLWNvbHVt
bi5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS9yZWNvcmRpbmctc3RhcnQtc3Rv
cC10aW1lc3RhbXBzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNl
cy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanM6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVs
aW5lL3NldEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLmh0bWw6CisgICAgICAgICog
aW5zcGVjdG9yL3RpbWVsaW5lL3NldEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjb3Jk
aW5nLmh0bWw6CisKIDIwMTktMDQtMTEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIExheW91dCB0ZXN0IGFjY2Vzc2liaWxpdHkvYXJp
YS1oaWRkZW4tZmFsc2Utd29ya3MtaW4tc3VidHJlZXMuaHRtbCBmYWlscyBhZnRlciByMTg0ODkw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZGVidWdnZXItcGF1
c2VkLXdoaWxlLXJlY29yZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbAppbmRleCA3Y2Y2OGI0YmYyYTMw
MTY4ZGI0MGYzMjNmNzRlZDUwMDUwMGYwNGQ1Li45MTVhYjA5YmQ5MzI5NGMwYjMyZGEzOTVjYTUz
Yzg1OTc0NjIxYjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
ZGVidWdnZXItcGF1c2VkLXdoaWxlLXJlY29yZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9kZWJ1Z2dlci1wYXVzZWQtd2hpbGUtcmVjb3JkaW5nLmh0bWwKQEAg
LTU0LDcgKzU0LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIH0pOwogCiAgICAgLy8gV2hlbiB0
aW1lbGluZSBjYXB0dXJpbmcgc3RvcHMsIGluc3BlY3QgdGhlIHJlc3VsdGluZyB0aW1lbGluZSBy
ZWNvcmRzIGZvciBhIHByb2ZpbGUuCi0gICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIGZ1bmN0aW9u
KGV2ZW50KSB7CisgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgKGV2ZW50KSA9PiB7Cisg
ICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgIT09IFdJLlRpbWVs
aW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkKKyAgICAgICAgICAgIHJldHVybjsK
KwogICAgICAgICB2YXIgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29y
ZGluZzsKICAgICAgICAgdmFyIHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5n
ZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOwogICAgICAgICBjb25zb2xlLmFzc2Vy
dChzY3JpcHRUaW1lbGluZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13aGlsZS1yZWNvcmRpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9leGNlcHRpb24taW4taW5qZWN0ZWQtc2Ny
aXB0LXdoaWxlLXJlY29yZGluZy5odG1sCmluZGV4IDM4MTgyMGI1MjQzNDIyOGNlMjliZjYxMzYy
NDU3MDk4NjdmOWYzNGEuLjFiNTJiYzAyYTY0OTg1OGFhZWI0YWRiNmYwNzFjZDM1ZjEwZjExMzMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9leGNlcHRpb24taW4t
aW5qZWN0ZWQtc2NyaXB0LXdoaWxlLXJlY29yZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9leGNlcHRpb24taW4taW5qZWN0ZWQtc2NyaXB0LXdoaWxlLXJlY29y
ZGluZy5odG1sCkBAIC02MCw3ICs2MCwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB9CiAKICAg
ICAvLyBXaGVuIHRpbWVsaW5lIGNhcHR1cmluZyBzdG9wcywgaW5zcGVjdCB0aGUgcmVzdWx0aW5n
IHRpbWVsaW5lIHJlY29yZHMgZm9yIGEgcHJvZmlsZS4KLSAgICBXSS50aW1lbGluZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBl
ZCwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSAh
PT0gV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZlKQorICAgICAgICAg
ICAgcmV0dXJuOworCiAgICAgICAgIHZhciByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIu
YWN0aXZlUmVjb3JkaW5nOwogICAgICAgICB2YXIgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcu
dGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CiAgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHNjcmlwdFRpbWVsaW5lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9saW5lLWNvbHVtbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL2xpbmUtY29sdW1uLmh0bWwKaW5kZXggOGY3YzQ3YjQ2NGYyM2FlZTlmZjRkMDZk
ZGNmNDk5N2M4OWIyNjU4Mi4uNTVjNWM1N2RhOTFhNDVlNThhMzNjMWZiMjU1ZTc5YTNkZWE1MzA4
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2xpbmUtY29sdW1u
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2xpbmUtY29sdW1uLmh0
bWwKQEAgLTc3LDExICs3NywxMSBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgICAgICAgICAgICAg
ICAgICBQcm90b2NvbFRlc3QubG9nKEpTT04uc3RyaW5naWZ5KGV2ZW50LnBhcmFtcy5yZWNvcmQs
IHJlcGxhY2VyLCAyKSk7CiAgICAgICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgICAgICBo
YW5kbGVFdmVudCgiVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQiLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgaGFuZGxlRXZlbnQoIlRpbWVsaW5lLnJlY29yZGluZ1N0YXJ0ZWQi
LCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJDYXB0dXJp
bmcgc3RhcnRlZC4iKTsKICAgICAgICAgICAgICAgICB9KTsKIAotICAgICAgICAgICAgICAgIGhh
bmRsZUV2ZW50KCJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsICgpID0+IHsK
KyAgICAgICAgICAgICAgICBoYW5kbGVFdmVudCgiVGltZWxpbmUucmVjb3JkaW5nU3RvcHBlZCIs
ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgUHJvdG9jb2xUZXN0LnBhc3MoIkNhcHR1cmlu
ZyBzdG9wcGVkLiIpOwogCiAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGV2ZW50TmFtZSBv
ZiBldmVudE5hbWVzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3JlY29yZGluZy1zdGFydC1zdG9wLXRpbWVzdGFtcHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS9yZWNvcmRpbmctc3RhcnQtc3RvcC10aW1lc3RhbXBzLmh0bWwKaW5kZXgg
ZmQxNTliMzg1ODhmYTBkZWI3YzZhZGNhYWY3ZjI0OTA2NjgxZDk1OS4uYmVlMDUxZDVkNWI5MWQ5
NWU0YjQwYjM4MzM3ZTk4NmQ3ZjM0NjYyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3JlY29yZGluZy1zdGFydC1zdG9wLXRpbWVzdGFtcHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVjb3JkaW5nLXN0YXJ0LXN0b3AtdGltZXN0
YW1wcy5odG1sCkBAIC0xMywzOSArMTMsNDMgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIElu
c3BlY3RvclRlc3QubG9nKChjb25kaXRpb24gPyAiUEFTUyIgOiAiRkFJTCIpICsgIjogIiArIG1l
c3NhZ2UpOwogICAgIH0KIAotICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCBmdW5jdGlvbihldmVu
dCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgZXZlbnQuZGF0YS5zdGFy
dFRpbWUgPT09ICJudW1iZXIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQu
ZGF0YS5zdGFydFRpbWUgPiAwKTsKKyAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSA9
PT0gV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkFjdGl2ZSkgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRhdGEuc3RhcnRUaW1lID09PSAi
bnVtYmVyIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5kYXRhLnN0
YXJ0VGltZSA+IDApOwogCi0gICAgICAgIGlmIChpc05hTihyZWNvcmRpbmdTdGFydFRpbWUpKSB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUEFTUzogMXN0IENhcHR1cmluZ1N0YXJ0
ZWQgaGFkIHN0YXJ0VGltZSIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5zdGFydFRpbWUgPiByZWNvcmRpbmdTdGFydFRpbWUs
ICJGQUlMOiAybmQgQ2FwdHVyaW5nU3RhcnRlZCBzaG91bGQgYmUgPiAxc3QgQ2FwdHVyaW5nU3Rh
cnRlZCIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJp
bmdTdGFydGVkIGhhZCBzdGFydFRpbWUgPiAxc3QgQ2FwdHVyaW5nU3RhcnRlZCIpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5zdGFydFRpbWUgPiByZWNvcmRp
bmdFbmRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hvdWxkIGJlID4gMXN0IENh
cHR1cmluZ1N0b3BwZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAy
bmQgQ2FwdHVyaW5nU3RhcnRlZCBoYWQgc3RhcnRUaW1lID4gMXN0IENhcHR1cmluZ1N0b3BwZWQi
KTsKKyAgICAgICAgICAgIGlmIChpc05hTihyZWNvcmRpbmdTdGFydFRpbWUpKSB7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBDYXB0dXJpbmdTdGFydGVkIGhh
ZCBzdGFydFRpbWUiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5zdGFydFRpbWUgPiByZWNvcmRpbmdTdGFydFRp
bWUsICJGQUlMOiAybmQgQ2FwdHVyaW5nU3RhcnRlZCBzaG91bGQgYmUgPiAxc3QgQ2FwdHVyaW5n
U3RhcnRlZCIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAybmQg
Q2FwdHVyaW5nU3RhcnRlZCBoYWQgc3RhcnRUaW1lID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5kYXRhLnN0YXJ0VGlt
ZSA+IHJlY29yZGluZ0VuZFRpbWUsICJGQUlMOiAybmQgQ2FwdHVyaW5nU3RhcnRlZCBzaG91bGQg
YmUgPiAxc3QgQ2FwdHVyaW5nU3RvcHBlZCIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJQQVNTOiAybmQgQ2FwdHVyaW5nU3RhcnRlZCBoYWQgc3RhcnRUaW1lID4gMXN0IENh
cHR1cmluZ1N0b3BwZWQiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVjb3JkaW5n
U3RhcnRUaW1lID0gZXZlbnQuZGF0YS5zdGFydFRpbWU7CisgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAotICAgICAgICByZWNvcmRpbmdTdGFydFRpbWUgPSBldmVudC5kYXRhLnN0YXJ0
VGltZTsKLSAgICB9KTsKKyAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJpbmdT
dGF0ZSA9PT0gV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZlKSB7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgZXZlbnQuZGF0YS5lbmRUaW1l
ID09PSAibnVtYmVyIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5k
YXRhLmVuZFRpbWUgPiAwKTsKIAotICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCBmdW5jdGlvbihl
dmVudCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgZXZlbnQuZGF0YS5l
bmRUaW1lID09PSAibnVtYmVyIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50
LmRhdGEuZW5kVGltZSA+IDApOworICAgICAgICAgICAgaWYgKGlzTmFOKHJlY29yZGluZ0VuZFRp
bWUpKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBDYXB0
dXJpbmdTdG9wcGVkIGhhZCBlbmRUaW1lIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnQoZXZlbnQuZGF0YS5lbmRUaW1lID4gcmVjb3JkaW5nU3RhcnRUaW1lLCAiRkFJTDog
MXN0IENhcHR1cmluZ1N0b3BwZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUEFTUzogMXN0IENhcHR1cmluZ1N0
b3BwZWQgaGFkIGVuZFRpbWUgPiAxc3QgQ2FwdHVyaW5nU3RhcnRlZCIpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5kYXRh
LmVuZFRpbWUgPiByZWNvcmRpbmdFbmRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0b3BwZWQg
c2hvdWxkIGJlID4gMXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiUEFTUzogMm5kIENhcHR1cmluZ1N0b3BwZWQgaGFkIGVuZFRpbWUgPiAx
c3QgQ2FwdHVyaW5nU3RvcHBlZCIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0KGV2ZW50LmRhdGEuZW5kVGltZSA+IHJlY29yZGluZ1N0YXJ0VGltZSwgIkZBSUw6IDJuZCBD
YXB0dXJpbmdTdG9wcGVkIHNob3VsZCBiZSA+IDJuZCBDYXB0dXJpbmdTdGFydGVkIik7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJpbmdTdG9wcGVk
IGhhZCBlbmRUaW1lID4gMm5kIENhcHR1cmluZ1N0YXJ0ZWQiKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgfQogCi0gICAgICAgIGlm
IChpc05hTihyZWNvcmRpbmdFbmRUaW1lKSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlBBU1M6IDFzdCBDYXB0dXJpbmdTdG9wcGVkIGhhZCBlbmRUaW1lIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5kYXRhLmVuZFRpbWUgPiByZWNvcmRpbmdTdGFy
dFRpbWUsICJGQUlMOiAxc3QgQ2FwdHVyaW5nU3RvcHBlZCBzaG91bGQgYmUgPiAxc3QgQ2FwdHVy
aW5nU3RhcnRlZCIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBD
YXB0dXJpbmdTdG9wcGVkIGhhZCBlbmRUaW1lID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRh
dGEuZW5kVGltZSA+IHJlY29yZGluZ0VuZFRpbWUsICJGQUlMOiAybmQgQ2FwdHVyaW5nU3RvcHBl
ZCBzaG91bGQgYmUgPiAxc3QgQ2FwdHVyaW5nU3RvcHBlZCIpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJpbmdTdG9wcGVkIGhhZCBlbmRUaW1lID4gMXN0
IENhcHR1cmluZ1N0b3BwZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2
ZW50LmRhdGEuZW5kVGltZSA+IHJlY29yZGluZ1N0YXJ0VGltZSwgIkZBSUw6IDJuZCBDYXB0dXJp
bmdTdG9wcGVkIHNob3VsZCBiZSA+IDJuZCBDYXB0dXJpbmdTdGFydGVkIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmxvZygiUEFTUzogMm5kIENhcHR1cmluZ1N0b3BwZWQgaGFkIGVuZFRp
bWUgPiAybmQgQ2FwdHVyaW5nU3RhcnRlZCIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJlY29yZGluZ0VuZFRpbWUgPSBldmVudC5kYXRh
LmVuZFRpbWU7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLQotICAgICAgICByZWNv
cmRpbmdFbmRUaW1lID0gZXZlbnQuZGF0YS5lbmRUaW1lOwogICAgIH0pOwogCiAgICAgVGltZWxp
bmVBZ2VudC5zdGFydCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCmlu
ZGV4IGIwZTQxMjc2M2VkOWE5OWYwMmExZWFlNTYzN2Q2YjgzZmExNjQ4ODEuLmI3Y2ZmZWZmNjU1
Yzg0M2ZiMTUwOTNlZDJhZGJiNmE2YTVkM2NhYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZl
bnQtdXRpbGl0aWVzLmpzCkBAIC0xMCwzNCArMTAsNDAgQEAgVGVzdFBhZ2UucmVnaXN0ZXJJbml0
aWFsaXplcigoKSA9PiB7CiAKICAgICAgICAgbGV0IHByb21pc2UgPSBuZXcgV0kuV3JhcHBlZFBy
b21pc2U7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuVGltZWxp
bmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQpLnRoZW4oKGNhcHR1cmluZ1N0b3BwZWRF
dmVudCkgPT4gewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQocGFnZVJlY29yZGlu
Z0RhdGEsICJzYXZlUGFnZURhdGEgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQgaW4gdGhlIHBhZ2Ug
YmVmb3JlIGNhcHR1cmluZyB3YXMgc3RvcHBlZC4iKTsKLSAgICAgICAgICAgIHByb21pc2UucmVz
b2x2ZShwYWdlUmVjb3JkaW5nRGF0YSk7CisgICAgICAgIGxldCBsaXN0ZW5lciA9IFdJLnRpbWVs
aW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0
dXJpbmdTdGF0ZUNoYW5nZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgaWYgKFdJLnRpbWVs
aW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSA9PT0gV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmlu
Z1N0YXRlLkFjdGl2ZSkgeworICAgICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1l
bGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRU
aW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUu
U2NyaXB0KTsKKworICAgICAgICAgICAgICAgIGxldCByZWNvcmRBZGRlZExpc3RlbmVyID0gc2Ny
aXB0VGltZWxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRl
ZCwgKHJlY29yZEFkZGVkRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IHtyZWNv
cmR9ID0gcmVjb3JkQWRkZWRFdmVudC5kYXRhOworICAgICAgICAgICAgICAgICAgICBpZiAocmVj
b3JkLmV2ZW50VHlwZSAhPT0gZXZlbnRUeXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgICAgICAgICAgICAgIHNjcmlwdFRpbWVsaW5lLnJlbW92ZUV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRkZWQsIHJlY29yZEFkZGVkTGlzdGVuZXIp
OworCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTdG9wcGluZyBDYXB0
dXJlLi4uIik7CisgICAgICAgICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdG9wQ2Fw
dHVyaW5nKCk7CisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmxvZygiRXZhbHVhdGluZy4uLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbikKKyAgICAgICAgICAgICAgICAuY2F0Y2gocHJv
bWlzZS5yZWplY3QpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJpbmdTdGF0ZSA9PT0gV0ku
VGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZlKSB7CisgICAgICAgICAgICAg
ICAgV0kudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5h
Z2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgbGlzdGVuZXIpOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBhZ2VSZWNvcmRpbmdEYXRhLCAic2F2ZVBhZ2VEYXRh
IHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGluIHRoZSBwYWdlIGJlZm9yZSBjYXB0dXJpbmcgd2Fz
IHN0b3BwZWQuIik7CisgICAgICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHBhZ2VSZWNvcmRp
bmdEYXRhKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAg
IH0pOwogCiAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiU2F2ZVBhZ2VEYXRhIiku
dGhlbigoZXZlbnQpID0+IHsKICAgICAgICAgICAgIHBhZ2VSZWNvcmRpbmdEYXRhID0gZXZlbnQu
ZGF0YTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmF3YWl0RXZl
bnQoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXJ0ZWQpLnRoZW4oKGNhcHR1
cmluZ1N0YXJ0ZWRFdmVudCkgPT4gewotICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRp
bWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7Ci0gICAgICAgICAgICBsZXQgc2NyaXB0VGlt
ZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNj
cmlwdCk7Ci0KLSAgICAgICAgICAgIGxldCByZWNvcmRBZGRlZExpc3RlbmVyID0gc2NyaXB0VGlt
ZWxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgKHJl
Y29yZEFkZGVkRXZlbnQpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQge3JlY29yZH0gPSByZWNv
cmRBZGRlZEV2ZW50LmRhdGE7Ci0gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5ldmVudFR5cGUg
IT09IGV2ZW50VHlwZSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAg
ICAgICAgc2NyaXB0VGltZWxpbmUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZS5FdmVu
dC5SZWNvcmRBZGRlZCwgcmVjb3JkQWRkZWRMaXN0ZW5lcik7Ci0KLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiU3RvcHBpbmcgQ2FwdHVyZS4uLiIpOwotICAgICAgICAgICAgICAg
IFdJLnRpbWVsaW5lTWFuYWdlci5zdG9wQ2FwdHVyaW5nKCk7Ci0gICAgICAgICAgICB9KTsKLQot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkV2YWx1YXRpbmcuLi4iKTsKLSAgICAgICAg
ICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24pOwotICAg
ICAgICB9KTsKLQogICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RhcnRpbmcgQ2FwdHVyZS4u
LiIpOwogICAgICAgICBjb25zdCBuZXdSZWNvcmRpbmcgPSB0cnVlOwogICAgICAgICBXSS50aW1l
bGluZU1hbmFnZXIuc3RhcnRDYXB0dXJpbmcobmV3UmVjb3JkaW5nKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMt
Y2FwdHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0
SW5zdHJ1bWVudHMtcHJvZ3JhbW1hdGljLWNhcHR1cmUtZXhwZWN0ZWQudHh0CmluZGV4IDk0MjZi
ZWM4M2M2MjU2M2FmODg5OWYxYmQxMjBjNTQzMDMzYTUyOWQuLjAwNTVjNDQ0MjBmMDMxMjM2MjY5
ODg1ZDQ0NzFkZTU3ZTNjOGI5ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3NldEluc3RydW1lbnRzLXByb2dy
YW1tYXRpYy1jYXB0dXJlLWV4cGVjdGVkLnR4dApAQCAtNywyMCArNywyMCBAQCBUZXN0cyBwcm9n
cmFtbWF0aWMgY2FwdHVyZSAoY29uc29sZS5wcm9maWxlL3Byb2ZpbGVFbmQpIGF1dG9tYXRpY2Fs
bHkgc3RhcnRzIGlucwogPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBUaW1lbGluZS5zZXRJbnN0cnVt
ZW50cy5wcm9ncmFtbWF0aWMtY2FwdHVyZQogLS0gUnVubmluZyB0ZXN0IGNhc2U6IE5vSW5zdHJ1
bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlCiBQQVNTOiBTaG91bGQgbm90IGJlIGFuIGVycm9yIHNl
dHRpbmcgdmFsaWQgaW5zdHJ1bWVudHMuCi1QQVNTOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZAogUEFTUzogU2NyaXB0UHJvZmlsZXIuc3RhcnRUcmFja2luZwotUEFTUzogVGlt
ZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQKK1BBU1M6IFRpbWVsaW5lLnJlY29yZGlu
Z1N0YXJ0ZWQKK1BBU1M6IFRpbWVsaW5lLnJlY29yZGluZ1N0b3BwZWQKIAogLS0gUnVubmluZyB0
ZXN0IGNhc2U6IE11bHRpcGxlSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlCiBQQVNTOiBT
aG91bGQgbm90IGJlIGFuIGVycm9yIHNldHRpbmcgdmFsaWQgaW5zdHJ1bWVudHMuCi1QQVNTOiBU
aW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZAogUEFTUzogU2NyaXB0UHJvZmlsZXIu
c3RhcnRUcmFja2luZworUEFTUzogVGltZWxpbmUucmVjb3JkaW5nU3RhcnRlZAogUEFTUzogSGVh
cC50cmFja2luZ1N0YXJ0Ci1QQVNTOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBl
ZAorUEFTUzogVGltZWxpbmUucmVjb3JkaW5nU3RvcHBlZAogCiAtLSBSdW5uaW5nIHRlc3QgY2Fz
ZTogTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1cmVBZ2FpbgogUEFTUzogU2hvdWxkIG5v
dCBiZSBhbiBlcnJvciBzZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLgotUEFTUzogVGltZWxpbmUu
cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQKIFBBU1M6IFNjcmlwdFByb2ZpbGVyLnN0YXJ0VHJh
Y2tpbmcKLVBBU1M6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkCitQQVNTOiBU
aW1lbGluZS5yZWNvcmRpbmdTdGFydGVkCitQQVNTOiBUaW1lbGluZS5yZWNvcmRpbmdTdG9wcGVk
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVt
ZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3NldEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLmh0bWwKaW5kZXggOTNl
OWUxNWY0ZmJiY2I4ZTBmMDBkYTEzOGFiMjQyYzI3ZWM1NTk3NC4uMDVmYTdhZDZiNGVjN2I1MzY3
NjNhMDFiOWEwYjBjMDcyMjIxMGIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3NldEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3NldEluc3RydW1lbnRzLXByb2dyYW1tYXRp
Yy1jYXB0dXJlLmh0bWwKQEAgLTE0LDE2ICsxNCwxNiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBs
ZXQgc3VpdGUgPSBQcm90b2NvbFRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmUuc2V0SW5z
dHJ1bWVudHMucHJvZ3JhbW1hdGljLWNhcHR1cmUiKTsKIAogICAgIGxldCBoZWFwRXhwZWN0ZWQg
PSBmYWxzZTsKLSAgICBsZXQgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQgPSBudWxsOworICAg
IGxldCBjYXB0dXJlU3RvcHBlZCA9IG51bGw7CiAKICAgICBJbnNwZWN0b3JQcm90b2NvbC5zZW5k
Q29tbWFuZCgiSGVhcC5lbmFibGUiKTsKIAotICAgIEluc3BlY3RvclByb3RvY29sLmV2ZW50SGFu
ZGxlclsiVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQiXSA9ICgpID0+IHsKLSAg
ICAgICAgUHJvdG9jb2xUZXN0LnBhc3MoIlRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFy
dGVkIik7CisgICAgSW5zcGVjdG9yUHJvdG9jb2wuZXZlbnRIYW5kbGVyWyJUaW1lbGluZS5yZWNv
cmRpbmdTdGFydGVkIl0gPSAoKSA9PiB7CisgICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJUaW1l
bGluZS5yZWNvcmRpbmdTdGFydGVkIik7CiAgICAgfTsKLSAgICBJbnNwZWN0b3JQcm90b2NvbC5l
dmVudEhhbmRsZXJbIlRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkIl0gPSAoKSA9
PiB7Ci0gICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZCIpOwotICAgICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOworICAg
IEluc3BlY3RvclByb3RvY29sLmV2ZW50SGFuZGxlclsiVGltZWxpbmUucmVjb3JkaW5nU3RvcHBl
ZCJdID0gKCkgPT4geworICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiVGltZWxpbmUucmVjb3Jk
aW5nU3RvcHBlZCIpOworICAgICAgICBjYXB0dXJlU3RvcHBlZCgpOwogICAgIH07CiAKICAgICBJ
bnNwZWN0b3JQcm90b2NvbC5ldmVudEhhbmRsZXJbIlNjcmlwdFByb2ZpbGVyLnRyYWNraW5nU3Rh
cnQiXSA9ICgpID0+IHsKQEAgLTQxLDcgKzQxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAg
IG5hbWU6ICJOb0luc3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZSIsCiAgICAgICAgIHRlc3Qo
cmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBoZWFwRXhwZWN0ZWQgPSBmYWxzZTsKLSAg
ICAgICAgICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkID0gcmVzb2x2ZTsKKyAgICAgICAg
ICAgIGNhcHR1cmVTdG9wcGVkID0gcmVzb2x2ZTsKIAogICAgICAgICAgICAgSW5zcGVjdG9yUHJv
dG9jb2wuc2VuZENvbW1hbmQoIlRpbWVsaW5lLnNldEluc3RydW1lbnRzIiwge2luc3RydW1lbnRz
OiBbXX0sIChtZXNzYWdlT2JqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgUHJvdG9jb2xUZXN0
LmV4cGVjdFRoYXQoIW1lc3NhZ2VPYmplY3QuZXJyb3IsICJTaG91bGQgbm90IGJlIGFuIGVycm9y
IHNldHRpbmcgdmFsaWQgaW5zdHJ1bWVudHMuIik7CkBAIC01NCw3ICs1NCw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICBuYW1lOiAiTXVsdGlwbGVJbnN0cnVtZW50c1Byb2dyYW1tYXRpY0Nh
cHR1cmUiLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgaGVh
cEV4cGVjdGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVk
ID0gcmVzb2x2ZTsKKyAgICAgICAgICAgIGNhcHR1cmVTdG9wcGVkID0gcmVzb2x2ZTsKIAogICAg
ICAgICAgICAgSW5zcGVjdG9yUHJvdG9jb2wuc2VuZENvbW1hbmQoIlRpbWVsaW5lLnNldEluc3Ry
dW1lbnRzIiwge2luc3RydW1lbnRzOiBbIlNjcmlwdFByb2ZpbGVyIiwgIkhlYXAiXX0sIChtZXNz
YWdlT2JqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgUHJvdG9jb2xUZXN0LmV4cGVjdFRoYXQo
IW1lc3NhZ2VPYmplY3QuZXJyb3IsICJTaG91bGQgbm90IGJlIGFuIGVycm9yIHNldHRpbmcgdmFs
aWQgaW5zdHJ1bWVudHMuIik7CkBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICBuYW1lOiAiTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1cmVBZ2FpbiIsCiAgICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBoZWFwRXhwZWN0ZWQgPSB0
cnVlOwotICAgICAgICAgICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQgPSByZXNvbHZlOwor
ICAgICAgICAgICAgY2FwdHVyZVN0b3BwZWQgPSByZXNvbHZlOwogCiAgICAgICAgICAgICBJbnNw
ZWN0b3JQcm90b2NvbC5zZW5kQ29tbWFuZCgiVGltZWxpbmUuc2V0SW5zdHJ1bWVudHMiLCB7aW5z
dHJ1bWVudHM6IFtdfSwgKG1lc3NhZ2VPYmplY3QpID0+IHsKICAgICAgICAgICAgICAgICBQcm90
b2NvbFRlc3QuZXhwZWN0VGhhdCghbWVzc2FnZU9iamVjdC5lcnJvciwgIlNob3VsZCBub3QgYmUg
YW4gZXJyb3Igc2V0dGluZyB2YWxpZCBpbnN0cnVtZW50cy4iKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNvcmRpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNvcmRpbmcuaHRtbAppbmRleCA5
NGYxODIxZjExYmYxMWViNjRmOWViYWRiMjQxNTEyMjQ0NGRmM2JjLi4xMGMxMzg0Y2ZhNjg0N2Ni
OWM0OWYwYzRhOWY0NDdhOWJjNzRkZDBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjb3JkaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXJlY29yZGluZy5odG1sCkBAIC0xMyw2ICsxMywxOCBA
QCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIlRpbWVsaW5lUmVjb3JkaW5nLkJhc2lj
IiwKICAgICAgICAgZGVzY3JpcHRpb246ICJNYWtlIGEgYmFzaWMgVGltZWxpbmUgcmVjb3JkaW5n
LiIsCiAgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBhc3luYyBmdW5jdGlvbiBh
d2FpdENhcHR1cmluZ1N0YXRlKGNhcHR1cmluZ1N0YXRlKSB7CisgICAgICAgICAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgICAgICAgICAg
ICAgbGV0IGxpc3RlbmVyID0gV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0ku
VGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgKGV2ZW50KSA9PiB7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmlu
Z1N0YXRlICE9PSBjYXB0dXJpbmdTdGF0ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1v
dmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNo
YW5nZWQsIGxpc3RlbmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
CisKICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZl
UmVjb3JkaW5nOwogCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiTG9hZGVkIik7CkBA
IC0yNSw3ICszNyw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiU3RhcnQiKTsKICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdGFydENh
cHR1cmluZygpOwotICAgICAgICAgICAgYXdhaXQgV0kudGltZWxpbmVNYW5hZ2VyLmF3YWl0RXZl
bnQoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXJ0ZWQpOworCisgICAgICAg
ICAgICBhd2FpdCBhd2FpdENhcHR1cmluZ1N0YXRlKFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJp
bmdTdGF0ZS5BY3RpdmUpOworCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRydWUo
V0kudGltZWxpbmVNYW5hZ2VyLmlzQ2FwdHVyaW5nKCksICJUaW1lbGluZU1hbmFnZXIgc2hvdWxk
IGJlIGNhcHR1cmluZy4iKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
V0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZywgcmVjb3JkaW5nLCAiVGltZWxpbmVN
YW5hZ2VyIGFjdGl2ZSByZWNvcmRpbmcgc2hvdWxkIG5vdCBoYXZlIGNoYW5nZWQuIik7CiAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRydWUocmVjb3JkaW5nLmNhcHR1cmluZywgIlRp
bWVsaW5lUmVjb3JkaW5nIHNob3VsZCBiZSBjYXB0dXJpbmcuIik7CkBAIC0zOSw2ICs1Myw5IEBA
IGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RvcCIp
OwogICAgICAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKKworICAg
ICAgICAgICAgYXdhaXQgYXdhaXRDYXB0dXJpbmdTdGF0ZShXSS5UaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuSW5hY3RpdmUpOworCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEZhbHNlKFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpLCAiVGltZWxpbmVNYW5hZ2Vy
IHNob3VsZCBub3QgYmUgY2FwdHVyaW5nLiIpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RGYWxzZShyZWNvcmRpbmcuY2FwdHVyaW5nLCAiVGltZWxpbmVSZWNvcmRpbmcgc2hvdWxk
IG5vdCBiZSBjYXB0dXJpbmcuIik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZh
bHNlKHJlY29yZGluZy5yZWFkb25seSwgIlRpbWVsaW5lUmVjb3JkaW5nIHNob3VsZCBub3QgYmUg
cmVhZG9ubHkuIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367235</attachid>
            <date>2019-04-11 13:19:54 -0700</date>
            <delta_ts>2019-04-11 13:26:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196778-20190411131953.patch</filename>
            <type>text/plain</type>
            <size>91841</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY0MjgzNmU0ZjhiMWJkYzYyMDQxMmZlMTJjMGQx
MmYzOWE0Y2E4NzAuLmQ3OTQyYTkyNzA5NzM5OTkxYjE5Y2U5ZTQ5NjExZjhmNGJlNzE4NmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA0LTExICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBU
aW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvU2NyaXB0UHJvZmlsZXIuanNv
bjoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbjoKKyAgICAgICAg
SXQgaXMgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHdoZW4gcHJvZ3JhbW1hdGljIGNhcHR1cmluZyBz
dGFydHMvc3RvcHMgaW4gdGhlIGZyb250ZW5kIGJhc2VkCisgICAgICAgIG9uIHRoZSBzdGF0ZSB3
aGVuIHRoZSBiYWNrZW5kIGNhdXNlcyB0aGUgc3RhdGUgdG8gY2hhbmdlLCBzdWNoIGFzIGlmIHRo
ZSBzdGF0ZSBpcyAiaW5hY3RpdmUiCisgICAgICAgIHdoZW4gdGhlIGZyb250ZW5kIGlzIHRvbGQg
dGhhdCB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJpbmcuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvcHJvdG9jb2wvQ1BVUHJvZmlsZXIuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJv
dG9jb2wvTWVtb3J5Lmpzb246CisgICAgICAgIFNlbmQgYW4gZW5kIHRpbWVzdGFtcCB0byBtYXRj
aCBvdGhlciBpbnN0cnVtZW50cy4KKworICAgICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVj
dENvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQ6OnN0YXJ0Q29uc29sZVByb2ZpbGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnN0b3BDb25zb2xlUHJvZmlsZSk6CisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3Bw
OgorICAgICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojp0cmFj
a2luZ0NvbXBsZXRlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudDo6cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAo
SW5zcGVjdG9yOjpJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZCk6IERlbGV0ZWQuCisKIDIwMTktMDQtMTEgIFRydWl0dCBTYXZlbGwgIDx0c2F2
ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0MTU4
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGIwN2YxN2RhNmJjNTk4YzVlOTdmMjg0YWFiNWJjYWNlNjQ4NWIwOGEu
LjE2Njk4YjcwNDI5YTgyZmU1NDhhM2M2MGYzNmRhMWVkMDQzMTU1MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxOS0wNC0xMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVGltZWxpbmVzOiBjYW4ndCByZWxpYWJseSBz
dG9wL3N0YXJ0IGEgcmVjb3JkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTY3NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NjA2Nzk4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0UHJvZ3JhbW1hdGljQ2FwdHVyZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wUHJvZ3JhbW1hdGljQ2Fw
dHVyZSk6CisgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVybWluZSB3aGVuIHByb2dyYW1t
YXRpYyBjYXB0dXJpbmcgc3RhcnRzL3N0b3BzIGluIHRoZSBmcm9udGVuZCBiYXNlZAorICAgICAg
ICBvbiB0aGUgc3RhdGUgd2hlbiB0aGUgYmFja2VuZCBjYXVzZXMgdGhlIHN0YXRlIHRvIGNoYW5n
ZSwgc3VjaCBhcyBpZiB0aGUgc3RhdGUgaXMgImluYWN0aXZlIgorICAgICAgICB3aGVuIHRoZSBm
cm9udGVuZCBpcyB0b2xkIHRoYXQgdGhlIGJhY2tlbmQgaGFzIHN0YXJ0ZWQgY2FwdHVyaW5nLgor
CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ6OnN0b3BUcmFj
a2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZW1vcnlBZ2VudDo6c3RvcFRyYWNraW5n
KToKKyAgICAgICAgU2VuZCBhbiBlbmQgdGltZXN0YW1wIHRvIG1hdGNoIG90aGVyIGluc3RydW1l
bnRzLgorCiAyMDE5LTA0LTExICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0NDE1OC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCmluZGV4IDVhMDU4M2JmYTMzMzMxMmJjNjM0OTZmMTE0NTRiOTE1NWI0MGRkYzcuLmZm
OTg1ODc3OTcyZGJjYmYzN2Q4Yzk4ZjZiOWU5N2U4NjgyYjQyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAxOS0wNC0xMSAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVGltZWxpbmVzOiBjYW4n
dCByZWxpYWJseSBzdG9wL3N0YXJ0IGEgcmVjb3JkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY3NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ3NjA2Nzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJhdGhlciB0aGFuIGhhdmUgYSBiaW5hcnkgc3RhdGUgb2YgY2FwdHVyaW5nL25vdC1jYXB0
dXJpbmcsIHdlIHNob3VsZCB1c2UgYSBmb3VyIHN0YXRlOgorICAgICAgICAgMS4gaW5hY3RpdmUg
KHdoZW4gdGhlIGJhY2tlbmQgaGFzIHN0b3BwZWQgY2FwdHVyaW5nKQorICAgICAgICAgMi4gc3Rh
cnRpbmcgKHdoZW4gdGhlIGZyb250ZW5kIHJlcXVlc3RzIGNhcHR1cmluZyB0byBzdGFydCkKKyAg
ICAgICAgIDMuIGFjdGl2ZSAod2hlbiB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJpbmcp
CisgICAgICAgICA0LiBzdG9wcGluZyAod2hlbiB0aGUgZnJvbnRlbmQgcmVxdWVzdHMgY2FwdHVy
aW5nIHRvIHN0b3ApCisKKyAgICAgICAgQ2FwdHVyaW5nIGlzIGNvbnNpZGVyZWQgIm9uIiB3aGVu
IG5vdCBpbiBhbiAiaW5hY3RpdmUiIHN0YXRlLiBQcmV2ZW50IHRoZSBmcm9udGVuZCBmcm9tCisg
ICAgICAgIHN0YXJ0aW5nL3N0b3BwaW5nIGNhcHR1cmluZyB1bmxlc3Mgd2UncmUgaW4gYSAic3Rh
YmxlIiAoImluYWN0aXZlIiBvciAiYWN0aXZlIikgc3RhdGUsIG5vdCBhCisgICAgICAgICJ0cmFu
c2l0aW9uIiAoInN0YXJ0aW5nIiBvciAic3RvcHBpbmciKSBzdGF0ZS4KKworICAgICAgICBPbmUg
InNpZGUgZWZmZWN0IiBvZiB0aGlzIGNoYW5nZSBpcyB0aGF0IHNpbmNlIHRoZSBjYXB0dXJpbmcg
aXMgY29uc2lkZXJlZCBhY3RpdmUgdW50aWwgdGhlCisgICAgICAgIGJhY2tlbmQgaGFzIHN0b3Bw
ZWQgY2FwdHVyaW5nLCB3ZSB3aWxsIGNvbnRpbnVlIHRvIHByb2Nlc3MgcmVjb3JkcyBpbiB0aGUg
ZnJvbnRlbmQgZXZlbiBpZgorICAgICAgICB0aGUgZnJvbnRlbmQgaGFzIHJlcXVlc3RlZCB0byBz
dG9wIGNhcHR1cmluZy4gPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MjkwND4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgorICAgICAgICAo
V0kuVGltZWxpbmVNYW5hZ2VyKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5
cGUuZ2V0IGNhcHR1cmluZ1N0YXRlKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5
cGUuZ2V0IGFjdGl2ZVJlY29yZGluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlLnNldCBhdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOgorICAgICAgICAoV0kuVGltZWxpbmVN
YW5hZ2VyLnByb3RvdHlwZS5pc0NhcHR1cmluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLnN0YXJ0Q2FwdHVyaW5nKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdl
ci5wcm90b3R5cGUuc3RvcENhcHR1cmluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIu
cHJvdG90eXBlLnByb2Nlc3NKU09OKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90
b3R5cGUuY2FwdHVyaW5nU3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlLmNhcHR1cmluZ1N0b3BwZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5hdXRvQ2FwdHVyZVN0YXJ0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2Vy
LnByb3RvdHlwZS5ldmVudFJlY29yZGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5w
cm90b3R5cGUucGFnZURPTUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdJLlRp
bWVsaW5lTWFuYWdlci5wcm90b3R5cGUucGFnZUxvYWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuY3B1UHJvZmlsZXJUcmFja2luZ1VwZGF0ZWQpOgor
ICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5jcHVQcm9maWxlclRyYWNraW5n
Q29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUubWVtb3J5
VHJhY2tpbmdVcGRhdGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
bWVtb3J5VHJhY2tpbmdDb21wbGV0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5oZWFwVHJhY2tpbmdTdGFydGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdl
ci5wcm90b3R5cGUuaGVhcFRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5l
TWFuYWdlci5wcm90b3R5cGUuaGVhcFNuYXBzaG90QWRkZWQpOgorICAgICAgICAoV0kuVGltZWxp
bmVNYW5hZ2VyLnByb3RvdHlwZS5fdXBkYXRlQ2FwdHVyaW5nU3RhdGUpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX3Byb2Nlc3NSZWNvcmQpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc0V2ZW50KToKKyAgICAgICAg
KFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2xvYWROZXdSZWNvcmRpbmcpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fYWRkUmVjb3JkKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2F0dGVtcHRBdXRvQ2FwdHVyaW5nRm9yRnJhbWUp
OgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fbGVnYWN5QXR0ZW1wdFN0
YXJ0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5w
cm90b3R5cGUuX3N0b3BBdXRvUmVjb3JkaW5nU29vbik6CisgICAgICAgIChXSS5UaW1lbGluZU1h
bmFnZXIucHJvdG90eXBlLl9yZXNldEF1dG9SZWNvcmRpbmdEZWFkVGltZVRpbWVvdXQpOgorICAg
ICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcmVzb3VyY2VXYXNBZGRlZCk6Cisg
ICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9nYXJiYWdlQ29sbGVjdGVkKToK
KyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX21lbW9yeVByZXNzdXJlKToK
KyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lc0F1
dG9TdG9wU2V0dGluZ0NoYW5nZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3Rv
dHlwZS5zY3JpcHRQcm9maWxlclRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVs
aW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQpOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlRE9NTm9kZUxvd1Bvd2VyQ2hh
bmdlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnVubG9hZFJlY29y
ZGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnBy
b2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5l
TWFuYWdlci5wcm90b3R5cGUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQpOiBEZWxldGVkLgor
ICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHRQcm9maWxlclByb2dy
YW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5lTWFu
YWdlci5wcm90b3R5cGUuc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCk6
IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2Zp
bGVyT2JzZXJ2ZXIuanM6CisgICAgICAgIChXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyLnByb3Rv
dHlwZS50cmFja2luZ0NvbXBsZXRlKToKKyAgICAgICAgKFdJLlNjcmlwdFByb2ZpbGVyT2JzZXJ2
ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKToKKyAgICAgICAgKFdJLlNj
cmlwdFByb2ZpbGVyT2JzZXJ2ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVk
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanM6
CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9n
cmFtbWF0aWNDYXB0dXJlU3RvcHBlZCk6CisgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGRldGVy
bWluZSB3aGVuIHByb2dyYW1tYXRpYyBjYXB0dXJpbmcgc3RhcnRzL3N0b3BzIGluIHRoZSBmcm9u
dGVuZCBiYXNlZAorICAgICAgICBvbiB0aGUgc3RhdGUgd2hlbiB0aGUgYmFja2VuZCBjYXVzZXMg
dGhlIHN0YXRlIHRvIGNoYW5nZSwgc3VjaCBhcyBpZiB0aGUgc3RhdGUgaXMgImluYWN0aXZlIgor
ICAgICAgICB3aGVuIHRoZSBmcm9udGVuZCBpcyB0b2xkIHRoYXQgdGhlIGJhY2tlbmQgaGFzIHN0
YXJ0ZWQgY2FwdHVyaW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQ
cm9maWxlck9ic2VydmVyLmpzOgorICAgICAgICAoV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci5wcm90
b3R5cGUudHJhY2tpbmdDb21wbGV0ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9NZW1vcnlPYnNlcnZlci5qczoKKyAgICAgICAgKFdJLk1lbW9yeU9ic2VydmVyLnByb3RvdHlw
ZS50cmFja2luZ0NvbXBsZXRlKToKKyAgICAgICAgU2VuZCBhbiBlbmQgdGltZXN0YW1wIHRvIG1h
dGNoIG90aGVyIGluc3RydW1lbnRzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9EZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlck1hbmFnZXIpOgor
ICAgICAgICAoV0kuRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVDYXB0
dXJpbmdTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyTWFuYWdlci5w
cm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdJLkRlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZCk6
IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRGVmYXVsdERhc2hib2Fy
ZC5qczoKKyAgICAgICAgKFdJLkRlZmF1bHREYXNoYm9hcmQpOgorICAgICAgICAoV0kuRGVmYXVs
dERhc2hib2FyZC5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2Vk
KTogQWRkZWQuCisgICAgICAgIChXSS5EZWZhdWx0RGFzaGJvYXJkLnByb3RvdHlwZS5fY2FwdHVy
aW5nU3RvcHBlZCk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1
Z2dlclNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsKToK
KyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGltZWxp
bmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5fdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQpOiBEZWxldGVk
LgorICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLl90aW1lbGluZUNh
cHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2
aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTog
QWRkZWQuCisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5
cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGltZWxp
bmVDYXB0dXJpbmdTdG9wcGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3KToK
KyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVUaW1lbGluZUNh
cHR1cmluZ1N0YXRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5q
czoKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcpOgorICAgICAgICAo
V0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5l
Q2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fcmVjb3JkaW5nVW5sb2FkZWQpOgorICAgICAgICAo
V0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0YXJ0
ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5w
cm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlRpbWVs
aW5lVGFiQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmlldy5w
cm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisg
ICAgICAgIChXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY2FwdHVyaW5nU3Rh
cnRlZE9yU3RvcHBlZCk6IERlbGV0ZWQuCisgICAgICAgIFVzZSB0aGUgbmV3IHNpbmdsZSBldmVu
dCBmb3IgYWxsIFRpbWVsaW5lcyBjYXB0dXJlIHN0YXRlIGNoYW5nZXMuCisgICAgICAgIFByZXZl
bnQgdGhlIHJlY29yZCBidXR0b24gZnJvbSBiZWluZyBjbGlja2VkIHdoZW4gY2FwdHVyaW5nIGlz
IGluIGEgdHJhbnNpdGlvbiBzdGF0ZS4KKwogMjAxOS0wNC0xMSAgVHJ1aXR0IFNhdmVsbCAgPHRz
YXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDQx
NTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0Q29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAKaW5kZXggZDFiZDM5MTIzYThmZDFiYTRh
ZGUzNWZhODYwNmUwODEwMzNjOWUzYi4uMGNkOTIyN2Q5ZjhkNzUxM2RhMDM1YWVlYTRhMGZiMzg2
M2YxODE0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcApAQCAtMTIxLDEwICsxMjEs
NiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6c3RhcnRDb25zb2xlUHJvZmls
ZSgpCiB7CiAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwogCi0gICAgLy8gRklYTUU6IDxodHRwczov
L3dlYmtpdC5vcmcvYi8xNTg3NTM+IEdlbmVyYWxpemUgdGhlIGNvbmNlcHQgb2YgSW5zdHJ1bWVu
dHMgb24gdGhlIGJhY2tlbmQgdG8gd29yayBlcXVhbGx5IGZvciBKU0NvbnRleHQgYW5kIFdlYiBp
bnNwZWN0aW9uCi0gICAgaWYgKG1fc2NyaXB0UHJvZmlsZXJBZ2VudCkKLSAgICAgICAgbV9zY3Jp
cHRQcm9maWxlckFnZW50LT5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOwotCiAgICAgaWYg
KG1fZGVidWdnZXJBZ2VudCkgewogICAgICAgICBtX3Byb2ZpbGVSZXN0b3JlQnJlYWtwb2ludEFj
dGl2ZVZhbHVlID0gbV9kZWJ1Z2dlckFnZW50LT5icmVha3BvaW50c0FjdGl2ZSgpOwogICAgICAg
ICBtX2RlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9pbnRzQWN0aXZlKHVudXNlZCwgZmFsc2UpOwpA
QCAtMTQ1LDEwICsxNDEsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6c3Rv
cENvbnNvbGVQcm9maWxlKCkKIAogICAgIGlmIChtX2RlYnVnZ2VyQWdlbnQpCiAgICAgICAgIG1f
ZGVidWdnZXJBZ2VudC0+c2V0QnJlYWtwb2ludHNBY3RpdmUodW51c2VkLCBtX3Byb2ZpbGVSZXN0
b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVlKTsKLQotICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9u
IHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVj
dGlvbgotICAgIGlmIChtX3NjcmlwdFByb2ZpbGVyQWdlbnQpCi0gICAgICAgIG1fc2NyaXB0UHJv
ZmlsZXJBZ2VudC0+cHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKIH0KIAogdm9pZCBKU0ds
b2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnRha2VIZWFwU25hcHNob3QoSlNDOjpFeGVjU3RhdGUq
LCBjb25zdCBTdHJpbmcmIHRpdGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxl
ckFnZW50LmNwcAppbmRleCAxZWMyNWM0NGNjNjY1ZGY2NWI1MWZmNWNjMjgxZjA4OWNmOTU5Njdi
Li41NmZjMWI3OThkYTBlZWVlYTAyMzMxZWQ1MjU0YTk1MDIxMDA1ODc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9m
aWxlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmNwcApAQCAtMjAzLDYgKzIwMyw4IEBAIHN0
YXRpYyBSZWY8UHJvdG9jb2w6OlNjcmlwdFByb2ZpbGVyOjpTYW1wbGVzPiBidWlsZFNhbXBsZXMo
Vk0mIHZtLCBWZWN0b3I8U2FtcGxpCiAKIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2Vu
dDo6dHJhY2tpbmdDb21wbGV0ZSgpCiB7CisgICAgYXV0byB0aW1lc3RhbXAgPSBtX2Vudmlyb25t
ZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKTsKKwogI2lm
IEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikKICAgICBpZiAobV9lbmFibGVkU2FtcGxpbmdQcm9m
aWxlcikgewogICAgICAgICBWTSYgdm0gPSBtX2Vudmlyb25tZW50LnNjcmlwdERlYnVnU2VydmVy
KCkudm0oKTsKQEAgLTIyMCwxMSArMjIyLDExIEBAIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudDo6dHJhY2tpbmdDb21wbGV0ZSgpCiAKICAgICAgICAgbV9lbmFibGVkU2FtcGxpbmdQ
cm9maWxlciA9IGZhbHNlOwogCi0gICAgICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2lu
Z0NvbXBsZXRlKFdURk1vdmUoc2FtcGxlcykpOworICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+dHJhY2tpbmdDb21wbGV0ZSh0aW1lc3RhbXAsIFdURk1vdmUoc2FtcGxlcykpOwogICAgIH0g
ZWxzZQotICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShudWxs
cHRyKTsKKyAgICAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUodGlt
ZXN0YW1wLCBudWxscHRyKTsKICNlbHNlCi0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNr
aW5nQ29tcGxldGUobnVsbHB0cik7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5n
Q29tcGxldGUodGltZXN0YW1wLCBudWxscHRyKTsKICNlbmRpZiAvLyBFTkFCTEUoU0FNUExJTkdf
UFJPRklMRVIpCiB9CiAKQEAgLTI0NiwxNCArMjQ4LDQgQEAgdm9pZCBJbnNwZWN0b3JTY3JpcHRQ
cm9maWxlckFnZW50OjpzdG9wU2FtcGxpbmdXaGVuRGlzY29ubmVjdGluZygpCiAjZW5kaWYKIH0K
IAotdm9pZCBJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0dXJl
U3RhcnRlZCgpCi17Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnByb2dyYW1tYXRpY0NhcHR1
cmVTdGFydGVkKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6cHJv
Z3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQotewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5w
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaAppbmRleCBkYWI3NzRm
ZTJiZmY2MzMyYTlhMjMzNTBjZDcxMjg0NzQ3NjBmMTU2Li44YTI4N2Q4YzU2MWM2YzdmZGViNDJh
NjU4Yzc4MGYyMzc5MzczZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJB
Z2VudC5oCkBAIC01Myw5ICs1Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmco
RXJyb3JTdHJpbmcmLCBjb25zdCBib29sKiBpbmNsdWRlU2FtcGxlcykgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdG9wVHJhY2tpbmcoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKIAotICAgIHZvaWQgcHJv
Z3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLSAgICB2b2lkIHByb2dyYW1tYXRpY0NhcHR1cmVT
dG9wcGVkKCk7Ci0KICAgICAvLyBEZWJ1Z2dlcjo6UHJvZmlsaW5nQ2xpZW50CiAgICAgYm9vbCBp
c0FscmVhZHlQcm9maWxpbmcoKSBjb25zdCBvdmVycmlkZTsKICAgICBTZWNvbmRzIHdpbGxFdmFs
dWF0ZVNjcmlwdCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9maWxlci5qc29uIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9maWxlci5qc29uCmluZGV4IGNkZGY5Y2FhN2Yw
NzYxZWRkYTgxNGMwNjMzODI2MjU0YTBhNGJkZGIuLjFmNjBkOWRiMDkyZjQxYjM2YjljN2IxYWJh
ZTk0MjNmNDZkNGM5NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvQ1BVUHJvZmlsZXIuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0NQVVByb2ZpbGVyLmpzb24KQEAgLTUyLDcgKzUyLDEwIEBACiAg
ICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxl
dGUiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIEluY2x1
ZGVzIGFueSBidWZmZXJlZCBkYXRhIGR1cmluZyB0cmFja2luZywgc3VjaCBhcyBwcm9maWxpbmcg
aW5mb3JtYXRpb24uIgorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3Bw
ZWQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAgICAgICAgICBdCiAgICAg
ICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL01lbW9yeS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9NZW1vcnkuanNvbgppbmRleCBiNmIzZGI5ZjJlNWQ1NTc3ODdlNTVhMjc1OThk
ZTlhNWUxYjE3MmU2Li4xYzNkMDFiYWM1NjM5NDQ5YTE2NTgwMmFiZWU1MmY0ZjkwYzBhNDA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL01lbW9y
eS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvTWVt
b3J5Lmpzb24KQEAgLTY0LDcgKzY0LDEwIEBACiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAg
ICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxldGUiLAotICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIgorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRy
YWNraW5nIHN0b3BwZWQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAgICAg
ICAgICBdCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24KaW5kZXgg
MzUwMzJhNWI4ZDFiZjdjNWMzMzMwODk4ZTA1MDQ3MGIxYjY2NDAwZS4uNjBjYTY4N2I3ZWRmNGYw
MWMwZTYzMWQxNWNjZGJmNzdhOTg0MzlhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9TY3JpcHRQcm9maWxlci5qc29uCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvU2NyaXB0UHJvZmlsZXIuanNvbgpAQCAt
ODUsMTYgKzg1LDkgQEAKICAgICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxldGUiLAog
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIEluY2x1ZGVzIGFu
eSBidWZmZXJlZCBkYXRhIGR1cmluZyB0cmFja2luZywgc3VjaCBhcyBwcm9maWxpbmcgaW5mb3Jt
YXRpb24uIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9LAogICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAic2FtcGxlcyIsICIkcmVmIjogIlNhbXBsZXMiLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiU3RhY2sgdHJhY2VzLiIgfQogICAgICAgICAgICAgXQotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJwcm9ncmFtbWF0aWNDYXB0dXJl
U3RhcnRlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBwcm9ncmFt
bWF0aWMgY2FwdHVyZSBzdGFydHMgKGNvbnNvbGUucHJvZmlsZSkuIEpTQ29udGV4dCBpbnNwZWN0
aW9uIG9ubHkuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJw
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
RmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdG9wcyAoY29uc29sZS5wcm9maWxlRW5k
KS4gSlNDb250ZXh0IGluc3BlY3Rpb24gb25seS4iCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb24KaW5kZXggYjljNGY4NDYxMTBjNWZiZjMxMDAzYjBjNmI3ZWM1MTlhZGVlZGE0ZS4uOTg4
MDAzMmVjODE0YzY1OThmYjY5ZmZkM2Q0OGQyNTkwMDE5OTcxMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgpAQCAt
MTA3LDE0ICsxMDcsNiBAQAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJhdXRvQ2Fw
dHVyZVN0YXJ0ZWQiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gYXV0
byBjYXB0dXJlIHN0YXJ0ZWQuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJwcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCIsCi0gICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdGFydHMgKGNvbnNvbGUu
cHJvZmlsZSkuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJw
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
RmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdG9wcyAoY29uc29sZS5wcm9maWxlRW5k
KS4iCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcAppbmRleCA4
ZjE1NTA0NWIwZjAzNmVhNjhjYWQ4ZjgzMzEyOWU2ZmFkM2EwMDA1Li42YTI5NzJkNjg4NTE2ZGNm
Mjg2MWIzZTE1YTU0MTZhYzAyMWZiNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKQEAg
LTc3LDcgKzc3LDcgQEAgdm9pZCBJbnNwZWN0b3JDUFVQcm9maWxlckFnZW50OjpzdG9wVHJhY2tp
bmcoRXJyb3JTdHJpbmcmKQogCiAgICAgbV90cmFja2luZyA9IGZhbHNlOwogCi0gICAgbV9mcm9u
dGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUoKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgp
LT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKSk7CiB9CiAKIHN0YXRpYyBSZWY8UHJvdG9jb2w6OkNQ
VVByb2ZpbGVyOjpUaHJlYWRJbmZvPiBidWlsZFRocmVhZEluZm8oY29uc3QgVGhyZWFkQ1BVSW5m
byYgdGhyZWFkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCA1YmM1NmVhYjY4OWIzYzZkOGY5MDEzY2Yx
MDkzMTMwNDg4MWY5M2RiLi4yMmQ0N2Y1N2Y0NWUyMDliNzM1MmRmYTBkNTNjMjJmMDIwOTlhNThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck1l
bW9yeUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcApAQCAtOTIsNyArOTIsNyBAQCB2b2lkIEluc3BlY3Rvck1lbW9y
eUFnZW50OjpzdG9wVHJhY2tpbmcoRXJyb3JTdHJpbmcmKQogCiAgICAgbV90cmFja2luZyA9IGZh
bHNlOwogCi0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUoKTsKKyAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShtX2Vudmlyb25tZW50LmV4
ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKSk7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmRpZEhhbmRsZU1lbW9yeVByZXNzdXJlKENyaXRpY2FsIGNy
aXRpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggODFkZWRjZWU3ZmM0ZDNkNmJkZmM5ZmRh
ZWY5ZDcyN2FiOTRhNmQyYy4uYTFkM2Q5MTQ0YTUyMTJjZDk0ZTc5MzQ1MTA5YzJkZTdkZmZiODQz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00NzcsOCArNDc3LDYgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpzdGFydFByb2dyYW1tYXRpY0NhcHR1cmUoKQogICAgIH0gZWxzZQog
ICAgICAgICBtX3Byb2dyYW1tYXRpY0NhcHR1cmVSZXN0b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVl
ID0gZmFsc2U7CiAKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2FwdHVy
ZVN0YXJ0ZWQoKTsKLQogICAgIHRvZ2dsZVNjcmlwdFByb2ZpbGVySW5zdHJ1bWVudChJbnN0cnVt
ZW50U3RhdGU6OlN0YXJ0KTsgLy8gRW5zdXJlIEphdmFTY3JpcHQgc2FtcGluZyBkYXRhLgogICAg
IHRvZ2dsZVRpbWVsaW5lSW5zdHJ1bWVudChJbnN0cnVtZW50U3RhdGU6OlN0YXJ0KTsgLy8gRW5z
dXJlIENvbnNvbGUgUHJvZmlsZSBldmVudCByZWNvcmRzLgogICAgIHRvZ2dsZUluc3RydW1lbnRz
KEluc3RydW1lbnRTdGF0ZTo6U3RhcnQpOyAvLyBBbnkgb3RoZXIgaW5zdHJ1bWVudHMgdGhlIGZy
b250ZW5kIHdhbnRzIHVzIHRvIHJlY29yZC4KQEAgLTUwMCw4ICs0OTgsNiBAQCB2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BQcm9ncmFtbWF0aWNDYXB0dXJlKCkKICAgICAgICAgICAg
IGRlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9pbnRzQWN0aXZlKHVudXNlZCwgdHJ1ZSk7CiAgICAg
ICAgIH0KICAgICB9Ci0KLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0b3BwZWQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0b2dnbGVJ
bnN0cnVtZW50cyhJbnN0cnVtZW50U3RhdGUgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dl
ck1hbmFnZXIuanMKaW5kZXggMmE2YTIwZjRiOTIzYjY1Y2MyODNlMTNmMzYyOTA0ZmYzNmRlZGE1
ZC4uNjhkZjNhZjRiMGM0NTAyMmM3M2Y3YmYwMjA1MWFlNjVlMTkwMWVjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJN
YW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcwpAQCAtMzgsOCArMzgsNyBAQCBXSS5EZWJ1Z2dlck1h
bmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
V0kuQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkJyZWFrcG9pbnQuRXZlbnQuQXV0b0Nv
bnRpbnVlRGlkQ2hhbmdlLCB0aGlzLl9icmVha3BvaW50RWRpdGFibGVQcm9wZXJ0eURpZENoYW5n
ZSwgdGhpcyk7CiAgICAgICAgIFdJLkJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5CcmVh
a3BvaW50LkV2ZW50LkFjdGlvbnNEaWRDaGFuZ2UsIHRoaXMuX2hhbmRsZUJyZWFrcG9pbnRBY3Rp
b25zRGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nV2lsbFN0YXJ0LCB0
aGlzLl90aW1lbGluZUNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcyk7Ci0gICAgICAgIFdJLnRpbWVs
aW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0
dXJpbmdTdG9wcGVkLCB0aGlzLl90aW1lbGluZUNhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOworICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFn
ZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1lbGluZUNhcHR1
cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuQXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RTY2hlZHVsZWQsIHRoaXMuX2hh
bmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQsIHRoaXMpOwogICAgICAgICBXSS5hdWRpdE1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuVGVzdENvbXBsZXRl
ZCwgdGhpcy5faGFuZGxlQXVkaXRNYW5hZ2VyVGVzdENvbXBsZXRlZCwgdGhpcyk7CkBAIC0xMTM3
LDE3ICsxMTM2LDE5IEBAIFdJLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLmJyZWFrcG9pbnRzRW5hYmxlZCA9IHJl
c3RvcmVTdGF0ZTsKICAgICB9CiAKLSAgICBfdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoZXZl
bnQpCisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAg
IHsKLSAgICAgICAgdGhpcy5fc3RhcnREaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5KCk7
CisgICAgICAgIHN3aXRjaCAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7Cisg
ICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nOgor
ICAgICAgICAgICAgdGhpcy5fc3RhcnREaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5KCk7
CisgICAgICAgICAgICBpZiAodGhpcy5wYXVzZWQpCisgICAgICAgICAgICAgICAgdGhpcy5yZXN1
bWUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGlmICh0aGlzLnBhdXNlZCkKLSAg
ICAgICAgICAgIHRoaXMucmVzdW1lKCk7Ci0gICAgfQotCi0gICAgX3RpbWVsaW5lQ2FwdHVyaW5n
U3RvcHBlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3N0b3BEaXNhYmxpbmdCcmVha3Bv
aW50c1RlbXBvcmFyaWx5KCk7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1
cmluZ1N0YXRlLkluYWN0aXZlOgorICAgICAgICAgICAgdGhpcy5fc3RvcERpc2FibGluZ0JyZWFr
cG9pbnRzVGVtcG9yYXJpbHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAg
fQogCiAgICAgX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQoZXZlbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1l
bGluZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKaW5kZXggZTRiNzJlY2RlM2JlYjMxMDg2YTIwOWNi
YWMzNTg4ZTQxZTgxOWI4Ni4uODIyYzQwNTMwYTM1MDNlYWQ2OTQ0MjM5MDg0YmEyOGExYmNkM2Rh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtMzMsMzAgKzMzLDI3
IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJ
Lk9iamVjdAogCiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUuRXZl
bnQuUHJvdmlzaW9uYWxMb2FkU3RhcnRlZCwgdGhpcy5fcHJvdmlzaW9uYWxMb2FkU3RhcnRlZCwg
dGhpcyk7CiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUuRXZlbnQu
TWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMp
OwotICAgICAgICBXSS5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50LlJlc291
cmNlV2FzQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMpOwotICAgICAgICBXSS5U
YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihXSS5UYXJnZXQuRXZlbnQuUmVzb3VyY2VBZGRlZCwgdGhp
cy5fcmVzb3VyY2VXYXNBZGRlZCwgdGhpcyk7Ci0KLSAgICAgICAgV0kuaGVhcE1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXSS5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCB0aGlz
Ll9nYXJiYWdlQ29sbGVjdGVkLCB0aGlzKTsKLSAgICAgICAgV0kubWVtb3J5TWFuYWdlci5hZGRF
dmVudExpc3RlbmVyKFdJLk1lbW9yeU1hbmFnZXIuRXZlbnQuTWVtb3J5UHJlc3N1cmUsIHRoaXMu
X21lbW9yeVByZXNzdXJlLCB0aGlzKTsKLQotICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNB
dXRvU3RvcC5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlVGltZWxpbmVzQXV0b1N0b3BTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAg
dGhpcy5fZW5hYmxlZFRpbWVsaW5lVHlwZXNTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImVuYWJs
ZWQtaW5zdHJ1bWVudC10eXBlcyIsIFdJLlRpbWVsaW5lTWFuYWdlci5kZWZhdWx0VGltZWxpbmVU
eXBlcygpKTsKIAotICAgICAgICB0aGlzLl9pc0NhcHR1cmluZyA9IGZhbHNlOworICAgICAgICB0
aGlzLl9jYXB0dXJpbmdTdGF0ZSA9IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFj
dGl2ZTsKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENvdW50ID0gMDsKKyAgICAg
ICAgdGhpcy5fY2FwdHVyaW5nU3RhcnRUaW1lID0gTmFOOworICAgICAgICB0aGlzLl9jYXB0dXJp
bmdFbmRUaW1lID0gTmFOOworCiAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0YXJ0
ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3AgPSBmYWxzZTsK
LSAgICAgICAgdGhpcy5fd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCA9IGZhbHNlOwor
CiAgICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nUGFnZVJlbG9hZCA9IGZhbHNlOwogICAgICAgICB0
aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fbWFpblJl
c291cmNlRm9yQXV0b0NhcHR1cmluZyA9IG51bGw7CiAgICAgICAgIHRoaXMuX3Nob3VsZFNldEF1
dG9DYXB0dXJpbmdNYWluUmVzb3VyY2UgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fdHJhbnNpdGlv
bmluZ1BhZ2VUYXJnZXQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fYm91bmRTdG9wQ2FwdHVyaW5n
ID0gdGhpcy5zdG9wQ2FwdHVyaW5nLmJpbmQodGhpcyk7CiAKICAgICAgICAgdGhpcy5fd2ViVGlt
ZWxpbmVTY3JpcHRSZWNvcmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMgPSBudWxsOwog
ICAgICAgICB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMgPSBudWxsOwogCisgICAgICAgIHRo
aXMuX2JvdW5kU3RvcENhcHR1cmluZyA9IHRoaXMuc3RvcENhcHR1cmluZy5iaW5kKHRoaXMpOwog
ICAgICAgICB0aGlzLl9zdG9wQ2FwdHVyaW5nVGltZW91dCA9IHVuZGVmaW5lZDsKICAgICAgICAg
dGhpcy5fZGVhZFRpbWVUaW1lb3V0ID0gdW5kZWZpbmVkOwogICAgICAgICB0aGlzLl9sYXN0RGVh
ZFRpbWVUaWNrbGUgPSAwOwpAQCAtMTUzLDkgKzE1MCwxMSBAQCBXSS5UaW1lbGluZU1hbmFnZXIg
PSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIC8vIFB1Ymxp
YwogCisgICAgZ2V0IGNhcHR1cmluZ1N0YXRlKCkgeyByZXR1cm4gdGhpcy5fY2FwdHVyaW5nU3Rh
dGU7IH0KKwogICAgIHJlc2V0KCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9pc0NhcHR1cmlu
ZykKKyAgICAgICAgaWYgKHRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHRoaXMuc3Rv
cENhcHR1cmluZygpOwogCiAgICAgICAgIHRoaXMuX3JlY29yZGluZ3MgPSBbXTsKQEAgLTE2OCw3
ICsxNjcsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAvLyBUaGUgY3VycmVudCByZWNvcmRpbmcgdGhhdCBuZXcgdGlt
ZWxpbmUgcmVjb3JkcyB3aWxsIGJlIGFwcGVuZGVkIHRvLCBpZiBhbnkuCiAgICAgZ2V0IGFjdGl2
ZVJlY29yZGluZygpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9hY3RpdmVS
ZWNvcmRpbmcgfHwgIXRoaXMuX2lzQ2FwdHVyaW5nKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
dGhpcy5fYWN0aXZlUmVjb3JkaW5nIHx8ICF0aGlzLmlzQ2FwdHVyaW5nKCkpOwogICAgICAgICBy
ZXR1cm4gdGhpcy5fYWN0aXZlUmVjb3JkaW5nOwogICAgIH0KIApAQCAtMTkxLDggKzE5MCwxMCBA
QCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKIAogICAgICAgICB0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBhdXRvQ2FwdHVy
ZTsKIAotICAgICAgICBpZiAod2luZG93LlRpbWVsaW5lQWdlbnQgJiYgVGltZWxpbmVBZ2VudC5z
ZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCi0gICAgICAgICAgICBUaW1lbGluZUFnZW50LnNldEF1dG9D
YXB0dXJlRW5hYmxlZCh0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOworICAgICAgICBmb3Ig
KGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgeworICAgICAgICAgICAgaWYgKHRhcmdldC5UaW1l
bGluZUFnZW50KQorICAgICAgICAgICAgICAgIHRhcmdldC5UaW1lbGluZUFnZW50LnNldEF1dG9D
YXB0dXJlRW5hYmxlZCh0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOworICAgICAgICB9CiAg
ICAgfQogCiAgICAgZ2V0IGVuYWJsZWRUaW1lbGluZVR5cGVzKCkKQEAgLTIxMCw3ICsyMTEsNyBA
QCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKIAogICAgIGlzQ2FwdHVyaW5nKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9p
c0NhcHR1cmluZzsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1l
bGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7CiAgICAgfQogCiAgICAgaXNDYXB0
dXJpbmdQYWdlUmVsb2FkKCkKQEAgLTIzOCw0MCArMjM5LDI5IEBAIFdJLlRpbWVsaW5lTWFuYWdl
ciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgc3RhcnRD
YXB0dXJpbmcoc2hvdWxkQ3JlYXRlUmVjb3JkaW5nKQogICAgIHsKLSAgICAgICAgY29uc29sZS5h
c3NlcnQoIXRoaXMuX2lzQ2FwdHVyaW5nLCAiVGltZWxpbmVNYW5hZ2VyIGlzIGFscmVhZHkgY2Fw
dHVyaW5nLiIpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9jYXB0dXJpbmdTdGF0ZSA9
PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0b3BwaW5nIHx8IHRoaXMuX2NhcHR1
cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUsICJU
aW1lbGluZU1hbmFnZXIgaXMgYWxyZWFkeSBjYXB0dXJpbmcuIik7CisgICAgICAgIGlmICh0aGlz
Ll9jYXB0dXJpbmdTdGF0ZSAhPT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0b3Bw
aW5nICYmIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5n
U3RhdGUuSW5hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKCF0aGlz
Ll9hY3RpdmVSZWNvcmRpbmcgfHwgc2hvdWxkQ3JlYXRlUmVjb3JkaW5nKQogICAgICAgICAgICAg
dGhpcy5fbG9hZE5ld1JlY29yZGluZygpOwogCi0gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JDYXB0
dXJpbmdTdGFydGVkRXZlbnQgPSB0cnVlOwotCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdXaWxsU3RhcnQpOwor
ICAgICAgICB0aGlzLl91cGRhdGVDYXB0dXJpbmdTdGF0ZShUaW1lbGluZU1hbmFnZXIuQ2FwdHVy
aW5nU3RhdGUuU3RhcnRpbmcpOwogCisgICAgICAgIHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGltZSA9
IE5hTjsKICAgICAgICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5nLnN0YXJ0KHRoaXMuX2luaXRpYXRl
ZEJ5QmFja2VuZFN0YXJ0KTsKICAgICB9CiAKICAgICBzdG9wQ2FwdHVyaW5nKCkKICAgICB7Ci0g
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2lzQ2FwdHVyaW5nLCAiVGltZWxpbmVNYW5hZ2Vy
IGlzIG5vdCBjYXB0dXJpbmcuIik7Ci0KLSAgICAgICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5nLnN0
b3AodGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RvcCk7Ci0KLSAgICAgICAgLy8gTk9URTogQWx3
YXlzIHN0b3AgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciBhIFRpbWVsaW5lLnJl
Y29yZGluZ1N0b3BwZWQgZXZlbnQuCi0gICAgICAgIC8vIFRoaXMgd2F5IHRoZSBVSSBmZWVscyBh
cyByZXNwb25zaXZlIHRvIGEgc3RvcCBhcyBwb3NzaWJsZS4KLSAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNTI5MDQ+IFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIFVJIHNo
b3VsZCBrZWVwIHVwIHdpdGggcHJvY2Vzc2luZyBhbGwgaW5jb21pbmcgcmVjb3JkcwotICAgICAg
ICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQoKTsKLSAgICB9Ci0KLSAgICB1bmxvYWRSZWNvcmRpbmco
KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9hY3RpdmVSZWNvcmRpbmcpCisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuU3RhcnRpbmcgfHwgdGhpcy5fY2FwdHVyaW5nU3RhdGUgPT09IFRpbWVsaW5l
TWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUsICJUaW1lbGluZU1hbmFnZXIgaXMgbm90IGNh
cHR1cmluZy4iKTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1lbGlu
ZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuU3RhcnRpbmcgJiYgdGhpcy5fY2FwdHVyaW5nU3RhdGUg
IT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQotICAgICAgICAgICAgdGhp
cy5zdG9wQ2FwdHVyaW5nKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNhcHR1cmluZ1N0YXRlKFRp
bWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdG9wcGluZyk7CiAKLSAgICAgICAgdGhpcy5f
YWN0aXZlUmVjb3JkaW5nLnVubG9hZGVkKCk7Ci0gICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGlu
ZyA9IG51bGw7CisgICAgICAgIHRoaXMuX2NhcHR1cmluZ0VuZFRpbWUgPSBOYU47CisgICAgICAg
IHRoaXMuX2FjdGl2ZVJlY29yZGluZy5zdG9wKHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3Ap
OwogICAgIH0KIAogICAgIHByb2Nlc3NKU09OKHtmaWxlbmFtZSwganNvbiwgZXJyb3J9KQpAQCAt
MzA1LDcgKzI5NSw3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdDcmVhdGVkLCB7cmVjb3JkaW5n
OiBuZXdSZWNvcmRpbmd9KTsKIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisgICAg
ICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLnN0b3BDYXB0dXJp
bmcoKTsKIAogICAgICAgICBsZXQgb2xkUmVjb3JkaW5nID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5n
OwpAQCAtMzM5LDUxICszMjksOTUgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxp
bmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJv
bSBXSS5UaW1lbGluZU9ic2VydmVyLgogCi0gICAgICAgIGlmICh0aGlzLl9pc0NhcHR1cmluZykK
KyAgICAgICAgLy8gVGhlIGZyb250ZW5kIGRpZG4ndCBzdGFydCBjYXB0dXJpbmcsIHNvIHRoaXMg
d2FzIGEgcHJvZ3JhbW1hdGljIHN0YXJ0LgorICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5nU3Rh
dGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkgeworICAgICAg
ICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0cnVlOworICAgICAgICAgICAg
dGhpcy5fYWN0aXZlUmVjb3JkaW5nLmFkZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0aWND
YXB0dXJlKCk7CisgICAgICAgICAgICB0aGlzLnN0YXJ0Q2FwdHVyaW5nKCk7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIWlzTmFOKHN0YXJ0VGltZSkpIHsKKyAgICAgICAgICAgIGlmIChpc05h
Tih0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUpIHx8IHN0YXJ0VGltZSA8IHRoaXMuX2NhcHR1cmlu
Z1N0YXJ0VGltZSkKKyAgICAgICAgICAgICAgICB0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUgPSBz
dGFydFRpbWU7CisKKyAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5pbml0aWFsaXpl
VGltZUJvdW5kc0lmTmVjZXNzYXJ5KHN0YXJ0VGltZSk7CisgICAgICAgIH0KKworICAgICAgICB0
aGlzLl9jYXB0dXJpbmdJbnN0cnVtZW50Q291bnQrKzsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
dGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENvdW50KTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1
cmluZ0luc3RydW1lbnRDb3VudCA+IDEpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
dGhpcy5fd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCA9IGZhbHNlOwotICAgICAgICB0
aGlzLl9pc0NhcHR1cmluZyA9IHRydWU7CisgICAgICAgIGlmICh0aGlzLl9jYXB0dXJpbmdTdGF0
ZSA9PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkFjdGl2ZSkKKyAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICB0aGlzLl9sYXN0RGVhZFRpbWVUaWNrbGUgPSAwOwogCi0gICAg
ICAgIGlmIChzdGFydFRpbWUpCi0gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlY29yZGluZy5pbml0
aWFsaXplVGltZUJvdW5kc0lmTmVjZXNzYXJ5KHN0YXJ0VGltZSk7Ci0KICAgICAgICAgdGhpcy5f
d2ViVGltZWxpbmVTY3JpcHRSZWNvcmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMgPSBb
XTsKIAorICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNBdXRvU3RvcC5hZGRFdmVudExpc3Rl
bmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVzQXV0b1N0
b3BTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CisKKyAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0
ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0Fk
ZGVkLCB0aGlzKTsKKyAgICAgICAgV0kuVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoV0kuVGFyZ2V0
LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMpOworCisg
ICAgICAgIFdJLmhlYXBNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuSGVhcE1hbmFnZXIuRXZl
bnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3RlZCwgdGhpcyk7CisKKyAg
ICAgICAgV0kubWVtb3J5TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLk1lbW9yeU1hbmFnZXIu
RXZlbnQuTWVtb3J5UHJlc3N1cmUsIHRoaXMuX21lbW9yeVByZXNzdXJlLCB0aGlzKTsKKwogICAg
ICAgICBXSS5ET01Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVudC5EaWRGaXJl
RXZlbnQsIHRoaXMuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQsIHRoaXMpOwogICAgICAgICBX
SS5ET01Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVudC5Mb3dQb3dlckNoYW5n
ZWQsIHRoaXMuX2hhbmRsZURPTU5vZGVMb3dQb3dlckNoYW5nZWQsIHRoaXMpOwogCi0gICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5D
YXB0dXJpbmdTdGFydGVkLCB7c3RhcnRUaW1lfSk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNhcHR1
cmluZ1N0YXRlKFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUsIHtzdGFydFRp
bWU6IHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGltZX0pOwogICAgIH0KIAogICAgIGNhcHR1cmluZ1N0
b3BwZWQoZW5kVGltZSkKICAgICB7CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLlRpbWVsaW5l
T2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgLy8g
VGhlIGZyb250ZW5kIGRpZG4ndCBzdG9wIGNhcHR1cmluZywgc28gdGhpcyB3YXMgYSBwcm9ncmFt
bWF0aWMgc3RvcC4KKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGlu
ZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlKSB7CisgICAgICAgICAgICB0aGlzLl9pbml0
aWF0ZWRCeUJhY2tlbmRTdG9wID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuc3RvcENhcHR1cmlu
ZygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFpc05hTihlbmRUaW1lKSkgeworICAgICAg
ICAgICAgaWYgKGlzTmFOKHRoaXMuX2NhcHR1cmluZ0VuZFRpbWUpIHx8IGVuZFRpbWUgPiB0aGlz
Ll9jYXB0dXJpbmdFbmRUaW1lKQorICAgICAgICAgICAgICAgIHRoaXMuX2NhcHR1cmluZ0VuZFRp
bWUgPSBlbmRUaW1lOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5zdHJ1
bWVudENvdW50LS07CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ0luc3Ry
dW1lbnRDb3VudCA+PSAwKTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ0luc3RydW1lbnRD
b3VudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5n
U3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkKICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICBXSS5ET01Ob2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIo
bnVsbCwgbnVsbCwgdGhpcyk7CisgICAgICAgIFdJLm1lbW9yeU1hbmFnZXIucmVtb3ZlRXZlbnRM
aXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuaGVhcE1hbmFnZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuVGFyZ2V0LnJlbW92
ZUV2ZW50TGlzdGVuZXIoV0kuVGFyZ2V0LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291
cmNlV2FzQWRkZWQsIHRoaXMpOworICAgICAgICBXSS5GcmFtZS5yZW1vdmVFdmVudExpc3RlbmVy
KFdJLkZyYW1lLkV2ZW50LlJlc291cmNlV2FzQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQs
IHRoaXMpOworICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNBdXRvU3RvcC5yZW1vdmVFdmVu
dExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwogCiAgICAgICAgIHRoaXMucmVsYXhBdXRvU3Rv
cCgpOwogCi0gICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gZmFsc2U7CiAgICAgICAgIHRoaXMu
X2lzQ2FwdHVyaW5nUGFnZVJlbG9hZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9zaG91bGRTZXRB
dXRvQ2FwdHVyaW5nTWFpblJlc291cmNlID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX21haW5SZXNv
dXJjZUZvckF1dG9DYXB0dXJpbmcgPSBudWxsOwogICAgICAgICB0aGlzLl9pbml0aWF0ZWRCeUJh
Y2tlbmRTdGFydCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRTdG9w
ID0gZmFsc2U7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHtlbmRUaW1lfSk7CisgICAgICAg
IHRoaXMuX3VwZGF0ZUNhcHR1cmluZ1N0YXRlKFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0
ZS5JbmFjdGl2ZSwge2VuZFRpbWU6IHRoaXMuX2NhcHR1cmluZ0VuZFRpbWV9KTsKICAgICB9CiAK
ICAgICBhdXRvQ2FwdHVyZVN0YXJ0ZWQoKQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20g
V0kuVGltZWxpbmVPYnNlcnZlci4KIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisg
ICAgICAgIGxldCB3YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50ID0gdGhpcy5fY2FwdHVy
aW5nU3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdGFydGluZzsKKwor
ICAgICAgICBpZiAodGhpcy5pc0NhcHR1cmluZygpKQogICAgICAgICAgICAgdGhpcy5zdG9wQ2Fw
dHVyaW5nKCk7CiAKICAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0cnVl
OwpAQCAtMzkxLDcgKzQyNSw3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5l
TWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyBXZSBtYXkgYWxyZWFkeSBoYXZl
IGFuIGZyZXNoIFRpbWVsaW5lUmVjb3JkaW5nIGNyZWF0ZWQgaWYgYXV0b0NhcHR1cmVTdGFydGVk
IGlzIHJlY2VpdmVkCiAgICAgICAgIC8vIGJldHdlZW4gc2VuZGluZyB0aGUgVGltZWxpbmUuc3Rh
cnQgY29tbWFuZCBhbmQgcmVjZWl2aW5nIFRpbWVsaW5lLmNhcHR1cmluZ1N0YXJ0ZWQgZXZlbnQu
CiAgICAgICAgIC8vIEluIHRoYXQgY2FzZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIHN0YXJ0
Q2FwdHVyaW5nIGFnYWluLiBSZXVzZSB0aGUgZnJlc2ggcmVjb3JkaW5nLgotICAgICAgICBpZiAo
IXRoaXMuX3dhaXRpbmdGb3JDYXB0dXJpbmdTdGFydGVkRXZlbnQpIHsKKyAgICAgICAgaWYgKCF3
YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50KSB7CiAgICAgICAgICAgICBjb25zdCBjcmVh
dGVOZXdSZWNvcmRpbmcgPSB0cnVlOwogICAgICAgICAgICAgdGhpcy5zdGFydENhcHR1cmluZyhj
cmVhdGVOZXdSZWNvcmRpbmcpOwogICAgICAgICB9CkBAIC0zOTksMzcgKzQzMywxMiBAQCBXSS5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgdGhpcy5fc2hvdWxkU2V0QXV0b0NhcHR1cmluZ01haW5SZXNvdXJjZSA9IHRydWU7
CiAgICAgfQogCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKQotICAgIHsKLSAgICAg
ICAgLy8gQ2FsbGVkIGZyb20gV0kuVGltZWxpbmVPYnNlcnZlci4KLQotICAgICAgICB0aGlzLl9p
bml0aWF0ZWRCeUJhY2tlbmRTdGFydCA9IHRydWU7Ci0KLSAgICAgICAgdGhpcy5fYWN0aXZlUmVj
b3JkaW5nLmFkZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0aWNDYXB0dXJlKCk7Ci0KLSAg
ICAgICAgY29uc3QgY3JlYXRlTmV3UmVjb3JkaW5nID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuc3Rh
cnRDYXB0dXJpbmcoY3JlYXRlTmV3UmVjb3JkaW5nKTsKLSAgICB9Ci0KLSAgICBwcm9ncmFtbWF0
aWNDYXB0dXJlU3RvcHBlZCgpCi0gICAgewotICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5UaW1l
bGluZU9ic2VydmVyLgotCi0gICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3AgPSB0
cnVlOwotCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHB1cmVseSB0byBhdm9pZCBhIG5vaXN5
IGFzc2VydC4gUHJldmlvdXNseQotICAgICAgICAvLyBpdCB3YXMgaW1wb3NzaWJsZSB0byBzdG9w
IHdpdGhvdXQgc3RvcHBpbmcgZnJvbSB0aGUgVUkuCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0
aGlzLl9pc0NhcHR1cmluZyk7Ci0gICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gdHJ1ZTsKLQot
ICAgICAgICB0aGlzLnN0b3BDYXB0dXJpbmcoKTsKLSAgICB9Ci0KICAgICBldmVudFJlY29yZGVk
KHJlY29yZFBheWxvYWQpCiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5UaW1lbGlu
ZU9ic2VydmVyLgogCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5pc0Nh
cHR1cmluZygpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciByZWNvcmRzID0g
W107CkBAIC00NjksOCArNDc4LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxp
bmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBQ
cm90ZWN0ZWQKLQogICAgIHBhZ2VET01Db250ZW50TG9hZGVkRXZlbnRGaXJlZCh0aW1lc3RhbXAp
CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5QYWdlT2JzZXJ2ZXIuCkBAIC00Nzgs
NyArNDg1LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2FjdGl2ZVJlY29y
ZGluZyk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlzTmFOKFdJLm5ldHdvcmtNYW5hZ2VyLm1h
aW5GcmFtZS5kb21Db250ZW50UmVhZHlFdmVudFRpbWVzdGFtcCkpOwogCi0gICAgICAgIGxldCBj
b21wdXRlZFRpbWVzdGFtcCA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2VkVGlt
ZSh0aW1lc3RhbXApOworICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3RhbXAgPSB0aGlzLl9hY3Rp
dmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHRpbWVzdGFtcCk7CiAKICAgICAgICAgV0ku
bmV0d29ya01hbmFnZXIubWFpbkZyYW1lLm1hcmtET01Db250ZW50UmVhZHlFdmVudChjb21wdXRl
ZFRpbWVzdGFtcCk7CiAKQEAgLTQ5Myw3ICs1MDAsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBj
bGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgY29uc29sZS5h
c3NlcnQodGhpcy5fYWN0aXZlUmVjb3JkaW5nKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQoaXNO
YU4oV0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLmxvYWRFdmVudFRpbWVzdGFtcCkpOwogCi0g
ICAgICAgIGxldCBjb21wdXRlZFRpbWVzdGFtcCA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNvbXB1
dGVFbGFwc2VkVGltZSh0aW1lc3RhbXApOworICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3RhbXAg
PSB0aGlzLl9hY3RpdmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHRpbWVzdGFtcCk7CiAK
ICAgICAgICAgV0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLm1hcmtMb2FkRXZlbnQoY29tcHV0
ZWRUaW1lc3RhbXApOwogCkBAIC01MTQsMTUgKzUyMSwxOCBAQCBXSS5UaW1lbGluZU1hbmFnZXIg
PSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAgICAg
IC8vIENhbGxlZCBmcm9tIFdJLkNQVVByb2ZpbGVyT2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYgKCF0
aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmlu
ZygpKTsKKyAgICAgICAgaWYgKCF0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5DUFVUaW1lbGluZVJlY29yZChl
dmVudCkpOwogICAgIH0KIAotICAgIGNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoKQorICAg
IGNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKQogICAgIHsKICAgICAgICAg
Ly8gQ2FsbGVkIGZyb20gV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci4KKworICAgICAgICB0aGlzLmNh
cHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBtZW1vcnlUcmFja2luZ1N0
YXJ0ZWQodGltZXN0YW1wKQpAQCAtNTM2LDI0ICs1NDYsMjcgQEAgV0kuVGltZWxpbmVNYW5hZ2Vy
ID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAg
ICAvLyBDYWxsZWQgZnJvbSBXSS5NZW1vcnlPYnNlcnZlci4KIAotICAgICAgICBpZiAoIXRoaXMu
X2lzQ2FwdHVyaW5nKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5nKCkp
OworICAgICAgICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLk1lbW9yeVRpbWVsaW5lUmVjb3JkKGV2
ZW50LnRpbWVzdGFtcCwgZXZlbnQuY2F0ZWdvcmllcykpOwogICAgIH0KIAotICAgIG1lbW9yeVRy
YWNraW5nQ29tcGxldGVkKCkKKyAgICBtZW1vcnlUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAp
CiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5NZW1vcnlPYnNlcnZlci4KKworICAg
ICAgICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBoZWFw
VHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCwgc25hcHNob3QpCiAgICAgewogICAgICAgICAvLyBD
YWxsZWQgZnJvbSBXSS5IZWFwT2JzZXJ2ZXIuCiAKLSAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5l
dyBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVJlY29yZCh0aW1lc3RhbXAsIHNuYXBzaG90KSk7
Ci0KICAgICAgICAgdGhpcy5jYXB0dXJpbmdTdGFydGVkKHRpbWVzdGFtcCk7CisKKyAgICAgICAg
dGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVJlY29yZCh0aW1l
c3RhbXAsIHNuYXBzaG90KSk7CiAgICAgfQogCiAgICAgaGVhcFRyYWNraW5nQ29tcGxldGVkKHRp
bWVzdGFtcCwgc25hcHNob3QpCkBAIC01NjEsMjEgKzU3NCwzOSBAQCBXSS5UaW1lbGluZU1hbmFn
ZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgLy8g
Q2FsbGVkIGZyb20gV0kuSGVhcE9ic2VydmVyLgogCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChu
ZXcgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkp
OworCisgICAgICAgIHRoaXMuY2FwdHVyaW5nU3RvcHBlZCgpOwogICAgIH0KIAogICAgIGhlYXBT
bmFwc2hvdEFkZGVkKHRpbWVzdGFtcCwgc25hcHNob3QpCiAgICAgewogICAgICAgICAvLyBDYWxs
ZWQgZnJvbSBXSS5IZWFwQWxsb2NhdGlvbnNJbnN0cnVtZW50LgogCisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5pc0NhcHR1cmlu
ZygpKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcg
V0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkpOwog
ICAgIH0KIAogICAgIC8vIFByaXZhdGUKIAorICAgIF91cGRhdGVDYXB0dXJpbmdTdGF0ZShzdGF0
ZSwgZGF0YSA9IHt9KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09
PSBzdGF0ZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9jYXB0dXJpbmdT
dGF0ZSA9IHN0YXRlOworCisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFRp
bWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIGRhdGEpOworICAgIH0K
KwogICAgIF9wcm9jZXNzUmVjb3JkKHJlY29yZFBheWxvYWQsIHBhcmVudFJlY29yZFBheWxvYWQp
CiAgICAgewotICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcuY29t
cHV0ZUVsYXBzZWRUaW1lKHJlY29yZFBheWxvYWQuc3RhcnRUaW1lKTsKLSAgICAgICAgdmFyIGVu
ZFRpbWUgPSB0aGlzLmFjdGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5
bG9hZC5lbmRUaW1lKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygp
KTsKKworICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNvbXB1
dGVFbGFwc2VkVGltZShyZWNvcmRQYXlsb2FkLnN0YXJ0VGltZSk7CisgICAgICAgIHZhciBlbmRU
aW1lID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2VkVGltZShyZWNvcmRQYXls
b2FkLmVuZFRpbWUpOwogICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IHRoaXMuX2NhbGxGcmFtZXNG
cm9tUGF5bG9hZChyZWNvcmRQYXlsb2FkLnN0YWNrVHJhY2UpOwogCiAgICAgICAgIHZhciBzaWdu
aWZpY2FudENhbGxGcmFtZSA9IG51bGw7CkBAIC03NjIsOSArNzkzLDExIEBAIFdJLlRpbWVsaW5l
TWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAg
X3Byb2Nlc3NFdmVudChyZWNvcmRQYXlsb2FkLCBwYXJlbnRSZWNvcmRQYXlsb2FkKQogICAgIHsK
KyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygpKTsKKwogICAgICAgICBz
d2l0Y2ggKHJlY29yZFBheWxvYWQudHlwZSkgewogICAgICAgICBjYXNlIFRpbWVsaW5lQWdlbnQu
RXZlbnRUeXBlLlRpbWVTdGFtcDoKLSAgICAgICAgICAgIHZhciB0aW1lc3RhbXAgPSB0aGlzLmFj
dGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5zdGFydFRpbWUp
OworICAgICAgICAgICAgdmFyIHRpbWVzdGFtcCA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZy5jb21w
dXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5zdGFydFRpbWUpOwogICAgICAgICAgICAgdmFy
IGV2ZW50TWFya2VyID0gbmV3IFdJLlRpbWVsaW5lTWFya2VyKHRpbWVzdGFtcCwgV0kuVGltZWxp
bmVNYXJrZXIuVHlwZS5UaW1lU3RhbXAsIHJlY29yZFBheWxvYWQuZGF0YS5tZXNzYWdlKTsKICAg
ICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRFdmVudE1hcmtlcihldmVudE1hcmtl
cik7CiAgICAgICAgICAgICBicmVhazsKQEAgLTc5NCw3ICs4MjcsNyBAQCBXSS5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
dGhpcy5fcmVjb3JkaW5ncy5wdXNoKG5ld1JlY29yZGluZyk7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdDcmVh
dGVkLCB7cmVjb3JkaW5nOiBuZXdSZWNvcmRpbmd9KTsKIAotICAgICAgICBpZiAodGhpcy5faXND
YXB0dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0
aGlzLnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB2YXIgb2xkUmVjb3JkaW5nID0gdGhpcy5f
YWN0aXZlUmVjb3JkaW5nOwpAQCAtODI3LDYgKzg2MCw4IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9
IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgX2FkZFJlY29y
ZChyZWNvcmQpCiAgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5n
KCkpOworCiAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRSZWNvcmQocmVjb3JkKTsK
IAogICAgICAgICAvLyBPbmx5IHdvcnJ5IGFib3V0IGRlYWQgdGltZSBhZnRlciB0aGUgbG9hZCBl
dmVudC4KQEAgLTg0NCwxNSArODc5LDE1IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRp
bWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIC8vIENPTVBBVElCSUxJ
VFkgKGlPUyA5KTogVGltZWxpbmUuc2V0QXV0b0NhcHR1cmVFbmFibGVkIGRpZCBub3QgZXhpc3Qu
CiAgICAgICAgIC8vIFBlcmZvcm0gYXV0byBjYXB0dXJlIGluIHRoZSBmcm9udGVuZC4KLSAgICAg
ICAgaWYgKCF3aW5kb3cuVGltZWxpbmVBZ2VudCkKKyAgICAgICAgaWYgKCFJbnNwZWN0b3JCYWNr
ZW5kLmRvbWFpbnMuVGltZWxpbmUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IGlmICghVGltZWxpbmVBZ2VudC5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCisgICAgICAgIGlmICgh
SW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlRpbWVsaW5lLnNldEF1dG9DYXB0dXJlRW5hYmxlZCkK
ICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sZWdhY3lBdHRlbXB0U3RhcnRBdXRvQ2FwdHVyaW5n
Rm9yRnJhbWUoZnJhbWUpOwogCiAgICAgICAgIGlmICghdGhpcy5fc2hvdWxkU2V0QXV0b0NhcHR1
cmluZ01haW5SZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZywgIldlIHNhdyBhdXRvQ2FwdHVyZVN0YXJ0
ZWQgc28gd2Ugc2hvdWxkIGFscmVhZHkgYmUgY2FwdHVyaW5nIik7CisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSwgIldlIHNhdyBhdXRvQ2FwdHVyZVN0YXJ0ZWQgc28g
d2Ugc2hvdWxkIGFscmVhZHkgYmUgY2FwdHVyaW5nIik7CiAKICAgICAgICAgbGV0IG1haW5SZXNv
dXJjZSA9IGZyYW1lLnByb3Zpc2lvbmFsTWFpblJlc291cmNlIHx8IGZyYW1lLm1haW5SZXNvdXJj
ZTsKICAgICAgICAgaWYgKG1haW5SZXNvdXJjZSA9PT0gdGhpcy5fbWFpblJlc291cmNlRm9yQXV0
b0NhcHR1cmluZykKQEAgLTg3NCw3ICs5MDksNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFz
cyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9sZWdhY3lBdHRlbXB0
U3RhcnRBdXRvQ2FwdHVyaW5nRm9yRnJhbWUoZnJhbWUpCiAgICAgewotICAgICAgICBpZiAodGhp
cy5faXNDYXB0dXJpbmcgJiYgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcpCisg
ICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkgJiYgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1
dG9DYXB0dXJpbmcpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgbGV0IG1h
aW5SZXNvdXJjZSA9IGZyYW1lLnByb3Zpc2lvbmFsTWFpblJlc291cmNlIHx8IGZyYW1lLm1haW5S
ZXNvdXJjZTsKQEAgLTg4NCw3ICs5MTksNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBU
aW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgbGV0IG9sZE1haW5SZXNv
dXJjZSA9IGZyYW1lLm1haW5SZXNvdXJjZSB8fCBudWxsOwogICAgICAgICB0aGlzLl9pc0NhcHR1
cmluZ1BhZ2VSZWxvYWQgPSBvbGRNYWluUmVzb3VyY2UgIT09IG51bGwgJiYgb2xkTWFpblJlc291
cmNlLnVybCA9PT0gbWFpblJlc291cmNlLnVybDsKIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0
dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlz
LnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2Fw
dHVyaW5nID0gbWFpblJlc291cmNlOwpAQCAtOTA2LDcgKzk0MSw3IEBAIFdJLlRpbWVsaW5lTWFu
YWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIC8vIE9ubHkgYXV0byBzdG9wIHdoZW4gYXV0byBjYXB0dXJp
bmcuCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcgfHwgIXRoaXMuX21haW5SZXNvdXJj
ZUZvckF1dG9DYXB0dXJpbmcpCisgICAgICAgIGlmICghdGhpcy5pc0NhcHR1cmluZygpIHx8ICF0
aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIGlmICh0aGlzLl9zdG9wQ2FwdHVyaW5nVGltZW91dCkKQEAgLTkzMCw3ICs5NjUs
NyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBPbmx5IG1vbml0b3Ig
ZGVhZCB0aW1lIHdoZW4gYXV0byBjYXB0dXJpbmcuCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0
dXJpbmcgfHwgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcpCisgICAgICAgIGlm
ICghdGhpcy5pc0NhcHR1cmluZygpIHx8ICF0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVy
aW5nKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIEF2b2lkIHVubmVjZXNzYXJ5
IGNodXJuaW5nIG9mIHRpbWVvdXQgaWRlbnRpZmllciBieSBub3QgdGlja2xpbmcgdW50aWwgMTBt
cyBoYXZlIHBhc3NlZC4KQEAgLTk3MSw3ICsxMDA2LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICh0aGlz
Ll9hdHRlbXB0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBpZiAoIXRoaXMu
aXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBsZXQgbWFpblJl
c291cmNlID0gZnJhbWUubWFpblJlc291cmNlOwpAQCAtOTgzLDQwICsxMDE4LDI3IEBAIFdJLlRp
bWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAog
CiAgICAgX3Jlc291cmNlV2FzQWRkZWQoZXZlbnQpCiAgICAgewotCiAgICAgICAgIC8vIElnbm9y
ZSByZXNvdXJjZSBldmVudHMgd2hlbiB0aGVyZSBpc24ndCBhIG1haW4gZnJhbWUgeWV0LiBUaG9z
ZSBldmVudHMgYXJlIHRyaWdnZXJlZCBieQogICAgICAgICAvLyBsb2FkaW5nIHRoZSBjYWNoZWQg
cmVzb3VyY2VzIHdoZW4gdGhlIGluc3BlY3RvciBvcGVucywgYW5kIHRoZXkgZG8gbm90IGhhdmUg
dGltaW5nIGluZm9ybWF0aW9uLgogICAgICAgICBpZiAoIVdJLm5ldHdvcmtNYW5hZ2VyLm1haW5G
cmFtZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVy
aW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcg
V0kuUmVzb3VyY2VUaW1lbGluZVJlY29yZChldmVudC5kYXRhLnJlc291cmNlKSk7CiAgICAgfQog
CiAgICAgX2dhcmJhZ2VDb2xsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
X2lzQ2FwdHVyaW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxldCBjb2xsZWN0
aW9uID0gZXZlbnQuZGF0YS5jb2xsZWN0aW9uOworICAgICAgICBsZXQge2NvbGxlY3Rpb259ID0g
ZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxlY3Rl
ZCwgY29sbGVjdGlvbi5zdGFydFRpbWUsIGNvbGxlY3Rpb24uZW5kVGltZSwgbnVsbCwgbnVsbCwg
Y29sbGVjdGlvbikpOwogICAgIH0KIAogICAgIF9tZW1vcnlQcmVzc3VyZShldmVudCkKICAgICB7
Ci0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgdGhpcy5hY3RpdmVSZWNvcmRpbmcuYWRkTWVtb3J5UHJlc3N1cmVFdmVudChldmVu
dC5kYXRhLm1lbW9yeVByZXNzdXJlRXZlbnQpOworICAgICAgICB0aGlzLl9hY3RpdmVSZWNvcmRp
bmcuYWRkTWVtb3J5UHJlc3N1cmVFdmVudChldmVudC5kYXRhLm1lbW9yeVByZXNzdXJlRXZlbnQp
OwogICAgIH0KIAogICAgIF9oYW5kbGVUaW1lbGluZXNBdXRvU3RvcFNldHRpbmdDaGFuZ2VkKGV2
ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKLSAgICAgICAgICAg
IHJldHVybjsKLQogICAgICAgICBpZiAoV0kuc2V0dGluZ3MudGltZWxpbmVzQXV0b1N0b3AudmFs
dWUpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5n
ICYmICFpc05hTih0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nLnBhcmVudEZyYW1l
LmxvYWRFdmVudFRpbWVzdGFtcCkpCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcEF1dG9SZWNv
cmRpbmdTb29uKCk7CkBAIC0xMDM5LDI0ICsxMDYxLDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKLSAgICB7
Ci0gICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFs
aXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1
YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xlLmFz
c2VydChXSS5zaGFyZWRBcHAuZGVidWdnYWJsZVR5cGUgPT09IFdJLkRlYnVnZ2FibGVUeXBlLkph
dmFTY3JpcHQpOwotICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5faXNDYXB0dXJpbmcpOwot
Ci0gICAgICAgIHRoaXMucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLSAgICB9Ci0KLSAg
ICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCkKLSAgICB7Ci0gICAg
ICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXplIHRo
ZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxseSBm
b3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xlLmFzc2VydChX
SS5zaGFyZWRBcHAuZGVidWdnYWJsZVR5cGUgPT09IFdJLkRlYnVnZ2FibGVUeXBlLkphdmFTY3Jp
cHQpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZyk7Ci0KLSAgICAg
ICAgdGhpcy5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotICAgIH0KLQogICAgIHNjcmlw
dFByb2ZpbGVyVHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCkKICAgICB7CiAgICAgICAgIHRoaXMu
X3NjcmlwdFByb2ZpbGVyUmVjb3JkcyA9IFtdOwpAQCAtMTA4MCwxMyArMTA4NCwxMyBAQCBXSS5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgICAgIHRoaXMuX2FkZFJlY29yZChyZWNvcmQpOwogICAgIH0KIAotICAgIHNjcmlw
dFByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoc2FtcGxlcykKKyAgICBzY3JpcHRQcm9maWxlclRy
YWNraW5nQ29tcGxldGVkKHRpbWVzdGFtcCwgc2FtcGxlcykKICAgICB7CiAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KCF0aGlzLl93ZWJUaW1lbGluZVNjcmlwdFJlY29yZHNFeHBlY3RpbmdTY3JpcHRQ
cm9maWxlckV2ZW50cyB8fCB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMubGVuZ3RoID49IHRo
aXMuX3dlYlRpbWVsaW5lU2NyaXB0UmVjb3Jkc0V4cGVjdGluZ1NjcmlwdFByb2ZpbGVyRXZlbnRz
Lmxlbmd0aCk7CiAKICAgICAgICAgaWYgKHNhbXBsZXMpIHsKICAgICAgICAgICAgIGxldCB7c3Rh
Y2tUcmFjZXN9ID0gc2FtcGxlczsKLSAgICAgICAgICAgIGxldCB0b3BEb3duQ2FsbGluZ0NvbnRl
eHRUcmVlID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcudG9wRG93bkNhbGxpbmdDb250ZXh0VHJlZTsK
KyAgICAgICAgICAgIGxldCB0b3BEb3duQ2FsbGluZ0NvbnRleHRUcmVlID0gdGhpcy5fYWN0aXZl
UmVjb3JkaW5nLnRvcERvd25DYWxsaW5nQ29udGV4dFRyZWU7CiAKICAgICAgICAgICAgIC8vIENh
bGN1bGF0ZSBhIHBlci1zYW1wbGUgZHVyYXRpb24uCiAgICAgICAgICAgICBsZXQgdGltZXN0YW1w
SW5kZXggPSAwOwpAQCAtMTEyMCw3ICsxMTI0LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xh
c3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBpZiAodGlt
ZXN0YW1wSW5kZXggPCB0aW1lc3RhbXBDb3VudCkKICAgICAgICAgICAgICAgICBzYW1wbGVEdXJh
dGlvbnMuZmlsbChkZWZhdWx0RHVyYXRpb24sIHNhbXBsZUR1cmF0aW9uSW5kZXgpOwogCi0gICAg
ICAgICAgICB0aGlzLmFjdGl2ZVJlY29yZGluZy5pbml0aWFsaXplQ2FsbGluZ0NvbnRleHRUcmVl
cyhzdGFja1RyYWNlcywgc2FtcGxlRHVyYXRpb25zKTsKKyAgICAgICAgICAgIHRoaXMuX2FjdGl2
ZVJlY29yZGluZy5pbml0aWFsaXplQ2FsbGluZ0NvbnRleHRUcmVlcyhzdGFja1RyYWNlcywgc2Ft
cGxlRHVyYXRpb25zKTsKIAogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgdHJhbnNmb3JtYXRp
b24gc2hvdWxkIG5vdCBiZSBuZWVkZWQgYWZ0ZXIgaW50cm9kdWNpbmcgUHJvZmlsZVZpZXcuCiAg
ICAgICAgICAgICAvLyBPbmNlIHdlIGVsaW1pbmF0ZSBQcm9maWxlTm9kZVRyZWVFbGVtZW50cyBh
bmQgUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGVzLgpAQCAtMTE0MCw4ICsxMTQ0LDEwIEBAIFdJLlRp
bWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAog
CiAgICAgICAgIHRoaXMuX3NjcmlwdFByb2ZpbGVyUmVjb3JkcyA9IG51bGw7CiAKLSAgICAgICAg
bGV0IHRpbWVsaW5lID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcudGltZWxpbmVGb3JSZWNvcmRUeXBl
KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgbGV0IHRpbWVsaW5lID0g
dGhpcy5fYWN0aXZlUmVjb3JkaW5nLnRpbWVsaW5lRm9yUmVjb3JkVHlwZShXSS5UaW1lbGluZVJl
Y29yZC5UeXBlLlNjcmlwdCk7CiAgICAgICAgIHRpbWVsaW5lLnJlZnJlc2goKTsKKworICAgICAg
ICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBfbWVyZ2VT
Y3JpcHRQcm9maWxlUmVjb3JkcygpCkBAIC0xMjQwLDggKzEyNDYsNiBAQCBXSS5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9o
YW5kbGVET01Ob2RlRGlkRmlyZUV2ZW50KGV2ZW50KQogICAgIHsKLSAgICAgICAgY29uc29sZS5h
c3NlcnQodGhpcy5faXNDYXB0dXJpbmcpOwotCiAgICAgICAgIGxldCB7ZG9tRXZlbnR9ID0gZXZl
bnQuZGF0YTsKIAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLk1lZGlhVGltZWxpbmVS
ZWNvcmQoV0kuTWVkaWFUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRE9NRXZlbnQsIGRvbUV2ZW50
LnRpbWVzdGFtcCwgewpAQCAtMTI1Miw4ICsxMjU2LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfaGFuZGxlRE9N
Tm9kZUxvd1Bvd2VyQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRoaXMuX2lzQ2FwdHVyaW5nKTsKLQogICAgICAgICBsZXQge3RpbWVzdGFtcCwgaXNMb3dQb3dl
cn0gPSBldmVudC5kYXRhOwogCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcgV0kuTWVkaWFU
aW1lbGluZVJlY29yZChXSS5NZWRpYVRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Mb3dQb3dlciwg
dGltZXN0YW1wLCB7CkBAIC0xMjYzLDEzICsxMjY1LDE4IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9
IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgIH0KIH07CiAKK1dJ
LlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZSA9IHsKKyAgICBJbmFjdGl2ZTogImluYWN0
aXZlIiwKKyAgICBTdGFydGluZzogInN0YXJ0aW5nIiwKKyAgICBBY3RpdmU6ICJhY3RpdmUiLAor
ICAgIFN0b3BwaW5nOiAic3RvcHBpbmciLAorfTsKKwogV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50
ID0geworICAgIENhcHR1cmluZ1N0YXRlQ2hhbmdlZDogInRpbWVsaW5lLW1hbmFnZXItY2FwdHVy
aW5nLXN0YXJ0ZWQiLAogICAgIFJlY29yZGluZ0NyZWF0ZWQ6ICJ0aW1lbGluZS1tYW5hZ2VyLXJl
Y29yZGluZy1jcmVhdGVkIiwKICAgICBSZWNvcmRpbmdMb2FkZWQ6ICJ0aW1lbGluZS1tYW5hZ2Vy
LXJlY29yZGluZy1sb2FkZWQiLAogICAgIFJlY29yZGluZ0ltcG9ydGVkOiAidGltZWxpbmUtbWFu
YWdlci1yZWNvcmRpbmctaW1wb3J0ZWQiLAotICAgIENhcHR1cmluZ1dpbGxTdGFydDogInRpbWVs
aW5lLW1hbmFnZXItY2FwdHVyaW5nLXdpbGwtc3RhcnQiLAotICAgIENhcHR1cmluZ1N0YXJ0ZWQ6
ICJ0aW1lbGluZS1tYW5hZ2VyLWNhcHR1cmluZy1zdGFydGVkIiwKLSAgICBDYXB0dXJpbmdTdG9w
cGVkOiAidGltZWxpbmUtbWFuYWdlci1jYXB0dXJpbmctc3RvcHBlZCIKIH07CiAKIFdJLlRpbWVs
aW5lTWFuYWdlci5NYXhpbXVtQXV0b1JlY29yZER1cmF0aW9uID0gOTAwMDA7IC8vIDkwIHNlY29u
ZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9EZWZhdWx0RGFzaGJvYXJkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKaW5kZXggNjQ1Zjk5M2UwNDE5YmVhNzkzNGM2
MWZjMjNmMzRhZTdhYzZhM2Y2Yi4uYzhjYjlmNTYzNmQ0MGUzOWM3ZTM5MmVhNzNmYTVmNTAxNWQx
MjY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKQEAgLTMzLDcgKzMzLDcgQEAgV0ku
RGVmYXVsdERhc2hib2FyZCA9IGNsYXNzIERlZmF1bHREYXNoYm9hcmQgZXh0ZW5kcyBXSS5PYmpl
Y3QKIAogICAgICAgICAvLyBOZWNlc3NhcnkgZXZlbnQgcmVxdWlyZWQgdG8gdHJhY2sgcGFnZSBs
b2FkIHRpbWUgYW5kIHJlc291cmNlIHNpemVzLgogICAgICAgICBXSS5GcmFtZS5hZGRFdmVudExp
c3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcy5fbWFpblJl
c291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRo
aXMuX2NhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVD
aGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7
CiAKICAgICAgICAgLy8gTmVjZXNzYXJ5IGV2ZW50cyByZXF1aXJlZCB0byB0cmFjayBsb2FkIG9m
IHJlc291cmNlcy4KICAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5F
dmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsKQEAg
LTE2Myw4ICsxNjMsMTEgQEAgV0kuRGVmYXVsdERhc2hib2FyZCA9IGNsYXNzIERlZmF1bHREYXNo
Ym9hcmQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHRoaXMuX3RyYW5zaXRpb25pbmdQ
YWdlVGFyZ2V0ID0gZmFsc2U7CiAgICAgfQogCi0gICAgX2NhcHR1cmluZ1N0b3BwZWQoZXZlbnQp
CisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsK
KyAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpKQorICAgICAgICAg
ICAgcmV0dXJuOworCiAgICAgICAgIC8vIElmIHJlY29yZGluZyBzdG9wcywgd2Ugc2hvdWxkIHN0
b3AgdGhlIHRpbWVyIGlmIGl0IGhhc24ndCBzdG9wcGVkIGFscmVhZHkuCiAgICAgICAgIHRoaXMu
X3N0b3BVcGRhdGluZ1RpbWUoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2VydmVyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvQ1BVUHJvZmlsZXJPYnNl
cnZlci5qcwppbmRleCA0OWEyMzQ1YmRhNDJhZWIwN2RjMTRlYThiYjQwNTA5ZDc5ODY3ZTBlLi4w
NTEzNDcwYTc5YjFiNDhmYjYxYmQxMGNmZTk4NjA5MmM2ZWY3OGRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2Vy
dmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L0NQVVByb2ZpbGVyT2JzZXJ2ZXIuanMKQEAgLTM3LDggKzM3LDggQEAgV0kuQ1BVUHJvZmlsZXJP
YnNlcnZlciA9IGNsYXNzIENQVVByb2ZpbGVyT2JzZXJ2ZXIKICAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLmNwdVByb2ZpbGVyVHJhY2tpbmdVcGRhdGVkKGV2ZW50KTsKICAgICB9CiAKLSAgICB0
cmFja2luZ0NvbXBsZXRlKHNhbXBsZXMpCisgICAgdHJhY2tpbmdDb21wbGV0ZSh0aW1lc3RhbXAp
CiAgICAgewotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuY3B1UHJvZmlsZXJUcmFja2luZ0Nv
bXBsZXRlZChzYW1wbGVzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmNwdVByb2ZpbGVy
VHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTWVtb3J5T2JzZXJ2ZXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1vcnlP
YnNlcnZlci5qcwppbmRleCA3MjI0ZGUyNzdjNmJjNGRhYzM1MDM1OWI3NGNkZGFmNGRjMTg5ZGQx
Li5lODQyMjViYzRhYmUyYzMzZjgzYjc0ZjQ5ZjBmODA4ODgzNzlmMzZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1vcnlPYnNlcnZl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9N
ZW1vcnlPYnNlcnZlci5qcwpAQCAtNDIsOCArNDIsOCBAQCBXSS5NZW1vcnlPYnNlcnZlciA9IGNs
YXNzIE1lbW9yeU9ic2VydmVyCiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5tZW1vcnlUcmFj
a2luZ1VwZGF0ZWQoZXZlbnQpOwogICAgIH0KIAotICAgIHRyYWNraW5nQ29tcGxldGUoKQorICAg
IHRyYWNraW5nQ29tcGxldGUodGltZXN0YW1wKQogICAgIHsKLSAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLm1lbW9yeVRyYWNraW5nQ29tcGxldGVkKCk7CisgICAgICAgIFdJLnRpbWVsaW5lTWFu
YWdlci5tZW1vcnlUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXApOwogICAgIH0KIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9TY3Jp
cHRQcm9maWxlck9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvU2NyaXB0UHJvZmlsZXJPYnNlcnZlci5qcwppbmRleCBmMWI1NGNjNzcwMTdm
ZWYyY2VkOWM2NjA5MzViMjcxNzI5YzQ1MTA5Li42YjdiNTU4NjkyN2MzOTBhOGI5Zjg0YjYyYjcz
MTFhMzQ1MDAwZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Qcm90b2NvbC9TY3JpcHRQcm9maWxlck9ic2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIu
anMKQEAgLTM3LDE4ICszNywxOCBAQCBXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyID0gY2xhc3Mg
U2NyaXB0UHJvZmlsZXJPYnNlcnZlcgogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2NyaXB0
UHJvZmlsZXJUcmFja2luZ1VwZGF0ZWQoZXZlbnQpOwogICAgIH0KIAotICAgIHRyYWNraW5nQ29t
cGxldGUoc2FtcGxlcykKKyAgICB0cmFja2luZ0NvbXBsZXRlKHRpbWVzdGFtcCwgc2FtcGxlcykK
ICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zY3JpcHRQcm9maWxlclRyYWNraW5n
Q29tcGxldGVkKHNhbXBsZXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2NyaXB0UHJv
ZmlsZXJUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAsIHNhbXBsZXMpOwogICAgIH0KIAogICAg
IHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5zY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCk7CisgICAg
ICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMi4yKTogU2NyaXB0UHJvZmlsZXIucHJvZ3JhbW1h
dGljQ2FwdHVyZVN0YXJ0ZWQgd2FzIHJlbW92ZWQgYWZ0ZXIgaU9TIDEyLjIuCiAgICAgfQogCiAg
ICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQogICAgIHsKLSAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLnNjcmlwdFByb2ZpbGVyUHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKKyAg
ICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEyLjIpOiBTY3JpcHRQcm9maWxlci5wcm9ncmFt
bWF0aWNDYXB0dXJlU3RvcHBlZCB3YXMgcmVtb3ZlZCBhZnRlciBpT1MgMTIuMi4KICAgICB9CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvVGltZWxpbmVPYnNlcnZlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanMKaW5kZXggYmE5ZDAxOTkwM2M4YThkYWVm
NzVhMzViNGY1NTk0ZDEyNGYwY2M4Ni4uYzliMGFhN2Q2M2JlNTQ2OTRiYmExZmM5ZGFlMzczNDkz
ODg4N2Q2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvVGltZWxpbmVPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Qcm90b2NvbC9UaW1lbGluZU9ic2VydmVyLmpzCkBAIC00OSwxMSArNDks
MTEgQEAgV0kuVGltZWxpbmVPYnNlcnZlciA9IGNsYXNzIFRpbWVsaW5lT2JzZXJ2ZXIKIAogICAg
IHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOworICAgICAgICAvLyBDT01QQVRJ
QklMSVRZIChpT1MgMTIuMik6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIHdh
cyByZW1vdmVkIGFmdGVyIGlPUyAxMi4yLgogICAgIH0KIAogICAgIHByb2dyYW1tYXRpY0NhcHR1
cmVTdG9wcGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5wcm9ncmFtbWF0
aWNDYXB0dXJlU3RvcHBlZCgpOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIuMik6
IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkIHdhcyByZW1vdmVkIGFmdGVyIGlP
UyAxMi4yLgogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4
IDhjMWM1NmI5ZDI2NGU2NGVmMGZjZjMzMDFmZDJkNGQxNWIwOGU5YWMuLjRlN2M0MGEwMjUwYjRh
YTJmZmQ4OWM3YzgwMDliMDU2NTE4ODM5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBh
bmVsLmpzCkBAIC01NSw4ICs1NSw3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3Mg
RGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAKICAgICAg
ICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZl
bnQuRE9NTm9kZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hhbmdl
ZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcy5fdGltZWxp
bmVDYXB0dXJpbmdXaWxsU3RhcnQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBl
ZCwgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNh
cHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNo
YW5nZWQsIHRoaXMpOwogCiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLkF1ZGl0TWFuYWdlci5FdmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1h
bmFnZXJUZXN0U2NoZWR1bGVkLCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuQXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMuX2hh
bmRsZUF1ZGl0TWFuYWdlclRlc3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMjUxLDggKzI1MCw3IEBA
IFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0
ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlckRpZFBh
dXNlKG51bGwpOwogCiAgICAgICAgIGlmIChXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNE
aXNhYmxlZFRlbXBvcmFyaWx5KSB7Ci0gICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2Vy
LmlzQ2FwdHVyaW5nKCkpCi0gICAgICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdX
aWxsU3RhcnQoKTsKKyAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3Rh
dGVDaGFuZ2VkKCk7CiAKICAgICAgICAgICAgIGlmIChXSS5hdWRpdE1hbmFnZXIucnVubmluZ1N0
YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLkFjdGl2ZSB8fCBXSS5hdWRpdE1h
bmFnZXIucnVubmluZ1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLlN0b3Bw
aW5nKQogICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVs
ZWQoKTsKQEAgLTY0OCwxOSArNjQ2LDIwIEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xh
c3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBfdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoZXZlbnQpCisg
ICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAg
ICAgICAgdGhpcy5fdXBkYXRlVGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9ucygp
OwogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5f
dGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50
LmZpcnN0Q2hpbGQpOwotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0Rpc2FibGVkQmFu
bmVyKCk7Ci0gICAgfQorICAgICAgICBzd2l0Y2ggKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJp
bmdTdGF0ZSkgeworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0
ZS5TdGFydGluZzoKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRC
ZWZvcmUodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250ZW50
Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBfdGlt
ZWxpbmVDYXB0dXJpbmdTdG9wcGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fdXBkYXRl
VGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9ucygpOworICAgICAgICBjYXNlIFdJ
LlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIHRo
aXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQucmVtb3ZlKCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fy
bmluZ0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJyZWFrcG9pbnRzRGlz
YWJsZWRCYW5uZXIoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwuanMKaW5kZXggNTY4YTNjZDVkYTkwZGM2YmY2YmIzZDQ4MjkzMmJhZDEw
ZjhlZjFiNi4uZjBlOTRmYmFkMTZmMDAwODJlM2RjOWVmOTUxZWZkZDEyYTJiYmViMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05h
dmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTI4Miw4
ICsyODIsNyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICBXSS5jb25zb2xlTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lklzc3VlQWRkZWQs
IHRoaXMuX2hhbmRsZUNvbnNvbGVJc3N1ZUFkZGVkLCB0aGlzKTsKICAgICAgICAgV0kuY29uc29s
ZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5DbGVhcmVk
LCB0aGlzLl9oYW5kbGVDb25zb2xlQ2xlYXJlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1
cmluZ1dpbGxTdGFydCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQsIHRo
aXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVD
YXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdl
ZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMpOwogCiAg
ICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdlci5F
dmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0U2NoZWR1bGVk
LCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQXVk
aXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRl
c3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMzM3LDggKzMzNiw3IEBAIFdJLlNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0
ZW5kcyBXCiAgICAgICAgICAgICB0aGlzLl9oYW5kbGVEZWJ1Z2dlclBhdXNlZCgpOwogCiAgICAg
ICAgIGlmIChXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNEaXNhYmxlZFRlbXBvcmFyaWx5
KSB7Ci0gICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2VyLmlzQ2FwdHVyaW5nKCkpCi0g
ICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoKTsK
KyAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKCk7
CiAKICAgICAgICAgICAgIGlmIChXSS5hdWRpdE1hbmFnZXIucnVubmluZ1N0YXRlID09PSBXSS5B
dWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLkFjdGl2ZSB8fCBXSS5hdWRpdE1hbmFnZXIucnVubmlu
Z1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLlN0b3BwaW5nKQogICAgICAg
ICAgICAgICAgIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQoKTsKQEAgLTE4
MjAsMzQgKzE4MTgsMzMgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFz
cyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgaXNzdWVU
cmVlRWxlbWVudHMuZm9yRWFjaCgodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50LnBhcmVudC5y
ZW1vdmVDaGlsZCh0cmVlRWxlbWVudCkpOwogICAgIH0KIAotICAgIF9oYW5kbGVUaW1lbGluZUNh
cHR1cmluZ1dpbGxTdGFydChldmVudCkKKyAgICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0
ZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLl91cGRhdGVUZW1wb3JhcmlseURp
c2FibGVkQnJlYWtwb2ludHNCdXR0b25zKCk7CiAKLSAgICAgICAgaWYgKCF0aGlzLl90aW1lbGlu
ZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7Ci0gICAgICAgICAgICBsZXQgc3RvcFJlY29yZGlu
Z0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwotICAgICAgICAgICAg
c3RvcFJlY29yZGluZ0J1dHRvbi50ZXh0Q29udGVudCA9IFdJLlVJU3RyaW5nKCJTdG9wIHJlY29y
ZGluZyIpOwotICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsICgpID0+IHsKLSAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3Rv
cENhcHR1cmluZygpOwotICAgICAgICAgICAgfSk7CisgICAgICAgIHN3aXRjaCAoV0kudGltZWxp
bmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5h
Z2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nOgorICAgICAgICAgICAgaWYgKCF0aGlzLl90aW1l
bGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICAgICAgbGV0IHN0b3BS
ZWNvcmRpbmdCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAgICAg
ICAgICAgICAgICBzdG9wUmVjb3JkaW5nQnV0dG9uLnRleHRDb250ZW50ID0gV0kuVUlTdHJpbmco
IlN0b3AgcmVjb3JkaW5nIik7CisgICAgICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgV0ku
dGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKKyAgICAgICAgICAgICAgICB9KTsKIAot
ICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNv
cmRpbmdXYXJuaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3YXJuaW5nLWJhbm5lciIpOwotICAg
ICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5hcHBlbmQoV0ku
VUlTdHJpbmcoIkRlYnVnZ2VyIGRpc2FibGVkIGR1cmluZyBUaW1lbGluZSByZWNvcmRpbmciKSwg
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSwgc3RvcFJlY29yZGluZ0J1dHRvbik7Ci0gICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICAgICAgdGhp
cy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3YXJuaW5n
LWJhbm5lciIpOworICAgICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fybmlu
Z0VsZW1lbnQuYXBwZW5kKFdJLlVJU3RyaW5nKCJEZWJ1Z2dlciBkaXNhYmxlZCBkdXJpbmcgVGlt
ZWxpbmUgcmVjb3JkaW5nIiksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIiksIHN0b3BSZWNv
cmRpbmdCdXR0b24pOworICAgICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcu
ZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVu
dCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgdGhp
cy5jb250ZW50Vmlldy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl90aW1lbGluZVJlY29yZGlu
Z1dhcm5pbmdFbGVtZW50LCB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuZmlyc3RDaGlsZCk7Cisg
ICAgICAgICAgICBicmVhazsKIAotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0Rpc2Fi
bGVkQmFubmVyKCk7Ci0gICAgfQotCi0gICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RvcHBl
ZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZVRlbXBvcmFyaWx5RGlzYWJsZWRC
cmVha3BvaW50c0J1dHRvbnMoKTsKLQotICAgICAgICBpZiAodGhpcy5fdGltZWxpbmVSZWNvcmRp
bmdXYXJuaW5nRWxlbWVudCkgewotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdX
YXJuaW5nRWxlbWVudC5yZW1vdmUoKTsKLSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3Jk
aW5nV2FybmluZ0VsZW1lbnQgPSBudWxsOworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdl
ci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIGlmICh0aGlzLl90aW1lbGlu
ZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICAgICAgdGhpcy5fdGltZWxp
bmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICB0aGlz
Ll90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fdXBkYXRlQnJl
YWtwb2ludHNEaXNhYmxlZEJhbm5lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKaW5kZXgg
YTE1NjBlOTRmM2VhNDczM2VjNjlmYTg4NjM4ODdkNGQ5NWU3ZTA0NS4uM2NlYzRmYjc3ZTdmZTI2
OTdhMGUwYTVjNjBlNGUzN2Q4ODY3ODNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCkBA
IC0xMTYsOSArMTE2LDggQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAgICAgdGhpcy5fdmlld01vZGVEaWRDaGFuZ2Uo
KTsKIAorICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1l
bGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5lTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdJ
bXBvcnRlZCwgdGhpcy5fcmVjb3JkaW5nSW1wb3J0ZWQsIHRoaXMpOwotICAgICAgICBXSS50aW1l
bGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2Fw
dHVyaW5nU3RhcnRlZCwgdGhpcy5fY2FwdHVyaW5nU3RhcnRlZCwgdGhpcyk7Ci0gICAgICAgIFdJ
LnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVu
dC5DYXB0dXJpbmdTdG9wcGVkLCB0aGlzLl9jYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKICAgICB9
CiAKICAgICAvLyBJbXBvcnQgLyBFeHBvcnQKQEAgLTEwMzIsNiArMTAzMSwyMCBAQCBXSS5UaW1l
bGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgdGhpcy5fZWRpdGluZ0luc3RydW1lbnRzRGlkQ2hhbmdlKCk7CiAgICAgfQogCisgICAg
X2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQorICAgIHsKKyAgICAg
ICAgc3dpdGNoIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAgICAg
Y2FzZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlOgorICAgICAgICAg
ICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHRoaXMuX3N0b3BFZGl0aW5nSW5zdHJ1bWVudHMoKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0aXZl
OgorICAgICAgICAgICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSB0cnVl
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKICAgICBfcmVjb3JkaW5n
SW1wb3J0ZWQoZXZlbnQpCiAgICAgewogICAgICAgICBsZXQge292ZXJ2aWV3RGF0YX0gPSBldmVu
dC5kYXRhOwpAQCAtMTA1NSwxNyArMTA2OCw2IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFz
cyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAgfQogCi0g
ICAgX2NhcHR1cmluZ1N0YXJ0ZWQoZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9lZGl0SW5z
dHJ1bWVudHNCdXR0b24uZW5hYmxlZCA9IGZhbHNlOwotICAgICAgICB0aGlzLl9zdG9wRWRpdGlu
Z0luc3RydW1lbnRzKCk7Ci0gICAgfQotCi0gICAgX2NhcHR1cmluZ1N0b3BwZWQoZXZlbnQpCi0g
ICAgewotICAgICAgICB0aGlzLl9lZGl0SW5zdHJ1bWVudHNCdXR0b24uZW5hYmxlZCA9IHRydWU7
Ci0gICAgfQotCiAgICAgX2NvbXBhcmVUaW1lbGluZVRyZWVFbGVtZW50cyhhLCBiKQogICAgIHsK
ICAgICAgICAgbGV0IGFUaW1lbGluZVR5cGUgPSBhLnJlcHJlc2VudGVkT2JqZWN0LnR5cGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCAwZTE2
OTczMjBjYWMyMGQxMTE4NTg5YWNlNzkzNjZlMjlkZGI0NTY3Li41NjI5MmNjZjc4MjczNmI2ZDBm
YmVmMWY4NTExZjYzMmI1ZTkzYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcuanMKQEAgLTEwMiw4ICsxMDIsNyBAQCBXSS5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRz
IFdJLgogICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGlu
ZVJlY29yZGluZy5FdmVudC5SZXNldCwgdGhpcy5fcmVjb3JkaW5nUmVzZXQsIHRoaXMpOwogICAg
ICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZVJlY29yZGlu
Zy5FdmVudC5VbmxvYWRlZCwgdGhpcy5fcmVjb3JkaW5nVW5sb2FkZWQsIHRoaXMpOwogCi0gICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdl
ci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkLCB0aGlzKTsK
LSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVN
YW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0b3BwZWQsIHRo
aXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1l
bGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuZGVidWdnZXJN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
dGhpcy5fZGVidWdnZXJQYXVzZWQsIHRoaXMpOwogICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUmVzdW1lZCwgdGhpcy5f
ZGVidWdnZXJSZXN1bWVkLCB0aGlzKTsKQEAgLTUxMCw0MCArNTA5LDQzIEBAIFdJLlRpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBfY2FwdHVyaW5nU3RhcnRlZChl
dmVudCkKKyAgICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQoZXZlbnQpCiAg
ICAgeworICAgICAgICBsZXQge3N0YXJ0VGltZSwgZW5kVGltZX0gPSBldmVudC5kYXRhOworCiAg
ICAgICAgIHRoaXMuX3VwZGF0ZVByb2dyZXNzVmlldygpOwogCi0gICAgICAgIGxldCBzdGFydFRp
bWUgPSBldmVudC5kYXRhLnN0YXJ0VGltZTsKLSAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZykK
LSAgICAgICAgICAgIHRoaXMuX3N0YXJ0VXBkYXRpbmdDdXJyZW50VGltZShzdGFydFRpbWUpOwot
ICAgICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICF0aGlz
Ll9yZWNvcmRpbmcucmVhZG9ubHk7Ci0gICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgc3dpdGNoIChXSS50aW1lbGluZU1hbmFn
ZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAgICAgY2FzZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuQWN0aXZlOgorICAgICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZykKKyAg
ICAgICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0aW5nQ3VycmVudFRpbWUoc3RhcnRUaW1lKTsK
IAotICAgICAgICAvLyBBIGRpc2NvbnRpbnVpdHkgb2NjdXJzIHdoZW4gdGhlIHJlY29yZGluZyBp
cyBzdG9wcGVkIGFuZCByZXN1bWVkIGF0Ci0gICAgICAgIC8vIGEgZnV0dXJlIHRpbWUuIENhcHR1
cmluZyBzdGFydGVkIHNpZ25hbHMgdGhlIGVuZCBvZiB0aGUgY3VycmVudAotICAgICAgICAvLyBk
aXNjb250aW51aXR5LCBpZiBvbmUgZXhpc3RzLgotICAgICAgICBpZiAoIWlzTmFOKHRoaXMuX2Rp
c2NvbnRpbnVpdHlTdGFydFRpbWUpKSB7Ci0gICAgICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRk
RGlzY29udGludWl0eSh0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lLCBzdGFydFRpbWUpOwot
ICAgICAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IE5hTjsKKyAgICAgICAg
ICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gIXRoaXMuX3Jl
Y29yZGluZy5yZWFkb25seTsKKyAgICAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgLy8gQSBkaXNjb250aW51aXR5
IG9jY3VycyB3aGVuIHRoZSByZWNvcmRpbmcgaXMgc3RvcHBlZCBhbmQgcmVzdW1lZCBhdAorICAg
ICAgICAgICAgLy8gYSBmdXR1cmUgdGltZS4gQ2FwdHVyaW5nIHN0YXJ0ZWQgc2lnbmFscyB0aGUg
ZW5kIG9mIHRoZSBjdXJyZW50CisgICAgICAgICAgICAvLyBkaXNjb250aW51aXR5LCBpZiBvbmUg
ZXhpc3RzLgorICAgICAgICAgICAgaWYgKCFpc05hTih0aGlzLl9kaXNjb250aW51aXR5U3RhcnRU
aW1lKSkgeworICAgICAgICAgICAgICAgIHRoaXMuX3JlY29yZGluZy5hZGREaXNjb250aW51aXR5
KHRoaXMuX2Rpc2NvbnRpbnVpdHlTdGFydFRpbWUsIHN0YXJ0VGltZSk7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IE5hTjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1
cmluZ1N0YXRlLkluYWN0aXZlOgorICAgICAgICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nKQorICAg
ICAgICAgICAgICAgIHRoaXMuX3N0b3BVcGRhdGluZ0N1cnJlbnRUaW1lKCk7CisKKyAgICAgICAg
ICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcpCisgICAgICAgICAgICAgICAgdGhpcy5f
dXBkYXRlVGltZWxpbmVWaWV3VGltZXModGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KTsKKworICAg
ICAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IGVuZFRpbWUgfHwgdGhpcy5f
Y3VycmVudFRpbWU7CisKKyAgICAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgIH0KIAotICAgIF9jYXB0dXJpbmdTdG9wcGVkKGV2ZW50KQot
ICAgIHsKLSAgICAgICAgdGhpcy5fdXBkYXRlUHJvZ3Jlc3NWaWV3KCk7Ci0KLSAgICAgICAgaWYg
KHRoaXMuX3VwZGF0aW5nKQotICAgICAgICAgICAgdGhpcy5fc3RvcFVwZGF0aW5nQ3VycmVudFRp
bWUoKTsKLQotICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KQotICAgICAgICAg
ICAgdGhpcy5fdXBkYXRlVGltZWxpbmVWaWV3VGltZXModGhpcy5jdXJyZW50VGltZWxpbmVWaWV3
KTsKLQotICAgICAgICB0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lID0gZXZlbnQuZGF0YS5l
bmRUaW1lIHx8IHRoaXMuX2N1cnJlbnRUaW1lOwotCi0gICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRv
bk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7Ci0g
ICAgfQotCiAgICAgX2RlYnVnZ2VyUGF1c2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKHRo
aXMuX3VwZGF0aW5nKQpAQCAtNzMxLDggKzczMyw3IEBAIFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdXBkYXRpbmcpOwogCi0gICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkLCB0aGlz
KTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0b3Bw
ZWQsIHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cihudWxsLCBudWxsLCB0aGlzKTsKICAgICB9CiAKICAgICBfdGltZVJhbmdlU2VsZWN0aW9uQ2hh
bmdlZChldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDRk
MDg1ZjdkOTk0M2ZmY2Y4YzFkMDRiMGJiNDAwMmMyZTIxYzRhOGMuLjhkZWE3NzEyMzI2ZjYzNjFl
MGRmODJlNTRkYTljMTI1NzRjMGQ1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50
Vmlldy5qcwpAQCAtNzEsMTIgKzcxLDEwIEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcgPSBj
bGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAgICAg
ICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLm5hdmlnYXRpb25CYXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5hdmlnYXRpb25JdGVtU2VsZWN0ZWQsIHRoaXMuX3Zp
ZXdNb2RlU2VsZWN0ZWQsIHRoaXMpOwogICAgICAgICB9CiAKKyAgICAgICAgV0kudGltZWxpbmVN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmlu
Z1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQs
IHRoaXMpOwogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5U
aW1lbGluZU1hbmFnZXIuRXZlbnQuUmVjb3JkaW5nQ3JlYXRlZCwgdGhpcy5fcmVjb3JkaW5nQ3Jl
YXRlZCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdMb2FkZWQsIHRoaXMuX3JlY29yZGlu
Z0xvYWRlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXJ0ZWQsIHRoaXMuX2Nh
cHR1cmluZ1N0YXJ0ZWRPclN0b3BwZWQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3Rv
cHBlZCwgdGhpcy5fY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBlZCwgdGhpcyk7Ci0KICAgICAgICAg
V0kubm90aWZpY2F0aW9ucy5hZGRFdmVudExpc3RlbmVyKFdJLk5vdGlmaWNhdGlvbi5WaXNpYmls
aXR5U3RhdGVEaWRDaGFuZ2UsIHRoaXMuX2luc3BlY3RvclZpc2liaWxpdHlDaGFuZ2VkLCB0aGlz
KTsKICAgICAgICAgV0kubm90aWZpY2F0aW9ucy5hZGRFdmVudExpc3RlbmVyKFdJLk5vdGlmaWNh
dGlvbi5HbG9iYWxNb2RpZmllcktleXNEaWRDaGFuZ2UsIHRoaXMuX2dsb2JhbE1vZGlmaWVyS2V5
c0RpZENoYW5nZSwgdGhpcyk7CiAKQEAgLTQyNSwxMCArNDIzLDE1IEBAIFdJLlRpbWVsaW5lVGFi
Q29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudEJyb3dzCiAgICAgICAgICAgICB0aGlzLl9zaG93Q29udGludWVCdXR0b24oKTsKICAgICB9
CiAKLSAgICBfY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBlZChldmVudCkKKyAgICBfaGFuZGxlVGlt
ZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBsZXQgaXND
YXB0dXJpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0dXJpbmcoKTsKLSAgICAgICAgdGhp
cy5fcmVjb3JkQnV0dG9uLnRvZ2dsZWQgPSBpc0NhcHR1cmluZzsKKyAgICAgICAgbGV0IGVuYWJs
ZWQgPSBXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09IFdJLlRpbWVsaW5lTWFu
YWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUgfHwgV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmlu
Z1N0YXRlID09PSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7CisK
KyAgICAgICAgdGhpcy5fdG9nZ2xlUmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQgPSAhZW5hYmxl
ZDsKKyAgICAgICAgdGhpcy5fdG9nZ2xlTmV3UmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQgPSAh
ZW5hYmxlZDsKKworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b24udG9nZ2xlZCA9IFdJLnRpbWVs
aW5lTWFuYWdlci5pc0NhcHR1cmluZygpOworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b24uZW5h
YmxlZCA9IGVuYWJsZWQ7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlTmF2aWdhdGlvbkJhckJ1dHRv
bnMoKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmYwMzM1MDFhNDQ2NTBlZDk2YmJhZThiYzcyZjc5OTNlNDIz
YjQ0Yi4uNGNhMThiMDdkOTkwYTkxNTA2YjUxZTYxZmE0ZWUzZDNmNDVlNTczOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE5LTA0LTExICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0
b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgICogaW5zcGVj
dG9yL3RpbWVsaW5lL2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13aGls
ZS1yZWNvcmRpbmcuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvbGluZS1jb2x1
bW4uaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvcmVjb3JkaW5nLXN0YXJ0LXN0
b3AtdGltZXN0YW1wcy5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS9yZXNvdXJj
ZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci90aW1l
bGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXJlY29y
ZGluZy5odG1sOgorCiAyMDE5LTA0LTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBMYXlvdXQgdGVzdCBhY2Nlc3NpYmlsaXR5L2Fy
aWEtaGlkZGVuLWZhbHNlLXdvcmtzLWluLXN1YnRyZWVzLmh0bWwgZmFpbHMgYWZ0ZXIgcjE4NDg5
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2VyLXBh
dXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS9kZWJ1Z2dlci1wYXVzZWQtd2hpbGUtcmVjb3JkaW5nLmh0bWwKaW5kZXggN2NmNjhiNGJmMmEz
MDE2OGRiNDBmMzIzZjc0ZWQ1MDA1MDBmMDRkNS4uOTE1YWIwOWJkOTMyOTRjMGIzMmRhMzk1Y2E1
M2M4NTk3NDYyMWIyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvZGVidWdnZXItcGF1c2VkLXdoaWxlLXJlY29yZGluZy5odG1sCkBA
IC01NCw3ICs1NCwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB9KTsKIAogICAgIC8vIFdoZW4g
dGltZWxpbmUgY2FwdHVyaW5nIHN0b3BzLCBpbnNwZWN0IHRoZSByZXN1bHRpbmcgdGltZWxpbmUg
cmVjb3JkcyBmb3IgYSBwcm9maWxlLgotICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCBmdW5jdGlv
bihldmVudCkgeworICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRp
bWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIChldmVudCkgPT4gewor
ICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlICE9PSBXSS5UaW1l
bGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47
CisKICAgICAgICAgdmFyIHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNv
cmRpbmc7CiAgICAgICAgIHZhciBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMu
Z2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKICAgICAgICAgY29uc29sZS5hc3Nl
cnQoc2NyaXB0VGltZWxpbmUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL2V4Y2VwdGlvbi1pbi1pbmplY3RlZC1zY3JpcHQtd2hpbGUtcmVjb3JkaW5nLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNj
cmlwdC13aGlsZS1yZWNvcmRpbmcuaHRtbAppbmRleCAzODE4MjBiNTI0MzQyMjhjZTI5YmY2MTM2
MjQ1NzA5ODY3ZjlmMzRhLi4xYjUyYmMwMmE2NDk4NThhYWViNGFkYjZmMDcxY2QzNWYxMGYxMTMz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWlu
LWluamVjdGVkLXNjcmlwdC13aGlsZS1yZWNvcmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13aGlsZS1yZWNv
cmRpbmcuaHRtbApAQCAtNjAsNyArNjAsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgfQogCiAg
ICAgLy8gV2hlbiB0aW1lbGluZSBjYXB0dXJpbmcgc3RvcHMsIGluc3BlY3QgdGhlIHJlc3VsdGlu
ZyB0aW1lbGluZSByZWNvcmRzIGZvciBhIHByb2ZpbGUuCi0gICAgV0kudGltZWxpbmVNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3Bw
ZWQsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgKGV2
ZW50KSA9PiB7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUg
IT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkKKyAgICAgICAg
ICAgIHJldHVybjsKKwogICAgICAgICB2YXIgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2Vy
LmFjdGl2ZVJlY29yZGluZzsKICAgICAgICAgdmFyIHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5n
LnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOwogICAgICAgICBj
b25zb2xlLmFzc2VydChzY3JpcHRUaW1lbGluZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvbGluZS1jb2x1bW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS9saW5lLWNvbHVtbi5odG1sCmluZGV4IDhmN2M0N2I0NjRmMjNhZWU5ZmY0ZDA2
ZGRjZjQ5OTdjODliMjY1ODIuLjU1YzVjNTdkYTkxYTQ1ZTU4YTMzYzFmYjI1NWU3OWEzZGVhNTMw
OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9saW5lLWNvbHVt
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9saW5lLWNvbHVtbi5o
dG1sCkBAIC03NywxMSArNzcsMTEgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgICAg
ICAgICAgUHJvdG9jb2xUZXN0LmxvZyhKU09OLnN0cmluZ2lmeShldmVudC5wYXJhbXMucmVjb3Jk
LCByZXBsYWNlciwgMikpOwogICAgICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICAgICAg
aGFuZGxlRXZlbnQoIlRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIiwgKCkgPT4g
eworICAgICAgICAgICAgICAgIGhhbmRsZUV2ZW50KCJUaW1lbGluZS5yZWNvcmRpbmdTdGFydGVk
IiwgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiQ2FwdHVy
aW5nIHN0YXJ0ZWQuIik7CiAgICAgICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgICAgICBo
YW5kbGVFdmVudCgiVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQiLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgaGFuZGxlRXZlbnQoIlRpbWVsaW5lLnJlY29yZGluZ1N0b3BwZWQi
LCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJDYXB0dXJp
bmcgc3RvcHBlZC4iKTsKIAogICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBldmVudE5hbWUg
b2YgZXZlbnROYW1lcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS9yZWNvcmRpbmctc3RhcnQtc3RvcC10aW1lc3RhbXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvcmVjb3JkaW5nLXN0YXJ0LXN0b3AtdGltZXN0YW1wcy5odG1sCmluZGV4
IGZkMTU5YjM4NTg4ZmEwZGViN2M2YWRjYWFmN2YyNDkwNjY4MWQ5NTkuLmJlZTA1MWQ1ZDViOTFk
OTVlNGI0MGIzODMzN2U5ODZkN2YzNDY2MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS9yZWNvcmRpbmctc3RhcnQtc3RvcC10aW1lc3RhbXBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3JlY29yZGluZy1zdGFydC1zdG9wLXRpbWVz
dGFtcHMuaHRtbApAQCAtMTMsMzkgKzEzLDQzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygoY29uZGl0aW9uID8gIlBBU1MiIDogIkZBSUwiKSArICI6ICIgKyBt
ZXNzYWdlKTsKICAgICB9CiAKLSAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhcnRlZCwgZnVuY3Rpb24oZXZl
bnQpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRhdGEuc3Rh
cnRUaW1lID09PSAibnVtYmVyIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50
LmRhdGEuc3RhcnRUaW1lID4gMCk7CisgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgKGV2
ZW50KSA9PiB7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUg
PT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUpIHsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBldmVudC5kYXRhLnN0YXJ0VGltZSA9PT0g
Im51bWJlciIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5z
dGFydFRpbWUgPiAwKTsKIAotICAgICAgICBpZiAoaXNOYU4ocmVjb3JkaW5nU3RhcnRUaW1lKSkg
ewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBDYXB0dXJpbmdTdGFy
dGVkIGhhZCBzdGFydFRpbWUiKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuc3RhcnRUaW1lID4gcmVjb3JkaW5nU3RhcnRUaW1l
LCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1cmluZ1N0
YXJ0ZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAybmQgQ2FwdHVy
aW5nU3RhcnRlZCBoYWQgc3RhcnRUaW1lID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuc3RhcnRUaW1lID4gcmVjb3Jk
aW5nRW5kVGltZSwgIkZBSUw6IDJuZCBDYXB0dXJpbmdTdGFydGVkIHNob3VsZCBiZSA+IDFzdCBD
YXB0dXJpbmdTdG9wcGVkIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUEFTUzog
Mm5kIENhcHR1cmluZ1N0YXJ0ZWQgaGFkIHN0YXJ0VGltZSA+IDFzdCBDYXB0dXJpbmdTdG9wcGVk
Iik7CisgICAgICAgICAgICBpZiAoaXNOYU4ocmVjb3JkaW5nU3RhcnRUaW1lKSkgeworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAxc3QgQ2FwdHVyaW5nU3RhcnRlZCBo
YWQgc3RhcnRUaW1lIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuc3RhcnRUaW1lID4gcmVjb3JkaW5nU3RhcnRU
aW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1cmlu
Z1N0YXJ0ZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUEFTUzogMm5k
IENhcHR1cmluZ1N0YXJ0ZWQgaGFkIHN0YXJ0VGltZSA+IDFzdCBDYXB0dXJpbmdTdGFydGVkIik7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5zdGFydFRp
bWUgPiByZWNvcmRpbmdFbmRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hvdWxk
IGJlID4gMXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiUEFTUzogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgaGFkIHN0YXJ0VGltZSA+IDFzdCBD
YXB0dXJpbmdTdG9wcGVkIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJlY29yZGlu
Z1N0YXJ0VGltZSA9IGV2ZW50LmRhdGEuc3RhcnRUaW1lOworICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgcmVjb3JkaW5nU3RhcnRUaW1lID0gZXZlbnQuZGF0YS5zdGFy
dFRpbWU7Ci0gICAgfSk7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5n
U3RhdGUgPT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkgewor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRhdGEuZW5kVGlt
ZSA9PT0gIm51bWJlciIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQu
ZGF0YS5lbmRUaW1lID4gMCk7CiAKLSAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgZnVuY3Rpb24o
ZXZlbnQpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRhdGEu
ZW5kVGltZSA9PT0gIm51bWJlciIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVu
dC5kYXRhLmVuZFRpbWUgPiAwKTsKKyAgICAgICAgICAgIGlmIChpc05hTihyZWNvcmRpbmdFbmRU
aW1lKSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAxc3QgQ2Fw
dHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KGV2ZW50LmRhdGEuZW5kVGltZSA+IHJlY29yZGluZ1N0YXJ0VGltZSwgIkZBSUw6
IDFzdCBDYXB0dXJpbmdTdG9wcGVkIHNob3VsZCBiZSA+IDFzdCBDYXB0dXJpbmdTdGFydGVkIik7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBDYXB0dXJpbmdT
dG9wcGVkIGhhZCBlbmRUaW1lID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0
YS5lbmRUaW1lID4gcmVjb3JkaW5nRW5kVGltZSwgIkZBSUw6IDJuZCBDYXB0dXJpbmdTdG9wcGVk
IHNob3VsZCBiZSA+IDFzdCBDYXB0dXJpbmdTdG9wcGVkIik7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJpbmdTdG9wcGVkIGhhZCBlbmRUaW1lID4g
MXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydChldmVudC5kYXRhLmVuZFRpbWUgPiByZWNvcmRpbmdTdGFydFRpbWUsICJGQUlMOiAybmQg
Q2FwdHVyaW5nU3RvcHBlZCBzaG91bGQgYmUgPiAybmQgQ2FwdHVyaW5nU3RhcnRlZCIpOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAybmQgQ2FwdHVyaW5nU3RvcHBl
ZCBoYWQgZW5kVGltZSA+IDJuZCBDYXB0dXJpbmdTdGFydGVkIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICBp
ZiAoaXNOYU4ocmVjb3JkaW5nRW5kVGltZSkpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJQQVNTOiAxc3QgQ2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5lbmRUaW1lID4gcmVjb3JkaW5nU3Rh
cnRUaW1lLCAiRkFJTDogMXN0IENhcHR1cmluZ1N0b3BwZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1
cmluZ1N0YXJ0ZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAxc3Qg
Q2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSA+IDFzdCBDYXB0dXJpbmdTdGFydGVkIik7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5k
YXRhLmVuZFRpbWUgPiByZWNvcmRpbmdFbmRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0b3Bw
ZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJQQVNTOiAybmQgQ2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSA+IDFz
dCBDYXB0dXJpbmdTdG9wcGVkIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChl
dmVudC5kYXRhLmVuZFRpbWUgPiByZWNvcmRpbmdTdGFydFRpbWUsICJGQUlMOiAybmQgQ2FwdHVy
aW5nU3RvcHBlZCBzaG91bGQgYmUgPiAybmQgQ2FwdHVyaW5nU3RhcnRlZCIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJpbmdTdG9wcGVkIGhhZCBlbmRU
aW1lID4gMm5kIENhcHR1cmluZ1N0YXJ0ZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICByZWNvcmRpbmdFbmRUaW1lID0gZXZlbnQuZGF0
YS5lbmRUaW1lOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0KLSAgICAgICAgcmVj
b3JkaW5nRW5kVGltZSA9IGV2ZW50LmRhdGEuZW5kVGltZTsKICAgICB9KTsKIAogICAgIFRpbWVs
aW5lQWdlbnQuc3RhcnQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcwpp
bmRleCBiMGU0MTI3NjNlZDlhOTlmMDJhMWVhZTU2MzdkNmI4M2ZhMTY0ODgxLi5iN2NmZmVmZjY1
NWM4NDNmYjE1MDkzZWQyYWRiYjZhNmE1ZDNjYWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2
ZW50LXV0aWxpdGllcy5qcwpAQCAtMTAsMzQgKzEwLDQwIEBAIFRlc3RQYWdlLnJlZ2lzdGVySW5p
dGlhbGl6ZXIoKCkgPT4gewogCiAgICAgICAgIGxldCBwcm9taXNlID0gbmV3IFdJLldyYXBwZWRQ
cm9taXNlOwogCi0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hd2FpdEV2ZW50KFdJLlRpbWVs
aW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkKS50aGVuKChjYXB0dXJpbmdTdG9wcGVk
RXZlbnQpID0+IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBhZ2VSZWNvcmRp
bmdEYXRhLCAic2F2ZVBhZ2VEYXRhIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGluIHRoZSBwYWdl
IGJlZm9yZSBjYXB0dXJpbmcgd2FzIHN0b3BwZWQuIik7Ci0gICAgICAgICAgICBwcm9taXNlLnJl
c29sdmUocGFnZVJlY29yZGluZ0RhdGEpOworICAgICAgICBsZXQgbGlzdGVuZXIgPSBXSS50aW1l
bGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2Fw
dHVyaW5nU3RhdGVDaGFuZ2VkLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIGlmIChXSS50aW1l
bGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJp
bmdTdGF0ZS5BY3RpdmUpIHsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGlt
ZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0
VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBl
LlNjcmlwdCk7CisKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkQWRkZWRMaXN0ZW5lciA9IHNj
cmlwdFRpbWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRk
ZWQsIChyZWNvcmRBZGRlZEV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGxldCB7cmVj
b3JkfSA9IHJlY29yZEFkZGVkRXZlbnQuZGF0YTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJl
Y29yZC5ldmVudFR5cGUgIT09IGV2ZW50VHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICAgICAgICAgICAgICBzY3JpcHRUaW1lbGluZS5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCByZWNvcmRBZGRlZExpc3RlbmVy
KTsKKworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RvcHBpbmcgQ2Fw
dHVyZS4uLiIpOworICAgICAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3RvcENh
cHR1cmluZygpOworICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIkV2YWx1YXRpbmcuLi4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24pCisgICAgICAgICAgICAgICAgLmNhdGNoKHBy
b21pc2UucmVqZWN0KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09IFdJ
LlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkgeworICAgICAgICAgICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIGxpc3RlbmVyKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChwYWdlUmVjb3JkaW5nRGF0YSwgInNhdmVQYWdlRGF0
YSBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBpbiB0aGUgcGFnZSBiZWZvcmUgY2FwdHVyaW5nIHdh
cyBzdG9wcGVkLiIpOworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShwYWdlUmVjb3Jk
aW5nRGF0YSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAg
ICB9KTsKIAogICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQoIlNhdmVQYWdlRGF0YSIp
LnRoZW4oKGV2ZW50KSA9PiB7CiAgICAgICAgICAgICBwYWdlUmVjb3JkaW5nRGF0YSA9IGV2ZW50
LmRhdGE7CiAgICAgICAgIH0pOwogCi0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hd2FpdEV2
ZW50KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkKS50aGVuKChjYXB0
dXJpbmdTdGFydGVkRXZlbnQpID0+IHsKLSAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50
aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOwotICAgICAgICAgICAgbGV0IHNjcmlwdFRp
bWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5T
Y3JpcHQpOwotCi0gICAgICAgICAgICBsZXQgcmVjb3JkQWRkZWRMaXN0ZW5lciA9IHNjcmlwdFRp
bWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRkZWQsIChy
ZWNvcmRBZGRlZEV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgbGV0IHtyZWNvcmR9ID0gcmVj
b3JkQWRkZWRFdmVudC5kYXRhOwotICAgICAgICAgICAgICAgIGlmIChyZWNvcmQuZXZlbnRUeXBl
ICE9PSBldmVudFR5cGUpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAg
ICAgICAgIHNjcmlwdFRpbWVsaW5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZl
bnQuUmVjb3JkQWRkZWQsIHJlY29yZEFkZGVkTGlzdGVuZXIpOwotCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIlN0b3BwaW5nIENhcHR1cmUuLi4iKTsKLSAgICAgICAgICAgICAg
ICBXSS50aW1lbGluZU1hbmFnZXIuc3RvcENhcHR1cmluZygpOwotICAgICAgICAgICAgfSk7Ci0K
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJFdmFsdWF0aW5nLi4uIik7Ci0gICAgICAg
ICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShleHByZXNzaW9uKTsKLSAg
ICAgICAgfSk7Ci0KICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlN0YXJ0aW5nIENhcHR1cmUu
Li4iKTsKICAgICAgICAgY29uc3QgbmV3UmVjb3JkaW5nID0gdHJ1ZTsKICAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLnN0YXJ0Q2FwdHVyaW5nKG5ld1JlY29yZGluZyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3JhbW1hdGlj
LWNhcHR1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Nl
dEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLWV4cGVjdGVkLnR4dAppbmRleCA5NDI2
YmVjODNjNjI1NjNhZjg4OTlmMWJkMTIwYzU0MzAzM2E1MjlkLi4wMDU1YzQ0NDIwZjAzMTIzNjI2
OTg4NWQ0NDcxZGU1N2UzYzhiOTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3JhbW1hdGljLWNhcHR1cmUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9n
cmFtbWF0aWMtY2FwdHVyZS1leHBlY3RlZC50eHQKQEAgLTcsMjAgKzcsMjAgQEAgVGVzdHMgcHJv
Z3JhbW1hdGljIGNhcHR1cmUgKGNvbnNvbGUucHJvZmlsZS9wcm9maWxlRW5kKSBhdXRvbWF0aWNh
bGx5IHN0YXJ0cyBpbnMKID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmUuc2V0SW5zdHJ1
bWVudHMucHJvZ3JhbW1hdGljLWNhcHR1cmUKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBOb0luc3Ry
dW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZQogUEFTUzogU2hvdWxkIG5vdCBiZSBhbiBlcnJvciBz
ZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLgotUEFTUzogVGltZWxpbmUucHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0YXJ0ZWQKIFBBU1M6IFNjcmlwdFByb2ZpbGVyLnN0YXJ0VHJhY2tpbmcKLVBBU1M6IFRp
bWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkCitQQVNTOiBUaW1lbGluZS5yZWNvcmRp
bmdTdGFydGVkCitQQVNTOiBUaW1lbGluZS5yZWNvcmRpbmdTdG9wcGVkCiAKIC0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBNdWx0aXBsZUluc3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZQogUEFTUzog
U2hvdWxkIG5vdCBiZSBhbiBlcnJvciBzZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLgotUEFTUzog
VGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQKIFBBU1M6IFNjcmlwdFByb2ZpbGVy
LnN0YXJ0VHJhY2tpbmcKK1BBU1M6IFRpbWVsaW5lLnJlY29yZGluZ1N0YXJ0ZWQKIFBBU1M6IEhl
YXAudHJhY2tpbmdTdGFydAotUEFTUzogVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3Bw
ZWQKK1BBU1M6IFRpbWVsaW5lLnJlY29yZGluZ1N0b3BwZWQKIAogLS0gUnVubmluZyB0ZXN0IGNh
c2U6IE5vSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlQWdhaW4KIFBBU1M6IFNob3VsZCBu
b3QgYmUgYW4gZXJyb3Igc2V0dGluZyB2YWxpZCBpbnN0cnVtZW50cy4KLVBBU1M6IFRpbWVsaW5l
LnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkCiBQQVNTOiBTY3JpcHRQcm9maWxlci5zdGFydFRy
YWNraW5nCi1QQVNTOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZAorUEFTUzog
VGltZWxpbmUucmVjb3JkaW5nU3RhcnRlZAorUEFTUzogVGltZWxpbmUucmVjb3JkaW5nU3RvcHBl
ZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0SW5zdHJ1
bWVudHMtcHJvZ3JhbW1hdGljLWNhcHR1cmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sCmluZGV4IDkz
ZTllMTVmNGZiYmNiOGUwZjAwZGExMzhhYjI0MmMyN2VjNTU5NzQuLjA1ZmE3YWQ2YjRlYzdiNTM2
NzYzYTAxYjlhMGIwYzA3MjIyMTBiMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0
aWMtY2FwdHVyZS5odG1sCkBAIC0xNCwxNiArMTQsMTYgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
bGV0IHN1aXRlID0gUHJvdG9jb2xUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lLnNldElu
c3RydW1lbnRzLnByb2dyYW1tYXRpYy1jYXB0dXJlIik7CiAKICAgICBsZXQgaGVhcEV4cGVjdGVk
ID0gZmFsc2U7Ci0gICAgbGV0IHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkID0gbnVsbDsKKyAg
ICBsZXQgY2FwdHVyZVN0b3BwZWQgPSBudWxsOwogCiAgICAgSW5zcGVjdG9yUHJvdG9jb2wuc2Vu
ZENvbW1hbmQoIkhlYXAuZW5hYmxlIik7CiAKLSAgICBJbnNwZWN0b3JQcm90b2NvbC5ldmVudEhh
bmRsZXJbIlRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIl0gPSAoKSA9PiB7Ci0g
ICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3Rh
cnRlZCIpOworICAgIEluc3BlY3RvclByb3RvY29sLmV2ZW50SGFuZGxlclsiVGltZWxpbmUucmVj
b3JkaW5nU3RhcnRlZCJdID0gKCkgPT4geworICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiVGlt
ZWxpbmUucmVjb3JkaW5nU3RhcnRlZCIpOwogICAgIH07Ci0gICAgSW5zcGVjdG9yUHJvdG9jb2wu
ZXZlbnRIYW5kbGVyWyJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCJdID0gKCkg
PT4gewotICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiVGltZWxpbmUucHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0b3BwZWQiKTsKLSAgICAgICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKKyAg
ICBJbnNwZWN0b3JQcm90b2NvbC5ldmVudEhhbmRsZXJbIlRpbWVsaW5lLnJlY29yZGluZ1N0b3Bw
ZWQiXSA9ICgpID0+IHsKKyAgICAgICAgUHJvdG9jb2xUZXN0LnBhc3MoIlRpbWVsaW5lLnJlY29y
ZGluZ1N0b3BwZWQiKTsKKyAgICAgICAgY2FwdHVyZVN0b3BwZWQoKTsKICAgICB9OwogCiAgICAg
SW5zcGVjdG9yUHJvdG9jb2wuZXZlbnRIYW5kbGVyWyJTY3JpcHRQcm9maWxlci50cmFja2luZ1N0
YXJ0Il0gPSAoKSA9PiB7CkBAIC00MSw3ICs0MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICBuYW1lOiAiTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1cmUiLAogICAgICAgICB0ZXN0
KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgaGVhcEV4cGVjdGVkID0gZmFsc2U7Ci0g
ICAgICAgICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7CisgICAgICAg
ICAgICBjYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7CiAKICAgICAgICAgICAgIEluc3BlY3RvclBy
b3RvY29sLnNlbmRDb21tYW5kKCJUaW1lbGluZS5zZXRJbnN0cnVtZW50cyIsIHtpbnN0cnVtZW50
czogW119LCAobWVzc2FnZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIFByb3RvY29sVGVz
dC5leHBlY3RUaGF0KCFtZXNzYWdlT2JqZWN0LmVycm9yLCAiU2hvdWxkIG5vdCBiZSBhbiBlcnJv
ciBzZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLiIpOwpAQCAtNTQsNyArNTQsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgbmFtZTogIk11bHRpcGxlSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWND
YXB0dXJlIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgIGhl
YXBFeHBlY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBl
ZCA9IHJlc29sdmU7CisgICAgICAgICAgICBjYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7CiAKICAg
ICAgICAgICAgIEluc3BlY3RvclByb3RvY29sLnNlbmRDb21tYW5kKCJUaW1lbGluZS5zZXRJbnN0
cnVtZW50cyIsIHtpbnN0cnVtZW50czogWyJTY3JpcHRQcm9maWxlciIsICJIZWFwIl19LCAobWVz
c2FnZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RUaGF0
KCFtZXNzYWdlT2JqZWN0LmVycm9yLCAiU2hvdWxkIG5vdCBiZSBhbiBlcnJvciBzZXR0aW5nIHZh
bGlkIGluc3RydW1lbnRzLiIpOwpAQCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgbmFtZTogIk5vSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlQWdhaW4iLAogICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgaGVhcEV4cGVjdGVkID0g
dHJ1ZTsKLSAgICAgICAgICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkID0gcmVzb2x2ZTsK
KyAgICAgICAgICAgIGNhcHR1cmVTdG9wcGVkID0gcmVzb2x2ZTsKIAogICAgICAgICAgICAgSW5z
cGVjdG9yUHJvdG9jb2wuc2VuZENvbW1hbmQoIlRpbWVsaW5lLnNldEluc3RydW1lbnRzIiwge2lu
c3RydW1lbnRzOiBbXX0sIChtZXNzYWdlT2JqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgUHJv
dG9jb2xUZXN0LmV4cGVjdFRoYXQoIW1lc3NhZ2VPYmplY3QuZXJyb3IsICJTaG91bGQgbm90IGJl
IGFuIGVycm9yIHNldHRpbmcgdmFsaWQgaW5zdHJ1bWVudHMuIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjb3JkaW5nLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjb3JkaW5nLmh0bWwKaW5kZXgg
OTRmMTgyMWYxMWJmMTFlYjY0ZjllYmFkYjI0MTUxMjI0NDRkZjNiYy4uMTBjMTM4NGNmYTY4NDdj
YjljNDlmMGM0YTlmNDQ3YTliYzc0ZGQwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXJlY29yZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNvcmRpbmcuaHRtbApAQCAtMTMsNiArMTMsMTgg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIG5hbWU6ICJUaW1lbGluZVJlY29yZGluZy5CYXNp
YyIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiTWFrZSBhIGJhc2ljIFRpbWVsaW5lIHJlY29yZGlu
Zy4iLAogICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgYXN5bmMgZnVuY3Rpb24g
YXdhaXRDYXB0dXJpbmdTdGF0ZShjYXB0dXJpbmdTdGF0ZSkgeworICAgICAgICAgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgIGxldCBsaXN0ZW5lciA9IFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJ
LlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIChldmVudCkgPT4g
eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0dXJp
bmdTdGF0ZSAhPT0gY2FwdHVyaW5nU3RhdGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgICAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVD
aGFuZ2VkLCBsaXN0ZW5lcik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fQorCiAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2
ZVJlY29yZGluZzsKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkxvYWRlZCIpOwpA
QCAtMjUsNyArMzcsOSBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIlN0YXJ0Iik7CiAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3RhcnRD
YXB0dXJpbmcoKTsKLSAgICAgICAgICAgIGF3YWl0IFdJLnRpbWVsaW5lTWFuYWdlci5hd2FpdEV2
ZW50KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkKTsKKworICAgICAg
ICAgICAgYXdhaXQgYXdhaXRDYXB0dXJpbmdTdGF0ZShXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVy
aW5nU3RhdGUuQWN0aXZlKTsKKwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUcnVl
KFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpLCAiVGltZWxpbmVNYW5hZ2VyIHNob3Vs
ZCBiZSBjYXB0dXJpbmcuIik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFs
KFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmcsIHJlY29yZGluZywgIlRpbWVsaW5l
TWFuYWdlciBhY3RpdmUgcmVjb3JkaW5nIHNob3VsZCBub3QgaGF2ZSBjaGFuZ2VkLiIpOwogICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUcnVlKHJlY29yZGluZy5jYXB0dXJpbmcsICJU
aW1lbGluZVJlY29yZGluZyBzaG91bGQgYmUgY2FwdHVyaW5nLiIpOwpAQCAtMzksNiArNTMsOSBA
QCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlN0b3Ai
KTsKICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdG9wQ2FwdHVyaW5nKCk7CisKKyAg
ICAgICAgICAgIGF3YWl0IGF3YWl0Q2FwdHVyaW5nU3RhdGUoV0kuVGltZWxpbmVNYW5hZ2VyLkNh
cHR1cmluZ1N0YXRlLkluYWN0aXZlKTsKKwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RGYWxzZShXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0dXJpbmcoKSwgIlRpbWVsaW5lTWFuYWdl
ciBzaG91bGQgbm90IGJlIGNhcHR1cmluZy4iKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RmFsc2UocmVjb3JkaW5nLmNhcHR1cmluZywgIlRpbWVsaW5lUmVjb3JkaW5nIHNob3Vs
ZCBub3QgYmUgY2FwdHVyaW5nLiIpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RG
YWxzZShyZWNvcmRpbmcucmVhZG9ubHksICJUaW1lbGluZVJlY29yZGluZyBzaG91bGQgbm90IGJl
IHJlYWRvbmx5LiIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367236</attachid>
            <date>2019-04-11 13:26:16 -0700</date>
            <delta_ts>2019-04-11 14:06:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196778-20190411132615.patch</filename>
            <type>text/plain</type>
            <size>91844</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY0MjgzNmU0ZjhiMWJkYzYyMDQxMmZlMTJjMGQx
MmYzOWE0Y2E4NzAuLjkyM2Y2YTZjMDM5MzI1MDc3NjgwOTVkNTgzNzM2ZTg5NDFhZTM0MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA0LTExICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBU
aW1lbGluZXM6IGNhbid0IHJlbGlhYmx5IHN0b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBI
YXRjaGVyLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpz
b246CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb246CisgICAgICAg
IEl0IGlzIHBvc3NpYmxlIHRvIGRldGVybWluZSB3aGVuIHByb2dyYW1tYXRpYyBjYXB0dXJpbmcg
c3RhcnRzL3N0b3BzIGluIHRoZSBmcm9udGVuZCBiYXNlZAorICAgICAgICBvbiB0aGUgc3RhdGUg
d2hlbiB0aGUgYmFja2VuZCBjYXVzZXMgdGhlIHN0YXRlIHRvIGNoYW5nZSwgc3VjaCBhcyBpZiB0
aGUgc3RhdGUgaXMgImluYWN0aXZlIgorICAgICAgICB3aGVuIHRoZSBmcm9udGVuZCBpcyB0b2xk
IHRoYXQgdGhlIGJhY2tlbmQgaGFzIHN0YXJ0ZWQgY2FwdHVyaW5nLgorCisgICAgICAgICogaW5z
cGVjdG9yL3Byb3RvY29sL0NQVVByb2ZpbGVyLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL3By
b3RvY29sL01lbW9yeS5qc29uOgorICAgICAgICBTZW5kIGFuIGVuZCB0aW1lc3RhbXAgdG8gbWF0
Y2ggb3RoZXIgaW5zdHJ1bWVudHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmpl
Y3RDb25zb2xlQ2xpZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RD
b25zb2xlQ2xpZW50OjpzdGFydENvbnNvbGVQcm9maWxlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6
SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50OjpzdG9wQ29uc29sZVByb2ZpbGUpOgorCisgICAg
ICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6dHJh
Y2tpbmdDb21wbGV0ZSk6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvclNjcmlwdFByb2Zp
bGVyQWdlbnQ6OnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KEluc3BlY3Rvcjo6SW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6cHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0b3BwZWQpOiBEZWxldGVkLgorCiAyMDE5LTA0LTExICBUcnVpdHQgU2F2ZWxsICA8dHNh
dmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0NDE1
OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBiMDdmMTdkYTZiYzU5OGM1ZTk3ZjI4NGFhYjViY2FjZTY0ODViMDhh
Li43YzFhNDU0ODgyNWViMzk0NzFhYjZiYWMwYzY1Nzc1YzU4ZGJmNzM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTktMDQtMTEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lczogY2FuJ3QgcmVsaWFibHkg
c3RvcC9zdGFydCBhIHJlY29yZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk2Nzc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzYwNjc5OD4K
KworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnRQcm9ncmFtbWF0aWNDYXB0dXJlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BQcm9ncmFtbWF0aWND
YXB0dXJlKToKKyAgICAgICAgSXQgaXMgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHdoZW4gcHJvZ3Jh
bW1hdGljIGNhcHR1cmluZyBzdGFydHMvc3RvcHMgaW4gdGhlIGZyb250ZW5kIGJhc2VkCisgICAg
ICAgIG9uIHRoZSBzdGF0ZSB3aGVuIHRoZSBiYWNrZW5kIGNhdXNlcyB0aGUgc3RhdGUgdG8gY2hh
bmdlLCBzdWNoIGFzIGlmIHRoZSBzdGF0ZSBpcyAiaW5hY3RpdmUiCisgICAgICAgIHdoZW4gdGhl
IGZyb250ZW5kIGlzIHRvbGQgdGhhdCB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJpbmcu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudDo6c3RvcFRy
YWNraW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck1lbW9yeUFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck1lbW9yeUFnZW50OjpzdG9wVHJhY2tp
bmcpOgorICAgICAgICBTZW5kIGFuIGVuZCB0aW1lc3RhbXAgdG8gbWF0Y2ggb3RoZXIgaW5zdHJ1
bWVudHMuCisKIDIwMTktMDQtMTEgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjQ0MTU4LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKaW5kZXggNWEwNTgzYmZhMzMzMzEyYmM2MzQ5NmYxMTQ1NGI5MTU1YjQwZGRjNy4u
OGExMDNhZWU4OGMzY2Y2YTAxYzJjODQzZDQxZTI4ODk1MzcyYTljMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTI0IEBACisyMDE5LTA0LTExICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZXM6IGNh
bid0IHJlbGlhYmx5IHN0b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDc2MDY3OTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisg
ICAgICAgIFJhdGhlciB0aGFuIGhhdmUgYSBiaW5hcnkgc3RhdGUgb2YgY2FwdHVyaW5nL25vdC1j
YXB0dXJpbmcsIHdlIHNob3VsZCB1c2UgYSBmb3VyIHN0YXRlOgorICAgICAgICAgMS4gaW5hY3Rp
dmUgKHdoZW4gdGhlIGJhY2tlbmQgaGFzIHN0b3BwZWQgY2FwdHVyaW5nKQorICAgICAgICAgMi4g
c3RhcnRpbmcgKHdoZW4gdGhlIGZyb250ZW5kIHJlcXVlc3RzIGNhcHR1cmluZyB0byBzdGFydCkK
KyAgICAgICAgIDMuIGFjdGl2ZSAod2hlbiB0aGUgYmFja2VuZCBoYXMgc3RhcnRlZCBjYXB0dXJp
bmcpCisgICAgICAgICA0LiBzdG9wcGluZyAod2hlbiB0aGUgZnJvbnRlbmQgcmVxdWVzdHMgY2Fw
dHVyaW5nIHRvIHN0b3ApCisKKyAgICAgICAgQ2FwdHVyaW5nIGlzIGNvbnNpZGVyZWQgIm9uIiB3
aGVuIG5vdCBpbiBhbiAiaW5hY3RpdmUiIHN0YXRlLiBQcmV2ZW50IHRoZSBmcm9udGVuZCBmcm9t
CisgICAgICAgIHN0YXJ0aW5nL3N0b3BwaW5nIGNhcHR1cmluZyB1bmxlc3Mgd2UncmUgaW4gYSAi
c3RhYmxlIiAoImluYWN0aXZlIiBvciAiYWN0aXZlIikgc3RhdGUsIG5vdCBhCisgICAgICAgICJ0
cmFuc2l0aW9uIiAoInN0YXJ0aW5nIiBvciAic3RvcHBpbmciKSBzdGF0ZS4KKworICAgICAgICBP
bmUgInNpZGUgZWZmZWN0IiBvZiB0aGlzIGNoYW5nZSBpcyB0aGF0IHNpbmNlIHRoZSBjYXB0dXJp
bmcgaXMgY29uc2lkZXJlZCBhY3RpdmUgdW50aWwgdGhlCisgICAgICAgIGJhY2tlbmQgaGFzIHN0
b3BwZWQgY2FwdHVyaW5nLCB3ZSB3aWxsIGNvbnRpbnVlIHRvIHByb2Nlc3MgcmVjb3JkcyBpbiB0
aGUgZnJvbnRlbmQgZXZlbiBpZgorICAgICAgICB0aGUgZnJvbnRlbmQgaGFzIHJlcXVlc3RlZCB0
byBzdG9wIGNhcHR1cmluZy4gPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MjkwND4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgorICAgICAg
ICAoV0kuVGltZWxpbmVNYW5hZ2VyKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90
b3R5cGUuZ2V0IGNhcHR1cmluZ1N0YXRlKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1h
bmFnZXIucHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90
b3R5cGUuZ2V0IGFjdGl2ZVJlY29yZGluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIu
cHJvdG90eXBlLnNldCBhdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOgorICAgICAgICAoV0kuVGltZWxp
bmVNYW5hZ2VyLnByb3RvdHlwZS5pc0NhcHR1cmluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1h
bmFnZXIucHJvdG90eXBlLnN0YXJ0Q2FwdHVyaW5nKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFu
YWdlci5wcm90b3R5cGUuc3RvcENhcHR1cmluZyk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLnByb2Nlc3NKU09OKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5w
cm90b3R5cGUuY2FwdHVyaW5nU3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIu
cHJvdG90eXBlLmNhcHR1cmluZ1N0b3BwZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2Vy
LnByb3RvdHlwZS5hdXRvQ2FwdHVyZVN0YXJ0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5h
Z2VyLnByb3RvdHlwZS5ldmVudFJlY29yZGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdl
ci5wcm90b3R5cGUucGFnZURPTUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdJ
LlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUucGFnZUxvYWRFdmVudEZpcmVkKToKKyAgICAgICAg
KFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuY3B1UHJvZmlsZXJUcmFja2luZ1VwZGF0ZWQp
OgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5jcHVQcm9maWxlclRyYWNr
aW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUubWVt
b3J5VHJhY2tpbmdVcGRhdGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5
cGUubWVtb3J5VHJhY2tpbmdDb21wbGV0ZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2Vy
LnByb3RvdHlwZS5oZWFwVHJhY2tpbmdTdGFydGVkKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFu
YWdlci5wcm90b3R5cGUuaGVhcFRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRpbWVs
aW5lTWFuYWdlci5wcm90b3R5cGUuaGVhcFNuYXBzaG90QWRkZWQpOgorICAgICAgICAoV0kuVGlt
ZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fdXBkYXRlQ2FwdHVyaW5nU3RhdGUpOiBBZGRlZC4KKyAg
ICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX3Byb2Nlc3NSZWNvcmQpOgorICAg
ICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc0V2ZW50KToKKyAgICAg
ICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2xvYWROZXdSZWNvcmRpbmcpOgorICAg
ICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fYWRkUmVjb3JkKToKKyAgICAgICAg
KFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2F0dGVtcHRBdXRvQ2FwdHVyaW5nRm9yRnJh
bWUpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fbGVnYWN5QXR0ZW1w
dFN0YXJ0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdl
ci5wcm90b3R5cGUuX3N0b3BBdXRvUmVjb3JkaW5nU29vbik6CisgICAgICAgIChXSS5UaW1lbGlu
ZU1hbmFnZXIucHJvdG90eXBlLl9yZXNldEF1dG9SZWNvcmRpbmdEZWFkVGltZVRpbWVvdXQpOgor
ICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcmVzb3VyY2VXYXNBZGRlZCk6
CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9nYXJiYWdlQ29sbGVjdGVk
KToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX21lbW9yeVByZXNzdXJl
KToKKyAgICAgICAgKFdJLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5l
c0F1dG9TdG9wU2V0dGluZ0NoYW5nZWQpOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5zY3JpcHRQcm9maWxlclRyYWNraW5nQ29tcGxldGVkKToKKyAgICAgICAgKFdJLlRp
bWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQpOgorICAg
ICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlRE9NTm9kZUxvd1Bvd2Vy
Q2hhbmdlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLnVubG9hZFJl
Y29yZGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBl
LnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVs
aW5lTWFuYWdlci5wcm90b3R5cGUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQpOiBEZWxldGVk
LgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5zY3JpcHRQcm9maWxlclBy
b2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlRpbWVsaW5l
TWFuYWdlci5wcm90b3R5cGUuc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBl
ZCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFBy
b2ZpbGVyT2JzZXJ2ZXIuanM6CisgICAgICAgIChXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyLnBy
b3RvdHlwZS50cmFja2luZ0NvbXBsZXRlKToKKyAgICAgICAgKFdJLlNjcmlwdFByb2ZpbGVyT2Jz
ZXJ2ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKToKKyAgICAgICAgKFdJ
LlNjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIucHJvdG90eXBlLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9w
cGVkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIu
anM6CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5wcm9ncmFtbWF0aWND
YXB0dXJlU3RhcnRlZCk6CisgICAgICAgIChXSS5UaW1lbGluZU9ic2VydmVyLnByb3RvdHlwZS5w
cm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCk6CisgICAgICAgIEl0IGlzIHBvc3NpYmxlIHRvIGRl
dGVybWluZSB3aGVuIHByb2dyYW1tYXRpYyBjYXB0dXJpbmcgc3RhcnRzL3N0b3BzIGluIHRoZSBm
cm9udGVuZCBiYXNlZAorICAgICAgICBvbiB0aGUgc3RhdGUgd2hlbiB0aGUgYmFja2VuZCBjYXVz
ZXMgdGhlIHN0YXRlIHRvIGNoYW5nZSwgc3VjaCBhcyBpZiB0aGUgc3RhdGUgaXMgImluYWN0aXZl
IgorICAgICAgICB3aGVuIHRoZSBmcm9udGVuZCBpcyB0b2xkIHRoYXQgdGhlIGJhY2tlbmQgaGFz
IHN0YXJ0ZWQgY2FwdHVyaW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9D
UFVQcm9maWxlck9ic2VydmVyLmpzOgorICAgICAgICAoV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci5w
cm90b3R5cGUudHJhY2tpbmdDb21wbGV0ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90
b2NvbC9NZW1vcnlPYnNlcnZlci5qczoKKyAgICAgICAgKFdJLk1lbW9yeU9ic2VydmVyLnByb3Rv
dHlwZS50cmFja2luZ0NvbXBsZXRlKToKKyAgICAgICAgU2VuZCBhbiBlbmQgdGltZXN0YW1wIHRv
IG1hdGNoIG90aGVyIGluc3RydW1lbnRzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlck1hbmFnZXIp
OgorICAgICAgICAoV0kuRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlVGltZWxpbmVD
YXB0dXJpbmdTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyTWFuYWdl
ci5wcm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLkRlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRGVmYXVsdERhc2hi
b2FyZC5qczoKKyAgICAgICAgKFdJLkRlZmF1bHREYXNoYm9hcmQpOgorICAgICAgICAoV0kuRGVm
YXVsdERhc2hib2FyZC5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFu
Z2VkKTogQWRkZWQuCisgICAgICAgIChXSS5EZWZhdWx0RGFzaGJvYXJkLnByb3RvdHlwZS5fY2Fw
dHVyaW5nU3RvcHBlZCk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9E
ZWJ1Z2dlclNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVs
KToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGlt
ZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2Vy
U2lkZWJhclBhbmVsLnByb3RvdHlwZS5fdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQpOiBEZWxl
dGVkLgorICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLl90aW1lbGlu
ZUNhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5Tb3VyY2Vz
TmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNp
ZGViYXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2Vk
KTogQWRkZWQuCisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90
b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nV2lsbFN0YXJ0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlVGlt
ZWxpbmVDYXB0dXJpbmdTdG9wcGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXSS5UaW1lbGluZU92ZXJ2aWV3
KToKKyAgICAgICAgKFdJLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVUaW1lbGlu
ZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuVGltZWxpbmVPdmVy
dmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0ku
VGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcpOgorICAgICAg
ICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVRpbWVs
aW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fcmVjb3JkaW5nVW5sb2FkZWQpOgorICAgICAg
ICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0
YXJ0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5wcm90b3R5cGUuX2NhcHR1cmluZ1N0b3BwZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlRp
bWVsaW5lVGFiQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuVGltZWxpbmVUYWJDb250ZW50Vmll
dy5wcm90b3R5cGUuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKTogQWRkZWQu
CisgICAgICAgIChXSS5UaW1lbGluZVRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY2FwdHVyaW5n
U3RhcnRlZE9yU3RvcHBlZCk6IERlbGV0ZWQuCisgICAgICAgIFVzZSB0aGUgbmV3IHNpbmdsZSBl
dmVudCBmb3IgYWxsIFRpbWVsaW5lcyBjYXB0dXJlIHN0YXRlIGNoYW5nZXMuCisgICAgICAgIFBy
ZXZlbnQgdGhlIHJlY29yZCBidXR0b24gZnJvbSBiZWluZyBjbGlja2VkIHdoZW4gY2FwdHVyaW5n
IGlzIGluIGEgdHJhbnNpdGlvbiBzdGF0ZS4KKwogMjAxOS0wNC0xMSAgVHJ1aXR0IFNhdmVsbCAg
PHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
NDQxNTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAKaW5kZXggZDFiZDM5MTIzYThmZDFi
YTRhZGUzNWZhODYwNmUwODEwMzNjOWUzYi4uMGNkOTIyN2Q5ZjhkNzUxM2RhMDM1YWVlYTRhMGZi
Mzg2M2YxODE0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcApAQCAtMTIxLDEwICsx
MjEsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6c3RhcnRDb25zb2xlUHJv
ZmlsZSgpCiB7CiAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwogCi0gICAgLy8gRklYTUU6IDxodHRw
czovL3dlYmtpdC5vcmcvYi8xNTg3NTM+IEdlbmVyYWxpemUgdGhlIGNvbmNlcHQgb2YgSW5zdHJ1
bWVudHMgb24gdGhlIGJhY2tlbmQgdG8gd29yayBlcXVhbGx5IGZvciBKU0NvbnRleHQgYW5kIFdl
YiBpbnNwZWN0aW9uCi0gICAgaWYgKG1fc2NyaXB0UHJvZmlsZXJBZ2VudCkKLSAgICAgICAgbV9z
Y3JpcHRQcm9maWxlckFnZW50LT5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOwotCiAgICAg
aWYgKG1fZGVidWdnZXJBZ2VudCkgewogICAgICAgICBtX3Byb2ZpbGVSZXN0b3JlQnJlYWtwb2lu
dEFjdGl2ZVZhbHVlID0gbV9kZWJ1Z2dlckFnZW50LT5icmVha3BvaW50c0FjdGl2ZSgpOwogICAg
ICAgICBtX2RlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9pbnRzQWN0aXZlKHVudXNlZCwgZmFsc2Up
OwpAQCAtMTQ1LDEwICsxNDEsNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6
c3RvcENvbnNvbGVQcm9maWxlKCkKIAogICAgIGlmIChtX2RlYnVnZ2VyQWdlbnQpCiAgICAgICAg
IG1fZGVidWdnZXJBZ2VudC0+c2V0QnJlYWtwb2ludHNBY3RpdmUodW51c2VkLCBtX3Byb2ZpbGVS
ZXN0b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVlKTsKLQotICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93
ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRz
IG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5z
cGVjdGlvbgotICAgIGlmIChtX3NjcmlwdFByb2ZpbGVyQWdlbnQpCi0gICAgICAgIG1fc2NyaXB0
UHJvZmlsZXJBZ2VudC0+cHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKIH0KIAogdm9pZCBK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnRha2VIZWFwU25hcHNob3QoSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9m
aWxlckFnZW50LmNwcAppbmRleCAxZWMyNWM0NGNjNjY1ZGY2NWI1MWZmNWNjMjgxZjA4OWNmOTU5
NjdiLi41NmZjMWI3OThkYTBlZWVlYTAyMzMxZWQ1MjU0YTk1MDIxMDA1ODc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQ
cm9maWxlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmNwcApAQCAtMjAzLDYgKzIwMyw4IEBA
IHN0YXRpYyBSZWY8UHJvdG9jb2w6OlNjcmlwdFByb2ZpbGVyOjpTYW1wbGVzPiBidWlsZFNhbXBs
ZXMoVk0mIHZtLCBWZWN0b3I8U2FtcGxpCiAKIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJB
Z2VudDo6dHJhY2tpbmdDb21wbGV0ZSgpCiB7CisgICAgYXV0byB0aW1lc3RhbXAgPSBtX2Vudmly
b25tZW50LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKTsKKwog
I2lmIEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikKICAgICBpZiAobV9lbmFibGVkU2FtcGxpbmdQ
cm9maWxlcikgewogICAgICAgICBWTSYgdm0gPSBtX2Vudmlyb25tZW50LnNjcmlwdERlYnVnU2Vy
dmVyKCkudm0oKTsKQEAgLTIyMCwxMSArMjIyLDExIEBAIHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJv
ZmlsZXJBZ2VudDo6dHJhY2tpbmdDb21wbGV0ZSgpCiAKICAgICAgICAgbV9lbmFibGVkU2FtcGxp
bmdQcm9maWxlciA9IGZhbHNlOwogCi0gICAgICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFj
a2luZ0NvbXBsZXRlKFdURk1vdmUoc2FtcGxlcykpOworICAgICAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlci0+dHJhY2tpbmdDb21wbGV0ZSh0aW1lc3RhbXAsIFdURk1vdmUoc2FtcGxlcykpOwogICAg
IH0gZWxzZQotICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShu
dWxscHRyKTsKKyAgICAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUo
dGltZXN0YW1wLCBudWxscHRyKTsKICNlbHNlCi0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRy
YWNraW5nQ29tcGxldGUobnVsbHB0cik7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNr
aW5nQ29tcGxldGUodGltZXN0YW1wLCBudWxscHRyKTsKICNlbmRpZiAvLyBFTkFCTEUoU0FNUExJ
TkdfUFJPRklMRVIpCiB9CiAKQEAgLTI0NiwxNCArMjQ4LDQgQEAgdm9pZCBJbnNwZWN0b3JTY3Jp
cHRQcm9maWxlckFnZW50OjpzdG9wU2FtcGxpbmdXaGVuRGlzY29ubmVjdGluZygpCiAjZW5kaWYK
IH0KIAotdm9pZCBJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZCgpCi17Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnByb2dyYW1tYXRpY0Nh
cHR1cmVTdGFydGVkKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6
cHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQotewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
LT5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBJbnNw
ZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaAppbmRleCBkYWI3
NzRmZTJiZmY2MzMyYTlhMjMzNTBjZDcxMjg0NzQ3NjBmMTU2Li44YTI4N2Q4YzU2MWM2YzdmZGVi
NDJhNjU4Yzc4MGYyMzc5MzczZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudC5oCkBAIC01Myw5ICs1Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tp
bmcoRXJyb3JTdHJpbmcmLCBjb25zdCBib29sKiBpbmNsdWRlU2FtcGxlcykgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBzdG9wVHJhY2tpbmcoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKIAotICAgIHZvaWQg
cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLSAgICB2b2lkIHByb2dyYW1tYXRpY0NhcHR1
cmVTdG9wcGVkKCk7Ci0KICAgICAvLyBEZWJ1Z2dlcjo6UHJvZmlsaW5nQ2xpZW50CiAgICAgYm9v
bCBpc0FscmVhZHlQcm9maWxpbmcoKSBjb25zdCBvdmVycmlkZTsKICAgICBTZWNvbmRzIHdpbGxF
dmFsdWF0ZVNjcmlwdCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9maWxlci5qc29uIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DUFVQcm9maWxlci5qc29uCmluZGV4IGNkZGY5Y2Fh
N2YwNzYxZWRkYTgxNGMwNjMzODI2MjU0YTBhNGJkZGIuLjFmNjBkOWRiMDkyZjQxYjM2YjljN2Ix
YWJhZTk0MjNmNDZkNGM5NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvQ1BVUHJvZmlsZXIuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0NQVVByb2ZpbGVyLmpzb24KQEAgLTUyLDcgKzUyLDEwIEBA
CiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29t
cGxldGUiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIElu
Y2x1ZGVzIGFueSBidWZmZXJlZCBkYXRhIGR1cmluZyB0cmFja2luZywgc3VjaCBhcyBwcm9maWxp
bmcgaW5mb3JtYXRpb24uIgorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0
b3BwZWQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAgICAgICAgICBdCiAg
ICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3Byb3RvY29sL01lbW9yeS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9NZW1vcnkuanNvbgppbmRleCBiNmIzZGI5ZjJlNWQ1NTc3ODdlNTVhMjc1
OThkZTlhNWUxYjE3MmU2Li4xYzNkMDFiYWM1NjM5NDQ5YTE2NTgwMmFiZWU1MmY0ZjkwYzBhNDA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL01l
bW9yeS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wv
TWVtb3J5Lmpzb24KQEAgLTY0LDcgKzY0LDEwIEBACiAgICAgICAgIH0sCiAgICAgICAgIHsKICAg
ICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxldGUiLAotICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIgorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IlRyYWNraW5nIHN0b3BwZWQuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9CisgICAg
ICAgICAgICBdCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1NjcmlwdFByb2ZpbGVyLmpzb24KaW5k
ZXggMzUwMzJhNWI4ZDFiZjdjNWMzMzMwODk4ZTA1MDQ3MGIxYjY2NDAwZS4uNjBjYTY4N2I3ZWRm
NGYwMWMwZTYzMWQxNWNjZGJmNzdhOTg0MzlhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9TY3JpcHRQcm9maWxlci5qc29uCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvU2NyaXB0UHJvZmlsZXIuanNvbgpA
QCAtODUsMTYgKzg1LDkgQEAKICAgICAgICAgICAgICJuYW1lIjogInRyYWNraW5nQ29tcGxldGUi
LAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRyYWNraW5nIHN0b3BwZWQuIEluY2x1ZGVz
IGFueSBidWZmZXJlZCBkYXRhIGR1cmluZyB0cmFja2luZywgc3VjaCBhcyBwcm9maWxpbmcgaW5m
b3JtYXRpb24uIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiB9LAogICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAic2FtcGxlcyIsICIkcmVmIjogIlNhbXBsZXMiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiU3RhY2sgdHJhY2VzLiIgfQogICAgICAgICAgICAgXQotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJwcm9ncmFtbWF0aWNDYXB0
dXJlU3RhcnRlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBwcm9n
cmFtbWF0aWMgY2FwdHVyZSBzdGFydHMgKGNvbnNvbGUucHJvZmlsZSkuIEpTQ29udGV4dCBpbnNw
ZWN0aW9uIG9ubHkuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiRmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdG9wcyAoY29uc29sZS5wcm9maWxl
RW5kKS4gSlNDb250ZXh0IGluc3BlY3Rpb24gb25seS4iCiAgICAgICAgIH0KICAgICBdCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVs
aW5lLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVs
aW5lLmpzb24KaW5kZXggYjljNGY4NDYxMTBjNWZiZjMxMDAzYjBjNmI3ZWM1MTlhZGVlZGE0ZS4u
OTg4MDAzMmVjODE0YzY1OThmYjY5ZmZkM2Q0OGQyNTkwMDE5OTcxMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgpA
QCAtMTA3LDE0ICsxMDcsNiBAQAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJhdXRv
Q2FwdHVyZVN0YXJ0ZWQiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4g
YXV0byBjYXB0dXJlIHN0YXJ0ZWQuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAg
ICAibmFtZSI6ICJwcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCIsCi0gICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdGFydHMgKGNvbnNv
bGUucHJvZmlsZSkuIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6
ICJwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiRmlyZWQgd2hlbiBwcm9ncmFtbWF0aWMgY2FwdHVyZSBzdG9wcyAoY29uc29sZS5wcm9maWxl
RW5kKS4iCiAgICAgICAgIH0KICAgICBdCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcAppbmRl
eCA4ZjE1NTA0NWIwZjAzNmVhNjhjYWQ4ZjgzMzEyOWU2ZmFkM2EwMDA1Li42YTI5NzJkNjg4NTE2
ZGNmMjg2MWIzZTE1YTU0MTZhYzAyMWZiNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAK
QEAgLTc3LDcgKzc3LDcgQEAgdm9pZCBJbnNwZWN0b3JDUFVQcm9maWxlckFnZW50OjpzdG9wVHJh
Y2tpbmcoRXJyb3JTdHJpbmcmKQogCiAgICAgbV90cmFja2luZyA9IGZhbHNlOwogCi0gICAgbV9m
cm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUoKTsKKyAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRj
aCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKSk7CiB9CiAKIHN0YXRpYyBSZWY8UHJvdG9jb2w6
OkNQVVByb2ZpbGVyOjpUaHJlYWRJbmZvPiBidWlsZFRocmVhZEluZm8oY29uc3QgVGhyZWFkQ1BV
SW5mbyYgdGhyZWFkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCA1YmM1NmVhYjY4OWIzYzZkOGY5MDEz
Y2YxMDkzMTMwNDg4MWY5M2RiLi4yMmQ0N2Y1N2Y0NWUyMDliNzM1MmRmYTBkNTNjMjJmMDIwOTlh
NThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ck1lbW9yeUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtOTIsNyArOTIsNyBAQCB2b2lkIEluc3BlY3Rvck1l
bW9yeUFnZW50OjpzdG9wVHJhY2tpbmcoRXJyb3JTdHJpbmcmKQogCiAgICAgbV90cmFja2luZyA9
IGZhbHNlOwogCi0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnRyYWNraW5nQ29tcGxldGUoKTsK
KyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+dHJhY2tpbmdDb21wbGV0ZShtX2Vudmlyb25tZW50
LmV4ZWN1dGlvblN0b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpLnNlY29uZHMoKSk7CiB9CiAKIHZv
aWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmRpZEhhbmRsZU1lbW9yeVByZXNzdXJlKENyaXRpY2Fs
IGNyaXRpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggODFkZWRjZWU3ZmM0ZDNkNmJkZmM5
ZmRhZWY5ZDcyN2FiOTRhNmQyYy4uYTFkM2Q5MTQ0YTUyMTJjZDk0ZTc5MzQ1MTA5YzJkZTdkZmZi
ODQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00NzcsOCArNDc3LDYgQEAgdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpzdGFydFByb2dyYW1tYXRpY0NhcHR1cmUoKQogICAgIH0gZWxz
ZQogICAgICAgICBtX3Byb2dyYW1tYXRpY0NhcHR1cmVSZXN0b3JlQnJlYWtwb2ludEFjdGl2ZVZh
bHVlID0gZmFsc2U7CiAKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0YXJ0ZWQoKTsKLQogICAgIHRvZ2dsZVNjcmlwdFByb2ZpbGVySW5zdHJ1bWVudChJbnN0
cnVtZW50U3RhdGU6OlN0YXJ0KTsgLy8gRW5zdXJlIEphdmFTY3JpcHQgc2FtcGluZyBkYXRhLgog
ICAgIHRvZ2dsZVRpbWVsaW5lSW5zdHJ1bWVudChJbnN0cnVtZW50U3RhdGU6OlN0YXJ0KTsgLy8g
RW5zdXJlIENvbnNvbGUgUHJvZmlsZSBldmVudCByZWNvcmRzLgogICAgIHRvZ2dsZUluc3RydW1l
bnRzKEluc3RydW1lbnRTdGF0ZTo6U3RhcnQpOyAvLyBBbnkgb3RoZXIgaW5zdHJ1bWVudHMgdGhl
IGZyb250ZW5kIHdhbnRzIHVzIHRvIHJlY29yZC4KQEAgLTUwMCw4ICs0OTgsNiBAQCB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BQcm9ncmFtbWF0aWNDYXB0dXJlKCkKICAgICAgICAg
ICAgIGRlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9pbnRzQWN0aXZlKHVudXNlZCwgdHJ1ZSk7CiAg
ICAgICAgIH0KICAgICB9Ci0KLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGlj
Q2FwdHVyZVN0b3BwZWQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0b2dn
bGVJbnN0cnVtZW50cyhJbnN0cnVtZW50U3RhdGUgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1
Z2dlck1hbmFnZXIuanMKaW5kZXggMmE2YTIwZjRiOTIzYjY1Y2MyODNlMTNmMzYyOTA0ZmYzNmRl
ZGE1ZC4uNjhkZjNhZjRiMGM0NTAyMmM3M2Y3YmYwMjA1MWFlNjVlMTkwMWVjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdn
ZXJNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcwpAQCAtMzgsOCArMzgsNyBAQCBXSS5EZWJ1Z2dl
ck1hbmFnZXIgPSBjbGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgV0kuQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkJyZWFrcG9pbnQuRXZlbnQuQXV0
b0NvbnRpbnVlRGlkQ2hhbmdlLCB0aGlzLl9icmVha3BvaW50RWRpdGFibGVQcm9wZXJ0eURpZENo
YW5nZSwgdGhpcyk7CiAgICAgICAgIFdJLkJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5C
cmVha3BvaW50LkV2ZW50LkFjdGlvbnNEaWRDaGFuZ2UsIHRoaXMuX2hhbmRsZUJyZWFrcG9pbnRB
Y3Rpb25zRGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nV2lsbFN0YXJ0
LCB0aGlzLl90aW1lbGluZUNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcyk7Ci0gICAgICAgIFdJLnRp
bWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5D
YXB0dXJpbmdTdG9wcGVkLCB0aGlzLl90aW1lbGluZUNhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOwor
ICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1h
bmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1lbGluZUNh
cHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuQXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RTY2hlZHVsZWQsIHRoaXMu
X2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQsIHRoaXMpOwogICAgICAgICBXSS5hdWRp
dE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5BdWRpdE1hbmFnZXIuRXZlbnQuVGVzdENvbXBs
ZXRlZCwgdGhpcy5faGFuZGxlQXVkaXRNYW5hZ2VyVGVzdENvbXBsZXRlZCwgdGhpcyk7CkBAIC0x
MTM3LDE3ICsxMTM2LDE5IEBAIFdJLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFu
YWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLmJyZWFrcG9pbnRzRW5hYmxlZCA9
IHJlc3RvcmVTdGF0ZTsKICAgICB9CiAKLSAgICBfdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQo
ZXZlbnQpCisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgdGhpcy5fc3RhcnREaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5
KCk7CisgICAgICAgIHN3aXRjaCAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7
CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5n
OgorICAgICAgICAgICAgdGhpcy5fc3RhcnREaXNhYmxpbmdCcmVha3BvaW50c1RlbXBvcmFyaWx5
KCk7CisgICAgICAgICAgICBpZiAodGhpcy5wYXVzZWQpCisgICAgICAgICAgICAgICAgdGhpcy5y
ZXN1bWUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGlmICh0aGlzLnBhdXNlZCkK
LSAgICAgICAgICAgIHRoaXMucmVzdW1lKCk7Ci0gICAgfQotCi0gICAgX3RpbWVsaW5lQ2FwdHVy
aW5nU3RvcHBlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3N0b3BEaXNhYmxpbmdCcmVh
a3BvaW50c1RlbXBvcmFyaWx5KCk7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNh
cHR1cmluZ1N0YXRlLkluYWN0aXZlOgorICAgICAgICAgICAgdGhpcy5fc3RvcERpc2FibGluZ0Jy
ZWFrcG9pbnRzVGVtcG9yYXJpbHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAg
ICAgfQogCiAgICAgX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQoZXZlbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9U
aW1lbGluZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKaW5kZXggZTRiNzJlY2RlM2JlYjMxMDg2YTIw
OWNiYWMzNTg4ZTQxZTgxOWI4Ni4uODIyYzQwNTMwYTM1MDNlYWQ2OTQ0MjM5MDg0YmEyOGExYmNk
M2RhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtMzMsMzAgKzMz
LDI3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRz
IFdJLk9iamVjdAogCiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUu
RXZlbnQuUHJvdmlzaW9uYWxMb2FkU3RhcnRlZCwgdGhpcy5fcHJvdmlzaW9uYWxMb2FkU3RhcnRl
ZCwgdGhpcyk7CiAgICAgICAgIFdJLkZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoV0kuRnJhbWUuRXZl
bnQuTWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRo
aXMpOwotICAgICAgICBXSS5GcmFtZS5hZGRFdmVudExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50LlJl
c291cmNlV2FzQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMpOwotICAgICAgICBX
SS5UYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihXSS5UYXJnZXQuRXZlbnQuUmVzb3VyY2VBZGRlZCwg
dGhpcy5fcmVzb3VyY2VXYXNBZGRlZCwgdGhpcyk7Ci0KLSAgICAgICAgV0kuaGVhcE1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5IZWFwTWFuYWdlci5FdmVudC5HYXJiYWdlQ29sbGVjdGVkLCB0
aGlzLl9nYXJiYWdlQ29sbGVjdGVkLCB0aGlzKTsKLSAgICAgICAgV0kubWVtb3J5TWFuYWdlci5h
ZGRFdmVudExpc3RlbmVyKFdJLk1lbW9yeU1hbmFnZXIuRXZlbnQuTWVtb3J5UHJlc3N1cmUsIHRo
aXMuX21lbW9yeVByZXNzdXJlLCB0aGlzKTsKLQotICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGlu
ZXNBdXRvU3RvcC5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhp
cy5faGFuZGxlVGltZWxpbmVzQXV0b1N0b3BTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAg
ICAgdGhpcy5fZW5hYmxlZFRpbWVsaW5lVHlwZXNTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImVu
YWJsZWQtaW5zdHJ1bWVudC10eXBlcyIsIFdJLlRpbWVsaW5lTWFuYWdlci5kZWZhdWx0VGltZWxp
bmVUeXBlcygpKTsKIAotICAgICAgICB0aGlzLl9pc0NhcHR1cmluZyA9IGZhbHNlOworICAgICAg
ICB0aGlzLl9jYXB0dXJpbmdTdGF0ZSA9IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5J
bmFjdGl2ZTsKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENvdW50ID0gMDsKKyAg
ICAgICAgdGhpcy5fY2FwdHVyaW5nU3RhcnRUaW1lID0gTmFOOworICAgICAgICB0aGlzLl9jYXB0
dXJpbmdFbmRUaW1lID0gTmFOOworCiAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0
YXJ0ID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3AgPSBmYWxz
ZTsKLSAgICAgICAgdGhpcy5fd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCA9IGZhbHNl
OworCiAgICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nUGFnZVJlbG9hZCA9IGZhbHNlOwogICAgICAg
ICB0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fbWFp
blJlc291cmNlRm9yQXV0b0NhcHR1cmluZyA9IG51bGw7CiAgICAgICAgIHRoaXMuX3Nob3VsZFNl
dEF1dG9DYXB0dXJpbmdNYWluUmVzb3VyY2UgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fdHJhbnNp
dGlvbmluZ1BhZ2VUYXJnZXQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fYm91bmRTdG9wQ2FwdHVy
aW5nID0gdGhpcy5zdG9wQ2FwdHVyaW5nLmJpbmQodGhpcyk7CiAKICAgICAgICAgdGhpcy5fd2Vi
VGltZWxpbmVTY3JpcHRSZWNvcmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMgPSBudWxs
OwogICAgICAgICB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMgPSBudWxsOwogCisgICAgICAg
IHRoaXMuX2JvdW5kU3RvcENhcHR1cmluZyA9IHRoaXMuc3RvcENhcHR1cmluZy5iaW5kKHRoaXMp
OwogICAgICAgICB0aGlzLl9zdG9wQ2FwdHVyaW5nVGltZW91dCA9IHVuZGVmaW5lZDsKICAgICAg
ICAgdGhpcy5fZGVhZFRpbWVUaW1lb3V0ID0gdW5kZWZpbmVkOwogICAgICAgICB0aGlzLl9sYXN0
RGVhZFRpbWVUaWNrbGUgPSAwOwpAQCAtMTUzLDkgKzE1MCwxMSBAQCBXSS5UaW1lbGluZU1hbmFn
ZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIC8vIFB1
YmxpYwogCisgICAgZ2V0IGNhcHR1cmluZ1N0YXRlKCkgeyByZXR1cm4gdGhpcy5fY2FwdHVyaW5n
U3RhdGU7IH0KKwogICAgIHJlc2V0KCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9pc0NhcHR1
cmluZykKKyAgICAgICAgaWYgKHRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHRoaXMu
c3RvcENhcHR1cmluZygpOwogCiAgICAgICAgIHRoaXMuX3JlY29yZGluZ3MgPSBbXTsKQEAgLTE2
OCw3ICsxNjcsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIg
ZXh0ZW5kcyBXSS5PYmplY3QKICAgICAvLyBUaGUgY3VycmVudCByZWNvcmRpbmcgdGhhdCBuZXcg
dGltZWxpbmUgcmVjb3JkcyB3aWxsIGJlIGFwcGVuZGVkIHRvLCBpZiBhbnkuCiAgICAgZ2V0IGFj
dGl2ZVJlY29yZGluZygpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9hY3Rp
dmVSZWNvcmRpbmcgfHwgIXRoaXMuX2lzQ2FwdHVyaW5nKTsKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fYWN0aXZlUmVjb3JkaW5nIHx8ICF0aGlzLmlzQ2FwdHVyaW5nKCkpOwogICAgICAg
ICByZXR1cm4gdGhpcy5fYWN0aXZlUmVjb3JkaW5nOwogICAgIH0KIApAQCAtMTkxLDggKzE5MCwx
MCBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBX
SS5PYmplY3QKIAogICAgICAgICB0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQgPSBhdXRvQ2Fw
dHVyZTsKIAotICAgICAgICBpZiAod2luZG93LlRpbWVsaW5lQWdlbnQgJiYgVGltZWxpbmVBZ2Vu
dC5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCi0gICAgICAgICAgICBUaW1lbGluZUFnZW50LnNldEF1
dG9DYXB0dXJlRW5hYmxlZCh0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOworICAgICAgICBm
b3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgeworICAgICAgICAgICAgaWYgKHRhcmdldC5U
aW1lbGluZUFnZW50KQorICAgICAgICAgICAgICAgIHRhcmdldC5UaW1lbGluZUFnZW50LnNldEF1
dG9DYXB0dXJlRW5hYmxlZCh0aGlzLl9hdXRvQ2FwdHVyZU9uUGFnZUxvYWQpOworICAgICAgICB9
CiAgICAgfQogCiAgICAgZ2V0IGVuYWJsZWRUaW1lbGluZVR5cGVzKCkKQEAgLTIxMCw3ICsyMTEs
NyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBX
SS5PYmplY3QKIAogICAgIGlzQ2FwdHVyaW5nKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll9pc0NhcHR1cmluZzsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBU
aW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7CiAgICAgfQogCiAgICAgaXND
YXB0dXJpbmdQYWdlUmVsb2FkKCkKQEAgLTIzOCw0MCArMjM5LDI5IEBAIFdJLlRpbWVsaW5lTWFu
YWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgc3Rh
cnRDYXB0dXJpbmcoc2hvdWxkQ3JlYXRlUmVjb3JkaW5nKQogICAgIHsKLSAgICAgICAgY29uc29s
ZS5hc3NlcnQoIXRoaXMuX2lzQ2FwdHVyaW5nLCAiVGltZWxpbmVNYW5hZ2VyIGlzIGFscmVhZHkg
Y2FwdHVyaW5nLiIpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9jYXB0dXJpbmdTdGF0
ZSA9PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0b3BwaW5nIHx8IHRoaXMuX2Nh
cHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUs
ICJUaW1lbGluZU1hbmFnZXIgaXMgYWxyZWFkeSBjYXB0dXJpbmcuIik7CisgICAgICAgIGlmICh0
aGlzLl9jYXB0dXJpbmdTdGF0ZSAhPT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0
b3BwaW5nICYmIHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1lbGluZU1hbmFnZXIuQ2FwdHVy
aW5nU3RhdGUuSW5hY3RpdmUpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKCF0
aGlzLl9hY3RpdmVSZWNvcmRpbmcgfHwgc2hvdWxkQ3JlYXRlUmVjb3JkaW5nKQogICAgICAgICAg
ICAgdGhpcy5fbG9hZE5ld1JlY29yZGluZygpOwogCi0gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JD
YXB0dXJpbmdTdGFydGVkRXZlbnQgPSB0cnVlOwotCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdXaWxsU3RhcnQp
OworICAgICAgICB0aGlzLl91cGRhdGVDYXB0dXJpbmdTdGF0ZShUaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuU3RhcnRpbmcpOwogCisgICAgICAgIHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGlt
ZSA9IE5hTjsKICAgICAgICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5nLnN0YXJ0KHRoaXMuX2luaXRp
YXRlZEJ5QmFja2VuZFN0YXJ0KTsKICAgICB9CiAKICAgICBzdG9wQ2FwdHVyaW5nKCkKICAgICB7
Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2lzQ2FwdHVyaW5nLCAiVGltZWxpbmVNYW5h
Z2VyIGlzIG5vdCBjYXB0dXJpbmcuIik7Ci0KLSAgICAgICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5n
LnN0b3AodGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RvcCk7Ci0KLSAgICAgICAgLy8gTk9URTog
QWx3YXlzIHN0b3AgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciBhIFRpbWVsaW5l
LnJlY29yZGluZ1N0b3BwZWQgZXZlbnQuCi0gICAgICAgIC8vIFRoaXMgd2F5IHRoZSBVSSBmZWVs
cyBhcyByZXNwb25zaXZlIHRvIGEgc3RvcCBhcyBwb3NzaWJsZS4KLSAgICAgICAgLy8gRklYTUU6
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTI5MDQ+IFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIFVJ
IHNob3VsZCBrZWVwIHVwIHdpdGggcHJvY2Vzc2luZyBhbGwgaW5jb21pbmcgcmVjb3JkcwotICAg
ICAgICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQoKTsKLSAgICB9Ci0KLSAgICB1bmxvYWRSZWNvcmRp
bmcoKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9hY3RpdmVSZWNvcmRpbmcpCisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1lbGluZU1hbmFnZXIu
Q2FwdHVyaW5nU3RhdGUuU3RhcnRpbmcgfHwgdGhpcy5fY2FwdHVyaW5nU3RhdGUgPT09IFRpbWVs
aW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUsICJUaW1lbGluZU1hbmFnZXIgaXMgbm90
IGNhcHR1cmluZy4iKTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlICE9PSBUaW1l
bGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuU3RhcnRpbmcgJiYgdGhpcy5fY2FwdHVyaW5nU3Rh
dGUgIT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX2lzQ2FwdHVyaW5nKQotICAgICAgICAgICAg
dGhpcy5zdG9wQ2FwdHVyaW5nKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNhcHR1cmluZ1N0YXRl
KFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdG9wcGluZyk7CiAKLSAgICAgICAgdGhp
cy5fYWN0aXZlUmVjb3JkaW5nLnVubG9hZGVkKCk7Ci0gICAgICAgIHRoaXMuX2FjdGl2ZVJlY29y
ZGluZyA9IG51bGw7CisgICAgICAgIHRoaXMuX2NhcHR1cmluZ0VuZFRpbWUgPSBOYU47CisgICAg
ICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5zdG9wKHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0
b3ApOwogICAgIH0KIAogICAgIHByb2Nlc3NKU09OKHtmaWxlbmFtZSwganNvbiwgZXJyb3J9KQpA
QCAtMzA1LDcgKzI5NSw3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFu
YWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdDcmVhdGVkLCB7cmVjb3Jk
aW5nOiBuZXdSZWNvcmRpbmd9KTsKIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcpCisg
ICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0aGlzLnN0b3BDYXB0
dXJpbmcoKTsKIAogICAgICAgICBsZXQgb2xkUmVjb3JkaW5nID0gdGhpcy5fYWN0aXZlUmVjb3Jk
aW5nOwpAQCAtMzM5LDUxICszMjksOTUgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGlt
ZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAgICAvLyBDYWxsZWQg
ZnJvbSBXSS5UaW1lbGluZU9ic2VydmVyLgogCi0gICAgICAgIGlmICh0aGlzLl9pc0NhcHR1cmlu
ZykKKyAgICAgICAgLy8gVGhlIGZyb250ZW5kIGRpZG4ndCBzdGFydCBjYXB0dXJpbmcsIHNvIHRo
aXMgd2FzIGEgcHJvZ3JhbW1hdGljIHN0YXJ0LgorICAgICAgICBpZiAodGhpcy5fY2FwdHVyaW5n
U3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkgeworICAg
ICAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0cnVlOworICAgICAgICAg
ICAgdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmFkZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0
aWNDYXB0dXJlKCk7CisgICAgICAgICAgICB0aGlzLnN0YXJ0Q2FwdHVyaW5nKCk7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoIWlzTmFOKHN0YXJ0VGltZSkpIHsKKyAgICAgICAgICAgIGlmIChp
c05hTih0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUpIHx8IHN0YXJ0VGltZSA8IHRoaXMuX2NhcHR1
cmluZ1N0YXJ0VGltZSkKKyAgICAgICAgICAgICAgICB0aGlzLl9jYXB0dXJpbmdTdGFydFRpbWUg
PSBzdGFydFRpbWU7CisKKyAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5pbml0aWFs
aXplVGltZUJvdW5kc0lmTmVjZXNzYXJ5KHN0YXJ0VGltZSk7CisgICAgICAgIH0KKworICAgICAg
ICB0aGlzLl9jYXB0dXJpbmdJbnN0cnVtZW50Q291bnQrKzsKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fY2FwdHVyaW5nSW5zdHJ1bWVudENvdW50KTsKKyAgICAgICAgaWYgKHRoaXMuX2Nh
cHR1cmluZ0luc3RydW1lbnRDb3VudCA+IDEpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgdGhpcy5fd2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCA9IGZhbHNlOwotICAgICAg
ICB0aGlzLl9pc0NhcHR1cmluZyA9IHRydWU7CisgICAgICAgIGlmICh0aGlzLl9jYXB0dXJpbmdT
dGF0ZSA9PT0gVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkFjdGl2ZSkKKyAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9sYXN0RGVhZFRpbWVUaWNrbGUgPSAwOwogCi0g
ICAgICAgIGlmIChzdGFydFRpbWUpCi0gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlY29yZGluZy5p
bml0aWFsaXplVGltZUJvdW5kc0lmTmVjZXNzYXJ5KHN0YXJ0VGltZSk7Ci0KICAgICAgICAgdGhp
cy5fd2ViVGltZWxpbmVTY3JpcHRSZWNvcmRzRXhwZWN0aW5nU2NyaXB0UHJvZmlsZXJFdmVudHMg
PSBbXTsKIAorICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNBdXRvU3RvcC5hZGRFdmVudExp
c3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVzQXV0
b1N0b3BTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CisKKyAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRM
aXN0ZW5lcihXSS5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdh
c0FkZGVkLCB0aGlzKTsKKyAgICAgICAgV0kuVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoV0kuVGFy
Z2V0LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRkZWQsIHRoaXMpOwor
CisgICAgICAgIFdJLmhlYXBNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuSGVhcE1hbmFnZXIu
RXZlbnQuR2FyYmFnZUNvbGxlY3RlZCwgdGhpcy5fZ2FyYmFnZUNvbGxlY3RlZCwgdGhpcyk7CisK
KyAgICAgICAgV0kubWVtb3J5TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLk1lbW9yeU1hbmFn
ZXIuRXZlbnQuTWVtb3J5UHJlc3N1cmUsIHRoaXMuX21lbW9yeVByZXNzdXJlLCB0aGlzKTsKKwog
ICAgICAgICBXSS5ET01Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVudC5EaWRG
aXJlRXZlbnQsIHRoaXMuX2hhbmRsZURPTU5vZGVEaWRGaXJlRXZlbnQsIHRoaXMpOwogICAgICAg
ICBXSS5ET01Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVudC5Mb3dQb3dlckNo
YW5nZWQsIHRoaXMuX2hhbmRsZURPTU5vZGVMb3dQb3dlckNoYW5nZWQsIHRoaXMpOwogCi0gICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVu
dC5DYXB0dXJpbmdTdGFydGVkLCB7c3RhcnRUaW1lfSk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUNh
cHR1cmluZ1N0YXRlKFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUsIHtzdGFy
dFRpbWU6IHRoaXMuX2NhcHR1cmluZ1N0YXJ0VGltZX0pOwogICAgIH0KIAogICAgIGNhcHR1cmlu
Z1N0b3BwZWQoZW5kVGltZSkKICAgICB7CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdJLlRpbWVs
aW5lT2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAg
Ly8gVGhlIGZyb250ZW5kIGRpZG4ndCBzdG9wIGNhcHR1cmluZywgc28gdGhpcyB3YXMgYSBwcm9n
cmFtbWF0aWMgc3RvcC4KKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRlID09PSBUaW1l
bGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlKSB7CisgICAgICAgICAgICB0aGlzLl9p
bml0aWF0ZWRCeUJhY2tlbmRTdG9wID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuc3RvcENhcHR1
cmluZygpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFpc05hTihlbmRUaW1lKSkgeworICAg
ICAgICAgICAgaWYgKGlzTmFOKHRoaXMuX2NhcHR1cmluZ0VuZFRpbWUpIHx8IGVuZFRpbWUgPiB0
aGlzLl9jYXB0dXJpbmdFbmRUaW1lKQorICAgICAgICAgICAgICAgIHRoaXMuX2NhcHR1cmluZ0Vu
ZFRpbWUgPSBlbmRUaW1lOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fY2FwdHVyaW5nSW5z
dHJ1bWVudENvdW50LS07CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmluZ0lu
c3RydW1lbnRDb3VudCA+PSAwKTsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ0luc3RydW1l
bnRDb3VudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAodGhpcy5fY2FwdHVy
aW5nU3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkKICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBXSS5ET01Ob2RlLnJlbW92ZUV2ZW50TGlzdGVu
ZXIobnVsbCwgbnVsbCwgdGhpcyk7CisgICAgICAgIFdJLm1lbW9yeU1hbmFnZXIucmVtb3ZlRXZl
bnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuaGVhcE1hbmFnZXIucmVt
b3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuVGFyZ2V0LnJl
bW92ZUV2ZW50TGlzdGVuZXIoV0kuVGFyZ2V0LkV2ZW50LlJlc291cmNlQWRkZWQsIHRoaXMuX3Jl
c291cmNlV2FzQWRkZWQsIHRoaXMpOworICAgICAgICBXSS5GcmFtZS5yZW1vdmVFdmVudExpc3Rl
bmVyKFdJLkZyYW1lLkV2ZW50LlJlc291cmNlV2FzQWRkZWQsIHRoaXMuX3Jlc291cmNlV2FzQWRk
ZWQsIHRoaXMpOworICAgICAgICBXSS5zZXR0aW5ncy50aW1lbGluZXNBdXRvU3RvcC5yZW1vdmVF
dmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwogCiAgICAgICAgIHRoaXMucmVsYXhBdXRv
U3RvcCgpOwogCi0gICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gZmFsc2U7CiAgICAgICAgIHRo
aXMuX2lzQ2FwdHVyaW5nUGFnZVJlbG9hZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9zaG91bGRT
ZXRBdXRvQ2FwdHVyaW5nTWFpblJlc291cmNlID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX21haW5S
ZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcgPSBudWxsOwogICAgICAgICB0aGlzLl9pbml0aWF0ZWRC
eUJhY2tlbmRTdGFydCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9pbml0aWF0ZWRCeUJhY2tlbmRT
dG9wID0gZmFsc2U7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0ku
VGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHtlbmRUaW1lfSk7CisgICAg
ICAgIHRoaXMuX3VwZGF0ZUNhcHR1cmluZ1N0YXRlKFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdT
dGF0ZS5JbmFjdGl2ZSwge2VuZFRpbWU6IHRoaXMuX2NhcHR1cmluZ0VuZFRpbWV9KTsKICAgICB9
CiAKICAgICBhdXRvQ2FwdHVyZVN0YXJ0ZWQoKQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZy
b20gV0kuVGltZWxpbmVPYnNlcnZlci4KIAotICAgICAgICBpZiAodGhpcy5faXNDYXB0dXJpbmcp
CisgICAgICAgIGxldCB3YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50ID0gdGhpcy5fY2Fw
dHVyaW5nU3RhdGUgPT09IFRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5TdGFydGluZzsK
KworICAgICAgICBpZiAodGhpcy5pc0NhcHR1cmluZygpKQogICAgICAgICAgICAgdGhpcy5zdG9w
Q2FwdHVyaW5nKCk7CiAKICAgICAgICAgdGhpcy5faW5pdGlhdGVkQnlCYWNrZW5kU3RhcnQgPSB0
cnVlOwpAQCAtMzkxLDcgKzQyNSw3IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVs
aW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAvLyBXZSBtYXkgYWxyZWFkeSBo
YXZlIGFuIGZyZXNoIFRpbWVsaW5lUmVjb3JkaW5nIGNyZWF0ZWQgaWYgYXV0b0NhcHR1cmVTdGFy
dGVkIGlzIHJlY2VpdmVkCiAgICAgICAgIC8vIGJldHdlZW4gc2VuZGluZyB0aGUgVGltZWxpbmUu
c3RhcnQgY29tbWFuZCBhbmQgcmVjZWl2aW5nIFRpbWVsaW5lLmNhcHR1cmluZ1N0YXJ0ZWQgZXZl
bnQuCiAgICAgICAgIC8vIEluIHRoYXQgY2FzZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIHN0
YXJ0Q2FwdHVyaW5nIGFnYWluLiBSZXVzZSB0aGUgZnJlc2ggcmVjb3JkaW5nLgotICAgICAgICBp
ZiAoIXRoaXMuX3dhaXRpbmdGb3JDYXB0dXJpbmdTdGFydGVkRXZlbnQpIHsKKyAgICAgICAgaWYg
KCF3YWl0aW5nRm9yQ2FwdHVyaW5nU3RhcnRlZEV2ZW50KSB7CiAgICAgICAgICAgICBjb25zdCBj
cmVhdGVOZXdSZWNvcmRpbmcgPSB0cnVlOwogICAgICAgICAgICAgdGhpcy5zdGFydENhcHR1cmlu
ZyhjcmVhdGVOZXdSZWNvcmRpbmcpOwogICAgICAgICB9CkBAIC0zOTksMzcgKzQzMywxMiBAQCBX
SS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgdGhpcy5fc2hvdWxkU2V0QXV0b0NhcHR1cmluZ01haW5SZXNvdXJjZSA9IHRy
dWU7CiAgICAgfQogCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKQotICAgIHsKLSAg
ICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuVGltZWxpbmVPYnNlcnZlci4KLQotICAgICAgICB0aGlz
Ll9pbml0aWF0ZWRCeUJhY2tlbmRTdGFydCA9IHRydWU7Ci0KLSAgICAgICAgdGhpcy5fYWN0aXZl
UmVjb3JkaW5nLmFkZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0aWNDYXB0dXJlKCk7Ci0K
LSAgICAgICAgY29uc3QgY3JlYXRlTmV3UmVjb3JkaW5nID0gZmFsc2U7Ci0gICAgICAgIHRoaXMu
c3RhcnRDYXB0dXJpbmcoY3JlYXRlTmV3UmVjb3JkaW5nKTsKLSAgICB9Ci0KLSAgICBwcm9ncmFt
bWF0aWNDYXB0dXJlU3RvcHBlZCgpCi0gICAgewotICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5U
aW1lbGluZU9ic2VydmVyLgotCi0gICAgICAgIHRoaXMuX2luaXRpYXRlZEJ5QmFja2VuZFN0b3Ag
PSB0cnVlOwotCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHB1cmVseSB0byBhdm9pZCBhIG5v
aXN5IGFzc2VydC4gUHJldmlvdXNseQotICAgICAgICAvLyBpdCB3YXMgaW1wb3NzaWJsZSB0byBz
dG9wIHdpdGhvdXQgc3RvcHBpbmcgZnJvbSB0aGUgVUkuCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0
KCF0aGlzLl9pc0NhcHR1cmluZyk7Ci0gICAgICAgIHRoaXMuX2lzQ2FwdHVyaW5nID0gdHJ1ZTsK
LQotICAgICAgICB0aGlzLnN0b3BDYXB0dXJpbmcoKTsKLSAgICB9Ci0KICAgICBldmVudFJlY29y
ZGVkKHJlY29yZFBheWxvYWQpCiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5UaW1l
bGluZU9ic2VydmVyLgogCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5p
c0NhcHR1cmluZygpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciByZWNvcmRz
ID0gW107CkBAIC00NjksOCArNDc4LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGlt
ZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KICAgICB9CiAKLSAgICAv
LyBQcm90ZWN0ZWQKLQogICAgIHBhZ2VET01Db250ZW50TG9hZGVkRXZlbnRGaXJlZCh0aW1lc3Rh
bXApCiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5QYWdlT2JzZXJ2ZXIuCkBAIC00
NzgsNyArNDg1LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2Vy
IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2FjdGl2ZVJl
Y29yZGluZyk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlzTmFOKFdJLm5ldHdvcmtNYW5hZ2Vy
Lm1haW5GcmFtZS5kb21Db250ZW50UmVhZHlFdmVudFRpbWVzdGFtcCkpOwogCi0gICAgICAgIGxl
dCBjb21wdXRlZFRpbWVzdGFtcCA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2Vk
VGltZSh0aW1lc3RhbXApOworICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3RhbXAgPSB0aGlzLl9h
Y3RpdmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHRpbWVzdGFtcCk7CiAKICAgICAgICAg
V0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLm1hcmtET01Db250ZW50UmVhZHlFdmVudChjb21w
dXRlZFRpbWVzdGFtcCk7CiAKQEAgLTQ5Myw3ICs1MDAsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIg
PSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgY29uc29s
ZS5hc3NlcnQodGhpcy5fYWN0aXZlUmVjb3JkaW5nKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQo
aXNOYU4oV0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLmxvYWRFdmVudFRpbWVzdGFtcCkpOwog
Ci0gICAgICAgIGxldCBjb21wdXRlZFRpbWVzdGFtcCA9IHRoaXMuYWN0aXZlUmVjb3JkaW5nLmNv
bXB1dGVFbGFwc2VkVGltZSh0aW1lc3RhbXApOworICAgICAgICBsZXQgY29tcHV0ZWRUaW1lc3Rh
bXAgPSB0aGlzLl9hY3RpdmVSZWNvcmRpbmcuY29tcHV0ZUVsYXBzZWRUaW1lKHRpbWVzdGFtcCk7
CiAKICAgICAgICAgV0kubmV0d29ya01hbmFnZXIubWFpbkZyYW1lLm1hcmtMb2FkRXZlbnQoY29t
cHV0ZWRUaW1lc3RhbXApOwogCkBAIC01MTQsMTUgKzUyMSwxOCBAQCBXSS5UaW1lbGluZU1hbmFn
ZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAg
ICAgIC8vIENhbGxlZCBmcm9tIFdJLkNQVVByb2ZpbGVyT2JzZXJ2ZXIuCiAKLSAgICAgICAgaWYg
KCF0aGlzLl9pc0NhcHR1cmluZykKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1
cmluZygpKTsKKyAgICAgICAgaWYgKCF0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5DUFVUaW1lbGluZVJlY29y
ZChldmVudCkpOwogICAgIH0KIAotICAgIGNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoKQor
ICAgIGNwdVByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKQogICAgIHsKICAgICAg
ICAgLy8gQ2FsbGVkIGZyb20gV0kuQ1BVUHJvZmlsZXJPYnNlcnZlci4KKworICAgICAgICB0aGlz
LmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBtZW1vcnlUcmFja2lu
Z1N0YXJ0ZWQodGltZXN0YW1wKQpAQCAtNTM2LDI0ICs1NDYsMjcgQEAgV0kuVGltZWxpbmVNYW5h
Z2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAg
ICAgICAvLyBDYWxsZWQgZnJvbSBXSS5NZW1vcnlPYnNlcnZlci4KIAotICAgICAgICBpZiAoIXRo
aXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVyaW5n
KCkpOworICAgICAgICBpZiAoIXRoaXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLk1lbW9yeVRpbWVsaW5lUmVjb3Jk
KGV2ZW50LnRpbWVzdGFtcCwgZXZlbnQuY2F0ZWdvcmllcykpOwogICAgIH0KIAotICAgIG1lbW9y
eVRyYWNraW5nQ29tcGxldGVkKCkKKyAgICBtZW1vcnlUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3Rh
bXApCiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5NZW1vcnlPYnNlcnZlci4KKwor
ICAgICAgICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBo
ZWFwVHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCwgc25hcHNob3QpCiAgICAgewogICAgICAgICAv
LyBDYWxsZWQgZnJvbSBXSS5IZWFwT2JzZXJ2ZXIuCiAKLSAgICAgICAgdGhpcy5fYWRkUmVjb3Jk
KG5ldyBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVJlY29yZCh0aW1lc3RhbXAsIHNuYXBzaG90
KSk7Ci0KICAgICAgICAgdGhpcy5jYXB0dXJpbmdTdGFydGVkKHRpbWVzdGFtcCk7CisKKyAgICAg
ICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVJlY29yZCh0
aW1lc3RhbXAsIHNuYXBzaG90KSk7CiAgICAgfQogCiAgICAgaGVhcFRyYWNraW5nQ29tcGxldGVk
KHRpbWVzdGFtcCwgc25hcHNob3QpCkBAIC01NjEsMjEgKzU3NCwzOSBAQCBXSS5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
Ly8gQ2FsbGVkIGZyb20gV0kuSGVhcE9ic2VydmVyLgogCiAgICAgICAgIHRoaXMuX2FkZFJlY29y
ZChuZXcgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hv
dCkpOworCisgICAgICAgIHRoaXMuY2FwdHVyaW5nU3RvcHBlZCgpOwogICAgIH0KIAogICAgIGhl
YXBTbmFwc2hvdEFkZGVkKHRpbWVzdGFtcCwgc25hcHNob3QpCiAgICAgewogICAgICAgICAvLyBD
YWxsZWQgZnJvbSBXSS5IZWFwQWxsb2NhdGlvbnNJbnN0cnVtZW50LgogCisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSk7CisgICAgICAgIGlmICghdGhpcy5pc0NhcHR1
cmluZygpKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChu
ZXcgV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVSZWNvcmQodGltZXN0YW1wLCBzbmFwc2hvdCkp
OwogICAgIH0KIAogICAgIC8vIFByaXZhdGUKIAorICAgIF91cGRhdGVDYXB0dXJpbmdTdGF0ZShz
dGF0ZSwgZGF0YSA9IHt9KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2NhcHR1cmluZ1N0YXRl
ID09PSBzdGF0ZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9jYXB0dXJp
bmdTdGF0ZSA9IHN0YXRlOworCisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIGRhdGEpOworICAg
IH0KKwogICAgIF9wcm9jZXNzUmVjb3JkKHJlY29yZFBheWxvYWQsIHBhcmVudFJlY29yZFBheWxv
YWQpCiAgICAgewotICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcu
Y29tcHV0ZUVsYXBzZWRUaW1lKHJlY29yZFBheWxvYWQuc3RhcnRUaW1lKTsKLSAgICAgICAgdmFy
IGVuZFRpbWUgPSB0aGlzLmFjdGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3Jk
UGF5bG9hZC5lbmRUaW1lKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmlu
ZygpKTsKKworICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNv
bXB1dGVFbGFwc2VkVGltZShyZWNvcmRQYXlsb2FkLnN0YXJ0VGltZSk7CisgICAgICAgIHZhciBl
bmRUaW1lID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLmNvbXB1dGVFbGFwc2VkVGltZShyZWNvcmRQ
YXlsb2FkLmVuZFRpbWUpOwogICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IHRoaXMuX2NhbGxGcmFt
ZXNGcm9tUGF5bG9hZChyZWNvcmRQYXlsb2FkLnN0YWNrVHJhY2UpOwogCiAgICAgICAgIHZhciBz
aWduaWZpY2FudENhbGxGcmFtZSA9IG51bGw7CkBAIC03NjIsOSArNzkzLDExIEBAIFdJLlRpbWVs
aW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAg
ICAgX3Byb2Nlc3NFdmVudChyZWNvcmRQYXlsb2FkLCBwYXJlbnRSZWNvcmRQYXlsb2FkKQogICAg
IHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0NhcHR1cmluZygpKTsKKwogICAgICAg
ICBzd2l0Y2ggKHJlY29yZFBheWxvYWQudHlwZSkgewogICAgICAgICBjYXNlIFRpbWVsaW5lQWdl
bnQuRXZlbnRUeXBlLlRpbWVTdGFtcDoKLSAgICAgICAgICAgIHZhciB0aW1lc3RhbXAgPSB0aGlz
LmFjdGl2ZVJlY29yZGluZy5jb21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5zdGFydFRp
bWUpOworICAgICAgICAgICAgdmFyIHRpbWVzdGFtcCA9IHRoaXMuX2FjdGl2ZVJlY29yZGluZy5j
b21wdXRlRWxhcHNlZFRpbWUocmVjb3JkUGF5bG9hZC5zdGFydFRpbWUpOwogICAgICAgICAgICAg
dmFyIGV2ZW50TWFya2VyID0gbmV3IFdJLlRpbWVsaW5lTWFya2VyKHRpbWVzdGFtcCwgV0kuVGlt
ZWxpbmVNYXJrZXIuVHlwZS5UaW1lU3RhbXAsIHJlY29yZFBheWxvYWQuZGF0YS5tZXNzYWdlKTsK
ICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRFdmVudE1hcmtlcihldmVudE1h
cmtlcik7CiAgICAgICAgICAgICBicmVhazsKQEAgLTc5NCw3ICs4MjcsNyBAQCBXSS5UaW1lbGlu
ZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgdGhpcy5fcmVjb3JkaW5ncy5wdXNoKG5ld1JlY29yZGluZyk7CiAgICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdD
cmVhdGVkLCB7cmVjb3JkaW5nOiBuZXdSZWNvcmRpbmd9KTsKIAotICAgICAgICBpZiAodGhpcy5f
aXNDYXB0dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAg
ICB0aGlzLnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB2YXIgb2xkUmVjb3JkaW5nID0gdGhp
cy5fYWN0aXZlUmVjb3JkaW5nOwpAQCAtODI3LDYgKzg2MCw4IEBAIFdJLlRpbWVsaW5lTWFuYWdl
ciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgX2FkZFJl
Y29yZChyZWNvcmQpCiAgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzQ2FwdHVy
aW5nKCkpOworCiAgICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRSZWNvcmQocmVjb3Jk
KTsKIAogICAgICAgICAvLyBPbmx5IHdvcnJ5IGFib3V0IGRlYWQgdGltZSBhZnRlciB0aGUgbG9h
ZCBldmVudC4KQEAgLTg0NCwxNSArODc5LDE1IEBAIFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNz
IFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIC8vIENPTVBBVElC
SUxJVFkgKGlPUyA5KTogVGltZWxpbmUuc2V0QXV0b0NhcHR1cmVFbmFibGVkIGRpZCBub3QgZXhp
c3QuCiAgICAgICAgIC8vIFBlcmZvcm0gYXV0byBjYXB0dXJlIGluIHRoZSBmcm9udGVuZC4KLSAg
ICAgICAgaWYgKCF3aW5kb3cuVGltZWxpbmVBZ2VudCkKKyAgICAgICAgaWYgKCFJbnNwZWN0b3JC
YWNrZW5kLmRvbWFpbnMuVGltZWxpbmUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGlmICghVGltZWxpbmVBZ2VudC5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQpCisgICAgICAgIGlm
ICghSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlRpbWVsaW5lLnNldEF1dG9DYXB0dXJlRW5hYmxl
ZCkKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sZWdhY3lBdHRlbXB0U3RhcnRBdXRvQ2FwdHVy
aW5nRm9yRnJhbWUoZnJhbWUpOwogCiAgICAgICAgIGlmICghdGhpcy5fc2hvdWxkU2V0QXV0b0Nh
cHR1cmluZ01haW5SZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAg
ICBjb25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZywgIldlIHNhdyBhdXRvQ2FwdHVyZVN0
YXJ0ZWQgc28gd2Ugc2hvdWxkIGFscmVhZHkgYmUgY2FwdHVyaW5nIik7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuaXNDYXB0dXJpbmcoKSwgIldlIHNhdyBhdXRvQ2FwdHVyZVN0YXJ0ZWQg
c28gd2Ugc2hvdWxkIGFscmVhZHkgYmUgY2FwdHVyaW5nIik7CiAKICAgICAgICAgbGV0IG1haW5S
ZXNvdXJjZSA9IGZyYW1lLnByb3Zpc2lvbmFsTWFpblJlc291cmNlIHx8IGZyYW1lLm1haW5SZXNv
dXJjZTsKICAgICAgICAgaWYgKG1haW5SZXNvdXJjZSA9PT0gdGhpcy5fbWFpblJlc291cmNlRm9y
QXV0b0NhcHR1cmluZykKQEAgLTg3NCw3ICs5MDksNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBj
bGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF9sZWdhY3lBdHRl
bXB0U3RhcnRBdXRvQ2FwdHVyaW5nRm9yRnJhbWUoZnJhbWUpCiAgICAgewotICAgICAgICBpZiAo
dGhpcy5faXNDYXB0dXJpbmcgJiYgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcp
CisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkgJiYgIXRoaXMuX21haW5SZXNvdXJjZUZv
ckF1dG9DYXB0dXJpbmcpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgbGV0
IG1haW5SZXNvdXJjZSA9IGZyYW1lLnByb3Zpc2lvbmFsTWFpblJlc291cmNlIHx8IGZyYW1lLm1h
aW5SZXNvdXJjZTsKQEAgLTg4NCw3ICs5MTksNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFz
cyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgbGV0IG9sZE1haW5S
ZXNvdXJjZSA9IGZyYW1lLm1haW5SZXNvdXJjZSB8fCBudWxsOwogICAgICAgICB0aGlzLl9pc0Nh
cHR1cmluZ1BhZ2VSZWxvYWQgPSBvbGRNYWluUmVzb3VyY2UgIT09IG51bGwgJiYgb2xkTWFpblJl
c291cmNlLnVybCA9PT0gbWFpblJlc291cmNlLnVybDsKIAotICAgICAgICBpZiAodGhpcy5faXND
YXB0dXJpbmcpCisgICAgICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nKCkpCiAgICAgICAgICAgICB0
aGlzLnN0b3BDYXB0dXJpbmcoKTsKIAogICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRv
Q2FwdHVyaW5nID0gbWFpblJlc291cmNlOwpAQCAtOTA2LDcgKzk0MSw3IEBAIFdJLlRpbWVsaW5l
TWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIE9ubHkgYXV0byBzdG9wIHdoZW4gYXV0byBjYXB0
dXJpbmcuCi0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcgfHwgIXRoaXMuX21haW5SZXNv
dXJjZUZvckF1dG9DYXB0dXJpbmcpCisgICAgICAgIGlmICghdGhpcy5pc0NhcHR1cmluZygpIHx8
ICF0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nKQogICAgICAgICAgICAgcmV0dXJu
OwogCiAgICAgICAgIGlmICh0aGlzLl9zdG9wQ2FwdHVyaW5nVGltZW91dCkKQEAgLTkzMCw3ICs5
NjUsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5k
cyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBPbmx5IG1vbml0
b3IgZGVhZCB0aW1lIHdoZW4gYXV0byBjYXB0dXJpbmcuCi0gICAgICAgIGlmICghdGhpcy5faXND
YXB0dXJpbmcgfHwgIXRoaXMuX21haW5SZXNvdXJjZUZvckF1dG9DYXB0dXJpbmcpCisgICAgICAg
IGlmICghdGhpcy5pc0NhcHR1cmluZygpIHx8ICF0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2Fw
dHVyaW5nKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIEF2b2lkIHVubmVjZXNz
YXJ5IGNodXJuaW5nIG9mIHRpbWVvdXQgaWRlbnRpZmllciBieSBub3QgdGlja2xpbmcgdW50aWwg
MTBtcyBoYXZlIHBhc3NlZC4KQEAgLTk3MSw3ICsxMDA2LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2Vy
ID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICh0
aGlzLl9hdHRlbXB0QXV0b0NhcHR1cmluZ0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBpZiAoIXRoaXMuX2lzQ2FwdHVyaW5nKQorICAgICAgICBpZiAoIXRo
aXMuaXNDYXB0dXJpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBsZXQgbWFp
blJlc291cmNlID0gZnJhbWUubWFpblJlc291cmNlOwpAQCAtOTgzLDQwICsxMDE4LDI3IEBAIFdJ
LlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogCiAgICAgX3Jlc291cmNlV2FzQWRkZWQoZXZlbnQpCiAgICAgewotCiAgICAgICAgIC8vIEln
bm9yZSByZXNvdXJjZSBldmVudHMgd2hlbiB0aGVyZSBpc24ndCBhIG1haW4gZnJhbWUgeWV0LiBU
aG9zZSBldmVudHMgYXJlIHRyaWdnZXJlZCBieQogICAgICAgICAvLyBsb2FkaW5nIHRoZSBjYWNo
ZWQgcmVzb3VyY2VzIHdoZW4gdGhlIGluc3BlY3RvciBvcGVucywgYW5kIHRoZXkgZG8gbm90IGhh
dmUgdGltaW5nIGluZm9ybWF0aW9uLgogICAgICAgICBpZiAoIVdJLm5ldHdvcmtNYW5hZ2VyLm1h
aW5GcmFtZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoIXRoaXMuX2lzQ2Fw
dHVyaW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChu
ZXcgV0kuUmVzb3VyY2VUaW1lbGluZVJlY29yZChldmVudC5kYXRhLnJlc291cmNlKSk7CiAgICAg
fQogCiAgICAgX2dhcmJhZ2VDb2xsZWN0ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMuX2lzQ2FwdHVyaW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxldCBjb2xs
ZWN0aW9uID0gZXZlbnQuZGF0YS5jb2xsZWN0aW9uOworICAgICAgICBsZXQge2NvbGxlY3Rpb259
ID0gZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fYWRkUmVjb3JkKG5ldyBXSS5TY3JpcHRUaW1l
bGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuR2FyYmFnZUNvbGxl
Y3RlZCwgY29sbGVjdGlvbi5zdGFydFRpbWUsIGNvbGxlY3Rpb24uZW5kVGltZSwgbnVsbCwgbnVs
bCwgY29sbGVjdGlvbikpOwogICAgIH0KIAogICAgIF9tZW1vcnlQcmVzc3VyZShldmVudCkKICAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy5faXNDYXB0dXJpbmcpCi0gICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgdGhpcy5hY3RpdmVSZWNvcmRpbmcuYWRkTWVtb3J5UHJlc3N1cmVFdmVudChl
dmVudC5kYXRhLm1lbW9yeVByZXNzdXJlRXZlbnQpOworICAgICAgICB0aGlzLl9hY3RpdmVSZWNv
cmRpbmcuYWRkTWVtb3J5UHJlc3N1cmVFdmVudChldmVudC5kYXRhLm1lbW9yeVByZXNzdXJlRXZl
bnQpOwogICAgIH0KIAogICAgIF9oYW5kbGVUaW1lbGluZXNBdXRvU3RvcFNldHRpbmdDaGFuZ2Vk
KGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NhcHR1cmluZykKLSAgICAgICAg
ICAgIHJldHVybjsKLQogICAgICAgICBpZiAoV0kuc2V0dGluZ3MudGltZWxpbmVzQXV0b1N0b3Au
dmFsdWUpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVy
aW5nICYmICFpc05hTih0aGlzLl9tYWluUmVzb3VyY2VGb3JBdXRvQ2FwdHVyaW5nLnBhcmVudEZy
YW1lLmxvYWRFdmVudFRpbWVzdGFtcCkpCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcEF1dG9S
ZWNvcmRpbmdTb29uKCk7CkBAIC0xMDM5LDI0ICsxMDYxLDYgQEAgV0kuVGltZWxpbmVNYW5hZ2Vy
ID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKLSAg
ICB7Ci0gICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5l
cmFsaXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsg
ZXF1YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xl
LmFzc2VydChXSS5zaGFyZWRBcHAuZGVidWdnYWJsZVR5cGUgPT09IFdJLkRlYnVnZ2FibGVUeXBl
LkphdmFTY3JpcHQpOwotICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5faXNDYXB0dXJpbmcp
OwotCi0gICAgICAgIHRoaXMucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLSAgICB9Ci0K
LSAgICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCkKLSAgICB7Ci0g
ICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXpl
IHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxs
eSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xlLmFzc2Vy
dChXSS5zaGFyZWRBcHAuZGVidWdnYWJsZVR5cGUgPT09IFdJLkRlYnVnZ2FibGVUeXBlLkphdmFT
Y3JpcHQpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9pc0NhcHR1cmluZyk7Ci0KLSAg
ICAgICAgdGhpcy5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpOwotICAgIH0KLQogICAgIHNj
cmlwdFByb2ZpbGVyVHJhY2tpbmdTdGFydGVkKHRpbWVzdGFtcCkKICAgICB7CiAgICAgICAgIHRo
aXMuX3NjcmlwdFByb2ZpbGVyUmVjb3JkcyA9IFtdOwpAQCAtMTA4MCwxMyArMTA4NCwxMyBAQCBX
SS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgICAgIHRoaXMuX2FkZFJlY29yZChyZWNvcmQpOwogICAgIH0KIAotICAgIHNj
cmlwdFByb2ZpbGVyVHJhY2tpbmdDb21wbGV0ZWQoc2FtcGxlcykKKyAgICBzY3JpcHRQcm9maWxl
clRyYWNraW5nQ29tcGxldGVkKHRpbWVzdGFtcCwgc2FtcGxlcykKICAgICB7CiAgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KCF0aGlzLl93ZWJUaW1lbGluZVNjcmlwdFJlY29yZHNFeHBlY3RpbmdTY3Jp
cHRQcm9maWxlckV2ZW50cyB8fCB0aGlzLl9zY3JpcHRQcm9maWxlclJlY29yZHMubGVuZ3RoID49
IHRoaXMuX3dlYlRpbWVsaW5lU2NyaXB0UmVjb3Jkc0V4cGVjdGluZ1NjcmlwdFByb2ZpbGVyRXZl
bnRzLmxlbmd0aCk7CiAKICAgICAgICAgaWYgKHNhbXBsZXMpIHsKICAgICAgICAgICAgIGxldCB7
c3RhY2tUcmFjZXN9ID0gc2FtcGxlczsKLSAgICAgICAgICAgIGxldCB0b3BEb3duQ2FsbGluZ0Nv
bnRleHRUcmVlID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcudG9wRG93bkNhbGxpbmdDb250ZXh0VHJl
ZTsKKyAgICAgICAgICAgIGxldCB0b3BEb3duQ2FsbGluZ0NvbnRleHRUcmVlID0gdGhpcy5fYWN0
aXZlUmVjb3JkaW5nLnRvcERvd25DYWxsaW5nQ29udGV4dFRyZWU7CiAKICAgICAgICAgICAgIC8v
IENhbGN1bGF0ZSBhIHBlci1zYW1wbGUgZHVyYXRpb24uCiAgICAgICAgICAgICBsZXQgdGltZXN0
YW1wSW5kZXggPSAwOwpAQCAtMTEyMCw3ICsxMTI0LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBpZiAo
dGltZXN0YW1wSW5kZXggPCB0aW1lc3RhbXBDb3VudCkKICAgICAgICAgICAgICAgICBzYW1wbGVE
dXJhdGlvbnMuZmlsbChkZWZhdWx0RHVyYXRpb24sIHNhbXBsZUR1cmF0aW9uSW5kZXgpOwogCi0g
ICAgICAgICAgICB0aGlzLmFjdGl2ZVJlY29yZGluZy5pbml0aWFsaXplQ2FsbGluZ0NvbnRleHRU
cmVlcyhzdGFja1RyYWNlcywgc2FtcGxlRHVyYXRpb25zKTsKKyAgICAgICAgICAgIHRoaXMuX2Fj
dGl2ZVJlY29yZGluZy5pbml0aWFsaXplQ2FsbGluZ0NvbnRleHRUcmVlcyhzdGFja1RyYWNlcywg
c2FtcGxlRHVyYXRpb25zKTsKIAogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgdHJhbnNmb3Jt
YXRpb24gc2hvdWxkIG5vdCBiZSBuZWVkZWQgYWZ0ZXIgaW50cm9kdWNpbmcgUHJvZmlsZVZpZXcu
CiAgICAgICAgICAgICAvLyBPbmNlIHdlIGVsaW1pbmF0ZSBQcm9maWxlTm9kZVRyZWVFbGVtZW50
cyBhbmQgUHJvZmlsZU5vZGVEYXRhR3JpZE5vZGVzLgpAQCAtMTE0MCw4ICsxMTQ0LDEwIEBAIFdJ
LlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogCiAgICAgICAgIHRoaXMuX3NjcmlwdFByb2ZpbGVyUmVjb3JkcyA9IG51bGw7CiAKLSAgICAg
ICAgbGV0IHRpbWVsaW5lID0gdGhpcy5hY3RpdmVSZWNvcmRpbmcudGltZWxpbmVGb3JSZWNvcmRU
eXBlKFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgbGV0IHRpbWVsaW5l
ID0gdGhpcy5fYWN0aXZlUmVjb3JkaW5nLnRpbWVsaW5lRm9yUmVjb3JkVHlwZShXSS5UaW1lbGlu
ZVJlY29yZC5UeXBlLlNjcmlwdCk7CiAgICAgICAgIHRpbWVsaW5lLnJlZnJlc2goKTsKKworICAg
ICAgICB0aGlzLmNhcHR1cmluZ1N0b3BwZWQodGltZXN0YW1wKTsKICAgICB9CiAKICAgICBfbWVy
Z2VTY3JpcHRQcm9maWxlUmVjb3JkcygpCkBAIC0xMjQwLDggKzEyNDYsNiBAQCBXSS5UaW1lbGlu
ZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAg
IF9oYW5kbGVET01Ob2RlRGlkRmlyZUV2ZW50KGV2ZW50KQogICAgIHsKLSAgICAgICAgY29uc29s
ZS5hc3NlcnQodGhpcy5faXNDYXB0dXJpbmcpOwotCiAgICAgICAgIGxldCB7ZG9tRXZlbnR9ID0g
ZXZlbnQuZGF0YTsKIAogICAgICAgICB0aGlzLl9hZGRSZWNvcmQobmV3IFdJLk1lZGlhVGltZWxp
bmVSZWNvcmQoV0kuTWVkaWFUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRE9NRXZlbnQsIGRvbUV2
ZW50LnRpbWVzdGFtcCwgewpAQCAtMTI1Miw4ICsxMjU2LDYgQEAgV0kuVGltZWxpbmVNYW5hZ2Vy
ID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfaGFuZGxl
RE9NTm9kZUxvd1Bvd2VyQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHRoaXMuX2lzQ2FwdHVyaW5nKTsKLQogICAgICAgICBsZXQge3RpbWVzdGFtcCwgaXNMb3dQ
b3dlcn0gPSBldmVudC5kYXRhOwogCiAgICAgICAgIHRoaXMuX2FkZFJlY29yZChuZXcgV0kuTWVk
aWFUaW1lbGluZVJlY29yZChXSS5NZWRpYVRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Mb3dQb3dl
ciwgdGltZXN0YW1wLCB7CkBAIC0xMjYzLDEzICsxMjY1LDE4IEBAIFdJLlRpbWVsaW5lTWFuYWdl
ciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgIH0KIH07CiAK
K1dJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZSA9IHsKKyAgICBJbmFjdGl2ZTogImlu
YWN0aXZlIiwKKyAgICBTdGFydGluZzogInN0YXJ0aW5nIiwKKyAgICBBY3RpdmU6ICJhY3RpdmUi
LAorICAgIFN0b3BwaW5nOiAic3RvcHBpbmciLAorfTsKKwogV0kuVGltZWxpbmVNYW5hZ2VyLkV2
ZW50ID0geworICAgIENhcHR1cmluZ1N0YXRlQ2hhbmdlZDogInRpbWVsaW5lLW1hbmFnZXItY2Fw
dHVyaW5nLXN0YXJ0ZWQiLAogICAgIFJlY29yZGluZ0NyZWF0ZWQ6ICJ0aW1lbGluZS1tYW5hZ2Vy
LXJlY29yZGluZy1jcmVhdGVkIiwKICAgICBSZWNvcmRpbmdMb2FkZWQ6ICJ0aW1lbGluZS1tYW5h
Z2VyLXJlY29yZGluZy1sb2FkZWQiLAogICAgIFJlY29yZGluZ0ltcG9ydGVkOiAidGltZWxpbmUt
bWFuYWdlci1yZWNvcmRpbmctaW1wb3J0ZWQiLAotICAgIENhcHR1cmluZ1dpbGxTdGFydDogInRp
bWVsaW5lLW1hbmFnZXItY2FwdHVyaW5nLXdpbGwtc3RhcnQiLAotICAgIENhcHR1cmluZ1N0YXJ0
ZWQ6ICJ0aW1lbGluZS1tYW5hZ2VyLWNhcHR1cmluZy1zdGFydGVkIiwKLSAgICBDYXB0dXJpbmdT
dG9wcGVkOiAidGltZWxpbmUtbWFuYWdlci1jYXB0dXJpbmctc3RvcHBlZCIKIH07CiAKIFdJLlRp
bWVsaW5lTWFuYWdlci5NYXhpbXVtQXV0b1JlY29yZER1cmF0aW9uID0gOTAwMDA7IC8vIDkwIHNl
Y29uZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9EZWZhdWx0RGFzaGJvYXJkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKaW5kZXggNjQ1Zjk5M2UwNDE5YmVhNzkz
NGM2MWZjMjNmMzRhZTdhYzZhM2Y2Yi4uYzhjYjlmNTYzNmQ0MGUzOWM3ZTM5MmVhNzNmYTVmNTAx
NWQxMjY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RlZmF1bHREYXNoYm9hcmQuanMKQEAgLTMzLDcgKzMzLDcgQEAg
V0kuRGVmYXVsdERhc2hib2FyZCA9IGNsYXNzIERlZmF1bHREYXNoYm9hcmQgZXh0ZW5kcyBXSS5P
YmplY3QKIAogICAgICAgICAvLyBOZWNlc3NhcnkgZXZlbnQgcmVxdWlyZWQgdG8gdHJhY2sgcGFn
ZSBsb2FkIHRpbWUgYW5kIHJlc291cmNlIHNpemVzLgogICAgICAgICBXSS5GcmFtZS5hZGRFdmVu
dExpc3RlbmVyKFdJLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcy5fbWFp
blJlc291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQs
IHRoaXMuX2NhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3Rh
dGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVUaW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhp
cyk7CiAKICAgICAgICAgLy8gTmVjZXNzYXJ5IGV2ZW50cyByZXF1aXJlZCB0byB0cmFjayBsb2Fk
IG9mIHJlc291cmNlcy4KICAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXSS5GcmFt
ZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCB0aGlzLl9yZXNvdXJjZVdhc0FkZGVkLCB0aGlzKTsK
QEAgLTE2Myw4ICsxNjMsMTEgQEAgV0kuRGVmYXVsdERhc2hib2FyZCA9IGNsYXNzIERlZmF1bHRE
YXNoYm9hcmQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHRoaXMuX3RyYW5zaXRpb25p
bmdQYWdlVGFyZ2V0ID0gZmFsc2U7CiAgICAgfQogCi0gICAgX2NhcHR1cmluZ1N0b3BwZWQoZXZl
bnQpCisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAg
IHsKKyAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpKQorICAgICAg
ICAgICAgcmV0dXJuOworCiAgICAgICAgIC8vIElmIHJlY29yZGluZyBzdG9wcywgd2Ugc2hvdWxk
IHN0b3AgdGhlIHRpbWVyIGlmIGl0IGhhc24ndCBzdG9wcGVkIGFscmVhZHkuCiAgICAgICAgIHRo
aXMuX3N0b3BVcGRhdGluZ1RpbWUoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9ic2VydmVyLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvQ1BVUHJvZmlsZXJP
YnNlcnZlci5qcwppbmRleCA0OWEyMzQ1YmRhNDJhZWIwN2RjMTRlYThiYjQwNTA5ZDc5ODY3ZTBl
Li4wNTEzNDcwYTc5YjFiNDhmYjYxYmQxMGNmZTk4NjA5MmM2ZWY3OGRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9DUFVQcm9maWxlck9i
c2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL0NQVVByb2ZpbGVyT2JzZXJ2ZXIuanMKQEAgLTM3LDggKzM3LDggQEAgV0kuQ1BVUHJvZmls
ZXJPYnNlcnZlciA9IGNsYXNzIENQVVByb2ZpbGVyT2JzZXJ2ZXIKICAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLmNwdVByb2ZpbGVyVHJhY2tpbmdVcGRhdGVkKGV2ZW50KTsKICAgICB9CiAKLSAg
ICB0cmFja2luZ0NvbXBsZXRlKHNhbXBsZXMpCisgICAgdHJhY2tpbmdDb21wbGV0ZSh0aW1lc3Rh
bXApCiAgICAgewotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuY3B1UHJvZmlsZXJUcmFja2lu
Z0NvbXBsZXRlZChzYW1wbGVzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmNwdVByb2Zp
bGVyVHJhY2tpbmdDb21wbGV0ZWQodGltZXN0YW1wKTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTWVtb3J5T2JzZXJ2
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1v
cnlPYnNlcnZlci5qcwppbmRleCA3MjI0ZGUyNzdjNmJjNGRhYzM1MDM1OWI3NGNkZGFmNGRjMTg5
ZGQxLi5lODQyMjViYzRhYmUyYzMzZjgzYjc0ZjQ5ZjBmODA4ODgzNzlmMzZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9NZW1vcnlPYnNl
cnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9NZW1vcnlPYnNlcnZlci5qcwpAQCAtNDIsOCArNDIsOCBAQCBXSS5NZW1vcnlPYnNlcnZlciA9
IGNsYXNzIE1lbW9yeU9ic2VydmVyCiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5tZW1vcnlU
cmFja2luZ1VwZGF0ZWQoZXZlbnQpOwogICAgIH0KIAotICAgIHRyYWNraW5nQ29tcGxldGUoKQor
ICAgIHRyYWNraW5nQ29tcGxldGUodGltZXN0YW1wKQogICAgIHsKLSAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLm1lbW9yeVRyYWNraW5nQ29tcGxldGVkKCk7CisgICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5tZW1vcnlUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXApOwogICAgIH0KIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9T
Y3JpcHRQcm9maWxlck9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvU2NyaXB0UHJvZmlsZXJPYnNlcnZlci5qcwppbmRleCBmMWI1NGNjNzcw
MTdmZWYyY2VkOWM2NjA5MzViMjcxNzI5YzQ1MTA5Li42YjdiNTU4NjkyN2MzOTBhOGI5Zjg0YjYy
YjczMTFhMzQ1MDAwZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9TY3JpcHRQcm9maWxlck9ic2VydmVyLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2
ZXIuanMKQEAgLTM3LDE4ICszNywxOCBAQCBXSS5TY3JpcHRQcm9maWxlck9ic2VydmVyID0gY2xh
c3MgU2NyaXB0UHJvZmlsZXJPYnNlcnZlcgogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2Ny
aXB0UHJvZmlsZXJUcmFja2luZ1VwZGF0ZWQoZXZlbnQpOwogICAgIH0KIAotICAgIHRyYWNraW5n
Q29tcGxldGUoc2FtcGxlcykKKyAgICB0cmFja2luZ0NvbXBsZXRlKHRpbWVzdGFtcCwgc2FtcGxl
cykKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zY3JpcHRQcm9maWxlclRyYWNr
aW5nQ29tcGxldGVkKHNhbXBsZXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc2NyaXB0
UHJvZmlsZXJUcmFja2luZ0NvbXBsZXRlZCh0aW1lc3RhbXAsIHNhbXBsZXMpOwogICAgIH0KIAog
ICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVs
aW5lTWFuYWdlci5zY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCk7Cisg
ICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMi4yKTogU2NyaXB0UHJvZmlsZXIucHJvZ3Jh
bW1hdGljQ2FwdHVyZVN0YXJ0ZWQgd2FzIHJlbW92ZWQgYWZ0ZXIgaU9TIDEyLjIuCiAgICAgfQog
CiAgICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQogICAgIHsKLSAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLnNjcmlwdFByb2ZpbGVyUHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsK
KyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEyLjIpOiBTY3JpcHRQcm9maWxlci5wcm9n
cmFtbWF0aWNDYXB0dXJlU3RvcHBlZCB3YXMgcmVtb3ZlZCBhZnRlciBpT1MgMTIuMi4KICAgICB9
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvVGltZWxpbmVPYnNlcnZlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2ZXIuanMKaW5kZXggYmE5ZDAxOTkwM2M4YThk
YWVmNzVhMzViNGY1NTk0ZDEyNGYwY2M4Ni4uYzliMGFhN2Q2M2JlNTQ2OTRiYmExZmM5ZGFlMzcz
NDkzODg4N2Q2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvVGltZWxpbmVPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9UaW1lbGluZU9ic2VydmVyLmpzCkBAIC00OSwxMSAr
NDksMTEgQEAgV0kuVGltZWxpbmVPYnNlcnZlciA9IGNsYXNzIFRpbWVsaW5lT2JzZXJ2ZXIKIAog
ICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVs
aW5lTWFuYWdlci5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCgpOworICAgICAgICAvLyBDT01Q
QVRJQklMSVRZIChpT1MgMTIuMik6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVk
IHdhcyByZW1vdmVkIGFmdGVyIGlPUyAxMi4yLgogICAgIH0KIAogICAgIHByb2dyYW1tYXRpY0Nh
cHR1cmVTdG9wcGVkKCkKICAgICB7Ci0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5wcm9ncmFt
bWF0aWNDYXB0dXJlU3RvcHBlZCgpOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIu
Mik6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkIHdhcyByZW1vdmVkIGFmdGVy
IGlPUyAxMi4yLgogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IDhjMWM1NmI5ZDI2NGU2NGVmMGZjZjMzMDFmZDJkNGQxNWIwOGU5YWMuLjRlN2M0MGEwMjUw
YjRhYTJmZmQ4OWM3YzgwMDliMDU2NTE4ODM5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJh
clBhbmVsLmpzCkBAIC01NSw4ICs1NSw3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xh
c3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAKICAg
ICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQu
RXZlbnQuRE9NTm9kZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hh
bmdlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcy5fdGlt
ZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3Rv
cHBlZCwgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0ku
dGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50
LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0
ZUNoYW5nZWQsIHRoaXMpOwogCiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdJLkF1ZGl0TWFuYWdlci5FdmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRp
dE1hbmFnZXJUZXN0U2NoZWR1bGVkLCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuQXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMu
X2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMjUxLDggKzI1MCw3
IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwg
ZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlckRp
ZFBhdXNlKG51bGwpOwogCiAgICAgICAgIGlmIChXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2lu
dHNEaXNhYmxlZFRlbXBvcmFyaWx5KSB7Ci0gICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5h
Z2VyLmlzQ2FwdHVyaW5nKCkpCi0gICAgICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVDYXB0dXJp
bmdXaWxsU3RhcnQoKTsKKyAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5n
U3RhdGVDaGFuZ2VkKCk7CiAKICAgICAgICAgICAgIGlmIChXSS5hdWRpdE1hbmFnZXIucnVubmlu
Z1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLkFjdGl2ZSB8fCBXSS5hdWRp
dE1hbmFnZXIucnVubmluZ1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLlN0
b3BwaW5nKQogICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hl
ZHVsZWQoKTsKQEAgLTY0OCwxOSArNjQ2LDIwIEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0g
Y2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAg
ICAgICAgIH0KICAgICB9CiAKLSAgICBfdGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQoZXZlbnQp
CisgICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsK
ICAgICAgICAgdGhpcy5fdXBkYXRlVGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9u
cygpOwogCi0gICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhp
cy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVt
ZW50LmZpcnN0Q2hpbGQpOwotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0Rpc2FibGVk
QmFubmVyKCk7Ci0gICAgfQorICAgICAgICBzd2l0Y2ggKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0
dXJpbmdTdGF0ZSkgeworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdT
dGF0ZS5TdGFydGluZzoKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNl
cnRCZWZvcmUodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCwgdGhpcy5jb250
ZW50Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBf
dGltZWxpbmVDYXB0dXJpbmdTdG9wcGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fdXBk
YXRlVGVtcG9yYXJpbHlEaXNhYmxlZEJyZWFrcG9pbnRzQnV0dG9ucygpOworICAgICAgICBjYXNl
IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAg
IHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2FybmluZ0VsZW1lbnQucmVtb3ZlKCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5n
V2FybmluZ0VsZW1lbnQucmVtb3ZlKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJyZWFrcG9pbnRz
RGlzYWJsZWRCYW5uZXIoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmln
YXRpb25TaWRlYmFyUGFuZWwuanMKaW5kZXggNTY4YTNjZDVkYTkwZGM2YmY2YmIzZDQ4MjkzMmJh
ZDEwZjhlZjFiNi4uZjBlOTRmYmFkMTZmMDAwODJlM2RjOWVmOTUxZWZkZDEyYTJiYmViMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNl
c05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTI4
Miw4ICsyODIsNyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNv
dXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICBXSS5jb25zb2xl
TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lklzc3VlQWRk
ZWQsIHRoaXMuX2hhbmRsZUNvbnNvbGVJc3N1ZUFkZGVkLCB0aGlzKTsKICAgICAgICAgV0kuY29u
c29sZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5DbGVh
cmVkLCB0aGlzLl9oYW5kbGVDb25zb2xlQ2xlYXJlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNh
cHR1cmluZ1dpbGxTdGFydCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQs
IHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5U
aW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcy5faGFuZGxlVGltZWxp
bmVDYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hh
bmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIHRoaXMpOwog
CiAgICAgICAgIFdJLmF1ZGl0TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkF1ZGl0TWFuYWdl
ci5FdmVudC5UZXN0U2NoZWR1bGVkLCB0aGlzLl9oYW5kbGVBdWRpdE1hbmFnZXJUZXN0U2NoZWR1
bGVkLCB0aGlzKTsKICAgICAgICAgV0kuYXVkaXRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0ku
QXVkaXRNYW5hZ2VyLkV2ZW50LlRlc3RDb21wbGV0ZWQsIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdl
clRlc3RDb21wbGV0ZWQsIHRoaXMpOwpAQCAtMzM3LDggKzMzNiw3IEBAIFdJLlNvdXJjZXNOYXZp
Z2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwg
ZXh0ZW5kcyBXCiAgICAgICAgICAgICB0aGlzLl9oYW5kbGVEZWJ1Z2dlclBhdXNlZCgpOwogCiAg
ICAgICAgIGlmIChXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNEaXNhYmxlZFRlbXBvcmFy
aWx5KSB7Ci0gICAgICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2VyLmlzQ2FwdHVyaW5nKCkp
Ci0gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQo
KTsKKyAgICAgICAgICAgIHRoaXMuX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2Vk
KCk7CiAKICAgICAgICAgICAgIGlmIChXSS5hdWRpdE1hbmFnZXIucnVubmluZ1N0YXRlID09PSBX
SS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLkFjdGl2ZSB8fCBXSS5hdWRpdE1hbmFnZXIucnVu
bmluZ1N0YXRlID09PSBXSS5BdWRpdE1hbmFnZXIuUnVubmluZ1N0YXRlLlN0b3BwaW5nKQogICAg
ICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUF1ZGl0TWFuYWdlclRlc3RTY2hlZHVsZWQoKTsKQEAg
LTE4MjAsMzQgKzE4MTgsMzMgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBj
bGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgaXNz
dWVUcmVlRWxlbWVudHMuZm9yRWFjaCgodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50LnBhcmVu
dC5yZW1vdmVDaGlsZCh0cmVlRWxlbWVudCkpOwogICAgIH0KIAotICAgIF9oYW5kbGVUaW1lbGlu
ZUNhcHR1cmluZ1dpbGxTdGFydChldmVudCkKKyAgICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdT
dGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLl91cGRhdGVUZW1wb3Jhcmls
eURpc2FibGVkQnJlYWtwb2ludHNCdXR0b25zKCk7CiAKLSAgICAgICAgaWYgKCF0aGlzLl90aW1l
bGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7Ci0gICAgICAgICAgICBsZXQgc3RvcFJlY29y
ZGluZ0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOwotICAgICAgICAg
ICAgc3RvcFJlY29yZGluZ0J1dHRvbi50ZXh0Q29udGVudCA9IFdJLlVJU3RyaW5nKCJTdG9wIHJl
Y29yZGluZyIpOwotICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsICgpID0+IHsKLSAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
c3RvcENhcHR1cmluZygpOwotICAgICAgICAgICAgfSk7CisgICAgICAgIHN3aXRjaCAoV0kudGlt
ZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlKSB7CisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVN
YW5hZ2VyLkNhcHR1cmluZ1N0YXRlLlN0YXJ0aW5nOgorICAgICAgICAgICAgaWYgKCF0aGlzLl90
aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICAgICAgbGV0IHN0
b3BSZWNvcmRpbmdCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAg
ICAgICAgICAgICAgICBzdG9wUmVjb3JkaW5nQnV0dG9uLnRleHRDb250ZW50ID0gV0kuVUlTdHJp
bmcoIlN0b3AgcmVjb3JkaW5nIik7CisgICAgICAgICAgICAgICAgc3RvcFJlY29yZGluZ0J1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
V0kudGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKKyAgICAgICAgICAgICAgICB9KTsK
IAotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVS
ZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3YXJuaW5nLWJhbm5lciIpOwot
ICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5hcHBlbmQo
V0kuVUlTdHJpbmcoIkRlYnVnZ2VyIGRpc2FibGVkIGR1cmluZyBUaW1lbGluZSByZWNvcmRpbmci
KSwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSwgc3RvcFJlY29yZGluZ0J1dHRvbik7Ci0g
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICAgICAg
dGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ3YXJu
aW5nLWJhbm5lciIpOworICAgICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkaW5nV2Fy
bmluZ0VsZW1lbnQuYXBwZW5kKFdJLlVJU3RyaW5nKCJEZWJ1Z2dlciBkaXNhYmxlZCBkdXJpbmcg
VGltZWxpbmUgcmVjb3JkaW5nIiksIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIiksIHN0b3BS
ZWNvcmRpbmdCdXR0b24pOworICAgICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuY29udGVudFZp
ZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fdGltZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxl
bWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAg
dGhpcy5jb250ZW50Vmlldy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl90aW1lbGluZVJlY29y
ZGluZ1dhcm5pbmdFbGVtZW50LCB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuZmlyc3RDaGlsZCk7
CisgICAgICAgICAgICBicmVhazsKIAotICAgICAgICB0aGlzLl91cGRhdGVCcmVha3BvaW50c0Rp
c2FibGVkQmFubmVyKCk7Ci0gICAgfQotCi0gICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3Rv
cHBlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZVRlbXBvcmFyaWx5RGlzYWJs
ZWRCcmVha3BvaW50c0J1dHRvbnMoKTsKLQotICAgICAgICBpZiAodGhpcy5fdGltZWxpbmVSZWNv
cmRpbmdXYXJuaW5nRWxlbWVudCkgewotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRp
bmdXYXJuaW5nRWxlbWVudC5yZW1vdmUoKTsKLSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVj
b3JkaW5nV2FybmluZ0VsZW1lbnQgPSBudWxsOworICAgICAgICBjYXNlIFdJLlRpbWVsaW5lTWFu
YWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZToKKyAgICAgICAgICAgIGlmICh0aGlzLl90aW1l
bGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICAgICAgdGhpcy5fdGlt
ZWxpbmVSZWNvcmRpbmdXYXJuaW5nRWxlbWVudC5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICB0
aGlzLl90aW1lbGluZVJlY29yZGluZ1dhcm5pbmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fdXBkYXRl
QnJlYWtwb2ludHNEaXNhYmxlZEJhbm5lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKaW5k
ZXggYTE1NjBlOTRmM2VhNDczM2VjNjlmYTg4NjM4ODdkNGQ5NWU3ZTA0NS4uM2NlYzRmYjc3ZTdm
ZTI2OTdhMGUwYTVjNjBlNGUzN2Q4ODY3ODNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3Lmpz
CkBAIC0xMTYsOSArMTE2LDggQEAgV0kuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5l
T3ZlcnZpZXcgZXh0ZW5kcyBXSS5WaWV3CiAKICAgICAgICAgdGhpcy5fdmlld01vZGVEaWRDaGFu
Z2UoKTsKIAorICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5U
aW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVU
aW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5l
TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRp
bmdJbXBvcnRlZCwgdGhpcy5fcmVjb3JkaW5nSW1wb3J0ZWQsIHRoaXMpOwotICAgICAgICBXSS50
aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQu
Q2FwdHVyaW5nU3RhcnRlZCwgdGhpcy5fY2FwdHVyaW5nU3RhcnRlZCwgdGhpcyk7Ci0gICAgICAg
IFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5F
dmVudC5DYXB0dXJpbmdTdG9wcGVkLCB0aGlzLl9jYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKICAg
ICB9CiAKICAgICAvLyBJbXBvcnQgLyBFeHBvcnQKQEAgLTEwMzIsNiArMTAzMSwyMCBAQCBXSS5U
aW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdJLlZpZXcK
ICAgICAgICAgdGhpcy5fZWRpdGluZ0luc3RydW1lbnRzRGlkQ2hhbmdlKCk7CiAgICAgfQogCisg
ICAgX2hhbmRsZVRpbWVsaW5lQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkKGV2ZW50KQorICAgIHsKKyAg
ICAgICAgc3dpdGNoIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAg
ICAgY2FzZSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuQWN0aXZlOgorICAgICAg
ICAgICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAg
ICAgICAgIHRoaXMuX3N0b3BFZGl0aW5nSW5zdHJ1bWVudHMoKTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNhcHR1cmluZ1N0YXRlLkluYWN0
aXZlOgorICAgICAgICAgICAgdGhpcy5fZWRpdEluc3RydW1lbnRzQnV0dG9uLmVuYWJsZWQgPSB0
cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKICAgICBfcmVjb3Jk
aW5nSW1wb3J0ZWQoZXZlbnQpCiAgICAgewogICAgICAgICBsZXQge292ZXJ2aWV3RGF0YX0gPSBl
dmVudC5kYXRhOwpAQCAtMTA1NSwxNyArMTA2OCw2IEBAIFdJLlRpbWVsaW5lT3ZlcnZpZXcgPSBj
bGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAgfQog
Ci0gICAgX2NhcHR1cmluZ1N0YXJ0ZWQoZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9lZGl0
SW5zdHJ1bWVudHNCdXR0b24uZW5hYmxlZCA9IGZhbHNlOwotICAgICAgICB0aGlzLl9zdG9wRWRp
dGluZ0luc3RydW1lbnRzKCk7Ci0gICAgfQotCi0gICAgX2NhcHR1cmluZ1N0b3BwZWQoZXZlbnQp
Ci0gICAgewotICAgICAgICB0aGlzLl9lZGl0SW5zdHJ1bWVudHNCdXR0b24uZW5hYmxlZCA9IHRy
dWU7Ci0gICAgfQotCiAgICAgX2NvbXBhcmVUaW1lbGluZVRyZWVFbGVtZW50cyhhLCBiKQogICAg
IHsKICAgICAgICAgbGV0IGFUaW1lbGluZVR5cGUgPSBhLnJlcHJlc2VudGVkT2JqZWN0LnR5cGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCAw
ZTE2OTczMjBjYWMyMGQxMTE4NTg5YWNlNzkzNjZlMjlkZGI0NTY3Li41NjI5MmNjZjc4MjczNmI2
ZDBmYmVmMWY4NTExZjYzMmI1ZTkzYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcuanMKQEAgLTEwMiw4ICsxMDIsNyBAQCBXSS5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRl
bmRzIFdJLgogICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1l
bGluZVJlY29yZGluZy5FdmVudC5SZXNldCwgdGhpcy5fcmVjb3JkaW5nUmVzZXQsIHRoaXMpOwog
ICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZVJlY29y
ZGluZy5FdmVudC5VbmxvYWRlZCwgdGhpcy5fcmVjb3JkaW5nVW5sb2FkZWQsIHRoaXMpOwogCi0g
ICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkLCB0aGlz
KTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxp
bmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0b3BwZWQs
IHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5U
aW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVU
aW1lbGluZUNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuZGVidWdn
ZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNl
ZCwgdGhpcy5fZGVidWdnZXJQYXVzZWQsIHRoaXMpOwogICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUmVzdW1lZCwgdGhp
cy5fZGVidWdnZXJSZXN1bWVkLCB0aGlzKTsKQEAgLTUxMCw0MCArNTA5LDQzIEBAIFdJLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRW
aWV3IGV4dGVuZHMgV0kuCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBfY2FwdHVyaW5nU3RhcnRl
ZChldmVudCkKKyAgICBfaGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQoZXZlbnQp
CiAgICAgeworICAgICAgICBsZXQge3N0YXJ0VGltZSwgZW5kVGltZX0gPSBldmVudC5kYXRhOwor
CiAgICAgICAgIHRoaXMuX3VwZGF0ZVByb2dyZXNzVmlldygpOwogCi0gICAgICAgIGxldCBzdGFy
dFRpbWUgPSBldmVudC5kYXRhLnN0YXJ0VGltZTsKLSAgICAgICAgaWYgKCF0aGlzLl91cGRhdGlu
ZykKLSAgICAgICAgICAgIHRoaXMuX3N0YXJ0VXBkYXRpbmdDdXJyZW50VGltZShzdGFydFRpbWUp
OwotICAgICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICF0
aGlzLl9yZWNvcmRpbmcucmVhZG9ubHk7Ci0gICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmln
YXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgc3dpdGNoIChXSS50aW1lbGluZU1h
bmFnZXIuY2FwdHVyaW5nU3RhdGUpIHsKKyAgICAgICAgY2FzZSBXSS5UaW1lbGluZU1hbmFnZXIu
Q2FwdHVyaW5nU3RhdGUuQWN0aXZlOgorICAgICAgICAgICAgaWYgKCF0aGlzLl91cGRhdGluZykK
KyAgICAgICAgICAgICAgICB0aGlzLl9zdGFydFVwZGF0aW5nQ3VycmVudFRpbWUoc3RhcnRUaW1l
KTsKIAotICAgICAgICAvLyBBIGRpc2NvbnRpbnVpdHkgb2NjdXJzIHdoZW4gdGhlIHJlY29yZGlu
ZyBpcyBzdG9wcGVkIGFuZCByZXN1bWVkIGF0Ci0gICAgICAgIC8vIGEgZnV0dXJlIHRpbWUuIENh
cHR1cmluZyBzdGFydGVkIHNpZ25hbHMgdGhlIGVuZCBvZiB0aGUgY3VycmVudAotICAgICAgICAv
LyBkaXNjb250aW51aXR5LCBpZiBvbmUgZXhpc3RzLgotICAgICAgICBpZiAoIWlzTmFOKHRoaXMu
X2Rpc2NvbnRpbnVpdHlTdGFydFRpbWUpKSB7Ci0gICAgICAgICAgICB0aGlzLl9yZWNvcmRpbmcu
YWRkRGlzY29udGludWl0eSh0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lLCBzdGFydFRpbWUp
OwotICAgICAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IE5hTjsKKyAgICAg
ICAgICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gIXRoaXMu
X3JlY29yZGluZy5yZWFkb25seTsKKyAgICAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmln
YXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgLy8gQSBkaXNjb250aW51
aXR5IG9jY3VycyB3aGVuIHRoZSByZWNvcmRpbmcgaXMgc3RvcHBlZCBhbmQgcmVzdW1lZCBhdAor
ICAgICAgICAgICAgLy8gYSBmdXR1cmUgdGltZS4gQ2FwdHVyaW5nIHN0YXJ0ZWQgc2lnbmFscyB0
aGUgZW5kIG9mIHRoZSBjdXJyZW50CisgICAgICAgICAgICAvLyBkaXNjb250aW51aXR5LCBpZiBv
bmUgZXhpc3RzLgorICAgICAgICAgICAgaWYgKCFpc05hTih0aGlzLl9kaXNjb250aW51aXR5U3Rh
cnRUaW1lKSkgeworICAgICAgICAgICAgICAgIHRoaXMuX3JlY29yZGluZy5hZGREaXNjb250aW51
aXR5KHRoaXMuX2Rpc2NvbnRpbnVpdHlTdGFydFRpbWUsIHN0YXJ0VGltZSk7CisgICAgICAgICAg
ICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IE5hTjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuVGltZWxpbmVNYW5hZ2VyLkNh
cHR1cmluZ1N0YXRlLkluYWN0aXZlOgorICAgICAgICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nKQor
ICAgICAgICAgICAgICAgIHRoaXMuX3N0b3BVcGRhdGluZ0N1cnJlbnRUaW1lKCk7CisKKyAgICAg
ICAgICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcpCisgICAgICAgICAgICAgICAgdGhp
cy5fdXBkYXRlVGltZWxpbmVWaWV3VGltZXModGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KTsKKwor
ICAgICAgICAgICAgdGhpcy5fZGlzY29udGludWl0eVN0YXJ0VGltZSA9IGVuZFRpbWUgfHwgdGhp
cy5fY3VycmVudFRpbWU7CisKKyAgICAgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgIH0KIAotICAgIF9jYXB0dXJpbmdTdG9wcGVkKGV2ZW50
KQotICAgIHsKLSAgICAgICAgdGhpcy5fdXBkYXRlUHJvZ3Jlc3NWaWV3KCk7Ci0KLSAgICAgICAg
aWYgKHRoaXMuX3VwZGF0aW5nKQotICAgICAgICAgICAgdGhpcy5fc3RvcFVwZGF0aW5nQ3VycmVu
dFRpbWUoKTsKLQotICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KQotICAgICAg
ICAgICAgdGhpcy5fdXBkYXRlVGltZWxpbmVWaWV3VGltZXModGhpcy5jdXJyZW50VGltZWxpbmVW
aWV3KTsKLQotICAgICAgICB0aGlzLl9kaXNjb250aW51aXR5U3RhcnRUaW1lID0gZXZlbnQuZGF0
YS5lbmRUaW1lIHx8IHRoaXMuX2N1cnJlbnRUaW1lOwotCi0gICAgICAgIHRoaXMuX2V4cG9ydEJ1
dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlzLl9yZWNvcmRpbmcuY2FuRXhwb3J0KCk7
Ci0gICAgfQotCiAgICAgX2RlYnVnZ2VyUGF1c2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYg
KHRoaXMuX3VwZGF0aW5nKQpAQCAtNzMxLDggKzczMyw3IEBAIFdJLlRpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdXBkYXRpbmcpOwogCi0g
ICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5l
TWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkLCB0aGlzLl9jYXB0dXJpbmdTdGFydGVkLCB0
aGlzKTsKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0ku
VGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMuX2NhcHR1cmluZ1N0
b3BwZWQsIHRoaXMpOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKICAgICB9CiAKICAgICBfdGltZVJhbmdlU2VsZWN0aW9u
Q2hhbmdlZChldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVRhYkNvbnRlbnRWaWV3LmpzCmluZGV4
IDRkMDg1ZjdkOTk0M2ZmY2Y4YzFkMDRiMGJiNDAwMmMyZTIxYzRhOGMuLjhkZWE3NzEyMzI2ZjYz
NjFlMGRmODJlNTRkYTljMTI1NzRjMGQ1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVGFiQ29udGVudFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVUYWJDb250
ZW50Vmlldy5qcwpAQCAtNzEsMTIgKzcxLDEwIEBAIFdJLlRpbWVsaW5lVGFiQ29udGVudFZpZXcg
PSBjbGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzCiAg
ICAgICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2VyLm5hdmlnYXRpb25CYXIuYWRkRXZlbnRMaXN0
ZW5lcihXSS5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5hdmlnYXRpb25JdGVtU2VsZWN0ZWQsIHRoaXMu
X3ZpZXdNb2RlU2VsZWN0ZWQsIHRoaXMpOwogICAgICAgICB9CiAKKyAgICAgICAgV0kudGltZWxp
bmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1
cmluZ1N0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5n
ZWQsIHRoaXMpOwogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihX
SS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuUmVjb3JkaW5nQ3JlYXRlZCwgdGhpcy5fcmVjb3JkaW5n
Q3JlYXRlZCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5SZWNvcmRpbmdMb2FkZWQsIHRoaXMuX3JlY29y
ZGluZ0xvYWRlZCwgdGhpcyk7CiAKLSAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXJ0ZWQsIHRoaXMu
X2NhcHR1cmluZ1N0YXJ0ZWRPclN0b3BwZWQsIHRoaXMpOwotICAgICAgICBXSS50aW1lbGluZU1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5n
U3RvcHBlZCwgdGhpcy5fY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBlZCwgdGhpcyk7Ci0KICAgICAg
ICAgV0kubm90aWZpY2F0aW9ucy5hZGRFdmVudExpc3RlbmVyKFdJLk5vdGlmaWNhdGlvbi5WaXNp
YmlsaXR5U3RhdGVEaWRDaGFuZ2UsIHRoaXMuX2luc3BlY3RvclZpc2liaWxpdHlDaGFuZ2VkLCB0
aGlzKTsKICAgICAgICAgV0kubm90aWZpY2F0aW9ucy5hZGRFdmVudExpc3RlbmVyKFdJLk5vdGlm
aWNhdGlvbi5HbG9iYWxNb2RpZmllcktleXNEaWRDaGFuZ2UsIHRoaXMuX2dsb2JhbE1vZGlmaWVy
S2V5c0RpZENoYW5nZSwgdGhpcyk7CiAKQEAgLTQyNSwxMCArNDIzLDE1IEBAIFdJLlRpbWVsaW5l
VGFiQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudEJyb3dzCiAgICAgICAgICAgICB0aGlzLl9zaG93Q29udGludWVCdXR0b24oKTsKICAg
ICB9CiAKLSAgICBfY2FwdHVyaW5nU3RhcnRlZE9yU3RvcHBlZChldmVudCkKKyAgICBfaGFuZGxl
VGltZWxpbmVDYXB0dXJpbmdTdGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBsZXQg
aXNDYXB0dXJpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0dXJpbmcoKTsKLSAgICAgICAg
dGhpcy5fcmVjb3JkQnV0dG9uLnRvZ2dsZWQgPSBpc0NhcHR1cmluZzsKKyAgICAgICAgbGV0IGVu
YWJsZWQgPSBXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09IFdJLlRpbWVsaW5l
TWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUgfHwgV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1
cmluZ1N0YXRlID09PSBXSS5UaW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmU7
CisKKyAgICAgICAgdGhpcy5fdG9nZ2xlUmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQgPSAhZW5h
YmxlZDsKKyAgICAgICAgdGhpcy5fdG9nZ2xlTmV3UmVjb3JkaW5nU2hvcnRjdXQuZGlzYWJsZWQg
PSAhZW5hYmxlZDsKKworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b24udG9nZ2xlZCA9IFdJLnRp
bWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpOworICAgICAgICB0aGlzLl9yZWNvcmRCdXR0b24u
ZW5hYmxlZCA9IGVuYWJsZWQ7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlTmF2aWdhdGlvbkJhckJ1
dHRvbnMoKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmYwMzM1MDFhNDQ2NTBlZDk2YmJhZThiYzcyZjc5OTNl
NDIzYjQ0Yi4uNGNhMThiMDdkOTkwYTkxNTA2YjUxZTYxZmE0ZWUzZDNmNDVlNTczOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDE5LTA0LTExICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZXM6IGNhbid0IHJlbGlhYmx5
IHN0b3Avc3RhcnQgYSByZWNvcmRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5Njc3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2MDY3OTg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgICogaW5z
cGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13
aGlsZS1yZWNvcmRpbmcuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvbGluZS1j
b2x1bW4uaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvcmVjb3JkaW5nLXN0YXJ0
LXN0b3AtdGltZXN0YW1wcy5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS9yZXNv
dXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci90
aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sOgorICAgICAg
ICAqIGluc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVy
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXJl
Y29yZGluZy5odG1sOgorCiAyMDE5LTA0LTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBMYXlvdXQgdGVzdCBhY2Nlc3NpYmlsaXR5
L2FyaWEtaGlkZGVuLWZhbHNlLXdvcmtzLWluLXN1YnRyZWVzLmh0bWwgZmFpbHMgYWZ0ZXIgcjE4
NDg5MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2Vy
LXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS9kZWJ1Z2dlci1wYXVzZWQtd2hpbGUtcmVjb3JkaW5nLmh0bWwKaW5kZXggN2NmNjhiNGJm
MmEzMDE2OGRiNDBmMzIzZjc0ZWQ1MDA1MDBmMDRkNS4uOTE1YWIwOWJkOTMyOTRjMGIzMmRhMzk1
Y2E1M2M4NTk3NDYyMWIyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvZGVidWdnZXItcGF1c2VkLXdoaWxlLXJlY29yZGluZy5odG1s
CkBAIC01NCw3ICs1NCwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB9KTsKIAogICAgIC8vIFdo
ZW4gdGltZWxpbmUgY2FwdHVyaW5nIHN0b3BzLCBpbnNwZWN0IHRoZSByZXN1bHRpbmcgdGltZWxp
bmUgcmVjb3JkcyBmb3IgYSBwcm9maWxlLgotICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVu
dExpc3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCBmdW5j
dGlvbihldmVudCkgeworICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJ
LlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIChldmVudCkgPT4g
eworICAgICAgICBpZiAoV0kudGltZWxpbmVNYW5hZ2VyLmNhcHR1cmluZ1N0YXRlICE9PSBXSS5U
aW1lbGluZU1hbmFnZXIuQ2FwdHVyaW5nU3RhdGUuSW5hY3RpdmUpCisgICAgICAgICAgICByZXR1
cm47CisKICAgICAgICAgdmFyIHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVS
ZWNvcmRpbmc7CiAgICAgICAgIHZhciBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGlu
ZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKICAgICAgICAgY29uc29sZS5h
c3NlcnQoc2NyaXB0VGltZWxpbmUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL2V4Y2VwdGlvbi1pbi1pbmplY3RlZC1zY3JpcHQtd2hpbGUtcmVjb3JkaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVk
LXNjcmlwdC13aGlsZS1yZWNvcmRpbmcuaHRtbAppbmRleCAzODE4MjBiNTI0MzQyMjhjZTI5YmY2
MTM2MjQ1NzA5ODY3ZjlmMzRhLi4xYjUyYmMwMmE2NDk4NThhYWViNGFkYjZmMDcxY2QzNWYxMGYx
MTMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9u
LWluLWluamVjdGVkLXNjcmlwdC13aGlsZS1yZWNvcmRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvZXhjZXB0aW9uLWluLWluamVjdGVkLXNjcmlwdC13aGlsZS1y
ZWNvcmRpbmcuaHRtbApAQCAtNjAsNyArNjAsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgfQog
CiAgICAgLy8gV2hlbiB0aW1lbGluZSBjYXB0dXJpbmcgc3RvcHMsIGluc3BlY3QgdGhlIHJlc3Vs
dGluZyB0aW1lbGluZSByZWNvcmRzIGZvciBhIHByb2ZpbGUuCi0gICAgV0kudGltZWxpbmVNYW5h
Z2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0
b3BwZWQsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwg
KGV2ZW50KSA9PiB7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3Rh
dGUgIT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkKKyAgICAg
ICAgICAgIHJldHVybjsKKwogICAgICAgICB2YXIgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5h
Z2VyLmFjdGl2ZVJlY29yZGluZzsKICAgICAgICAgdmFyIHNjcmlwdFRpbWVsaW5lID0gcmVjb3Jk
aW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOwogICAgICAg
ICBjb25zb2xlLmFzc2VydChzY3JpcHRUaW1lbGluZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvbGluZS1jb2x1bW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS9saW5lLWNvbHVtbi5odG1sCmluZGV4IDhmN2M0N2I0NjRmMjNhZWU5ZmY0
ZDA2ZGRjZjQ5OTdjODliMjY1ODIuLjU1YzVjNTdkYTkxYTQ1ZTU4YTMzYzFmYjI1NWU3OWEzZGVh
NTMwOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9saW5lLWNv
bHVtbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9saW5lLWNvbHVt
bi5odG1sCkBAIC03NywxMSArNzcsMTEgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAg
ICAgICAgICAgUHJvdG9jb2xUZXN0LmxvZyhKU09OLnN0cmluZ2lmeShldmVudC5wYXJhbXMucmVj
b3JkLCByZXBsYWNlciwgMikpOwogICAgICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICAg
ICAgaGFuZGxlRXZlbnQoIlRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIiwgKCkg
PT4geworICAgICAgICAgICAgICAgIGhhbmRsZUV2ZW50KCJUaW1lbGluZS5yZWNvcmRpbmdTdGFy
dGVkIiwgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiQ2Fw
dHVyaW5nIHN0YXJ0ZWQuIik7CiAgICAgICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgICAg
ICBoYW5kbGVFdmVudCgiVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQiLCAoKSA9
PiB7CisgICAgICAgICAgICAgICAgaGFuZGxlRXZlbnQoIlRpbWVsaW5lLnJlY29yZGluZ1N0b3Bw
ZWQiLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJDYXB0
dXJpbmcgc3RvcHBlZC4iKTsKIAogICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBldmVudE5h
bWUgb2YgZXZlbnROYW1lcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS9yZWNvcmRpbmctc3RhcnQtc3RvcC10aW1lc3RhbXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvcmVjb3JkaW5nLXN0YXJ0LXN0b3AtdGltZXN0YW1wcy5odG1sCmlu
ZGV4IGZkMTU5YjM4NTg4ZmEwZGViN2M2YWRjYWFmN2YyNDkwNjY4MWQ5NTkuLmJlZTA1MWQ1ZDVi
OTFkOTVlNGI0MGIzODMzN2U5ODZkN2YzNDY2MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9yZWNvcmRpbmctc3RhcnQtc3RvcC10aW1lc3RhbXBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3JlY29yZGluZy1zdGFydC1zdG9wLXRp
bWVzdGFtcHMuaHRtbApAQCAtMTMsMzkgKzEzLDQzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICBJbnNwZWN0b3JUZXN0LmxvZygoY29uZGl0aW9uID8gIlBBU1MiIDogIkZBSUwiKSArICI6ICIg
KyBtZXNzYWdlKTsKICAgICB9CiAKLSAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RhcnRlZCwgZnVuY3Rpb24o
ZXZlbnQpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRhdGEu
c3RhcnRUaW1lID09PSAibnVtYmVyIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2
ZW50LmRhdGEuc3RhcnRUaW1lID4gMCk7CisgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0YXRlQ2hhbmdlZCwg
KGV2ZW50KSA9PiB7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3Rh
dGUgPT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5BY3RpdmUpIHsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBldmVudC5kYXRhLnN0YXJ0VGltZSA9
PT0gIm51bWJlciIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0
YS5zdGFydFRpbWUgPiAwKTsKIAotICAgICAgICBpZiAoaXNOYU4ocmVjb3JkaW5nU3RhcnRUaW1l
KSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBDYXB0dXJpbmdT
dGFydGVkIGhhZCBzdGFydFRpbWUiKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuc3RhcnRUaW1lID4gcmVjb3JkaW5nU3RhcnRU
aW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1cmlu
Z1N0YXJ0ZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAybmQgQ2Fw
dHVyaW5nU3RhcnRlZCBoYWQgc3RhcnRUaW1lID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuc3RhcnRUaW1lID4gcmVj
b3JkaW5nRW5kVGltZSwgIkZBSUw6IDJuZCBDYXB0dXJpbmdTdGFydGVkIHNob3VsZCBiZSA+IDFz
dCBDYXB0dXJpbmdTdG9wcGVkIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUEFT
UzogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgaGFkIHN0YXJ0VGltZSA+IDFzdCBDYXB0dXJpbmdTdG9w
cGVkIik7CisgICAgICAgICAgICBpZiAoaXNOYU4ocmVjb3JkaW5nU3RhcnRUaW1lKSkgeworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAxc3QgQ2FwdHVyaW5nU3RhcnRl
ZCBoYWQgc3RhcnRUaW1lIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuc3RhcnRUaW1lID4gcmVjb3JkaW5nU3Rh
cnRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1
cmluZ1N0YXJ0ZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUEFTUzog
Mm5kIENhcHR1cmluZ1N0YXJ0ZWQgaGFkIHN0YXJ0VGltZSA+IDFzdCBDYXB0dXJpbmdTdGFydGVk
Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5zdGFy
dFRpbWUgPiByZWNvcmRpbmdFbmRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgc2hv
dWxkIGJlID4gMXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmxvZygiUEFTUzogMm5kIENhcHR1cmluZ1N0YXJ0ZWQgaGFkIHN0YXJ0VGltZSA+IDFz
dCBDYXB0dXJpbmdTdG9wcGVkIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJlY29y
ZGluZ1N0YXJ0VGltZSA9IGV2ZW50LmRhdGEuc3RhcnRUaW1lOworICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgcmVjb3JkaW5nU3RhcnRUaW1lID0gZXZlbnQuZGF0YS5z
dGFydFRpbWU7Ci0gICAgfSk7CisgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVy
aW5nU3RhdGUgPT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRhdGEuZW5k
VGltZSA9PT0gIm51bWJlciIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZl
bnQuZGF0YS5lbmRUaW1lID4gMCk7CiAKLSAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCwgZnVuY3Rp
b24oZXZlbnQpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV2ZW50LmRh
dGEuZW5kVGltZSA9PT0gIm51bWJlciIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChl
dmVudC5kYXRhLmVuZFRpbWUgPiAwKTsKKyAgICAgICAgICAgIGlmIChpc05hTihyZWNvcmRpbmdF
bmRUaW1lKSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAxc3Qg
Q2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSIpOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0KGV2ZW50LmRhdGEuZW5kVGltZSA+IHJlY29yZGluZ1N0YXJ0VGltZSwgIkZB
SUw6IDFzdCBDYXB0dXJpbmdTdG9wcGVkIHNob3VsZCBiZSA+IDFzdCBDYXB0dXJpbmdTdGFydGVk
Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDFzdCBDYXB0dXJp
bmdTdG9wcGVkIGhhZCBlbmRUaW1lID4gMXN0IENhcHR1cmluZ1N0YXJ0ZWQiKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQu
ZGF0YS5lbmRUaW1lID4gcmVjb3JkaW5nRW5kVGltZSwgIkZBSUw6IDJuZCBDYXB0dXJpbmdTdG9w
cGVkIHNob3VsZCBiZSA+IDFzdCBDYXB0dXJpbmdTdG9wcGVkIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJpbmdTdG9wcGVkIGhhZCBlbmRUaW1l
ID4gMXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydChldmVudC5kYXRhLmVuZFRpbWUgPiByZWNvcmRpbmdTdGFydFRpbWUsICJGQUlMOiAy
bmQgQ2FwdHVyaW5nU3RvcHBlZCBzaG91bGQgYmUgPiAybmQgQ2FwdHVyaW5nU3RhcnRlZCIpOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAybmQgQ2FwdHVyaW5nU3Rv
cHBlZCBoYWQgZW5kVGltZSA+IDJuZCBDYXB0dXJpbmdTdGFydGVkIik7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0KIAotICAgICAg
ICBpZiAoaXNOYU4ocmVjb3JkaW5nRW5kVGltZSkpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJQQVNTOiAxc3QgQ2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSIpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5lbmRUaW1lID4gcmVjb3JkaW5n
U3RhcnRUaW1lLCAiRkFJTDogMXN0IENhcHR1cmluZ1N0b3BwZWQgc2hvdWxkIGJlID4gMXN0IENh
cHR1cmluZ1N0YXJ0ZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAx
c3QgQ2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSA+IDFzdCBDYXB0dXJpbmdTdGFydGVkIik7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVu
dC5kYXRhLmVuZFRpbWUgPiByZWNvcmRpbmdFbmRUaW1lLCAiRkFJTDogMm5kIENhcHR1cmluZ1N0
b3BwZWQgc2hvdWxkIGJlID4gMXN0IENhcHR1cmluZ1N0b3BwZWQiKTsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QubG9nKCJQQVNTOiAybmQgQ2FwdHVyaW5nU3RvcHBlZCBoYWQgZW5kVGltZSA+
IDFzdCBDYXB0dXJpbmdTdG9wcGVkIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dChldmVudC5kYXRhLmVuZFRpbWUgPiByZWNvcmRpbmdTdGFydFRpbWUsICJGQUlMOiAybmQgQ2Fw
dHVyaW5nU3RvcHBlZCBzaG91bGQgYmUgPiAybmQgQ2FwdHVyaW5nU3RhcnRlZCIpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6IDJuZCBDYXB0dXJpbmdTdG9wcGVkIGhhZCBl
bmRUaW1lID4gMm5kIENhcHR1cmluZ1N0YXJ0ZWQiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICByZWNvcmRpbmdFbmRUaW1lID0gZXZlbnQu
ZGF0YS5lbmRUaW1lOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0KLSAgICAgICAg
cmVjb3JkaW5nRW5kVGltZSA9IGV2ZW50LmRhdGEuZW5kVGltZTsKICAgICB9KTsKIAogICAgIFRp
bWVsaW5lQWdlbnQuc3RhcnQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5q
cwppbmRleCBiMGU0MTI3NjNlZDlhOTlmMDJhMWVhZTU2MzdkNmI4M2ZhMTY0ODgxLi5iN2NmZmVm
ZjY1NWM4NDNmYjE1MDkzZWQyYWRiYjZhNmE1ZDNjYWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5q
cworKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5l
LWV2ZW50LXV0aWxpdGllcy5qcwpAQCAtMTAsMzQgKzEwLDQwIEBAIFRlc3RQYWdlLnJlZ2lzdGVy
SW5pdGlhbGl6ZXIoKCkgPT4gewogCiAgICAgICAgIGxldCBwcm9taXNlID0gbmV3IFdJLldyYXBw
ZWRQcm9taXNlOwogCi0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hd2FpdEV2ZW50KFdJLlRp
bWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkKS50aGVuKChjYXB0dXJpbmdTdG9w
cGVkRXZlbnQpID0+IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBhZ2VSZWNv
cmRpbmdEYXRhLCAic2F2ZVBhZ2VEYXRhIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGluIHRoZSBw
YWdlIGJlZm9yZSBjYXB0dXJpbmcgd2FzIHN0b3BwZWQuIik7Ci0gICAgICAgICAgICBwcm9taXNl
LnJlc29sdmUocGFnZVJlY29yZGluZ0RhdGEpOworICAgICAgICBsZXQgbGlzdGVuZXIgPSBXSS50
aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQu
Q2FwdHVyaW5nU3RhdGVDaGFuZ2VkLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIGlmIChXSS50
aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0
dXJpbmdTdGF0ZS5BY3RpdmUpIHsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0ku
dGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQgc2Ny
aXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5U
eXBlLlNjcmlwdCk7CisKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkQWRkZWRMaXN0ZW5lciA9
IHNjcmlwdFRpbWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3Jk
QWRkZWQsIChyZWNvcmRBZGRlZEV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGxldCB7
cmVjb3JkfSA9IHJlY29yZEFkZGVkRXZlbnQuZGF0YTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHJlY29yZC5ldmVudFR5cGUgIT09IGV2ZW50VHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICAgICAgICAgICAgICBzY3JpcHRUaW1lbGluZS5yZW1vdmVFdmVu
dExpc3RlbmVyKFdJLlRpbWVsaW5lLkV2ZW50LlJlY29yZEFkZGVkLCByZWNvcmRBZGRlZExpc3Rl
bmVyKTsKKworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RvcHBpbmcg
Q2FwdHVyZS4uLiIpOworICAgICAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3Rv
cENhcHR1cmluZygpOworICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIkV2YWx1YXRpbmcuLi4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24pCisgICAgICAgICAgICAgICAgLmNhdGNo
KHByb21pc2UucmVqZWN0KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGlmIChXSS50aW1lbGluZU1hbmFnZXIuY2FwdHVyaW5nU3RhdGUgPT09
IFdJLlRpbWVsaW5lTWFuYWdlci5DYXB0dXJpbmdTdGF0ZS5JbmFjdGl2ZSkgeworICAgICAgICAg
ICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlRpbWVsaW5l
TWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIGxpc3RlbmVyKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChwYWdlUmVjb3JkaW5nRGF0YSwgInNhdmVQYWdl
RGF0YSBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBpbiB0aGUgcGFnZSBiZWZvcmUgY2FwdHVyaW5n
IHdhcyBzdG9wcGVkLiIpOworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShwYWdlUmVj
b3JkaW5nRGF0YSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAg
ICAgICB9KTsKIAogICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQoIlNhdmVQYWdlRGF0
YSIpLnRoZW4oKGV2ZW50KSA9PiB7CiAgICAgICAgICAgICBwYWdlUmVjb3JkaW5nRGF0YSA9IGV2
ZW50LmRhdGE7CiAgICAgICAgIH0pOwogCi0gICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hd2Fp
dEV2ZW50KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkKS50aGVuKChj
YXB0dXJpbmdTdGFydGVkRXZlbnQpID0+IHsKLSAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBX
SS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOwotICAgICAgICAgICAgbGV0IHNjcmlw
dFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlw
ZS5TY3JpcHQpOwotCi0gICAgICAgICAgICBsZXQgcmVjb3JkQWRkZWRMaXN0ZW5lciA9IHNjcmlw
dFRpbWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRkZWQs
IChyZWNvcmRBZGRlZEV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgbGV0IHtyZWNvcmR9ID0g
cmVjb3JkQWRkZWRFdmVudC5kYXRhOwotICAgICAgICAgICAgICAgIGlmIChyZWNvcmQuZXZlbnRU
eXBlICE9PSBldmVudFR5cGUpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAg
ICAgICAgICAgIHNjcmlwdFRpbWVsaW5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuVGltZWxpbmUu
RXZlbnQuUmVjb3JkQWRkZWQsIHJlY29yZEFkZGVkTGlzdGVuZXIpOwotCi0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIlN0b3BwaW5nIENhcHR1cmUuLi4iKTsKLSAgICAgICAgICAg
ICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3RvcENhcHR1cmluZygpOwotICAgICAgICAgICAgfSk7
Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJFdmFsdWF0aW5nLi4uIik7Ci0gICAg
ICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShleHByZXNzaW9uKTsK
LSAgICAgICAgfSk7Ci0KICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlN0YXJ0aW5nIENhcHR1
cmUuLi4iKTsKICAgICAgICAgY29uc3QgbmV3UmVjb3JkaW5nID0gdHJ1ZTsKICAgICAgICAgV0ku
dGltZWxpbmVNYW5hZ2VyLnN0YXJ0Q2FwdHVyaW5nKG5ld1JlY29yZGluZyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3JhbW1h
dGljLWNhcHR1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3NldEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLWV4cGVjdGVkLnR4dAppbmRleCA5
NDI2YmVjODNjNjI1NjNhZjg4OTlmMWJkMTIwYzU0MzAzM2E1MjlkLi4wMDU1YzQ0NDIwZjAzMTIz
NjI2OTg4NWQ0NDcxZGU1N2UzYzhiOTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3JhbW1hdGljLWNhcHR1cmUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1w
cm9ncmFtbWF0aWMtY2FwdHVyZS1leHBlY3RlZC50eHQKQEAgLTcsMjAgKzcsMjAgQEAgVGVzdHMg
cHJvZ3JhbW1hdGljIGNhcHR1cmUgKGNvbnNvbGUucHJvZmlsZS9wcm9maWxlRW5kKSBhdXRvbWF0
aWNhbGx5IHN0YXJ0cyBpbnMKID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmUuc2V0SW5z
dHJ1bWVudHMucHJvZ3JhbW1hdGljLWNhcHR1cmUKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBOb0lu
c3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZQogUEFTUzogU2hvdWxkIG5vdCBiZSBhbiBlcnJv
ciBzZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLgotUEFTUzogVGltZWxpbmUucHJvZ3JhbW1hdGlj
Q2FwdHVyZVN0YXJ0ZWQKIFBBU1M6IFNjcmlwdFByb2ZpbGVyLnN0YXJ0VHJhY2tpbmcKLVBBU1M6
IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkCitQQVNTOiBUaW1lbGluZS5yZWNv
cmRpbmdTdGFydGVkCitQQVNTOiBUaW1lbGluZS5yZWNvcmRpbmdTdG9wcGVkCiAKIC0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBNdWx0aXBsZUluc3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZQogUEFT
UzogU2hvdWxkIG5vdCBiZSBhbiBlcnJvciBzZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLgotUEFT
UzogVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQKIFBBU1M6IFNjcmlwdFByb2Zp
bGVyLnN0YXJ0VHJhY2tpbmcKK1BBU1M6IFRpbWVsaW5lLnJlY29yZGluZ1N0YXJ0ZWQKIFBBU1M6
IEhlYXAudHJhY2tpbmdTdGFydAotUEFTUzogVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0
b3BwZWQKK1BBU1M6IFRpbWVsaW5lLnJlY29yZGluZ1N0b3BwZWQKIAogLS0gUnVubmluZyB0ZXN0
IGNhc2U6IE5vSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlQWdhaW4KIFBBU1M6IFNob3Vs
ZCBub3QgYmUgYW4gZXJyb3Igc2V0dGluZyB2YWxpZCBpbnN0cnVtZW50cy4KLVBBU1M6IFRpbWVs
aW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkCiBQQVNTOiBTY3JpcHRQcm9maWxlci5zdGFy
dFRyYWNraW5nCi1QQVNTOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZAorUEFT
UzogVGltZWxpbmUucmVjb3JkaW5nU3RhcnRlZAorUEFTUzogVGltZWxpbmUucmVjb3JkaW5nU3Rv
cHBlZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0SW5z
dHJ1bWVudHMtcHJvZ3JhbW1hdGljLWNhcHR1cmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sCmluZGV4
IDkzZTllMTVmNGZiYmNiOGUwZjAwZGExMzhhYjI0MmMyN2VjNTU5NzQuLjA1ZmE3YWQ2YjRlYzdi
NTM2NzYzYTAxYjlhMGIwYzA3MjIyMTBiMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFt
bWF0aWMtY2FwdHVyZS5odG1sCkBAIC0xNCwxNiArMTQsMTYgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgbGV0IHN1aXRlID0gUHJvdG9jb2xUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lLnNl
dEluc3RydW1lbnRzLnByb2dyYW1tYXRpYy1jYXB0dXJlIik7CiAKICAgICBsZXQgaGVhcEV4cGVj
dGVkID0gZmFsc2U7Ci0gICAgbGV0IHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkID0gbnVsbDsK
KyAgICBsZXQgY2FwdHVyZVN0b3BwZWQgPSBudWxsOwogCiAgICAgSW5zcGVjdG9yUHJvdG9jb2wu
c2VuZENvbW1hbmQoIkhlYXAuZW5hYmxlIik7CiAKLSAgICBJbnNwZWN0b3JQcm90b2NvbC5ldmVu
dEhhbmRsZXJbIlRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIl0gPSAoKSA9PiB7
Ci0gICAgICAgIFByb3RvY29sVGVzdC5wYXNzKCJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJl
U3RhcnRlZCIpOworICAgIEluc3BlY3RvclByb3RvY29sLmV2ZW50SGFuZGxlclsiVGltZWxpbmUu
cmVjb3JkaW5nU3RhcnRlZCJdID0gKCkgPT4geworICAgICAgICBQcm90b2NvbFRlc3QucGFzcygi
VGltZWxpbmUucmVjb3JkaW5nU3RhcnRlZCIpOwogICAgIH07Ci0gICAgSW5zcGVjdG9yUHJvdG9j
b2wuZXZlbnRIYW5kbGVyWyJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCJdID0g
KCkgPT4gewotICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiVGltZWxpbmUucHJvZ3JhbW1hdGlj
Q2FwdHVyZVN0b3BwZWQiKTsKLSAgICAgICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsK
KyAgICBJbnNwZWN0b3JQcm90b2NvbC5ldmVudEhhbmRsZXJbIlRpbWVsaW5lLnJlY29yZGluZ1N0
b3BwZWQiXSA9ICgpID0+IHsKKyAgICAgICAgUHJvdG9jb2xUZXN0LnBhc3MoIlRpbWVsaW5lLnJl
Y29yZGluZ1N0b3BwZWQiKTsKKyAgICAgICAgY2FwdHVyZVN0b3BwZWQoKTsKICAgICB9OwogCiAg
ICAgSW5zcGVjdG9yUHJvdG9jb2wuZXZlbnRIYW5kbGVyWyJTY3JpcHRQcm9maWxlci50cmFja2lu
Z1N0YXJ0Il0gPSAoKSA9PiB7CkBAIC00MSw3ICs0MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICBuYW1lOiAiTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1cmUiLAogICAgICAgICB0
ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgaGVhcEV4cGVjdGVkID0gZmFsc2U7
Ci0gICAgICAgICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7CisgICAg
ICAgICAgICBjYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7CiAKICAgICAgICAgICAgIEluc3BlY3Rv
clByb3RvY29sLnNlbmRDb21tYW5kKCJUaW1lbGluZS5zZXRJbnN0cnVtZW50cyIsIHtpbnN0cnVt
ZW50czogW119LCAobWVzc2FnZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIFByb3RvY29s
VGVzdC5leHBlY3RUaGF0KCFtZXNzYWdlT2JqZWN0LmVycm9yLCAiU2hvdWxkIG5vdCBiZSBhbiBl
cnJvciBzZXR0aW5nIHZhbGlkIGluc3RydW1lbnRzLiIpOwpAQCAtNTQsNyArNTQsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIk11bHRpcGxlSW5zdHJ1bWVudHNQcm9ncmFtbWF0
aWNDYXB0dXJlIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAg
IGhlYXBFeHBlY3RlZCA9IHRydWU7Ci0gICAgICAgICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3Rv
cHBlZCA9IHJlc29sdmU7CisgICAgICAgICAgICBjYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7CiAK
ICAgICAgICAgICAgIEluc3BlY3RvclByb3RvY29sLnNlbmRDb21tYW5kKCJUaW1lbGluZS5zZXRJ
bnN0cnVtZW50cyIsIHtpbnN0cnVtZW50czogWyJTY3JpcHRQcm9maWxlciIsICJIZWFwIl19LCAo
bWVzc2FnZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RU
aGF0KCFtZXNzYWdlT2JqZWN0LmVycm9yLCAiU2hvdWxkIG5vdCBiZSBhbiBlcnJvciBzZXR0aW5n
IHZhbGlkIGluc3RydW1lbnRzLiIpOwpAQCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgbmFtZTogIk5vSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlQWdhaW4iLAog
ICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgaGVhcEV4cGVjdGVk
ID0gdHJ1ZTsKLSAgICAgICAgICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkID0gcmVzb2x2
ZTsKKyAgICAgICAgICAgIGNhcHR1cmVTdG9wcGVkID0gcmVzb2x2ZTsKIAogICAgICAgICAgICAg
SW5zcGVjdG9yUHJvdG9jb2wuc2VuZENvbW1hbmQoIlRpbWVsaW5lLnNldEluc3RydW1lbnRzIiwg
e2luc3RydW1lbnRzOiBbXX0sIChtZXNzYWdlT2JqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAg
UHJvdG9jb2xUZXN0LmV4cGVjdFRoYXQoIW1lc3NhZ2VPYmplY3QuZXJyb3IsICJTaG91bGQgbm90
IGJlIGFuIGVycm9yIHNldHRpbmcgdmFsaWQgaW5zdHJ1bWVudHMuIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjb3JkaW5nLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcmVjb3JkaW5nLmh0bWwKaW5k
ZXggOTRmMTgyMWYxMWJmMTFlYjY0ZjllYmFkYjI0MTUxMjI0NDRkZjNiYy4uMTBjMTM4NGNmYTY4
NDdjYjljNDlmMGM0YTlmNDQ3YTliYzc0ZGQwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXJlY29yZGluZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNvcmRpbmcuaHRtbApAQCAtMTMsNiArMTMs
MTggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIG5hbWU6ICJUaW1lbGluZVJlY29yZGluZy5C
YXNpYyIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiTWFrZSBhIGJhc2ljIFRpbWVsaW5lIHJlY29y
ZGluZy4iLAogICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgYXN5bmMgZnVuY3Rp
b24gYXdhaXRDYXB0dXJpbmdTdGF0ZShjYXB0dXJpbmdTdGF0ZSkgeworICAgICAgICAgICAgICAg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAg
ICAgICAgIGxldCBsaXN0ZW5lciA9IFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGF0ZUNoYW5nZWQsIChldmVudCkg
PT4geworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFdJLnRpbWVsaW5lTWFuYWdlci5jYXB0
dXJpbmdTdGF0ZSAhPT0gY2FwdHVyaW5nU3RhdGUpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3Rh
dGVDaGFuZ2VkLCBsaXN0ZW5lcik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfQorCiAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFj
dGl2ZVJlY29yZGluZzsKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkxvYWRlZCIp
OwpAQCAtMjUsNyArMzcsOSBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIlN0YXJ0Iik7CiAgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3Rh
cnRDYXB0dXJpbmcoKTsKLSAgICAgICAgICAgIGF3YWl0IFdJLnRpbWVsaW5lTWFuYWdlci5hd2Fp
dEV2ZW50KFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdGFydGVkKTsKKworICAg
ICAgICAgICAgYXdhaXQgYXdhaXRDYXB0dXJpbmdTdGF0ZShXSS5UaW1lbGluZU1hbmFnZXIuQ2Fw
dHVyaW5nU3RhdGUuQWN0aXZlKTsKKwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RU
cnVlKFdJLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZygpLCAiVGltZWxpbmVNYW5hZ2VyIHNo
b3VsZCBiZSBjYXB0dXJpbmcuIik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmcsIHJlY29yZGluZywgIlRpbWVs
aW5lTWFuYWdlciBhY3RpdmUgcmVjb3JkaW5nIHNob3VsZCBub3QgaGF2ZSBjaGFuZ2VkLiIpOwog
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUcnVlKHJlY29yZGluZy5jYXB0dXJpbmcs
ICJUaW1lbGluZVJlY29yZGluZyBzaG91bGQgYmUgY2FwdHVyaW5nLiIpOwpAQCAtMzksNiArNTMs
OSBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlN0
b3AiKTsKICAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdG9wQ2FwdHVyaW5nKCk7CisK
KyAgICAgICAgICAgIGF3YWl0IGF3YWl0Q2FwdHVyaW5nU3RhdGUoV0kuVGltZWxpbmVNYW5hZ2Vy
LkNhcHR1cmluZ1N0YXRlLkluYWN0aXZlKTsKKwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RGYWxzZShXSS50aW1lbGluZU1hbmFnZXIuaXNDYXB0dXJpbmcoKSwgIlRpbWVsaW5lTWFu
YWdlciBzaG91bGQgbm90IGJlIGNhcHR1cmluZy4iKTsKICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RmFsc2UocmVjb3JkaW5nLmNhcHR1cmluZywgIlRpbWVsaW5lUmVjb3JkaW5nIHNo
b3VsZCBub3QgYmUgY2FwdHVyaW5nLiIpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RGYWxzZShyZWNvcmRpbmcucmVhZG9ubHksICJUaW1lbGluZVJlY29yZGluZyBzaG91bGQgbm90
IGJlIHJlYWRvbmx5LiIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>