<?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>99830</bug_id>
          
          <creation_ts>2012-10-19 04:50:53 -0700</creation_ts>
          <short_desc>Web Inspector: Show aggregated time between corresponding time/timeEnd records.</short_desc>
          <delta_ts>2014-12-12 13:43:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>100114</dependson>
    
    <dependson>100761</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter>eustas.bug</reporter>
          <assigned_to>eustas.bug</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>caseq</cc>
    
    <cc>eustas.bug</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>746219</commentid>
    <comment_count>0</comment_count>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-19 04:50:53 -0700</bug_when>
    <thetext>console.time / console.timeEnd are used to measure how long some process takes.
This patch makes this feature more useful - not aggregated statistics is shown
for measured interval.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746273</commentid>
    <comment_count>1</comment_count>
      <attachid>169613</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-19 06:50:31 -0700</bug_when>
    <thetext>Created attachment 169613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747288</commentid>
    <comment_count>2</comment_count>
      <attachid>169844</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-22 01:02:11 -0700</bug_when>
    <thetext>Created attachment 169844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747295</commentid>
    <comment_count>3</comment_count>
      <attachid>169844</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-22 01:23:44 -0700</bug_when>
    <thetext>Comment on attachment 169844
Patch

Could you elaborate on &quot;aggregated statistics&quot; and add a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747305</commentid>
    <comment_count>4</comment_count>
      <attachid>169851</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-22 01:41:42 -0700</bug_when>
    <thetext>Created attachment 169851
Popup with aggregated statistics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747366</commentid>
    <comment_count>5</comment_count>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-22 03:08:31 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 169844 [details])
&gt; Could you elaborate on &quot;aggregated statistics&quot; and add a test?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747367</commentid>
    <comment_count>6</comment_count>
      <attachid>169865</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-22 03:09:23 -0700</bug_when>
    <thetext>Created attachment 169865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748612</commentid>
    <comment_count>7</comment_count>
      <attachid>169865</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-23 07:16:25 -0700</bug_when>
    <thetext>Comment on attachment 169865
Patch

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

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:622
&gt; +        var record = this;
&gt; +        var parent = record.parent;
&gt; +        while (parent.parent) {
&gt; +            record = parent;
&gt; +            parent = parent.parent;
&gt; +        }
&gt; +        return record;

for (var record = this; record.parent &amp;&amp; record.parent.parent; record = record.parent) {}

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1026
&gt; +        while (record.type !== WebInspector.TimelineModel.RecordType.Root) {

ditto, use for(;;)

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1033
&gt; +                if (child.endTime &gt;= boundryTime)
&gt; +                    continue;

why not break?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748629</commentid>
    <comment_count>8</comment_count>
      <attachid>169865</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-23 07:33:03 -0700</bug_when>
    <thetext>Comment on attachment 169865
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:622
&gt;&gt; +        return record;
&gt; 
&gt; for (var record = this; record.parent &amp;&amp; record.parent.parent; record = record.parent) {}

Done

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1026
&gt;&gt; +        while (record.type !== WebInspector.TimelineModel.RecordType.Root) {
&gt; 
&gt; ditto, use for(;;)

Done

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1033
&gt;&gt; +                    continue;
&gt; 
&gt; why not break?

because glued records may appear out of order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748632</commentid>
    <comment_count>9</comment_count>
      <attachid>170163</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-23 07:40:07 -0700</bug_when>
    <thetext>Created attachment 170163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748675</commentid>
    <comment_count>10</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-23 08:40:07 -0700</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754222</commentid>
    <comment_count>11</comment_count>
      <attachid>170163</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-30 04:54:10 -0700</bug_when>
    <thetext>Comment on attachment 170163
Patch

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

&gt; Source/WebCore/inspector/front-end/TimelinePanel.js:556
&gt; +            this._innerAddRecordToTimeline(records[i]);

Is this change related?

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:615
&gt; +    get topLevelRecord()

Please use methods (isTopLevelRecord) instead of getters for better compile-ability. Also, this seems to be slow, you might want to reflect it in the name.

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:775
&gt;              contentHelper._appendTextRow(WebInspector.UIString(&quot;Self Time&quot;), Number.secondsToString(this._selfTime, true));

Why is time excluded? Does this belong to this change?

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1014
&gt; +WebInspector.TimelinePresentationModel._calculateAggregatedStatsBetweenRecords = function(head, tail)

I thought we already aggregated the time for the CPU summary. Why do we need separate code for that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754236</commentid>
    <comment_count>12</comment_count>
      <attachid>170163</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-30 05:14:32 -0700</bug_when>
    <thetext>Comment on attachment 170163
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePanel.js:556
&gt;&gt; +            this._innerAddRecordToTimeline(records[i]);
&gt; 
&gt; Is this change related?

No. This change is unrelated.
I&apos;ve done this change to make clarify - &quot;what is parentRecord parameter of _innerAddRecord method&quot;.

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:615
&gt;&gt; +    get topLevelRecord()
&gt; 
&gt; Please use methods (isTopLevelRecord) instead of getters for better compile-ability. Also, this seems to be slow, you might want to reflect it in the name.

OK

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:775
&gt;&gt;              contentHelper._appendTextRow(WebInspector.UIString(&quot;Self Time&quot;), Number.secondsToString(this._selfTime, true));
&gt; 
&gt; Why is time excluded? Does this belong to this change?

&quot;Time&quot; is excluded to avoid doubling &quot;Aggregated Time&quot; field.
Aggregated time for &quot;Time/TimeEnd&quot; records is not computed &quot;online&quot;, so it can&apos;t be rendered at this line.

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1014
&gt;&gt; +WebInspector.TimelinePresentationModel._calculateAggregatedStatsBetweenRecords = function(head, tail)
&gt; 
&gt; I thought we already aggregated the time for the CPU summary. Why do we need separate code for that?

We need to aggregate time by categories between two specified moments.
The problem is - we can&apos;t simply use already calculated aggregated time, because cutting record in the middle changes its &quot;self&quot; time.
We do reuse already calculated aggregated time for all records except records on the &quot;cut&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754262</commentid>
    <comment_count>13</comment_count>
      <attachid>171429</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-30 05:50:05 -0700</bug_when>
    <thetext>Created attachment 171429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754269</commentid>
    <comment_count>14</comment_count>
      <attachid>171429</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-30 05:59:41 -0700</bug_when>
    <thetext>Comment on attachment 171429
Patch

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

&gt; Source/WebCore/inspector/front-end/TimelinePanel.js:556
&gt; +            this._innerAddRecordToTimeline(records[i]);

Please extract this into a separate change.

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1025
&gt; +WebInspector.TimelinePresentationModel._calculateAggregatedStatsBetweenRecords = function(head, tail)

I still don&apos;t understand why this code is different from computing cpu time. They should be combined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754343</commentid>
    <comment_count>15</comment_count>
      <attachid>171429</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-30 07:16:09 -0700</bug_when>
    <thetext>Comment on attachment 171429
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:1025
&gt;&gt; +WebInspector.TimelinePresentationModel._calculateAggregatedStatsBetweenRecords = function(head, tail)
&gt; 
&gt; I still don&apos;t understand why this code is different from computing cpu time. They should be combined.

I looked at it again, and the code is still too hard to follow. I don&apos;t think the feature is worth the complexity. So I stay by my r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054995</commentid>
    <comment_count>16</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-12-12 13:41:02 -0800</bug_when>
    <thetext>Closing as invalid, as this bug pertains to the old inspector UI and/or its tests.
Please file a new bug (https://www.webkit.org/new-inspector-bug) if the bug/feature/issue is still relevant to WebKit trunk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169613</attachid>
            <date>2012-10-19 06:50:31 -0700</date>
            <delta_ts>2012-10-22 01:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99830-20121019174914.patch</filename>
            <type>text/plain</type>
            <size>16469</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTIyNTE4YjFkZDBhMGFh
NTUyN2JhMjUyNGQ1OGMzOGNjZjQ4NzQ3Ny4uZWI4MDJjNWNiYzg4ZjVmZWFhNWU5NWM1ZjllNjk0
MDEyNDk2ZjQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTE5ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTaG93IGFnZ3JlZ2F0ZWQgdGltZSBiZXR3ZWVuIGNvcnJlc3BvbmRpbmcgdGltZS90
aW1lRW5kIHJlY29yZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGNvbnNvbGUudGltZSAvIGNvbnNvbGUudGltZUVuZCBhcmUgdXNlZCB0byBtZWFzdXJl
IGhvdyBsb25nIHNvbWUKKyAgICAgICAgcHJvY2VzcyB0YWtlcy4gVGhpcyBwYXRjaCBtYWtlcyB0
aGlzIGZlYXR1cmUgbW9yZSB1c2VmdWwgLSBub3cKKyAgICAgICAgYWdncmVnYXRlZCBzdGF0aXN0
aWNzIGlzIHNob3duIGZvciBtZWFzdXJlZCBpbnRlcnZhbC4KKworICAgICAgICBXaXRoIHRoaXMg
cGF0Y2ggInRpbWUiIHJlY29yZCBpcyBwdWxsZWQgdG8gdGhlIHRvcCBsZXZlbCBvbmx5IGlmIGds
dWluZworICAgICAgICBpcyBvbi4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qczogQWRkZWQgIk1lc3NhZ2UiIHN0cmluZy4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IFJlbW92ZWQgInBhcmVudFJlY29yZCIgcGFyYW0u
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVj
b3JkKToKKyAgICAgICAgQWRkZWQgIm9yaWdpbiIgYW5kICJnbHVlZCIgZmllbGRzLgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlw
ZS5fZ2VuZXJhdGVQb3B1cENvbnRlbnRXaXRoSW1hZ2VQcmV2aWV3KToKKyAgICAgICAgQWRkZWQg
c2hvd2luZyBtZXNzYWdlIGFuZCBhZ2dyZWdhdGVkIHN0YXRpc3RpY3MgZm9yICJ0aW1lIiBhbmQg
InRpbWVFbmQiCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5fY2FsY3VsYXRlQWdncmVnYXRlZFN0YXRzQmV0d2VlblJlY29yZHMpOgorICAgICAgICBUaGlz
IG1ldGhvZCBjYWxjdWxhdGVzIGFnZ3JlZ2VnYXRlZCBzdGF0aXN0aWNzIGluIHRpbWUgaW50ZXJ2
YWwgYmV0d2VlbgorICAgICAgICB0aGUgdHdvIGdpdmVyIGZvcm1hdHRlZCByZWNvcmRzLgorCiAy
MDEyLTEwLTE4ICBLaXJhbiBNdXBwYWxhICA8Y211cHBhbGFAYXBwbGUuY29tPgogCiAgICAgICAg
IEF1dG9tYXRpY2FsbHkgc3RhcnQgcGx1Z2lucyBjcmVhdGVkIHdpdGhpbiBhIHVzZXIgZ2VzdHVy
ZSwgc2tpcHBpbmcgc25hcHNob3R0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Fbmds
aXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggMjkwODYxYjE0NWYwNWFkOTBkMTNhNDdiNDc5
OGJjMjU4ZDgxMzIyYi4uMzI0ZGNjNTdmN2JkZDI1MmIyZDIxMTBkMzJjZTU1Y2E1MWU5YjFiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cwpAQCAtNzQ0LDYgKzc0NCw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIk5vdGUiXSA9ICJOb3RlIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkZvcmNlZCBzeW5jaHJvbm91cyBsYXlvdXQgaXMgYSBwb3NzaWJs
ZSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrLiJdID0gIkZvcmNlZCBzeW5jaHJvbm91cyBsYXlvdXQg
aXMgYSBwb3NzaWJsZSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrLiI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJTdHlsZXMgaW52YWxpZGF0ZWQiXSA9ICJTdHlsZXMgaW52YWxpZGF0ZWQiOwogbG9jYWxpemVk
U3RyaW5nc1siU3R5bGVzIHJlY2FsY3VsYXRpb24gZm9yY2VkIl0gPSAiU3R5bGVzIHJlY2FsY3Vs
YXRpb24gZm9yY2VkIjsKK2xvY2FsaXplZFN0cmluZ3NbIk1lc3NhZ2UiXSA9ICJNZXNzYWdlIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkxheW91dCBpbnZhbGlkYXRlZCJdID0gIkxheW91dCBpbnZhbGlk
YXRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJMYXlvdXQgZm9yY2VkIl0gPSAiTGF5b3V0IGZvcmNl
ZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXVzZWQgb24gYXNzZXJ0aW9uLiJdID0gIlBhdXNlZCBv
biBhc3NlcnRpb24uIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCA1MGY0YjZhZGE0ZDhlNTcwOTc2MWNjNTYwNzMxYmU4
ZTNhNTRkMmExLi5kMDFmYTFkY2U2OGYzNzFhYmM5YjEyMWNlNTlhNDdhYjA1ODExZWYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVs
LmpzCkBAIC01NTMsMTcgKzU1MywxNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2F1dG9tYXRpY2FsbHlTaXplV2luZG93ID0gZmFsc2U7
CiAgICAgICAgIHZhciByZWNvcmRzID0gdGhpcy5fbW9kZWwucmVjb3JkczsKICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZWNvcmRzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5f
aW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZHNbaV0sIHRoaXMuX3Jvb3RSZWNvcmQoKSk7
CisgICAgICAgICAgICB0aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUocmVjb3Jkc1tpXSk7
CiAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVBbmRTY2hlZHVsZVJlZnJlc2goZmFsc2UpOwogICAg
IH0sCiAKICAgICBfb25UaW1lbGluZUV2ZW50UmVjb3JkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKLSAgICAgICAgaWYgKHRoaXMuX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZShldmVudC5kYXRh
LCB0aGlzLl9yb290UmVjb3JkKCkpKQorICAgICAgICBpZiAodGhpcy5faW5uZXJBZGRSZWNvcmRU
b1RpbWVsaW5lKGV2ZW50LmRhdGEpKQogICAgICAgICAgICAgdGhpcy5faW52YWxpZGF0ZUFuZFNj
aGVkdWxlUmVmcmVzaChmYWxzZSk7CiAgICAgfSwKIAotICAgIF9pbm5lckFkZFJlY29yZFRvVGlt
ZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCwgcGFyZW50UmVjb3JkKQorICAgIF9pbm5lckFkZFJlY29y
ZFRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCkKICAgICB7CiAgICAgICAgIGlmIChyZWNvcmQu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5Qcm9ncmFtKSB7
CiAgICAgICAgICAgICB0aGlzLl9tYWluVGhyZWFkVGFza3MucHVzaCh7CkBAIC01NzIsNyArNTcy
LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgcmVjb3JkcyA9IHRoaXMuX3ByZXNlbnRh
dGlvbk1vZGVsLmFkZFJlY29yZChyZWNvcmQsIHBhcmVudFJlY29yZCk7CisgICAgICAgIHZhciBy
ZWNvcmRzID0gdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwuYWRkUmVjb3JkKHJlY29yZCk7CiAgICAg
ICAgIHRoaXMuX2FsbFJlY29yZHNDb3VudCArPSByZWNvcmRzLmxlbmd0aDsKICAgICAgICAgdmFy
IHRpbWVTdGFtcFJlY29yZHMgPSB0aGlzLl90aW1lU3RhbXBSZWNvcmRzOwogICAgICAgICB2YXIg
aGFzVmlzaWJsZVJlY29yZHMgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwpp
bmRleCBiYWExYTFjOGRjNDk2YWJkMzE3OTEzYWM5MDNmM2RmZjI3ZDc0NTY5Li42NTI1ODZjNWQx
YzRkZWIxY2VmNWU2ODcxM2EwYjFhMGMzMmYxY2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1v
ZGVsLmpzCkBAIC0yNTYsNyArMjU2LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgIHJlc2V0OiBmdW5jdGlvbigpCiAgICAgewogICAg
ICAgICB0aGlzLl9saW5raWZpZXIucmVzZXQoKTsKLSAgICAgICAgdGhpcy5fcm9vdFJlY29yZCA9
IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQodGhpcywg
eyB0eXBlOiBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJvb3QgfSwgbnVs
bCwgbnVsbCwgZmFsc2UpOworICAgICAgICB0aGlzLl9yb290UmVjb3JkID0gbmV3IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCh0aGlzLCB7IHR5cGU6IFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUm9vdCB9LCBudWxsLCBudWxsLCBudWxs
LCBmYWxzZSwgZmFsc2UpOwogICAgICAgICB0aGlzLl9zZW5kUmVxdWVzdFJlY29yZHMgPSB7fTsK
ICAgICAgICAgdGhpcy5fc2NoZWR1bGVkUmVzb3VyY2VSZXF1ZXN0cyA9IHt9OwogICAgICAgICB0
aGlzLl90aW1lclJlY29yZHMgPSB7fTsKQEAgLTI3Myw3ICsyNzMsNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2Zy
YW1lcy5wdXNoKGZyYW1lKTsKICAgICB9LAogCi0gICAgYWRkUmVjb3JkOiBmdW5jdGlvbihyZWNv
cmQsIHBhcmVudFJlY29yZCkKKyAgICBhZGRSZWNvcmQ6IGZ1bmN0aW9uKHJlY29yZCkKICAgICB7
CiAgICAgICAgIGlmICh0aGlzLl9taW5pbXVtUmVjb3JkVGltZSA9PT0gLTEgfHwgcmVjb3JkLnN0
YXJ0VGltZSA8IHRoaXMuX21pbmltdW1SZWNvcmRUaW1lKQogICAgICAgICAgICAgdGhpcy5fbWlu
aW11bVJlY29yZFRpbWUgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5zdGFydFRpbWVJblNl
Y29uZHMocmVjb3JkKTsKQEAgLTI4Nyw3ICsyODcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBmb3JtYXR0ZWRSZWNv
cmRzID0gW107CiAgICAgICAgIHZhciByZWNvcmRzQ291bnQgPSByZWNvcmRzLmxlbmd0aDsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmRzQ291bnQ7ICsraSkKLSAgICAgICAgICAg
IGZvcm1hdHRlZFJlY29yZHMucHVzaCh0aGlzLl9pbm5lckFkZFJlY29yZChyZWNvcmRzW2ldLCBw
YXJlbnRSZWNvcmQpKTsKKyAgICAgICAgICAgIGZvcm1hdHRlZFJlY29yZHMucHVzaCh0aGlzLl9p
bm5lckFkZFJlY29yZChyZWNvcmRzW2ldLCB0aGlzLl9yb290UmVjb3JkKSk7CiAgICAgICAgIHJl
dHVybiBmb3JtYXR0ZWRSZWNvcmRzOwogICAgIH0sCiAKQEAgLTI5NSwxNCArMjk1LDE0IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICB7
CiAgICAgICAgIGNvbnN0IHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZTsKICAgICAgICAgdmFyIGlzSGlkZGVuUmVjb3JkID0gcmVjb3JkLnR5cGUgaW4g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2hpZGRlblJlY29yZHM7Ci0g
ICAgICAgIHZhciBjb25uZWN0ZWRUb09sZFJlY29yZCA9IGZhbHNlOwotICAgICAgICBpZiAocmVj
b3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLlRpbWUpCi0gICAgICAgICAgICBwYXJlbnRSZWNvcmQg
PSB0aGlzLl9yb290UmVjb3JkOwotICAgICAgICBlbHNlIGlmICghaXNIaWRkZW5SZWNvcmQpIHsK
KyAgICAgICAgdmFyIGlzR2x1ZWQgPSBmYWxzZTsKKyAgICAgICAgdmFyIG9yaWdpbjsKKyAgICAg
ICAgaWYgKCFpc0hpZGRlblJlY29yZCkgewogICAgICAgICAgICAgdmFyIG5ld1BhcmVudFJlY29y
ZCA9IHRoaXMuX2ZpbmRQYXJlbnRSZWNvcmQocmVjb3JkKTsKICAgICAgICAgICAgIGlmIChuZXdQ
YXJlbnRSZWNvcmQpIHsKKyAgICAgICAgICAgICAgICBvcmlnaW4gPSBwYXJlbnRSZWNvcmQ7CiAg
ICAgICAgICAgICAgICAgcGFyZW50UmVjb3JkID0gbmV3UGFyZW50UmVjb3JkOwotICAgICAgICAg
ICAgICAgIGNvbm5lY3RlZFRvT2xkUmVjb3JkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpc0ds
dWVkID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0zMjYsNyArMzI2LDcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgdmFyIGZvcm1hdHRlZFJlY29yZCA9
IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQodGhpcywg
cmVjb3JkLCBwYXJlbnRSZWNvcmQsIHNjcmlwdERldGFpbHMsIGlzSGlkZGVuUmVjb3JkKTsKKyAg
ICAgICAgdmFyIGZvcm1hdHRlZFJlY29yZCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5SZWNvcmQodGhpcywgcmVjb3JkLCBwYXJlbnRSZWNvcmQsIG9yaWdpbiwg
c2NyaXB0RGV0YWlscywgaXNIaWRkZW5SZWNvcmQsIGlzR2x1ZWQpOwogCiAgICAgICAgIGlmIChp
c0hpZGRlblJlY29yZCkKICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRSZWNvcmQ7CkBAIC0z
MzksOSArMzM5LDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJv
dG90eXBlID0gewogCiAgICAgICAgIGZvcm1hdHRlZFJlY29yZC5jYWxjdWxhdGVBZ2dyZWdhdGVk
U3RhdHMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuY2F0ZWdvcmllcygp
KTsKIAotICAgICAgICBpZiAoY29ubmVjdGVkVG9PbGRSZWNvcmQpIHsKKyAgICAgICAgaWYgKGlz
R2x1ZWQpIHsKICAgICAgICAgICAgIHJlY29yZCA9IGZvcm1hdHRlZFJlY29yZDsKLSAgICAgICAg
ICAgIGRvIHsKKyAgICAgICAgICAgIHdoaWxlIChyZWNvcmQucGFyZW50ICE9PSB0aGlzLl9yb290
UmVjb3JkKSB7CiAgICAgICAgICAgICAgICAgdmFyIHBhcmVudCA9IHJlY29yZC5wYXJlbnQ7CiAg
ICAgICAgICAgICAgICAgcGFyZW50Ll9jcHVUaW1lICs9IGZvcm1hdHRlZFJlY29yZC5fY3B1VGlt
ZTsKICAgICAgICAgICAgICAgICBpZiAocGFyZW50Lmxhc3RDaGlsZEVuZFRpbWUgPCByZWNvcmQu
bGFzdENoaWxkRW5kVGltZSkKQEAgLTM0OSw3ICszNDksNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgZm9yICh2
YXIgY2F0ZWdvcnkgaW4gZm9ybWF0dGVkUmVjb3JkLmFnZ3JlZ2F0ZWRTdGF0cykKICAgICAgICAg
ICAgICAgICAgICAgcGFyZW50LmFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV0gKz0gZm9ybWF0dGVk
UmVjb3JkLmFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV07CiAgICAgICAgICAgICAgICAgcmVjb3Jk
ID0gcGFyZW50OwotICAgICAgICAgICAgfSB3aGlsZSAocmVjb3JkLnBhcmVudCk7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAocGFyZW50UmVjb3JkICE9
PSB0aGlzLl9yb290UmVjb3JkKQogICAgICAgICAgICAgICAgIHBhcmVudFJlY29yZC5zZWxmVGlt
ZSAtPSBmb3JtYXR0ZWRSZWNvcmQuZW5kVGltZSAtIGZvcm1hdHRlZFJlY29yZC5zdGFydFRpbWU7
CkBAIC0zNzgsNiArMzc4LDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9k
ZWwucHJvdG90eXBlID0gewogICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkZpcmVBbmltYXRpb25G
cmFtZToKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVSZWNv
cmRzW3JlY29yZC5kYXRhWyJpZCJdXTsKIAorICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWU6
CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFJlY29yZDsKKwogICAgICAgICBjYXNlIHJl
Y29yZFR5cGVzLlRpbWVFbmQ6CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdGltZVJlY29yZHNb
cmVjb3JkLmRhdGFbIm1lc3NhZ2UiXV07CiAgICAgICAgIH0KQEAgLTQ0OSwxMCArNDUyLDEyIEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWx9IHByZXNlbnRh
dGlvbk1vZGVsCiAgKiBAcGFyYW0ge09iamVjdH0gcmVjb3JkCiAgKiBAcGFyYW0ge1dlYkluc3Bl
Y3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gcGFyZW50UmVjb3JkCisgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gb3Jp
Z2luCiAgKiBAcGFyYW0ge09iamVjdHx1bmRlZmluZWR9IHNjcmlwdERldGFpbHMKICAqIEBwYXJh
bSB7Ym9vbGVhbn0gaGlkZGVuCisgKiBAcGFyYW0ge2Jvb2xlYW59IGdsdWVkCiAgKi8KLVdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNl
bnRhdGlvbk1vZGVsLCByZWNvcmQsIHBhcmVudFJlY29yZCwgc2NyaXB0RGV0YWlscywgaGlkZGVu
KQorV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkID0gZnVuY3Rp
b24ocHJlc2VudGF0aW9uTW9kZWwsIHJlY29yZCwgcGFyZW50UmVjb3JkLCBvcmlnaW4sIHNjcmlw
dERldGFpbHMsIGhpZGRlbiwgZ2x1ZWQpCiB7CiAgICAgdGhpcy5fbGlua2lmaWVyID0gcHJlc2Vu
dGF0aW9uTW9kZWwuX2xpbmtpZmllcjsKICAgICB0aGlzLl9hZ2dyZWdhdGVkU3RhdHMgPSBbXTsK
QEAgLTQ2Miw2ICs0NjcsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25Nb2RlbCwgcmVjbwogICAgICAgICB0aGlz
LnBhcmVudCA9IHBhcmVudFJlY29yZDsKICAgICAgICAgcGFyZW50UmVjb3JkLmNoaWxkcmVuLnB1
c2godGhpcyk7CiAgICAgfQorICAgIHRoaXMuX2lzR2x1ZWQgPSBnbHVlZDsKKyAgICBpZiAob3Jp
Z2luKQorICAgICAgICB0aGlzLl9vcmlnaW4gPSBvcmlnaW47CiAKICAgICB0aGlzLl9zZWxmVGlt
ZSA9IHRoaXMuZW5kVGltZSAtIHRoaXMuc3RhcnRUaW1lOwogICAgIHRoaXMuX2xhc3RDaGlsZEVu
ZFRpbWUgPSB0aGlzLmVuZFRpbWU7CkBAIC01MzUsOCArNTQzLDEyIEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1v
ZGVsLCByZWNvCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByZWNvcmRUeXBlcy5UaW1lRW5k
OgotICAgICAgICB2YXIgdGltZVJlY29yZCA9IHByZXNlbnRhdGlvbk1vZGVsLl90aW1lUmVjb3Jk
c1tyZWNvcmQuZGF0YVsibWVzc2FnZSJdXTsKKyAgICAgICAgdmFyIG1lc3NhZ2UgPSByZWNvcmQu
ZGF0YVsibWVzc2FnZSJdOworICAgICAgICB2YXIgdGltZVJlY29yZCA9IHByZXNlbnRhdGlvbk1v
ZGVsLl90aW1lUmVjb3Jkc1ttZXNzYWdlXTsKKyAgICAgICAgZGVsZXRlIHByZXNlbnRhdGlvbk1v
ZGVsLl90aW1lUmVjb3Jkc1ttZXNzYWdlXTsKICAgICAgICAgaWYgKHRpbWVSZWNvcmQpIHsKKyAg
ICAgICAgICAgIHRoaXMudGltZVJlY29yZCA9IHRpbWVSZWNvcmQ7CisgICAgICAgICAgICB0aW1l
UmVjb3JkLnRpbWVFbmRSZWNvcmQgPSB0aGlzOwogICAgICAgICAgICAgdmFyIGludGVydmFsRHVy
YXRpb24gPSB0aGlzLnN0YXJ0VGltZSAtIHRpbWVSZWNvcmQuc3RhcnRUaW1lOwogICAgICAgICAg
ICAgdGhpcy5pbnRlcnZhbER1cmF0aW9uID0gaW50ZXJ2YWxEdXJhdGlvbjsKICAgICAgICAgICAg
IHRpbWVSZWNvcmQuaW50ZXJ2YWxEdXJhdGlvbiA9IGludGVydmFsRHVyYXRpb247CkBAIC02MDEs
NiArNjEzLDMzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29y
ZC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAqIEByZXR1cm4ge1dlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0KKyAgICAgKi8KKyAgICBn
ZXQgdG9wTGV2ZWxSZWNvcmQoKQorICAgIHsKKyAgICAgICAgdmFyIHJlY29yZCA9IHRoaXM7Cisg
ICAgICAgIHZhciBwYXJlbnQgPSByZWNvcmQucGFyZW50OworICAgICAgICB3aGlsZSAocGFyZW50
LnBhcmVudCkgeworICAgICAgICAgICAgcmVjb3JkID0gcGFyZW50OworICAgICAgICAgICAgcGFy
ZW50ID0gcGFyZW50LnBhcmVudDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVjb3JkOwor
ICAgIH0sCisKKyAgICBnZXQgb3JpZ2luKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9v
cmlnaW4gfHwgdGhpcy5wYXJlbnQ7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4g
e2Jvb2xlYW59CisgICAgICovCisgICAgZ2V0IGlzR2x1ZWQoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2lzR2x1ZWQ7CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge0Fy
cmF5LjxXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQ+fQogICAg
ICAqLwogICAgIGdldCBjaGlsZHJlbigpCkBAIC03MzQsMTMgKzc3MywxMyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9zdGFydFRpbWVPZmZzZXQpKTsKICAg
ICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkR1cmF0aW9uIiksIHRleHQpOwogCi0gICAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGgp
IHsKKyAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2Rl
bC5SZWNvcmRUeXBlOworICAgICAgICBpZiAodGhpcy5fY2hpbGRyZW4ubGVuZ3RoICYmIHRoaXMu
dHlwZSAhPT0gcmVjb3JkVHlwZXMuVGltZSkgewogICAgICAgICAgICAgY29udGVudEhlbHBlci5f
YXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGYgVGltZSIpLCBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHRoaXMuX3NlbGZUaW1lLCB0cnVlKSk7CiAgICAgICAgICAgICBjb250
ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ1BVIFRpbWUi
KSwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9jcHVUaW1lLCB0cnVlKSk7CiAgICAgICAg
ICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiQWdncmVnYXRlZCBUaW1lIiksCiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuX2dlbmVyYXRlQWdncmVnYXRlZEluZm8odGhpcy5fYWdncmVn
YXRlZFN0YXRzKSk7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogCiAgICAgICAgIC8vIFRoZSBtZXNz
YWdlcyBtYXkgdmFyeSBwZXIgcmVjb3JkIHR5cGU7CiAgICAgICAgIHZhciBjYWxsU2l0ZVN0YWNr
VHJhY2VMYWJlbDsKQEAgLTgwMyw4ICs4NDIsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZToKICAgICAgICAgICAgIGNhc2Ug
cmVjb3JkVHlwZXMuVGltZUVuZDoKKyAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBl
bmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTWVzc2FnZSIpLCB0aGlzLnRpdGxlKTsK
ICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiA9PT0gIm51
bWJlciIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3co
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnRlcnZhbCBEdXJhdGlvbiIpLCBOdW1iZXIuc2Vjb25k
c1RvU3RyaW5nKHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiwgdHJ1ZSkpOworICAgICAgICAgICAgICAg
IHZhciBoZWFkID0gKHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZSkgPyB0aGlzIDogdGhp
cy50aW1lUmVjb3JkOworICAgICAgICAgICAgICAgIHZhciB0YWlsID0gKHRoaXMudHlwZSA9PT0g
cmVjb3JkVHlwZXMuVGltZUVuZCkgPyB0aGlzIDogdGhpcy50aW1lRW5kUmVjb3JkOworICAgICAg
ICAgICAgICAgIGlmIChoZWFkICYmIHRhaWwpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0
YXRzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2NhbGN1bGF0ZUFn
Z3JlZ2F0ZWRTdGF0c0JldHdlZW5SZWNvcmRzKGhlYWQsIHRhaWwpOworICAgICAgICAgICAgICAg
ICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiQWdncmVnYXRlZCBUaW1lIiksCisgICAgICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fZ2VuZXJhdGVBZ2dyZWdhdGVkSW5mbyhzdGF0
cykpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGV0YWlscygpKQpAQCAtODg2
LDYgKzkzMyw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29y
ZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2U6CiAgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VGaW5pc2g6CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCh0aGlz
LnVybCk7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUuVGltZToKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZS5UaW1lRW5kOgogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVTdGFtcDoKICAgICAgICAgICAgICAgICByZXR1cm4gdGhp
cy5kYXRhWyJtZXNzYWdlIl07CiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtOTYxLDYgKzEwMTAs
NjcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3Rv
dHlwZSA9IHsKIH0KIAogLyoqCisgKiBAcGFyYW0geyFXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5SZWNvcmR9IGhlYWQKKyAqIEBwYXJhbSB7IVdlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gdGFpbAorICogQHJldHVybiB7T2JqZWN0fQor
ICovCitXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fY2FsY3VsYXRlQWdn
cmVnYXRlZFN0YXRzQmV0d2VlblJlY29yZHMgPSBmdW5jdGlvbihoZWFkLCB0YWlsKQoreworICAg
IHZhciBjYXRlZ29yaWVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwu
Y2F0ZWdvcmllcygpOworCisgICAgZnVuY3Rpb24gcGFydGlhbFN0YXRzKHJlY29yZCkKKyAgICB7
CisgICAgICAgIHZhciBzdGF0cyA9IHt9OworICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiBj
YXRlZ29yaWVzKQorICAgICAgICAgICAgc3RhdHNbY2F0ZWdvcnldID0gMDsKKworICAgICAgICB2
YXIgYm91bmRyeVRpbWUgPSByZWNvcmQuc3RhcnRUaW1lOworICAgICAgICB2YXIgcHJvY2Vzc2Vk
VGltZSA9IDA7CisgICAgICAgIHJlY29yZCA9IHJlY29yZC5vcmlnaW47CisgICAgICAgIHdoaWxl
IChyZWNvcmQudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5S
b290KSB7CisgICAgICAgICAgICB2YXIgZW5kVGltZSA9IHJlY29yZC5lbmRUaW1lID4gYm91bmRy
eVRpbWUgPyBib3VuZHJ5VGltZSA6IHJlY29yZC5lbmRUaW1lOworICAgICAgICAgICAgdmFyIHNl
bGZUaW1lID0gZW5kVGltZSAtIHJlY29yZC5zdGFydFRpbWUgLSBwcm9jZXNzZWRUaW1lOworCisg
ICAgICAgICAgICBmb3IgKHZhciBpbmRleCA9IHJlY29yZC5fY2hpbGRyZW4ubGVuZ3RoOyBpbmRl
eDsgLS1pbmRleCkgeworICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHJlY29yZC5fY2hpbGRy
ZW5baW5kZXggLSAxXTsKKyAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZW5kVGltZSA+PSBib3Vu
ZHJ5VGltZSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAg
aWYgKCFjaGlsZC5pc0dsdWVkKQorICAgICAgICAgICAgICAgICAgICBzZWxmVGltZSAtPSBjaGls
ZC5lbmRUaW1lIC0gY2hpbGQuc3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGZvciAodmFyIGNh
dGVnb3J5IGluIGNhdGVnb3JpZXMpCisgICAgICAgICAgICAgICAgICAgIHN0YXRzW2NhdGVnb3J5
XSArPSBjaGlsZC5fYWdncmVnYXRlZFN0YXRzW2NhdGVnb3J5XTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHN0YXRzW3JlY29yZC5jYXRlZ29yeS5uYW1lXSArPSBzZWxmVGltZTsKKworICAg
ICAgICAgICAgcHJvY2Vzc2VkVGltZSA9IGVuZFRpbWUgLSByZWNvcmQuc3RhcnRUaW1lOworICAg
ICAgICAgICAgcmVjb3JkID0gcmVjb3JkLnBhcmVudDsKKyAgICAgICAgfQorICAgICAgICByZXR1
cm4gc3RhdHM7CisgICAgfQorCisgICAgdmFyIGhlYWRTdGF0cyA9IHBhcnRpYWxTdGF0cyhoZWFk
KTsKKyAgICB2YXIgdGFpbFN0YXRzID0gcGFydGlhbFN0YXRzKHRhaWwpOworICAgIHZhciBzdGF0
cyA9IHt9OworICAgIGZvciAodmFyIGNhdGVnb3J5IGluIGNhdGVnb3JpZXMpCisgICAgICAgIHN0
YXRzW2NhdGVnb3J5XSA9IHRhaWxTdGF0c1tjYXRlZ29yeV0gLSBoZWFkU3RhdHNbY2F0ZWdvcnld
OworCisgICAgdmFyIGhlYWRUb3AgPSBoZWFkLm9yaWdpbi50b3BMZXZlbFJlY29yZDsKKyAgICB2
YXIgdGFpbFRvcCA9IHRhaWwub3JpZ2luLnRvcExldmVsUmVjb3JkOworICAgIGlmIChoZWFkVG9w
ICE9PSB0YWlsVG9wKSB7CisgICAgICAgIHZhciByb290UmVjb3JkID0gaGVhZFRvcC5wYXJlbnQ7
CisgICAgICAgIGZvciAodmFyIGluZGV4ID0gcm9vdFJlY29yZC5jaGlsZHJlbi5sZW5ndGg7IGlu
ZGV4OyAtLWluZGV4KSB7CisgICAgICAgICAgICB2YXIgY2hpbGQgPSByb290UmVjb3JkLmNoaWxk
cmVuW2luZGV4IC0gMV07CisgICAgICAgICAgICBpZiAoY2hpbGQuc3RhcnRUaW1lID49IGhlYWRU
b3Auc3RhcnRUaW1lICYmIGNoaWxkLmVuZFRpbWUgPCB0YWlsVG9wLnN0YXJ0VGltZSAmJiBjaGls
ZC5hZ2dyZWdhdGVkU3RhdHMpIHsKKyAgICAgICAgICAgICAgICB2YXIgYWdncmVnYXRlZFN0YXRz
ID0gY2hpbGQuYWdncmVnYXRlZFN0YXRzOworICAgICAgICAgICAgICAgIGZvciAodmFyIGNhdGVn
b3J5IGluIGNhdGVnb3JpZXMpCisgICAgICAgICAgICAgICAgICAgIHN0YXRzW2NhdGVnb3J5XSAr
PSBhZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBzdGF0czsKK30KKworLyoqCiAgKiBAcGFyYW0ge09iamVjdH0gYWdn
cmVnYXRlZFN0YXRzCiAgKi8KIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
Ll9nZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvID0gZnVuY3Rpb24oYWdncmVnYXRlZFN0YXRzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169844</attachid>
            <date>2012-10-22 01:02:11 -0700</date>
            <delta_ts>2012-10-22 03:09:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99830-20121022120050.patch</filename>
            <type>text/plain</type>
            <size>16295</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhmZmY2NzhkNjcyZGQ2
ZGViOGI0NDkyNWE3YzhmZmNlYzhlMDAwMi4uNWQ0ZDEwZGQ0MTcwMGRmZTU1Zjg4YzQ4ZDg5Mzc1
NjRmYmI3ZGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTE5ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTaG93IGFnZ3JlZ2F0ZWQgdGltZSBiZXR3ZWVuIGNvcnJlc3BvbmRpbmcgdGltZS90
aW1lRW5kIHJlY29yZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGNvbnNvbGUudGltZSAvIGNvbnNvbGUudGltZUVuZCBhcmUgdXNlZCB0byBtZWFzdXJl
IGhvdyBsb25nIHNvbWUKKyAgICAgICAgcHJvY2VzcyB0YWtlcy4gVGhpcyBwYXRjaCBtYWtlcyB0
aGlzIGZlYXR1cmUgbW9yZSB1c2VmdWwgLSBub3cKKyAgICAgICAgYWdncmVnYXRlZCBzdGF0aXN0
aWNzIGlzIHNob3duIGZvciBtZWFzdXJlZCBpbnRlcnZhbC4KKworICAgICAgICBXaXRoIHRoaXMg
cGF0Y2ggInRpbWUiIHJlY29yZCBpcyBwdWxsZWQgdG8gdGhlIHRvcCBsZXZlbCBvbmx5IGlmIGds
dWluZworICAgICAgICBpcyBvbi4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qczogQWRkZWQgIk1lc3NhZ2UiIHN0cmluZy4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IFJlbW92ZWQgInBhcmVudFJlY29yZCIgcGFyYW0u
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVj
b3JkKToKKyAgICAgICAgQWRkZWQgIm9yaWdpbiIgZmllbGQuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZVBv
cHVwQ29udGVudFdpdGhJbWFnZVByZXZpZXcpOgorICAgICAgICBBZGRlZCBzaG93aW5nIG1lc3Nh
Z2UgYW5kIGFnZ3JlZ2F0ZWQgc3RhdGlzdGljcyBmb3IgInRpbWUiIGFuZCAidGltZUVuZCIKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxjdWxhdGVB
Z2dyZWdhdGVkU3RhdHNCZXR3ZWVuUmVjb3Jkcyk6CisgICAgICAgIFRoaXMgbWV0aG9kIGNhbGN1
bGF0ZXMgYWdncmVnZWdhdGVkIHN0YXRpc3RpY3MgaW4gdGltZSBpbnRlcnZhbCBiZXR3ZWVuCisg
ICAgICAgIHRoZSB0d28gZ2l2ZXIgZm9ybWF0dGVkIHJlY29yZHMuCisKIDIwMTItMTAtMjEgIFNo
aW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFNoYWRvdyBET006IE5vZGUgcmVtb3ZhbCBkb2Vzbid0IHJlZmxlY3QuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9T
b3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggYTk2
MmVjNTUzZjEwZGIzMWZmNzYxOWRmNGEwOTMwMTA2ZDJmZDVkMy4uMjFkMTI1MDFlNzkzN2U2ZDQ0
OTdhNzM5YmJhNjhkYzlkNjAyZTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRW5nbGlz
aC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gu
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtNzAyLDYgKzcwMiw3IEBAIGxvY2FsaXplZFN0
cmluZ3NbIk5vdGUiXSA9ICJOb3RlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkZvcmNlZCBzeW5jaHJv
bm91cyBsYXlvdXQgaXMgYSBwb3NzaWJsZSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrLiJdID0gIkZv
cmNlZCBzeW5jaHJvbm91cyBsYXlvdXQgaXMgYSBwb3NzaWJsZSBwZXJmb3JtYW5jZSBib3R0bGVu
ZWNrLiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTdHlsZXMgaW52YWxpZGF0ZWQiXSA9ICJTdHlsZXMg
aW52YWxpZGF0ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siU3R5bGVzIHJlY2FsY3VsYXRpb24gZm9y
Y2VkIl0gPSAiU3R5bGVzIHJlY2FsY3VsYXRpb24gZm9yY2VkIjsKK2xvY2FsaXplZFN0cmluZ3Nb
Ik1lc3NhZ2UiXSA9ICJNZXNzYWdlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkxheW91dCBpbnZhbGlk
YXRlZCJdID0gIkxheW91dCBpbnZhbGlkYXRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJMYXlvdXQg
Zm9yY2VkIl0gPSAiTGF5b3V0IGZvcmNlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXVzZWQgb24g
YXNzZXJ0aW9uLiJdID0gIlBhdXNlZCBvbiBhc3NlcnRpb24uIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCA1MGY0YjZh
ZGE0ZDhlNTcwOTc2MWNjNTYwNzMxYmU4ZTNhNTRkMmExLi5kMDFmYTFkY2U2OGYzNzFhYmM5YjEy
MWNlNTlhNDdhYjA1ODExZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC01NTMsMTcgKzU1MywxNyBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2F1dG9tYXRp
Y2FsbHlTaXplV2luZG93ID0gZmFsc2U7CiAgICAgICAgIHZhciByZWNvcmRzID0gdGhpcy5fbW9k
ZWwucmVjb3JkczsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmRzLmxlbmd0aDsg
KytpKQotICAgICAgICAgICAgdGhpcy5faW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZHNb
aV0sIHRoaXMuX3Jvb3RSZWNvcmQoKSk7CisgICAgICAgICAgICB0aGlzLl9pbm5lckFkZFJlY29y
ZFRvVGltZWxpbmUocmVjb3Jkc1tpXSk7CiAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVBbmRTY2hl
ZHVsZVJlZnJlc2goZmFsc2UpOwogICAgIH0sCiAKICAgICBfb25UaW1lbGluZUV2ZW50UmVjb3Jk
ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2lubmVyQWRkUmVj
b3JkVG9UaW1lbGluZShldmVudC5kYXRhLCB0aGlzLl9yb290UmVjb3JkKCkpKQorICAgICAgICBp
ZiAodGhpcy5faW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5lKGV2ZW50LmRhdGEpKQogICAgICAgICAg
ICAgdGhpcy5faW52YWxpZGF0ZUFuZFNjaGVkdWxlUmVmcmVzaChmYWxzZSk7CiAgICAgfSwKIAot
ICAgIF9pbm5lckFkZFJlY29yZFRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCwgcGFyZW50UmVj
b3JkKQorICAgIF9pbm5lckFkZFJlY29yZFRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCkKICAg
ICB7CiAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwuUmVjb3JkVHlwZS5Qcm9ncmFtKSB7CiAgICAgICAgICAgICB0aGlzLl9tYWluVGhyZWFkVGFz
a3MucHVzaCh7CkBAIC01NzIsNyArNTcyLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIAotICAgICAgICB2YXIg
cmVjb3JkcyA9IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLmFkZFJlY29yZChyZWNvcmQsIHBhcmVu
dFJlY29yZCk7CisgICAgICAgIHZhciByZWNvcmRzID0gdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwu
YWRkUmVjb3JkKHJlY29yZCk7CiAgICAgICAgIHRoaXMuX2FsbFJlY29yZHNDb3VudCArPSByZWNv
cmRzLmxlbmd0aDsKICAgICAgICAgdmFyIHRpbWVTdGFtcFJlY29yZHMgPSB0aGlzLl90aW1lU3Rh
bXBSZWNvcmRzOwogICAgICAgICB2YXIgaGFzVmlzaWJsZVJlY29yZHMgPSBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCBiYWExYTFjOGRjNDk2YWJkMzE3OTEzYWM5MDNm
M2RmZjI3ZDc0NTY5Li5hZjJkNzgwNDBlYWJmY2RiMWRhYzdlOGRiNTcxOWQwNDI2MDY3NmIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC0yNTYsNyArMjU2LDcgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgIHJlc2V0
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9saW5raWZpZXIucmVzZXQoKTsKLSAg
ICAgICAgdGhpcy5fcm9vdFJlY29yZCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5SZWNvcmQodGhpcywgeyB0eXBlOiBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2Rl
bC5SZWNvcmRUeXBlLlJvb3QgfSwgbnVsbCwgbnVsbCwgZmFsc2UpOworICAgICAgICB0aGlzLl9y
b290UmVjb3JkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJl
Y29yZCh0aGlzLCB7IHR5cGU6IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUu
Um9vdCB9LCBudWxsLCBudWxsLCBudWxsLCBmYWxzZSk7CiAgICAgICAgIHRoaXMuX3NlbmRSZXF1
ZXN0UmVjb3JkcyA9IHt9OwogICAgICAgICB0aGlzLl9zY2hlZHVsZWRSZXNvdXJjZVJlcXVlc3Rz
ID0ge307CiAgICAgICAgIHRoaXMuX3RpbWVyUmVjb3JkcyA9IHt9OwpAQCAtMjczLDcgKzI3Myw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5fZnJhbWVzLnB1c2goZnJhbWUpOwogICAgIH0sCiAKLSAgICBhZGRSZWNv
cmQ6IGZ1bmN0aW9uKHJlY29yZCwgcGFyZW50UmVjb3JkKQorICAgIGFkZFJlY29yZDogZnVuY3Rp
b24ocmVjb3JkKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX21pbmltdW1SZWNvcmRUaW1lID09
PSAtMSB8fCByZWNvcmQuc3RhcnRUaW1lIDwgdGhpcy5fbWluaW11bVJlY29yZFRpbWUpCiAgICAg
ICAgICAgICB0aGlzLl9taW5pbXVtUmVjb3JkVGltZSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLnN0YXJ0VGltZUluU2Vjb25kcyhyZWNvcmQpOwpAQCAtMjg3LDcgKzI4Nyw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
dmFyIGZvcm1hdHRlZFJlY29yZHMgPSBbXTsKICAgICAgICAgdmFyIHJlY29yZHNDb3VudCA9IHJl
Y29yZHMubGVuZ3RoOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHNDb3VudDsg
KytpKQotICAgICAgICAgICAgZm9ybWF0dGVkUmVjb3Jkcy5wdXNoKHRoaXMuX2lubmVyQWRkUmVj
b3JkKHJlY29yZHNbaV0sIHBhcmVudFJlY29yZCkpOworICAgICAgICAgICAgZm9ybWF0dGVkUmVj
b3Jkcy5wdXNoKHRoaXMuX2lubmVyQWRkUmVjb3JkKHJlY29yZHNbaV0sIHRoaXMuX3Jvb3RSZWNv
cmQpKTsKICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFJlY29yZHM7CiAgICAgfSwKIApAQCAtMjk1
LDE0ICsyOTUsMTIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJv
dG90eXBlID0gewogICAgIHsKICAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogICAgICAgICB2YXIgaXNIaWRkZW5SZWNvcmQg
PSByZWNvcmQudHlwZSBpbiBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5f
aGlkZGVuUmVjb3JkczsKLSAgICAgICAgdmFyIGNvbm5lY3RlZFRvT2xkUmVjb3JkID0gZmFsc2U7
Ci0gICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZSkKLSAgICAgICAg
ICAgIHBhcmVudFJlY29yZCA9IHRoaXMuX3Jvb3RSZWNvcmQ7Ci0gICAgICAgIGVsc2UgaWYgKCFp
c0hpZGRlblJlY29yZCkgeworICAgICAgICB2YXIgb3JpZ2luOworICAgICAgICBpZiAoIWlzSGlk
ZGVuUmVjb3JkKSB7CiAgICAgICAgICAgICB2YXIgbmV3UGFyZW50UmVjb3JkID0gdGhpcy5fZmlu
ZFBhcmVudFJlY29yZChyZWNvcmQpOwogICAgICAgICAgICAgaWYgKG5ld1BhcmVudFJlY29yZCkg
eworICAgICAgICAgICAgICAgIG9yaWdpbiA9IHBhcmVudFJlY29yZDsKICAgICAgICAgICAgICAg
ICBwYXJlbnRSZWNvcmQgPSBuZXdQYXJlbnRSZWNvcmQ7Ci0gICAgICAgICAgICAgICAgY29ubmVj
dGVkVG9PbGRSZWNvcmQgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTMy
Niw3ICszMjQsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgZm9ybWF0
dGVkUmVjb3JkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJl
Y29yZCh0aGlzLCByZWNvcmQsIHBhcmVudFJlY29yZCwgc2NyaXB0RGV0YWlscywgaXNIaWRkZW5S
ZWNvcmQpOworICAgICAgICB2YXIgZm9ybWF0dGVkUmVjb3JkID0gbmV3IFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCh0aGlzLCByZWNvcmQsIHBhcmVudFJlY29y
ZCwgb3JpZ2luLCBzY3JpcHREZXRhaWxzLCBpc0hpZGRlblJlY29yZCk7CiAKICAgICAgICAgaWYg
KGlzSGlkZGVuUmVjb3JkKQogICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFJlY29yZDsKQEAg
LTMzOSw5ICszMzcsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5w
cm90b3R5cGUgPSB7CiAKICAgICAgICAgZm9ybWF0dGVkUmVjb3JkLmNhbGN1bGF0ZUFnZ3JlZ2F0
ZWRTdGF0cyhXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5jYXRlZ29yaWVz
KCkpOwogCi0gICAgICAgIGlmIChjb25uZWN0ZWRUb09sZFJlY29yZCkgeworICAgICAgICBpZiAo
b3JpZ2luKSB7CiAgICAgICAgICAgICByZWNvcmQgPSBmb3JtYXR0ZWRSZWNvcmQ7Ci0gICAgICAg
ICAgICBkbyB7CisgICAgICAgICAgICB3aGlsZSAocmVjb3JkLnBhcmVudCAhPT0gdGhpcy5fcm9v
dFJlY29yZCkgewogICAgICAgICAgICAgICAgIHZhciBwYXJlbnQgPSByZWNvcmQucGFyZW50Owog
ICAgICAgICAgICAgICAgIHBhcmVudC5fY3B1VGltZSArPSBmb3JtYXR0ZWRSZWNvcmQuX2NwdVRp
bWU7CiAgICAgICAgICAgICAgICAgaWYgKHBhcmVudC5sYXN0Q2hpbGRFbmRUaW1lIDwgcmVjb3Jk
Lmxhc3RDaGlsZEVuZFRpbWUpCkBAIC0zNDksNyArMzQ3LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGZvciAo
dmFyIGNhdGVnb3J5IGluIGZvcm1hdHRlZFJlY29yZC5hZ2dyZWdhdGVkU3RhdHMpCiAgICAgICAg
ICAgICAgICAgICAgIHBhcmVudC5hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldICs9IGZvcm1hdHRl
ZFJlY29yZC5hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldOwogICAgICAgICAgICAgICAgIHJlY29y
ZCA9IHBhcmVudDsKLSAgICAgICAgICAgIH0gd2hpbGUgKHJlY29yZC5wYXJlbnQpOworICAgICAg
ICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHBhcmVudFJlY29yZCAh
PT0gdGhpcy5fcm9vdFJlY29yZCkKICAgICAgICAgICAgICAgICBwYXJlbnRSZWNvcmQuc2VsZlRp
bWUgLT0gZm9ybWF0dGVkUmVjb3JkLmVuZFRpbWUgLSBmb3JtYXR0ZWRSZWNvcmQuc3RhcnRUaW1l
OwpAQCAtMzc4LDYgKzM3Niw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5GaXJlQW5pbWF0aW9u
RnJhbWU6CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdEFuaW1hdGlvbkZyYW1lUmVj
b3Jkc1tyZWNvcmQuZGF0YVsiaWQiXV07CiAKKyAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5UaW1l
OgorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RSZWNvcmQ7CisKICAgICAgICAgY2FzZSBy
ZWNvcmRUeXBlcy5UaW1lRW5kOgogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVSZWNvcmRz
W3JlY29yZC5kYXRhWyJtZXNzYWdlIl1dOwogICAgICAgICB9CkBAIC00NDksMTAgKzQ1MCwxMSBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsfSBwcmVzZW50
YXRpb25Nb2RlbAogICogQHBhcmFtIHtPYmplY3R9IHJlY29yZAogICogQHBhcmFtIHtXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmR9IHBhcmVudFJlY29yZAorICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmR9IG9y
aWdpbgogICogQHBhcmFtIHtPYmplY3R8dW5kZWZpbmVkfSBzY3JpcHREZXRhaWxzCiAgKiBAcGFy
YW0ge2Jvb2xlYW59IGhpZGRlbgogICovCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRp
b25Nb2RlbC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25Nb2RlbCwgcmVjb3JkLCBwYXJl
bnRSZWNvcmQsIHNjcmlwdERldGFpbHMsIGhpZGRlbikKK1dlYkluc3BlY3Rvci5UaW1lbGluZVBy
ZXNlbnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNv
cmQsIHBhcmVudFJlY29yZCwgb3JpZ2luLCBzY3JpcHREZXRhaWxzLCBoaWRkZW4pCiB7CiAgICAg
dGhpcy5fbGlua2lmaWVyID0gcHJlc2VudGF0aW9uTW9kZWwuX2xpbmtpZmllcjsKICAgICB0aGlz
Ll9hZ2dyZWdhdGVkU3RhdHMgPSBbXTsKQEAgLTQ2Miw2ICs0NjQsOCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25N
b2RlbCwgcmVjbwogICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudFJlY29yZDsKICAgICAgICAg
cGFyZW50UmVjb3JkLmNoaWxkcmVuLnB1c2godGhpcyk7CiAgICAgfQorICAgIGlmIChvcmlnaW4p
CisgICAgICAgIHRoaXMuX29yaWdpbiA9IG9yaWdpbjsKIAogICAgIHRoaXMuX3NlbGZUaW1lID0g
dGhpcy5lbmRUaW1lIC0gdGhpcy5zdGFydFRpbWU7CiAgICAgdGhpcy5fbGFzdENoaWxkRW5kVGlt
ZSA9IHRoaXMuZW5kVGltZTsKQEAgLTUzNSw4ICs1MzksMTIgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWws
IHJlY28KICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWVFbmQ6Ci0g
ICAgICAgIHZhciB0aW1lUmVjb3JkID0gcHJlc2VudGF0aW9uTW9kZWwuX3RpbWVSZWNvcmRzW3Jl
Y29yZC5kYXRhWyJtZXNzYWdlIl1dOworICAgICAgICB2YXIgbWVzc2FnZSA9IHJlY29yZC5kYXRh
WyJtZXNzYWdlIl07CisgICAgICAgIHZhciB0aW1lUmVjb3JkID0gcHJlc2VudGF0aW9uTW9kZWwu
X3RpbWVSZWNvcmRzW21lc3NhZ2VdOworICAgICAgICBkZWxldGUgcHJlc2VudGF0aW9uTW9kZWwu
X3RpbWVSZWNvcmRzW21lc3NhZ2VdOwogICAgICAgICBpZiAodGltZVJlY29yZCkgeworICAgICAg
ICAgICAgdGhpcy50aW1lUmVjb3JkID0gdGltZVJlY29yZDsKKyAgICAgICAgICAgIHRpbWVSZWNv
cmQudGltZUVuZFJlY29yZCA9IHRoaXM7CiAgICAgICAgICAgICB2YXIgaW50ZXJ2YWxEdXJhdGlv
biA9IHRoaXMuc3RhcnRUaW1lIC0gdGltZVJlY29yZC5zdGFydFRpbWU7CiAgICAgICAgICAgICB0
aGlzLmludGVydmFsRHVyYXRpb24gPSBpbnRlcnZhbER1cmF0aW9uOwogICAgICAgICAgICAgdGlt
ZVJlY29yZC5pbnRlcnZhbER1cmF0aW9uID0gaW50ZXJ2YWxEdXJhdGlvbjsKQEAgLTYwMSw2ICs2
MDksMzMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnBy
b3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHJldHVybiB7V2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkfQorICAgICAqLworICAgIGdldCB0
b3BMZXZlbFJlY29yZCgpCisgICAgeworICAgICAgICB2YXIgcmVjb3JkID0gdGhpczsKKyAgICAg
ICAgdmFyIHBhcmVudCA9IHJlY29yZC5wYXJlbnQ7CisgICAgICAgIHdoaWxlIChwYXJlbnQucGFy
ZW50KSB7CisgICAgICAgICAgICByZWNvcmQgPSBwYXJlbnQ7CisgICAgICAgICAgICBwYXJlbnQg
PSBwYXJlbnQucGFyZW50OworICAgICAgICB9CisgICAgICAgIHJldHVybiByZWNvcmQ7CisgICAg
fSwKKworICAgIGdldCBvcmlnaW4oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX29yaWdp
biB8fCB0aGlzLnBhcmVudDsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHJldHVybiB7Ym9v
bGVhbn0KKyAgICAgKi8KKyAgICBnZXQgaXNHbHVlZCgpCisgICAgeworICAgICAgICByZXR1cm4g
ISF0aGlzLl9vcmlnaW47CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge0FycmF5
LjxXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQ+fQogICAgICAq
LwogICAgIGdldCBjaGlsZHJlbigpCkBAIC03MzQsMTMgKzc2OSwxMyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9zdGFydFRpbWVPZmZzZXQpKTsKICAgICAg
ICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1
cmF0aW9uIiksIHRleHQpOwogCi0gICAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGgpIHsK
KyAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5S
ZWNvcmRUeXBlOworICAgICAgICBpZiAodGhpcy5fY2hpbGRyZW4ubGVuZ3RoICYmIHRoaXMudHlw
ZSAhPT0gcmVjb3JkVHlwZXMuVGltZSkgewogICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBw
ZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGYgVGltZSIpLCBOdW1iZXIuc2Vj
b25kc1RvU3RyaW5nKHRoaXMuX3NlbGZUaW1lLCB0cnVlKSk7CiAgICAgICAgICAgICBjb250ZW50
SGVscGVyLl9hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ1BVIFRpbWUiKSwg
TnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9jcHVUaW1lLCB0cnVlKSk7CiAgICAgICAgICAg
ICBjb250ZW50SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
QWdncmVnYXRlZCBUaW1lIiksCiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwuX2dlbmVyYXRlQWdncmVnYXRlZEluZm8odGhpcy5fYWdncmVnYXRl
ZFN0YXRzKSk7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogCiAgICAgICAgIC8vIFRoZSBtZXNzYWdl
cyBtYXkgdmFyeSBwZXIgcmVjb3JkIHR5cGU7CiAgICAgICAgIHZhciBjYWxsU2l0ZVN0YWNrVHJh
Y2VMYWJlbDsKQEAgLTgwMyw4ICs4MzgsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2Vu
dGF0aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZToKICAgICAgICAgICAgIGNhc2UgcmVj
b3JkVHlwZXMuVGltZUVuZDoKKyAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRU
ZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTWVzc2FnZSIpLCB0aGlzLnRpdGxlKTsKICAg
ICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiA9PT0gIm51bWJl
ciIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJJbnRlcnZhbCBEdXJhdGlvbiIpLCBOdW1iZXIuc2Vjb25kc1Rv
U3RyaW5nKHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiwgdHJ1ZSkpOworICAgICAgICAgICAgICAgIHZh
ciBoZWFkID0gKHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZSkgPyB0aGlzIDogdGhpcy50
aW1lUmVjb3JkOworICAgICAgICAgICAgICAgIHZhciB0YWlsID0gKHRoaXMudHlwZSA9PT0gcmVj
b3JkVHlwZXMuVGltZUVuZCkgPyB0aGlzIDogdGhpcy50aW1lRW5kUmVjb3JkOworICAgICAgICAg
ICAgICAgIGlmIChoZWFkICYmIHRhaWwpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXRz
ID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2NhbGN1bGF0ZUFnZ3Jl
Z2F0ZWRTdGF0c0JldHdlZW5SZWNvcmRzKGhlYWQsIHRhaWwpOworICAgICAgICAgICAgICAgICAg
ICBjb250ZW50SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
QWdncmVnYXRlZCBUaW1lIiksCisgICAgICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fZ2VuZXJhdGVBZ2dyZWdhdGVkSW5mbyhzdGF0cykp
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGV0YWlscygpKQpAQCAtODg2LDYg
KzkyOSw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVs
LlJlY29yZFR5cGUuUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2U6CiAgICAgICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VGaW5pc2g6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCh0aGlzLnVy
bCk7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5
cGUuVGltZToKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVj
b3JkVHlwZS5UaW1lRW5kOgogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVN
b2RlbC5SZWNvcmRUeXBlLlRpbWVTdGFtcDoKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5k
YXRhWyJtZXNzYWdlIl07CiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtOTYxLDYgKzEwMDYsNjcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlw
ZSA9IHsKIH0KIAogLyoqCisgKiBAcGFyYW0geyFXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5SZWNvcmR9IGhlYWQKKyAqIEBwYXJhbSB7IVdlYkluc3BlY3Rvci5UaW1lbGlu
ZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gdGFpbAorICogQHJldHVybiB7T2JqZWN0fQorICov
CitXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fY2FsY3VsYXRlQWdncmVn
YXRlZFN0YXRzQmV0d2VlblJlY29yZHMgPSBmdW5jdGlvbihoZWFkLCB0YWlsKQoreworICAgIHZh
ciBjYXRlZ29yaWVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuY2F0
ZWdvcmllcygpOworCisgICAgZnVuY3Rpb24gcGFydGlhbFN0YXRzKHJlY29yZCkKKyAgICB7Cisg
ICAgICAgIHZhciBzdGF0cyA9IHt9OworICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiBjYXRl
Z29yaWVzKQorICAgICAgICAgICAgc3RhdHNbY2F0ZWdvcnldID0gMDsKKworICAgICAgICB2YXIg
Ym91bmRyeVRpbWUgPSByZWNvcmQuc3RhcnRUaW1lOworICAgICAgICB2YXIgcHJvY2Vzc2VkVGlt
ZSA9IDA7CisgICAgICAgIHJlY29yZCA9IHJlY29yZC5vcmlnaW47CisgICAgICAgIHdoaWxlIChy
ZWNvcmQudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5Sb290
KSB7CisgICAgICAgICAgICB2YXIgZW5kVGltZSA9IHJlY29yZC5lbmRUaW1lID4gYm91bmRyeVRp
bWUgPyBib3VuZHJ5VGltZSA6IHJlY29yZC5lbmRUaW1lOworICAgICAgICAgICAgdmFyIHNlbGZU
aW1lID0gZW5kVGltZSAtIHJlY29yZC5zdGFydFRpbWUgLSBwcm9jZXNzZWRUaW1lOworCisgICAg
ICAgICAgICBmb3IgKHZhciBpbmRleCA9IHJlY29yZC5fY2hpbGRyZW4ubGVuZ3RoOyBpbmRleDsg
LS1pbmRleCkgeworICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHJlY29yZC5fY2hpbGRyZW5b
aW5kZXggLSAxXTsKKyAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZW5kVGltZSA+PSBib3VuZHJ5
VGltZSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgaWYg
KCFjaGlsZC5pc0dsdWVkKQorICAgICAgICAgICAgICAgICAgICBzZWxmVGltZSAtPSBjaGlsZC5l
bmRUaW1lIC0gY2hpbGQuc3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGZvciAodmFyIGNhdGVn
b3J5IGluIGNhdGVnb3JpZXMpCisgICAgICAgICAgICAgICAgICAgIHN0YXRzW2NhdGVnb3J5XSAr
PSBjaGlsZC5fYWdncmVnYXRlZFN0YXRzW2NhdGVnb3J5XTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHN0YXRzW3JlY29yZC5jYXRlZ29yeS5uYW1lXSArPSBzZWxmVGltZTsKKworICAgICAg
ICAgICAgcHJvY2Vzc2VkVGltZSA9IGVuZFRpbWUgLSByZWNvcmQuc3RhcnRUaW1lOworICAgICAg
ICAgICAgcmVjb3JkID0gcmVjb3JkLnBhcmVudDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
c3RhdHM7CisgICAgfQorCisgICAgdmFyIGhlYWRTdGF0cyA9IHBhcnRpYWxTdGF0cyhoZWFkKTsK
KyAgICB2YXIgdGFpbFN0YXRzID0gcGFydGlhbFN0YXRzKHRhaWwpOworICAgIHZhciBzdGF0cyA9
IHt9OworICAgIGZvciAodmFyIGNhdGVnb3J5IGluIGNhdGVnb3JpZXMpCisgICAgICAgIHN0YXRz
W2NhdGVnb3J5XSA9IHRhaWxTdGF0c1tjYXRlZ29yeV0gLSBoZWFkU3RhdHNbY2F0ZWdvcnldOwor
CisgICAgdmFyIGhlYWRUb3AgPSBoZWFkLm9yaWdpbi50b3BMZXZlbFJlY29yZDsKKyAgICB2YXIg
dGFpbFRvcCA9IHRhaWwub3JpZ2luLnRvcExldmVsUmVjb3JkOworICAgIGlmIChoZWFkVG9wICE9
PSB0YWlsVG9wKSB7CisgICAgICAgIHZhciByb290UmVjb3JkID0gaGVhZFRvcC5wYXJlbnQ7Cisg
ICAgICAgIGZvciAodmFyIGluZGV4ID0gcm9vdFJlY29yZC5jaGlsZHJlbi5sZW5ndGg7IGluZGV4
OyAtLWluZGV4KSB7CisgICAgICAgICAgICB2YXIgY2hpbGQgPSByb290UmVjb3JkLmNoaWxkcmVu
W2luZGV4IC0gMV07CisgICAgICAgICAgICBpZiAoY2hpbGQuc3RhcnRUaW1lID49IGhlYWRUb3Au
c3RhcnRUaW1lICYmIGNoaWxkLmVuZFRpbWUgPCB0YWlsVG9wLnN0YXJ0VGltZSAmJiBjaGlsZC5h
Z2dyZWdhdGVkU3RhdHMpIHsKKyAgICAgICAgICAgICAgICB2YXIgYWdncmVnYXRlZFN0YXRzID0g
Y2hpbGQuYWdncmVnYXRlZFN0YXRzOworICAgICAgICAgICAgICAgIGZvciAodmFyIGNhdGVnb3J5
IGluIGNhdGVnb3JpZXMpCisgICAgICAgICAgICAgICAgICAgIHN0YXRzW2NhdGVnb3J5XSArPSBh
Z2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBzdGF0czsKK30KKworLyoqCiAgKiBAcGFyYW0ge09iamVjdH0gYWdncmVn
YXRlZFN0YXRzCiAgKi8KIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9n
ZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvID0gZnVuY3Rpb24oYWdncmVnYXRlZFN0YXRzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>169851</attachid>
            <date>2012-10-22 01:41:42 -0700</date>
            <delta_ts>2012-10-22 01:41:42 -0700</delta_ts>
            <desc>Popup with aggregated statistics.</desc>
            <filename>Screenshot-Developer Tools - file:---home-eustas-timeEnd.html.png</filename>
            <type>image/png</type>
            <size>75894</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">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
IKCaf2v+D6xKAat7Ba6AAAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169865</attachid>
            <date>2012-10-22 03:09:23 -0700</date>
            <delta_ts>2012-10-23 07:40:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99830-20121022140801.patch</filename>
            <type>text/plain</type>
            <size>21515</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNjM2I5ODQ2MTRjYjMz
NGE3ZTcyNGY3MjYyNzNjYjBlOTc4OGVkNi4uYmZjZWZlOTFlZDc4OWFhMmRlNDRjM2U4MWM2NGJi
MTRkNjM4N2U1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTE5ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTaG93IGFnZ3JlZ2F0ZWQgdGltZSBiZXR3ZWVuIGNvcnJlc3BvbmRpbmcgdGltZS90
aW1lRW5kIHJlY29yZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGNvbnNvbGUudGltZSAvIGNvbnNvbGUudGltZUVuZCBhcmUgdXNlZCB0byBtZWFzdXJl
IGhvdyBsb25nIHNvbWUKKyAgICAgICAgcHJvY2VzcyB0YWtlcy4gVGhpcyBwYXRjaCBtYWtlcyB0
aGlzIGZlYXR1cmUgbW9yZSB1c2VmdWwgLSBub3cKKyAgICAgICAgYWdncmVnYXRlZCBzdGF0aXN0
aWNzIGlzIHNob3duIGZvciBtZWFzdXJlZCBpbnRlcnZhbC4KKworICAgICAgICBXaXRoIHRoaXMg
cGF0Y2ggInRpbWUiIHJlY29yZCBpcyBwdWxsZWQgdG8gdGhlIHRvcCBsZXZlbCBvbmx5IGlmIGds
dWluZworICAgICAgICBpcyBvbi4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qczogQWRkZWQgIk1lc3NhZ2UiIHN0cmluZy4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IFJlbW92ZWQgInBhcmVudFJlY29yZCIgcGFyYW0u
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVj
b3JkKToKKyAgICAgICAgQWRkZWQgIm9yaWdpbiIgZmllbGQuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZVBv
cHVwQ29udGVudFdpdGhJbWFnZVByZXZpZXcpOgorICAgICAgICBBZGRlZCBzaG93aW5nIG1lc3Nh
Z2UgYW5kIGFnZ3JlZ2F0ZWQgc3RhdGlzdGljcyBmb3IgInRpbWUiIGFuZCAidGltZUVuZCIKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxjdWxhdGVB
Z2dyZWdhdGVkU3RhdHNCZXR3ZWVuUmVjb3Jkcyk6CisgICAgICAgIFRoaXMgbWV0aG9kIGNhbGN1
bGF0ZXMgYWdncmVnZWdhdGVkIHN0YXRpc3RpY3MgaW4gdGltZSBpbnRlcnZhbCBiZXR3ZWVuCisg
ICAgICAgIHRoZSB0d28gZ2l2ZXIgZm9ybWF0dGVkIHJlY29yZHMuCisKIDIwMTItMTAtMjIgIEFs
bGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAg
W1F0XSBIYW5kbGUgR0VUIG9mIGJsb2IgVVJMcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xp
c2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBhOTYyZWM1NTNmMTBkYjMxZmY3NjE5
ZGY0YTA5MzAxMDZkMmZkNWQzLi4yMWQxMjUwMWU3OTM3ZTZkNDQ5N2E3MzliYmE2OGRjOWQ2MDJl
MzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzCkBAIC03MDIsNiArNzAyLDcgQEAgbG9jYWxpemVkU3RyaW5nc1siTm90ZSJdID0gIk5v
dGUiOwogbG9jYWxpemVkU3RyaW5nc1siRm9yY2VkIHN5bmNocm9ub3VzIGxheW91dCBpcyBhIHBv
c3NpYmxlIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2suIl0gPSAiRm9yY2VkIHN5bmNocm9ub3VzIGxh
eW91dCBpcyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2suIjsKIGxvY2FsaXplZFN0
cmluZ3NbIlN0eWxlcyBpbnZhbGlkYXRlZCJdID0gIlN0eWxlcyBpbnZhbGlkYXRlZCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJTdHlsZXMgcmVjYWxjdWxhdGlvbiBmb3JjZWQiXSA9ICJTdHlsZXMgcmVj
YWxjdWxhdGlvbiBmb3JjZWQiOworbG9jYWxpemVkU3RyaW5nc1siTWVzc2FnZSJdID0gIk1lc3Nh
Z2UiOwogbG9jYWxpemVkU3RyaW5nc1siTGF5b3V0IGludmFsaWRhdGVkIl0gPSAiTGF5b3V0IGlu
dmFsaWRhdGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbIkxheW91dCBmb3JjZWQiXSA9ICJMYXlvdXQg
Zm9yY2VkIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhdXNlZCBvbiBhc3NlcnRpb24uIl0gPSAiUGF1
c2VkIG9uIGFzc2VydGlvbi4iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDUwZjRiNmFkYTRkOGU1NzA5NzYxY2M1NjA3
MzFiZThlM2E1NGQyYTEuLmQwMWZhMWRjZTY4ZjM3MWFiYzliMTIxY2U1OWE0N2FiMDU4MTFlZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UGFuZWwuanMKQEAgLTU1MywxNyArNTUzLDE3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fYXV0b21hdGljYWxseVNpemVXaW5kb3cgPSBm
YWxzZTsKICAgICAgICAgdmFyIHJlY29yZHMgPSB0aGlzLl9tb2RlbC5yZWNvcmRzOwogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICB0
aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUocmVjb3Jkc1tpXSwgdGhpcy5fcm9vdFJlY29y
ZCgpKTsKKyAgICAgICAgICAgIHRoaXMuX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZShyZWNvcmRz
W2ldKTsKICAgICAgICAgdGhpcy5faW52YWxpZGF0ZUFuZFNjaGVkdWxlUmVmcmVzaChmYWxzZSk7
CiAgICAgfSwKIAogICAgIF9vblRpbWVsaW5lRXZlbnRSZWNvcmRlZDogZnVuY3Rpb24oZXZlbnQp
CiAgICAgewotICAgICAgICBpZiAodGhpcy5faW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5lKGV2ZW50
LmRhdGEsIHRoaXMuX3Jvb3RSZWNvcmQoKSkpCisgICAgICAgIGlmICh0aGlzLl9pbm5lckFkZFJl
Y29yZFRvVGltZWxpbmUoZXZlbnQuZGF0YSkpCiAgICAgICAgICAgICB0aGlzLl9pbnZhbGlkYXRl
QW5kU2NoZWR1bGVSZWZyZXNoKGZhbHNlKTsKICAgICB9LAogCi0gICAgX2lubmVyQWRkUmVjb3Jk
VG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3JkLCBwYXJlbnRSZWNvcmQpCisgICAgX2lubmVyQWRk
UmVjb3JkVG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3JkKQogICAgIHsKICAgICAgICAgaWYgKHJl
Y29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlByb2dy
YW0pIHsKICAgICAgICAgICAgIHRoaXMuX21haW5UaHJlYWRUYXNrcy5wdXNoKHsKQEAgLTU3Miw3
ICs1NzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAgIHZhciByZWNvcmRzID0gdGhpcy5fcHJl
c2VudGF0aW9uTW9kZWwuYWRkUmVjb3JkKHJlY29yZCwgcGFyZW50UmVjb3JkKTsKKyAgICAgICAg
dmFyIHJlY29yZHMgPSB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5hZGRSZWNvcmQocmVjb3JkKTsK
ICAgICAgICAgdGhpcy5fYWxsUmVjb3Jkc0NvdW50ICs9IHJlY29yZHMubGVuZ3RoOwogICAgICAg
ICB2YXIgdGltZVN0YW1wUmVjb3JkcyA9IHRoaXMuX3RpbWVTdGFtcFJlY29yZHM7CiAgICAgICAg
IHZhciBoYXNWaXNpYmxlUmVjb3JkcyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzCmluZGV4IGJhYTFhMWM4ZGM0OTZhYmQzMTc5MTNhYzkwM2YzZGZmMjdkNzQ1NjkuLjI4NDVh
Y2UzZDg1MDRjNTFkMTQ2YWM1OGYwZWMzYzRmMzkwMGE1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwuanMKQEAgLTI1Niw3ICsyNTYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIHRoaXMuX2xpbmtpZmllci5yZXNldCgpOwotICAgICAgICB0aGlzLl9yb290UmVj
b3JkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCh0
aGlzLCB7IHR5cGU6IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUm9vdCB9
LCBudWxsLCBudWxsLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX3Jvb3RSZWNvcmQgPSBuZXcgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkKHRoaXMsIHsgdHlwZTog
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5Sb290IH0sIG51bGwsIG51bGws
IG51bGwsIGZhbHNlKTsKICAgICAgICAgdGhpcy5fc2VuZFJlcXVlc3RSZWNvcmRzID0ge307CiAg
ICAgICAgIHRoaXMuX3NjaGVkdWxlZFJlc291cmNlUmVxdWVzdHMgPSB7fTsKICAgICAgICAgdGhp
cy5fdGltZXJSZWNvcmRzID0ge307CkBAIC0yNzMsNyArMjczLDcgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9mcmFt
ZXMucHVzaChmcmFtZSk7CiAgICAgfSwKIAotICAgIGFkZFJlY29yZDogZnVuY3Rpb24ocmVjb3Jk
LCBwYXJlbnRSZWNvcmQpCisgICAgYWRkUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpCiAgICAgewog
ICAgICAgICBpZiAodGhpcy5fbWluaW11bVJlY29yZFRpbWUgPT09IC0xIHx8IHJlY29yZC5zdGFy
dFRpbWUgPCB0aGlzLl9taW5pbXVtUmVjb3JkVGltZSkKICAgICAgICAgICAgIHRoaXMuX21pbmlt
dW1SZWNvcmRUaW1lID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuc3RhcnRUaW1lSW5TZWNv
bmRzKHJlY29yZCk7CkBAIC0yODcsNyArMjg3LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB2YXIgZm9ybWF0dGVkUmVjb3Jk
cyA9IFtdOwogICAgICAgICB2YXIgcmVjb3Jkc0NvdW50ID0gcmVjb3Jkcy5sZW5ndGg7CiAgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkc0NvdW50OyArK2kpCi0gICAgICAgICAgICBm
b3JtYXR0ZWRSZWNvcmRzLnB1c2godGhpcy5faW5uZXJBZGRSZWNvcmQocmVjb3Jkc1tpXSwgcGFy
ZW50UmVjb3JkKSk7CisgICAgICAgICAgICBmb3JtYXR0ZWRSZWNvcmRzLnB1c2godGhpcy5faW5u
ZXJBZGRSZWNvcmQocmVjb3Jkc1tpXSwgdGhpcy5fcm9vdFJlY29yZCkpOwogICAgICAgICByZXR1
cm4gZm9ybWF0dGVkUmVjb3JkczsKICAgICB9LAogCkBAIC0yOTUsMTQgKzI5NSwxMiBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJl
Y29yZFR5cGU7CiAgICAgICAgIHZhciBpc0hpZGRlblJlY29yZCA9IHJlY29yZC50eXBlIGluIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9oaWRkZW5SZWNvcmRzOwotICAg
ICAgICB2YXIgY29ubmVjdGVkVG9PbGRSZWNvcmQgPSBmYWxzZTsKLSAgICAgICAgaWYgKHJlY29y
ZC50eXBlID09PSByZWNvcmRUeXBlcy5UaW1lKQotICAgICAgICAgICAgcGFyZW50UmVjb3JkID0g
dGhpcy5fcm9vdFJlY29yZDsKLSAgICAgICAgZWxzZSBpZiAoIWlzSGlkZGVuUmVjb3JkKSB7Cisg
ICAgICAgIHZhciBvcmlnaW47CisgICAgICAgIGlmICghaXNIaWRkZW5SZWNvcmQpIHsKICAgICAg
ICAgICAgIHZhciBuZXdQYXJlbnRSZWNvcmQgPSB0aGlzLl9maW5kUGFyZW50UmVjb3JkKHJlY29y
ZCk7CiAgICAgICAgICAgICBpZiAobmV3UGFyZW50UmVjb3JkKSB7CisgICAgICAgICAgICAgICAg
b3JpZ2luID0gcGFyZW50UmVjb3JkOwogICAgICAgICAgICAgICAgIHBhcmVudFJlY29yZCA9IG5l
d1BhcmVudFJlY29yZDsKLSAgICAgICAgICAgICAgICBjb25uZWN0ZWRUb09sZFJlY29yZCA9IHRy
dWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMzI2LDcgKzMyNCw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHZhciBmb3JtYXR0ZWRSZWNvcmQgPSBuZXcgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkKHRoaXMsIHJlY29yZCwg
cGFyZW50UmVjb3JkLCBzY3JpcHREZXRhaWxzLCBpc0hpZGRlblJlY29yZCk7CisgICAgICAgIHZh
ciBmb3JtYXR0ZWRSZWNvcmQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwuUmVjb3JkKHRoaXMsIHJlY29yZCwgcGFyZW50UmVjb3JkLCBvcmlnaW4sIHNjcmlwdERl
dGFpbHMsIGlzSGlkZGVuUmVjb3JkKTsKIAogICAgICAgICBpZiAoaXNIaWRkZW5SZWNvcmQpCiAg
ICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkUmVjb3JkOwpAQCAtMzM5LDkgKzMzNyw5IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICBmb3JtYXR0ZWRSZWNvcmQuY2FsY3VsYXRlQWdncmVnYXRlZFN0YXRzKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmNhdGVnb3JpZXMoKSk7CiAKLSAgICAgICAgaWYg
KGNvbm5lY3RlZFRvT2xkUmVjb3JkKSB7CisgICAgICAgIGlmIChvcmlnaW4pIHsKICAgICAgICAg
ICAgIHJlY29yZCA9IGZvcm1hdHRlZFJlY29yZDsKLSAgICAgICAgICAgIGRvIHsKKyAgICAgICAg
ICAgIHdoaWxlIChyZWNvcmQucGFyZW50ICE9PSB0aGlzLl9yb290UmVjb3JkKSB7CiAgICAgICAg
ICAgICAgICAgdmFyIHBhcmVudCA9IHJlY29yZC5wYXJlbnQ7CiAgICAgICAgICAgICAgICAgcGFy
ZW50Ll9jcHVUaW1lICs9IGZvcm1hdHRlZFJlY29yZC5fY3B1VGltZTsKICAgICAgICAgICAgICAg
ICBpZiAocGFyZW50Lmxhc3RDaGlsZEVuZFRpbWUgPCByZWNvcmQubGFzdENoaWxkRW5kVGltZSkK
QEAgLTM0OSw3ICszNDcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gZm9y
bWF0dGVkUmVjb3JkLmFnZ3JlZ2F0ZWRTdGF0cykKICAgICAgICAgICAgICAgICAgICAgcGFyZW50
LmFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV0gKz0gZm9ybWF0dGVkUmVjb3JkLmFnZ3JlZ2F0ZWRT
dGF0c1tjYXRlZ29yeV07CiAgICAgICAgICAgICAgICAgcmVjb3JkID0gcGFyZW50OwotICAgICAg
ICAgICAgfSB3aGlsZSAocmVjb3JkLnBhcmVudCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICBpZiAocGFyZW50UmVjb3JkICE9PSB0aGlzLl9yb290UmVjb3Jk
KQogICAgICAgICAgICAgICAgIHBhcmVudFJlY29yZC5zZWxmVGltZSAtPSBmb3JtYXR0ZWRSZWNv
cmQuZW5kVGltZSAtIGZvcm1hdHRlZFJlY29yZC5zdGFydFRpbWU7CkBAIC0zNzgsNiArMzc2LDkg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewog
ICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkZpcmVBbmltYXRpb25GcmFtZToKICAgICAgICAgICAg
IHJldHVybiB0aGlzLl9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVSZWNvcmRzW3JlY29yZC5kYXRhWyJp
ZCJdXTsKIAorICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWU6CisgICAgICAgICAgICByZXR1
cm4gdGhpcy5fcm9vdFJlY29yZDsKKwogICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWVFbmQ6
CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdGltZVJlY29yZHNbcmVjb3JkLmRhdGFbIm1lc3Nh
Z2UiXV07CiAgICAgICAgIH0KQEAgLTQ0OSwxMCArNDUwLDExIEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAqIEBwYXJhbSB7V2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWx9IHByZXNlbnRhdGlvbk1vZGVsCiAgKiBAcGFy
YW0ge09iamVjdH0gcmVjb3JkCiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNl
bnRhdGlvbk1vZGVsLlJlY29yZH0gcGFyZW50UmVjb3JkCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gb3JpZ2luCiAgKiBAcGFyYW0ge09i
amVjdHx1bmRlZmluZWR9IHNjcmlwdERldGFpbHMKICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGlkZGVu
CiAgKi8KLVdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1
bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNvcmQsIHBhcmVudFJlY29yZCwgc2NyaXB0RGV0
YWlscywgaGlkZGVuKQorV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVj
b3JkID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWwsIHJlY29yZCwgcGFyZW50UmVjb3JkLCBv
cmlnaW4sIHNjcmlwdERldGFpbHMsIGhpZGRlbikKIHsKICAgICB0aGlzLl9saW5raWZpZXIgPSBw
cmVzZW50YXRpb25Nb2RlbC5fbGlua2lmaWVyOwogICAgIHRoaXMuX2FnZ3JlZ2F0ZWRTdGF0cyA9
IFtdOwpAQCAtNDYyLDYgKzQ2NCw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlv
bk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNvCiAgICAgICAg
IHRoaXMucGFyZW50ID0gcGFyZW50UmVjb3JkOwogICAgICAgICBwYXJlbnRSZWNvcmQuY2hpbGRy
ZW4ucHVzaCh0aGlzKTsKICAgICB9CisgICAgaWYgKG9yaWdpbikKKyAgICAgICAgdGhpcy5fb3Jp
Z2luID0gb3JpZ2luOwogCiAgICAgdGhpcy5fc2VsZlRpbWUgPSB0aGlzLmVuZFRpbWUgLSB0aGlz
LnN0YXJ0VGltZTsKICAgICB0aGlzLl9sYXN0Q2hpbGRFbmRUaW1lID0gdGhpcy5lbmRUaW1lOwpA
QCAtNTM1LDggKzUzOSwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25Nb2RlbCwgcmVjbwogICAgICAgICBicmVh
azsKIAogICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZUVuZDoKLSAgICAgICAgdmFyIHRpbWVSZWNv
cmQgPSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29yZHNbcmVjb3JkLmRhdGFbIm1lc3NhZ2Ui
XV07CisgICAgICAgIHZhciBtZXNzYWdlID0gcmVjb3JkLmRhdGFbIm1lc3NhZ2UiXTsKKyAgICAg
ICAgdmFyIHRpbWVSZWNvcmQgPSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29yZHNbbWVzc2Fn
ZV07CisgICAgICAgIGRlbGV0ZSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29yZHNbbWVzc2Fn
ZV07CiAgICAgICAgIGlmICh0aW1lUmVjb3JkKSB7CisgICAgICAgICAgICB0aGlzLnRpbWVSZWNv
cmQgPSB0aW1lUmVjb3JkOworICAgICAgICAgICAgdGltZVJlY29yZC50aW1lRW5kUmVjb3JkID0g
dGhpczsKICAgICAgICAgICAgIHZhciBpbnRlcnZhbER1cmF0aW9uID0gdGhpcy5zdGFydFRpbWUg
LSB0aW1lUmVjb3JkLnN0YXJ0VGltZTsKICAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWxEdXJhdGlv
biA9IGludGVydmFsRHVyYXRpb247CiAgICAgICAgICAgICB0aW1lUmVjb3JkLmludGVydmFsRHVy
YXRpb24gPSBpbnRlcnZhbER1cmF0aW9uOwpAQCAtNjAxLDYgKzYwOSwzMyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogICAgIH0s
CiAKICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5SZWNvcmR9CisgICAgICovCisgICAgZ2V0IHRvcExldmVsUmVjb3JkKCkKKyAg
ICB7CisgICAgICAgIHZhciByZWNvcmQgPSB0aGlzOworICAgICAgICB2YXIgcGFyZW50ID0gcmVj
b3JkLnBhcmVudDsKKyAgICAgICAgd2hpbGUgKHBhcmVudC5wYXJlbnQpIHsKKyAgICAgICAgICAg
IHJlY29yZCA9IHBhcmVudDsKKyAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlY29yZDsKKyAgICB9LAorCisgICAgZ2V0IG9yaWdp
bigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fb3JpZ2luIHx8IHRoaXMucGFyZW50Owor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAg
IGdldCBpc0dsdWVkKCkKKyAgICB7CisgICAgICAgIHJldHVybiAhIXRoaXMuX29yaWdpbjsKKyAg
ICB9LAorCisgICAgLyoqCiAgICAgICogQHJldHVybiB7QXJyYXkuPFdlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZD59CiAgICAgICovCiAgICAgZ2V0IGNoaWxkcmVu
KCkKQEAgLTczNCwxMyArNzY5LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlv
bk1vZGVsLlJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBOdW1iZXIuc2Vjb25kc1Rv
U3RyaW5nKHRoaXMuX3N0YXJ0VGltZU9mZnNldCkpOwogICAgICAgICBjb250ZW50SGVscGVyLl9h
cHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRHVyYXRpb24iKSwgdGV4dCk7CiAK
LSAgICAgICAgaWYgKHRoaXMuX2NoaWxkcmVuLmxlbmd0aCkgeworICAgICAgICBjb25zdCByZWNv
cmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGU7CisgICAgICAg
IGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy50eXBlICE9PSByZWNvcmRUeXBlcy5U
aW1lKSB7CiAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiU2VsZiBUaW1lIiksIE51bWJlci5zZWNvbmRzVG9TdHJpbmcodGhpcy5f
c2VsZlRpbWUsIHRydWUpKTsKICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRS
b3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDUFUgVGltZSIpLCBOdW1iZXIuc2Vjb25kc1RvU3Ry
aW5nKHRoaXMuX2NwdVRpbWUsIHRydWUpKTsKICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2Fw
cGVuZEVsZW1lbnRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBZ2dyZWdhdGVkIFRpbWUiKSwK
ICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5f
Z2VuZXJhdGVBZ2dyZWdhdGVkSW5mbyh0aGlzLl9hZ2dyZWdhdGVkU3RhdHMpKTsKICAgICAgICAg
fQotICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVs
LlJlY29yZFR5cGU7CiAKICAgICAgICAgLy8gVGhlIG1lc3NhZ2VzIG1heSB2YXJ5IHBlciByZWNv
cmQgdHlwZTsKICAgICAgICAgdmFyIGNhbGxTaXRlU3RhY2tUcmFjZUxhYmVsOwpAQCAtODAzLDgg
KzgzOCwxNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBy
ZWNvcmRUeXBlcy5UaW1lOgogICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5UaW1lRW5kOgor
ICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJNZXNzYWdlIiksIHRoaXMuZGF0YVsibWVzc2FnZSJdKTsKICAgICAgICAgICAg
ICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiA9PT0gIm51bWJlciIpCiAgICAg
ICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJJbnRlcnZhbCBEdXJhdGlvbiIpLCBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHRo
aXMuaW50ZXJ2YWxEdXJhdGlvbiwgdHJ1ZSkpOworICAgICAgICAgICAgICAgIHZhciBoZWFkID0g
KHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZSkgPyB0aGlzIDogdGhpcy50aW1lUmVjb3Jk
OworICAgICAgICAgICAgICAgIHZhciB0YWlsID0gKHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMu
VGltZUVuZCkgPyB0aGlzIDogdGhpcy50aW1lRW5kUmVjb3JkOworICAgICAgICAgICAgICAgIGlm
IChoZWFkICYmIHRhaWwpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXRzID0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2NhbGN1bGF0ZUFnZ3JlZ2F0ZWRTdGF0
c0JldHdlZW5SZWNvcmRzKGhlYWQsIHRhaWwpOworICAgICAgICAgICAgICAgICAgICBjb250ZW50
SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWdncmVnYXRl
ZCBUaW1lIiksCisgICAgICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5fZ2VuZXJhdGVBZ2dyZWdhdGVkSW5mbyhzdGF0cykpOworICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGV0YWlscygpKQpAQCAtODg2LDYgKzkyOSw4IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5
cGUuUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2U6CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rv
ci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VGaW5pc2g6CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCh0aGlzLnVybCk7CisgICAg
ICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuVGltZToK
KyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5U
aW1lRW5kOgogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNv
cmRUeXBlLlRpbWVTdGFtcDoKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhWyJtZXNz
YWdlIl07CiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtOTYxLDYgKzEwMDYsNjcgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlwZSA9IHsKIH0K
IAogLyoqCisgKiBAcGFyYW0geyFXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5SZWNvcmR9IGhlYWQKKyAqIEBwYXJhbSB7IVdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRh
dGlvbk1vZGVsLlJlY29yZH0gdGFpbAorICogQHJldHVybiB7T2JqZWN0fQorICovCitXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fY2FsY3VsYXRlQWdncmVnYXRlZFN0YXRz
QmV0d2VlblJlY29yZHMgPSBmdW5jdGlvbihoZWFkLCB0YWlsKQoreworICAgIHZhciBjYXRlZ29y
aWVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuY2F0ZWdvcmllcygp
OworCisgICAgZnVuY3Rpb24gcGFydGlhbFN0YXRzKHJlY29yZCkKKyAgICB7CisgICAgICAgIHZh
ciBzdGF0cyA9IHt9OworICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiBjYXRlZ29yaWVzKQor
ICAgICAgICAgICAgc3RhdHNbY2F0ZWdvcnldID0gMDsKKworICAgICAgICB2YXIgYm91bmRyeVRp
bWUgPSByZWNvcmQuc3RhcnRUaW1lOworICAgICAgICB2YXIgcHJvY2Vzc2VkVGltZSA9IDA7Cisg
ICAgICAgIHJlY29yZCA9IHJlY29yZC5vcmlnaW47CisgICAgICAgIHdoaWxlIChyZWNvcmQudHlw
ZSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5Sb290KSB7CisgICAg
ICAgICAgICB2YXIgZW5kVGltZSA9IHJlY29yZC5lbmRUaW1lID4gYm91bmRyeVRpbWUgPyBib3Vu
ZHJ5VGltZSA6IHJlY29yZC5lbmRUaW1lOworICAgICAgICAgICAgdmFyIHNlbGZUaW1lID0gZW5k
VGltZSAtIHJlY29yZC5zdGFydFRpbWUgLSBwcm9jZXNzZWRUaW1lOworCisgICAgICAgICAgICBm
b3IgKHZhciBpbmRleCA9IHJlY29yZC5fY2hpbGRyZW4ubGVuZ3RoOyBpbmRleDsgLS1pbmRleCkg
eworICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHJlY29yZC5fY2hpbGRyZW5baW5kZXggLSAx
XTsKKyAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZW5kVGltZSA+PSBib3VuZHJ5VGltZSkKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5p
c0dsdWVkKQorICAgICAgICAgICAgICAgICAgICBzZWxmVGltZSAtPSBjaGlsZC5lbmRUaW1lIC0g
Y2hpbGQuc3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGZvciAodmFyIGNhdGVnb3J5IGluIGNh
dGVnb3JpZXMpCisgICAgICAgICAgICAgICAgICAgIHN0YXRzW2NhdGVnb3J5XSArPSBjaGlsZC5f
YWdncmVnYXRlZFN0YXRzW2NhdGVnb3J5XTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0
YXRzW3JlY29yZC5jYXRlZ29yeS5uYW1lXSArPSBzZWxmVGltZTsKKworICAgICAgICAgICAgcHJv
Y2Vzc2VkVGltZSA9IGVuZFRpbWUgLSByZWNvcmQuc3RhcnRUaW1lOworICAgICAgICAgICAgcmVj
b3JkID0gcmVjb3JkLnBhcmVudDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gc3RhdHM7Cisg
ICAgfQorCisgICAgdmFyIGhlYWRTdGF0cyA9IHBhcnRpYWxTdGF0cyhoZWFkKTsKKyAgICB2YXIg
dGFpbFN0YXRzID0gcGFydGlhbFN0YXRzKHRhaWwpOworICAgIHZhciBzdGF0cyA9IHt9OworICAg
IGZvciAodmFyIGNhdGVnb3J5IGluIGNhdGVnb3JpZXMpCisgICAgICAgIHN0YXRzW2NhdGVnb3J5
XSA9IHRhaWxTdGF0c1tjYXRlZ29yeV0gLSBoZWFkU3RhdHNbY2F0ZWdvcnldOworCisgICAgdmFy
IGhlYWRUb3AgPSBoZWFkLm9yaWdpbi50b3BMZXZlbFJlY29yZDsKKyAgICB2YXIgdGFpbFRvcCA9
IHRhaWwub3JpZ2luLnRvcExldmVsUmVjb3JkOworICAgIGlmIChoZWFkVG9wICE9PSB0YWlsVG9w
KSB7CisgICAgICAgIHZhciByb290UmVjb3JkID0gaGVhZFRvcC5wYXJlbnQ7CisgICAgICAgIGZv
ciAodmFyIGluZGV4ID0gcm9vdFJlY29yZC5jaGlsZHJlbi5sZW5ndGg7IGluZGV4OyAtLWluZGV4
KSB7CisgICAgICAgICAgICB2YXIgY2hpbGQgPSByb290UmVjb3JkLmNoaWxkcmVuW2luZGV4IC0g
MV07CisgICAgICAgICAgICBpZiAoY2hpbGQuc3RhcnRUaW1lID49IGhlYWRUb3Auc3RhcnRUaW1l
ICYmIGNoaWxkLmVuZFRpbWUgPCB0YWlsVG9wLnN0YXJ0VGltZSAmJiBjaGlsZC5hZ2dyZWdhdGVk
U3RhdHMpIHsKKyAgICAgICAgICAgICAgICB2YXIgYWdncmVnYXRlZFN0YXRzID0gY2hpbGQuYWdn
cmVnYXRlZFN0YXRzOworICAgICAgICAgICAgICAgIGZvciAodmFyIGNhdGVnb3J5IGluIGNhdGVn
b3JpZXMpCisgICAgICAgICAgICAgICAgICAgIHN0YXRzW2NhdGVnb3J5XSArPSBhZ2dyZWdhdGVk
U3RhdHNbY2F0ZWdvcnldOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJl
dHVybiBzdGF0czsKK30KKworLyoqCiAgKiBAcGFyYW0ge09iamVjdH0gYWdncmVnYXRlZFN0YXRz
CiAgKi8KIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9nZW5lcmF0ZUFn
Z3JlZ2F0ZWRJbmZvID0gZnVuY3Rpb24oYWdncmVnYXRlZFN0YXRzKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFnZ3JlZ2F0ZS1zdGF0aXN0aWNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1h
Z2dyZWdhdGUtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzc3Mjg4MWM2YWVj
YThmNzM4YTY1MGQ3ZWJmNWU4NDMwODMyM2NhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1hZ2dyZWdhdGUtc3RhdGlzdGljcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorVGVzdCB0aW1lIGFnZ3JlZ2F0aW9uIGJldHdlZW4g
dGltZS90aW1lRW5kIChCdWcgOTk4MzApCisKK091dGVyOgoreworICAgIGxvYWRpbmcgOiAwCisg
ICAgcGFpbnRpbmcgOiAwCisgICAgcHJvZ3JhbSA6IDAKKyAgICByZW5kZXJpbmcgOiAwLjAwMTAw
MDAwMDAwMDAwMDAwMDkKKyAgICBzY3JpcHRpbmcgOiAwLjAxMDk5OTk5OTk5OTk5OTk5NgorfQor
CitJbm5lcjoKK3sKKyAgICBsb2FkaW5nIDogMAorICAgIHBhaW50aW5nIDogMAorICAgIHByb2dy
YW0gOiAwCisgICAgcmVuZGVyaW5nIDogMC4wMDEwMDAwMDAwMDAwMDAwMDA5CisgICAgc2NyaXB0
aW5nIDogMC4wMDI5OTk5OTk5OTk5OTk5OTkKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFnZ3JlZ2F0ZS1zdGF0aXN0aWNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYWdncmVnYXRlLXN0YXRpc3Rp
Y3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zZDE3ZWFlNzdiYmIxYTc3YzkzZDcxMGRlNzViMTBiOTY5MGNj
MWMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLWFnZ3JlZ2F0ZS1zdGF0aXN0aWNzLmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0idGltZWxpbmUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBXZWJJbnNwZWN0b3Iu
c2hvd1BhbmVsKCJ0aW1lbGluZSIpOworCisgICAgdmFyIGRhdGEgPSBbIlZlcnNpb24iLAorICAg
ICAgICB7InN0YXJ0VGltZSI6MTMsImRhdGEiOnt9LCJlbmRUaW1lIjoxOSwidHlwZSI6IlByb2dy
YW0iLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgeyJzdGFydFRpbWUiOjE0LCJkYXRhIjp7InR5
cGUiOiJjbGljayJ9LCJlbmRUaW1lIjoxOCwidHlwZSI6IkV2ZW50RGlzcGF0Y2giLCJmcmFtZUlk
IjoiMiIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjE1LCJkYXRh
Ijp7InNjcmlwdE5hbWUiOiJmb28uaHRtbCIsInNjcmlwdExpbmUiOjd9LCJlbmRUaW1lIjoxNywi
dHlwZSI6IkZ1bmN0aW9uQ2FsbCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4iOlsKKyAgICAgICAg
ICAgICAgICAgICAgeyJzdGFydFRpbWUiOjE2LCJkYXRhIjp7Im1lc3NhZ2UiOiJoZWxsbyJ9LCJ0
eXBlIjoiVGltZSIsImZyYW1lSWQiOiIyIn0KKyAgICAgICAgICAgICAgICBdfQorICAgICAgICAg
ICAgXX0KKyAgICAgICAgXX0sCisgICAgICAgIHsic3RhcnRUaW1lIjoyNSwiZGF0YSI6e30sImVu
ZFRpbWUiOjM1LCJ0eXBlIjoiUHJvZ3JhbSIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICB7InN0
YXJ0VGltZSI6MjYsImRhdGEiOnsidHlwZSI6ImNsaWNrIn0sImVuZFRpbWUiOjM0LCJ0eXBlIjoi
RXZlbnREaXNwYXRjaCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6MjcsImRhdGEiOnsic2NyaXB0TmFtZSI6ImZvby5odG1sIiwic2NyaXB0
TGluZSI6MTV9LCJlbmRUaW1lIjozMywidHlwZSI6IkZ1bmN0aW9uQ2FsbCIsImZyYW1lSWQiOiIy
IiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjI4LCJkYXRh
Ijp7Im1lc3NhZ2UiOiJib29tIn0sInR5cGUiOiJUaW1lIiwiZnJhbWVJZCI6IjIifSwKKyAgICAg
ICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjI5LCJkYXRhIjp7fSwidHlwZSI6IlNjaGVkdWxl
U3R5bGVSZWNhbGN1bGF0aW9uIiwiZnJhbWVJZCI6IjIifSwKKyAgICAgICAgICAgICAgICAgICAg
eyJzdGFydFRpbWUiOjMwLCJkYXRhIjp7fSwiY2hpbGRyZW4iOltdLCJlbmRUaW1lIjozMSwidHlw
ZSI6IlJlY2FsY3VsYXRlU3R5bGVzIiwiZnJhbWVJZCI6IjIifSwKKyAgICAgICAgICAgICAgICAg
ICAgeyJzdGFydFRpbWUiOjMyLCJkYXRhIjp7Im1lc3NhZ2UiOiJib29tIn0sInR5cGUiOiJUaW1l
RW5kIiwiZnJhbWVJZCI6IjIifQorICAgICAgICAgICAgICAgIF19CisgICAgICAgICAgICBdfQor
ICAgICAgICBdfSwKKyAgICAgICAgeyJzdGFydFRpbWUiOjQxLCJkYXRhIjp7fSwiZW5kVGltZSI6
NDcsInR5cGUiOiJQcm9ncmFtIiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgIHsic3RhcnRUaW1l
Ijo0MiwiZGF0YSI6eyJ0eXBlIjoiY2xpY2sifSwiZW5kVGltZSI6NDYsInR5cGUiOiJFdmVudERp
c3BhdGNoIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgICAgIHsic3Rh
cnRUaW1lIjo0MywiZGF0YSI6eyJzY3JpcHROYW1lIjoiZm9vLmh0bWwiLCJzY3JpcHRMaW5lIjox
MX0sImVuZFRpbWUiOjQ1LCJ0eXBlIjoiRnVuY3Rpb25DYWxsIiwiZnJhbWVJZCI6IjIiLCJjaGls
ZHJlbiI6WworICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6NDQsImRhdGEiOnsibWVz
c2FnZSI6ImhlbGxvIn0sInR5cGUiOiJUaW1lRW5kIiwiZnJhbWVJZCI6IjIifQorICAgICAgICAg
ICAgICAgIF19CisgICAgICAgICAgICBdfQorICAgICAgICBdfQorICAgIF07CisKKyAgICB2YXIg
aW5wdXQgPSBKU09OLnN0cmluZ2lmeShkYXRhKTsKKyAgICB2YXIgbW9kZWwgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLnRpbWVsaW5lLl9tb2RlbDsKKyAgICB2YXIgcHJlc2VudGF0aW9uTW9kZWwgPSBX
ZWJJbnNwZWN0b3IucGFuZWxzLnRpbWVsaW5lLl9wcmVzZW50YXRpb25Nb2RlbDsKKyAgICBwcmVz
ZW50YXRpb25Nb2RlbC5zZXRHbHVlUmVjb3Jkcyh0cnVlKTsKKworICAgIGZ1bmN0aW9uIGNyZWF0
ZUZpbGVSZWFkZXIoZmlsZSwgZGVsZWdhdGUpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IElu
c3BlY3RvclRlc3QuRmFrZUZpbGVSZWFkZXIoaW5wdXQsIGRlbGVnYXRlLCBvbkRhdGFMb2FkZWQp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uRGF0YUxvYWRlZCgpCisgICAgeworICAgICAgICB2
YXIgcm9vdCA9IHByZXNlbnRhdGlvbk1vZGVsLnJvb3RSZWNvcmQoKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnRFcXVhbHMoNSwgcm9vdC5jaGlsZHJlbi5sZW5ndGgpOworCisgICAgICAg
IHZhciB0aW1lMSA9IHJvb3QuY2hpbGRyZW5bMV07CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0RXF1YWxzKCJUaW1lIiwgdGltZTEudHlwZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0RXF1YWxzKDEsIHRpbWUxLmNoaWxkcmVuLmxlbmd0aCk7CisgICAgICAgIHZhciB0aW1lRW5k
MSA9IHRpbWUxLmNoaWxkcmVuWzBdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cygiVGltZUVuZCIsIHRpbWVFbmQxLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dEVxdWFscyh0aW1lMSwgdGltZUVuZDEudGltZVJlY29yZCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKHRpbWVFbmQxLCB0aW1lMS50aW1lRW5kUmVjb3JkKTsKKyAgICAgICAg
dmFyIHN0YXRzMSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxj
dWxhdGVBZ2dyZWdhdGVkU3RhdHNCZXR3ZWVuUmVjb3Jkcyh0aW1lMSwgdGltZUVuZDEpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiT3V0ZXI6Iik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkT2JqZWN0KHN0YXRzMSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIiKTsKKworICAgICAgICB2YXIgdGltZTIgPSByb290LmNoaWxkcmVuWzNdOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygiVGltZSIsIHRpbWUyLnR5cGUpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygxLCB0aW1lMi5jaGlsZHJlbi5sZW5ndGgpOworICAg
ICAgICB2YXIgdGltZUVuZDIgPSB0aW1lMi5jaGlsZHJlblswXTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRFcXVhbHMoIlRpbWVFbmQiLCB0aW1lRW5kMi50eXBlKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModGltZTIsIHRpbWVFbmQyLnRpbWVSZWNvcmQpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0aW1lRW5kMiwgdGltZTIudGltZUVuZFJl
Y29yZCk7CisgICAgICAgIHZhciBzdGF0czIgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5fY2FsY3VsYXRlQWdncmVnYXRlZFN0YXRzQmV0d2VlblJlY29yZHModGltZTIs
IHRpbWVFbmQyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIklubmVyOiIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChzdGF0czIpOworCisgICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5vdmVy
cmlkZShtb2RlbCwgIl9jcmVhdGVGaWxlUmVhZGVyIiwgY3JlYXRlRmlsZVJlYWRlcik7CisgICAg
bW9kZWwubG9hZEZyb21GaWxlKHt9LCBuZXcgV2ViSW5zcGVjdG9yLlByb2dyZXNzKCkpOworfQor
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitU
ZXN0IHRpbWUgYWdncmVnYXRpb24gYmV0d2VlbiB0aW1lL3RpbWVFbmQgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5ODMwIj4oQnVnIDk5ODMwKTwvYT4K
KzwvcD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170163</attachid>
            <date>2012-10-23 07:40:07 -0700</date>
            <delta_ts>2012-10-30 05:49:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99830-20121023183843.patch</filename>
            <type>text/plain</type>
            <size>21562</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJmYzA5M2VlZGY5ZDYw
ZDZiMjdmNDI4ZjQwMzk2MjA5ZWQ3MWM4MS4uNDliZmFlN2E3MjUzYTUwZGIyYmIxNjk0NWJjMjAz
MDdhM2Y1MzNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTIzICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTaG93IGFnZ3JlZ2F0ZWQgdGltZSBiZXR3ZWVuIGNvcnJlc3BvbmRpbmcgdGltZS90
aW1lRW5kIHJlY29yZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGNvbnNvbGUudGltZSAvIGNvbnNvbGUudGltZUVuZCBhcmUgdXNlZCB0byBtZWFzdXJl
IGhvdyBsb25nIHNvbWUKKyAgICAgICAgcHJvY2VzcyB0YWtlcy4gVGhpcyBwYXRjaCBtYWtlcyB0
aGlzIGZlYXR1cmUgbW9yZSB1c2VmdWwgLSBub3cKKyAgICAgICAgYWdncmVnYXRlZCBzdGF0aXN0
aWNzIGlzIHNob3duIGZvciBtZWFzdXJlZCBpbnRlcnZhbC4KKworICAgICAgICBXaXRoIHRoaXMg
cGF0Y2ggInRpbWUiIHJlY29yZCBpcyBwdWxsZWQgdG8gdGhlIHRvcCBsZXZlbCBvbmx5IGlmIGds
dWluZworICAgICAgICBpcyBvbi4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qczogQWRkZWQgIk1lc3NhZ2UiIHN0cmluZy4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IFJlbW92ZWQgInBhcmVudFJlY29yZCIgcGFyYW0u
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVj
b3JkKToKKyAgICAgICAgQWRkZWQgIm9yaWdpbiIgZmllbGQuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZVBv
cHVwQ29udGVudFdpdGhJbWFnZVByZXZpZXcpOgorICAgICAgICBBZGRlZCBzaG93aW5nIG1lc3Nh
Z2UgYW5kIGFnZ3JlZ2F0ZWQgc3RhdGlzdGljcyBmb3IgInRpbWUiIGFuZCAidGltZUVuZCIKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxjdWxhdGVB
Z2dyZWdhdGVkU3RhdHNCZXR3ZWVuUmVjb3Jkcyk6CisgICAgICAgIFRoaXMgbWV0aG9kIGNhbGN1
bGF0ZXMgYWdncmVnZWdhdGVkIHN0YXRpc3RpY3MgaW4gdGltZSBpbnRlcnZhbCBiZXR3ZWVuCisg
ICAgICAgIHRoZSB0d28gZ2l2ZXIgZm9ybWF0dGVkIHJlY29yZHMuCisKIDIwMTItMTAtMjMgICdQ
YXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2
aWV3ZWQ6IGtpY2sgb3V0IG5vbi1jaHJvbWl1bSBmaWxlcyBmcm9tIFdlYkNvcmUuZ3lwaS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRl
eCBjNmNkZjc3NmJmMGU0ZDk4OWM1NDAyNjI1MTVmNDE2MDhhZjA5MzBhLi5hMjY3N2VhYjFmODEy
Y2I3NDQyNWVmNzljMzVjYWNkNTE4OTdhYWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9F
bmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvRW5n
bGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC03MDQsNiArNzA0LDcgQEAgbG9jYWxp
emVkU3RyaW5nc1siTm90ZSJdID0gIk5vdGUiOwogbG9jYWxpemVkU3RyaW5nc1siRm9yY2VkIHN5
bmNocm9ub3VzIGxheW91dCBpcyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2suIl0g
PSAiRm9yY2VkIHN5bmNocm9ub3VzIGxheW91dCBpcyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGJv
dHRsZW5lY2suIjsKIGxvY2FsaXplZFN0cmluZ3NbIlN0eWxlcyBpbnZhbGlkYXRlZCJdID0gIlN0
eWxlcyBpbnZhbGlkYXRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTdHlsZXMgcmVjYWxjdWxhdGlv
biBmb3JjZWQiXSA9ICJTdHlsZXMgcmVjYWxjdWxhdGlvbiBmb3JjZWQiOworbG9jYWxpemVkU3Ry
aW5nc1siTWVzc2FnZSJdID0gIk1lc3NhZ2UiOwogbG9jYWxpemVkU3RyaW5nc1siTGF5b3V0IGlu
dmFsaWRhdGVkIl0gPSAiTGF5b3V0IGludmFsaWRhdGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbIkxh
eW91dCBmb3JjZWQiXSA9ICJMYXlvdXQgZm9yY2VkIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhdXNl
ZCBvbiBhc3NlcnRpb24uIl0gPSAiUGF1c2VkIG9uIGFzc2VydGlvbi4iOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDUw
ZjRiNmFkYTRkOGU1NzA5NzYxY2M1NjA3MzFiZThlM2E1NGQyYTEuLmQwMWZhMWRjZTY4ZjM3MWFi
YzliMTIxY2U1OWE0N2FiMDU4MTFlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKQEAgLTU1MywxNyArNTUzLDE3IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fYXV0
b21hdGljYWxseVNpemVXaW5kb3cgPSBmYWxzZTsKICAgICAgICAgdmFyIHJlY29yZHMgPSB0aGlz
Ll9tb2RlbC5yZWNvcmRzOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVu
Z3RoOyArK2kpCi0gICAgICAgICAgICB0aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUocmVj
b3Jkc1tpXSwgdGhpcy5fcm9vdFJlY29yZCgpKTsKKyAgICAgICAgICAgIHRoaXMuX2lubmVyQWRk
UmVjb3JkVG9UaW1lbGluZShyZWNvcmRzW2ldKTsKICAgICAgICAgdGhpcy5faW52YWxpZGF0ZUFu
ZFNjaGVkdWxlUmVmcmVzaChmYWxzZSk7CiAgICAgfSwKIAogICAgIF9vblRpbWVsaW5lRXZlbnRS
ZWNvcmRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICBpZiAodGhpcy5faW5uZXJB
ZGRSZWNvcmRUb1RpbWVsaW5lKGV2ZW50LmRhdGEsIHRoaXMuX3Jvb3RSZWNvcmQoKSkpCisgICAg
ICAgIGlmICh0aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUoZXZlbnQuZGF0YSkpCiAgICAg
ICAgICAgICB0aGlzLl9pbnZhbGlkYXRlQW5kU2NoZWR1bGVSZWZyZXNoKGZhbHNlKTsKICAgICB9
LAogCi0gICAgX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3JkLCBwYXJl
bnRSZWNvcmQpCisgICAgX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3Jk
KQogICAgIHsKICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlLlByb2dyYW0pIHsKICAgICAgICAgICAgIHRoaXMuX21haW5UaHJl
YWRUYXNrcy5wdXNoKHsKQEAgLTU3Miw3ICs1NzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAg
IHZhciByZWNvcmRzID0gdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwuYWRkUmVjb3JkKHJlY29yZCwg
cGFyZW50UmVjb3JkKTsKKyAgICAgICAgdmFyIHJlY29yZHMgPSB0aGlzLl9wcmVzZW50YXRpb25N
b2RlbC5hZGRSZWNvcmQocmVjb3JkKTsKICAgICAgICAgdGhpcy5fYWxsUmVjb3Jkc0NvdW50ICs9
IHJlY29yZHMubGVuZ3RoOwogICAgICAgICB2YXIgdGltZVN0YW1wUmVjb3JkcyA9IHRoaXMuX3Rp
bWVTdGFtcFJlY29yZHM7CiAgICAgICAgIHZhciBoYXNWaXNpYmxlUmVjb3JkcyA9IGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBy
ZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IDcwMjBkMWFhMzc3MWExMjk0NDQ2YTk4
NjBmN2VjMjQ1ZjI5YTYzMWYuLmEzZmUxYmNmYTg3NWY5ODU5NTdjNmQ4ODYzMWJjYzQ1MTM5NjZj
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTI1Nyw3ICsyNTcsNyBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAg
cmVzZXQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2xpbmtpZmllci5yZXNldCgp
OwotICAgICAgICB0aGlzLl9yb290UmVjb3JkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVBy
ZXNlbnRhdGlvbk1vZGVsLlJlY29yZCh0aGlzLCB7IHR5cGU6IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLlJlY29yZFR5cGUuUm9vdCB9LCBudWxsLCBudWxsLCBmYWxzZSk7CisgICAgICAgIHRo
aXMuX3Jvb3RSZWNvcmQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9k
ZWwuUmVjb3JkKHRoaXMsIHsgdHlwZTogV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3Jk
VHlwZS5Sb290IH0sIG51bGwsIG51bGwsIG51bGwsIGZhbHNlKTsKICAgICAgICAgdGhpcy5fc2Vu
ZFJlcXVlc3RSZWNvcmRzID0ge307CiAgICAgICAgIHRoaXMuX3NjaGVkdWxlZFJlc291cmNlUmVx
dWVzdHMgPSB7fTsKICAgICAgICAgdGhpcy5fdGltZXJSZWNvcmRzID0ge307CkBAIC0yNzQsNyAr
Mjc0LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLl9mcmFtZXMucHVzaChmcmFtZSk7CiAgICAgfSwKIAotICAgIGFk
ZFJlY29yZDogZnVuY3Rpb24ocmVjb3JkLCBwYXJlbnRSZWNvcmQpCisgICAgYWRkUmVjb3JkOiBm
dW5jdGlvbihyZWNvcmQpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fbWluaW11bVJlY29yZFRp
bWUgPT09IC0xIHx8IHJlY29yZC5zdGFydFRpbWUgPCB0aGlzLl9taW5pbXVtUmVjb3JkVGltZSkK
ICAgICAgICAgICAgIHRoaXMuX21pbmltdW1SZWNvcmRUaW1lID0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTW9kZWwuc3RhcnRUaW1lSW5TZWNvbmRzKHJlY29yZCk7CkBAIC0yODgsNyArMjg4LDcgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAg
ICAgICB2YXIgZm9ybWF0dGVkUmVjb3JkcyA9IFtdOwogICAgICAgICB2YXIgcmVjb3Jkc0NvdW50
ID0gcmVjb3Jkcy5sZW5ndGg7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkc0Nv
dW50OyArK2kpCi0gICAgICAgICAgICBmb3JtYXR0ZWRSZWNvcmRzLnB1c2godGhpcy5faW5uZXJB
ZGRSZWNvcmQocmVjb3Jkc1tpXSwgcGFyZW50UmVjb3JkKSk7CisgICAgICAgICAgICBmb3JtYXR0
ZWRSZWNvcmRzLnB1c2godGhpcy5faW5uZXJBZGRSZWNvcmQocmVjb3Jkc1tpXSwgdGhpcy5fcm9v
dFJlY29yZCkpOwogICAgICAgICByZXR1cm4gZm9ybWF0dGVkUmVjb3JkczsKICAgICB9LAogCkBA
IC0yOTYsMTQgKzI5NiwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGU7CiAgICAgICAgIHZhciBpc0hpZGRlblJl
Y29yZCA9IHJlY29yZC50eXBlIGluIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1v
ZGVsLl9oaWRkZW5SZWNvcmRzOwotICAgICAgICB2YXIgY29ubmVjdGVkVG9PbGRSZWNvcmQgPSBm
YWxzZTsKLSAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSByZWNvcmRUeXBlcy5UaW1lKQotICAg
ICAgICAgICAgcGFyZW50UmVjb3JkID0gdGhpcy5fcm9vdFJlY29yZDsKLSAgICAgICAgZWxzZSBp
ZiAoIWlzSGlkZGVuUmVjb3JkKSB7CisgICAgICAgIHZhciBvcmlnaW47CisgICAgICAgIGlmICgh
aXNIaWRkZW5SZWNvcmQpIHsKICAgICAgICAgICAgIHZhciBuZXdQYXJlbnRSZWNvcmQgPSB0aGlz
Ll9maW5kUGFyZW50UmVjb3JkKHJlY29yZCk7CiAgICAgICAgICAgICBpZiAobmV3UGFyZW50UmVj
b3JkKSB7CisgICAgICAgICAgICAgICAgb3JpZ2luID0gcGFyZW50UmVjb3JkOwogICAgICAgICAg
ICAgICAgIHBhcmVudFJlY29yZCA9IG5ld1BhcmVudFJlY29yZDsKLSAgICAgICAgICAgICAgICBj
b25uZWN0ZWRUb09sZFJlY29yZCA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApA
QCAtMzI3LDcgKzMyNSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHZhciBm
b3JtYXR0ZWRSZWNvcmQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9k
ZWwuUmVjb3JkKHRoaXMsIHJlY29yZCwgcGFyZW50UmVjb3JkLCBzY3JpcHREZXRhaWxzLCBpc0hp
ZGRlblJlY29yZCk7CisgICAgICAgIHZhciBmb3JtYXR0ZWRSZWNvcmQgPSBuZXcgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkKHRoaXMsIHJlY29yZCwgcGFyZW50
UmVjb3JkLCBvcmlnaW4sIHNjcmlwdERldGFpbHMsIGlzSGlkZGVuUmVjb3JkKTsKIAogICAgICAg
ICBpZiAoaXNIaWRkZW5SZWNvcmQpCiAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkUmVjb3Jk
OwpAQCAtMzQwLDkgKzMzOCw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBmb3JtYXR0ZWRSZWNvcmQuY2FsY3VsYXRlQWdn
cmVnYXRlZFN0YXRzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmNhdGVn
b3JpZXMoKSk7CiAKLSAgICAgICAgaWYgKGNvbm5lY3RlZFRvT2xkUmVjb3JkKSB7CisgICAgICAg
IGlmIChvcmlnaW4pIHsKICAgICAgICAgICAgIHJlY29yZCA9IGZvcm1hdHRlZFJlY29yZDsKLSAg
ICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHdoaWxlIChyZWNvcmQucGFyZW50ICE9PSB0aGlz
Ll9yb290UmVjb3JkKSB7CiAgICAgICAgICAgICAgICAgdmFyIHBhcmVudCA9IHJlY29yZC5wYXJl
bnQ7CiAgICAgICAgICAgICAgICAgcGFyZW50Ll9jcHVUaW1lICs9IGZvcm1hdHRlZFJlY29yZC5f
Y3B1VGltZTsKICAgICAgICAgICAgICAgICBpZiAocGFyZW50Lmxhc3RDaGlsZEVuZFRpbWUgPCBy
ZWNvcmQubGFzdENoaWxkRW5kVGltZSkKQEAgLTM1MCw3ICszNDgsNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAg
Zm9yICh2YXIgY2F0ZWdvcnkgaW4gZm9ybWF0dGVkUmVjb3JkLmFnZ3JlZ2F0ZWRTdGF0cykKICAg
ICAgICAgICAgICAgICAgICAgcGFyZW50LmFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV0gKz0gZm9y
bWF0dGVkUmVjb3JkLmFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV07CiAgICAgICAgICAgICAgICAg
cmVjb3JkID0gcGFyZW50OwotICAgICAgICAgICAgfSB3aGlsZSAocmVjb3JkLnBhcmVudCk7Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAocGFyZW50UmVj
b3JkICE9PSB0aGlzLl9yb290UmVjb3JkKQogICAgICAgICAgICAgICAgIHBhcmVudFJlY29yZC5z
ZWxmVGltZSAtPSBmb3JtYXR0ZWRSZWNvcmQuZW5kVGltZSAtIGZvcm1hdHRlZFJlY29yZC5zdGFy
dFRpbWU7CkBAIC0zNzksNiArMzc3LDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkZpcmVBbmlt
YXRpb25GcmFtZToKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0QW5pbWF0aW9uRnJh
bWVSZWNvcmRzW3JlY29yZC5kYXRhWyJpZCJdXTsKIAorICAgICAgICBjYXNlIHJlY29yZFR5cGVz
LlRpbWU6CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFJlY29yZDsKKwogICAgICAgICBj
YXNlIHJlY29yZFR5cGVzLlRpbWVFbmQ6CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdGltZVJl
Y29yZHNbcmVjb3JkLmRhdGFbIm1lc3NhZ2UiXV07CiAgICAgICAgIH0KQEAgLTQ1MCwxMCArNDUx
LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9
IHsKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWx9IHBy
ZXNlbnRhdGlvbk1vZGVsCiAgKiBAcGFyYW0ge09iamVjdH0gcmVjb3JkCiAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gcGFyZW50UmVjb3Jk
CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29y
ZH0gb3JpZ2luCiAgKiBAcGFyYW0ge09iamVjdHx1bmRlZmluZWR9IHNjcmlwdERldGFpbHMKICAq
IEBwYXJhbSB7Ym9vbGVhbn0gaGlkZGVuCiAgKi8KLVdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNl
bnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNvcmQs
IHBhcmVudFJlY29yZCwgc2NyaXB0RGV0YWlscywgaGlkZGVuKQorV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWws
IHJlY29yZCwgcGFyZW50UmVjb3JkLCBvcmlnaW4sIHNjcmlwdERldGFpbHMsIGhpZGRlbikKIHsK
ICAgICB0aGlzLl9saW5raWZpZXIgPSBwcmVzZW50YXRpb25Nb2RlbC5fbGlua2lmaWVyOwogICAg
IHRoaXMuX2FnZ3JlZ2F0ZWRTdGF0cyA9IFtdOwpAQCAtNDYzLDYgKzQ2NSw4IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNlbnRh
dGlvbk1vZGVsLCByZWNvCiAgICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50UmVjb3JkOwogICAg
ICAgICBwYXJlbnRSZWNvcmQuY2hpbGRyZW4ucHVzaCh0aGlzKTsKICAgICB9CisgICAgaWYgKG9y
aWdpbikKKyAgICAgICAgdGhpcy5fb3JpZ2luID0gb3JpZ2luOwogCiAgICAgdGhpcy5fc2VsZlRp
bWUgPSB0aGlzLmVuZFRpbWUgLSB0aGlzLnN0YXJ0VGltZTsKICAgICB0aGlzLl9sYXN0Q2hpbGRF
bmRUaW1lID0gdGhpcy5lbmRUaW1lOwpAQCAtNTM2LDggKzU0MCwxMiBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25N
b2RlbCwgcmVjbwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZUVu
ZDoKLSAgICAgICAgdmFyIHRpbWVSZWNvcmQgPSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29y
ZHNbcmVjb3JkLmRhdGFbIm1lc3NhZ2UiXV07CisgICAgICAgIHZhciBtZXNzYWdlID0gcmVjb3Jk
LmRhdGFbIm1lc3NhZ2UiXTsKKyAgICAgICAgdmFyIHRpbWVSZWNvcmQgPSBwcmVzZW50YXRpb25N
b2RlbC5fdGltZVJlY29yZHNbbWVzc2FnZV07CisgICAgICAgIGRlbGV0ZSBwcmVzZW50YXRpb25N
b2RlbC5fdGltZVJlY29yZHNbbWVzc2FnZV07CiAgICAgICAgIGlmICh0aW1lUmVjb3JkKSB7Cisg
ICAgICAgICAgICB0aGlzLnRpbWVSZWNvcmQgPSB0aW1lUmVjb3JkOworICAgICAgICAgICAgdGlt
ZVJlY29yZC50aW1lRW5kUmVjb3JkID0gdGhpczsKICAgICAgICAgICAgIHZhciBpbnRlcnZhbER1
cmF0aW9uID0gdGhpcy5zdGFydFRpbWUgLSB0aW1lUmVjb3JkLnN0YXJ0VGltZTsKICAgICAgICAg
ICAgIHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiA9IGludGVydmFsRHVyYXRpb247CiAgICAgICAgICAg
ICB0aW1lUmVjb3JkLmludGVydmFsRHVyYXRpb24gPSBpbnRlcnZhbER1cmF0aW9uOwpAQCAtNjAy
LDYgKzYxMCwzMyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNv
cmQucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmR9CisgICAgICovCisgICAg
Z2V0IHRvcExldmVsUmVjb3JkKCkKKyAgICB7CisgICAgICAgIHZhciByZWNvcmQgPSB0aGlzOwor
ICAgICAgICBmb3IgKDsgcmVjb3JkLnBhcmVudDsgcmVjb3JkID0gcmVjb3JkLnBhcmVudCkgewor
ICAgICAgICAgICAgaWYgKHJlY29yZC5wYXJlbnQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTW9kZWwuUmVjb3JkVHlwZS5Sb290KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlY29y
ZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdGhpczsKKyAgICB9
LAorCisgICAgZ2V0IG9yaWdpbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fb3JpZ2lu
IHx8IHRoaXMucGFyZW50OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29s
ZWFufQorICAgICAqLworICAgIGdldCBpc0dsdWVkKCkKKyAgICB7CisgICAgICAgIHJldHVybiAh
IXRoaXMuX29yaWdpbjsKKyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHJldHVybiB7QXJyYXku
PFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZD59CiAgICAgICov
CiAgICAgZ2V0IGNoaWxkcmVuKCkKQEAgLTczNSwxMyArNzcwLDEzIEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHRoaXMuX3N0YXJ0VGltZU9mZnNldCkpOwogICAgICAg
ICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRHVy
YXRpb24iKSwgdGV4dCk7CiAKLSAgICAgICAgaWYgKHRoaXMuX2NoaWxkcmVuLmxlbmd0aCkgewor
ICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJl
Y29yZFR5cGU7CisgICAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGggJiYgdGhpcy50eXBl
ICE9PSByZWNvcmRUeXBlcy5UaW1lKSB7CiAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBl
bmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZiBUaW1lIiksIE51bWJlci5zZWNv
bmRzVG9TdHJpbmcodGhpcy5fc2VsZlRpbWUsIHRydWUpKTsKICAgICAgICAgICAgIGNvbnRlbnRI
ZWxwZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDUFUgVGltZSIpLCBO
dW1iZXIuc2Vjb25kc1RvU3RyaW5nKHRoaXMuX2NwdVRpbWUsIHRydWUpKTsKICAgICAgICAgICAg
IGNvbnRlbnRIZWxwZXIuX2FwcGVuZEVsZW1lbnRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJB
Z2dyZWdhdGVkIFRpbWUiKSwKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5fZ2VuZXJhdGVBZ2dyZWdhdGVkSW5mbyh0aGlzLl9hZ2dyZWdhdGVk
U3RhdHMpKTsKICAgICAgICAgfQotICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGU7CiAKICAgICAgICAgLy8gVGhlIG1lc3NhZ2Vz
IG1heSB2YXJ5IHBlciByZWNvcmQgdHlwZTsKICAgICAgICAgdmFyIGNhbGxTaXRlU3RhY2tUcmFj
ZUxhYmVsOwpAQCAtODA0LDggKzgzOSwxNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5UaW1lOgogICAgICAgICAgICAgY2FzZSByZWNv
cmRUeXBlcy5UaW1lRW5kOgorICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRl
eHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNZXNzYWdlIiksIHRoaXMuZGF0YVsibWVzc2Fn
ZSJdKTsKICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiA9
PT0gIm51bWJlciIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRl
eHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnRlcnZhbCBEdXJhdGlvbiIpLCBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiwgdHJ1ZSkpOworICAgICAgICAg
ICAgICAgIHZhciBoZWFkID0gKHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZSkgPyB0aGlz
IDogdGhpcy50aW1lUmVjb3JkOworICAgICAgICAgICAgICAgIHZhciB0YWlsID0gKHRoaXMudHlw
ZSA9PT0gcmVjb3JkVHlwZXMuVGltZUVuZCkgPyB0aGlzIDogdGhpcy50aW1lRW5kUmVjb3JkOwor
ICAgICAgICAgICAgICAgIGlmIChoZWFkICYmIHRhaWwpIHsKKyAgICAgICAgICAgICAgICAgICAg
dmFyIHN0YXRzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2NhbGN1
bGF0ZUFnZ3JlZ2F0ZWRTdGF0c0JldHdlZW5SZWNvcmRzKGhlYWQsIHRhaWwpOworICAgICAgICAg
ICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQWdncmVnYXRlZCBUaW1lIiksCisgICAgICAgICAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fZ2VuZXJhdGVBZ2dyZWdhdGVkSW5m
byhzdGF0cykpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGV0YWlscygpKQpA
QCAtODg3LDYgKzkzMCw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LlJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1l
bGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2U6CiAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VGaW5p
c2g6CiAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVS
TCh0aGlzLnVybCk7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVs
LlJlY29yZFR5cGUuVGltZToKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
TW9kZWwuUmVjb3JkVHlwZS5UaW1lRW5kOgogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVTdGFtcDoKICAgICAgICAgICAgICAgICByZXR1
cm4gdGhpcy5kYXRhWyJtZXNzYWdlIl07CiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtOTYyLDYg
KzEwMDcsNjMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3Jk
LnByb3RvdHlwZSA9IHsKIH0KIAogLyoqCisgKiBAcGFyYW0geyFXZWJJbnNwZWN0b3IuVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmR9IGhlYWQKKyAqIEBwYXJhbSB7IVdlYkluc3BlY3Rv
ci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gdGFpbAorICogQHJldHVybiB7T2Jq
ZWN0fQorICovCitXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fY2FsY3Vs
YXRlQWdncmVnYXRlZFN0YXRzQmV0d2VlblJlY29yZHMgPSBmdW5jdGlvbihoZWFkLCB0YWlsKQor
eworICAgIHZhciBjYXRlZ29yaWVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwuY2F0ZWdvcmllcygpOworCisgICAgZnVuY3Rpb24gcGFydGlhbFN0YXRzKHJlY29yZCkK
KyAgICB7CisgICAgICAgIHZhciBzdGF0cyA9IHt9OworICAgICAgICBmb3IgKHZhciBjYXRlZ29y
eSBpbiBjYXRlZ29yaWVzKQorICAgICAgICAgICAgc3RhdHNbY2F0ZWdvcnldID0gMDsKKworICAg
ICAgICB2YXIgYm91bmRyeVRpbWUgPSByZWNvcmQuc3RhcnRUaW1lOworICAgICAgICB2YXIgcHJv
Y2Vzc2VkVGltZSA9IDA7CisgICAgICAgIGZvciAocmVjb3JkID0gcmVjb3JkLm9yaWdpbjsgcmVj
b3JkLnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUm9vdDsg
cmVjb3JkID0gcmVjb3JkLnBhcmVudCkgeworICAgICAgICAgICAgdmFyIGVuZFRpbWUgPSByZWNv
cmQuZW5kVGltZSA+IGJvdW5kcnlUaW1lID8gYm91bmRyeVRpbWUgOiByZWNvcmQuZW5kVGltZTsK
KyAgICAgICAgICAgIHZhciBzZWxmVGltZSA9IGVuZFRpbWUgLSByZWNvcmQuc3RhcnRUaW1lIC0g
cHJvY2Vzc2VkVGltZTsKKyAgICAgICAgICAgIGZvciAodmFyIGluZGV4ID0gcmVjb3JkLl9jaGls
ZHJlbi5sZW5ndGg7IGluZGV4OyAtLWluZGV4KSB7CisgICAgICAgICAgICAgICAgdmFyIGNoaWxk
ID0gcmVjb3JkLl9jaGlsZHJlbltpbmRleCAtIDFdOworICAgICAgICAgICAgICAgIGlmIChjaGls
ZC5lbmRUaW1lID49IGJvdW5kcnlUaW1lKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLmlzR2x1ZWQpCisgICAgICAgICAgICAgICAgICAg
IHNlbGZUaW1lIC09IGNoaWxkLmVuZFRpbWUgLSBjaGlsZC5zdGFydFRpbWU7CisgICAgICAgICAg
ICAgICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKKyAgICAgICAgICAgICAgICAg
ICAgc3RhdHNbY2F0ZWdvcnldICs9IGNoaWxkLl9hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RhdHNbcmVjb3JkLmNhdGVnb3J5Lm5hbWVdICs9
IHNlbGZUaW1lOworICAgICAgICAgICAgcHJvY2Vzc2VkVGltZSA9IGVuZFRpbWUgLSByZWNvcmQu
c3RhcnRUaW1lOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzdGF0czsKKyAgICB9CisKKyAg
ICB2YXIgaGVhZFN0YXRzID0gcGFydGlhbFN0YXRzKGhlYWQpOworICAgIHZhciB0YWlsU3RhdHMg
PSBwYXJ0aWFsU3RhdHModGFpbCk7CisgICAgdmFyIHN0YXRzID0ge307CisgICAgZm9yICh2YXIg
Y2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKKyAgICAgICAgc3RhdHNbY2F0ZWdvcnldID0gdGFpbFN0
YXRzW2NhdGVnb3J5XSAtIGhlYWRTdGF0c1tjYXRlZ29yeV07CisKKyAgICB2YXIgaGVhZFRvcCA9
IGhlYWQub3JpZ2luLnRvcExldmVsUmVjb3JkOworICAgIHZhciB0YWlsVG9wID0gdGFpbC5vcmln
aW4udG9wTGV2ZWxSZWNvcmQ7CisgICAgaWYgKGhlYWRUb3AgIT09IHRhaWxUb3ApIHsKKyAgICAg
ICAgdmFyIHJvb3RSZWNvcmQgPSBoZWFkVG9wLnBhcmVudDsKKyAgICAgICAgZm9yICh2YXIgaW5k
ZXggPSByb290UmVjb3JkLmNoaWxkcmVuLmxlbmd0aDsgaW5kZXg7IC0taW5kZXgpIHsKKyAgICAg
ICAgICAgIHZhciBjaGlsZCA9IHJvb3RSZWNvcmQuY2hpbGRyZW5baW5kZXggLSAxXTsKKyAgICAg
ICAgICAgIGlmIChjaGlsZC5zdGFydFRpbWUgPj0gaGVhZFRvcC5zdGFydFRpbWUgJiYgY2hpbGQu
ZW5kVGltZSA8IHRhaWxUb3Auc3RhcnRUaW1lICYmIGNoaWxkLmFnZ3JlZ2F0ZWRTdGF0cykgewor
ICAgICAgICAgICAgICAgIHZhciBhZ2dyZWdhdGVkU3RhdHMgPSBjaGlsZC5hZ2dyZWdhdGVkU3Rh
dHM7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKKyAg
ICAgICAgICAgICAgICAgICAgc3RhdHNbY2F0ZWdvcnldICs9IGFnZ3JlZ2F0ZWRTdGF0c1tjYXRl
Z29yeV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHN0YXRz
OworfQorCisvKioKICAqIEBwYXJhbSB7T2JqZWN0fSBhZ2dyZWdhdGVkU3RhdHMKICAqLwogV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2dlbmVyYXRlQWdncmVnYXRlZElu
Zm8gPSBmdW5jdGlvbihhZ2dyZWdhdGVkU3RhdHMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYWdncmVnYXRlLXN0YXRpc3RpY3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFnZ3JlZ2F0ZS1z
dGF0aXN0aWNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzcyODgxYzZhZWNhOGY3MzhhNjUw
ZDdlYmY1ZTg0MzA4MzIzY2EyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFnZ3JlZ2F0ZS1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIwIEBACitUZXN0IHRpbWUgYWdncmVnYXRpb24gYmV0d2VlbiB0aW1lL3RpbWVF
bmQgKEJ1ZyA5OTgzMCkKKworT3V0ZXI6Cit7CisgICAgbG9hZGluZyA6IDAKKyAgICBwYWludGlu
ZyA6IDAKKyAgICBwcm9ncmFtIDogMAorICAgIHJlbmRlcmluZyA6IDAuMDAxMDAwMDAwMDAwMDAw
MDAwOQorICAgIHNjcmlwdGluZyA6IDAuMDEwOTk5OTk5OTk5OTk5OTk2Cit9CisKK0lubmVyOgor
eworICAgIGxvYWRpbmcgOiAwCisgICAgcGFpbnRpbmcgOiAwCisgICAgcHJvZ3JhbSA6IDAKKyAg
ICByZW5kZXJpbmcgOiAwLjAwMTAwMDAwMDAwMDAwMDAwMDkKKyAgICBzY3JpcHRpbmcgOiAwLjAw
Mjk5OTk5OTk5OTk5OTk5OQorfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtYWdncmVnYXRlLXN0YXRpc3RpY3MuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1hZ2dyZWdhdGUtc3RhdGlzdGljcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNkMTdlYWU3N2JiYjFhNzdjOTNkNzEwZGU3NWIxMGI5NjkwY2MxYzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYWdn
cmVnYXRlLXN0YXRpc3RpY3MuaHRtbApAQCAtMCwwICsxLDkyIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwo
InRpbWVsaW5lIik7CisKKyAgICB2YXIgZGF0YSA9IFsiVmVyc2lvbiIsCisgICAgICAgIHsic3Rh
cnRUaW1lIjoxMywiZGF0YSI6e30sImVuZFRpbWUiOjE5LCJ0eXBlIjoiUHJvZ3JhbSIsImNoaWxk
cmVuIjpbCisgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTQsImRhdGEiOnsidHlwZSI6ImNsaWNr
In0sImVuZFRpbWUiOjE4LCJ0eXBlIjoiRXZlbnREaXNwYXRjaCIsImZyYW1lSWQiOiIyIiwiY2hp
bGRyZW4iOlsKKyAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTUsImRhdGEiOnsic2NyaXB0
TmFtZSI6ImZvby5odG1sIiwic2NyaXB0TGluZSI6N30sImVuZFRpbWUiOjE3LCJ0eXBlIjoiRnVu
Y3Rpb25DYWxsIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6MTYsImRhdGEiOnsibWVzc2FnZSI6ImhlbGxvIn0sInR5cGUiOiJUaW1l
IiwiZnJhbWVJZCI6IjIifQorICAgICAgICAgICAgICAgIF19CisgICAgICAgICAgICBdfQorICAg
ICAgICBdfSwKKyAgICAgICAgeyJzdGFydFRpbWUiOjI1LCJkYXRhIjp7fSwiZW5kVGltZSI6MzUs
InR5cGUiOiJQcm9ncmFtIiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgIHsic3RhcnRUaW1lIjoy
NiwiZGF0YSI6eyJ0eXBlIjoiY2xpY2sifSwiZW5kVGltZSI6MzQsInR5cGUiOiJFdmVudERpc3Bh
dGNoIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgICAgIHsic3RhcnRU
aW1lIjoyNywiZGF0YSI6eyJzY3JpcHROYW1lIjoiZm9vLmh0bWwiLCJzY3JpcHRMaW5lIjoxNX0s
ImVuZFRpbWUiOjMzLCJ0eXBlIjoiRnVuY3Rpb25DYWxsIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJl
biI6WworICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MjgsImRhdGEiOnsibWVzc2Fn
ZSI6ImJvb20ifSwidHlwZSI6IlRpbWUiLCJmcmFtZUlkIjoiMiJ9LAorICAgICAgICAgICAgICAg
ICAgICB7InN0YXJ0VGltZSI6MjksImRhdGEiOnt9LCJ0eXBlIjoiU2NoZWR1bGVTdHlsZVJlY2Fs
Y3VsYXRpb24iLCJmcmFtZUlkIjoiMiJ9LAorICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGlt
ZSI6MzAsImRhdGEiOnt9LCJjaGlsZHJlbiI6W10sImVuZFRpbWUiOjMxLCJ0eXBlIjoiUmVjYWxj
dWxhdGVTdHlsZXMiLCJmcmFtZUlkIjoiMiJ9LAorICAgICAgICAgICAgICAgICAgICB7InN0YXJ0
VGltZSI6MzIsImRhdGEiOnsibWVzc2FnZSI6ImJvb20ifSwidHlwZSI6IlRpbWVFbmQiLCJmcmFt
ZUlkIjoiMiJ9CisgICAgICAgICAgICAgICAgXX0KKyAgICAgICAgICAgIF19CisgICAgICAgIF19
LAorICAgICAgICB7InN0YXJ0VGltZSI6NDEsImRhdGEiOnt9LCJlbmRUaW1lIjo0NywidHlwZSI6
IlByb2dyYW0iLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQyLCJkYXRh
Ijp7InR5cGUiOiJjbGljayJ9LCJlbmRUaW1lIjo0NiwidHlwZSI6IkV2ZW50RGlzcGF0Y2giLCJm
cmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQz
LCJkYXRhIjp7InNjcmlwdE5hbWUiOiJmb28uaHRtbCIsInNjcmlwdExpbmUiOjExfSwiZW5kVGlt
ZSI6NDUsInR5cGUiOiJGdW5jdGlvbkNhbGwiLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCisg
ICAgICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjo0NCwiZGF0YSI6eyJtZXNzYWdlIjoiaGVs
bG8ifSwidHlwZSI6IlRpbWVFbmQiLCJmcmFtZUlkIjoiMiJ9CisgICAgICAgICAgICAgICAgXX0K
KyAgICAgICAgICAgIF19CisgICAgICAgIF19CisgICAgXTsKKworICAgIHZhciBpbnB1dCA9IEpT
T04uc3RyaW5naWZ5KGRhdGEpOworICAgIHZhciBtb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMu
dGltZWxpbmUuX21vZGVsOworICAgIHZhciBwcmVzZW50YXRpb25Nb2RlbCA9IFdlYkluc3BlY3Rv
ci5wYW5lbHMudGltZWxpbmUuX3ByZXNlbnRhdGlvbk1vZGVsOworICAgIHByZXNlbnRhdGlvbk1v
ZGVsLnNldEdsdWVSZWNvcmRzKHRydWUpOworCisgICAgZnVuY3Rpb24gY3JlYXRlRmlsZVJlYWRl
cihmaWxlLCBkZWxlZ2F0ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgSW5zcGVjdG9yVGVz
dC5GYWtlRmlsZVJlYWRlcihpbnB1dCwgZGVsZWdhdGUsIG9uRGF0YUxvYWRlZCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gb25EYXRhTG9hZGVkKCkKKyAgICB7CisgICAgICAgIHZhciByb290ID0g
cHJlc2VudGF0aW9uTW9kZWwucm9vdFJlY29yZCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydEVxdWFscyg1LCByb290LmNoaWxkcmVuLmxlbmd0aCk7CisKKyAgICAgICAgdmFyIHRpbWUx
ID0gcm9vdC5jaGlsZHJlblsxXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMo
IlRpbWUiLCB0aW1lMS50eXBlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMo
MSwgdGltZTEuY2hpbGRyZW4ubGVuZ3RoKTsKKyAgICAgICAgdmFyIHRpbWVFbmQxID0gdGltZTEu
Y2hpbGRyZW5bMF07CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lRW5k
IiwgdGltZUVuZDEudHlwZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRp
bWUxLCB0aW1lRW5kMS50aW1lUmVjb3JkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRF
cXVhbHModGltZUVuZDEsIHRpbWUxLnRpbWVFbmRSZWNvcmQpOworICAgICAgICB2YXIgc3RhdHMx
ID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2NhbGN1bGF0ZUFnZ3Jl
Z2F0ZWRTdGF0c0JldHdlZW5SZWNvcmRzKHRpbWUxLCB0aW1lRW5kMSk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJPdXRlcjoiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRP
YmplY3Qoc3RhdHMxKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworCisg
ICAgICAgIHZhciB0aW1lMiA9IHJvb3QuY2hpbGRyZW5bM107CisgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKCJUaW1lIiwgdGltZTIudHlwZSk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKDEsIHRpbWUyLmNoaWxkcmVuLmxlbmd0aCk7CisgICAgICAgIHZhciB0
aW1lRW5kMiA9IHRpbWUyLmNoaWxkcmVuWzBdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dEVxdWFscygiVGltZUVuZCIsIHRpbWVFbmQyLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydEVxdWFscyh0aW1lMiwgdGltZUVuZDIudGltZVJlY29yZCk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRpbWVFbmQyLCB0aW1lMi50aW1lRW5kUmVjb3JkKTsKKyAg
ICAgICAgdmFyIHN0YXRzMiA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
Ll9jYWxjdWxhdGVBZ2dyZWdhdGVkU3RhdHNCZXR3ZWVuUmVjb3Jkcyh0aW1lMiwgdGltZUVuZDIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSW5uZXI6Iik7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkT2JqZWN0KHN0YXRzMik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKG1vZGVs
LCAiX2NyZWF0ZUZpbGVSZWFkZXIiLCBjcmVhdGVGaWxlUmVhZGVyKTsKKyAgICBtb2RlbC5sb2Fk
RnJvbUZpbGUoe30sIG5ldyBXZWJJbnNwZWN0b3IuUHJvZ3Jlc3MoKSk7Cit9CisKKzwvc2NyaXB0
PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGltZSBh
Z2dyZWdhdGlvbiBiZXR3ZWVuIHRpbWUvdGltZUVuZCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk4MzAiPihCdWcgOTk4MzApPC9hPgorPC9wPgorCis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171429</attachid>
            <date>2012-10-30 05:50:05 -0700</date>
            <delta_ts>2012-11-07 08:09:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99830-20121030164829.patch</filename>
            <type>text/plain</type>
            <size>21766</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzExYWIzZTNhMmRhMWVk
ZTkxODMwMmNhZTE3NjE4ZDY4OTE3MDI1Mi4uNWU5YjE1MzkxNGVhMTg3NmM1YzczYmE0ZTM0OTcz
MmJjMzMyZTNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTIzICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTaG93IGFnZ3JlZ2F0ZWQgdGltZSBiZXR3ZWVuIGNvcnJlc3BvbmRpbmcgdGltZS90
aW1lRW5kIHJlY29yZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGNvbnNvbGUudGltZSAvIGNvbnNvbGUudGltZUVuZCBhcmUgdXNlZCB0byBtZWFzdXJl
IGhvdyBsb25nIHNvbWUKKyAgICAgICAgcHJvY2VzcyB0YWtlcy4gVGhpcyBwYXRjaCBtYWtlcyB0
aGlzIGZlYXR1cmUgbW9yZSB1c2VmdWwgLSBub3cKKyAgICAgICAgYWdncmVnYXRlZCBzdGF0aXN0
aWNzIGlzIHNob3duIGZvciBtZWFzdXJlZCBpbnRlcnZhbC4KKworICAgICAgICBXaXRoIHRoaXMg
cGF0Y2ggInRpbWUiIHJlY29yZCBpcyBwdWxsZWQgdG8gdGhlIHRvcCBsZXZlbCBvbmx5IGlmIGds
dWluZworICAgICAgICBpcyBvbi4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qczogQWRkZWQgIk1lc3NhZ2UiIHN0cmluZy4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IFJlbW92ZWQgInBhcmVudFJlY29yZCIgcGFyYW0u
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVj
b3JkKToKKyAgICAgICAgQWRkZWQgIm9yaWdpbiIgZmllbGQuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZVBv
cHVwQ29udGVudFdpdGhJbWFnZVByZXZpZXcpOgorICAgICAgICBBZGRlZCBzaG93aW5nIG1lc3Nh
Z2UgYW5kIGFnZ3JlZ2F0ZWQgc3RhdGlzdGljcyBmb3IgInRpbWUiIGFuZCAidGltZUVuZCIKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxjdWxhdGVB
Z2dyZWdhdGVkU3RhdHNCZXR3ZWVuUmVjb3Jkcyk6CisgICAgICAgIFRoaXMgbWV0aG9kIGNhbGN1
bGF0ZXMgYWdncmVnZWdhdGVkIHN0YXRpc3RpY3MgaW4gdGltZSBpbnRlcnZhbCBiZXR3ZWVuCisg
ICAgICAgIHRoZSB0d28gZ2l2ZXIgZm9ybWF0dGVkIHJlY29yZHMuCisKIDIwMTItMTAtMzAgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCBjcmFzaCBieSBj
YWxlbmRhciBwaWNrZXIgb3Igc3VnZ2VzdGlvbiBwaWNrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCA1MTA1NWYxOTEyZTQ5ZDE5
Nzc0NDJlYmQ3MTY5NzA4Mzk3NWRiMDYxLi43NDVlOGZiNzZhMjM4ZWU4NTAwNGVjODMyZTIyYTEw
YWQ1Njk5ODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzCkBAIC03MDksNiArNzA5LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siTm90ZSJd
ID0gIk5vdGUiOwogbG9jYWxpemVkU3RyaW5nc1siRm9yY2VkIHN5bmNocm9ub3VzIGxheW91dCBp
cyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2suIl0gPSAiRm9yY2VkIHN5bmNocm9u
b3VzIGxheW91dCBpcyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2suIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIlN0eWxlcyBpbnZhbGlkYXRlZCJdID0gIlN0eWxlcyBpbnZhbGlkYXRlZCI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJTdHlsZXMgcmVjYWxjdWxhdGlvbiBmb3JjZWQiXSA9ICJTdHls
ZXMgcmVjYWxjdWxhdGlvbiBmb3JjZWQiOworbG9jYWxpemVkU3RyaW5nc1siTWVzc2FnZSJdID0g
Ik1lc3NhZ2UiOwogbG9jYWxpemVkU3RyaW5nc1siTGF5b3V0IGludmFsaWRhdGVkIl0gPSAiTGF5
b3V0IGludmFsaWRhdGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbIkxheW91dCBmb3JjZWQiXSA9ICJM
YXlvdXQgZm9yY2VkIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhdXNlZCBvbiBhc3NlcnRpb24uIl0g
PSAiUGF1c2VkIG9uIGFzc2VydGlvbi4iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDE1YzlhNWI4Zjc4OGJhZTFmMjMy
YTNlZWUxNjJjMjdiMDIxY2QzODEuLmYzYTllYjMxOTA1ZTExMDMxNTEzNzM4MmMyZTk5Yzg5Y2Iw
MWI3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lUGFuZWwuanMKQEAgLTU1MywxNyArNTUzLDE3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fYXV0b21hdGljYWxseVNpemVXaW5k
b3cgPSBmYWxzZTsKICAgICAgICAgdmFyIHJlY29yZHMgPSB0aGlzLl9tb2RlbC5yZWNvcmRzOwog
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAg
ICAgICB0aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUocmVjb3Jkc1tpXSwgdGhpcy5fcm9v
dFJlY29yZCgpKTsKKyAgICAgICAgICAgIHRoaXMuX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZShy
ZWNvcmRzW2ldKTsKICAgICAgICAgdGhpcy5faW52YWxpZGF0ZUFuZFNjaGVkdWxlUmVmcmVzaChm
YWxzZSk7CiAgICAgfSwKIAogICAgIF9vblRpbWVsaW5lRXZlbnRSZWNvcmRlZDogZnVuY3Rpb24o
ZXZlbnQpCiAgICAgewotICAgICAgICBpZiAodGhpcy5faW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5l
KGV2ZW50LmRhdGEsIHRoaXMuX3Jvb3RSZWNvcmQoKSkpCisgICAgICAgIGlmICh0aGlzLl9pbm5l
ckFkZFJlY29yZFRvVGltZWxpbmUoZXZlbnQuZGF0YSkpCiAgICAgICAgICAgICB0aGlzLl9pbnZh
bGlkYXRlQW5kU2NoZWR1bGVSZWZyZXNoKGZhbHNlKTsKICAgICB9LAogCi0gICAgX2lubmVyQWRk
UmVjb3JkVG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3JkLCBwYXJlbnRSZWNvcmQpCisgICAgX2lu
bmVyQWRkUmVjb3JkVG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3JkKQogICAgIHsKICAgICAgICAg
aWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBl
LlByb2dyYW0pIHsKICAgICAgICAgICAgIHRoaXMuX21haW5UaHJlYWRUYXNrcy5wdXNoKHsKQEAg
LTU3Miw3ICs1NzIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAgIHZhciByZWNvcmRzID0gdGhp
cy5fcHJlc2VudGF0aW9uTW9kZWwuYWRkUmVjb3JkKHJlY29yZCwgcGFyZW50UmVjb3JkKTsKKyAg
ICAgICAgdmFyIHJlY29yZHMgPSB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5hZGRSZWNvcmQocmVj
b3JkKTsKICAgICAgICAgdGhpcy5fYWxsUmVjb3Jkc0NvdW50ICs9IHJlY29yZHMubGVuZ3RoOwog
ICAgICAgICB2YXIgdGltZVN0YW1wUmVjb3JkcyA9IHRoaXMuX3RpbWVTdGFtcFJlY29yZHM7CiAg
ICAgICAgIHZhciBoYXNWaXNpYmxlUmVjb3JkcyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlv
bk1vZGVsLmpzCmluZGV4IDcwMjBkMWFhMzc3MWExMjk0NDQ2YTk4NjBmN2VjMjQ1ZjI5YTYzMWYu
LmJiYWVjMjIzYzgzOTg5YTQ5ZGE5MGJkMGQyOGQ0MDcyYjZhM2Y2NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMKQEAgLTI1Nyw3ICsyNTcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHRoaXMuX2xpbmtpZmllci5yZXNldCgpOwotICAgICAgICB0aGlzLl9y
b290UmVjb3JkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJl
Y29yZCh0aGlzLCB7IHR5cGU6IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUu
Um9vdCB9LCBudWxsLCBudWxsLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX3Jvb3RSZWNvcmQgPSBu
ZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkKHRoaXMsIHsg
dHlwZTogV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5Sb290IH0sIG51bGws
IG51bGwsIG51bGwsIGZhbHNlKTsKICAgICAgICAgdGhpcy5fc2VuZFJlcXVlc3RSZWNvcmRzID0g
e307CiAgICAgICAgIHRoaXMuX3NjaGVkdWxlZFJlc291cmNlUmVxdWVzdHMgPSB7fTsKICAgICAg
ICAgdGhpcy5fdGltZXJSZWNvcmRzID0ge307CkBAIC0yNzQsNyArMjc0LDcgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
Ll9mcmFtZXMucHVzaChmcmFtZSk7CiAgICAgfSwKIAotICAgIGFkZFJlY29yZDogZnVuY3Rpb24o
cmVjb3JkLCBwYXJlbnRSZWNvcmQpCisgICAgYWRkUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpCiAg
ICAgewogICAgICAgICBpZiAodGhpcy5fbWluaW11bVJlY29yZFRpbWUgPT09IC0xIHx8IHJlY29y
ZC5zdGFydFRpbWUgPCB0aGlzLl9taW5pbXVtUmVjb3JkVGltZSkKICAgICAgICAgICAgIHRoaXMu
X21pbmltdW1SZWNvcmRUaW1lID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuc3RhcnRUaW1l
SW5TZWNvbmRzKHJlY29yZCk7CkBAIC0yODgsNyArMjg4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB2YXIgZm9ybWF0dGVk
UmVjb3JkcyA9IFtdOwogICAgICAgICB2YXIgcmVjb3Jkc0NvdW50ID0gcmVjb3Jkcy5sZW5ndGg7
CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkc0NvdW50OyArK2kpCi0gICAgICAg
ICAgICBmb3JtYXR0ZWRSZWNvcmRzLnB1c2godGhpcy5faW5uZXJBZGRSZWNvcmQocmVjb3Jkc1tp
XSwgcGFyZW50UmVjb3JkKSk7CisgICAgICAgICAgICBmb3JtYXR0ZWRSZWNvcmRzLnB1c2godGhp
cy5faW5uZXJBZGRSZWNvcmQocmVjb3Jkc1tpXSwgdGhpcy5fcm9vdFJlY29yZCkpOwogICAgICAg
ICByZXR1cm4gZm9ybWF0dGVkUmVjb3JkczsKICAgICB9LAogCkBAIC0yOTYsMTQgKzI5NiwxMiBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAg
ICAgewogICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGU7CiAgICAgICAgIHZhciBpc0hpZGRlblJlY29yZCA9IHJlY29yZC50eXBl
IGluIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9oaWRkZW5SZWNvcmRz
OwotICAgICAgICB2YXIgY29ubmVjdGVkVG9PbGRSZWNvcmQgPSBmYWxzZTsKLSAgICAgICAgaWYg
KHJlY29yZC50eXBlID09PSByZWNvcmRUeXBlcy5UaW1lKQotICAgICAgICAgICAgcGFyZW50UmVj
b3JkID0gdGhpcy5fcm9vdFJlY29yZDsKLSAgICAgICAgZWxzZSBpZiAoIWlzSGlkZGVuUmVjb3Jk
KSB7CisgICAgICAgIHZhciBvcmlnaW47CisgICAgICAgIGlmICghaXNIaWRkZW5SZWNvcmQpIHsK
ICAgICAgICAgICAgIHZhciBuZXdQYXJlbnRSZWNvcmQgPSB0aGlzLl9maW5kUGFyZW50UmVjb3Jk
KHJlY29yZCk7CiAgICAgICAgICAgICBpZiAobmV3UGFyZW50UmVjb3JkKSB7CisgICAgICAgICAg
ICAgICAgb3JpZ2luID0gcGFyZW50UmVjb3JkOwogICAgICAgICAgICAgICAgIHBhcmVudFJlY29y
ZCA9IG5ld1BhcmVudFJlY29yZDsKLSAgICAgICAgICAgICAgICBjb25uZWN0ZWRUb09sZFJlY29y
ZCA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMzI3LDcgKzMyNSw3IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHZhciBmb3JtYXR0ZWRSZWNvcmQgPSBu
ZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkKHRoaXMsIHJl
Y29yZCwgcGFyZW50UmVjb3JkLCBzY3JpcHREZXRhaWxzLCBpc0hpZGRlblJlY29yZCk7CisgICAg
ICAgIHZhciBmb3JtYXR0ZWRSZWNvcmQgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2Vu
dGF0aW9uTW9kZWwuUmVjb3JkKHRoaXMsIHJlY29yZCwgcGFyZW50UmVjb3JkLCBvcmlnaW4sIHNj
cmlwdERldGFpbHMsIGlzSGlkZGVuUmVjb3JkKTsKIAogICAgICAgICBpZiAoaXNIaWRkZW5SZWNv
cmQpCiAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkUmVjb3JkOwpAQCAtMzQwLDkgKzMzOCw5
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsK
IAogICAgICAgICBmb3JtYXR0ZWRSZWNvcmQuY2FsY3VsYXRlQWdncmVnYXRlZFN0YXRzKFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmNhdGVnb3JpZXMoKSk7CiAKLSAgICAg
ICAgaWYgKGNvbm5lY3RlZFRvT2xkUmVjb3JkKSB7CisgICAgICAgIGlmIChvcmlnaW4pIHsKICAg
ICAgICAgICAgIHJlY29yZCA9IGZvcm1hdHRlZFJlY29yZDsKLSAgICAgICAgICAgIGRvIHsKKyAg
ICAgICAgICAgIHdoaWxlIChyZWNvcmQucGFyZW50ICE9PSB0aGlzLl9yb290UmVjb3JkKSB7CiAg
ICAgICAgICAgICAgICAgdmFyIHBhcmVudCA9IHJlY29yZC5wYXJlbnQ7CiAgICAgICAgICAgICAg
ICAgcGFyZW50Ll9jcHVUaW1lICs9IGZvcm1hdHRlZFJlY29yZC5fY3B1VGltZTsKICAgICAgICAg
ICAgICAgICBpZiAocGFyZW50Lmxhc3RDaGlsZEVuZFRpbWUgPCByZWNvcmQubGFzdENoaWxkRW5k
VGltZSkKQEAgLTM1MCw3ICszNDgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRp
b25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgY2F0ZWdvcnkg
aW4gZm9ybWF0dGVkUmVjb3JkLmFnZ3JlZ2F0ZWRTdGF0cykKICAgICAgICAgICAgICAgICAgICAg
cGFyZW50LmFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV0gKz0gZm9ybWF0dGVkUmVjb3JkLmFnZ3Jl
Z2F0ZWRTdGF0c1tjYXRlZ29yeV07CiAgICAgICAgICAgICAgICAgcmVjb3JkID0gcGFyZW50Owot
ICAgICAgICAgICAgfSB3aGlsZSAocmVjb3JkLnBhcmVudCk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAocGFyZW50UmVjb3JkICE9PSB0aGlzLl9yb290
UmVjb3JkKQogICAgICAgICAgICAgICAgIHBhcmVudFJlY29yZC5zZWxmVGltZSAtPSBmb3JtYXR0
ZWRSZWNvcmQuZW5kVGltZSAtIGZvcm1hdHRlZFJlY29yZC5zdGFydFRpbWU7CkBAIC0zNzksNiAr
Mzc3LDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBl
ID0gewogICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkZpcmVBbmltYXRpb25GcmFtZToKICAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVSZWNvcmRzW3JlY29yZC5k
YXRhWyJpZCJdXTsKIAorICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWU6CisgICAgICAgICAg
ICByZXR1cm4gdGhpcy5fcm9vdFJlY29yZDsKKwogICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRp
bWVFbmQ6CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdGltZVJlY29yZHNbcmVjb3JkLmRhdGFb
Im1lc3NhZ2UiXV07CiAgICAgICAgIH0KQEAgLTQ1MCwxMCArNDUxLDExIEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWx9IHByZXNlbnRhdGlvbk1vZGVsCiAg
KiBAcGFyYW0ge09iamVjdH0gcmVjb3JkCiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UaW1lbGlu
ZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gcGFyZW50UmVjb3JkCisgKiBAcGFyYW0ge1dlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gb3JpZ2luCiAgKiBAcGFy
YW0ge09iamVjdHx1bmRlZmluZWR9IHNjcmlwdERldGFpbHMKICAqIEBwYXJhbSB7Ym9vbGVhbn0g
aGlkZGVuCiAgKi8KLVdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29y
ZCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNvcmQsIHBhcmVudFJlY29yZCwgc2Ny
aXB0RGV0YWlscywgaGlkZGVuKQorV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9k
ZWwuUmVjb3JkID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWwsIHJlY29yZCwgcGFyZW50UmVj
b3JkLCBvcmlnaW4sIHNjcmlwdERldGFpbHMsIGhpZGRlbikKIHsKICAgICB0aGlzLl9saW5raWZp
ZXIgPSBwcmVzZW50YXRpb25Nb2RlbC5fbGlua2lmaWVyOwogICAgIHRoaXMuX2FnZ3JlZ2F0ZWRT
dGF0cyA9IFtdOwpAQCAtNDYzLDYgKzQ2NSw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNl
bnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNvCiAg
ICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50UmVjb3JkOwogICAgICAgICBwYXJlbnRSZWNvcmQu
Y2hpbGRyZW4ucHVzaCh0aGlzKTsKICAgICB9CisgICAgaWYgKG9yaWdpbikKKyAgICAgICAgdGhp
cy5fb3JpZ2luID0gb3JpZ2luOwogCiAgICAgdGhpcy5fc2VsZlRpbWUgPSB0aGlzLmVuZFRpbWUg
LSB0aGlzLnN0YXJ0VGltZTsKICAgICB0aGlzLl9sYXN0Q2hpbGRFbmRUaW1lID0gdGhpcy5lbmRU
aW1lOwpAQCAtNTM2LDggKzU0MCwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRp
b25Nb2RlbC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25Nb2RlbCwgcmVjbwogICAgICAg
ICBicmVhazsKIAogICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZUVuZDoKLSAgICAgICAgdmFyIHRp
bWVSZWNvcmQgPSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29yZHNbcmVjb3JkLmRhdGFbIm1l
c3NhZ2UiXV07CisgICAgICAgIHZhciBtZXNzYWdlID0gcmVjb3JkLmRhdGFbIm1lc3NhZ2UiXTsK
KyAgICAgICAgdmFyIHRpbWVSZWNvcmQgPSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29yZHNb
bWVzc2FnZV07CisgICAgICAgIGRlbGV0ZSBwcmVzZW50YXRpb25Nb2RlbC5fdGltZVJlY29yZHNb
bWVzc2FnZV07CiAgICAgICAgIGlmICh0aW1lUmVjb3JkKSB7CisgICAgICAgICAgICB0aGlzLnRp
bWVSZWNvcmQgPSB0aW1lUmVjb3JkOworICAgICAgICAgICAgdGltZVJlY29yZC50aW1lRW5kUmVj
b3JkID0gdGhpczsKICAgICAgICAgICAgIHZhciBpbnRlcnZhbER1cmF0aW9uID0gdGhpcy5zdGFy
dFRpbWUgLSB0aW1lUmVjb3JkLnN0YXJ0VGltZTsKICAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWxE
dXJhdGlvbiA9IGludGVydmFsRHVyYXRpb247CiAgICAgICAgICAgICB0aW1lUmVjb3JkLmludGVy
dmFsRHVyYXRpb24gPSBpbnRlcnZhbER1cmF0aW9uOwpAQCAtNjAyLDYgKzYxMCw0NCBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewog
ICAgIH0sCiAKICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAg
IGlzUm9vdDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5Sb290OworICAgIH0sCisKKyAg
ICAvKioKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25N
b2RlbC5SZWNvcmR9CisgICAgICovCisgICAgcmV0cmlldmVUb3BMZXZlbFJlY29yZDogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgdmFyIHJlY29yZCA9IHRoaXM7CisgICAgICAgIGZvciAoOyBy
ZWNvcmQucGFyZW50OyByZWNvcmQgPSByZWNvcmQucGFyZW50KSB7CisgICAgICAgICAgICBpZiAo
cmVjb3JkLnBhcmVudC5pc1Jvb3QoKSkgeworICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQ7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwK
KworICAgIC8qKgorICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRh
dGlvbk1vZGVsLlJlY29yZH0KKyAgICAgKi8KKyAgICBnZXRPcmlnaW46IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLl9vcmlnaW4gfHwgdGhpcy5wYXJlbnQ7CisgICAgfSwK
KworICAgIC8qKgorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgaXNHbHVl
ZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuICEhdGhpcy5fb3JpZ2luOworICAg
IH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtBcnJheS48V2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkPn0KICAgICAgKi8KICAgICBnZXQgY2hpbGRyZW4o
KQpAQCAtNzM1LDEzICs3ODEsMTMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwuUmVjb3JkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIE51bWJlci5zZWNvbmRzVG9T
dHJpbmcodGhpcy5fc3RhcnRUaW1lT2Zmc2V0KSk7CiAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2Fw
cGVuZFRleHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEdXJhdGlvbiIpLCB0ZXh0KTsKIAot
ICAgICAgICBpZiAodGhpcy5fY2hpbGRyZW4ubGVuZ3RoKSB7CisgICAgICAgIGNvbnN0IHJlY29y
ZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZTsKKyAgICAgICAg
aWYgKHRoaXMuX2NoaWxkcmVuLmxlbmd0aCAmJiB0aGlzLnR5cGUgIT09IHJlY29yZFR5cGVzLlRp
bWUpIHsKICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJTZWxmIFRpbWUiKSwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9z
ZWxmVGltZSwgdHJ1ZSkpOwogICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJv
dyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNQVSBUaW1lIiksIE51bWJlci5zZWNvbmRzVG9TdHJp
bmcodGhpcy5fY3B1VGltZSwgdHJ1ZSkpOwogICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBw
ZW5kRWxlbWVudFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFnZ3JlZ2F0ZWQgVGltZSIpLAog
ICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9n
ZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvKHRoaXMuX2FnZ3JlZ2F0ZWRTdGF0cykpOwogICAgICAgICB9
Ci0gICAgICAgIGNvbnN0IHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZTsKIAogICAgICAgICAvLyBUaGUgbWVzc2FnZXMgbWF5IHZhcnkgcGVyIHJlY29y
ZCB0eXBlOwogICAgICAgICB2YXIgY2FsbFNpdGVTdGFja1RyYWNlTGFiZWw7CkBAIC04MDQsOCAr
ODUwLDE2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIHJl
Y29yZFR5cGVzLlRpbWU6CiAgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWVFbmQ6Cisg
ICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIk1lc3NhZ2UiKSwgdGhpcy5kYXRhWyJtZXNzYWdlIl0pOwogICAgICAgICAgICAg
ICAgIGlmICh0eXBlb2YgdGhpcy5pbnRlcnZhbER1cmF0aW9uID09PSAibnVtYmVyIikKICAgICAg
ICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkludGVydmFsIER1cmF0aW9uIiksIE51bWJlci5zZWNvbmRzVG9TdHJpbmcodGhp
cy5pbnRlcnZhbER1cmF0aW9uLCB0cnVlKSk7CisgICAgICAgICAgICAgICAgdmFyIGhlYWQgPSAo
dGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5UaW1lKSA/IHRoaXMgOiB0aGlzLnRpbWVSZWNvcmQ7
CisgICAgICAgICAgICAgICAgdmFyIHRhaWwgPSAodGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5U
aW1lRW5kKSA/IHRoaXMgOiB0aGlzLnRpbWVFbmRSZWNvcmQ7CisgICAgICAgICAgICAgICAgaWYg
KGhlYWQgJiYgdGFpbCkgeworICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdHMgPSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5fY2FsY3VsYXRlQWdncmVnYXRlZFN0YXRz
QmV0d2VlblJlY29yZHMoaGVhZCwgdGFpbCk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRI
ZWxwZXIuX2FwcGVuZEVsZW1lbnRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBZ2dyZWdhdGVk
IFRpbWUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVBy
ZXNlbnRhdGlvbk1vZGVsLl9nZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvKHN0YXRzKSk7CisgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoK
ICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZXRhaWxzKCkpCkBAIC04ODcsNiArOTQxLDggQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlw
ZS5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZToKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZUZpbmlzaDoKICAgICAgICAgICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKHRoaXMudXJsKTsKKyAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5UaW1lOgor
ICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRp
bWVFbmQ6CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUuVGltZVN0YW1wOgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFbIm1lc3Nh
Z2UiXTsKICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC05NjIsNiArMTAxOCw2MyBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogfQog
CiAvKioKKyAqIEBwYXJhbSB7IVdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVs
LlJlY29yZH0gaGVhZAorICogQHBhcmFtIHshV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwuUmVjb3JkfSB0YWlsCisgKiBAcmV0dXJuIHtPYmplY3R9CisgKi8KK1dlYkluc3Bl
Y3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxjdWxhdGVBZ2dyZWdhdGVkU3RhdHNC
ZXR3ZWVuUmVjb3JkcyA9IGZ1bmN0aW9uKGhlYWQsIHRhaWwpCit7CisgICAgdmFyIGNhdGVnb3Jp
ZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5jYXRlZ29yaWVzKCk7
CisKKyAgICBmdW5jdGlvbiBwYXJ0aWFsU3RhdHMocmVjb3JkKQorICAgIHsKKyAgICAgICAgdmFy
IHN0YXRzID0ge307CisgICAgICAgIGZvciAodmFyIGNhdGVnb3J5IGluIGNhdGVnb3JpZXMpCisg
ICAgICAgICAgICBzdGF0c1tjYXRlZ29yeV0gPSAwOworCisgICAgICAgIHZhciBib3VuZHJ5VGlt
ZSA9IHJlY29yZC5zdGFydFRpbWU7CisgICAgICAgIHZhciBwcm9jZXNzZWRUaW1lID0gMDsKKyAg
ICAgICAgZm9yIChyZWNvcmQgPSByZWNvcmQuZ2V0T3JpZ2luKCk7ICFyZWNvcmQuaXNSb290KCk7
IHJlY29yZCA9IHJlY29yZC5wYXJlbnQpIHsKKyAgICAgICAgICAgIHZhciBlbmRUaW1lID0gcmVj
b3JkLmVuZFRpbWUgPiBib3VuZHJ5VGltZSA/IGJvdW5kcnlUaW1lIDogcmVjb3JkLmVuZFRpbWU7
CisgICAgICAgICAgICB2YXIgc2VsZlRpbWUgPSBlbmRUaW1lIC0gcmVjb3JkLnN0YXJ0VGltZSAt
IHByb2Nlc3NlZFRpbWU7CisgICAgICAgICAgICBmb3IgKHZhciBpbmRleCA9IHJlY29yZC5fY2hp
bGRyZW4ubGVuZ3RoOyBpbmRleDsgLS1pbmRleCkgeworICAgICAgICAgICAgICAgIHZhciBjaGls
ZCA9IHJlY29yZC5fY2hpbGRyZW5baW5kZXggLSAxXTsKKyAgICAgICAgICAgICAgICBpZiAoY2hp
bGQuZW5kVGltZSA+PSBib3VuZHJ5VGltZSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5pc0dsdWVkKCkpCisgICAgICAgICAgICAgICAg
ICAgIHNlbGZUaW1lIC09IGNoaWxkLmVuZFRpbWUgLSBjaGlsZC5zdGFydFRpbWU7CisgICAgICAg
ICAgICAgICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKKyAgICAgICAgICAgICAg
ICAgICAgc3RhdHNbY2F0ZWdvcnldICs9IGNoaWxkLl9hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnld
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RhdHNbcmVjb3JkLmNhdGVnb3J5Lm5hbWVd
ICs9IHNlbGZUaW1lOworICAgICAgICAgICAgcHJvY2Vzc2VkVGltZSA9IGVuZFRpbWUgLSByZWNv
cmQuc3RhcnRUaW1lOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzdGF0czsKKyAgICB9CisK
KyAgICB2YXIgaGVhZFN0YXRzID0gcGFydGlhbFN0YXRzKGhlYWQpOworICAgIHZhciB0YWlsU3Rh
dHMgPSBwYXJ0aWFsU3RhdHModGFpbCk7CisgICAgdmFyIHN0YXRzID0ge307CisgICAgZm9yICh2
YXIgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKKyAgICAgICAgc3RhdHNbY2F0ZWdvcnldID0gdGFp
bFN0YXRzW2NhdGVnb3J5XSAtIGhlYWRTdGF0c1tjYXRlZ29yeV07CisKKyAgICB2YXIgaGVhZFRv
cCA9IGhlYWQuZ2V0T3JpZ2luKCkucmV0cmlldmVUb3BMZXZlbFJlY29yZCgpOworICAgIHZhciB0
YWlsVG9wID0gdGFpbC5nZXRPcmlnaW4oKS5yZXRyaWV2ZVRvcExldmVsUmVjb3JkKCk7CisgICAg
aWYgKGhlYWRUb3AgIT09IHRhaWxUb3ApIHsKKyAgICAgICAgdmFyIHJvb3RSZWNvcmQgPSBoZWFk
VG9wLnBhcmVudDsKKyAgICAgICAgZm9yICh2YXIgaW5kZXggPSByb290UmVjb3JkLmNoaWxkcmVu
Lmxlbmd0aDsgaW5kZXg7IC0taW5kZXgpIHsKKyAgICAgICAgICAgIHZhciBjaGlsZCA9IHJvb3RS
ZWNvcmQuY2hpbGRyZW5baW5kZXggLSAxXTsKKyAgICAgICAgICAgIGlmIChjaGlsZC5zdGFydFRp
bWUgPj0gaGVhZFRvcC5zdGFydFRpbWUgJiYgY2hpbGQuZW5kVGltZSA8IHRhaWxUb3Auc3RhcnRU
aW1lICYmIGNoaWxkLmFnZ3JlZ2F0ZWRTdGF0cykgeworICAgICAgICAgICAgICAgIHZhciBhZ2dy
ZWdhdGVkU3RhdHMgPSBjaGlsZC5hZ2dyZWdhdGVkU3RhdHM7CisgICAgICAgICAgICAgICAgZm9y
ICh2YXIgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKKyAgICAgICAgICAgICAgICAgICAgc3RhdHNb
Y2F0ZWdvcnldICs9IGFnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV07CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHN0YXRzOworfQorCisvKioKICAqIEBwYXJhbSB7
T2JqZWN0fSBhZ2dyZWdhdGVkU3RhdHMKICAqLwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2Vu
dGF0aW9uTW9kZWwuX2dlbmVyYXRlQWdncmVnYXRlZEluZm8gPSBmdW5jdGlvbihhZ2dyZWdhdGVk
U3RhdHMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtYWdncmVnYXRlLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFnZ3JlZ2F0ZS1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NzcyODgxYzZhZWNhOGY3MzhhNjUwZDdlYmY1ZTg0MzA4MzIzY2EyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWFn
Z3JlZ2F0ZS1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitUZXN0IHRp
bWUgYWdncmVnYXRpb24gYmV0d2VlbiB0aW1lL3RpbWVFbmQgKEJ1ZyA5OTgzMCkKKworT3V0ZXI6
Cit7CisgICAgbG9hZGluZyA6IDAKKyAgICBwYWludGluZyA6IDAKKyAgICBwcm9ncmFtIDogMAor
ICAgIHJlbmRlcmluZyA6IDAuMDAxMDAwMDAwMDAwMDAwMDAwOQorICAgIHNjcmlwdGluZyA6IDAu
MDEwOTk5OTk5OTk5OTk5OTk2Cit9CisKK0lubmVyOgoreworICAgIGxvYWRpbmcgOiAwCisgICAg
cGFpbnRpbmcgOiAwCisgICAgcHJvZ3JhbSA6IDAKKyAgICByZW5kZXJpbmcgOiAwLjAwMTAwMDAw
MDAwMDAwMDAwMDkKKyAgICBzY3JpcHRpbmcgOiAwLjAwMjk5OTk5OTk5OTk5OTk5OQorfQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYWdncmVn
YXRlLXN0YXRpc3RpY3MuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1hZ2dyZWdhdGUtc3RhdGlzdGljcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMTdlYWU3N2JiYjFh
NzdjOTNkNzEwZGU3NWIxMGI5NjkwY2MxYzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtYWdncmVnYXRlLXN0YXRpc3RpY3MuaHRtbApA
QCAtMCwwICsxLDkyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJ0aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInRpbWVsaW5lIik7CisKKyAgICB2YXIg
ZGF0YSA9IFsiVmVyc2lvbiIsCisgICAgICAgIHsic3RhcnRUaW1lIjoxMywiZGF0YSI6e30sImVu
ZFRpbWUiOjE5LCJ0eXBlIjoiUHJvZ3JhbSIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICB7InN0
YXJ0VGltZSI6MTQsImRhdGEiOnsidHlwZSI6ImNsaWNrIn0sImVuZFRpbWUiOjE4LCJ0eXBlIjoi
RXZlbnREaXNwYXRjaCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4iOlsKKyAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6MTUsImRhdGEiOnsic2NyaXB0TmFtZSI6ImZvby5odG1sIiwic2NyaXB0
TGluZSI6N30sImVuZFRpbWUiOjE3LCJ0eXBlIjoiRnVuY3Rpb25DYWxsIiwiZnJhbWVJZCI6IjIi
LCJjaGlsZHJlbiI6WworICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTYsImRhdGEi
OnsibWVzc2FnZSI6ImhlbGxvIn0sInR5cGUiOiJUaW1lIiwiZnJhbWVJZCI6IjIifQorICAgICAg
ICAgICAgICAgIF19CisgICAgICAgICAgICBdfQorICAgICAgICBdfSwKKyAgICAgICAgeyJzdGFy
dFRpbWUiOjI1LCJkYXRhIjp7fSwiZW5kVGltZSI6MzUsInR5cGUiOiJQcm9ncmFtIiwiY2hpbGRy
ZW4iOlsKKyAgICAgICAgICAgIHsic3RhcnRUaW1lIjoyNiwiZGF0YSI6eyJ0eXBlIjoiY2xpY2si
fSwiZW5kVGltZSI6MzQsInR5cGUiOiJFdmVudERpc3BhdGNoIiwiZnJhbWVJZCI6IjIiLCJjaGls
ZHJlbiI6WworICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoyNywiZGF0YSI6eyJzY3JpcHRO
YW1lIjoiZm9vLmh0bWwiLCJzY3JpcHRMaW5lIjoxNX0sImVuZFRpbWUiOjMzLCJ0eXBlIjoiRnVu
Y3Rpb25DYWxsIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WworICAgICAgICAgICAgICAgICAg
ICB7InN0YXJ0VGltZSI6MjgsImRhdGEiOnsibWVzc2FnZSI6ImJvb20ifSwidHlwZSI6IlRpbWUi
LCJmcmFtZUlkIjoiMiJ9LAorICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MjksImRh
dGEiOnt9LCJ0eXBlIjoiU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24iLCJmcmFtZUlkIjoiMiJ9
LAorICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MzAsImRhdGEiOnt9LCJjaGlsZHJl
biI6W10sImVuZFRpbWUiOjMxLCJ0eXBlIjoiUmVjYWxjdWxhdGVTdHlsZXMiLCJmcmFtZUlkIjoi
MiJ9LAorICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MzIsImRhdGEiOnsibWVzc2Fn
ZSI6ImJvb20ifSwidHlwZSI6IlRpbWVFbmQiLCJmcmFtZUlkIjoiMiJ9CisgICAgICAgICAgICAg
ICAgXX0KKyAgICAgICAgICAgIF19CisgICAgICAgIF19LAorICAgICAgICB7InN0YXJ0VGltZSI6
NDEsImRhdGEiOnt9LCJlbmRUaW1lIjo0NywidHlwZSI6IlByb2dyYW0iLCJjaGlsZHJlbiI6Wwor
ICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQyLCJkYXRhIjp7InR5cGUiOiJjbGljayJ9LCJlbmRU
aW1lIjo0NiwidHlwZSI6IkV2ZW50RGlzcGF0Y2giLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpb
CisgICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQzLCJkYXRhIjp7InNjcmlwdE5hbWUiOiJm
b28uaHRtbCIsInNjcmlwdExpbmUiOjExfSwiZW5kVGltZSI6NDUsInR5cGUiOiJGdW5jdGlvbkNh
bGwiLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCisgICAgICAgICAgICAgICAgICAgIHsic3Rh
cnRUaW1lIjo0NCwiZGF0YSI6eyJtZXNzYWdlIjoiaGVsbG8ifSwidHlwZSI6IlRpbWVFbmQiLCJm
cmFtZUlkIjoiMiJ9CisgICAgICAgICAgICAgICAgXX0KKyAgICAgICAgICAgIF19CisgICAgICAg
IF19CisgICAgXTsKKworICAgIHZhciBpbnB1dCA9IEpTT04uc3RyaW5naWZ5KGRhdGEpOworICAg
IHZhciBtb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsOworICAgIHZh
ciBwcmVzZW50YXRpb25Nb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX3ByZXNl
bnRhdGlvbk1vZGVsOworICAgIHByZXNlbnRhdGlvbk1vZGVsLnNldEdsdWVSZWNvcmRzKHRydWUp
OworCisgICAgZnVuY3Rpb24gY3JlYXRlRmlsZVJlYWRlcihmaWxlLCBkZWxlZ2F0ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBuZXcgSW5zcGVjdG9yVGVzdC5GYWtlRmlsZVJlYWRlcihpbnB1dCwg
ZGVsZWdhdGUsIG9uRGF0YUxvYWRlZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25EYXRhTG9h
ZGVkKCkKKyAgICB7CisgICAgICAgIHZhciByb290ID0gcHJlc2VudGF0aW9uTW9kZWwucm9vdFJl
Y29yZCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyg1LCByb290LmNoaWxk
cmVuLmxlbmd0aCk7CisKKyAgICAgICAgdmFyIHRpbWUxID0gcm9vdC5jaGlsZHJlblsxXTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoIlRpbWUiLCB0aW1lMS50eXBlKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMSwgdGltZTEuY2hpbGRyZW4ubGVuZ3Ro
KTsKKyAgICAgICAgdmFyIHRpbWVFbmQxID0gdGltZTEuY2hpbGRyZW5bMF07CisgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lRW5kIiwgdGltZUVuZDEudHlwZSk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRpbWUxLCB0aW1lRW5kMS50aW1lUmVjb3Jk
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModGltZUVuZDEsIHRpbWUxLnRp
bWVFbmRSZWNvcmQpOworICAgICAgICB2YXIgc3RhdHMxID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwuX2NhbGN1bGF0ZUFnZ3JlZ2F0ZWRTdGF0c0JldHdlZW5SZWNvcmRz
KHRpbWUxLCB0aW1lRW5kMSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJPdXRl
cjoiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3Qoc3RhdHMxKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworCisgICAgICAgIHZhciB0aW1lMiA9IHJvb3Qu
Y2hpbGRyZW5bM107CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lIiwg
dGltZTIudHlwZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDEsIHRpbWUy
LmNoaWxkcmVuLmxlbmd0aCk7CisgICAgICAgIHZhciB0aW1lRW5kMiA9IHRpbWUyLmNoaWxkcmVu
WzBdOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygiVGltZUVuZCIsIHRpbWVF
bmQyLnR5cGUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0aW1lMiwgdGlt
ZUVuZDIudGltZVJlY29yZCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRp
bWVFbmQyLCB0aW1lMi50aW1lRW5kUmVjb3JkKTsKKyAgICAgICAgdmFyIHN0YXRzMiA9IFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9jYWxjdWxhdGVBZ2dyZWdhdGVkU3Rh
dHNCZXR3ZWVuUmVjb3Jkcyh0aW1lMiwgdGltZUVuZDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiSW5uZXI6Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KHN0
YXRzMik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisK
KyAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKG1vZGVsLCAiX2NyZWF0ZUZpbGVSZWFkZXIiLCBj
cmVhdGVGaWxlUmVhZGVyKTsKKyAgICBtb2RlbC5sb2FkRnJvbUZpbGUoe30sIG5ldyBXZWJJbnNw
ZWN0b3IuUHJvZ3Jlc3MoKSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGltZSBhZ2dyZWdhdGlvbiBiZXR3ZWVuIHRpbWUv
dGltZUVuZCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTk4MzAiPihCdWcgOTk4MzApPC9hPgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="185345"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>