<?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>30785</bug_id>
          
          <creation_ts>2009-10-26 12:48:04 -0700</creation_ts>
          <short_desc>Rename TimelineItems to TimelineRecords and update all references.</short_desc>
          <delta_ts>2009-10-26 20:24:17 -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>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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kelly Norton">knorton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157876</commentid>
    <comment_count>0</comment_count>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-26 12:48:04 -0700</bug_when>
    <thetext>Need to do a renaming pass in InspectorTimelineAgent, InspectorFrontend, TimelineAgent.js to favor &quot;record&quot; over &quot;item&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157927</commentid>
    <comment_count>1</comment_count>
      <attachid>41899</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-26 14:29:55 -0700</bug_when>
    <thetext>Created attachment 41899
Renames everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157928</commentid>
    <comment_count>2</comment_count>
      <attachid>41899</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-10-26 14:34:25 -0700</bug_when>
    <thetext>Comment on attachment 41899
Renames everything.

Should RecordEntry be TimelineRecord? (Like TimelineRecordType.) RecordEntry just sounds funny.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157931</commentid>
    <comment_count>3</comment_count>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-26 14:37:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 41899 [details])
&gt; Should RecordEntry be TimelineRecord? (Like TimelineRecordType.) RecordEntry
&gt; just sounds funny.

Probably, I used the convent of calling them Records inside of InspectorTimelineAgent and TimelineRecords elsewhere. New patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157974</commentid>
    <comment_count>4</comment_count>
      <attachid>41907</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-26 15:38:56 -0700</bug_when>
    <thetext>Created attachment 41907
Renamed to TimelineRecordEntry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157997</commentid>
    <comment_count>5</comment_count>
      <attachid>41907</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-26 16:12:06 -0700</bug_when>
    <thetext>Comment on attachment 41907
Renamed to TimelineRecordEntry

Rejecting patch 41907 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11520 test cases.
svg/css/getComputedStyle-basic.xhtml -&gt; failed

Exiting early after 1 failures. 9845 tests run.
320.40s total testing time

9844 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
6 test cases (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158004</commentid>
    <comment_count>6</comment_count>
      <attachid>41907</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-26 16:15:47 -0700</bug_when>
    <thetext>Comment on attachment 41907
Renamed to TimelineRecordEntry

Flaky test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158012</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-26 16:25:04 -0700</bug_when>
    <thetext>Sorry.  The bots are just way behind.  bug 30098</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158076</commentid>
    <comment_count>8</comment_count>
      <attachid>41907</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-26 20:24:13 -0700</bug_when>
    <thetext>Comment on attachment 41907
Renamed to TimelineRecordEntry

Clearing flags on attachment: 41907

Committed r50125: &lt;http://trac.webkit.org/changeset/50125&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158077</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-26 20:24:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41899</attachid>
            <date>2009-10-26 14:29:55 -0700</date>
            <delta_ts>2009-10-26 15:38:56 -0700</delta_ts>
            <desc>Renames everything.</desc>
            <filename>Timeline-Rename.diff</filename>
            <type>text/plain</type>
            <size>37445</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODFmNWMxNi4uYjUzOTUyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAwOS0xMC0yNiAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmFtZXMgVGltZWxpbmVJdGVtIHRvIFRpbWVsaW5lUmVjb3JkIGFu
ZCB1cGRhdGVzIGFsbCBjYWxsIHNpdGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA3ODUKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiAKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JGcm9udGVuZDo6YWRkUmVjb3JkVG9UaW1lbGluZSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbERpc3BhdGNoRE9NRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjYWxjdWxhdGVTdHlsZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWludCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsV3JpdGVIVE1MKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFdyaXRlSFRNTCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRJbnN0YWxsVGltZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVtb3ZlVGltZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEZpcmVUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmVzZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YWRkUmVjb3JkVG9UaW1lbGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6cHVzaEN1cnJlbnRSZWNvcmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6UmVjb3JkRW50cnk6OlJlY29yZEVudHJ5KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVET01EaXNwYXRjaFJlY29yZCk6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNU
aW1lclJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNy
ZWF0ZVRpbWVySW5zdGFsbFJlY29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVj
b3JkRmFjdG9yeS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFj
dG9yeTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lQWdlbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuYWRkUmVjb3JkVG9U
aW1lbGluZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLmFkZFJlY29y
ZFRvVGltZWxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90
eXBlLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUGFuZWwucHJvdG90eXBlLmdldFJlY29yZFR5cGVOYW1lKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisK
IDIwMDktMTAtMjYgIEF2aSBEcmlzc21hbiAgPGF2aUBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZmUwNGY4OS4uYzQ1NjBhYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CkBAIC0xMTkwLDggKzExOTAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaW5z
cGVjdG9yL0phdmFTY3JpcHRQcm9maWxlLmggXAogCVdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3Jp
cHRQcm9maWxlTm9kZS5jcHAgXAogCVdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRQcm9maWxl
Tm9kZS5oIFwKLQlXZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCBcCi0J
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5oIFwKKwlXZWJDb3JlL2luc3Bl
Y3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIFwKKwlXZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuaCBcCiAJV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwIFwKIAlXZWJD
b3JlL2xvYWRlci9DYWNoZS5oIFwKIAlXZWJDb3JlL2xvYWRlci9DYWNoZVBvbGljeS5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggMDM2MjkzNi4uN2Q1ODAxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE1MzgsOCArMTUzOCw4IEBACiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0phdmFTY3JpcHRQcm9maWxlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9KYXZhU2NyaXB0UHJvZmlsZU5vZGUuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2
YVNjcmlwdFByb2ZpbGVOb2RlLmgnLAotICAgICAgICAgICAgJ2luc3BlY3Rvci9UaW1lbGluZUl0
ZW1GYWN0b3J5LmNwcCcsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rv
cnkuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaCcsCiAgICAg
ICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGUuY3BwJywKICAgICAgICAg
ICAgICdsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZS5oJywKICAgICAgICAgICAgICds
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCcsCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA5N2I3OWM5Li5iZjYwOWNjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM2MjU5LDExICszNjI1OSwxMSBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3Jc
VGltZWxpbmVJdGVtRmFjdG9yeS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9y
XFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVJdGVtRmFjdG9yeS5o
Ig0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3Rvcnku
aCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsdGVyDQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwYTRiZDBhLi43ZjhmODExIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE5Myw4ICsxMTkzLDggQEAK
IAkJNzI2MjZFMDIwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjYyNkUwMTBFRjAyMkZFMDBB
MDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLzsgfTsKIAkJNzU0MTMzQTgxMDJFMDBFODAwMDc1
RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NDEzM0E3MTAyRTAwRTgwMDA3NUQwMCAvKiBJbnNwZWN0
b3JUaW1lbGluZUFnZW50LmggKi87IH07CiAJCTc1NDEzM0FBMTAyRTAwRjQwMDA3NUQwMCAvKiBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc1NDEzM0E5MTAyRTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCAqLzsgfTsKLQkJNzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVs
aW5lSXRlbUZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5Lmgg
Ki87IH07Ci0JCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NTND
RkU3MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCAqLzsgfTsKKwkJ
NzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU1M0NGRTYxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovOyB9OworCQk3NTUzQ0ZFOTEw
OEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NTNDRkU3MTA4RjQ3M0YwMEVBMjgx
RSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwICovOyB9OwogCQk3NTc5M0U4MzBEMENFMEIz
MDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc1NzkzRTgwMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZl
bnQuY3BwICovOyB9OwogCQk3NTc5M0U4NDBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0U4
MTBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmggKi87IH07CiAJCTc1NzkzRUM4MEQw
Q0U3MkQwMDdGQzBBQyAvKiBKU01lc3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0VDNjBEMENFNzJEMDA3RkMwQUMgLyogSlNN
ZXNzYWdlRXZlbnQuY3BwICovOyB9OwpAQCAtNjQ4Myw4ICs2NDgzLDggQEAKIAkJNzI2MjZFMDEw
RUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBGb250RmFzdFBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3NTQxMzNBNzEwMkUwMEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1NDEzM0E5MTAyRTAwRjQwMDA3
NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVJdGVt
RmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1lbGluZUl0ZW1G
YWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTc1NTNDRkU3MTA4RjQ3M0Yw
MEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRpbWVsaW5lSXRlbUZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NTUzQ0ZFNzEwOEY0NzNG
MDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc1NzkzRTgwMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lc3NhZ2VFdmVu
dC5jcHA7IHBhdGggPSBkb20vTWVzc2FnZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQk3NTc5M0U4MTBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNZXNzYWdlRXZlbnQuaDsgcGF0aCA9IGRv
bS9NZXNzYWdlRXZlbnQuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk3NTc5M0U4
MjBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gTWVzc2FnZUV2ZW50LmlkbDsgcGF0aCA9IGRvbS9NZXNzYWdlRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CkBAIC0xMDM4OCw4ICsxMDM4OCw4IEBACiAJCQkJMUM4
MUI5RkMwRTk3MzNDQjAwMjY2RTA3IC8qIEphdmFTY3JpcHRQcm9maWxlTm9kZS5jcHAgKi8sCiAJ
CQkJMUM4MUI5RkIwRTk3MzNDQjAwMjY2RTA3IC8qIEphdmFTY3JpcHRQcm9maWxlTm9kZS5oICov
LAogCQkJCUJDQzY0RjVGMERDRkI4NEUwMDgxRUYzQiAvKiBsb2NhbGl6ZWRTdHJpbmdzLmpzICov
LAotCQkJCTc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5Lmgg
Ki8sCi0JCQkJNzU1M0NGRTcxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lSXRlbUZhY3Rvcnku
Y3BwICovLAorCQkJCTc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZh
Y3RvcnkuaCAqLywKKwkJCQk3NTUzQ0ZFNzEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW5zcGVjdG9yOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE4MDY1LDcgKzE4MDY1LDcgQEAKIAkJCQkzMzE0QUNFQzEw
ODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzNFMzI1NzEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg0ODAxOTU1MTA4QkFGQjMwMENCMkIxRiAvKiBGRUdhdXNzaWFuQmx1ci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5l
SXRlbUZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTc1NTNDRkU4MTA4RjQ3M0YwMEVBMjgx
RSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTdFMjNB
MTA5MTQ0OTUwMDEwRDM2MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM5N0U0MTMxMDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKQEAgLTIwMTk5LDcgKzIwMTk5LDcgQEAKIAkJCQkzMzE0QUNFQjEw
ODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTk3M0UzMjU2MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4NDgwMTk1NDEwOEJBRkIzMDBDQjJCMUYgLyogRkVHYXVzc2lhbkJs
dXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNzU1M0NGRTkxMDhGNDczRjAwRUEyODFFIC8qIFRp
bWVsaW5lSXRlbUZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzU1M0NGRTkxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzk3RTIzQjEwOTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM5N0U0MTIxMDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxl
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5N0U0MkMxMDkxNUIwNjAwMTBEMzYxIC8q
IEpTSFRNTEFsbENvbGxlY3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKaW5kZXggN2VlOTVhMy4uMmM0MjJhYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcApAQCAtMjE0LDEwICsyMTQsMTAgQEAg
dm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6dGltZWxpbmVQcm9maWxlcldhc1N0b3BwZWQoKQogICAg
IGNhbGxTaW1wbGVGdW5jdGlvbigidGltZWxpbmVQcm9maWxlcldhc1N0b3BwZWQiKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkSXRlbVRvVGltZWxpbmUoY29uc3QgU2NyaXB0T2Jq
ZWN0JiBpdGVtT2JqKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkUmVjb3JkVG9UaW1lbGlu
ZShjb25zdCBTY3JpcHRPYmplY3QmIHJlY29yZCkKIHsKLSAgICBPd25QdHI8U2NyaXB0RnVuY3Rp
b25DYWxsPiBmdW5jdGlvbihuZXdGdW5jdGlvbkNhbGwoImFkZEl0ZW1Ub1RpbWVsaW5lIikpOwot
ICAgIGZ1bmN0aW9uLT5hcHBlbmRBcmd1bWVudChpdGVtT2JqKTsKKyAgICBPd25QdHI8U2NyaXB0
RnVuY3Rpb25DYWxsPiBmdW5jdGlvbihuZXdGdW5jdGlvbkNhbGwoImFkZFJlY29yZFRvVGltZWxp
bmUiKSk7CisgICAgZnVuY3Rpb24tPmFwcGVuZEFyZ3VtZW50KHJlY29yZCk7CiAgICAgZnVuY3Rp
b24tPmNhbGwoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmgKaW5kZXgg
YmI3Njk4NC4uM2NiOWI4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oCkBA
IC0xMjcsNyArMTI3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgdGlt
ZWxpbmVQcm9maWxlcldhc1N0YXJ0ZWQoKTsKICAgICAgICAgdm9pZCB0aW1lbGluZVByb2ZpbGVy
V2FzU3RvcHBlZCgpOwotICAgICAgICB2b2lkIGFkZEl0ZW1Ub1RpbWVsaW5lKGNvbnN0IFNjcmlw
dE9iamVjdCYgaXRlbU9iaik7CisgICAgICAgIHZvaWQgYWRkUmVjb3JkVG9UaW1lbGluZShjb25z
dCBTY3JpcHRPYmplY3QmKTsKIAogICAgICAgICB2b2lkIGRpZEdldENvb2tpZXMoaW50IGNhbGxJ
ZCwgY29uc3QgU2NyaXB0QXJyYXkmIGNvb2tpZXMsIGNvbnN0IFN0cmluZyYgY29va2llc1N0cmlu
Zyk7CiAgICAgICAgIHZvaWQgZGlkRGlzcGF0Y2hPbkluamVjdGVkU2NyaXB0KGludCBjYWxsSWQs
IGNvbnN0IFN0cmluZyYgcmVzdWx0LCBib29sIGlzRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNGEzNDA5ZS4uZDAxODgwZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAKIAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmQuaCIKLSNpbmNsdWRlICJUaW1lbGluZUl0ZW1GYWN0b3J5LmgiCisjaW5jbHVkZSAiVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmgiCiAKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIApA
QCAtNTMsMTAyICs1MywxMDIgQEAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6fkluc3BlY3RvclRp
bWVsaW5lQWdlbnQoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxEaXNwYXRj
aERPTUV2ZW50KGNvbnN0IEV2ZW50JiBldmVudCkKIHsKLSAgICBwdXNoQ3VycmVudFRpbWVsaW5l
SXRlbShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVET01EaXNwYXRjaFRpbWVsaW5lSXRlbSht
X2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCksIGV2ZW50KSwgRE9NRGlzcGF0
Y2hUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29y
ZEZhY3Rvcnk6OmNyZWF0ZURPTURpc3BhdGNoUmVjb3JkKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1l
SW5NaWxsaXNlY29uZHMoKSwgZXZlbnQpLCBET01EaXNwYXRjaFRpbWVsaW5lUmVjb3JkVHlwZSk7
CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCgp
CiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKERPTURpc3BhdGNoVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKERPTURpc3BhdGNoVGlt
ZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
TGF5b3V0KCkKIHsKLSAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRlbShUaW1lbGluZUl0ZW1GYWN0
b3J5OjpjcmVhdGVHZW5lcmljVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5N
aWxsaXNlY29uZHMoKSksIExheW91dFRpbWVsaW5lSXRlbVR5cGUpOworICAgIHB1c2hDdXJyZW50
UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZChtX2Zyb250
ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkpLCBMYXlvdXRUaW1lbGluZVJlY29yZFR5
cGUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCgpCiB7Ci0g
ICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKExheW91dFRpbWVsaW5lSXRlbVR5cGUp
OworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChMYXlvdXRUaW1lbGluZVJlY29yZFR5cGUp
OwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxl
KCkKIHsKLSAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRlbShUaW1lbGluZUl0ZW1GYWN0b3J5Ojpj
cmVhdGVHZW5lcmljVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5NaWxsaXNl
Y29uZHMoKSksIFJlY2FsY3VsYXRlU3R5bGVzVGltZWxpbmVJdGVtVHlwZSk7CisgICAgcHVzaEN1
cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKG1f
ZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSksIFJlY2FsY3VsYXRlU3R5bGVz
VGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWRSZWNhbGN1bGF0ZVN0eWxlKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0
ZW0oUmVjYWxjdWxhdGVTdHlsZXNUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1
cnJlbnRSZWNvcmQoUmVjYWxjdWxhdGVTdHlsZXNUaW1lbGluZVJlY29yZFR5cGUpOwogfQogCiB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWludCgpCiB7Ci0gICAgcHVzaEN1cnJl
bnRUaW1lbGluZUl0ZW0oVGltZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVsaW5l
SXRlbShtX2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkpLCBQYWludFRpbWVs
aW5lSXRlbVR5cGUpOworICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlR2VuZXJpY1JlY29yZChtX2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNv
bmRzKCkpLCBQYWludFRpbWVsaW5lUmVjb3JkVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQogewotICAgIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5l
SXRlbShQYWludFRpbWVsaW5lSXRlbVR5cGUpOworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29y
ZChQYWludFRpbWVsaW5lUmVjb3JkVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFdyaXRlSFRNTCgpCiB7Ci0gICAgcHVzaEN1cnJlbnRUaW1lbGluZUl0ZW0oVGlt
ZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVsaW5lSXRlbShtX2Zyb250ZW5kLCBj
dXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkpLCBQYXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlKTsK
KyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVy
aWNSZWNvcmQobV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKSwgUGFyc2VI
VE1MVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRXcml0ZUhUTUwoKQogewotICAgIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5lSXRlbShQ
YXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQo
UGFyc2VIVE1MVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpkaWRJbnN0YWxsVGltZXIoaW50IHRpbWVySWQsIGludCB0aW1lb3V0LCBib29sIHNp
bmdsZVNob3QpCiB7Ci0gICAgYWRkSXRlbVRvVGltZWxpbmUoVGltZWxpbmVJdGVtRmFjdG9yeTo6
Y3JlYXRlVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5N
aWxsaXNlY29uZHMoKSwgdGltZXJJZCwKLSAgICAgICAgdGltZW91dCwgc2luZ2xlU2hvdCksIFRp
bWVySW5zdGFsbFRpbWVsaW5lSXRlbVR5cGUpOworICAgIGFkZFJlY29yZFRvVGltZWxpbmUoVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVUaW1lckluc3RhbGxSZWNvcmQobV9mcm9udGVuZCwg
Y3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkLAorICAgICAgICB0aW1lb3V0LCBz
aW5nbGVTaG90KSwgVGltZXJJbnN0YWxsVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZW1vdmVUaW1lcihpbnQgdGltZXJJZCkKIHsKLSAg
ICBhZGRJdGVtVG9UaW1lbGluZShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVHZW5lcmljVGlt
ZXJUaW1lbGluZUl0ZW0obV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0
aW1lcklkKSwKLSAgICAgICAgVGltZXJSZW1vdmVUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBhZGRS
ZWNvcmRUb1RpbWVsaW5lKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVy
UmVjb3JkKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSwgdGltZXJJZCks
CisgICAgICAgIFRpbWVyUmVtb3ZlVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsRmlyZVRpbWVyKGludCB0aW1lcklkKQogewotICAgIHB1
c2hDdXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNU
aW1lclRpbWVsaW5lSXRlbShtX2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCks
IHRpbWVySWQpLAotICAgICAgICBUaW1lckZpcmVUaW1lbGluZUl0ZW1UeXBlKTsgCisgICAgcHVz
aEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljVGltZXJS
ZWNvcmQobV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkKSwK
KyAgICAgICAgVGltZXJGaXJlVGltZWxpbmVSZWNvcmRUeXBlKTsgCiB9CiAKIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkRmlyZVRpbWVyKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0oVGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxl
dGVDdXJyZW50UmVjb3JkKFRpbWVyRmlyZVRpbWVsaW5lUmVjb3JkVHlwZSk7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmVzZXQoKQogewotICAgIG1faXRlbVN0YWNrLmNsZWFy
KCk7CisgICAgbV9yZWNvcmRTdGFjay5jbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmFkZEl0ZW1Ub1RpbWVsaW5lKFNjcmlwdE9iamVjdCBpdGVtLCBUaW1lbGluZUl0
ZW1UeXBlIHR5cGUpCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFkZFJlY29yZFRvVGlt
ZWxpbmUoU2NyaXB0T2JqZWN0IHJlY29yZCwgVGltZWxpbmVSZWNvcmRUeXBlIHR5cGUpCiB7Ci0g
ICAgaXRlbS5zZXQoInR5cGUiLCB0eXBlKTsKLSAgICBpZiAobV9pdGVtU3RhY2suaXNFbXB0eSgp
KQotICAgICAgICBtX2Zyb250ZW5kLT5hZGRJdGVtVG9UaW1lbGluZShpdGVtKTsKKyAgICByZWNv
cmQuc2V0KCJ0eXBlIiwgdHlwZSk7CisgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQor
ICAgICAgICBtX2Zyb250ZW5kLT5hZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZCk7CiAgICAgZWxz
ZSB7Ci0gICAgICAgIFRpbWVsaW5lSXRlbUVudHJ5IHBhcmVudCA9IG1faXRlbVN0YWNrLmxhc3Qo
KTsKLSAgICAgICAgcGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCks
IGl0ZW0pOworICAgICAgICBSZWNvcmRFbnRyeSBwYXJlbnQgPSBtX3JlY29yZFN0YWNrLmxhc3Qo
KTsKKyAgICAgICAgcGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCks
IHJlY29yZCk7CiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENv
bXBsZXRlQ3VycmVudFRpbWVsaW5lSXRlbShUaW1lbGluZUl0ZW1UeXBlIHR5cGUpCit2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJl
Y29yZFR5cGUgdHlwZSkKIHsKLSAgICBBU1NFUlQoIW1faXRlbVN0YWNrLmlzRW1wdHkoKSk7Ci0g
ICAgVGltZWxpbmVJdGVtRW50cnkgZW50cnkgPSBtX2l0ZW1TdGFjay5sYXN0KCk7Ci0gICAgbV9p
dGVtU3RhY2sucmVtb3ZlTGFzdCgpOworICAgIEFTU0VSVCghbV9yZWNvcmRTdGFjay5pc0VtcHR5
KCkpOworICAgIFJlY29yZEVudHJ5IGVudHJ5ID0gbV9yZWNvcmRTdGFjay5sYXN0KCk7CisgICAg
bV9yZWNvcmRTdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgQVNTRVJUKGVudHJ5LnR5cGUgPT0gdHlw
ZSk7Ci0gICAgZW50cnkuaXRlbS5zZXQoImNoaWxkcmVuIiwgZW50cnkuY2hpbGRyZW4pOwotICAg
IGVudHJ5Lml0ZW0uc2V0KCJlbmRUaW1lIiwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKTsK
LSAgICBhZGRJdGVtVG9UaW1lbGluZShlbnRyeS5pdGVtLCB0eXBlKTsKKyAgICBlbnRyeS5yZWNv
cmQuc2V0KCJjaGlsZHJlbiIsIGVudHJ5LmNoaWxkcmVuKTsKKyAgICBlbnRyeS5yZWNvcmQuc2V0
KCJlbmRUaW1lIiwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKTsKKyAgICBhZGRSZWNvcmRU
b1RpbWVsaW5lKGVudHJ5LnJlY29yZCwgdHlwZSk7CiB9CiAKIGRvdWJsZSBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkKQEAgLTE1Niw5ICsxNTYsOSBA
QCBkb3VibGUgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6Y3VycmVudFRpbWVJbk1pbGxpc2Vjb25k
cygpCiAgICAgcmV0dXJuIGN1cnJlbnRUaW1lKCkgKiAxMDAwLjA7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6cHVzaEN1cnJlbnRUaW1lbGluZUl0ZW0oU2NyaXB0T2JqZWN0IGl0
ZW0sIFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
cHVzaEN1cnJlbnRSZWNvcmQoU2NyaXB0T2JqZWN0IHJlY29yZCwgVGltZWxpbmVSZWNvcmRUeXBl
IHR5cGUpCiB7Ci0gICAgbV9pdGVtU3RhY2suYXBwZW5kKFRpbWVsaW5lSXRlbUVudHJ5KGl0ZW0s
IG1fZnJvbnRlbmQtPm5ld1NjcmlwdEFycmF5KCksIHR5cGUpKTsKKyAgICBtX3JlY29yZFN0YWNr
LmFwcGVuZChSZWNvcmRFbnRyeShyZWNvcmQsIG1fZnJvbnRlbmQtPm5ld1NjcmlwdEFycmF5KCks
IHR5cGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDBiZjM5NjUuLjMzZDA3MjYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTQyLDE1ICs0MiwxNSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiAKICAg
ICAvLyBNdXN0IGJlIGtlcHQgaW4gc3luYyB3aXRoIFRpbWVsaW5lQWdlbnQuanMKLSAgICBlbnVt
IFRpbWVsaW5lSXRlbVR5cGUgewotICAgICAgICBET01EaXNwYXRjaFRpbWVsaW5lSXRlbVR5cGUg
PSAwLAotICAgICAgICBMYXlvdXRUaW1lbGluZUl0ZW1UeXBlID0gMSwKLSAgICAgICAgUmVjYWxj
dWxhdGVTdHlsZXNUaW1lbGluZUl0ZW1UeXBlID0gMiwKLSAgICAgICAgUGFpbnRUaW1lbGluZUl0
ZW1UeXBlID0gMywKLSAgICAgICAgUGFyc2VIVE1MVGltZWxpbmVJdGVtVHlwZSA9IDQsCi0gICAg
ICAgIFRpbWVySW5zdGFsbFRpbWVsaW5lSXRlbVR5cGUgPSA1LAotICAgICAgICBUaW1lclJlbW92
ZVRpbWVsaW5lSXRlbVR5cGUgPSA2LAotICAgICAgICBUaW1lckZpcmVUaW1lbGluZUl0ZW1UeXBl
ID0gNywKKyAgICBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CisgICAgICAgIERPTURpc3BhdGNo
VGltZWxpbmVSZWNvcmRUeXBlID0gMCwKKyAgICAgICAgTGF5b3V0VGltZWxpbmVSZWNvcmRUeXBl
ID0gMSwKKyAgICAgICAgUmVjYWxjdWxhdGVTdHlsZXNUaW1lbGluZVJlY29yZFR5cGUgPSAyLAor
ICAgICAgICBQYWludFRpbWVsaW5lUmVjb3JkVHlwZSA9IDMsCisgICAgICAgIFBhcnNlSFRNTFRp
bWVsaW5lUmVjb3JkVHlwZSA9IDQsCisgICAgICAgIFRpbWVySW5zdGFsbFRpbWVsaW5lUmVjb3Jk
VHlwZSA9IDUsCisgICAgICAgIFRpbWVyUmVtb3ZlVGltZWxpbmVSZWNvcmRUeXBlID0gNiwKKyAg
ICAgICAgVGltZXJGaXJlVGltZWxpbmVSZWNvcmRUeXBlID0gNywKICAgICB9OwogCiAgICAgY2xh
c3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCB7CkBAIC04MywyNCArODMsMjQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiByZXRy
aWV2ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgc3Ry
dWN0IFRpbWVsaW5lSXRlbUVudHJ5IHsKLSAgICAgICAgICAgIFRpbWVsaW5lSXRlbUVudHJ5KFNj
cmlwdE9iamVjdCBpdGVtLCBTY3JpcHRBcnJheSBjaGlsZHJlbiwgVGltZWxpbmVJdGVtVHlwZSB0
eXBlKSA6IGl0ZW0oaXRlbSksIGNoaWxkcmVuKGNoaWxkcmVuKSwgdHlwZSh0eXBlKSB7IH0KLSAg
ICAgICAgICAgIFNjcmlwdE9iamVjdCBpdGVtOworICAgICAgICBzdHJ1Y3QgUmVjb3JkRW50cnkg
eworICAgICAgICAgICAgUmVjb3JkRW50cnkoU2NyaXB0T2JqZWN0IHJlY29yZCwgU2NyaXB0QXJy
YXkgY2hpbGRyZW4sIFRpbWVsaW5lUmVjb3JkVHlwZSB0eXBlKSA6IHJlY29yZChyZWNvcmQpLCBj
aGlsZHJlbihjaGlsZHJlbiksIHR5cGUodHlwZSkgeyB9CisgICAgICAgICAgICBTY3JpcHRPYmpl
Y3QgcmVjb3JkOwogICAgICAgICAgICAgU2NyaXB0QXJyYXkgY2hpbGRyZW47Ci0gICAgICAgICAg
ICBUaW1lbGluZUl0ZW1UeXBlIHR5cGU7CisgICAgICAgICAgICBUaW1lbGluZVJlY29yZFR5cGUg
dHlwZTsKICAgICAgICAgfTsKICAgICAgICAgCi0gICAgICAgIHZvaWQgcHVzaEN1cnJlbnRUaW1l
bGluZUl0ZW0oU2NyaXB0T2JqZWN0LCBUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICAgICAgdm9pZCBw
dXNoQ3VycmVudFJlY29yZChTY3JpcHRPYmplY3QsIFRpbWVsaW5lUmVjb3JkVHlwZSk7CiAgICAg
ICAgIAogICAgICAgICBzdGF0aWMgZG91YmxlIGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKTsK
IAotICAgICAgICB2b2lkIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5lSXRlbShUaW1lbGluZUl0
ZW1UeXBlKTsKKyAgICAgICAgdm9pZCBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVS
ZWNvcmRUeXBlKTsKICAgICAgICAgCi0gICAgICAgIHZvaWQgYWRkSXRlbVRvVGltZWxpbmUoU2Ny
aXB0T2JqZWN0LCBUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICAgICAgdm9pZCBhZGRSZWNvcmRUb1Rp
bWVsaW5lKFNjcmlwdE9iamVjdCwgVGltZWxpbmVSZWNvcmRUeXBlKTsKIAogICAgICAgICBJbnNw
ZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKICAgICAgICAgCi0gICAgICAgIFZlY3RvcjwgVGlt
ZWxpbmVJdGVtRW50cnkgPiBtX2l0ZW1TdGFjazsKKyAgICAgICAgVmVjdG9yPCBSZWNvcmRFbnRy
eSA+IG1fcmVjb3JkU3RhY2s7CiAgICAgfTsKIAogaW5saW5lIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQqIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnJldHJpZXZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1G
YWN0b3J5LmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjU1ZTc4Li4wMDAwMDAwCi0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
ODQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUaW1lbGluZUl0ZW1GYWN0
b3J5LmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCi0jaW5jbHVkZSAiRXZlbnQuaCIKLSNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgotI2luY2x1ZGUgIlNjcmlwdEFycmF5LmgiCi0j
aW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIHN0YXRp
YwotU2NyaXB0T2JqZWN0IFRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNUaW1lbGlu
ZUl0ZW0oSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3VibGUgc3RhcnRUaW1lKQotewot
ICAgIFNjcmlwdE9iamVjdCBpdGVtID0gZnJvbnRlbmQtPm5ld1NjcmlwdE9iamVjdCgpOwotICAg
IGl0ZW0uc2V0KCJzdGFydFRpbWUiLCBzdGFydFRpbWUpOwotICAgIHJldHVybiBpdGVtOwotfQot
Ci0vLyBzdGF0aWMKLVNjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVET01E
aXNwYXRjaFRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRvdWJsZSBz
dGFydFRpbWUsIGNvbnN0IEV2ZW50JiBldmVudCkKLXsKLSAgICBTY3JpcHRPYmplY3QgaXRlbSA9
IGNyZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7Ci0gICAgU2Ny
aXB0T2JqZWN0IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7Ci0gICAgZGF0YS5z
ZXQoInR5cGUiLCBldmVudC50eXBlKCkuc3RyaW5nKCkpOwotICAgIGl0ZW0uc2V0KCJkYXRhIiwg
ZGF0YSk7Ci0gICAgcmV0dXJuIGl0ZW07Ci19Ci0KLS8vIHN0YXRpYwotU2NyaXB0T2JqZWN0IFRp
bWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNUaW1lclRpbWVsaW5lSXRlbShJbnNwZWN0
b3JGcm9udGVuZCogZnJvbnRlbmQsIGRvdWJsZSBzdGFydFRpbWUsIGludCB0aW1lcklkKQotewot
ICAgIFNjcmlwdE9iamVjdCBpdGVtID0gY3JlYXRlR2VuZXJpY1RpbWVsaW5lSXRlbShmcm9udGVu
ZCwgc3RhcnRUaW1lKTsKLSAgICBTY3JpcHRPYmplY3QgZGF0YSA9IGZyb250ZW5kLT5uZXdTY3Jp
cHRPYmplY3QoKTsKLSAgICBkYXRhLnNldCgidGltZXJJZCIsIHRpbWVySWQpOwotICAgIGl0ZW0u
c2V0KCJkYXRhIiwgZGF0YSk7Ci0gICAgcmV0dXJuIGl0ZW07Ci19Ci0KLS8vIHN0YXRpYwotU2Ny
aXB0T2JqZWN0IFRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZVRpbWVySW5zdGFsbFRpbWVsaW5l
SXRlbShJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRvdWJsZSBzdGFydFRpbWUsIGludCB0
aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQotewotICAgIFNjcmlwdE9iamVj
dCBpdGVtID0gY3JlYXRlR2VuZXJpY1RpbWVsaW5lSXRlbShmcm9udGVuZCwgc3RhcnRUaW1lKTsK
LSAgICBTY3JpcHRPYmplY3QgZGF0YSA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKLSAg
ICBkYXRhLnNldCgidGltZXJJZCIsIHRpbWVySWQpOwotICAgIGRhdGEuc2V0KCJ0aW1lb3V0Iiwg
dGltZW91dCk7Ci0gICAgZGF0YS5zZXQoInNpbmdsZVNob3QiLCBzaW5nbGVTaG90KTsKLSAgICBp
dGVtLnNldCgiZGF0YSIsIGRhdGEpOwotICAgIHJldHVybiBpdGVtOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5oIGIvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NDFmNzY5Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rv
cnkuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotIAotI2lmbmRlZiBUaW1lbGluZUl0ZW1G
YWN0b3J5X2gKLSNkZWZpbmUgVGltZWxpbmVJdGVtRmFjdG9yeV9oCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotICAgIGNsYXNzIEV2ZW50OwotICAgIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwot
ICAgIGNsYXNzIFNjcmlwdE9iamVjdDsKLQotICAgIGNsYXNzIFRpbWVsaW5lSXRlbUZhY3Rvcnkg
ewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVHZW5lcmlj
VGltZWxpbmVJdGVtKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSk7Ci0KLSAg
ICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVET01EaXNwYXRjaFRpbWVsaW5lSXRlbShJ
bnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUsIGNvbnN0IEV2ZW50Jik7Ci0KLSAg
ICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVHZW5lcmljVGltZXJUaW1lbGluZUl0ZW0o
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCk7Ci0KLSAg
ICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0o
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRp
bWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7Ci0gICAgICAgIAotICAgIHByaXZhdGU6Ci0gICAgICAg
IFRpbWVsaW5lSXRlbUZhY3RvcnkoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyAhZGVmaW5lZChUaW1lbGluZUl0ZW1GYWN0b3J5X2gpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi42NGY3NTU5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApAQCAtMCwwICsxLDg0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIgorCisjaWYgRU5B
QkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmQuaCIKKyNpbmNsdWRlICJTY3JpcHRBcnJheS5oIgorI2luY2x1ZGUgIlNjcmlwdE9i
amVjdC5oIgorbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBU
aW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoSW5zcGVjdG9yRnJvbnRl
bmQqIGZyb250ZW5kLCBkb3VibGUgc3RhcnRUaW1lKQoreworICAgIFNjcmlwdE9iamVjdCByZWNv
cmQgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgcmVjb3JkLnNldCgic3RhcnRU
aW1lIiwgc3RhcnRUaW1lKTsKKyAgICByZXR1cm4gcmVjb3JkOworfQorCisvLyBzdGF0aWMKK1Nj
cmlwdE9iamVjdCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZURPTURpc3BhdGNoUmVjb3Jk
KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCwgZG91YmxlIHN0YXJ0VGltZSwgY29uc3QgRXZl
bnQmIGV2ZW50KQoreworICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBjcmVhdGVHZW5lcmljUmVj
b3JkKGZyb250ZW5kLCBzdGFydFRpbWUpOworICAgIFNjcmlwdE9iamVjdCBkYXRhID0gZnJvbnRl
bmQtPm5ld1NjcmlwdE9iamVjdCgpOworICAgIGRhdGEuc2V0KCJ0eXBlIiwgZXZlbnQudHlwZSgp
LnN0cmluZygpKTsKKyAgICByZWNvcmQuc2V0KCJkYXRhIiwgZGF0YSk7CisgICAgcmV0dXJuIHJl
Y29yZDsKK30KKworLy8gc3RhdGljCitTY3JpcHRPYmplY3QgVGltZWxpbmVSZWNvcmRGYWN0b3J5
OjpjcmVhdGVHZW5lcmljVGltZXJSZWNvcmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBk
b3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCkKK3sKKyAgICBTY3JpcHRPYmplY3QgcmVjb3Jk
ID0gY3JlYXRlR2VuZXJpY1JlY29yZChmcm9udGVuZCwgc3RhcnRUaW1lKTsKKyAgICBTY3JpcHRP
YmplY3QgZGF0YSA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKKyAgICBkYXRhLnNldCgi
dGltZXJJZCIsIHRpbWVySWQpOworICAgIHJlY29yZC5zZXQoImRhdGEiLCBkYXRhKTsKKyAgICBy
ZXR1cm4gcmVjb3JkOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZVJlY29y
ZEZhY3Rvcnk6OmNyZWF0ZVRpbWVySW5zdGFsbFJlY29yZChJbnNwZWN0b3JGcm9udGVuZCogZnJv
bnRlbmQsIGRvdWJsZSBzdGFydFRpbWUsIGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBz
aW5nbGVTaG90KQoreworICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBjcmVhdGVHZW5lcmljUmVj
b3JkKGZyb250ZW5kLCBzdGFydFRpbWUpOworICAgIFNjcmlwdE9iamVjdCBkYXRhID0gZnJvbnRl
bmQtPm5ld1NjcmlwdE9iamVjdCgpOworICAgIGRhdGEuc2V0KCJ0aW1lcklkIiwgdGltZXJJZCk7
CisgICAgZGF0YS5zZXQoInRpbWVvdXQiLCB0aW1lb3V0KTsKKyAgICBkYXRhLnNldCgic2luZ2xl
U2hvdCIsIHNpbmdsZVNob3QpOworICAgIHJlY29yZC5zZXQoImRhdGEiLCBkYXRhKTsKKyAgICBy
ZXR1cm4gcmVjb3JkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmggYi9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWQ0MTcyCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKQEAgLTAs
MCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisgCisjaWZuZGVmIFRpbWVsaW5lUmVjb3JkRmFjdG9yeV9oCisjZGVmaW5lIFRpbWVs
aW5lUmVjb3JkRmFjdG9yeV9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIEV2
ZW50OworICAgIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOworICAgIGNsYXNzIFNjcmlwdE9iamVj
dDsKKworICAgIGNsYXNzIFRpbWVsaW5lUmVjb3JkRmFjdG9yeSB7CisgICAgcHVibGljOgorICAg
ICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVyaWNSZWNvcmQoSW5zcGVjdG9yRnJv
bnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0
IGNyZWF0ZURPTURpc3BhdGNoUmVjb3JkKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0
VGltZSwgY29uc3QgRXZlbnQmKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0
ZUdlbmVyaWNUaW1lclJlY29yZChJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUs
IGludCB0aW1lcklkKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZVRpbWVy
SW5zdGFsbFJlY29yZChJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUsIGludCB0
aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICAgICAgCisgICAgcHJp
dmF0ZToKKyAgICAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5KCkgeyB9CisgICAgfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gIWRlZmluZWQoVGltZWxpbmVSZWNvcmRG
YWN0b3J5X2gpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVBZ2VudC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUFnZW50Lmpz
CmluZGV4IGVkZDk3YTkuLmZjYWFkNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZUFnZW50LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZUFnZW50LmpzCkBAIC0zMyw3ICszMyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZUFnZW50ID0gZnVuY3Rpb24oKSB7CiB9CiAKIC8vIE11c3QgYmUga2VwdCBpbiBzeW5jIHdpdGgg
VGltZWxpbmVJdGVtLmgKLVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50Lkl0ZW1UeXBlID0gewor
V2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZSA9IHsKICAgICBET01EaXNwYXRj
aCAgICAgICA6IDAsCiAgICAgTGF5b3V0ICAgICAgICAgICAgOiAxLAogICAgIFJlY2FsY3VsYXRl
U3R5bGVzIDogMiwKQEAgLTQ0LDkgKzQ0LDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQu
SXRlbVR5cGUgPSB7CiAgICAgVGltZXJGaXJlICAgICAgICAgOiA3LCAgICAKIH07CiAKLVdlYklu
c3BlY3Rvci5hZGRJdGVtVG9UaW1lbGluZSA9IGZ1bmN0aW9uKHJlY29yZCkgeworV2ViSW5zcGVj
dG9yLmFkZFJlY29yZFRvVGltZWxpbmUgPSBmdW5jdGlvbihyZWNvcmQpIHsKICAgICBpZiAoV2Vi
SW5zcGVjdG9yLnBhbmVscy50aW1lbGluZSkKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy50
aW1lbGluZS5hZGRJdGVtVG9UaW1lbGluZShyZWNvcmQpOworICAgICAgICBXZWJJbnNwZWN0b3Iu
cGFuZWxzLnRpbWVsaW5lLmFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkKTsKIH0KIAogV2ViSW5z
cGVjdG9yLnRpbWVsaW5lUHJvZmlsZXJXYXNTdGFydGVkID0gZnVuY3Rpb24oKSB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDkzMzhkZTAuLjcy
ZjE1OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBh
bmVsLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
CkBAIC03MSwxOSArNzEsMTkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsK
ICAgICB9LAogCi0gICAgYWRkSXRlbVRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCkKKyAgICBh
ZGRSZWNvcmRUb1RpbWVsaW5lOiBmdW5jdGlvbihyZWNvcmQpCiAgICAgewotICAgICAgICB0aGlz
Ll9pbm5lckFkZEl0ZW1Ub1RpbWVsaW5lKHRoaXMucmVjb3Jkc1RyZWVFbGVtZW50LCByZWNvcmQp
OworICAgICAgICB0aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUodGhpcy5yZWNvcmRzVHJl
ZUVsZW1lbnQsIHJlY29yZCk7CiAgICAgfSwKIAotICAgIF9pbm5lckFkZEl0ZW1Ub1RpbWVsaW5l
OiBmdW5jdGlvbihwYXJlbnRFbGVtZW50LCByZWNvcmQpCisgICAgX2lubmVyQWRkUmVjb3JkVG9U
aW1lbGluZTogZnVuY3Rpb24ocGFyZW50RWxlbWVudCwgcmVjb3JkKQogICAgIHsKICAgICAgICAg
dmFyIHRyZWVJdGVtID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
KHRoaXMsIHJlY29yZCk7CiAgICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodHJlZUl0
ZW0pOwogICAgICAgICBpZiAocmVjb3JkLmNoaWxkcmVuKQogICAgICAgICAgICAgcGFyZW50RWxl
bWVudC5leHBhbmRlZCA9IHRydWU7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jk
LmNoaWxkcmVuLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5faW5uZXJBZGRJdGVtVG9U
aW1lbGluZSh0cmVlSXRlbSwgcmVjb3JkLmNoaWxkcmVuW2ldKTsKKyAgICAgICAgICAgIHRoaXMu
X2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZSh0cmVlSXRlbSwgcmVjb3JkLmNoaWxkcmVuW2ldKTsK
ICAgICB9LAogCiAgICAgX3RvZ2dsZVRpbWVsaW5lQnV0dG9uOiBmdW5jdGlvbigpCkBAIC05OSwx
NyArOTksMTcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLnRpbWVsaW5lVmlldy5zdHlsZS5sZWZ0ID0gd2lkdGggKyAicHgiOwogICAgIH0s
CiAKLSAgICBnZXRJdGVtVHlwZU5hbWU6IGZ1bmN0aW9uKHJlY29yZCkKKyAgICBnZXRSZWNvcmRU
eXBlTmFtZTogZnVuY3Rpb24ocmVjb3JkKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9pdGVt
VHlwZU5hbWVzKSB7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzID0ge307Ci0gICAg
ICAgICAgICB2YXIgaXRlbVR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuSXRlbVR5
cGU7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzW2l0ZW1UeXBlcy5ET01EaXNwYXRj
aF0gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRPTSBFdmVudCIpOwotICAgICAgICAgICAgdGhp
cy5faXRlbVR5cGVOYW1lc1tpdGVtVHlwZXMuTGF5b3V0XSA9IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiTGF5b3V0Iik7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzW2l0ZW1UeXBlcy5S
ZWNhbGN1bGF0ZVN0eWxlc10gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlY2FsY3VsYXRlIFN0
eWxlIik7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzW2l0ZW1UeXBlcy5QYWludF0g
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhaW50Iik7Ci0gICAgICAgICAgICB0aGlzLl9pdGVt
VHlwZU5hbWVzW2l0ZW1UeXBlcy5MYXlvdXRdID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXlv
dXQiKTsKLSAgICAgICAgICAgIHRoaXMuX2l0ZW1UeXBlTmFtZXNbaXRlbVR5cGVzLlBhcnNlSFRN
TF0gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhcnNlIik7CisgICAgICAgIGlmICghdGhpcy5f
cmVjb3JkVHlwZU5hbWVzKSB7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRUeXBlTmFtZXMgPSB7
fTsKKyAgICAgICAgICAgIHZhciByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZUFn
ZW50LlJlY29yZFR5cGU7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRUeXBlTmFtZXNbcmVjb3Jk
VHlwZXMuRE9NRGlzcGF0Y2hdID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJET00gRXZlbnQiKTsK
KyAgICAgICAgICAgIHRoaXMuX3JlY29yZFR5cGVOYW1lc1tyZWNvcmRUeXBlcy5MYXlvdXRdID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXlvdXQiKTsKKyAgICAgICAgICAgIHRoaXMuX3JlY29y
ZFR5cGVOYW1lc1tyZWNvcmRUeXBlcy5SZWNhbGN1bGF0ZVN0eWxlc10gPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJlY2FsY3VsYXRlIFN0eWxlIik7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRU
eXBlTmFtZXNbcmVjb3JkVHlwZXMuUGFpbnRdID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYWlu
dCIpOworICAgICAgICAgICAgdGhpcy5fcmVjb3JkVHlwZU5hbWVzW3JlY29yZFR5cGVzLkxheW91
dF0gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIpOworICAgICAgICAgICAgdGhpcy5f
cmVjb3JkVHlwZU5hbWVzW3JlY29yZFR5cGVzLlBhcnNlSFRNTF0gPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlBhcnNlIik7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1UeXBl
TmFtZXNbcmVjb3JkLnR5cGVdOwogICAgIH0KQEAgLTEzNSw3ICsxMzUsNyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFy
IHR5cGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgICAgICB0
eXBlRWxlbWVudC5jbGFzc05hbWUgPSAidHlwZSI7Ci0gICAgICAgIHR5cGVFbGVtZW50LnRleHRD
b250ZW50ID0gdGhpcy5fcGFuZWwuZ2V0SXRlbVR5cGVOYW1lKHRoaXMuX3JlY29yZCk7CisgICAg
ICAgIHR5cGVFbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5fcGFuZWwuZ2V0UmVjb3JkVHlwZU5h
bWUodGhpcy5fcmVjb3JkKTsKICAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuYXBwZW5kQ2hp
bGQodHlwZUVsZW1lbnQpOwogCiAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZGF0YSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41907</attachid>
            <date>2009-10-26 15:38:56 -0700</date>
            <delta_ts>2009-10-26 20:24:13 -0700</delta_ts>
            <desc>Renamed to TimelineRecordEntry</desc>
            <filename>Timeline-Rename.diff</filename>
            <type>text/plain</type>
            <size>37493</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODFmNWMxNi4uYjUzOTUyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAwOS0xMC0yNiAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmFtZXMgVGltZWxpbmVJdGVtIHRvIFRpbWVsaW5lUmVjb3JkIGFu
ZCB1cGRhdGVzIGFsbCBjYWxsIHNpdGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA3ODUKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiAKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JGcm9udGVuZDo6YWRkUmVjb3JkVG9UaW1lbGluZSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbERpc3BhdGNoRE9NRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUmVjYWxjdWxhdGVTdHlsZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWludCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsV3JpdGVIVE1MKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFdyaXRlSFRNTCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRJbnN0YWxsVGltZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVtb3ZlVGltZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEZpcmVUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmVzZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6YWRkUmVjb3JkVG9UaW1lbGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6cHVzaEN1cnJlbnRSZWNvcmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6UmVjb3JkRW50cnk6OlJlY29yZEVudHJ5KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVET01EaXNwYXRjaFJlY29yZCk6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNU
aW1lclJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNy
ZWF0ZVRpbWVySW5zdGFsbFJlY29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVj
b3JkRmFjdG9yeS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFj
dG9yeTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lQWdlbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuYWRkUmVjb3JkVG9U
aW1lbGluZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLmFkZFJlY29y
ZFRvVGltZWxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90
eXBlLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUGFuZWwucHJvdG90eXBlLmdldFJlY29yZFR5cGVOYW1lKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisK
IDIwMDktMTAtMjYgIEF2aSBEcmlzc21hbiAgPGF2aUBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZmUwNGY4OS4uYzQ1NjBhYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CkBAIC0xMTkwLDggKzExOTAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaW5z
cGVjdG9yL0phdmFTY3JpcHRQcm9maWxlLmggXAogCVdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3Jp
cHRQcm9maWxlTm9kZS5jcHAgXAogCVdlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRQcm9maWxl
Tm9kZS5oIFwKLQlXZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCBcCi0J
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5oIFwKKwlXZWJDb3JlL2luc3Bl
Y3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIFwKKwlXZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuaCBcCiAJV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwIFwKIAlXZWJD
b3JlL2xvYWRlci9DYWNoZS5oIFwKIAlXZWJDb3JlL2xvYWRlci9DYWNoZVBvbGljeS5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggMDM2MjkzNi4uN2Q1ODAxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE1MzgsOCArMTUzOCw4IEBACiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0phdmFTY3JpcHRQcm9maWxlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9KYXZhU2NyaXB0UHJvZmlsZU5vZGUuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2
YVNjcmlwdFByb2ZpbGVOb2RlLmgnLAotICAgICAgICAgICAgJ2luc3BlY3Rvci9UaW1lbGluZUl0
ZW1GYWN0b3J5LmNwcCcsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3Rv
cnkuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaCcsCiAgICAg
ICAgICAgICAnbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGUuY3BwJywKICAgICAgICAg
ICAgICdsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZS5oJywKICAgICAgICAgICAgICds
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCcsCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA5N2I3OWM5Li5iZjYwOWNjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM2MjU5LDExICszNjI1OSwxMSBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3Jc
VGltZWxpbmVJdGVtRmFjdG9yeS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9y
XFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVJdGVtRmFjdG9yeS5o
Ig0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3Rvcnku
aCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsdGVyDQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwYTRiZDBhLi43ZjhmODExIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE5Myw4ICsxMTkzLDggQEAK
IAkJNzI2MjZFMDIwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjYyNkUwMTBFRjAyMkZFMDBB
MDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLzsgfTsKIAkJNzU0MTMzQTgxMDJFMDBFODAwMDc1
RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NDEzM0E3MTAyRTAwRTgwMDA3NUQwMCAvKiBJbnNwZWN0
b3JUaW1lbGluZUFnZW50LmggKi87IH07CiAJCTc1NDEzM0FBMTAyRTAwRjQwMDA3NUQwMCAvKiBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc1NDEzM0E5MTAyRTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCAqLzsgfTsKLQkJNzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVs
aW5lSXRlbUZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5Lmgg
Ki87IH07Ci0JCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NTND
RkU3MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCAqLzsgfTsKKwkJ
NzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU1M0NGRTYxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oICovOyB9OworCQk3NTUzQ0ZFOTEw
OEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NTNDRkU3MTA4RjQ3M0YwMEVBMjgx
RSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwICovOyB9OwogCQk3NTc5M0U4MzBEMENFMEIz
MDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc1NzkzRTgwMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZl
bnQuY3BwICovOyB9OwogCQk3NTc5M0U4NDBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0U4
MTBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmggKi87IH07CiAJCTc1NzkzRUM4MEQw
Q0U3MkQwMDdGQzBBQyAvKiBKU01lc3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0VDNjBEMENFNzJEMDA3RkMwQUMgLyogSlNN
ZXNzYWdlRXZlbnQuY3BwICovOyB9OwpAQCAtNjQ4Myw4ICs2NDgzLDggQEAKIAkJNzI2MjZFMDEw
RUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBGb250RmFzdFBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3NTQxMzNBNzEwMkUwMEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1NDEzM0E5MTAyRTAwRjQwMDA3
NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVJdGVt
RmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1lbGluZUl0ZW1G
YWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTc1NTNDRkU3MTA4RjQ3M0Yw
MEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRpbWVsaW5lSXRlbUZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NTUzQ0ZFNzEwOEY0NzNG
MDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc1NzkzRTgwMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lc3NhZ2VFdmVu
dC5jcHA7IHBhdGggPSBkb20vTWVzc2FnZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQk3NTc5M0U4MTBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNZXNzYWdlRXZlbnQuaDsgcGF0aCA9IGRv
bS9NZXNzYWdlRXZlbnQuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk3NTc5M0U4
MjBEMENFMEIzMDA3RkMwQUMgLyogTWVzc2FnZUV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gTWVzc2FnZUV2ZW50LmlkbDsgcGF0aCA9IGRvbS9NZXNzYWdlRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CkBAIC0xMDM4OCw4ICsxMDM4OCw4IEBACiAJCQkJMUM4
MUI5RkMwRTk3MzNDQjAwMjY2RTA3IC8qIEphdmFTY3JpcHRQcm9maWxlTm9kZS5jcHAgKi8sCiAJ
CQkJMUM4MUI5RkIwRTk3MzNDQjAwMjY2RTA3IC8qIEphdmFTY3JpcHRQcm9maWxlTm9kZS5oICov
LAogCQkJCUJDQzY0RjVGMERDRkI4NEUwMDgxRUYzQiAvKiBsb2NhbGl6ZWRTdHJpbmdzLmpzICov
LAotCQkJCTc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZUl0ZW1GYWN0b3J5Lmgg
Ki8sCi0JCQkJNzU1M0NGRTcxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lSXRlbUZhY3Rvcnku
Y3BwICovLAorCQkJCTc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZh
Y3RvcnkuaCAqLywKKwkJCQk3NTUzQ0ZFNzEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW5zcGVjdG9yOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE4MDY1LDcgKzE4MDY1LDcgQEAKIAkJCQkzMzE0QUNFQzEw
ODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzNFMzI1NzEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg0ODAxOTU1MTA4QkFGQjMwMENCMkIxRiAvKiBGRUdhdXNzaWFuQmx1ci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNzU1M0NGRTgxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5l
SXRlbUZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTc1NTNDRkU4MTA4RjQ3M0YwMEVBMjgx
RSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTdFMjNB
MTA5MTQ0OTUwMDEwRDM2MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM5N0U0MTMxMDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKQEAgLTIwMTk5LDcgKzIwMTk5LDcgQEAKIAkJCQkzMzE0QUNFQjEw
ODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTk3M0UzMjU2MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4NDgwMTk1NDEwOEJBRkIzMDBDQjJCMUYgLyogRkVHYXVzc2lhbkJs
dXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNzU1M0NGRTkxMDhGNDczRjAwRUEyODFFIC8qIFRp
bWVsaW5lSXRlbUZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzU1M0NGRTkxMDhGNDcz
RjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzk3RTIzQjEwOTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM5N0U0MTIxMDkxNTRGQTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxl
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5N0U0MkMxMDkxNUIwNjAwMTBEMzYxIC8q
IEpTSFRNTEFsbENvbGxlY3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKaW5kZXggN2VlOTVhMy4uMmM0MjJhYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcApAQCAtMjE0LDEwICsyMTQsMTAgQEAg
dm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6dGltZWxpbmVQcm9maWxlcldhc1N0b3BwZWQoKQogICAg
IGNhbGxTaW1wbGVGdW5jdGlvbigidGltZWxpbmVQcm9maWxlcldhc1N0b3BwZWQiKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkSXRlbVRvVGltZWxpbmUoY29uc3QgU2NyaXB0T2Jq
ZWN0JiBpdGVtT2JqKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkUmVjb3JkVG9UaW1lbGlu
ZShjb25zdCBTY3JpcHRPYmplY3QmIHJlY29yZCkKIHsKLSAgICBPd25QdHI8U2NyaXB0RnVuY3Rp
b25DYWxsPiBmdW5jdGlvbihuZXdGdW5jdGlvbkNhbGwoImFkZEl0ZW1Ub1RpbWVsaW5lIikpOwot
ICAgIGZ1bmN0aW9uLT5hcHBlbmRBcmd1bWVudChpdGVtT2JqKTsKKyAgICBPd25QdHI8U2NyaXB0
RnVuY3Rpb25DYWxsPiBmdW5jdGlvbihuZXdGdW5jdGlvbkNhbGwoImFkZFJlY29yZFRvVGltZWxp
bmUiKSk7CisgICAgZnVuY3Rpb24tPmFwcGVuZEFyZ3VtZW50KHJlY29yZCk7CiAgICAgZnVuY3Rp
b24tPmNhbGwoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmgKaW5kZXgg
YmI3Njk4NC4uM2NiOWI4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oCkBA
IC0xMjcsNyArMTI3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgdGlt
ZWxpbmVQcm9maWxlcldhc1N0YXJ0ZWQoKTsKICAgICAgICAgdm9pZCB0aW1lbGluZVByb2ZpbGVy
V2FzU3RvcHBlZCgpOwotICAgICAgICB2b2lkIGFkZEl0ZW1Ub1RpbWVsaW5lKGNvbnN0IFNjcmlw
dE9iamVjdCYgaXRlbU9iaik7CisgICAgICAgIHZvaWQgYWRkUmVjb3JkVG9UaW1lbGluZShjb25z
dCBTY3JpcHRPYmplY3QmKTsKIAogICAgICAgICB2b2lkIGRpZEdldENvb2tpZXMoaW50IGNhbGxJ
ZCwgY29uc3QgU2NyaXB0QXJyYXkmIGNvb2tpZXMsIGNvbnN0IFN0cmluZyYgY29va2llc1N0cmlu
Zyk7CiAgICAgICAgIHZvaWQgZGlkRGlzcGF0Y2hPbkluamVjdGVkU2NyaXB0KGludCBjYWxsSWQs
IGNvbnN0IFN0cmluZyYgcmVzdWx0LCBib29sIGlzRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNGEzNDA5ZS4uOTIyMDgyNCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAKIAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmQuaCIKLSNpbmNsdWRlICJUaW1lbGluZUl0ZW1GYWN0b3J5LmgiCisjaW5jbHVkZSAiVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmgiCiAKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIApA
QCAtNTMsMTAyICs1MywxMDIgQEAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6fkluc3BlY3RvclRp
bWVsaW5lQWdlbnQoKQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxEaXNwYXRj
aERPTUV2ZW50KGNvbnN0IEV2ZW50JiBldmVudCkKIHsKLSAgICBwdXNoQ3VycmVudFRpbWVsaW5l
SXRlbShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVET01EaXNwYXRjaFRpbWVsaW5lSXRlbSht
X2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCksIGV2ZW50KSwgRE9NRGlzcGF0
Y2hUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29y
ZEZhY3Rvcnk6OmNyZWF0ZURPTURpc3BhdGNoUmVjb3JkKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1l
SW5NaWxsaXNlY29uZHMoKSwgZXZlbnQpLCBET01EaXNwYXRjaFRpbWVsaW5lUmVjb3JkVHlwZSk7
CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hET01FdmVudCgp
CiB7Ci0gICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKERPTURpc3BhdGNoVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKERPTURpc3BhdGNoVGlt
ZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxs
TGF5b3V0KCkKIHsKLSAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRlbShUaW1lbGluZUl0ZW1GYWN0
b3J5OjpjcmVhdGVHZW5lcmljVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5N
aWxsaXNlY29uZHMoKSksIExheW91dFRpbWVsaW5lSXRlbVR5cGUpOworICAgIHB1c2hDdXJyZW50
UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1JlY29yZChtX2Zyb250
ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkpLCBMYXlvdXRUaW1lbGluZVJlY29yZFR5
cGUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCgpCiB7Ci0g
ICAgZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKExheW91dFRpbWVsaW5lSXRlbVR5cGUp
OworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChMYXlvdXRUaW1lbGluZVJlY29yZFR5cGUp
OwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxl
KCkKIHsKLSAgICBwdXNoQ3VycmVudFRpbWVsaW5lSXRlbShUaW1lbGluZUl0ZW1GYWN0b3J5Ojpj
cmVhdGVHZW5lcmljVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5NaWxsaXNl
Y29uZHMoKSksIFJlY2FsY3VsYXRlU3R5bGVzVGltZWxpbmVJdGVtVHlwZSk7CisgICAgcHVzaEN1
cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKG1f
ZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSksIFJlY2FsY3VsYXRlU3R5bGVz
VGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWRSZWNhbGN1bGF0ZVN0eWxlKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0
ZW0oUmVjYWxjdWxhdGVTdHlsZXNUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1
cnJlbnRSZWNvcmQoUmVjYWxjdWxhdGVTdHlsZXNUaW1lbGluZVJlY29yZFR5cGUpOwogfQogCiB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWludCgpCiB7Ci0gICAgcHVzaEN1cnJl
bnRUaW1lbGluZUl0ZW0oVGltZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVsaW5l
SXRlbShtX2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkpLCBQYWludFRpbWVs
aW5lSXRlbVR5cGUpOworICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlR2VuZXJpY1JlY29yZChtX2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNv
bmRzKCkpLCBQYWludFRpbWVsaW5lUmVjb3JkVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQogewotICAgIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5l
SXRlbShQYWludFRpbWVsaW5lSXRlbVR5cGUpOworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29y
ZChQYWludFRpbWVsaW5lUmVjb3JkVHlwZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6d2lsbFdyaXRlSFRNTCgpCiB7Ci0gICAgcHVzaEN1cnJlbnRUaW1lbGluZUl0ZW0oVGlt
ZWxpbmVJdGVtRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVsaW5lSXRlbShtX2Zyb250ZW5kLCBj
dXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCkpLCBQYXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlKTsK
KyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVy
aWNSZWNvcmQobV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpKSwgUGFyc2VI
VE1MVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRXcml0ZUhUTUwoKQogewotICAgIGRpZENvbXBsZXRlQ3VycmVudFRpbWVsaW5lSXRlbShQ
YXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQo
UGFyc2VIVE1MVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpkaWRJbnN0YWxsVGltZXIoaW50IHRpbWVySWQsIGludCB0aW1lb3V0LCBib29sIHNp
bmdsZVNob3QpCiB7Ci0gICAgYWRkSXRlbVRvVGltZWxpbmUoVGltZWxpbmVJdGVtRmFjdG9yeTo6
Y3JlYXRlVGltZXJJbnN0YWxsVGltZWxpbmVJdGVtKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5N
aWxsaXNlY29uZHMoKSwgdGltZXJJZCwKLSAgICAgICAgdGltZW91dCwgc2luZ2xlU2hvdCksIFRp
bWVySW5zdGFsbFRpbWVsaW5lSXRlbVR5cGUpOworICAgIGFkZFJlY29yZFRvVGltZWxpbmUoVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVUaW1lckluc3RhbGxSZWNvcmQobV9mcm9udGVuZCwg
Y3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkLAorICAgICAgICB0aW1lb3V0LCBz
aW5nbGVTaG90KSwgVGltZXJJbnN0YWxsVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZW1vdmVUaW1lcihpbnQgdGltZXJJZCkKIHsKLSAg
ICBhZGRJdGVtVG9UaW1lbGluZShUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVHZW5lcmljVGlt
ZXJUaW1lbGluZUl0ZW0obV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0
aW1lcklkKSwKLSAgICAgICAgVGltZXJSZW1vdmVUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBhZGRS
ZWNvcmRUb1RpbWVsaW5lKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlR2VuZXJpY1RpbWVy
UmVjb3JkKG1fZnJvbnRlbmQsIGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSwgdGltZXJJZCks
CisgICAgICAgIFRpbWVyUmVtb3ZlVGltZWxpbmVSZWNvcmRUeXBlKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsRmlyZVRpbWVyKGludCB0aW1lcklkKQogewotICAgIHB1
c2hDdXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNU
aW1lclRpbWVsaW5lSXRlbShtX2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCks
IHRpbWVySWQpLAotICAgICAgICBUaW1lckZpcmVUaW1lbGluZUl0ZW1UeXBlKTsgCisgICAgcHVz
aEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljVGltZXJS
ZWNvcmQobV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpLCB0aW1lcklkKSwK
KyAgICAgICAgVGltZXJGaXJlVGltZWxpbmVSZWNvcmRUeXBlKTsgCiB9CiAKIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkRmlyZVRpbWVyKCkKIHsKLSAgICBkaWRDb21wbGV0ZUN1cnJl
bnRUaW1lbGluZUl0ZW0oVGltZXJGaXJlVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxl
dGVDdXJyZW50UmVjb3JkKFRpbWVyRmlyZVRpbWVsaW5lUmVjb3JkVHlwZSk7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmVzZXQoKQogewotICAgIG1faXRlbVN0YWNrLmNsZWFy
KCk7CisgICAgbV9yZWNvcmRTdGFjay5jbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmFkZEl0ZW1Ub1RpbWVsaW5lKFNjcmlwdE9iamVjdCBpdGVtLCBUaW1lbGluZUl0
ZW1UeXBlIHR5cGUpCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmFkZFJlY29yZFRvVGlt
ZWxpbmUoU2NyaXB0T2JqZWN0IHJlY29yZCwgVGltZWxpbmVSZWNvcmRUeXBlIHR5cGUpCiB7Ci0g
ICAgaXRlbS5zZXQoInR5cGUiLCB0eXBlKTsKLSAgICBpZiAobV9pdGVtU3RhY2suaXNFbXB0eSgp
KQotICAgICAgICBtX2Zyb250ZW5kLT5hZGRJdGVtVG9UaW1lbGluZShpdGVtKTsKKyAgICByZWNv
cmQuc2V0KCJ0eXBlIiwgdHlwZSk7CisgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQor
ICAgICAgICBtX2Zyb250ZW5kLT5hZGRSZWNvcmRUb1RpbWVsaW5lKHJlY29yZCk7CiAgICAgZWxz
ZSB7Ci0gICAgICAgIFRpbWVsaW5lSXRlbUVudHJ5IHBhcmVudCA9IG1faXRlbVN0YWNrLmxhc3Qo
KTsKLSAgICAgICAgcGFyZW50LmNoaWxkcmVuLnNldChwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoKCks
IGl0ZW0pOworICAgICAgICBUaW1lbGluZVJlY29yZEVudHJ5IHBhcmVudCA9IG1fcmVjb3JkU3Rh
Y2subGFzdCgpOworICAgICAgICBwYXJlbnQuY2hpbGRyZW4uc2V0KHBhcmVudC5jaGlsZHJlbi5s
ZW5ndGgoKSwgcmVjb3JkKTsKICAgICB9CiB9CiAKLXZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6ZGlkQ29tcGxldGVDdXJyZW50VGltZWxpbmVJdGVtKFRpbWVsaW5lSXRlbVR5cGUgdHlwZSkK
K3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRp
bWVsaW5lUmVjb3JkVHlwZSB0eXBlKQogewotICAgIEFTU0VSVCghbV9pdGVtU3RhY2suaXNFbXB0
eSgpKTsKLSAgICBUaW1lbGluZUl0ZW1FbnRyeSBlbnRyeSA9IG1faXRlbVN0YWNrLmxhc3QoKTsK
LSAgICBtX2l0ZW1TdGFjay5yZW1vdmVMYXN0KCk7CisgICAgQVNTRVJUKCFtX3JlY29yZFN0YWNr
LmlzRW1wdHkoKSk7CisgICAgVGltZWxpbmVSZWNvcmRFbnRyeSBlbnRyeSA9IG1fcmVjb3JkU3Rh
Y2subGFzdCgpOworICAgIG1fcmVjb3JkU3RhY2sucmVtb3ZlTGFzdCgpOwogICAgIEFTU0VSVChl
bnRyeS50eXBlID09IHR5cGUpOwotICAgIGVudHJ5Lml0ZW0uc2V0KCJjaGlsZHJlbiIsIGVudHJ5
LmNoaWxkcmVuKTsKLSAgICBlbnRyeS5pdGVtLnNldCgiZW5kVGltZSIsIGN1cnJlbnRUaW1lSW5N
aWxsaXNlY29uZHMoKSk7Ci0gICAgYWRkSXRlbVRvVGltZWxpbmUoZW50cnkuaXRlbSwgdHlwZSk7
CisgICAgZW50cnkucmVjb3JkLnNldCgiY2hpbGRyZW4iLCBlbnRyeS5jaGlsZHJlbik7CisgICAg
ZW50cnkucmVjb3JkLnNldCgiZW5kVGltZSIsIGN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZHMoKSk7
CisgICAgYWRkUmVjb3JkVG9UaW1lbGluZShlbnRyeS5yZWNvcmQsIHR5cGUpOwogfQogCiBkb3Vi
bGUgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6Y3VycmVudFRpbWVJbk1pbGxpc2Vjb25kcygpCkBA
IC0xNTYsOSArMTU2LDkgQEAgZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmN1cnJlbnRU
aW1lSW5NaWxsaXNlY29uZHMoKQogICAgIHJldHVybiBjdXJyZW50VGltZSgpICogMTAwMC4wOwog
fQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50VGltZWxpbmVJdGVt
KFNjcmlwdE9iamVjdCBpdGVtLCBUaW1lbGluZUl0ZW1UeXBlIHR5cGUpCit2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OnB1c2hDdXJyZW50UmVjb3JkKFNjcmlwdE9iamVjdCByZWNvcmQsIFRp
bWVsaW5lUmVjb3JkVHlwZSB0eXBlKQogewotICAgIG1faXRlbVN0YWNrLmFwcGVuZChUaW1lbGlu
ZUl0ZW1FbnRyeShpdGVtLCBtX2Zyb250ZW5kLT5uZXdTY3JpcHRBcnJheSgpLCB0eXBlKSk7Cisg
ICAgbV9yZWNvcmRTdGFjay5hcHBlbmQoVGltZWxpbmVSZWNvcmRFbnRyeShyZWNvcmQsIG1fZnJv
bnRlbmQtPm5ld1NjcmlwdEFycmF5KCksIHR5cGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDBi
ZjM5NjUuLmE1Zjg1MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgKQEAgLTQyLDE1ICs0MiwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmQ7CiAKICAgICAvLyBNdXN0IGJlIGtlcHQgaW4gc3luYyB3aXRoIFRp
bWVsaW5lQWdlbnQuanMKLSAgICBlbnVtIFRpbWVsaW5lSXRlbVR5cGUgewotICAgICAgICBET01E
aXNwYXRjaFRpbWVsaW5lSXRlbVR5cGUgPSAwLAotICAgICAgICBMYXlvdXRUaW1lbGluZUl0ZW1U
eXBlID0gMSwKLSAgICAgICAgUmVjYWxjdWxhdGVTdHlsZXNUaW1lbGluZUl0ZW1UeXBlID0gMiwK
LSAgICAgICAgUGFpbnRUaW1lbGluZUl0ZW1UeXBlID0gMywKLSAgICAgICAgUGFyc2VIVE1MVGlt
ZWxpbmVJdGVtVHlwZSA9IDQsCi0gICAgICAgIFRpbWVySW5zdGFsbFRpbWVsaW5lSXRlbVR5cGUg
PSA1LAotICAgICAgICBUaW1lclJlbW92ZVRpbWVsaW5lSXRlbVR5cGUgPSA2LAotICAgICAgICBU
aW1lckZpcmVUaW1lbGluZUl0ZW1UeXBlID0gNywKKyAgICBlbnVtIFRpbWVsaW5lUmVjb3JkVHlw
ZSB7CisgICAgICAgIERPTURpc3BhdGNoVGltZWxpbmVSZWNvcmRUeXBlID0gMCwKKyAgICAgICAg
TGF5b3V0VGltZWxpbmVSZWNvcmRUeXBlID0gMSwKKyAgICAgICAgUmVjYWxjdWxhdGVTdHlsZXNU
aW1lbGluZVJlY29yZFR5cGUgPSAyLAorICAgICAgICBQYWludFRpbWVsaW5lUmVjb3JkVHlwZSA9
IDMsCisgICAgICAgIFBhcnNlSFRNTFRpbWVsaW5lUmVjb3JkVHlwZSA9IDQsCisgICAgICAgIFRp
bWVySW5zdGFsbFRpbWVsaW5lUmVjb3JkVHlwZSA9IDUsCisgICAgICAgIFRpbWVyUmVtb3ZlVGlt
ZWxpbmVSZWNvcmRUeXBlID0gNiwKKyAgICAgICAgVGltZXJGaXJlVGltZWxpbmVSZWNvcmRUeXBl
ID0gNywKICAgICB9OwogCiAgICAgY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCB7CkBAIC04
MywyNCArODMsMjQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KiByZXRyaWV2ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAg
ICAgcHJpdmF0ZToKLSAgICAgICAgc3RydWN0IFRpbWVsaW5lSXRlbUVudHJ5IHsKLSAgICAgICAg
ICAgIFRpbWVsaW5lSXRlbUVudHJ5KFNjcmlwdE9iamVjdCBpdGVtLCBTY3JpcHRBcnJheSBjaGls
ZHJlbiwgVGltZWxpbmVJdGVtVHlwZSB0eXBlKSA6IGl0ZW0oaXRlbSksIGNoaWxkcmVuKGNoaWxk
cmVuKSwgdHlwZSh0eXBlKSB7IH0KLSAgICAgICAgICAgIFNjcmlwdE9iamVjdCBpdGVtOworICAg
ICAgICBzdHJ1Y3QgVGltZWxpbmVSZWNvcmRFbnRyeSB7CisgICAgICAgICAgICBUaW1lbGluZVJl
Y29yZEVudHJ5KFNjcmlwdE9iamVjdCByZWNvcmQsIFNjcmlwdEFycmF5IGNoaWxkcmVuLCBUaW1l
bGluZVJlY29yZFR5cGUgdHlwZSkgOiByZWNvcmQocmVjb3JkKSwgY2hpbGRyZW4oY2hpbGRyZW4p
LCB0eXBlKHR5cGUpIHsgfQorICAgICAgICAgICAgU2NyaXB0T2JqZWN0IHJlY29yZDsKICAgICAg
ICAgICAgIFNjcmlwdEFycmF5IGNoaWxkcmVuOwotICAgICAgICAgICAgVGltZWxpbmVJdGVtVHlw
ZSB0eXBlOworICAgICAgICAgICAgVGltZWxpbmVSZWNvcmRUeXBlIHR5cGU7CiAgICAgICAgIH07
CiAgICAgICAgIAotICAgICAgICB2b2lkIHB1c2hDdXJyZW50VGltZWxpbmVJdGVtKFNjcmlwdE9i
amVjdCwgVGltZWxpbmVJdGVtVHlwZSk7CisgICAgICAgIHZvaWQgcHVzaEN1cnJlbnRSZWNvcmQo
U2NyaXB0T2JqZWN0LCBUaW1lbGluZVJlY29yZFR5cGUpOwogICAgICAgICAKICAgICAgICAgc3Rh
dGljIGRvdWJsZSBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCk7CiAKLSAgICAgICAgdm9pZCBk
aWRDb21wbGV0ZUN1cnJlbnRUaW1lbGluZUl0ZW0oVGltZWxpbmVJdGVtVHlwZSk7CisgICAgICAg
IHZvaWQgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZSk7CiAgICAg
ICAgIAotICAgICAgICB2b2lkIGFkZEl0ZW1Ub1RpbWVsaW5lKFNjcmlwdE9iamVjdCwgVGltZWxp
bmVJdGVtVHlwZSk7CisgICAgICAgIHZvaWQgYWRkUmVjb3JkVG9UaW1lbGluZShTY3JpcHRPYmpl
Y3QsIFRpbWVsaW5lUmVjb3JkVHlwZSk7CiAKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmQqIG1f
ZnJvbnRlbmQ7CiAgICAgICAgIAotICAgICAgICBWZWN0b3I8IFRpbWVsaW5lSXRlbUVudHJ5ID4g
bV9pdGVtU3RhY2s7CisgICAgICAgIFZlY3RvcjwgVGltZWxpbmVSZWNvcmRFbnRyeSA+IG1fcmVj
b3JkU3RhY2s7CiAgICAgfTsKIAogaW5saW5lIEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OnJldHJpZXZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZUl0ZW1GYWN0b3J5LmNw
cCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzMjU1ZTc4Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUaW1lbGluZUl0ZW1GYWN0b3J5LmgiCi0K
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCi0jaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJJ
bnNwZWN0b3JGcm9udGVuZC5oIgotI2luY2x1ZGUgIlNjcmlwdEFycmF5LmgiCi0jaW5jbHVkZSAi
U2NyaXB0T2JqZWN0LmgiCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIHN0YXRpYwotU2NyaXB0
T2JqZWN0IFRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNUaW1lbGluZUl0ZW0oSW5z
cGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3VibGUgc3RhcnRUaW1lKQotewotICAgIFNjcmlw
dE9iamVjdCBpdGVtID0gZnJvbnRlbmQtPm5ld1NjcmlwdE9iamVjdCgpOwotICAgIGl0ZW0uc2V0
KCJzdGFydFRpbWUiLCBzdGFydFRpbWUpOwotICAgIHJldHVybiBpdGVtOwotfQotCi0vLyBzdGF0
aWMKLVNjcmlwdE9iamVjdCBUaW1lbGluZUl0ZW1GYWN0b3J5OjpjcmVhdGVET01EaXNwYXRjaFRp
bWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRvdWJsZSBzdGFydFRpbWUs
IGNvbnN0IEV2ZW50JiBldmVudCkKLXsKLSAgICBTY3JpcHRPYmplY3QgaXRlbSA9IGNyZWF0ZUdl
bmVyaWNUaW1lbGluZUl0ZW0oZnJvbnRlbmQsIHN0YXJ0VGltZSk7Ci0gICAgU2NyaXB0T2JqZWN0
IGRhdGEgPSBmcm9udGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7Ci0gICAgZGF0YS5zZXQoInR5cGUi
LCBldmVudC50eXBlKCkuc3RyaW5nKCkpOwotICAgIGl0ZW0uc2V0KCJkYXRhIiwgZGF0YSk7Ci0g
ICAgcmV0dXJuIGl0ZW07Ci19Ci0KLS8vIHN0YXRpYwotU2NyaXB0T2JqZWN0IFRpbWVsaW5lSXRl
bUZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNUaW1lclRpbWVsaW5lSXRlbShJbnNwZWN0b3JGcm9udGVu
ZCogZnJvbnRlbmQsIGRvdWJsZSBzdGFydFRpbWUsIGludCB0aW1lcklkKQotewotICAgIFNjcmlw
dE9iamVjdCBpdGVtID0gY3JlYXRlR2VuZXJpY1RpbWVsaW5lSXRlbShmcm9udGVuZCwgc3RhcnRU
aW1lKTsKLSAgICBTY3JpcHRPYmplY3QgZGF0YSA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3Qo
KTsKLSAgICBkYXRhLnNldCgidGltZXJJZCIsIHRpbWVySWQpOwotICAgIGl0ZW0uc2V0KCJkYXRh
IiwgZGF0YSk7Ci0gICAgcmV0dXJuIGl0ZW07Ci19Ci0KLS8vIHN0YXRpYwotU2NyaXB0T2JqZWN0
IFRpbWVsaW5lSXRlbUZhY3Rvcnk6OmNyZWF0ZVRpbWVySW5zdGFsbFRpbWVsaW5lSXRlbShJbnNw
ZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRvdWJsZSBzdGFydFRpbWUsIGludCB0aW1lcklkLCBp
bnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQotewotICAgIFNjcmlwdE9iamVjdCBpdGVtID0g
Y3JlYXRlR2VuZXJpY1RpbWVsaW5lSXRlbShmcm9udGVuZCwgc3RhcnRUaW1lKTsKLSAgICBTY3Jp
cHRPYmplY3QgZGF0YSA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKLSAgICBkYXRhLnNl
dCgidGltZXJJZCIsIHRpbWVySWQpOwotICAgIGRhdGEuc2V0KCJ0aW1lb3V0IiwgdGltZW91dCk7
Ci0gICAgZGF0YS5zZXQoInNpbmdsZVNob3QiLCBzaW5nbGVTaG90KTsKLSAgICBpdGVtLnNldCgi
ZGF0YSIsIGRhdGEpOwotICAgIHJldHVybiBpdGVtOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvVGltZWxpbmVJdGVtRmFjdG9yeS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxp
bmVJdGVtRmFjdG9yeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDFmNzY5Li4w
MDAwMDAwCi0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbUZhY3RvcnkuaAorKysg
L2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQot
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotIAotI2lmbmRlZiBUaW1lbGluZUl0ZW1GYWN0b3J5X2gK
LSNkZWZpbmUgVGltZWxpbmVJdGVtRmFjdG9yeV9oCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
ICAgIGNsYXNzIEV2ZW50OwotICAgIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwotICAgIGNsYXNz
IFNjcmlwdE9iamVjdDsKLQotICAgIGNsYXNzIFRpbWVsaW5lSXRlbUZhY3RvcnkgewotICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVHZW5lcmljVGltZWxpbmVJ
dGVtKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSk7Ci0KLSAgICAgICAgc3Rh
dGljIFNjcmlwdE9iamVjdCBjcmVhdGVET01EaXNwYXRjaFRpbWVsaW5lSXRlbShJbnNwZWN0b3JG
cm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUsIGNvbnN0IEV2ZW50Jik7Ci0KLSAgICAgICAgc3Rh
dGljIFNjcmlwdE9iamVjdCBjcmVhdGVHZW5lcmljVGltZXJUaW1lbGluZUl0ZW0oSW5zcGVjdG9y
RnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCk7Ci0KLSAgICAgICAgc3Rh
dGljIFNjcmlwdE9iamVjdCBjcmVhdGVUaW1lckluc3RhbGxUaW1lbGluZUl0ZW0oSW5zcGVjdG9y
RnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJv
b2wgc2luZ2xlU2hvdCk7Ci0gICAgICAgIAotICAgIHByaXZhdGU6Ci0gICAgICAgIFRpbWVsaW5l
SXRlbUZhY3RvcnkoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyAhZGVmaW5lZChUaW1lbGluZUl0ZW1GYWN0b3J5X2gpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGIvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42NGY3NTU5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIgorCisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQu
aCIKKyNpbmNsdWRlICJTY3JpcHRBcnJheS5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250
ZW5kLCBkb3VibGUgc3RhcnRUaW1lKQoreworICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBmcm9u
dGVuZC0+bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgcmVjb3JkLnNldCgic3RhcnRUaW1lIiwgc3Rh
cnRUaW1lKTsKKyAgICByZXR1cm4gcmVjb3JkOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVj
dCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZURPTURpc3BhdGNoUmVjb3JkKEluc3BlY3Rv
ckZyb250ZW5kKiBmcm9udGVuZCwgZG91YmxlIHN0YXJ0VGltZSwgY29uc3QgRXZlbnQmIGV2ZW50
KQoreworICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBjcmVhdGVHZW5lcmljUmVjb3JkKGZyb250
ZW5kLCBzdGFydFRpbWUpOworICAgIFNjcmlwdE9iamVjdCBkYXRhID0gZnJvbnRlbmQtPm5ld1Nj
cmlwdE9iamVjdCgpOworICAgIGRhdGEuc2V0KCJ0eXBlIiwgZXZlbnQudHlwZSgpLnN0cmluZygp
KTsKKyAgICByZWNvcmQuc2V0KCJkYXRhIiwgZGF0YSk7CisgICAgcmV0dXJuIHJlY29yZDsKK30K
KworLy8gc3RhdGljCitTY3JpcHRPYmplY3QgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVH
ZW5lcmljVGltZXJSZWNvcmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBkb3VibGUgc3Rh
cnRUaW1lLCBpbnQgdGltZXJJZCkKK3sKKyAgICBTY3JpcHRPYmplY3QgcmVjb3JkID0gY3JlYXRl
R2VuZXJpY1JlY29yZChmcm9udGVuZCwgc3RhcnRUaW1lKTsKKyAgICBTY3JpcHRPYmplY3QgZGF0
YSA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmplY3QoKTsKKyAgICBkYXRhLnNldCgidGltZXJJZCIs
IHRpbWVySWQpOworICAgIHJlY29yZC5zZXQoImRhdGEiLCBkYXRhKTsKKyAgICByZXR1cm4gcmVj
b3JkOworfQorCisvLyBzdGF0aWMKK1NjcmlwdE9iamVjdCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6
OmNyZWF0ZVRpbWVySW5zdGFsbFJlY29yZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQsIGRv
dWJsZSBzdGFydFRpbWUsIGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90
KQoreworICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBjcmVhdGVHZW5lcmljUmVjb3JkKGZyb250
ZW5kLCBzdGFydFRpbWUpOworICAgIFNjcmlwdE9iamVjdCBkYXRhID0gZnJvbnRlbmQtPm5ld1Nj
cmlwdE9iamVjdCgpOworICAgIGRhdGEuc2V0KCJ0aW1lcklkIiwgdGltZXJJZCk7CisgICAgZGF0
YS5zZXQoInRpbWVvdXQiLCB0aW1lb3V0KTsKKyAgICBkYXRhLnNldCgic2luZ2xlU2hvdCIsIHNp
bmdsZVNob3QpOworICAgIHJlY29yZC5zZXQoImRhdGEiLCBkYXRhKTsKKyAgICByZXR1cm4gcmVj
b3JkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmggYi9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWQ0MTcyCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKQEAgLTAsMCArMSw1NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisg
CisjaWZuZGVmIFRpbWVsaW5lUmVjb3JkRmFjdG9yeV9oCisjZGVmaW5lIFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeV9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIEV2ZW50OworICAg
IGNsYXNzIEluc3BlY3RvckZyb250ZW5kOworICAgIGNsYXNzIFNjcmlwdE9iamVjdDsKKworICAg
IGNsYXNzIFRpbWVsaW5lUmVjb3JkRmFjdG9yeSB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0
aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVyaWNSZWNvcmQoSW5zcGVjdG9yRnJvbnRlbmQqLCBk
b3VibGUgc3RhcnRUaW1lKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZURP
TURpc3BhdGNoUmVjb3JkKEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSwgY29u
c3QgRXZlbnQmKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZUdlbmVyaWNU
aW1lclJlY29yZChJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUsIGludCB0aW1l
cklkKTsKKworICAgICAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IGNyZWF0ZVRpbWVySW5zdGFsbFJl
Y29yZChJbnNwZWN0b3JGcm9udGVuZCosIGRvdWJsZSBzdGFydFRpbWUsIGludCB0aW1lcklkLCBp
bnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICAgICAgCisgICAgcHJpdmF0ZToKKyAg
ICAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5KCkgeyB9CisgICAgfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gIWRlZmluZWQoVGltZWxpbmVSZWNvcmRGYWN0b3J5X2gp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5q
cyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUFnZW50LmpzCmluZGV4IGVk
ZDk3YTkuLmZjYWFkNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZUFnZW50LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZUFnZW50LmpzCkBAIC0zMyw3ICszMyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50ID0g
ZnVuY3Rpb24oKSB7CiB9CiAKIC8vIE11c3QgYmUga2VwdCBpbiBzeW5jIHdpdGggVGltZWxpbmVJ
dGVtLmgKLVdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50Lkl0ZW1UeXBlID0geworV2ViSW5zcGVj
dG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZSA9IHsKICAgICBET01EaXNwYXRjaCAgICAgICA6
IDAsCiAgICAgTGF5b3V0ICAgICAgICAgICAgOiAxLAogICAgIFJlY2FsY3VsYXRlU3R5bGVzIDog
MiwKQEAgLTQ0LDkgKzQ0LDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuSXRlbVR5cGUg
PSB7CiAgICAgVGltZXJGaXJlICAgICAgICAgOiA3LCAgICAKIH07CiAKLVdlYkluc3BlY3Rvci5h
ZGRJdGVtVG9UaW1lbGluZSA9IGZ1bmN0aW9uKHJlY29yZCkgeworV2ViSW5zcGVjdG9yLmFkZFJl
Y29yZFRvVGltZWxpbmUgPSBmdW5jdGlvbihyZWNvcmQpIHsKICAgICBpZiAoV2ViSW5zcGVjdG9y
LnBhbmVscy50aW1lbGluZSkKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5h
ZGRJdGVtVG9UaW1lbGluZShyZWNvcmQpOworICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnRp
bWVsaW5lLmFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkKTsKIH0KIAogV2ViSW5zcGVjdG9yLnRp
bWVsaW5lUHJvZmlsZXJXYXNTdGFydGVkID0gZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IDkzMzhkZTAuLjcyZjE1OTQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC03MSwx
OSArNzEsMTkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKICAgICB9LAog
Ci0gICAgYWRkSXRlbVRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCkKKyAgICBhZGRSZWNvcmRU
b1RpbWVsaW5lOiBmdW5jdGlvbihyZWNvcmQpCiAgICAgewotICAgICAgICB0aGlzLl9pbm5lckFk
ZEl0ZW1Ub1RpbWVsaW5lKHRoaXMucmVjb3Jkc1RyZWVFbGVtZW50LCByZWNvcmQpOworICAgICAg
ICB0aGlzLl9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUodGhpcy5yZWNvcmRzVHJlZUVsZW1lbnQs
IHJlY29yZCk7CiAgICAgfSwKIAotICAgIF9pbm5lckFkZEl0ZW1Ub1RpbWVsaW5lOiBmdW5jdGlv
bihwYXJlbnRFbGVtZW50LCByZWNvcmQpCisgICAgX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZTog
ZnVuY3Rpb24ocGFyZW50RWxlbWVudCwgcmVjb3JkKQogICAgIHsKICAgICAgICAgdmFyIHRyZWVJ
dGVtID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50KHRoaXMsIHJl
Y29yZCk7CiAgICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodHJlZUl0ZW0pOwogICAg
ICAgICBpZiAocmVjb3JkLmNoaWxkcmVuKQogICAgICAgICAgICAgcGFyZW50RWxlbWVudC5leHBh
bmRlZCA9IHRydWU7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3JkLmNoaWxkcmVu
Lmxlbmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5faW5uZXJBZGRJdGVtVG9UaW1lbGluZSh0
cmVlSXRlbSwgcmVjb3JkLmNoaWxkcmVuW2ldKTsKKyAgICAgICAgICAgIHRoaXMuX2lubmVyQWRk
UmVjb3JkVG9UaW1lbGluZSh0cmVlSXRlbSwgcmVjb3JkLmNoaWxkcmVuW2ldKTsKICAgICB9LAog
CiAgICAgX3RvZ2dsZVRpbWVsaW5lQnV0dG9uOiBmdW5jdGlvbigpCkBAIC05OSwxNyArOTksMTcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
LnRpbWVsaW5lVmlldy5zdHlsZS5sZWZ0ID0gd2lkdGggKyAicHgiOwogICAgIH0sCiAKLSAgICBn
ZXRJdGVtVHlwZU5hbWU6IGZ1bmN0aW9uKHJlY29yZCkKKyAgICBnZXRSZWNvcmRUeXBlTmFtZTog
ZnVuY3Rpb24ocmVjb3JkKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9pdGVtVHlwZU5hbWVz
KSB7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzID0ge307Ci0gICAgICAgICAgICB2
YXIgaXRlbVR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuSXRlbVR5cGU7Ci0gICAg
ICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzW2l0ZW1UeXBlcy5ET01EaXNwYXRjaF0gPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkRPTSBFdmVudCIpOwotICAgICAgICAgICAgdGhpcy5faXRlbVR5
cGVOYW1lc1tpdGVtVHlwZXMuTGF5b3V0XSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGF5b3V0
Iik7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzW2l0ZW1UeXBlcy5SZWNhbGN1bGF0
ZVN0eWxlc10gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlY2FsY3VsYXRlIFN0eWxlIik7Ci0g
ICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVzW2l0ZW1UeXBlcy5QYWludF0gPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlBhaW50Iik7Ci0gICAgICAgICAgICB0aGlzLl9pdGVtVHlwZU5hbWVz
W2l0ZW1UeXBlcy5MYXlvdXRdID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXlvdXQiKTsKLSAg
ICAgICAgICAgIHRoaXMuX2l0ZW1UeXBlTmFtZXNbaXRlbVR5cGVzLlBhcnNlSFRNTF0gPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlBhcnNlIik7CisgICAgICAgIGlmICghdGhpcy5fcmVjb3JkVHlw
ZU5hbWVzKSB7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRUeXBlTmFtZXMgPSB7fTsKKyAgICAg
ICAgICAgIHZhciByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29y
ZFR5cGU7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRUeXBlTmFtZXNbcmVjb3JkVHlwZXMuRE9N
RGlzcGF0Y2hdID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJET00gRXZlbnQiKTsKKyAgICAgICAg
ICAgIHRoaXMuX3JlY29yZFR5cGVOYW1lc1tyZWNvcmRUeXBlcy5MYXlvdXRdID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJMYXlvdXQiKTsKKyAgICAgICAgICAgIHRoaXMuX3JlY29yZFR5cGVOYW1l
c1tyZWNvcmRUeXBlcy5SZWNhbGN1bGF0ZVN0eWxlc10gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlJlY2FsY3VsYXRlIFN0eWxlIik7CisgICAgICAgICAgICB0aGlzLl9yZWNvcmRUeXBlTmFtZXNb
cmVjb3JkVHlwZXMuUGFpbnRdID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYWludCIpOworICAg
ICAgICAgICAgdGhpcy5fcmVjb3JkVHlwZU5hbWVzW3JlY29yZFR5cGVzLkxheW91dF0gPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIpOworICAgICAgICAgICAgdGhpcy5fcmVjb3JkVHlw
ZU5hbWVzW3JlY29yZFR5cGVzLlBhcnNlSFRNTF0gPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBh
cnNlIik7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1UeXBlTmFtZXNbcmVj
b3JkLnR5cGVdOwogICAgIH0KQEAgLTEzNSw3ICsxMzUsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIHR5cGVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgICAgICB0eXBlRWxlbWVu
dC5jbGFzc05hbWUgPSAidHlwZSI7Ci0gICAgICAgIHR5cGVFbGVtZW50LnRleHRDb250ZW50ID0g
dGhpcy5fcGFuZWwuZ2V0SXRlbVR5cGVOYW1lKHRoaXMuX3JlY29yZCk7CisgICAgICAgIHR5cGVF
bGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5fcGFuZWwuZ2V0UmVjb3JkVHlwZU5hbWUodGhpcy5f
cmVjb3JkKTsKICAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuYXBwZW5kQ2hpbGQodHlwZUVs
ZW1lbnQpOwogCiAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZGF0YSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>