<?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>30467</bug_id>
          
          <creation_ts>2009-10-16 15:41:25 -0700</creation_ts>
          <short_desc>Add DOMTimer support to InspectorTimelineAgent.</short_desc>
          <delta_ts>2009-11-30 06:32:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30257</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kelly Norton">knorton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
    
    <cc>zundel</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>155284</commentid>
    <comment_count>0</comment_count>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-16 15:41:25 -0700</bug_when>
    <thetext>Allows information about timers to be collected within inspector via the TimelineAgent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155288</commentid>
    <comment_count>1</comment_count>
      <attachid>41335</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-16 15:48:00 -0700</bug_when>
    <thetext>Created attachment 41335
Adds support for timers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155368</commentid>
    <comment_count>2</comment_count>
      <attachid>41335</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-16 23:28:56 -0700</bug_when>
    <thetext>Comment on attachment 41335
Adds support for timers.


&gt; +void InspectorTimelineAgent::didInstallTimer(int timerId, int timeout, bool singleShot)
&gt; +{
&gt; +    m_frontend-&gt;addItemToTimeline(TimerFireTimelineItem::newTimerInstallScriptObject(m_frontend, sessionTimeInMilliseconds(), timerId, timeout, singleShot));
&gt; +}
TimerF
It seems like you are pushing script objects right to the frontend, without keeping them in the controller. That is Ok for &apos;profile&apos; mode, but you don&apos;t need TimelineItem and TimerFireTimeline classes in that case. I&apos;d suggest that you do one of the following:

1) Get rid of these classes, leave only static factories for creating corresponding events. Glue them together on the frontend side so that you did not need m_currentTimelineItem.

2) Leave TimelineItem and TimerTimelineItem classes;
   Collect them into the timeline events vector within TimelineAgent;
   Create populateScriptObjects and resetScriptObjects methods in TimelineAgent and call them from within corresponding inspector controller methods;
   Provide a way for TimelineAgent to push events to the frontend on the fly if latter is available. (Either via passing inspector controller into the timeline agent or coming up with some specific interface).

My gut is telling me that (2) is better long term, but I can&apos;t really explain why. It seems that (1) is enough at the moment. But (2) allows capturing the state in the frontend-less mode and all other inspector controller metrics (including profiles) are supporting this mode.

Drive-by question: Should you introduce some kind of a bit set (or convert TimelineItemTypes consts into one) so that you could filter events based on some preferences. I am sure you will be doing filtering, but given the granularity of the events of your interest, it might make sense to filter on the inspector controller side.

I am putting r- because I&apos;d like to explore how InspectorController/InspectorFrontend interaction could be changed in order to allow you plugging your new agent in a more elegant manner. Please also share with me your thoughts on (1) vs (2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157665</commentid>
    <comment_count>3</comment_count>
      <attachid>41839</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-25 20:25:42 -0700</bug_when>
    <thetext>Created attachment 41839
Updated patch after changing over to ScriptObjects (bug 30707)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157666</commentid>
    <comment_count>4</comment_count>
      <attachid>41839</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-10-25 20:33:11 -0700</bug_when>
    <thetext>Comment on attachment 41839
Updated patch after changing over to ScriptObjects (bug 30707)

I like the term &quot;Record&quot; over &quot;TimelineItem&quot;. But I see the logic in the name change.

&gt; +    if (context-&gt;isDocument())
&gt; +        if (InspectorTimelineAgent* timelineAgent = static_cast&lt;Document*&gt;(context)-&gt;inspectorTimelineAgent())
&gt; +            timelineAgent-&gt;didInstallTimer(timer-&gt;m_timeoutId, timeout, singleShot);

There should be braces around the outer if() since it is multi-line inside.

This would be better as helper inline function that returns InspectorTimelineAgent* to share with the other spots in this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157667</commentid>
    <comment_count>5</comment_count>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-25 21:04:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 41839 [details])
&gt; I like the term &quot;Record&quot; over &quot;TimelineItem&quot;. But I see the logic in the name
&gt; change.
&gt; 
I can&apos;t remember why I got rid of &quot;Record&quot; but I like the term better too. How about I do a separate renaming patch?

&gt; &gt; +    if (context-&gt;isDocument())
&gt; &gt; +        if (InspectorTimelineAgent* timelineAgent = static_cast&lt;Document*&gt;(context)-&gt;inspectorTimelineAgent())
&gt; &gt; +            timelineAgent-&gt;didInstallTimer(timer-&gt;m_timeoutId, timeout, singleShot);
&gt; 
&gt; There should be braces around the outer if() since it is multi-line inside.
&gt;

Ok
 
&gt; This would be better as helper inline function that returns
&gt; InspectorTimelineAgent* to share with the other spots in this code.

Done ... uploading patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157668</commentid>
    <comment_count>6</comment_count>
      <attachid>41840</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-25 21:05:40 -0700</bug_when>
    <thetext>Created attachment 41840
Added inline function for inspectorTimelineAgent in DOMTimer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157681</commentid>
    <comment_count>7</comment_count>
      <attachid>41840</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-10-25 22:45:42 -0700</bug_when>
    <thetext>Comment on attachment 41840
Added inline function for inspectorTimelineAgent in DOMTimer.

&gt; +#if ENABLE(INSPECTOR)
&gt; +        static InspectorTimelineAgent* inspectorTimelineAgent(ScriptExecutionContext*);
&gt; +#endif
&gt; +
&gt;          int m_timeoutId;
&gt;          int m_nestingLevel;
&gt;          OwnPtr&lt;ScheduledAction&gt; m_action;
&gt; @@ -72,6 +79,15 @@ namespace WebCore {
&gt;          static double s_minTimerInterval;
&gt;      };
&gt;  
&gt; +#if ENABLE(INSPECTOR)
&gt; +inline InspectorTimelineAgent* DOMTimer::inspectorTimelineAgent(ScriptExecutionContext* context)
&gt; +{
&gt; +    if (context-&gt;isDocument())
&gt; +        return static_cast&lt;Document*&gt;(context)-&gt;inspectorTimelineAgent();
&gt; +    return 0;
&gt; +}
&gt; +#endif
&gt; +

I didn&apos;t realize this was static before. It would be good to have this as a static in InspectorTimelineAgent.h then.

Maybe as: InspectorTimelineAgent::inspectorTimelineAgent(ScriptExecutionContext* context)

Who else might need that same code?

Otherwise looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157782</commentid>
    <comment_count>8</comment_count>
      <attachid>41867</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-26 08:51:04 -0700</bug_when>
    <thetext>Created attachment 41867
Moved static method to InspectorTimelineAgent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157797</commentid>
    <comment_count>9</comment_count>
      <attachid>41871</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-26 09:29:10 -0700</bug_when>
    <thetext>Created attachment 41871
Forgot the JS constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157803</commentid>
    <comment_count>10</comment_count>
      <attachid>41871</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-26 09:47:01 -0700</bug_when>
    <thetext>Comment on attachment 41871
Forgot the JS constants.

Clearing flags on attachment: 41871

Committed r50068: &lt;http://trac.webkit.org/changeset/50068&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157804</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-26 09:47:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167228</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Ayers">zundel</who>
    <bug_when>2009-11-30 06:32:27 -0800</bug_when>
    <thetext>*** Bug 31372 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41335</attachid>
            <date>2009-10-16 15:48:00 -0700</date>
            <delta_ts>2009-10-25 20:25:42 -0700</delta_ts>
            <desc>Adds support for timers.</desc>
            <filename>TimelineAgentWithTimers.diff</filename>
            <type>text/plain</type>
            <size>21288</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA1MTgwOS4uZmMzYTMxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAwOS0xMC0xNiAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgRE9NVGltZXIgc3VwcG9ydCB0byBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzA0NjcKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkSW5zdGFsbFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmRpZFJlbW92ZVRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OndpbGxGaXJlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRmlyZVRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZUl0
ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVJdGVtOjpjb252ZXJ0VG9TY3JpcHRP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVJdGVtOjpwb3B1bGF0ZVNjcmlwdE9i
amVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lSXRlbS5oOgorICAgICAgICAoV2Vi
Q29yZTo6KToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZXJGaXJlVGltZWxpbmVJdGVtLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpUaW1lckZpcmVUaW1lbGluZUl0ZW06OlRpbWVyRmly
ZVRpbWVsaW5lSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckZpcmVUaW1lbGluZUl0ZW06
OmNvbnZlcnRUb1NjcmlwdE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckZpcmVUaW1l
bGluZUl0ZW06Om5ld1RpbWVySW5zdGFsbFNjcmlwdE9iamVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpUaW1lckZpcmVUaW1lbGluZUl0ZW06Om5ld1RpbWVyUmVtb3ZlU2NyaXB0T2JqZWN0KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvVGltZXJGaXJlVGltZWxpbmVJdGVtLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJGaXJlVGltZWxpbmVJdGVtOjp+VGltZXJGaXJlVGltZWxpbmVJdGVt
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanM6CisgICAg
ICAgICogcGFnZS9ET01UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5z
dGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3ZlQnlJZCk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorCiAyMDA5LTEwLTE2ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguICBBZGQg
YmFjayBNSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0gd2l0aCB0aGUgcmlnaHQKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGVj
MTA5OTguLjI0NGRmYWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTE4OSw2ICsxMTg5LDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlXZWJDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0UHJvZmlsZU5vZGUuaCBcCiAJ
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtLmNwcCBcCiAJV2ViQ29yZS9pbnNwZWN0b3Iv
VGltZWxpbmVJdGVtLmggXAorCVdlYkNvcmUvaW5zcGVjdG9yL1RpbWVyRmlyZVRpbWVsaW5lSXRl
bS5jcHAgXAorCVdlYkNvcmUvaW5zcGVjdG9yL1RpbWVyRmlyZVRpbWVsaW5lSXRlbS5oIFwKIAlX
ZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAgXAogCVdlYkNvcmUvbG9hZGVyL0NhY2hlLmggXAogCVdl
YkNvcmUvbG9hZGVyL0NhY2hlUG9saWN5LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA5OWQzMzkxLi5iN2YxOGJkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTUzMiw2ICsxNTMyLDggQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2YVNjcmlwdFBy
b2ZpbGVOb2RlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9UaW1lbGluZUl0ZW0uY3BwJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvVGltZWxpbmVJdGVtLmgnLAorICAgICAgICAgICAgJ2lu
c3BlY3Rvci9UaW1lckZpcmVUaW1lbGluZUl0ZW0uY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0
b3IvVGltZXJGaXJlVGltZWxpbmVJdGVtLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGUuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggMWMyZjAwOS4uMTUzNjhiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0zMTUyMyw2ICszMTUyMywxNCBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9y
XFRpbWVsaW5lSXRlbS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXFRpbWVyRmlyZVRpbWVsaW5lSXRlbS5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0
b3JcVGltZXJGaXJlVGltZWxpbmVJdGVtLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQogCQkJPEZp
bHRlcg0KIAkJCQlOYW1lPSJmcm9udC1lbmQiDQogCQkJCT4NCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE3ZTA3YTMuLjFhZTU0YTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTg5LDYgKzExODksOCBAQAog
CQk3NTA5MkJGRjEwNEI4MEY5MDAzREQxNjggLyogRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1MDkyQkZEMTA0
QjgwRjkwMDNERDE2OCAvKiBET01EaXNwYXRjaFRpbWVsaW5lSXRlbS5oICovOyB9OwogCQk3NTQx
MzNBODEwMkUwMEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU0MTMzQTcxMDJFMDBFODAw
MDc1RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCAqLzsgfTsKIAkJNzU0MTMzQUExMDJF
MDBGNDAwMDc1RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU0MTMzQTkxMDJFMDBGNDAwMDc1RDAw
IC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwICovOyB9OworCQk3NTZDOUI0MzEwODhDRUY4
MDBGOTZFMkEgLyogVGltZXJGaXJlVGltZWxpbmVJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTZDOUI0MTEwODhDRUY4MDBGOTZFMkEgLyogVGlt
ZXJGaXJlVGltZWxpbmVJdGVtLmggKi87IH07CisJCTc1NkM5QjQ0MTA4OENFRjgwMEY5NkUyQSAv
KiBUaW1lckZpcmVUaW1lbGluZUl0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzU2QzlCNDIxMDg4Q0VGODAwRjk2RTJBIC8qIFRpbWVyRmlyZVRp
bWVsaW5lSXRlbS5jcHAgKi87IH07CiAJCTc1NzkzRTgzMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNz
YWdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzU3OTNFODAwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5jcHAgKi87IH07CiAJ
CTc1NzkzRTg0MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NzkzRTgxMEQwQ0UwQjMwMDdGQzBB
QyAvKiBNZXNzYWdlRXZlbnQuaCAqLzsgfTsKIAkJNzU3OTNFQzgwRDBDRTcyRDAwN0ZDMEFDIC8q
IEpTTWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc1NzkzRUM2MEQwQ0U3MkQwMDdGQzBBQyAvKiBKU01lc3NhZ2VFdmVudC5jcHAg
Ki87IH07CkBAIC02NDcyLDYgKzY0NzQsOCBAQAogCQk3NTA5MkJGRDEwNEI4MEY5MDAzREQxNjgg
LyogRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NTQxMzNBOTEwMkUwMEY0MDAwNzVE
MDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzU2QzlCNDExMDg4Q0VGODAwRjk2RTJBIC8qIFRpbWVyRmlyZVRpbWVs
aW5lSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1lckZpcmVUaW1l
bGluZUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzU2QzlCNDIxMDg4Q0VG
ODAwRjk2RTJBIC8qIFRpbWVyRmlyZVRpbWVsaW5lSXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBUaW1lckZpcmVUaW1lbGluZUl0ZW0uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3NTc5M0U4MDBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZXNzYWdlRXZl
bnQuY3BwOyBwYXRoID0gZG9tL01lc3NhZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0Vf
Uk9PVDsgfTsKIAkJNzU3OTNFODEwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTWVzc2FnZUV2ZW50Lmg7IHBhdGggPSBk
b20vTWVzc2FnZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJNzU3OTNF
ODIwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IE1lc3NhZ2VFdmVudC5pZGw7IHBhdGggPSBkb20vTWVzc2FnZUV2ZW50LmlkbDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwpAQCAtMTAzNzcsNiArMTAzODEsOCBAQAogCQkJCUJD
QzY0RjVGMERDRkI4NEUwMDgxRUYzQiAvKiBsb2NhbGl6ZWRTdHJpbmdzLmpzICovLAogCQkJCTc1
QTk0QTAxMTA0Qjc0RkIwMDA2NjczQyAvKiBUaW1lbGluZUl0ZW0uY3BwICovLAogCQkJCTc1QTk0
QTAyMTA0Qjc0RkIwMDA2NjczQyAvKiBUaW1lbGluZUl0ZW0uaCAqLywKKwkJCQk3NTZDOUI0MTEw
ODhDRUY4MDBGOTZFMkEgLyogVGltZXJGaXJlVGltZWxpbmVJdGVtLmggKi8sCisJCQkJNzU2QzlC
NDIxMDg4Q0VGODAwRjk2RTJBIC8qIFRpbWVyRmlyZVRpbWVsaW5lSXRlbS5jcHAgKi8sCiAJCQkp
OwogCQkJcGF0aCA9IGluc3BlY3RvcjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0x
ODA0MCw2ICsxODA0Niw3IEBACiAJCQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQ
cm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAv
KiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUw
MEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk3NTZDOUI0MzEwODhD
RUY4MDBGOTZFMkEgLyogVGltZXJGaXJlVGltZWxpbmVJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5NzNFMzI1NzEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwpAQCAtMjAxNzIsNiArMjAxNzksNyBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFFOUFC
QyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJFNTEy
RDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTc1NkM5QjQ0MTA4OENFRjgwMEY5NkUyQSAvKiBUaW1lckZpcmVUaW1lbGluZUl0
ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTczRTMyNTYxMDg4M0I3QzAwNUJDNDkzIC8qIFJl
c291cmNlTG9hZE5vdGlmaWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBjM2FkMDc1Li4yNzM3N2RiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzcsNiArMzcsNyBA
QAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNp
bmNsdWRlICJUaW1lbGluZUl0ZW0uaCIKKyNpbmNsdWRlICJUaW1lckZpcmVUaW1lbGluZUl0ZW0u
aCIKIAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCkBAIC0xMDksNiArMTEwLDI3IEBA
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkV3JpdGVIVE1MKCkKICAgICBkaWRDb21w
bGV0ZUN1cnJlbnRSZWNvcmQoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWRJbnN0YWxsVGltZXIoaW50IHRpbWVySWQsIGludCB0aW1lb3V0LCBib29sIHNpbmdsZVNob3Qp
Cit7CisgICAgbV9mcm9udGVuZC0+YWRkSXRlbVRvVGltZWxpbmUoVGltZXJGaXJlVGltZWxpbmVJ
dGVtOjpuZXdUaW1lckluc3RhbGxTY3JpcHRPYmplY3QobV9mcm9udGVuZCwgc2Vzc2lvblRpbWVJ
bk1pbGxpc2Vjb25kcygpLCB0aW1lcklkLCB0aW1lb3V0LCBzaW5nbGVTaG90KSk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVtb3ZlVGltZXIoaW50IHRpbWVySWQpCit7
CisgICAgbV9mcm9udGVuZC0+YWRkSXRlbVRvVGltZWxpbmUoVGltZXJGaXJlVGltZWxpbmVJdGVt
OjpuZXdUaW1lclJlbW92ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLCBzZXNzaW9uVGltZUluTWls
bGlzZWNvbmRzKCksIHRpbWVySWQpKTsKK30KKwordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50
Ojp3aWxsRmlyZVRpbWVyKGludCB0aW1lb3V0SWQpCit7CisgICAgbV9jdXJyZW50VGltZWxpbmVJ
dGVtID0gbmV3IFRpbWVyRmlyZVRpbWVsaW5lSXRlbShtX2N1cnJlbnRUaW1lbGluZUl0ZW0ucmVs
ZWFzZSgpLCBzZXNzaW9uVGltZUluTWlsbGlzZWNvbmRzKCksIHRpbWVvdXRJZCk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRmlyZVRpbWVyKCkKK3sKKyAgICBBU1NFUlQo
bV9jdXJyZW50VGltZWxpbmVJdGVtLT50eXBlKCkgPT0gRE9NVGltZXJGaXJlVGltZWxpbmVJdGVt
VHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKCk7Cit9CisKIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6cmVzZXQoKQogewogICAgIG1fc2Vzc2lvblN0YXJ0VGltZSA9IGN1
cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaAppbmRleCA0MDk1ZmVkLi42MDRkMTYzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC02MCw2ICs2MCwxMSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlkUGFpbnQoKTsKICAgICAgICAgdm9pZCBkaWRXcml0
ZUhUTUwoKTsKICAgICAgICAgdm9pZCB3aWxsV3JpdGVIVE1MKCk7CisKKyAgICAgICAgdm9pZCBk
aWRJbnN0YWxsVGltZXIoaW50IHRpbWVySWQsIGludCB0aW1lb3V0LCBib29sIHNpbmdsZVNob3Qp
OworICAgICAgICB2b2lkIGRpZFJlbW92ZVRpbWVyKGludCB0aW1lcklkKTsKKyAgICAgICAgdm9p
ZCB3aWxsRmlyZVRpbWVyKGludCB0aW1lcklkKTsKKyAgICAgICAgdm9pZCBkaWRGaXJlVGltZXIo
KTsKICAgICBwcml2YXRlOgogICAgICAgICBkb3VibGUgc2Vzc2lvblRpbWVJbk1pbGxpc2Vjb25k
cygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW0uY3BwIGIv
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtLmNwcAppbmRleCBiMzY4YzQ5Li40Nzg3Y2Zi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW0uY3BwCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbS5jcHAKQEAgLTU1LDggKzU1LDcgQEAgdm9pZCBU
aW1lbGluZUl0ZW06OmFkZFRvVGltZWxpbmUoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQog
U2NyaXB0T2JqZWN0IFRpbWVsaW5lSXRlbTo6Y29udmVydFRvU2NyaXB0T2JqZWN0KEluc3BlY3Rv
ckZyb250ZW5kKiBmcm9udGVuZCkKIHsKICAgICBTY3JpcHRPYmplY3Qgc2VsZk9iaiA9IGZyb250
ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKLSAgICBzZWxmT2JqLnNldCgidGltZSIsIG1fc3RhcnRU
aW1lKTsKLSAgICBzZWxmT2JqLnNldCgidHlwZSIsIHN0YXRpY19jYXN0PGludD4obV9pdGVtVHlw
ZSkpOworICAgIHBvcHVsYXRlU2NyaXB0T2JqZWN0KHNlbGZPYmosIG1fc3RhcnRUaW1lLCBtX2l0
ZW1UeXBlKTsKICAgICBzZWxmT2JqLnNldCgiZHVyYXRpb24iLCBtX2VuZFRpbWUgLSBtX3N0YXJ0
VGltZSk7CiAgICAgU2NyaXB0QXJyYXkgY2hpbGRyZW4gPSBjb252ZXJ0Q2hpbGRyZW5Ub1Njcmlw
dEFycmF5KGZyb250ZW5kKTsKICAgICBzZWxmT2JqLnNldCgiY2hpbGRyZW4iLCBjaGlsZHJlbik7
CkBAIC03Niw2ICs3NSwxMyBAQCB2b2lkIFRpbWVsaW5lSXRlbTo6YWRkQ2hpbGRJdGVtKFBhc3NP
d25QdHI8VGltZWxpbmVJdGVtPiB0aW1lbGluZUl0ZW0pCiAgICAgbV9jaGlsZHJlbi5hcHBlbmQo
dGltZWxpbmVJdGVtKTsKIH0KIAorLy8gc3RhdGljCit2b2lkIFRpbWVsaW5lSXRlbTo6cG9wdWxh
dGVTY3JpcHRPYmplY3QoU2NyaXB0T2JqZWN0JiBvYmplY3QsIGRvdWJsZSB0aW1lLCBUaW1lbGlu
ZUl0ZW1UeXBlIHR5cGUpCit7CisgICAgb2JqZWN0LnNldCgidGltZSIsIHRpbWUpOworICAgIG9i
amVjdC5zZXQoInR5cGUiLCB0eXBlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L1RpbWVsaW5lSXRlbS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtLmgKaW5kZXgg
MTkwOTIzMC4uNzdmOTVhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJ
dGVtLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtLmgKQEAgLTUxLDYgKzUx
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWNhbGN1bGF0ZVN0eWxlc1RpbWVs
aW5lSXRlbVR5cGUgPSAyLAogICAgICAgICBQYWludFRpbWVsaW5lSXRlbVR5cGUgPSAzLAogICAg
ICAgICBQYXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlID0gNCwKKyAgICAgICAgRE9NVGltZXJJbnN0
YWxsVGltZWxpbmVJdGVtVHlwZSA9IDUsCisgICAgICAgIERPTVRpbWVyUmVtb3ZlVGltZWxpbmVJ
dGVtVHlwZSA9IDYsCisgICAgICAgIERPTVRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUgPSA3LAog
ICAgIH07CiAKICAgICBjbGFzcyBUaW1lbGluZUl0ZW0gewpAQCAtNzAsMTEgKzczLDE0IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRFbmRUaW1lKGRvdWJsZSBlbmRUaW1l
KSB7IG1fZW5kVGltZSA9IGVuZFRpbWU7IH0KIAogICAgICAgICBUaW1lbGluZUl0ZW1UeXBlIHR5
cGUoKSB7IHJldHVybiBtX2l0ZW1UeXBlOyB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZp
cnR1YWwgU2NyaXB0T2JqZWN0IGNvbnZlcnRUb1NjcmlwdE9iamVjdChJbnNwZWN0b3JGcm9udGVu
ZCopOwogCiAgICAgICAgIFNjcmlwdEFycmF5IGNvbnZlcnRDaGlsZHJlblRvU2NyaXB0QXJyYXko
SW5zcGVjdG9yRnJvbnRlbmQqKTsKLSAgICAgIAorCisgICAgICAgIHN0YXRpYyB2b2lkIHBvcHVs
YXRlU2NyaXB0T2JqZWN0KFNjcmlwdE9iamVjdCYsIGRvdWJsZSBzdGFydFRpbWUsIFRpbWVsaW5l
SXRlbVR5cGUgdHlwZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICBkb3VibGUgbV9zdGFydFRp
bWU7CiAgICAgICAgIGRvdWJsZSBtX2VuZFRpbWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9UaW1lckZpcmVUaW1lbGluZUl0ZW0uY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZXJG
aXJlVGltZWxpbmVJdGVtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45
MDZjZGY4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZXJGaXJlVGlt
ZWxpbmVJdGVtLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMDkg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4KKyogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVGltZXJGaXJlVGltZWxpbmVJdGVtLmgi
CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUaW1lckZpcmVUaW1lbGluZUl0ZW06OlRpbWVy
RmlyZVRpbWVsaW5lSXRlbShQYXNzT3duUHRyPFRpbWVsaW5lSXRlbT4gcHJldmlvdXMsIGRvdWJs
ZSBzdGFydFRpbWUsIGludCB0aW1lb3V0SWQpCisgICAgOiBUaW1lbGluZUl0ZW0ocHJldmlvdXMs
IHN0YXJ0VGltZSwgRE9NVGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSkKKyAgICAsIG1fdGltZW91
dElkKHRpbWVvdXRJZCkKK3sKK30KKworU2NyaXB0T2JqZWN0IFRpbWVyRmlyZVRpbWVsaW5lSXRl
bTo6Y29udmVydFRvU2NyaXB0T2JqZWN0KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sK
KyAgICBTY3JpcHRPYmplY3Qgc2VsZk9iaiA9IFRpbWVsaW5lSXRlbTo6Y29udmVydFRvU2NyaXB0
T2JqZWN0KGZyb250ZW5kKTsKKyAgICBTY3JpcHRPYmplY3QgZGF0YU9iaiA9IGZyb250ZW5kLT5u
ZXdTY3JpcHRPYmplY3QoKTsKKyAgICBkYXRhT2JqLnNldCgidGltZXJJZCIsIG1fdGltZW91dElk
KTsKKyAgICBzZWxmT2JqLnNldCgiZGF0YSIsIGRhdGFPYmopOworICAgIHJldHVybiBzZWxmT2Jq
OworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lckZpcmVUaW1lbGluZUl0ZW06Om5l
d1RpbWVySW5zdGFsbFNjcmlwdE9iamVjdChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRv
dWJsZSB0aW1lLCBpbnQgdGltZW91dElkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQor
eworICAgIFNjcmlwdE9iamVjdCByb290T2JqID0gZnJvbnRlbmQtPm5ld1NjcmlwdE9iamVjdCgp
OworICAgIFRpbWVsaW5lSXRlbTo6cG9wdWxhdGVTY3JpcHRPYmplY3Qocm9vdE9iaiwgdGltZSwg
RE9NVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtVHlwZSk7CisKKyAgICBTY3JpcHRPYmplY3QgZGF0
YU9iaiA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKKyAgICBkYXRhT2JqLnNldCgidGlt
ZXJJZCIsIHRpbWVvdXRJZCk7CisgICAgZGF0YU9iai5zZXQoInRpbWVvdXQiLCB0aW1lb3V0KTsK
KyAgICBkYXRhT2JqLnNldCgic2luZ2xlU2hvdCIsIHNpbmdsZVNob3QpOworCisgICAgcm9vdE9i
ai5zZXQoImRhdGEiLCBkYXRhT2JqKTsKKyAgICByZXR1cm4gcm9vdE9iajsKK30KKworLy8gc3Rh
dGljCitTY3JpcHRPYmplY3QgVGltZXJGaXJlVGltZWxpbmVJdGVtOjpuZXdUaW1lclJlbW92ZVNj
cmlwdE9iamVjdChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRvdWJsZSB0aW1lLCBpbnQg
dGltZW91dElkKQoreworICAgIFNjcmlwdE9iamVjdCByb290T2JqID0gZnJvbnRlbmQtPm5ld1Nj
cmlwdE9iamVjdCgpOworICAgIFRpbWVsaW5lSXRlbTo6cG9wdWxhdGVTY3JpcHRPYmplY3Qocm9v
dE9iaiwgdGltZSwgRE9NVGltZXJSZW1vdmVUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICAKKyAgICBT
Y3JpcHRPYmplY3QgZGF0YU9iaiA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKKyAgICBk
YXRhT2JqLnNldCgidGltZXJJZCIsIHRpbWVvdXRJZCk7CisgICAgCisgICAgcm9vdE9iai5zZXQo
ImRhdGEiLCBkYXRhT2JqKTsKKyAgICByZXR1cm4gcm9vdE9iajsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVyRmlyZVRpbWVsaW5lSXRlbS5oIGIvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZXJGaXJlVGltZWxpbmVJdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMTNkMzI1ZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVy
RmlyZVRpbWVsaW5lSXRlbS5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorKiBtZXQ6CisqCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyogZGlzdHJpYnV0aW9uLgorKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyovCisKKyNpZm5kZWYgVGltZXJGaXJlVGltZWxpbmVJdGVtX2gKKyNkZWZpbmUgVGltZXJGaXJl
VGltZWxpbmVJdGVtX2gKKworI2luY2x1ZGUgIlRpbWVsaW5lSXRlbS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKyAgICBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKKworICAgIGNsYXNzIFRp
bWVyRmlyZVRpbWVsaW5lSXRlbSA6IHB1YmxpYyBUaW1lbGluZUl0ZW0geworICAgIHB1YmxpYzoK
KyAgICAgICAgVGltZXJGaXJlVGltZWxpbmVJdGVtKFBhc3NPd25QdHI8VGltZWxpbmVJdGVtPiwg
ZG91YmxlIHN0YXJ0VGltZSwgaW50IHRpbWVvdXRJZCk7CisgICAgICAgIAorICAgICAgICB2aXJ0
dWFsIH5UaW1lckZpcmVUaW1lbGluZUl0ZW0oKSB7IH0KKyAgICAgICAgCisgICAgICAgIHN0YXRp
YyBTY3JpcHRPYmplY3QgbmV3VGltZXJJbnN0YWxsU2NyaXB0T2JqZWN0KEluc3BlY3RvckZyb250
ZW5kKiwgZG91YmxlIHRpbWUsIGludCB0aW1lb3V0SWQsIGludCB0aW1lb3V0LCBib29sIHNpbmds
ZVNob3QpOworICAgICAgICAKKyAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBuZXdUaW1lclJl
bW92ZVNjcmlwdE9iamVjdChJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSB0aW1lLCBpbnQgdGlt
ZW91dElkKTsKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZpcnR1YWwgU2NyaXB0T2JqZWN0IGNv
bnZlcnRUb1NjcmlwdE9iamVjdChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHByaXZhdGU6Cisg
ICAgICAgIGludCBtX3RpbWVvdXRJZDsKKyAgICB9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyAhZGVmaW5lZChUaW1lckZpcmVUaW1lbGluZUl0ZW1faCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUFnZW50LmpzIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanMKaW5kZXggNDM2M2RhOC4uZjkz
ZDFmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdl
bnQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanMK
QEAgLTM4LDcgKzM4LDEwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50Lkl0ZW1UeXBlID0g
ewogICAgIExheW91dCAgICAgICAgICAgIDogMSwKICAgICBSZWNhbGN1bGF0ZVN0eWxlcyA6IDIs
CiAgICAgUGFpbnQgICAgICAgICAgICAgOiAzLAotICAgIFBhcnNlSFRNTCAgICAgICAgIDogNAor
ICAgIFBhcnNlSFRNTCAgICAgICAgIDogNCwKKyAgICBUaW1lckluc3RhbGwgICAgICA6IDUsCisg
ICAgVGltZXJSZW1vdmUgICAgICAgOiA2LAorICAgIFRpbWVyRmlyZSAgICAgICAgIDogNywKIH07
CiAKIFdlYkluc3BlY3Rvci5hZGRJdGVtVG9UaW1lbGluZSA9IGZ1bmN0aW9uKHJlY29yZCkgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5jcHAKaW5kZXggZGQxZTg0Mi4uOWNmOWM1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCkBAIC0yNyw2ICsy
Nyw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRE9NVGltZXIuaCIKIAorI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgog
I2luY2x1ZGUgIlNjaGVkdWxlZEFjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtODcsNiArODksMTMgQEAgaW50
IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFNjaGVk
dWxlZEFjdGlvbiogYWN0aW9uLAogICAgIC8vIFRoZSB0aW1lciBpcyBkZWxldGVkIHdoZW4gY29u
dGV4dCBpcyBkZWxldGVkIChET01UaW1lcjo6Y29udGV4dERlc3Ryb3llZCkgb3IgZXhwbGljaXRs
eSB2aWEgRE9NVGltZXI6OnJlbW92ZUJ5SWQoKSwKICAgICAvLyBvciBpZiBpdCBpcyBhIG9uZS10
aW1lIHRpbWVyIGFuZCBpdCBoYXMgZmlyZWQgKERPTVRpbWVyOjpmaXJlZCkuCiAgICAgRE9NVGlt
ZXIqIHRpbWVyID0gbmV3IERPTVRpbWVyKGNvbnRleHQsIGFjdGlvbiwgdGltZW91dCwgc2luZ2xl
U2hvdCk7CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChjb250ZXh0LT5pc0RvY3Vt
ZW50KCkpCisgICAgICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50
ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+aW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCgpKQorICAgICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkSW5zdGFsbFRpbWVyKHRpbWVyLT5t
X3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisjZW5kaWYKKwogICAgIHJldHVybiB0
aW1lci0+bV90aW1lb3V0SWQ7CiB9CiAKQEAgLTk3LDYgKzEwNiwxMSBAQCB2b2lkIERPTVRpbWVy
OjpyZW1vdmVCeUlkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludCB0aW1lb3V0
SWQpCiAgICAgLy8gcmVzcGVjdGl2ZWx5CiAgICAgaWYgKHRpbWVvdXRJZCA8PSAwKQogICAgICAg
ICByZXR1cm47CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoY29udGV4dC0+aXNEb2N1
bWVudCgpKQorICAgICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2Vu
dCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPmluc3BlY3RvclRpbWVsaW5lQWdl
bnQoKSkKKyAgICAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZFJlbW92ZVRpbWVyKHRpbWVvdXRJ
ZCk7CisjZW5kaWYKICAgICBkZWxldGUgY29udGV4dC0+ZmluZFRpbWVvdXQodGltZW91dElkKTsK
IH0KIApAQCAtMTA1LDYgKzExOSwxNCBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
ICAgICB0aW1lck5lc3RpbmdMZXZlbCA9IG1fbmVzdGluZ0xldmVsOwogCisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gMDsK
KyAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgpKQorICAgICAgICB0aW1lbGluZUFnZW50ID0g
c3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgp
OworICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsRmly
ZVRpbWVyKG1fdGltZW91dElkKTsKKyNlbmRpZgorCiAgICAgLy8gU2ltcGxlIGNhc2UgZm9yIG5v
bi1vbmUtc2hvdCB0aW1lcnMuCiAgICAgaWYgKGlzQWN0aXZlKCkpIHsKICAgICAgICAgaWYgKHJl
cGVhdEludGVydmFsKCkgJiYgcmVwZWF0SW50ZXJ2YWwoKSA8IHNfbWluVGltZXJJbnRlcnZhbCkg
ewpAQCAtMTE1LDYgKzEzNywxMCBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAKICAgICAgICAg
Ly8gTm8gYWNjZXNzIHRvIG1lbWJlciB2YXJpYWJsZXMgYWZ0ZXIgdGhpcyBwb2ludCwgaXQgY2Fu
IGRlbGV0ZSB0aGUgdGltZXIuCiAgICAgICAgIG1fYWN0aW9uLT5leGVjdXRlKGNvbnRleHQpOwor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAg
ICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRmlyZVRpbWVyKCk7CisjZW5kaWYKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTI1LDYgKzE1MSwxMCBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgp
CiAgICAgZGVsZXRlIHRoaXM7CiAKICAgICBhY3Rpb24tPmV4ZWN1dGUoY29udGV4dCk7CisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAodGltZWxpbmVBZ2VudCkKKyAgICAgICAgdGltZWxp
bmVBZ2VudC0+ZGlkRmlyZVRpbWVyKCk7CisjZW5kaWYKICAgICBkZWxldGUgYWN0aW9uOwogICAg
IHRpbWVyTmVzdGluZ0xldmVsID0gMDsKIH0K
</data>
<flag name="review"
          id="22700"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41839</attachid>
            <date>2009-10-25 20:25:42 -0700</date>
            <delta_ts>2009-10-25 21:05:40 -0700</delta_ts>
            <desc>Updated patch after changing over to ScriptObjects (bug 30707)</desc>
            <filename>Timeline-Timers.diff</filename>
            <type>text/plain</type>
            <size>11961</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTA0MDNmMC4uMWI5MmVhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0xMC0yNSAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgRE9NVGltZXIgc3VwcG9ydCB0byBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzA0NjcKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDog
QWRkZWQgdGltZXIgc3VwcG9ydCBhbmQgZml4ZWQgc29tZSBtZXRob2QgbmFtZXMuCisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaERPTUV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFdyaXRlSFRN
TCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRJbnN0YWxs
VGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZFJlbW92ZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsRmlyZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFkZEl0ZW1Ub1RpbWVsaW5lKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0pOiBSZW5hbWVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAqIGluc3BlY3Rv
ci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcDogQWRkIG1ldGhvZHMgZm9yIHRpbWVyLXJlbGF0ZWQg
U2NyaXB0T2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNy
ZWF0ZUdlbmVyaWNUaW1lclRpbWVsaW5lSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGlu
ZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0pOgorICAgICAgICAq
IGluc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5Lmg6CisgICAgICAgICogcGFnZS9ET01UaW1l
ci5jcHA6IEFkZGVkIGluc3RydW1lbnRhdGlvbiBwb2ludHMuCisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3ZlQnlJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorCiAyMDA5LTEwLTI1ICBM
YXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKaW5kZXggZDFkNTRmMy4uNGEzNDA5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsRGlzcGF0Y2hET01FdmVudChjb25zdCBFdmVudCYgZXZlbnQp
CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCgpCiB7
Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKERPTURpc3BhdGNoVGltZWxpbmVJdGVtVHlw
ZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKERPTURpc3BhdGNoVGltZWxp
bmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExheW91
dCgpCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExh
eW91dCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5b3V0KCkKIHsKLSAg
ICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoTGF5b3V0VGltZWxpbmVJdGVtVHlwZSk7CisgICAg
ZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKExheW91dFRpbWVsaW5lSXRlbVR5cGUpOwog
fQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxlKCkK
QEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjYWxj
dWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxh
dGVTdHlsZSgpCiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFJlY2FsY3VsYXRlU3R5
bGVzVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVt
KFJlY2FsY3VsYXRlU3R5bGVzVGltZWxpbmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KCkKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFBhaW50KCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFpbnRUaW1l
bGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0ZW0oUGFpbnRU
aW1lbGluZUl0ZW1UeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
V3JpdGVIVE1MKCkKQEAgLTk4LDcgKzk4LDMwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFdyaXRlSFRNTCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkV3Jp
dGVIVE1MKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFyc2VIVE1MVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKFBhcnNlSFRN
TFRpbWVsaW5lSXRlbVR5cGUpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZEluc3RhbGxUaW1lcihpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K3sKKyAgICBhZGRJdGVtVG9UaW1lbGluZShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1l
ckluc3RhbGxUaW1lbGluZUl0ZW0obV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25k
cygpLCB0aW1lcklkLAorICAgICAgICB0aW1lb3V0LCBzaW5nbGVTaG90KSwgVGltZXJJbnN0YWxs
VGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlk
UmVtb3ZlVGltZXIoaW50IHRpbWVySWQpCit7CisgICAgYWRkSXRlbVRvVGltZWxpbmUoVGltZWxp
bmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVyVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQs
IGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSwgdGltZXJJZCksCisgICAgICAgIFRpbWVyUmVt
b3ZlVGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
d2lsbEZpcmVUaW1lcihpbnQgdGltZXJJZCkKK3sKKyAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRl
bShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVHZW5lcmljVGltZXJUaW1lbGluZUl0ZW0obV9m
cm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkKSwKKyAgICAgICAg
VGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSk7IAorfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZEZpcmVUaW1lcigpCit7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJ
dGVtKFRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnJlc2V0KCkKQEAgLTEwNiwyMSArMTI5LDI2IEBAIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6cmVzZXQoKQogICAgIG1faXRlbVN0YWNrLmNsZWFyKCk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5l
SXRlbVR5cGUgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YWRkSXRlbVRvVGlt
ZWxpbmUoU2NyaXB0T2JqZWN0IGl0ZW0sIFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKIHsKKyAgICBp
dGVtLnNldCgidHlwZSIsIHR5cGUpOworICAgIGlmIChtX2l0ZW1TdGFjay5pc0VtcHR5KCkpCisg
ICAgICAgIG1fZnJvbnRlbmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGl0ZW0pOworICAgIGVsc2Ugewor
ICAgICAgICBUaW1lbGluZUl0ZW1FbnRyeSBwYXJlbnQgPSBtX2l0ZW1TdGFjay5sYXN0KCk7Cisg
ICAgICAgIHBhcmVudC5jaGlsZHJlbi5zZXQocGFyZW50LmNoaWxkcmVuLmxlbmd0aCgpLCBpdGVt
KTsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVD
dXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKK3sKKyAgICBBU1NFUlQo
IW1faXRlbVN0YWNrLmlzRW1wdHkoKSk7CiAgICAgVGltZWxpbmVJdGVtRW50cnkgZW50cnkgPSBt
X2l0ZW1TdGFjay5sYXN0KCk7CiAgICAgbV9pdGVtU3RhY2sucmVtb3ZlTGFzdCgpOwogICAgIEFT
U0VSVChlbnRyeS50eXBlID09IHR5cGUpOwotICAgIGVudHJ5Lml0ZW0uc2V0KCJ0eXBlIiwgdHlw
ZSk7CiAgICAgZW50cnkuaXRlbS5zZXQoImNoaWxkcmVuIiwgZW50cnkuY2hpbGRyZW4pOwogICAg
IGVudHJ5Lml0ZW0uc2V0KCJlbmRUaW1lIiwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKTsK
LSAgICAKLSAgICBpZiAobV9pdGVtU3RhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fZnJvbnRl
bmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGVudHJ5Lml0ZW0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IFRpbWVsaW5lSXRlbUVudHJ5IHBhcmVudCA9IG1faXRlbVN0YWNrLmxhc3QoKTsKLSAgICAgICAg
cGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCksIGVudHJ5Lml0ZW0p
OwotICAgIH0KKyAgICBhZGRJdGVtVG9UaW1lbGluZShlbnRyeS5pdGVtLCB0eXBlKTsKIH0KIAog
ZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMo
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGNlZWZl
ZDcuLjk3NGM5ODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTQ3LDYgKzQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWNhbGN1
bGF0ZVN0eWxlc1RpbWVsaW5lSXRlbVR5cGUgPSAyLAogICAgICAgICBQYWludFRpbWVsaW5lSXRl
bVR5cGUgPSAzLAogICAgICAgICBQYXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlID0gNCwKKyAgICAg
ICAgVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtVHlwZSA9IDUsCisgICAgICAgIFRpbWVyUmVtb3Zl
VGltZWxpbmVJdGVtVHlwZSA9IDYsCisgICAgICAgIFRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUg
PSA3LAogICAgIH07CiAKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IHsKQEAgLTU5
LDE0ICs2MiwyMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE1ldGhvZHMgY2Fs
bGVkIGZyb20gV2ViQ29yZS4KICAgICAgICAgdm9pZCB3aWxsRGlzcGF0Y2hET01FdmVudChjb25z
dCBFdmVudCYpOwogICAgICAgICB2b2lkIGRpZERpc3BhdGNoRE9NRXZlbnQoKTsKKwogICAgICAg
ICB2b2lkIHdpbGxMYXlvdXQoKTsKICAgICAgICAgdm9pZCBkaWRMYXlvdXQoKTsKKwogICAgICAg
ICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7CiAgICAgICAgIHZvaWQgZGlkUmVjYWxjdWxh
dGVTdHlsZSgpOworCiAgICAgICAgIHZvaWQgd2lsbFBhaW50KCk7CiAgICAgICAgIHZvaWQgZGlk
UGFpbnQoKTsKKwogICAgICAgICB2b2lkIGRpZFdyaXRlSFRNTCgpOwogICAgICAgICB2b2lkIHdp
bGxXcml0ZUhUTUwoKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgZGlkSW5zdGFsbFRpbWVyKGlu
dCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICAgICAgdm9pZCBk
aWRSZW1vdmVUaW1lcihpbnQgdGltZXJJZCk7CisgICAgICAgIHZvaWQgd2lsbEZpcmVUaW1lcihp
bnQgdGltZXJJZCk7CisgICAgICAgIHZvaWQgZGlkRmlyZVRpbWVyKCk7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBzdHJ1Y3QgVGltZWxpbmVJdGVtRW50cnkgewpAQCAtODAsNyArOTIsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgZG91YmxlIGN1cnJl
bnRUaW1lSW5NaWxsaXNlY29uZHMoKTsKIAotICAgICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVu
dFJlY29yZChUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICAgICAgdm9pZCBkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0oVGltZWxpbmVJdGVtVHlwZSk7CisgICAgICAgIAorICAgICAgICB2b2lk
IGFkZEl0ZW1Ub1RpbWVsaW5lKFNjcmlwdE9iamVjdCwgVGltZWxpbmVJdGVtVHlwZSk7CiAgICAg
ICAgIAogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCmluZGV4IGQxMGJkNTEuLjMy
NTVlNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rvcnku
Y3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCkBAIC01
Nyw2ICs1NywyOCBAQCBTY3JpcHRPYmplY3QgVGltZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlRE9N
RGlzcGF0Y2hUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbgogICAgIHJldHVybiBpdGVtOwog
fQogCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVH
ZW5lcmljVGltZXJUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3Vi
bGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNy
ZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0
T2JqZWN0IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQo
InRpbWVySWQiLCB0aW1lcklkKTsKKyAgICBpdGVtLnNldCgiZGF0YSIsIGRhdGEpOworICAgIHJl
dHVybiBpdGVtOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0
b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNyZWF0ZUdlbmVyaWNUaW1l
bGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0T2JqZWN0IGRhdGEgPSBm
cm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQoInRpbWVySWQiLCB0aW1l
cklkKTsKKyAgICBkYXRhLnNldCgidGltZW91dCIsIHRpbWVvdXQpOworICAgIGRhdGEuc2V0KCJz
aW5nbGVTaG90Iiwgc2luZ2xlU2hvdCk7CisgICAgaXRlbS5zZXQoImRhdGEiLCBkYXRhKTsKKyAg
ICByZXR1cm4gaXRlbTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5l
SXRlbUZhY3RvcnkuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaApp
bmRleCAzOTVkNjQ1Li5iNDFmNzY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZUl0ZW1GYWN0b3J5LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFj
dG9yeS5oCkBAIC00MCw4ICs0MCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGltZWxpbmVJdGVtRmFjdG9yeSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgU2NyaXB0
T2JqZWN0IGNyZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqLCBkb3Vi
bGUgc3RhcnRUaW1lKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZURPTURp
c3BhdGNoVGltZWxpbmVJdGVtKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSwg
Y29uc3QgRXZlbnQmKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVy
aWNUaW1lclRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZVRpbWVy
SW5zdGFsbFRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICAgICAgCi0g
ICAgICAgIHN0YXRpYyBTY3JpcHRPYmplY3QgY3JlYXRlRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0o
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBjb25zdCBFdmVudCYpOyAgICAg
ICAgICAgICAgICAKICAgICBwcml2YXRlOgogICAgICAgICBUaW1lbGluZUl0ZW1GYWN0b3J5KCkg
eyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IGRkMWU4NDIuLmZhY2I5YTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNw
cApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRPTVRp
bWVyLmgiCiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclRpbWVs
aW5lQWdlbnQuaCIKICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTg3LDYg
Kzg5LDEzIEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBTY2hlZHVsZWRBY3Rpb24qIGFjdGlvbiwKICAgICAvLyBUaGUgdGltZXIgaXMgZGVs
ZXRlZCB3aGVuIGNvbnRleHQgaXMgZGVsZXRlZCAoRE9NVGltZXI6OmNvbnRleHREZXN0cm95ZWQp
IG9yIGV4cGxpY2l0bHkgdmlhIERPTVRpbWVyOjpyZW1vdmVCeUlkKCksCiAgICAgLy8gb3IgaWYg
aXQgaXMgYSBvbmUtdGltZSB0aW1lciBhbmQgaXQgaGFzIGZpcmVkIChET01UaW1lcjo6ZmlyZWQp
LgogICAgIERPTVRpbWVyKiB0aW1lciA9IG5ldyBET01UaW1lcihjb250ZXh0LCBhY3Rpb24sIHRp
bWVvdXQsIHNpbmdsZVNob3QpOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoY29u
dGV4dC0+aXNEb2N1bWVudCgpKQorICAgICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCog
dGltZWxpbmVBZ2VudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPmluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoKSkKKyAgICAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEluc3RhbGxU
aW1lcih0aW1lci0+bV90aW1lb3V0SWQsIHRpbWVvdXQsIHNpbmdsZVNob3QpOworI2VuZGlmICAg
IAorCiAgICAgcmV0dXJuIHRpbWVyLT5tX3RpbWVvdXRJZDsKIH0KIApAQCAtOTcsNiArMTA2LDEz
IEBAIHZvaWQgRE9NVGltZXI6OnJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgaW50IHRpbWVvdXRJZCkKICAgICAvLyByZXNwZWN0aXZlbHkKICAgICBpZiAodGltZW91
dElkIDw9IDApCiAgICAgICAgIHJldHVybjsKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAg
aWYgKGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5l
QWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5p
bnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCisgICAgICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRS
ZW1vdmVUaW1lcih0aW1lb3V0SWQpOworI2VuZGlmCisKICAgICBkZWxldGUgY29udGV4dC0+Zmlu
ZFRpbWVvdXQodGltZW91dElkKTsKIH0KIApAQCAtMTA1LDYgKzEyMSwxNCBAQCB2b2lkIERPTVRp
bWVyOjpmaXJlZCgpCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICB0aW1lck5lc3RpbmdMZXZlbCA9IG1fbmVzdGluZ0xl
dmVsOwogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50
KiB0aW1lbGluZUFnZW50ID0gMDsKKyAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgpKQorICAg
ICAgICB0aW1lbGluZUFnZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+aW5z
cGVjdG9yVGltZWxpbmVBZ2VudCgpOworICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAgICB0
aW1lbGluZUFnZW50LT53aWxsRmlyZVRpbWVyKG1fdGltZW91dElkKTsKKyNlbmRpZgorCiAgICAg
Ly8gU2ltcGxlIGNhc2UgZm9yIG5vbi1vbmUtc2hvdCB0aW1lcnMuCiAgICAgaWYgKGlzQWN0aXZl
KCkpIHsKICAgICAgICAgaWYgKHJlcGVhdEludGVydmFsKCkgJiYgcmVwZWF0SW50ZXJ2YWwoKSA8
IHNfbWluVGltZXJJbnRlcnZhbCkgewpAQCAtMTE1LDYgKzEzOSwxMCBAQCB2b2lkIERPTVRpbWVy
OjpmaXJlZCgpCiAKICAgICAgICAgLy8gTm8gYWNjZXNzIHRvIG1lbWJlciB2YXJpYWJsZXMgYWZ0
ZXIgdGhpcyBwb2ludCwgaXQgY2FuIGRlbGV0ZSB0aGUgdGltZXIuCiAgICAgICAgIG1fYWN0aW9u
LT5leGVjdXRlKGNvbnRleHQpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIGlmICh0
aW1lbGluZUFnZW50KQorICAgICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRmlyZVRpbWVyKCk7
CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTI1LDYgKzE1MywxMCBAQCB2
b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAgICAgZGVsZXRlIHRoaXM7CiAKICAgICBhY3Rpb24tPmV4
ZWN1dGUoY29udGV4dCk7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAodGltZWxpbmVB
Z2VudCkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRmlyZVRpbWVyKCk7CisjZW5kaWYKICAg
ICBkZWxldGUgYWN0aW9uOwogICAgIHRpbWVyTmVzdGluZ0xldmVsID0gMDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41840</attachid>
            <date>2009-10-25 21:05:40 -0700</date>
            <delta_ts>2009-10-26 08:51:04 -0700</delta_ts>
            <desc>Added inline function for inspectorTimelineAgent in DOMTimer.</desc>
            <filename>Timeline-Timers.diff</filename>
            <type>text/plain</type>
            <size>13021</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTA0MDNmMC4uMWI5MmVhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0xMC0yNSAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgRE9NVGltZXIgc3VwcG9ydCB0byBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzA0NjcKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDog
QWRkZWQgdGltZXIgc3VwcG9ydCBhbmQgZml4ZWQgc29tZSBtZXRob2QgbmFtZXMuCisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaERPTUV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFdyaXRlSFRN
TCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRJbnN0YWxs
VGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZFJlbW92ZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsRmlyZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFkZEl0ZW1Ub1RpbWVsaW5lKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0pOiBSZW5hbWVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAqIGluc3BlY3Rv
ci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcDogQWRkIG1ldGhvZHMgZm9yIHRpbWVyLXJlbGF0ZWQg
U2NyaXB0T2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNy
ZWF0ZUdlbmVyaWNUaW1lclRpbWVsaW5lSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGlu
ZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0pOgorICAgICAgICAq
IGluc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5Lmg6CisgICAgICAgICogcGFnZS9ET01UaW1l
ci5jcHA6IEFkZGVkIGluc3RydW1lbnRhdGlvbiBwb2ludHMuCisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3ZlQnlJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorCiAyMDA5LTEwLTI1ICBM
YXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKaW5kZXggZDFkNTRmMy4uNGEzNDA5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsRGlzcGF0Y2hET01FdmVudChjb25zdCBFdmVudCYgZXZlbnQp
CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCgpCiB7
Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKERPTURpc3BhdGNoVGltZWxpbmVJdGVtVHlw
ZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKERPTURpc3BhdGNoVGltZWxp
bmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExheW91
dCgpCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExh
eW91dCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5b3V0KCkKIHsKLSAg
ICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoTGF5b3V0VGltZWxpbmVJdGVtVHlwZSk7CisgICAg
ZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKExheW91dFRpbWVsaW5lSXRlbVR5cGUpOwog
fQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxlKCkK
QEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjYWxj
dWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxh
dGVTdHlsZSgpCiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFJlY2FsY3VsYXRlU3R5
bGVzVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVt
KFJlY2FsY3VsYXRlU3R5bGVzVGltZWxpbmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KCkKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFBhaW50KCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFpbnRUaW1l
bGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0ZW0oUGFpbnRU
aW1lbGluZUl0ZW1UeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
V3JpdGVIVE1MKCkKQEAgLTk4LDcgKzk4LDMwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFdyaXRlSFRNTCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkV3Jp
dGVIVE1MKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFyc2VIVE1MVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKFBhcnNlSFRN
TFRpbWVsaW5lSXRlbVR5cGUpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZEluc3RhbGxUaW1lcihpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K3sKKyAgICBhZGRJdGVtVG9UaW1lbGluZShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1l
ckluc3RhbGxUaW1lbGluZUl0ZW0obV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25k
cygpLCB0aW1lcklkLAorICAgICAgICB0aW1lb3V0LCBzaW5nbGVTaG90KSwgVGltZXJJbnN0YWxs
VGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlk
UmVtb3ZlVGltZXIoaW50IHRpbWVySWQpCit7CisgICAgYWRkSXRlbVRvVGltZWxpbmUoVGltZWxp
bmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVyVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQs
IGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSwgdGltZXJJZCksCisgICAgICAgIFRpbWVyUmVt
b3ZlVGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
d2lsbEZpcmVUaW1lcihpbnQgdGltZXJJZCkKK3sKKyAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRl
bShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVHZW5lcmljVGltZXJUaW1lbGluZUl0ZW0obV9m
cm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkKSwKKyAgICAgICAg
VGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSk7IAorfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZEZpcmVUaW1lcigpCit7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJ
dGVtKFRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnJlc2V0KCkKQEAgLTEwNiwyMSArMTI5LDI2IEBAIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6cmVzZXQoKQogICAgIG1faXRlbVN0YWNrLmNsZWFyKCk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5l
SXRlbVR5cGUgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YWRkSXRlbVRvVGlt
ZWxpbmUoU2NyaXB0T2JqZWN0IGl0ZW0sIFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKIHsKKyAgICBp
dGVtLnNldCgidHlwZSIsIHR5cGUpOworICAgIGlmIChtX2l0ZW1TdGFjay5pc0VtcHR5KCkpCisg
ICAgICAgIG1fZnJvbnRlbmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGl0ZW0pOworICAgIGVsc2Ugewor
ICAgICAgICBUaW1lbGluZUl0ZW1FbnRyeSBwYXJlbnQgPSBtX2l0ZW1TdGFjay5sYXN0KCk7Cisg
ICAgICAgIHBhcmVudC5jaGlsZHJlbi5zZXQocGFyZW50LmNoaWxkcmVuLmxlbmd0aCgpLCBpdGVt
KTsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVD
dXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKK3sKKyAgICBBU1NFUlQo
IW1faXRlbVN0YWNrLmlzRW1wdHkoKSk7CiAgICAgVGltZWxpbmVJdGVtRW50cnkgZW50cnkgPSBt
X2l0ZW1TdGFjay5sYXN0KCk7CiAgICAgbV9pdGVtU3RhY2sucmVtb3ZlTGFzdCgpOwogICAgIEFT
U0VSVChlbnRyeS50eXBlID09IHR5cGUpOwotICAgIGVudHJ5Lml0ZW0uc2V0KCJ0eXBlIiwgdHlw
ZSk7CiAgICAgZW50cnkuaXRlbS5zZXQoImNoaWxkcmVuIiwgZW50cnkuY2hpbGRyZW4pOwogICAg
IGVudHJ5Lml0ZW0uc2V0KCJlbmRUaW1lIiwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKTsK
LSAgICAKLSAgICBpZiAobV9pdGVtU3RhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fZnJvbnRl
bmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGVudHJ5Lml0ZW0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IFRpbWVsaW5lSXRlbUVudHJ5IHBhcmVudCA9IG1faXRlbVN0YWNrLmxhc3QoKTsKLSAgICAgICAg
cGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCksIGVudHJ5Lml0ZW0p
OwotICAgIH0KKyAgICBhZGRJdGVtVG9UaW1lbGluZShlbnRyeS5pdGVtLCB0eXBlKTsKIH0KIAog
ZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMo
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGNlZWZl
ZDcuLjk3NGM5ODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTQ3LDYgKzQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWNhbGN1
bGF0ZVN0eWxlc1RpbWVsaW5lSXRlbVR5cGUgPSAyLAogICAgICAgICBQYWludFRpbWVsaW5lSXRl
bVR5cGUgPSAzLAogICAgICAgICBQYXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlID0gNCwKKyAgICAg
ICAgVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtVHlwZSA9IDUsCisgICAgICAgIFRpbWVyUmVtb3Zl
VGltZWxpbmVJdGVtVHlwZSA9IDYsCisgICAgICAgIFRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUg
PSA3LAogICAgIH07CiAKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IHsKQEAgLTU5
LDE0ICs2MiwyMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE1ldGhvZHMgY2Fs
bGVkIGZyb20gV2ViQ29yZS4KICAgICAgICAgdm9pZCB3aWxsRGlzcGF0Y2hET01FdmVudChjb25z
dCBFdmVudCYpOwogICAgICAgICB2b2lkIGRpZERpc3BhdGNoRE9NRXZlbnQoKTsKKwogICAgICAg
ICB2b2lkIHdpbGxMYXlvdXQoKTsKICAgICAgICAgdm9pZCBkaWRMYXlvdXQoKTsKKwogICAgICAg
ICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7CiAgICAgICAgIHZvaWQgZGlkUmVjYWxjdWxh
dGVTdHlsZSgpOworCiAgICAgICAgIHZvaWQgd2lsbFBhaW50KCk7CiAgICAgICAgIHZvaWQgZGlk
UGFpbnQoKTsKKwogICAgICAgICB2b2lkIGRpZFdyaXRlSFRNTCgpOwogICAgICAgICB2b2lkIHdp
bGxXcml0ZUhUTUwoKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgZGlkSW5zdGFsbFRpbWVyKGlu
dCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICAgICAgdm9pZCBk
aWRSZW1vdmVUaW1lcihpbnQgdGltZXJJZCk7CisgICAgICAgIHZvaWQgd2lsbEZpcmVUaW1lcihp
bnQgdGltZXJJZCk7CisgICAgICAgIHZvaWQgZGlkRmlyZVRpbWVyKCk7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBzdHJ1Y3QgVGltZWxpbmVJdGVtRW50cnkgewpAQCAtODAsNyArOTIsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgZG91YmxlIGN1cnJl
bnRUaW1lSW5NaWxsaXNlY29uZHMoKTsKIAotICAgICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVu
dFJlY29yZChUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICAgICAgdm9pZCBkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0oVGltZWxpbmVJdGVtVHlwZSk7CisgICAgICAgIAorICAgICAgICB2b2lk
IGFkZEl0ZW1Ub1RpbWVsaW5lKFNjcmlwdE9iamVjdCwgVGltZWxpbmVJdGVtVHlwZSk7CiAgICAg
ICAgIAogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCmluZGV4IGQxMGJkNTEuLjMy
NTVlNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rvcnku
Y3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCkBAIC01
Nyw2ICs1NywyOCBAQCBTY3JpcHRPYmplY3QgVGltZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlRE9N
RGlzcGF0Y2hUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbgogICAgIHJldHVybiBpdGVtOwog
fQogCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVH
ZW5lcmljVGltZXJUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3Vi
bGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNy
ZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0
T2JqZWN0IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQo
InRpbWVySWQiLCB0aW1lcklkKTsKKyAgICBpdGVtLnNldCgiZGF0YSIsIGRhdGEpOworICAgIHJl
dHVybiBpdGVtOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0
b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNyZWF0ZUdlbmVyaWNUaW1l
bGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0T2JqZWN0IGRhdGEgPSBm
cm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQoInRpbWVySWQiLCB0aW1l
cklkKTsKKyAgICBkYXRhLnNldCgidGltZW91dCIsIHRpbWVvdXQpOworICAgIGRhdGEuc2V0KCJz
aW5nbGVTaG90Iiwgc2luZ2xlU2hvdCk7CisgICAgaXRlbS5zZXQoImRhdGEiLCBkYXRhKTsKKyAg
ICByZXR1cm4gaXRlbTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5l
SXRlbUZhY3RvcnkuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaApp
bmRleCAzOTVkNjQ1Li5iNDFmNzY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZUl0ZW1GYWN0b3J5LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFj
dG9yeS5oCkBAIC00MCw4ICs0MCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGltZWxpbmVJdGVtRmFjdG9yeSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgU2NyaXB0
T2JqZWN0IGNyZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqLCBkb3Vi
bGUgc3RhcnRUaW1lKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZURPTURp
c3BhdGNoVGltZWxpbmVJdGVtKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSwg
Y29uc3QgRXZlbnQmKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVy
aWNUaW1lclRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZVRpbWVy
SW5zdGFsbFRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICAgICAgCi0g
ICAgICAgIHN0YXRpYyBTY3JpcHRPYmplY3QgY3JlYXRlRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0o
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBjb25zdCBFdmVudCYpOyAgICAg
ICAgICAgICAgICAKICAgICBwcml2YXRlOgogICAgICAgICBUaW1lbGluZUl0ZW1GYWN0b3J5KCkg
eyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IGRkMWU4NDIuLjRkZDYxZjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNw
cApAQCAtMjcsOCArMjcsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRPTVRp
bWVyLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5jbHVkZSAi
U2NoZWR1bGVkQWN0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
CkBAIC04Nyw2ICs4NywxMiBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgU2NoZWR1bGVkQWN0aW9uKiBhY3Rpb24sCiAgICAgLy8gVGhlIHRp
bWVyIGlzIGRlbGV0ZWQgd2hlbiBjb250ZXh0IGlzIGRlbGV0ZWQgKERPTVRpbWVyOjpjb250ZXh0
RGVzdHJveWVkKSBvciBleHBsaWNpdGx5IHZpYSBET01UaW1lcjo6cmVtb3ZlQnlJZCgpLAogICAg
IC8vIG9yIGlmIGl0IGlzIGEgb25lLXRpbWUgdGltZXIgYW5kIGl0IGhhcyBmaXJlZCAoRE9NVGlt
ZXI6OmZpcmVkKS4KICAgICBET01UaW1lciogdGltZXIgPSBuZXcgRE9NVGltZXIoY29udGV4dCwg
YWN0aW9uLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisg
ICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnNwZWN0b3JU
aW1lbGluZUFnZW50KGNvbnRleHQpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRJbnN0YWxs
VGltZXIodGltZXItPm1fdGltZW91dElkLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKKyNlbmRpZiAg
ICAKKwogICAgIHJldHVybiB0aW1lci0+bV90aW1lb3V0SWQ7CiB9CiAKQEAgLTk3LDYgKzEwMywx
MiBAQCB2b2lkIERPTVRpbWVyOjpyZW1vdmVCeUlkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIGludCB0aW1lb3V0SWQpCiAgICAgLy8gcmVzcGVjdGl2ZWx5CiAgICAgaWYgKHRpbWVv
dXRJZCA8PSAwKQogICAgICAgICByZXR1cm47CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAg
IGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudChjb250ZXh0KSkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkUmVtb3ZlVGlt
ZXIodGltZW91dElkKTsKKyNlbmRpZgorCiAgICAgZGVsZXRlIGNvbnRleHQtPmZpbmRUaW1lb3V0
KHRpbWVvdXRJZCk7CiB9CiAKQEAgLTEwNSw2ICsxMTcsMTIgQEAgdm9pZCBET01UaW1lcjo6Zmly
ZWQoKQogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7CiAgICAgdGltZXJOZXN0aW5nTGV2ZWwgPSBtX25lc3RpbmdMZXZlbDsKIAor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxp
bmVBZ2VudCA9IGluc3BlY3RvclRpbWVsaW5lQWdlbnQoY29udGV4dCk7CisgICAgaWYgKHRpbWVs
aW5lQWdlbnQpCisgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxGaXJlVGltZXIobV90aW1lb3V0
SWQpOworI2VuZGlmCisKICAgICAvLyBTaW1wbGUgY2FzZSBmb3Igbm9uLW9uZS1zaG90IHRpbWVy
cy4KICAgICBpZiAoaXNBY3RpdmUoKSkgewogICAgICAgICBpZiAocmVwZWF0SW50ZXJ2YWwoKSAm
JiByZXBlYXRJbnRlcnZhbCgpIDwgc19taW5UaW1lckludGVydmFsKSB7CkBAIC0xMTUsNiArMTMz
LDEwIEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIAogICAgICAgICAvLyBObyBhY2Nlc3MgdG8g
bWVtYmVyIHZhcmlhYmxlcyBhZnRlciB0aGlzIHBvaW50LCBpdCBjYW4gZGVsZXRlIHRoZSB0aW1l
ci4KICAgICAgICAgbV9hY3Rpb24tPmV4ZWN1dGUoY29udGV4dCk7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyAgICAgICAgaWYgKHRpbWVsaW5lQWdlbnQpCisgICAgICAgICAgICB0aW1lbGluZUFn
ZW50LT5kaWRGaXJlVGltZXIoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogCkBA
IC0xMjUsNiArMTQ3LDEwIEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICBkZWxldGUgdGhp
czsKIAogICAgIGFjdGlvbi0+ZXhlY3V0ZShjb250ZXh0KTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaXJl
VGltZXIoKTsKKyNlbmRpZgogICAgIGRlbGV0ZSBhY3Rpb247CiAgICAgdGltZXJOZXN0aW5nTGV2
ZWwgPSAwOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaAppbmRleCAzYzY1MjU4Li4zMGJiMjdkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtMjgs
MTEgKzI4LDE0IEBACiAjZGVmaW5lIERPTVRpbWVyX2gKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9i
amVjdC5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OwogICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbjsKIAogICAgIGNsYXNzIERPTVRpbWVyIDogcHVi
bGljIFRpbWVyQmFzZSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CkBAIC02MSw2ICs2NCwxMCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBTY2hlZHVsZWRBY3Rpb24qLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQor
ICAgICAgICBzdGF0aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVjdG9yVGltZWxpbmVB
Z2VudChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisjZW5kaWYKKwogICAgICAgICBpbnQgbV90
aW1lb3V0SWQ7CiAgICAgICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICAgICAgT3duUHRyPFNj
aGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247CkBAIC03Miw2ICs3OSwxNSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHN0YXRpYyBkb3VibGUgc19taW5UaW1lckludGVydmFsOwogICAgIH07
CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQoraW5saW5lIEluc3BlY3RvclRpbWVsaW5lQWdlbnQq
IERPTVRpbWVyOjppbnNwZWN0b3JUaW1lbGluZUFnZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCit7CisgICAgaWYgKGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPmluc3BlY3RvclRpbWVsaW5lQWdl
bnQoKTsKKyAgICByZXR1cm4gMDsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBET01UaW1lcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41867</attachid>
            <date>2009-10-26 08:51:04 -0700</date>
            <delta_ts>2009-10-26 09:29:10 -0700</delta_ts>
            <desc>Moved static method to InspectorTimelineAgent.</desc>
            <filename>Timeline-Timers.diff</filename>
            <type>text/plain</type>
            <size>12931</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTA0MDNmMC4uMWI5MmVhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0xMC0yNSAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgRE9NVGltZXIgc3VwcG9ydCB0byBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzA0NjcKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDog
QWRkZWQgdGltZXIgc3VwcG9ydCBhbmQgZml4ZWQgc29tZSBtZXRob2QgbmFtZXMuCisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaERPTUV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFdyaXRlSFRN
TCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRJbnN0YWxs
VGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZFJlbW92ZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsRmlyZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFkZEl0ZW1Ub1RpbWVsaW5lKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0pOiBSZW5hbWVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAqIGluc3BlY3Rv
ci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcDogQWRkIG1ldGhvZHMgZm9yIHRpbWVyLXJlbGF0ZWQg
U2NyaXB0T2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNy
ZWF0ZUdlbmVyaWNUaW1lclRpbWVsaW5lSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGlu
ZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0pOgorICAgICAgICAq
IGluc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5Lmg6CisgICAgICAgICogcGFnZS9ET01UaW1l
ci5jcHA6IEFkZGVkIGluc3RydW1lbnRhdGlvbiBwb2ludHMuCisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3ZlQnlJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorCiAyMDA5LTEwLTI1ICBM
YXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKaW5kZXggZDFkNTRmMy4uNGEzNDA5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsRGlzcGF0Y2hET01FdmVudChjb25zdCBFdmVudCYgZXZlbnQp
CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCgpCiB7
Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKERPTURpc3BhdGNoVGltZWxpbmVJdGVtVHlw
ZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKERPTURpc3BhdGNoVGltZWxp
bmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExheW91
dCgpCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExh
eW91dCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5b3V0KCkKIHsKLSAg
ICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoTGF5b3V0VGltZWxpbmVJdGVtVHlwZSk7CisgICAg
ZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKExheW91dFRpbWVsaW5lSXRlbVR5cGUpOwog
fQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxlKCkK
QEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjYWxj
dWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxh
dGVTdHlsZSgpCiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFJlY2FsY3VsYXRlU3R5
bGVzVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVt
KFJlY2FsY3VsYXRlU3R5bGVzVGltZWxpbmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KCkKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFBhaW50KCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFpbnRUaW1l
bGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0ZW0oUGFpbnRU
aW1lbGluZUl0ZW1UeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
V3JpdGVIVE1MKCkKQEAgLTk4LDcgKzk4LDMwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFdyaXRlSFRNTCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkV3Jp
dGVIVE1MKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFyc2VIVE1MVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKFBhcnNlSFRN
TFRpbWVsaW5lSXRlbVR5cGUpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZEluc3RhbGxUaW1lcihpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K3sKKyAgICBhZGRJdGVtVG9UaW1lbGluZShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1l
ckluc3RhbGxUaW1lbGluZUl0ZW0obV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25k
cygpLCB0aW1lcklkLAorICAgICAgICB0aW1lb3V0LCBzaW5nbGVTaG90KSwgVGltZXJJbnN0YWxs
VGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlk
UmVtb3ZlVGltZXIoaW50IHRpbWVySWQpCit7CisgICAgYWRkSXRlbVRvVGltZWxpbmUoVGltZWxp
bmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVyVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQs
IGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSwgdGltZXJJZCksCisgICAgICAgIFRpbWVyUmVt
b3ZlVGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
d2lsbEZpcmVUaW1lcihpbnQgdGltZXJJZCkKK3sKKyAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRl
bShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVHZW5lcmljVGltZXJUaW1lbGluZUl0ZW0obV9m
cm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkKSwKKyAgICAgICAg
VGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSk7IAorfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZEZpcmVUaW1lcigpCit7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJ
dGVtKFRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnJlc2V0KCkKQEAgLTEwNiwyMSArMTI5LDI2IEBAIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6cmVzZXQoKQogICAgIG1faXRlbVN0YWNrLmNsZWFyKCk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5l
SXRlbVR5cGUgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YWRkSXRlbVRvVGlt
ZWxpbmUoU2NyaXB0T2JqZWN0IGl0ZW0sIFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKIHsKKyAgICBp
dGVtLnNldCgidHlwZSIsIHR5cGUpOworICAgIGlmIChtX2l0ZW1TdGFjay5pc0VtcHR5KCkpCisg
ICAgICAgIG1fZnJvbnRlbmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGl0ZW0pOworICAgIGVsc2Ugewor
ICAgICAgICBUaW1lbGluZUl0ZW1FbnRyeSBwYXJlbnQgPSBtX2l0ZW1TdGFjay5sYXN0KCk7Cisg
ICAgICAgIHBhcmVudC5jaGlsZHJlbi5zZXQocGFyZW50LmNoaWxkcmVuLmxlbmd0aCgpLCBpdGVt
KTsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVD
dXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKK3sKKyAgICBBU1NFUlQo
IW1faXRlbVN0YWNrLmlzRW1wdHkoKSk7CiAgICAgVGltZWxpbmVJdGVtRW50cnkgZW50cnkgPSBt
X2l0ZW1TdGFjay5sYXN0KCk7CiAgICAgbV9pdGVtU3RhY2sucmVtb3ZlTGFzdCgpOwogICAgIEFT
U0VSVChlbnRyeS50eXBlID09IHR5cGUpOwotICAgIGVudHJ5Lml0ZW0uc2V0KCJ0eXBlIiwgdHlw
ZSk7CiAgICAgZW50cnkuaXRlbS5zZXQoImNoaWxkcmVuIiwgZW50cnkuY2hpbGRyZW4pOwogICAg
IGVudHJ5Lml0ZW0uc2V0KCJlbmRUaW1lIiwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKTsK
LSAgICAKLSAgICBpZiAobV9pdGVtU3RhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fZnJvbnRl
bmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGVudHJ5Lml0ZW0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IFRpbWVsaW5lSXRlbUVudHJ5IHBhcmVudCA9IG1faXRlbVN0YWNrLmxhc3QoKTsKLSAgICAgICAg
cGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCksIGVudHJ5Lml0ZW0p
OwotICAgIH0KKyAgICBhZGRJdGVtVG9UaW1lbGluZShlbnRyeS5pdGVtLCB0eXBlKTsKIH0KIAog
ZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMo
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGNlZWZl
ZDcuLjBiZjM5NjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTMxLDkgKzMxLDEwIEBACiAjaWZuZGVmIEluc3BlY3RvclRpbWVsaW5lQWdlbnRfaAog
I2RlZmluZSBJbnNwZWN0b3JUaW1lbGluZUFnZW50X2gKIAorI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNjcmlwdE9i
amVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdEFycmF5LmgiCi0KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDYgKzQ4LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBSZWNhbGN1bGF0ZVN0eWxlc1RpbWVsaW5lSXRlbVR5cGUgPSAyLAog
ICAgICAgICBQYWludFRpbWVsaW5lSXRlbVR5cGUgPSAzLAogICAgICAgICBQYXJzZUhUTUxUaW1l
bGluZUl0ZW1UeXBlID0gNCwKKyAgICAgICAgVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtVHlwZSA9
IDUsCisgICAgICAgIFRpbWVyUmVtb3ZlVGltZWxpbmVJdGVtVHlwZSA9IDYsCisgICAgICAgIFRp
bWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUgPSA3LAogICAgIH07CiAKICAgICBjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IHsKQEAgLTU5LDE1ICs2MywyNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIC8vIE1ldGhvZHMgY2FsbGVkIGZyb20gV2ViQ29yZS4KICAgICAgICAgdm9pZCB3
aWxsRGlzcGF0Y2hET01FdmVudChjb25zdCBFdmVudCYpOwogICAgICAgICB2b2lkIGRpZERpc3Bh
dGNoRE9NRXZlbnQoKTsKKwogICAgICAgICB2b2lkIHdpbGxMYXlvdXQoKTsKICAgICAgICAgdm9p
ZCBkaWRMYXlvdXQoKTsKKwogICAgICAgICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7CiAg
ICAgICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworCiAgICAgICAgIHZvaWQgd2lsbFBh
aW50KCk7CiAgICAgICAgIHZvaWQgZGlkUGFpbnQoKTsKLSAgICAgICAgdm9pZCBkaWRXcml0ZUhU
TUwoKTsKKwogICAgICAgICB2b2lkIHdpbGxXcml0ZUhUTUwoKTsKKyAgICAgICAgdm9pZCBkaWRX
cml0ZUhUTUwoKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgZGlkSW5zdGFsbFRpbWVyKGludCB0
aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICAgICAgdm9pZCBkaWRS
ZW1vdmVUaW1lcihpbnQgdGltZXJJZCk7CisgICAgICAgIHZvaWQgd2lsbEZpcmVUaW1lcihpbnQg
dGltZXJJZCk7CisgICAgICAgIHZvaWQgZGlkRmlyZVRpbWVyKCk7CiAKKyAgICAgICAgc3RhdGlj
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHJldHJpZXZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KTsKICAgICBwcml2YXRlOgogICAgICAgICBzdHJ1Y3QgVGltZWxpbmVJdGVtRW50cnkgewogICAg
ICAgICAgICAgVGltZWxpbmVJdGVtRW50cnkoU2NyaXB0T2JqZWN0IGl0ZW0sIFNjcmlwdEFycmF5
IGNoaWxkcmVuLCBUaW1lbGluZUl0ZW1UeXBlIHR5cGUpIDogaXRlbShpdGVtKSwgY2hpbGRyZW4o
Y2hpbGRyZW4pLCB0eXBlKHR5cGUpIHsgfQpAQCAtODAsMTMgKzk0LDIyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBkb3VibGUgY3VycmVudFRpbWVJbk1p
bGxpc2Vjb25kcygpOwogCi0gICAgICAgIHZvaWQgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRp
bWVsaW5lSXRlbVR5cGUpOworICAgICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5l
SXRlbShUaW1lbGluZUl0ZW1UeXBlKTsKICAgICAgICAgCisgICAgICAgIHZvaWQgYWRkSXRlbVRv
VGltZWxpbmUoU2NyaXB0T2JqZWN0LCBUaW1lbGluZUl0ZW1UeXBlKTsKKwogICAgICAgICBJbnNw
ZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICAgICAgCiAgICAgICAgIFZlY3RvcjwgVGlt
ZWxpbmVJdGVtRW50cnkgPiBtX2l0ZW1TdGFjazsKICAgICB9OwogCitpbmxpbmUgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmV0cmlldmUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgp
KQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+aW5zcGVj
dG9yVGltZWxpbmVBZ2VudCgpOworICAgIHJldHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JUaW1lbGluZUFnZW50X2gpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCmluZGV4IGQxMGJkNTEuLjMy
NTVlNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rvcnku
Y3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCkBAIC01
Nyw2ICs1NywyOCBAQCBTY3JpcHRPYmplY3QgVGltZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlRE9N
RGlzcGF0Y2hUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbgogICAgIHJldHVybiBpdGVtOwog
fQogCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVH
ZW5lcmljVGltZXJUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3Vi
bGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNy
ZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0
T2JqZWN0IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQo
InRpbWVySWQiLCB0aW1lcklkKTsKKyAgICBpdGVtLnNldCgiZGF0YSIsIGRhdGEpOworICAgIHJl
dHVybiBpdGVtOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0
b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNyZWF0ZUdlbmVyaWNUaW1l
bGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0T2JqZWN0IGRhdGEgPSBm
cm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQoInRpbWVySWQiLCB0aW1l
cklkKTsKKyAgICBkYXRhLnNldCgidGltZW91dCIsIHRpbWVvdXQpOworICAgIGRhdGEuc2V0KCJz
aW5nbGVTaG90Iiwgc2luZ2xlU2hvdCk7CisgICAgaXRlbS5zZXQoImRhdGEiLCBkYXRhKTsKKyAg
ICByZXR1cm4gaXRlbTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5l
SXRlbUZhY3RvcnkuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaApp
bmRleCAzOTVkNjQ1Li5iNDFmNzY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZUl0ZW1GYWN0b3J5LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFj
dG9yeS5oCkBAIC00MCw4ICs0MCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGltZWxpbmVJdGVtRmFjdG9yeSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgU2NyaXB0
T2JqZWN0IGNyZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqLCBkb3Vi
bGUgc3RhcnRUaW1lKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZURPTURp
c3BhdGNoVGltZWxpbmVJdGVtKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSwg
Y29uc3QgRXZlbnQmKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVy
aWNUaW1lclRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZVRpbWVy
SW5zdGFsbFRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICAgICAgCi0g
ICAgICAgIHN0YXRpYyBTY3JpcHRPYmplY3QgY3JlYXRlRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0o
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBjb25zdCBFdmVudCYpOyAgICAg
ICAgICAgICAgICAKICAgICBwcml2YXRlOgogICAgICAgICBUaW1lbGluZUl0ZW1GYWN0b3J5KCkg
eyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IGRkMWU4NDIuLjgzYmNiMDIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRPTVRp
bWVyLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5jbHVkZSAi
U2NoZWR1bGVkQWN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC04Nyw2ICs4OCwxMiBAQCBpbnQgRE9NVGltZXI6
Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgU2NoZWR1bGVkQWN0aW9u
KiBhY3Rpb24sCiAgICAgLy8gVGhlIHRpbWVyIGlzIGRlbGV0ZWQgd2hlbiBjb250ZXh0IGlzIGRl
bGV0ZWQgKERPTVRpbWVyOjpjb250ZXh0RGVzdHJveWVkKSBvciBleHBsaWNpdGx5IHZpYSBET01U
aW1lcjo6cmVtb3ZlQnlJZCgpLAogICAgIC8vIG9yIGlmIGl0IGlzIGEgb25lLXRpbWUgdGltZXIg
YW5kIGl0IGhhcyBmaXJlZCAoRE9NVGltZXI6OmZpcmVkKS4KICAgICBET01UaW1lciogdGltZXIg
PSBuZXcgRE9NVGltZXIoY29udGV4dCwgYWN0aW9uLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKKwor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRp
bWVsaW5lQWdlbnQgPSBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpyZXRyaWV2ZShjb250ZXh0KSkK
KyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkSW5zdGFsbFRpbWVyKHRpbWVyLT5tX3RpbWVvdXRJ
ZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisjZW5kaWYgICAgCisKICAgICByZXR1cm4gdGltZXIt
Pm1fdGltZW91dElkOwogfQogCkBAIC05Nyw2ICsxMDQsMTIgQEAgdm9pZCBET01UaW1lcjo6cmVt
b3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBpbnQgdGltZW91dElkKQog
ICAgIC8vIHJlc3BlY3RpdmVseQogICAgIGlmICh0aW1lb3V0SWQgPD0gMCkKICAgICAgICAgcmV0
dXJuOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCogdGltZWxpbmVBZ2VudCA9IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnJldHJpZXZlKGNv
bnRleHQpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRSZW1vdmVUaW1lcih0aW1lb3V0SWQp
OworI2VuZGlmCisKICAgICBkZWxldGUgY29udGV4dC0+ZmluZFRpbWVvdXQodGltZW91dElkKTsK
IH0KIApAQCAtMTA1LDYgKzExOCwxMiBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
ICAgICB0aW1lck5lc3RpbmdMZXZlbCA9IG1fbmVzdGluZ0xldmVsOwogCisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6cmV0cmlldmUoY29udGV4dCk7CisgICAgaWYgKHRpbWVsaW5l
QWdlbnQpCisgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxGaXJlVGltZXIobV90aW1lb3V0SWQp
OworI2VuZGlmCisKICAgICAvLyBTaW1wbGUgY2FzZSBmb3Igbm9uLW9uZS1zaG90IHRpbWVycy4K
ICAgICBpZiAoaXNBY3RpdmUoKSkgewogICAgICAgICBpZiAocmVwZWF0SW50ZXJ2YWwoKSAmJiBy
ZXBlYXRJbnRlcnZhbCgpIDwgc19taW5UaW1lckludGVydmFsKSB7CkBAIC0xMTUsNiArMTM0LDEw
IEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIAogICAgICAgICAvLyBObyBhY2Nlc3MgdG8gbWVt
YmVyIHZhcmlhYmxlcyBhZnRlciB0aGlzIHBvaW50LCBpdCBjYW4gZGVsZXRlIHRoZSB0aW1lci4K
ICAgICAgICAgbV9hY3Rpb24tPmV4ZWN1dGUoY29udGV4dCk7CisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyAgICAgICAgaWYgKHRpbWVsaW5lQWdlbnQpCisgICAgICAgICAgICB0aW1lbGluZUFnZW50
LT5kaWRGaXJlVGltZXIoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0x
MjUsNiArMTQ4LDEwIEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICBkZWxldGUgdGhpczsK
IAogICAgIGFjdGlvbi0+ZXhlY3V0ZShjb250ZXh0KTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQor
ICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaXJlVGlt
ZXIoKTsKKyNlbmRpZgogICAgIGRlbGV0ZSBhY3Rpb247CiAgICAgdGltZXJOZXN0aW5nTGV2ZWwg
PSAwOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9XZWJDb3JlL3Bh
Z2UvRE9NVGltZXIuaAppbmRleCAzYzY1MjU4Li40NjA0MzBmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtMzMsNiAr
MzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OwogICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbjsKIAogICAgIGNsYXNzIERPTVRp
bWVyIDogcHVibGljIFRpbWVyQmFzZSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41871</attachid>
            <date>2009-10-26 09:29:10 -0700</date>
            <delta_ts>2009-10-26 09:47:00 -0700</delta_ts>
            <desc>Forgot the JS constants.</desc>
            <filename>Timeline-Timers.diff</filename>
            <type>text/plain</type>
            <size>13513</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTA0MDNmMC4uMWI5MmVhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0xMC0yNSAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgRE9NVGltZXIgc3VwcG9ydCB0byBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzA0NjcKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDog
QWRkZWQgdGltZXIgc3VwcG9ydCBhbmQgZml4ZWQgc29tZSBtZXRob2QgbmFtZXMuCisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaERPTUV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFdyaXRlSFRN
TCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRJbnN0YWxs
VGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZFJlbW92ZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsRmlyZVRpbWVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFkZEl0ZW1Ub1RpbWVsaW5lKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0pOiBSZW5hbWVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAqIGluc3BlY3Rv
ci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcDogQWRkIG1ldGhvZHMgZm9yIHRpbWVyLXJlbGF0ZWQg
U2NyaXB0T2JqZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNy
ZWF0ZUdlbmVyaWNUaW1lclRpbWVsaW5lSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGlu
ZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0pOgorICAgICAgICAq
IGluc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5Lmg6CisgICAgICAgICogcGFnZS9ET01UaW1l
ci5jcHA6IEFkZGVkIGluc3RydW1lbnRhdGlvbiBwb2ludHMuCisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3ZlQnlJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorCiAyMDA5LTEwLTI1ICBM
YXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKaW5kZXggZDFkNTRmMy4uNGEzNDA5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsRGlzcGF0Y2hET01FdmVudChjb25zdCBFdmVudCYgZXZlbnQp
CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCgpCiB7
Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKERPTURpc3BhdGNoVGltZWxpbmVJdGVtVHlw
ZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKERPTURpc3BhdGNoVGltZWxp
bmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExheW91
dCgpCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExh
eW91dCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5b3V0KCkKIHsKLSAg
ICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoTGF5b3V0VGltZWxpbmVJdGVtVHlwZSk7CisgICAg
ZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKExheW91dFRpbWVsaW5lSXRlbVR5cGUpOwog
fQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxlKCkK
QEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjYWxj
dWxhdGVTdHlsZSgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxh
dGVTdHlsZSgpCiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFJlY2FsY3VsYXRlU3R5
bGVzVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVt
KFJlY2FsY3VsYXRlU3R5bGVzVGltZWxpbmVJdGVtVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KCkKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFBhaW50KCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFpbnRUaW1l
bGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0ZW0oUGFpbnRU
aW1lbGluZUl0ZW1UeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
V3JpdGVIVE1MKCkKQEAgLTk4LDcgKzk4LDMwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFdyaXRlSFRNTCgpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkV3Jp
dGVIVE1MKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoUGFyc2VIVE1MVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKFBhcnNlSFRN
TFRpbWVsaW5lSXRlbVR5cGUpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZEluc3RhbGxUaW1lcihpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K3sKKyAgICBhZGRJdGVtVG9UaW1lbGluZShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVUaW1l
ckluc3RhbGxUaW1lbGluZUl0ZW0obV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25k
cygpLCB0aW1lcklkLAorICAgICAgICB0aW1lb3V0LCBzaW5nbGVTaG90KSwgVGltZXJJbnN0YWxs
VGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlk
UmVtb3ZlVGltZXIoaW50IHRpbWVySWQpCit7CisgICAgYWRkSXRlbVRvVGltZWxpbmUoVGltZWxp
bmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVyVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQs
IGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSwgdGltZXJJZCksCisgICAgICAgIFRpbWVyUmVt
b3ZlVGltZWxpbmVJdGVtVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
d2lsbEZpcmVUaW1lcihpbnQgdGltZXJJZCkKK3sKKyAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRl
bShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVHZW5lcmljVGltZXJUaW1lbGluZUl0ZW0obV9m
cm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkKSwKKyAgICAgICAg
VGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSk7IAorfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZEZpcmVUaW1lcigpCit7CisgICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJ
dGVtKFRpbWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnJlc2V0KCkKQEAgLTEwNiwyMSArMTI5LDI2IEBAIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6cmVzZXQoKQogICAgIG1faXRlbVN0YWNrLmNsZWFyKCk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5l
SXRlbVR5cGUgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YWRkSXRlbVRvVGlt
ZWxpbmUoU2NyaXB0T2JqZWN0IGl0ZW0sIFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKIHsKKyAgICBp
dGVtLnNldCgidHlwZSIsIHR5cGUpOworICAgIGlmIChtX2l0ZW1TdGFjay5pc0VtcHR5KCkpCisg
ICAgICAgIG1fZnJvbnRlbmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGl0ZW0pOworICAgIGVsc2Ugewor
ICAgICAgICBUaW1lbGluZUl0ZW1FbnRyeSBwYXJlbnQgPSBtX2l0ZW1TdGFjay5sYXN0KCk7Cisg
ICAgICAgIHBhcmVudC5jaGlsZHJlbi5zZXQocGFyZW50LmNoaWxkcmVuLmxlbmd0aCgpLCBpdGVt
KTsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVD
dXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKK3sKKyAgICBBU1NFUlQo
IW1faXRlbVN0YWNrLmlzRW1wdHkoKSk7CiAgICAgVGltZWxpbmVJdGVtRW50cnkgZW50cnkgPSBt
X2l0ZW1TdGFjay5sYXN0KCk7CiAgICAgbV9pdGVtU3RhY2sucmVtb3ZlTGFzdCgpOwogICAgIEFT
U0VSVChlbnRyeS50eXBlID09IHR5cGUpOwotICAgIGVudHJ5Lml0ZW0uc2V0KCJ0eXBlIiwgdHlw
ZSk7CiAgICAgZW50cnkuaXRlbS5zZXQoImNoaWxkcmVuIiwgZW50cnkuY2hpbGRyZW4pOwogICAg
IGVudHJ5Lml0ZW0uc2V0KCJlbmRUaW1lIiwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKTsK
LSAgICAKLSAgICBpZiAobV9pdGVtU3RhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fZnJvbnRl
bmQtPmFkZEl0ZW1Ub1RpbWVsaW5lKGVudHJ5Lml0ZW0pOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IFRpbWVsaW5lSXRlbUVudHJ5IHBhcmVudCA9IG1faXRlbVN0YWNrLmxhc3QoKTsKLSAgICAgICAg
cGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCksIGVudHJ5Lml0ZW0p
OwotICAgIH0KKyAgICBhZGRJdGVtVG9UaW1lbGluZShlbnRyeS5pdGVtLCB0eXBlKTsKIH0KIAog
ZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMo
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGNlZWZl
ZDcuLjBiZjM5NjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTMxLDkgKzMxLDEwIEBACiAjaWZuZGVmIEluc3BlY3RvclRpbWVsaW5lQWdlbnRfaAog
I2RlZmluZSBJbnNwZWN0b3JUaW1lbGluZUFnZW50X2gKIAorI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNjcmlwdE9i
amVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdEFycmF5LmgiCi0KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDYgKzQ4LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBSZWNhbGN1bGF0ZVN0eWxlc1RpbWVsaW5lSXRlbVR5cGUgPSAyLAog
ICAgICAgICBQYWludFRpbWVsaW5lSXRlbVR5cGUgPSAzLAogICAgICAgICBQYXJzZUhUTUxUaW1l
bGluZUl0ZW1UeXBlID0gNCwKKyAgICAgICAgVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtVHlwZSA9
IDUsCisgICAgICAgIFRpbWVyUmVtb3ZlVGltZWxpbmVJdGVtVHlwZSA9IDYsCisgICAgICAgIFRp
bWVyRmlyZVRpbWVsaW5lSXRlbVR5cGUgPSA3LAogICAgIH07CiAKICAgICBjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IHsKQEAgLTU5LDE1ICs2MywyNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIC8vIE1ldGhvZHMgY2FsbGVkIGZyb20gV2ViQ29yZS4KICAgICAgICAgdm9pZCB3
aWxsRGlzcGF0Y2hET01FdmVudChjb25zdCBFdmVudCYpOwogICAgICAgICB2b2lkIGRpZERpc3Bh
dGNoRE9NRXZlbnQoKTsKKwogICAgICAgICB2b2lkIHdpbGxMYXlvdXQoKTsKICAgICAgICAgdm9p
ZCBkaWRMYXlvdXQoKTsKKwogICAgICAgICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7CiAg
ICAgICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworCiAgICAgICAgIHZvaWQgd2lsbFBh
aW50KCk7CiAgICAgICAgIHZvaWQgZGlkUGFpbnQoKTsKLSAgICAgICAgdm9pZCBkaWRXcml0ZUhU
TUwoKTsKKwogICAgICAgICB2b2lkIHdpbGxXcml0ZUhUTUwoKTsKKyAgICAgICAgdm9pZCBkaWRX
cml0ZUhUTUwoKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgZGlkSW5zdGFsbFRpbWVyKGludCB0
aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICAgICAgdm9pZCBkaWRS
ZW1vdmVUaW1lcihpbnQgdGltZXJJZCk7CisgICAgICAgIHZvaWQgd2lsbEZpcmVUaW1lcihpbnQg
dGltZXJJZCk7CisgICAgICAgIHZvaWQgZGlkRmlyZVRpbWVyKCk7CiAKKyAgICAgICAgc3RhdGlj
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHJldHJpZXZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KTsKICAgICBwcml2YXRlOgogICAgICAgICBzdHJ1Y3QgVGltZWxpbmVJdGVtRW50cnkgewogICAg
ICAgICAgICAgVGltZWxpbmVJdGVtRW50cnkoU2NyaXB0T2JqZWN0IGl0ZW0sIFNjcmlwdEFycmF5
IGNoaWxkcmVuLCBUaW1lbGluZUl0ZW1UeXBlIHR5cGUpIDogaXRlbShpdGVtKSwgY2hpbGRyZW4o
Y2hpbGRyZW4pLCB0eXBlKHR5cGUpIHsgfQpAQCAtODAsMTMgKzk0LDIyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBkb3VibGUgY3VycmVudFRpbWVJbk1p
bGxpc2Vjb25kcygpOwogCi0gICAgICAgIHZvaWQgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRp
bWVsaW5lSXRlbVR5cGUpOworICAgICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5l
SXRlbShUaW1lbGluZUl0ZW1UeXBlKTsKICAgICAgICAgCisgICAgICAgIHZvaWQgYWRkSXRlbVRv
VGltZWxpbmUoU2NyaXB0T2JqZWN0LCBUaW1lbGluZUl0ZW1UeXBlKTsKKwogICAgICAgICBJbnNw
ZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICAgICAgCiAgICAgICAgIFZlY3RvcjwgVGlt
ZWxpbmVJdGVtRW50cnkgPiBtX2l0ZW1TdGFjazsKICAgICB9OwogCitpbmxpbmUgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmV0cmlldmUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgp
KQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+aW5zcGVj
dG9yVGltZWxpbmVBZ2VudCgpOworICAgIHJldHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JUaW1lbGluZUFnZW50X2gpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCmluZGV4IGQxMGJkNTEuLjMy
NTVlNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rvcnku
Y3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCkBAIC01
Nyw2ICs1NywyOCBAQCBTY3JpcHRPYmplY3QgVGltZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlRE9N
RGlzcGF0Y2hUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbgogICAgIHJldHVybiBpdGVtOwog
fQogCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVH
ZW5lcmljVGltZXJUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3Vi
bGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNy
ZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0
T2JqZWN0IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQo
InRpbWVySWQiLCB0aW1lcklkKTsKKyAgICBpdGVtLnNldCgiZGF0YSIsIGRhdGEpOworICAgIHJl
dHVybiBpdGVtOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0
b3J5OjpjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCkKK3sKKyAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNyZWF0ZUdlbmVyaWNUaW1l
bGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0T2JqZWN0IGRhdGEgPSBm
cm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQoInRpbWVySWQiLCB0aW1l
cklkKTsKKyAgICBkYXRhLnNldCgidGltZW91dCIsIHRpbWVvdXQpOworICAgIGRhdGEuc2V0KCJz
aW5nbGVTaG90Iiwgc2luZ2xlU2hvdCk7CisgICAgaXRlbS5zZXQoImRhdGEiLCBkYXRhKTsKKyAg
ICByZXR1cm4gaXRlbTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5l
SXRlbUZhY3RvcnkuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaApp
bmRleCAzOTVkNjQ1Li5iNDFmNzY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZUl0ZW1GYWN0b3J5LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFj
dG9yeS5oCkBAIC00MCw4ICs0MCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGltZWxpbmVJdGVtRmFjdG9yeSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgU2NyaXB0
T2JqZWN0IGNyZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqLCBkb3Vi
bGUgc3RhcnRUaW1lKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZURPTURp
c3BhdGNoVGltZWxpbmVJdGVtKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSwg
Y29uc3QgRXZlbnQmKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVy
aWNUaW1lclRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZVRpbWVy
SW5zdGFsbFRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICAgICAgCi0g
ICAgICAgIHN0YXRpYyBTY3JpcHRPYmplY3QgY3JlYXRlRE9NRGlzcGF0Y2hUaW1lbGluZUl0ZW0o
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBjb25zdCBFdmVudCYpOyAgICAg
ICAgICAgICAgICAKICAgICBwcml2YXRlOgogICAgICAgICBUaW1lbGluZUl0ZW1GYWN0b3J5KCkg
eyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZUFnZW50LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQu
anMKaW5kZXggYTMxMGMzOC4uZWRkOTdhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lQWdlbnQuanMKQEAgLTM4LDcgKzM4LDEwIEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZUFnZW50Lkl0ZW1UeXBlID0gewogICAgIExheW91dCAgICAgICAgICAgIDogMSwKICAgICBS
ZWNhbGN1bGF0ZVN0eWxlcyA6IDIsCiAgICAgUGFpbnQgICAgICAgICAgICAgOiAzLAotICAgIFBh
cnNlSFRNTCAgICAgICAgIDogNAorICAgIFBhcnNlSFRNTCAgICAgICAgIDogNCwKKyAgICBUaW1l
ckluc3RhbGwgICAgICA6IDUsCisgICAgVGltZXJSZW1vdmUgICAgICAgOiA2LAorICAgIFRpbWVy
RmlyZSAgICAgICAgIDogNywgICAgCiB9OwogCiBXZWJJbnNwZWN0b3IuYWRkSXRlbVRvVGltZWxp
bmUgPSBmdW5jdGlvbihyZWNvcmQpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01UaW1l
ci5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IGRkMWU4NDIuLjgzYmNiMDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkRPTVRpbWVyLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50Lmgi
CiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC04Nyw2ICs4OCwxMiBAQCBp
bnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgU2No
ZWR1bGVkQWN0aW9uKiBhY3Rpb24sCiAgICAgLy8gVGhlIHRpbWVyIGlzIGRlbGV0ZWQgd2hlbiBj
b250ZXh0IGlzIGRlbGV0ZWQgKERPTVRpbWVyOjpjb250ZXh0RGVzdHJveWVkKSBvciBleHBsaWNp
dGx5IHZpYSBET01UaW1lcjo6cmVtb3ZlQnlJZCgpLAogICAgIC8vIG9yIGlmIGl0IGlzIGEgb25l
LXRpbWUgdGltZXIgYW5kIGl0IGhhcyBmaXJlZCAoRE9NVGltZXI6OmZpcmVkKS4KICAgICBET01U
aW1lciogdGltZXIgPSBuZXcgRE9NVGltZXIoY29udGV4dCwgYWN0aW9uLCB0aW1lb3V0LCBzaW5n
bGVTaG90KTsKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpyZXRyaWV2
ZShjb250ZXh0KSkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkSW5zdGFsbFRpbWVyKHRpbWVy
LT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisjZW5kaWYgICAgCisKICAgICBy
ZXR1cm4gdGltZXItPm1fdGltZW91dElkOwogfQogCkBAIC05Nyw2ICsxMDQsMTIgQEAgdm9pZCBE
T01UaW1lcjo6cmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBpbnQg
dGltZW91dElkKQogICAgIC8vIHJlc3BlY3RpdmVseQogICAgIGlmICh0aW1lb3V0SWQgPD0gMCkK
ICAgICAgICAgcmV0dXJuOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OnJldHJpZXZlKGNvbnRleHQpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRSZW1vdmVUaW1l
cih0aW1lb3V0SWQpOworI2VuZGlmCisKICAgICBkZWxldGUgY29udGV4dC0+ZmluZFRpbWVvdXQo
dGltZW91dElkKTsKIH0KIApAQCAtMTA1LDYgKzExOCwxMiBAQCB2b2lkIERPTVRpbWVyOjpmaXJl
ZCgpCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsKICAgICB0aW1lck5lc3RpbmdMZXZlbCA9IG1fbmVzdGluZ0xldmVsOwogCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGlu
ZUFnZW50ID0gSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmV0cmlldmUoY29udGV4dCk7CisgICAg
aWYgKHRpbWVsaW5lQWdlbnQpCisgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxGaXJlVGltZXIo
bV90aW1lb3V0SWQpOworI2VuZGlmCisKICAgICAvLyBTaW1wbGUgY2FzZSBmb3Igbm9uLW9uZS1z
aG90IHRpbWVycy4KICAgICBpZiAoaXNBY3RpdmUoKSkgewogICAgICAgICBpZiAocmVwZWF0SW50
ZXJ2YWwoKSAmJiByZXBlYXRJbnRlcnZhbCgpIDwgc19taW5UaW1lckludGVydmFsKSB7CkBAIC0x
MTUsNiArMTM0LDEwIEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKIAogICAgICAgICAvLyBObyBh
Y2Nlc3MgdG8gbWVtYmVyIHZhcmlhYmxlcyBhZnRlciB0aGlzIHBvaW50LCBpdCBjYW4gZGVsZXRl
IHRoZSB0aW1lci4KICAgICAgICAgbV9hY3Rpb24tPmV4ZWN1dGUoY29udGV4dCk7CisjaWYgRU5B
QkxFKElOU1BFQ1RPUikKKyAgICAgICAgaWYgKHRpbWVsaW5lQWdlbnQpCisgICAgICAgICAgICB0
aW1lbGluZUFnZW50LT5kaWRGaXJlVGltZXIoKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAg
ICAgfQogCkBAIC0xMjUsNiArMTQ4LDEwIEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICBk
ZWxldGUgdGhpczsKIAogICAgIGFjdGlvbi0+ZXhlY3V0ZShjb250ZXh0KTsKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQorICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAgICB0aW1lbGluZUFnZW50
LT5kaWRGaXJlVGltZXIoKTsKKyNlbmRpZgogICAgIGRlbGV0ZSBhY3Rpb247CiAgICAgdGltZXJO
ZXN0aW5nTGV2ZWwgPSAwOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgg
Yi9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAppbmRleCAzYzY1MjU4Li40NjA0MzBmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
aApAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OwogICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbjsKIAogICAg
IGNsYXNzIERPTVRpbWVyIDogcHVibGljIFRpbWVyQmFzZSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>