<?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>151410</bug_id>
          
          <creation_ts>2015-11-18 15:06:29 -0800</creation_ts>
          <short_desc>Web Inspector: Convert remaining timeline views to use View base class</short_desc>
          <delta_ts>2015-11-19 14:55:27 -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>
          
          
          <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>149190</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1143000</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-18 15:06:29 -0800</bug_when>
    <thetext>* SUMMARY
Convert remaining timeline views to use View base class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143002</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-18 15:07:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/23601828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143011</commentid>
    <comment_count>2</comment_count>
      <attachid>265786</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-18 15:17:15 -0800</bug_when>
    <thetext>Created attachment 265786
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143112</commentid>
    <comment_count>3</comment_count>
      <attachid>265786</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-11-18 18:00:56 -0800</bug_when>
    <thetext>Comment on attachment 265786
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverviewGraph.js:214
&gt; +        this._scheduledSelectedRecordLayoutUpdateIdentifier = requestAnimationFrame(() =&gt; {

Maybe I&apos;m just forgetting, but why do the graphs have their own rAF system? Is it a fast-path for non-resizing relayout?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143119</commentid>
    <comment_count>4</comment_count>
      <attachid>265786</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-18 18:18:32 -0800</bug_when>
    <thetext>Comment on attachment 265786
[Patch] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverviewGraph.js:214
&gt;&gt; +        this._scheduledSelectedRecordLayoutUpdateIdentifier = requestAnimationFrame(() =&gt; {
&gt; 
&gt; Maybe I&apos;m just forgetting, but why do the graphs have their own rAF system? Is it a fast-path for non-resizing relayout?

I added this for https://bugs.webkit.org/show_bug.cgi?id=147013. It&apos;s a hook for derived TimelineOverviewGraphs to style the selected record without laying out everything else (similar to ruler markers/selection). Currently it&apos;s only used by the rendering frames graph.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143175</commentid>
    <comment_count>5</comment_count>
      <attachid>265786</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-11-18 21:04:39 -0800</bug_when>
    <thetext>Comment on attachment 265786
[Patch] Proposed Fix

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverviewGraph.js:214
&gt;&gt;&gt; +        this._scheduledSelectedRecordLayoutUpdateIdentifier = requestAnimationFrame(() =&gt; {
&gt;&gt; 
&gt;&gt; Maybe I&apos;m just forgetting, but why do the graphs have their own rAF system? Is it a fast-path for non-resizing relayout?
&gt; 
&gt; I added this for https://bugs.webkit.org/show_bug.cgi?id=147013. It&apos;s a hook for derived TimelineOverviewGraphs to style the selected record without laying out everything else (similar to ruler markers/selection). Currently it&apos;s only used by the rendering frames graph.

Why does it need to happen on an animation frame?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143215</commentid>
    <comment_count>6</comment_count>
      <attachid>265786</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 00:05:06 -0800</bug_when>
    <thetext>Comment on attachment 265786
[Patch] Proposed Fix

Clearing flags on attachment: 265786

Committed r192616: &lt;http://trac.webkit.org/changeset/192616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143216</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 00:05:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143460</commentid>
    <comment_count>8</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-19 14:55:27 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 265786 [details]
&gt; [Patch] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=265786&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverviewGraph.js:214
&gt; &gt;&gt;&gt; +        this._scheduledSelectedRecordLayoutUpdateIdentifier = requestAnimationFrame(() =&gt; {
&gt; &gt;&gt; 
&gt; &gt;&gt; Maybe I&apos;m just forgetting, but why do the graphs have their own rAF system? Is it a fast-path for non-resizing relayout?
&gt; &gt; 
&gt; &gt; I added this for https://bugs.webkit.org/show_bug.cgi?id=147013. It&apos;s a hook for derived TimelineOverviewGraphs to style the selected record without laying out everything else (similar to ruler markers/selection). Currently it&apos;s only used by the rendering frames graph.
&gt; 
&gt; Why does it need to happen on an animation frame?

It probably doesn&apos;t. We should revisit this when we add record selection to the other timeline graphs.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265786</attachid>
            <date>2015-11-18 15:17:15 -0800</date>
            <delta_ts>2015-11-19 00:05:06 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-151410-20151118151704.patch</filename>
            <type>text/plain</type>
            <size>28278</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
NWE2YTU0NWY5OTkwYmY5ZDAwNGM5YWViY2NiM2IzZDg1MTg0OWE3Li43MzBiZjRiNjE3ZWRkZDEx
YjY0MjJhMzZhY2IzOWFmMjc2Njk1Mjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw3MSBAQAogMjAxNS0xMS0xOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29udmVydCByZW1haW5pbmcgdGltZWxpbmUgdmll
d3MgdG8gdXNlIFZpZXcgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ29udmVydGVkIHRpbWVsaW5lIHZpZXdzIHRvIHVzZSBWaWV3IGJh
c2UgY2xhc3MuIE1vc3RseSBtZWNoYW5pY2FsCisgICAgICAgIGNoYW5nZXMgKG92ZXJyaWRlIFZp
ZXcucHJvdG90eXBlLmxheW91dCwgdXNlIGxldCBpbiBtb3JlIHBsYWNlcykuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBl
LmxheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVPdmVydmlld0dy
YXBoLnByb3RvdHlwZS51cGRhdGVMYXlvdXQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLmxheW91
dC5jcmVhdGVCYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZU92ZXJ2
aWV3R3JhcGgucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUudXBkYXRlTGF5b3V0LmNyZWF0ZUJhcik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5wcm90b3R5cGUudXBkYXRlTGF5b3V0KTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
cHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVU
aW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6IERlbGV0ZWQuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
cHJvdG90eXBlLmxheW91dC5jcmVhdGVCYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUubGF5b3V0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TY3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnVwZGF0ZUxheW91
dC5jcmVhdGVCYXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUudXBkYXRlTGF5b3V0KTogRGVsZXRlZC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qczoKKyAgICAgICAg
RXh0ZW5kIFZpZXcuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyk6Cisg
ICAgICAgIEFkZCBydWxlciBhcyBhIHN1YnZpZXcuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IHN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IGN1cnJlbnRUaW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5zZXQgc2Vjb25kc1Bl
clBpeGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5zZXQgZW5kVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5w
cm90b3R5cGUuc2V0IHNjcm9sbFN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0SWZOZWVkZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmdldCB0aW1lbGluZVJ1bGVy
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5jYW5T
aG93VGltZWxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLmxheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5w
cm90b3R5cGUuX2hhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXcuX2hhbmRsZUdlc3R1cmVTdGFydCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2hhbmRsZUdlc3R1cmVDaGFuZ2UpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl90aW1lbGluZUFkZGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGlt
ZWxpbmVSZW1vdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnBy
b3RvdHlwZS5nZXQgZWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0KTogRGVsZXRlZC4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAg
ICBFeHRlbmQgdmlldy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3Jh
cGgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5
cGUubmVlZHNMYXlvdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5wcm90b3R5cGUuX25lZWRzU2VsZWN0ZWRSZWNvcmRMYXlvdXQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUudXBkYXRlTGF5b3V0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJv
dG90eXBlLnVwZGF0ZUxheW91dElmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLl9uZWVkc1NlbGVjdGVkUmVjb3Jk
TGF5b3V0LnVwZGF0ZSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldyk6CisgICAgICAgIEFkZCBvdmVydmlldyBhcyBh
IHN1YnZpZXcuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
Vmlldy5wcm90b3R5cGUuX2N1cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSk6CisgICAgICAgIFVz
ZSBWaWV3LnByb3RvdHlwZS5yZXBsYWNlU3VidmlldyB0byBzd2FwIG92ZXJ2aWV3IGdyYXBocy4K
KworMjAxNS0xMS0xOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CisKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogV2F0Y2ggRXhwcmVzc2lvbnMgZGV0YWlscyBzZWN0aW9uIHNob3Vs
ZCB1c2UgTmF2aWdhdGlvbkJhcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUxMzc3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5qcwppbmRleCA1MWVmMTU0MzQzZWNiNDFiMTdmOGE1ZTE5ZTJlYmUwZmI4YmIwNmNh
Li42ODAzMzE0M2Q4Mjg2ZGNiMzMyMDk3NjcwOTkwMzMzMzM1OWZiNWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZU92
ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC01OCwxMCArNTgsMTAgQEAg
V2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIExheW91dFRp
bWVsaW5lT3ZlcnZpZXdHcmFwaCBleHQKICAgICAgICAgdGhpcy5fdGltZWxpbmVQYWludFJlY29y
ZFJvdyA9IGNyZWF0ZVJlY29yZFJvdy5jYWxsKHRoaXMpOwogICAgIH0KIAotICAgIHVwZGF0ZUxh
eW91dCgpCi0gICAgewotICAgICAgICBzdXBlci51cGRhdGVMYXlvdXQoKTsKKyAgICAvLyBQcm90
ZWN0ZWQKIAorICAgIGxheW91dCgpCisgICAgewogICAgICAgICB0aGlzLl91cGRhdGVSb3dMYXlv
dXQodGhpcy5fdGltZWxpbmVQYWludFJlY29yZFJvdyk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJv
d0xheW91dCh0aGlzLl90aW1lbGluZUxheW91dFJlY29yZFJvdyk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggZmRkNjQyZmVjNjY3
NDIxOTBhOTVjNzc4YzdlN2U3Mjg2MTdmYzJmNC4uMzg3YzdmNTQxMTEzMTlhZjEyOGNjZDZiYTEx
ZGQzM2RkNGEyYjVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVPdmVydmll
d0dyYXBoLmpzCkBAIC02MSwxNyArNjEsMTYgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBOZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoIGUKICAg
ICAgICAgfQogICAgIH0KIAotICAgIHVwZGF0ZUxheW91dCgpCi0gICAgewotICAgICAgICBzdXBl
ci51cGRhdGVMYXlvdXQoKTsKLQotICAgICAgICB2YXIgc2Vjb25kc1BlclBpeGVsID0gdGhpcy50
aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbDsKKyAgICAvLyBQcm90ZWN0ZWQKIAotICAg
ICAgICB2YXIgcmVjb3JkQmFySW5kZXggPSAwOworICAgIGxheW91dCgpCisgICAgeworICAgICAg
ICBsZXQgc2Vjb25kc1BlclBpeGVsID0gdGhpcy50aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQZXJQ
aXhlbDsKKyAgICAgICAgbGV0IHJlY29yZEJhckluZGV4ID0gMDsKIAogICAgICAgICBmdW5jdGlv
biBjcmVhdGVCYXIocm93RWxlbWVudCwgcm93UmVjb3JkQmFycywgcmVjb3JkcywgcmVuZGVyTW9k
ZSkKICAgICAgICAgewotICAgICAgICAgICAgdmFyIHRpbWVsaW5lUmVjb3JkQmFyID0gcm93UmVj
b3JkQmFyc1tyZWNvcmRCYXJJbmRleF07CisgICAgICAgICAgICBsZXQgdGltZWxpbmVSZWNvcmRC
YXIgPSByb3dSZWNvcmRCYXJzW3JlY29yZEJhckluZGV4XTsKICAgICAgICAgICAgIGlmICghdGlt
ZWxpbmVSZWNvcmRCYXIpCiAgICAgICAgICAgICAgICAgdGltZWxpbmVSZWNvcmRCYXIgPSByb3dS
ZWNvcmRCYXJzW3JlY29yZEJhckluZGV4XSA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRCYXIocmVjb3JkcywgcmVuZGVyTW9kZSk7CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTg0LDkg
KzgzLDkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFz
cyBOZXR3b3JrVGltZWxpbmVPdmVydmlld0dyYXBoIGUKICAgICAgICAgICAgICsrcmVjb3JkQmFy
SW5kZXg7CiAgICAgICAgIH0KIAotICAgICAgICBmb3IgKHZhciByb3dSZWNvcmRzIG9mIHRoaXMu
X3RpbWVsaW5lUmVjb3JkR3JpZFJvd3MpIHsKLSAgICAgICAgICAgIHZhciByb3dFbGVtZW50ID0g
cm93UmVjb3Jkcy5fX2VsZW1lbnQ7Ci0gICAgICAgICAgICB2YXIgcm93UmVjb3JkQmFycyA9IHJv
d1JlY29yZHMuX19yZWNvcmRCYXJzOworICAgICAgICBmb3IgKGxldCByb3dSZWNvcmRzIG9mIHRo
aXMuX3RpbWVsaW5lUmVjb3JkR3JpZFJvd3MpIHsKKyAgICAgICAgICAgIGxldCByb3dFbGVtZW50
ID0gcm93UmVjb3Jkcy5fX2VsZW1lbnQ7CisgICAgICAgICAgICBsZXQgcm93UmVjb3JkQmFycyA9
IHJvd1JlY29yZHMuX19yZWNvcmRCYXJzOwogCiAgICAgICAgICAgICByZWNvcmRCYXJJbmRleCA9
IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2
aWV3R3JhcGguanMKaW5kZXggN2RkOWQxZGI1MTA4YWQ2ZDlhMmM0MTk2M2UzOGIzYjg0NGYzZjlj
Yy4uOTNhYzA4NzgyZjdkOWRhNWY4ZDljMTRmNGIwMjg1NjBhYzBkNDM4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAg
LTkzLDIxICs5MywyMSBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2
aWV3R3JhcGggPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lTwogICAgICAgICB0aGlzLl90
aW1lbGluZVJlY29yZEZyYW1lc1tmcmFtZUluZGV4XS5maWx0ZXJlZCA9IGZpbHRlcmVkOwogICAg
IH0KIAotICAgIHVwZGF0ZUxheW91dCgpCi0gICAgewotICAgICAgICBzdXBlci51cGRhdGVMYXlv
dXQoKTsKKyAgICAvLyBQcm90ZWN0ZWQKIAorICAgIGxheW91dCgpCisgICAgewogICAgICAgICBp
ZiAoIXRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUucmVjb3Jkcy5sZW5ndGgpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHJlY29yZHMgPSB0aGlzLl9yZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lLnJlY29yZHM7Ci0gICAgICAgIHZhciBzdGFydEluZGV4ID0gTWF0aC5mbG9vcih0
aGlzLnN0YXJ0VGltZSk7Ci0gICAgICAgIHZhciBlbmRJbmRleCA9IE1hdGgubWluKE1hdGguZmxv
b3IodGhpcy5lbmRUaW1lKSwgcmVjb3Jkcy5sZW5ndGggLSAxKTsKLSAgICAgICAgdmFyIHJlY29y
ZEZyYW1lSW5kZXggPSAwOworICAgICAgICBsZXQgcmVjb3JkcyA9IHRoaXMuX3JlbmRlcmluZ0Zy
YW1lVGltZWxpbmUucmVjb3JkczsKKyAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSBNYXRoLmZsb29y
KHRoaXMuc3RhcnRUaW1lKTsKKyAgICAgICAgbGV0IGVuZEluZGV4ID0gTWF0aC5taW4oTWF0aC5m
bG9vcih0aGlzLmVuZFRpbWUpLCByZWNvcmRzLmxlbmd0aCAtIDEpOworICAgICAgICBsZXQgcmVj
b3JkRnJhbWVJbmRleCA9IDA7CiAKLSAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXg7IGkg
PD0gZW5kSW5kZXg7ICsraSkgewotICAgICAgICAgICAgdmFyIHJlY29yZCA9IHJlY29yZHNbaV07
Ci0gICAgICAgICAgICB2YXIgdGltZWxpbmVSZWNvcmRGcmFtZSA9IHRoaXMuX3RpbWVsaW5lUmVj
b3JkRnJhbWVzW3JlY29yZEZyYW1lSW5kZXhdOworICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJ
bmRleDsgaSA8PSBlbmRJbmRleDsgKytpKSB7CisgICAgICAgICAgICBsZXQgcmVjb3JkID0gcmVj
b3Jkc1tpXTsKKyAgICAgICAgICAgIGxldCB0aW1lbGluZVJlY29yZEZyYW1lID0gdGhpcy5fdGlt
ZWxpbmVSZWNvcmRGcmFtZXNbcmVjb3JkRnJhbWVJbmRleF07CiAgICAgICAgICAgICBpZiAoIXRp
bWVsaW5lUmVjb3JkRnJhbWUpCiAgICAgICAgICAgICAgICAgdGltZWxpbmVSZWNvcmRGcmFtZSA9
IHRoaXMuX3RpbWVsaW5lUmVjb3JkRnJhbWVzW3JlY29yZEZyYW1lSW5kZXhdID0gbmV3IFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lKHRoaXMsIHJlY29yZCk7CiAgICAgICAgICAgICBl
bHNlCkBAIC0xMzEsOCArMTMxLDYgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxp
bmVPdmVydmlld0dyYXBoID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZU8KICAgICAgICAg
dGhpcy5fdXBkYXRlRnJhbWVNYXJrZXIoKTsKICAgICB9CiAKLSAgICAvLyBQcm90ZWN0ZWQKLQog
ICAgIHVwZGF0ZVNlbGVjdGVkUmVjb3JkKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5zZWxl
Y3RlZFJlY29yZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBo
LmpzCmluZGV4IDQ1MWE0ZjU2NGExMjkyZDE2NjFiZjAyNzM3OWFmY2NlZTA5MGUxZTAuLjAyZmMy
OTFhNDM0ZTU5YTJiOGJjMzk5ZjMzMTg3ZjE3NTBiZmVkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
Y3JpcHRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTUwLDE3ICs1MCwxNiBAQCBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgU2NyaXB0VGltZWxpbmVP
dmVydmlld0dyYXBoIGV4dAogICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsK
ICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXQoKQotICAgIHsKLSAgICAgICAgc3VwZXIudXBkYXRl
TGF5b3V0KCk7Ci0KLSAgICAgICAgdmFyIHNlY29uZHNQZXJQaXhlbCA9IHRoaXMudGltZWxpbmVP
dmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7CisgICAgLy8gUHJvdGVjdGVkCiAKLSAgICAgICAgdmFy
IHJlY29yZEJhckluZGV4ID0gMDsKKyAgICBsYXlvdXQoKQorICAgIHsKKyAgICAgICAgbGV0IHNl
Y29uZHNQZXJQaXhlbCA9IHRoaXMudGltZWxpbmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7Cisg
ICAgICAgIGxldCByZWNvcmRCYXJJbmRleCA9IDA7CiAKICAgICAgICAgZnVuY3Rpb24gY3JlYXRl
QmFyKHJlY29yZHMsIHJlbmRlck1vZGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0aW1l
bGluZVJlY29yZEJhciA9IHRoaXMuX3RpbWVsaW5lUmVjb3JkQmFyc1tyZWNvcmRCYXJJbmRleF07
CisgICAgICAgICAgICBsZXQgdGltZWxpbmVSZWNvcmRCYXIgPSB0aGlzLl90aW1lbGluZVJlY29y
ZEJhcnNbcmVjb3JkQmFySW5kZXhdOwogICAgICAgICAgICAgaWYgKCF0aW1lbGluZVJlY29yZEJh
cikKICAgICAgICAgICAgICAgICB0aW1lbGluZVJlY29yZEJhciA9IHRoaXMuX3RpbWVsaW5lUmVj
b3JkQmFyc1tyZWNvcmRCYXJJbmRleF0gPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
QmFyKHJlY29yZHMsIHJlbmRlck1vZGUpOwogICAgICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVPdmVydmlldy5qcwppbmRleCBlNzY2ODMyOTI0MzRmYTg4MzMwYTEwOTA0MzM4ZGQyMjdkOWNk
YmEzLi5hOTU3NDE4YjYxNGM0ZDg2NTNhZTdjMjIxOGJjMDlkNzJhNTFkMTIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lT3ZlcnZpZXcuanMKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNs
YXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CitXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuVmlldwogewogICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIHRpbWVsaW5l
UmVjb3JkaW5nLCBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11bUR1cmF0aW9uUGVyUGl4
ZWwsIGRlZmF1bHRTZXR0aW5nc1ZhbHVlcykKICAgICB7CkBAIC0zNywxNiArMzcsMTUgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iamUKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nLkV2ZW50Lk1hcmtlckFkZGVkLCB0
aGlzLl9tYXJrZXJBZGRlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3JlY29yZGluZy5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5FdmVudC5SZXNldCwgdGhp
cy5fcmVjb3JkaW5nUmVzZXQsIHRoaXMpOwogCi0gICAgICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xp
c3QuYWRkKCJ0aW1lbGluZS1vdmVydmlldyIsIGlkZW50aWZpZXIpOwotICAgICAgICB0aGlzLl9l
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIiwgdGhpcy5faGFuZGxlV2hlZWxFdmVudC5i
aW5kKHRoaXMpKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJnZXN0
dXJlc3RhcnQiLCB0aGlzLl9oYW5kbGVHZXN0dXJlU3RhcnQuYmluZCh0aGlzKSk7Ci0gICAgICAg
IHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2VzdHVyZWNoYW5nZSIsIHRoaXMuX2hh
bmRsZUdlc3R1cmVDaGFuZ2UuYmluZCh0aGlzKSk7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiZ2VzdHVyZWVuZCIsIHRoaXMuX2hhbmRsZUdlc3R1cmVFbmQuYmluZCh0
aGlzKSk7CisgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ0aW1lbGluZS1vdmVy
dmlldyIsIGlkZW50aWZpZXIpOworICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigid2hlZWwiLCB0aGlzLl9oYW5kbGVXaGVlbEV2ZW50LmJpbmQodGhpcykpOworICAgICAgICB0
aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2VzdHVyZXN0YXJ0IiwgdGhpcy5faGFuZGxl
R2VzdHVyZVN0YXJ0LmJpbmQodGhpcykpOworICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiZ2VzdHVyZWNoYW5nZSIsIHRoaXMuX2hhbmRsZUdlc3R1cmVDaGFuZ2UuYmluZCh0
aGlzKSk7CisgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJnZXN0dXJlZW5k
IiwgdGhpcy5faGFuZGxlR2VzdHVyZUVuZC5iaW5kKHRoaXMpKTsKIAogICAgICAgICB0aGlzLl9n
cmFwaHNDb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgICAgIHRoaXMuX2dyYXBoc0NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZ3JhcGhz
LWNvbnRhaW5lciIpOwotICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2dy
YXBoc0NvbnRhaW5lckVsZW1lbnQpOworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQo
dGhpcy5fZ3JhcGhzQ29udGFpbmVyRWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVP
dmVydmlld0dyYXBoc01hcCA9IG5ldyBNYXA7CiAKQEAgLTU2LDcgKzU1LDcgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamUKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5lbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX3RpbWVsaW5lUnVsZXJNb3VzZURvd24uYmlu
ZCh0aGlzKSk7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuZWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIHRoaXMuX3RpbWVsaW5lUnVsZXJNb3VzZUNsaWNrZWQuYmluZCh0aGlz
KSk7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSdWxlci5FdmVudC5UaW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlz
Ll90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fZWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl90aW1lbGluZVJ1bGVyLmVsZW1lbnQpOworICAgICAgICB0aGlz
LmFkZFN1YnZpZXcodGhpcy5fdGltZWxpbmVSdWxlcik7CiAKICAgICAgICAgdGhpcy5fY3VycmVu
dFRpbWVNYXJrZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFya2VyKDAsIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU1hcmtlci5UeXBlLkN1cnJlbnRUaW1lKTsKICAgICAgICAgdGhpcy5fdGlt
ZWxpbmVSdWxlci5hZGRNYXJrZXIodGhpcy5fY3VycmVudFRpbWVNYXJrZXIpOwpAQCAtNjQsNyAr
NjMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAgICB0aGlzLl9zY3JvbGxDb250
YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgIHRo
aXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgic2Nyb2xsLWNvbnRhaW5l
ciIpOwogICAgICAgICB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoInNjcm9sbCIsIHRoaXMuX2hhbmRsZVNjcm9sbEV2ZW50LmJpbmQodGhpcykpOwotICAgICAg
ICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQp
OworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2Nyb2xsQ29udGFpbmVy
RWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fc2Nyb2xsV2lkdGhTaXplciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICB0aGlzLl9zY3JvbGxXaWR0aFNpemVyLmNsYXNz
TGlzdC5hZGQoInNjcm9sbC13aWR0aC1zaXplciIpOwpAQCAtMTAwLDExICs5OSw2IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRz
IFdlYkluc3BlY3Rvci5PYmplCiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdldCBlbGVtZW50KCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50OwotICAgIH0KLQogICAgIGdldCBz
dGFydFRpbWUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXJ0VGltZTsKQEAgLTEx
Nyw3ICsxMTEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVs
aW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogCiAgICAgICAgIHRoaXMuX3N0
YXJ0VGltZSA9IHggfHwgMDsKIAotICAgICAgICB0aGlzLl9uZWVkc0xheW91dCgpOworICAgICAg
ICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQogCiAgICAgZ2V0IGN1cnJlbnRUaW1lKCkKQEAg
LTEzMyw3ICsxMjcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRp
bWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAgICB0aGlzLl9j
dXJyZW50VGltZSA9IHggfHwgMDsKICAgICAgICAgdGhpcy5fcmV2ZWFsQ3VycmVudFRpbWUgPSB0
cnVlOwogCi0gICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7CisgICAgICAgIHRoaXMubmVlZHNM
YXlvdXQoKTsKICAgICB9CiAKICAgICBnZXQgc2Vjb25kc1BlclBpeGVsKCkKQEAgLTE1Nyw3ICsx
NTEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAgICB0aGlzLl9kdXJhdGlvblBl
clBpeGVsID0geDsKICAgICAgICAgdGhpcy5fZHVyYXRpb25QZXJQaXhlbFNldHRpbmcudmFsdWUg
PSB4OwogCi0gICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7CisgICAgICAgIHRoaXMubmVlZHNM
YXlvdXQoKTsKICAgICB9CiAKICAgICBnZXQgcGl4ZWxBbGlnbkR1cmF0aW9uKCkKQEAgLTE4OCw3
ICsxODIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5l
T3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogCiAgICAgICAgIHRoaXMuX2VuZFRp
bWUgPSB4IHx8IDA7CiAKLSAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsKKyAgICAgICAgdGhp
cy5uZWVkc0xheW91dCgpOwogICAgIH0KIAogICAgIGdldCBzY3JvbGxTdGFydFRpbWUoKQpAQCAt
MjAzLDcgKzE5Nyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGlt
ZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplCiAKICAgICAgICAgdGhpcy5f
c2Nyb2xsU3RhcnRUaW1lID0geCB8fCAwOwogCi0gICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7
CisgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CiAKICAgICBnZXQgdmlzaWJsZUR1
cmF0aW9uKCkKQEAgLTMxMSwxNiArMzA1LDM3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplCiAg
ICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0KCkK
KyAgICB1cGRhdGVMYXlvdXRJZk5lZWRlZCgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5fc2No
ZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmllcikgewotICAgICAgICAgICAgY2FuY2VsQW5pbWF0
aW9uRnJhbWUodGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmllcik7Ci0gICAgICAg
ICAgICB0aGlzLl9zY2hlZHVsZWRMYXlvdXRVcGRhdGVJZGVudGlmaWVyID0gdW5kZWZpbmVkOwor
ICAgICAgICBpZiAodGhpcy5sYXlvdXRQZW5kaW5nKSB7CisgICAgICAgICAgICBzdXBlci51cGRh
dGVMYXlvdXRJZk5lZWRlZCgpOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAg
ICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci51cGRhdGVMYXlvdXRJZk5lZWRlZCgpOworCisgICAg
ICAgIGZvciAobGV0IHRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl90aW1lbGluZU92ZXJ2
aWV3R3JhcGhzTWFwLnZhbHVlcygpKQorICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBo
LnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CisgICAgfQorCisgICAgLy8gUHJvdGVjdGVkCisKKyAg
ICBnZXQgdGltZWxpbmVSdWxlcigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fdGltZWxp
bmVSdWxlcjsKKyAgICB9CisKKyAgICBjYW5TaG93VGltZWxpbmUodGltZWxpbmUpCisgICAgewor
ICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgorICAgICAgICBjb25zb2xlLmVy
cm9yKCJOZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBieSBhIHN1YmNsYXNzLiIpOworICAgIH0KKwor
ICAgIGxheW91dCgpCisgICAgewogICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHJlcXVpcmVkIHdp
ZHRoIGJhc2VkIG9uIHRoZSBkdXJhdGlvbiBhbmQgc2Vjb25kcyBwZXIgcGl4ZWwuCi0gICAgICAg
IHZhciBkdXJhdGlvbiA9IHRoaXMuX2VuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7Ci0gICAgICAg
IHZhciBuZXdXaWR0aCA9IE1hdGguY2VpbChkdXJhdGlvbiAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4
ZWwpOworICAgICAgICBsZXQgZHVyYXRpb24gPSB0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3RhcnRU
aW1lOworICAgICAgICBsZXQgbmV3V2lkdGggPSBNYXRoLmNlaWwoZHVyYXRpb24gLyB0aGlzLl9k
dXJhdGlvblBlclBpeGVsKTsKIAogICAgICAgICAvLyBVcGRhdGUgYWxsIHJlbGV2YW50IGVsZW1l
bnRzIHRvIHRoZSBuZXcgcmVxdWlyZWQgd2lkdGguCiAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1l
bnRXaWR0aCh0aGlzLl9zY3JvbGxXaWR0aFNpemVyLCBuZXdXaWR0aCk7CkBAIC0zMzUsNyArMzUw
LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamUKICAgICAgICAgY29uc3QgdmlzaWJsZUR1cmF0
aW9uID0gdGhpcy52aXNpYmxlRHVyYXRpb247CiAKICAgICAgICAgLy8gQ2xhbXAgdGhlIHNjcm9s
bCBzdGFydCB0aW1lIHRvIG1hdGNoIHdoYXQgdGhlIHNjcm9sbCBiYXIgd291bGQgYWxsb3cuCi0g
ICAgICAgIHZhciBzY3JvbGxTdGFydFRpbWUgPSBNYXRoLm1pbih0aGlzLl9zY3JvbGxTdGFydFRp
bWUsIHRoaXMuX2VuZFRpbWUgLSB2aXNpYmxlRHVyYXRpb24pOworICAgICAgICBsZXQgc2Nyb2xs
U3RhcnRUaW1lID0gTWF0aC5taW4odGhpcy5fc2Nyb2xsU3RhcnRUaW1lLCB0aGlzLl9lbmRUaW1l
IC0gdmlzaWJsZUR1cmF0aW9uKTsKICAgICAgICAgc2Nyb2xsU3RhcnRUaW1lID0gTWF0aC5tYXgo
dGhpcy5fc3RhcnRUaW1lLCBzY3JvbGxTdGFydFRpbWUpOwogCiAgICAgICAgIHRoaXMuX3RpbWVs
aW5lUnVsZXIuemVyb1RpbWUgPSB0aGlzLl9zdGFydFRpbWU7CkBAIC0zNDcsOSArMzYyLDcgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk9iamUKICAgICAgICAgICAgIHRoaXMuX3Njcm9sbENvbnRhaW5l
ckVsZW1lbnQuc2Nyb2xsTGVmdCA9IE1hdGguY2VpbCgoc2Nyb2xsU3RhcnRUaW1lIC0gdGhpcy5f
c3RhcnRUaW1lKSAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOwogICAgICAgICB9CiAKLSAgICAg
ICAgdGhpcy5fdGltZWxpbmVSdWxlci51cGRhdGVMYXlvdXQoKTsKLQotICAgICAgICBmb3IgKHZh
ciB0aW1lbGluZU92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01h
cC52YWx1ZXMoKSkgeworICAgICAgICBmb3IgKGxldCB0aW1lbGluZU92ZXJ2aWV3R3JhcGggb2Yg
dGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC52YWx1ZXMoKSkgewogICAgICAgICAgICAg
dGltZWxpbmVPdmVydmlld0dyYXBoLnplcm9UaW1lID0gdGhpcy5fc3RhcnRUaW1lOwogICAgICAg
ICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBoLnN0YXJ0VGltZSA9IHNjcm9sbFN0YXJ0VGltZTsK
ICAgICAgICAgICAgIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5jdXJyZW50VGltZSA9IHRoaXMuX2N1
cnJlbnRUaW1lOwpAQCAtMzU4LDMyICszNzEsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQog
ICAgICAgICB9CiAgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0SWZOZWVkZWQoKQotICAgIHsKLSAg
ICAgICAgaWYgKHRoaXMuX3NjaGVkdWxlZExheW91dFVwZGF0ZUlkZW50aWZpZXIpIHsKLSAgICAg
ICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91dElmTmVlZGVkKCk7
Ci0KLSAgICAgICAgZm9yICh2YXIgdGltZWxpbmVPdmVydmlld0dyYXBoIG9mIHRoaXMuX3RpbWVs
aW5lT3ZlcnZpZXdHcmFwaHNNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICB0aW1lbGluZU92ZXJ2
aWV3R3JhcGgudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKLSAgICB9Ci0KLSAgICAvLyBQcm90ZWN0
ZWQKLQotICAgIGdldCB0aW1lbGluZVJ1bGVyKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll90aW1lbGluZVJ1bGVyOwotICAgIH0KLQotICAgIGNhblNob3dUaW1lbGluZSh0aW1lbGluZSkK
LSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCi0gICAgICAgIGNv
bnNvbGUuZXJyb3IoIk5lZWRzIHRvIGJlIGltcGxlbWVudGVkIGJ5IGEgc3ViY2xhc3MuIik7Ci0g
ICAgfQotCiAgICAgLy8gUHJpdmF0ZQogCiAgICAgX3VwZGF0ZUVsZW1lbnRXaWR0aChlbGVtZW50
LCBuZXdXaWR0aCkKQEAgLTQzNiw3ICs0MjMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQog
ICAgICAgICAvLyBjYXNlcyBvZiBpbmFkdmVydGVudCB6b29taW5nIGZvciBzbGlnaHRseSBkaWFn
b25hbCBzY3JvbGxzLgogICAgICAgICBpZiAoTWF0aC5hYnMoZXZlbnQuZGVsdGFYKSA+PSBNYXRo
LmFicyhldmVudC5kZWx0YVkpICogMC41KSB7CiAgICAgICAgICAgICAvLyBDbG9uZSB0aGUgZXZl
bnQgdG8gZGlzcGF0Y2ggaXQgb24gdGhlIHNjcm9sbCBjb250YWluZXIuIE1hcmsgaXQgYXMgY2xv
bmVkIHNvIHdlIGRvbid0IGdldCBpbnRvIGEgbG9vcC4KLSAgICAgICAgICAgIHZhciBuZXdXaGVl
bEV2ZW50ID0gbmV3IGV2ZW50LmNvbnN0cnVjdG9yKGV2ZW50LnR5cGUsIGV2ZW50KTsKKyAgICAg
ICAgICAgIGxldCBuZXdXaGVlbEV2ZW50ID0gbmV3IGV2ZW50LmNvbnN0cnVjdG9yKGV2ZW50LnR5
cGUsIGV2ZW50KTsKICAgICAgICAgICAgIG5ld1doZWVsRXZlbnQuX19jbG9uZWQgPSB0cnVlOwog
CiAgICAgICAgICAgICB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQo
bmV3V2hlZWxFdmVudCk7CkBAIC00NDQsMTYgKzQzMSwxNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZQogICAgICAgICB9CiAKICAgICAgICAgLy8gUmVtZW1iZXIgdGhlIG1vdXNlIHBvc2l0aW9u
IGluIHRpbWUuCi0gICAgICAgIHZhciBtb3VzZU9mZnNldCA9IGV2ZW50LnBhZ2VYIC0gdGhpcy5f
ZWxlbWVudC50b3RhbE9mZnNldExlZnQ7Ci0gICAgICAgIHZhciBtb3VzZVBvc2l0aW9uVGltZSA9
IHRoaXMuX3Njcm9sbFN0YXJ0VGltZSArIChtb3VzZU9mZnNldCAqIHRoaXMuX2R1cmF0aW9uUGVy
UGl4ZWwpOwotICAgICAgICB2YXIgZGV2aWNlRGlyZWN0aW9uID0gZXZlbnQud2Via2l0RGlyZWN0
aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlID8gMSA6IC0xOwotICAgICAgICB2YXIgZGVsdGEgPSBldmVu
dC5kZWx0YVkgKiAodGhpcy5fZHVyYXRpb25QZXJQaXhlbCAvIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3LlNjcm9sbERlbHRhRGVub21pbmF0b3IpICogZGV2aWNlRGlyZWN0aW9uOworICAg
ICAgICBsZXQgbW91c2VPZmZzZXQgPSBldmVudC5wYWdlWCAtIHRoaXMuZWxlbWVudC50b3RhbE9m
ZnNldExlZnQ7CisgICAgICAgIGxldCBtb3VzZVBvc2l0aW9uVGltZSA9IHRoaXMuX3Njcm9sbFN0
YXJ0VGltZSArIChtb3VzZU9mZnNldCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOworICAgICAg
ICBsZXQgZGV2aWNlRGlyZWN0aW9uID0gZXZlbnQud2Via2l0RGlyZWN0aW9uSW52ZXJ0ZWRGcm9t
RGV2aWNlID8gMSA6IC0xOworICAgICAgICBsZXQgZGVsdGEgPSBldmVudC5kZWx0YVkgKiAodGhp
cy5fZHVyYXRpb25QZXJQaXhlbCAvIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9s
bERlbHRhRGVub21pbmF0b3IpICogZGV2aWNlRGlyZWN0aW9uOwogCiAgICAgICAgIC8vIFJlc2V0
IGFjY3VtdWxhdGVkIHdoZWVsIGRlbHRhIHdoZW4gZGlyZWN0aW9uIGNoYW5nZXMuCiAgICAgICAg
IGlmICh0aGlzLl9waXhlbEFsaWduRHVyYXRpb24gJiYgKGRlbHRhIDwgMCAmJiB0aGlzLl9tb3Vz
ZVdoZWVsRGVsdGEgPj0gMCB8fCBkZWx0YSA+PSAwICYmIHRoaXMuX21vdXNlV2hlZWxEZWx0YSA8
IDApKQogICAgICAgICAgICAgdGhpcy5fbW91c2VXaGVlbERlbHRhID0gMDsKIAotICAgICAgICB2
YXIgcHJldmlvdXNEdXJhdGlvblBlclBpeGVsID0gdGhpcy5fZHVyYXRpb25QZXJQaXhlbDsKKyAg
ICAgICAgbGV0IHByZXZpb3VzRHVyYXRpb25QZXJQaXhlbCA9IHRoaXMuX2R1cmF0aW9uUGVyUGl4
ZWw7CiAgICAgICAgIHRoaXMuX21vdXNlV2hlZWxEZWx0YSArPSBkZWx0YTsKICAgICAgICAgdGhp
cy5zZWNvbmRzUGVyUGl4ZWwgKz0gdGhpcy5fbW91c2VXaGVlbERlbHRhOwogCkBAIC00NzYsNyAr
NDYzLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92
ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamUKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIGxldCBtb3VzZU9mZnNldCA9IGV2ZW50LnBhZ2VYIC0gdGhpcy5f
ZWxlbWVudC50b3RhbE9mZnNldExlZnQ7CisgICAgICAgIGxldCBtb3VzZU9mZnNldCA9IGV2ZW50
LnBhZ2VYIC0gdGhpcy5lbGVtZW50LnRvdGFsT2Zmc2V0TGVmdDsKICAgICAgICAgbGV0IG1vdXNl
UG9zaXRpb25UaW1lID0gdGhpcy5fc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zmc2V0ICogdGhp
cy5fZHVyYXRpb25QZXJQaXhlbCk7CiAKICAgICAgICAgdGhpcy5faGFuZGxpbmdHZXN0dXJlID0g
dHJ1ZTsKQEAgLTQ5Miw3ICs0NzksNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9
IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAg
ICAvLyBDYXAgem9vbWluZyBvdXQgYXQgNXguCiAgICAgICAgIGxldCBzY2FsZSA9IE1hdGgubWF4
KDEvNSwgZXZlbnQuc2NhbGUpOwogCi0gICAgICAgIGxldCBtb3VzZU9mZnNldCA9IGV2ZW50LnBh
Z2VYIC0gdGhpcy5fZWxlbWVudC50b3RhbE9mZnNldExlZnQ7CisgICAgICAgIGxldCBtb3VzZU9m
ZnNldCA9IGV2ZW50LnBhZ2VYIC0gdGhpcy5lbGVtZW50LnRvdGFsT2Zmc2V0TGVmdDsKICAgICAg
ICAgbGV0IG5ld1NlY29uZHNQZXJQaXhlbCA9IHRoaXMuX2dlc3R1cmVTdGFydER1cmF0aW9uUGVy
UGl4ZWwgLyBzY2FsZTsKIAogICAgICAgICB0aGlzLnNlY29uZHNQZXJQaXhlbCA9IG5ld1NlY29u
ZHNQZXJQaXhlbDsKQEAgLTUyMywyMSArNTEwLDIzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmpl
CiAgICAgICAgIHZhciBvdmVydmlld0dyYXBoID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5jcmVhdGVGb3JUaW1lbGluZSh0aW1lbGluZSwgdGhpcyk7CiAgICAgICAgIG92ZXJ2
aWV3R3JhcGguYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dy
YXBoLkV2ZW50LlJlY29yZFNlbGVjdGVkLCB0aGlzLl9yZWNvcmRTZWxlY3RlZCwgdGhpcyk7CiAg
ICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAuc2V0KHRpbWVsaW5lLCBvdmVy
dmlld0dyYXBoKTsKKworICAgICAgICAvLyBGSVhNRTogdXNlIFZpZXcucHJvdG90eXBlLmFkZFN1
YnZpZXcob3ZlcnZpZXdHcmFwaCkgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUwOTgyPiBp
cyBmaXhlZC4KICAgICAgICAgdGhpcy5fZ3JhcGhzQ29udGFpbmVyRWxlbWVudC5hcHBlbmRDaGls
ZChvdmVydmlld0dyYXBoLmVsZW1lbnQpOwogICAgIH0KIAogICAgIF90aW1lbGluZVJlbW92ZWQo
ZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgdGltZWxpbmUgPSBldmVudC5kYXRhLnRpbWVsaW5l
OworICAgICAgICBsZXQgdGltZWxpbmUgPSBldmVudC5kYXRhLnRpbWVsaW5lOwogICAgICAgICBj
b25zb2xlLmFzc2VydCh0aW1lbGluZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZSwg
dGltZWxpbmUpOwogICAgICAgICBpZiAoIXRoaXMuY2FuU2hvd1RpbWVsaW5lKHRpbWVsaW5lKSkK
ICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90aW1l
bGluZU92ZXJ2aWV3R3JhcGhzTWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKIAotICAgICAg
ICB2YXIgb3ZlcnZpZXdHcmFwaCA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAudGFr
ZSh0aW1lbGluZSk7CisgICAgICAgIGxldCBvdmVydmlld0dyYXBoID0gdGhpcy5fdGltZWxpbmVP
dmVydmlld0dyYXBoc01hcC50YWtlKHRpbWVsaW5lKTsKICAgICAgICAgb3ZlcnZpZXdHcmFwaC5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGguRXZl
bnQuUmVjb3JkU2VsZWN0ZWQsIHRoaXMuX3JlY29yZFNlbGVjdGVkLCB0aGlzKTsKLSAgICAgICAg
dGhpcy5fZ3JhcGhzQ29udGFpbmVyRWxlbWVudC5yZW1vdmVDaGlsZChvdmVydmlld0dyYXBoLmVs
ZW1lbnQpOworICAgICAgICBvdmVydmlld0dyYXBoLmVsZW1lbnQucmVtb3ZlKCk7CiAgICAgfQog
CiAgICAgX21hcmtlckFkZGVkKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBo
LmpzCmluZGV4IGUyYjM3NDc5MmVjZWNjMTUzYjYzYTVmMzRjYWZhOTZlZWM1ODZjYzUuLjk2OTBj
ZjEyMWUxZTBjMTg5Y2M0ZjRjZTA3ZTNhNzY3YjAyMGFiOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMKQEAgLTIzLDEzICsyMywxMiBAQAogICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3Jh
cGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2Jq
ZWN0CitXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgVGltZWxpbmVP
dmVydmlld0dyYXBoIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIHsKICAgICBjb25zdHJ1Y3Rv
cih0aW1lbGluZU92ZXJ2aWV3KQogICAgIHsKICAgICAgICAgc3VwZXIoKTsKIAotICAgICAgICB0
aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgdGhp
cy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoInRpbWVsaW5lLW92ZXJ2aWV3LWdyYXBoIik7CiAKICAg
ICAgICAgdGhpcy5femVyb1RpbWUgPSAwOwpAQCAtMzksOCArMzgsNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVu
ZHMgV2ViSW5zcAogICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3ID0gdGltZWxpbmVPdmVy
dmlldzsKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRSZWNvcmQgPSBudWxsOwogICAgICAgICB0aGlz
Ll9zZWxlY3RlZFJlY29yZENoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fc2NoZWR1bGVk
TGF5b3V0VXBkYXRlSWRlbnRpZmllciA9IDA7Ci0gICAgICAgIHRoaXMuX3NjaGVkdWxlZFNlbGVj
dGVkUmVjb3JkTGF5b3V0VXBkYXRlSWRlbnRpZmllciA9IDA7CisgICAgICAgIHRoaXMuX3NjaGVk
dWxlZFNlbGVjdGVkUmVjb3JkTGF5b3V0VXBkYXRlSWRlbnRpZmllciA9IHVuZGVmaW5lZDsKICAg
ICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTE3NiwzNiArMTc0LDE3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5k
cyBXZWJJbnNwCiAgICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRl
ZC4KICAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXQoKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMu
X3NjaGVkdWxlZExheW91dFVwZGF0ZUlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIGNhbmNlbEFu
aW1hdGlvbkZyYW1lKHRoaXMuX3NjaGVkdWxlZExheW91dFVwZGF0ZUlkZW50aWZpZXIpOwotICAg
ICAgICAgICAgdGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmllciA9IDA7Ci0gICAg
ICAgIH0KLQotICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVkZWQu
Ci0gICAgfQotCi0gICAgdXBkYXRlTGF5b3V0SWZOZWVkZWQoKQotICAgIHsKLSAgICAgICAgaWYg
KCF0aGlzLl9zY2hlZHVsZWRMYXlvdXRVcGRhdGVJZGVudGlmaWVyKQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB0aGlzLnVwZGF0ZUxheW91dCgpOwotICAgIH0KLQotICAgIC8vIFByb3Rl
Y3RlZAotCiAgICAgbmVlZHNMYXlvdXQoKQogICAgIHsKKyAgICAgICAgLy8gRklYTUU6IG5lZWRz
TGF5b3V0IGNhbiBiZSByZW1vdmVkIG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MDc0MT4g
aXMgZml4ZWQuCiAgICAgICAgIGlmICghdGhpcy5fdmlzaWJsZSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBpZiAodGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmllcikK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9zY2hlZHVsZWRMYXlvdXRVcGRh
dGVJZGVudGlmaWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlTGF5b3V0LmJp
bmQodGhpcykpOworICAgICAgICBzdXBlci5uZWVkc0xheW91dCgpOwogICAgIH0KIAorICAgIC8v
IFByb3RlY3RlZAorCiAgICAgZGlzcGF0Y2hTZWxlY3RlZFJlY29yZENoYW5nZWRFdmVudCgpCiAg
ICAgewogICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdGVkUmVjb3JkQ2hhbmdlZCkKQEAgLTIyNiwy
MCArMjA1LDE2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBU
aW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXZWJJbnNwCiAgICAgX25lZWRzU2VsZWN0ZWRS
ZWNvcmRMYXlvdXQoKQogICAgIHsKICAgICAgICAgLy8gSWYgbGF5b3V0IGlzIHNjaGVkdWxlZCwg
YWJvcnQgc2luY2UgdGhlIHNlbGVjdGVkIHJlY29yZCB3aWxsIGJlIHVwZGF0ZWQgd2hlbiBsYXlv
dXQgaGFwcGVucy4KLSAgICAgICAgaWYgKHRoaXMuX3NjaGVkdWxlZExheW91dFVwZGF0ZUlkZW50
aWZpZXIpCisgICAgICAgIGlmICh0aGlzLmxheW91dFBlbmRpbmcpCiAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgaWYgKHRoaXMuX3NjaGVkdWxlZFNlbGVjdGVkUmVjb3JkTGF5b3V0VXBk
YXRlSWRlbnRpZmllcikKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBmdW5jdGlvbiB1
cGRhdGUoKQotICAgICAgICB7Ci0gICAgICAgICAgICB0aGlzLl9zY2hlZHVsZWRTZWxlY3RlZFJl
Y29yZExheW91dFVwZGF0ZUlkZW50aWZpZXIgPSAwOwotCisgICAgICAgIHRoaXMuX3NjaGVkdWxl
ZFNlbGVjdGVkUmVjb3JkTGF5b3V0VXBkYXRlSWRlbnRpZmllciA9IHJlcXVlc3RBbmltYXRpb25G
cmFtZSgoKSA9PiB7CisgICAgICAgICAgICB0aGlzLl9zY2hlZHVsZWRTZWxlY3RlZFJlY29yZExh
eW91dFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CiAgICAgICAgICAgICB0aGlzLnVwZGF0
ZVNlbGVjdGVkUmVjb3JkKCk7Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl9zY2hlZHVsZWRT
ZWxlY3RlZFJlY29yZExheW91dFVwZGF0ZUlkZW50aWZpZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUodXBkYXRlLmJpbmQodGhpcykpOworICAgICAgICB9KTsKICAgICB9CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCA5Y2YyNmMxMjk2
NDY4NmZkY2IzZTg4MWQ2NWE4NjE5MjU0NjU4NTYwLi42Nzk5YWU5NmEzMTI1YjZjZDQ4YWVlYzMz
OTg3NDA4YmZhOTc0NjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcuanMKQEAgLTQ3LDggKzQ3LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKIAog
ICAgICAgICB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldyA9IHRoaXMuX2xpbmVhclRpbWVs
aW5lT3ZlcnZpZXc7CiAKLSAgICAgICAgLy8gRklYTUU6IHVzZSBWaWV3LnByb3RvdHlwZS5hZGRT
dWJ2aWV3IG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0OTE5MD4gaXMgZml4ZWQuCi0gICAg
ICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmll
dy5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3KTsKIAogICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lciA9IG5ldyBX
ZWJJbnNwZWN0b3IuQ29udGVudFZpZXdDb250YWluZXI7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRW
aWV3Q29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3Q29u
dGFpbmVyLkV2ZW50LkN1cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSwgdGhpcy5fY3VycmVudENv
bnRlbnRWaWV3RGlkQ2hhbmdlLCB0aGlzKTsKQEAgLTM0MSw5ICszNDAsNyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcgZQogICAgICAgICBpZiAobmV3VGltZWxpbmVPdmVydmlldyAhPT0gdGhpcy5f
Y3VycmVudFRpbWVsaW5lT3ZlcnZpZXcpIHsKICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1l
bGluZU92ZXJ2aWV3LmhpZGRlbigpOwogCi0gICAgICAgICAgICAvLyBGSVhNRTogdXNlIFZpZXcu
cHJvdG90eXBlLnJlcGxhY2VTdWJ2aWV3IG9uY2UgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0OTE5
MD4gaXMgZml4ZWQuCi0gICAgICAgICAgICB0aGlzLmVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5ld1Rp
bWVsaW5lT3ZlcnZpZXcuZWxlbWVudCwgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuZWxl
bWVudCk7Ci0gICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVu
dFRpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLnJlcGxhY2VTdWJ2
aWV3KHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LCBuZXdUaW1lbGluZU92ZXJ2aWV3KTsK
IAogICAgICAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcgPSBuZXdUaW1lbGlu
ZU92ZXJ2aWV3OwogICAgICAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2hv
d24oKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>