<?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>80786</bug_id>
          
          <creation_ts>2012-03-11 05:34:22 -0700</creation_ts>
          <short_desc>Web Inspector: use monotonically increasing time in timeline agent</short_desc>
          <delta_ts>2012-03-11 11:09:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79401</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>575688</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 05:34:22 -0700</bug_when>
    <thetext>This switches timeline agent to use monotonically increasing time, so timeline records are not affected by clock adjustments. Units remain the same, i.e. fractional milliseconds.
We may also consider using times since record start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575689</commentid>
    <comment_count>1</comment_count>
      <attachid>131217</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 05:37:46 -0700</bug_when>
    <thetext>Created attachment 131217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575692</commentid>
    <comment_count>2</comment_count>
      <attachid>131217</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-11 05:46:56 -0700</bug_when>
    <thetext>Comment on attachment 131217
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:160
&gt; +    static double timestamp();
&gt; +    static double timestamp(double microseconds) { return microseconds * 1000.0; }

I am not super excited at this overloading. timestamp() and timestamp(double) are doing different things. Maybe we can rename timestamp(double) to timestampToMilliseconds(double).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575693</commentid>
    <comment_count>3</comment_count>
      <attachid>131217</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-11 05:56:07 -0700</bug_when>
    <thetext>Comment on attachment 131217
Patch

I guess Kentaro means r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575694</commentid>
    <comment_count>4</comment_count>
      <attachid>131219</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 06:05:50 -0700</bug_when>
    <thetext>Created attachment 131219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575695</commentid>
    <comment_count>5</comment_count>
      <attachid>131219</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-11 06:07:51 -0700</bug_when>
    <thetext>Comment on attachment 131219
Patch

Looks OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575698</commentid>
    <comment_count>6</comment_count>
      <attachid>131219</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-11 06:17:31 -0700</bug_when>
    <thetext>Comment on attachment 131219
Patch

Kentaro, could you please avoid reviewing (r+ -ing) inspector changes without knowing the potential implications. This very case requires us negotiating with our clients on partially breaking the timeline contract prior to landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575700</commentid>
    <comment_count>7</comment_count>
      <attachid>131220</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 06:33:22 -0700</bug_when>
    <thetext>Created attachment 131220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575701</commentid>
    <comment_count>8</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 06:37:19 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 131219 [details])
knowing the potential implications. This very case requires us negotiating with our clients on partially breaking the timeline contract prior to landing.

I&apos;m now using re-basing monotonically increasing ticks so that they match current time as of record start -- so these timestamps may be compared to time provided by other agents (e.g. network), as long as there were no time adjustments or suspension. We probably need to switch to monotonically increasing time in network as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575716</commentid>
    <comment_count>9</comment_count>
      <attachid>131220</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-11 07:27:51 -0700</bug_when>
    <thetext>Comment on attachment 131220
Patch

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

Looks good with a nit. Could you please add a test?

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:160
&gt; +    double timestampFromMicroseconds(double microseconds) { return (microseconds + m_timestampOffset) * 1000.0; }

Why is it implemented in header?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575718</commentid>
    <comment_count>10</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-11 07:29:32 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=131220&amp;action=review

&gt; Source/WebCore/bindings/v8/ScriptGCEvent.cpp:93
&gt; +    s_startTime = WTF::monotonicallyIncreasingTime();

This variable should be per isolate. Could you file a bug on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575733</commentid>
    <comment_count>11</comment_count>
      <attachid>131227</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 08:36:31 -0700</bug_when>
    <thetext>Created attachment 131227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575745</commentid>
    <comment_count>12</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 09:36:33 -0700</bug_when>
    <thetext>Committed r110394: &lt;http://trac.webkit.org/changeset/110394&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575769</commentid>
    <comment_count>13</comment_count>
      <attachid>131227</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-03-11 10:22:53 -0700</bug_when>
    <thetext>Comment on attachment 131227
Patch

From bug 79401: Ideally this would have used DocumentLoadTiming::convertMonotonicTimeToDocumentTime to have the same base timestamp as resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575773</commentid>
    <comment_count>14</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-03-11 10:26:09 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 131219 [details] [details])
&gt; knowing the potential implications. This very case requires us negotiating with our clients on partially breaking the timeline contract prior to landing.
&gt; 
&gt; I&apos;m now using re-basing monotonically increasing ticks so that they match current time as of record start -- so these timestamps may be compared to time provided by other agents (e.g. network), as long as there were no time adjustments or suspension. We probably need to switch to monotonically increasing time in network as well.

Network already uses monotonically increasing time and uses DocumentLoadTiming::convertMonotonicTimeToDocumentTime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575775</commentid>
    <comment_count>15</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-03-11 10:27:35 -0700</bug_when>
    <thetext>Also it would have been nice to search the Inspector bug list for &quot;monotonically&quot; before filing a new bug, or you would have found bug 79401.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575777</commentid>
    <comment_count>16</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-03-11 10:32:28 -0700</bug_when>
    <thetext>
&gt; Network already uses monotonically increasing time and uses DocumentLoadTiming::convertMonotonicTimeToDocumentTime.

I was just about to comment on this in bug 79401. There must be some confustion there:

$ grep -c monotonically InspectorResourceAgent.cpp 
0
$ grep -c currentTime InspectorResourceAgent.cpp 
9

&gt;  &quot;monotonically&quot; before filing a new bug, or you would have found bug 79401.

Fair enough (this came as an afterthought, and this is exactly how I found it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575799</commentid>
    <comment_count>17</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-03-11 11:09:42 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; &gt; Network already uses monotonically increasing time and uses DocumentLoadTiming::convertMonotonicTimeToDocumentTime.
&gt; 
&gt; I was just about to comment on this in bug 79401. There must be some confustion there:
&gt; 
&gt; $ grep -c monotonically InspectorResourceAgent.cpp 
&gt; 0
&gt; $ grep -c currentTime InspectorResourceAgent.cpp 
&gt; 9

You&apos;re right. I was seeing the code in InspectorResourceAgent::buildObjectForTiming and got the idea it already used it through out. Looks like it is mixed!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131217</attachid>
            <date>2012-03-11 05:37:46 -0700</date>
            <delta_ts>2012-03-11 06:05:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80786-20120311163744.patch</filename>
            <type>text/plain</type>
            <size>6783</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NThjZjYxMTU5YmYy
MDAwOGExZTU1MTk4NTkzZWM3OTY0MjViMC4uNWMwNjE4MmE0ODNhZDI3NTIxOWU0ODkyYTU4YmFl
OTNmMzY0Njc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTExICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdXNlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1lIGluIHRpbWVsaW5lIGFnZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mv
djgvU2NyaXB0R0NFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50Ojpn
Y1Byb2xvZ3VlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVudDo6Z2NF
cGlsb2d1ZUNhbGxiYWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
R0NFdmVudFJlY29yZHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0aW1lc3RhbXApOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoK
KyAgICAgICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6dGltZXN0YW1wKToKKwogMjAxMi0wMy0xMSAgVmlhdGNoZXNs
YXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIFtXSzJdIFN1cHBvcnQgdGhyZWFkZWQgcmVuZGVyZXIgaW4gV0syCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwCmluZGV4IDA0YzVlMGY0ZmEwNTYx
MGUwYjg5NzgxN2I5N2NlNGE1ZjM0NzAxMTIuLjUzOWVhZTZkMTI5ZGM0ZTgxOTg5MzhhM2NkZDM4
NTQ0ZjQ3MzM2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dEdDRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZl
bnQuY3BwCkBAIC05MCwxMyArOTAsMTMgQEAgc2l6ZV90IFNjcmlwdEdDRXZlbnQ6OmdldFVzZWRI
ZWFwU2l6ZSgpCiAKIHZvaWQgU2NyaXB0R0NFdmVudDo6Z2NQcm9sb2d1ZUNhbGxiYWNrKHY4OjpH
Q1R5cGUgdHlwZSwgdjg6OkdDQ2FsbGJhY2tGbGFncyBmbGFncykKIHsKLSAgICBzX3N0YXJ0VGlt
ZSA9IFdURjo6Y3VycmVudFRpbWVNUygpOworICAgIHNfc3RhcnRUaW1lID0gV1RGOjptb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzX3VzZWRIZWFwU2l6ZSA9IGdldFVzZWRIZWFw
U2l6ZSgpOwogfQogCiB2b2lkIFNjcmlwdEdDRXZlbnQ6OmdjRXBpbG9ndWVDYWxsYmFjayh2ODo6
R0NUeXBlIHR5cGUsIHY4OjpHQ0NhbGxiYWNrRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgZG91YmxlIGVu
ZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lTVMoKTsKKyAgICBkb3VibGUgZW5kVGltZSA9IFdURjo6
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgc2l6ZV90IGNvbGxlY3RlZEJ5dGVz
ID0gc191c2VkSGVhcFNpemUgLSBnZXRVc2VkSGVhcFNpemUoKTsKICAgICBHQ0V2ZW50TGlzdGVu
ZXJzIGxpc3RlbmVycyhldmVudExpc3RlbmVycygpKTsKICAgICBmb3IgKEdDRXZlbnRMaXN0ZW5l
cnM6Oml0ZXJhdG9yIGkgPSBsaXN0ZW5lcnMuYmVnaW4oKTsgaSAhPSBsaXN0ZW5lcnMuZW5kKCk7
ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcAppbmRleCA4MDg5NzI4OTI5YTc2NmJkMTkyZjdmNTk0ZWY1NjlmNmViNTA2ZThj
Li42NTJmYmJlZmY2NDFjYmU3ZTZmNGMwOTc1MjQ4MTgxOTk5YTAzMWE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0x
MDAsOSArMTAwLDkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoR0NFdmVudFJl
Y29yZHMoKQogICAgIEdDRXZlbnRzIGV2ZW50cyA9IG1fZ2NFdmVudHM7CiAgICAgbV9nY0V2ZW50
cy5jbGVhcigpOwogICAgIGZvciAoR0NFdmVudHM6Oml0ZXJhdG9yIGkgPSBldmVudHMuYmVnaW4o
KTsgaSAhPSBldmVudHMuZW5kKCk7ICsraSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQo
aS0+c3RhcnRUaW1lLCBtX21heENhbGxTdGFja0RlcHRoKTsKKyAgICAgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmlj
UmVjb3JkKHRpbWVzdGFtcChpLT5zdGFydFRpbWUpLCBtX21heENhbGxTdGFja0RlcHRoKTsKICAg
ICAgICAgcmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNy
ZWF0ZUdDRXZlbnREYXRhKGktPmNvbGxlY3RlZEJ5dGVzKSk7Ci0gICAgICAgIHJlY29yZC0+c2V0
TnVtYmVyKCJlbmRUaW1lIiwgaS0+ZW5kVGltZSk7CisgICAgICAgIHJlY29yZC0+c2V0TnVtYmVy
KCJlbmRUaW1lIiwgdGltZXN0YW1wKGktPmVuZFRpbWUpKTsKICAgICAgICAgYWRkUmVjb3JkVG9U
aW1lbGluZShyZWNvcmQucmVsZWFzZSgpLCBUaW1lbGluZVJlY29yZFR5cGU6OkdDRXZlbnQpOwog
ICAgIH0KIH0KQEAgLTI5OSw3ICsyOTksNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKQogdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsU2VuZFJlc291cmNlUmVxdWVzdCh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAgICBwdXNo
R0NFdmVudFJlY29yZHMoKTsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQgPSBU
aW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoV1RGOjpjdXJyZW50VGlt
ZU1TKCksIG1fbWF4Q2FsbFN0YWNrRGVwdGgpOworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZCh0aW1l
c3RhbXAoKSwgbV9tYXhDYWxsU3RhY2tEZXB0aCk7CiAgICAgU3RyaW5nIHJlcXVlc3RJZCA9IElk
ZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpOwogICAgIHJlY29yZC0+c2V0
T2JqZWN0KCJkYXRhIiwgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZVNlbmRS
ZXF1ZXN0RGF0YShyZXF1ZXN0SWQsIHJlcXVlc3QpKTsKICAgICByZWNvcmQtPnNldFN0cmluZygi
dHlwZSIsIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VTZW5kUmVxdWVzdCk7CkBAIC00MTYs
NyArNDE2LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJl
bnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICBBU1NFUlQoZW50cnkudHlwZSA9
PSB0eXBlKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBlbnRyeS5k
YXRhKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRBcnJheSgiY2hpbGRyZW4iLCBlbnRyeS5j
aGlsZHJlbik7Ci0gICAgICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1lIiwgV1RG
OjpjdXJyZW50VGltZU1TKCkpOworICAgICAgICBlbnRyeS5yZWNvcmQtPnNldE51bWJlcigiZW5k
VGltZSIsIHRpbWVzdGFtcCgpKTsKICAgICAgICAgYWRkUmVjb3JkVG9UaW1lbGluZShlbnRyeS5y
ZWNvcmQsIHR5cGUpOwogICAgIH0KIH0KQEAgLTQzMyw3ICs0MzMsNyBAQCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbgogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBlbmRSZWNvcmQoUGFz
c1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBj
YXB0dXJlQ2FsbFN0YWNrKQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAgIFJlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRl
R2VuZXJpY1JlY29yZChXVEY6OmN1cnJlbnRUaW1lTVMoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1f
bWF4Q2FsbFN0YWNrRGVwdGggOiAwKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNv
cmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0YW1w
KCksIGNhcHR1cmVDYWxsU3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAgICAgcmVj
b3JkLT5zZXRPYmplY3QoImRhdGEiLCBkYXRhKTsKICAgICByZWNvcmQtPnNldFN0cmluZygidHlw
ZSIsIHR5cGUpOwogICAgIGFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkLnJlbGVhc2UoKSwgdHlw
ZSk7CkBAIC00NDIsNyArNDQyLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBl
bmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnMKIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2FsbFN0YWNr
KQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZChX
VEY6OmN1cnJlbnRUaW1lTVMoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1fbWF4Q2FsbFN0YWNrRGVw
dGggOiAwKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQgPSBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0YW1wKCksIGNhcHR1cmVDYWxs
U3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAgICAgbV9yZWNvcmRTdGFjay5hcHBl
bmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBkYXRhLCBJbnNwZWN0b3JB
cnJheTo6Y3JlYXRlKCksIHR5cGUpKTsKIH0KIApAQCAtNDUyLDYgKzQ1MiwxMSBAQCB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNsZWFyUmVjb3JkU3RhY2soKQogICAgIG1faWQrKzsKIH0K
IAorZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRpbWVzdGFtcCgpCit7CisgICAgcmV0
dXJuIHRpbWVzdGFtcChXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmlu
ZGV4IDEwNDY0YjBkOTRhZjViNGIzYWEwOThlZWY1MjkwZWUzZTJhMzU4NGUuLjE0ZGQ5YjlhZDNl
MTRlNmEzN2Y3OTIzMjlhOTE0YTAzN2Y3Mjk3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtMTU2LDYgKzE1Niw5IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwdXNoR0NFdmVudFJlY29yZHMoKTsKICAgICB2b2lkIGNsZWFyUmVj
b3JkU3RhY2soKTsKIAorICAgIHN0YXRpYyBkb3VibGUgdGltZXN0YW1wKCk7CisgICAgc3RhdGlj
IGRvdWJsZSB0aW1lc3RhbXAoZG91YmxlIG1pY3Jvc2Vjb25kcykgeyByZXR1cm4gbWljcm9zZWNv
bmRzICogMTAwMC4wOyB9CisKICAgICBJbnNwZWN0b3JGcm9udGVuZDo6VGltZWxpbmUqIG1fZnJv
bnRlbmQ7CiAKICAgICBWZWN0b3I8VGltZWxpbmVSZWNvcmRFbnRyeT4gbV9yZWNvcmRTdGFjazsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131219</attachid>
            <date>2012-03-11 06:05:50 -0700</date>
            <delta_ts>2012-03-11 06:33:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80786-20120311170548.patch</filename>
            <type>text/plain</type>
            <size>6847</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NThjZjYxMTU5YmYy
MDAwOGExZTU1MTk4NTkzZWM3OTY0MjViMC4uNWMwNjE4MmE0ODNhZDI3NTIxOWU0ODkyYTU4YmFl
OTNmMzY0Njc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTExICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdXNlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1lIGluIHRpbWVsaW5lIGFnZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mv
djgvU2NyaXB0R0NFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50Ojpn
Y1Byb2xvZ3VlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVudDo6Z2NF
cGlsb2d1ZUNhbGxiYWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
R0NFdmVudFJlY29yZHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0aW1lc3RhbXApOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoK
KyAgICAgICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6dGltZXN0YW1wKToKKwogMjAxMi0wMy0xMSAgVmlhdGNoZXNs
YXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIFtXSzJdIFN1cHBvcnQgdGhyZWFkZWQgcmVuZGVyZXIgaW4gV0syCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwCmluZGV4IDA0YzVlMGY0ZmEwNTYx
MGUwYjg5NzgxN2I5N2NlNGE1ZjM0NzAxMTIuLjUzOWVhZTZkMTI5ZGM0ZTgxOTg5MzhhM2NkZDM4
NTQ0ZjQ3MzM2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dEdDRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZl
bnQuY3BwCkBAIC05MCwxMyArOTAsMTMgQEAgc2l6ZV90IFNjcmlwdEdDRXZlbnQ6OmdldFVzZWRI
ZWFwU2l6ZSgpCiAKIHZvaWQgU2NyaXB0R0NFdmVudDo6Z2NQcm9sb2d1ZUNhbGxiYWNrKHY4OjpH
Q1R5cGUgdHlwZSwgdjg6OkdDQ2FsbGJhY2tGbGFncyBmbGFncykKIHsKLSAgICBzX3N0YXJ0VGlt
ZSA9IFdURjo6Y3VycmVudFRpbWVNUygpOworICAgIHNfc3RhcnRUaW1lID0gV1RGOjptb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzX3VzZWRIZWFwU2l6ZSA9IGdldFVzZWRIZWFw
U2l6ZSgpOwogfQogCiB2b2lkIFNjcmlwdEdDRXZlbnQ6OmdjRXBpbG9ndWVDYWxsYmFjayh2ODo6
R0NUeXBlIHR5cGUsIHY4OjpHQ0NhbGxiYWNrRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgZG91YmxlIGVu
ZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lTVMoKTsKKyAgICBkb3VibGUgZW5kVGltZSA9IFdURjo6
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgc2l6ZV90IGNvbGxlY3RlZEJ5dGVz
ID0gc191c2VkSGVhcFNpemUgLSBnZXRVc2VkSGVhcFNpemUoKTsKICAgICBHQ0V2ZW50TGlzdGVu
ZXJzIGxpc3RlbmVycyhldmVudExpc3RlbmVycygpKTsKICAgICBmb3IgKEdDRXZlbnRMaXN0ZW5l
cnM6Oml0ZXJhdG9yIGkgPSBsaXN0ZW5lcnMuYmVnaW4oKTsgaSAhPSBsaXN0ZW5lcnMuZW5kKCk7
ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcAppbmRleCA4MDg5NzI4OTI5YTc2NmJkMTkyZjdmNTk0ZWY1NjlmNmViNTA2ZThj
Li4yM2I1MDczYjgxOTA2NGQ0ODg0ZjQyMGQ5ZmQ4MTYxMjM0MzJkNTVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0x
MDAsOSArMTAwLDkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoR0NFdmVudFJl
Y29yZHMoKQogICAgIEdDRXZlbnRzIGV2ZW50cyA9IG1fZ2NFdmVudHM7CiAgICAgbV9nY0V2ZW50
cy5jbGVhcigpOwogICAgIGZvciAoR0NFdmVudHM6Oml0ZXJhdG9yIGkgPSBldmVudHMuYmVnaW4o
KTsgaSAhPSBldmVudHMuZW5kKCk7ICsraSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQo
aS0+c3RhcnRUaW1lLCBtX21heENhbGxTdGFja0RlcHRoKTsKKyAgICAgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmlj
UmVjb3JkKHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoaS0+c3RhcnRUaW1lKSwgbV9tYXhDYWxs
U3RhY2tEZXB0aCk7CiAgICAgICAgIHJlY29yZC0+c2V0T2JqZWN0KCJkYXRhIiwgVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVHQ0V2ZW50RGF0YShpLT5jb2xsZWN0ZWRCeXRlcykpOwotICAg
ICAgICByZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIGktPmVuZFRpbWUpOworICAgICAgICBy
ZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoaS0+
ZW5kVGltZSkpOwogICAgICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZC5yZWxlYXNlKCks
IFRpbWVsaW5lUmVjb3JkVHlwZTo6R0NFdmVudCk7CiAgICAgfQogfQpAQCAtMjk5LDcgKzI5OSw3
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkU2NoZWR1bGVSZXNvdXJjZVJlcXVl
c3QoY29uc3QgU3RyaW5nJiB1cmwpCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxT
ZW5kUmVzb3VyY2VSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAgIFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3Jl
YXRlR2VuZXJpY1JlY29yZChXVEY6OmN1cnJlbnRUaW1lTVMoKSwgbV9tYXhDYWxsU3RhY2tEZXB0
aCk7CisgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRG
YWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKHRpbWVzdGFtcCgpLCBtX21heENhbGxTdGFja0Rl
cHRoKTsKICAgICBTdHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0
SWQoaWRlbnRpZmllcik7CiAgICAgcmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlU2VuZFJlcXVlc3REYXRhKHJlcXVlc3RJZCwgcmVx
dWVzdCkpOwogICAgIHJlY29yZC0+c2V0U3RyaW5nKCJ0eXBlIiwgVGltZWxpbmVSZWNvcmRUeXBl
OjpSZXNvdXJjZVNlbmRSZXF1ZXN0KTsKQEAgLTQxNiw3ICs0MTYsNyBAQCB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5
cGUpCiAgICAgICAgIEFTU0VSVChlbnRyeS50eXBlID09IHR5cGUpOwogICAgICAgICBlbnRyeS5y
ZWNvcmQtPnNldE9iamVjdCgiZGF0YSIsIGVudHJ5LmRhdGEpOwogICAgICAgICBlbnRyeS5yZWNv
cmQtPnNldEFycmF5KCJjaGlsZHJlbiIsIGVudHJ5LmNoaWxkcmVuKTsKLSAgICAgICAgZW50cnku
cmVjb3JkLT5zZXROdW1iZXIoImVuZFRpbWUiLCBXVEY6OmN1cnJlbnRUaW1lTVMoKSk7CisgICAg
ICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1lIiwgdGltZXN0YW1wKCkpOwogICAg
ICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKGVudHJ5LnJlY29yZCwgdHlwZSk7CiAgICAgfQogfQpA
QCAtNDMzLDcgKzQzMyw3IEBAIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVs
aW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluCiB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
ZGF0YSwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2spCiB7CiAgICAg
cHVzaEdDRXZlbnRSZWNvcmRzKCk7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3Jk
ID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKFdURjo6Y3VycmVu
dFRpbWVNUygpLCBjYXB0dXJlQ2FsbFN0YWNrID8gbV9tYXhDYWxsU3RhY2tEZXB0aCA6IDApOwor
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlR2VuZXJpY1JlY29yZCh0aW1lc3RhbXAoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1f
bWF4Q2FsbFN0YWNrRGVwdGggOiAwKTsKICAgICByZWNvcmQtPnNldE9iamVjdCgiZGF0YSIsIGRh
dGEpOwogICAgIHJlY29yZC0+c2V0U3RyaW5nKCJ0eXBlIiwgdHlwZSk7CiAgICAgYWRkUmVjb3Jk
VG9UaW1lbGluZShyZWNvcmQucmVsZWFzZSgpLCB0eXBlKTsKQEAgLTQ0Miw3ICs0NDIsNyBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZChQYXNzUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gZGF0YSwgY29ucwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
Q3VycmVudFJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3Ry
aW5nJiB0eXBlLCBib29sIGNhcHR1cmVDYWxsU3RhY2spCiB7CiAgICAgcHVzaEdDRXZlbnRSZWNv
cmRzKCk7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNv
cmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKFdURjo6Y3VycmVudFRpbWVNUygpLCBjYXB0
dXJlQ2FsbFN0YWNrID8gbV9tYXhDYWxsU3RhY2tEZXB0aCA6IDApOworICAgIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJp
Y1JlY29yZCh0aW1lc3RhbXAoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1fbWF4Q2FsbFN0YWNrRGVw
dGggOiAwKTsKICAgICBtX3JlY29yZFN0YWNrLmFwcGVuZChUaW1lbGluZVJlY29yZEVudHJ5KHJl
Y29yZC5yZWxlYXNlKCksIGRhdGEsIEluc3BlY3RvckFycmF5OjpjcmVhdGUoKSwgdHlwZSkpOwog
fQogCkBAIC00NTIsNiArNDUyLDExIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6Y2xl
YXJSZWNvcmRTdGFjaygpCiAgICAgbV9pZCsrOwogfQogCitkb3VibGUgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6dGltZXN0YW1wKCkKK3sKKyAgICByZXR1cm4gdGltZXN0YW1wRnJvbU1pY3Jvc2Vj
b25kcyhXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDEwNDY0
YjBkOTRhZjViNGIzYWEwOThlZWY1MjkwZWUzZTJhMzU4NGUuLmNhM2ZlNDgyNWJkYzc4YTgwODgx
YWNkNzdhYmIwMzliZTBlYTEzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtMTU2LDYgKzE1Niw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBwdXNoR0NFdmVudFJlY29yZHMoKTsKICAgICB2b2lkIGNsZWFyUmVjb3JkU3RhY2so
KTsKIAorICAgIHN0YXRpYyBkb3VibGUgdGltZXN0YW1wKCk7CisgICAgc3RhdGljIGRvdWJsZSB0
aW1lc3RhbXBGcm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3NlY29uZHMpIHsgcmV0dXJuIG1p
Y3Jvc2Vjb25kcyAqIDEwMDAuMDsgfQorCiAgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OlRpbWVsaW5l
KiBtX2Zyb250ZW5kOwogCiAgICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50cnk+IG1fcmVjb3Jk
U3RhY2s7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131220</attachid>
            <date>2012-03-11 06:33:22 -0700</date>
            <delta_ts>2012-03-11 08:36:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80786-20120311173320.patch</filename>
            <type>text/plain</type>
            <size>7376</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NThjZjYxMTU5YmYy
MDAwOGExZTU1MTk4NTkzZWM3OTY0MjViMC4uNWMwNjE4MmE0ODNhZDI3NTIxOWU0ODkyYTU4YmFl
OTNmMzY0Njc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTExICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdXNlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1lIGluIHRpbWVsaW5lIGFnZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mv
djgvU2NyaXB0R0NFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50Ojpn
Y1Byb2xvZ3VlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVudDo6Z2NF
cGlsb2d1ZUNhbGxiYWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
R0NFdmVudFJlY29yZHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0aW1lc3RhbXApOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoK
KyAgICAgICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6dGltZXN0YW1wKToKKwogMjAxMi0wMy0xMSAgVmlhdGNoZXNs
YXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIFtXSzJdIFN1cHBvcnQgdGhyZWFkZWQgcmVuZGVyZXIgaW4gV0syCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwCmluZGV4IDA0YzVlMGY0ZmEwNTYx
MGUwYjg5NzgxN2I5N2NlNGE1ZjM0NzAxMTIuLjUzOWVhZTZkMTI5ZGM0ZTgxOTg5MzhhM2NkZDM4
NTQ0ZjQ3MzM2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dEdDRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZl
bnQuY3BwCkBAIC05MCwxMyArOTAsMTMgQEAgc2l6ZV90IFNjcmlwdEdDRXZlbnQ6OmdldFVzZWRI
ZWFwU2l6ZSgpCiAKIHZvaWQgU2NyaXB0R0NFdmVudDo6Z2NQcm9sb2d1ZUNhbGxiYWNrKHY4OjpH
Q1R5cGUgdHlwZSwgdjg6OkdDQ2FsbGJhY2tGbGFncyBmbGFncykKIHsKLSAgICBzX3N0YXJ0VGlt
ZSA9IFdURjo6Y3VycmVudFRpbWVNUygpOworICAgIHNfc3RhcnRUaW1lID0gV1RGOjptb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzX3VzZWRIZWFwU2l6ZSA9IGdldFVzZWRIZWFw
U2l6ZSgpOwogfQogCiB2b2lkIFNjcmlwdEdDRXZlbnQ6OmdjRXBpbG9ndWVDYWxsYmFjayh2ODo6
R0NUeXBlIHR5cGUsIHY4OjpHQ0NhbGxiYWNrRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgZG91YmxlIGVu
ZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lTVMoKTsKKyAgICBkb3VibGUgZW5kVGltZSA9IFdURjo6
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgc2l6ZV90IGNvbGxlY3RlZEJ5dGVz
ID0gc191c2VkSGVhcFNpemUgLSBnZXRVc2VkSGVhcFNpemUoKTsKICAgICBHQ0V2ZW50TGlzdGVu
ZXJzIGxpc3RlbmVycyhldmVudExpc3RlbmVycygpKTsKICAgICBmb3IgKEdDRXZlbnRMaXN0ZW5l
cnM6Oml0ZXJhdG9yIGkgPSBsaXN0ZW5lcnMuYmVnaW4oKTsgaSAhPSBsaXN0ZW5lcnMuZW5kKCk7
ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcAppbmRleCA4MDg5NzI4OTI5YTc2NmJkMTkyZjdmNTk0ZWY1NjlmNmViNTA2ZThj
Li45MjNlZTY1MTkxOGExODVmYTVhMDZmZGI1OGU3ZWJlNWZjMDk1NzNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0x
MDAsOSArMTAwLDkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoR0NFdmVudFJl
Y29yZHMoKQogICAgIEdDRXZlbnRzIGV2ZW50cyA9IG1fZ2NFdmVudHM7CiAgICAgbV9nY0V2ZW50
cy5jbGVhcigpOwogICAgIGZvciAoR0NFdmVudHM6Oml0ZXJhdG9yIGkgPSBldmVudHMuYmVnaW4o
KTsgaSAhPSBldmVudHMuZW5kKCk7ICsraSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQo
aS0+c3RhcnRUaW1lLCBtX21heENhbGxTdGFja0RlcHRoKTsKKyAgICAgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmlj
UmVjb3JkKHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoaS0+c3RhcnRUaW1lKSwgbV9tYXhDYWxs
U3RhY2tEZXB0aCk7CiAgICAgICAgIHJlY29yZC0+c2V0T2JqZWN0KCJkYXRhIiwgVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVHQ0V2ZW50RGF0YShpLT5jb2xsZWN0ZWRCeXRlcykpOwotICAg
ICAgICByZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIGktPmVuZFRpbWUpOworICAgICAgICBy
ZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoaS0+
ZW5kVGltZSkpOwogICAgICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZC5yZWxlYXNlKCks
IFRpbWVsaW5lUmVjb3JkVHlwZTo6R0NFdmVudCk7CiAgICAgfQogfQpAQCAtMTQ4LDcgKzE0OCw3
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnQoRXJyb3JTdHJpbmcqLCBjb25z
dCBpbnQqIG1heENhbGxTdGFja0RlcHRoKQogICAgIGVsc2UKICAgICAgICAgbV9tYXhDYWxsU3Rh
Y2tEZXB0aCA9IDU7CiAgICAgbV9zdGF0ZS0+c2V0TG9uZyhUaW1lbGluZUFnZW50U3RhdGU6OnRp
bWVsaW5lTWF4Q2FsbFN0YWNrRGVwdGgsIG1fbWF4Q2FsbFN0YWNrRGVwdGgpOwotCisgICAgbV90
aW1lc3RhbXBPZmZzZXQgPSBjdXJyZW50VGltZSgpIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KHRoaXMpOwogICAgIFNjcmlwdEdDRXZlbnQ6OmFkZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAg
ICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihUaW1lbGluZUFnZW50U3RhdGU6OnRpbWVsaW5lQWdlbnRF
bmFibGVkLCB0cnVlKTsKQEAgLTI5OSw3ICsyOTksNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKQogdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsU2VuZFJlc291cmNlUmVxdWVzdCh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAg
ICBwdXNoR0NFdmVudFJlY29yZHMoKTsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNv
cmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoV1RGOjpjdXJy
ZW50VGltZU1TKCksIG1fbWF4Q2FsbFN0YWNrRGVwdGgpOworICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29y
ZCh0aW1lc3RhbXAoKSwgbV9tYXhDYWxsU3RhY2tEZXB0aCk7CiAgICAgU3RyaW5nIHJlcXVlc3RJ
ZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpOwogICAgIHJlY29y
ZC0+c2V0T2JqZWN0KCJkYXRhIiwgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJj
ZVNlbmRSZXF1ZXN0RGF0YShyZXF1ZXN0SWQsIHJlcXVlc3QpKTsKICAgICByZWNvcmQtPnNldFN0
cmluZygidHlwZSIsIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VTZW5kUmVxdWVzdCk7CkBA
IC00MTYsNyArNDE2LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICBBU1NFUlQoZW50cnku
dHlwZSA9PSB0eXBlKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBl
bnRyeS5kYXRhKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRBcnJheSgiY2hpbGRyZW4iLCBl
bnRyeS5jaGlsZHJlbik7Ci0gICAgICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1l
IiwgV1RGOjpjdXJyZW50VGltZU1TKCkpOworICAgICAgICBlbnRyeS5yZWNvcmQtPnNldE51bWJl
cigiZW5kVGltZSIsIHRpbWVzdGFtcCgpKTsKICAgICAgICAgYWRkUmVjb3JkVG9UaW1lbGluZShl
bnRyeS5yZWNvcmQsIHR5cGUpOwogICAgIH0KIH0KQEAgLTQzMyw3ICs0MzMsNyBAQCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbgogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBlbmRSZWNv
cmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwg
Ym9vbCBjYXB0dXJlQ2FsbFN0YWNrKQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAg
IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
Y3JlYXRlR2VuZXJpY1JlY29yZChXVEY6OmN1cnJlbnRUaW1lTVMoKSwgY2FwdHVyZUNhbGxTdGFj
ayA/IG1fbWF4Q2FsbFN0YWNrRGVwdGggOiAwKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGlt
ZXN0YW1wKCksIGNhcHR1cmVDYWxsU3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAg
ICAgcmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBkYXRhKTsKICAgICByZWNvcmQtPnNldFN0cmlu
ZygidHlwZSIsIHR5cGUpOwogICAgIGFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkLnJlbGVhc2Uo
KSwgdHlwZSk7CkBAIC00NDIsNyArNDQyLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjphcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnMKIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2Fs
bFN0YWNrKQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAgIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1Jl
Y29yZChXVEY6OmN1cnJlbnRUaW1lTVMoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1fbWF4Q2FsbFN0
YWNrRGVwdGggOiAwKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQgPSBUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0YW1wKCksIGNhcHR1
cmVDYWxsU3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAgICAgbV9yZWNvcmRTdGFj
ay5hcHBlbmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBkYXRhLCBJbnNw
ZWN0b3JBcnJheTo6Y3JlYXRlKCksIHR5cGUpKTsKIH0KIApAQCAtNDUyLDYgKzQ1MiwxMSBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNsZWFyUmVjb3JkU3RhY2soKQogICAgIG1faWQr
KzsKIH0KIAorZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRpbWVzdGFtcCgpCit7Cisg
ICAgcmV0dXJuIHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoV1RGOjptb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAxMDQ2NGIwZDk0YWY1YjRiM2FhMDk4ZWVmNTI5MGVl
M2UyYTM1ODRlLi43YzI0MjZlNzA1NmE0NjIwZjE4MTQ0ZTFkMzRlMmMyNjI5ZmQ4ZDUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgK
QEAgLTE1Niw3ICsxNTYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHB1c2hHQ0V2ZW50UmVjb3Jk
cygpOwogICAgIHZvaWQgY2xlYXJSZWNvcmRTdGFjaygpOwogCisgICAgZG91YmxlIHRpbWVzdGFt
cCgpOworICAgIGRvdWJsZSB0aW1lc3RhbXBGcm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3Nl
Y29uZHMpIHsgcmV0dXJuIChtaWNyb3NlY29uZHMgKyBtX3RpbWVzdGFtcE9mZnNldCkgKiAxMDAw
LjA7IH0KKwogICAgIEluc3BlY3RvckZyb250ZW5kOjpUaW1lbGluZSogbV9mcm9udGVuZDsKKyAg
ICBkb3VibGUgbV90aW1lc3RhbXBPZmZzZXQ7CiAKICAgICBWZWN0b3I8VGltZWxpbmVSZWNvcmRF
bnRyeT4gbV9yZWNvcmRTdGFjazsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131227</attachid>
            <date>2012-03-11 08:36:31 -0700</date>
            <delta_ts>2012-03-11 10:22:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80786-20120311193629.patch</filename>
            <type>text/plain</type>
            <size>11746</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NThjZjYxMTU5YmYy
MDAwOGExZTU1MTk4NTkzZWM3OTY0MjViMC4uNWMwNjE4MmE0ODNhZDI3NTIxOWU0ODkyYTU4YmFl
OTNmMzY0Njc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTExICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdXNlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1lIGluIHRpbWVsaW5lIGFnZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mv
djgvU2NyaXB0R0NFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50Ojpn
Y1Byb2xvZ3VlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVudDo6Z2NF
cGlsb2d1ZUNhbGxiYWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNo
R0NFdmVudFJlY29yZHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFwcGVuZFJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoQ3VycmVudFJlY29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0aW1lc3RhbXApOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoK
KyAgICAgICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6dGltZXN0YW1wKToKKwogMjAxMi0wMy0xMSAgVmlhdGNoZXNs
YXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIFtXSzJdIFN1cHBvcnQgdGhyZWFkZWQgcmVuZGVyZXIgaW4gV0syCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwCmluZGV4IDA0YzVlMGY0ZmEwNTYx
MGUwYjg5NzgxN2I5N2NlNGE1ZjM0NzAxMTIuLjUzOWVhZTZkMTI5ZGM0ZTgxOTg5MzhhM2NkZDM4
NTQ0ZjQ3MzM2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dEdDRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZl
bnQuY3BwCkBAIC05MCwxMyArOTAsMTMgQEAgc2l6ZV90IFNjcmlwdEdDRXZlbnQ6OmdldFVzZWRI
ZWFwU2l6ZSgpCiAKIHZvaWQgU2NyaXB0R0NFdmVudDo6Z2NQcm9sb2d1ZUNhbGxiYWNrKHY4OjpH
Q1R5cGUgdHlwZSwgdjg6OkdDQ2FsbGJhY2tGbGFncyBmbGFncykKIHsKLSAgICBzX3N0YXJ0VGlt
ZSA9IFdURjo6Y3VycmVudFRpbWVNUygpOworICAgIHNfc3RhcnRUaW1lID0gV1RGOjptb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzX3VzZWRIZWFwU2l6ZSA9IGdldFVzZWRIZWFw
U2l6ZSgpOwogfQogCiB2b2lkIFNjcmlwdEdDRXZlbnQ6OmdjRXBpbG9ndWVDYWxsYmFjayh2ODo6
R0NUeXBlIHR5cGUsIHY4OjpHQ0NhbGxiYWNrRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgZG91YmxlIGVu
ZFRpbWUgPSBXVEY6OmN1cnJlbnRUaW1lTVMoKTsKKyAgICBkb3VibGUgZW5kVGltZSA9IFdURjo6
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgc2l6ZV90IGNvbGxlY3RlZEJ5dGVz
ID0gc191c2VkSGVhcFNpemUgLSBnZXRVc2VkSGVhcFNpemUoKTsKICAgICBHQ0V2ZW50TGlzdGVu
ZXJzIGxpc3RlbmVycyhldmVudExpc3RlbmVycygpKTsKICAgICBmb3IgKEdDRXZlbnRMaXN0ZW5l
cnM6Oml0ZXJhdG9yIGkgPSBsaXN0ZW5lcnMuYmVnaW4oKTsgaSAhPSBsaXN0ZW5lcnMuZW5kKCk7
ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcAppbmRleCA4MDg5NzI4OTI5YTc2NmJkMTkyZjdmNTk0ZWY1NjlmNmViNTA2ZThj
Li43ZDQ3MDM3MzFkZTAxM2FmNjc3NjljNzcyZDkyNTA4ZjRmMDY5Njg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0x
MDAsOSArMTAwLDkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpwdXNoR0NFdmVudFJl
Y29yZHMoKQogICAgIEdDRXZlbnRzIGV2ZW50cyA9IG1fZ2NFdmVudHM7CiAgICAgbV9nY0V2ZW50
cy5jbGVhcigpOwogICAgIGZvciAoR0NFdmVudHM6Oml0ZXJhdG9yIGkgPSBldmVudHMuYmVnaW4o
KTsgaSAhPSBldmVudHMuZW5kKCk7ICsraSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQo
aS0+c3RhcnRUaW1lLCBtX21heENhbGxTdGFja0RlcHRoKTsKKyAgICAgICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gcmVjb3JkID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmlj
UmVjb3JkKHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoaS0+c3RhcnRUaW1lKSwgbV9tYXhDYWxs
U3RhY2tEZXB0aCk7CiAgICAgICAgIHJlY29yZC0+c2V0T2JqZWN0KCJkYXRhIiwgVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVHQ0V2ZW50RGF0YShpLT5jb2xsZWN0ZWRCeXRlcykpOwotICAg
ICAgICByZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIGktPmVuZFRpbWUpOworICAgICAgICBy
ZWNvcmQtPnNldE51bWJlcigiZW5kVGltZSIsIHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoaS0+
ZW5kVGltZSkpOwogICAgICAgICBhZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZC5yZWxlYXNlKCks
IFRpbWVsaW5lUmVjb3JkVHlwZTo6R0NFdmVudCk7CiAgICAgfQogfQpAQCAtMTQ4LDcgKzE0OCw3
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnQoRXJyb3JTdHJpbmcqLCBjb25z
dCBpbnQqIG1heENhbGxTdGFja0RlcHRoKQogICAgIGVsc2UKICAgICAgICAgbV9tYXhDYWxsU3Rh
Y2tEZXB0aCA9IDU7CiAgICAgbV9zdGF0ZS0+c2V0TG9uZyhUaW1lbGluZUFnZW50U3RhdGU6OnRp
bWVsaW5lTWF4Q2FsbFN0YWNrRGVwdGgsIG1fbWF4Q2FsbFN0YWNrRGVwdGgpOwotCisgICAgbV90
aW1lc3RhbXBPZmZzZXQgPSBjdXJyZW50VGltZSgpIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KHRoaXMpOwogICAgIFNjcmlwdEdDRXZlbnQ6OmFkZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAg
ICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihUaW1lbGluZUFnZW50U3RhdGU6OnRpbWVsaW5lQWdlbnRF
bmFibGVkLCB0cnVlKTsKQEAgLTI5OSw3ICsyOTksNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKQogdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsU2VuZFJlc291cmNlUmVxdWVzdCh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAg
ICBwdXNoR0NFdmVudFJlY29yZHMoKTsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNv
cmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoV1RGOjpjdXJy
ZW50VGltZU1TKCksIG1fbWF4Q2FsbFN0YWNrRGVwdGgpOworICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29y
ZCh0aW1lc3RhbXAoKSwgbV9tYXhDYWxsU3RhY2tEZXB0aCk7CiAgICAgU3RyaW5nIHJlcXVlc3RJ
ZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpOwogICAgIHJlY29y
ZC0+c2V0T2JqZWN0KCJkYXRhIiwgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJj
ZVNlbmRSZXF1ZXN0RGF0YShyZXF1ZXN0SWQsIHJlcXVlc3QpKTsKICAgICByZWNvcmQtPnNldFN0
cmluZygidHlwZSIsIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VTZW5kUmVxdWVzdCk7CkBA
IC00MTYsNyArNDE2LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgICAgICBBU1NFUlQoZW50cnku
dHlwZSA9PSB0eXBlKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBl
bnRyeS5kYXRhKTsKICAgICAgICAgZW50cnkucmVjb3JkLT5zZXRBcnJheSgiY2hpbGRyZW4iLCBl
bnRyeS5jaGlsZHJlbik7Ci0gICAgICAgIGVudHJ5LnJlY29yZC0+c2V0TnVtYmVyKCJlbmRUaW1l
IiwgV1RGOjpjdXJyZW50VGltZU1TKCkpOworICAgICAgICBlbnRyeS5yZWNvcmQtPnNldE51bWJl
cigiZW5kVGltZSIsIHRpbWVzdGFtcCgpKTsKICAgICAgICAgYWRkUmVjb3JkVG9UaW1lbGluZShl
bnRyeS5yZWNvcmQsIHR5cGUpOwogICAgIH0KIH0KQEAgLTQzMyw3ICs0MzMsNyBAQCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbgogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphcHBlbmRSZWNv
cmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwg
Ym9vbCBjYXB0dXJlQ2FsbFN0YWNrKQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAg
IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
Y3JlYXRlR2VuZXJpY1JlY29yZChXVEY6OmN1cnJlbnRUaW1lTVMoKSwgY2FwdHVyZUNhbGxTdGFj
ayA/IG1fbWF4Q2FsbFN0YWNrRGVwdGggOiAwKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiByZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGlt
ZXN0YW1wKCksIGNhcHR1cmVDYWxsU3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAg
ICAgcmVjb3JkLT5zZXRPYmplY3QoImRhdGEiLCBkYXRhKTsKICAgICByZWNvcmQtPnNldFN0cmlu
ZygidHlwZSIsIHR5cGUpOwogICAgIGFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkLnJlbGVhc2Uo
KSwgdHlwZSk7CkBAIC00NDIsNyArNDQyLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjphcHBlbmRSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnMKIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRSZWNvcmQoUGFzc1JlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBjYXB0dXJlQ2Fs
bFN0YWNrKQogewogICAgIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwotICAgIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IHJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1Jl
Y29yZChXVEY6OmN1cnJlbnRUaW1lTVMoKSwgY2FwdHVyZUNhbGxTdGFjayA/IG1fbWF4Q2FsbFN0
YWNrRGVwdGggOiAwKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZWNvcmQgPSBUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0YW1wKCksIGNhcHR1
cmVDYWxsU3RhY2sgPyBtX21heENhbGxTdGFja0RlcHRoIDogMCk7CiAgICAgbV9yZWNvcmRTdGFj
ay5hcHBlbmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQucmVsZWFzZSgpLCBkYXRhLCBJbnNw
ZWN0b3JBcnJheTo6Y3JlYXRlKCksIHR5cGUpKTsKIH0KIApAQCAtNDUyLDYgKzQ1MiwxNiBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNsZWFyUmVjb3JkU3RhY2soKQogICAgIG1faWQr
KzsKIH0KIAorZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRpbWVzdGFtcCgpCit7Cisg
ICAgcmV0dXJuIHRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoV1RGOjptb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSk7Cit9CisKK2RvdWJsZSBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0aW1l
c3RhbXBGcm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3NlY29uZHMpCit7CisgICAgcmV0dXJu
IChtaWNyb3NlY29uZHMgKyBtX3RpbWVzdGFtcE9mZnNldCkgKiAxMDAwLjA7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAx
MDQ2NGIwZDk0YWY1YjRiM2FhMDk4ZWVmNTI5MGVlM2UyYTM1ODRlLi5iYTk4NTVhMzBjMWQzODU4
OWRlOWM3YjM1YjZkYTVkOTg1ZmU4YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTE1Niw3ICsxNTYsMTEgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHB1c2hHQ0V2ZW50UmVjb3JkcygpOwogICAgIHZvaWQgY2xlYXJSZWNvcmRT
dGFjaygpOwogCisgICAgZG91YmxlIHRpbWVzdGFtcCgpOworICAgIGRvdWJsZSB0aW1lc3RhbXBG
cm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3NlY29uZHMpOworCiAgICAgSW5zcGVjdG9yRnJv
bnRlbmQ6OlRpbWVsaW5lKiBtX2Zyb250ZW5kOworICAgIGRvdWJsZSBtX3RpbWVzdGFtcE9mZnNl
dDsKIAogICAgIFZlY3RvcjxUaW1lbGluZVJlY29yZEVudHJ5PiBtX3JlY29yZFN0YWNrOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
CmluZGV4IDJkYTM1M2RjOGM2NTQwMGFkMjI0MjZmN2NmMTIwZTkyN2NiYjVkM2QuLjFhMTViN2Ri
YWJlMTQxOTYzYjM3NGMyY2RjODlmY2EwMzUyNjE5MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCkBAIC0xNzMsMTAgKzE3Mywx
MCBAQCBJbnNwZWN0b3JUZXN0LmR1bXAgPSBmdW5jdGlvbih2YWx1ZSwgY3VzdG9tRm9ybWF0dGVy
cywgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSkKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQocHJlZml4V2l0aE5hbWUgKyB2YWx1ZSk7CiB9CiAKLUluc3BlY3RvclRlc3QuYXNzZXJ0R3Jl
YXRlck9yRXF1YWwgPSBmdW5jdGlvbihleHBlY3RlZCwgYWN0dWFsLCBtZXNzYWdlKQorSW5zcGVj
dG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbCA9IGZ1bmN0aW9uKGEsIGIsIG1lc3NhZ2UpCiB7
Ci0gICAgaWYgKGFjdHVhbCA8IGV4cGVjdGVkKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiRkFJTEVEOiAiICsgKG1lc3NhZ2UgPyBtZXNzYWdlICsgIjogIiA6ICIiKSArIGFjdHVh
bCArICIgPCAiICsgZXhwZWN0ZWQpOworICAgIGlmIChhIDwgYikKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogIiArIChtZXNzYWdlID8gbWVzc2FnZSArICI6ICIgOiAi
IikgKyBhICsgIiA8ICIgKyBiKTsKIH0KIAogSW5zcGVjdG9yVGVzdC5uYXZpZ2F0ZSA9IGZ1bmN0
aW9uKHVybCwgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwKaW5kZXggYTk4MmU0Y2Rm
Nzc0ZTk1MmJjMWU0ZDIzODE4NGRlODEyN2NkNTdkNC4uNmU1M2U3OGEyMTdhZDhmM2MyMWFiNWQx
NjIzZWFiYWZlNjJjMzNhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9uZXR3b3JrLXRpbWluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay10aW1pbmcuaHRtbApAQCAtMzUsMTMgKzM1
LDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB2YXIgcmVzb3VyY2VzQ291bnQgPSByZXNv
dXJjZXMubGVuZ3RoOwogICAgICAgICB2YXIgcmVzb3VyY2UxID0gcmVzb3VyY2VzW3Jlc291cmNl
c0NvdW50IC0gMl07CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc291cmNlMS51
cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKDEwMCwgcmVz
b3VyY2UxLmxhdGVuY3kgKiAxMDAwLCAiTGF0ZW5jeSBvZiB0aGUgZmlyc3QgcmVzb3VyY2UiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbCgzMDAsIHJlc291cmNl
MS5kdXJhdGlvbiAqIDEwMDAsICJEdXJhdGlvbiBvZiB0aGUgZmlyc3QgcmVzb3VyY2UiKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChyZXNvdXJjZTEubGF0ZW5j
eSAqIDEwMDAsIDEwMCwgIkxhdGVuY3kgb2YgdGhlIGZpcnN0IHJlc291cmNlIik7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwocmVzb3VyY2UxLmR1cmF0aW9uICog
MTAwMCwgMzAwLCAiRHVyYXRpb24gb2YgdGhlIGZpcnN0IHJlc291cmNlIik7CiAKICAgICAgICAg
dmFyIHJlc291cmNlMiA9IHJlc291cmNlc1tyZXNvdXJjZXNDb3VudCAtIDFdOwogICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZTIudXJsKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbCgxMDAsIHJlc291cmNlMi5sYXRlbmN5ICogMTAwMCwg
IkxhdGVuY3kgb2YgdGhlIHNlY29uZCByZXNvdXJjZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydEdyZWF0ZXJPckVxdWFsKDEwMCwgcmVzb3VyY2UyLmR1cmF0aW9uICogMTAwMCwgIkR1
cmF0aW9uIG9mIHRoZSBzZWNvbmQgcmVzb3VyY2UiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRHcmVhdGVyT3JFcXVhbChyZXNvdXJjZTIubGF0ZW5jeSAqIDEwMDAsIDEwMCwgIkxhdGVu
Y3kgb2YgdGhlIHNlY29uZCByZXNvdXJjZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dEdyZWF0ZXJPckVxdWFsKHJlc291cmNlMi5kdXJhdGlvbiAqIDEwMDAsIDEwMCwgIkR1cmF0aW9u
IG9mIHRoZSBzZWNvbmQgcmVzb3VyY2UiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGYxYWYyZDA4MWE4YjI2OWNhMjIyZDE5MWFiZDFkMDEzMTliMWYyOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1l
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Rlc3RzIHNhbml0eSBvZiB0aW1lbGluZSB0
aW1lc3RhbXBzLgorCitkb25lCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1zdGFydC10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkZTE3YjY2ODM4
M2EyNzRlNjA1NTkyZDMyZGEwMjU5Y2M2YmM2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS5odG1sCkBAIC0wLDAg
KzEsMzkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InRpbWVs
aW5lLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcGVyZm9ybUFjdGlv
bnMoKQoreworICAgIGNvbnNvbGUudGltZVN0YW1wKCJ0aW1lIGlzIGFuIGlsbHVzaW9uIik7Cit9
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBiZWZvcmVTdGFydCA9IERhdGUubm93KCk7
CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKCk7CisgICAgSW5zcGVjdG9yVGVzdC53
YWl0Rm9yUmVjb3JkVHlwZSgiVGltZVN0YW1wIiwgb25UaW1lU3RhbXApOworICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKKworICAgIGZ1bmN0aW9u
IG9uVGltZVN0YW1wKHJlY29yZCkKKyAgICB7CisgICAgICAgIHZhciBub3cgPSBEYXRlLm5vdygp
OworICAgICAgICB2YXIgZXZlbnRUaW1lID0gcmVjb3JkLnN0YXJ0VGltZTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChldmVudFRpbWUsIGJlZm9yZVN0YXJ0LCAi
ZXZlbnQgdGltZSBzaG91bGQgYmUgYWZ0ZXIgdGltZWxpbmUgc3RhcnQgdGltZSIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKG5vdywgZXZlbnRUaW1lLCAiZXZl
bnQgdGltZSBzaG91bGQgYmUgYmVmb3JlIG5vdyIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiZG9uZSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGluZShJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdC5iaW5kKEluc3BlY3RvclRlc3QpKTsKKyAgICB9Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rl
c3RzIHNhbml0eSBvZiB0aW1lbGluZSB0aW1lc3RhbXBzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>
<flag name="review"
          id="134464"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>