<?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>138450</bug_id>
          
          <creation_ts>2014-11-05 18:34:32 -0800</creation_ts>
          <short_desc>De-templatize Timer</short_desc>
          <delta_ts>2014-12-16 13:29:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1046692</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 18:34:32 -0800</bug_when>
    <thetext>De-templatize Timer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046815</commentid>
    <comment_count>1</comment_count>
      <attachid>241110</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-06 08:29:32 -0800</bug_when>
    <thetext>Created attachment 241110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046816</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-06 08:32:05 -0800</bug_when>
    <thetext>Attachment 241110 did not pass style-queue:


ERROR: Source/WebCore/Modules/geolocation/Geolocation.h:189:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/Timer.h:139:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 280 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046823</commentid>
    <comment_count>3</comment_count>
      <attachid>241110</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-11-06 09:06:50 -0800</bug_when>
    <thetext>Comment on attachment 241110
Patch

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

&gt; Source/WebCore/platform/Timer.h:125
&gt; -    Timer(TimerFiredClass* object, TimerFiredFunction function)
&gt; +    template &lt;typename TimerFiredClass, typename TimerFiredBaseClass&gt;
&gt; +    using is_compatible = typename std::enable_if&lt;std::is_base_of&lt;TimerFiredBaseClass, TimerFiredClass&gt;::value&gt;::type*;

I don&apos;t think we need to do this.

&gt; Source/WebCore/platform/Timer.h:137
&gt; +    template &lt;typename TimerFiredClass, typename TimerFiredBaseClass, is_compatible&lt;TimerFiredBaseClass, TimerFiredClass&gt; = nullptr&gt;
&gt; +    Timer(TimerFiredClass* object, TimerFiredFunction&lt;TimerFiredBaseClass&gt; function)
&gt;          : m_function(std::bind(function, object, std::ref(*this)))
&gt;      {
&gt;      }
&gt;  
&gt; -    Timer(TimerFiredClass* object, DeprecatedTimerFiredFunction function)
&gt; +    template &lt;typename TimerFiredClass, typename TimerFiredBaseClass, is_compatible&lt;TimerFiredBaseClass, TimerFiredClass&gt; = nullptr&gt;
&gt; +    Timer(TimerFiredClass* object, DeprecatedTimerFiredFunction&lt;TimerFiredBaseClass&gt; function)
&gt;          : m_function(std::bind(function, object, this))
&gt;      {
&gt;      }

How about something like this instead?

    template&lt;typename TimerFiredClass, typename TimerFiredMemberFunctionClass&gt;
    Timer(TimerFiredClass* object, void (TimerFiredMemberFunctionClass::*function)(Timer&lt;TimerFiredClass&gt;&amp;))
        : m_function(std::bind(function, object, std::ref(*this)))
    {
    }

    template&lt;typename TimerFiredClass, typename TimerFiredMemberFunctionClass&gt;
    Timer(TimerFiredClass* object, void (TimerFiredMemberFunctionClass::*function)(Timer&lt;TimerFiredClass&gt;*))
        : m_function(std::bind(function, object, this))
    {
    }

I also think we should deprecate both the constructors above and add

    template&lt;typename TimerFiredClass, typename TimerFiredMemberFunctionClass&gt;
    Timer(TimerFiredClass&amp; object, void (TimerFiredMemberFunctionClass::*function)())
        : m_function(std::bind(function, &amp;object))
    {

which has two advantages:
    1. It doesn&apos;t require the member function to take a Timer - we almost never do anything with the timer anyway. Those clients who want a timer can use std::bind with the constructor below.
    2. It takes the object by reference since we can guarantee that its&apos; not null.

&gt; Source/WebCore/platform/Timer.h:140
&gt; +        : m_function(function)

This should use WTF::move.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046827</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-06 09:10:22 -0800</bug_when>
    <thetext>Looks like the Windows build failure is due to this MSVC bug: &lt;https://connect.microsoft.com/VisualStudio/feedback/details/800231/c-11-alias-template-issue&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046831</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-06 09:17:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 241110 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=241110&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/Timer.h:125
&gt; &gt; -    Timer(TimerFiredClass* object, TimerFiredFunction function)
&gt; &gt; +    template &lt;typename TimerFiredClass, typename TimerFiredBaseClass&gt;
&gt; &gt; +    using is_compatible = typename std::enable_if&lt;std::is_base_of&lt;TimerFiredBaseClass, TimerFiredClass&gt;::value&gt;::type*;
&gt; 
&gt; I don&apos;t think we need to do this.

Okay. I added it because, without it, passing in an incompatible ends up with a really obscure error message from std::bind(). But we&apos;re all used to obscure error messages by now. :)

&gt; &gt; Source/WebCore/platform/Timer.h:137
&gt; &gt; +    template &lt;typename TimerFiredClass, typename TimerFiredBaseClass, is_compatible&lt;TimerFiredBaseClass, TimerFiredClass&gt; = nullptr&gt;
&gt; &gt; +    Timer(TimerFiredClass* object, TimerFiredFunction&lt;TimerFiredBaseClass&gt; function)
&gt; &gt;          : m_function(std::bind(function, object, std::ref(*this)))
&gt; &gt;      {
&gt; &gt;      }
&gt; &gt;  
&gt; &gt; -    Timer(TimerFiredClass* object, DeprecatedTimerFiredFunction function)
&gt; &gt; +    template &lt;typename TimerFiredClass, typename TimerFiredBaseClass, is_compatible&lt;TimerFiredBaseClass, TimerFiredClass&gt; = nullptr&gt;
&gt; &gt; +    Timer(TimerFiredClass* object, DeprecatedTimerFiredFunction&lt;TimerFiredBaseClass&gt; function)
&gt; &gt;          : m_function(std::bind(function, object, this))
&gt; &gt;      {
&gt; &gt;      }
&gt; 
&gt; How about something like this instead?
&gt; 
&gt;     template&lt;typename TimerFiredClass, typename
&gt; TimerFiredMemberFunctionClass&gt;
&gt;     Timer(TimerFiredClass* object, void
&gt; (TimerFiredMemberFunctionClass::*function)(Timer&lt;TimerFiredClass&gt;&amp;))
&gt;         : m_function(std::bind(function, object, std::ref(*this)))
&gt;     {
&gt;     }

You&apos;d need &quot;Timer&amp;&quot; instead of &quot;Timer&lt;TimerFiredClass&gt;&amp;&quot;, but that&apos;d work. That should fix the Windows build too (which seems to be triggered by &quot;using = member function ptr&quot;.

&gt;     template&lt;typename TimerFiredClass, typename
&gt; TimerFiredMemberFunctionClass&gt;
&gt;     Timer(TimerFiredClass* object, void
&gt; (TimerFiredMemberFunctionClass::*function)(Timer&lt;TimerFiredClass&gt;*))
&gt;         : m_function(std::bind(function, object, this))
&gt;     {
&gt;     }
&gt; 
&gt; I also think we should deprecate both the constructors above and add
&gt; 
&gt;     template&lt;typename TimerFiredClass, typename
&gt; TimerFiredMemberFunctionClass&gt;
&gt;     Timer(TimerFiredClass&amp; object, void
&gt; (TimerFiredMemberFunctionClass::*function)())
&gt;         : m_function(std::bind(function, &amp;object))
&gt;     {
&gt; 
&gt; which has two advantages:
&gt;     1. It doesn&apos;t require the member function to take a Timer - we almost
&gt; never do anything with the timer anyway. Those clients who want a timer can
&gt; use std::bind with the constructor below.

Yep!

&gt;     2. It takes the object by reference since we can guarantee that its&apos; not
&gt; null.

Yep!

&gt; &gt; Source/WebCore/platform/Timer.h:140
&gt; &gt; +        : m_function(function)
&gt; 
&gt; This should use WTF::move.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046845</commentid>
    <comment_count>6</comment_count>
      <attachid>241116</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-06 10:40:25 -0800</bug_when>
    <thetext>Created attachment 241116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046848</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-06 10:43:16 -0800</bug_when>
    <thetext>Attachment 241116 did not pass style-queue:


ERROR: Source/WebCore/Modules/geolocation/Geolocation.h:189:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/Timer.h:136:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 280 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046856</commentid>
    <comment_count>8</comment_count>
      <attachid>241119</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-06 11:10:48 -0800</bug_when>
    <thetext>Created attachment 241119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046857</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-06 11:12:46 -0800</bug_when>
    <thetext>Attachment 241119 did not pass style-queue:


ERROR: Source/WebCore/Modules/geolocation/Geolocation.h:189:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/Timer.h:136:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 277 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046921</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-06 15:06:01 -0800</bug_when>
    <thetext>Committed r175719: &lt;http://trac.webkit.org/changeset/175719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056110</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-16 13:29:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/19269065&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241110</attachid>
            <date>2014-11-06 08:29:32 -0800</date>
            <delta_ts>2014-11-06 10:40:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138450-20141106082943.patch</filename>
            <type>text/plain</type>
            <size>281332</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU0M2VkYmM3MDMyM2E4
ZjY2YjY4MjlkYTE4NGMxMGNlNjdkMjY2Zi4uMjNlZGRhNjJhNTMyYjQwMmU0ZGE5MmU2NTE0ZThh
YzI3NzMxNWZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1MSBAQAorMjAxNC0xMS0wNSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRp
bWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaW1l
ciBkb2VzIG5vdCBuZWVkIHRvIGJlIGEgdGVtcGxhdGVkIGNsYXNzOyBvbmx5IGl0J3MgY29uc3Ry
dWN0b3JzIG5lZWQgdG8gYmUgdGVtcGxhdGVkLgorICAgICAgICBSZW1vdmUgdGhlIHRlbXBsYXRl
IHNwZWNpZmllciBmcm9tIFRpbWVyIGFuZCBhZGQgc2FtZSB0byBpdHMgdHdvIGNsYXNzIG1ldGhv
ZAorICAgICAgICBjb25zdHJ1Y3RvcnMuIFJlcGxhY2UgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdHlw
ZWRlZnMgd2l0aCB1c2luZyBzdGF0ZW1lbnRzLiBBZGQgYQorICAgICAgICBoZWxwZXIgdHlwZWRl
ZiB3aGljaCBhbGxvd3MgaW52YWxpZCBjb21iaW5hdGlvbnMgb2YgVGltZXJGaXJlZENsYXNzIGFu
ZAorICAgICAgICBUaW1lckZpcmVkRnVuY3Rpb24gdG8gYmUgY2F1Z2h0IGVhcmx5IGJ5IHRoZSBj
b21waWxlciwgd2hpbGUgc3RpbGwgYWxsb3dpbmcKKyAgICAgICAgdmFsaWQgY29tYmluYXRpb25z
IChzdWNoIGFzIHdoZW4gdGhlIGNhbGxlciBzcGVjaWZpZXMgYSBmdW5jdGlvbiBvbiBhIHN1YmNs
YXNzIG9mCisgICAgICAgIFRpbWVyRmlyZWRDbGFzcykuCisKKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9O
b3RpZmllcjo6dGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6cmVz
dW1lVGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmQ6OnRhc2tUaW1lckZp
cmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW06OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRN
RlNlbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpzY2hlZHVsZWRF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNl
bmRlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlZEV2ZW50VGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJl
ZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oOgor
ICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Q2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2FsbGJhY2s6OnRpbWVyRmlyZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Vmli
cmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWVUaW1lckZpcmVkKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmNsb3NpbmdUaW1lckZpcmVkKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub3RpZmljYXRpb25Qb3N0VGltZXJGaXJlZCk6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENh
Y2hlOjpBWE9iamVjdENhY2hlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oOgorICAgICAgICAqIGNzcy9DU1NGb250
RmFjZVNvdXJjZS5oOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJvcGVy
dGllc0NhY2hlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3R5
bGVSZWNhbGNUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpvcHRpbWl6
ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpkb21Db29raWVDYWNoZUV4cGlyeVRpbWVyRmlyZWQp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5o
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTZW5kZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAq
IGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljRXZl
bnRRdWV1ZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmg6
CisgICAgICAgICogZG9tL1NjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRSdW5uZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6YW5pbWF0aW9uVGltZXJGaXJlZCk6
CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAq
IGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0
dHJpYnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICogZWRpdGluZy9BbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZl
VGV4dENvbnRyb2xsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRp
dmVUZXh0Q29udHJvbGxlci5oOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjplZGl0b3JVSVVwZGF0ZVRpbWVyRmlyZWQpOgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6Y2FyZXRCbGlua1RpbWVy
RmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6
OnRpbWVyRmlyZWRUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0KToKKyAgICAgICAgKiBlZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5oOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmly
ZWQpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxQbHVnSW5FbGVtZW50Ojpzd2FwUmVuZGVyZXJUaW1lckZpcmVkKToKKyAgICAgICAgKiBodG1s
L0hUTUxQbHVnSW5FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92
ZVNuYXBzaG90VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQpOgorICAgICAg
ICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUcmFja0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVy
RmlyZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpjbGVhclBvc2l0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnRpbWV1cGRhdGVUaW1lckZp
cmVkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwv
TWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjpyZXBs
YWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50
Lmg6CisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VhcmNoSW5wdXRUeXBlOjpzZWFyY2hFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0
bWwvU2VhcmNoSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0
VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OmJ1aWxkQnViYmxl
VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlk
ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1
YmJsZVRyZWUpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjptYXliZVJlc3RvcmVDb250ZXh0
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCk6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oOgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlVGlt
ZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaDoK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHM6OmhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmg6CisgICAgICAgICogaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVs
ZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1NwaW5C
dXR0b25FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6bG9hZFRpbWVyRmlyZWQp
OgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaDoKKyAgICAgICAgKiBo
dG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRSZWdpb246OnNj
cm9sbFRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0
eWxlQXR0cmlidXRlVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6
dXBkYXRlUGFpbnRSZWN0c1RpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JPdmVybGF5Lmg6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
Y2hlY2tUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5oOgorICAgICAg
ICAqIGxvYWRlci9MaW5rTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6
OmxpbmtMb2FkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5rTG9hZGVyOjpsaW5r
TG9hZGluZ0Vycm9yVGltZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpkaWRTdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmg6CisgICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBpbmdMb2FkZXI6OnRpbWVvdXRUaW1lckZpcmVkKToKKyAgICAgICAg
KiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNz
VHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGlt
ZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6
CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIHBhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmg6CisgICAgICAg
ICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXM6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01lZGlhQUYuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01l
ZGlhQUY6OnVwZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUYuaDoKKyAgICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJvbGxlcjo6ZmlyZURldmljZUV2ZW50KToKKyAg
ICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNv
clRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpyZWNvZ25pemVM
b25nTW91c2VQcmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmZha2VNb3Vz
ZU1vdmVFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpo
b3ZlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAg
ICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6
Y29ubmVjdFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAg
ICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0Nv
bnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRm9jdXND
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZTo6b3ZlcmZsb3dBdXRvU2Nyb2xsVGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9G
cmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6ZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cG9zdExheW91dFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmly
ZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGln
aGxpZ2h0VGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yOjp1cGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjcm9sbGluZ1N0YXRl
VHJlZUNvbW1pdHRlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjOjpzY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yOjp1cGRhdGVTY3JvbGxBbmltYXRvcnNBbmRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsQW5pbWF0b3I6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdG9yOjpzdG9wU2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdG9yOjpob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3JOb25lLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lcjo6VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01l
ZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb246OmNsaWVudERh
dGFCdWZmZXJpbmdUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNl
c3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvQmF0dGVyeVByb3ZpZGVyRWZsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlckVmbDo6dGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6YWR2
YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cmVsb2FkVGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnRpbWVy
RmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp0aWxlQnVmZmVyVXBkYXRl
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6YmFja2lu
Z1N0b3JlVXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2VsZWN0aW9uVGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpzZWVrVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6cHJ1bmVUaW1lckZp
cmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6dGlsZVJldmFsaWRhdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGls
ZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9M
ZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lDQUNG
TGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJT1N1
cmZhY2VQb29sOjpjb2xsZWN0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpz
ZWVrVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OnJlbGVh
c2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNU
aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphbmltYXRpb25TdGFydGVkVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZzo6Y2xlYXJDb250ZW50c1RpbWVyRmly
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEltYWdlQmFja2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxl
Q2FjaGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yTWFjOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmluaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyRmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNj
cm9sbGVkVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6
dGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnBlcm1pc3Np
b25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6
Y29udHJvbGxlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRp
b25DbGllbnRNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2sv
VGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6dGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpmYWlsdXJlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpk
b3dubG9hZFRpbWVyQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9S
ZXNvdXJjZUhhbmRsZU1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIpOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luUGFja2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpmcmVlTGli
cmFyeVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5oOgorICAg
ICAgICAqIHBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdp
blN0cmVhbTo6ZGVsYXlEZWxpdmVyeVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luU3RyZWFtLmg6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQbHVnaW5WaWV3OjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlldy5oOgorICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRs
ZXJXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6
bWVzc2FnZVRocm90dGxlVGltZXJGaXJlZCk6CisgICAgICAgICogcGx1Z2lucy93aW4vUGx1Z2lu
TWVzc2FnZVRocm90dGxlcldpbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXI6
OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFn
ZVF1YWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCdXR0b246OnN0eWxlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJ1dHRvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lckZp
cmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWFycXVlZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9uT3ZlcnNldENoYW5n
ZUV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF6eVJlcGFpbnRUaW1l
ckZpcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAqIHJl
cGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiByZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpjbG9zZURhdGFiYXNl
VGltZXJGaXJlZCk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaDoKKyAgICAg
ICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9y
YWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VB
cmVhU3luYy5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXIpOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHU3R5bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaERlZmVycmVkRXZlbnRzKToKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNC0xMS0w
NCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRGVzY2VuZGFudCBl
bmRzIHVwIGluIHdyb25nIGZsb3cgdGhyZWFkIHdpdGggbmVzdGVkIGNvbHVtbnMgYW5kIHNwYW5z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDc1ZTdlZDQwMjE2ZWUxM2YzNTFjOTg5OWE1OGNlYWJlMTk4
YjAxNjUuLjQ0YTQ1YTFiMzJkYmNhMTVkMjM0NjRjYjQ0ZWI1NzcyODcyMzg5ZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3Bl
Y2lmaWVycyBmcm9tIFRpbWVyLgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lmg6CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtLmg6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0
YVRpbWVyRmlyZWQpOgorCiAyMDE0LTExLTAzICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBmZWF0dXJlIGd1YXJkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCmluZGV4IGU0OGMwNjIxNDUzZGU2OTc2MDA5OWFhNTIyYmVhMzAyN2I1Yzdl
ODkuLmJmZTU3MTgwYWQzZDUwNGQ0OWJjMTE4YjcwNzlhNjVjODY3Njc2YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oOgorCiAyMDE0LTExLTA0
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBFbGltaW5hdGUgUmVz
b3VyY2VCdWZmZXIgYW5kIHVzZSBTaGFyZWRCdWZmZXIgZGlyZWN0bHkgaW5zdGVhZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDViNDJiZGU0N2MyNDU0YTg0Y2EyNzYxYTFkODM3NTY1Mjc0YzY2ZWUuLjE3NWJkMDc5
ODhmYTZkMTMxNGI0YmZmNDlhYTA4ZDMxNGJkNjYxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MCBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAg
ICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3BlY2lmaWVycyBmcm9tIFRpbWVyLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpidWZmZXJpbmdUaW1lckZpcmVk
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChUZXh0Q2hlY2tl
ckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChUZXh0Q2hl
Y2tlckNsaWVudEVmbDo6c3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojps
YXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpsYXllckZsdXNo
VGltZXJGaXJlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJvY2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXJGaXJl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Om5vblZpc2libGVQcm9jZXNzQ2xlYW51
cFRpbWVyRmlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE0
LTExLTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGZh
c3QvZG9tL3JlbW92ZS1ib2R5LWR1cmluZy1ib2R5LXJlcGxhY2VtZW50Mi5odG1sIGZhaWxzIG9u
IFdLMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IGY1Mzc2Y2YwNzBmOGM1NGJhMjhjZTNjN2ZmOTFj
YmZlMTkzMmQyMDQuLjA2MGQ3N2U1M2M0NzkwYWIxYTE3NDVhZGMyYTVhYTdkMmNkYTFmZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246
OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5KiBp
bmkKICAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVk
aWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+
JikKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgQVNTRVJUKG1fcGVuZGluZ0tleVJlcXVlc3RzLnNpemUoKSk7CiAgICAgaWYgKCFtX3Nl
c3Npb24pCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0ZShV
aW50OEFycmF5KiBrZXksIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIG1fYWRkS2V5VGltZXIuc3Rh
cnRPbmVTaG90KDApOwogfQogCi12b2lkIE1lZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJl
ZChUaW1lcjxNZWRpYUtleVNlc3Npb24+JikKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjphZGRLZXlU
aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBBU1NFUlQobV9wZW5kaW5nS2V5cy5zaXplKCkpOwog
ICAgIGlmICghbV9zZXNzaW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggZjAyNjlkNDIzNDQ2MTg4NTMz
MjUyNGI2MGRmOTFlMzRhYjNhMDUxZC4uOWMzMTFhZDJmNjQxZDEwZDMwYTk1YTRhMzEyYTk3NDQz
Y2I4MGUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC04NCw4ICs4NCw4IEBAIHB1YmxpYzoKIAogcHJv
dGVjdGVkOgogICAgIE1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVk
aWFLZXlzKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwotICAgIHZvaWQga2V5UmVxdWVzdFRp
bWVyRmlyZWQoVGltZXI8TWVkaWFLZXlTZXNzaW9uPiYpOwotICAgIHZvaWQgYWRkS2V5VGltZXJG
aXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+Jik7CisgICAgdm9pZCBrZXlSZXF1ZXN0VGltZXJG
aXJlZChUaW1lciYpOworICAgIHZvaWQgYWRkS2V5VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Ly8gQ0RNU2Vzc2lvbkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBzZW5kTWVzc2FnZShVaW50OEFy
cmF5KiwgU3RyaW5nIGRlc3RpbmF0aW9uVVJMKTsKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhOwogICAgIH07CiAgICAg
RGVxdWU8UGVuZGluZ0tleVJlcXVlc3Q+IG1fcGVuZGluZ0tleVJlcXVlc3RzOwotICAgIFRpbWVy
PE1lZGlhS2V5U2Vzc2lvbj4gbV9rZXlSZXF1ZXN0VGltZXI7CisgICAgVGltZXIgbV9rZXlSZXF1
ZXN0VGltZXI7CiAKICAgICBEZXF1ZTxSZWZQdHI8VWludDhBcnJheT4+IG1fcGVuZGluZ0tleXM7
Ci0gICAgVGltZXI8TWVkaWFLZXlTZXNzaW9uPiBtX2FkZEtleVRpbWVyOworICAgIFRpbWVyIG1f
YWRkS2V5VGltZXI7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0
KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCA3ZDg0ODExODZjNzY0MDY1NzdlNWEyMDAx
ZmQ3ZDViM2U3YWQwMWRhLi44MWQ2MTM2ZTE0M2M1OTM3YjU0N2Q4YTIxMjIxN2M2M2FiYjVlNTU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgR2VvbG9jYXRpb246Okdlb05vdGlmaWVy
OjpzdG9wVGltZXIoKQogICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIEdlb2xvY2F0aW9u
OjpHZW9Ob3RpZmllcjo6dGltZXJGaXJlZChUaW1lcjxHZW9Ob3RpZmllcj4mKQordm9pZCBHZW9s
b2NhdGlvbjo6R2VvTm90aWZpZXI6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1fdGltZXIu
c3RvcCgpOwogCkBAIC0yOTcsNyArMjk3LDcgQEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkK
ICAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9j
YXRpb246OnJlc3VtZVRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb24+JikKK3ZvaWQgR2VvbG9j
YXRpb246OnJlc3VtZVRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1faXNTdXNwZW5kZWQgPSBm
YWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5oCmluZGV4IDY0NGRiZmIyNGFlZmRiMjk2NDAyODJhNmQ2MDFkMGQ2YjQ1OTZhNjAuLjU1
NjIzZDBlMTFkNzIwODBiMDMwNmQ5MGM3OThiNTFhZWRjMzk4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKQEAgLTEwMCw3ICsxMDAs
NyBAQCBwcml2YXRlOgogCiAgICAgICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKCk7CiAgICAg
ICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0gICAgICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxHZW9O
b3RpZmllcj4mKTsKKyAgICAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJik7CiAgICAgICAgIGJv
b2wgaGFzWmVyb1RpbWVvdXQoKSBjb25zdDsKIAogICAgIHByaXZhdGU6CkBAIC0xMTAsNyArMTEw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IG1fc3VjY2Vz
c0NhbGxiYWNrOwogICAgICAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBtX2Vycm9y
Q2FsbGJhY2s7CiAgICAgICAgIFJlZlB0cjxQb3NpdGlvbk9wdGlvbnM+IG1fb3B0aW9uczsKLSAg
ICAgICAgVGltZXI8R2VvTm90aWZpZXI+IG1fdGltZXI7CisgICAgICAgIFRpbWVyIG1fdGltZXI7
CiAgICAgICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yPiBtX2ZhdGFsRXJyb3I7CiAgICAgICAgIGJv
b2wgbV91c2VDYWNoZWRQb3NpdGlvbjsKICAgICB9OwpAQCAtMTg2LDggKzE4Niw4IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2hhc0NoYW5nZWRQb3NpdGlvbjsKICAgICBSZWZQdHI8UG9zaXRpb25F
cnJvcj4gbV9lcnJvcldhaXRpbmdGb3JSZXN1bWU7CiAKLSAgICB2b2lkIHJlc3VtZVRpbWVyRmly
ZWQoVGltZXI8R2VvbG9jYXRpb24+Jik7Ci0gICAgVGltZXI8R2VvbG9jYXRpb24+IG1fcmVzdW1l
VGltZXI7CisgICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyJik7CisgICAgVGltZXIgbV9y
ZXN1bWVUaW1lcjsKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICAgICBHZW9Ob3RpZmllclNl
dCBtX3JlcXVlc3RzQXdhaXRpbmdDYWNoZWRQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCmlu
ZGV4IDM3OTg4NmNiZTBjMTFlZWRkYjg4NzllN2Y3OGIzMzhhOWY0NTZmYTAuLmE4NjllMTMwOGVi
NDQzNTczYjMyZTAwMTdiZWQ0YjdlOTM0ZTIzN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApAQCAt
MjcwLDcgKzI3MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kOjpjb21taXQoKQogICAg
IH0pOwogfQogCi12b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZDo6dGFza1RpbWVyRmlyZWQoVGlt
ZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kPiYpCit2b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZDo6
dGFza1RpbWVyRmlyZWQoVGltZXImKQogewogICAgIExPRyhTdG9yYWdlQVBJLCAiSURCVHJhbnNh
Y3Rpb25CYWNrZW5kOjp0YXNrVGltZXJGaXJlZCIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCmluZGV4IGJi
MjAwZGRlMzJmZGQzM2JhNjJiODZkNzMwZjE5NGJhY2QyZWE2NTQuLmJhNWVhNGY4YTgxNjA0MzBk
ZTM2ZTgwYjAxYjM3OGZmNTJmMGI1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCkBAIC05Niw3ICs5Niw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1Rhc2tRdWV1ZUVtcHR5KCkgY29uc3Q7CiAgICAgYm9v
bCBoYXNQZW5kaW5nVGFza3MoKSBjb25zdDsKIAotICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGlt
ZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kPiYpOworICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGlt
ZXImKTsKICAgICB2b2lkIGNsb3NlT3BlbkN1cnNvcnMoKTsKIAogICAgIGNvbnN0IEhhc2hTZXQ8
aW50NjRfdD4gbV9vYmplY3RTdG9yZUlkczsKQEAgLTExMyw3ICsxMTMsNyBAQCBwcml2YXRlOgog
ICAgIERlcXVlPFJlZlB0cjxJREJTeW5jaHJvbm91c09wZXJhdGlvbj4+IG1fYWJvcnRUYXNrUXVl
dWU7CiAKICAgICAvLyBGSVhNRTogZGVsZXRlIHRoZSB0aW1lciBvbmNlIHdlIGhhdmUgdGhyZWFk
cyBpbnN0ZWFkLgotICAgIFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZD4gbV90YXNrVGltZXI7
CisgICAgVGltZXIgbV90YXNrVGltZXI7CiAgICAgaW50IG1fcGVuZGluZ1ByZWVtcHRpdmVFdmVu
dHM7CiAKICAgICBIYXNoU2V0PElEQkN1cnNvckJhY2tlbmQqPiBtX29wZW5DdXJzb3JzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
CmluZGV4IDY3OTIxZTNiMzJkZDE5M2I0YzM3MGE3ZjA3N2M5YmY2NTVjYjRjNjQuLjc2NTk1Nzdk
MzZkMzMxZDBkNmE2MTRmZjM0NWM3MGQ5ODg4YjhhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTQ0Nyw3ICs0NDcs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwodW5zaWduZWQgY2hh
ciogZGF0YSwgdW5zaWduZWQgc2l6ZSwgRXhjZQogICAgIHJlcG9ydEV4dHJhTWVtb3J5Q29zdCgp
OwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxT
b3VyY2VCdWZmZXI+JikKK3ZvaWQgU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAoaXNSZW1vdmVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTY3
Miw3ICs2NzIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3Qg
TWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbgogICAgIExPRyhNZWRpYSwgIlNv
dXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoJXApIC0gYnVmZmVyZWQgPSAlcyIsIHRoaXMs
IHRvU3RyaW5nKG1fYnVmZmVyZWQtPnJhbmdlcygpKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9p
ZCBTb3VyY2VCdWZmZXI6OnJlbW92ZVRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopCit2
b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgQVNTRVJU
KG1fdXBkYXRpbmcpOwogICAgIEFTU0VSVChtX3BlbmRpbmdSZW1vdmVTdGFydC5pc1ZhbGlkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmgKaW5kZXggYWI0OGY5MzdlNjQ5NDFjNmNjMjkxZTUwN2U1ZmY5NTRiZGQ1MzIwMi4uZDM2ODAy
Y2VjOWYwNmE5NzJjOGQzOWQ2ODE1ZWU3YzMxYzE5MjE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC0xNTIsNyArMTUyLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudE5hbWUpOwogCiAgICAgdm9pZCBhcHBlbmRCdWZmZXJJbnRlcm5hbCh1bnNpZ25lZCBjaGFy
KiwgdW5zaWduZWQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFwcGVuZEJ1ZmZlclRpbWVy
RmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiYpOworICAgIHZvaWQgYXBwZW5kQnVmZmVyVGltZXJG
aXJlZChUaW1lciYpOwogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKQEAgLTE2Niw3ICsx
NjYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBtb25pdG9yQnVmZmVyaW5nUmF0ZSgpOwogCi0g
ICAgdm9pZCByZW1vdmVUaW1lckZpcmVkKFRpbWVyPFNvdXJjZUJ1ZmZlcj4qKTsKKyAgICB2b2lk
IHJlbW92ZVRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIHJlbW92ZUNvZGVkRnJhbWVzKGNv
bnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKTsKIAogICAgIHNpemVf
dCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdDsKQEAgLTE4Myw3ICsxODMsNyBAQCBwcml2YXRlOgog
ICAgIEdlbmVyaWNFdmVudFF1ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCiAgICAgVmVjdG9yPHVu
c2lnbmVkIGNoYXI+IG1fcGVuZGluZ0FwcGVuZERhdGE7Ci0gICAgVGltZXI8U291cmNlQnVmZmVy
PiBtX2FwcGVuZEJ1ZmZlclRpbWVyOworICAgIFRpbWVyIG1fYXBwZW5kQnVmZmVyVGltZXI7CiAK
ICAgICBSZWZQdHI8VmlkZW9UcmFja0xpc3Q+IG1fdmlkZW9UcmFja3M7CiAgICAgUmVmUHRyPEF1
ZGlvVHJhY2tMaXN0PiBtX2F1ZGlvVHJhY2tzOwpAQCAtMjEwLDcgKzIxMCw3IEBAIHByaXZhdGU6
CiAKICAgICBNZWRpYVRpbWUgbV9wZW5kaW5nUmVtb3ZlU3RhcnQ7CiAgICAgTWVkaWFUaW1lIG1f
cGVuZGluZ1JlbW92ZUVuZDsKLSAgICBUaW1lcjxTb3VyY2VCdWZmZXI+IG1fcmVtb3ZlVGltZXI7
CisgICAgVGltZXIgbV9yZW1vdmVUaW1lcjsKIAogICAgIGJvb2wgbV91cGRhdGluZzsKICAgICBi
b29sIG1fcmVjZWl2ZWRGaXJzdEluaXRpYWxpemF0aW9uU2VnbWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNTU5ODk1
ZjYwNzliZWRhZjBjNGY1YTBjYTRkMjM5ZjJhNTA2ZWVhNi4uNWFjNTE3NmVkZWNmYjc1ODg5MzJi
MDgxYWY1OTIwMzFjYWIxNDE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTM2MSw3ICszNjEsNyBAQCB2b2lkIE1lZGlh
U3RyZWFtOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
TWVkaWFTdHJlYW06OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYVN0cmVhbT4q
KQordm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gZXZlbnRzOwogICAgIGV2ZW50cy5zd2FwKG1fc2No
ZWR1bGVkRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0uaAppbmRleCAyNjgxZDI2NDNjYzVlMDVlOTBjNDRhN2RhOGRjOGExYzYzYmEy
MTRiLi44MDZmZGNjYTVjODVjZmY3ZmE3NzlkOTFkNTFlMGZiZmJjZDZjZjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCkBAIC0xMjAs
NyArMTIwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhdmVUcmFja1dpdGhTb3VyY2UoUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVNvdXJjZT4pOwogCiAgICAgdm9pZCBzY2hlZHVsZURpc3BhdGNoRXZl
bnQoUGFzc1JlZlB0cjxFdmVudD4pOwotICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVk
KFRpbWVyPE1lZGlhU3RyZWFtPiopOworICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVk
KFRpbWVyKik7CiAKICAgICB2b2lkIGNsb25lTWVkaWFTdHJlYW1UcmFja1ZlY3RvcihWZWN0b3I8
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+PiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8TWVkaWFTdHJl
YW1UcmFjaz4+Jik7CiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxS
ZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4+IG1fYXVkaW9UcmFja3M7CiAgICAgVmVjdG9yPFJlZlB0
cjxNZWRpYVN0cmVhbVRyYWNrPj4gbV92aWRlb1RyYWNrczsKIAotICAgIFRpbWVyPE1lZGlhU3Ry
ZWFtPiBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVudFRp
bWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3NjaGVkdWxlZEV2ZW50czsKIAogICAg
IFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKaW5kZXggZTVhZGNkNjY3Mzky
MTM5YjY0MzEzMjNhNzc2OGU3YzYxMjg3ZTQ4Zi4uZTI0MmM0MGQyNWM2ZWYwOGVjMjhmNDcxN2Vi
OTNjMmYwYTQzOWRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBSVENEVE1G
U2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
UlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ0RUTUZTZW5k
ZXI+KikKK3ZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVy
KikKIHsKICAgICBpZiAobV9zdG9wcGVkKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCmluZGV4IDBlNmI0
OWQzMjExMDUwZGNkMzBhMDM1NWNhZGQyZjAxZDFmZTMyZWMuLmJlZDJhNjIxMjk1ZTRjYTQ2OTFl
ZDk0YzQxNGY3OTk0M2VkOWM4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAg
ICAgUlRDRFRNRlNlbmRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrPiwgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJIYW5kbGVyPik7CiAK
ICAgICB2b2lkIHNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7Ci0gICAg
dm9pZCBzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoVGltZXI8UlRDRFRNRlNlbmRlcj4qKTsKKyAg
ICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZChUaW1lciopOwogCiAgICAgLy8gRXZlbnRU
YXJnZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IHJlZigp
OyB9CkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fc3RvcHBlZDsKIAot
ICAgIFRpbWVyPFJUQ0RUTUZTZW5kZXI+IG1fc2NoZWR1bGVkRXZlbnRUaW1lcjsKKyAgICBUaW1l
ciBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fc2No
ZWR1bGVkRXZlbnRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCBkZTc4NDc0MWM5MmFlODZkY2ExZDJj
ZTNkNzdjMTkwMmJiNWJjMjk2Li40MjMzZmQ0OWNhZjY1ODE4MWJhZGFmNzg1NjYxMjcxODdhMzlj
MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Rh
dGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RhdGFDaGFubmVsLmNwcApAQCAtMzEyLDcgKzMxMiw3IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWw6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICAgICAg
bV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBSVENEYXRh
Q2hhbm5lbDo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ0RhdGFDaGFubmVsPiop
Cit2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoVGltZXIqKQog
ewogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaAppbmRleCA1NGEyMWQ0
NDFkZTk5ODJiMWMzZjQ0Yjk2YTlkY2M3ODEwMGJhZTNjLi42ZjgwMzhlMjhiNjQ4ZTE3MjljZGMw
M2ZmZDU0OWFmMjQ0YzBkNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAg
ICAgUlRDRGF0YUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6dW5pcXVlX3B0
cjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+KTsKIAogICAgIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEV2
ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKLSAgICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJGaXJl
ZChUaW1lcjxSVENEYXRhQ2hhbm5lbD4qKTsKKyAgICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVm
RXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IHJlZigpOyB9CkBAIC0xMTQsNyArMTE0LDcgQEAgcHJp
dmF0ZToKICAgICB9OwogICAgIEJpbmFyeVR5cGUgbV9iaW5hcnlUeXBlOwogCi0gICAgVGltZXI8
UlRDRGF0YUNoYW5uZWw+IG1fc2NoZWR1bGVkRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3NjaGVk
dWxlZEV2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fc2NoZWR1bGVkRXZl
bnRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAppbmRleCAzNTE5YzNkMmRkMTNkNjM4NDk5NjZhNDMz
M2ViZTZhN2M5NmVjZDEyLi4yNDdiNjJmM2FmOTc2OTk1ZjU0ZjBkNDRiMWY4Nzk2Mzc1ODUwMGZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmNwcApAQCAtNzI0LDcgKzcyNCw3IEBAIHZvaWQgUlRDUGVlckNvbm5l
Y3Rpb246OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAg
ICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
VENQZWVyQ29ubmVjdGlvbjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ1BlZXJD
b25uZWN0aW9uPiopCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzY2hlZHVsZWRFdmVudFRpbWVy
RmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaAppbmRleCBiYThlN2FlNzUyNDAzZGY3MjZkZWJlYTI4YmE3NWFhYzQxY2ZiMDZhLi5h
YWJmY2RjMmMyMTgwMjMwYTFhZTZlZTJmYWVjNTFkMDY3ZDYyN2QyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBA
IC0xMzksNyArMTM5LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0Nv
bmZpZ3VyYXRpb24+IHBhcnNlQ29uZmlndXJhdGlvbihjb25zdCBEaWN0aW9uYXJ5JiBjb25maWd1
cmF0aW9uLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UGFzc1JlZlB0cjxFdmVudD4pOwotICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRp
bWVyPFJUQ1BlZXJDb25uZWN0aW9uPiopOworICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZp
cmVkKFRpbWVyKik7CiAgICAgYm9vbCBoYXNMb2NhbFN0cmVhbVdpdGhUcmFja0lkKGNvbnN0IFN0
cmluZyYgdHJhY2tJZCk7CiAKICAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KQEAg
LTE2NCw3ICsxNjQsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlcj4gbV9wZWVySGFuZGxlcjsKIAotICAgIFRpbWVyPFJUQ1BlZXJDb25u
ZWN0aW9uPiBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVu
dFRpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3NjaGVkdWxlZEV2ZW50czsKIAog
ICAgIFJlZlB0cjxSVENDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3VyYXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmlu
ZGV4IDM2YWU2MWZlNDdkZGViYTE0MjY0MjQ1MTNmY2VkM2Q5NWM2NjJlYzYuLjRlODM4MzAwNjcy
MDIyYTM2OTFmMDQ0NGZiNGI1ZjIxZjEyZDgxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC04NCw3ICs4NCw3
IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRl
eHQpCiAgICAgLCBtX3RpdGxlKHRpdGxlKQogICAgICwgbV9zdGF0ZShJZGxlKQotICAgICwgbV90
YXNrVGltZXIoc3RkOjptYWtlX3VuaXF1ZTxUaW1lcjxOb3RpZmljYXRpb24+Pih0aGlzLCAmTm90
aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCkpCisgICAgLCBtX3Rhc2tUaW1lcihzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPih0aGlzLCAmTm90aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCkpCiB7CiAg
ICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXRO
b3RpZmljYXRpb25zKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5kb21XaW5kb3coKSk7CiAg
ICAgCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JF
dmVudCgpCiB9CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLXZvaWQgTm90aWZpY2F0aW9u
Ojp0YXNrVGltZXJGaXJlZChUaW1lcjxOb3RpZmljYXRpb24+JiB0aW1lcikKK3ZvaWQgTm90aWZp
Y2F0aW9uOjp0YXNrVGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNEb2N1bWVudCgpKTsKICAgICBBU1NFUlRfVU5VU0VEKHRp
bWVyLCAmdGltZXIgPT0gbV90YXNrVGltZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGE5ODAxMDA4Mzkz
YzU3MjE5MzBjZGVkMWQ5M2MzZDU4NmM1NGUyM2YuLjM4YmFhNjg4MjExMTJlNmM1Y2JkMjg2NmVj
ZTY3NGU0YmM4NmY1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZmluaXNoTG9hZGluZ0ljb24oKTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQot
ICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uPiYpOworICAgIHZvaWQg
dGFza1RpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgogCiAgICAgLy8gVGV4dCBub3RpZmljYXRp
b25zLgpAQCAtMTc5LDcgKzE3OSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vdGlmaWNhdGlv
bkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50ZXI7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8Tm90aWZpY2F0aW9uPj4gbV90YXNrVGltZXI7
CisgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX3Rhc2tUaW1lcjsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCAyYTgzNTUzZTg5ZWRjMmEzNGM2MTY2MGVlYjIxODVi
ZTczYjczZjFiLi5iYWZiNWNhMzU5N2QzYTUwYTNiYzAyNzMxNzBhOWZlMjVkMzc4ZDNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQgTm90aWZpY2F0aW9u
Q2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2FsbGJhY2s6OnN0YXJ0VGltZXIoKQogICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90
aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrPiYpCit2b2lkIE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBpZiAobV9jYWxsYmFjaykKICAgICAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaAppbmRleCA3MGFjYzRmZjQ4N2Y5MTQ1MDVlMTQ5MjgxNmQwZTg1YmY4
Yzg5OTdlLi5lZGFiYjYyYWRmMzA1NDAyZDYyNmFjZWFjZjMyOTE4ZTY1YzEyYWY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCkBAIC04MCwxMiArODAsMTIgQEAgcHJpdmF0ZToKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4gY3Jl
YXRlQW5kU3RhcnRUaW1lcihOb3RpZmljYXRpb25DZW50ZXIqLCBQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4pOwogICAgICAgICB2b2lkIHN0YXJ0VGltZXIoKTsKLSAgICAgICAgdm9pZCB0aW1lckZp
cmVkKFRpbWVyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4mKTsKKyAgICAgICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyJik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgTm90aWZpY2F0aW9uUmVx
dWVzdENhbGxiYWNrKE5vdGlmaWNhdGlvbkNlbnRlciosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
Pik7CiAKICAgICAgICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25D
ZW50ZXI7Ci0gICAgICAgIFRpbWVyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4gbV90aW1l
cjsKKyAgICAgICAgVGltZXIgbV90aW1lcjsKICAgICAgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4g
bV9jYWxsYmFjazsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vVmlicmF0aW9uLmNwcAppbmRleCBlMDljYjMwYmJlZmMyZGU2OGY0ZjZjZDZkZjdhYWU5Yzk0
NGMzMGY5Li41MGI0NTJhMWE2YjIyYWQ4NzIwOTViNzg5OWYyYTM0YzEyMzAxNGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTkxLDcg
KzkxLDcgQEAgdm9pZCBWaWJyYXRpb246OmNhbmNlbFZpYnJhdGlvbigpCiAgICAgfQogfQogCi12
b2lkIFZpYnJhdGlvbjo6dGltZXJGaXJlZChUaW1lcjxWaWJyYXRpb24+KiB0aW1lcikKK3ZvaWQg
VmlicmF0aW9uOjp0aW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vVmlicmF0aW9uLmgKaW5kZXggY2M1MjlhMDdhZmZiNDUxYjMwMDA2YTFkMWVlMzY2
ZDAyMjA4NWQyNS4uMjA2NzNhZjgxYzBlY2U3OWM1Mzg0ZTVlNzY2NzM2NTA4M2NjNzk5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKQEAgLTQwLDcg
KzQwLDcgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBXaGVuIGEgdmlzaWJpbGl0eWNoYW5nZSBl
dmVudCBpcyBkaXNwYXRjaGVkIHdoaWxlIHZpYnJhdGluZywgdGhlIHZpYnJhdGlvbiBzaG91bGQg
YmUgY2FuY2VsZWQuCiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKIAotICAgIHZvaWQgdGlt
ZXJGaXJlZChUaW1lcjxWaWJyYXRpb24+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyKik7
CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKICAgICBzdGF0aWMg
VmlicmF0aW9uKiBmcm9tKFBhZ2UqIHBhZ2UpIHsgcmV0dXJuIHN0YXRpY19jYXN0PFZpYnJhdGlv
bio+KFN1cHBsZW1lbnQ8UGFnZT46OmZyb20ocGFnZSwgc3VwcGxlbWVudE5hbWUoKSkpOyB9CkBA
IC01MSw3ICs1MSw3IEBAIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBTdGF0ZSB7IElkbGUsIFZp
YnJhdGluZywgV2FpdGluZyB9OwogCiAgICAgVmlicmF0aW9uQ2xpZW50KiBtX3ZpYnJhdGlvbkNs
aWVudDsKLSAgICBUaW1lcjxWaWJyYXRpb24+IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsK
ICAgICBTdGF0ZSBtX3N0YXRlOwogICAgIFZpYnJhdGlvblBhdHRlcm4gbV9wYXR0ZXJuOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAppbmRleCA5MzJjODQwZTQ2NWQ4OTdlZWRlZmE3MTE4NzAyNGQ0NTQ4YTNhNGE5
Li43ZmQ2MjFlMmIzNTg4YjgxOTc0OWUyNzk5M2EwMDQ5ZTI5ZjM0MWY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
CkBAIC00NDksNyArNDQ5LDcgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzQnVmZmVy
KCkKICAgICByZXR1cm4gcHJvY2Vzc0ZyYW1lKCk7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6cmVzdW1lVGltZXJGaXJlZChUaW1lcjxXZWJTb2NrZXRDaGFubmVsPiogdGltZXIpCit2b2lk
IFdlYlNvY2tldENoYW5uZWw6OnJlc3VtZVRpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAg
IEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3Jlc3VtZVRpbWVyKTsKIApAQCAtNDkx
LDcgKzQ5MSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6c3RhcnRDbG9zaW5nSGFuZHNoYWtl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgbV9jbGllbnQtPmRpZFN0
YXJ0Q2xvc2luZ0hhbmRzaGFrZSgpOwogfQogCi12b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Np
bmdUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+KiB0aW1lcikKK3ZvaWQgV2ViU29j
a2V0Q2hhbm5lbDo6Y2xvc2luZ1RpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAgIExPRyhO
ZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBjbG9zaW5nVGltZXJGaXJlZCgpIiwgdGhpcyk7
CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJm1fY2xvc2luZ1RpbWVyID09IHRpbWVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oCmluZGV4IDcxNTk0NmNhZTYyYzI2NGIwNWEyYmI0MTA4YjQ4YWI3ZjgyNzYwM2IuLmU0ZmFj
MmI5YmM0ZDc1MzFkZjYwNGU5NmRmNjM2NWExYjZkODEwN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtMTI3LDkg
KzEyNyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBhcHBlbmRUb0J1ZmZlcihjb25zdCBjaGFyKiBk
YXRhLCBzaXplX3QgbGVuKTsKICAgICB2b2lkIHNraXBCdWZmZXIoc2l6ZV90IGxlbik7CiAgICAg
Ym9vbCBwcm9jZXNzQnVmZmVyKCk7Ci0gICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyPFdl
YlNvY2tldENoYW5uZWw+Kik7CisgICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyKik7CiAg
ICAgdm9pZCBzdGFydENsb3NpbmdIYW5kc2hha2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVh
c29uKTsKLSAgICB2b2lkIGNsb3NpbmdUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+
Kik7CisgICAgdm9pZCBjbG9zaW5nVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgYm9vbCBwcm9j
ZXNzRnJhbWUoKTsKIApAQCAtMTkwLDExICsxOTAsMTEgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
U29ja2V0U3RyZWFtSGFuZGxlPiBtX2hhbmRsZTsKICAgICBWZWN0b3I8Y2hhcj4gbV9idWZmZXI7
CiAKLSAgICBUaW1lcjxXZWJTb2NrZXRDaGFubmVsPiBtX3Jlc3VtZVRpbWVyOworICAgIFRpbWVy
IG1fcmVzdW1lVGltZXI7CiAgICAgYm9vbCBtX3N1c3BlbmRlZDsKICAgICBib29sIG1fY2xvc2lu
ZzsKICAgICBib29sIG1fcmVjZWl2ZWRDbG9zaW5nSGFuZHNoYWtlOwotICAgIFRpbWVyPFdlYlNv
Y2tldENoYW5uZWw+IG1fY2xvc2luZ1RpbWVyOworICAgIFRpbWVyIG1fY2xvc2luZ1RpbWVyOwog
ICAgIGJvb2wgbV9jbG9zZWQ7CiAgICAgYm9vbCBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGE7
CiAgICAgdW5zaWduZWQgbG9uZyBtX3VuaGFuZGxlZEJ1ZmZlcmVkQW1vdW50OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDI0NTJkNTkw
Nzc1YzE4Mjc5OGJjOWMxZWFiNDkzYWJiZjI3Njk5Zi4uZDhhZmIyNTdmYWI4Zjk5ODliNDE0ZjNh
OWE5MzQxNmVlOWQwNTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCkBAIC03MDAsNyArNzAwLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpj
aGlsZHJlbkNoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogICAgIG9iai0+Y2hpbGRy
ZW5DaGFuZ2VkKCk7CiB9CiAgICAgCi12b2lkIEFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBv
c3RUaW1lckZpcmVkKFRpbWVyPEFYT2JqZWN0Q2FjaGU+JikKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
bm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFJlZjxEb2N1bWVudD4g
cHJvdGVjdG9yRm9yQ2FjaGVPd25lcihtX2RvY3VtZW50KTsKICAgICBtX25vdGlmaWNhdGlvblBv
c3RUaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oCmluZGV4IDZmOGU2ODUyOTYxYzA2MTUyZmFiMDM4NmIwYzIzZTVmMTdmNDIzNmMuLmI0
YjVjMzdmNmExMmI1NWI2Y2RlNTY0ZmM5Y2JhZTZjZGIxMWY2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yNDIsOSArMjQyLDkgQEAgcHJp
dmF0ZToKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRzSW5Vc2U7CiAgICAgCi0gICAgVGlt
ZXI8QVhPYmplY3RDYWNoZT4gbV9ub3RpZmljYXRpb25Qb3N0VGltZXI7CisgICAgVGltZXIgbV9u
b3RpZmljYXRpb25Qb3N0VGltZXI7CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIEFYTm90aWZpY2F0aW9uPj4gbV9ub3RpZmljYXRpb25zVG9Qb3N0Owot
ICAgIHZvaWQgbm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoVGltZXI8QVhPYmplY3RDYWNoZT4m
KTsKKyAgICB2b2lkIG5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9p
ZCBoYW5kbGVNZW51T3BlbmVkKE5vZGUqKTsKICAgICB2b2lkIGhhbmRsZUxpdmVSZWdpb25DcmVh
dGVkKE5vZGUqKTsKICAgICB2b2lkIGhhbmRsZU1lbnVJdGVtU2VsZWN0ZWQoTm9kZSopOwpAQCAt
MjcxLDcgKzI3MSw3IEBAIGJvb2wgaXNOb2RlQXJpYVZpc2libGUoTm9kZSopOwogI2lmICFIQVZF
KEFDQ0VTU0lCSUxJVFkpCiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENv
bXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCkgY29uc3QgeyByZXR1
cm4gRGVmYXVsdEJlaGF2aW9yOyB9CiBpbmxpbmUgdm9pZCBBWENvbXB1dGVkT2JqZWN0QXR0cmli
dXRlQ2FjaGU6OnNldElnbm9yZWQoQVhJRCwgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbikg
eyB9Ci1pbmxpbmUgQVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZShEb2N1bWVudCYgZG9jdW1l
bnQpIDogbV9kb2N1bWVudChkb2N1bWVudCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRoaXMs
IChUaW1lcjxBWE9iamVjdENhY2hlPjo6VGltZXJGaXJlZEZ1bmN0aW9uKSBudWxscHRyKSB7IH0K
K2lubGluZSBBWE9iamVjdENhY2hlOjpBWE9iamVjdENhY2hlKERvY3VtZW50JiBkb2N1bWVudCkg
OiBtX2RvY3VtZW50KGRvY3VtZW50KSwgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIodGhpcywgKFRp
bWVyOjpUaW1lckZpcmVkRnVuY3Rpb24pIG51bGxwdHIpIHsgfQogaW5saW5lIEFYT2JqZWN0Q2Fj
aGU6On5BWE9iamVjdENhY2hlKCkgeyB9CiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhP
YmplY3RDYWNoZTo6Zm9jdXNlZFVJRWxlbWVudEZvclBhZ2UoY29uc3QgUGFnZSopIHsgcmV0dXJu
IG51bGxwdHI7IH0KIGlubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpn
ZXQoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gbnVsbHB0cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggZWI4YmMwYzE5Nzg5YTM4ODE4NmQ3NTY1
Y2UxYjVhYjk3MmVlY2QzYS4uYzY5MTU2Y2M0M2IwNDBiYzQ3YmY3ZGE1MDIzNzc0NmNmZjljYWEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03
Myw3ICs3Myw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdFNvb24oKQogfQog
CiAjaWYgIVVTRShDRikKLXZvaWQgR0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQoVGltZXI8R0ND
b250cm9sbGVyPiopCit2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBjb2xsZWN0KG51bGxwdHIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaAppbmRleCAxYzJkOTE0MWM5MGM2NDdhMDM3YjhjMGM0ZmRkOTAxZThlNDA2MTY1
Li5hMzcxNTEwYTRkMmRlYzAwNTkxODQwYzY5NWQ4NjNmNzM0Y2U2ZjU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtNTIsOCArNTIsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEdDQ29udHJvbGxlcigpOyAvLyBVc2UgZ2NDb250cm9sbGVy
KCkgaW5zdGVhZAogCiAjaWYgIVVTRShDRikKLSAgICAgICAgdm9pZCBnY1RpbWVyRmlyZWQoVGlt
ZXI8R0NDb250cm9sbGVyPiopOwotICAgICAgICBUaW1lcjxHQ0NvbnRyb2xsZXI+IG1fR0NUaW1l
cjsKKyAgICAgICAgdm9pZCBnY1RpbWVyRmlyZWQoVGltZXIqKTsKKyAgICAgICAgVGltZXIgbV9H
Q1RpbWVyOwogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3Vy
Y2UuaAppbmRleCA0ZTNkNDFlNjEzYTlkYzVhNDJkMTBkNGU0YWJmNDg1YjYyYjNiZTgwLi5lODBm
YzI5ZGI3MmU0MmU2ZWQ0ZDI0NDNiYmY5NTc0OGM5MjlkMDM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VTb3VyY2UuaApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
cHJpdmF0ZToKLSAgICB2b2lkIHN0YXJ0TG9hZGluZ1RpbWVyRmlyZWQoVGltZXI8Q1NTRm9udEZh
Y2VTb3VyY2U+Kik7CisgICAgdm9pZCBzdGFydExvYWRpbmdUaW1lckZpcmVkKFRpbWVyKik7CiAK
ICAgICBBdG9taWNTdHJpbmcgbV9zdHJpbmc7IC8vIFVSSSBmb3IgcmVtb3RlLCBidWlsdC1pbiBm
b250IG5hbWUgZm9yIGxvY2FsLgogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+
IG1fZm9udDsgLy8gRm9yIHJlbW90ZSBmb250cywgYSBwb2ludGVyIHRvIG91ciBjYWNoZWQgcmVz
b3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDM5MjVhZWUy
NGViYTFjM2Y3NWNjNTAwZTA1NDAwMjRmNDZiYzFjYjAuLjExNTA4ODllODcyMmMzOTUzYmZkOWFk
N2FkMGFjYWIzNDY4NGQ5M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC01ODcsNyArNTg3LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQqIGZvbnQpCiAgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9u
ZVNob3QoMCk7CiB9CiAKLXZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KFRpbWVyPFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcj4mKQordm9pZCBDU1NGb250U2VsZWN0b3I6
OmJlZ2luTG9hZFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFZlY3RvcjxDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRGb250Pj4gZm9udHNUb0JlZ2luTG9hZGluZzsKICAgICBmb250c1RvQmVn
aW5Mb2FkaW5nLnN3YXAobV9mb250c1RvQmVnaW5Mb2FkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250U2VsZWN0b3IuaAppbmRleCBlMWU1YTA1ZTA1NDhjYzdhMWY1NjViNzFjNWIyMWI2ZGEwODk0
OGY3Li4xOGJmMTg5NmI4MDNhNWEwZWJhM2VhZjhjZjA5Y2YzMmQzNTcwMWI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CiAKLSAgICB2b2lkIGJlZ2lu
TG9hZFRpbWVyRmlyZWQoVGltZXI8Q1NTRm9udFNlbGVjdG9yPiYpOworICAgIHZvaWQgYmVnaW5M
b2FkVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAg
SGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UmVmUHRyPENTU0ZvbnRGYWNl
Pj4+LCBDYXNlRm9sZGluZ0hhc2g+IG1fZm9udEZhY2VzOwpAQCAtOTUsNyArOTUsNyBAQCBwcml2
YXRlOgogICAgIEhhc2hTZXQ8Rm9udFNlbGVjdG9yQ2xpZW50Kj4gbV9jbGllbnRzOwogCiAgICAg
VmVjdG9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+PiBtX2ZvbnRzVG9CZWdpbkxv
YWRpbmc7Ci0gICAgVGltZXI8Q1NTRm9udFNlbGVjdG9yPiBtX2JlZ2luTG9hZGluZ1RpbWVyOwor
ICAgIFRpbWVyIG1fYmVnaW5Mb2FkaW5nVGltZXI7CiAKICAgICB1bnNpZ25lZCBtX3VuaXF1ZUlk
OwogICAgIHVuc2lnbmVkIG1fdmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cAppbmRleCBjMmFmNzFiZGYxMzI4MzM2ZGNjNzU1NGY3NDg1NDdmZWZhZDdjOWI1Li5mOWU5Mjc5
ODAxYjBmNGI5YWFhN2QxZTJiNjlmNGQ0NTc4MWM1Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgU3R5bGVSZXNvbHZlcjo6flN0eWxlUmVz
b2x2ZXIoKQogI2VuZGlmCiB9CiAKLXZvaWQgU3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJv
cGVydGllc0NhY2hlKFRpbWVyPFN0eWxlUmVzb2x2ZXI+KikKK3ZvaWQgU3R5bGVSZXNvbHZlcjo6
c3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKFRpbWVyKikKIHsKICAgICAvLyBMb29rIGZvciBj
YWNoZSBlbnRyaWVzIGNvbnRhaW5pbmcgYSBzdHlsZSBkZWNsYXJhdGlvbiB3aXRoIGEgc2luZ2xl
IHJlZiBhbmQgcmVtb3ZlIHRoZW0uCiAgICAgLy8gVGhpcyBtYXkgaGFwcGVuIHdoZW4gYW4gZWxl
bWVudCBhdHRyaWJ1dGUgbXV0YXRpb24gY2F1c2VzIGl0IHRvIGdlbmVyYXRlIGEgbmV3IGlubGlu
ZVN0eWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDBlYTEwMjNkMmU5NTI3
Y2UwZGY5NDNlYTY0MTQ2NWExMTI1ZTcyNDcuLmUzYmYzNjMwMzc5MGUxNjY0MzgzMTVmN2JjMGNm
YzNlNmM3OWEzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtNDk4LDcgKzQ5
OCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBFdmVyeSBOIGFkZGl0aW9ucyB0byB0aGUgbWF0Y2hl
ZCBkZWNsYXJhdGlvbiBjYWNoZSB0cmlnZ2VyIGEgc3dlZXAgd2hlcmUgZW50cmllcyBob2xkaW5n
CiAgICAgLy8gdGhlIGxhc3QgcmVmZXJlbmNlIHRvIGEgc3R5bGUgZGVjbGFyYXRpb24gYXJlIGdh
cmJhZ2UgY29sbGVjdGVkLgotICAgIHZvaWQgc3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKFRp
bWVyPFN0eWxlUmVzb2x2ZXI+Kik7CisgICAgdm9pZCBzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2Fj
aGUoVGltZXIqKTsKIAogICAgIGJvb2wgY2xhc3NOYW1lc0FmZmVjdGVkQnlSdWxlcyhjb25zdCBT
cGFjZVNwbGl0U3RyaW5nJikgY29uc3Q7CiAgICAgYm9vbCBzaGFyaW5nQ2FuZGlkYXRlSGFzSWRl
bnRpY2FsU3R5bGVBZmZlY3RpbmdBdHRyaWJ1dGVzKFN0eWxlZEVsZW1lbnQqKSBjb25zdDsKQEAg
LTUxMyw3ICs1MTMsNyBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwg
TWF0Y2hlZFByb3BlcnRpZXNDYWNoZUl0ZW0+IE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGU7CiAgICAg
TWF0Y2hlZFByb3BlcnRpZXNDYWNoZSBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGU7CiAKLSAgICBU
aW1lcjxTdHlsZVJlc29sdmVyPiBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyOwor
ICAgIFRpbWVyIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXI7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TWVkaWFRdWVyeUV2YWx1YXRvcj4gbV9tZWRpdW07CiAgICAgUmVmUHRyPFJl
bmRlclN0eWxlPiBtX3Jvb3REZWZhdWx0U3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCBmZmEwMjY2NDExMGY0MmI2YTVmZTUwMjVmN2Y2NDhkYTYwOGE5YzU4Li5kNzVmNzU1NTRhMzUy
NGQ3MDc5ODkwMjJlZjU1ZTU4Mzk2NjY4YTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTEyNjUsNyArMTI2NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KGJvb2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5mb3Jj
ZVBhZ2VUcmFuc2l0aW9uSWZOZWVkZWQoKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKQordm9pZCBEb2N1bWVu
dDo6dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgQVNT
RVJUKCFtX3Zpc3VhbFVwZGF0ZXNBbGxvd2VkKTsKIApAQCAtMTc0Niw3ICsxNzQ2LDcgQEAgYm9v
bCBEb2N1bWVudDo6aGFzUGVuZGluZ0ZvcmNlZFN0eWxlUmVjYWxjKCkgY29uc3QKICAgICByZXR1
cm4gbV9zdHlsZVJlY2FsY1RpbWVyLmlzQWN0aXZlKCkgJiYgbV9wZW5kaW5nU3R5bGVSZWNhbGNT
aG91bGRGb3JjZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6c3R5bGVSZWNhbGNUaW1lckZpcmVkKFRp
bWVyPERvY3VtZW50PiYpCit2b2lkIERvY3VtZW50OjpzdHlsZVJlY2FsY1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKIH0KQEAgLTMyNDUsNyArMzI0NSw3
IEBAIHZvaWQgRG9jdW1lbnQ6OmV2YWx1YXRlTWVkaWFRdWVyeUxpc3QoKQogICAgICAgICBtX21l
ZGlhUXVlcnlNYXRjaGVyLT5zdHlsZVJlc29sdmVyQ2hhbmdlZCgpOwogfQogCi12b2lkIERvY3Vt
ZW50OjpvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4m
KQordm9pZCBEb2N1bWVudDo6b3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHN0eWxlUmVzb2x2ZXJDaGFuZ2VkKFJlY2FsY1N0eWxlSWZOZWVkZWQpOwog
fQpAQCAtNDYzMCw3ICs0NjMwLDcgQEAgdm9pZCBEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkK
ICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhclByZWxvYWRzKCk7CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OnNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+
JikKK3ZvaWQgRG9jdW1lbnQ6OnNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXIm
KQogewogICAgIG1fc2hhcmVkT2JqZWN0UG9vbCA9IG51bGxwdHI7CiB9CkBAIC00ODY5LDcgKzQ4
NjksNyBAQCB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQogICAg
IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RvcCgpOwogfQogCi12b2lkIERvY3VtZW50
Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCit2b2lk
IERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBFbGVtZW50KiBlbGVtZW50ID0gZm9jdXNlZEVsZW1lbnQoKTsKICAgICBpZiAoIWVsZW1lbnQp
CkBAIC01MDI0LDcgKzUwMjQsNyBAQCB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhUYXNrIHRhc2sp
CiAgICAgfSk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGlt
ZXI8RG9jdW1lbnQ+JikKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIFZlY3RvcjxUYXNrPiBwZW5kaW5nVGFza3MgPSBXVEY6Om1vdmUobV9wZW5k
aW5nVGFza3MpOwogICAgIGZvciAoYXV0byYgdGFzayA6IHBlbmRpbmdUYXNrcykKQEAgLTU1NTks
NyArNTU1OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5SZW5kZXJlckRlc3Ryb3llZCgp
CiAgICAgbV9mdWxsU2NyZWVuUmVuZGVyZXIgPSBudWxscHRyOwogfQogCi12b2lkIERvY3VtZW50
OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCit2b2lk
IERvY3VtZW50OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICAvLyBTaW5jZSB3ZSBkaXNwYXRjaCBldmVudHMgaW4gdGhpcyBmdW5jdGlvbiwgaXQncyBwb3Nz
aWJsZSB0aGF0IHRoZQogICAgIC8vIGRvY3VtZW50IHdpbGwgYmUgZGV0YWNoZWQgYW5kIEdDJ2Qu
IFdlIHByb3RlY3QgaXQgaGVyZSB0byBtYWtlIHN1cmUgd2UKQEAgLTU2OTcsNyArNTY5Nyw3IEBA
IHZvaWQgRG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKQogICAgICAgICBt
X2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIERvY3VtZW50
Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+JikKK3ZvaWQgRG9jdW1l
bnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKGZyYW1lKCkp
CiAgICAgICAgIGZyYW1lKCktPmxvYWRlcigpLmNoZWNrQ29tcGxldGVkKCk7CkBAIC02MjEzLDcg
KzYyMTMsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mIHRpbWVyKQordm9pZCBEb2N1bWVudDo6ZGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJU
X1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVy
KTsKIApAQCAtNjI0MSw3ICs2MjQxLDcgQEAgdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNv
b2tpZUNhY2hlKCkKICAgICBtX2NhY2hlZERPTUNvb2tpZXMgPSBTdHJpbmcoKTsKIH0KIAotdm9p
ZCBEb2N1bWVudDo6ZG9tQ29va2llQ2FjaGVFeHBpcnlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50
PiYpCit2b2lkIERvY3VtZW50Ojpkb21Db29raWVDYWNoZUV4cGlyeVRpbWVyRmlyZWQoVGltZXIm
KQogewogICAgIGludmFsaWRhdGVET01Db29raWVDYWNoZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBjMDBlNTQ0MDA3ODJlMGM3MWFkZGJkODMzMDNiZWU1MDFmYmUwNmJhLi43MTlkNmNj
YzY1ZWViM2JhODBiODc1YTVjZjE0OTVkMDU4YzU0MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNzczLDggKzc3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuc2NoZWR1bGVTdHlsZVJlY2Fs
YygpOwogICAgIGJvb2wgaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNQZW5kaW5nRm9yY2VkU3R5bGVSZWNhbGMoKSBjb25zdDsKLSAgICB2b2lkIHN0eWxlUmVjYWxj
VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKLSAgICB2b2lkIG9wdGltaXplZFN0eWxlU2hl
ZXRVcGRhdGVUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQgc3R5bGVSZWNh
bGNUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRl
VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgdm9pZCByZWdpc3Rlck5vZGVMaXN0Rm9ySW52YWxp
ZGF0aW9uKExpdmVOb2RlTGlzdCYpOwogICAgIHZvaWQgdW5yZWdpc3Rlck5vZGVMaXN0Rm9ySW52
YWxpZGF0aW9uKExpdmVOb2RlTGlzdCYpOwpAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgcHVibGljOgog
ICAgIFJlbmRlckZ1bGxTY3JlZW4qIGZ1bGxTY3JlZW5SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZnVsbFNjcmVlblJlbmRlcmVyOyB9CiAgICAgdm9pZCBmdWxsU2NyZWVuUmVuZGVyZXJEZXN0
cm95ZWQoKTsKICAgICAKLSAgICB2b2lkIGZ1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyRmlyZWQo
VGltZXI8RG9jdW1lbnQ+Jik7CisgICAgdm9pZCBmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZp
cmVkKFRpbWVyJik7CiAgICAgYm9vbCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudChFbGVt
ZW50KikgY29uc3Q7CiAgICAgdm9pZCBmdWxsU2NyZWVuRWxlbWVudFJlbW92ZWQoKTsKICAgICB2
b2lkIHJlbW92ZUZ1bGxTY3JlZW5FbGVtZW50T2ZTdWJ0cmVlKE5vZGUqLCBib29sIGFtb25nQ2hp
bGRyZW5Pbmx5ID0gZmFsc2UpOwpAQCAtMTMzNywxNiArMTMzNywxNiBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgZG91YmxlIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZSBm
aW5hbDsKIAogICAgIHZvaWQgdXBkYXRlVGl0bGUoY29uc3QgU3RyaW5nV2l0aERpcmVjdGlvbiYp
OwotICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVu
dD4mKTsKKyAgICB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXImKTsK
ICAgICB2b2lkIHVwZGF0ZUJhc2VVUkwoKTsKIAogICAgIHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAo
VHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRlU3R5bGVSZXNvbHZlcigpOwogCi0g
ICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CisgICAg
dm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXImKTsKIAotICAgIHZvaWQgcGVuZGlu
Z1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKKyAgICB2b2lkIHBlbmRpbmdUYXNr
c1RpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgogICAgIHZvaWQgZGlzcGxheUJ1ZmZlck1vZGlmaWVkQnlFbmNvZGluZ0ludGVybmFsKENo
YXJhY3RlclR5cGUqLCB1bnNpZ25lZCkgY29uc3Q7CkBAIC0xMzY3LDE4ICsxMzY3LDE4IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKFJlYWR5U3RhdGUpOwog
ICAgIHZvaWQgc2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCk7Ci0gICAgdm9pZCB2aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQg
dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgdm9pZCBh
ZGRMaXN0ZW5lclR5cGUoTGlzdGVuZXJUeXBlIGxpc3RlbmVyVHlwZSkgeyBtX2xpc3RlbmVyVHlw
ZXMgfD0gbGlzdGVuZXJUeXBlOyB9CiAKLSAgICB2b2lkIGRpZEFzc29jaWF0ZUZvcm1Db250cm9s
c1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CisgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3Jt
Q29udHJvbHNUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICAvLyBET00gQ29va2llcyBjYWNoaW5n
LgogICAgIGNvbnN0IFN0cmluZyYgY2FjaGVkRE9NQ29va2llcygpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FjaGVkRE9NQ29va2llczsgfQogICAgIHZvaWQgc2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBT
dHJpbmcmKTsKICAgICBib29sIGlzRE9NQ29va2llQ2FjaGVWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5pc0FjdGl2ZSgpOyB9CiAgICAgdm9pZCBpbnZhbGlk
YXRlRE9NQ29va2llQ2FjaGUoKTsKLSAgICB2b2lkIGRvbUNvb2tpZUNhY2hlRXhwaXJ5VGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4mKTsKKyAgICB2b2lkIGRvbUNvb2tpZUNhY2hlRXhwaXJ5VGlt
ZXJGaXJlZChUaW1lciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRMb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpIG92ZXJyaWRlIGZpbmFsOwogCiAgICAgdW5z
aWduZWQgbV9yZWZlcmVuY2luZ05vZGVDb3VudDsKQEAgLTE0NjgsOCArMTQ2OCw4IEBAIHByaXZh
dGU6CiAgICAgUmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CiAgICAgYm9vbCBtX2JQYXJzaW5nOwog
Ci0gICAgVGltZXI8RG9jdW1lbnQ+IG1fb3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRpbWVyOwot
ICAgIFRpbWVyPERvY3VtZW50PiBtX3N0eWxlUmVjYWxjVGltZXI7CisgICAgVGltZXIgbV9vcHRp
bWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXI7CisgICAgVGltZXIgbV9zdHlsZVJlY2FsY1RpbWVy
OwogICAgIGJvb2wgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZTsKICAgICBib29sIG1f
aW5TdHlsZVJlY2FsYzsKICAgICBib29sIG1fY2xvc2VBZnRlclN0eWxlUmVjYWxjOwpAQCAtMTQ5
Miw3ICsxNDkyLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QVhPYmplY3RDYWNo
ZT4gbV9heE9iamVjdENhY2hlOwogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXI+IG1fbWFya2VyczsKICAgICAKLSAgICBUaW1lcjxEb2N1bWVudD4gbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZUZvY3VzQXBwZWFy
YW5jZVRpbWVyOwogCiAgICAgRWxlbWVudCogbV9jc3NUYXJnZXQ7CiAKQEAgLTE1OTEsNyArMTU5
MSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fZnVsbFNjcmVlbkVsZW1lbnQ7
CiAgICAgVmVjdG9yPFJlZlB0cjxFbGVtZW50Pj4gbV9mdWxsU2NyZWVuRWxlbWVudFN0YWNrOwog
ICAgIFJlbmRlckZ1bGxTY3JlZW4qIG1fZnVsbFNjcmVlblJlbmRlcmVyOwotICAgIFRpbWVyPERv
Y3VtZW50PiBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyOworICAgIFRpbWVyIG1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXI7CiAgICAgRGVxdWU8UmVmUHRyPE5vZGU+PiBtX2Z1bGxTY3Jl
ZW5DaGFuZ2VFdmVudFRhcmdldFF1ZXVlOwogICAgIERlcXVlPFJlZlB0cjxOb2RlPj4gbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlOwogICAgIGJvb2wgbV9pc0FuaW1hdGluZ0Z1bGxT
Y3JlZW47CkBAIC0xNjAwLDcgKzE2MDAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBpbnQg
bV9sb2FkRXZlbnREZWxheUNvdW50OwotICAgIFRpbWVyPERvY3VtZW50PiBtX2xvYWRFdmVudERl
bGF5VGltZXI7CisgICAgVGltZXIgbV9sb2FkRXZlbnREZWxheVRpbWVyOwogCiAgICAgVmlld3Bv
cnRBcmd1bWVudHMgbV92aWV3cG9ydEFyZ3VtZW50czsKIApAQCAtMTY1Niw3ICsxNjU2LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faXNUZWxlcGhvbmVOdW1iZXJQYXJzaW5nQWxsb3dlZDsKICNl
bmRpZgogCi0gICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVGlt
ZXIgbV9wZW5kaW5nVGFza3NUaW1lcjsKICAgICBWZWN0b3I8VGFzaz4gbV9wZW5kaW5nVGFza3M7
CiAKICNpZiBFTkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKQEAgLTE2NzksNyArMTY3OSw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3NjaGVkdWxlZFRhc2tzQXJlU3VzcGVuZGVkOwogICAgIAog
ICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZDsKLSAgICBUaW1lcjxEb2N1bWVudD4gbV92
aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lcjsKKyAgICBUaW1lciBtX3Zpc3VhbFVwZGF0ZXNT
dXBwcmVzc2lvblRpbWVyOwogCiAgICAgUmVmUHRyPE5hbWVkRmxvd0NvbGxlY3Rpb24+IG1fbmFt
ZWRGbG93czsKIApAQCAtMTY4Nyw4ICsxNjg3LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RE9N
U2VjdXJpdHlQb2xpY3k+IG1fZG9tU2VjdXJpdHlQb2xpY3k7CiAjZW5kaWYKIAotICAgIHZvaWQg
c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKLSAgICBU
aW1lcjxEb2N1bWVudD4gbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lcjsKKyAgICB2b2lkIHNo
YXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXImKTsKKyAgICBUaW1lciBtX3NoYXJl
ZE9iamVjdFBvb2xDbGVhclRpbWVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPERvY3VtZW50U2hh
cmVkT2JqZWN0UG9vbD4gbV9zaGFyZWRPYmplY3RQb29sOwogCkBAIC0xNzEyLDggKzE3MTIsOCBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OklucHV0Q3Vyc29yPiBtX2lucHV0Q3Vyc29yOwog
I2VuZGlmCiAKLSAgICBUaW1lcjxEb2N1bWVudD4gbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNU
aW1lcjsKLSAgICBUaW1lcjxEb2N1bWVudD4gbV9jb29raWVDYWNoZUV4cGlyeVRpbWVyOworICAg
IFRpbWVyIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXI7CisgICAgVGltZXIgbV9jb29r
aWVDYWNoZUV4cGlyeVRpbWVyOwogICAgIFN0cmluZyBtX2NhY2hlZERPTUNvb2tpZXM7CiAgICAg
SGFzaFNldDxSZWZQdHI8RWxlbWVudD4+IG1fYXNzb2NpYXRlZEZvcm1Db250cm9sczsKICAgICB1
bnNpZ25lZCBtX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRT
ZW5kZXIuaAppbmRleCAwNGZlMjU4ZjcyMmUyOGFkNGY2Y2UxYTNlNDZhODEzYjFjNGQ1MTI5Li41
NTAwMjFhYjE5ODZlMjAzNmZjZDQ0YzAyOWFjYzQzZmE4OWE3NzNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRTZW5kZXIuaApAQCAtNDksMTAgKzQ5LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRl
OgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxFdmVudFNlbmRlcjxUPj4mKSB7IGRpc3BhdGNo
UGVuZGluZ0V2ZW50cygpOyB9CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJikgeyBkaXNwYXRj
aFBlbmRpbmdFdmVudHMoKTsgfQogCiAgICAgQXRvbWljU3RyaW5nIG1fZXZlbnRUeXBlOwotICAg
IFRpbWVyPEV2ZW50U2VuZGVyPFQ+PiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAg
VmVjdG9yPFQqPiBtX2Rpc3BhdGNoU29vbkxpc3Q7CiAgICAgVmVjdG9yPFQqPiBtX2Rpc3BhdGNo
aW5nTGlzdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50
UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAppbmRl
eCBjZjY3ODFkNmFlM2Y5MzZjNGQzZGMyZGE4NzFhZTRhZGFlNjc2MWRlLi5iNzJmN2U3YTFjZTZl
ODMxYzYxZTM1OTUxMjVhZDFhMmJmZTEyYmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgYm9vbCBHZW5lcmljRXZlbnRRdWV1ZTo6
ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgIHJldHVybiB0cnVlOwog
fQogCi12b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyPEdlbmVyaWNFdmVu
dFF1ZXVlPiYpCit2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBBU1NFUlQoIW1fdGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKCFtX3BlbmRpbmdF
dmVudHMuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKaW5k
ZXggOWZjMjA2NmQzN2EyZTQyMzU0MDQ1ZTVjYmFkMzgxN2E5MGVlNTEyMC4uMzY1NTg5MDJhYjMw
ZWRlMjdjZmU5ZTRjMGY3ZDgzZmQ2ODgxN2VhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmgKQEAgLTQ4LDExICs0OCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNQZW5k
aW5nRXZlbnRzKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVy
PEdlbmVyaWNFdmVudFF1ZXVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAg
ICAgRXZlbnRUYXJnZXQmIG1fb3duZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fcGVu
ZGluZ0V2ZW50czsKLSAgICBUaW1lcjxHZW5lcmljRXZlbnRRdWV1ZT4gbV90aW1lcjsKKyAgICBU
aW1lciBtX3RpbWVyOwogICAgIGJvb2wgbV9pc0Nsb3NlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdFJ1bm5lci5jcHAKaW5kZXggOTk0ODk2MzZiZGU5NWI3Nzg0ZTg0YmQ1NTc4YjkzNTcxMTk0
OTg3NS4uMDk2ZTNjNTE3YzlmMGZmODBiYzRjNzhiYjI4MTkxMjkzMTQ1YjdhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBTY3JpcHRSdW5u
ZXI6Om5vdGlmeVNjcmlwdFJlYWR5KFNjcmlwdEVsZW1lbnQqIHNjcmlwdEVsZW1lbnQsIEV4ZWN1
dGlvblR5cGUKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBTY3JpcHRS
dW5uZXI6OnRpbWVyRmlyZWQoVGltZXI8U2NyaXB0UnVubmVyPiYgdGltZXIpCit2b2lkIFNjcmlw
dFJ1bm5lcjo6dGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0
aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oCmlu
ZGV4IGQ3ZTY5MmM5MDlmNzg2NDM1MjExYjg1NGVhOWE3YWUxNTgwMzIyMWUuLmUxM2RmOGUwN2Mz
MTFhNWFjN2EwM2U4ODg0OGJmNDE3ZGZiY2I1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVy
LmgKQEAgLTU0LDEzICs1NCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlTY3JpcHRSZWFk
eShTY3JpcHRFbGVtZW50KiwgRXhlY3V0aW9uVHlwZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyPFNjcmlwdFJ1bm5lcj4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGlt
ZXImKTsKIAogICAgIERvY3VtZW50JiBtX2RvY3VtZW50OwogICAgIFZlY3RvcjxQZW5kaW5nU2Ny
aXB0PiBtX3NjcmlwdHNUb0V4ZWN1dGVJbk9yZGVyOwogICAgIFZlY3RvcjxQZW5kaW5nU2NyaXB0
PiBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uOyAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNzZXQtb2Ytc2NyaXB0cy10aGF0LXdpbGwtZXhlY3V0ZS1h
cy1zb29uLWFzLXBvc3NpYmxlCiAgICAgSGFzaE1hcDxTY3JpcHRFbGVtZW50KiwgUGVuZGluZ1Nj
cmlwdD4gbV9wZW5kaW5nQXN5bmNTY3JpcHRzOwotICAgIFRpbWVyPFNjcmlwdFJ1bm5lcj4gbV90
aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA2MjZiZDRmYmJlMGNh
OGFlYzJmOGZkNDQzYWExMTJkODk4MTI5YTUwLi43ODU2MmU3MGNiMTA3OTM4MWFjZTBmODVhZDdj
YmIxOWU3Mzg1MmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcApAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigpCiB9CiAKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cjo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+
JikKK3ZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjphbmltYXRpb25UaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX2xhc3RBbmltYXRpb25GcmFtZVRpbWVNb25vdG9uaWMgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25z
KG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZU1vbm90b25pYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKaW5kZXggNzMyOTZlOTg2NTVkODg4
ZTgzMWJlZDU4OTc5MTZiYjIwZDcxNzIxYS4uMDAyYzcxZWZiZGZiYTM0MDI3N2NiNjIxY2E3MTY0
YjZkZDYwOGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuaApAQCAtODQsOCArODQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1
bGVBbmltYXRpb24oKTsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikK
LSAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8U2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyPiYpOwotICAgIFRpbWVyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gbV9hbmlt
YXRpb25UaW1lcjsKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXImKTsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogICAgIGRvdWJsZSBtX2xhc3RBbmltYXRpb25GcmFtZVRp
bWVNb25vdG9uaWM7CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGQ2ODExMDZjOTc3
YjVlOTEzMDA1ODMxZmRiNGE4NjgxNWUzN2U2NDAuLjNhMjQ2YjQyNmMwNGY4ODc3MWQ2OWU0YThl
Yjc5M2VhMjAyNDdkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTk5
LDcgKzk5LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1QcmVzZW50
YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmluZyA9IDEwMDsKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJN
aW51dGUgPSAoMTAwICogcHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWVJblNlY29u
ZHMpIC8gNjA7CiAKLSAgICB2b2lkIGNsZWFuQ2FjaGUoVGltZXI8UHJlc2VudGF0aW9uQXR0cmli
dXRlQ2FjaGVDbGVhbmVyPiogdGltZXIpCisgICAgdm9pZCBjbGVhbkNhY2hlKFRpbWVyKiB0aW1l
cikKICAgICB7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2NsZWFu
VGltZXIpOwogICAgICAgICB1bnNpZ25lZCBoaXRDb3VudCA9IG1faGl0Q291bnQ7CkBAIC0xMTAs
NyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB1bnNpZ25lZCBtX2hpdENvdW50Owot
ICAgIFRpbWVyPFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcj4gbV9jbGVhblRpbWVy
OworICAgIFRpbWVyIG1fY2xlYW5UaW1lcjsKIH07CiAKIHN0YXRpYyBQcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuZXImIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmNwcAppbmRleCAxYTZlNTRlNmM0Y2Q4NzdjZWJiMzlmMTMwMzc5YzJlZjIxMTFiNjIwLi45NzM2
MTNkNGFmNTZjMzI3NWRlYmIyNTZmZTBmMzJlN2NhNDA3NzI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTMyNyw3
ICszMjcsNyBAQCB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnJlc3BvbmRUb1VuYXBw
bGllZFNwZWxsQ29ycmVjdGlvbihjb25zdCBWaXNpYmxlUwogICAgIG1hcmtlcnMuYWRkTWFya2Vy
KHJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbik7CiB9
CiAKLXZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxBbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyPiYpCit2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6
OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1faXNEaXNtaXNzZWRCeUVkaXRpbmcgPSBmYWxz
ZTsKICAgICBzd2l0Y2ggKG1fYWx0ZXJuYXRpdmVUZXh0SW5mby50eXBlKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCmluZGV4IGU4
NDYzYWIwYzY2YzhiZmYyZTQwNGFiMGI2MjAyYTFjYjZkOGVhNTYuLmYxMmY4MWE4MDdiODM2ZTg3
YjMyODMyMmM5NmZjNWQzNWRmMzA2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCkBAIC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0
ZToKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpCiAgICAgU3RyaW5nIGRpc21pc3NTb29u
KFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQpOwogICAgIHZvaWQgYXBwbHlBbHRl
cm5hdGl2ZVRleHRUb1JhbmdlKGNvbnN0IFJhbmdlKiwgY29uc3QgU3RyaW5nJiBhbHRlcm5hdGl2
ZSwgQWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgVmVjdG9yPERvY3VtZW50TWFya2VyOjpNYXJr
ZXJUeXBlPiYpOwotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxBbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgcmVjb3Jk
QXV0b2NvcnJlY3Rpb25SZXNwb25zZVJldmVyc2VkKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcpOwogICAgIHZvaWQgcmVjb3JkU3Bl
bGxjaGVja2VyUmVzcG9uc2VGb3JNb2RpZmllZENvcnJlY3Rpb24oUmFuZ2UqIHJhbmdlT2ZDb3Jy
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIGNvcnJlY3RlZCwgY29uc3QgU3RyaW5nJiBjb3JyZWN0aW9u
KTsKICAgICBTdHJpbmcgbWFya2VyRGVzY3JpcHRpb25Gb3JBcHBsaWVkQWx0ZXJuYXRpdmVUZXh0
KEFsdGVybmF0aXZlVGV4dFR5cGUsIERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlKTsKQEAgLTE1
Myw3ICsxNTMsNyBAQCBwcml2YXRlOgogICAgIEZsb2F0UmVjdCByb290Vmlld1JlY3RGb3JSYW5n
ZShjb25zdCBSYW5nZSopIGNvbnN0OwogICAgIHZvaWQgbWFya1ByZWNlZGluZ1doaXRlc3BhY2VG
b3JEZWxldGVkQXV0b2NvcnJlY3Rpb25BZnRlckNvbW1hbmQoRWRpdENvbW1hbmQqKTsKIAotICAg
IFRpbWVyPEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI+IG1fdGltZXI7CisgICAgVGltZXIgbV90
aW1lcjsKICAgICBBbHRlcm5hdGl2ZVRleHRJbmZvIG1fYWx0ZXJuYXRpdmVUZXh0SW5mbzsKICAg
ICBib29sIG1faXNEaXNtaXNzZWRCeUVkaXRpbmc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cAppbmRleCA0MGY3MzNiOWVlNGYyMDdmMWQwNDdmNDI0NTBiYjZhNTVjYTJiOWY2Li43NGY5MzUx
ZTAwZDBmNmNkMDBjMWIzYzA5NWMwYThlN2ZkN2VhNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCkBAIC0zMzM4LDcgKzMzMzgsNyBAQCBib29sIEVkaXRvcjo6c2hvdWxkRGV0ZWN0VGVs
ZXBob25lTnVtYmVycygpCiAgICAgcmV0dXJuIGRvY3VtZW50KCkuaXNUZWxlcGhvbmVOdW1iZXJQ
YXJzaW5nRW5hYmxlZCgpICYmIFRlbGVwaG9uZU51bWJlckRldGVjdG9yOjppc1N1cHBvcnRlZCgp
OwogfQogCi12b2lkIEVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGlt
ZXI8RWRpdG9yPiYpCit2b2lkIEVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJl
cnMoVGltZXImKQogewogICAgIHNjYW5TZWxlY3Rpb25Gb3JUZWxlcGhvbmVOdW1iZXJzKCk7CiB9
CkBAIC0zNDQ1LDcgKzM0NDUsNyBAQCB2b2lkIEVkaXRvcjo6dXBkYXRlRWRpdG9yVUlOb3dJZlNj
aGVkdWxlZCgpCiAgICAgZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKG1fZWRpdG9yVUlVcGRhdGVU
aW1lcik7CiB9CiAKLXZvaWQgRWRpdG9yOjplZGl0b3JVSVVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8
RWRpdG9yPiYpCit2b2lkIEVkaXRvcjo6ZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKFRpbWVyJikK
IHsKICAgICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1fb2xkU2VsZWN0aW9uRm9y
RWRpdG9yVUlVcGRhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IDliMTQ0YjE5NTg3
YWRlZjk5MzNjOWYxMjRiY2ZhOTc2MDgzYmU0NzUuLmRhMjUxODMyMmMxNDg1ZmFkYzVkYzYwOTU2
NDNjNzg5NDUzN2JlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNDgxLDcgKzQ4MSw3
IEBAIHByaXZhdGU6CiAgICAgZW51bSBFZGl0b3JBY3Rpb25TcGVjaWZpZXIgeyBDdXRBY3Rpb24s
IENvcHlBY3Rpb24gfTsKICAgICB2b2lkIHBlcmZvcm1DdXRPckNvcHkoRWRpdG9yQWN0aW9uU3Bl
Y2lmaWVyKTsKIAotICAgIHZvaWQgZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEVkaXRv
cj4mKTsKKyAgICB2b2lkIGVkaXRvclVJVXBkYXRlVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Tm9kZSogZmluZEV2ZW50VGFyZ2V0RnJvbVNlbGVjdGlvbigpIGNvbnN0OwogCkBAIC01MTYsMTYg
KzUxNiwxNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9vdmVyd3JpdGVNb2RlRW5hYmxlZDsKIAog
ICAgIFZpc2libGVTZWxlY3Rpb24gbV9vbGRTZWxlY3Rpb25Gb3JFZGl0b3JVSVVwZGF0ZTsKLSAg
ICBUaW1lcjxFZGl0b3I+IG1fZWRpdG9yVUlVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX2VkaXRv
clVJVXBkYXRlVGltZXI7CiAgICAgYm9vbCBtX2VkaXRvclVJVXBkYXRlVGltZXJTaG91bGRDaGVj
a1NwZWxsaW5nQW5kR3JhbW1hcjsKICAgICBib29sIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1Ry
aWdnZXJlZEJ5RGljdGF0aW9uOwogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAmJiAhUExBVEZPUk0oSU9TKQogICAgIGJvb2wgc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVt
YmVycygpOwotICAgIHZvaWQgc2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGltZXI8
RWRpdG9yPiYpOworICAgIHZvaWQgc2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGlt
ZXImKTsKICAgICB2b2lkIHNjYW5SYW5nZUZvclRlbGVwaG9uZU51bWJlcnMoUmFuZ2UmLCBjb25z
dCBTdHJpbmdWaWV3JiwgVmVjdG9yPFJlZlB0cjxSYW5nZT4+JiBtYXJrZWRSYW5nZXMpOwogCi0g
ICAgVGltZXI8RWRpdG9yPiBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyOwor
ICAgIFRpbWVyIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXI7CiAgICAgVmVj
dG9yPFJlZlB0cjxSYW5nZT4+IG1fZGV0ZWN0ZWRUZWxlcGhvbmVOdW1iZXJSYW5nZXM7CiAjZW5k
aWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDEz
MjIzZGQ3NTFjZjdmNTgzMTlkNjIyNjdjY2I3MmM1ZDFhNjU1ODkuLmRmNGI4NDMxNDZhZTRhZjBl
MTY1Yjg0ODcxYmFjNmJkODUwNDUxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCkBAIC0xOTAxLDcgKzE5MDEsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRDYXJldFZpc2liaWxpdHkoQ2FyZXRWaXNpYmlsaXR5IHZpc2liaWxpdHkpCiAgICAgdXBkYXRl
QXBwZWFyYW5jZSgpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpjYXJldEJsaW5rVGltZXJG
aXJlZChUaW1lcjxGcmFtZVNlbGVjdGlvbj4mKQordm9pZCBGcmFtZVNlbGVjdGlvbjo6Y2FyZXRC
bGlua1RpbWVyRmlyZWQoVGltZXImKQogewogI2lmIEVOQUJMRShURVhUX0NBUkVUKQogICAgIEFT
U0VSVChjYXJldElzVmlzaWJsZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uaAppbmRleCAzNjA2MDEyYzUzYTgxNDQ3YzI2ZDhjOGI3Yzg2MjMyYTk3YWM4ZDIxLi5hOWRj
OTJjM2UxNzIzMjE1MGJhMTE0OWVjZWE0NDMzOGFmNzU4ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0zMDksNyArMzA5LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNldEZvY3VzZWRFbGVtZW50SWZOZWVkZWQoKTsKICAgICB2b2lkIGZvY3VzZWRPckFjdGl2
ZVN0YXRlQ2hhbmdlZCgpOwogCi0gICAgdm9pZCBjYXJldEJsaW5rVGltZXJGaXJlZChUaW1lcjxG
cmFtZVNlbGVjdGlvbj4mKTsKKyAgICB2b2lkIGNhcmV0QmxpbmtUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICB2b2lkIHNldENhcmV0VmlzaWJpbGl0eShDYXJldFZpc2liaWxpdHkpOwogICAgIGJv
b2wgcmVjb21wdXRlQ2FyZXRSZWN0KCk7CkBAIC0zMjksNyArMzI5LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxFZGl0aW5nU3R5bGU+IG1fdHlwaW5nU3R5bGU7CiAKLSAgICBUaW1lcjxGcmFt
ZVNlbGVjdGlvbj4gbV9jYXJldEJsaW5rVGltZXI7CisgICAgVGltZXIgbV9jYXJldEJsaW5rVGlt
ZXI7CiAgICAgLy8gVGhlIHBhaW50ZWQgYm91bmRzIG9mIHRoZSBjYXJldCBpbiBhYnNvbHV0ZSBj
b29yZGluYXRlcwogICAgIEludFJlY3QgbV9hYnNDYXJldEJvdW5kczsKICAgICBib29sIG1fYWJz
Q2FyZXRCb3VuZHNEaXJ0eSA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5j
cHAKaW5kZXggMDdhMjNhZjA0YTM5MGY5YjAwZmI1Y2M1NDUxOWYzMDVmMTUyZTEwZi4uYWU4MzIx
MjEzOTc2NzA2NmUwMWIyOWNmMDU5ZDg5NGY2NmUyNmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIFRleHRDaGVja2VyQ2xpZW50
KiBTcGVsbENoZWNrZXI6OmNsaWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2UtPmVkaXRvckNs
aWVudCgpLT50ZXh0Q2hlY2tlcigpOwogfQogCi12b2lkIFNwZWxsQ2hlY2tlcjo6dGltZXJGaXJl
ZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXI8U3BlbGxDaGVja2VyPiopCit2b2lkIFNwZWxs
Q2hlY2tlcjo6dGltZXJGaXJlZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXIqKQogewogICAg
IEFTU0VSVCghbV9yZXF1ZXN0UXVldWUuaXNFbXB0eSgpKTsKICAgICBpZiAobV9yZXF1ZXN0UXVl
dWUuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENo
ZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggOWNh
MzUwODNmM2U3M2E3MDFhY2M2ZTc2OWEzYmU2YzE3YTVjMDg5YS4uMDA4ZTMyOGY2NDQ4MDIwZTJi
NjlkZTZhYmQ0ODIwNzc4Y2VlYmYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGNhbkNoZWNrQXN5bmNo
cm9ub3VzbHkoUmFuZ2UqKSBjb25zdDsKICAgICBUZXh0Q2hlY2tlckNsaWVudCogY2xpZW50KCkg
Y29uc3Q7Ci0gICAgdm9pZCB0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdChUaW1lcjxT
cGVsbENoZWNrZXI+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dChUaW1lciopOwogICAgIHZvaWQgaW52b2tlUmVxdWVzdChQYXNzUmVmUHRyPFNwZWxsQ2hlY2tS
ZXF1ZXN0Pik7CiAgICAgdm9pZCBlbnF1ZXVlUmVxdWVzdChQYXNzUmVmUHRyPFNwZWxsQ2hlY2tS
ZXF1ZXN0Pik7CiAgICAgdm9pZCBkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBW
ZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYpOwpAQCAtMTA5LDcgKzEwOSw3IEBAIHByaXZhdGU6
CiAgICAgaW50IG1fbGFzdFJlcXVlc3RTZXF1ZW5jZTsKICAgICBpbnQgbV9sYXN0UHJvY2Vzc2Vk
U2VxdWVuY2U7CiAKLSAgICBUaW1lcjxTcGVsbENoZWNrZXI+IG1fdGltZXJUb1Byb2Nlc3NRdWV1
ZWRSZXF1ZXN0OworICAgIFRpbWVyIG1fdGltZXJUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0OwogCiAg
ICAgUmVmUHRyPFNwZWxsQ2hlY2tSZXF1ZXN0PiBtX3Byb2Nlc3NpbmdSZXF1ZXN0OwogICAgIFJl
cXVlc3RRdWV1ZSBtX3JlcXVlc3RRdWV1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcAppbmRleCBhYzkwYjM2Mjg3MjQ2YmY2ZTZhMjMyZjQxZGViMTBhZjE5NWNiMzM1Li45
MjYwMDc2N2ZhMjBlMTEyNDFhMTM4YzRmNzI4NmQ5ODc3Yzc1ZTBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBIVE1MRm9y
bUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJl
c3VsdCkKICAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmly
ZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopCit2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIFZlY3RvcjxSZWZQdHI8RXZl
bnQ+PiBwZW5kaW5nRXZlbnRzOwogICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5zd2Fw
KHBlbmRpbmdFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXgg
ZmMzZGI5ZDk0OGQyYWQ0YjA0NzFmNmRiYTM1YmY0NDZjNDcwMTk3Zi4uYjRkNjg2NjQ4ZmZjNGNk
N2IzN2ZkZGFlY2JiZmNmMmU3NDc5ZWEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5oCkBAIC0xOTQsMTAgKzE5NCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNEZW1v
dGVkOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIHZvaWQgcmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopOworICAgIHZv
aWQgcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIFZlY3RvcjxS
ZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHM7Ci0gICAgVGltZXI8SFRN
TEZvcm1FbGVtZW50PiBtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lcjsKKyAgICBUaW1lciBtX3Jl
cXVlc3RBdXRvY29tcGxldGVUaW1lcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggM2IxMGU0M2UwNjE3YmJiODMxM2UwZTEzODIzNmE0
NWY0ZmE5YjZiOC4uN2YzMmM4MTg3NjFiODFlNDkwNmRmNDFlYWQwZTk2YTI4ODg4MDJiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03NTcsNyArNzU3LDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnROYW1lKQogICAgIG1fYXN5bmNFdmVudFF1ZXVlLmVucXVldWVFdmVudChldmVudC5y
ZWxlYXNlKCkpOwogfQogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKFRp
bWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFRpbWVy
RmlyZWQoVGltZXImKQogewogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBwcm90ZWN0KCp0aGlz
KTsgLy8gbG9hZE5leHRTb3VyY2VDaGlsZCBtYXkgZmlyZSAnYmVmb3JlbG9hZCcsIHdoaWNoIGNh
biBtYWtlIGFyYml0cmFyeSBET00gbXV0YXRpb25zLgogCkBAIC0yMjI1LDcgKzIyMjUsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpYUtleXMqIG1lZGlhS2V5cykK
IH0KICNlbmRpZgogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZp
cmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJv
Z3Jlc3NFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIEFTU0VSVChtX3BsYXllcik7CiAg
ICAgaWYgKG1fbmV0d29ya1N0YXRlICE9IE5FVFdPUktfTE9BRElORykKQEAgLTIzNjgsNyArMjM2
OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVk
aWFUaW1lJiBpblRpbWUsIGNvbnN0IE1lZGlhVGltCiAgICAgICAgIHNlZWtUaW1lckZpcmVkKG1f
c2Vla1RpbWVyKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrVGltZXJGaXJlZChU
aW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWtUaW1l
ckZpcmVkKFRpbWVyJikKIHsKICAgICBpZiAoIW1fcGxheWVyKSB7CiAgICAgICAgIG1fc2Vla2lu
ZyA9IGZhbHNlOwpAQCAtMzExMiw3ICszMTEyLDcgQEAgZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6
Om5leHRTY2FuUmF0ZSgpCiAgICAgcmV0dXJuIHJhdGU7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2NhblRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKQordm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fc2NhblR5
cGUgPT0gU2VlaykgewogICAgICAgICBkb3VibGUgc2Vla1RpbWUgPSBtX3NjYW5EaXJlY3Rpb24g
PT0gRm9yd2FyZCA/IFNlZWtUaW1lIDogLVNlZWtUaW1lOwpAQCAtMzEzNCw3ICszMTM0LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXliYWNrUHJvZ3Jlc3NUaW1lcigpCiAgICAg
bV9wbGF5YmFja1Byb2dyZXNzVGltZXIuc3RhcnRSZXBlYXRpbmcobWF4VGltZXVwZGF0ZUV2ZW50
RnJlcXVlbmN5KTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5YmFja1Byb2dyZXNz
VGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpCit2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBBU1NFUlQobV9w
bGF5ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDA4NmMz
NTkwNDI1ZjJmYWIzMjgzY2Y5NTZlODE4Zjk4MTgzNmEyMWUuLjExNmZkZjJmMGM0MzBjNTE1M2Rl
M2QzMmNhMWU0YzU5ZTk5MWQ5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCkBAIC01OTEsMTEgKzU5MSwxMSBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIG1l
ZGlhUGxheWVySXNJbk1lZGlhRG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKIAotICAg
IHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKLSAgICB2b2lk
IHByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7Ci0gICAg
dm9pZCBwbGF5YmFja1Byb2dyZXNzVGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiYp
OwotICAgIHZvaWQgc2NhblRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKLSAg
ICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7CisgICAgdm9p
ZCBsb2FkVGltZXJGaXJlZChUaW1lciYpOworICAgIHZvaWQgcHJvZ3Jlc3NFdmVudFRpbWVyRmly
ZWQoVGltZXImKTsKKyAgICB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyJik7
CisgICAgdm9pZCBzY2FuVGltZXJGaXJlZChUaW1lciYpOworICAgIHZvaWQgc2Vla1RpbWVyRmly
ZWQoVGltZXImKTsKICAgICB2b2lkIHN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCk7CiAgICAg
dm9pZCBzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFBlcmlvZGljVGlt
ZXJzKCk7CkBAIC03MjIsMTEgKzcyMiwxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1cGRhdGVD
YXB0aW9uQ29udGFpbmVyKCk7CiAKLSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX2xvYWRU
aW1lcjsKLSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3Byb2dyZXNzRXZlbnRUaW1lcjsK
LSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsKLSAg
ICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3NjYW5UaW1lcjsKLSAgICBUaW1lcjxIVE1MTWVk
aWFFbGVtZW50PiBtX3NlZWtUaW1lcjsKKyAgICBUaW1lciBtX2xvYWRUaW1lcjsKKyAgICBUaW1l
ciBtX3Byb2dyZXNzRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1l
cjsKKyAgICBUaW1lciBtX3NjYW5UaW1lcjsKKyAgICBUaW1lciBtX3NlZWtUaW1lcjsKICAgICBS
ZWZQdHI8VGltZVJhbmdlcz4gbV9wbGF5ZWRUaW1lUmFuZ2VzOwogICAgIEdlbmVyaWNFdmVudFF1
ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IDJkMTdlN2I5ODIyODQ5NGJkOWNiOTk1M2YwZGNiZWRiYjllYTUzOGIu
LjUyNDBlOWYzMjY3YWY0MTk2MDNmZTk0MmFmMTlhMTE2NTFhY2UyNzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0zMDAsNyArMzAwLDcgQEAgUmVuZGVy
UHRyPFJlbmRlckVsZW1lbnQ+IEhUTUxQbHVnSW5FbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVy
ZXIoUGFzc1JlZjxSZW5kZXIKICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyRW1iZWRk
ZWRPYmplY3Q+KCp0aGlzLCBXVEY6Om1vdmUoc3R5bGUpKTsKIH0KIAotdm9pZCBIVE1MUGx1Z0lu
RWxlbWVudDo6c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0luRWxlbWVudD4m
KQordm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lciYp
CiB7CiAgICAgQVNTRVJUKGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50IHx8IGRpc3BsYXlTdGF0ZSgpID09IERpc3BsYXlpbmdTbmFwc2hvdCk7CiAgICAgaWYgKHVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aAppbmRleCBmOGJjN2Y5YzYzMDY2YTM0Y2JkNWI0OTY4YzkxNmZiNjI0NWY2NjU3Li5kN2UzNjc1
NzRmNDE0NDJhNTEzMWUyODg4MTlhMDMwZTFlYmVkMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luRWxlbWVudC5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJvdGVjdGVkOgogICAgIGJv
b2wgbV9pbkJlZm9yZUxvYWRFdmVudEhhbmRsZXI7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzd2Fw
UmVuZGVyZXJUaW1lckZpcmVkKFRpbWVyPEhUTUxQbHVnSW5FbGVtZW50PiYpOworICAgIHZvaWQg
c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lciYpOwogICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVQ
bHVnaW4oY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAg
Ym9vbCBkaXNwYXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7IC8v
IE5vdCBpbXBsZW1lbnRlZCwgZ2VuZXJhdGVzIGEgY29tcGlsZSBlcnJvciBpZiBzdWJjbGFzc2Vz
IGNhbGwgdGhpcyBieSBtaXN0YWtlLgpAQCAtMTI2LDcgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzUGx1Z2luRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiAg
ICAgUmVmUHRyPEpTQzo6QmluZGluZ3M6Okluc3RhbmNlPiBtX2luc3RhbmNlOwotICAgIFRpbWVy
PEhUTUxQbHVnSW5FbGVtZW50PiBtX3N3YXBSZW5kZXJlclRpbWVyOworICAgIFRpbWVyIG1fc3dh
cFJlbmRlcmVyVGltZXI7CiAgICAgUmVmUHRyPFBsdWdpblJlcGxhY2VtZW50PiBtX3BsdWdpblJl
cGxhY2VtZW50OwogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIE5QT2JqZWN0
KiBtX05QT2JqZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxl
bWVudC5jcHAKaW5kZXggYjYwMDg1ZGY5ZTUyMmRlZjIzMWU5Y2NjYjA5NTZlYWU2YTQ3Mjc0Ny4u
NjcyMDg4NTU5NDgwMzU5ODFhYmJlODYwOGQ4YjkxYTVmZjIzNGMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zOTksNyArMzk5LDcg
QEAgYm9vbCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpwYXJ0T2ZTbmFwc2hvdE92ZXJsYXkoTm9k
ZSogbm9kZSkKICAgICByZXR1cm4gbm9kZSAmJiBzbmFwc2hvdExhYmVsICYmIChub2RlID09IHNu
YXBzaG90TGFiZWwuZ2V0KCkgfHwgbm9kZS0+aXNEZXNjZW5kYW50T2Yoc25hcHNob3RMYWJlbC5n
ZXQoKSkpOwogfQogCi12b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90
VGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiYpCit2b2lkIEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
bV9zbmFwc2hvdEltYWdlID0gbnVsbHB0cjsKICAgICBtX2lzUmVzdGFydGVkUGx1Z2luID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCmluZGV4
IDNlZWY0YzYwYmQzODU1ZmQ0NTg1OWZlOTQzNWQzMTk0ODZhYmVlNjEuLmYxN2VmNmU4OGVkMDA1
NGI1YWUyZTc1ZWFjMTU0MDI0MzhhZWU4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkltYWdlRWxlbWVudC5oCkBAIC0xMzYsNyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkKCk7CiAKICAgICB2b2lkIHJlc3RhcnRT
aW1pbGFyUGx1Z0lucygpOwotICAgIHZvaWQgcmVtb3ZlU25hcHNob3RUaW1lckZpcmVkKFRpbWVy
PEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+Jik7CisgICAgdm9pZCByZW1vdmVTbmFwc2hvdFRpbWVy
RmlyZWQoVGltZXImKTsKICAgICBib29sIGlzVG9wTGV2ZWxGdWxsUGFnZVBsdWdpbihjb25zdCBS
ZW5kZXJFbWJlZGRlZE9iamVjdCYpIGNvbnN0OwogCiAgICAgVVJMIG1fbG9hZGVkVXJsOwpAQCAt
MTQ1LDcgKzE0NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRzRG9jdW1lbnRBY3RpdmF0
aW9uQ2FsbGJhY2tzOwogICAgIFJlZlB0cjxNb3VzZUV2ZW50PiBtX3BlbmRpbmdDbGlja0V2ZW50
RnJvbVNuYXBzaG90OwogICAgIERlZmVycmFibGVPbmVTaG90VGltZXIgbV9zaW11bGF0ZWRNb3Vz
ZUNsaWNrVGltZXI7Ci0gICAgVGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVudD4gbV9yZW1vdmVT
bmFwc2hvdFRpbWVyOworICAgIFRpbWVyIG1fcmVtb3ZlU25hcHNob3RUaW1lcjsKICAgICBSZWZQ
dHI8SW1hZ2U+IG1fc25hcHNob3RJbWFnZTsKICAgICBib29sIG1fY3JlYXRlZER1cmluZ1VzZXJH
ZXN0dXJlOwogICAgIGJvb2wgbV9pc1Jlc3RhcnRlZFBsdWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggYTQ4OGFlODg1M2Q2YjMwNDhhODYwMDE4MTcw
MWNmNzVjNTQ1YmU0Mi4uZmQxOTYzOTkyNzBmZDZiMWFmZmE4NDQ5NzhjYTgyY2UxNmU2MmM3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTExMCw3ICsx
MTAsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5kaW5nRXJyb3JFdmVudCgp
CiAgICAgbV9lcnJvckV2ZW50VGltZXIuc3RvcCgpOwogfQogCi12b2lkIEhUTUxTb3VyY2VFbGVt
ZW50OjplcnJvckV2ZW50VGltZXJGaXJlZChUaW1lcjxIVE1MU291cmNlRWxlbWVudD4mKQordm9p
ZCBIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IExPRyhNZWRpYSwgIkhUTUxTb3VyY2VFbGVtZW50OjplcnJvckV2ZW50VGltZXJGaXJlZCAtICVw
IiwgdGhpcyk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxl
bWVudC5oCmluZGV4IDUyMmQ3NDM2ODJkZGE5NmZjOTc3ZDYxMTk5Y2M3MWY1NDM5YzlmNGEuLjEx
YzU1YTBmODk0ZDgwZmQxMjEwMGRjYTAwOGI5OTI2YmZjZDhkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTUyLDkgKzUyLDkgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXI8SFRNTFNvdXJjZUVsZW1l
bnQ+Jik7CisgICAgdm9pZCBlcnJvckV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgVGlt
ZXI8SFRNTFNvdXJjZUVsZW1lbnQ+IG1fZXJyb3JFdmVudFRpbWVyOworICAgIFRpbWVyIG1fZXJy
b3JFdmVudFRpbWVyOwogfTsKIAogfSAvL25hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAKaW5kZXggMmM2ZTk3YmE3NmNmNjJkMTA1Y2ZlOThkOTQ3ODk2MTdj
ZDZmMzBmMC4uNzQ5MTM4OGFhYmJmOTU0MjZlYWExYjMzYmYxNDFlNzQ1NDgyNDZhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0yMDAsNyArMjAwLDcgQEAg
dm9pZCBIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQoKQogICAgIG1fbG9hZFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJl
ZChUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiYpCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRU
aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBpZiAoIWZhc3RIYXNBdHRyaWJ1dGUoc3JjQXR0cikp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRy
YWNrRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKaW5k
ZXggNTI2ZGMwM2NjMTg1YmY3ZTI4N2I1MGZkMGRhYTgxOTJjMTgxN2M0NS4uMTIxYjljMzYwNWZm
ZmNlYmY0YzA1NzFmZjNhNzg2ZWNiNGJjYzkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJh
Y2tFbGVtZW50LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9v
bCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTFRyYWNrRWxlbWVudD4mKTsKKyAgICB2b2lk
IGxvYWRUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQoKSBjb25zdDsKIApAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2Fu
TG9hZFVSTChjb25zdCBVUkwmKTsKIAogICAgIFJlZlB0cjxMb2FkYWJsZVRleHRUcmFjaz4gbV90
cmFjazsKLSAgICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKKyAgICBUaW1l
ciBtX2xvYWRUaW1lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmNwcAppbmRleCAzYTc3NjgyNDMyZDg0MzI4ZTcyZTRjNTMwNzJiZmFjYjJjODYzNDk5Li40MTMx
Njc0NDhmZGZmYjAxNTkxOWVjYTI3NWNkMGU2ZWY3MGU4YTc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBNZWRpYUNvbnRy
b2xsZXI6OnNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUpCiAgICAg
ICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBNZWRpYUNv
bnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKQor
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gcGVuZGluZ0V2ZW50czsKIApAQCAtNTQ4LDcgKzU0OCw3
IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRp
YUNvbnRyb2xsZXI+JikKICAgICAgICAgZGlzcGF0Y2hFdmVudChwZW5kaW5nRXZlbnRzW2luZGV4
XS5yZWxlYXNlKCksIElHTk9SRV9FWENFUFRJT04pOwogfQogCi12b2lkIE1lZGlhQ29udHJvbGxl
cjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sbGVyPiYpCit2b2lk
IE1lZGlhQ29udHJvbGxlcjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IG1fcG9zaXRpb24gPSBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKTsKIH0KQEAgLTY3Miw3ICs2
NzIsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c3RhcnRUaW1ldXBkYXRlVGltZXIoKQogICAg
IG1fdGltZXVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG1heFRpbWV1cGRhdGVFdmVudEZyZXF1
ZW5jeSk7CiB9CiAKLXZvaWQgTWVkaWFDb250cm9sbGVyOjp0aW1ldXBkYXRlVGltZXJGaXJlZChU
aW1lcjxNZWRpYUNvbnRyb2xsZXI+JikKK3ZvaWQgTWVkaWFDb250cm9sbGVyOjp0aW1ldXBkYXRl
VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgc2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IDNlMzZjOWIxNDY0OWEyMWI2
MmI4NjUyMTU0ZDhlZWI2ODQ4NjgwYjguLjI1NDE5Y2JiODM4NDRiYTQ0NDIxNTM3NGE1NTNmNmZl
Y2NlNzU4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAtMTIzLDEx
ICsxMjMsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZU1lZGlhRWxlbWVudHMoKTsKICAg
ICB2b2lkIGJyaW5nRWxlbWVudFVwVG9TcGVlZChIVE1MTWVkaWFFbGVtZW50Kik7CiAgICAgdm9p
ZCBzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKLSAgICB2b2lk
IGFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsKLSAgICB2b2lk
IGNsZWFyUG9zaXRpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsKKyAgICB2
b2lkIGFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBjbGVhclBvc2l0aW9u
VGltZXJGaXJlZChUaW1lciYpOwogICAgIGJvb2wgaGFzRW5kZWQoKSBjb25zdDsKICAgICB2b2lk
IHNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCk7Ci0gICAgdm9pZCB0aW1ldXBkYXRlVGltZXJGaXJl
ZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Jik7CisgICAgdm9pZCB0aW1ldXBkYXRlVGltZXJGaXJl
ZChUaW1lciYpOwogICAgIHZvaWQgc3RhcnRUaW1ldXBkYXRlVGltZXIoKTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0CkBAIC0xNDcsMTMgKzE0NywxMyBAQCBwcml2YXRlOgogICAgIFJlYWR5U3RhdGUg
bV9yZWFkeVN0YXRlOwogICAgIFBsYXliYWNrU3RhdGUgbV9wbGF5YmFja1N0YXRlOwogICAgIFZl
Y3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdFdmVudHM7Ci0gICAgVGltZXI8TWVkaWFDb250
cm9sbGVyPiBtX2FzeW5jRXZlbnRUaW1lcjsKLSAgICBtdXRhYmxlIFRpbWVyPE1lZGlhQ29udHJv
bGxlcj4gbV9jbGVhclBvc2l0aW9uVGltZXI7CisgICAgVGltZXIgbV9hc3luY0V2ZW50VGltZXI7
CisgICAgbXV0YWJsZSBUaW1lciBtX2NsZWFyUG9zaXRpb25UaW1lcjsKICAgICBTdHJpbmcgbV9t
ZWRpYUdyb3VwOwogICAgIGJvb2wgbV9jbG9zZWRDYXB0aW9uc1Zpc2libGU7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENsb2NrPiBtX2Nsb2NrOwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xsZXI+IG1fdGlt
ZXVwZGF0ZVRpbWVyOworICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwogICAgIGRvdWJsZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3Vt
ZW50LmNwcAppbmRleCBmYWM5NThlZjUzMzc4OGMzZjRlYjA2YjlmOWQ4YmFiNTYwM2Q3MjJiLi5k
NjU2OWE0M2JhZWNkMzAzNjg3MTIxMWI1ZjllYWE0Mzk1M2U1ZGIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5jcHAKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIE1lZGlhRG9jdW1l
bnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKCkKICAgICBtX3JlcGxhY2VNZWRp
YUVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVkaWFEb2N1bWVudDo6
cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoVGltZXI8TWVkaWFEb2N1bWVudD4mKQordm9p
ZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgSFRNTEVsZW1lbnQqIGh0bWxCb2R5ID0gYm9keSgpOwogICAgIGlmICghaHRtbEJvZHkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCmluZGV4IDAzZWQ4MWI1MDhlZTEwNmI5Mzlk
YmU5MzRjNWI2NzgxNTA2YjgwZWMuLjQzYjVmNDZjNjJkZDBmMWM5ZjM4NzMzNmM0OGUzNzZjMmJj
MjQxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCkBAIC01MCw5ICs1MCw5IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCop
IG92ZXJyaWRlOwogCi0gICAgdm9pZCByZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZChUaW1l
cjxNZWRpYURvY3VtZW50PiYpOworICAgIHZvaWQgcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoVGltZXImKTsKIAotICAgIFRpbWVyPE1lZGlhRG9jdW1lbnQ+IG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyOworICAgIFRpbWVyIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyOwogICAgIFN0
cmluZyBtX291dGdvaW5nUmVmZXJyZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElu
cHV0VHlwZS5jcHAKaW5kZXggYjJjNDU5MjhjMjllNjVmZDJmNzA3ZjA5ZTQ5MTE1MzgxZTgyY2Rj
Ny4uMGJmOWRmYzM0YWI1YWZkMjYzMDk4MDMyYjljMGZkYzE2MzEzN2QxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgU2Vh
cmNoSW5wdXRUeXBlOjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCiAgICAgbV9zZWFyY2hFdmVudFRp
bWVyLnN0b3AoKTsKIH0KIAotdm9pZCBTZWFyY2hJbnB1dFR5cGU6OnNlYXJjaEV2ZW50VGltZXJG
aXJlZChUaW1lcjxTZWFyY2hJbnB1dFR5cGU+KikKK3ZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzZWFy
Y2hFdmVudFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIGVsZW1lbnQoKS5vblNlYXJjaCgpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgKaW5kZXggMTIzMjZiYzg4ODQwNmJh
ZDZjYjk3NWI5YzNlODBiNWMxOGRjMDBlYi4uODgzYTEyYjE3NjBiZDZhZTk2Y2E2ODk2YmFiMmUx
OWIwNTlkOTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5oCkBAIC02MSwx
MyArNjEsMTMgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2l6ZVNob3VsZEluY2x1ZGVE
ZWNvcmF0aW9uKGludCBkZWZhdWx0U2l6ZSwgaW50JiBwcmVmZXJyZWRTaXplKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIGZsb2F0IGRlY29yYXRpb25XaWR0aCgpIGNvbnN0IG92ZXJyaWRl
OwogCi0gICAgdm9pZCBzZWFyY2hFdmVudFRpbWVyRmlyZWQoVGltZXI8U2VhcmNoSW5wdXRUeXBl
PiopOworICAgIHZvaWQgc2VhcmNoRXZlbnRUaW1lckZpcmVkKFRpbWVyKik7CiAgICAgYm9vbCBz
ZWFyY2hFdmVudHNTaG91bGRCZURpc3BhdGNoZWQoKSBjb25zdDsKICAgICB2b2lkIHN0YXJ0U2Vh
cmNoRXZlbnRUaW1lcigpOwogCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudCog
bV9yZXN1bHRzQnV0dG9uOwogICAgIEhUTUxFbGVtZW50KiBtX2NhbmNlbEJ1dHRvbjsKLSAgICBU
aW1lcjxTZWFyY2hJbnB1dFR5cGU+IG1fc2VhcmNoRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3Nl
YXJjaEV2ZW50VGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmluZGV4IDliOGZiMzk3MDY1YzlhYjYxZGU0
OWI3NjY2MDdjMDk0NGMwOWFjZGQuLmFiOTYxOGQ5ZDg5ODIwMmJhYThiN2ExMzFkYzdjZTVlZmMx
NzcwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0x
MDcsMTMgKzEwNywxMyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKICAgICBt
X21lc3NhZ2UgPSBtZXNzYWdlOwogICAgIGlmICghbV9idWJibGUpCi0gICAgICAgIG1fdGltZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPj4odGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpOworICAgICAgICBtX3RpbWVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxUaW1lcj4odGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8
VmFsaWRhdGlvbk1lc3NhZ2U+Pih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VE
T01BbmRTdGFydFRpbWVyKTsKKyAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGlt
ZXI+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIp
OwogICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+
KikKK3ZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKFRp
bWVyKikKIHsKICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpOwogICAgIEFT
U0VSVChtX21lc3NhZ2VIZWFkaW5nKTsKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFZhbGlkYXRp
b25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVz
c2FnZT4qKQogICAgIGlmIChtYWduaWZpY2F0aW9uIDw9IDApCiAgICAgICAgIG1fdGltZXIgPSBu
dWxscHRyOwogICAgIGVsc2UgewotICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRl
QnViYmxlVHJlZSk7CisgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPih0
aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwogICAgICAgICBtX3Rp
bWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVz
c2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOwogICAgIH0KIH0KQEAgLTE2
NSw3ICsxNjUsNyBAQCBzdGF0aWMgdm9pZCBhZGp1c3RCdWJibGVQb3NpdGlvbihjb25zdCBMYXlv
dXRSZWN0JiBob3N0UmVjdCwgSFRNTEVsZW1lbnQqIGJ1YmJsZQogICAgIGJ1YmJsZS0+c2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUxlZnQsIGJ1YmJsZVgsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUFgpOwogfQogCi12b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KikKK3ZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OmJ1
aWxkQnViYmxlVHJlZShUaW1lciopCiB7CiAgICAgQVNTRVJUKCF2YWxpZGF0aW9uTWVzc2FnZUNs
aWVudCgpKTsKICAgICBTaGFkb3dSb290JiBzaGFkb3dSb290ID0gbV9lbGVtZW50LT5lbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCk7CkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogICAgIH0KIAogICAgIC8vIFdlIG11c3Qg
bm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4gdGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJlYXNv
biBhcyBzZXRNZXNzYWdlKCkuCi0gICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8
VmFsaWRhdGlvbk1lc3NhZ2U+Pih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJs
ZVRyZWUpOworICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPih0aGlzLCAmVmFs
aWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwogICAgIG1fdGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBAIGJvb2wgVmFsaWRhdGlvbk1lc3NhZ2U6
OnNoYWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdAogICAgIHJldHVybiAm
bV9idWJibGUtPnRyZWVTY29wZSgpID09ICZub2RlLnRyZWVTY29wZSgpOwogfQogCi12b2lkIFZh
bGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdl
PiopCit2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKFRpbWVyKikKIHsK
ICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpOwogICAgIGlmIChtX2J1YmJs
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IDc1MTY4NDMx
NjUwM2E0ZWIxM2ZjNDU2NDhkODdiMTljZjljNzcwOWUuLjlkNjE4NTdjN2Y0NjljZWIzZmVhMmRk
YzBkODU4NTg0NDg3OWFmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKQEAgLTYwLDEzICs2MCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFZhbGlkYXRpb25N
ZXNzYWdlQ2xpZW50KiB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpIGNvbnN0OwogICAgIHZvaWQg
c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHNldE1lc3NhZ2VET01BbmRTdGFy
dFRpbWVyKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPiogPSAwKTsKLSAgICB2b2lkIGJ1aWxkQnVi
YmxlVHJlZShUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4qKTsKLSAgICB2b2lkIGRlbGV0ZUJ1YmJs
ZVRyZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KiA9IDApOworICAgIHZvaWQgc2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIoVGltZXIqID0gMCk7CisgICAgdm9pZCBidWlsZEJ1YmJsZVRyZWUo
VGltZXIqKTsKKyAgICB2b2lkIGRlbGV0ZUJ1YmJsZVRyZWUoVGltZXIqID0gMCk7CiAKICAgICBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBtX2VsZW1lbnQ7CiAgICAgU3RyaW5nIG1fbWVzc2FnZTsK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+PiBtX3RpbWVyOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV90aW1lcjsKICAgICBSZWZQdHI8SFRNTEVsZW1l
bnQ+IG1fYnViYmxlOwogICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9tZXNzYWdlSGVhZGluZzsK
ICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG1fbWVzc2FnZUJvZHk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBiNjgy
YTdlMDQyNjMwMDNkYzUyMzI4MTE5MGFkY2NjZjA0MmYxMzQ0Li4wYmUxZDQwMjcxZjVlMWY0MTgw
NmMwNjQxMmQ3NGI3ODQ4MTM2N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTU5MjMsNyArNTkyMyw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIw
U2ltdWxhdGlvbigpCiAgICAgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNE
OjpBUlJBWV9CVUZGRVIsIG9iamVjdE9yWmVybyhtX2JvdW5kQXJyYXlCdWZmZXIuZ2V0KCkpKTsK
IH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVu
dChUaW1lcjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KikKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoVGltZXIqKQogewogICAgIFJlZlB0cjxXZWJH
TENvbnRleHRFdmVudD4gZXZlbnQgPSBXZWJHTENvbnRleHRFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS53ZWJnbGNvbnRleHRsb3N0RXZlbnQsIGZhbHNlLCB0cnVlLCAiIik7CiAgICAgY2FudmFz
KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOwpAQCAtNTkzMiw3ICs1OTMyLDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudChUaW1lcjxXZWJHTFJl
bmRlcmluZ0NvbnRleHQKICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bWF5YmVSZXN0b3JlQ29udGV4dChUaW1l
cjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KikKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpt
YXliZVJlc3RvcmVDb250ZXh0KFRpbWVyKikKIHsKICAgICBBU1NFUlQobV9jb250ZXh0TG9zdCk7
CiAgICAgaWYgKCFtX2NvbnRleHRMb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCA1MGFlNDJjZmFjZDY4MTUwMjJmMDFi
NDZhYjhkOTc5YjQ0MTJhYzc1Li4zNDhiZWZiNDRlMzExNGRhNmU1YjQwZTA5NTMyNjVmMzExYTNl
ZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaApAQCAtNDExLDkgKzQxMSw5IEBAIHByaXZhdGU6CiAgICAgLy8gbGlrZWx5IHRo
YXQgdGhlcmUncyBubyBKYXZhU2NyaXB0IG9uIHRoZSBzdGFjaywgYnV0IHRoYXQgbWlnaHQgYmUg
ZGVwZW5kZW50CiAgICAgLy8gb24gaG93IGV4YWN0bHkgdGhlIHBsYXRmb3JtIGRpc2NvdmVycyB0
aGF0IHRoZSBjb250ZXh0IHdhcyBsb3N0LiBGb3IgYmV0dGVyCiAgICAgLy8gcG9ydGFiaWxpdHkg
d2UgYWx3YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgZXZlbnQuCi0gICAgVGltZXI8V2Vi
R0xSZW5kZXJpbmdDb250ZXh0PiBtX2Rpc3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyOworICAg
IFRpbWVyIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGltZXI7CiAgICAgYm9vbCBtX3Jlc3Rv
cmVBbGxvd2VkOwotICAgIFRpbWVyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4gbV9yZXN0b3JlVGlt
ZXI7CisgICAgVGltZXIgbV9yZXN0b3JlVGltZXI7CiAKICAgICBib29sIG1fbmVlZHNVcGRhdGU7
CiAgICAgYm9vbCBtX21hcmtlZENhbnZhc0RpcnR5OwpAQCAtNzYxLDkgKzc2MSw5IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBzaW11bGF0ZVZlcnRleEF0dHJpYjAoR0MzRHNpemVpIG51bVZlcnRleCk7
CiAgICAgdm9pZCByZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwog
Ci0gICAgdm9pZCBkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoVGltZXI8V2ViR0xSZW5kZXJpbmdD
b250ZXh0PiopOworICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KFRpbWVyKik7CiAg
ICAgLy8gSGVscGVyIGZvciByZXN0b3JhdGlvbiBhZnRlciBjb250ZXh0IGxvc3QuCi0gICAgdm9p
ZCBtYXliZVJlc3RvcmVDb250ZXh0KFRpbWVyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4qKTsKKyAg
ICB2b2lkIG1heWJlUmVzdG9yZUNvbnRleHQoVGltZXIqKTsKIAogICAgIC8vIERldGVybWluZSBp
ZiB3ZSBhcmUgcnVubmluZyBwcml2aWxlZ2VkIGNvZGUgaW4gdGhlIGJyb3dzZXIsIGZvciBleGFt
cGxlLAogICAgIC8vIGEgU2FmYXJpIG9yIENocm9tZSBleHRlbnNpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IGI5MzFk
YTJkODBmNjljZmVlOTU4MTgxMTNjYTU2MWQ5ZjEyM2RhMTMuLjgyNzgxMTAwOTA1Y2EwNDE0NTRh
MjliOGFhODJkMDhjNWE0MGQwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgSFRNTFBhcnNl
clNjaGVkdWxlcjo6fkhUTUxQYXJzZXJTY2hlZHVsZXIoKQogICAgIG1fY29udGludWVOZXh0Q2h1
bmtUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVO
ZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+JiB0aW1lcikKK3Zv
aWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVy
JiB0aW1lcikKIHsKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKICAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCAmdGltZXIgPT0gJm1fY29udGludWVOZXh0Q2h1bmtUaW1lcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggYjQwNGFl
OWMyNGQzNzRjZjYwMzE2MTE3Nzg0ZTAxN2UyOTk3NTNiMi4uYWI3ZTJlZDgxZDFkOTBkNzIwZTc3
YTUzNGYxZDhiM2IyMGI2N2Y2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtOTcsMTMgKzk3LDEzIEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgY29udGludWVOZXh0Q2h1bmtUaW1l
ckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+Jik7CisgICAgdm9pZCBjb250aW51ZU5l
eHRDaHVua1RpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIEhUTUxEb2N1bWVudFBhcnNlciYgbV9w
YXJzZXI7CiAKICAgICBkb3VibGUgbV9wYXJzZXJUaW1lTGltaXQ7CiAgICAgaW50IG1fcGFyc2Vy
Q2h1bmtTaXplOwotICAgIFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IG1fY29udGludWVOZXh0
Q2h1bmtUaW1lcjsKKyAgICBUaW1lciBtX2NvbnRpbnVlTmV4dENodW5rVGltZXI7CiAgICAgYm9v
bCBtX2lzU3VzcGVuZGVkV2l0aEFjdGl2ZVRpbWVyOwogI2lmICFBU1NFUlRfRElTQUJMRUQKICAg
ICBib29sIG1fc3VzcGVuZGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDRjN2JkNzVhMzNkZjdmOTVmYmM5NzE4YmRl
NTY3MjQ4OGUwMGQzNDguLmZjMzU4MzIzNTliZDliOGM2MWY4NGU3ZDEyYzRlMDA3OTM2ZjBkNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1l
bnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVu
dDo6c3RvcFRpbWVyKCkKICAgICAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RvcCgpOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQoVGltZXI8
TWVkaWFDb250cm9sUGFuZWxFbGVtZW50PiYpCit2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVu
dDo6dHJhbnNpdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIGhpZGUoKTsKQEAgLTEyNDMsNyArMTI0Myw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4
dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlQWN0aXZlQ3Vlc0ZvbnRTaXplKCkKIAogfQog
Ci12b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZVRpbWVy
RmlyZWQoVGltZXI8TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudD4mKQordm9p
ZCBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAoIWRvY3VtZW50KCkucGFnZSgpKQogICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
aAppbmRleCAxNDc0YWE0N2QxYmU0ZjgwMmZkYjNlMGJlNTY1OGIzOTZiOGE1MGU2Li5jY2I0OTk2
ODNiZmM3NTQ5YTU2NTBjY2FlMTVmMjQzYzliNjZhM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKQEAgLTY1LDcgKzY1LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7
Ci0gICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ+Jik7CisgICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
dm9pZCBzZXRQb3NpdGlvbihjb25zdCBMYXlvdXRQb2ludCYpOwogCkBAIC03Niw3ICs3Niw3IEBA
IHByaXZhdGU6CiAgICAgTGF5b3V0UG9pbnQgbV9sYXN0RHJhZ0V2ZW50TG9jYXRpb247CiAgICAg
TGF5b3V0UG9pbnQgbV9jdW11bGF0aXZlRHJhZ09mZnNldDsKIAotICAgIFRpbWVyPE1lZGlhQ29u
dHJvbFBhbmVsRWxlbWVudD4gbV90cmFuc2l0aW9uVGltZXI7CisgICAgVGltZXIgbV90cmFuc2l0
aW9uVGltZXI7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC00NTEs
NyArNDUxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZXhpdGVkRnVsbHNjcmVlbigpOwogCiBwcml2
YXRlOgotICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xUZXh0VHJh
Y2tDb250YWluZXJFbGVtZW50PiYpOworICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lciYp
OwogICAgIHZvaWQgdXBkYXRlQWN0aXZlQ3Vlc0ZvbnRTaXplKCk7CiAKICAgICBleHBsaWNpdCBN
ZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50KERvY3VtZW50Jik7CkBAIC00NjUs
NyArNDY1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0eWxlRm9yVGV4dFRyYWNrUmVw
cmVzZW50YXRpb24oKTsKICAgICBPd25QdHI8VGV4dFRyYWNrUmVwcmVzZW50YXRpb24+IG1fdGV4
dFRyYWNrUmVwcmVzZW50YXRpb247CiAKLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50PiBtX3VwZGF0ZVRpbWVyOworICAgIFRpbWVyIG1fdXBkYXRlVGltZXI7
CiAgICAgSW50UmVjdCBtX3ZpZGVvRGlzcGxheVNpemU7CiAgICAgaW50IG1fZm9udFNpemU7CiAg
ICAgYm9vbCBtX2ZvbnRTaXplSXNJbXBvcnRhbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwCmluZGV4IDcxMjlmZTY2MTczYWZmN2U0MTFmNzQ1ZTQzOTU5
YTIyMjc3OWRmZGMuLjc4NzIyMGZlZTBiY2ZmNzEwODdhMmIzYWMwZDU1NDNjMTgyODE1YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCkBAIC0zMzAs
NyArMzMwLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xzOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
KiBldmVudCkKICAgICB9CiB9CiAKLXZvaWQgTWVkaWFDb250cm9sczo6aGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9scz4mKQordm9pZCBNZWRpYUNvbnRy
b2xzOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYg
KG1fbWVkaWFDb250cm9sbGVyLT5wYXVzZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCmluZGV4IDZlMTdlMzViNDM2NWZiMGRh
NGFkZmI5MmYzYjcyZWY4YTU3ZjBjM2UuLmE2NDRjOGVhOTI3YTM3MTM5MDYyNDM2ZTEzZjM5NGM0
NTkwYjE2OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgK
QEAgLTk3LDcgKzk3LDcgQEAgY2xhc3MgTWVkaWFDb250cm9scyA6IHB1YmxpYyBIVE1MRGl2RWxl
bWVudCB7CiAgICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKSBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgdm9pZCBoaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xzPiYpOworICAg
IHZpcnR1YWwgdm9pZCBoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYpOwog
ICAgIHZpcnR1YWwgdm9pZCBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiAKQEAgLTEz
Nyw3ICsxMzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50KiBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uOwogICAgIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KiBtX2Z1bGxTY3JlZW5CdXR0b247CiAK
LSAgICBUaW1lcjxNZWRpYUNvbnRyb2xzPiBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsK
KyAgICBUaW1lciBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsKICAgICBib29sIG1faXNG
dWxsc2NyZWVuOwogICAgIGJvb2wgbV9pc01vdXNlT3ZlckNvbnRyb2xzOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggYmJkZDAx
YjlhMDk2NWM5NjUwNTZjOWNjODkzYzNmYWRjZjNiNWQwOC4uOTgzNjk2NWY3MWQ0NWU4MTQyZjUx
MDZjMDY1MmI3YzI1MjU5MzRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1NwaW5CdXR0b25FbGVtZW50LmNwcApAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgU3BpbkJ1dHRv
bkVsZW1lbnQ6OnN0ZXAoaW50IGFtb3VudCkKICAgICBkb1N0ZXBBY3Rpb24oYW1vdW50KTsKIH0K
ICAgICAKLXZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQoVGltZXI8
U3BpbkJ1dHRvbkVsZW1lbnQ+KikKK3ZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGluZ1Rp
bWVyRmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3VwRG93blN0YXRlICE9IEluZGV0ZXJtaW5h
dGUpCiAgICAgICAgIHN0ZXAobV91cERvd25TdGF0ZSA9PSBVcCA/IDEgOiAtMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaAppbmRleCAxMTM5NjAx
ZTJlMDI5N2ExNmNlYTZjY2FhM2NkMTNmMjExZjA1YmRlLi4xOGNmYTJkNWVjYjQwYjY2ZTFkY2Iy
YmNhM2E2YmFjMWYxODI4MzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9TcGluQnV0dG9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Nw
aW5CdXR0b25FbGVtZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRv
U3RlcEFjdGlvbihpbnQpOwogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAgIHZv
aWQgc3RvcFJlcGVhdGluZ1RpbWVyKCk7Ci0gICAgdm9pZCByZXBlYXRpbmdUaW1lckZpcmVkKFRp
bWVyPFNwaW5CdXR0b25FbGVtZW50PiopOworICAgIHZvaWQgcmVwZWF0aW5nVGltZXJGaXJlZChU
aW1lciopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIb3ZlcmVkKGJvb2wgPSB0cnVlKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZFJlc3BvbmRUb01vdXNlRXZlbnRzKCk7CiAgICAgdmlydHVhbCBi
b29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQpA
QCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jYXB0dXJpbmc7CiAgICAgVXBE
b3duU3RhdGUgbV91cERvd25TdGF0ZTsKICAgICBVcERvd25TdGF0ZSBtX3ByZXNzU3RhcnRpbmdT
dGF0ZTsKLSAgICBUaW1lcjxTcGluQnV0dG9uRWxlbWVudD4gbV9yZXBlYXRpbmdUaW1lcjsKKyAg
ICBUaW1lciBtX3JlcGVhdGluZ1RpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRl
eCBiZjk1MjNkNzI4MzM0ZDllOWE2MDJkZGJiY2UzODE5Yzc4NTc1ZTYzLi5iZGM0ZGZhMGQxZWY3
NWZlNmEwNTA5YzMyOGZjNTQ4OGIzYzE4OWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpzZXRUcmFja0VsZW1lbnQoSFRNTFRyYWNrRWxlbWVudCogZWxlbWVudCkK
ICAgICBtX3RyYWNrRWxlbWVudCA9IGVsZW1lbnQ7CiB9CiAKLXZvaWQgTG9hZGFibGVUZXh0VHJh
Y2s6OmxvYWRUaW1lckZpcmVkKFRpbWVyPExvYWRhYmxlVGV4dFRyYWNrPiYpCit2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpsb2FkVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fbG9hZGVy
KQogICAgICAgICBtX2xvYWRlci0+Y2FuY2VsTG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCmluZGV4IDA2ZTNmZWFmOTZhMDk4YjhhMGRlMTUw
OTJkZDhhZWQxMWVmYjYyMzAuLmFhZDJhMDgyNmZlYTZiMDQzNGJmOWY2NWVhODQ2MzYxMTEyZDBi
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJh
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgK
QEAgLTcwLDEwICs3MCwxMCBAQCBwcml2YXRlOgogCiAgICAgTG9hZGFibGVUZXh0VHJhY2soSFRN
TFRyYWNrRWxlbWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7CiAKLSAgICB2b2lkIGxvYWRUaW1lckZpcmVkKFRpbWVy
PExvYWRhYmxlVGV4dFRyYWNrPiYpOworICAgIHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIEhUTUxUcmFja0VsZW1lbnQqIG1fdHJhY2tFbGVtZW50OwotICAgIFRpbWVyPExvYWRh
YmxlVGV4dFRyYWNrPiBtX2xvYWRUaW1lcjsKKyAgICBUaW1lciBtX2xvYWRUaW1lcjsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8VGV4dFRyYWNrTG9hZGVyPiBtX2xvYWRlcjsKICAgICBVUkwgbV91cmw7
CiAgICAgYm9vbCBtX2lzRGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmNwcAppbmRleCA2ZmI1YWFkYjA3NDgzMjAzYjkyZDgzMTBkY2M3ODY3ZGUxMzAxMjUxLi4zOGEx
YzZhZTFhZDIzZjBhYTE0ZDc3NzNkOTljZjI1ZDZkMjY0MDg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WVFRSZWdpb24uY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBWVFRSZWdpb246
OnN0b3BUaW1lcigpCiAgICAgICAgIG1fc2Nyb2xsVGltZXIuc3RvcCgpOwogfQogCi12b2lkIFZU
VFJlZ2lvbjo6c2Nyb2xsVGltZXJGaXJlZChUaW1lcjxWVFRSZWdpb24+KikKK3ZvaWQgVlRUUmVn
aW9uOjpzY3JvbGxUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBMT0coTWVkaWEsICJWVFRSZWdp
b246OnNjcm9sbFRpbWVyRmlyZWQiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WVFRSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmgKaW5kZXggZTE2MmY1MmI1NzI2NDk4ODRkOTYyY2JhNTFkZDc3MjMxNDI5ZWU1Ni4uMDQxMzM4
NTFkNmM4OWJjZDI2NzE1ODVkNDNhNGNjZDU5YWRlYWU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5oCkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBUaGUg
dGltZXIgaXMgbmVlZGVkIHRvIGNvbnRpbnVlIHByb2Nlc3Npbmcgd2hlbiBjdWUgc2Nyb2xsaW5n
IGVuZGVkLgogICAgIHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0g
ICAgdm9pZCBzY3JvbGxUaW1lckZpcmVkKFRpbWVyPFZUVFJlZ2lvbj4qKTsKKyAgICB2b2lkIHNj
cm9sbFRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIGVudW0gUmVnaW9uU2V0dGluZyB7CiAgICAg
ICAgIE5vbmUsCkBAIC0xNTUsNyArMTU1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBzb29uIGFzIHRo
ZSBhbmltYXRpb24gZm9yIHJvbGxpbmcgb3V0IG9uZSBsaW5lIGhhcyBmaW5pc2hlZCwgYnV0CiAg
ICAgLy8gY3VycmVudGx5IGl0IGlzIHVzZWQgYWxzbyBmb3Igbm9uLXNjcm9sbGluZyByZWdpb25z
IHRvIHVzZSBhIHNpbmdsZQogICAgIC8vIGNvZGUgcGF0aC4KLSAgICBUaW1lcjxWVFRSZWdpb24+
IG1fc2Nyb2xsVGltZXI7CisgICAgVGltZXIgbV9zY3JvbGxUaW1lcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NT
QWdlbnQuY3BwCmluZGV4IDcxYzhjNTgwMzk2MjhkMmJiZTRlOTUyNjcyYWI3ZDFjNDg0MWU4Mjgu
LmY1N2VhMzM5ZDQxM2VlNGRhMjQyMTc0ZGNkYzEyMDQ4MDM3NzRlMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMTA5LDExICsxMDks
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiwgaW50
IGRvY3VtZW50Tm9kZUlkKTsKICAgICB2b2lkIHVuc2NoZWR1bGUoV2ViS2l0TmFtZWRGbG93Kik7
CiAgICAgdm9pZCByZXNldCgpOwotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogcHJpdmF0
ZToKICAgICBJbnNwZWN0b3JDU1NBZ2VudCogbV9jc3NBZ2VudDsKLSAgICBUaW1lcjxDaGFuZ2VS
ZWdpb25PdmVyc2V0VGFzaz4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogICAgIEhhc2hN
YXA8V2ViS2l0TmFtZWRGbG93KiwgaW50PiBtX25hbWVkRmxvd3M7CiB9OwogCkBAIC0xNDIsNyAr
MTQyLDcgQEAgdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6cmVzZXQoKQogICAgIG1fbmFt
ZWRGbG93cy5jbGVhcigpOwogfQogCi12b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp0aW1l
ckZpcmVkKFRpbWVyPENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrPiYpCit2b2lkIENoYW5nZVJlZ2lv
bk92ZXJzZXRUYXNrOjp0aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICAvLyBUaGUgdGltZXIgaXMg
c3RvcHBlZCBvbiBtX2Nzc0FnZW50IGRlc3RydWN0aW9uLCBzbyB0aGlzIG1ldGhvZCB3aWxsIG5l
dmVyIGJlIGNhbGxlZCBhZnRlciBtX2Nzc0FnZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICBm
b3IgKEhhc2hNYXA8V2ViS2l0TmFtZWRGbG93KiwgaW50Pjo6aXRlcmF0b3IgaXQgPSBtX25hbWVk
Rmxvd3MuYmVnaW4oKSwgZW5kID0gbV9uYW1lZEZsb3dzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRl
eCA0OTZlYmI0YWE1YWI4OTIwNzM2NzFiYzI3ZTJmYjRhZjQ4NWM5YzkyLi4zMzc1NDczYzliNDM4
OWM3NTA5Mzk2OTIwMDhhZDQ1ZWEyYTBkYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE2MiwxMSArMTYyLDExIEBAIHB1YmxpYzoK
ICAgICBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrKEluc3BlY3RvckRPTUFnZW50Kik7CiAg
ICAgdm9pZCBzY2hlZHVsZUZvcihFbGVtZW50Kik7CiAgICAgdm9pZCByZXNldCgpIHsgbV90aW1l
ci5zdG9wKCk7IH0KLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8UmV2YWxpZGF0ZVN0eWxlQXR0
cmlidXRlVGFzaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogcHJpdmF0ZToK
ICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2VudDsKLSAgICBUaW1lcjxSZXZhbGlkYXRl
U3R5bGVBdHRyaWJ1dGVUYXNrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgSGFz
aFNldDxSZWZQdHI8RWxlbWVudD4+IG1fZWxlbWVudHM7CiB9OwogCkBAIC0xODMsNyArMTgzLDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
ZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKFRpbWVyPFJldmFsaWRhdGVT
dHlsZUF0dHJpYnV0ZVRhc2s+JikKK3ZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6
dGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgLy8gVGhlIHRpbWVyIGlzIHN0b3BwZWQgb24gbV9k
b21BZ2VudCBkZXN0cnVjdGlvbiwgc28gdGhpcyBtZXRob2Qgd2lsbCBuZXZlciBiZSBjYWxsZWQg
YWZ0ZXIgbV9kb21BZ2VudCBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgVmVjdG9yPEVsZW1lbnQq
PiBlbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA5YWNhN2I4M2IxZTVhOTUwZTA4ODgx
ZjQ1YTc4MTA2ZDNlNzA4M2FiLi42Yjk3ODIzY2JkY2NlNjQ5OTcxNWVlMjM0YWE1ZmNmYWIyZGY3
M2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV90aW1lci5zdG9wKCk7CiAgICAgfQogCi0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s+JikKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXIm
KQogICAgIHsKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1wdHkoKSkgewogICAgICAgICAg
ICAgLy8gRGlzcGF0Y2ggY2FuIGxlYWQgdG8gdGhlIHRpbWVyIGRlc3RydWN0aW9uIC0+IHNjaGVk
dWxlIHRoZSBuZXh0IHNob3QgZmlyc3QuCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsK
LSAgICBUaW1lcjxJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrPiBtX3RpbWVyOworICAgIFRp
bWVyIG1fdGltZXI7CiAgICAgRGVxdWU8U3RyaW5nPiBtX21lc3NhZ2VzOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IGUxNGQxZmE3
MDFmYTExYjUxMGM0NGNlZGUyYTA0ZDUwYWVkZjUyNmUuLjFlZDFlOTc0NzQ5YmEyZDlhM2IwNDI0
ZTE0MGVhNTFmNjdlMmQ4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIGZvcmNlUGFpbnQoKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JPdmVybGF5Ojp1cGRhdGVQYWludFJlY3RzVGltZXJGaXJlZChU
aW1lcjxJbnNwZWN0b3JPdmVybGF5PiYpCit2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnVwZGF0ZVBh
aW50UmVjdHNUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjp0aW1lX3BvaW50IG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwog
ICAgIGJvb2wgcmVjdHNDaGFuZ2VkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck92ZXJsYXkuaAppbmRleCA0YjgxM2YzNjk4YjYyZjZiOTYwZGVmOGIyYWIzMGQ3
MzdkNWRhNzlhLi44OTA4MjkyYzhmNjYwYjdjOTEyY2Q4ODUzODE0ZmE5ODY0NjI3MjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmgKQEAgLTEzOSw3ICsx
MzksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd1F1YWRIaWdobGlnaHQoKTsKICAgICB2b2lk
IGRyYXdQYXVzZWRJbkRlYnVnZ2VyTWVzc2FnZSgpOwogICAgIHZvaWQgZHJhd1BhaW50UmVjdHMo
KTsKLSAgICB2b2lkIHVwZGF0ZVBhaW50UmVjdHNUaW1lckZpcmVkKFRpbWVyPEluc3BlY3Rvck92
ZXJsYXk+Jik7CisgICAgdm9pZCB1cGRhdGVQYWludFJlY3RzVGltZXJGaXJlZChUaW1lciYpOwog
CiAgICAgUGFnZSogb3ZlcmxheVBhZ2UoKTsKIApAQCAtMTYwLDcgKzE2MCw3IEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCwgRmxvYXRSZWN0PiBUaW1lUmVjdFBhaXI7CiAgICAgRGVxdWU8VGltZVJlY3RQ
YWlyPiBtX3BhaW50UmVjdHM7Ci0gICAgVGltZXI8SW5zcGVjdG9yT3ZlcmxheT4gbV9wYWludFJl
Y3RVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyOwogICAgIGJv
b2wgbV9pbmRpY2F0aW5nOwogICAgIGJvb2wgbV9zaG93aW5nUGFpbnRSZWN0czsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA5NzdlZDE0YjBlMjE2MzY4
YjExMGIyNWMzMjY0ZDEyNTAxM2I2Yzc2Li4xZjE3NWM3MjAyZTMxODVkMWZjYzA5MGRkNzA4OTJh
M2MyMzU3MGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTExMjUsNyArMTEyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0dXRl
UmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZl
cnlUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgRG9jdW1lbnRMb2FkZXI6OnN1YnN0
aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudExvYWRlcj4mKQor
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcy5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgK
aW5kZXggNmQwODEwZTcxY2RkYWE3NTU3MmJkMGQ1ZTAxZWFkNTMzNDBjYmM2Yi4uNTBmMDRhMWNl
ODIyYmE2M2YwMzExNjczNmMzMDUwODkxMGIwYTFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKQEAgLTMxMywxNCArMzEzLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgICAgIHR5cGVkZWYgUnVuTG9vcFRpbWVyPERv
Y3VtZW50TG9hZGVyPiBEb2N1bWVudExvYWRlclRpbWVyOwogI2Vsc2UKLSAgICAgICAgdHlwZWRl
ZiBUaW1lcjxEb2N1bWVudExvYWRlcj4gRG9jdW1lbnRMb2FkZXJUaW1lcjsKKyAgICAgICAgdHlw
ZWRlZiBUaW1lciBEb2N1bWVudExvYWRlclRpbWVyOwogI2VuZGlmCiAgICAgICAgIHZvaWQgaGFu
ZGxlU3Vic3RpdHV0ZURhdGFMb2FkU29vbigpOwogICAgICAgICB2b2lkIGhhbmRsZVN1YnN0aXR1
dGVEYXRhTG9hZE5vdyhEb2N1bWVudExvYWRlclRpbWVyKik7CiAgICAgICAgIHZvaWQgc3RhcnRE
YXRhTG9hZFRpbWVyKCk7CiAKICAgICAgICAgdm9pZCBkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNl
c0FmdGVyRGVsYXkoKTsKLSAgICAgICAgdm9pZCBzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQoVGltZXI8RG9jdW1lbnRMb2FkZXI+Jik7CisgICAgICAgIHZvaWQgc3Vic3RpdHV0
ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICAgICAgdm9pZCBjbGVh
ck1haW5SZXNvdXJjZSgpOwogCkBAIC0zODYsNyArMzg2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxSZXNvdXJjZUxvYWRl
cj4sIFJlZlB0cjxTdWJzdGl0dXRlUmVzb3VyY2U+PiBTdWJzdGl0dXRlUmVzb3VyY2VNYXA7CiAg
ICAgICAgIFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2Vz
OwotICAgICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxp
dmVyeVRpbWVyOworICAgICAgICBUaW1lciBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGlt
ZXI7CiAKICAgICAgICAgT3duUHRyPEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24+IG1fYXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbjsKICNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpIHx8IEVOQUJMRShN
SFRNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGI1N2U2N2U2NTgy
ZGYwMTg4NGNkNjNkMWYzYmI4NDEzZWQ4MTYxYzMuLmRkYmNlMGRjYzU3NzMxNzRmY2NhNDcxYWY3
MTk1ZDA2Nzk2YzM4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAt
ODUwLDcgKzg1MCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkKCkKICAgICAg
ICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6Y2hlY2tUaW1l
ckZpcmVkKFRpbWVyPEZyYW1lTG9hZGVyPiYpCit2b2lkIEZyYW1lTG9hZGVyOjpjaGVja1RpbWVy
RmlyZWQoVGltZXImKQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3OTI1ZTRkYmE2ZmM1MzBlMDgyMzg3N2Q0
MDM1MmJhOTVmMTM4MGQ5Li4xNTYwY2ExODdhZDI0ZDQ1NWE4NGY4NWQwMWU5NzA2ZTQ1ODI3MTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMjk5LDcgKzI5OSw3IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIGFsbENoaWxkcmVuQXJlQ29tcGxldGUoKSBjb25zdDsgLy8gaW1t
ZWRpYXRlIGNoaWxkcmVuLCBub3QgYWxsIGRlc2NlbmRhbnRzCiAKLSAgICB2b2lkIGNoZWNrVGlt
ZXJGaXJlZChUaW1lcjxGcmFtZUxvYWRlcj4mKTsKKyAgICB2b2lkIGNoZWNrVGltZXJGaXJlZChU
aW1lciYpOwogICAgIAogICAgIHZvaWQgbG9hZFNhbWVEb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0q
KTsKICAgICB2b2lkIGxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0qLCBGcmFt
ZUxvYWRUeXBlLCBGb3JtU3VibWlzc2lvbkNhY2hlTG9hZFBvbGljeSk7CkBAIC00MjMsNyArNDIz
LDcgQEAgcHJpdmF0ZToKIAogICAgIFVSTCBtX3N1Ym1pdHRlZEZvcm1VUkw7CiAKLSAgICBUaW1l
cjxGcmFtZUxvYWRlcj4gbV9jaGVja1RpbWVyOworICAgIFRpbWVyIG1fY2hlY2tUaW1lcjsKICAg
ICBib29sIG1fc2hvdWxkQ2FsbENoZWNrQ29tcGxldGVkOwogICAgIGJvb2wgbV9zaG91bGRDYWxs
Q2hlY2tMb2FkQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmlu
ZGV4IDBmMDY3NzQyZTRmYzY5MjdjNjc5YjQ4OTZlMzAwYjU4NjM3YWViMzkuLjYwMmZiOWRiMWM2
YzE5ZjI5Mzc4MDQ1MzFmMGI2ZDY5ZTgwMDNjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcApAQCAtMzc0LDcgKzM3NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZWRI
YXNQZW5kaW5nRXZlbnQoKQogICAgIH0gICAKIH0KIAotdm9pZCBJbWFnZUxvYWRlcjo6dGltZXJG
aXJlZChUaW1lcjxJbWFnZUxvYWRlcj4mKQordm9pZCBJbWFnZUxvYWRlcjo6dGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgZWxlbWVudCgpLmRlcmVmKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5oCmluZGV4IDVmMzcyNGNjYWJiNjVlZmE3OGJmZGY4NjdkYTFmMjc4ZDRkZGQ3M2Qu
LjgzYWQ4ZGNmMDUzMWFkZDhmMGIwOTNiNDRkM2FhM2U4NDFhYTRhMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5oCkBAIC05MSwxMSArOTEsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNldEltYWdlV2l0aG91dENvbnNpZGVyaW5nUGVuZGluZ0xvYWRFdmVudChDYWNoZWRJbWFnZSop
OwogICAgIHZvaWQgY2xlYXJGYWlsZWRMb2FkVVJMKCk7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQo
VGltZXI8SW1hZ2VMb2FkZXI+Jik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJik7CiAKICAg
ICBFbGVtZW50JiBtX2VsZW1lbnQ7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1h
Z2U+IG1faW1hZ2U7Ci0gICAgVGltZXI8SW1hZ2VMb2FkZXI+IG1fZGVyZWZFbGVtZW50VGltZXI7
CisgICAgVGltZXIgbV9kZXJlZkVsZW1lbnRUaW1lcjsKICAgICBBdG9taWNTdHJpbmcgbV9mYWls
ZWRMb2FkVVJMOwogICAgIGJvb2wgbV9oYXNQZW5kaW5nQmVmb3JlTG9hZEV2ZW50IDogMTsKICAg
ICBib29sIG1faGFzUGVuZGluZ0xvYWRFdmVudCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xv
YWRlci5jcHAKaW5kZXggZTYzYmJmMGMyMmU1NmQ2Y2VhMTVhZjMxZmU3ZDhlMzlhNDk3YjcyNC4u
OTk1ZmM3MDU1MDBlNTI1Y2RlYTQ4YTA1NWYwZWU0NWU0ZDcyOTIwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9MaW5rTG9hZGVyLmNwcApAQCAtNjAsMTMgKzYwLDEzIEBAIExpbmtMb2FkZXI6On5MaW5r
TG9hZGVyKCkKICAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlz
KTsKIH0KIAotdm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xv
YWRlcj4mIHRpbWVyKQordm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXIm
IHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9h
ZFRpbWVyKTsKICAgICBtX2NsaWVudC0+bGlua0xvYWRlZCgpOwogfQogCi12b2lkIExpbmtMb2Fk
ZXI6OmxpbmtMb2FkaW5nRXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+JiB0aW1lcikK
K3ZvaWQgTGlua0xvYWRlcjo6bGlua0xvYWRpbmdFcnJvclRpbWVyRmlyZWQoVGltZXImIHRpbWVy
KQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9hZGluZ0Vy
cm9yVGltZXIpOwogICAgIG1fY2xpZW50LT5saW5rTG9hZGluZ0Vycm9yZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTGlua0xvYWRlci5oCmluZGV4IDQyYjc1NmM0MzI0YTJhZWYxNTZhMjY2NmYxYzQ0NzQ1
MzlhYmMxYWMuLmFkNGQ1NzlmMDhjY2UzMzc1M2NhZTcwNWNjOWZhOWNjMzZiMzE5YjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaApAQCAtNTksMTQgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBib29sIGxvYWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IFN0cmluZyYgc2l6ZXMsIGNvbnN0IFVSTCYsIERvY3VtZW50Kik7CiAKIHByaXZh
dGU6Ci0gICAgdm9pZCBsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xvYWRlcj4mKTsKLSAg
ICB2b2lkIGxpbmtMb2FkaW5nRXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+Jik7Cisg
ICAgdm9pZCBsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXImKTsKKyAgICB2b2lkIGxpbmtMb2FkaW5n
RXJyb3JUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBMaW5rTG9hZGVyQ2xpZW50KiBtX2NsaWVu
dDsKIAogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBtX2NhY2hlZExp
bmtSZXNvdXJjZTsKLSAgICBUaW1lcjxMaW5rTG9hZGVyPiBtX2xpbmtMb2FkVGltZXI7Ci0gICAg
VGltZXI8TGlua0xvYWRlcj4gbV9saW5rTG9hZGluZ0Vycm9yVGltZXI7CisgICAgVGltZXIgbV9s
aW5rTG9hZFRpbWVyOworICAgIFRpbWVyIG1fbGlua0xvYWRpbmdFcnJvclRpbWVyOwogfTsKICAg
ICAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApp
bmRleCAyMWMzODA0Y2RjN2JmNzc3YjMxOTBjYmMzMjBhOWMyMDI3MWYwMmRmLi5hYzZlMDhhODcy
NTVhZDkxOTc3Yzc5MDMzNGU1NTllZTk2MWVjOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSYpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRTdGFydFRpbWVyKEZyYW1lJikgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBk
aWRTdGFydFRpbWVyKEZyYW1lJiwgVGltZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4mKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRUaW1lcihGcmFtZSYsIFRpbWVyJikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYsIGJvb2wgLyogbmV3TG9hZEluUHJvZ3Jlc3Mg
Ki8pIHsgfQogCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyByZXR1cm4gbV9kZWxheTsgfQpA
QCAtMTEzLDcgKzExMyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hh
bmdlTG9jYXRpb24obV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgbV91cmwsIG1fcmVmZXJyZXIsIGxv
Y2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgZmFsc2UpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBkaWRTdGFydFRpbWVyKEZyYW1lJiBmcmFtZSwgVGltZXI8TmF2aWdhdGlv
blNjaGVkdWxlcj4mIHRpbWVyKSBvdmVycmlkZQorICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFRp
bWVyKEZyYW1lJiBmcmFtZSwgVGltZXImIHRpbWVyKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
aWYgKG1faGF2ZVRvbGRDbGllbnQpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yNDksNyArMjQ5
LDcgQEAgcHVibGljOgogICAgICAgICBmcmFtZS5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KGZy
YW1lUmVxdWVzdCwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBtX3N1Ym1p
c3Npb24tPmV2ZW50KCksIG1fc3VibWlzc2lvbi0+c3RhdGUoKSwgTWF5YmVTZW5kUmVmZXJyZXIs
IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzKTsKICAgICB9CiAgICAgCi0gICAgdmly
dHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIoRnJhbWUmIGZyYW1lLCBUaW1lcjxOYXZpZ2F0aW9uU2No
ZWR1bGVyPiYgdGltZXIpIG92ZXJyaWRlCisgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIo
RnJhbWUmIGZyYW1lLCBUaW1lciYgdGltZXIpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAo
bV9oYXZlVG9sZENsaWVudCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQzMCw3ICs0MzAsNyBA
QCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlSGlzdG9yeU5hdmlnYXRpb24oaW50
IHN0ZXBzKQogICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlxdWU8U2NoZWR1bGVkSGlzdG9yeU5h
dmlnYXRpb24+KHN0ZXBzKSk7CiB9CiAKLXZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6dGltZXJG
aXJlZChUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiYpCit2b2lkIE5hdmlnYXRpb25TY2hlZHVs
ZXI6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmICghbV9mcmFtZS5wYWdlKCkpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5o
CmluZGV4IDdkYjIxYTcyYzFkNjI4N2Q1MGZmNTczNzkwNzllZjgzYzNkOWMzN2MuLjM1NmYxODhm
YjIwM2I1MDgzOGUxMDE3YTAxMTg0NDg1NmM5ZWI2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtODMsMTMgKzgzLDEzIEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBzaG91bGRTY2hlZHVsZU5hdmlnYXRpb24oKSBjb25zdDsKICAgICBib29sIHNob3Vs
ZFNjaGVkdWxlTmF2aWdhdGlvbihjb25zdCBVUkwmKSBjb25zdDsKIAotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lciYpOwogICAgIHZvaWQgc2NoZWR1bGUoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmln
YXRpb24+KTsKIAogICAgIHN0YXRpYyBMb2NrQmFja0ZvcndhcmRMaXN0IG11c3RMb2NrQmFja0Zv
cndhcmRMaXN0KEZyYW1lJiB0YXJnZXRGcmFtZSk7CiAKICAgICBGcmFtZSYgbV9mcmFtZTsKLSAg
ICBUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+IG1fcmVkaXJlY3Q7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCBiM2JlYzA2Y2JiYmExMWZlNzJk
YzZkMDdlOTVkZjU2NmQ0ZWZkOGJmLi5iN2I4NWVmYjNiMmZmMGZmZmU3MGEzODJmMzNlNWVhNzhj
MzI5ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTY5LDEwICs2OSwxMCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFu
ZGxlKiwgZG91YmxlKSBvdmVycmlkZSB7IGRlbGV0ZSB0aGlzOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGUg
eyBkZWxldGUgdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZShSZXNvdXJjZUhhbmRsZSopICBvdmVycmlkZSB7IHJldHVybiBtX3Nob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlOyB9Ci0gICAgdm9pZCB0aW1lb3V0VGltZXJGaXJlZChUaW1lcjxQaW5nTG9h
ZGVyPiYpIHsgZGVsZXRlIHRoaXM7IH0KKyAgICB2b2lkIHRpbWVvdXRUaW1lckZpcmVkKFRpbWVy
JikgeyBkZWxldGUgdGhpczsgfQogCiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBtX2hhbmRs
ZTsKLSAgICBUaW1lcjxQaW5nTG9hZGVyPiBtX3RpbWVvdXQ7CisgICAgVGltZXIgbV90aW1lb3V0
OwogICAgIGJvb2wgbV9zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggMjBkNDQ2MTA5MDEwZTU1NTgz
MmIzYmIyYjYxNjg0MDMzN2UyZGQ0MC4uZTllOTUwNDAwY2ViNjU0OWVjNjhlM2FkY2Q2OGQxY2M3
ZDY3YTYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAg
LTMwNSw3ICszMDUsNyBAQCBib29sIFByb2dyZXNzVHJhY2tlcjo6aXNNYWluTG9hZFByb2dyZXNz
aW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9wcm9ncmVzc1ZhbHVlICYmIG1fcHJvZ3Jlc3NWYWx1
ZSA8IGZpbmFsUHJvZ3Jlc3NWYWx1ZSAmJiBtX2hlYXJ0YmVhdHNXaXRoTm9Qcm9ncmVzcyA8IGxv
YWRTdGFsbGVkSGVhcnRiZWF0Q291bnQ7CiB9CiAKLXZvaWQgUHJvZ3Jlc3NUcmFja2VyOjpwcm9n
cmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NUcmFja2VyPiYpCit2b2lkIFBy
b2dyZXNzVHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBpZiAobV90b3RhbEJ5dGVzUmVjZWl2ZWQgPCBtX3RvdGFsQnl0ZXNSZWNlaXZlZEJlZm9yZVBy
ZXZpb3VzSGVhcnRiZWF0ICsgbWludW11bUJ5dGVzUGVySGVhcnRiZWF0Rm9yUHJvZ3Jlc3MpCiAg
ICAgICAgICsrbV9oZWFydGJlYXRzV2l0aE5vUHJvZ3Jlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNDQwM2I0ZDY5Y2E5MDMwYTk2YTljNGFhMzM2ZWQ4OWIy
Y2Y0MjQ3ZC4uOGEzOWExMTUxN2RlZjU0OGE2YjQ0ZWU5NjEzZWRkYjAxYzI4YjczMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtNjYsNyArNjYsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGZpbmFsUHJvZ3Jlc3NDb21wbGV0ZSgp
OwogCi0gICAgdm9pZCBwcm9ncmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NU
cmFja2VyPiYpOworICAgIHZvaWQgcHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyJik7
CiAgICAgCiAgICAgc3RhdGljIHVuc2lnbmVkIGxvbmcgc191bmlxdWVJZGVudGlmaWVyOwogICAg
IApAQCAtODIsNyArODIsNyBAQCBwcml2YXRlOgogICAgIGludCBtX251bVByb2dyZXNzVHJhY2tl
ZEZyYW1lczsKICAgICBIYXNoTWFwPHVuc2lnbmVkIGxvbmcsIHN0ZDo6dW5pcXVlX3B0cjxQcm9n
cmVzc0l0ZW0+PiBtX3Byb2dyZXNzSXRlbXM7CiAKLSAgICBUaW1lcjxQcm9ncmVzc1RyYWNrZXI+
IG1fcHJvZ3Jlc3NIZWFydGJlYXRUaW1lcjsKKyAgICBUaW1lciBtX3Byb2dyZXNzSGVhcnRiZWF0
VGltZXI7CiAgICAgdW5zaWduZWQgbV9oZWFydGJlYXRzV2l0aE5vUHJvZ3Jlc3M7CiAgICAgbG9u
ZyBsb25nIG1fdG90YWxCeXRlc1JlY2VpdmVkQmVmb3JlUHJldmlvdXNIZWFydGJlYXQ7CiAgICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX21haW5Mb2FkQ29tcGxldGlv
blRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCmluZGV4IDhhNDFiODc1NWIwZDEzYzkyYzIyOTc2ZDBkNzE1MjQzMzA1OTQ2Y2EuLjZkOGI5
ZTdmZTQ5NmJhOTU1YTE4ODg3ZmU5YjYwNWQ3MDZjMjhlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCkBAIC0zMzIsNyArMzMyLDcgQEAg
dm9pZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMo
KQogICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+JikKK3ZvaWQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJl
ZChUaW1lciYpCiB7CiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6cmVxdWVzdFRpbWVyRmlyZWRcbiIpOwogICAgIHNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXgg
NDExMWU3OTA5MjI3ZDI2OGQ2MTlkZjc1NjFkM2E5YmU1NjI5YTlkMC4uNWIzNzQyZjM5MzFmMDlm
YzM1YTkxNmI2NTFiMjYxOTk0MWFlMzM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2
YXRlOgogICAgIHZvaWQgc2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyKik7CiAgICAgdm9pZCBz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7Ci0gICAgdm9pZCByZXF1ZXN0VGltZXJGaXJl
ZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Jik7CisgICAgdm9pZCByZXF1ZXN0VGltZXJG
aXJlZChUaW1lciYpOwogCiAgICAgYm9vbCBpc1N1c3BlbmRpbmdQZW5kaW5nUmVxdWVzdHMoKSBj
b25zdCB7IHJldHVybiAhIW1fc3VzcGVuZFBlbmRpbmdSZXF1ZXN0c0NvdW50OyB9CiAKQEAgLTEy
NCw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIEhvc3RNYXAgbV9ob3N0czsKICAgICBIb3N0SW5m
b3JtYXRpb24qIG1fbm9uSFRUUFByb3RvY29sSG9zdDsKICAgICAgICAgCi0gICAgVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiBtX3JlcXVlc3RUaW1lcjsKKyAgICBUaW1lciBtX3JlcXVlc3RU
aW1lcjsKIAogICAgIHVuc2lnbmVkIG1fc3VzcGVuZFBlbmRpbmdSZXF1ZXN0c0NvdW50OwogICAg
IGJvb2wgbV9pc1NlcmlhbExvYWRpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmNwcAppbmRleCAwZjI3YjkyODA3ZjM5MWNmNDBlZjhmZWJlMzg5MTU3Mzdm
MDM1YzJiLi5lZDBjYjc1YjdiMTY4MmUzYmQ1ZThkZTE0NGUzZmUyMTZiNTM5Y2FlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtNTksNyArNTksNyBAQCBU
ZXh0VHJhY2tMb2FkZXI6On5UZXh0VHJhY2tMb2FkZXIoKQogICAgICAgICBtX3Jlc291cmNlLT5y
ZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKLXZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjdWVMb2FkVGlt
ZXJGaXJlZChUaW1lcjxUZXh0VHJhY2tMb2FkZXI+KiB0aW1lcikKK3ZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpjdWVMb2FkVGltZXJGaXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNF
RCh0aW1lciwgdGltZXIgPT0gJm1fY3VlTG9hZFRpbWVyKTsKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0VHJhY2tMb2FkZXIuaAppbmRleCBjOTg4NmM4ZjQ3NjNjOGE3N2EwYmFmYTQ3YzI4
NmQxNmI4NDc4OGVlLi4xODdmZmJlZmIyOGU0YmNjM2Y4MzBjZTA5MzkzYzI4ZTUzOWQ0YTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5oCkBAIC04MCw3ICs4MCw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpbGVGYWlsZWRUb1BhcnNlKCkgb3ZlcnJpZGU7
CiAgICAgCiAgICAgdm9pZCBwcm9jZXNzTmV3Q3VlRGF0YShDYWNoZWRSZXNvdXJjZSopOwotICAg
IHZvaWQgY3VlTG9hZFRpbWVyRmlyZWQoVGltZXI8VGV4dFRyYWNrTG9hZGVyPiopOworICAgIHZv
aWQgY3VlTG9hZFRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIGNvcnNQb2xpY3lQcmV2ZW50
ZWRMb2FkKCk7CiAKICAgICBlbnVtIFN0YXRlIHsgSWRsZSwgTG9hZGluZywgRmluaXNoZWQsIEZh
aWxlZCB9OwpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJWVFRQYXJzZXI+IG1fY3VlUGFyc2VyOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFRleHRUcmFjaz4gbV9yZXNvdXJjZTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0gICAgVGltZXI8VGV4dFRyYWNrTG9hZGVyPiBtX2N1ZUxv
YWRUaW1lcjsKKyAgICBUaW1lciBtX2N1ZUxvYWRUaW1lcjsKICAgICBTdHJpbmcgbV9jcm9zc09y
aWdpbk1vZGU7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICB1bnNpZ25lZCBtX3BhcnNlT2Zmc2V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5k
ZXggY2VlZTU4YzAzMjQ2ZjhjOGFkZWZkZjE1MTM3NmYyYjFjZTljMzhiYi4uMWU4NWY1YTFiMmQx
ZDQzNDgyMzc5YmEyYjdmYjIwZTNlYmJlM2E0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC03NDIsNyArNzQyLDcgQEAgaW5saW5lIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQogICAgICAgICBtX3RpbWVyLnN0
b3AoKTsKIH0KIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OnRpbWVyRmlyZWQoVGlt
ZXI8Q2FsbGJhY2s+JikKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjp0aW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX3Jlc291cmNlLmRpZEFkZENsaWVudCgmbV9jbGllbnQpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCBiZjZl
OTk3NDEwZWMyMzcwMTg2OTIyOGFkMGM1OGRiNDBkYTI5NmNjLi5iY2NlMjc0MzVjMzUwZWJhYWY2
MmVmYmMwZjlhYTU4ZWMxOGJlNTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaApAQCAtMzQ3LDExICszNDcsMTEgQEAgcHVibGljOgogICAgIHZvaWQg
Y2FuY2VsKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPENhbGxiYWNr
PiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgQ2FjaGVkUmVzb3VyY2Um
IG1fcmVzb3VyY2U7CiAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnQmIG1fY2xpZW50OwotICAgIFRp
bWVyPENhbGxiYWNrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBkMTYwODQ5MDRlMTJlMGNkMTJlZmMyNjEwNWM4
OTQ4NGY4MGIxYjcyLi5hNzBjODYyNTIwMzA0OGM3NDA1NDdkMGRkODdlMDVmOWZhYmNlMjNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTc3OCw3ICs3NzgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjps
b2FkRG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogLy8g
Ym9va2tlZXBpbmcgb24gQ2FjaGVkUmVzb3VyY2VzLCBzbyBpbnN0ZWFkIHBzZXVkby1HQyB0aGVt
IC0tIHdoZW4gdGhlCiAvLyByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAxLCBtX2RvY3VtZW50UmVz
b3VyY2VzIGlzIHRoZSBvbmx5IHJlZmVyZW5jZSwgc28KIC8vIHJlbW92ZSBpdCBmcm9tIHRoZSBt
YXAuCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVz
b3VyY2VzVGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4mIHRpbWVyKQordm9p
ZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1Rp
bWVyRmlyZWQoVGltZXImIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1l
ciA9PSAmbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIpOwogICAgIGdhcmJh
Z2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggNzA3NmM4NjBjYzk0YWQwNDRh
YjYwZmY0MTZiNGEzMTZmZTkxZjVjYi4uNjZhODEyZGQwMjlmNjJmMDg3MmQ2NDFiMDMxNmE2NmE1
ZmFmM2M1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKQEAgLTE1Miw3ICsxNTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hv
dWxkQ29udGludWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1vcnlDYWNoZShjb25zdCBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZWRSZXNvdXJjZSopOwogICAgIGJvb2wgY2hlY2tJbnNl
Y3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYpIGNvbnN0OwogCi0g
ICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXJGaXJlZChUaW1lcjxD
YWNoZWRSZXNvdXJjZUxvYWRlcj4mKTsKKyAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRS
ZXNvdXJjZXNUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rp
b25zKCk7CiAKICAgICBib29sIGNsaWVudERlZmVyc0ltYWdlKGNvbnN0IFVSTCYpIGNvbnN0OwpA
QCAtMTczLDcgKzE3Myw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBEZXF1ZTxQZW5kaW5nUHJl
bG9hZD4gbV9wZW5kaW5nUHJlbG9hZHM7CiAKLSAgICBUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRl
cj4gbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CisgICAgVGltZXIgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CiAKICNpZiBFTkFCTEUoUkVTT1VS
Q0VfVElNSU5HKQogICAgIHN0cnVjdCBJbml0aWF0b3JJbmZvIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IDY3ZGMwZDliNGIyMzQxODIxNzE0NjE4
NzdmZWQ3MGJiMmE5ZDVkYzIuLmFiY2IwY2IzNDVhZmU2MDk2ZDBmNDA4MTQ4YjNmOTI1YWZiZWRj
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAt
ODU1LDcgKzg1NSw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzY2hlZHVsZU9yRGVmZXJTeW5jVGlt
ZXIoKQogICAgIH0pOwogfQogCi12b2lkIEljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQoVGlt
ZXI8SWNvbkRhdGFiYXNlPiYpCit2b2lkIEljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIEFTU0VSVF9OT1RfU1lOQ19USFJFQUQoKTsKICAgICB3YWtlU3luY1RocmVh
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA5MTA3
MGM4MGIyMjg2MGY0YTM4NGVmZjU2OTc1MzM0NzliYmJhYTNmLi40ZTA0OTA0MzFlZWI5OTkxZDVl
NWZjMGEzMWI4MWE5NDg4MjM4MmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaApAQCAtMTE1LDkgKzExNSw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdha2VT
eW5jVGhyZWFkKCk7CiAgICAgdm9pZCBzY2hlZHVsZU9yRGVmZXJTeW5jVGltZXIoKTsKLSAgICB2
b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPEljb25EYXRhYmFzZT4mKTsKKyAgICB2b2lkIHN5bmNU
aW1lckZpcmVkKFRpbWVyJik7CiAgICAgCi0gICAgVGltZXI8SWNvbkRhdGFiYXNlPiBtX3N5bmNU
aW1lcjsKKyAgICBUaW1lciBtX3N5bmNUaW1lcjsKICAgICBUaHJlYWRJZGVudGlmaWVyIG1fc3lu
Y1RocmVhZDsKICAgICBib29sIG1fc3luY1RocmVhZFJ1bm5pbmc7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IDI5OTcxZTk3MjEwMzNk
ZmIxZjcwZDdlZjk5NzlkNGQ1NmNmZjU3ZGYuLmIxZGNmZjI1YmRjMzAxMDEzZDcyOWJmOWU4NjFj
NWFhODU4NTY5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xs
ZXIuY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgYm9vbCBBdXRvc2Nyb2xsQ29udHJvbGxlcjo6cGFu
U2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0CiB9CiAjZW5kaWYKIAotdm9pZCBBdXRvc2Nyb2xsQ29u
dHJvbGxlcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQoVGltZXI8QXV0b3Njcm9sbENvbnRyb2xsZXI+
JikKK3ZvaWQgQXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVy
JikKIHsKICAgICBpZiAoIW1fYXV0b3Njcm9sbFJlbmRlcmVyKSB7CiAgICAgICAgIHN0b3BBdXRv
c2Nyb2xsVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9s
bENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIu
aAppbmRleCBhMDA5ZWE1NmQyZDdiNWFkZWRkYWFjMDVhOWY4YWY1MmM5ZTk1NDIyLi5hMDYwZjlh
NGQ0ZWVlZmZkNmEyYTEwNGYyODA3NDYyOGFkYTdjMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5oCkBAIC02OSwxMyArNjksMTMgQEAgcHVibGljOgogI2Vu
ZGlmCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxBdXRv
c2Nyb2xsQ29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVy
Jik7CiAgICAgdm9pZCBzdGFydEF1dG9zY3JvbGxUaW1lcigpOwogI2lmIEVOQUJMRShQQU5fU0NS
T0xMSU5HKQogICAgIHZvaWQgdXBkYXRlUGFuU2Nyb2xsU3RhdGUoRnJhbWVWaWV3KiwgY29uc3Qg
SW50UG9pbnQmKTsKICNlbmRpZgogCi0gICAgVGltZXI8QXV0b3Njcm9sbENvbnRyb2xsZXI+IG1f
YXV0b3Njcm9sbFRpbWVyOworICAgIFRpbWVyIG1fYXV0b3Njcm9sbFRpbWVyOwogICAgIFJlbmRl
ckJveCogbV9hdXRvc2Nyb2xsUmVuZGVyZXI7CiAgICAgQXV0b3Njcm9sbFR5cGUgbV9hdXRvc2Ny
b2xsVHlwZTsKICAgICBJbnRQb2ludCBtX2RyYWdBbmREcm9wQXV0b3Njcm9sbFJlZmVyZW5jZVBv
c2l0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZl
cmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKaW5kZXggN2U5YTBjZTU4Y2E2ZGEyODc1YTU1MGM5Mzk2MWI0N2IzYjljOTNhYi4uOWVjMDVk
NzQ1MWU4OGFkYjQyMGIzNDNhMjUxOTNjZDg2MWFkOWUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC01Miw3ICs1Miw3IEBAIENhcHRp
b25Vc2VyUHJlZmVyZW5jZXM6On5DYXB0aW9uVXNlclByZWZlcmVuY2VzKCkKIHsKIH0KIAotdm9p
ZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0aW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXM+JikKK3ZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6dGltZXJGaXJlZChUaW1l
ciYpCiB7CiAgICAgY2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaAppbmRleCAwZDA0NWViMmNkODhlMzMy
MjJhZjU4MWU0MmE4NTQ0ZDViZThiNDI3Li42ZjAyYjU3ZDAzY2VlZTUxYWIyOGZjY2IzZjQyZDdh
MTE3MjY5ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuaApAQCAtOTcsMTIgKzk3LDEyIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZUNhcHRp
b25TdHlsZVNoZWV0T3ZlcmlkZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxDYXB0aW9uVXNlclByZWZlcmVuY2VzPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1l
ciYpOwogICAgIHZvaWQgbm90aWZ5KCk7CiAKICAgICBQYWdlR3JvdXAmIG1fcGFnZUdyb3VwOwog
ICAgIENhcHRpb25EaXNwbGF5TW9kZSBtX2Rpc3BsYXlNb2RlOwotICAgIFRpbWVyPENhcHRpb25V
c2VyUHJlZmVyZW5jZXM+IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKICAgICBTdHJpbmcg
bV91c2VyUHJlZmVycmVkTGFuZ3VhZ2U7CiAgICAgU3RyaW5nIG1fY2FwdGlvbnNTdHlsZVNoZWV0
T3ZlcnJpZGU7CiAgICAgU3RyaW5nIG1fcHJpbWFyeUF1ZGlvVHJhY2tMYW5ndWFnZU92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2Vz
TWVkaWFBRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGLmNwcAppbmRleCA5YzVhOTE5OTRjN2RkNjg2Y2YwN2RmYzVkYjcyOGQxOTg2ODVmNDQ3
Li4zYmI3NjI4YWJhZjJjMDc4NTQzZWEzNDkyNDU3MTBhZWFmMzE1NjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcApA
QCAtMjI0LDcgKzIyNCw3IEBAIGJvb2wgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnVz
ZXJQcmVmZXJzU3VidGl0bGVzKCkgY29uc3QKICAgICByZXR1cm4gIShjYXB0aW9uaW5nTWVkaWFD
aGFyYWN0ZXJpc3RpY3MgJiYgQ0ZBcnJheUdldENvdW50KGNhcHRpb25pbmdNZWRpYUNoYXJhY3Rl
cmlzdGljcy5nZXQoKSkpOwogfQogCi12b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
Ojp1cGRhdGVUaW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGPiYp
Cit2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjp1cGRhdGVUaW1lckZpcmVkKFRp
bWVyJikKIHsKICAgICB1cGRhdGVDYXB0aW9uU3R5bGVTaGVldE92ZXJpZGUoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuaApp
bmRleCA3MTY5MGQ1NzM3NmQ1YTMwYzkxMDhjZDliNTJlN2JiYzAyMmVmMGMxLi44YjBiYmM3MzRj
NGFlN2RkOTQ0Mjg4Y2IyYjRjZGQ2NjlhNzhjNzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oCkBAIC02OCw3ICs2OCw3IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICNpZiBIQVZFKE1FRElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQotICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lcjxDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRj4mKTsKKyAgICB2b2lkIHVwZGF0ZVRpbWVyRmlyZWQoVGltZXImKTsKIAogICAg
IFN0cmluZyBjYXB0aW9uc1dpbmRvd0NTUygpIGNvbnN0OwogICAgIFN0cmluZyBjYXB0aW9uc0Jh
Y2tncm91bmRDU1MoKSBjb25zdDsKQEAgLTgwLDcgKzgwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgY2FwdGlvbnNUZXh0RWRnZUNTUygpIGNvbnN0OwogICAgIFN0cmluZyBjc3NQcm9wZXJ0eVdp
dGhUZXh0RWRnZUNvbG9yKENTU1Byb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IENvbG9y
JiwgYm9vbCkgY29uc3Q7CiAgICAgU3RyaW5nIGNvbG9yUHJvcGVydHlDU1MoQ1NTUHJvcGVydHlJ
RCwgY29uc3QgQ29sb3ImLCBib29sKSBjb25zdDsKLSAgICBUaW1lcjxDYXB0aW9uVXNlclByZWZl
cmVuY2VzTWVkaWFBRj4gbV91cGRhdGVTdHlsZVNoZWV0VGltZXI7CisgICAgVGltZXIgbV91cGRh
dGVTdHlsZVNoZWV0VGltZXI7CiAKICAgICBib29sIG1fbGlzdGVuaW5nRm9yUHJlZmVyZW5jZUNo
YW5nZXM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGEyYmFhMjNjMGJkMjcxOGNhYmE3YzZkYzY5MmZmNzFkN2RjZjg1YjEuLjZhMGUwMTE3YmI2
YzdjOTE2Nzk1Y2FkNWY1ZDQxMDlhMTIxYjAwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZp
Y2VDb250cm9sbGVyLmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6
OmRpc3BhdGNoRGV2aWNlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gcHJwRXZlbnQpCiAgICAgfQog
fQogCi12b2lkIERldmljZUNvbnRyb2xsZXI6OmZpcmVEZXZpY2VFdmVudChUaW1lcjxEZXZpY2VD
b250cm9sbGVyPiYgdGltZXIpCit2b2lkIERldmljZUNvbnRyb2xsZXI6OmZpcmVEZXZpY2VFdmVu
dChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZt
X3RpbWVyKTsKICAgICBBU1NFUlQoaGFzTGFzdERhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2
aWNlQ29udHJvbGxlci5oCmluZGV4IDJhYmZiNzk4ZjNjMTkxYzAzYjVjNjAzYmNiNTNmOWY2NzRj
Yzk3ZTMuLmM0NjQwM2Q0ZjQyN2E3NWZlOTgyOGVkYWFlNzZkNmNmYzc4ZGNlMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCkBAIC01NiwxMiArNTYsMTIgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCkgeyByZXR1cm4g
MDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaXJlRGV2aWNlRXZlbnQoVGltZXI8RGV2aWNl
Q29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGZpcmVEZXZpY2VFdmVudChUaW1lciYpOwogCiAgICAg
SGFzaENvdW50ZWRTZXQ8UmVmUHRyPERPTVdpbmRvdz4+IG1fbGlzdGVuZXJzOwogICAgIEhhc2hD
b3VudGVkU2V0PFJlZlB0cjxET01XaW5kb3c+PiBtX2xhc3RFdmVudExpc3RlbmVyczsKICAgICBE
ZXZpY2VDbGllbnQqIG1fY2xpZW50OwotICAgIFRpbWVyPERldmljZUNvbnRyb2xsZXI+IG1fdGlt
ZXI7CisgICAgVGltZXIgbV90aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlNWNhZDZiYWZmYmRlYzM3NzdjZDg3
YmZjMGRmOTIwZTVlYzIwOTdjLi45MmZlNjVjYTI1YTEyZDNjNTVlZGNiYjYyZDUzZGJiODRkYjE1
YmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xMzEwLDcgKzEzMTAs
NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6dXNlSGFuZEN1cnNvcihOb2RlKiBub2RlLCBib29sIGlz
T3ZlckxpbmssIGJvb2wgc2hpZnRLZXkpCiAgICAgcmV0dXJuICgoaXNPdmVyTGluayB8fCBpc1N1
Ym1pdEltYWdlKG5vZGUpKSAmJiAoIWVkaXRhYmxlIHx8IGVkaXRhYmxlTGlua0VuYWJsZWQpKTsK
IH0KIAotdm9pZCBFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RXZl
bnRIYW5kbGVyPiYpCit2b2lkIEV2ZW50SGFuZGxlcjo6Y3Vyc29yVXBkYXRlVGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAgICAgdXBkYXRlQ3Vy
c29yKCk7CkBAIC0xNTUzLDcgKzE1NTMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0
b0hpZGVDdXJzb3JUaW1lcigpCiAgICAgICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1lci5zdG9wKCk7
CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8
RXZlbnRIYW5kbGVyPiYgdGltZXIpCit2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JU
aW1lckZpcmVkKFRpbWVyJiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCAmdGlt
ZXIgPT0gJm1fYXV0b0hpZGVDdXJzb3JUaW1lcik7CiAgICAgbV9jdXJyZW50TW91c2VDdXJzb3Ig
PSBub25lQ3Vyc29yKCk7CkBAIC0xNTc2LDcgKzE1NzYsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
YmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzKGNvbnN0IEhpdFRlc3RSZXN1bHQm
IGhpdAogICAgIHBhZ2UtPmNocm9tZSgpLmRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91
c2VQcmVzcyhtX21vdXNlRG93blBvcywgaGl0VGVzdFJlc3VsdCk7CiB9CiAgICAgCi12b2lkIEV2
ZW50SGFuZGxlcjo6cmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXI8RXZlbnRIYW5kbGVyPiYg
dGltZXIpCit2b2lkIEV2ZW50SGFuZGxlcjo6cmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXIm
IHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9sb25nTW91
c2VQcmVzc1RpbWVyKTsKIApAQCAtMjk0NCw3ICsyOTQ0LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6
OmNhbmNlbEZha2VNb3VzZU1vdmVFdmVudCgpCiAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1l
ci5zdG9wKCk7CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjpmYWtlTW91c2VNb3ZlRXZlbnRUaW1l
ckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mIHRpbWVyKQordm9pZCBFdmVudEhhbmRsZXI6OmZh
a2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXImIHRpbWVyKQogewogICAgIEFTU0VSVF9V
TlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lcik7CiAgICAg
QVNTRVJUKCFtX21vdXNlUHJlc3NlZCk7CkBAIC0yOTgwLDcgKzI5ODAsNyBAQCB2b2lkIEV2ZW50
SGFuZGxlcjo6cmVzaXplTGF5ZXJEZXN0cm95ZWQoKQogICAgIG1fcmVzaXplTGF5ZXIgPSAwOwog
fQogCi12b2lkIEV2ZW50SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxl
cj4mKQordm9pZCBFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
bV9ob3ZlclRpbWVyLnN0b3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXgg
MzdlYTc1ZGE4ZGYzYTEzNDViODgzNTMyMTk0YzY4NmRkNTc5OTBlYS4uOWNkODU3YWM2OTBmYzJm
NTllMjI5OThhMzlkMjZjYTkyM2E5MTFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CkBAIC0zMjYsOSArMzI2LDkgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsQ3Vyc29yIHNlbGVj
dEN1cnNvcihjb25zdCBIaXRUZXN0UmVzdWx0JiwgYm9vbCBzaGlmdEtleSk7CiAKLSAgICB2b2lk
IGhvdmVyVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+Jik7CisgICAgdm9pZCBob3ZlclRp
bWVyRmlyZWQoVGltZXImKTsKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCi0gICAgdm9pZCBj
dXJzb3JVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mKTsKKyAgICB2b2lkIGN1
cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgogCiAgICAgYm9vbCBsb2dpY2Fs
U2Nyb2xsT3ZlcmZsb3coU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHks
IE5vZGUqIHN0YXJ0aW5nTm9kZSA9IDApOwpAQCAtMzQxLDcgKzM0MSw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIGJvb2wgZXZlbnRJbnZlcnRzVGFic1RvTGlua3NDbGllbnRDYWxsUmVzdWx0KEtl
eWJvYXJkRXZlbnQqKTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICB2b2lk
IGZha2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiYpOworICAg
IHZvaWQgZmFrZU1vdXNlTW92ZUV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgY2Fu
Y2VsRmFrZU1vdXNlTW92ZUV2ZW50KCk7CiAjZW5kaWYKIApAQCAtNDM3LDExICs0MzcsMTEgQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiAgICAgdm9pZCBzdGFydEF1
dG9IaWRlQ3Vyc29yVGltZXIoKTsKICAgICB2b2lkIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIo
KTsKLSAgICB2b2lkIGF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+
Jik7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgog
CiAgICAgdm9pZCBiZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoY29uc3QgSGl0
VGVzdFJlc3VsdCYpOwotICAgIHZvaWQgcmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXI8RXZl
bnRIYW5kbGVyPiYpOworICAgIHZvaWQgcmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXImKTsK
ICAgICB2b2lkIGNhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoKTsKICAgICBi
b29sIGxvbmdNb3VzZVByZXNzSHlzdGVyZXNpc0V4Y2VlZGVkKCk7CiAgICAgdm9pZCBjbGVhckxv
bmdNb3VzZVByZXNzU3RhdGUoKTsKQEAgLTQ3MCwxMiArNDcwLDEyIEBAIHByaXZhdGU6CiAKICAg
ICBib29sIG1fcGFuU2Nyb2xsQnV0dG9uUHJlc3NlZDsKIAotICAgIFRpbWVyPEV2ZW50SGFuZGxl
cj4gbV9ob3ZlclRpbWVyOworICAgIFRpbWVyIG1faG92ZXJUaW1lcjsKICNpZiBFTkFCTEUoQ1VS
U09SX1NVUFBPUlQpCi0gICAgVGltZXI8RXZlbnRIYW5kbGVyPiBtX2N1cnNvclVwZGF0ZVRpbWVy
OworICAgIFRpbWVyIG1fY3Vyc29yVXBkYXRlVGltZXI7CiAjZW5kaWYKIAotICAgIFRpbWVyPEV2
ZW50SGFuZGxlcj4gbV9sb25nTW91c2VQcmVzc1RpbWVyOworICAgIFRpbWVyIG1fbG9uZ01vdXNl
UHJlc3NUaW1lcjsKICAgICBib29sIG1fZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3M7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QXV0b3Njcm9sbENvbnRyb2xsZXI+IG1fYXV0b3Njcm9sbENvbnRy
b2xsZXI7CkBAIC00ODMsNyArNDgzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbW91c2VEb3du
V2FzSW5TdWJmcmFtZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICBUaW1l
cjxFdmVudEhhbmRsZXI+IG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXI7CisgICAgVGltZXIgbV9m
YWtlTW91c2VNb3ZlRXZlbnRUaW1lcjsKICNlbmRpZgogCiAgICAgYm9vbCBtX3N2Z1BhbjsKQEAg
LTU1OCw3ICs1NTgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0hhbmRsaW5nV2hlZWxFdmVu
dDsKIAogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKLSAgICBUaW1lcjxFdmVudEhhbmRs
ZXI+IG1fYXV0b0hpZGVDdXJzb3JUaW1lcjsKKyAgICBUaW1lciBtX2F1dG9IaWRlQ3Vyc29yVGlt
ZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggMzM2
ZTE1MWI2NDhjMTU2NTRkYWRhMDkyZmQ1NWYwMTljYTRhNTkzYy4uNjM1YzhlYWQwYWJmYjY2MGFj
NjY0Mzk0N2U0MmZhZTczNDQ5NzE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCgp
CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50
LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotdm9pZCBFdmVudFNvdXJjZTo6Y29ubmVjdFRpbWVyRmly
ZWQoVGltZXI8RXZlbnRTb3VyY2U+JikKK3ZvaWQgRXZlbnRTb3VyY2U6OmNvbm5lY3RUaW1lckZp
cmVkKFRpbWVyJikKIHsKICAgICBjb25uZWN0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKaW5kZXggZjJkMWMxMjU2NDcxMmVhNGI2NGNjYTVmNDc2MjljMjYxY2M2ZDU4Zi4uYTQ1MjVm
NDIzY2ZjMmUxMjVlM2NmNWYzZTkzNDk3NzUzY2YzN2NmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtOTcsNyArOTcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya1JlcXVl
c3RFbmRlZCgpOwogICAgIHZvaWQgc2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpOwogICAgIHZvaWQg
c2NoZWR1bGVSZWNvbm5lY3QoKTsKLSAgICB2b2lkIGNvbm5lY3RUaW1lckZpcmVkKFRpbWVyPEV2
ZW50U291cmNlPiYpOworICAgIHZvaWQgY29ubmVjdFRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIGFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKTsKICAgICB2b2lkIHBhcnNlRXZlbnRTdHJlYW0o
KTsKICAgICB2b2lkIHBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2lnbmVkIHBvcywgaW50IGZpZWxk
TGVuZ3RoLCBpbnQgbGluZUxlbmd0aCk7CkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVmUHRyPFRo
cmVhZGFibGVMb2FkZXI+IG1fbG9hZGVyOwotICAgIFRpbWVyPEV2ZW50U291cmNlPiBtX2Nvbm5l
Y3RUaW1lcjsKKyAgICBUaW1lciBtX2Nvbm5lY3RUaW1lcjsKICAgICBWZWN0b3I8VUNoYXI+IG1f
cmVjZWl2ZUJ1ZjsKICAgICBib29sIG1fZGlzY2FyZFRyYWlsaW5nTmV3bGluZTsKICAgICBib29s
IG1fcmVxdWVzdEluRmxpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3Bw
CmluZGV4IGMyZmViN2M4MGZhZDE2M2NhM2E0Y2U4ZTU3ODhhNTc3NzNiZGZlNDYuLjdhNWY1ZDRh
ZDEyNjgzMmVmYzRlOTk3YTg2NTk4Mjk4ZjMwNDE2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAKQEAgLTkxMiw3ICs5MTIsNyBAQCB2b2lkIEZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKQogICAgIG1fZm9jdXNSZXBhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDAuMDMzKTsKIH0KIAotdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmZvY3Vz
UmVwYWludFRpbWVyRmlyZWQoVGltZXI8Rm9jdXNDb250cm9sbGVyPiYpCit2b2lkIEZvY3VzQ29u
dHJvbGxlcjo6Zm9jdXNSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgRG9jdW1lbnQq
IGZvY3VzZWREb2N1bWVudCA9IGZvY3VzZWRPck1haW5GcmFtZSgpLmRvY3VtZW50KCk7CiAgICAg
aWYgKCFmb2N1c2VkRG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApp
bmRleCBiYzQ4ZDQzMzhmZTc4OWUxYTg2MWMxMDViN2M4YTQ3N2Q4MGM2NzYyLi4zNmYxMjAwODQ5
N2NhNWU4ZjcxOTk3NTViYzM1M2FjNjRmOTM5Yzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmgKQEAgLTEyMCwxNCArMTIwLDE0IEBAIHByaXZhdGU6CiAgICAgYm9vbCBhZHZh
bmNlRm9jdXNEaXJlY3Rpb25hbGx5SW5Db250YWluZXIoTm9kZSogY29udGFpbmVyLCBjb25zdCBM
YXlvdXRSZWN0JiBzdGFydGluZ1JlY3QsIEZvY3VzRGlyZWN0aW9uLCBLZXlib2FyZEV2ZW50Kik7
CiAgICAgdm9pZCBmaW5kRm9jdXNDYW5kaWRhdGVJbkNvbnRhaW5lcihOb2RlKiBjb250YWluZXIs
IGNvbnN0IExheW91dFJlY3QmIHN0YXJ0aW5nUmVjdCwgRm9jdXNEaXJlY3Rpb24sIEtleWJvYXJk
RXZlbnQqLCBGb2N1c0NhbmRpZGF0ZSYgY2xvc2VzdCk7CiAKLSAgICB2b2lkIGZvY3VzUmVwYWlu
dFRpbWVyRmlyZWQoVGltZXI8Rm9jdXNDb250cm9sbGVyPiYpOworICAgIHZvaWQgZm9jdXNSZXBh
aW50VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUGFnZSYgbV9wYWdlOwogICAgIFJlZlB0cjxG
cmFtZT4gbV9mb2N1c2VkRnJhbWU7CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdGb2N1c2VkRnJhbWU7
CiAgICAgVmlld1N0YXRlOjpGbGFncyBtX3ZpZXdTdGF0ZTsKIAotICAgIFRpbWVyPEZvY3VzQ29u
dHJvbGxlcj4gbV9mb2N1c1JlcGFpbnRUaW1lcjsKKyAgICBUaW1lciBtX2ZvY3VzUmVwYWludFRp
bWVyOwogICAgIGRvdWJsZSBtX2ZvY3VzU2V0VGltZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAK
aW5kZXggNWRkY2E0MjJiYTRkNjU5MTE3NWUzMWY1MTc4NWRkMjMzZDhjM2JhMi4uOWMzNzZhOTA1
M2Q5MDYyZGQwM2RjM2Y0MjI1MDMwOTA3YmMyNTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAg
LTUxNiw3ICs1MTYsNyBAQCB2b2lkIEZyYW1lOjpzY3JvbGxPdmVyZmxvd0xheWVyKFJlbmRlckxh
eWVyKiBsYXllciwgY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsCiAgICAgc2VsZWN0aW9uKCku
dXBkYXRlQXBwZWFyYW5jZSgpOwogfQogCi12b2lkIEZyYW1lOjpvdmVyZmxvd0F1dG9TY3JvbGxU
aW1lckZpcmVkKFRpbWVyPEZyYW1lPiopCit2b2lkIEZyYW1lOjpvdmVyZmxvd0F1dG9TY3JvbGxU
aW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAoIWV2ZW50SGFuZGxlcigpLm1vdXNlUHJlc3Nl
ZCgpIHx8IGNoZWNrT3ZlcmZsb3dTY3JvbGwoUGVyZm9ybU92ZXJmbG93U2Nyb2xsKSA9PSBPdmVy
Zmxvd1Njcm9sbE5vbmUpIHsKICAgICAgICAgaWYgKG1fb3ZlcmZsb3dBdXRvU2Nyb2xsVGltZXIu
aXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCA2ZWRkYTM0MjA3OTMwMzhmODMyZDdhODMy
M2ZmNzBhMTNmYWNhODYzLi5iZTc0OTQyNTk3YWEzMGQwZmVlMzkxZDhlNTdmMjVlMGFiNDA2YzYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0yOTUsMTMgKzI5NSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIGJvb2wgaGl0VGVzdFJlc3VsdEF0Vmlld3BvcnRMb2NhdGlvbihjb25zdCBG
bG9hdFBvaW50JiB2aWV3cG9ydExvY2F0aW9uLCBIaXRUZXN0UmVzdWx0JiwgSW50UG9pbnQmIGNl
bnRlcik7CiAgICAgICAgIE5vZGUqIHF1YWxpZnlpbmdOb2RlQXRWaWV3cG9ydExvY2F0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIHZpZXdwb3J0TG9jYXRpb24sIEZsb2F0UG9pbnQmIGFkanVzdGVkVmll
d3BvcnRMb2NhdGlvbiwgTm9kZVF1YWxpZmllciwgYm9vbCBzaG91bGRBcHByb3hpbWF0ZSk7CiAK
LSAgICAgICAgdm9pZCBvdmVyZmxvd0F1dG9TY3JvbGxUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiop
OworICAgICAgICB2b2lkIG92ZXJmbG93QXV0b1Njcm9sbFRpbWVyRmlyZWQoVGltZXIqKTsKICAg
ICAgICAgdm9pZCBzdGFydE92ZXJmbG93QXV0b1Njcm9sbChjb25zdCBJbnRQb2ludCYpOwogICAg
ICAgICBpbnQgY2hlY2tPdmVyZmxvd1Njcm9sbChPdmVyZmxvd1Njcm9sbEFjdGlvbik7CiAKICAg
ICAgICAgdm9pZCBzZXRUaW1lcnNQYXVzZWRJbnRlcm5hbChib29sKTsKIAotICAgICAgICBUaW1l
cjxGcmFtZT4gbV9vdmVyZmxvd0F1dG9TY3JvbGxUaW1lcjsKKyAgICAgICAgVGltZXIgbV9vdmVy
Zmxvd0F1dG9TY3JvbGxUaW1lcjsKICAgICAgICAgZmxvYXQgbV9vdmVyZmxvd0F1dG9TY3JvbGxE
ZWx0YTsKICAgICAgICAgSW50UG9pbnQgbV9vdmVyZmxvd0F1dG9TY3JvbGxQb3M7CiAgICAgICAg
IFZpZXdwb3J0QXJndW1lbnRzIG1fdmlld3BvcnRBcmd1bWVudHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggYzU5OWYxYmFhMzM1Nzk4YjIxYzE5YjU0NzMzMWI0NThkMjI5YzBmOC4u
MjQ4ZjJhMjdhODY3ZjdjNzQ4NGFkM2I2YzZjY2I2OGZkODA1YjE3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMTczOCw3ICsxNzM4LDcgQEAgSW50UG9pbnQgRnJhbWVWaWV3Ojpt
YXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBtYXhpbXVtT2Zmc2V0Owog
fQogCi12b2lkIEZyYW1lVmlldzo6ZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJlZChUaW1lcjxG
cmFtZVZpZXc+JikKK3ZvaWQgRnJhbWVWaWV3OjpkZWxheWVkU2Nyb2xsRXZlbnRUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsKIH0KQEAgLTI0MDAsNyArMjQwMCw3
IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKCkKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxp
bmdFbmFibGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQordm9pZCBGcmFtZVZpZXc6OnNw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fc3Bl
Y3VsYXRpdmVUaWxpbmdFbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC0yNDA4LDcgKzI0MDgs
NyBAQCB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVkKFRp
bWVyPEZyYW1lVmlldz4mKQogICAgIGFkanVzdFRpbGVkQmFja2luZ0NvdmVyYWdlKCk7CiB9CiAK
LXZvaWQgRnJhbWVWaWV3OjpsYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQordm9p
ZCBGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQoVGltZXImKQogewogI2lmZGVmIElOU1RSVU1F
TlRfTEFZT1VUX1NDSEVEVUxJTkcKICAgICBpZiAoIWZyYW1lKCkuZG9jdW1lbnQoKS0+b3duZXJF
bGVtZW50KCkpCkBAIC0yODUwLDcgKzI4NTAsNyBAQCBib29sIEZyYW1lVmlldzo6dXBkYXRlRW1i
ZWRkZWRPYmplY3RzKCkKICAgICByZXR1cm4gbV9lbWJlZGRlZE9iamVjdHNUb1VwZGF0ZS0+aXNF
bXB0eSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6dXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXJG
aXJlZChUaW1lcjxGcmFtZVZpZXc+KikKK3ZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9i
amVjdHNUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0
KHRoaXMpOwogICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RvcCgpOwpAQCAtMjk5
OSw3ICsyOTk5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OndpbGxFbmRMaXZlUmVzaXplKCkKICAgICBh
ZGp1c3RUaWxlZEJhY2tpbmdDb3ZlcmFnZSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6cG9zdExh
eW91dFRpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3PiYpCit2b2lkIEZyYW1lVmlldzo6cG9zdExh
eW91dFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIHBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGFmOTgwZjU4ODQyMjcwYTZhYWJmNTIxMDQy
M2Q2NDE2YzJkNjIyY2UuLjE4OWZmNDc2YTE5MTNjMzAxZTc3ZTBhNjliNTcyMWQ5MDNhMTVmNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTA0LDcgKzEwNCw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlID0gdHJ1ZSk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBkaWRGaXJzdExheW91dCgpIGNvbnN0OwotICAgIHZvaWQgbGF5b3V0VGltZXJG
aXJlZChUaW1lcjxGcmFtZVZpZXc+Jik7CisgICAgdm9pZCBsYXlvdXRUaW1lckZpcmVkKFRpbWVy
Jik7CiAgICAgdm9pZCBzY2hlZHVsZVJlbGF5b3V0KCk7CiAgICAgdm9pZCBzY2hlZHVsZVJlbGF5
b3V0T2ZTdWJ0cmVlKFJlbmRlckVsZW1lbnQmKTsKICAgICB2b2lkIHVuc2NoZWR1bGVSZWxheW91
dCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSdWJi
ZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZp
cnR1YWwgSW50UG9pbnQgbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBJbnRQb2ludCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24o
KSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGRlbGF5ZWRTY3JvbGxFdmVudFRpbWVyRmlyZWQo
VGltZXI8RnJhbWVWaWV3PiYpOworICAgIHZvaWQgZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJl
ZChUaW1lciYpOwogCiAgICAgdm9pZCByZXN1bWVWaXNpYmxlSW1hZ2VBbmltYXRpb25zSW5jbHVk
aW5nU3ViZnJhbWVzKCk7CiAKQEAgLTMwMSw3ICszMDEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHJlc3RvcmVTY3JvbGxiYXIoKTsKIAotICAgIHZvaWQgcG9zdExheW91dFRpbWVyRmlyZWQoVGlt
ZXI8RnJhbWVWaWV3PiYpOworICAgIHZvaWQgcG9zdExheW91dFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIoKSBjb25zdDsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdhc1Njcm9sbGVkQnlVc2VyKGJvb2wpOwpAQCAtNjA3
LDkgKzYwNyw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBhZ2VUaGF0Q29u
dGVudEFyZWFXaWxsUGFpbnQoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgZW5hYmxlU3Bl
Y3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpOwotICAgIHZvaWQgc3BlY3VsYXRpdmVUaWxpbmdFbmFi
bGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKTsKKyAgICB2b2lkIHNwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgdm9pZCB1cGRhdGVFbWJlZGRlZE9i
amVjdHNUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4qKTsKKyAgICB2b2lkIHVwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyRmlyZWQoVGltZXIqKTsKICAgICBib29sIHVwZGF0ZUVtYmVkZGVkT2Jq
ZWN0cygpOwogICAgIHZvaWQgdXBkYXRlRW1iZWRkZWRPYmplY3QoUmVuZGVyRW1iZWRkZWRPYmpl
Y3QmKTsKICAgICB2b2lkIHNjcm9sbFRvQW5jaG9yKCk7CkBAIC02NTMsNyArNjUzLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNPdmVybGFwcGVkOwogICAgIGJvb2wgbV9jb250ZW50SXNPcGFx
dWU7CiAKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fbGF5b3V0VGltZXI7CisgICAgVGltZXIgbV9s
YXlvdXRUaW1lcjsKICAgICBib29sIG1fZGVsYXllZExheW91dDsKICAgICBSZW5kZXJFbGVtZW50
KiBtX2xheW91dFJvb3Q7CiAKQEAgLTY2Miw4ICs2NjIsOCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9pblN5bmNocm9ub3VzUG9zdExheW91dDsKICAgICBpbnQgbV9sYXlvdXRDb3VudDsKICAgICB1
bnNpZ25lZCBtX25lc3RlZExheW91dENvdW50OwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV9wb3N0
TGF5b3V0VGFza3NUaW1lcjsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fdXBkYXRlRW1iZWRkZWRP
YmplY3RzVGltZXI7CisgICAgVGltZXIgbV9wb3N0TGF5b3V0VGFza3NUaW1lcjsKKyAgICBUaW1l
ciBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyOwogICAgIGJvb2wgbV9maXJzdExheW91dENh
bGxiYWNrUGVuZGluZzsKIAogICAgIGJvb2wgbV9maXJzdExheW91dDsKQEAgLTY4NSw3ICs2ODUs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNTY3JvbGxlZEJ5VXNlcjsKICAgICBib29sIG1f
aW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiAgICAgYm9vbCBtX3NhZmVUb1Byb3BhZ2F0ZVNjcm9sbFRv
UGFyZW50OwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lcjsK
KyAgICBUaW1lciBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyOwogCiAgICAgZG91YmxlIG1fbGFz
dFBhaW50VGltZTsKIApAQCAtNzE0LDcgKzcxNCw3IEBAIHByaXZhdGU6CiAgICAgUmVuZGVyUHRy
PFJlbmRlclNjcm9sbGJhclBhcnQ+IG1fc2Nyb2xsQ29ybmVyOwogCiAgICAgYm9vbCBtX3NwZWN1
bGF0aXZlVGlsaW5nRW5hYmxlZDsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fc3BlY3VsYXRpdmVU
aWxpbmdFbmFibGVUaW1lcjsKKyAgICBUaW1lciBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGlt
ZXI7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9vbCBtX3VzZUN1c3RvbUZpeGVkUG9zaXRp
b25MYXlvdXRSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zlcmxh
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCA5ZThhYzFi
ZDY5NWE4ZTViZTFhMWFmZjViMzJiZTk2OTY1YjQ5MjRjLi5iNTFkNDY0NDg3MDNlYTFjOWI4Mjc5
ODUyMzE5ZjEzOGI0MTBlZThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VP
dmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAt
MjI1LDcgKzIyNSw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiAg
ICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZhZGVBbmltYXRpb25G
cmFtZVJhdGUpOwogfQogCi12b2lkIFBhZ2VPdmVybGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJl
ZChUaW1lcjxQYWdlT3ZlcmxheT4mKQordm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXImKQogewogICAgIGZsb2F0IGFuaW1hdGlvblByb2dyZXNzID0gKGN1cnJl
bnRUaW1lKCkgLSBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUpIC8gbV9mYWRlQW5pbWF0aW9uRHVy
YXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaAppbmRleCBhM2Q4Mjg1OGVkYTRkZjMw
MTBhYmU0NmRkYjRhMTY0ZGFmNDJiNTcxLi43MGZlYmM4Y2JhMmU1N2I5MWQwZGY2MjQ4MGUwNDM2
NTk5YzMwN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCkBAIC0xMTIsMTIgKzExMiwx
MiBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBhZ2VPdmVybGF5KENsaWVudCYsIE92ZXJsYXlU
eXBlKTsKIAogICAgIHZvaWQgc3RhcnRGYWRlQW5pbWF0aW9uKCk7Ci0gICAgdm9pZCBmYWRlQW5p
bWF0aW9uVGltZXJGaXJlZChUaW1lcjxQYWdlT3ZlcmxheT4mKTsKKyAgICB2b2lkIGZhZGVBbmlt
YXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBDbGllbnQmIG1fY2xpZW50OwogICAgIFBh
Z2UqIG1fcGFnZTsKIAotICAgIFRpbWVyPFBhZ2VPdmVybGF5PiBtX2ZhZGVBbmltYXRpb25UaW1l
cjsKKyAgICBUaW1lciBtX2ZhZGVBbmltYXRpb25UaW1lcjsKICAgICBkb3VibGUgbV9mYWRlQW5p
bWF0aW9uU3RhcnRUaW1lOwogICAgIGRvdWJsZSBtX2ZhZGVBbmltYXRpb25EdXJhdGlvbjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBlNDA5M2E0MGIwZTliZTI0MGNkZmJmZDFiZjQ5
MjFlMjNlMmY3N2IwLi5iNTVmOTY3MTBlMDgwYWE4NTg1OTRiMzA2YjdkOTYzNzlkYjZlZWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseSkKICAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIFNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGlt
ZXI8U2V0dGluZ3M+KikKK3ZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZChUaW1lciopCiB7CiAgICAgc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3MobV9wYWdlKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA3NjQ3MmYwMDg1ZDNlZGQ2Mzg2MGUzNzllOGMwZmQ3
YjU0NmJmOTIyLi41MTU3YWQzNTVlOGQwMmVjODJiZTQ4NWExMTI1MjQwOTJmOWFiZTJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zMjEsOCArMzIxLDggQEAgcHJpdmF0ZToKIAogICAgIGRv
dWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCi0g
ICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKLSAgICB2
b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKKyAg
ICBUaW1lciBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CisgICAgdm9pZCBpbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXIqKTsKIAogI2lmIEVOQUJMRShISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykKICAgICBib29sIG1faGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBjODkwMzMzMDYwNDgxYjkwMTNiZjA1
Zjc2N2VkOGVhYjU0Yjc5YzAwLi44ZDg5OTE2YmQyYjY3MGZiZTNiNmVlOWQwYmYzNzNhYWQyODkz
YTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25Db250cm9sbGVyLmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5n
ZWQvCiAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QodGltZVRvTmV4dFNlcnZpY2Up
OwogfQogCi12b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlckZpcmVkKFRpbWVyPEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlPiYpCit2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0
Y2hlckZpcmVkKFRpbWVyJikKIHsKICAgICBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsKIH0K
QEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmlt
YXRpb25GcmFtZUNhbGxiYWNrRmlyZWQoKQogfQogI2VuZGlmCiAKLXZvaWQgQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU+JikKK3ZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlv
blRpbWVyRmlyZWQoVGltZXImKQogewogICAgIC8vIE1ha2Ugc3VyZSBhbmltYXRpb25VcGRhdGVU
aW1lIGlzIHVwZGF0ZWQsIHNvIHRoYXQgaXQgaXMgY3VycmVudCBldmVuIGlmIG5vCiAgICAgLy8g
c3R5bGVDaGFuZ2UgaGFzIGhhcHBlbmVkIChlLmcuIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGUuaAppbmRleCBmNjBmNjlhOGVjYjI2MDFkMmJmOTU3ZmJiYjY4ZjBiMDQy
YWM3YjRhLi41YTQ1NGY4Y2E0ZTQ1ODk0ODhjZmIxZWVjZjhjNzk1ODRmNDVhNDIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlLmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIENvbXBvc2l0ZUFu
aW1hdGlvbiYgZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKFJlbmRlckVsZW1lbnQmKTsKICAgICBi
b29sIGNsZWFyKFJlbmRlckVsZW1lbnQmKTsKIAotICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRl
ZERpc3BhdGNoZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZT4mKTsKKyAg
ICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIHN0YXJ0VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKTsKICAgICB2b2lkIGFkZEV2
ZW50VG9EaXNwYXRjaChQYXNzUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSk7
CiAgICAgdm9pZCBhZGRFbGVtZW50Q2hhbmdlVG9EaXNwYXRjaChQYXNzUmVmPEVsZW1lbnQ+KTsK
QEAgLTExNCwxNSArMTE0LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFsbG93c05ld0FuaW1h
dGlvbnNXaGlsZVN1c3BlbmRlZChib29sKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGFuaW1hdGlv
blRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+Jik7CisgICAgdm9p
ZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICB2b2lkIHN0eWxlQXZhaWxhYmxl
KCk7CiAgICAgdm9pZCBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsKICAgICB2b2lkIHN0YXJ0
VGltZVJlc3BvbnNlKGRvdWJsZSB0KTsKIAogICAgIEhhc2hNYXA8UmVuZGVyRWxlbWVudCosIFJl
ZlB0cjxDb21wb3NpdGVBbmltYXRpb24+PiBtX2NvbXBvc2l0ZUFuaW1hdGlvbnM7Ci0gICAgVGlt
ZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+IG1fYW5pbWF0aW9uVGltZXI7Ci0gICAgVGlt
ZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+IG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3Bh
dGNoZXI7CisgICAgVGltZXIgbV9hbmltYXRpb25UaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZVN0
eWxlSWZOZWVkZWREaXNwYXRjaGVyOwogICAgIEZyYW1lJiBtX2ZyYW1lOwogICAgIAogICAgIGNs
YXNzIEV2ZW50VG9EaXNwYXRjaCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggMWQ3YzNhZDUxNWEyOTFiNmY0YjIwMjk4
NjA2ZjIzZDI3ODM1OWJkZS4uOGFhZjkxMmUwMzI1Njg5OWFmOWVkNzY2YWQxMjA1ZDJhNjgxNTBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXIuaApAQCAtMTIzLDcgKzEyMyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1vdXNl
SXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVyQnV0dG9uKSBjb25z
dDsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hs
aWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7Ci0gICAgdm9pZCBkZXRlcm1pbmVB
Y3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI+
Jik7CisgICAgdm9pZCBkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICBzdGF0aWMgYm9vbCBoaWdobGlnaHRzQXJlRXF1aXZhbGVudChjb25zdCBIaWdobGln
aHQqIGEsIGNvbnN0IEhpZ2hsaWdodCogYik7CiAKQEAgLTE1Niw3ICsxNTYsNyBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKIAotICAgIFRpbWVyPFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI+IG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXI7CisgICAg
VGltZXIgbV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNP
dmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIubW0KaW5kZXggOTBhZTU5MDRjZjRjZTU2YjNiZDdkOTgyNDJmZDFiZTVj
OTE0N2ViNi4uMDA5OGM3NjMxM2Y0Y2M2NjBlOTY4YTkwZDNlOTM4YThiMWJiYzlkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lm1tCkBAIC00NTAsNyArNDUwLDcgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICByZXR1
cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4o
cmVtYWluaW5nRGVsYXkpOwogfQogCi12b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoVGltZXI8U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcj4mKQordm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3Rp
dmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBib29sIG1vdXNlSXNPdmVyQnV0
dG9uOwogICAgIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodChtb3VzZUlzT3ZlckJ1dHRvbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDIzMzMwN2Q3NGVjYTliNTFhYTMxN2FkN2M2YmE5ZWVi
NTcwMmNmMWYuLmFjZDJkZjIyNWViM2ZjZDRmODBjNjBkYzk3YTZmMWVlNzEwZjU5MWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bChTY3IKICAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKIH0KIAotdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQb3Np
dGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKFRpbWVyPEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3I+KikKK3ZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsUG9z
aXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgdXBkYXRlU2Ny
b2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKG1fc2NoZWR1bGVkU2Nyb2xsVXBkYXRlLm5vZGVJ
RCwgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUuc2Nyb2xsUG9zaXRpb24sIG1fc2NoZWR1bGVkU2Ny
b2xsVXBkYXRlLmlzUHJvZ3JhbW1hdGljU2Nyb2xsLCBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZS51
cGRhdGVMYXllclBvc2l0aW9uQWN0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBhZmIw
MDJiOTVmMWY2ODBkMmFlZmVhMjEzNDEyNWZhNDU4YTI3MDEzLi4zZjRkN2JjOTJmOWU1YmQxZTVm
ODQ2NGVmNzU2MjE0OTEyZjBhYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDUsMTEgKzEw
NSwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmll
dyhGcmFtZVZpZXcqKTsKICAgICB2b2lkIHVwZGF0ZU1haW5GcmFtZVNjcm9sbExheWVyUG9zaXRp
b24oKTsKIAotICAgIHZvaWQgdXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGlt
ZXJGaXJlZChUaW1lcjxBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yPiopOworICAgIHZvaWQgdXBk
YXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZChUaW1lciopOwogICAg
IAogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3Rm9yU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2Rl
SUQpIGNvbnN0OwogCi0gICAgVGltZXI8QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcj4gbV91cGRh
dGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZU5vZGVTY3JvbGxQ
b3NpdGlvblRpbWVyOwogCiAgICAgc3RydWN0IFNjaGVkdWxlZFNjcm9sbFVwZGF0ZSB7CiAgICAg
ICAgIFNjaGVkdWxlZFNjcm9sbFVwZGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCmluZGV4IDE1
ZmFhMGI3MDUyOWNhNWY3YTYzODU1MWFmM2NkMThlZTJmODMzMmMuLjAxMWZlOGUyMzgyYjM5MjI2
MWQ2ZDZmMDMxZDczZjUxMTVmNThiZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCkBAIC01Mywx
MCArNTMsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVU
cmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcklPUz4qKTsKKyAg
ICB2b2lkIHNjcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyRmlyZWQoVGltZXIqKTsKICAg
ICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogCi0gICAgVGltZXI8U2Nyb2xsaW5nQ29vcmRpbmF0
b3JJT1M+IG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXI7CisgICAgVGltZXIgbV9z
Y3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQppbmRleCBmMmI3YzQwNDcyNGQ0OTQ1Mjk2ZTk5
ZWJjYzg0MjhhYzJkZjhmMjRkLi44OTI3ZTk5MjNhYWU3ODY4Y2Y5MDI3ZDRmOWNlMmYyMGVhMWM0
NjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcklPUz4qKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcklPUzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgY29tbWl0VHJlZVN0YXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCmlu
ZGV4IDdkYTg3ODBiMzM4ODMyYWEyZDk5YjI2OWM3MzliNWNjY2VjYmYzNGQuLmY3MWVjYzM0Njll
MmMwYWQwNzc2MjljZjhkNTBjYmZhZjg1ZWU2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCkBA
IC01MywxMiArNTMsMTIgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVUcmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsaW5nU3Rh
dGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4q
KTsKKyAgICB2b2lkIHNjcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyRmlyZWQoVGltZXIq
KTsKICAgICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogICAgIAogICAgIHZvaWQgdXBkYXRlVGls
ZWRTY3JvbGxpbmdJbmRpY2F0b3IoKTsKIAotICAgIFRpbWVyPFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjPiBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyOworICAgIFRpbWVyIG1fc2Ny
b2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggYzZkYzM5NjVhMmUxMDU5YmFhODhiYjVm
NDEyYzY3YjQyMWMyNjI1MS4uMGJjNTE5OTdkMGUyMTFlMWIyYzc1OGYxNjk5MzgwZDhjMDNlYzE3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4qKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvck1hYzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgY29tbWl0VHJlZVN0YXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IGI4ODI2MzZhZDc2N2Y4ZThkYjkyYjBkYTI1
ZWNkNGZlNDY3ZmJhMDguLmNhOTA4MzRlODk1NDYyYzJiM2EwMjAzOGRiODI0ZTA1NzdlZDE3MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC04
OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIHZvaWQgaHlz
dGVyZXNpc1RpbWVyRmlyZWQoVGltZXI8SHlzdGVyZXNpc0FjdGl2aXR5PiYpCisgICAgdm9pZCBo
eXN0ZXJlc2lzVGltZXJGaXJlZChUaW1lciYpCiAgICAgewogICAgICAgICBtX2RlbGVnYXRlLnN0
b3BwZWQoKTsKICAgICAgICAgbV90aW1lci5zdG9wKCk7CkBAIC05Nyw3ICs5Nyw3IEBAIHByaXZh
dGU6CiAgICAgRGVsZWdhdGUmIG1fZGVsZWdhdGU7CiAgICAgZG91YmxlIG1faHlzdGVyZXNpc1Nl
Y29uZHM7CiAgICAgYm9vbCBtX2FjdGl2ZTsKLSAgICBUaW1lcjxIeXN0ZXJlc2lzQWN0aXZpdHk+
IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCAwNTky
NjYwMWRkYzMyZWIxMzM4ZWE1MTMzYmYzY2ZjZGJiYWJjYjVhLi5lYTNjMzk3N2I1ODFkODcwZWVj
MjMxODZlZjA0NmEzZWY2MjUzYTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuY3BwCkBAIC0xNzYsMTQgKzE3NiwxNCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjp1
cGRhdGVTY3JvbGxBbmltYXRvcnNBbmRUaW1lcnMoKQogICAgIC8vIEZJWE1FOiBDdXJyZW50bHks
IHNjcm9sbCBzbmFwIGFuaW1hdG9ycyBhcmUgcmVjcmVhdGVkIGV2ZW4gdGhvdWdoIHRoZSBzbmFw
IG9mZnNldHMgYWxvbmUgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEt
Pmhvcml6b250YWxTbmFwT2Zmc2V0cygpKSB7CiAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNu
YXBBbmltYXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8QXhpc1Njcm9sbFNuYXBBbmltYXRvcj4odGhp
cywgbV9zY3JvbGxhYmxlQXJlYS0+aG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIFNjcm9sbEV2ZW50
QXhpczo6SG9yaXpvbnRhbCk7Ci0gICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lciA9
IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8U2Nyb2xsQW5pbWF0b3I+Pih0aGlzLCAmU2Nyb2xsQW5p
bWF0b3I6Omhvcml6b250YWxTY3JvbGxTbmFwVGltZXJGaXJlZCk7CisgICAgICAgIG1faG9yaXpv
bnRhbFNjcm9sbFNuYXBUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZTY3Jv
bGxBbmltYXRvcjo6aG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lckZpcmVkKTsKICAgICB9IGVsc2Ug
aWYgKG1faG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvcikgewogICAgICAgICBtX2hvcml6b250
YWxTY3JvbGxTbmFwQW5pbWF0b3IgPSBudWxscHRyOwogICAgICAgICBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXIgPSBudWxscHRyOwogICAgIH0KICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYS0+
dmVydGljYWxTbmFwT2Zmc2V0cygpKSB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwQW5p
bWF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPEF4aXNTY3JvbGxTbmFwQW5pbWF0b3I+KHRoaXMsIG1f
c2Nyb2xsYWJsZUFyZWEtPnZlcnRpY2FsU25hcE9mZnNldHMoKSwgU2Nyb2xsRXZlbnRBeGlzOjpW
ZXJ0aWNhbCk7Ci0gICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPFNjcm9sbEFuaW1hdG9yPj4odGhpcywgJlNjcm9sbEFuaW1hdG9yOjp2ZXJ0
aWNhbFNjcm9sbFNuYXBUaW1lckZpcmVkKTsKKyAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbFNuYXBU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZTY3JvbGxBbmltYXRvcjo6dmVy
dGljYWxTY3JvbGxTbmFwVGltZXJGaXJlZCk7CiAgICAgfSBlbHNlIGlmIChtX3ZlcnRpY2FsU2Ny
b2xsU25hcEFuaW1hdG9yKSB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwQW5pbWF0b3Ig
PSBudWxscHRyOwogICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyID0gbnVsbHB0cjsK
QEAgLTIwNywyNCArMjA3LDI0IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9s
bEluQXhpcyhTY3JvbGxFdmVudEF4aXMgYXhpcywgZmxvYXQgZGVsdGEpCiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3I6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKFNjcm9sbEV2ZW50QXhpcyBheGlzKQogewot
ICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yPiogc2Nyb2xsU25hcFRpbWVyID0gYXhpcyA9PSBTY3Jv
bGxFdmVudEF4aXM6Okhvcml6b250YWwgPyBtX2hvcml6b250YWxTY3JvbGxTbmFwVGltZXIuZ2V0
KCkgOiBtX3ZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyLmdldCgpOworICAgIFRpbWVyKiBzY3JvbGxT
bmFwVGltZXIgPSBheGlzID09IFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCA/IG1faG9yaXpv
bnRhbFNjcm9sbFNuYXBUaW1lci5nZXQoKSA6IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIuZ2V0
KCk7CiAgICAgaWYgKCFzY3JvbGxTbmFwVGltZXItPmlzQWN0aXZlKCkpCiAgICAgICAgIHNjcm9s
bFNuYXBUaW1lci0+c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CiB9CiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3I6OnN0b3BTY3JvbGxTbmFwVGltZXIoU2Nyb2xsRXZlbnRBeGlzIGF4aXMpCiB7Ci0g
ICAgVGltZXI8U2Nyb2xsQW5pbWF0b3I+KiBzY3JvbGxTbmFwVGltZXIgPSBheGlzID09IFNjcm9s
bEV2ZW50QXhpczo6SG9yaXpvbnRhbCA/IG1faG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lci5nZXQo
KSA6IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIuZ2V0KCk7CisgICAgVGltZXIqIHNjcm9sbFNu
YXBUaW1lciA9IGF4aXMgPT0gU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsID8gbV9ob3Jpem9u
dGFsU2Nyb2xsU25hcFRpbWVyLmdldCgpIDogbV92ZXJ0aWNhbFNjcm9sbFNuYXBUaW1lci5nZXQo
KTsKICAgICBpZiAoc2Nyb2xsU25hcFRpbWVyLT5pc0FjdGl2ZSgpKQogICAgICAgICBzY3JvbGxT
bmFwVGltZXItPnN0b3AoKTsKIH0KIAotdm9pZCBTY3JvbGxBbmltYXRvcjo6aG9yaXpvbnRhbFNj
cm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpCit2b2lkIFNjcm9sbEFu
aW1hdG9yOjpob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1f
aG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvci0+c2Nyb2xsU25hcEFuaW1hdGlvblVwZGF0ZSgp
OwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yOjp2ZXJ0aWNhbFNjcm9sbFNuYXBUaW1lckZpcmVk
KFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpCit2b2lkIFNjcm9sbEFuaW1hdG9yOjp2ZXJ0aWNhbFNj
cm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBtX3ZlcnRpY2FsU2Nyb2xsU25hcEFu
aW1hdG9yLT5zY3JvbGxTbmFwQW5pbWF0aW9uVXBkYXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCBlM2E3YmUzMTljZGYzYTk0YzQ4MzZjYzc3NDcx
MmVlOGFjMjUxODAwLi5lYjE1MGZjZGZiNTA2NzFhNzNmZWQ0ZTY3NzFmNWQ5YTg5MTQ4YjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTEzMCw4ICsxMzAs
OCBAQCBwcm90ZWN0ZWQ6CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9S
TShNQUMpCiAgICAgLy8gVHJpdmlhbCB3cmFwcGVycyBhcm91bmQgdGhlIGFjdHVhbCB1cGRhdGUg
bG9vcCBpbiBBeGlzU2Nyb2xsU25hcEFuaW1hdG9yLCBzaW5jZSBXZWJDb3JlIFRpbWVyIHJlcXVp
cmVzIGEgVGltZXIgYXJndW1lbnQuCi0gICAgdm9pZCBob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVy
RmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3I+Jik7Ci0gICAgdm9pZCB2ZXJ0aWNhbFNjcm9sbFNu
YXBUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpOworICAgIHZvaWQgaG9yaXpvbnRh
bFNjcm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCB2ZXJ0aWNhbFNjcm9sbFNu
YXBUaW1lckZpcmVkKFRpbWVyJik7CiAjZW5kaWYKIAogICAgIFNjcm9sbGFibGVBcmVhKiBtX3Nj
cm9sbGFibGVBcmVhOwpAQCAtMTM5LDEwICsxMzksMTAgQEAgcHJvdGVjdGVkOgogICAgIGZsb2F0
IG1fY3VycmVudFBvc1k7IC8vIHN1YmNsYXNzIGNvZGUgY29tcGxleGl0eS4KICNpZiBFTkFCTEUo
Q1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9STShNQUMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPEF4
aXNTY3JvbGxTbmFwQW5pbWF0b3I+IG1faG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvcjsKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8U2Nyb2xsQW5pbWF0b3I+PiBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXI7CiAgICAgLy8gRklYTUU6IEZpbmQgYSB3YXkgdG8gY29uc29saWRhdGUgYm90
aCB0aW1lcnMgaW50byBvbmUgdmFyaWFibGUuCiAgICAgc3RkOjp1bmlxdWVfcHRyPEF4aXNTY3Jv
bGxTbmFwQW5pbWF0b3I+IG1fdmVydGljYWxTY3JvbGxTbmFwQW5pbWF0b3I7Ci0gICAgc3RkOjp1
bmlxdWVfcHRyPFRpbWVyPFNjcm9sbEFuaW1hdG9yPj4gbV92ZXJ0aWNhbFNjcm9sbFNuYXBUaW1l
cjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXI7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ck5vbmUuY3BwCmluZGV4IDM1ZDhjZjQ2NjU2ZmM0YmRjMjk0YTdmYmZiZjkzZDU5MGQwZGYyMWYu
LmNlZjgzMzQ3MGY1NmE2YWZmZTU3MTE4MGU4MWY4MGVhMzFiYmM5NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcApAQCAtNDkxLDcgKzQ5MSw3
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjp1cGRhdGVWaXNpYmxlTGVuZ3RocygpCiB9CiAK
ICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcm9sbEFuaW1h
dG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+KikK
K3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBhbmltYXRpb25UaW1lckZpcmVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yTm9uZS5oCmluZGV4IGIzOGRhMTZhODcyNjIyNjc2NjZlNTZjNDE2ZjYw
MDk0NWVkOWRlZTIuLjcwMGY0ZWUxZTgwMmE2N2EzNWRlYzAwZWY0ZjllMTkxNzcyZmU4ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCkBAIC0xNDUs
NyArMTQ1LDcgQEAgcHJvdGVjdGVkOgogICAgIH07CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIpCi0gICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcm9s
bEFuaW1hdG9yTm9uZT4qKTsKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXIqKTsK
ICAgICB2b2lkIHN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQg
c3RhcnROZXh0VGltZXIoKTsKQEAgLTE2MSw3ICsxNjEsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBk
b3VibGUgbV9zdGFydFRpbWU7CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVS
KQotICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTm9uZT4gbV9hbmltYXRpb25UaW1lcjsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogI2Vsc2UKICAgICBib29sIG1fYW5pbWF0aW9uQWN0aXZl
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA3ZThkMTE3
YWMyM2FmOWZlZjJlYTY3NzdhZjRmMTM2MmI0MDkzMzk2Li5jNjNmYjAxNTk4OTUyODEyNWRjYTE4
NzE3YTg2YzUyOTUyZTMzZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAK
QEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFNjcm9sbGJhcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VSZWN0KQogICAgICAgICBXaWRnZXQ6OnBh
aW50KGNvbnRleHQsIGRhbWFnZVJlY3QpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsYmFyPiYpCit2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGF1dG9zY3JvbGxQcmVzc2VkUGFydCh0aGVtZSgp
LT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGJhci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmgKaW5kZXggNjk4ODVmNWEwZjA3YjFkOTk4MjZlNGZmYWMwNzMzMzAyZmVmOTdmZi4uNzMxZGU1
ZDNmZTMzYjNjODNlZTI3NjAwYTcyNDM4Y2FkYTY3MDUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVRodW1iUG9zaXRpb24oKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQ
cm9wb3J0aW9uKCk7CiAKLSAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyPFNjcm9s
bGJhcj4mKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9p
ZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1lcklm
TmVlZGVkKCk7CiAgICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KTsK
QEAgLTE5NCw3ICsxOTQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBib29sIG1fZW5hYmxlZDsKIAot
ICAgIFRpbWVyPFNjcm9sbGJhcj4gbV9zY3JvbGxUaW1lcjsKKyAgICBUaW1lciBtX3Njcm9sbFRp
bWVyOwogICAgIGJvb2wgbV9vdmVybGFwc1Jlc2l6ZXI7CiAKICAgICBib29sIG1fc3VwcHJlc3NJ
bnZhbGlkYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA4NjMxNThkM2U4NTdlZTEz
OTc1NGVlNjdhZGE5ZmYzNGFjMjgxZjQzLi42NzY5ZmY2YjhjNzNjOWE2ZjcwMzMzNjNjMjlhNzJk
MDI5YmVlMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTExMiwyNyArMTEyLDQxIEBA
IHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFRpbWVySGVhcFJlZmVyZW5jZTsKIH07CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+IGNsYXNzIFRpbWVyIDogcHVibGljIFRp
bWVyQmFzZSB7CisKK2NsYXNzIFRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBwdWJsaWM6Ci0g
ICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipUaW1lckZpcmVkRnVuY3Rpb24pKFRp
bWVyJik7Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipEZXByZWNhdGVkVGlt
ZXJGaXJlZEZ1bmN0aW9uKShUaW1lciopOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZp
cmVkQ2xhc3M+CisgICAgdXNpbmcgVGltZXJGaXJlZEZ1bmN0aW9uID0gdm9pZCAoVGltZXJGaXJl
ZENsYXNzOjoqKShUaW1lciYpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFRpbWVyRmlyZWRD
bGFzcz4KKyAgICB1c2luZyBEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0aW9uID0gdm9pZCAoVGlt
ZXJGaXJlZENsYXNzOjoqKShUaW1lciopOwogCi0gICAgVGltZXIoVGltZXJGaXJlZENsYXNzKiBv
YmplY3QsIFRpbWVyRmlyZWRGdW5jdGlvbiBmdW5jdGlvbikKKyAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVGltZXJGaXJlZENsYXNzLCB0eXBlbmFtZSBUaW1lckZpcmVkQmFzZUNsYXNzPgorICAgIHVz
aW5nIGlzX2NvbXBhdGlibGUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxzdGQ6OmlzX2Jhc2Vf
b2Y8VGltZXJGaXJlZEJhc2VDbGFzcywgVGltZXJGaXJlZENsYXNzPjo6dmFsdWU+Ojp0eXBlKjsK
KworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3MsIHR5cGVuYW1lIFRpbWVy
RmlyZWRCYXNlQ2xhc3MsIGlzX2NvbXBhdGlibGU8VGltZXJGaXJlZEJhc2VDbGFzcywgVGltZXJG
aXJlZENsYXNzPiA9IG51bGxwdHI+CisgICAgVGltZXIoVGltZXJGaXJlZENsYXNzKiBvYmplY3Qs
IFRpbWVyRmlyZWRGdW5jdGlvbjxUaW1lckZpcmVkQmFzZUNsYXNzPiBmdW5jdGlvbikKICAgICAg
ICAgOiBtX2Z1bmN0aW9uKHN0ZDo6YmluZChmdW5jdGlvbiwgb2JqZWN0LCBzdGQ6OnJlZigqdGhp
cykpKQogICAgIHsKICAgICB9CiAKLSAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MqIG9iamVjdCwg
RGVwcmVjYXRlZFRpbWVyRmlyZWRGdW5jdGlvbiBmdW5jdGlvbikKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVGltZXJGaXJlZENsYXNzLCB0eXBlbmFtZSBUaW1lckZpcmVkQmFzZUNsYXNzLCBpc19j
b21wYXRpYmxlPFRpbWVyRmlyZWRCYXNlQ2xhc3MsIFRpbWVyRmlyZWRDbGFzcz4gPSBudWxscHRy
PgorICAgIFRpbWVyKFRpbWVyRmlyZWRDbGFzcyogb2JqZWN0LCBEZXByZWNhdGVkVGltZXJGaXJl
ZEZ1bmN0aW9uPFRpbWVyRmlyZWRCYXNlQ2xhc3M+IGZ1bmN0aW9uKQogICAgICAgICA6IG1fZnVu
Y3Rpb24oc3RkOjpiaW5kKGZ1bmN0aW9uLCBvYmplY3QsIHRoaXMpKQogICAgIHsKICAgICB9CiAK
KyAgICBUaW1lcihzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uKQorICAgICAgICA6IG1f
ZnVuY3Rpb24oZnVuY3Rpb24pCisgICAgeworICAgIH0KKwogcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgZmlyZWQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgbV9mdW5jdGlvbigpOwogICAg
IH0KLQorICAgIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5jdGlvbjsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uY3BwCmluZGV4
IDUxZmE3ZGMyYzU1NzFhNmNiOTgzNzkyZTJjMmNmNDY0YTczNDdkNmIuLmQ0NmQ2Yjc4MWNkODhh
Mzc5NWRhNWRiMzBjMGQzNmNlNDg0YjU0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vTWVkaWFTZXNzaW9uLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgTWVkaWFT
ZXNzaW9uOjp2aXNpYmlsaXR5Q2hhbmdlZCgpCiAgICAgICAgIG1fY2xpZW50RGF0YUJ1ZmZlcmlu
Z1RpbWVyLnN0YXJ0T25lU2hvdChrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxh
eSk7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uOjpjbGllbnREYXRhQnVmZmVyaW5nVGltZXJGaXJl
ZChUaW1lcjxXZWJDb3JlOjpNZWRpYVNlc3Npb24+ICYpCit2b2lkIE1lZGlhU2Vzc2lvbjo6Y2xp
ZW50RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXIgJikKIHsKICAgICB1cGRhdGVDbGllbnRE
YXRhQnVmZmVyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbi5oCmluZGV4IGIwNmUwNjc5NjExMjJiZjkzZDc1Y2M4OWUyNjI2ZDQ2ZDY3ZjdmNjcu
LjMyNDFjOTAwNGFiZjE4ZmMyNzk2OWU4N2U3NmIxM2Y3NmYyZjQ2YWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCkBAIC0xMDYsMTEgKzEwNiwxMSBA
QCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTZXNzaW9uQ2xpZW50JiBjbGllbnQoKSBjb25zdCB7IHJl
dHVybiBtX2NsaWVudDsgfQogCiBwcml2YXRlOgotICAgIHZvaWQgY2xpZW50RGF0YUJ1ZmZlcmlu
Z1RpbWVyRmlyZWQoVGltZXI8TWVkaWFTZXNzaW9uPiYpOworICAgIHZvaWQgY2xpZW50RGF0YUJ1
ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIHVwZGF0ZUNsaWVudERhdGFCdWZm
ZXJpbmcoKTsKIAogICAgIE1lZGlhU2Vzc2lvbkNsaWVudCYgbV9jbGllbnQ7Ci0gICAgVGltZXI8
TWVkaWFTZXNzaW9uPiBtX2NsaWVudERhdGFCdWZmZXJpbmdUaW1lcjsKKyAgICBUaW1lciBtX2Ns
aWVudERhdGFCdWZmZXJpbmdUaW1lcjsKICAgICBTdGF0ZSBtX3N0YXRlOwogICAgIFN0YXRlIG1f
c3RhdGVUb1Jlc3RvcmU7CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJFZmwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKaW5kZXggMWJl
OWUxZDI1NTk2OTY3YjYyMzZhMDU2NjRkZThkNmU5Yjk3ZWI2ZS4uZGI1NWQzODNlOGY0MDQwOGE4
ZTkzOWNlMTgwMzc5YjI0YTRiMzMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBCYXR0
ZXJ5UHJvdmlkZXJFZmw6OnNldEJhdHRlcnlTdGF0dXMoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIFBhc3NSZWYKICAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyhldmVu
dFR5cGUsIG1fYmF0dGVyeVN0YXR1cyk7CiB9CiAKLXZvaWQgQmF0dGVyeVByb3ZpZGVyRWZsOjp0
aW1lckZpcmVkKFRpbWVyPEJhdHRlcnlQcm92aWRlckVmbD4qIHRpbWVyKQordm9pZCBCYXR0ZXJ5
UHJvdmlkZXJFZmw6OnRpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVT
RUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKICAgICBFX0RCdXNfQ29ubmVjdGlvbiogZWRi
dXNDb25uZWN0aW9uID0gZV9kYnVzX2J1c19nZXQoREJVU19CVVNfU1lTVEVNKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJFZmwuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJFZmwuaAppbmRleCBiYjRi
YjdmMDRiZGRkZWM0YjFlYTAwNGE5YTljMTY3NDExNjVjM2UwLi40MzEzOGVhMDZmYmM2OTZjZDg5
NDA5MzU5MWZhOWFiZWU4YWYzYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9lZmwvQmF0dGVyeVByb3ZpZGVyRWZsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
ZWZsL0JhdHRlcnlQcm92aWRlckVmbC5oCkBAIC00NSwxMiArNDUsMTIgQEAgcHVibGljOgogICAg
IEJhdHRlcnlTdGF0dXMqIGJhdHRlcnlTdGF0dXMoKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICB2
b2lkIHRpbWVyRmlyZWQoVGltZXI8QmF0dGVyeVByb3ZpZGVyRWZsPiopOworICAgIHZvaWQgdGlt
ZXJGaXJlZChUaW1lciopOwogICAgIHN0YXRpYyB2b2lkIGdldEJhdHRlcnlTdGF0dXModm9pZCog
ZGF0YSwgdm9pZCogcmVwbHlEYXRhLCBEQnVzRXJyb3IqKTsKICAgICBzdGF0aWMgdm9pZCBzZXRC
YXR0ZXJ5Q2xpZW50KHZvaWQqIGRhdGEsIHZvaWQqIHJlcGx5RGF0YSwgREJ1c0Vycm9yKik7CiAK
ICAgICBCYXR0ZXJ5UHJvdmlkZXJFZmxDbGllbnQqIG1fY2xpZW50OwotICAgIFRpbWVyPEJhdHRl
cnlQcm92aWRlckVmbD4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogICAgIFJlZlB0cjxC
YXR0ZXJ5U3RhdHVzPiBtX2JhdHRlcnlTdGF0dXM7CiAgICAgY29uc3QgZG91YmxlIG1fYmF0dGVy
eVN0YXR1c1JlZnJlc2hJbnRlcnZhbDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMjIwYjM2OWMwMzUxZGMyMDFkNTM4YjQ5
ZDliYjljNDNlNjhkMDk0Yy4uNDhjOWFiM2Y3NWE2MzMwOGE3NTVkMzQyNjMwZDU1ZmJlMGM5Zjlh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmNwcApAQCAtNTI4LDcgKzUyOCw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0QW5pbWF0aW9u
KENhdGNoVXBBbmltYXRpb24gY2F0Y2hVcElmTmVjZXNzYXJ5KQogCiAgICAgaWYgKGNhdGNoVXBJ
Zk5lY2Vzc2FyeSA9PSBEb05vdENhdGNoVXAgfHwgdGltZSA8IG1fZGVzaXJlZEZyYW1lU3RhcnRU
aW1lKSB7CiAgICAgICAgIC8vIEhhdmVuJ3QgeWV0IHJlYWNoZWQgdGltZSBmb3IgbmV4dCBmcmFt
ZSB0byBzdGFydDsgZGVsYXkgdW50aWwgdGhlbi4KLSAgICAgICAgbV9mcmFtZVRpbWVyID0gc3Rk
OjptYWtlX3VuaXF1ZTxUaW1lcjxCaXRtYXBJbWFnZT4+KHRoaXMsICZCaXRtYXBJbWFnZTo6YWR2
YW5jZUFuaW1hdGlvbik7CisgICAgICAgIG1fZnJhbWVUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8
VGltZXI+KHRoaXMsICZCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7CiAgICAgICAgIG1f
ZnJhbWVUaW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1l
IC0gdGltZSwgMC4pKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBXZSd2ZSBhbHJlYWR5IHJl
YWNoZWQgb3IgcGFzc2VkIHRoZSB0aW1lIGZvciB0aGUgbmV4dCBmcmFtZSB0byBzdGFydC4KQEAg
LTYyOSw3ICs2MjksNyBAQCB2b2lkIEJpdG1hcEltYWdlOjpkcmF3UGF0dGVybihHcmFwaGljc0Nv
bnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgdGlsZVJlY3QsCiB9CiAKIAotdm9pZCBCaXRt
YXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbihUaW1lcjxCaXRtYXBJbWFnZT4mKQordm9pZCBCaXRt
YXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbihUaW1lciYpCiB7CiAgICAgaW50ZXJuYWxBZHZhbmNl
QW5pbWF0aW9uKGZhbHNlKTsKICAgICAvLyBBdCB0aGlzIHBvaW50IHRoZSBpbWFnZSByZWdpb24g
aGFzIGJlZW4gbWFya2VkIGRpcnR5LCBhbmQgaWYgaXQncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggYTBhMGYyNGFkZjAzZjllNzNmMjQy
NjQ2Mzk1NTFjMmE0OTUwOWIxYi4uNzJmNzFhZTdjODNlZDA3NDJlMTFhNGU1MTFjNTQ0MTNkYTIw
YzE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFn
ZS5oCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKK2NsYXNzIFRpbWVyOwog
CiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC8v
IEZyYW1lRGF0YSBDbGFzcwpAQCAtMjU4LDcgKzI1OCw3IEBAIHByb3RlY3RlZDoKICAgICBpbnQg
cmVwZXRpdGlvbkNvdW50KGJvb2wgaW1hZ2VLbm93blRvQmVDb21wbGV0ZSk7ICAvLyB8aW1hZ2VL
bm93blRvQmVDb21wbGV0ZXwgc2hvdWxkIGJlIHNldCBpZiB0aGUgY2FsbGVyIGtub3dzIHRoZSBl
bnRpcmUgaW1hZ2UgaGFzIGJlZW4gZGVjb2RlZC4KICAgICBib29sIHNob3VsZEFuaW1hdGUoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRBbmltYXRpb24oQ2F0Y2hVcEFuaW1hdGlvbiA9IENhdGNo
VXApIG92ZXJyaWRlOwotICAgIHZvaWQgYWR2YW5jZUFuaW1hdGlvbihUaW1lcjxCaXRtYXBJbWFn
ZT4mKTsKKyAgICB2b2lkIGFkdmFuY2VBbmltYXRpb24oVGltZXImKTsKIAogICAgIC8vIEZ1bmN0
aW9uIHRoYXQgZG9lcyB0aGUgcmVhbCB3b3JrIG9mIGFkdmFuY2luZyB0aGUgYW5pbWF0aW9uLiAg
V2hlbgogICAgIC8vIHNraXBwaW5nRnJhbWVzIGlzIHRydWUsIHdlJ3JlIGluIHRoZSBtaWRkbGUg
b2YgYSBsb29wIHRyeWluZyB0byBza2lwIG92ZXIKQEAgLTI5NSw3ICsyOTUsNyBAQCBwcml2YXRl
OgogICAgIHNpemVfdCBtX2N1cnJlbnRGcmFtZTsgLy8gVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50
IGZyYW1lIG9mIGFuaW1hdGlvbi4KICAgICBWZWN0b3I8RnJhbWVEYXRhLCAxPiBtX2ZyYW1lczsg
Ly8gQW4gYXJyYXkgb2YgdGhlIGNhY2hlZCBmcmFtZXMgb2YgdGhlIGFuaW1hdGlvbi4gV2UgaGF2
ZSB0byByZWYgZnJhbWVzIHRvIHBpbiB0aGVtIGluIHRoZSBjYWNoZS4KIAotICAgIHN0ZDo6dW5p
cXVlX3B0cjxUaW1lcjxCaXRtYXBJbWFnZT4+IG1fZnJhbWVUaW1lcjsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8VGltZXI+IG1fZnJhbWVUaW1lcjsKICAgICBpbnQgbV9yZXBldGl0aW9uQ291bnQ7IC8v
IEhvdyBtYW55IHRvdGFsIGFuaW1hdGlvbiBsb29wcyB3ZSBzaG91bGQgZG8uICBUaGlzIHdpbGwg
YmUgY0FuaW1hdGlvbk5vbmUgaWYgdGhpcyBpbWFnZSB0eXBlIGlzIGluY2FwYWJsZSBvZiBhbmlt
YXRpb24uCiAgICAgUmVwZXRpdGlvbkNvdW50U3RhdHVzIG1fcmVwZXRpdGlvbkNvdW50U3RhdHVz
OwogICAgIGludCBtX3JlcGV0aXRpb25zQ29tcGxldGU7ICAvLyBIb3cgbWFueSByZXBldGl0aW9u
cyB3ZSd2ZSBmaW5pc2hlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCA3YTUzM2QwMDI3OTFmYzE5ZjdmOTYwNmM5ZmZjMzc1ZGMz
MWQ4Njc0Li44MWZjZTlkMTUyOWY1OTUxYzk0N2E0MGNjZjE5MjQ4NDNmZTcxYjFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05
NTUsNyArOTU1LDcgQEAgdW5zaWduZWQgTWVkaWFQbGF5ZXI6OnZpZGVvRGVjb2RlZEJ5dGVDb3Vu
dCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9EZWNvZGVkQnl0ZUNvdW50KCk7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXI6OnJlbG9hZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5
ZXI+JikKK3ZvaWQgTWVkaWFQbGF5ZXI6OnJlbG9hZFRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IG1fcHJpdmF0ZS0+Y2FuY2VsTG9hZCgpOwogICAgIGxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKG1f
Y3VycmVudE1lZGlhRW5naW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCmluZGV4IGIxNTM3ZDcwYmQ1ZWNkMDY4NDZmMWQ5ZmUyNTY2MjE2NzA3
OTllY2IuLjY4N2QwNDViMDk1MGMzY2IwYTEyNmZlMGNhMDEyZDFkNGJjY2ZlOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtNTgyLDEy
ICs1ODIsMTIgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWVudCYp
OwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dEJlc3RNZWRpYUVuZ2luZShNZWRpYVBsYXll
ckZhY3RvcnkqKSBjb25zdDsKICAgICB2b2lkIGxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKE1lZGlh
UGxheWVyRmFjdG9yeSopOwotICAgIHZvaWQgcmVsb2FkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBs
YXllcj4mKTsKKyAgICB2b2lkIHJlbG9hZFRpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIHN0YXRp
YyB2b2lkIGluaXRpYWxpemVNZWRpYUVuZ2luZXMoKTsKIAogICAgIE1lZGlhUGxheWVyQ2xpZW50
JiBtX2NsaWVudDsKLSAgICBUaW1lcjxNZWRpYVBsYXllcj4gbV9yZWxvYWRUaW1lcjsKKyAgICBU
aW1lciBtX3JlbG9hZFRpbWVyOwogICAgIE93blB0cjxNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2U+IG1fcHJpdmF0ZTsKICAgICBNZWRpYVBsYXllckZhY3RvcnkqIG1fY3VycmVudE1lZGlhRW5n
aW5lOwogICAgIFVSTCBtX3VybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggOTE3Y2UwOTM4NzM1OWRkNjg5M2FiMzhkMDE5OTUwNjI3
N2M1MDJlYS4uNjZkZjZiZjJiYzE0MWU2ZTNhNGZjZTcyMmI0NTcyMDU5OTBlOTE4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEz
MCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmF0Y2hCdWZmZXImIHNoYXJlZCgp
OwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxTY3JhdGNoQnVmZmVyPiop
CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyKikKICAgICB7CiAgICAgICAgIGNsZWFyU2NyYXRj
aEJ1ZmZlcigpOwogICAgIH0KQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIH0KIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsKLSAgICBUaW1l
cjxTY3JhdGNoQnVmZmVyPiBtX3B1cmdlVGltZXI7CisgICAgVGltZXIgbV9wdXJnZVRpbWVyOwog
ICAgIAogICAgIEZsb2F0UmVjdCBtX2xhc3RJbnNldEJvdW5kczsKICAgICBGbG9hdFJlY3QgbV9s
YXN0U2hhZG93UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCAyZWVmNDEzZDM0NDAxM2I2MTUzMWQ4MWQ1
MzFhYjYyMDNkZWY2ZDEzLi4wNDQ5MGRkMjczMDE0Y2NlZGQ3MjEwZmQwZTIzMTQ5NTMzMjE0NTE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tp
bmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRC
YWNraW5nU3RvcmUuY3BwCkBAIC01MTMsNyArNTEzLDcgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9y
ZTo6c3RhcnRUaWxlQnVmZmVyVXBkYXRlVGltZXIoKQogICAgIG1fdGlsZUJ1ZmZlclVwZGF0ZVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6dGlsZUJ1
ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+KikKK3ZvaWQgVGls
ZWRCYWNraW5nU3RvcmU6OnRpbGVCdWZmZXJVcGRhdGVUaW1lckZpcmVkKFRpbWVyKikKIHsKICAg
ICBBU1NFUlQobV9jb21taXRUaWxlVXBkYXRlc09uSWRsZUV2ZW50TG9vcCk7CiAgICAgdXBkYXRl
VGlsZUJ1ZmZlcnMoKTsKQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3Jl
OjpzdGFydEJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyKGRvdWJsZSBpbnRlcnZhbCkKICAgICBtX2Jh
Y2tpbmdTdG9yZVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiB9CiAKLXZvaWQg
VGlsZWRCYWNraW5nU3RvcmU6OmJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGls
ZWRCYWNraW5nU3RvcmU+KikKK3ZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmJhY2tpbmdTdG9yZVVw
ZGF0ZVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX2NvbW1pdFRpbGVVcGRhdGVz
T25JZGxlRXZlbnRMb29wKTsKICAgICBjcmVhdGVUaWxlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggOWUzMDQw
ZTJiNGFhMWEzYjBlNzc0MGQxZTRjNmU1MWE1ODQ2Yzg0OC4uNTY5M2ViNzgxMWFkNDg2YzNlNmNi
MWI0ZDlhZWIxNjllMDViOTQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC04MSw4ICs4MSw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzdGFydFRpbGVCdWZmZXJVcGRhdGVUaW1lcigpOwogICAgIHZvaWQgc3RhcnRC
YWNraW5nU3RvcmVVcGRhdGVUaW1lcihkb3VibGUgPSAwKTsKIAotICAgIHZvaWQgdGlsZUJ1ZmZl
clVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+Kik7Ci0gICAgdm9pZCBi
YWNraW5nU3RvcmVVcGRhdGVUaW1lckZpcmVkKFRpbWVyPFRpbGVkQmFja2luZ1N0b3JlPiopOwor
ICAgIHZvaWQgdGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKTsKKyAgICB2b2lkIGJh
Y2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZvaWQgY3JlYXRlVGls
ZXMoKTsKICAgICB2b2lkIGNvbXB1dGVDb3ZlckFuZEtlZXBSZWN0KGNvbnN0IEludFJlY3QmIHZp
c2libGVSZWN0LCBJbnRSZWN0JiBjb3ZlclJlY3QsIEludFJlY3QmIGtlZXBSZWN0KSBjb25zdDsK
QEAgLTEwOSw4ICsxMDksOCBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDxUaWxlOjpD
b29yZGluYXRlLCBSZWZQdHI8VGlsZT4gPiBUaWxlTWFwOwogICAgIFRpbGVNYXAgbV90aWxlczsK
IAotICAgIFRpbWVyPFRpbGVkQmFja2luZ1N0b3JlPiBtX3RpbGVCdWZmZXJVcGRhdGVUaW1lcjsK
LSAgICBUaW1lcjxUaWxlZEJhY2tpbmdTdG9yZT4gbV9iYWNraW5nU3RvcmVVcGRhdGVUaW1lcjsK
KyAgICBUaW1lciBtX3RpbGVCdWZmZXJVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX2JhY2tpbmdT
dG9yZVVwZGF0ZVRpbWVyOwogCiAgICAgSW50U2l6ZSBtX3RpbGVTaXplOwogICAgIGZsb2F0IG1f
Y292ZXJBcmVhTXVsdGlwbGllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDLmgKaW5kZXggOTMyYWIyODk4N2MwMThlM2E3OGQ2OTNkYjIxYTkwYmI2MGYx
MTdhYy4uNDcxNzQwZGFlODlhNTk2NTY2NThjOTg3NWYzMjZiODM4ODAzMjlkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2Vs
ZWN0aW9uR3JvdXBBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgKQEAgLTg0LDEzICs4
NCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpD
KEFWUGxheWVySXRlbSosIEFWTWVkaWFTZWxlY3Rpb25Hcm91cCopOwogCi0gICAgdm9pZCBzZWxl
Y3Rpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDPiYpOworICAg
IHZvaWQgc2VsZWN0aW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmV0YWluUHRyPEFWUGxh
eWVySXRlbT4gbV9wbGF5ZXJJdGVtOwogICAgIFJldGFpblB0cjxBVk1lZGlhU2VsZWN0aW9uR3Jv
dXA+IG1fbWVkaWFTZWxlY3Rpb25Hcm91cDsKICAgICBPcHRpb25Db250YWluZXIgbV9vcHRpb25z
OwogICAgIE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyogbV9zZWxlY3RlZE9wdGlvbjsKLSAg
ICBUaW1lcjxNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQz4gbV9zZWxlY3Rpb25UaW1lcjsKKyAg
ICBUaW1lciBtX3NlbGVjdGlvblRpbWVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IGEwNzZhNDg3NDE2MGRiM2I3NDA5
OTAyMTdiYmYwNjRhMzdhYTMzN2EuLmI3ZmRlOGViYmIwMmJjMjA0ZDcxZjI5MzE3NjJjMmZmYzI4
NTU4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9i
akMubW0KQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpD
OjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAgICAgbV9z
ZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVkaWFTZWxlY3Rpb25H
cm91cEFWRk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM+JikKK3ZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVjdGlvblRp
bWVyRmlyZWQoVGltZXImKQogewogICAgIFttX3BsYXllckl0ZW0gc2VsZWN0TWVkaWFPcHRpb246
KG1fc2VsZWN0ZWRPcHRpb24gPyBtX3NlbGVjdGVkT3B0aW9uLT5hdk1lZGlhU2VsZWN0aW9uT3B0
aW9uKCkgOiBuaWwpIGluTWVkaWFTZWxlY3Rpb25Hcm91cDptX21lZGlhU2VsZWN0aW9uR3JvdXAu
Z2V0KCldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCAwNzdhYzJlMzJjMzhlYjdi
ZDI1MjM5YTAyNGIzZjc3NTEwNjk1N2IxLi5mNzJhY2M5OTdkYjlhYTY0M2RlOWI1Njk3NGVkNzEx
ZDI0MmYwOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMTY4LDcgKzE2OCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAgIHZvaWQgZGVzdHJveUxheWVy
KCk7CiAgICAgYm9vbCBzaG91bGRCZVBsYXlpbmcoKSBjb25zdDsKLSAgICB2b2lkIHNlZWtUaW1l
ckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQz4mKTsKKyAg
ICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBmcmllbmQgY2xhc3MgTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQzsKIApAQCAtMTk1LDcgKzE5NSw3IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPGlkPiBtX3RpbWVKdW1wZWRPYnNlcnZlcjsKICAgICBSZXRhaW5QdHI8aWQ+IG1f
ZHVyYXRpb25PYnNlcnZlcjsKICAgICBSZXRhaW5QdHI8QVZTdHJlYW1TZXNzaW9uPiBtX3N0cmVh
bVNlc3Npb247Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
PiBtX3NlZWtUaW1lcjsKKyAgICBUaW1lciBtX3NlZWtUaW1lcjsKICAgICBDRE1TZXNzaW9uTWVk
aWFTb3VyY2VBVkZPYmpDKiBtX3Nlc3Npb247CiAgICAgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0
ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3JlYWR5U3Rh
dGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggMWM5NDg4MDNlMWMwMGUxNGUzMjE5
ODBlOWUzNjM4ODBhNGMzZDI3Yy4uYjJiMWRiMjA0MTAzMDIwZjgxMmY1YmQ4ZjljOWM4ZDkzMTc4
MGU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtNDIzLDcgKzQyMyw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5j
ZShjb25zdCBNZWRpYVRpbWUmIHRpCiAgICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOwog
fQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1RpbWVy
RmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDPiYpCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHNlZWtJbnRlcm5hbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggYjQ5YmQ0OWY2YTliN2IwMzY5
YjkyZjcxNjU1OGQ4YWQ4OWUxOGY3NS4uNmY0YmUxZDlkYzY4ZTVlNDIyZWIxMmJiYmVjOWEzYTAx
M2U1ODQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9M
YXllclBvb2wuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBMYXllclBvb2w6OnNjaGVkdWxl
UHJ1bmUoKQogICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CiB9CiAKLXZvaWQgTGF5
ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoVGltZXI8TGF5ZXJQb29sPiYpCit2b2lkIExheWVyUG9v
bDo6cHJ1bmVUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICB1bnNpZ25lZCBzaHJpbmtUbyA9IGRl
Y2F5ZWRDYXBhY2l0eSgpOwogICAgIHdoaWxlIChtX3RvdGFsQnl0ZXMgPiBzaHJpbmtUbykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29s
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaAppbmRl
eCA4NjgxMTZmMzBhOTMwYjQ5MjYzYjQwY2Q0Njk1YWE4NWVlM2E2ZGRmLi44YmNiZTU2MGZjYWE4
NjA4MWEyY2QxZDYyNWI3OGEyN2FiNmVjODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaApAQCAtNjEsNyArNjEsNyBAQCBwcml2YXRlOgog
CiAgICAgYm9vbCBjYW5SZXVzZUxheWVyV2l0aFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29u
c3QgeyByZXR1cm4gbV9tYXhCeXRlc0ZvclBvb2wgJiYgIXNpemUuaXNFbXB0eSgpOyB9CiAgICAg
dm9pZCBzY2hlZHVsZVBydW5lKCk7Ci0gICAgdm9pZCBwcnVuZVRpbWVyRmlyZWQoVGltZXI8TGF5
ZXJQb29sPiYpOworICAgIHZvaWQgcHJ1bmVUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICB0eXBl
ZGVmIGVudW0geyBMZWF2ZVVuY2hhbmdlZCwgTWFya0FzVXNlZCB9IEFjY2Vzc1R5cGU7CiAgICAg
TGF5ZXJMaXN0JiBsaXN0T2ZMYXllcnNXaXRoU2l6ZShjb25zdCBJbnRTaXplJiwgQWNjZXNzVHlw
ZSA9IExlYXZlVW5jaGFuZ2VkKTsKQEAgLTc0LDcgKzc0LDcgQEAgcHJpdmF0ZToKICAgICB1bnNp
Z25lZCBtX3RvdGFsQnl0ZXM7CiAgICAgdW5zaWduZWQgbV9tYXhCeXRlc0ZvclBvb2w7CiAKLSAg
ICBUaW1lcjxMYXllclBvb2w+IG1fcHJ1bmVUaW1lcjsKKyAgICBUaW1lciBtX3BydW5lVGltZXI7
CiAKICAgICBkb3VibGUgbV9sYXN0QWRkVGltZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKaW5kZXggZjU5YjRk
NzY2OWJiZjJhOTAzNTZkNjQxMGE0YTFkOTU4MzAxMzZlZi4uZjNjZDVkZDc1ZWVkMjA1Nzc4ZDk1
NDNhNjcyMmI4NGJhN2MxMGQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBAIGJv
b2wgVGlsZUNvbnRyb2xsZXI6OnNob3VsZFRlbXBvcmFyaWx5UmV0YWluVGlsZUNvaG9ydHMoKSBj
b25zdAogICAgIHJldHVybiBvd25pbmdHcmFwaGljc0xheWVyKCktPnBsYXRmb3JtQ0FMYXllclNo
b3VsZFRlbXBvcmFyaWx5UmV0YWluVGlsZUNvaG9ydHMobV90aWxlQ2FjaGVMYXllcik7CiB9CiAK
LXZvaWQgVGlsZUNvbnRyb2xsZXI6OnRpbGVSZXZhbGlkYXRpb25UaW1lckZpcmVkKFRpbWVyPFRp
bGVDb250cm9sbGVyPiopCit2b2lkIFRpbGVDb250cm9sbGVyOjp0aWxlUmV2YWxpZGF0aW9uVGlt
ZXJGaXJlZChUaW1lciopCiB7CiAgICAgaWYgKCFvd25pbmdHcmFwaGljc0xheWVyKCkpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlQ29udHJvbGxlci5oCmluZGV4IDBiOTAxZjlkZDJjZTQ3MDBmYzA0NmUwMjNhOTZlMTIz
MjdlYTBkYTIuLmJkOGIwMTdkZGExMGQ0NGM5ZjkxOWUzNjc0YWQwMDlhNzMxOTQxZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xs
ZXIuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBmbG9hdCB6b29t
ZWRPdXRDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKIAotICAgIHZvaWQgdGlsZVJl
dmFsaWRhdGlvblRpbWVyRmlyZWQoVGltZXI8VGlsZUNvbnRyb2xsZXI+Kik7CisgICAgdm9pZCB0
aWxlUmV2YWxpZGF0aW9uVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgdm9pZCBzZXROZWVkc1Jl
dmFsaWRhdGVUaWxlcygpOwogCkBAIC0xNzcsNyArMTc3LDcgQEAgcHJpdmF0ZToKICAgICBGbG9h
dFJlY3QgbV92aXNpYmxlUmVjdEF0TGFzdFJldmFsaWRhdGU7CiAgICAgSW50UmVjdCBtX2JvdW5k
c0F0TGFzdFJldmFsaWRhdGU7CiAKLSAgICBUaW1lcjxUaWxlQ29udHJvbGxlcj4gbV90aWxlUmV2
YWxpZGF0aW9uVGltZXI7CisgICAgVGltZXIgbV90aWxlUmV2YWxpZGF0aW9uVGltZXI7CiAKICAg
ICBmbG9hdCBtX3pvb21lZE91dENvbnRlbnRzU2NhbGU7CiAgICAgZmxvYXQgbV9kZXZpY2VTY2Fs
ZUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmNwcAppbmRleCBmNTRmZjA0YjBhZWFmZWYzYWEyMmVmZjcyNDlkMzlkOTM1NDg0YTIwLi5h
Nzc2NDNiYTA0MDYyNWM2MjllOGFhMmM0OWVhN2E0MzUyOTQ2Njg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC00NzYsNyArNDc2
LDcgQEAgZG91YmxlIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlv
bigpCiAgICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7CiB9CiAKLXZvaWQg
VGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKFRpbWVyPFRpbGVHcmlkPiopCit2b2lk
IFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgaWYgKG1f
Y29ob3J0TGlzdC5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3Rv
cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgK
aW5kZXggMThmYjMyNjI3N2U5YzMzZTYzNzY4ZGQwODBkZWRhYWM5ODllYWRkNi4uNTZmNTI4ZGU3
YTM3OGU0ZDI0YTAyOTNjNGNmZTBlZWEyYzFmMjliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCkBAIC0xMjMsNyArMTIzLDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHJlbW92ZVRpbGVzSW5Db2hvcnQoVGlsZUNvaG9ydCk7CiAKICAgICB2b2lk
IHNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpOwotICAgIHZvaWQgY29ob3J0UmVtb3ZhbFRpbWVyRmly
ZWQoVGltZXI8VGlsZUdyaWQ+Kik7CisgICAgdm9pZCBjb2hvcnRSZW1vdmFsVGltZXJGaXJlZChU
aW1lciopOwogICAgIFRpbGVDb2hvcnQgbmV4dFRpbGVDb2hvcnQoKSBjb25zdDsKICAgICB2b2lk
IHN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCk7CiAgICAgVGlsZUNvaG9ydCBuZXdlc3RUaWxl
Q29ob3J0KCkgY29uc3Q7CkBAIC0xNTQsNyArMTU0LDcgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVm
IERlcXVlPFRpbGVDb2hvcnRJbmZvPiBUaWxlQ29ob3J0TGlzdDsKICAgICBUaWxlQ29ob3J0TGlz
dCBtX2NvaG9ydExpc3Q7CiAKLSAgICBUaW1lcjxUaWxlR3JpZD4gbV9jb2hvcnRSZW1vdmFsVGlt
ZXI7CisgICAgVGltZXIgbV9jb2hvcnRSZW1vdmFsVGltZXI7CiAKICAgICB0eXBlZGVmIEhhc2hN
YXA8UGxhdGZvcm1DQUxheWVyKiwgaW50PiBSZXBhaW50Q291bnRNYXA7CiAgICAgUmVwYWludENv
dW50TWFwIG1fdGlsZVJlcGFpbnRDb3VudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGVnYWN5Q0FDRkxheWVyVHJlZUhvc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRyZWVI
b3N0LmNwcAppbmRleCBiODBhMmZlZjNjZjk2MjI4MWI4ZTdiZTZhMjMyYWJkNjIxOTc0YmJhLi4y
MTBhMWE4ODE4MjEyNGM2NDlkYjU3NDMwZjdiYzYzNDE0OGUzNjgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGVnYWN5Q0FDRkxheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9MZWdh
Y3lDQUNGTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIExlZ2FjeUNB
Q0ZMYXllclRyZWVIb3N0OjpyZXNpemUoKQogICAgIH0KIH0KIAotdm9pZCBMZWdhY3lDQUNGTGF5
ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZChUaW1lcjxMZWdhY3lDQUNGTGF5ZXJUcmVlSG9z
dD4qKQordm9pZCBMZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgcGFpbnQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9MZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0LmgK
aW5kZXggMTAyZmNiYzc4ZmM3YWUwZDM5MGI1Njk1MjRiZGNhNTViZDdmNDc1MS4uOGY2MTZiZjRj
NmJhMDkwMmQyYTg2NjQwZjI2ZjJiNThlMTU4MTJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXll
clRyZWVIb3N0LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHJlc2V0RGV2
aWNlKFJlc2V0UmVhc29uKTsKIAogICAgIHZvaWQgcmVuZGVyU29vbigpOwotICAgIHZvaWQgcmVu
ZGVyVGltZXJGaXJlZChUaW1lcjxMZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdD4qKTsKKyAgICB2b2lk
IHJlbmRlclRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXpl
Q29udGV4dCh2b2lkKiB1c2VyRGF0YSwgUGxhdGZvcm1DQUxheWVyKik7CiAgICAgdmlydHVhbCB2
b2lkIHJlc2l6ZSgpOwpAQCAtNjYsNyArNjYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgR3Jh
cGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0ZXIoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiAwOyB9CiAjZW5kaWYKIAotICAgIFRpbWVyPExlZ2FjeUNBQ0ZMYXllclRyZWVI
b3N0PiBtX3JlbmRlclRpbWVyOworICAgIFRpbWVyIG1fcmVuZGVyVGltZXI7CiAgICAgQ09NUHRy
PElEaXJlY3QzRERldmljZTk+IG1fZDNkRGV2aWNlOwogICAgIFdLQ0FDRkNvbnRleHQqIG1fY29u
dGV4dDsKICAgICBib29sIG1fbWlnaHRCZUFibGVUb0NyZWF0ZURldmljZUxhdGVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNw
cAppbmRleCBhOTQxYzkzMDU4OTIxNmQ0ZDM1YWE3MmZkOWU0NGE3NGRhOWQyYWU1Li41Mjg1ZGNl
NmU3ZjQ3N2MxN2VkOTU3MDRhNThhMmNjMTA3MmRkYzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcApAQCAtMjkyLDcg
KzI5Miw3IEBAIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUo
KQogICAgIHJldHVybiBtYXJrZWRBbGxTdXJmYWNlczsKIH0KIAotdm9pZCBJT1N1cmZhY2VQb29s
Ojpjb2xsZWN0aW9uVGltZXJGaXJlZChUaW1lcjxJT1N1cmZhY2VQb29sPiYpCit2b2lkIElPU3Vy
ZmFjZVBvb2w6OmNvbGxlY3Rpb25UaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBjb2xsZWN0SW5V
c2VTdXJmYWNlcygpOwogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSBtYXJrT2xkZXJTdXJm
YWNlc1B1cmdlYWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDgwYWYwZDVmMmY3MDQzNTYwYThlMjUyMTY2OGM0
YTEzYWY2YTk5ZTYuLmJhNDQxMTY4Y2ZkNzU2YTE1NWNkNmNlNjA3MmY1Njc1MWRhZjczYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBv
b2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQ
b29sLmgKQEAgLTg3LDEzICs4NywxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgdHJ5RXZpY3RPbGRl
c3RDYWNoZWRTdXJmYWNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlQ29sbGVjdGlvblRpbWVyKCk7
Ci0gICAgdm9pZCBjb2xsZWN0aW9uVGltZXJGaXJlZChUaW1lcjxJT1N1cmZhY2VQb29sPiYpOwor
ICAgIHZvaWQgY29sbGVjdGlvblRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIGNvbGxlY3RJ
blVzZVN1cmZhY2VzKCk7CiAgICAgYm9vbCBtYXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgpOwog
CiAgICAgdm9pZCBwbGF0Zm9ybUdhcmJhZ2VDb2xsZWN0Tm93KCk7CiAKLSAgICBUaW1lcjxJT1N1
cmZhY2VQb29sPiBtX2NvbGxlY3Rpb25UaW1lcjsKKyAgICBUaW1lciBtX2NvbGxlY3Rpb25UaW1l
cjsKICAgICBDYWNoZWRTdXJmYWNlTWFwIG1fY2FjaGVkU3VyZmFjZXM7CiAgICAgQ2FjaGVkU3Vy
ZmFjZVF1ZXVlIG1faW5Vc2VTdXJmYWNlczsKICAgICBDYWNoZWRTdXJmYWNlRGV0YWlsc01hcCBt
X3N1cmZhY2VEZXRhaWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcAppbmRleCAyNWU1ZWI2MTljNzBiNGM3OWUzMWQ0NDZkNDYxY2QwNWE4YmE5YTA5
Li5iYTNjN2FmYmVlNWQwMTZjMmMzNTliYTAyYzFlMDEzNDVmMWM0ODJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTE0NSw3ICsxMTQ1
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnByb2Nlc3NUYWJsZU9mQ29u
dGVudHNFbnRyeShHc3RUb2NFbnRyeSogZW50cnkKIH0KICNlbmRpZgogCi12b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmlsbFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyPiopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmlsbFRp
bWVyRmlyZWQoVGltZXIqKQogewogICAgIEdzdFF1ZXJ5KiBxdWVyeSA9IGdzdF9xdWVyeV9uZXdf
YnVmZmVyaW5nKEdTVF9GT1JNQVRfUEVSQ0VOVCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA3NzIwMDE1ZTM0ODE3YTk4MzViMmY0Nzc4YWEy
OTEzZTRjYjRiMmQ1Li4wNTYxMzRlOWFiZTY2ZDI4NzFlZjRhYTYzZTNhN2YxYjZiZjRkMDFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC04Nyw3
ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByZXNlcnZlc1BpdGNoKGJvb2wpOwogCiAg
ICAgdm9pZCBzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkKTsKLSAgICB2b2lkIGZpbGxU
aW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKTsKKyAgICB2b2lk
IGZpbGxUaW1lckZpcmVkKFRpbWVyKik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1U
aW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0OwogICAgIGZsb2F0IG1heFRpbWVTZWVrYWJsZSgp
IGNvbnN0OwpAQCAtMTkyLDcgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Vycm9yT2Nj
dXJlZDsKICAgICBtdXRhYmxlIGdmbG9hdCBtX21lZGlhRHVyYXRpb247CiAgICAgYm9vbCBtX2Rv
d25sb2FkRmluaXNoZWQ7Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBt
X2ZpbGxUaW1lcjsKKyAgICBUaW1lciBtX2ZpbGxUaW1lcjsKICAgICBmbG9hdCBtX21heFRpbWVM
b2FkZWQ7CiAgICAgaW50IG1fYnVmZmVyaW5nUGVyY2VudGFnZTsKICAgICBNZWRpYVBsYXllcjo6
UHJlbG9hZCBtX3ByZWxvYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCmluZGV4IGVmODU1
ZTkyMmIxNmRhOGM3NDg2ODdmOGQ0ZjA4ZTQ1ZGYxN2UyODUuLjU4MDJjNzI0YjM0YzFkN2Y5YmFl
YzZlYjczODFkYTBjMTE1ZThkZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCkBAIC0x
NTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0YXRlcygpOwogICAgIHZv
aWQgZG9TZWVrKCk7CiAgICAgdm9pZCBjYW5jZWxTZWVrKCk7Ci0gICAgdm9pZCBzZWVrVGltZXJG
aXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4mKTsKKyAgICB2b2lkIHNlZWtUaW1l
ckZpcmVkKFRpbWVyJik7CiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZUxvYWRlZCgpIGNvbnN0
OwogICAgIHZvaWQgZGlzYWJsZVVuc3VwcG9ydGVkVHJhY2tzKCk7CiAgICAgCkBAIC0xODAsNyAr
MTgwLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQ29yZU1vdmllT2JzZXJ2ZXI+IG1f
b2JqY09ic2VydmVyOwogICAgIFN0cmluZyBtX21vdmllVVJMOwogICAgIE1lZGlhVGltZSBtX3Nl
ZWtUbzsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4gbV9zZWVrVGltZXI7Cisg
ICAgVGltZXIgbV9zZWVrVGltZXI7CiAgICAgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25l
dHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CiAg
ICAgSW50UmVjdCBtX3JlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggNmQ0
MTE1M2VmMGZkMDk0ZThhOTNmNjZmNDZhNTZmYWU0ODdlNmU0OC4uOTU5Mjg0YTBlNDJhZGY0Mjg1
NDQxYWU3MDg4M2VmZjNmYTIyMWQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpA
QCAtNjc2LDcgKzY3Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmNhbmNlbFNl
ZWsoKQogICAgIG1fc2Vla1RpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZh
dGVRVEtpdDo6c2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ+JikK
K3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWtUaW1lckZpcmVkKFRpbWVyJikKIHsg
ICAgICAgIAogICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8fCAhc2Vla2luZygpIHx8IGN1
cnJlbnRNZWRpYVRpbWUoKSA9PSBtX3NlZWtUbykgewogICAgICAgICBjYW5jZWxTZWVrKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlci5jcHAKaW5kZXggNTNjZTRhZmI3Y2Y0YjQwNGM2ZmI5NzU4ZWI4OGVjNTg1NTU5
NGFkMC4uN2UxMjFhMjBkOTYzZWM4NWJkYzRlMzE5OTI3Mjc5OWQ0NDIxYjU3NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyLmNwcApAQCAtNTQsMTAgKzU0LDEwIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2
b2lkIHNjaGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCk7Ci0gICAgdm9pZCByZWxlYXNlVW51
c2VkVGV4dHVyZXNUaW1lckZpcmVkKFRpbWVyPEJpdG1hcFRleHR1cmVQb29sPiopOworICAgIHZv
aWQgcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgVmVjdG9y
PEJpdG1hcFRleHR1cmVQb29sRW50cnk+IG1fdGV4dHVyZXM7Ci0gICAgVGltZXI8Qml0bWFwVGV4
dHVyZVBvb2w+IG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXI7CisgICAgVGltZXIgbV9yZWxl
YXNlVW51c2VkVGV4dHVyZXNUaW1lcjsKIAogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc19yZWxl
YXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHNfcmVs
ZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbDsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBC
aXRtYXBUZXh0dXJlUG9vbDo6c2NoZWR1bGVSZWxlYXNlVW51c2VkVGV4dHVyZXMoKQogICAgIG1f
cmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVTaG90KHNfcmVsZWFzZVVudXNlZFRl
eHR1cmVzVGltZXJJbnRlcnZhbCk7CiB9CiAKLXZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnJlbGVh
c2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQoVGltZXI8Qml0bWFwVGV4dHVyZVBvb2w+KikKK3Zv
aWQgQml0bWFwVGV4dHVyZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQoVGlt
ZXIqKQogewogICAgIGlmIChtX3RleHR1cmVzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3Bw
CmluZGV4IDBkYTQyOWJmMjk2ZTk0MGU4ZjA4YjU1OTA4Y2Y1MzkwYmIxODhjMmUuLjA2MWQ5NmZl
M2ZjODBjNDgwNmFmZmJmNDliN2VlMTk4NDJkMzE4NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3Jk
aW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTM5Niw3ICszOTYsNyBA
QCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRs
YXNlcygpCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsKTsKIH0KIAotdm9pZCBDb21w
b3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJGaXJlZChUaW1l
cjxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiopCit2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6
OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICAvLyBXZSBh
bHdheXMgd2FudCB0byBrZWVwIG9uZSBhdGxhcyBmb3Igcm9vdCBjb250ZW50cyBsYXllci4KICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VXBkYXRlQXRsYXM+IGF0bGFzVG9LZWVwQW55d2F5OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMGJm
NDU0MGE1NGJhYmMzNWVhZTY5ODU5NTA3ZGVmNDZlOWJjMDQwNS4uMGNhZTg2ZjJiOTE2YjRmM2Vh
MWI4YWUxODc0ODRjN2Q3MzRjYWM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29tcG9zaXRpbmdDb29yZGluYXRvci5oCkBAIC0xMjIsNyArMTIyLDcgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgc2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCk7CiAKLSAgICB2b2lkIHJl
bGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyPENvbXBvc2l0aW5nQ29vcmRpbmF0
b3I+Kik7CisgICAgdm9pZCByZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJGaXJlZChUaW1lciop
OwogCiAgICAgUGFnZSogbV9wYWdlOwogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OkNsaWVu
dCogbV9jbGllbnQ7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9z
aG91bGRTeW5jRnJhbWU7CiAgICAgYm9vbCBtX2RpZEluaXRpYWxpemVSb290Q29tcG9zaXRpbmdM
YXllcjsKLSAgICBUaW1lcjxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiBtX3JlbGVhc2VJbmFjdGl2
ZUF0bGFzZXNUaW1lcjsKKyAgICBUaW1lciBtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lcjsK
IAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBkb3VibGUgbV9sYXN0
QW5pbWF0aW9uU2VydmljZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDA0YzkwOGIyYTMzY2JjYzEyNGEyMDkz
YWI0ZDUyNzNhYTllNDM0ZDkuLjk5ZTkyYjU0NWM0NmM4YmI2OTk0ZDg4OTY2ODRjN2FmMmZjMzIy
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuY3BwCkBAIC0xMjIwLDcgKzEyMjAsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllcjo6cmVzdW1lQW5pbWF0aW9ucygpCiAgICAgZGlkQ2hhbmdlQW5pbWF0aW9ucygpOwog
fQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9uU3RhcnRlZFRpbWVy
RmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPiopCit2b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6YW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGltZXIqKQogewogICAg
IGNsaWVudCgpLm5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQodGhpcywgIiIsIG1fbGFzdEFuaW1hdGlv
blN0YXJ0VGltZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggNThmYmZjMGI5YjAwYmU3ZmYzYzZiNzc3NmFkMzhjMDA2
MGM2ODliMS4uMDdjMjgxN2M0MjEwNjY5ZjVhOWQ5MzcwMjE1MWZjZTYyNzBhOWUxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApA
QCAtMjAxLDcgKzIwMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91bGRVcGRhdGVWaXNp
YmxlUmVjdCgpOwogICAgIGZsb2F0IGVmZmVjdGl2ZUNvbnRlbnRzU2NhbGUoKTsKIAotICAgIHZv
aWQgYW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyPiopOworICAgIHZvaWQgYW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGltZXIqKTsKIAog
ICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBtX2lkOwogICAgIENvb3JkaW5hdGVkR3JhcGhpY3NMYXll
clN0YXRlIG1fbGF5ZXJTdGF0ZTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBwcml2YXRlOgogICAgIElu
dFNpemUgbV9wbGF0Zm9ybUxheWVyU2l6ZTsKICAgICBHcmFwaGljc1N1cmZhY2VUb2tlbiBtX3Bs
YXRmb3JtTGF5ZXJUb2tlbjsKICNlbmRpZgotICAgIFRpbWVyPENvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcj4gbV9hbmltYXRpb25TdGFydGVkVGltZXI7CisgICAgVGltZXIgbV9hbmltYXRpb25TdGFy
dGVkVGltZXI7CiAgICAgR3JhcGhpY3NMYXllckFuaW1hdGlvbnMgbV9hbmltYXRpb25zOwogICAg
IGRvdWJsZSBtX2xhc3RBbmltYXRpb25TdGFydFRpbWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZElt
YWdlQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4IDgwYzRlZWQ2YjIz
OWJkYjlkMjAxMTFkMzA0NTE5YWJjZjUzNjFkYTEuLjA5MzBlMjY5MDFkZDk3YWRiNmFlZWUzNWU5
OWM5M2YzNTg0NjM4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3Jk
aW5hdGVkSW1hZ2VCYWNraW5nLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmc6OnVwZGF0ZVZpc2liaWxpdHlJZk5lZWRlZChib29sJiBjaGFuZ2VkVG9W
aXNpYmxlKQogICAgIH0KIH0KIAotdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6Y2xlYXJD
b250ZW50c1RpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc+KikKK3ZvaWQg
Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OmNsZWFyQ29udGVudHNUaW1lckZpcmVkKFRpbWVyKikK
IHsKICAgICBtX2NsaWVudC0+Y2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyhpZCgpKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmgKaW5k
ZXggNzExZTQ5MWZlNTQ4NjJjY2I3MDFlY2RiZTk2MzdmMTMzYmE0YjA0ZS4uZDYxNzY1Zjc5YTJk
Nzg4NDEyMDBjYjFhYWI2MjhmMzQ2YWVlN2MwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgcmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpOwogICAgIHZvaWQgdXBkYXRl
VmlzaWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpOwotICAgIHZvaWQgY2xl
YXJDb250ZW50c1RpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc+Kik7Cisg
ICAgdm9pZCBjbGVhckNvbnRlbnRzVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgQ2xpZW50KiBt
X2NsaWVudDsKICAgICBSZWZQdHI8SW1hZ2U+IG1faW1hZ2U7CkBAIC04Miw3ICs4Miw3IEBAIHBy
aXZhdGU6CiAKICAgICBSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPiBtX3N1cmZhY2U7CiAKLSAg
ICBUaW1lcjxDb29yZGluYXRlZEltYWdlQmFja2luZz4gbV9jbGVhckNvbnRlbnRzVGltZXI7Cisg
ICAgVGltZXIgbV9jbGVhckNvbnRlbnRzVGltZXI7CiAKICAgICBib29sIG1faXNEaXJ0eTsKICAg
ICBib29sIG1faXNWaXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL0xlZ2FjeVRpbGVDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVDYWNoZS5oCmluZGV4IGRhMWIwNmRhNWY4MGI3NWI1MTE2ZjExNWQyNGE1YjM0MGM2YmM5
OWQuLmY4NzU5YTQ0MmY2MmFlNzg0YzU0MDdiYjIzNDA5NDE1YmM4NGU4MDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLmgKQEAgLTE2OSw3ICsxNjks
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlVGlsZXNJbkFjdGl2ZUdyaWQoU3luY2hyb25v
dXNUaWxlQ3JlYXRpb25Nb2RlKTsKICAgICB2b2lkIHNjaGVkdWxlTGF5ZXJGbHVzaEZvclBlbmRp
bmdSZXBhaW50KCk7CiAKLSAgICB2b2lkIHRpbGVDcmVhdGlvblRpbWVyRmlyZWQoVGltZXI8TGVn
YWN5VGlsZUNhY2hlPiopOworICAgIHZvaWQgdGlsZUNyZWF0aW9uVGltZXJGaXJlZChUaW1lciop
OwogCiAgICAgdm9pZCBkcmF3UmVwbGFjZW1lbnRJbWFnZShMZWdhY3lUaWxlTGF5ZXIqLCBDR0Nv
bnRleHRSZWYsIENHSW1hZ2VSZWYpOwogICAgIHZvaWQgZHJhd1dpbmRvd0NvbnRlbnQoTGVnYWN5
VGlsZUxheWVyKiwgQ0dDb250ZXh0UmVmLCBDR1JlY3QgZGlydHlSZWN0KTsKQEAgLTIwMCw3ICsy
MDAsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxMZWdhY3lUaWxlR3JpZD4gbV96b29tZWRPdXRU
aWxlR3JpZDsKICAgICBPd25QdHI8TGVnYWN5VGlsZUdyaWQ+IG1fem9vbWVkSW5UaWxlR3JpZDsK
IAotICAgIFRpbWVyPExlZ2FjeVRpbGVDYWNoZT4gbV90aWxlQ3JlYXRpb25UaW1lcjsKKyAgICBU
aW1lciBtX3RpbGVDcmVhdGlvblRpbWVyOwogCiAgICAgVmVjdG9yPEludFJlY3Q+IG1fc2F2ZWRE
aXNwbGF5UmVjdHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9M
ZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUNhY2hlLm1tCmluZGV4IDZjMDAxNDJiOTZmNjAxN2RiNWI4ZTU5N2ZjZTgxZDY3NDM0OTU1NjYu
LmMzZDk5MzIyZTQ5M2RiMTVlMmE2NDI0Mzc0ZTQ1ZjUxZTM3YWQxZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtNDE1LDcgKzQxNSw3
IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMoYm9vbCBkaWRD
cmVhdGVUaWxlcywgYm9vbCBjcmVhdGVNb3JlCiAgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIExlZ2FjeVRpbGVDYWNoZTo6dGlsZUNyZWF0aW9u
VGltZXJGaXJlZChUaW1lcjxMZWdhY3lUaWxlQ2FjaGU+KikKK3ZvaWQgTGVnYWN5VGlsZUNhY2hl
Ojp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAoaXNUaWxlQ3JlYXRp
b25TdXNwZW5kZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCBkY2IzNGNjZDllMTNjY2E2
MDUwZDkwM2ViM2IyN2QyOTlkYTE0ZGJjLi5jNDkxY2RkYmRhNDE2NWNiNzY1OWVkN2JmYzU2NmE1
NDg3NGM4OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2Ft
ZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2Ft
ZXBhZFByb3ZpZGVyLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIHVuc2lnbmVkIEhJREdhbWVwYWRQ
cm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERldmljZSgpCiAgICAgcmV0dXJuIGluZGV4
OwogfQogCi12b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJl
ZChUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+JikKK3ZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjpj
b25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBtX3Nob3VsZERpc3BhdGNo
Q2FsbGJhY2tzID0gdHJ1ZTsKIH0KQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIEhJREdhbWVwYWRQ
cm92aWRlcjo6dmFsdWVzQ2hhbmdlZChJT0hJRFZhbHVlUmVmIHZhbHVlKQogICAgICAgICBtX2lu
cHV0Tm90aWZpY2F0aW9uVGltZXIuc3RhcnRPbmVTaG90KElucHV0Tm90aWZpY2F0aW9uRGVsYXkp
OwogfQogCi12b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmljYXRpb25UaW1lckZp
cmVkKFRpbWVyPEhJREdhbWVwYWRQcm92aWRlcj4mKQordm9pZCBISURHYW1lcGFkUHJvdmlkZXI6
OmlucHV0Tm90aWZpY2F0aW9uVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKCFtX3Nob3Vs
ZERpc3BhdGNoQ2FsbGJhY2tzKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggZWQ3NjI4MWVmNDhlNTRh
ODkyZTcyZGVmYTMxMTIzM2Q5OWI1OTEzNC4uZmZlNzVhZGYwNGU5ZWNhZTUyMzg3ZjJjNzY2Yzk5
YjFiOTE4ZDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0hJREdh
bWVwYWRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9ISURHYW1l
cGFkUHJvdmlkZXIuaApAQCAtNjQsOCArNjQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgb3BlbkFu
ZFNjaGVkdWxlTWFuYWdlcigpOwogICAgIHZvaWQgY2xvc2VBbmRVbnNjaGVkdWxlTWFuYWdlcigp
OwogCi0gICAgdm9pZCBjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKFRpbWVyPEhJREdhbWVwYWRQ
cm92aWRlcj4mKTsKLSAgICB2b2lkIGlucHV0Tm90aWZpY2F0aW9uVGltZXJGaXJlZChUaW1lcjxI
SURHYW1lcGFkUHJvdmlkZXI+Jik7CisgICAgdm9pZCBjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVk
KFRpbWVyJik7CisgICAgdm9pZCBpbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIHVuc2lnbmVkIGluZGV4Rm9yTmV3bHlDb25uZWN0ZWREZXZpY2UoKTsKIApAQCAtNzcs
OCArNzcsOCBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8R2FtZXBhZFByb3ZpZGVyQ2xpZW50Kj4g
bV9jbGllbnRzOwogICAgIGJvb2wgbV9zaG91bGREaXNwYXRjaENhbGxiYWNrczsKIAotICAgIFRp
bWVyPEhJREdhbWVwYWRQcm92aWRlcj4gbV9jb25uZWN0aW9uRGVsYXlUaW1lcjsKLSAgICBUaW1l
cjxISURHYW1lcGFkUHJvdmlkZXI+IG1faW5wdXROb3RpZmljYXRpb25UaW1lcjsKKyAgICBUaW1l
ciBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyOworICAgIFRpbWVyIG1faW5wdXROb3RpZmljYXRpb25U
aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKaW5kZXggMDEyZTRhODMxZTIxNWZhODBk
NDU0ZTM5NjEzY2ZiZDM4NGE1NjQ1OC4uYjA2Y2RlZTlmNmI5YTk1MWRmZWJjMmM2ZWJiYmNmNDU4
NDk4Y2I0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLmgKQEAgLTc4LDExICs3OCwxMSBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxXZWJT
Y3JvbGxiYXJQYWludGVyRGVsZWdhdGU+IG1faG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXJEZWxl
Z2F0ZTsKICAgICBSZXRhaW5QdHI8V2ViU2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRlPiBtX3ZlcnRp
Y2FsU2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRlOwogCi0gICAgdm9pZCBpbml0aWFsU2Nyb2xsYmFy
UGFpbnRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiYpOwotICAgIFRpbWVyPFNj
cm9sbEFuaW1hdG9yTWFjPiBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyOworICAgIHZvaWQg
aW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXJGaXJlZChUaW1lciYpOworICAgIFRpbWVyIG1faW5p
dGlhbFNjcm9sbGJhclBhaW50VGltZXI7CiAKLSAgICB2b2lkIHNlbmRDb250ZW50QXJlYVNjcm9s
bGVkVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKTsKLSAgICBUaW1lcjxTY3Jv
bGxBbmltYXRvck1hYz4gbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyOworICAgIHZvaWQg
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyJik7CisgICAgVGltZXIgbV9z
ZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyOwogICAgIEZsb2F0U2l6ZSBtX2NvbnRlbnRBcmVh
U2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhOwogCiAgICAgdmlydHVhbCBib29sIHNjcm9sbChTY3Jv
bGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11
bHRpcGxpZXIpOwpAQCAtMTU1LDEyICsxNTUsMTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0U2Nyb2xsUG9zaXRpb25Ub0JvdW5kc0lmTmVjZXNzYXJ5KCkgb3ZlcnJpZGU7CiAK
ICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZKTsK
LSAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1h
Yz4mKTsKKyAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Ym9vbCBpc0FscmVhZHlQaW5uZWRJbkRpcmVjdGlvbk9mR2VzdHVyZShjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmLCBTY3JvbGxFdmVudEF4aXMpOwogCiAgICAgU2Nyb2xsRWxhc3RpY2l0eUNvbnRy
b2xsZXIgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlcjsKLSAgICBUaW1lcjxTY3JvbGxBbmlt
YXRvck1hYz4gbV9zbmFwUnViYmVyQmFuZFRpbWVyOworICAgIFRpbWVyIG1fc25hcFJ1YmJlckJh
bmRUaW1lcjsKICNlbmRpZgogCiAgICAgYm9vbCBtX2hhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0K
aW5kZXggNDNmOTA5ZTQ2OTE0ZDcyZjQxOGRjMmVlNDE4YTk2Yjc3YWMyNjE5Yi4uYmE3YWFjMzE0
YzkzNzY2MThmZjdlZjQ0YmU2YTNmNWJmM2YwZGJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTI1Nyw3ICsxMjU3LDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RvcFNuYXBSdWJiZXJiYW5kVGltZXIoKQogICAgIG1f
c25hcFJ1YmJlckJhbmRUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6
OnNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKQordm9p
ZCBTY3JvbGxBbmltYXRvck1hYzo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLnNuYXBSdWJiZXJCYW5kVGltZXJGaXJl
ZCgpOwogfQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3Rv
cFNjcm9sbGJhclBhaW50VGltZXIoKQogICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIu
c3RvcCgpOwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbml0aWFsU2Nyb2xsYmFyUGFp
bnRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiYpCit2b2lkIFNjcm9sbEFuaW1h
dG9yTWFjOjppbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICAv
LyBUbyBmb3JjZSB0aGUgc2Nyb2xsYmFycyB0byBmbGFzaCwgd2UgaGF2ZSB0byBjYWxsIGhpZGUg
Zmlyc3QuIE90aGVyd2lzZSwgdGhlIFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyCiAgICAgLy8g
bWlnaHQgdGhpbmsgdGhhdCB0aGUgc2Nyb2xsYmFycyBhcmUgYWxyZWFkeSBzaG93aW5nIGFuZCBi
YWlsIGVhcmx5LgpAQCAtMTM2Miw3ICsxMzYyLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSkKICAgICAgICAg
W21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIgY29udGVudEFyZWFTY3JvbGxlZF07CiB9CiAK
LXZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXJGaXJl
ZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKQordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2Vu
ZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBzZW5kQ29udGVu
dEFyZWFTY3JvbGxlZChtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhKTsKICAg
ICBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhID0gRmxvYXRTaXplKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGll
bnRNb2NrLmNwcAppbmRleCBlY2M0YjEzZmQwMjM0NDM1ZmM4MTY1MmEwODk0M2M4OTY5ZjE0MDEz
Li4yOGQ4ZWU0NjBkYzVhNDYxNjBlNWRhMzEzNWI1MTI2YjQ3ZDU0NTQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5j
cHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rp
b24oUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtb3Rpb24pCiAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVy
RmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ2xpZW50TW9jaz4qIHRpbWVyKQordm9pZCBEZXZpY2VN
b3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRf
VU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CiAgICAgbV90aW1lci5zdG9wKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5oCmluZGV4IGYyZTBhOTgxYWI0OTZkYTVkNDZhMjE3YzViYmY1ZWJmZTJlMzcxZGQuLmYy
MTg5NjNmMGU1MDM5OWM2MmRhYjgzMWE0YTI0ZmI0NDhhYTFmZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5oCkBAIC01
NSwxMSArNTUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TW90aW9uKFBhc3NSZWZQdHI8RGV2
aWNlTW90aW9uRGF0YT4pOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxE
ZXZpY2VNb3Rpb25DbGllbnRNb2NrPiopOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciopOwog
CiAgICAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1fbW90aW9uOwogICAgIERldmljZU1vdGlv
bkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKLSAgICBUaW1lcjxEZXZpY2VNb3Rpb25DbGllbnRN
b2NrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgYm9vbCBtX2lzVXBkYXRpbmc7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTcxNmE3ZTZhYTdkZTg3YTQxYWJh
MWUwYjU3NTRmMTNjZTNkY2JlMS4uM2E3YTFlNzIwZGI4MDdkZmY3YjY3ZGM5YjM4NzE3NTk0MGRm
ZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcApAQCAtNjIsNyArNjIsNyBAQCB2b2lkIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24oUGFzc1JlZlB0cjxEZXZp
Y2VPcmllbnRhdGlvbkRhdAogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAot
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrPiYgdGltZXIpCit2b2lkIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jazo6dGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0
aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKICAgICBtX3RpbWVyLnN0b3AoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jay5oCmluZGV4IDg0NTAyOTlkYzZlMzVkNWMwMGJlNmYzMWE1ZGNmZDkyNTE0MWZiMWUu
LjY5NDhiOTI1YTM3MmFhODUwYjVkNjcxNjE3MmI5NDAxNDlhNmNhYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2suaApAQCAtNTQsMTEgKzU0LDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25EYXRhPik7CiAK
IHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIFJlZlB0cjxE
ZXZpY2VPcmllbnRhdGlvbkRhdGE+IG1fb3JpZW50YXRpb247CiAgICAgRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7Ci0gICAgVGltZXI8RGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgYm9vbCBtX2lzVXBk
YXRpbmc7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dl
b2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dl
b2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTkwMWI2NmFhN2E5ZGIyYmNjOTA0NTkxNWJl
MTQxZTI3YjhhNWRkNy4uMDUzMjVhN2Q5ZWY2YzExOWY2NTljMjcxZDVlNDUzN2I3ZWYwZTMzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25D
bGllbnRNb2NrLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnRN
b2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24oKQogICAgICAgICBtX3Blcm1pc3Npb25UaW1lci5z
dGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNz
aW9uVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1vY2s+KiB0aW1l
cikKK3ZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGltZXJGaXJlZChXZWJD
b3JlOjpUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fcGVybWlzc2lvblRpbWVyKTsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVy
bWlzc2lvblN0YXRlVW5zZXQpOwpAQCAtMTY5LDcgKzE2OSw3IEBAIHZvaWQgR2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIoKQogICAgICAgICBtX2NvbnRyb2xsZXJU
aW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpj
b250cm9sbGVyVGltZXJGaXJlZChUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1vY2s+KiB0aW1lcikK
K3ZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZChUaW1lciog
dGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fY29udHJvbGxl
clRpbWVyKTsKICAgICBBU1NFUlQobV9jb250cm9sbGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCmluZGV4IGYzODBjMTQ0
MzQ3OTczZGI1MTJjMGZlMjQ1ODBkYmZhZWRmZmM1MGEuLjU1ODc2N2JjYjU4ODNlZWIzMmE3Mjcz
YWYwNWIxNjI4MzY3MTM1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaApAQCAtNzAsMTAgKzcwLDEwIEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKICAgICB2b2lkIGFzeW5jVXBkYXRlQ29udHJvbGxlcigpOwotICAgIHZvaWQg
Y29udHJvbGxlclRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb25DbGllbnRNb2NrPiopOworICAg
IHZvaWQgY29udHJvbGxlclRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZvaWQgYXN5bmNVcGRh
dGVQZXJtaXNzaW9uKCk7Ci0gICAgdm9pZCBwZXJtaXNzaW9uVGltZXJGaXJlZChUaW1lcjxHZW9s
b2NhdGlvbkNsaWVudE1vY2s+Kik7CisgICAgdm9pZCBwZXJtaXNzaW9uVGltZXJGaXJlZChUaW1l
ciopOwogCiAgICAgdm9pZCBjbGVhckVycm9yKCk7CiAKQEAgLTgxLDggKzgxLDggQEAgcHJpdmF0
ZToKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9zaXRpb247CiAgICAg
Ym9vbCBtX2hhc0Vycm9yOwogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsKLSAgICBUaW1lcjxH
ZW9sb2NhdGlvbkNsaWVudE1vY2s+IG1fY29udHJvbGxlclRpbWVyOwotICAgIFRpbWVyPEdlb2xv
Y2F0aW9uQ2xpZW50TW9jaz4gbV9wZXJtaXNzaW9uVGltZXI7CisgICAgVGltZXIgbV9jb250cm9s
bGVyVGltZXI7CisgICAgVGltZXIgbV9wZXJtaXNzaW9uVGltZXI7CiAgICAgYm9vbCBtX2lzQWN0
aXZlOwogCiAgICAgZW51bSBQZXJtaXNzaW9uU3RhdGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2Nr
LmNwcAppbmRleCA0MzA4NjhlOTUwMTBiMzNiMmQ1NGZkNjc4ZDQyMGFmNWFlM2E0ZjY1Li5lZWNi
YTc3NDZhNjNlYjVmZTlkMjUxN2M3MmYyODdjMmEwZjdmZGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrLmNwcApAQCAtNDEsNyArNDEsNyBAQCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
azo6flBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrKCkKIHsKIH0KIAotdm9pZCBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZChUaW1lcjxQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jaz4qKQordm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
azo6c3BlYWtpbmdGaW5pc2hlZChUaW1lciopCiB7CiAgICAgQVNTRVJUKG1fdXR0ZXJhbmNlLmdl
dCgpKTsKICAgICBSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+IHByb3Rl
Y3QobV91dHRlcmFuY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oCmluZGV4IGFmYjJiNDBlN2E2
NmQyYzMxNmIwNTIwOGJlM2IzMjJjNTQ2YjYyNGQuLjgyOTQwYThlY2NjMGQ3NWIwZWYxYTU2Y2Vl
MGRlZmQ0OTAwMjQ2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmgKQEAgLTQ1LDkgKzQ1LDkg
QEAgcHVibGljOgogICAgIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVZv
aWNlTGlzdCgpOwotICAgIHZvaWQgc3BlYWtpbmdGaW5pc2hlZChUaW1lcjxQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyTW9jaz4qKTsKKyAgICB2b2lkIHNwZWFraW5nRmluaXNoZWQoVGltZXIqKTsK
ICAgICAKLSAgICBUaW1lcjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jaz4gbV9zcGVha2lu
Z0ZpbmlzaGVkVGltZXI7CisgICAgVGltZXIgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXI7CiAgICAg
UmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBtX3V0dGVyYW5jZTsKIH07
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZl
bnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oCmluZGV4IDk1NzVhY2ZjMzJiYzA5MzYyY2Q2YjFlYzZhYjk0NzA5OTM1NDY2N2Eu
LjY1NTNmMWFkYjgwZGI2ZDU3NGNhNjBhZDJhZmZmMjVhYjkyNzgyZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBAIC02OCw3
ICs2OCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgflRpbWVyRXZlbnQoKSB7IH0KIAotICAg
IHZvaWQgdGltZXJGaXJlZChUaW1lcjxUaW1lckV2ZW50PiopCisgICAgdm9pZCB0aW1lckZpcmVk
KFRpbWVyKikKICAgICB7CiAgICAgICAgIG1fbm90aWZpZXItPmZpcmUoKTsKICAgICAgICAgbV9t
b2NrLT5yZW1vdmVFdmVudCh0aGlzKTsKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIFRpbWVyRXZlbnRCYXNlZE1vY2sqIG1fbW9jazsKLSAgICBUaW1lcjxUaW1lckV2
ZW50PiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgUmVmUHRyPE1vY2tOb3RpZmll
cj4gbV9ub3RpZmllcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCBkN2Y1ZmJiZGRkNzRhODBhOGNjZDlhYzFm
NDEzNDRjNGViZDRhNDgyLi42YzEwMzI3ODhlOTk3NWJhN2VmYjk5YWY0ZmEwNWIyNzNhMThlYWI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVR
dWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZl
UXVldWUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29u
c3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICB9CiB9CiAKLXZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0
aW1lckZpcmVkKFRpbWVyPEROU1Jlc29sdmVRdWV1ZT4mKQordm9pZCBETlNSZXNvbHZlUXVldWU6
OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmIChpc1VzaW5nUHJveHkoKSkgewogICAgICAg
ICBtX25hbWVzLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuaAppbmRleCBjOGMxY2FmMzhlODQ2ZTVhNDA1MTFlMmNjMzJiOGVm
YmU0NGI3ODdkLi5hZDZmMThiZmIwYjgyNGMwMTgxMzU4YzVmMWY2MDFkNzg1MzE5ZDk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmgK
QEAgLTU1LDkgKzU1LDkgQEAgcHJpdmF0ZToKICAgICBib29sIHBsYXRmb3JtUHJveHlJc0VuYWJs
ZWRJblN5c3RlbVByZWZlcmVuY2VzKCk7CiAgICAgdm9pZCBwbGF0Zm9ybVJlc29sdmUoY29uc3Qg
U3RyaW5nJik7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8RE5TUmVzb2x2ZVF1ZXVlPiYp
OworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgVGltZXI8RE5TUmVzb2x2ZVF1
ZXVlPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAKICAgICBIYXNoU2V0PFN0cmluZz4g
bV9uYW1lczsKICAgICBzdGQ6OmF0b21pYzxpbnQ+IG1fcmVxdWVzdHNJbkZsaWdodDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZp
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZp
ZXIuaAppbmRleCA2MDcwZDBjNDY0MWM0NTMzZjMwMWNlNGU2YzU0NzhhMzUzMGM0YjA2Li4xMTM1
NDRiZGYxNzE3Yzc1MGVjMDA5YzYxOGYzNjc2MGFiY2Y5OWNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC03
MywxMiArNzMsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0YXRlKCk7CiAKICNpZiBQ
TEFURk9STShNQUMpCi0gICAgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VUaW1lckZpcmVkKFRpbWVy
PE5ldHdvcmtTdGF0ZU5vdGlmaWVyPiYpOworICAgIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlVGlt
ZXJGaXJlZChUaW1lciYpOwogCiAgICAgc3RhdGljIHZvaWQgZHluYW1pY1N0b3JlQ2FsbGJhY2so
U0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYgY2hhbmdlZEtleXMsIHZvaWQgKmluZm8pOyAK
IAogICAgIFJldGFpblB0cjxTQ0R5bmFtaWNTdG9yZVJlZj4gbV9zdG9yZTsKLSAgICBUaW1lcjxO
ZXR3b3JrU3RhdGVOb3RpZmllcj4gbV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lcjsKKyAgICBUaW1l
ciBtX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyOwogCiAjZWxpZiBQTEFURk9STShXSU4pCiAgICAg
c3RhdGljIHZvaWQgQ0FMTEJBQ0sgYWRkckNoYW5nZUNhbGxiYWNrKHZvaWQqLCBCT09MRUFOIHRp
bWVkT3V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5jcHAKaW5kZXggMDFjN2Y3MmMyMjFmMTIzZDk3ODJhMjUwMzA1ZWJmZjIxZmNiZTM2
ZC4uM2FlNTIwMGU5ZDA0NmIzMWQ0YWVlNmRjMTFjOTA5MTI1MjJhNDMyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEw
OCw3ICsxMDgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVy
ZVR5cGUgdHlwZSkKICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAK
LXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKFRpbWVyPFJlc291cmNlSGFu
ZGxlPiYpCit2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgaWYgKCFjbGllbnQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGUyMmRmZDljOTk2ZDgy
ZmI5Zjk1ZTM2OTY0YzdlNDViNzM4MmM4NjguLjYwN2YzOGQzNTg3NWQwMWE4Yjk1Mjg2MGU0YmI0
MjE0ZmY3NTkyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlLmgKQEAgLTk5LDggKzk5LDcgQEAgY2xhc3MgUmVzb3VyY2VMb2FkVGltaW5n
OwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKLQotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFRpbWVyOworY2xh
c3MgVGltZXI7CiAKIGNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVz
b3VyY2VIYW5kbGU+CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRk5FVFdPUkspIHx8IFVT
RShDVVJMKSB8fCBVU0UoU09VUCkKQEAgLTE4Myw3ICsxODIsNyBAQCBwdWJsaWM6CiAKICNpZiBV
U0UoV0lOSU5FVCkKICAgICB2b2lkIHNldFN5bmNocm9ub3VzSW50ZXJuZXRIYW5kbGUoSElOVEVS
TkVUKTsKLSAgICB2b2lkIGZpbGVMb2FkVGltZXIoVGltZXI8UmVzb3VyY2VIYW5kbGU+Kik7Cisg
ICAgdm9pZCBmaWxlTG9hZFRpbWVyKFRpbWVyKik7CiAgICAgdm9pZCBvblJlZGlyZWN0KCk7CiAg
ICAgYm9vbCBvblJlcXVlc3RDb21wbGV0ZSgpOwogICAgIHN0YXRpYyB2b2lkIENBTExCQUNLIGlu
dGVybmV0U3RhdHVzQ2FsbGJhY2soSElOVEVSTkVULCBEV09SRF9QVFIsIERXT1JELCBMUFZPSUQs
IERXT1JEKTsKQEAgLTI0MSw3ICsyNDAsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
UmVzb3VyY2VSZXF1ZXN0JiBmaXJzdFJlcXVlc3QoKTsKICAgICBjb25zdCBTdHJpbmcmIGxhc3RI
VFRQTWV0aG9kKCkgY29uc3Q7CiAKLSAgICB2b2lkIGZhaWx1cmVUaW1lckZpcmVkKFRpbWVyPFJl
c291cmNlSGFuZGxlPiYpOworICAgIHZvaWQgZmFpbHVyZVRpbWVyRmlyZWQoVGltZXImKTsKIAog
ICAgIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
aW5kZXggZWZjNWM3YzdlNjVkZmQwNTFkNjU4NGNkODc4ODFkYjUyMzZkNzc2MC4uYTgzZjc4MTQx
OGYwNmU0MmI2NmY2ZjkxMzg3ZGNjMjc2M2Y3ZjI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTE2
Miw3ICsxNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBtX3N0b3JhZ2VTZXNzaW9uOwogI2VuZGlmCiAjaWYgVVNFKFdJ
TklORVQpCi0gICAgICAgIFRpbWVyPFJlc291cmNlSGFuZGxlPiBtX2ZpbGVMb2FkVGltZXI7Cisg
ICAgICAgIFRpbWVyIG1fZmlsZUxvYWRUaW1lcjsKICAgICAgICAgSElOVEVSTkVUIG1faW50ZXJu
ZXRIYW5kbGU7CiAgICAgICAgIEhJTlRFUk5FVCBtX2Nvbm5lY3RIYW5kbGU7CiAgICAgICAgIEhJ
TlRFUk5FVCBtX3JlcXVlc3RIYW5kbGU7CkBAIC0yMjAsNyArMjIwLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIG1fY3VycmVudFdlYkNo
YWxsZW5nZTsKICAgICAgICAgUmVzb3VyY2VIYW5kbGU6OkZhaWx1cmVUeXBlIG1fc2NoZWR1bGVk
RmFpbHVyZVR5cGU7Ci0gICAgICAgIFRpbWVyPFJlc291cmNlSGFuZGxlPiBtX2ZhaWx1cmVUaW1l
cjsKKyAgICAgICAgVGltZXIgbV9mYWlsdXJlVGltZXI7CiAgICAgfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCA1ZDM3MmQxMGY1NWYw
NzFjMDYyODc4ZGUwMGQzNGZmNGQ2Nzg4M2U4Li45ZTgyZTY3ZDFhYmUwNTE1Y2VlYTE5NmVjNDRl
NThhNjI5ZWEwNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcApAQCAtNjIwLDcgKzYy
MCw3IEBAIHNpemVfdCByZWFkQ2FsbGJhY2sodm9pZCogcHRyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90
IG5tZW1iLCB2b2lkKiBkYXRhKQogICAgIHJldHVybiBzZW50OwogfQogCi12b2lkIFJlc291cmNl
SGFuZGxlTWFuYWdlcjo6ZG93bmxvYWRUaW1lckNhbGxiYWNrKFRpbWVyPFJlc291cmNlSGFuZGxl
TWFuYWdlcj4qIC8qIHRpbWVyICovKQordm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25s
b2FkVGltZXJDYWxsYmFjayhUaW1lciogLyogdGltZXIgKi8pCiB7CiAgICAgc3RhcnRTY2hlZHVs
ZWRKb2JzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaAppbmRleCAxNTJmYWM1OGIxOWM4ZTRh
OGU3ZjllNWUwZGZjN2VhNGU0OWU5NWM2Li41NGYyNmQwYjgxOGViNTI0NDA4OTUyMDQ0ZTcwNDAz
OGY3YmY4ZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5oCkBAIC03Niw3ICs3Niw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyKCk7CiAgICAgflJlc291
cmNlSGFuZGxlTWFuYWdlcigpOwotICAgIHZvaWQgZG93bmxvYWRUaW1lckNhbGxiYWNrKFRpbWVy
PFJlc291cmNlSGFuZGxlTWFuYWdlcj4qKTsKKyAgICB2b2lkIGRvd25sb2FkVGltZXJDYWxsYmFj
ayhUaW1lciopOwogICAgIHZvaWQgcmVtb3ZlRnJvbUN1cmwoUmVzb3VyY2VIYW5kbGUqKTsKICAg
ICBib29sIHJlbW92ZVNjaGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSopOwogICAgIHZvaWQgc3Rh
cnRKb2IoUmVzb3VyY2VIYW5kbGUqKTsKQEAgLTg3LDcgKzg3LDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgaW5pdENvb2tpZVNlc3Npb24oKTsKIAotICAgIFRpbWVyPFJlc291cmNlSGFuZGxlTWFu
YWdlcj4gbV9kb3dubG9hZFRpbWVyOworICAgIFRpbWVyIG1fZG93bmxvYWRUaW1lcjsKICAgICBD
VVJMTSogbV9jdXJsTXVsdGlIYW5kbGU7CiAgICAgQ1VSTFNIKiBtX2N1cmxTaGFyZUhhbmRsZTsK
ICAgICBjaGFyKiBtX2Nvb2tpZUphckZpbGVOYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwCmluZGV4IGNlZjZmZWE2YWVlMjVkZGVjOGY3NDIxYjY3MjgyNzg2ZjI5ZmU3NWUuLjAwNTM4
YmYzMmFiMTI0MjNiNDI0Y2UyYjk3ZWZmNTY0OTY0ZTk3NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3Rp
Zmllck1hYy5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6
ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYsIHYKICAg
ICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoU3RhdGVD
aGFuZ2VUaW1lckludGVydmFsKTsKIH0KIAotdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0
d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxOZXR3b3JrU3RhdGVOb3RpZmllcj4mKQor
dm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgYm9vbCBvbGRPbkxpbmUgPSBtX2lzT25MaW5lOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5k
bGVXaW4uY3BwCmluZGV4IGExYTZkNTE5NTJmMzIxY2VkNDA0YzY1Y2Q3N2ZkYjJmZDFiNzZjMTYu
LmZlNjBhNTVjM2I3NmYzOTkzNTI2NzAxZTEwYjBmMjhmNDkzZDFkNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdp
bi5jcHAKQEAgLTM1Myw3ICszNTMsNyBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzdGFydCgpCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIo
VGltZXI8UmVzb3VyY2VIYW5kbGU+KikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGlt
ZXIoVGltZXIqKQogewogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gcHJvdGVjdG9yKHRoaXMp
OwogICAgIGRlcmVmKCk7IC8vIGJhbGFuY2VzIHJlZiBpbiBzdGFydApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggMWVjMTEyZDZjN2E1ZDhhNTgxMzkxYjk1ODcw
NTM5OTUzZjRiODczNS4uNDhkZWNhZjRmMjAxODVlNDIyNDg3MzljMGZlYzliNjRhYWViZDdhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC02Myw3ICs2Myw3
IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAgICBtX2ZyZWVMaWJy
YXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFBsdWdpblBhY2thZ2U6OmZyZWVM
aWJyYXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5QYWNrYWdlPiopCit2b2lkIFBsdWdpblBhY2th
Z2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgQVNTRVJUKG1fbW9kdWxl
KTsKICAgICAvLyBEbyBub3RoaW5nIGlmIHRoZSBtb2R1bGUgZ290IGxvYWRlZCBhZ2FpbiBtZWFu
d2hpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgKaW5kZXggODdmZGFiNWM2
ZTk3ZWE5MzFlMzEyOTJlNDlkYmZjNWQxN2ZmMjRhYS4uYWVmYmIxZjk0YjUyNTYxYzI4ZTk4ZjAz
MjBlZGU1ZmZkZDlkYWQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5QYWNrYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgK
QEAgLTEyMCw4ICsxMjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgICAg
ICB2b2lkIGZyZWVMaWJyYXJ5U29vbigpOwotICAgICAgICB2b2lkIGZyZWVMaWJyYXJ5VGltZXJG
aXJlZChUaW1lcjxQbHVnaW5QYWNrYWdlPiopOwotICAgICAgICBUaW1lcjxQbHVnaW5QYWNrYWdl
PiBtX2ZyZWVMaWJyYXJ5VGltZXI7CisgICAgICAgIHZvaWQgZnJlZUxpYnJhcnlUaW1lckZpcmVk
KFRpbWVyKik7CisgICAgICAgIFRpbWVyIG1fZnJlZUxpYnJhcnlUaW1lcjsKIAogICAgICAgICBQ
bHVnaW5RdWlya1NldCBtX3F1aXJrczsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX01FVEFE
QVRBX0NBQ0hFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJl
YW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4IDMw
MDBjOWNlZTcwNDBhODcwOTQ4NzUyMWNlNzExODBlZDEzNjQ0OTYuLmM1YjQyNTFiYjRkZTU3NWRi
YTZlNjJmYTk5ZWYxZDY1ZWE0YTRmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0
cmVhbS5jcHAKQEAgLTMyMSw3ICszMjEsNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6ZGVzdHJveVN0
cmVhbSgpCiAgICAgICAgIGRlbGV0ZUZpbGUobV9wYXRoKTsKIH0KIAotdm9pZCBQbHVnaW5TdHJl
YW06OmRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyPFBsdWdpblN0cmVhbT4qIHRpbWVyKQor
dm9pZCBQbHVnaW5TdHJlYW06OmRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyKiB0aW1lcikK
IHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9kZWxheURlbGl2ZXJ5VGlt
ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblN0cmVhbS5o
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0uaAppbmRleCBkOGZkMjNmNTAw
ZmE0NzVmMzBlMzQyYTcwMzY2OWU0ZTc5MmU4YjVkLi5jYTE1MDAzOTBjM2EzYzBkMjA5NGUyYTE0
YzRkNjdkYjM3NjVlZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
blN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyZWFtLmgKQEAg
LTEwMCw4ICsxMDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0cmVh
bVN0YXRlIG1fc3RyZWFtU3RhdGU7CiAgICAgICAgIGJvb2wgbV9sb2FkTWFudWFsbHk7CiAKLSAg
ICAgICAgVGltZXI8UGx1Z2luU3RyZWFtPiBtX2RlbGF5RGVsaXZlcnlUaW1lcjsKLSAgICAgICAg
dm9pZCBkZWxheURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5TdHJlYW0+Kik7CisgICAg
ICAgIFRpbWVyIG1fZGVsYXlEZWxpdmVyeVRpbWVyOworICAgICAgICB2b2lkIGRlbGF5RGVsaXZl
cnlUaW1lckZpcmVkKFRpbWVyKik7CiAKICAgICAgICAgT3duUHRyPCBWZWN0b3I8Y2hhcj4gPiBt
X2RlbGl2ZXJ5RGF0YTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXgg
ZGM3ZTAxN2JiNjQyMDI1YjRlZTg1NDE5OTUxYjRlYzYwNDY4Mzg3OS4uNmUxMzcyMTMxYzgyOWM4
M2UzZTI2ZjU1NjkyMWEyOGY3NDBlNTNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZp
ZXcuY3BwCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIFN0cmluZyBzY3JpcHRTdHJpbmdJZkph
dmFTY3JpcHRVUkwoY29uc3QgVVJMJiB1cmwpCiAKIFBsdWdpblZpZXcqIFBsdWdpblZpZXc6OnNf
Y3VycmVudFBsdWdpblZpZXcgPSAwOwogCi12b2lkIFBsdWdpblZpZXc6OnBvcFBvcHVwc1N0YXRl
VGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiopCit2b2lkIFBsdWdpblZpZXc6OnBvcFBvcHVw
c1N0YXRlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgcG9wUG9wdXBzRW5hYmxlZFN0YXRlKCk7
CiB9CkBAIC00NzksNyArNDc5LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZXJmb3JtUmVxdWVzdChQ
bHVnaW5SZXF1ZXN0KiByZXF1ZXN0KQogICAgIH0KIH0KIAotdm9pZCBQbHVnaW5WaWV3OjpyZXF1
ZXN0VGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiogdGltZXIpCit2b2lkIFBsdWdpblZpZXc6
OnJlcXVlc3RUaW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRp
bWVyLCB0aW1lciA9PSAmbV9yZXF1ZXN0VGltZXIpOwogICAgIEFTU0VSVCghbV9yZXF1ZXN0cy5p
c0VtcHR5KCkpOwpAQCAtNjY0LDcgKzY2NCw3IEBAIE5QRXJyb3IgUGx1Z2luVmlldzo6c2V0VmFs
dWUoTlBQVmFyaWFibGUgdmFyaWFibGUsIHZvaWQqIHZhbHVlKQogICAgIH0KIH0KIAotdm9pZCBQ
bHVnaW5WaWV3OjppbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiogdGltZXIp
Cit2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVUaW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsK
ICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9pbnZhbGlkYXRlVGltZXIpOwog
CkBAIC0xMjY0LDcgKzEyNjQsNyBAQCBjb25zdCBjaGFyKiBQbHVnaW5WaWV3Ojp1c2VyQWdlbnRT
dGF0aWMoKQogI2VuZGlmCiAKIAotdm9pZCBQbHVnaW5WaWV3OjpsaWZlU3VwcG9ydFRpbWVyRmly
ZWQoVGltZXI8UGx1Z2luVmlldz4qKQordm9pZCBQbHVnaW5WaWV3OjpsaWZlU3VwcG9ydFRpbWVy
RmlyZWQoVGltZXIqKQogewogICAgIGRlcmVmKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
Vmlldy5oCmluZGV4IDQ1MTJiOGE4MzBmODBlNzdlYjY4M2I0OTEyMjcwNTA3ODE5ZjA2MTQuLmIy
OTc2MzRlZWJjZjIyZThmMTFiMjVmMTEwMDMwNWMyMWJiYzJmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luVmlldy5oCkBAIC0yODgsMTYgKzI4OCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgdm9pZCBwZXJmb3JtUmVxdWVzdChQbHVnaW5SZXF1ZXN0Kik7CiAgICAgICAg
IHZvaWQgc2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1ZXN0Pik7Ci0g
ICAgICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmlldz4qKTsKLSAgICAg
ICAgdm9pZCBpbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiopOwotICAgICAg
ICBUaW1lcjxQbHVnaW5WaWV3PiBtX3JlcXVlc3RUaW1lcjsKLSAgICAgICAgVGltZXI8UGx1Z2lu
Vmlldz4gbV9pbnZhbGlkYXRlVGltZXI7CisgICAgICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQo
VGltZXIqKTsKKyAgICAgICAgdm9pZCBpbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lciopOworICAg
ICAgICBUaW1lciBtX3JlcXVlc3RUaW1lcjsKKyAgICAgICAgVGltZXIgbV9pbnZhbGlkYXRlVGlt
ZXI7CiAKLSAgICAgICAgdm9pZCBwb3BQb3B1cHNTdGF0ZVRpbWVyRmlyZWQoVGltZXI8UGx1Z2lu
Vmlldz4qKTsKLSAgICAgICAgVGltZXI8UGx1Z2luVmlldz4gbV9wb3BQb3B1cHNTdGF0ZVRpbWVy
OworICAgICAgICB2b2lkIHBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1lciopOworICAgICAg
ICBUaW1lciBtX3BvcFBvcHVwc1N0YXRlVGltZXI7CiAKLSAgICAgICAgdm9pZCBsaWZlU3VwcG9y
dFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmlldz4qKTsKLSAgICAgICAgVGltZXI8UGx1Z2luVmll
dz4gbV9saWZlU3VwcG9ydFRpbWVyOworICAgICAgICB2b2lkIGxpZmVTdXBwb3J0VGltZXJGaXJl
ZChUaW1lciopOworICAgICAgICBUaW1lciBtX2xpZmVTdXBwb3J0VGltZXI7CiAKICNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAgICAgYm9vbCBkaXNwYXRjaE5QRXZlbnQoTlBF
dmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luTWVz
c2FnZVRocm90dGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBiMzI3Mjg5ODBlZjA2NDQyMTRmMDcxZjkyNzJm
NDJiYTE4YzdjMzE4Li5lNTZlMzllYWIyYTRjYmNlOTdjNzhmODdkYWE4ZTBmZGUwNTI1N2VhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0
bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdl
VGhyb3R0bGVyV2luLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgUGx1Z2luTWVzc2FnZVRo
cm90dGxlcldpbjo6cHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKQogICAgIGZyZWVNZXNzYWdlKG1lc3Nh
Z2UpOwogfQogCi12b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1lc3NhZ2VUaHJvdHRs
ZVRpbWVyRmlyZWQoVGltZXI8UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbj4qKQordm9pZCBQbHVn
aW5NZXNzYWdlVGhyb3R0bGVyV2luOjptZXNzYWdlVGhyb3R0bGVUaW1lckZpcmVkKFRpbWVyKikK
IHsKICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmgKaW5kZXggMGE3YmU3
MGNhMjgwY2JhMjJhZmRkYWNkMzNmMGMxYTBmM2Y5YzhhNy4uOGZkZDE3YzI5MTdmMjIxMzFjZGY0
ZjUwNGI0Njc0YjNlNTM5ZWJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy93
aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uaApAQCAtNTIsNyArNTIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIHByb2Nlc3NRdWV1
ZWRNZXNzYWdlKCk7Ci0gICAgICAgIHZvaWQgbWVzc2FnZVRocm90dGxlVGltZXJGaXJlZChUaW1l
cjxQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luPiopOworICAgICAgICB2b2lkIG1lc3NhZ2VUaHJv
dHRsZVRpbWVyRmlyZWQoVGltZXIqKTsKICAgICAgICAgUGx1Z2luTWVzc2FnZSogYWxsb2NhdGVN
ZXNzYWdlKCk7CiAgICAgICAgIGJvb2wgaXNJbmxpbmVNZXNzYWdlKFBsdWdpbk1lc3NhZ2UqIG1l
c3NhZ2UpOwogICAgICAgICB2b2lkIGZyZWVNZXNzYWdlKFBsdWdpbk1lc3NhZ2UqIG1lc3NhZ2Up
OwpAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpbk1l
c3NhZ2UgbV9pbmxpbmVNZXNzYWdlc1tOdW1JbmxpbmVNZXNzYWdlc107CiAgICAgICAgIFBsdWdp
bk1lc3NhZ2UqIG1fZnJlZUlubGluZU1lc3NhZ2VzOwogCi0gICAgICAgIFRpbWVyPFBsdWdpbk1l
c3NhZ2VUaHJvdHRsZXJXaW4+IG1fbWVzc2FnZVRocm90dGxlVGltZXI7CisgICAgICAgIFRpbWVy
IG1fbWVzc2FnZVRocm90dGxlVGltZXI7CiAgICAgICAgIGRvdWJsZSBtX2xhc3RNZXNzYWdlVGlt
ZTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VR
dWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFs
aXR5Q29udHJvbGxlci5jcHAKaW5kZXggZTgyZWVkNmRjNWJkZjViYzcxY2I0Y2U1YjE5Yzg5NTdl
OTIxMzJiZC4uMjdjMDUxYzE1ZGVjZjM4Zjg1Yjk3M2ExMGE4YjQ3YWE1ZGRkMDI5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNw
cApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU9i
amVjdChSZW5kZXJCb3hNb2RlbE9iamVjdCogb2JqZWN0KQogICAgIH0KIH0KIAotdm9pZCBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZpcmVkKFRpbWVyPElt
YWdlUXVhbGl0eUNvbnRyb2xsZXI+JikKK3ZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aGln
aFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fcmVuZGVyVmll
dy5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5oCmluZGV4IDQzMmQz
NjExMmFjYTI5YjU5MDMzMWE1MmVhN2RkMmIwOGQ2MDRlOWQuLmE1YjZmMDFhNmRmZDFjMzk5NzQw
M2Q5MTZiZDI3ZTQ4MDZlODM1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuaApAQCAtNTIsMTMgKzUyLDEzIEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHJlbW92ZUxheWVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiwgTGF5ZXJTaXplTWFw
KiBpbm5lck1hcCwgY29uc3Qgdm9pZCogbGF5ZXIpOwogICAgIHZvaWQgc2V0KFJlbmRlckJveE1v
ZGVsT2JqZWN0KiwgTGF5ZXJTaXplTWFwKiBpbm5lck1hcCwgY29uc3Qgdm9pZCogbGF5ZXIsIGNv
bnN0IExheW91dFNpemUmKTsKLSAgICB2b2lkIGhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQo
VGltZXI8SW1hZ2VRdWFsaXR5Q29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGhpZ2hRdWFsaXR5UmVw
YWludFRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIHJlc3RhcnRUaW1lcigpOwogICAgIHZv
aWQgcmVtb3ZlT2JqZWN0KFJlbmRlckJveE1vZGVsT2JqZWN0Kik7CiAKICAgICBjb25zdCBSZW5k
ZXJWaWV3JiBtX3JlbmRlclZpZXc7CiAgICAgT2JqZWN0TGF5ZXJTaXplTWFwIG1fb2JqZWN0TGF5
ZXJTaXplTWFwOwotICAgIFRpbWVyPEltYWdlUXVhbGl0eUNvbnRyb2xsZXI+IG1fdGltZXI7Cisg
ICAgVGltZXIgbV90aW1lcjsKICAgICBib29sIG1fYW5pbWF0ZWRSZXNpemVJc0FjdGl2ZTsKICAg
ICBib29sIG1fbGl2ZVJlc2l6ZU9wdGltaXphdGlvbklzQWN0aXZlOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKaW5kZXggNTNlMGM3NTFiMDRiODMzYTNmYjUz
YmE4ZjM4N2FlYzAxZGZiY2U2MC4uOWVmNGUxMWJmMmY4MTA5MWNlNWM4NDgwM2U0OGQ3YjNmNjhh
ODI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKQEAgLTEx
Niw3ICsxMTYsNyBAQCB2b2lkIFJlbmRlckJ1dHRvbjo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZm
ZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdAogICAgIGlmICghbV9kZWZhdWx0
ICYmIHRoZW1lKCkuaXNEZWZhdWx0KCp0aGlzKSkgewogICAgICAgICBpZiAodGhlbWUoKS5kZWZh
dWx0QnV0dG9uSGFzQW5pbWF0aW9uKCkpIHsKICAgICAgICAgICAgIGlmICghbV90aW1lcikKLSAg
ICAgICAgICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcjxSZW5kZXJCdXR0
b24+Pih0aGlzLCAmUmVuZGVyQnV0dG9uOjp0aW1lckZpcmVkKTsKKyAgICAgICAgICAgICAgICBt
X3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4odGhpcywgJlJlbmRlckJ1dHRvbjo6dGlt
ZXJGaXJlZCk7CiAgICAgICAgICAgICBtX3RpbWVyLT5zdGFydFJlcGVhdGluZygwLjAzKTsKICAg
ICAgICAgfQogICAgICAgICBtX2RlZmF1bHQgPSB0cnVlOwpAQCAtMTg3LDcgKzE4Nyw3IEBAIExh
eW91dFJlY3QgUmVuZGVyQnV0dG9uOjpjb250cm9sQ2xpcFJlY3QoY29uc3QgTGF5b3V0UG9pbnQm
IGFkZGl0aW9uYWxPZmZzZXQpIGNvCiAgICAgcmV0dXJuIExheW91dFJlY3QoYWRkaXRpb25hbE9m
ZnNldC54KCkgKyBib3JkZXJMZWZ0KCksIGFkZGl0aW9uYWxPZmZzZXQueSgpICsgYm9yZGVyVG9w
KCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpLCBoZWlnaHQoKSAtIGJv
cmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkpOwogfQogCi12b2lkIFJlbmRlckJ1dHRvbjo6dGlt
ZXJGaXJlZChUaW1lcjxSZW5kZXJCdXR0b24+JikKK3ZvaWQgUmVuZGVyQnV0dG9uOjp0aW1lckZp
cmVkKFRpbWVyJikKIHsKICAgICAvLyBGSVhNRSBCdWcgMjUxMTA6IElkZWFsbHkgd2Ugd291bGQg
c3RvcCBvdXIgdGltZXIgd2hlbiBvdXIgRG9jdW1lbnQKICAgICAvLyBlbnRlcnMgdGhlIHBhZ2Ug
Y2FjaGUuIEJ1dCB3ZSBjdXJyZW50bHkgaGF2ZSBubyB3YXkgb2YgYmVpbmcgbm90aWZpZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAppbmRleCAxMWEyM2Y5NmIyODNmODE2
OWNiNTBhZGE0NDQ0ZWI5ZmJmYjljMzFiLi4wZGJmNTFmNjgyMzU2NDc5YjYyZGExMzQ5ZDJhNGQ5
Y2VhMDMwYjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0
dG9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCkBAIC03
NCwxMiArNzQsMTIgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0ZvcmNl
ZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8UmVuZGVyQnV0dG9uPiYpOworICAgIHZvaWQg
dGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmVuZGVyVGV4dEZyYWdtZW50KiBtX2J1dHRvblRl
eHQ7CiAgICAgUmVuZGVyQmxvY2sqIG1faW5uZXI7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGlt
ZXI8UmVuZGVyQnV0dG9uPj4gbV90aW1lcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1f
dGltZXI7CiAgICAgYm9vbCBtX2RlZmF1bHQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGI2MDE1ZTEwNTcyNTNh
MmU1Y2U0NGJlZjM2NzMzMDdlYjZjOTZmYjEuLmE1Y2I1ZTE1MGFkYzU5MTM4NTYzNDEzMzExN2Yy
OTg4NDVlM2UzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCkBAIC02MzcsNyArNjM3LDcgQEAgdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiAgICAgICAgIG1fdXBk
YXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQoVGlt
ZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiYpCit2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICB1cGRhdGVD
b21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0KTsKIH0KQEAgLTQw
NjIsMTQgKzQwNjIsMTQgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnN0YXJ0SW5pdGlh
bExheWVyRmx1c2hUaW1lcklmTmVlZGVkKCkKICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9u
ZVNob3QodGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSk7CiB9CiAKLXZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZChUaW1lcjxSZW5kZXJMYXllckNv
bXBvc2l0b3I+JikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJG
aXJlZChUaW1lciYpCiB7CiAgICAgaWYgKCFtX2hhc1BlbmRpbmdMYXllckZsdXNoKQogICAgICAg
ICByZXR1cm47CiAgICAgc2NoZWR1bGVMYXllckZsdXNoTm93KCk7CiB9CiAKLXZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpwYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXJGaXJlZChUaW1lcjxS
ZW5kZXJMYXllckNvbXBvc2l0b3I+JikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWlu
dFJlbGF0ZWRNaWxlc3RvbmVzVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgRnJhbWUmIGZyYW1l
ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLmZyYW1lKCk7CiAgICAgUGFnZSogcGFnZSA9IGZy
YW1lLnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaAppbmRleCA2NDI0Y2Y0OTBhNmQ3ZTQ2OTNkNzJhZDk2NGNiYjFjODczOGYzMzZh
Li5jNGEyY2ZjNTM3MjgwYmYzNzBmYzg3MWRkY2FjMjM5MmNiYTI2OWE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0zMzYsNyAr
MzM2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZFRvT3ZlcmxhcE1hcChPdmVybGFwTWFwJiwg
UmVuZGVyTGF5ZXImLCBJbnRSZWN0JiBsYXllckJvdW5kcywgYm9vbCYgYm91bmRzQ29tcHV0ZWQp
OwogICAgIHZvaWQgYWRkVG9PdmVybGFwTWFwUmVjdXJzaXZlKE92ZXJsYXBNYXAmLCBSZW5kZXJM
YXllciYsIFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyID0gbnVsbHB0cik7CiAKLSAgICB2b2lk
IHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZChUaW1lcjxSZW5kZXJMYXllckNvbXBv
c2l0b3I+Jik7CisgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQoVGlt
ZXImKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhbnkgbGF5ZXIncyBjb21wb3NpdGluZyBj
aGFuZ2VkCiAgICAgdm9pZCBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5
ZXIqIGFuY2VzdG9yTGF5ZXIsIFJlbmRlckxheWVyJiwgT3ZlcmxhcE1hcCYsIHN0cnVjdCBDb21w
b3NpdGluZ1N0YXRlJiwgYm9vbCYgbGF5ZXJzQ2hhbmdlZCwgYm9vbCYgZGVzY2VuZGFudEhhczNE
VHJhbnNmb3JtKTsKQEAgLTQ1NCw5ICs0NTQsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNUaHJv
dHRsaW5nTGF5ZXJGbHVzaGVzKCkgY29uc3Q7CiAgICAgdm9pZCBzdGFydEluaXRpYWxMYXllckZs
dXNoVGltZXJJZk5lZWRlZCgpOwogICAgIHZvaWQgc3RhcnRMYXllckZsdXNoVGltZXJJZk5lZWRl
ZCgpOwotICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5ZXJDb21w
b3NpdG9yPiYpOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoVGltZXImKTsKIAotICAg
IHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5ZXJD
b21wb3NpdG9yPiYpOworICAgIHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyRmlyZWQo
VGltZXImKTsKIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBjb25zdCBjaGFyKiBsb2dSZWFzb25z
Rm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXImKTsKQEAgLTQ2OCw3ICs0NjgsNyBAQCBw
cml2YXRlOgogcHJpdmF0ZToKICAgICBSZW5kZXJWaWV3JiBtX3JlbmRlclZpZXc7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5ZXI+IG1fcm9vdENvbnRlbnRMYXllcjsKLSAgICBUaW1l
cjxSZW5kZXJMYXllckNvbXBvc2l0b3I+IG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lcjsK
KyAgICBUaW1lciBtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXI7CiAKICAgICBib29sIG1f
aGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZzsKICAgICBDaHJvbWVDbGllbnQ6OkNvbXBvc2l0aW5n
VHJpZ2dlckZsYWdzIG1fY29tcG9zaXRpbmdUcmlnZ2VyczsKQEAgLTUyNSwxMiArNTI1LDEyIEBA
IHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllclVwZGF0ZXI+IG1f
bGF5ZXJVcGRhdGVyOyAvLyBVcGRhdGVzIHRpbGVkIGxheWVyIHZpc2libGUgYXJlYSBwZXJpb2Rp
Y2FsbHkgd2hpbGUgYW5pbWF0aW9ucyBhcmUgcnVubmluZy4KIAotICAgIFRpbWVyPFJlbmRlckxh
eWVyQ29tcG9zaXRvcj4gbV9sYXllckZsdXNoVGltZXI7CisgICAgVGltZXIgbV9sYXllckZsdXNo
VGltZXI7CiAgICAgYm9vbCBtX2xheWVyRmx1c2hUaHJvdHRsaW5nRW5hYmxlZDsKICAgICBib29s
IG1fbGF5ZXJGbHVzaFRocm90dGxpbmdUZW1wb3JhcmlseURpc2FibGVkRm9ySW50ZXJhY3Rpb247
CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdMYXllckZsdXNoOwogCi0gICAgVGltZXI8UmVuZGVyTGF5
ZXJDb21wb3NpdG9yPiBtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lcjsKKyAgICBUaW1lciBt
X3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lcjsKIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBp
bnQgbV9yb290TGF5ZXJVcGRhdGVDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNYXJxdWVlLmNwcAppbmRleCA2NTAxZmUyYTYyNjY5MDgyNWMzYmE4NTMzZmVlZmE5MDFhYjM5
NWUyLi5mMWIzNjU4YzFhNjY2ODE2OTI0YWY3MDk0Y2FkOTNmZDkxNmE3ZTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0yNDAsNyArMjQwLDcgQEAg
dm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgICAgICBtX3RpbWVy
LnN0b3AoKTsKIH0KIAotdm9pZCBSZW5kZXJNYXJxdWVlOjp0aW1lckZpcmVkKFRpbWVyPFJlbmRl
ck1hcnF1ZWU+JikKK3ZvaWQgUmVuZGVyTWFycXVlZTo6dGltZXJGaXJlZChUaW1lciYpCiB7CiAg
ICAgaWYgKG1fbGF5ZXItPnJlbmRlcmVyKCkudmlldygpLm5lZWRzTGF5b3V0KCkpCiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJx
dWVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDg3
YzIwMmRhYWIzMzNkNDE5M2UzN2Q5YTVhMWQwMWJmZmFjZjc5YTAuLmFkOWYxNmUzMzU2Y2VlYThm
MGMyMWVmMGJhNzIyMGRhM2JjYmM5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1hcnF1ZWUuaApAQCAtNzksMTIgKzc5LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZU1h
cnF1ZWVQb3NpdGlvbigpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxS
ZW5kZXJNYXJxdWVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmVu
ZGVyTGF5ZXIqIG1fbGF5ZXI7CiAgICAgaW50IG1fY3VycmVudExvb3A7CiAgICAgaW50IG1fdG90
YWxMb29wczsKLSAgICBUaW1lcjxSZW5kZXJNYXJxdWVlPiBtX3RpbWVyOworICAgIFRpbWVyIG1f
dGltZXI7CiAgICAgaW50IG1fc3RhcnQ7CiAgICAgaW50IG1fZW5kOwogICAgIGludCBtX3NwZWVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1Ro
cmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFk
LmNwcAppbmRleCAxNzRjOGNlNTRhYzk1ZWU4MmE3NTA1MzgzOWU3ZDE5Mjg3MWQwNGRjLi5jMjVj
ZWJhMjUyMTkxOGVkODg0YzYxODcwMzEwOGVkZTBmOTEyNWE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApAQCAtNTY2LDcgKzU2
Niw3IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJlZ2lvbk92ZXJzZXRD
aGFuZ2VFdmVudElmTmVlZGVkKCkKICAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpy
ZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJlbmRlck5hbWVkRmxvd1Ro
cmVhZD4mKQordm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VF
dmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG5hbWVkRmxvdygpLmRpc3BhdGNoUmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKaW5kZXggNzM0ZDAyZTk1MDg0OGU5YzhlOTQ5ZjVhNmQy
ZDM0NjM1NGNhN2RiNC4uN2RlYmZmOGE1NjYwZGQ1MjJjMzQxMjUxNzY1NjJiMDQ0ODFkZDE5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
aApAQCAtMTI0LDcgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja0ludmFsaWRSZWdp
b25zKCk7CiAKICAgICBib29sIGNhbkJlRGVzdHJveWVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnZh
bGlkUmVnaW9uTGlzdC5pc0VtcHR5KCkgJiYgbV9yZWdpb25MaXN0LmlzRW1wdHkoKSAmJiBtX2Nv
bnRlbnRFbGVtZW50cy5pc0VtcHR5KCk7IH0KLSAgICB2b2lkIHJlZ2lvbk92ZXJzZXRDaGFuZ2VF
dmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTmFtZWRGbG93VGhyZWFkPiYpOworICAgIHZvaWQg
cmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgY2xl
YXJDb250ZW50RWxlbWVudHMoKTsKICAgICB2b2lkIHVwZGF0ZVdyaXRpbmdNb2RlKCk7CiAKQEAg
LTE1NCw3ICsxNTQsNyBAQCBwcml2YXRlOgogICAgIC8vIFRoZSBET00gT2JqZWN0IHRoYXQgcmVw
cmVzZW50cyBhIG5hbWVkIGZsb3cuCiAgICAgUmVmPFdlYktpdE5hbWVkRmxvdz4gbV9uYW1lZEZs
b3c7CiAKLSAgICBUaW1lcjxSZW5kZXJOYW1lZEZsb3dUaHJlYWQ+IG1fcmVnaW9uT3ZlcnNldENo
YW5nZUV2ZW50VGltZXI7CisgICAgVGltZXIgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1l
cjsKIAogICAgIExheW91dFVuaXQgbV9mbG93Q29udGVudEJvdHRvbTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCAzMzZiMTE2NzJkMDNiNWYw
NmI3NDUzYTgzMzBiY2IzMjY5Njc4Y2M0Li42ODEzNTNmZWVmNGUxNTM3NWJkNDViNmI2MWI4ZDU0
NDBmMzAxMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5j
cHAKQEAgLTgxLDcgKzgxLDcgQEAgYm9vbCBSZW5kZXJQcm9ncmVzczo6aXNEZXRlcm1pbmF0ZSgp
IGNvbnN0CiAgICAgICAgICAgICAmJiBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJbnZhbGlkUG9zaXRp
b24gIT0gcG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXI8UmVuZGVyUHJvZ3Jlc3M+JikKK3ZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFu
aW1hdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1f
YW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSAmJiBtX2FuaW1hdGluZykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5kZXggZTgyNGYxYTU0MTk3YjI3ZWFiNmIzZDAx
YzUzMzY3MDdhMTdjZDc5OS4uMGUzZGUwMGI2YjgxMDJkYzBiOWIzNGM3NmU4ZDA2NWNlZGI3Mzgy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKQEAgLTQ3LDcg
KzQ3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNGb3JjZWRTdHlsZVJl
Y2FsY1Byb3BhZ2F0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQs
IExheW91dFVuaXQgbG9naWNhbFRvcCwgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJikgY29u
c3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8UmVuZGVy
UHJvZ3Jlc3M+Jik7CisgICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAgICAg
dm9pZCB1cGRhdGVBbmltYXRpb25TdGF0ZSgpOwogCiAgICAgZG91YmxlIG1fcG9zaXRpb247CkBA
IC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWw7CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uRHVyYXRpb247CiAgICAgYm9vbCBtX2FuaW1h
dGluZzsKLSAgICBUaW1lcjxSZW5kZXJQcm9ncmVzcz4gbV9hbmltYXRpb25UaW1lcjsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDZiYmYzNjBmYjBkMDFiYTli
MzE5YTE5ZjY4NWYyMzYyYmM3OGMwZjQuLmU1Y2JkYzRkMGY1NzEzM2YxYmFjNmMwYTRkMDMxYTU3
MDlmNzM4NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1
NSw3ICsxNTUsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5UmVwYWludChSZW5k
ZXJCb3gmIHJlbmRlcmVyKQogICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RvcCgpOwogfQog
Ci12b2lkIFJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZChUaW1lcjxSZW5kZXJWaWV3
PiYpCit2b2lkIFJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAg
ICAgYm9vbCBzaG91bGRSZXBhaW50ID0gIWRvY3VtZW50KCkuaW5QYWdlQ2FjaGUoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggYmZlOTkzMGEyMzJjMTJlMWFhMWNk
NmZiMDUwMzYyNzljOTZjMzc1NS4uYzY2YjQ5ODFkMDg1NzAyOWFkNWQzNDUzYjdhNTEwZmM4MTUx
YmZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0zNDIsOSArMzQy
LDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkVXNlUHJpbnRpbmdMYXlvdXQoKSBjb25z
dDsKIAotICAgIHZvaWQgbGF6eVJlcGFpbnRUaW1lckZpcmVkKFRpbWVyPFJlbmRlclZpZXc+Jik7
CisgICAgdm9pZCBsYXp5UmVwYWludFRpbWVyRmlyZWQoVGltZXImKTsKIAotICAgIFRpbWVyPFJl
bmRlclZpZXc+IG1fbGF6eVJlcGFpbnRUaW1lcjsKKyAgICBUaW1lciBtX2xhenlSZXBhaW50VGlt
ZXI7CiAgICAgSGFzaFNldDxSZW5kZXJCb3gqPiBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWlu
dDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZVF1YWxpdHlDb250cm9sbGVyPiBtX2ltYWdl
UXVhbGl0eUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExv
b3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDZhZTQ4MmUxMWRhY2ZiMzc1NzY2MDM4OTFhNzFi
Mjc0Y2FlNTNiYzkuLmJkZjU4MmRmMTE5ZjEzYWI0YzcxOTMxOGQ0Mzk1MmFhM2Q5MzNjN2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIu
Y3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpwYXVz
ZSgpCiAgICAgICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIEV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcjo6dGltZXJGaXJlZChUaW1lcjxFdmVudExvb3BJbnB1dERpc3BhdGNoZXI+KikKK3Zv
aWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBk
aXNwYXRjaElucHV0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmgKaW5kZXggZjQzMDYyZWI1OGJkNGZlMWQ5NGJlNjUxYjg2MWI2MDNi
ZTRiYjdmYS4uMmE4YTA3MGRlMTdlNTBkZGUxMGQyZjQ5NmQ2ODliYmMzYTJiNzAzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAt
NzIsMTIgKzcyLDEyIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwYXRjaElucHV0
U29vbigpOwogICAgIHZvaWQgZGlzcGF0Y2hJbnB1dCgpOwotICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxFdmVudExvb3BJbnB1dERpc3BhdGNoZXI+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRp
bWVyKik7CiAKICAgICBQYWdlJiBtX3BhZ2U7CiAgICAgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
Q2xpZW50KiBtX2NsaWVudDsKICAgICBSZXBsYXlpbmdJbnB1dEN1cnNvciYgbV9jdXJzb3I7Ci0g
ICAgVGltZXI8RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyPiBtX3RpbWVyOworICAgIFRpbWVyIG1f
dGltZXI7CiAKICAgICAvLyBUaGlzIGRhdGEgaXMgdmFsaWQgd2hlbiBhbiBldmVudCBsb29wIGlu
cHV0IGlzIHByZXNlbnRseSBkaXNwYXRjaGluZy4KICAgICBFdmVudExvb3BJbnB1dERhdGEgbV9j
dXJyZW50V29yazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFy
ZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcApp
bmRleCA3NGUyYzgxZmY3NDlhNTg0YTRmNTZlYmM3M2NhZDZkOTAwNWQzYjNhLi4zMTM5ODJkM2Ri
MThkYTM5YTQ1MmVhMzQ5MGU2MGQ4YWQ3ZWJkYTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlQXJlYUltcGwuY3BwCkBAIC0yNzgsNyArMjc4LDcgQEAgdm9pZCBTdG9yYWdlQXJl
YUltcGw6OmRlY3JlbWVudEFjY2Vzc0NvdW50KCkKICAgICB9CiB9CiAKLXZvaWQgU3RvcmFnZUFy
ZWFJbXBsOjpjbG9zZURhdGFiYXNlVGltZXJGaXJlZChUaW1lcjxTdG9yYWdlQXJlYUltcGw+ICop
Cit2b2lkIFN0b3JhZ2VBcmVhSW1wbDo6Y2xvc2VEYXRhYmFzZVRpbWVyRmlyZWQoVGltZXIgKikK
IHsKICAgICBibG9ja1VudGlsSW1wb3J0Q29tcGxldGUoKTsKICAgICBpZiAobV9zdG9yYWdlQXJl
YVN5bmMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1w
bC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaAppbmRleCBmMzg0
ZTBkZDEzYzVkMzdhZmE3MWFiYmY2NGNmNjhjNmJmNjNiMzllLi41NTZkNWMwZmQ2YTNjNjc5OGU0
NmY4NjE1NWYxYzg3MmZhODgzMmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFy
ZWFJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBTdG9yYWdl
QXJlYUltcGwoU3RvcmFnZUFyZWFJbXBsKik7CiAKICAgICB2b2lkIGJsb2NrVW50aWxJbXBvcnRD
b21wbGV0ZSgpIGNvbnN0OwotICAgIHZvaWQgY2xvc2VEYXRhYmFzZVRpbWVyRmlyZWQoVGltZXI8
U3RvcmFnZUFyZWFJbXBsPiopOworICAgIHZvaWQgY2xvc2VEYXRhYmFzZVRpbWVyRmlyZWQoVGlt
ZXIqKTsKIAogICAgIHZvaWQgZGlzcGF0Y2hTdG9yYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBrZXks
IGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIEZyYW1lKiBz
b3VyY2VGcmFtZSk7CiAKQEAgLTkyLDcgKzkyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNT
aHV0ZG93bjsKICNlbmRpZgogICAgIHVuc2lnbmVkIG1fYWNjZXNzQ291bnQ7Ci0gICAgVGltZXI8
U3RvcmFnZUFyZWFJbXBsPiBtX2Nsb3NlRGF0YWJhc2VUaW1lcjsKKyAgICBUaW1lciBtX2Nsb3Nl
RGF0YWJhc2VUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCAxZDUwYTJkM2NiYmNkNjkxZjJh
MWFhZDc0YmRjMmRiOTA5NGRkZTFlLi4wYmQ4MTc0NGNiYjVhZTAyOGVjZjVmNzljNDk5MzkxOTg2
YzdiNTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3lu
Yy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBA
IC0xNjYsNyArMTY2LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlQ2xvc2VEYXRh
YmFzZSgpCiAgICAgfQogfQogCi12b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQo
VGltZXI8U3RvcmFnZUFyZWFTeW5jPiopCit2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVy
RmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCmluZGV4IGMyNjNmYTc5MmRlYzQxZmM0NDdl
OTBhNWRhYzJjYjQ5MTU3ZjM5NTQuLjZhZThmY2I2NjI4YzY1ZWYyMTA0ZTI1NGU5ZTY4OTJlMDUy
MDNkYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5j
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuaApAQCAtNTQs
NyArNTQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFN0b3JhZ2VBcmVhU3luYyhQYXNzUmVm
UHRyPFN0b3JhZ2VTeW5jTWFuYWdlcj4sIFBhc3NSZWZQdHI8U3RvcmFnZUFyZWFJbXBsPiwgY29u
c3QgU3RyaW5nJiBkYXRhYmFzZUlkZW50aWZpZXIpOwogCi0gICAgVGltZXI8U3RvcmFnZUFyZWFT
eW5jPiBtX3N5bmNUaW1lcjsKKyAgICBUaW1lciBtX3N5bmNUaW1lcjsKICAgICBIYXNoTWFwPFN0
cmluZywgU3RyaW5nPiBtX2NoYW5nZWRJdGVtczsKICAgICBib29sIG1faXRlbXNDbGVhcmVkOwog
CkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICBTa2lwSWZOb25FeGlzdGVudAogICAg
IH07CiAKLSAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPFN0b3JhZ2VBcmVhU3luYz4qKTsK
KyAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyKik7CiAgICAgdm9pZCBvcGVuRGF0YWJhc2Uo
T3BlbkRhdGFiYXNlUGFyYW1UeXBlIG9wZW5pbmdTdHJhdGVneSk7CiAgICAgdm9pZCBzeW5jKGJv
b2wgY2xlYXJJdGVtcywgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGl0ZW1zKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IGNiMzQ3ZDRlNWFkZTVmMDQ5NmQxM2Y2Y2Q5
YTQ2MDgwODExNmM0Y2IuLmFlYTAyZWU5YmEyNTNiNzMwNDQwM2ExMWY3NmNiMzBjZGU0OTMzMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTY4NiwxMiArNjg2LDEyIEBAIHZvaWQg
U1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hyb25vdXNseSgpCiAg
ICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFNWR0Vs
ZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoVGltZXI8U1ZHRWxlbWVudD4qKQordm9pZCBT
VkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZSgpOwogfQogCi1UaW1lcjxTVkdFbGVtZW50PiogU1ZHRWxlbWVu
dDo6c3ZnTG9hZEV2ZW50VGltZXIoKQorVGltZXIqIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRp
bWVyKCkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudC5oCmluZGV4IGQ4MzNjMDYxZjA5NTE3YjgxZGRiYWM0OWZlMDQ3MTU5ODNj
Njc4YjQuLjczZjMwM2Y2N2NkMzg4OTBkOTgzYmYyYmUyZDJkYjVmMzIxN2EzNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnQuaApAQCAtODksOCArODksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNl
bmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlKGJvb2wgc2VuZFBhcmVudExvYWRFdmVudHMgPSBmYWxz
ZSk7CiAgICAgdm9pZCBzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCk7
Ci0gICAgdm9pZCBzdmdMb2FkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFNWR0VsZW1lbnQ+Kik7Ci0g
ICAgdmlydHVhbCBUaW1lcjxTVkdFbGVtZW50Piogc3ZnTG9hZEV2ZW50VGltZXIoKTsKKyAgICB2
b2lkIHN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoVGltZXIqKTsKKyAgICB2aXJ0dWFsIFRpbWVyKiBz
dmdMb2FkRXZlbnRUaW1lcigpOwogCiAgICAgdmlydHVhbCBBZmZpbmVUcmFuc2Zvcm0qIHN1cHBs
ZW1lbnRhbFRyYW5zZm9ybSgpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3Jp
cHRFbGVtZW50LmgKaW5kZXggOWFjZGJkYjFiMGFkZjM3NTQxNDc2NTFiZDdiNDMxMDJjYjU1MTc0
Yi4uMjNlOTI5ZDM2MDgwY2IyYTAxOWJmMDJlODBkZjdiY2IxODk2N2QwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIHNldEhhdmVGaXJlZExvYWRFdmVudChib29sIGhhdmVGaXJlZExvYWRFdmVu
dCkgb3ZlcnJpZGUgeyBTY3JpcHRFbGVtZW50OjpzZXRIYXZlRmlyZWRMb2FkRXZlbnQoaGF2ZUZp
cmVkTG9hZEV2ZW50KTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BhcnNlckluc2VydGVkKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gU2NyaXB0RWxlbWVudDo6aXNQYXJzZXJJbnNlcnRlZCgpOyB9
CiAgICAgdmlydHVhbCBib29sIGhhdmVGaXJlZExvYWRFdmVudCgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIFNjcmlwdEVsZW1lbnQ6OmhhdmVGaXJlZExvYWRFdmVudCgpOyB9Ci0gICAgdmlydHVh
bCBUaW1lcjxTVkdFbGVtZW50Piogc3ZnTG9hZEV2ZW50VGltZXIoKSBvdmVycmlkZSB7IHJldHVy
biAmbV9zdmdMb2FkRXZlbnRUaW1lcjsgfQorICAgIHZpcnR1YWwgVGltZXIqIHN2Z0xvYWRFdmVu
dFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gJm1fc3ZnTG9hZEV2ZW50VGltZXI7IH0KIAogI2lm
bmRlZiBOREVCVUcKICAgICB2aXJ0dWFsIGJvb2wgZmlsdGVyT3V0QW5pbWF0YWJsZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Qgb3ZlcnJpZGU7CkBAIC04Myw3ICs4Myw3IEBA
IHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogICAgIEVORF9ERUNMQVJF
X0FOSU1BVEVEX1BST1BFUlRJRVMKIAotICAgIFRpbWVyPFNWR0VsZW1lbnQ+IG1fc3ZnTG9hZEV2
ZW50VGltZXI7CisgICAgVGltZXIgbV9zdmdMb2FkRXZlbnRUaW1lcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQuaAppbmRleCAxZTcz
MTc1MjVmYzdkYjc1NTg4ZDUzYjhjMzQ3MjlkYzNhNTIxZGQ3Li45ZjQyOGY3NDMwYmNmMDRhODZj
MjkzNmM0ZGZjZjJkMzE2MWIzZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5o
CkBAIC02MiwxMCArNjIsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0T3duZXIuaXNMb2FkaW5nKCk7IH0KICAgICB2
aXJ0dWFsIGJvb2wgc2hlZXRMb2FkZWQoKSBvdmVycmlkZSB7IHJldHVybiBtX3N0eWxlU2hlZXRP
d25lci5zaGVldExvYWRlZChkb2N1bWVudCgpKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzdGFydExv
YWRpbmdEeW5hbWljU2hlZXQoKSBvdmVycmlkZSB7IG1fc3R5bGVTaGVldE93bmVyLnN0YXJ0TG9h
ZGluZ0R5bmFtaWNTaGVldChkb2N1bWVudCgpKTsgfQotICAgIHZpcnR1YWwgVGltZXI8U1ZHRWxl
bWVudD4qIHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gJm1fc3ZnTG9hZEV2
ZW50VGltZXI7IH0KKyAgICB2aXJ0dWFsIFRpbWVyKiBzdmdMb2FkRXZlbnRUaW1lcigpIG92ZXJy
aWRlIHsgcmV0dXJuICZtX3N2Z0xvYWRFdmVudFRpbWVyOyB9CiAKICAgICBJbmxpbmVTdHlsZVNo
ZWV0T3duZXIgbV9zdHlsZVNoZWV0T3duZXI7Ci0gICAgVGltZXI8U1ZHRWxlbWVudD4gbV9zdmdM
b2FkRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3N2Z0xvYWRFdmVudFRpbWVyOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Vz
ZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgKaW5kZXggYjcz
MmYxOGYyMjM2MWQxOTJkM2ZhMjY3ZWU4MTY3ZDIxZGFlZTRhMS4uMmYwYmMwNWNiNzQ1OWEyYWI1
MzJjNjk3NDZmZWQ0MDI2MzUxNjM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1VzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCkBA
IC0xMTgsMTQgKzExOCwxNCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRIYXZlRmly
ZWRMb2FkRXZlbnQoYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQpIG92ZXJyaWRlIHsgbV9oYXZlRmly
ZWRMb2FkRXZlbnQgPSBoYXZlRmlyZWRMb2FkRXZlbnQ7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNQ
YXJzZXJJbnNlcnRlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fd2FzSW5zZXJ0ZWRCeVBh
cnNlcjsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2hhdmVGaXJlZExvYWRFdmVudDsgfQotICAgIHZpcnR1YWwgVGltZXI8
U1ZHRWxlbWVudD4qIHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gJm1fc3Zn
TG9hZEV2ZW50VGltZXI7IH0KKyAgICB2aXJ0dWFsIFRpbWVyKiBzdmdMb2FkRXZlbnRUaW1lcigp
IG92ZXJyaWRlIHsgcmV0dXJuICZtX3N2Z0xvYWRFdmVudFRpbWVyOyB9CiAKICAgICBib29sIG1f
d2FzSW5zZXJ0ZWRCeVBhcnNlcjsKICAgICBib29sIG1faGF2ZUZpcmVkTG9hZEV2ZW50OwogICAg
IGJvb2wgbV9uZWVkc1NoYWRvd1RyZWVSZWNyZWF0aW9uOwogICAgIFJlZlB0cjxTVkdFbGVtZW50
SW5zdGFuY2U+IG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlOwogICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFNWR0RvY3VtZW50PiBtX2NhY2hlZERvY3VtZW50OwotICAgIFRpbWVyPFNWR0Vs
ZW1lbnQ+IG1fc3ZnTG9hZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zdmdMb2FkRXZlbnRUaW1l
cjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01J
TFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGlt
ZUNvbnRhaW5lci5jcHAKaW5kZXggOWFjMGI2M2E0ZWNhYjYyZDJhZjEyMjFmZWY4MjFjYzhmMTY2
MDVmYi4uNGM0NzYyOWQ4YjIyNGU2YTVkYjZmMTAyNTczOTI1MDBhNzMzNDMyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAg
LTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxU
aW1lIGZpcmVUaW1lLCBTTUlMVGltZSBtaW5pbXVtRGVsYXkpCiAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoZGVsYXkudmFsdWUoKSk7CiB9CiAKLXZvaWQgU01JTFRpbWVDb250YWluZXI6OnRpbWVy
RmlyZWQoVGltZXI8U01JTFRpbWVDb250YWluZXI+KikKK3ZvaWQgU01JTFRpbWVDb250YWluZXI6
OnRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX2JlZ2luVGltZSk7CiAgICAgQVNT
RVJUKCFtX3BhdXNlVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NN
SUxUaW1lQ29udGFpbmVyLmgKaW5kZXggZTBmOTlmYWQ3MzM1YWI5MDVkMWUxZGMzNDhmZTQ1OTAy
MzZkZmFiNi4uNDBhMGZlYTY0NDY1YWRkN2YxM2UwZWI5YWFiMDI0NGU3ZDZkMjQ5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuaApAQCAt
NjcsNyArNjcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNNSUxUaW1lQ29udGFpbmVyKFNW
R1NWR0VsZW1lbnQqIG93bmVyKTsKIAotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxTTUlMVGlt
ZUNvbnRhaW5lcj4qKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIHN0
YXJ0VGltZXIoU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lIG1pbmltdW1EZWxheSA9IDApOwog
ICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9ucyhTTUlMVGltZSBlbGFwc2VkLCBib29sIHNlZWtUb1Rp
bWUgPSBmYWxzZSk7CiAgICAgCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICBib29s
IG1fZG9jdW1lbnRPcmRlckluZGV4ZXNEaXJ0eTsKICAgICAKLSAgICBUaW1lcjxTTUlMVGltZUNv
bnRhaW5lcj4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogCiAgICAgdHlwZWRlZiBzdGQ6
OnBhaXI8U1ZHRWxlbWVudCosIFF1YWxpZmllZE5hbWU+IEVsZW1lbnRBdHRyaWJ1dGVQYWlyOwog
ICAgIHR5cGVkZWYgVmVjdG9yPFNWR1NNSUxFbGVtZW50Kj4gQW5pbWF0aW9uc1ZlY3RvcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUuY3BwCmluZGV4IDQxMmYyNzI3MzkwZTY0ZTk0YjgxZTE1YWE0N2FjNDBhNDFi
NDhhZjAuLmNiMzYwMzRjNTg2NjY1Y2M2ZWE0OTY1NzkwNTZiYTY2Y2JkZDI5Y2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCgpCiAgICAgZGlzcGF0Y2hFdmVu
dChldmVudCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6
OmRpc3BhdGNoRGVmZXJyZWRFdmVudHMoVGltZXI8WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGU+KiB0aW1lcikKK3ZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OmRpc3BhdGNoRGVmZXJyZWRFdmVudHMoVGltZXIqIHRpbWVyKQogewogICAgIEFTU0VSVF9V
TlVTRUQodGltZXIsIHRpbWVyID09ICZtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lcik7CiAg
ICAgQVNTRVJUKG1fZGVmZXJFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRleCAwMmZjZTBiYmJk
MjQwMmE2YmU2NjZhZDBhNjg5MTA3NTU3MWFjYTQxLi45OWU5OTNhOTVlOGZiZDYwMzZlZTQyN2I4
YzFlOWQ3NWFlY2Q4YWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNjAsNyArNjAsNyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRj
aGluZ0ludGVydmFsSW5TZWNvbmRzOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7Ci0gICAg
dm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKFRpbWVyPFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlPiopOworICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cyhUaW1lciop
OwogICAgIHZvaWQgZmx1c2hQcm9ncmVzc0V2ZW50KCk7CiAgICAgdm9pZCBkaXNwYXRjaEV2ZW50
KFBhc3NSZWZQdHI8RXZlbnQ+KTsKIApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9kZWZlckV2ZW50czsKICAgICBSZWZQdHI8RXZlbnQ+IG1fZGVmZXJyZWRQcm9ncmVzc0V2
ZW50OwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX2RlZmVycmVkRXZlbnRzOwotICAgIFRp
bWVyPFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlPiBtX2Rpc3BhdGNoRGVmZXJy
ZWRFdmVudHNUaW1lcjsKKyAgICBUaW1lciBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lcjsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgK
aW5kZXggODc1ZjdiMWVkNWQ1MzVkZGJiYTg3YTU2ZDMwMWQ4NjM4OTYwZDFhYi4uZjQ0MDRlMjU0
MjljYTU0NjYyYmYxMWU3ZjZkMzIxYmIxMjNjMjYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKQEAgLTI5NSw4ICsyOTUsOCBAQCBwcml2YXRlOgogICAgIE5ldHNjYXBlUGx1Z2luSG9z
dFByb3h5KiBtX3BsdWdpbkhvc3RQcm94eTsKICAgICBXZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZp
ZXcgKm1fcGx1Z2luVmlldzsKIAotICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoV2ViQ29yZTo6
VGltZXI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5PiopOwotICAgIFdlYkNvcmU6OlRpbWVy
PE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eT4gbV9yZXF1ZXN0VGltZXI7CisgICAgdm9pZCBy
ZXF1ZXN0VGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOworICAgIFdlYkNvcmU6OlRpbWVyIG1f
cmVxdWVzdFRpbWVyOwogICAgIERlcXVlPFJlZlB0cjxQbHVnaW5SZXF1ZXN0Pj4gbV9wbHVnaW5S
ZXF1ZXN0czsKICAgICAKICAgICBIYXNoTWFwPHVpbnQzMl90LCBSZWZQdHI8SG9zdGVkTmV0c2Nh
cGVQbHVnaW5TdHJlYW0+PiBtX3N0cmVhbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0K
aW5kZXggNTM4NjFkNTEwZDI3ZjU5NTkwZWMwMTRmMzBhMjE2NWEzYWMyMTQzOS4uMjI0NTlhNjM0
YjdiMTFlODY4MDYwZmNiMmY0YzY5MWU1YmQ4YzA3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eS5tbQpAQCAtNzM1LDcgKzczNSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5OjpldmFsdWF0ZUphdmFTY3JpcHQoUGx1Z2luUmVxdWVzdCogcGx1Z2luUmVxdWVzCiAgICAg
fQogfQogCi12b2lkIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmly
ZWQoVGltZXI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5PiopCit2b2lkIE5ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VS
VCghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtX3BsdWdpblZpZXcp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0
cmVhbS5oCmluZGV4IDRjYzI4MzE2MTNmZDY5YTk2NjhiNDZkNTQxMGYzNzA4M2QwNjJkYWUuLjcz
YmU1YzQ0NzYxYWEwNTdkODE2Y2VhOTQxNmJiZWI5MDcyYTBlODYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLmgKQEAgLTEyMyw4
ICsxMjMsOCBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU011dGFibGVVUkxSZXF1ZXN0PiBt
X3JlcXVlc3Q7CiAgICAgTlBQbHVnaW5GdW5jcyAqbV9wbHVnaW5GdW5jczsKIAotICAgIHZvaWQg
ZGVsaXZlckRhdGFUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFdlYk5ldHNjYXBlUGx1Z2luU3Ry
ZWFtPiogdGltZXIpOwotICAgIFdlYkNvcmU6OlRpbWVyPFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFt
PiBtX2RlbGl2ZXJEYXRhVGltZXI7CisgICAgdm9pZCBkZWxpdmVyRGF0YVRpbWVyRmlyZWQoV2Vi
Q29yZTo6VGltZXIqKTsKKyAgICBXZWJDb3JlOjpUaW1lciBtX2RlbGl2ZXJEYXRhVGltZXI7CiAg
ICAgCiAgICAgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0oV2ViQ29yZTo6RnJhbWVMb2FkZXIqKTsK
ICAgICBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbShOU1VSTFJlcXVlc3QgKiwgTlBQLCBib29sIHNl
bmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5kZXggOTM1ZDU1ZWMx
NGM4ODVkYmY5ZTg1MTZhZjI0NDZlMjk3YmRlNzNmMC4uYzU5OWY4MDk3NDA1NGI4YmRjYjhjY2Rj
NTQyYWZlOTNhMWFkYjVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01NTIsNyArNTUyLDcgQEAgdm9pZCBXZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgIH0KIH0KIAotdm9pZCBXZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVy
PFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtPiogdGltZXIpCit2b2lkIFdlYk5ldHNjYXBlUGx1Z2lu
U3RyZWFtOjpkZWxpdmVyRGF0YVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqIHRpbWVyKQogewog
ICAgIGRlbGl2ZXJEYXRhKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IDI3MmY1Njc0YTdlZjkwZTczMzhmYzE3Nzc3YTYxNGMx
MDkyMGNhZmEuLjYwNjg4MWNiYzYzZmNjNjcxZTBjNDFkMzRiM2M3ZWFjMjYyZWYzMmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCkBAIC01
OTUsNyArNTk1LDcgQEAgdm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpvbktleURvd24o
aW50IHZpcnR1YWxLZXkpCiAgICAgfQogfQogCi12b2lkIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXI6OnRpbWVyRmlyZWQoVGltZXI8RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcj4qKQordm9pZCBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyKikKIHsKICAgICAvLyBV
cGRhdGUgdGhlIHRpbWUgc2xpZGVyCiAgICAgbV90aW1lU2xpZGVyLnNldFZhbHVlKGN1cnJlbnRU
aW1lKCkgLyBkdXJhdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIuaAppbmRleCAxMzE1NzNmMDA0OGE5M2RjYmMxY2E1ZThkODNjZTk0Y2NiZWQw
NDM4Li5jN2Y2MWRlM2EwN2Y2NzkwNWQxMzllMjFhNDk1MTA0NzYyYmVhMTMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMzgsNyArMTM4
LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckhVRFdpbmRvd0NsYXNzKCk7
CiAgICAgc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sgaHVkV25kUHJvYyhIV05ELCBVSU5UIG1lc3Nh
Z2UsIFdQQVJBTSwgTFBBUkFNKTsKICAgICB2b2lkIGNyZWF0ZUhVRFdpbmRvdygpOwotICAgIHZv
aWQgdGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyPiop
OworICAgIHZvaWQgdGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwogCiAgICAgdm9pZCB0b2dn
bGVQbGF5KCk7CiAgICAgdm9pZCBkcmF3KCk7CkBAIC0xNzQsNyArMTc0LDcgQEAgcHJpdmF0ZToK
ICAgICBIVURXaWRnZXQqIG1faGl0V2lkZ2V0OwogICAgIFdlYkNvcmU6OkludFBvaW50IG1fbW92
ZU9mZnNldDsKICAgICBib29sIG1fbW92aW5nV2luZG93OwotICAgIFdlYkNvcmU6OlRpbWVyPEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI+IG1fdGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV90
aW1lcjsKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOGUzZTI1ODJkNTI4Njc5NDM5
OTExYzVkNTkwNDYyNjVmN2VkYzk2Ni4uMmE1MmEwNWRiNjcyMmUxMDExNTQ5ZGEyMzJkMzU5ODM1
OTNhZjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zOTIsNyArMzkyLDcgQEAgdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OnN0YXJ0QnVmZmVyaW5nVGltZXJJZk5lZWRlZCgpCiAgICAgbV9idWZm
ZXJpbmdUaW1lci5zdGFydE9uZVNob3QobV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1l
KTsKIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmJ1ZmZlcmluZ1RpbWVyRmlyZWQo
VGltZXI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiYpCit2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6YnVmZmVyaW5nVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgQVNTRVJUKG1fYnVmZmVyZWRE
YXRhKTsKICAgICBBU1NFUlQobV9oYW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5Y2VlODYxOGMyZTcx
ZGM3NjE1ZDk1NTJjM2I0OWIzY2YwYTJjNjdiLi45MjlhOGRmYThmMTAxNDI3YzMwMjAzMzQyZmUz
MmQxOGNkMjUwMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApAQCAtMTQ4LDcgKzE0OCw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBwbGF0Zm9ybURpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJik7CiAKICAgICB2b2lkIHN0YXJ0QnVmZmVyaW5nVGltZXJJZk5lZWRlZCgpOwot
ICAgIHZvaWQgYnVmZmVyaW5nVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI+Jik7CisgICAgdm9pZCBidWZmZXJpbmdUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVy
Jik7CiAgICAgdm9pZCBzZW5kQnVmZmVyKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciosIGludCBlbmNv
ZGVkRGF0YUxlbmd0aCk7CiAKICAgICBib29sIGlzU3luY2hyb25vdXMoKSBjb25zdDsKQEAgLTE3
OCw3ICsxNzgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb25zdW1lU2FuZGJveEV4dGVu
c2lvbnM7CiAgICAgYm9vbCBtX2RlZmVyc0xvYWRpbmc7CiAKLSAgICBXZWJDb3JlOjpUaW1lcjxO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI+IG1fYnVmZmVyaW5nVGltZXI7CisgICAgV2ViQ29yZTo6VGlt
ZXIgbV9idWZmZXJpbmdUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IGM1MmY2NjNiZWM4ODcz
MTUwNDMwNWM0ZDViZDAwYzAwNDQ4M2NkM2QuLjhmNjVlY2VjYmYxMzMyMTlhZTE1YjEwMThkNDU4
NGQ0NDRlMmZjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5j
cHAKQEAgLTE1NCwxMyArMTU0LDEzIEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6d3JpdGVIZWFk
ZXJzKCkKICAgICB3cml0ZVRvRmlsZShtX3NhbXBsZUxvZ0ZpbGUsIHV0ZjhTdHJpbmcuZGF0YSgp
LCB1dGY4U3RyaW5nLmxlbmd0aCgpKTsKIH0KIAotdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzYW1w
bGVUaW1lckZpcmVkKFRpbWVyPFdlYk1lbW9yeVNhbXBsZXI+KikKK3ZvaWQgV2ViTWVtb3J5U2Ft
cGxlcjo6c2FtcGxlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgc2VuZE1lbW9yeVByZXNzdXJl
RXZlbnQoKTsKICAgICBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUobV9zYW1wbGVMb2dG
aWxlKTsKIH0KIAotdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZChUaW1lcjxX
ZWJNZW1vcnlTYW1wbGVyPiopCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVk
KFRpbWVyKikKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCA1NDhlNTA3NTlkMDFiMWYz
NThhZjZiMDExOGNjMjBmZTQzODUxZGRhLi5mMGE1ZTBmZDNkNmI5MWQ3OTU1Yzk1Nzg3YjgwNjU5
YzAxOWE1ODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAg
LTg1LDggKzg1LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVTYW5kYm94ZWRMb2dG
aWxlKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFN0cmluZyYpOwogICAg
IHZvaWQgd3JpdGVIZWFkZXJzKCk7CiAgICAgdm9pZCBpbml0aWFsaXplVGltZXJzKGRvdWJsZSk7
Ci0gICAgdm9pZCBzYW1wbGVUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFdlYk1lbW9yeVNhbXBs
ZXI+Kik7Ci0gICAgdm9pZCBzdG9wVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxXZWJNZW1vcnlT
YW1wbGVyPiopOworICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwor
ICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKICAgICB2b2lkIGFwcGVu
ZEN1cnJlbnRNZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0Zm9ybUZpbGVIYW5kbGUmKTsK
ICAgICB2b2lkIHNlbmRNZW1vcnlQcmVzc3VyZUV2ZW50KCk7CiAgICAgCkBAIC05Nyw4ICs5Nyw4
IEBAIHByaXZhdGU6CiAgICAgCiAgICAgV2ViQ29yZTo6UGxhdGZvcm1GaWxlSGFuZGxlIG1fc2Ft
cGxlTG9nRmlsZTsKICAgICBTdHJpbmcgbV9zYW1wbGVMb2dGaWxlUGF0aDsKLSAgICBXZWJDb3Jl
OjpUaW1lcjxXZWJNZW1vcnlTYW1wbGVyPiBtX3NhbXBsZVRpbWVyOwotICAgIFdlYkNvcmU6OlRp
bWVyPFdlYk1lbW9yeVNhbXBsZXI+IG1fc3RvcFRpbWVyOworICAgIFdlYkNvcmU6OlRpbWVyIG1f
c2FtcGxlVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7CiAgICAgYm9vbCBt
X2lzUnVubmluZzsKICAgICBkb3VibGUgbV9ydW5uaW5nVGltZTsKICAgICBSZWZQdHI8U2FuZGJv
eEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9uOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uLmgKaW5kZXggMzlkN2E0ZGY5NDYzYjE4Mjc5ZTljYjkwYWQ1Y2Y2OWRjMTJkN2JkYi4u
NGMwMGE4ZGM2YzAyYmVhMmJhMjQ4OTBlNjdjMGNlYzlmYTNmMjFkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxDb21t
aXRMYXllclRyZWUoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKTsKICAgICB2b2lkIGRpZEZs
dXNoTGF5ZXJzKCk7CiAKLSAgICB2b2lkIHZvbGF0aWxpdHlUaW1lckZpcmVkKFdlYkNvcmU6OlRp
bWVyPFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbj4mKTsKKyAgICB2b2lkIHZvbGF0
aWxpdHlUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyJik7CiAgICAgYm9vbCBtYXJrQWxsQmFja2lu
Z1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKIAogICAgIHZvaWQgc2NoZWR1
bGVWb2xhdGlsaXR5VGltZXIoKTsKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICBIYXNo
U2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwog
ICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX3JlYWNoYWJsZUJhY2tpbmdT
dG9yZUluTGF0ZXN0Rmx1c2g7CiAKLSAgICBXZWJDb3JlOjpUaW1lcjxSZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb24+IG1fdm9sYXRpbGl0eVRpbWVyOworICAgIFdlYkNvcmU6OlRpbWVy
IG1fdm9sYXRpbGl0eVRpbWVyOwogCiAgICAgYm9vbCBtX2luTGF5ZXJGbHVzaDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4IGE0NjRhOWFhYjQzYWQzZDllYTA1MGI3YzcxZjM2
NTNiMmRhOGY5ZjUuLmJhOTEwNjRiZThhY2JmNjQ2NDE2OThjZjlkY2NmZjJlZDVmNjA2NjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0xNjMsNyArMTYzLDcgQEAgYm9vbCBSZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtBbGxCYWNraW5nU3RvcmVWb2xhdGls
ZUltbWVkaWF0ZWx5SWYKICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZv
bGF0aWxlOwogfQogCi12b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9s
YXRpbGl0eVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVD
b2xsZWN0aW9uPiYpCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9s
YXRpbGl0eVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXImKQogewogICAgIGJvb2wgc3VjY2Vzc2Z1
bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCA5ZDQwMDBiMGI1MzUyNjk2YzViY2Vh
OGUzMmM2Y2Y5MjYxMGYwM2ZkLi44Nzk4ZmY1ODc2M2E3NDc5Yjg0ZTM4Njc1ZDVjY2U2MmQyNzhl
YWI3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApA
QCAtNTM5LDcgKzUzOSw3IEBAIGlubGluZSBJbnRTaXplIEV3a1ZpZXc6OmRldmljZVNpemUoKSBj
b25zdAogICAgIHJldHVybiB0b0ludFNpemUoV0tWaWV3R2V0U2l6ZSh3a1ZpZXcoKSkpOwogfQog
Ci12b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKFRpbWVyPEV3a1ZpZXc+KikKK3ZvaWQg
RXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEV3a19WaWV3X1NtYXJ0
X0RhdGEqIHNkID0gc21hcnREYXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuaAppbmRleCA1OGYwZTIzMDlmNDhmYTRhZDNmMTQ1MzExMzVlN2RjNzdlOWRi
MmFjLi45NDk1YjFkYjUxOGJkN2RiMWEyMDUwNjllYTJiNGNkN2M5M2E4YjgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCkBAIC0yMjEsNyArMjIxLDcgQEAg
cHJpdmF0ZToKICAgICBXZWJDb3JlOjpJbnRTaXplIHNpemUoKSBjb25zdDsKICAgICBXZWJDb3Jl
OjpJbnRTaXplIGRldmljZVNpemUoKSBjb25zdDsKIAotICAgIHZvaWQgZGlzcGxheVRpbWVyRmly
ZWQoV2ViQ29yZTo6VGltZXI8RXdrVmlldz4qKTsKKyAgICB2b2lkIGRpc3BsYXlUaW1lckZpcmVk
KFdlYkNvcmU6OlRpbWVyKik7CiAKICAgICAvLyBFdmFzX1NtYXJ0X0NsYXNzIGNhbGxiYWNrIGlu
dGVyZmFjZToKICAgICBzdGF0aWMgdm9pZCBoYW5kbGVFdmFzT2JqZWN0QWRkKEV2YXNfT2JqZWN0
Kik7CkBAIC0zMDMsNyArMzAzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdG91Y2hFdmVudHNF
bmFibGVkOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Okdlc3R1cmVSZWNvZ25pemVyPiBt
X2dlc3R1cmVSZWNvZ25pemVyOwogI2VuZGlmCi0gICAgV2ViQ29yZTo6VGltZXI8RXdrVmlldz4g
bV9kaXNwbGF5VGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9kaXNwbGF5VGltZXI7CiAgICAg
UmVmUHRyPEV3a0NvbnRleHRNZW51PiBtX2NvbnRleHRNZW51OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxFd2tQb3B1cE1lbnU+IG1fcG9wdXBNZW51OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6
OklucHV0TWV0aG9kQ29udGV4dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmlu
ZGV4IGQyNmZiODA1ZTk5MmY3ZDdkNjE2MmFlZjU1ZjlkOWRlOGE0YWZkNmEuLjExNGI0ZGYyOTQ5
MWFlNTU5YTRhZWU1YmQzNTk0ZDRkMWYzY2Q5NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDQsMTIgKzEw
NCwxMiBAQCB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFu
Z3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZQogICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5n
dWFnZXNVcGRhdGVUaW1lckZpcmVkKFRpbWVyPFRleHRDaGVja2VyQ2xpZW50RWZsPiopCit2b2lk
IFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKFRpbWVyKikK
IHsKICAgICBtX3RleHRDaGVja2VyRW5jaGFudC0+dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdl
cyhtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOwogfQogCi12b2lkIFRleHRDaGVja2VyQ2xpZW50
RWZsOjpzcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyRmlyZWQoVGltZXI8VGV4dENoZWNr
ZXJDbGllbnRFZmw+KikKK3ZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OnNwZWxsQ2hlY2tpbmdT
ZXR0aW5nQ2hhbmdlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgbV9jbGllbnRDYWxsYmFja3Mu
Y29udGludW91c19zcGVsbF9jaGVja2luZ19jaGFuZ2UoCiAgICAgICAgIGlzQ29udGludW91c1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2soMCAvKiBjbGllbnRJbmZvICovKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5oCmluZGV4
IGRhZWY1NjIzOGExZTRlZDVjZWVhYmU2YWRiZmVhYzBkNzU3MDAwMDQuLjFlM2NlOGM4MjA5N2Q0
MWU5ZjMxYjJhNjIyZmFmZmIyMGIyYTU5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmgKQEAgLTU1LDE0ICs1NSwxNCBAQCBw
cml2YXRlOgogICAgIFRleHRDaGVja2VyQ2xpZW50RWZsKCk7CiAKICAgICAvLyBUbyBzZXQgbGFu
Z3VhZ2VzIG9uIHRpbWVyLgotICAgIHZvaWQgbGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZChXZWJD
b3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNsaWVudEVmbD4qKTsKLSAgICBXZWJDb3JlOjpUaW1lcjxU
ZXh0Q2hlY2tlckNsaWVudEVmbD4gbV9sYW5ndWFnZXNVcGRhdGVUaW1lcjsKKyAgICB2b2lkIGxh
bmd1YWdlc1VwZGF0ZVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKKyAgICBXZWJDb3JlOjpU
aW1lciBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fc3BlbGxD
aGVja2luZ0xhbmd1YWdlczsKIAogICAgIC8vIFRvIG5vdGlmeSB0aGUgY2xpZW50IGFib3V0IHRo
ZSBzZXR0aW5nIGNoYW5nZSBvbiB0aW1lci4KLSAgICB2b2lkIHNwZWxsQ2hlY2tpbmdTZXR0aW5n
Q2hhbmdlVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNsaWVudEVmbD4qKTsK
KyAgICB2b2lkIHNwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJlZChXZWJDb3JlOjpU
aW1lciopOwogICAgIHZvaWQgY2FsbENvbnRpbnVvdXNTcGVsbENoZWNraW5nQ2hhbmdlQ2FsbGJh
Y2tBc3luYygpOwotICAgIFdlYkNvcmU6OlRpbWVyPFRleHRDaGVja2VyQ2xpZW50RWZsPiBtX3Nw
ZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9zcGVs
bENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyOwogCiAgICAgLy8gV0tUZXh0Q2hlY2tlckNsaWVu
dCBjYWxsYmFja3MuCiAgICAgc3RhdGljIGJvb2wgaXNDb250aW51b3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWRDYWxsYmFjayhjb25zdCB2b2lkKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCBiMDY2MTk0YmQwMzkz
MWFlOTU4NmQzNjFmNDFiMmU2Y2UzMjg3ZDkwLi5mOWI0OTBkZGE2NmExNmRlMGZlNzI5ZTAxNDc5
OTU2OTFlNTg0YWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKQogICAgIH0K
IH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVk
KFRpbWVyPENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdD4qKQordm9pZCBDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBwZXJmb3JtU2No
ZWR1bGVkTGF5ZXJGbHVzaCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCBlMmNhOWMwYmZlYzY1MzcxNzMyODAx
N2E4YWZiODc3OTA2ZDkzMmJlLi5lZjM1NzcxMzM2OWM1OTM3MWVjYzIzNThlMmQ3YTVlMDA0MjQw
NTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3QuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHVyZ2VC
YWNraW5nU3RvcmVzKCk7CiAgICAgdm9pZCBjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5
ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KTsKIAotICAgIHZvaWQgbGF5ZXJG
bHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Piop
OworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKIAogICAg
IHZvaWQgdXBkYXRlUm9vdExheWVycygpOwogCkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToK
IAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0OwogCi0gICAgV2ViQ29y
ZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiBtX2xheWVyRmx1c2hUaW1lcjsKKyAg
ICBXZWJDb3JlOjpUaW1lciBtX2xheWVyRmx1c2hUaW1lcjsKICAgICBib29sIG1fbGF5ZXJGbHVz
aFNjaGVkdWxpbmdFbmFibGVkOwogICAgIHVpbnQ2NF90IG1fZm9yY2VSZXBhaW50QXN5bmNDYWxs
YmFja0lEOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKaW5kZXggNTY1NzU2
MjZiYzYxYWE5ODgzMzM3Zjc4MTNjY2EzMTIxMmM5MDNiNy4uYTNhZTAyMjNiZjQ5NDEzZDdjY2Y2
ZjM5MWE1ZmU5MzY2OTc1NWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEu
aApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4
cG9zZWRSZWN0KCk7CiAgICAgdm9pZCB1cGRhdGVSb290TGF5ZXJzKCk7CiAKLSAgICB2b2lkIGxh
eWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhPiopOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsK
ICAgICB2b2lkIGZsdXNoTGF5ZXJzKCk7CiAKICAgICBXZWJDb3JlOjpUaWxlZEJhY2tpbmcqIG1h
aW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0OwpAQCAtMTQ0LDcgKzE0NCw3IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fZXhwb3NlZFJlY3Q7CiAgICAgV2ViQ29yZTo6Rmxv
YXRSZWN0IG1fc2Nyb2xsZWRFeHBvc2VkUmVjdDsKIAotICAgIFdlYkNvcmU6OlRpbWVyPFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhPiBtX2xheWVyRmx1c2hUaW1lcjsKKyAgICBXZWJDb3JlOjpU
aW1lciBtX2xheWVyRmx1c2hUaW1lcjsKICAgICBib29sIG1faXNGbHVzaGluZ1N1c3BlbmRlZDsK
ICAgICBib29sIG1faGFzRGVmZXJyZWRGbHVzaDsKICAgICBib29sIG1faXNUaHJvdHRsaW5nTGF5
ZXJGbHVzaGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXggOTMy
NWE1MTc3MmU1OTczZDNmZjJiMTBjYjU1OWUwMmZjZjNkZGUwMC4uYWNjMmVmNGUwYzNlMjU1ZDU4
MmNmYjcxYTYxMDQyNDI3MDBjYzVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tCkBAIC0zMTMsNyArMzEzLDcgQEAgYm9vbCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YTo6YWRqdXN0TGF5ZXJGbHVzaFRocm90dGxpbmcoV2ViQ29yZTo6TGF5ZXJGbHVzaFQKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6bGF5ZXJG
bHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE+
KikKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmxheWVyRmx1c2hUaW1lckZpcmVk
KFdlYkNvcmU6OlRpbWVyKikKIHsKICAgICBmbHVzaExheWVycygpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNDdhNGQ4ZmY4MTA4YTdkYzMyMjExODg4
MDBkYzRkNmQwODQzNTgyMS4uNzdjN2E3ZDRjZmQ5MmQxODI3YmY0NjVhMGY0OWMwZWE5MjMwMzRm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMTg4LDcg
KzExODgsNyBAQCBib29sIFdlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xhdGlsZUlmUG9zc2li
bGUoKQogICAgIHJldHVybiBzdWNjZXNzZnVsbHlNYXJrZWRBbGxMYXllcnNWb2xhdGlsZTsKIH0K
IAotdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzU3VzcGVuc2lvbkNsZWFudXBUaW1lckZpcmVkKFRp
bWVyPFdlYlByb2Nlc3M+KiB0aW1lcikKK3ZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc1N1c3BlbnNp
b25DbGVhbnVwVGltZXJGaXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgaWYgKG1hcmtBbGxMYXll
cnNWb2xhdGlsZUlmUG9zc2libGUoKSkgewogICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NSZWFkeVRvU3VzcGVu
ZCgpLCAwKTsKQEAgLTEyMTAsNyArMTIxMCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGFnZVdpbGxM
ZWF2ZVdpbmRvdyh1aW50NjRfdCBwYWdlSUQpCiAgICAgICAgIG1fbm9uVmlzaWJsZVByb2Nlc3ND
bGVhbnVwVGltZXIuc3RhcnRPbmVTaG90KG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5KTsK
IH0KICAgICAKLXZvaWQgV2ViUHJvY2Vzczo6bm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXJG
aXJlZChUaW1lcjxXZWJQcm9jZXNzPiopCit2b2lkIFdlYlByb2Nlc3M6Om5vblZpc2libGVQcm9j
ZXNzQ2xlYW51cFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX3BhZ2VzSW5XaW5k
b3dzLmlzRW1wdHkoKSk7CiAgICAgaWYgKCFtX3BhZ2VzSW5XaW5kb3dzLmlzRW1wdHkoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggODhjNTgxYTRlOTJkOGY3YzA2
NDAyOTZhZmQxNjE1OGFhYjJkNDdlOC4uNDk4OTFmZTRkNDY4MDUzYmIyZjMyY2U4NjJlMmIxNGNi
NTViN2ViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE3Myw3
ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWdlRGlkRW50ZXJXaW5kb3codWludDY0X3Qg
cGFnZUlEKTsKICAgICB2b2lkIHBhZ2VXaWxsTGVhdmVXaW5kb3codWludDY0X3QgcGFnZUlEKTsK
IAotICAgIHZvaWQgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXJGaXJlZChXZWJDb3JlOjpU
aW1lcjxXZWJQcm9jZXNzPiopOworICAgIHZvaWQgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGlt
ZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygp
OwogCkBAIC0xODQsNyArMTg0LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJvY2Vzc1dpbGxTdXNw
ZW5kKCk7CiAgICAgdm9pZCBjYW5jZWxQcm9jZXNzV2lsbFN1c3BlbmQoKTsKICAgICBib29sIG1h
cmtBbGxMYXllcnNWb2xhdGlsZUlmUG9zc2libGUoKTsKLSAgICB2b2lkIHByb2Nlc3NTdXNwZW5z
aW9uQ2xlYW51cFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8V2ViUHJvY2Vzcz4qKTsKKyAgICB2
b2lkIHByb2Nlc3NTdXNwZW5zaW9uQ2xlYW51cFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsK
IAogI2lmIFBMQVRGT1JNKElPUykKICAgICB2b2lkIHJlc2V0QWxsR2VvbG9jYXRpb25QZXJtaXNz
aW9ucygpOwpAQCAtMzA2LDcgKzMwNiw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIFJlZlB0cjxWaWV3VXBkYXRlRGlzcGF0Y2hlcj4gbV92aWV3VXBkYXRlRGlzcGF0Y2hlcjsK
ICNlbmRpZgotICAgIFdlYkNvcmU6OlRpbWVyPFdlYlByb2Nlc3M+IG1fcHJvY2Vzc1N1c3BlbnNp
b25DbGVhbnVwVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9wcm9jZXNzU3VzcGVuc2lvbkNs
ZWFudXBUaW1lcjsKIAogICAgIGJvb2wgbV9pbkRpZENsb3NlOwogCkBAIC0zNjAsNyArMzYwLDcg
QEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSGFzaFNldDx1aW50NjRfdD4gbV9wYWdlc0luV2lu
ZG93czsKLSAgICBXZWJDb3JlOjpUaW1lcjxXZWJQcm9jZXNzPiBtX25vblZpc2libGVQcm9jZXNz
Q2xlYW51cFRpbWVyOworICAgIFdlYkNvcmU6OlRpbWVyIG1fbm9uVmlzaWJsZVByb2Nlc3NDbGVh
bnVwVGltZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViT3JpZ2luRGF0YU1hbmFnZXI+IG1f
d2ViT3JpZ2luRGF0YU1hbmFnZXI7CiB9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY5ZTk2N2ZjNDgwY2I2MTc1NzQwNWJkYWI1OGQ2YTE5ZjRh
NDg3MDYuLjczMGM2NGU2ZGM0N2Y2MGY5NDBlMDA5YzU3MThjMGY5MzlkOGMxYjIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAg
ICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3BlY2lmaWVycyBmcm9tIFRpbWVyLgorCisg
ICAgICAgICogV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcDoKKyAgICAgICAgKFBh
Z2VMb2FkVGVzdENsaWVudDo6ZW5kUGFnZUxvYWQpOgorICAgICAgICAqIFdpbkxhdW5jaGVyL1Bh
Z2VMb2FkVGVzdENsaWVudC5oOgorCiAyMDE0LTExLTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGZhc3QvZG9tL3JlbW92ZS1ib2R5LWR1cmluZy1ib2R5
LXJlcGxhY2VtZW50Mi5odG1sIGZhaWxzIG9uIFdLMgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2luTGF1
bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcCBiL1Rvb2xzL1dpbkxhdW5jaGVyL1BhZ2VMb2Fk
VGVzdENsaWVudC5jcHAKaW5kZXggNTc2YWNkZTFjZTUzOWY0NTM0MzQyNmMyZDVjOWE3NjBkOGJi
NTVjOS4uZWZiNWNiNTljMmQ2YmRhM2ExNGI1MmU1ZGFjMTNmN2FhZTJlNWI1OCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcAorKysgYi9Ub29scy9X
aW5MYXVuY2hlci9QYWdlTG9hZFRlc3RDbGllbnQuY3BwCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9p
ZCBQYWdlTG9hZFRlc3RDbGllbnQ6OnBhZ2VMb2FkRW5kZWRBdFRpbWUoQ0ZBYnNvbHV0ZVRpbWUg
ZW5kVGltZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50OjplbmRQYWdlTG9h
ZChUaW1lcjxQYWdlTG9hZFRlc3RDbGllbnQ+KiB0aW1lcikKK3ZvaWQgUGFnZUxvYWRUZXN0Q2xp
ZW50OjplbmRQYWdlTG9hZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1l
ciwgdGltZXIgPT0gJm1fd2FpdEZvckxvYWRUb1JlYWxseUVuZCk7CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dpbkxhdW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVudC5oIGIvVG9vbHMvV2luTGF1bmNoZXIv
UGFnZUxvYWRUZXN0Q2xpZW50LmgKaW5kZXggNzYzMzg3ZmY0ZjAzOWZhMzNhNzA2YWI5NDViZjJm
NzQ1MWMyNzk5Yi4uMmQ5MWIxNzJhYTE2MDM5MWM0NTllZjVkMWYyZDczODJlOTRiZGYwOCAxMDA2
NDQKLS0tIGEvVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmgKKysrIGIvVG9v
bHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaWRFbmRSZXNvdXJjZUxvYWQodWludDY0X3QpOwogCiBwcml2YXRl
OgotICAgIHZvaWQgZW5kUGFnZUxvYWQoVGltZXI8UGFnZUxvYWRUZXN0Q2xpZW50PiopOworICAg
IHZvaWQgZW5kUGFnZUxvYWQoVGltZXIqKTsKICAgICB2b2lkIG1heWJlRW5kUGFnZUxvYWRTb29u
KCk7CiAgICAgdm9pZCBjbGVhclBhZ2VMb2FkU3RhdGUoKTsKICAgICBib29sIHNob3VsZENvbnNp
ZGVyUGFnZUxvYWRFbmRlZCgpIGNvbnN0OwpAQCAtMTM5LDcgKzEzOSw3IEBAIHByaXZhdGU6CiAg
ICAgVmVjdG9yPENGQWJzb2x1dGVUaW1lPiBtX3N0YXJ0VGltZXM7CiAgICAgVmVjdG9yPENGQWJz
b2x1dGVUaW1lPiBtX2VuZFRpbWVzOwogICAgIEhhc2hTZXQ8dWludDY0X3Q+IG1fbG9hZGluZ1N1
YnJlc291cmNlczsKLSAgICBUaW1lcjxQYWdlTG9hZFRlc3RDbGllbnQ+IG1fd2FpdEZvckxvYWRU
b1JlYWxseUVuZDsKKyAgICBUaW1lciBtX3dhaXRGb3JMb2FkVG9SZWFsbHlFbmQ7CiAjaWYgT1Mo
V0lORE9XUykKICAgICBfYnN0cl90IG1fdXJsOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241116</attachid>
            <date>2014-11-06 10:40:25 -0800</date>
            <delta_ts>2014-11-06 11:10:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138450-20141106104036.patch</filename>
            <type>text/plain</type>
            <size>281002</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU0M2VkYmM3MDMyM2E4
ZjY2YjY4MjlkYTE4NGMxMGNlNjdkMjY2Zi4uMjNlZGRhNjJhNTMyYjQwMmU0ZGE5MmU2NTE0ZThh
YzI3NzMxNWZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1MSBAQAorMjAxNC0xMS0wNSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRp
bWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaW1l
ciBkb2VzIG5vdCBuZWVkIHRvIGJlIGEgdGVtcGxhdGVkIGNsYXNzOyBvbmx5IGl0J3MgY29uc3Ry
dWN0b3JzIG5lZWQgdG8gYmUgdGVtcGxhdGVkLgorICAgICAgICBSZW1vdmUgdGhlIHRlbXBsYXRl
IHNwZWNpZmllciBmcm9tIFRpbWVyIGFuZCBhZGQgc2FtZSB0byBpdHMgdHdvIGNsYXNzIG1ldGhv
ZAorICAgICAgICBjb25zdHJ1Y3RvcnMuIFJlcGxhY2UgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdHlw
ZWRlZnMgd2l0aCB1c2luZyBzdGF0ZW1lbnRzLiBBZGQgYQorICAgICAgICBoZWxwZXIgdHlwZWRl
ZiB3aGljaCBhbGxvd3MgaW52YWxpZCBjb21iaW5hdGlvbnMgb2YgVGltZXJGaXJlZENsYXNzIGFu
ZAorICAgICAgICBUaW1lckZpcmVkRnVuY3Rpb24gdG8gYmUgY2F1Z2h0IGVhcmx5IGJ5IHRoZSBj
b21waWxlciwgd2hpbGUgc3RpbGwgYWxsb3dpbmcKKyAgICAgICAgdmFsaWQgY29tYmluYXRpb25z
IChzdWNoIGFzIHdoZW4gdGhlIGNhbGxlciBzcGVjaWZpZXMgYSBmdW5jdGlvbiBvbiBhIHN1YmNs
YXNzIG9mCisgICAgICAgIFRpbWVyRmlyZWRDbGFzcykuCisKKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9O
b3RpZmllcjo6dGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6cmVz
dW1lVGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmQ6OnRhc2tUaW1lckZp
cmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW06OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRN
RlNlbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpzY2hlZHVsZWRF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNl
bmRlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlZEV2ZW50VGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJl
ZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oOgor
ICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Q2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2FsbGJhY2s6OnRpbWVyRmlyZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Vmli
cmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWVUaW1lckZpcmVkKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmNsb3NpbmdUaW1lckZpcmVkKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub3RpZmljYXRpb25Qb3N0VGltZXJGaXJlZCk6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENh
Y2hlOjpBWE9iamVjdENhY2hlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oOgorICAgICAgICAqIGNzcy9DU1NGb250
RmFjZVNvdXJjZS5oOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJvcGVy
dGllc0NhY2hlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3R5
bGVSZWNhbGNUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpvcHRpbWl6
ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpkb21Db29raWVDYWNoZUV4cGlyeVRpbWVyRmlyZWQp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5o
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTZW5kZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAq
IGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljRXZl
bnRRdWV1ZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmg6
CisgICAgICAgICogZG9tL1NjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRSdW5uZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6YW5pbWF0aW9uVGltZXJGaXJlZCk6
CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAq
IGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0
dHJpYnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICogZWRpdGluZy9BbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZl
VGV4dENvbnRyb2xsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRp
dmVUZXh0Q29udHJvbGxlci5oOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjplZGl0b3JVSVVwZGF0ZVRpbWVyRmlyZWQpOgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6Y2FyZXRCbGlua1RpbWVy
RmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6
OnRpbWVyRmlyZWRUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0KToKKyAgICAgICAgKiBlZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5oOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmly
ZWQpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxQbHVnSW5FbGVtZW50Ojpzd2FwUmVuZGVyZXJUaW1lckZpcmVkKToKKyAgICAgICAgKiBodG1s
L0hUTUxQbHVnSW5FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92
ZVNuYXBzaG90VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQpOgorICAgICAg
ICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUcmFja0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVy
RmlyZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpjbGVhclBvc2l0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnRpbWV1cGRhdGVUaW1lckZp
cmVkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwv
TWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjpyZXBs
YWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50
Lmg6CisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VhcmNoSW5wdXRUeXBlOjpzZWFyY2hFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0
bWwvU2VhcmNoSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0
VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OmJ1aWxkQnViYmxl
VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlk
ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1
YmJsZVRyZWUpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjptYXliZVJlc3RvcmVDb250ZXh0
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCk6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oOgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlVGlt
ZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaDoK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHM6OmhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmg6CisgICAgICAgICogaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVs
ZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1NwaW5C
dXR0b25FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6bG9hZFRpbWVyRmlyZWQp
OgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaDoKKyAgICAgICAgKiBo
dG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRSZWdpb246OnNj
cm9sbFRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0
eWxlQXR0cmlidXRlVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6
dXBkYXRlUGFpbnRSZWN0c1RpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JPdmVybGF5Lmg6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
Y2hlY2tUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5oOgorICAgICAg
ICAqIGxvYWRlci9MaW5rTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6
OmxpbmtMb2FkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5rTG9hZGVyOjpsaW5r
TG9hZGluZ0Vycm9yVGltZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpkaWRTdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmg6CisgICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBpbmdMb2FkZXI6OnRpbWVvdXRUaW1lckZpcmVkKToKKyAgICAgICAg
KiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNz
VHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGlt
ZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6
CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIHBhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmg6CisgICAgICAg
ICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXM6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01lZGlhQUYuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01l
ZGlhQUY6OnVwZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUYuaDoKKyAgICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJvbGxlcjo6ZmlyZURldmljZUV2ZW50KToKKyAg
ICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNv
clRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpyZWNvZ25pemVM
b25nTW91c2VQcmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmZha2VNb3Vz
ZU1vdmVFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpo
b3ZlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAg
ICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6
Y29ubmVjdFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAg
ICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0Nv
bnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRm9jdXND
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZTo6b3ZlcmZsb3dBdXRvU2Nyb2xsVGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9G
cmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6ZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cG9zdExheW91dFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmly
ZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGln
aGxpZ2h0VGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yOjp1cGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjcm9sbGluZ1N0YXRl
VHJlZUNvbW1pdHRlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjOjpzY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yOjp1cGRhdGVTY3JvbGxBbmltYXRvcnNBbmRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsQW5pbWF0b3I6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdG9yOjpzdG9wU2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdG9yOjpob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3JOb25lLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lcjo6VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01l
ZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb246OmNsaWVudERh
dGFCdWZmZXJpbmdUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNl
c3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvQmF0dGVyeVByb3ZpZGVyRWZsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlckVmbDo6dGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6YWR2
YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cmVsb2FkVGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnRpbWVy
RmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp0aWxlQnVmZmVyVXBkYXRl
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6YmFja2lu
Z1N0b3JlVXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2VsZWN0aW9uVGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpzZWVrVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6cHJ1bmVUaW1lckZp
cmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6dGlsZVJldmFsaWRhdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGls
ZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9M
ZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lDQUNG
TGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJT1N1
cmZhY2VQb29sOjpjb2xsZWN0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpz
ZWVrVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OnJlbGVh
c2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNU
aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphbmltYXRpb25TdGFydGVkVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZzo6Y2xlYXJDb250ZW50c1RpbWVyRmly
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEltYWdlQmFja2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxl
Q2FjaGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yTWFjOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmluaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyRmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNj
cm9sbGVkVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6
dGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnBlcm1pc3Np
b25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6
Y29udHJvbGxlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRp
b25DbGllbnRNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2sv
VGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6dGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpmYWlsdXJlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpk
b3dubG9hZFRpbWVyQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9S
ZXNvdXJjZUhhbmRsZU1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIpOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luUGFja2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpmcmVlTGli
cmFyeVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5oOgorICAg
ICAgICAqIHBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdp
blN0cmVhbTo6ZGVsYXlEZWxpdmVyeVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luU3RyZWFtLmg6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQbHVnaW5WaWV3OjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlldy5oOgorICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRs
ZXJXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6
bWVzc2FnZVRocm90dGxlVGltZXJGaXJlZCk6CisgICAgICAgICogcGx1Z2lucy93aW4vUGx1Z2lu
TWVzc2FnZVRocm90dGxlcldpbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXI6
OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFn
ZVF1YWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCdXR0b246OnN0eWxlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJ1dHRvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lckZp
cmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWFycXVlZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9uT3ZlcnNldENoYW5n
ZUV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF6eVJlcGFpbnRUaW1l
ckZpcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAqIHJl
cGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiByZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpjbG9zZURhdGFiYXNl
VGltZXJGaXJlZCk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaDoKKyAgICAg
ICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9y
YWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VB
cmVhU3luYy5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXIpOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHU3R5bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaERlZmVycmVkRXZlbnRzKToKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNC0xMS0w
NCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRGVzY2VuZGFudCBl
bmRzIHVwIGluIHdyb25nIGZsb3cgdGhyZWFkIHdpdGggbmVzdGVkIGNvbHVtbnMgYW5kIHNwYW5z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDc1ZTdlZDQwMjE2ZWUxM2YzNTFjOTg5OWE1OGNlYWJlMTk4
YjAxNjUuLjQ0YTQ1YTFiMzJkYmNhMTVkMjM0NjRjYjQ0ZWI1NzcyODcyMzg5ZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3Bl
Y2lmaWVycyBmcm9tIFRpbWVyLgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lmg6CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtLmg6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0
YVRpbWVyRmlyZWQpOgorCiAyMDE0LTExLTAzICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBmZWF0dXJlIGd1YXJkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCmluZGV4IGU0OGMwNjIxNDUzZGU2OTc2MDA5OWFhNTIyYmVhMzAyN2I1Yzdl
ODkuLmJmZTU3MTgwYWQzZDUwNGQ0OWJjMTE4YjcwNzlhNjVjODY3Njc2YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oOgorCiAyMDE0LTExLTA0
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBFbGltaW5hdGUgUmVz
b3VyY2VCdWZmZXIgYW5kIHVzZSBTaGFyZWRCdWZmZXIgZGlyZWN0bHkgaW5zdGVhZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDViNDJiZGU0N2MyNDU0YTg0Y2EyNzYxYTFkODM3NTY1Mjc0YzY2ZWUuLjE3NWJkMDc5
ODhmYTZkMTMxNGI0YmZmNDlhYTA4ZDMxNGJkNjYxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MCBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAg
ICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3BlY2lmaWVycyBmcm9tIFRpbWVyLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpidWZmZXJpbmdUaW1lckZpcmVk
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChUZXh0Q2hlY2tl
ckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChUZXh0Q2hl
Y2tlckNsaWVudEVmbDo6c3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojps
YXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpsYXllckZsdXNo
VGltZXJGaXJlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJvY2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXJGaXJl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Om5vblZpc2libGVQcm9jZXNzQ2xlYW51
cFRpbWVyRmlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE0
LTExLTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGZh
c3QvZG9tL3JlbW92ZS1ib2R5LWR1cmluZy1ib2R5LXJlcGxhY2VtZW50Mi5odG1sIGZhaWxzIG9u
IFdLMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IGY1Mzc2Y2YwNzBmOGM1NGJhMjhjZTNjN2ZmOTFj
YmZlMTkzMmQyMDQuLjA2MGQ3N2U1M2M0NzkwYWIxYTE3NDVhZGMyYTVhYTdkMmNkYTFmZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246
OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5KiBp
bmkKICAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVk
aWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+
JikKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgQVNTRVJUKG1fcGVuZGluZ0tleVJlcXVlc3RzLnNpemUoKSk7CiAgICAgaWYgKCFtX3Nl
c3Npb24pCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0ZShV
aW50OEFycmF5KiBrZXksIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIG1fYWRkS2V5VGltZXIuc3Rh
cnRPbmVTaG90KDApOwogfQogCi12b2lkIE1lZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJl
ZChUaW1lcjxNZWRpYUtleVNlc3Npb24+JikKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjphZGRLZXlU
aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBBU1NFUlQobV9wZW5kaW5nS2V5cy5zaXplKCkpOwog
ICAgIGlmICghbV9zZXNzaW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggZjAyNjlkNDIzNDQ2MTg4NTMz
MjUyNGI2MGRmOTFlMzRhYjNhMDUxZC4uOWMzMTFhZDJmNjQxZDEwZDMwYTk1YTRhMzEyYTk3NDQz
Y2I4MGUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC04NCw4ICs4NCw4IEBAIHB1YmxpYzoKIAogcHJv
dGVjdGVkOgogICAgIE1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVk
aWFLZXlzKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwotICAgIHZvaWQga2V5UmVxdWVzdFRp
bWVyRmlyZWQoVGltZXI8TWVkaWFLZXlTZXNzaW9uPiYpOwotICAgIHZvaWQgYWRkS2V5VGltZXJG
aXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+Jik7CisgICAgdm9pZCBrZXlSZXF1ZXN0VGltZXJG
aXJlZChUaW1lciYpOworICAgIHZvaWQgYWRkS2V5VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Ly8gQ0RNU2Vzc2lvbkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBzZW5kTWVzc2FnZShVaW50OEFy
cmF5KiwgU3RyaW5nIGRlc3RpbmF0aW9uVVJMKTsKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhOwogICAgIH07CiAgICAg
RGVxdWU8UGVuZGluZ0tleVJlcXVlc3Q+IG1fcGVuZGluZ0tleVJlcXVlc3RzOwotICAgIFRpbWVy
PE1lZGlhS2V5U2Vzc2lvbj4gbV9rZXlSZXF1ZXN0VGltZXI7CisgICAgVGltZXIgbV9rZXlSZXF1
ZXN0VGltZXI7CiAKICAgICBEZXF1ZTxSZWZQdHI8VWludDhBcnJheT4+IG1fcGVuZGluZ0tleXM7
Ci0gICAgVGltZXI8TWVkaWFLZXlTZXNzaW9uPiBtX2FkZEtleVRpbWVyOworICAgIFRpbWVyIG1f
YWRkS2V5VGltZXI7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0
KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCA3ZDg0ODExODZjNzY0MDY1NzdlNWEyMDAx
ZmQ3ZDViM2U3YWQwMWRhLi44MWQ2MTM2ZTE0M2M1OTM3YjU0N2Q4YTIxMjIxN2M2M2FiYjVlNTU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgR2VvbG9jYXRpb246Okdlb05vdGlmaWVy
OjpzdG9wVGltZXIoKQogICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIEdlb2xvY2F0aW9u
OjpHZW9Ob3RpZmllcjo6dGltZXJGaXJlZChUaW1lcjxHZW9Ob3RpZmllcj4mKQordm9pZCBHZW9s
b2NhdGlvbjo6R2VvTm90aWZpZXI6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1fdGltZXIu
c3RvcCgpOwogCkBAIC0yOTcsNyArMjk3LDcgQEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkK
ICAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9j
YXRpb246OnJlc3VtZVRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb24+JikKK3ZvaWQgR2VvbG9j
YXRpb246OnJlc3VtZVRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1faXNTdXNwZW5kZWQgPSBm
YWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5oCmluZGV4IDY0NGRiZmIyNGFlZmRiMjk2NDAyODJhNmQ2MDFkMGQ2YjQ1OTZhNjAuLjU1
NjIzZDBlMTFkNzIwODBiMDMwNmQ5MGM3OThiNTFhZWRjMzk4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKQEAgLTEwMCw3ICsxMDAs
NyBAQCBwcml2YXRlOgogCiAgICAgICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKCk7CiAgICAg
ICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0gICAgICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxHZW9O
b3RpZmllcj4mKTsKKyAgICAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJik7CiAgICAgICAgIGJv
b2wgaGFzWmVyb1RpbWVvdXQoKSBjb25zdDsKIAogICAgIHByaXZhdGU6CkBAIC0xMTAsNyArMTEw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IG1fc3VjY2Vz
c0NhbGxiYWNrOwogICAgICAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBtX2Vycm9y
Q2FsbGJhY2s7CiAgICAgICAgIFJlZlB0cjxQb3NpdGlvbk9wdGlvbnM+IG1fb3B0aW9uczsKLSAg
ICAgICAgVGltZXI8R2VvTm90aWZpZXI+IG1fdGltZXI7CisgICAgICAgIFRpbWVyIG1fdGltZXI7
CiAgICAgICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yPiBtX2ZhdGFsRXJyb3I7CiAgICAgICAgIGJv
b2wgbV91c2VDYWNoZWRQb3NpdGlvbjsKICAgICB9OwpAQCAtMTg2LDggKzE4Niw4IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2hhc0NoYW5nZWRQb3NpdGlvbjsKICAgICBSZWZQdHI8UG9zaXRpb25F
cnJvcj4gbV9lcnJvcldhaXRpbmdGb3JSZXN1bWU7CiAKLSAgICB2b2lkIHJlc3VtZVRpbWVyRmly
ZWQoVGltZXI8R2VvbG9jYXRpb24+Jik7Ci0gICAgVGltZXI8R2VvbG9jYXRpb24+IG1fcmVzdW1l
VGltZXI7CisgICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyJik7CisgICAgVGltZXIgbV9y
ZXN1bWVUaW1lcjsKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICAgICBHZW9Ob3RpZmllclNl
dCBtX3JlcXVlc3RzQXdhaXRpbmdDYWNoZWRQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCmlu
ZGV4IDM3OTg4NmNiZTBjMTFlZWRkYjg4NzllN2Y3OGIzMzhhOWY0NTZmYTAuLmE4NjllMTMwOGVi
NDQzNTczYjMyZTAwMTdiZWQ0YjdlOTM0ZTIzN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApAQCAt
MjcwLDcgKzI3MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kOjpjb21taXQoKQogICAg
IH0pOwogfQogCi12b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZDo6dGFza1RpbWVyRmlyZWQoVGlt
ZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kPiYpCit2b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZDo6
dGFza1RpbWVyRmlyZWQoVGltZXImKQogewogICAgIExPRyhTdG9yYWdlQVBJLCAiSURCVHJhbnNh
Y3Rpb25CYWNrZW5kOjp0YXNrVGltZXJGaXJlZCIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCmluZGV4IGJi
MjAwZGRlMzJmZGQzM2JhNjJiODZkNzMwZjE5NGJhY2QyZWE2NTQuLmJhNWVhNGY4YTgxNjA0MzBk
ZTM2ZTgwYjAxYjM3OGZmNTJmMGI1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCkBAIC05Niw3ICs5Niw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1Rhc2tRdWV1ZUVtcHR5KCkgY29uc3Q7CiAgICAgYm9v
bCBoYXNQZW5kaW5nVGFza3MoKSBjb25zdDsKIAotICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGlt
ZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kPiYpOworICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGlt
ZXImKTsKICAgICB2b2lkIGNsb3NlT3BlbkN1cnNvcnMoKTsKIAogICAgIGNvbnN0IEhhc2hTZXQ8
aW50NjRfdD4gbV9vYmplY3RTdG9yZUlkczsKQEAgLTExMyw3ICsxMTMsNyBAQCBwcml2YXRlOgog
ICAgIERlcXVlPFJlZlB0cjxJREJTeW5jaHJvbm91c09wZXJhdGlvbj4+IG1fYWJvcnRUYXNrUXVl
dWU7CiAKICAgICAvLyBGSVhNRTogZGVsZXRlIHRoZSB0aW1lciBvbmNlIHdlIGhhdmUgdGhyZWFk
cyBpbnN0ZWFkLgotICAgIFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZD4gbV90YXNrVGltZXI7
CisgICAgVGltZXIgbV90YXNrVGltZXI7CiAgICAgaW50IG1fcGVuZGluZ1ByZWVtcHRpdmVFdmVu
dHM7CiAKICAgICBIYXNoU2V0PElEQkN1cnNvckJhY2tlbmQqPiBtX29wZW5DdXJzb3JzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
CmluZGV4IDY3OTIxZTNiMzJkZDE5M2I0YzM3MGE3ZjA3N2M5YmY2NTVjYjRjNjQuLjc2NTk1Nzdk
MzZkMzMxZDBkNmE2MTRmZjM0NWM3MGQ5ODg4YjhhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTQ0Nyw3ICs0NDcs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwodW5zaWduZWQgY2hh
ciogZGF0YSwgdW5zaWduZWQgc2l6ZSwgRXhjZQogICAgIHJlcG9ydEV4dHJhTWVtb3J5Q29zdCgp
OwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxT
b3VyY2VCdWZmZXI+JikKK3ZvaWQgU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAoaXNSZW1vdmVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTY3
Miw3ICs2NzIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3Qg
TWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbgogICAgIExPRyhNZWRpYSwgIlNv
dXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoJXApIC0gYnVmZmVyZWQgPSAlcyIsIHRoaXMs
IHRvU3RyaW5nKG1fYnVmZmVyZWQtPnJhbmdlcygpKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9p
ZCBTb3VyY2VCdWZmZXI6OnJlbW92ZVRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopCit2
b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgQVNTRVJU
KG1fdXBkYXRpbmcpOwogICAgIEFTU0VSVChtX3BlbmRpbmdSZW1vdmVTdGFydC5pc1ZhbGlkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmgKaW5kZXggYWI0OGY5MzdlNjQ5NDFjNmNjMjkxZTUwN2U1ZmY5NTRiZGQ1MzIwMi4uZDM2ODAy
Y2VjOWYwNmE5NzJjOGQzOWQ2ODE1ZWU3YzMxYzE5MjE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC0xNTIsNyArMTUyLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudE5hbWUpOwogCiAgICAgdm9pZCBhcHBlbmRCdWZmZXJJbnRlcm5hbCh1bnNpZ25lZCBjaGFy
KiwgdW5zaWduZWQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFwcGVuZEJ1ZmZlclRpbWVy
RmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiYpOworICAgIHZvaWQgYXBwZW5kQnVmZmVyVGltZXJG
aXJlZChUaW1lciYpOwogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKQEAgLTE2Niw3ICsx
NjYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBtb25pdG9yQnVmZmVyaW5nUmF0ZSgpOwogCi0g
ICAgdm9pZCByZW1vdmVUaW1lckZpcmVkKFRpbWVyPFNvdXJjZUJ1ZmZlcj4qKTsKKyAgICB2b2lk
IHJlbW92ZVRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIHJlbW92ZUNvZGVkRnJhbWVzKGNv
bnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKTsKIAogICAgIHNpemVf
dCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdDsKQEAgLTE4Myw3ICsxODMsNyBAQCBwcml2YXRlOgog
ICAgIEdlbmVyaWNFdmVudFF1ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCiAgICAgVmVjdG9yPHVu
c2lnbmVkIGNoYXI+IG1fcGVuZGluZ0FwcGVuZERhdGE7Ci0gICAgVGltZXI8U291cmNlQnVmZmVy
PiBtX2FwcGVuZEJ1ZmZlclRpbWVyOworICAgIFRpbWVyIG1fYXBwZW5kQnVmZmVyVGltZXI7CiAK
ICAgICBSZWZQdHI8VmlkZW9UcmFja0xpc3Q+IG1fdmlkZW9UcmFja3M7CiAgICAgUmVmUHRyPEF1
ZGlvVHJhY2tMaXN0PiBtX2F1ZGlvVHJhY2tzOwpAQCAtMjEwLDcgKzIxMCw3IEBAIHByaXZhdGU6
CiAKICAgICBNZWRpYVRpbWUgbV9wZW5kaW5nUmVtb3ZlU3RhcnQ7CiAgICAgTWVkaWFUaW1lIG1f
cGVuZGluZ1JlbW92ZUVuZDsKLSAgICBUaW1lcjxTb3VyY2VCdWZmZXI+IG1fcmVtb3ZlVGltZXI7
CisgICAgVGltZXIgbV9yZW1vdmVUaW1lcjsKIAogICAgIGJvb2wgbV91cGRhdGluZzsKICAgICBi
b29sIG1fcmVjZWl2ZWRGaXJzdEluaXRpYWxpemF0aW9uU2VnbWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNTU5ODk1
ZjYwNzliZWRhZjBjNGY1YTBjYTRkMjM5ZjJhNTA2ZWVhNi4uNWFjNTE3NmVkZWNmYjc1ODg5MzJi
MDgxYWY1OTIwMzFjYWIxNDE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTM2MSw3ICszNjEsNyBAQCB2b2lkIE1lZGlh
U3RyZWFtOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
TWVkaWFTdHJlYW06OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYVN0cmVhbT4q
KQordm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gZXZlbnRzOwogICAgIGV2ZW50cy5zd2FwKG1fc2No
ZWR1bGVkRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0uaAppbmRleCAyNjgxZDI2NDNjYzVlMDVlOTBjNDRhN2RhOGRjOGExYzYzYmEy
MTRiLi44MDZmZGNjYTVjODVjZmY3ZmE3NzlkOTFkNTFlMGZiZmJjZDZjZjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCkBAIC0xMjAs
NyArMTIwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhdmVUcmFja1dpdGhTb3VyY2UoUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVNvdXJjZT4pOwogCiAgICAgdm9pZCBzY2hlZHVsZURpc3BhdGNoRXZl
bnQoUGFzc1JlZlB0cjxFdmVudD4pOwotICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVk
KFRpbWVyPE1lZGlhU3RyZWFtPiopOworICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVk
KFRpbWVyKik7CiAKICAgICB2b2lkIGNsb25lTWVkaWFTdHJlYW1UcmFja1ZlY3RvcihWZWN0b3I8
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+PiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8TWVkaWFTdHJl
YW1UcmFjaz4+Jik7CiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxS
ZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4+IG1fYXVkaW9UcmFja3M7CiAgICAgVmVjdG9yPFJlZlB0
cjxNZWRpYVN0cmVhbVRyYWNrPj4gbV92aWRlb1RyYWNrczsKIAotICAgIFRpbWVyPE1lZGlhU3Ry
ZWFtPiBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVudFRp
bWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3NjaGVkdWxlZEV2ZW50czsKIAogICAg
IFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKaW5kZXggZTVhZGNkNjY3Mzky
MTM5YjY0MzEzMjNhNzc2OGU3YzYxMjg3ZTQ4Zi4uZTI0MmM0MGQyNWM2ZWYwOGVjMjhmNDcxN2Vi
OTNjMmYwYTQzOWRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBSVENEVE1G
U2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
UlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ0RUTUZTZW5k
ZXI+KikKK3ZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVy
KikKIHsKICAgICBpZiAobV9zdG9wcGVkKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCmluZGV4IDBlNmI0
OWQzMjExMDUwZGNkMzBhMDM1NWNhZGQyZjAxZDFmZTMyZWMuLmJlZDJhNjIxMjk1ZTRjYTQ2OTFl
ZDk0YzQxNGY3OTk0M2VkOWM4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAg
ICAgUlRDRFRNRlNlbmRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrPiwgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJIYW5kbGVyPik7CiAK
ICAgICB2b2lkIHNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7Ci0gICAg
dm9pZCBzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoVGltZXI8UlRDRFRNRlNlbmRlcj4qKTsKKyAg
ICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZChUaW1lciopOwogCiAgICAgLy8gRXZlbnRU
YXJnZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IHJlZigp
OyB9CkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fc3RvcHBlZDsKIAot
ICAgIFRpbWVyPFJUQ0RUTUZTZW5kZXI+IG1fc2NoZWR1bGVkRXZlbnRUaW1lcjsKKyAgICBUaW1l
ciBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fc2No
ZWR1bGVkRXZlbnRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCBkZTc4NDc0MWM5MmFlODZkY2ExZDJj
ZTNkNzdjMTkwMmJiNWJjMjk2Li40MjMzZmQ0OWNhZjY1ODE4MWJhZGFmNzg1NjYxMjcxODdhMzlj
MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Rh
dGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RhdGFDaGFubmVsLmNwcApAQCAtMzEyLDcgKzMxMiw3IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWw6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICAgICAg
bV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBSVENEYXRh
Q2hhbm5lbDo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ0RhdGFDaGFubmVsPiop
Cit2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoVGltZXIqKQog
ewogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaAppbmRleCA1NGEyMWQ0
NDFkZTk5ODJiMWMzZjQ0Yjk2YTlkY2M3ODEwMGJhZTNjLi42ZjgwMzhlMjhiNjQ4ZTE3MjljZGMw
M2ZmZDU0OWFmMjQ0YzBkNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAg
ICAgUlRDRGF0YUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6dW5pcXVlX3B0
cjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+KTsKIAogICAgIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEV2
ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKLSAgICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJGaXJl
ZChUaW1lcjxSVENEYXRhQ2hhbm5lbD4qKTsKKyAgICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVm
RXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IHJlZigpOyB9CkBAIC0xMTQsNyArMTE0LDcgQEAgcHJp
dmF0ZToKICAgICB9OwogICAgIEJpbmFyeVR5cGUgbV9iaW5hcnlUeXBlOwogCi0gICAgVGltZXI8
UlRDRGF0YUNoYW5uZWw+IG1fc2NoZWR1bGVkRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3NjaGVk
dWxlZEV2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fc2NoZWR1bGVkRXZl
bnRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAppbmRleCAzNTE5YzNkMmRkMTNkNjM4NDk5NjZhNDMz
M2ViZTZhN2M5NmVjZDEyLi4yNDdiNjJmM2FmOTc2OTk1ZjU0ZjBkNDRiMWY4Nzk2Mzc1ODUwMGZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmNwcApAQCAtNzI0LDcgKzcyNCw3IEBAIHZvaWQgUlRDUGVlckNvbm5l
Y3Rpb246OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAg
ICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
VENQZWVyQ29ubmVjdGlvbjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ1BlZXJD
b25uZWN0aW9uPiopCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzY2hlZHVsZWRFdmVudFRpbWVy
RmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaAppbmRleCBiYThlN2FlNzUyNDAzZGY3MjZkZWJlYTI4YmE3NWFhYzQxY2ZiMDZhLi5h
YWJmY2RjMmMyMTgwMjMwYTFhZTZlZTJmYWVjNTFkMDY3ZDYyN2QyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBA
IC0xMzksNyArMTM5LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0Nv
bmZpZ3VyYXRpb24+IHBhcnNlQ29uZmlndXJhdGlvbihjb25zdCBEaWN0aW9uYXJ5JiBjb25maWd1
cmF0aW9uLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UGFzc1JlZlB0cjxFdmVudD4pOwotICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRp
bWVyPFJUQ1BlZXJDb25uZWN0aW9uPiopOworICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZp
cmVkKFRpbWVyKik7CiAgICAgYm9vbCBoYXNMb2NhbFN0cmVhbVdpdGhUcmFja0lkKGNvbnN0IFN0
cmluZyYgdHJhY2tJZCk7CiAKICAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KQEAg
LTE2NCw3ICsxNjQsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlcj4gbV9wZWVySGFuZGxlcjsKIAotICAgIFRpbWVyPFJUQ1BlZXJDb25u
ZWN0aW9uPiBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVu
dFRpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3NjaGVkdWxlZEV2ZW50czsKIAog
ICAgIFJlZlB0cjxSVENDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3VyYXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmlu
ZGV4IDM2YWU2MWZlNDdkZGViYTE0MjY0MjQ1MTNmY2VkM2Q5NWM2NjJlYzYuLjRlODM4MzAwNjcy
MDIyYTM2OTFmMDQ0NGZiNGI1ZjIxZjEyZDgxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC04NCw3ICs4NCw3
IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRl
eHQpCiAgICAgLCBtX3RpdGxlKHRpdGxlKQogICAgICwgbV9zdGF0ZShJZGxlKQotICAgICwgbV90
YXNrVGltZXIoc3RkOjptYWtlX3VuaXF1ZTxUaW1lcjxOb3RpZmljYXRpb24+Pih0aGlzLCAmTm90
aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCkpCisgICAgLCBtX3Rhc2tUaW1lcihzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPih0aGlzLCAmTm90aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCkpCiB7CiAg
ICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXRO
b3RpZmljYXRpb25zKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5kb21XaW5kb3coKSk7CiAg
ICAgCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JF
dmVudCgpCiB9CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLXZvaWQgTm90aWZpY2F0aW9u
Ojp0YXNrVGltZXJGaXJlZChUaW1lcjxOb3RpZmljYXRpb24+JiB0aW1lcikKK3ZvaWQgTm90aWZp
Y2F0aW9uOjp0YXNrVGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNEb2N1bWVudCgpKTsKICAgICBBU1NFUlRfVU5VU0VEKHRp
bWVyLCAmdGltZXIgPT0gbV90YXNrVGltZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGE5ODAxMDA4Mzkz
YzU3MjE5MzBjZGVkMWQ5M2MzZDU4NmM1NGUyM2YuLjM4YmFhNjg4MjExMTJlNmM1Y2JkMjg2NmVj
ZTY3NGU0YmM4NmY1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZmluaXNoTG9hZGluZ0ljb24oKTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQot
ICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uPiYpOworICAgIHZvaWQg
dGFza1RpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgogCiAgICAgLy8gVGV4dCBub3RpZmljYXRp
b25zLgpAQCAtMTc5LDcgKzE3OSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vdGlmaWNhdGlv
bkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50ZXI7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8Tm90aWZpY2F0aW9uPj4gbV90YXNrVGltZXI7
CisgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX3Rhc2tUaW1lcjsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCAyYTgzNTUzZTg5ZWRjMmEzNGM2MTY2MGVlYjIxODVi
ZTczYjczZjFiLi5iYWZiNWNhMzU5N2QzYTUwYTNiYzAyNzMxNzBhOWZlMjVkMzc4ZDNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQgTm90aWZpY2F0aW9u
Q2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2FsbGJhY2s6OnN0YXJ0VGltZXIoKQogICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90
aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrPiYpCit2b2lkIE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBpZiAobV9jYWxsYmFjaykKICAgICAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaAppbmRleCA3MGFjYzRmZjQ4N2Y5MTQ1MDVlMTQ5MjgxNmQwZTg1YmY4
Yzg5OTdlLi5lZGFiYjYyYWRmMzA1NDAyZDYyNmFjZWFjZjMyOTE4ZTY1YzEyYWY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCkBAIC04MCwxMiArODAsMTIgQEAgcHJpdmF0ZToKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4gY3Jl
YXRlQW5kU3RhcnRUaW1lcihOb3RpZmljYXRpb25DZW50ZXIqLCBQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4pOwogICAgICAgICB2b2lkIHN0YXJ0VGltZXIoKTsKLSAgICAgICAgdm9pZCB0aW1lckZp
cmVkKFRpbWVyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4mKTsKKyAgICAgICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyJik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgTm90aWZpY2F0aW9uUmVx
dWVzdENhbGxiYWNrKE5vdGlmaWNhdGlvbkNlbnRlciosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
Pik7CiAKICAgICAgICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25D
ZW50ZXI7Ci0gICAgICAgIFRpbWVyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4gbV90aW1l
cjsKKyAgICAgICAgVGltZXIgbV90aW1lcjsKICAgICAgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4g
bV9jYWxsYmFjazsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vVmlicmF0aW9uLmNwcAppbmRleCBlMDljYjMwYmJlZmMyZGU2OGY0ZjZjZDZkZjdhYWU5Yzk0
NGMzMGY5Li41MGI0NTJhMWE2YjIyYWQ4NzIwOTViNzg5OWYyYTM0YzEyMzAxNGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTkxLDcg
KzkxLDcgQEAgdm9pZCBWaWJyYXRpb246OmNhbmNlbFZpYnJhdGlvbigpCiAgICAgfQogfQogCi12
b2lkIFZpYnJhdGlvbjo6dGltZXJGaXJlZChUaW1lcjxWaWJyYXRpb24+KiB0aW1lcikKK3ZvaWQg
VmlicmF0aW9uOjp0aW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vVmlicmF0aW9uLmgKaW5kZXggY2M1MjlhMDdhZmZiNDUxYjMwMDA2YTFkMWVlMzY2
ZDAyMjA4NWQyNS4uMjA2NzNhZjgxYzBlY2U3OWM1Mzg0ZTVlNzY2NzM2NTA4M2NjNzk5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKQEAgLTQwLDcg
KzQwLDcgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBXaGVuIGEgdmlzaWJpbGl0eWNoYW5nZSBl
dmVudCBpcyBkaXNwYXRjaGVkIHdoaWxlIHZpYnJhdGluZywgdGhlIHZpYnJhdGlvbiBzaG91bGQg
YmUgY2FuY2VsZWQuCiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKIAotICAgIHZvaWQgdGlt
ZXJGaXJlZChUaW1lcjxWaWJyYXRpb24+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyKik7
CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKICAgICBzdGF0aWMg
VmlicmF0aW9uKiBmcm9tKFBhZ2UqIHBhZ2UpIHsgcmV0dXJuIHN0YXRpY19jYXN0PFZpYnJhdGlv
bio+KFN1cHBsZW1lbnQ8UGFnZT46OmZyb20ocGFnZSwgc3VwcGxlbWVudE5hbWUoKSkpOyB9CkBA
IC01MSw3ICs1MSw3IEBAIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBTdGF0ZSB7IElkbGUsIFZp
YnJhdGluZywgV2FpdGluZyB9OwogCiAgICAgVmlicmF0aW9uQ2xpZW50KiBtX3ZpYnJhdGlvbkNs
aWVudDsKLSAgICBUaW1lcjxWaWJyYXRpb24+IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsK
ICAgICBTdGF0ZSBtX3N0YXRlOwogICAgIFZpYnJhdGlvblBhdHRlcm4gbV9wYXR0ZXJuOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAppbmRleCA5MzJjODQwZTQ2NWQ4OTdlZWRlZmE3MTE4NzAyNGQ0NTQ4YTNhNGE5
Li43ZmQ2MjFlMmIzNTg4YjgxOTc0OWUyNzk5M2EwMDQ5ZTI5ZjM0MWY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
CkBAIC00NDksNyArNDQ5LDcgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzQnVmZmVy
KCkKICAgICByZXR1cm4gcHJvY2Vzc0ZyYW1lKCk7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6cmVzdW1lVGltZXJGaXJlZChUaW1lcjxXZWJTb2NrZXRDaGFubmVsPiogdGltZXIpCit2b2lk
IFdlYlNvY2tldENoYW5uZWw6OnJlc3VtZVRpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAg
IEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3Jlc3VtZVRpbWVyKTsKIApAQCAtNDkx
LDcgKzQ5MSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6c3RhcnRDbG9zaW5nSGFuZHNoYWtl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgbV9jbGllbnQtPmRpZFN0
YXJ0Q2xvc2luZ0hhbmRzaGFrZSgpOwogfQogCi12b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Np
bmdUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+KiB0aW1lcikKK3ZvaWQgV2ViU29j
a2V0Q2hhbm5lbDo6Y2xvc2luZ1RpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAgIExPRyhO
ZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBjbG9zaW5nVGltZXJGaXJlZCgpIiwgdGhpcyk7
CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJm1fY2xvc2luZ1RpbWVyID09IHRpbWVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oCmluZGV4IDcxNTk0NmNhZTYyYzI2NGIwNWEyYmI0MTA4YjQ4YWI3ZjgyNzYwM2IuLmU0ZmFj
MmI5YmM0ZDc1MzFkZjYwNGU5NmRmNjM2NWExYjZkODEwN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtMTI3LDkg
KzEyNyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBhcHBlbmRUb0J1ZmZlcihjb25zdCBjaGFyKiBk
YXRhLCBzaXplX3QgbGVuKTsKICAgICB2b2lkIHNraXBCdWZmZXIoc2l6ZV90IGxlbik7CiAgICAg
Ym9vbCBwcm9jZXNzQnVmZmVyKCk7Ci0gICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyPFdl
YlNvY2tldENoYW5uZWw+Kik7CisgICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyKik7CiAg
ICAgdm9pZCBzdGFydENsb3NpbmdIYW5kc2hha2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVh
c29uKTsKLSAgICB2b2lkIGNsb3NpbmdUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+
Kik7CisgICAgdm9pZCBjbG9zaW5nVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgYm9vbCBwcm9j
ZXNzRnJhbWUoKTsKIApAQCAtMTkwLDExICsxOTAsMTEgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
U29ja2V0U3RyZWFtSGFuZGxlPiBtX2hhbmRsZTsKICAgICBWZWN0b3I8Y2hhcj4gbV9idWZmZXI7
CiAKLSAgICBUaW1lcjxXZWJTb2NrZXRDaGFubmVsPiBtX3Jlc3VtZVRpbWVyOworICAgIFRpbWVy
IG1fcmVzdW1lVGltZXI7CiAgICAgYm9vbCBtX3N1c3BlbmRlZDsKICAgICBib29sIG1fY2xvc2lu
ZzsKICAgICBib29sIG1fcmVjZWl2ZWRDbG9zaW5nSGFuZHNoYWtlOwotICAgIFRpbWVyPFdlYlNv
Y2tldENoYW5uZWw+IG1fY2xvc2luZ1RpbWVyOworICAgIFRpbWVyIG1fY2xvc2luZ1RpbWVyOwog
ICAgIGJvb2wgbV9jbG9zZWQ7CiAgICAgYm9vbCBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGE7
CiAgICAgdW5zaWduZWQgbG9uZyBtX3VuaGFuZGxlZEJ1ZmZlcmVkQW1vdW50OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDI0NTJkNTkw
Nzc1YzE4Mjc5OGJjOWMxZWFiNDkzYWJiZjI3Njk5Zi4uZDhhZmIyNTdmYWI4Zjk5ODliNDE0ZjNh
OWE5MzQxNmVlOWQwNTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCkBAIC03MDAsNyArNzAwLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpj
aGlsZHJlbkNoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogICAgIG9iai0+Y2hpbGRy
ZW5DaGFuZ2VkKCk7CiB9CiAgICAgCi12b2lkIEFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBv
c3RUaW1lckZpcmVkKFRpbWVyPEFYT2JqZWN0Q2FjaGU+JikKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
bm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFJlZjxEb2N1bWVudD4g
cHJvdGVjdG9yRm9yQ2FjaGVPd25lcihtX2RvY3VtZW50KTsKICAgICBtX25vdGlmaWNhdGlvblBv
c3RUaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oCmluZGV4IDZmOGU2ODUyOTYxYzA2MTUyZmFiMDM4NmIwYzIzZTVmMTdmNDIzNmMuLmI0
YjVjMzdmNmExMmI1NWI2Y2RlNTY0ZmM5Y2JhZTZjZGIxMWY2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yNDIsOSArMjQyLDkgQEAgcHJp
dmF0ZToKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRzSW5Vc2U7CiAgICAgCi0gICAgVGlt
ZXI8QVhPYmplY3RDYWNoZT4gbV9ub3RpZmljYXRpb25Qb3N0VGltZXI7CisgICAgVGltZXIgbV9u
b3RpZmljYXRpb25Qb3N0VGltZXI7CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIEFYTm90aWZpY2F0aW9uPj4gbV9ub3RpZmljYXRpb25zVG9Qb3N0Owot
ICAgIHZvaWQgbm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoVGltZXI8QVhPYmplY3RDYWNoZT4m
KTsKKyAgICB2b2lkIG5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9p
ZCBoYW5kbGVNZW51T3BlbmVkKE5vZGUqKTsKICAgICB2b2lkIGhhbmRsZUxpdmVSZWdpb25DcmVh
dGVkKE5vZGUqKTsKICAgICB2b2lkIGhhbmRsZU1lbnVJdGVtU2VsZWN0ZWQoTm9kZSopOwpAQCAt
MjcxLDcgKzI3MSw3IEBAIGJvb2wgaXNOb2RlQXJpYVZpc2libGUoTm9kZSopOwogI2lmICFIQVZF
KEFDQ0VTU0lCSUxJVFkpCiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENv
bXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCkgY29uc3QgeyByZXR1
cm4gRGVmYXVsdEJlaGF2aW9yOyB9CiBpbmxpbmUgdm9pZCBBWENvbXB1dGVkT2JqZWN0QXR0cmli
dXRlQ2FjaGU6OnNldElnbm9yZWQoQVhJRCwgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbikg
eyB9Ci1pbmxpbmUgQVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZShEb2N1bWVudCYgZG9jdW1l
bnQpIDogbV9kb2N1bWVudChkb2N1bWVudCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRoaXMs
IChUaW1lcjxBWE9iamVjdENhY2hlPjo6VGltZXJGaXJlZEZ1bmN0aW9uKSBudWxscHRyKSB7IH0K
K2lubGluZSBBWE9iamVjdENhY2hlOjpBWE9iamVjdENhY2hlKERvY3VtZW50JiBkb2N1bWVudCkg
OiBtX2RvY3VtZW50KGRvY3VtZW50KSwgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIodGhpcywgKFRp
bWVyOjpUaW1lckZpcmVkRnVuY3Rpb24pIG51bGxwdHIpIHsgfQogaW5saW5lIEFYT2JqZWN0Q2Fj
aGU6On5BWE9iamVjdENhY2hlKCkgeyB9CiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhP
YmplY3RDYWNoZTo6Zm9jdXNlZFVJRWxlbWVudEZvclBhZ2UoY29uc3QgUGFnZSopIHsgcmV0dXJu
IG51bGxwdHI7IH0KIGlubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpn
ZXQoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gbnVsbHB0cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggZWI4YmMwYzE5Nzg5YTM4ODE4NmQ3NTY1
Y2UxYjVhYjk3MmVlY2QzYS4uYzY5MTU2Y2M0M2IwNDBiYzQ3YmY3ZGE1MDIzNzc0NmNmZjljYWEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03
Myw3ICs3Myw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdFNvb24oKQogfQog
CiAjaWYgIVVTRShDRikKLXZvaWQgR0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQoVGltZXI8R0ND
b250cm9sbGVyPiopCit2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBjb2xsZWN0KG51bGxwdHIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaAppbmRleCAxYzJkOTE0MWM5MGM2NDdhMDM3YjhjMGM0ZmRkOTAxZThlNDA2MTY1
Li5hMzcxNTEwYTRkMmRlYzAwNTkxODQwYzY5NWQ4NjNmNzM0Y2U2ZjU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtNTIsOCArNTIsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEdDQ29udHJvbGxlcigpOyAvLyBVc2UgZ2NDb250cm9sbGVy
KCkgaW5zdGVhZAogCiAjaWYgIVVTRShDRikKLSAgICAgICAgdm9pZCBnY1RpbWVyRmlyZWQoVGlt
ZXI8R0NDb250cm9sbGVyPiopOwotICAgICAgICBUaW1lcjxHQ0NvbnRyb2xsZXI+IG1fR0NUaW1l
cjsKKyAgICAgICAgdm9pZCBnY1RpbWVyRmlyZWQoVGltZXIqKTsKKyAgICAgICAgVGltZXIgbV9H
Q1RpbWVyOwogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3Vy
Y2UuaAppbmRleCA0ZTNkNDFlNjEzYTlkYzVhNDJkMTBkNGU0YWJmNDg1YjYyYjNiZTgwLi5lODBm
YzI5ZGI3MmU0MmU2ZWQ0ZDI0NDNiYmY5NTc0OGM5MjlkMDM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VTb3VyY2UuaApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
cHJpdmF0ZToKLSAgICB2b2lkIHN0YXJ0TG9hZGluZ1RpbWVyRmlyZWQoVGltZXI8Q1NTRm9udEZh
Y2VTb3VyY2U+Kik7CisgICAgdm9pZCBzdGFydExvYWRpbmdUaW1lckZpcmVkKFRpbWVyKik7CiAK
ICAgICBBdG9taWNTdHJpbmcgbV9zdHJpbmc7IC8vIFVSSSBmb3IgcmVtb3RlLCBidWlsdC1pbiBm
b250IG5hbWUgZm9yIGxvY2FsLgogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+
IG1fZm9udDsgLy8gRm9yIHJlbW90ZSBmb250cywgYSBwb2ludGVyIHRvIG91ciBjYWNoZWQgcmVz
b3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDM5MjVhZWUy
NGViYTFjM2Y3NWNjNTAwZTA1NDAwMjRmNDZiYzFjYjAuLjExNTA4ODllODcyMmMzOTUzYmZkOWFk
N2FkMGFjYWIzNDY4NGQ5M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC01ODcsNyArNTg3LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQqIGZvbnQpCiAgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9u
ZVNob3QoMCk7CiB9CiAKLXZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KFRpbWVyPFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcj4mKQordm9pZCBDU1NGb250U2VsZWN0b3I6
OmJlZ2luTG9hZFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFZlY3RvcjxDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRGb250Pj4gZm9udHNUb0JlZ2luTG9hZGluZzsKICAgICBmb250c1RvQmVn
aW5Mb2FkaW5nLnN3YXAobV9mb250c1RvQmVnaW5Mb2FkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250U2VsZWN0b3IuaAppbmRleCBlMWU1YTA1ZTA1NDhjYzdhMWY1NjViNzFjNWIyMWI2ZGEwODk0
OGY3Li4xOGJmMTg5NmI4MDNhNWEwZWJhM2VhZjhjZjA5Y2YzMmQzNTcwMWI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CiAKLSAgICB2b2lkIGJlZ2lu
TG9hZFRpbWVyRmlyZWQoVGltZXI8Q1NTRm9udFNlbGVjdG9yPiYpOworICAgIHZvaWQgYmVnaW5M
b2FkVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAg
SGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UmVmUHRyPENTU0ZvbnRGYWNl
Pj4+LCBDYXNlRm9sZGluZ0hhc2g+IG1fZm9udEZhY2VzOwpAQCAtOTUsNyArOTUsNyBAQCBwcml2
YXRlOgogICAgIEhhc2hTZXQ8Rm9udFNlbGVjdG9yQ2xpZW50Kj4gbV9jbGllbnRzOwogCiAgICAg
VmVjdG9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+PiBtX2ZvbnRzVG9CZWdpbkxv
YWRpbmc7Ci0gICAgVGltZXI8Q1NTRm9udFNlbGVjdG9yPiBtX2JlZ2luTG9hZGluZ1RpbWVyOwor
ICAgIFRpbWVyIG1fYmVnaW5Mb2FkaW5nVGltZXI7CiAKICAgICB1bnNpZ25lZCBtX3VuaXF1ZUlk
OwogICAgIHVuc2lnbmVkIG1fdmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cAppbmRleCBjMmFmNzFiZGYxMzI4MzM2ZGNjNzU1NGY3NDg1NDdmZWZhZDdjOWI1Li5mOWU5Mjc5
ODAxYjBmNGI5YWFhN2QxZTJiNjlmNGQ0NTc4MWM1Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgU3R5bGVSZXNvbHZlcjo6flN0eWxlUmVz
b2x2ZXIoKQogI2VuZGlmCiB9CiAKLXZvaWQgU3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJv
cGVydGllc0NhY2hlKFRpbWVyPFN0eWxlUmVzb2x2ZXI+KikKK3ZvaWQgU3R5bGVSZXNvbHZlcjo6
c3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKFRpbWVyKikKIHsKICAgICAvLyBMb29rIGZvciBj
YWNoZSBlbnRyaWVzIGNvbnRhaW5pbmcgYSBzdHlsZSBkZWNsYXJhdGlvbiB3aXRoIGEgc2luZ2xl
IHJlZiBhbmQgcmVtb3ZlIHRoZW0uCiAgICAgLy8gVGhpcyBtYXkgaGFwcGVuIHdoZW4gYW4gZWxl
bWVudCBhdHRyaWJ1dGUgbXV0YXRpb24gY2F1c2VzIGl0IHRvIGdlbmVyYXRlIGEgbmV3IGlubGlu
ZVN0eWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDBlYTEwMjNkMmU5NTI3
Y2UwZGY5NDNlYTY0MTQ2NWExMTI1ZTcyNDcuLmUzYmYzNjMwMzc5MGUxNjY0MzgzMTVmN2JjMGNm
YzNlNmM3OWEzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtNDk4LDcgKzQ5
OCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBFdmVyeSBOIGFkZGl0aW9ucyB0byB0aGUgbWF0Y2hl
ZCBkZWNsYXJhdGlvbiBjYWNoZSB0cmlnZ2VyIGEgc3dlZXAgd2hlcmUgZW50cmllcyBob2xkaW5n
CiAgICAgLy8gdGhlIGxhc3QgcmVmZXJlbmNlIHRvIGEgc3R5bGUgZGVjbGFyYXRpb24gYXJlIGdh
cmJhZ2UgY29sbGVjdGVkLgotICAgIHZvaWQgc3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKFRp
bWVyPFN0eWxlUmVzb2x2ZXI+Kik7CisgICAgdm9pZCBzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2Fj
aGUoVGltZXIqKTsKIAogICAgIGJvb2wgY2xhc3NOYW1lc0FmZmVjdGVkQnlSdWxlcyhjb25zdCBT
cGFjZVNwbGl0U3RyaW5nJikgY29uc3Q7CiAgICAgYm9vbCBzaGFyaW5nQ2FuZGlkYXRlSGFzSWRl
bnRpY2FsU3R5bGVBZmZlY3RpbmdBdHRyaWJ1dGVzKFN0eWxlZEVsZW1lbnQqKSBjb25zdDsKQEAg
LTUxMyw3ICs1MTMsNyBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwg
TWF0Y2hlZFByb3BlcnRpZXNDYWNoZUl0ZW0+IE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGU7CiAgICAg
TWF0Y2hlZFByb3BlcnRpZXNDYWNoZSBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGU7CiAKLSAgICBU
aW1lcjxTdHlsZVJlc29sdmVyPiBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyOwor
ICAgIFRpbWVyIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXI7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TWVkaWFRdWVyeUV2YWx1YXRvcj4gbV9tZWRpdW07CiAgICAgUmVmUHRyPFJl
bmRlclN0eWxlPiBtX3Jvb3REZWZhdWx0U3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCBmZmEwMjY2NDExMGY0MmI2YTVmZTUwMjVmN2Y2NDhkYTYwOGE5YzU4Li5kNzVmNzU1NTRhMzUy
NGQ3MDc5ODkwMjJlZjU1ZTU4Mzk2NjY4YTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTEyNjUsNyArMTI2NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KGJvb2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5mb3Jj
ZVBhZ2VUcmFuc2l0aW9uSWZOZWVkZWQoKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKQordm9pZCBEb2N1bWVu
dDo6dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgQVNT
RVJUKCFtX3Zpc3VhbFVwZGF0ZXNBbGxvd2VkKTsKIApAQCAtMTc0Niw3ICsxNzQ2LDcgQEAgYm9v
bCBEb2N1bWVudDo6aGFzUGVuZGluZ0ZvcmNlZFN0eWxlUmVjYWxjKCkgY29uc3QKICAgICByZXR1
cm4gbV9zdHlsZVJlY2FsY1RpbWVyLmlzQWN0aXZlKCkgJiYgbV9wZW5kaW5nU3R5bGVSZWNhbGNT
aG91bGRGb3JjZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6c3R5bGVSZWNhbGNUaW1lckZpcmVkKFRp
bWVyPERvY3VtZW50PiYpCit2b2lkIERvY3VtZW50OjpzdHlsZVJlY2FsY1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKIH0KQEAgLTMyNDUsNyArMzI0NSw3
IEBAIHZvaWQgRG9jdW1lbnQ6OmV2YWx1YXRlTWVkaWFRdWVyeUxpc3QoKQogICAgICAgICBtX21l
ZGlhUXVlcnlNYXRjaGVyLT5zdHlsZVJlc29sdmVyQ2hhbmdlZCgpOwogfQogCi12b2lkIERvY3Vt
ZW50OjpvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4m
KQordm9pZCBEb2N1bWVudDo6b3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHN0eWxlUmVzb2x2ZXJDaGFuZ2VkKFJlY2FsY1N0eWxlSWZOZWVkZWQpOwog
fQpAQCAtNDYzMCw3ICs0NjMwLDcgQEAgdm9pZCBEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkK
ICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhclByZWxvYWRzKCk7CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OnNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+
JikKK3ZvaWQgRG9jdW1lbnQ6OnNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXIm
KQogewogICAgIG1fc2hhcmVkT2JqZWN0UG9vbCA9IG51bGxwdHI7CiB9CkBAIC00ODY5LDcgKzQ4
NjksNyBAQCB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQogICAg
IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RvcCgpOwogfQogCi12b2lkIERvY3VtZW50
Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCit2b2lk
IERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBFbGVtZW50KiBlbGVtZW50ID0gZm9jdXNlZEVsZW1lbnQoKTsKICAgICBpZiAoIWVsZW1lbnQp
CkBAIC01MDI0LDcgKzUwMjQsNyBAQCB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhUYXNrIHRhc2sp
CiAgICAgfSk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGlt
ZXI8RG9jdW1lbnQ+JikKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIFZlY3RvcjxUYXNrPiBwZW5kaW5nVGFza3MgPSBXVEY6Om1vdmUobV9wZW5k
aW5nVGFza3MpOwogICAgIGZvciAoYXV0byYgdGFzayA6IHBlbmRpbmdUYXNrcykKQEAgLTU1NTks
NyArNTU1OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5SZW5kZXJlckRlc3Ryb3llZCgp
CiAgICAgbV9mdWxsU2NyZWVuUmVuZGVyZXIgPSBudWxscHRyOwogfQogCi12b2lkIERvY3VtZW50
OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCit2b2lk
IERvY3VtZW50OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICAvLyBTaW5jZSB3ZSBkaXNwYXRjaCBldmVudHMgaW4gdGhpcyBmdW5jdGlvbiwgaXQncyBwb3Nz
aWJsZSB0aGF0IHRoZQogICAgIC8vIGRvY3VtZW50IHdpbGwgYmUgZGV0YWNoZWQgYW5kIEdDJ2Qu
IFdlIHByb3RlY3QgaXQgaGVyZSB0byBtYWtlIHN1cmUgd2UKQEAgLTU2OTcsNyArNTY5Nyw3IEBA
IHZvaWQgRG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKQogICAgICAgICBt
X2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIERvY3VtZW50
Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+JikKK3ZvaWQgRG9jdW1l
bnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKGZyYW1lKCkp
CiAgICAgICAgIGZyYW1lKCktPmxvYWRlcigpLmNoZWNrQ29tcGxldGVkKCk7CkBAIC02MjEzLDcg
KzYyMTMsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mIHRpbWVyKQordm9pZCBEb2N1bWVudDo6ZGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJU
X1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVy
KTsKIApAQCAtNjI0MSw3ICs2MjQxLDcgQEAgdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNv
b2tpZUNhY2hlKCkKICAgICBtX2NhY2hlZERPTUNvb2tpZXMgPSBTdHJpbmcoKTsKIH0KIAotdm9p
ZCBEb2N1bWVudDo6ZG9tQ29va2llQ2FjaGVFeHBpcnlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50
PiYpCit2b2lkIERvY3VtZW50Ojpkb21Db29raWVDYWNoZUV4cGlyeVRpbWVyRmlyZWQoVGltZXIm
KQogewogICAgIGludmFsaWRhdGVET01Db29raWVDYWNoZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBjMDBlNTQ0MDA3ODJlMGM3MWFkZGJkODMzMDNiZWU1MDFmYmUwNmJhLi43MTlkNmNj
YzY1ZWViM2JhODBiODc1YTVjZjE0OTVkMDU4YzU0MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNzczLDggKzc3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuc2NoZWR1bGVTdHlsZVJlY2Fs
YygpOwogICAgIGJvb2wgaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNQZW5kaW5nRm9yY2VkU3R5bGVSZWNhbGMoKSBjb25zdDsKLSAgICB2b2lkIHN0eWxlUmVjYWxj
VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKLSAgICB2b2lkIG9wdGltaXplZFN0eWxlU2hl
ZXRVcGRhdGVUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQgc3R5bGVSZWNh
bGNUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRl
VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgdm9pZCByZWdpc3Rlck5vZGVMaXN0Rm9ySW52YWxp
ZGF0aW9uKExpdmVOb2RlTGlzdCYpOwogICAgIHZvaWQgdW5yZWdpc3Rlck5vZGVMaXN0Rm9ySW52
YWxpZGF0aW9uKExpdmVOb2RlTGlzdCYpOwpAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgcHVibGljOgog
ICAgIFJlbmRlckZ1bGxTY3JlZW4qIGZ1bGxTY3JlZW5SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZnVsbFNjcmVlblJlbmRlcmVyOyB9CiAgICAgdm9pZCBmdWxsU2NyZWVuUmVuZGVyZXJEZXN0
cm95ZWQoKTsKICAgICAKLSAgICB2b2lkIGZ1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyRmlyZWQo
VGltZXI8RG9jdW1lbnQ+Jik7CisgICAgdm9pZCBmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZp
cmVkKFRpbWVyJik7CiAgICAgYm9vbCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudChFbGVt
ZW50KikgY29uc3Q7CiAgICAgdm9pZCBmdWxsU2NyZWVuRWxlbWVudFJlbW92ZWQoKTsKICAgICB2
b2lkIHJlbW92ZUZ1bGxTY3JlZW5FbGVtZW50T2ZTdWJ0cmVlKE5vZGUqLCBib29sIGFtb25nQ2hp
bGRyZW5Pbmx5ID0gZmFsc2UpOwpAQCAtMTMzNywxNiArMTMzNywxNiBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgZG91YmxlIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZSBm
aW5hbDsKIAogICAgIHZvaWQgdXBkYXRlVGl0bGUoY29uc3QgU3RyaW5nV2l0aERpcmVjdGlvbiYp
OwotICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVu
dD4mKTsKKyAgICB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXImKTsK
ICAgICB2b2lkIHVwZGF0ZUJhc2VVUkwoKTsKIAogICAgIHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAo
VHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRlU3R5bGVSZXNvbHZlcigpOwogCi0g
ICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CisgICAg
dm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXImKTsKIAotICAgIHZvaWQgcGVuZGlu
Z1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKKyAgICB2b2lkIHBlbmRpbmdUYXNr
c1RpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgogICAgIHZvaWQgZGlzcGxheUJ1ZmZlck1vZGlmaWVkQnlFbmNvZGluZ0ludGVybmFsKENo
YXJhY3RlclR5cGUqLCB1bnNpZ25lZCkgY29uc3Q7CkBAIC0xMzY3LDE4ICsxMzY3LDE4IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKFJlYWR5U3RhdGUpOwog
ICAgIHZvaWQgc2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCk7Ci0gICAgdm9pZCB2aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQg
dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgdm9pZCBh
ZGRMaXN0ZW5lclR5cGUoTGlzdGVuZXJUeXBlIGxpc3RlbmVyVHlwZSkgeyBtX2xpc3RlbmVyVHlw
ZXMgfD0gbGlzdGVuZXJUeXBlOyB9CiAKLSAgICB2b2lkIGRpZEFzc29jaWF0ZUZvcm1Db250cm9s
c1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CisgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3Jt
Q29udHJvbHNUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICAvLyBET00gQ29va2llcyBjYWNoaW5n
LgogICAgIGNvbnN0IFN0cmluZyYgY2FjaGVkRE9NQ29va2llcygpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FjaGVkRE9NQ29va2llczsgfQogICAgIHZvaWQgc2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBT
dHJpbmcmKTsKICAgICBib29sIGlzRE9NQ29va2llQ2FjaGVWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5pc0FjdGl2ZSgpOyB9CiAgICAgdm9pZCBpbnZhbGlk
YXRlRE9NQ29va2llQ2FjaGUoKTsKLSAgICB2b2lkIGRvbUNvb2tpZUNhY2hlRXhwaXJ5VGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4mKTsKKyAgICB2b2lkIGRvbUNvb2tpZUNhY2hlRXhwaXJ5VGlt
ZXJGaXJlZChUaW1lciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRMb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpIG92ZXJyaWRlIGZpbmFsOwogCiAgICAgdW5z
aWduZWQgbV9yZWZlcmVuY2luZ05vZGVDb3VudDsKQEAgLTE0NjgsOCArMTQ2OCw4IEBAIHByaXZh
dGU6CiAgICAgUmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CiAgICAgYm9vbCBtX2JQYXJzaW5nOwog
Ci0gICAgVGltZXI8RG9jdW1lbnQ+IG1fb3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRpbWVyOwot
ICAgIFRpbWVyPERvY3VtZW50PiBtX3N0eWxlUmVjYWxjVGltZXI7CisgICAgVGltZXIgbV9vcHRp
bWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXI7CisgICAgVGltZXIgbV9zdHlsZVJlY2FsY1RpbWVy
OwogICAgIGJvb2wgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZTsKICAgICBib29sIG1f
aW5TdHlsZVJlY2FsYzsKICAgICBib29sIG1fY2xvc2VBZnRlclN0eWxlUmVjYWxjOwpAQCAtMTQ5
Miw3ICsxNDkyLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QVhPYmplY3RDYWNo
ZT4gbV9heE9iamVjdENhY2hlOwogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXI+IG1fbWFya2VyczsKICAgICAKLSAgICBUaW1lcjxEb2N1bWVudD4gbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZUZvY3VzQXBwZWFy
YW5jZVRpbWVyOwogCiAgICAgRWxlbWVudCogbV9jc3NUYXJnZXQ7CiAKQEAgLTE1OTEsNyArMTU5
MSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fZnVsbFNjcmVlbkVsZW1lbnQ7
CiAgICAgVmVjdG9yPFJlZlB0cjxFbGVtZW50Pj4gbV9mdWxsU2NyZWVuRWxlbWVudFN0YWNrOwog
ICAgIFJlbmRlckZ1bGxTY3JlZW4qIG1fZnVsbFNjcmVlblJlbmRlcmVyOwotICAgIFRpbWVyPERv
Y3VtZW50PiBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyOworICAgIFRpbWVyIG1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXI7CiAgICAgRGVxdWU8UmVmUHRyPE5vZGU+PiBtX2Z1bGxTY3Jl
ZW5DaGFuZ2VFdmVudFRhcmdldFF1ZXVlOwogICAgIERlcXVlPFJlZlB0cjxOb2RlPj4gbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlOwogICAgIGJvb2wgbV9pc0FuaW1hdGluZ0Z1bGxT
Y3JlZW47CkBAIC0xNjAwLDcgKzE2MDAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBpbnQg
bV9sb2FkRXZlbnREZWxheUNvdW50OwotICAgIFRpbWVyPERvY3VtZW50PiBtX2xvYWRFdmVudERl
bGF5VGltZXI7CisgICAgVGltZXIgbV9sb2FkRXZlbnREZWxheVRpbWVyOwogCiAgICAgVmlld3Bv
cnRBcmd1bWVudHMgbV92aWV3cG9ydEFyZ3VtZW50czsKIApAQCAtMTY1Niw3ICsxNjU2LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faXNUZWxlcGhvbmVOdW1iZXJQYXJzaW5nQWxsb3dlZDsKICNl
bmRpZgogCi0gICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVGlt
ZXIgbV9wZW5kaW5nVGFza3NUaW1lcjsKICAgICBWZWN0b3I8VGFzaz4gbV9wZW5kaW5nVGFza3M7
CiAKICNpZiBFTkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKQEAgLTE2NzksNyArMTY3OSw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3NjaGVkdWxlZFRhc2tzQXJlU3VzcGVuZGVkOwogICAgIAog
ICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZDsKLSAgICBUaW1lcjxEb2N1bWVudD4gbV92
aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lcjsKKyAgICBUaW1lciBtX3Zpc3VhbFVwZGF0ZXNT
dXBwcmVzc2lvblRpbWVyOwogCiAgICAgUmVmUHRyPE5hbWVkRmxvd0NvbGxlY3Rpb24+IG1fbmFt
ZWRGbG93czsKIApAQCAtMTY4Nyw4ICsxNjg3LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RE9N
U2VjdXJpdHlQb2xpY3k+IG1fZG9tU2VjdXJpdHlQb2xpY3k7CiAjZW5kaWYKIAotICAgIHZvaWQg
c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKLSAgICBU
aW1lcjxEb2N1bWVudD4gbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lcjsKKyAgICB2b2lkIHNo
YXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXImKTsKKyAgICBUaW1lciBtX3NoYXJl
ZE9iamVjdFBvb2xDbGVhclRpbWVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPERvY3VtZW50U2hh
cmVkT2JqZWN0UG9vbD4gbV9zaGFyZWRPYmplY3RQb29sOwogCkBAIC0xNzEyLDggKzE3MTIsOCBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OklucHV0Q3Vyc29yPiBtX2lucHV0Q3Vyc29yOwog
I2VuZGlmCiAKLSAgICBUaW1lcjxEb2N1bWVudD4gbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNU
aW1lcjsKLSAgICBUaW1lcjxEb2N1bWVudD4gbV9jb29raWVDYWNoZUV4cGlyeVRpbWVyOworICAg
IFRpbWVyIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXI7CisgICAgVGltZXIgbV9jb29r
aWVDYWNoZUV4cGlyeVRpbWVyOwogICAgIFN0cmluZyBtX2NhY2hlZERPTUNvb2tpZXM7CiAgICAg
SGFzaFNldDxSZWZQdHI8RWxlbWVudD4+IG1fYXNzb2NpYXRlZEZvcm1Db250cm9sczsKICAgICB1
bnNpZ25lZCBtX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRT
ZW5kZXIuaAppbmRleCAwNGZlMjU4ZjcyMmUyOGFkNGY2Y2UxYTNlNDZhODEzYjFjNGQ1MTI5Li41
NTAwMjFhYjE5ODZlMjAzNmZjZDQ0YzAyOWFjYzQzZmE4OWE3NzNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRTZW5kZXIuaApAQCAtNDksMTAgKzQ5LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRl
OgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxFdmVudFNlbmRlcjxUPj4mKSB7IGRpc3BhdGNo
UGVuZGluZ0V2ZW50cygpOyB9CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJikgeyBkaXNwYXRj
aFBlbmRpbmdFdmVudHMoKTsgfQogCiAgICAgQXRvbWljU3RyaW5nIG1fZXZlbnRUeXBlOwotICAg
IFRpbWVyPEV2ZW50U2VuZGVyPFQ+PiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAg
VmVjdG9yPFQqPiBtX2Rpc3BhdGNoU29vbkxpc3Q7CiAgICAgVmVjdG9yPFQqPiBtX2Rpc3BhdGNo
aW5nTGlzdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50
UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAppbmRl
eCBjZjY3ODFkNmFlM2Y5MzZjNGQzZGMyZGE4NzFhZTRhZGFlNjc2MWRlLi5iNzJmN2U3YTFjZTZl
ODMxYzYxZTM1OTUxMjVhZDFhMmJmZTEyYmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgYm9vbCBHZW5lcmljRXZlbnRRdWV1ZTo6
ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgIHJldHVybiB0cnVlOwog
fQogCi12b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyPEdlbmVyaWNFdmVu
dFF1ZXVlPiYpCit2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBBU1NFUlQoIW1fdGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKCFtX3BlbmRpbmdF
dmVudHMuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKaW5k
ZXggOWZjMjA2NmQzN2EyZTQyMzU0MDQ1ZTVjYmFkMzgxN2E5MGVlNTEyMC4uMzY1NTg5MDJhYjMw
ZWRlMjdjZmU5ZTRjMGY3ZDgzZmQ2ODgxN2VhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmgKQEAgLTQ4LDExICs0OCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNQZW5k
aW5nRXZlbnRzKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVy
PEdlbmVyaWNFdmVudFF1ZXVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAg
ICAgRXZlbnRUYXJnZXQmIG1fb3duZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fcGVu
ZGluZ0V2ZW50czsKLSAgICBUaW1lcjxHZW5lcmljRXZlbnRRdWV1ZT4gbV90aW1lcjsKKyAgICBU
aW1lciBtX3RpbWVyOwogICAgIGJvb2wgbV9pc0Nsb3NlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdFJ1bm5lci5jcHAKaW5kZXggOTk0ODk2MzZiZGU5NWI3Nzg0ZTg0YmQ1NTc4YjkzNTcxMTk0
OTg3NS4uMDk2ZTNjNTE3YzlmMGZmODBiYzRjNzhiYjI4MTkxMjkzMTQ1YjdhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBTY3JpcHRSdW5u
ZXI6Om5vdGlmeVNjcmlwdFJlYWR5KFNjcmlwdEVsZW1lbnQqIHNjcmlwdEVsZW1lbnQsIEV4ZWN1
dGlvblR5cGUKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBTY3JpcHRS
dW5uZXI6OnRpbWVyRmlyZWQoVGltZXI8U2NyaXB0UnVubmVyPiYgdGltZXIpCit2b2lkIFNjcmlw
dFJ1bm5lcjo6dGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0
aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oCmlu
ZGV4IGQ3ZTY5MmM5MDlmNzg2NDM1MjExYjg1NGVhOWE3YWUxNTgwMzIyMWUuLmUxM2RmOGUwN2Mz
MTFhNWFjN2EwM2U4ODg0OGJmNDE3ZGZiY2I1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVy
LmgKQEAgLTU0LDEzICs1NCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlTY3JpcHRSZWFk
eShTY3JpcHRFbGVtZW50KiwgRXhlY3V0aW9uVHlwZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyPFNjcmlwdFJ1bm5lcj4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGlt
ZXImKTsKIAogICAgIERvY3VtZW50JiBtX2RvY3VtZW50OwogICAgIFZlY3RvcjxQZW5kaW5nU2Ny
aXB0PiBtX3NjcmlwdHNUb0V4ZWN1dGVJbk9yZGVyOwogICAgIFZlY3RvcjxQZW5kaW5nU2NyaXB0
PiBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uOyAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNzZXQtb2Ytc2NyaXB0cy10aGF0LXdpbGwtZXhlY3V0ZS1h
cy1zb29uLWFzLXBvc3NpYmxlCiAgICAgSGFzaE1hcDxTY3JpcHRFbGVtZW50KiwgUGVuZGluZ1Nj
cmlwdD4gbV9wZW5kaW5nQXN5bmNTY3JpcHRzOwotICAgIFRpbWVyPFNjcmlwdFJ1bm5lcj4gbV90
aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA2MjZiZDRmYmJlMGNh
OGFlYzJmOGZkNDQzYWExMTJkODk4MTI5YTUwLi43ODU2MmU3MGNiMTA3OTM4MWFjZTBmODVhZDdj
YmIxOWU3Mzg1MmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcApAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigpCiB9CiAKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cjo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+
JikKK3ZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjphbmltYXRpb25UaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX2xhc3RBbmltYXRpb25GcmFtZVRpbWVNb25vdG9uaWMgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25z
KG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZU1vbm90b25pYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKaW5kZXggNzMyOTZlOTg2NTVkODg4
ZTgzMWJlZDU4OTc5MTZiYjIwZDcxNzIxYS4uMDAyYzcxZWZiZGZiYTM0MDI3N2NiNjIxY2E3MTY0
YjZkZDYwOGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuaApAQCAtODQsOCArODQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1
bGVBbmltYXRpb24oKTsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikK
LSAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8U2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyPiYpOwotICAgIFRpbWVyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gbV9hbmlt
YXRpb25UaW1lcjsKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXImKTsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogICAgIGRvdWJsZSBtX2xhc3RBbmltYXRpb25GcmFtZVRp
bWVNb25vdG9uaWM7CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGQ2ODExMDZjOTc3
YjVlOTEzMDA1ODMxZmRiNGE4NjgxNWUzN2U2NDAuLjNhMjQ2YjQyNmMwNGY4ODc3MWQ2OWU0YThl
Yjc5M2VhMjAyNDdkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTk5
LDcgKzk5LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1QcmVzZW50
YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmluZyA9IDEwMDsKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJN
aW51dGUgPSAoMTAwICogcHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWVJblNlY29u
ZHMpIC8gNjA7CiAKLSAgICB2b2lkIGNsZWFuQ2FjaGUoVGltZXI8UHJlc2VudGF0aW9uQXR0cmli
dXRlQ2FjaGVDbGVhbmVyPiogdGltZXIpCisgICAgdm9pZCBjbGVhbkNhY2hlKFRpbWVyKiB0aW1l
cikKICAgICB7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2NsZWFu
VGltZXIpOwogICAgICAgICB1bnNpZ25lZCBoaXRDb3VudCA9IG1faGl0Q291bnQ7CkBAIC0xMTAs
NyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB1bnNpZ25lZCBtX2hpdENvdW50Owot
ICAgIFRpbWVyPFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcj4gbV9jbGVhblRpbWVy
OworICAgIFRpbWVyIG1fY2xlYW5UaW1lcjsKIH07CiAKIHN0YXRpYyBQcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuZXImIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmNwcAppbmRleCAxYTZlNTRlNmM0Y2Q4NzdjZWJiMzlmMTMwMzc5YzJlZjIxMTFiNjIwLi45NzM2
MTNkNGFmNTZjMzI3NWRlYmIyNTZmZTBmMzJlN2NhNDA3NzI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTMyNyw3
ICszMjcsNyBAQCB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnJlc3BvbmRUb1VuYXBw
bGllZFNwZWxsQ29ycmVjdGlvbihjb25zdCBWaXNpYmxlUwogICAgIG1hcmtlcnMuYWRkTWFya2Vy
KHJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbik7CiB9
CiAKLXZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxBbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyPiYpCit2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6
OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1faXNEaXNtaXNzZWRCeUVkaXRpbmcgPSBmYWxz
ZTsKICAgICBzd2l0Y2ggKG1fYWx0ZXJuYXRpdmVUZXh0SW5mby50eXBlKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCmluZGV4IGU4
NDYzYWIwYzY2YzhiZmYyZTQwNGFiMGI2MjAyYTFjYjZkOGVhNTYuLmYxMmY4MWE4MDdiODM2ZTg3
YjMyODMyMmM5NmZjNWQzNWRmMzA2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCkBAIC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0
ZToKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpCiAgICAgU3RyaW5nIGRpc21pc3NTb29u
KFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQpOwogICAgIHZvaWQgYXBwbHlBbHRl
cm5hdGl2ZVRleHRUb1JhbmdlKGNvbnN0IFJhbmdlKiwgY29uc3QgU3RyaW5nJiBhbHRlcm5hdGl2
ZSwgQWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgVmVjdG9yPERvY3VtZW50TWFya2VyOjpNYXJr
ZXJUeXBlPiYpOwotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxBbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgcmVjb3Jk
QXV0b2NvcnJlY3Rpb25SZXNwb25zZVJldmVyc2VkKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcpOwogICAgIHZvaWQgcmVjb3JkU3Bl
bGxjaGVja2VyUmVzcG9uc2VGb3JNb2RpZmllZENvcnJlY3Rpb24oUmFuZ2UqIHJhbmdlT2ZDb3Jy
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIGNvcnJlY3RlZCwgY29uc3QgU3RyaW5nJiBjb3JyZWN0aW9u
KTsKICAgICBTdHJpbmcgbWFya2VyRGVzY3JpcHRpb25Gb3JBcHBsaWVkQWx0ZXJuYXRpdmVUZXh0
KEFsdGVybmF0aXZlVGV4dFR5cGUsIERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlKTsKQEAgLTE1
Myw3ICsxNTMsNyBAQCBwcml2YXRlOgogICAgIEZsb2F0UmVjdCByb290Vmlld1JlY3RGb3JSYW5n
ZShjb25zdCBSYW5nZSopIGNvbnN0OwogICAgIHZvaWQgbWFya1ByZWNlZGluZ1doaXRlc3BhY2VG
b3JEZWxldGVkQXV0b2NvcnJlY3Rpb25BZnRlckNvbW1hbmQoRWRpdENvbW1hbmQqKTsKIAotICAg
IFRpbWVyPEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI+IG1fdGltZXI7CisgICAgVGltZXIgbV90
aW1lcjsKICAgICBBbHRlcm5hdGl2ZVRleHRJbmZvIG1fYWx0ZXJuYXRpdmVUZXh0SW5mbzsKICAg
ICBib29sIG1faXNEaXNtaXNzZWRCeUVkaXRpbmc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cAppbmRleCA0MGY3MzNiOWVlNGYyMDdmMWQwNDdmNDI0NTBiYjZhNTVjYTJiOWY2Li43NGY5MzUx
ZTAwZDBmNmNkMDBjMWIzYzA5NWMwYThlN2ZkN2VhNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCkBAIC0zMzM4LDcgKzMzMzgsNyBAQCBib29sIEVkaXRvcjo6c2hvdWxkRGV0ZWN0VGVs
ZXBob25lTnVtYmVycygpCiAgICAgcmV0dXJuIGRvY3VtZW50KCkuaXNUZWxlcGhvbmVOdW1iZXJQ
YXJzaW5nRW5hYmxlZCgpICYmIFRlbGVwaG9uZU51bWJlckRldGVjdG9yOjppc1N1cHBvcnRlZCgp
OwogfQogCi12b2lkIEVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGlt
ZXI8RWRpdG9yPiYpCit2b2lkIEVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJl
cnMoVGltZXImKQogewogICAgIHNjYW5TZWxlY3Rpb25Gb3JUZWxlcGhvbmVOdW1iZXJzKCk7CiB9
CkBAIC0zNDQ1LDcgKzM0NDUsNyBAQCB2b2lkIEVkaXRvcjo6dXBkYXRlRWRpdG9yVUlOb3dJZlNj
aGVkdWxlZCgpCiAgICAgZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKG1fZWRpdG9yVUlVcGRhdGVU
aW1lcik7CiB9CiAKLXZvaWQgRWRpdG9yOjplZGl0b3JVSVVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8
RWRpdG9yPiYpCit2b2lkIEVkaXRvcjo6ZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKFRpbWVyJikK
IHsKICAgICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1fb2xkU2VsZWN0aW9uRm9y
RWRpdG9yVUlVcGRhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IDliMTQ0YjE5NTg3
YWRlZjk5MzNjOWYxMjRiY2ZhOTc2MDgzYmU0NzUuLmRhMjUxODMyMmMxNDg1ZmFkYzVkYzYwOTU2
NDNjNzg5NDUzN2JlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNDgxLDcgKzQ4MSw3
IEBAIHByaXZhdGU6CiAgICAgZW51bSBFZGl0b3JBY3Rpb25TcGVjaWZpZXIgeyBDdXRBY3Rpb24s
IENvcHlBY3Rpb24gfTsKICAgICB2b2lkIHBlcmZvcm1DdXRPckNvcHkoRWRpdG9yQWN0aW9uU3Bl
Y2lmaWVyKTsKIAotICAgIHZvaWQgZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEVkaXRv
cj4mKTsKKyAgICB2b2lkIGVkaXRvclVJVXBkYXRlVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Tm9kZSogZmluZEV2ZW50VGFyZ2V0RnJvbVNlbGVjdGlvbigpIGNvbnN0OwogCkBAIC01MTYsMTYg
KzUxNiwxNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9vdmVyd3JpdGVNb2RlRW5hYmxlZDsKIAog
ICAgIFZpc2libGVTZWxlY3Rpb24gbV9vbGRTZWxlY3Rpb25Gb3JFZGl0b3JVSVVwZGF0ZTsKLSAg
ICBUaW1lcjxFZGl0b3I+IG1fZWRpdG9yVUlVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX2VkaXRv
clVJVXBkYXRlVGltZXI7CiAgICAgYm9vbCBtX2VkaXRvclVJVXBkYXRlVGltZXJTaG91bGRDaGVj
a1NwZWxsaW5nQW5kR3JhbW1hcjsKICAgICBib29sIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1Ry
aWdnZXJlZEJ5RGljdGF0aW9uOwogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAmJiAhUExBVEZPUk0oSU9TKQogICAgIGJvb2wgc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVt
YmVycygpOwotICAgIHZvaWQgc2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGltZXI8
RWRpdG9yPiYpOworICAgIHZvaWQgc2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGlt
ZXImKTsKICAgICB2b2lkIHNjYW5SYW5nZUZvclRlbGVwaG9uZU51bWJlcnMoUmFuZ2UmLCBjb25z
dCBTdHJpbmdWaWV3JiwgVmVjdG9yPFJlZlB0cjxSYW5nZT4+JiBtYXJrZWRSYW5nZXMpOwogCi0g
ICAgVGltZXI8RWRpdG9yPiBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyOwor
ICAgIFRpbWVyIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXI7CiAgICAgVmVj
dG9yPFJlZlB0cjxSYW5nZT4+IG1fZGV0ZWN0ZWRUZWxlcGhvbmVOdW1iZXJSYW5nZXM7CiAjZW5k
aWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDEz
MjIzZGQ3NTFjZjdmNTgzMTlkNjIyNjdjY2I3MmM1ZDFhNjU1ODkuLmRmNGI4NDMxNDZhZTRhZjBl
MTY1Yjg0ODcxYmFjNmJkODUwNDUxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCkBAIC0xOTAxLDcgKzE5MDEsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRDYXJldFZpc2liaWxpdHkoQ2FyZXRWaXNpYmlsaXR5IHZpc2liaWxpdHkpCiAgICAgdXBkYXRl
QXBwZWFyYW5jZSgpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpjYXJldEJsaW5rVGltZXJG
aXJlZChUaW1lcjxGcmFtZVNlbGVjdGlvbj4mKQordm9pZCBGcmFtZVNlbGVjdGlvbjo6Y2FyZXRC
bGlua1RpbWVyRmlyZWQoVGltZXImKQogewogI2lmIEVOQUJMRShURVhUX0NBUkVUKQogICAgIEFT
U0VSVChjYXJldElzVmlzaWJsZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uaAppbmRleCAzNjA2MDEyYzUzYTgxNDQ3YzI2ZDhjOGI3Yzg2MjMyYTk3YWM4ZDIxLi5hOWRj
OTJjM2UxNzIzMjE1MGJhMTE0OWVjZWE0NDMzOGFmNzU4ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0zMDksNyArMzA5LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNldEZvY3VzZWRFbGVtZW50SWZOZWVkZWQoKTsKICAgICB2b2lkIGZvY3VzZWRPckFjdGl2
ZVN0YXRlQ2hhbmdlZCgpOwogCi0gICAgdm9pZCBjYXJldEJsaW5rVGltZXJGaXJlZChUaW1lcjxG
cmFtZVNlbGVjdGlvbj4mKTsKKyAgICB2b2lkIGNhcmV0QmxpbmtUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICB2b2lkIHNldENhcmV0VmlzaWJpbGl0eShDYXJldFZpc2liaWxpdHkpOwogICAgIGJv
b2wgcmVjb21wdXRlQ2FyZXRSZWN0KCk7CkBAIC0zMjksNyArMzI5LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxFZGl0aW5nU3R5bGU+IG1fdHlwaW5nU3R5bGU7CiAKLSAgICBUaW1lcjxGcmFt
ZVNlbGVjdGlvbj4gbV9jYXJldEJsaW5rVGltZXI7CisgICAgVGltZXIgbV9jYXJldEJsaW5rVGlt
ZXI7CiAgICAgLy8gVGhlIHBhaW50ZWQgYm91bmRzIG9mIHRoZSBjYXJldCBpbiBhYnNvbHV0ZSBj
b29yZGluYXRlcwogICAgIEludFJlY3QgbV9hYnNDYXJldEJvdW5kczsKICAgICBib29sIG1fYWJz
Q2FyZXRCb3VuZHNEaXJ0eSA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5j
cHAKaW5kZXggMDdhMjNhZjA0YTM5MGY5YjAwZmI1Y2M1NDUxOWYzMDVmMTUyZTEwZi4uYWU4MzIx
MjEzOTc2NzA2NmUwMWIyOWNmMDU5ZDg5NGY2NmUyNmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIFRleHRDaGVja2VyQ2xpZW50
KiBTcGVsbENoZWNrZXI6OmNsaWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2UtPmVkaXRvckNs
aWVudCgpLT50ZXh0Q2hlY2tlcigpOwogfQogCi12b2lkIFNwZWxsQ2hlY2tlcjo6dGltZXJGaXJl
ZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXI8U3BlbGxDaGVja2VyPiopCit2b2lkIFNwZWxs
Q2hlY2tlcjo6dGltZXJGaXJlZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXIqKQogewogICAg
IEFTU0VSVCghbV9yZXF1ZXN0UXVldWUuaXNFbXB0eSgpKTsKICAgICBpZiAobV9yZXF1ZXN0UXVl
dWUuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENo
ZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggOWNh
MzUwODNmM2U3M2E3MDFhY2M2ZTc2OWEzYmU2YzE3YTVjMDg5YS4uMDA4ZTMyOGY2NDQ4MDIwZTJi
NjlkZTZhYmQ0ODIwNzc4Y2VlYmYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGNhbkNoZWNrQXN5bmNo
cm9ub3VzbHkoUmFuZ2UqKSBjb25zdDsKICAgICBUZXh0Q2hlY2tlckNsaWVudCogY2xpZW50KCkg
Y29uc3Q7Ci0gICAgdm9pZCB0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdChUaW1lcjxT
cGVsbENoZWNrZXI+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dChUaW1lciopOwogICAgIHZvaWQgaW52b2tlUmVxdWVzdChQYXNzUmVmUHRyPFNwZWxsQ2hlY2tS
ZXF1ZXN0Pik7CiAgICAgdm9pZCBlbnF1ZXVlUmVxdWVzdChQYXNzUmVmUHRyPFNwZWxsQ2hlY2tS
ZXF1ZXN0Pik7CiAgICAgdm9pZCBkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBW
ZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYpOwpAQCAtMTA5LDcgKzEwOSw3IEBAIHByaXZhdGU6
CiAgICAgaW50IG1fbGFzdFJlcXVlc3RTZXF1ZW5jZTsKICAgICBpbnQgbV9sYXN0UHJvY2Vzc2Vk
U2VxdWVuY2U7CiAKLSAgICBUaW1lcjxTcGVsbENoZWNrZXI+IG1fdGltZXJUb1Byb2Nlc3NRdWV1
ZWRSZXF1ZXN0OworICAgIFRpbWVyIG1fdGltZXJUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0OwogCiAg
ICAgUmVmUHRyPFNwZWxsQ2hlY2tSZXF1ZXN0PiBtX3Byb2Nlc3NpbmdSZXF1ZXN0OwogICAgIFJl
cXVlc3RRdWV1ZSBtX3JlcXVlc3RRdWV1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcAppbmRleCBhYzkwYjM2Mjg3MjQ2YmY2ZTZhMjMyZjQxZGViMTBhZjE5NWNiMzM1Li45
MjYwMDc2N2ZhMjBlMTEyNDFhMTM4YzRmNzI4NmQ5ODc3Yzc1ZTBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBIVE1MRm9y
bUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJl
c3VsdCkKICAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmly
ZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopCit2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIFZlY3RvcjxSZWZQdHI8RXZl
bnQ+PiBwZW5kaW5nRXZlbnRzOwogICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5zd2Fw
KHBlbmRpbmdFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXgg
ZmMzZGI5ZDk0OGQyYWQ0YjA0NzFmNmRiYTM1YmY0NDZjNDcwMTk3Zi4uYjRkNjg2NjQ4ZmZjNGNk
N2IzN2ZkZGFlY2JiZmNmMmU3NDc5ZWEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5oCkBAIC0xOTQsMTAgKzE5NCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNEZW1v
dGVkOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIHZvaWQgcmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopOworICAgIHZv
aWQgcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIFZlY3RvcjxS
ZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHM7Ci0gICAgVGltZXI8SFRN
TEZvcm1FbGVtZW50PiBtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lcjsKKyAgICBUaW1lciBtX3Jl
cXVlc3RBdXRvY29tcGxldGVUaW1lcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggM2IxMGU0M2UwNjE3YmJiODMxM2UwZTEzODIzNmE0
NWY0ZmE5YjZiOC4uN2YzMmM4MTg3NjFiODFlNDkwNmRmNDFlYWQwZTk2YTI4ODg4MDJiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03NTcsNyArNzU3LDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnROYW1lKQogICAgIG1fYXN5bmNFdmVudFF1ZXVlLmVucXVldWVFdmVudChldmVudC5y
ZWxlYXNlKCkpOwogfQogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKFRp
bWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFRpbWVy
RmlyZWQoVGltZXImKQogewogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBwcm90ZWN0KCp0aGlz
KTsgLy8gbG9hZE5leHRTb3VyY2VDaGlsZCBtYXkgZmlyZSAnYmVmb3JlbG9hZCcsIHdoaWNoIGNh
biBtYWtlIGFyYml0cmFyeSBET00gbXV0YXRpb25zLgogCkBAIC0yMjI1LDcgKzIyMjUsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpYUtleXMqIG1lZGlhS2V5cykK
IH0KICNlbmRpZgogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZp
cmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJv
Z3Jlc3NFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIEFTU0VSVChtX3BsYXllcik7CiAg
ICAgaWYgKG1fbmV0d29ya1N0YXRlICE9IE5FVFdPUktfTE9BRElORykKQEAgLTIzNjgsNyArMjM2
OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVk
aWFUaW1lJiBpblRpbWUsIGNvbnN0IE1lZGlhVGltCiAgICAgICAgIHNlZWtUaW1lckZpcmVkKG1f
c2Vla1RpbWVyKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrVGltZXJGaXJlZChU
aW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWtUaW1l
ckZpcmVkKFRpbWVyJikKIHsKICAgICBpZiAoIW1fcGxheWVyKSB7CiAgICAgICAgIG1fc2Vla2lu
ZyA9IGZhbHNlOwpAQCAtMzExMiw3ICszMTEyLDcgQEAgZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6
Om5leHRTY2FuUmF0ZSgpCiAgICAgcmV0dXJuIHJhdGU7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2NhblRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKQordm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fc2NhblR5
cGUgPT0gU2VlaykgewogICAgICAgICBkb3VibGUgc2Vla1RpbWUgPSBtX3NjYW5EaXJlY3Rpb24g
PT0gRm9yd2FyZCA/IFNlZWtUaW1lIDogLVNlZWtUaW1lOwpAQCAtMzEzNCw3ICszMTM0LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXliYWNrUHJvZ3Jlc3NUaW1lcigpCiAgICAg
bV9wbGF5YmFja1Byb2dyZXNzVGltZXIuc3RhcnRSZXBlYXRpbmcobWF4VGltZXVwZGF0ZUV2ZW50
RnJlcXVlbmN5KTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5YmFja1Byb2dyZXNz
VGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpCit2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBBU1NFUlQobV9w
bGF5ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDA4NmMz
NTkwNDI1ZjJmYWIzMjgzY2Y5NTZlODE4Zjk4MTgzNmEyMWUuLjExNmZkZjJmMGM0MzBjNTE1M2Rl
M2QzMmNhMWU0YzU5ZTk5MWQ5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCkBAIC01OTEsMTEgKzU5MSwxMSBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIG1l
ZGlhUGxheWVySXNJbk1lZGlhRG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKIAotICAg
IHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKLSAgICB2b2lk
IHByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7Ci0gICAg
dm9pZCBwbGF5YmFja1Byb2dyZXNzVGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiYp
OwotICAgIHZvaWQgc2NhblRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKLSAg
ICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7CisgICAgdm9p
ZCBsb2FkVGltZXJGaXJlZChUaW1lciYpOworICAgIHZvaWQgcHJvZ3Jlc3NFdmVudFRpbWVyRmly
ZWQoVGltZXImKTsKKyAgICB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyJik7
CisgICAgdm9pZCBzY2FuVGltZXJGaXJlZChUaW1lciYpOworICAgIHZvaWQgc2Vla1RpbWVyRmly
ZWQoVGltZXImKTsKICAgICB2b2lkIHN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCk7CiAgICAg
dm9pZCBzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFBlcmlvZGljVGlt
ZXJzKCk7CkBAIC03MjIsMTEgKzcyMiwxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1cGRhdGVD
YXB0aW9uQ29udGFpbmVyKCk7CiAKLSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX2xvYWRU
aW1lcjsKLSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3Byb2dyZXNzRXZlbnRUaW1lcjsK
LSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsKLSAg
ICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3NjYW5UaW1lcjsKLSAgICBUaW1lcjxIVE1MTWVk
aWFFbGVtZW50PiBtX3NlZWtUaW1lcjsKKyAgICBUaW1lciBtX2xvYWRUaW1lcjsKKyAgICBUaW1l
ciBtX3Byb2dyZXNzRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1l
cjsKKyAgICBUaW1lciBtX3NjYW5UaW1lcjsKKyAgICBUaW1lciBtX3NlZWtUaW1lcjsKICAgICBS
ZWZQdHI8VGltZVJhbmdlcz4gbV9wbGF5ZWRUaW1lUmFuZ2VzOwogICAgIEdlbmVyaWNFdmVudFF1
ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IDJkMTdlN2I5ODIyODQ5NGJkOWNiOTk1M2YwZGNiZWRiYjllYTUzOGIu
LjUyNDBlOWYzMjY3YWY0MTk2MDNmZTk0MmFmMTlhMTE2NTFhY2UyNzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0zMDAsNyArMzAwLDcgQEAgUmVuZGVy
UHRyPFJlbmRlckVsZW1lbnQ+IEhUTUxQbHVnSW5FbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVy
ZXIoUGFzc1JlZjxSZW5kZXIKICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyRW1iZWRk
ZWRPYmplY3Q+KCp0aGlzLCBXVEY6Om1vdmUoc3R5bGUpKTsKIH0KIAotdm9pZCBIVE1MUGx1Z0lu
RWxlbWVudDo6c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0luRWxlbWVudD4m
KQordm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lciYp
CiB7CiAgICAgQVNTRVJUKGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50IHx8IGRpc3BsYXlTdGF0ZSgpID09IERpc3BsYXlpbmdTbmFwc2hvdCk7CiAgICAgaWYgKHVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aAppbmRleCBmOGJjN2Y5YzYzMDY2YTM0Y2JkNWI0OTY4YzkxNmZiNjI0NWY2NjU3Li5kN2UzNjc1
NzRmNDE0NDJhNTEzMWUyODg4MTlhMDMwZTFlYmVkMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luRWxlbWVudC5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJvdGVjdGVkOgogICAgIGJv
b2wgbV9pbkJlZm9yZUxvYWRFdmVudEhhbmRsZXI7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzd2Fw
UmVuZGVyZXJUaW1lckZpcmVkKFRpbWVyPEhUTUxQbHVnSW5FbGVtZW50PiYpOworICAgIHZvaWQg
c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lciYpOwogICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVQ
bHVnaW4oY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAg
Ym9vbCBkaXNwYXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7IC8v
IE5vdCBpbXBsZW1lbnRlZCwgZ2VuZXJhdGVzIGEgY29tcGlsZSBlcnJvciBpZiBzdWJjbGFzc2Vz
IGNhbGwgdGhpcyBieSBtaXN0YWtlLgpAQCAtMTI2LDcgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzUGx1Z2luRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiAg
ICAgUmVmUHRyPEpTQzo6QmluZGluZ3M6Okluc3RhbmNlPiBtX2luc3RhbmNlOwotICAgIFRpbWVy
PEhUTUxQbHVnSW5FbGVtZW50PiBtX3N3YXBSZW5kZXJlclRpbWVyOworICAgIFRpbWVyIG1fc3dh
cFJlbmRlcmVyVGltZXI7CiAgICAgUmVmUHRyPFBsdWdpblJlcGxhY2VtZW50PiBtX3BsdWdpblJl
cGxhY2VtZW50OwogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIE5QT2JqZWN0
KiBtX05QT2JqZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxl
bWVudC5jcHAKaW5kZXggYjYwMDg1ZGY5ZTUyMmRlZjIzMWU5Y2NjYjA5NTZlYWU2YTQ3Mjc0Ny4u
NjcyMDg4NTU5NDgwMzU5ODFhYmJlODYwOGQ4YjkxYTVmZjIzNGMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zOTksNyArMzk5LDcg
QEAgYm9vbCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpwYXJ0T2ZTbmFwc2hvdE92ZXJsYXkoTm9k
ZSogbm9kZSkKICAgICByZXR1cm4gbm9kZSAmJiBzbmFwc2hvdExhYmVsICYmIChub2RlID09IHNu
YXBzaG90TGFiZWwuZ2V0KCkgfHwgbm9kZS0+aXNEZXNjZW5kYW50T2Yoc25hcHNob3RMYWJlbC5n
ZXQoKSkpOwogfQogCi12b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90
VGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiYpCit2b2lkIEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
bV9zbmFwc2hvdEltYWdlID0gbnVsbHB0cjsKICAgICBtX2lzUmVzdGFydGVkUGx1Z2luID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCmluZGV4
IDNlZWY0YzYwYmQzODU1ZmQ0NTg1OWZlOTQzNWQzMTk0ODZhYmVlNjEuLmYxN2VmNmU4OGVkMDA1
NGI1YWUyZTc1ZWFjMTU0MDI0MzhhZWU4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkltYWdlRWxlbWVudC5oCkBAIC0xMzYsNyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkKCk7CiAKICAgICB2b2lkIHJlc3RhcnRT
aW1pbGFyUGx1Z0lucygpOwotICAgIHZvaWQgcmVtb3ZlU25hcHNob3RUaW1lckZpcmVkKFRpbWVy
PEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+Jik7CisgICAgdm9pZCByZW1vdmVTbmFwc2hvdFRpbWVy
RmlyZWQoVGltZXImKTsKICAgICBib29sIGlzVG9wTGV2ZWxGdWxsUGFnZVBsdWdpbihjb25zdCBS
ZW5kZXJFbWJlZGRlZE9iamVjdCYpIGNvbnN0OwogCiAgICAgVVJMIG1fbG9hZGVkVXJsOwpAQCAt
MTQ1LDcgKzE0NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRzRG9jdW1lbnRBY3RpdmF0
aW9uQ2FsbGJhY2tzOwogICAgIFJlZlB0cjxNb3VzZUV2ZW50PiBtX3BlbmRpbmdDbGlja0V2ZW50
RnJvbVNuYXBzaG90OwogICAgIERlZmVycmFibGVPbmVTaG90VGltZXIgbV9zaW11bGF0ZWRNb3Vz
ZUNsaWNrVGltZXI7Ci0gICAgVGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVudD4gbV9yZW1vdmVT
bmFwc2hvdFRpbWVyOworICAgIFRpbWVyIG1fcmVtb3ZlU25hcHNob3RUaW1lcjsKICAgICBSZWZQ
dHI8SW1hZ2U+IG1fc25hcHNob3RJbWFnZTsKICAgICBib29sIG1fY3JlYXRlZER1cmluZ1VzZXJH
ZXN0dXJlOwogICAgIGJvb2wgbV9pc1Jlc3RhcnRlZFBsdWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggYTQ4OGFlODg1M2Q2YjMwNDhhODYwMDE4MTcw
MWNmNzVjNTQ1YmU0Mi4uZmQxOTYzOTkyNzBmZDZiMWFmZmE4NDQ5NzhjYTgyY2UxNmU2MmM3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTExMCw3ICsx
MTAsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5kaW5nRXJyb3JFdmVudCgp
CiAgICAgbV9lcnJvckV2ZW50VGltZXIuc3RvcCgpOwogfQogCi12b2lkIEhUTUxTb3VyY2VFbGVt
ZW50OjplcnJvckV2ZW50VGltZXJGaXJlZChUaW1lcjxIVE1MU291cmNlRWxlbWVudD4mKQordm9p
ZCBIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IExPRyhNZWRpYSwgIkhUTUxTb3VyY2VFbGVtZW50OjplcnJvckV2ZW50VGltZXJGaXJlZCAtICVw
IiwgdGhpcyk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxl
bWVudC5oCmluZGV4IDUyMmQ3NDM2ODJkZGE5NmZjOTc3ZDYxMTk5Y2M3MWY1NDM5YzlmNGEuLjEx
YzU1YTBmODk0ZDgwZmQxMjEwMGRjYTAwOGI5OTI2YmZjZDhkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTUyLDkgKzUyLDkgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXI8SFRNTFNvdXJjZUVsZW1l
bnQ+Jik7CisgICAgdm9pZCBlcnJvckV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgVGlt
ZXI8SFRNTFNvdXJjZUVsZW1lbnQ+IG1fZXJyb3JFdmVudFRpbWVyOworICAgIFRpbWVyIG1fZXJy
b3JFdmVudFRpbWVyOwogfTsKIAogfSAvL25hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAKaW5kZXggMmM2ZTk3YmE3NmNmNjJkMTA1Y2ZlOThkOTQ3ODk2MTdj
ZDZmMzBmMC4uNzQ5MTM4OGFhYmJmOTU0MjZlYWExYjMzYmYxNDFlNzQ1NDgyNDZhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0yMDAsNyArMjAwLDcgQEAg
dm9pZCBIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQoKQogICAgIG1fbG9hZFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJl
ZChUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiYpCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRU
aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBpZiAoIWZhc3RIYXNBdHRyaWJ1dGUoc3JjQXR0cikp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRy
YWNrRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKaW5k
ZXggNTI2ZGMwM2NjMTg1YmY3ZTI4N2I1MGZkMGRhYTgxOTJjMTgxN2M0NS4uMTIxYjljMzYwNWZm
ZmNlYmY0YzA1NzFmZjNhNzg2ZWNiNGJjYzkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJh
Y2tFbGVtZW50LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9v
bCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTFRyYWNrRWxlbWVudD4mKTsKKyAgICB2b2lk
IGxvYWRUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQoKSBjb25zdDsKIApAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2Fu
TG9hZFVSTChjb25zdCBVUkwmKTsKIAogICAgIFJlZlB0cjxMb2FkYWJsZVRleHRUcmFjaz4gbV90
cmFjazsKLSAgICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKKyAgICBUaW1l
ciBtX2xvYWRUaW1lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmNwcAppbmRleCAzYTc3NjgyNDMyZDg0MzI4ZTcyZTRjNTMwNzJiZmFjYjJjODYzNDk5Li40MTMx
Njc0NDhmZGZmYjAxNTkxOWVjYTI3NWNkMGU2ZWY3MGU4YTc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBNZWRpYUNvbnRy
b2xsZXI6OnNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUpCiAgICAg
ICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBNZWRpYUNv
bnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKQor
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gcGVuZGluZ0V2ZW50czsKIApAQCAtNTQ4LDcgKzU0OCw3
IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRp
YUNvbnRyb2xsZXI+JikKICAgICAgICAgZGlzcGF0Y2hFdmVudChwZW5kaW5nRXZlbnRzW2luZGV4
XS5yZWxlYXNlKCksIElHTk9SRV9FWENFUFRJT04pOwogfQogCi12b2lkIE1lZGlhQ29udHJvbGxl
cjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sbGVyPiYpCit2b2lk
IE1lZGlhQ29udHJvbGxlcjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IG1fcG9zaXRpb24gPSBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKTsKIH0KQEAgLTY3Miw3ICs2
NzIsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c3RhcnRUaW1ldXBkYXRlVGltZXIoKQogICAg
IG1fdGltZXVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG1heFRpbWV1cGRhdGVFdmVudEZyZXF1
ZW5jeSk7CiB9CiAKLXZvaWQgTWVkaWFDb250cm9sbGVyOjp0aW1ldXBkYXRlVGltZXJGaXJlZChU
aW1lcjxNZWRpYUNvbnRyb2xsZXI+JikKK3ZvaWQgTWVkaWFDb250cm9sbGVyOjp0aW1ldXBkYXRl
VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgc2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IDNlMzZjOWIxNDY0OWEyMWI2
MmI4NjUyMTU0ZDhlZWI2ODQ4NjgwYjguLjI1NDE5Y2JiODM4NDRiYTQ0NDIxNTM3NGE1NTNmNmZl
Y2NlNzU4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAtMTIzLDEx
ICsxMjMsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZU1lZGlhRWxlbWVudHMoKTsKICAg
ICB2b2lkIGJyaW5nRWxlbWVudFVwVG9TcGVlZChIVE1MTWVkaWFFbGVtZW50Kik7CiAgICAgdm9p
ZCBzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKLSAgICB2b2lk
IGFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsKLSAgICB2b2lk
IGNsZWFyUG9zaXRpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsKKyAgICB2
b2lkIGFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBjbGVhclBvc2l0aW9u
VGltZXJGaXJlZChUaW1lciYpOwogICAgIGJvb2wgaGFzRW5kZWQoKSBjb25zdDsKICAgICB2b2lk
IHNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCk7Ci0gICAgdm9pZCB0aW1ldXBkYXRlVGltZXJGaXJl
ZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Jik7CisgICAgdm9pZCB0aW1ldXBkYXRlVGltZXJGaXJl
ZChUaW1lciYpOwogICAgIHZvaWQgc3RhcnRUaW1ldXBkYXRlVGltZXIoKTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0CkBAIC0xNDcsMTMgKzE0NywxMyBAQCBwcml2YXRlOgogICAgIFJlYWR5U3RhdGUg
bV9yZWFkeVN0YXRlOwogICAgIFBsYXliYWNrU3RhdGUgbV9wbGF5YmFja1N0YXRlOwogICAgIFZl
Y3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdFdmVudHM7Ci0gICAgVGltZXI8TWVkaWFDb250
cm9sbGVyPiBtX2FzeW5jRXZlbnRUaW1lcjsKLSAgICBtdXRhYmxlIFRpbWVyPE1lZGlhQ29udHJv
bGxlcj4gbV9jbGVhclBvc2l0aW9uVGltZXI7CisgICAgVGltZXIgbV9hc3luY0V2ZW50VGltZXI7
CisgICAgbXV0YWJsZSBUaW1lciBtX2NsZWFyUG9zaXRpb25UaW1lcjsKICAgICBTdHJpbmcgbV9t
ZWRpYUdyb3VwOwogICAgIGJvb2wgbV9jbG9zZWRDYXB0aW9uc1Zpc2libGU7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENsb2NrPiBtX2Nsb2NrOwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xsZXI+IG1fdGlt
ZXVwZGF0ZVRpbWVyOworICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwogICAgIGRvdWJsZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3Vt
ZW50LmNwcAppbmRleCBmYWM5NThlZjUzMzc4OGMzZjRlYjA2YjlmOWQ4YmFiNTYwM2Q3MjJiLi5k
NjU2OWE0M2JhZWNkMzAzNjg3MTIxMWI1ZjllYWE0Mzk1M2U1ZGIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5jcHAKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIE1lZGlhRG9jdW1l
bnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKCkKICAgICBtX3JlcGxhY2VNZWRp
YUVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVkaWFEb2N1bWVudDo6
cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoVGltZXI8TWVkaWFEb2N1bWVudD4mKQordm9p
ZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgSFRNTEVsZW1lbnQqIGh0bWxCb2R5ID0gYm9keSgpOwogICAgIGlmICghaHRtbEJvZHkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCmluZGV4IDAzZWQ4MWI1MDhlZTEwNmI5Mzlk
YmU5MzRjNWI2NzgxNTA2YjgwZWMuLjQzYjVmNDZjNjJkZDBmMWM5ZjM4NzMzNmM0OGUzNzZjMmJj
MjQxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCkBAIC01MCw5ICs1MCw5IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCop
IG92ZXJyaWRlOwogCi0gICAgdm9pZCByZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZChUaW1l
cjxNZWRpYURvY3VtZW50PiYpOworICAgIHZvaWQgcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoVGltZXImKTsKIAotICAgIFRpbWVyPE1lZGlhRG9jdW1lbnQ+IG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyOworICAgIFRpbWVyIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyOwogICAgIFN0
cmluZyBtX291dGdvaW5nUmVmZXJyZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElu
cHV0VHlwZS5jcHAKaW5kZXggYjJjNDU5MjhjMjllNjVmZDJmNzA3ZjA5ZTQ5MTE1MzgxZTgyY2Rj
Ny4uMGJmOWRmYzM0YWI1YWZkMjYzMDk4MDMyYjljMGZkYzE2MzEzN2QxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgU2Vh
cmNoSW5wdXRUeXBlOjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCiAgICAgbV9zZWFyY2hFdmVudFRp
bWVyLnN0b3AoKTsKIH0KIAotdm9pZCBTZWFyY2hJbnB1dFR5cGU6OnNlYXJjaEV2ZW50VGltZXJG
aXJlZChUaW1lcjxTZWFyY2hJbnB1dFR5cGU+KikKK3ZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzZWFy
Y2hFdmVudFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIGVsZW1lbnQoKS5vblNlYXJjaCgpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgKaW5kZXggMTIzMjZiYzg4ODQwNmJh
ZDZjYjk3NWI5YzNlODBiNWMxOGRjMDBlYi4uODgzYTEyYjE3NjBiZDZhZTk2Y2E2ODk2YmFiMmUx
OWIwNTlkOTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5oCkBAIC02MSwx
MyArNjEsMTMgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2l6ZVNob3VsZEluY2x1ZGVE
ZWNvcmF0aW9uKGludCBkZWZhdWx0U2l6ZSwgaW50JiBwcmVmZXJyZWRTaXplKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIGZsb2F0IGRlY29yYXRpb25XaWR0aCgpIGNvbnN0IG92ZXJyaWRl
OwogCi0gICAgdm9pZCBzZWFyY2hFdmVudFRpbWVyRmlyZWQoVGltZXI8U2VhcmNoSW5wdXRUeXBl
PiopOworICAgIHZvaWQgc2VhcmNoRXZlbnRUaW1lckZpcmVkKFRpbWVyKik7CiAgICAgYm9vbCBz
ZWFyY2hFdmVudHNTaG91bGRCZURpc3BhdGNoZWQoKSBjb25zdDsKICAgICB2b2lkIHN0YXJ0U2Vh
cmNoRXZlbnRUaW1lcigpOwogCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudCog
bV9yZXN1bHRzQnV0dG9uOwogICAgIEhUTUxFbGVtZW50KiBtX2NhbmNlbEJ1dHRvbjsKLSAgICBU
aW1lcjxTZWFyY2hJbnB1dFR5cGU+IG1fc2VhcmNoRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3Nl
YXJjaEV2ZW50VGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmluZGV4IDliOGZiMzk3MDY1YzlhYjYxZGU0
OWI3NjY2MDdjMDk0NGMwOWFjZGQuLmFiOTYxOGQ5ZDg5ODIwMmJhYThiN2ExMzFkYzdjZTVlZmMx
NzcwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0x
MDcsMTMgKzEwNywxMyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKICAgICBt
X21lc3NhZ2UgPSBtZXNzYWdlOwogICAgIGlmICghbV9idWJibGUpCi0gICAgICAgIG1fdGltZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPj4odGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpOworICAgICAgICBtX3RpbWVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxUaW1lcj4odGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8
VmFsaWRhdGlvbk1lc3NhZ2U+Pih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VE
T01BbmRTdGFydFRpbWVyKTsKKyAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGlt
ZXI+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIp
OwogICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+
KikKK3ZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKFRp
bWVyKikKIHsKICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpOwogICAgIEFT
U0VSVChtX21lc3NhZ2VIZWFkaW5nKTsKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFZhbGlkYXRp
b25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVz
c2FnZT4qKQogICAgIGlmIChtYWduaWZpY2F0aW9uIDw9IDApCiAgICAgICAgIG1fdGltZXIgPSBu
dWxscHRyOwogICAgIGVsc2UgewotICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRl
QnViYmxlVHJlZSk7CisgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPih0
aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwogICAgICAgICBtX3Rp
bWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVz
c2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOwogICAgIH0KIH0KQEAgLTE2
NSw3ICsxNjUsNyBAQCBzdGF0aWMgdm9pZCBhZGp1c3RCdWJibGVQb3NpdGlvbihjb25zdCBMYXlv
dXRSZWN0JiBob3N0UmVjdCwgSFRNTEVsZW1lbnQqIGJ1YmJsZQogICAgIGJ1YmJsZS0+c2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUxlZnQsIGJ1YmJsZVgsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUFgpOwogfQogCi12b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KikKK3ZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OmJ1
aWxkQnViYmxlVHJlZShUaW1lciopCiB7CiAgICAgQVNTRVJUKCF2YWxpZGF0aW9uTWVzc2FnZUNs
aWVudCgpKTsKICAgICBTaGFkb3dSb290JiBzaGFkb3dSb290ID0gbV9lbGVtZW50LT5lbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCk7CkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogICAgIH0KIAogICAgIC8vIFdlIG11c3Qg
bm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4gdGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJlYXNv
biBhcyBzZXRNZXNzYWdlKCkuCi0gICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8
VmFsaWRhdGlvbk1lc3NhZ2U+Pih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJs
ZVRyZWUpOworICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPih0aGlzLCAmVmFs
aWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwogICAgIG1fdGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBAIGJvb2wgVmFsaWRhdGlvbk1lc3NhZ2U6
OnNoYWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdAogICAgIHJldHVybiAm
bV9idWJibGUtPnRyZWVTY29wZSgpID09ICZub2RlLnRyZWVTY29wZSgpOwogfQogCi12b2lkIFZh
bGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdl
PiopCit2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKFRpbWVyKikKIHsK
ICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpOwogICAgIGlmIChtX2J1YmJs
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IDc1MTY4NDMx
NjUwM2E0ZWIxM2ZjNDU2NDhkODdiMTljZjljNzcwOWUuLjlkNjE4NTdjN2Y0NjljZWIzZmVhMmRk
YzBkODU4NTg0NDg3OWFmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKQEAgLTYwLDEzICs2MCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFZhbGlkYXRpb25N
ZXNzYWdlQ2xpZW50KiB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpIGNvbnN0OwogICAgIHZvaWQg
c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHNldE1lc3NhZ2VET01BbmRTdGFy
dFRpbWVyKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPiogPSAwKTsKLSAgICB2b2lkIGJ1aWxkQnVi
YmxlVHJlZShUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4qKTsKLSAgICB2b2lkIGRlbGV0ZUJ1YmJs
ZVRyZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KiA9IDApOworICAgIHZvaWQgc2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIoVGltZXIqID0gMCk7CisgICAgdm9pZCBidWlsZEJ1YmJsZVRyZWUo
VGltZXIqKTsKKyAgICB2b2lkIGRlbGV0ZUJ1YmJsZVRyZWUoVGltZXIqID0gMCk7CiAKICAgICBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBtX2VsZW1lbnQ7CiAgICAgU3RyaW5nIG1fbWVzc2FnZTsK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+PiBtX3RpbWVyOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV90aW1lcjsKICAgICBSZWZQdHI8SFRNTEVsZW1l
bnQ+IG1fYnViYmxlOwogICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9tZXNzYWdlSGVhZGluZzsK
ICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG1fbWVzc2FnZUJvZHk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBiNjgy
YTdlMDQyNjMwMDNkYzUyMzI4MTE5MGFkY2NjZjA0MmYxMzQ0Li4wYmUxZDQwMjcxZjVlMWY0MTgw
NmMwNjQxMmQ3NGI3ODQ4MTM2N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTU5MjMsNyArNTkyMyw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIw
U2ltdWxhdGlvbigpCiAgICAgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNE
OjpBUlJBWV9CVUZGRVIsIG9iamVjdE9yWmVybyhtX2JvdW5kQXJyYXlCdWZmZXIuZ2V0KCkpKTsK
IH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVu
dChUaW1lcjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KikKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoVGltZXIqKQogewogICAgIFJlZlB0cjxXZWJH
TENvbnRleHRFdmVudD4gZXZlbnQgPSBXZWJHTENvbnRleHRFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS53ZWJnbGNvbnRleHRsb3N0RXZlbnQsIGZhbHNlLCB0cnVlLCAiIik7CiAgICAgY2FudmFz
KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOwpAQCAtNTkzMiw3ICs1OTMyLDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudChUaW1lcjxXZWJHTFJl
bmRlcmluZ0NvbnRleHQKICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bWF5YmVSZXN0b3JlQ29udGV4dChUaW1l
cjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KikKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpt
YXliZVJlc3RvcmVDb250ZXh0KFRpbWVyKikKIHsKICAgICBBU1NFUlQobV9jb250ZXh0TG9zdCk7
CiAgICAgaWYgKCFtX2NvbnRleHRMb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCA1MGFlNDJjZmFjZDY4MTUwMjJmMDFi
NDZhYjhkOTc5YjQ0MTJhYzc1Li4zNDhiZWZiNDRlMzExNGRhNmU1YjQwZTA5NTMyNjVmMzExYTNl
ZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaApAQCAtNDExLDkgKzQxMSw5IEBAIHByaXZhdGU6CiAgICAgLy8gbGlrZWx5IHRo
YXQgdGhlcmUncyBubyBKYXZhU2NyaXB0IG9uIHRoZSBzdGFjaywgYnV0IHRoYXQgbWlnaHQgYmUg
ZGVwZW5kZW50CiAgICAgLy8gb24gaG93IGV4YWN0bHkgdGhlIHBsYXRmb3JtIGRpc2NvdmVycyB0
aGF0IHRoZSBjb250ZXh0IHdhcyBsb3N0LiBGb3IgYmV0dGVyCiAgICAgLy8gcG9ydGFiaWxpdHkg
d2UgYWx3YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgZXZlbnQuCi0gICAgVGltZXI8V2Vi
R0xSZW5kZXJpbmdDb250ZXh0PiBtX2Rpc3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyOworICAg
IFRpbWVyIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGltZXI7CiAgICAgYm9vbCBtX3Jlc3Rv
cmVBbGxvd2VkOwotICAgIFRpbWVyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4gbV9yZXN0b3JlVGlt
ZXI7CisgICAgVGltZXIgbV9yZXN0b3JlVGltZXI7CiAKICAgICBib29sIG1fbmVlZHNVcGRhdGU7
CiAgICAgYm9vbCBtX21hcmtlZENhbnZhc0RpcnR5OwpAQCAtNzYxLDkgKzc2MSw5IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBzaW11bGF0ZVZlcnRleEF0dHJpYjAoR0MzRHNpemVpIG51bVZlcnRleCk7
CiAgICAgdm9pZCByZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwog
Ci0gICAgdm9pZCBkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoVGltZXI8V2ViR0xSZW5kZXJpbmdD
b250ZXh0PiopOworICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KFRpbWVyKik7CiAg
ICAgLy8gSGVscGVyIGZvciByZXN0b3JhdGlvbiBhZnRlciBjb250ZXh0IGxvc3QuCi0gICAgdm9p
ZCBtYXliZVJlc3RvcmVDb250ZXh0KFRpbWVyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4qKTsKKyAg
ICB2b2lkIG1heWJlUmVzdG9yZUNvbnRleHQoVGltZXIqKTsKIAogICAgIC8vIERldGVybWluZSBp
ZiB3ZSBhcmUgcnVubmluZyBwcml2aWxlZ2VkIGNvZGUgaW4gdGhlIGJyb3dzZXIsIGZvciBleGFt
cGxlLAogICAgIC8vIGEgU2FmYXJpIG9yIENocm9tZSBleHRlbnNpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IGI5MzFk
YTJkODBmNjljZmVlOTU4MTgxMTNjYTU2MWQ5ZjEyM2RhMTMuLjgyNzgxMTAwOTA1Y2EwNDE0NTRh
MjliOGFhODJkMDhjNWE0MGQwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgSFRNTFBhcnNl
clNjaGVkdWxlcjo6fkhUTUxQYXJzZXJTY2hlZHVsZXIoKQogICAgIG1fY29udGludWVOZXh0Q2h1
bmtUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVO
ZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+JiB0aW1lcikKK3Zv
aWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVy
JiB0aW1lcikKIHsKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKICAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCAmdGltZXIgPT0gJm1fY29udGludWVOZXh0Q2h1bmtUaW1lcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggYjQwNGFl
OWMyNGQzNzRjZjYwMzE2MTE3Nzg0ZTAxN2UyOTk3NTNiMi4uYWI3ZTJlZDgxZDFkOTBkNzIwZTc3
YTUzNGYxZDhiM2IyMGI2N2Y2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtOTcsMTMgKzk3LDEzIEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgY29udGludWVOZXh0Q2h1bmtUaW1l
ckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+Jik7CisgICAgdm9pZCBjb250aW51ZU5l
eHRDaHVua1RpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIEhUTUxEb2N1bWVudFBhcnNlciYgbV9w
YXJzZXI7CiAKICAgICBkb3VibGUgbV9wYXJzZXJUaW1lTGltaXQ7CiAgICAgaW50IG1fcGFyc2Vy
Q2h1bmtTaXplOwotICAgIFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IG1fY29udGludWVOZXh0
Q2h1bmtUaW1lcjsKKyAgICBUaW1lciBtX2NvbnRpbnVlTmV4dENodW5rVGltZXI7CiAgICAgYm9v
bCBtX2lzU3VzcGVuZGVkV2l0aEFjdGl2ZVRpbWVyOwogI2lmICFBU1NFUlRfRElTQUJMRUQKICAg
ICBib29sIG1fc3VzcGVuZGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDRjN2JkNzVhMzNkZjdmOTVmYmM5NzE4YmRl
NTY3MjQ4OGUwMGQzNDguLmZjMzU4MzIzNTliZDliOGM2MWY4NGU3ZDEyYzRlMDA3OTM2ZjBkNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1l
bnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVu
dDo6c3RvcFRpbWVyKCkKICAgICAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RvcCgpOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQoVGltZXI8
TWVkaWFDb250cm9sUGFuZWxFbGVtZW50PiYpCit2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVu
dDo6dHJhbnNpdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIGhpZGUoKTsKQEAgLTEyNDMsNyArMTI0Myw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4
dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlQWN0aXZlQ3Vlc0ZvbnRTaXplKCkKIAogfQog
Ci12b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZVRpbWVy
RmlyZWQoVGltZXI8TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudD4mKQordm9p
ZCBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAoIWRvY3VtZW50KCkucGFnZSgpKQogICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
aAppbmRleCAxNDc0YWE0N2QxYmU0ZjgwMmZkYjNlMGJlNTY1OGIzOTZiOGE1MGU2Li5jY2I0OTk2
ODNiZmM3NTQ5YTU2NTBjY2FlMTVmMjQzYzliNjZhM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKQEAgLTY1LDcgKzY1LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7
Ci0gICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ+Jik7CisgICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
dm9pZCBzZXRQb3NpdGlvbihjb25zdCBMYXlvdXRQb2ludCYpOwogCkBAIC03Niw3ICs3Niw3IEBA
IHByaXZhdGU6CiAgICAgTGF5b3V0UG9pbnQgbV9sYXN0RHJhZ0V2ZW50TG9jYXRpb247CiAgICAg
TGF5b3V0UG9pbnQgbV9jdW11bGF0aXZlRHJhZ09mZnNldDsKIAotICAgIFRpbWVyPE1lZGlhQ29u
dHJvbFBhbmVsRWxlbWVudD4gbV90cmFuc2l0aW9uVGltZXI7CisgICAgVGltZXIgbV90cmFuc2l0
aW9uVGltZXI7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC00NTEs
NyArNDUxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZXhpdGVkRnVsbHNjcmVlbigpOwogCiBwcml2
YXRlOgotICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xUZXh0VHJh
Y2tDb250YWluZXJFbGVtZW50PiYpOworICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lciYp
OwogICAgIHZvaWQgdXBkYXRlQWN0aXZlQ3Vlc0ZvbnRTaXplKCk7CiAKICAgICBleHBsaWNpdCBN
ZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50KERvY3VtZW50Jik7CkBAIC00NjUs
NyArNDY1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0eWxlRm9yVGV4dFRyYWNrUmVw
cmVzZW50YXRpb24oKTsKICAgICBPd25QdHI8VGV4dFRyYWNrUmVwcmVzZW50YXRpb24+IG1fdGV4
dFRyYWNrUmVwcmVzZW50YXRpb247CiAKLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50PiBtX3VwZGF0ZVRpbWVyOworICAgIFRpbWVyIG1fdXBkYXRlVGltZXI7
CiAgICAgSW50UmVjdCBtX3ZpZGVvRGlzcGxheVNpemU7CiAgICAgaW50IG1fZm9udFNpemU7CiAg
ICAgYm9vbCBtX2ZvbnRTaXplSXNJbXBvcnRhbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwCmluZGV4IDcxMjlmZTY2MTczYWZmN2U0MTFmNzQ1ZTQzOTU5
YTIyMjc3OWRmZGMuLjc4NzIyMGZlZTBiY2ZmNzEwODdhMmIzYWMwZDU1NDNjMTgyODE1YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCkBAIC0zMzAs
NyArMzMwLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xzOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
KiBldmVudCkKICAgICB9CiB9CiAKLXZvaWQgTWVkaWFDb250cm9sczo6aGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9scz4mKQordm9pZCBNZWRpYUNvbnRy
b2xzOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYg
KG1fbWVkaWFDb250cm9sbGVyLT5wYXVzZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCmluZGV4IDZlMTdlMzViNDM2NWZiMGRh
NGFkZmI5MmYzYjcyZWY4YTU3ZjBjM2UuLmE2NDRjOGVhOTI3YTM3MTM5MDYyNDM2ZTEzZjM5NGM0
NTkwYjE2OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgK
QEAgLTk3LDcgKzk3LDcgQEAgY2xhc3MgTWVkaWFDb250cm9scyA6IHB1YmxpYyBIVE1MRGl2RWxl
bWVudCB7CiAgICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKSBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgdm9pZCBoaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xzPiYpOworICAg
IHZpcnR1YWwgdm9pZCBoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYpOwog
ICAgIHZpcnR1YWwgdm9pZCBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiAKQEAgLTEz
Nyw3ICsxMzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50KiBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uOwogICAgIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KiBtX2Z1bGxTY3JlZW5CdXR0b247CiAK
LSAgICBUaW1lcjxNZWRpYUNvbnRyb2xzPiBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsK
KyAgICBUaW1lciBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsKICAgICBib29sIG1faXNG
dWxsc2NyZWVuOwogICAgIGJvb2wgbV9pc01vdXNlT3ZlckNvbnRyb2xzOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggYmJkZDAx
YjlhMDk2NWM5NjUwNTZjOWNjODkzYzNmYWRjZjNiNWQwOC4uOTgzNjk2NWY3MWQ0NWU4MTQyZjUx
MDZjMDY1MmI3YzI1MjU5MzRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1NwaW5CdXR0b25FbGVtZW50LmNwcApAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgU3BpbkJ1dHRv
bkVsZW1lbnQ6OnN0ZXAoaW50IGFtb3VudCkKICAgICBkb1N0ZXBBY3Rpb24oYW1vdW50KTsKIH0K
ICAgICAKLXZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQoVGltZXI8
U3BpbkJ1dHRvbkVsZW1lbnQ+KikKK3ZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGluZ1Rp
bWVyRmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3VwRG93blN0YXRlICE9IEluZGV0ZXJtaW5h
dGUpCiAgICAgICAgIHN0ZXAobV91cERvd25TdGF0ZSA9PSBVcCA/IDEgOiAtMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaAppbmRleCAxMTM5NjAx
ZTJlMDI5N2ExNmNlYTZjY2FhM2NkMTNmMjExZjA1YmRlLi4xOGNmYTJkNWVjYjQwYjY2ZTFkY2Iy
YmNhM2E2YmFjMWYxODI4MzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9TcGluQnV0dG9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Nw
aW5CdXR0b25FbGVtZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRv
U3RlcEFjdGlvbihpbnQpOwogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAgIHZv
aWQgc3RvcFJlcGVhdGluZ1RpbWVyKCk7Ci0gICAgdm9pZCByZXBlYXRpbmdUaW1lckZpcmVkKFRp
bWVyPFNwaW5CdXR0b25FbGVtZW50PiopOworICAgIHZvaWQgcmVwZWF0aW5nVGltZXJGaXJlZChU
aW1lciopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIb3ZlcmVkKGJvb2wgPSB0cnVlKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZFJlc3BvbmRUb01vdXNlRXZlbnRzKCk7CiAgICAgdmlydHVhbCBi
b29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQpA
QCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jYXB0dXJpbmc7CiAgICAgVXBE
b3duU3RhdGUgbV91cERvd25TdGF0ZTsKICAgICBVcERvd25TdGF0ZSBtX3ByZXNzU3RhcnRpbmdT
dGF0ZTsKLSAgICBUaW1lcjxTcGluQnV0dG9uRWxlbWVudD4gbV9yZXBlYXRpbmdUaW1lcjsKKyAg
ICBUaW1lciBtX3JlcGVhdGluZ1RpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRl
eCBiZjk1MjNkNzI4MzM0ZDllOWE2MDJkZGJiY2UzODE5Yzc4NTc1ZTYzLi5iZGM0ZGZhMGQxZWY3
NWZlNmEwNTA5YzMyOGZjNTQ4OGIzYzE4OWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpzZXRUcmFja0VsZW1lbnQoSFRNTFRyYWNrRWxlbWVudCogZWxlbWVudCkK
ICAgICBtX3RyYWNrRWxlbWVudCA9IGVsZW1lbnQ7CiB9CiAKLXZvaWQgTG9hZGFibGVUZXh0VHJh
Y2s6OmxvYWRUaW1lckZpcmVkKFRpbWVyPExvYWRhYmxlVGV4dFRyYWNrPiYpCit2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpsb2FkVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fbG9hZGVy
KQogICAgICAgICBtX2xvYWRlci0+Y2FuY2VsTG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCmluZGV4IDA2ZTNmZWFmOTZhMDk4YjhhMGRlMTUw
OTJkZDhhZWQxMWVmYjYyMzAuLmFhZDJhMDgyNmZlYTZiMDQzNGJmOWY2NWVhODQ2MzYxMTEyZDBi
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJh
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgK
QEAgLTcwLDEwICs3MCwxMCBAQCBwcml2YXRlOgogCiAgICAgTG9hZGFibGVUZXh0VHJhY2soSFRN
TFRyYWNrRWxlbWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7CiAKLSAgICB2b2lkIGxvYWRUaW1lckZpcmVkKFRpbWVy
PExvYWRhYmxlVGV4dFRyYWNrPiYpOworICAgIHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIEhUTUxUcmFja0VsZW1lbnQqIG1fdHJhY2tFbGVtZW50OwotICAgIFRpbWVyPExvYWRh
YmxlVGV4dFRyYWNrPiBtX2xvYWRUaW1lcjsKKyAgICBUaW1lciBtX2xvYWRUaW1lcjsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8VGV4dFRyYWNrTG9hZGVyPiBtX2xvYWRlcjsKICAgICBVUkwgbV91cmw7
CiAgICAgYm9vbCBtX2lzRGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmNwcAppbmRleCA2ZmI1YWFkYjA3NDgzMjAzYjkyZDgzMTBkY2M3ODY3ZGUxMzAxMjUxLi4zOGEx
YzZhZTFhZDIzZjBhYTE0ZDc3NzNkOTljZjI1ZDZkMjY0MDg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WVFRSZWdpb24uY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBWVFRSZWdpb246
OnN0b3BUaW1lcigpCiAgICAgICAgIG1fc2Nyb2xsVGltZXIuc3RvcCgpOwogfQogCi12b2lkIFZU
VFJlZ2lvbjo6c2Nyb2xsVGltZXJGaXJlZChUaW1lcjxWVFRSZWdpb24+KikKK3ZvaWQgVlRUUmVn
aW9uOjpzY3JvbGxUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBMT0coTWVkaWEsICJWVFRSZWdp
b246OnNjcm9sbFRpbWVyRmlyZWQiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WVFRSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmgKaW5kZXggZTE2MmY1MmI1NzI2NDk4ODRkOTYyY2JhNTFkZDc3MjMxNDI5ZWU1Ni4uMDQxMzM4
NTFkNmM4OWJjZDI2NzE1ODVkNDNhNGNjZDU5YWRlYWU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5oCkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBUaGUg
dGltZXIgaXMgbmVlZGVkIHRvIGNvbnRpbnVlIHByb2Nlc3Npbmcgd2hlbiBjdWUgc2Nyb2xsaW5n
IGVuZGVkLgogICAgIHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0g
ICAgdm9pZCBzY3JvbGxUaW1lckZpcmVkKFRpbWVyPFZUVFJlZ2lvbj4qKTsKKyAgICB2b2lkIHNj
cm9sbFRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIGVudW0gUmVnaW9uU2V0dGluZyB7CiAgICAg
ICAgIE5vbmUsCkBAIC0xNTUsNyArMTU1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBzb29uIGFzIHRo
ZSBhbmltYXRpb24gZm9yIHJvbGxpbmcgb3V0IG9uZSBsaW5lIGhhcyBmaW5pc2hlZCwgYnV0CiAg
ICAgLy8gY3VycmVudGx5IGl0IGlzIHVzZWQgYWxzbyBmb3Igbm9uLXNjcm9sbGluZyByZWdpb25z
IHRvIHVzZSBhIHNpbmdsZQogICAgIC8vIGNvZGUgcGF0aC4KLSAgICBUaW1lcjxWVFRSZWdpb24+
IG1fc2Nyb2xsVGltZXI7CisgICAgVGltZXIgbV9zY3JvbGxUaW1lcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NT
QWdlbnQuY3BwCmluZGV4IDcxYzhjNTgwMzk2MjhkMmJiZTRlOTUyNjcyYWI3ZDFjNDg0MWU4Mjgu
LmY1N2VhMzM5ZDQxM2VlNGRhMjQyMTc0ZGNkYzEyMDQ4MDM3NzRlMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMTA5LDExICsxMDks
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiwgaW50
IGRvY3VtZW50Tm9kZUlkKTsKICAgICB2b2lkIHVuc2NoZWR1bGUoV2ViS2l0TmFtZWRGbG93Kik7
CiAgICAgdm9pZCByZXNldCgpOwotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogcHJpdmF0
ZToKICAgICBJbnNwZWN0b3JDU1NBZ2VudCogbV9jc3NBZ2VudDsKLSAgICBUaW1lcjxDaGFuZ2VS
ZWdpb25PdmVyc2V0VGFzaz4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogICAgIEhhc2hN
YXA8V2ViS2l0TmFtZWRGbG93KiwgaW50PiBtX25hbWVkRmxvd3M7CiB9OwogCkBAIC0xNDIsNyAr
MTQyLDcgQEAgdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6cmVzZXQoKQogICAgIG1fbmFt
ZWRGbG93cy5jbGVhcigpOwogfQogCi12b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp0aW1l
ckZpcmVkKFRpbWVyPENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrPiYpCit2b2lkIENoYW5nZVJlZ2lv
bk92ZXJzZXRUYXNrOjp0aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICAvLyBUaGUgdGltZXIgaXMg
c3RvcHBlZCBvbiBtX2Nzc0FnZW50IGRlc3RydWN0aW9uLCBzbyB0aGlzIG1ldGhvZCB3aWxsIG5l
dmVyIGJlIGNhbGxlZCBhZnRlciBtX2Nzc0FnZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICBm
b3IgKEhhc2hNYXA8V2ViS2l0TmFtZWRGbG93KiwgaW50Pjo6aXRlcmF0b3IgaXQgPSBtX25hbWVk
Rmxvd3MuYmVnaW4oKSwgZW5kID0gbV9uYW1lZEZsb3dzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRl
eCA0OTZlYmI0YWE1YWI4OTIwNzM2NzFiYzI3ZTJmYjRhZjQ4NWM5YzkyLi4zMzc1NDczYzliNDM4
OWM3NTA5Mzk2OTIwMDhhZDQ1ZWEyYTBkYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE2MiwxMSArMTYyLDExIEBAIHB1YmxpYzoK
ICAgICBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrKEluc3BlY3RvckRPTUFnZW50Kik7CiAg
ICAgdm9pZCBzY2hlZHVsZUZvcihFbGVtZW50Kik7CiAgICAgdm9pZCByZXNldCgpIHsgbV90aW1l
ci5zdG9wKCk7IH0KLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8UmV2YWxpZGF0ZVN0eWxlQXR0
cmlidXRlVGFzaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogcHJpdmF0ZToK
ICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2VudDsKLSAgICBUaW1lcjxSZXZhbGlkYXRl
U3R5bGVBdHRyaWJ1dGVUYXNrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgSGFz
aFNldDxSZWZQdHI8RWxlbWVudD4+IG1fZWxlbWVudHM7CiB9OwogCkBAIC0xODMsNyArMTgzLDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
ZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKFRpbWVyPFJldmFsaWRhdGVT
dHlsZUF0dHJpYnV0ZVRhc2s+JikKK3ZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6
dGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgLy8gVGhlIHRpbWVyIGlzIHN0b3BwZWQgb24gbV9k
b21BZ2VudCBkZXN0cnVjdGlvbiwgc28gdGhpcyBtZXRob2Qgd2lsbCBuZXZlciBiZSBjYWxsZWQg
YWZ0ZXIgbV9kb21BZ2VudCBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgVmVjdG9yPEVsZW1lbnQq
PiBlbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA5YWNhN2I4M2IxZTVhOTUwZTA4ODgx
ZjQ1YTc4MTA2ZDNlNzA4M2FiLi42Yjk3ODIzY2JkY2NlNjQ5OTcxNWVlMjM0YWE1ZmNmYWIyZGY3
M2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV90aW1lci5zdG9wKCk7CiAgICAgfQogCi0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s+JikKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXIm
KQogICAgIHsKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1wdHkoKSkgewogICAgICAgICAg
ICAgLy8gRGlzcGF0Y2ggY2FuIGxlYWQgdG8gdGhlIHRpbWVyIGRlc3RydWN0aW9uIC0+IHNjaGVk
dWxlIHRoZSBuZXh0IHNob3QgZmlyc3QuCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsK
LSAgICBUaW1lcjxJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrPiBtX3RpbWVyOworICAgIFRp
bWVyIG1fdGltZXI7CiAgICAgRGVxdWU8U3RyaW5nPiBtX21lc3NhZ2VzOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IGUxNGQxZmE3
MDFmYTExYjUxMGM0NGNlZGUyYTA0ZDUwYWVkZjUyNmUuLjFlZDFlOTc0NzQ5YmEyZDlhM2IwNDI0
ZTE0MGVhNTFmNjdlMmQ4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIGZvcmNlUGFpbnQoKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JPdmVybGF5Ojp1cGRhdGVQYWludFJlY3RzVGltZXJGaXJlZChU
aW1lcjxJbnNwZWN0b3JPdmVybGF5PiYpCit2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnVwZGF0ZVBh
aW50UmVjdHNUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjp0aW1lX3BvaW50IG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwog
ICAgIGJvb2wgcmVjdHNDaGFuZ2VkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck92ZXJsYXkuaAppbmRleCA0YjgxM2YzNjk4YjYyZjZiOTYwZGVmOGIyYWIzMGQ3
MzdkNWRhNzlhLi44OTA4MjkyYzhmNjYwYjdjOTEyY2Q4ODUzODE0ZmE5ODY0NjI3MjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmgKQEAgLTEzOSw3ICsx
MzksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd1F1YWRIaWdobGlnaHQoKTsKICAgICB2b2lk
IGRyYXdQYXVzZWRJbkRlYnVnZ2VyTWVzc2FnZSgpOwogICAgIHZvaWQgZHJhd1BhaW50UmVjdHMo
KTsKLSAgICB2b2lkIHVwZGF0ZVBhaW50UmVjdHNUaW1lckZpcmVkKFRpbWVyPEluc3BlY3Rvck92
ZXJsYXk+Jik7CisgICAgdm9pZCB1cGRhdGVQYWludFJlY3RzVGltZXJGaXJlZChUaW1lciYpOwog
CiAgICAgUGFnZSogb3ZlcmxheVBhZ2UoKTsKIApAQCAtMTYwLDcgKzE2MCw3IEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCwgRmxvYXRSZWN0PiBUaW1lUmVjdFBhaXI7CiAgICAgRGVxdWU8VGltZVJlY3RQ
YWlyPiBtX3BhaW50UmVjdHM7Ci0gICAgVGltZXI8SW5zcGVjdG9yT3ZlcmxheT4gbV9wYWludFJl
Y3RVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyOwogICAgIGJv
b2wgbV9pbmRpY2F0aW5nOwogICAgIGJvb2wgbV9zaG93aW5nUGFpbnRSZWN0czsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA5NzdlZDE0YjBlMjE2MzY4
YjExMGIyNWMzMjY0ZDEyNTAxM2I2Yzc2Li4xZjE3NWM3MjAyZTMxODVkMWZjYzA5MGRkNzA4OTJh
M2MyMzU3MGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTExMjUsNyArMTEyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0dXRl
UmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZl
cnlUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgRG9jdW1lbnRMb2FkZXI6OnN1YnN0
aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudExvYWRlcj4mKQor
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcy5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgK
aW5kZXggNmQwODEwZTcxY2RkYWE3NTU3MmJkMGQ1ZTAxZWFkNTMzNDBjYmM2Yi4uNTBmMDRhMWNl
ODIyYmE2M2YwMzExNjczNmMzMDUwODkxMGIwYTFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKQEAgLTMxMywxNCArMzEzLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgICAgIHR5cGVkZWYgUnVuTG9vcFRpbWVyPERv
Y3VtZW50TG9hZGVyPiBEb2N1bWVudExvYWRlclRpbWVyOwogI2Vsc2UKLSAgICAgICAgdHlwZWRl
ZiBUaW1lcjxEb2N1bWVudExvYWRlcj4gRG9jdW1lbnRMb2FkZXJUaW1lcjsKKyAgICAgICAgdHlw
ZWRlZiBUaW1lciBEb2N1bWVudExvYWRlclRpbWVyOwogI2VuZGlmCiAgICAgICAgIHZvaWQgaGFu
ZGxlU3Vic3RpdHV0ZURhdGFMb2FkU29vbigpOwogICAgICAgICB2b2lkIGhhbmRsZVN1YnN0aXR1
dGVEYXRhTG9hZE5vdyhEb2N1bWVudExvYWRlclRpbWVyKik7CiAgICAgICAgIHZvaWQgc3RhcnRE
YXRhTG9hZFRpbWVyKCk7CiAKICAgICAgICAgdm9pZCBkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNl
c0FmdGVyRGVsYXkoKTsKLSAgICAgICAgdm9pZCBzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQoVGltZXI8RG9jdW1lbnRMb2FkZXI+Jik7CisgICAgICAgIHZvaWQgc3Vic3RpdHV0
ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICAgICAgdm9pZCBjbGVh
ck1haW5SZXNvdXJjZSgpOwogCkBAIC0zODYsNyArMzg2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxSZXNvdXJjZUxvYWRl
cj4sIFJlZlB0cjxTdWJzdGl0dXRlUmVzb3VyY2U+PiBTdWJzdGl0dXRlUmVzb3VyY2VNYXA7CiAg
ICAgICAgIFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2Vz
OwotICAgICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxp
dmVyeVRpbWVyOworICAgICAgICBUaW1lciBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGlt
ZXI7CiAKICAgICAgICAgT3duUHRyPEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24+IG1fYXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbjsKICNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpIHx8IEVOQUJMRShN
SFRNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGI1N2U2N2U2NTgy
ZGYwMTg4NGNkNjNkMWYzYmI4NDEzZWQ4MTYxYzMuLmRkYmNlMGRjYzU3NzMxNzRmY2NhNDcxYWY3
MTk1ZDA2Nzk2YzM4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAt
ODUwLDcgKzg1MCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkKCkKICAgICAg
ICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6Y2hlY2tUaW1l
ckZpcmVkKFRpbWVyPEZyYW1lTG9hZGVyPiYpCit2b2lkIEZyYW1lTG9hZGVyOjpjaGVja1RpbWVy
RmlyZWQoVGltZXImKQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3OTI1ZTRkYmE2ZmM1MzBlMDgyMzg3N2Q0
MDM1MmJhOTVmMTM4MGQ5Li4xNTYwY2ExODdhZDI0ZDQ1NWE4NGY4NWQwMWU5NzA2ZTQ1ODI3MTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMjk5LDcgKzI5OSw3IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIGFsbENoaWxkcmVuQXJlQ29tcGxldGUoKSBjb25zdDsgLy8gaW1t
ZWRpYXRlIGNoaWxkcmVuLCBub3QgYWxsIGRlc2NlbmRhbnRzCiAKLSAgICB2b2lkIGNoZWNrVGlt
ZXJGaXJlZChUaW1lcjxGcmFtZUxvYWRlcj4mKTsKKyAgICB2b2lkIGNoZWNrVGltZXJGaXJlZChU
aW1lciYpOwogICAgIAogICAgIHZvaWQgbG9hZFNhbWVEb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0q
KTsKICAgICB2b2lkIGxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0qLCBGcmFt
ZUxvYWRUeXBlLCBGb3JtU3VibWlzc2lvbkNhY2hlTG9hZFBvbGljeSk7CkBAIC00MjMsNyArNDIz
LDcgQEAgcHJpdmF0ZToKIAogICAgIFVSTCBtX3N1Ym1pdHRlZEZvcm1VUkw7CiAKLSAgICBUaW1l
cjxGcmFtZUxvYWRlcj4gbV9jaGVja1RpbWVyOworICAgIFRpbWVyIG1fY2hlY2tUaW1lcjsKICAg
ICBib29sIG1fc2hvdWxkQ2FsbENoZWNrQ29tcGxldGVkOwogICAgIGJvb2wgbV9zaG91bGRDYWxs
Q2hlY2tMb2FkQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmlu
ZGV4IDBmMDY3NzQyZTRmYzY5MjdjNjc5YjQ4OTZlMzAwYjU4NjM3YWViMzkuLjYwMmZiOWRiMWM2
YzE5ZjI5Mzc4MDQ1MzFmMGI2ZDY5ZTgwMDNjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcApAQCAtMzc0LDcgKzM3NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZWRI
YXNQZW5kaW5nRXZlbnQoKQogICAgIH0gICAKIH0KIAotdm9pZCBJbWFnZUxvYWRlcjo6dGltZXJG
aXJlZChUaW1lcjxJbWFnZUxvYWRlcj4mKQordm9pZCBJbWFnZUxvYWRlcjo6dGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgZWxlbWVudCgpLmRlcmVmKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5oCmluZGV4IDVmMzcyNGNjYWJiNjVlZmE3OGJmZGY4NjdkYTFmMjc4ZDRkZGQ3M2Qu
LjgzYWQ4ZGNmMDUzMWFkZDhmMGIwOTNiNDRkM2FhM2U4NDFhYTRhMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5oCkBAIC05MSwxMSArOTEsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNldEltYWdlV2l0aG91dENvbnNpZGVyaW5nUGVuZGluZ0xvYWRFdmVudChDYWNoZWRJbWFnZSop
OwogICAgIHZvaWQgY2xlYXJGYWlsZWRMb2FkVVJMKCk7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQo
VGltZXI8SW1hZ2VMb2FkZXI+Jik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJik7CiAKICAg
ICBFbGVtZW50JiBtX2VsZW1lbnQ7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1h
Z2U+IG1faW1hZ2U7Ci0gICAgVGltZXI8SW1hZ2VMb2FkZXI+IG1fZGVyZWZFbGVtZW50VGltZXI7
CisgICAgVGltZXIgbV9kZXJlZkVsZW1lbnRUaW1lcjsKICAgICBBdG9taWNTdHJpbmcgbV9mYWls
ZWRMb2FkVVJMOwogICAgIGJvb2wgbV9oYXNQZW5kaW5nQmVmb3JlTG9hZEV2ZW50IDogMTsKICAg
ICBib29sIG1faGFzUGVuZGluZ0xvYWRFdmVudCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xv
YWRlci5jcHAKaW5kZXggZTYzYmJmMGMyMmU1NmQ2Y2VhMTVhZjMxZmU3ZDhlMzlhNDk3YjcyNC4u
OTk1ZmM3MDU1MDBlNTI1Y2RlYTQ4YTA1NWYwZWU0NWU0ZDcyOTIwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9MaW5rTG9hZGVyLmNwcApAQCAtNjAsMTMgKzYwLDEzIEBAIExpbmtMb2FkZXI6On5MaW5r
TG9hZGVyKCkKICAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlz
KTsKIH0KIAotdm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xv
YWRlcj4mIHRpbWVyKQordm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXIm
IHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9h
ZFRpbWVyKTsKICAgICBtX2NsaWVudC0+bGlua0xvYWRlZCgpOwogfQogCi12b2lkIExpbmtMb2Fk
ZXI6OmxpbmtMb2FkaW5nRXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+JiB0aW1lcikK
K3ZvaWQgTGlua0xvYWRlcjo6bGlua0xvYWRpbmdFcnJvclRpbWVyRmlyZWQoVGltZXImIHRpbWVy
KQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9hZGluZ0Vy
cm9yVGltZXIpOwogICAgIG1fY2xpZW50LT5saW5rTG9hZGluZ0Vycm9yZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTGlua0xvYWRlci5oCmluZGV4IDQyYjc1NmM0MzI0YTJhZWYxNTZhMjY2NmYxYzQ0NzQ1
MzlhYmMxYWMuLmFkNGQ1NzlmMDhjY2UzMzc1M2NhZTcwNWNjOWZhOWNjMzZiMzE5YjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaApAQCAtNTksMTQgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBib29sIGxvYWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IFN0cmluZyYgc2l6ZXMsIGNvbnN0IFVSTCYsIERvY3VtZW50Kik7CiAKIHByaXZh
dGU6Ci0gICAgdm9pZCBsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xvYWRlcj4mKTsKLSAg
ICB2b2lkIGxpbmtMb2FkaW5nRXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+Jik7Cisg
ICAgdm9pZCBsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXImKTsKKyAgICB2b2lkIGxpbmtMb2FkaW5n
RXJyb3JUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBMaW5rTG9hZGVyQ2xpZW50KiBtX2NsaWVu
dDsKIAogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBtX2NhY2hlZExp
bmtSZXNvdXJjZTsKLSAgICBUaW1lcjxMaW5rTG9hZGVyPiBtX2xpbmtMb2FkVGltZXI7Ci0gICAg
VGltZXI8TGlua0xvYWRlcj4gbV9saW5rTG9hZGluZ0Vycm9yVGltZXI7CisgICAgVGltZXIgbV9s
aW5rTG9hZFRpbWVyOworICAgIFRpbWVyIG1fbGlua0xvYWRpbmdFcnJvclRpbWVyOwogfTsKICAg
ICAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApp
bmRleCAyMWMzODA0Y2RjN2JmNzc3YjMxOTBjYmMzMjBhOWMyMDI3MWYwMmRmLi5hYzZlMDhhODcy
NTVhZDkxOTc3Yzc5MDMzNGU1NTllZTk2MWVjOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSYpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRTdGFydFRpbWVyKEZyYW1lJikgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBk
aWRTdGFydFRpbWVyKEZyYW1lJiwgVGltZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4mKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRUaW1lcihGcmFtZSYsIFRpbWVyJikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYsIGJvb2wgLyogbmV3TG9hZEluUHJvZ3Jlc3Mg
Ki8pIHsgfQogCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyByZXR1cm4gbV9kZWxheTsgfQpA
QCAtMTEzLDcgKzExMyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hh
bmdlTG9jYXRpb24obV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgbV91cmwsIG1fcmVmZXJyZXIsIGxv
Y2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgZmFsc2UpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBkaWRTdGFydFRpbWVyKEZyYW1lJiBmcmFtZSwgVGltZXI8TmF2aWdhdGlv
blNjaGVkdWxlcj4mIHRpbWVyKSBvdmVycmlkZQorICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFRp
bWVyKEZyYW1lJiBmcmFtZSwgVGltZXImIHRpbWVyKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
aWYgKG1faGF2ZVRvbGRDbGllbnQpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yNDksNyArMjQ5
LDcgQEAgcHVibGljOgogICAgICAgICBmcmFtZS5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KGZy
YW1lUmVxdWVzdCwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBtX3N1Ym1p
c3Npb24tPmV2ZW50KCksIG1fc3VibWlzc2lvbi0+c3RhdGUoKSwgTWF5YmVTZW5kUmVmZXJyZXIs
IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzKTsKICAgICB9CiAgICAgCi0gICAgdmly
dHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIoRnJhbWUmIGZyYW1lLCBUaW1lcjxOYXZpZ2F0aW9uU2No
ZWR1bGVyPiYgdGltZXIpIG92ZXJyaWRlCisgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIo
RnJhbWUmIGZyYW1lLCBUaW1lciYgdGltZXIpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAo
bV9oYXZlVG9sZENsaWVudCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQzMCw3ICs0MzAsNyBA
QCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlSGlzdG9yeU5hdmlnYXRpb24oaW50
IHN0ZXBzKQogICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlxdWU8U2NoZWR1bGVkSGlzdG9yeU5h
dmlnYXRpb24+KHN0ZXBzKSk7CiB9CiAKLXZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6dGltZXJG
aXJlZChUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiYpCit2b2lkIE5hdmlnYXRpb25TY2hlZHVs
ZXI6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmICghbV9mcmFtZS5wYWdlKCkpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5o
CmluZGV4IDdkYjIxYTcyYzFkNjI4N2Q1MGZmNTczNzkwNzllZjgzYzNkOWMzN2MuLjM1NmYxODhm
YjIwM2I1MDgzOGUxMDE3YTAxMTg0NDg1NmM5ZWI2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtODMsMTMgKzgzLDEzIEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBzaG91bGRTY2hlZHVsZU5hdmlnYXRpb24oKSBjb25zdDsKICAgICBib29sIHNob3Vs
ZFNjaGVkdWxlTmF2aWdhdGlvbihjb25zdCBVUkwmKSBjb25zdDsKIAotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lciYpOwogICAgIHZvaWQgc2NoZWR1bGUoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmln
YXRpb24+KTsKIAogICAgIHN0YXRpYyBMb2NrQmFja0ZvcndhcmRMaXN0IG11c3RMb2NrQmFja0Zv
cndhcmRMaXN0KEZyYW1lJiB0YXJnZXRGcmFtZSk7CiAKICAgICBGcmFtZSYgbV9mcmFtZTsKLSAg
ICBUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+IG1fcmVkaXJlY3Q7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCBiM2JlYzA2Y2JiYmExMWZlNzJk
YzZkMDdlOTVkZjU2NmQ0ZWZkOGJmLi5iN2I4NWVmYjNiMmZmMGZmZmU3MGEzODJmMzNlNWVhNzhj
MzI5ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTY5LDEwICs2OSwxMCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFu
ZGxlKiwgZG91YmxlKSBvdmVycmlkZSB7IGRlbGV0ZSB0aGlzOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGUg
eyBkZWxldGUgdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZShSZXNvdXJjZUhhbmRsZSopICBvdmVycmlkZSB7IHJldHVybiBtX3Nob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlOyB9Ci0gICAgdm9pZCB0aW1lb3V0VGltZXJGaXJlZChUaW1lcjxQaW5nTG9h
ZGVyPiYpIHsgZGVsZXRlIHRoaXM7IH0KKyAgICB2b2lkIHRpbWVvdXRUaW1lckZpcmVkKFRpbWVy
JikgeyBkZWxldGUgdGhpczsgfQogCiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBtX2hhbmRs
ZTsKLSAgICBUaW1lcjxQaW5nTG9hZGVyPiBtX3RpbWVvdXQ7CisgICAgVGltZXIgbV90aW1lb3V0
OwogICAgIGJvb2wgbV9zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggMjBkNDQ2MTA5MDEwZTU1NTgz
MmIzYmIyYjYxNjg0MDMzN2UyZGQ0MC4uZTllOTUwNDAwY2ViNjU0OWVjNjhlM2FkY2Q2OGQxY2M3
ZDY3YTYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAg
LTMwNSw3ICszMDUsNyBAQCBib29sIFByb2dyZXNzVHJhY2tlcjo6aXNNYWluTG9hZFByb2dyZXNz
aW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9wcm9ncmVzc1ZhbHVlICYmIG1fcHJvZ3Jlc3NWYWx1
ZSA8IGZpbmFsUHJvZ3Jlc3NWYWx1ZSAmJiBtX2hlYXJ0YmVhdHNXaXRoTm9Qcm9ncmVzcyA8IGxv
YWRTdGFsbGVkSGVhcnRiZWF0Q291bnQ7CiB9CiAKLXZvaWQgUHJvZ3Jlc3NUcmFja2VyOjpwcm9n
cmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NUcmFja2VyPiYpCit2b2lkIFBy
b2dyZXNzVHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBpZiAobV90b3RhbEJ5dGVzUmVjZWl2ZWQgPCBtX3RvdGFsQnl0ZXNSZWNlaXZlZEJlZm9yZVBy
ZXZpb3VzSGVhcnRiZWF0ICsgbWludW11bUJ5dGVzUGVySGVhcnRiZWF0Rm9yUHJvZ3Jlc3MpCiAg
ICAgICAgICsrbV9oZWFydGJlYXRzV2l0aE5vUHJvZ3Jlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNDQwM2I0ZDY5Y2E5MDMwYTk2YTljNGFhMzM2ZWQ4OWIy
Y2Y0MjQ3ZC4uOGEzOWExMTUxN2RlZjU0OGE2YjQ0ZWU5NjEzZWRkYjAxYzI4YjczMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtNjYsNyArNjYsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGZpbmFsUHJvZ3Jlc3NDb21wbGV0ZSgp
OwogCi0gICAgdm9pZCBwcm9ncmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NU
cmFja2VyPiYpOworICAgIHZvaWQgcHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyJik7
CiAgICAgCiAgICAgc3RhdGljIHVuc2lnbmVkIGxvbmcgc191bmlxdWVJZGVudGlmaWVyOwogICAg
IApAQCAtODIsNyArODIsNyBAQCBwcml2YXRlOgogICAgIGludCBtX251bVByb2dyZXNzVHJhY2tl
ZEZyYW1lczsKICAgICBIYXNoTWFwPHVuc2lnbmVkIGxvbmcsIHN0ZDo6dW5pcXVlX3B0cjxQcm9n
cmVzc0l0ZW0+PiBtX3Byb2dyZXNzSXRlbXM7CiAKLSAgICBUaW1lcjxQcm9ncmVzc1RyYWNrZXI+
IG1fcHJvZ3Jlc3NIZWFydGJlYXRUaW1lcjsKKyAgICBUaW1lciBtX3Byb2dyZXNzSGVhcnRiZWF0
VGltZXI7CiAgICAgdW5zaWduZWQgbV9oZWFydGJlYXRzV2l0aE5vUHJvZ3Jlc3M7CiAgICAgbG9u
ZyBsb25nIG1fdG90YWxCeXRlc1JlY2VpdmVkQmVmb3JlUHJldmlvdXNIZWFydGJlYXQ7CiAgICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX21haW5Mb2FkQ29tcGxldGlv
blRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCmluZGV4IDhhNDFiODc1NWIwZDEzYzkyYzIyOTc2ZDBkNzE1MjQzMzA1OTQ2Y2EuLjZkOGI5
ZTdmZTQ5NmJhOTU1YTE4ODg3ZmU5YjYwNWQ3MDZjMjhlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCkBAIC0zMzIsNyArMzMyLDcgQEAg
dm9pZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMo
KQogICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+JikKK3ZvaWQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJl
ZChUaW1lciYpCiB7CiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6cmVxdWVzdFRpbWVyRmlyZWRcbiIpOwogICAgIHNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXgg
NDExMWU3OTA5MjI3ZDI2OGQ2MTlkZjc1NjFkM2E5YmU1NjI5YTlkMC4uNWIzNzQyZjM5MzFmMDlm
YzM1YTkxNmI2NTFiMjYxOTk0MWFlMzM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2
YXRlOgogICAgIHZvaWQgc2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyKik7CiAgICAgdm9pZCBz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7Ci0gICAgdm9pZCByZXF1ZXN0VGltZXJGaXJl
ZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Jik7CisgICAgdm9pZCByZXF1ZXN0VGltZXJG
aXJlZChUaW1lciYpOwogCiAgICAgYm9vbCBpc1N1c3BlbmRpbmdQZW5kaW5nUmVxdWVzdHMoKSBj
b25zdCB7IHJldHVybiAhIW1fc3VzcGVuZFBlbmRpbmdSZXF1ZXN0c0NvdW50OyB9CiAKQEAgLTEy
NCw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIEhvc3RNYXAgbV9ob3N0czsKICAgICBIb3N0SW5m
b3JtYXRpb24qIG1fbm9uSFRUUFByb3RvY29sSG9zdDsKICAgICAgICAgCi0gICAgVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiBtX3JlcXVlc3RUaW1lcjsKKyAgICBUaW1lciBtX3JlcXVlc3RU
aW1lcjsKIAogICAgIHVuc2lnbmVkIG1fc3VzcGVuZFBlbmRpbmdSZXF1ZXN0c0NvdW50OwogICAg
IGJvb2wgbV9pc1NlcmlhbExvYWRpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmNwcAppbmRleCAwZjI3YjkyODA3ZjM5MWNmNDBlZjhmZWJlMzg5MTU3Mzdm
MDM1YzJiLi5lZDBjYjc1YjdiMTY4MmUzYmQ1ZThkZTE0NGUzZmUyMTZiNTM5Y2FlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtNTksNyArNTksNyBAQCBU
ZXh0VHJhY2tMb2FkZXI6On5UZXh0VHJhY2tMb2FkZXIoKQogICAgICAgICBtX3Jlc291cmNlLT5y
ZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKLXZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjdWVMb2FkVGlt
ZXJGaXJlZChUaW1lcjxUZXh0VHJhY2tMb2FkZXI+KiB0aW1lcikKK3ZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpjdWVMb2FkVGltZXJGaXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNF
RCh0aW1lciwgdGltZXIgPT0gJm1fY3VlTG9hZFRpbWVyKTsKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0VHJhY2tMb2FkZXIuaAppbmRleCBjOTg4NmM4ZjQ3NjNjOGE3N2EwYmFmYTQ3YzI4
NmQxNmI4NDc4OGVlLi4xODdmZmJlZmIyOGU0YmNjM2Y4MzBjZTA5MzkzYzI4ZTUzOWQ0YTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5oCkBAIC04MCw3ICs4MCw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpbGVGYWlsZWRUb1BhcnNlKCkgb3ZlcnJpZGU7
CiAgICAgCiAgICAgdm9pZCBwcm9jZXNzTmV3Q3VlRGF0YShDYWNoZWRSZXNvdXJjZSopOwotICAg
IHZvaWQgY3VlTG9hZFRpbWVyRmlyZWQoVGltZXI8VGV4dFRyYWNrTG9hZGVyPiopOworICAgIHZv
aWQgY3VlTG9hZFRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIGNvcnNQb2xpY3lQcmV2ZW50
ZWRMb2FkKCk7CiAKICAgICBlbnVtIFN0YXRlIHsgSWRsZSwgTG9hZGluZywgRmluaXNoZWQsIEZh
aWxlZCB9OwpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJWVFRQYXJzZXI+IG1fY3VlUGFyc2VyOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFRleHRUcmFjaz4gbV9yZXNvdXJjZTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0gICAgVGltZXI8VGV4dFRyYWNrTG9hZGVyPiBtX2N1ZUxv
YWRUaW1lcjsKKyAgICBUaW1lciBtX2N1ZUxvYWRUaW1lcjsKICAgICBTdHJpbmcgbV9jcm9zc09y
aWdpbk1vZGU7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICB1bnNpZ25lZCBtX3BhcnNlT2Zmc2V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5k
ZXggY2VlZTU4YzAzMjQ2ZjhjOGFkZWZkZjE1MTM3NmYyYjFjZTljMzhiYi4uMWU4NWY1YTFiMmQx
ZDQzNDgyMzc5YmEyYjdmYjIwZTNlYmJlM2E0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC03NDIsNyArNzQyLDcgQEAgaW5saW5lIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQogICAgICAgICBtX3RpbWVyLnN0
b3AoKTsKIH0KIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OnRpbWVyRmlyZWQoVGlt
ZXI8Q2FsbGJhY2s+JikKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjp0aW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX3Jlc291cmNlLmRpZEFkZENsaWVudCgmbV9jbGllbnQpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCBiZjZl
OTk3NDEwZWMyMzcwMTg2OTIyOGFkMGM1OGRiNDBkYTI5NmNjLi5iY2NlMjc0MzVjMzUwZWJhYWY2
MmVmYmMwZjlhYTU4ZWMxOGJlNTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaApAQCAtMzQ3LDExICszNDcsMTEgQEAgcHVibGljOgogICAgIHZvaWQg
Y2FuY2VsKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPENhbGxiYWNr
PiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgQ2FjaGVkUmVzb3VyY2Um
IG1fcmVzb3VyY2U7CiAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnQmIG1fY2xpZW50OwotICAgIFRp
bWVyPENhbGxiYWNrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBkMTYwODQ5MDRlMTJlMGNkMTJlZmMyNjEwNWM4
OTQ4NGY4MGIxYjcyLi5hNzBjODYyNTIwMzA0OGM3NDA1NDdkMGRkODdlMDVmOWZhYmNlMjNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTc3OCw3ICs3NzgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjps
b2FkRG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogLy8g
Ym9va2tlZXBpbmcgb24gQ2FjaGVkUmVzb3VyY2VzLCBzbyBpbnN0ZWFkIHBzZXVkby1HQyB0aGVt
IC0tIHdoZW4gdGhlCiAvLyByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAxLCBtX2RvY3VtZW50UmVz
b3VyY2VzIGlzIHRoZSBvbmx5IHJlZmVyZW5jZSwgc28KIC8vIHJlbW92ZSBpdCBmcm9tIHRoZSBt
YXAuCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVz
b3VyY2VzVGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4mIHRpbWVyKQordm9p
ZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1Rp
bWVyRmlyZWQoVGltZXImIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1l
ciA9PSAmbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIpOwogICAgIGdhcmJh
Z2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggNzA3NmM4NjBjYzk0YWQwNDRh
YjYwZmY0MTZiNGEzMTZmZTkxZjVjYi4uNjZhODEyZGQwMjlmNjJmMDg3MmQ2NDFiMDMxNmE2NmE1
ZmFmM2M1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKQEAgLTE1Miw3ICsxNTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hv
dWxkQ29udGludWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1vcnlDYWNoZShjb25zdCBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZWRSZXNvdXJjZSopOwogICAgIGJvb2wgY2hlY2tJbnNl
Y3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYpIGNvbnN0OwogCi0g
ICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXJGaXJlZChUaW1lcjxD
YWNoZWRSZXNvdXJjZUxvYWRlcj4mKTsKKyAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRS
ZXNvdXJjZXNUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rp
b25zKCk7CiAKICAgICBib29sIGNsaWVudERlZmVyc0ltYWdlKGNvbnN0IFVSTCYpIGNvbnN0OwpA
QCAtMTczLDcgKzE3Myw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBEZXF1ZTxQZW5kaW5nUHJl
bG9hZD4gbV9wZW5kaW5nUHJlbG9hZHM7CiAKLSAgICBUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRl
cj4gbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CisgICAgVGltZXIgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CiAKICNpZiBFTkFCTEUoUkVTT1VS
Q0VfVElNSU5HKQogICAgIHN0cnVjdCBJbml0aWF0b3JJbmZvIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IDY3ZGMwZDliNGIyMzQxODIxNzE0NjE4
NzdmZWQ3MGJiMmE5ZDVkYzIuLmFiY2IwY2IzNDVhZmU2MDk2ZDBmNDA4MTQ4YjNmOTI1YWZiZWRj
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAt
ODU1LDcgKzg1NSw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzY2hlZHVsZU9yRGVmZXJTeW5jVGlt
ZXIoKQogICAgIH0pOwogfQogCi12b2lkIEljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQoVGlt
ZXI8SWNvbkRhdGFiYXNlPiYpCit2b2lkIEljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIEFTU0VSVF9OT1RfU1lOQ19USFJFQUQoKTsKICAgICB3YWtlU3luY1RocmVh
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA5MTA3
MGM4MGIyMjg2MGY0YTM4NGVmZjU2OTc1MzM0NzliYmJhYTNmLi40ZTA0OTA0MzFlZWI5OTkxZDVl
NWZjMGEzMWI4MWE5NDg4MjM4MmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaApAQCAtMTE1LDkgKzExNSw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdha2VT
eW5jVGhyZWFkKCk7CiAgICAgdm9pZCBzY2hlZHVsZU9yRGVmZXJTeW5jVGltZXIoKTsKLSAgICB2
b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPEljb25EYXRhYmFzZT4mKTsKKyAgICB2b2lkIHN5bmNU
aW1lckZpcmVkKFRpbWVyJik7CiAgICAgCi0gICAgVGltZXI8SWNvbkRhdGFiYXNlPiBtX3N5bmNU
aW1lcjsKKyAgICBUaW1lciBtX3N5bmNUaW1lcjsKICAgICBUaHJlYWRJZGVudGlmaWVyIG1fc3lu
Y1RocmVhZDsKICAgICBib29sIG1fc3luY1RocmVhZFJ1bm5pbmc7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IDI5OTcxZTk3MjEwMzNk
ZmIxZjcwZDdlZjk5NzlkNGQ1NmNmZjU3ZGYuLmIxZGNmZjI1YmRjMzAxMDEzZDcyOWJmOWU4NjFj
NWFhODU4NTY5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xs
ZXIuY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgYm9vbCBBdXRvc2Nyb2xsQ29udHJvbGxlcjo6cGFu
U2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0CiB9CiAjZW5kaWYKIAotdm9pZCBBdXRvc2Nyb2xsQ29u
dHJvbGxlcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQoVGltZXI8QXV0b3Njcm9sbENvbnRyb2xsZXI+
JikKK3ZvaWQgQXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVy
JikKIHsKICAgICBpZiAoIW1fYXV0b3Njcm9sbFJlbmRlcmVyKSB7CiAgICAgICAgIHN0b3BBdXRv
c2Nyb2xsVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9s
bENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIu
aAppbmRleCBhMDA5ZWE1NmQyZDdiNWFkZWRkYWFjMDVhOWY4YWY1MmM5ZTk1NDIyLi5hMDYwZjlh
NGQ0ZWVlZmZkNmEyYTEwNGYyODA3NDYyOGFkYTdjMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5oCkBAIC02OSwxMyArNjksMTMgQEAgcHVibGljOgogI2Vu
ZGlmCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxBdXRv
c2Nyb2xsQ29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVy
Jik7CiAgICAgdm9pZCBzdGFydEF1dG9zY3JvbGxUaW1lcigpOwogI2lmIEVOQUJMRShQQU5fU0NS
T0xMSU5HKQogICAgIHZvaWQgdXBkYXRlUGFuU2Nyb2xsU3RhdGUoRnJhbWVWaWV3KiwgY29uc3Qg
SW50UG9pbnQmKTsKICNlbmRpZgogCi0gICAgVGltZXI8QXV0b3Njcm9sbENvbnRyb2xsZXI+IG1f
YXV0b3Njcm9sbFRpbWVyOworICAgIFRpbWVyIG1fYXV0b3Njcm9sbFRpbWVyOwogICAgIFJlbmRl
ckJveCogbV9hdXRvc2Nyb2xsUmVuZGVyZXI7CiAgICAgQXV0b3Njcm9sbFR5cGUgbV9hdXRvc2Ny
b2xsVHlwZTsKICAgICBJbnRQb2ludCBtX2RyYWdBbmREcm9wQXV0b3Njcm9sbFJlZmVyZW5jZVBv
c2l0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZl
cmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKaW5kZXggN2U5YTBjZTU4Y2E2ZGEyODc1YTU1MGM5Mzk2MWI0N2IzYjljOTNhYi4uOWVjMDVk
NzQ1MWU4OGFkYjQyMGIzNDNhMjUxOTNjZDg2MWFkOWUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC01Miw3ICs1Miw3IEBAIENhcHRp
b25Vc2VyUHJlZmVyZW5jZXM6On5DYXB0aW9uVXNlclByZWZlcmVuY2VzKCkKIHsKIH0KIAotdm9p
ZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0aW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXM+JikKK3ZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6dGltZXJGaXJlZChUaW1l
ciYpCiB7CiAgICAgY2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaAppbmRleCAwZDA0NWViMmNkODhlMzMy
MjJhZjU4MWU0MmE4NTQ0ZDViZThiNDI3Li42ZjAyYjU3ZDAzY2VlZTUxYWIyOGZjY2IzZjQyZDdh
MTE3MjY5ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuaApAQCAtOTcsMTIgKzk3LDEyIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZUNhcHRp
b25TdHlsZVNoZWV0T3ZlcmlkZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxDYXB0aW9uVXNlclByZWZlcmVuY2VzPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1l
ciYpOwogICAgIHZvaWQgbm90aWZ5KCk7CiAKICAgICBQYWdlR3JvdXAmIG1fcGFnZUdyb3VwOwog
ICAgIENhcHRpb25EaXNwbGF5TW9kZSBtX2Rpc3BsYXlNb2RlOwotICAgIFRpbWVyPENhcHRpb25V
c2VyUHJlZmVyZW5jZXM+IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKICAgICBTdHJpbmcg
bV91c2VyUHJlZmVycmVkTGFuZ3VhZ2U7CiAgICAgU3RyaW5nIG1fY2FwdGlvbnNTdHlsZVNoZWV0
T3ZlcnJpZGU7CiAgICAgU3RyaW5nIG1fcHJpbWFyeUF1ZGlvVHJhY2tMYW5ndWFnZU92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2Vz
TWVkaWFBRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGLmNwcAppbmRleCA5YzVhOTE5OTRjN2RkNjg2Y2YwN2RmYzVkYjcyOGQxOTg2ODVmNDQ3
Li4zYmI3NjI4YWJhZjJjMDc4NTQzZWEzNDkyNDU3MTBhZWFmMzE1NjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcApA
QCAtMjI0LDcgKzIyNCw3IEBAIGJvb2wgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnVz
ZXJQcmVmZXJzU3VidGl0bGVzKCkgY29uc3QKICAgICByZXR1cm4gIShjYXB0aW9uaW5nTWVkaWFD
aGFyYWN0ZXJpc3RpY3MgJiYgQ0ZBcnJheUdldENvdW50KGNhcHRpb25pbmdNZWRpYUNoYXJhY3Rl
cmlzdGljcy5nZXQoKSkpOwogfQogCi12b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
Ojp1cGRhdGVUaW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGPiYp
Cit2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjp1cGRhdGVUaW1lckZpcmVkKFRp
bWVyJikKIHsKICAgICB1cGRhdGVDYXB0aW9uU3R5bGVTaGVldE92ZXJpZGUoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuaApp
bmRleCA3MTY5MGQ1NzM3NmQ1YTMwYzkxMDhjZDliNTJlN2JiYzAyMmVmMGMxLi44YjBiYmM3MzRj
NGFlN2RkOTQ0Mjg4Y2IyYjRjZGQ2NjlhNzhjNzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oCkBAIC02OCw3ICs2OCw3IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICNpZiBIQVZFKE1FRElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQotICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lcjxDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRj4mKTsKKyAgICB2b2lkIHVwZGF0ZVRpbWVyRmlyZWQoVGltZXImKTsKIAogICAg
IFN0cmluZyBjYXB0aW9uc1dpbmRvd0NTUygpIGNvbnN0OwogICAgIFN0cmluZyBjYXB0aW9uc0Jh
Y2tncm91bmRDU1MoKSBjb25zdDsKQEAgLTgwLDcgKzgwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgY2FwdGlvbnNUZXh0RWRnZUNTUygpIGNvbnN0OwogICAgIFN0cmluZyBjc3NQcm9wZXJ0eVdp
dGhUZXh0RWRnZUNvbG9yKENTU1Byb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IENvbG9y
JiwgYm9vbCkgY29uc3Q7CiAgICAgU3RyaW5nIGNvbG9yUHJvcGVydHlDU1MoQ1NTUHJvcGVydHlJ
RCwgY29uc3QgQ29sb3ImLCBib29sKSBjb25zdDsKLSAgICBUaW1lcjxDYXB0aW9uVXNlclByZWZl
cmVuY2VzTWVkaWFBRj4gbV91cGRhdGVTdHlsZVNoZWV0VGltZXI7CisgICAgVGltZXIgbV91cGRh
dGVTdHlsZVNoZWV0VGltZXI7CiAKICAgICBib29sIG1fbGlzdGVuaW5nRm9yUHJlZmVyZW5jZUNo
YW5nZXM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGEyYmFhMjNjMGJkMjcxOGNhYmE3YzZkYzY5MmZmNzFkN2RjZjg1YjEuLjZhMGUwMTE3YmI2
YzdjOTE2Nzk1Y2FkNWY1ZDQxMDlhMTIxYjAwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZp
Y2VDb250cm9sbGVyLmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6
OmRpc3BhdGNoRGV2aWNlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gcHJwRXZlbnQpCiAgICAgfQog
fQogCi12b2lkIERldmljZUNvbnRyb2xsZXI6OmZpcmVEZXZpY2VFdmVudChUaW1lcjxEZXZpY2VD
b250cm9sbGVyPiYgdGltZXIpCit2b2lkIERldmljZUNvbnRyb2xsZXI6OmZpcmVEZXZpY2VFdmVu
dChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZt
X3RpbWVyKTsKICAgICBBU1NFUlQoaGFzTGFzdERhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2
aWNlQ29udHJvbGxlci5oCmluZGV4IDJhYmZiNzk4ZjNjMTkxYzAzYjVjNjAzYmNiNTNmOWY2NzRj
Yzk3ZTMuLmM0NjQwM2Q0ZjQyN2E3NWZlOTgyOGVkYWFlNzZkNmNmYzc4ZGNlMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCkBAIC01NiwxMiArNTYsMTIgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCkgeyByZXR1cm4g
MDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaXJlRGV2aWNlRXZlbnQoVGltZXI8RGV2aWNl
Q29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGZpcmVEZXZpY2VFdmVudChUaW1lciYpOwogCiAgICAg
SGFzaENvdW50ZWRTZXQ8UmVmUHRyPERPTVdpbmRvdz4+IG1fbGlzdGVuZXJzOwogICAgIEhhc2hD
b3VudGVkU2V0PFJlZlB0cjxET01XaW5kb3c+PiBtX2xhc3RFdmVudExpc3RlbmVyczsKICAgICBE
ZXZpY2VDbGllbnQqIG1fY2xpZW50OwotICAgIFRpbWVyPERldmljZUNvbnRyb2xsZXI+IG1fdGlt
ZXI7CisgICAgVGltZXIgbV90aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlNWNhZDZiYWZmYmRlYzM3NzdjZDg3
YmZjMGRmOTIwZTVlYzIwOTdjLi45MmZlNjVjYTI1YTEyZDNjNTVlZGNiYjYyZDUzZGJiODRkYjE1
YmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xMzEwLDcgKzEzMTAs
NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6dXNlSGFuZEN1cnNvcihOb2RlKiBub2RlLCBib29sIGlz
T3ZlckxpbmssIGJvb2wgc2hpZnRLZXkpCiAgICAgcmV0dXJuICgoaXNPdmVyTGluayB8fCBpc1N1
Ym1pdEltYWdlKG5vZGUpKSAmJiAoIWVkaXRhYmxlIHx8IGVkaXRhYmxlTGlua0VuYWJsZWQpKTsK
IH0KIAotdm9pZCBFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RXZl
bnRIYW5kbGVyPiYpCit2b2lkIEV2ZW50SGFuZGxlcjo6Y3Vyc29yVXBkYXRlVGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAgICAgdXBkYXRlQ3Vy
c29yKCk7CkBAIC0xNTUzLDcgKzE1NTMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0
b0hpZGVDdXJzb3JUaW1lcigpCiAgICAgICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1lci5zdG9wKCk7
CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8
RXZlbnRIYW5kbGVyPiYgdGltZXIpCit2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JU
aW1lckZpcmVkKFRpbWVyJiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCAmdGlt
ZXIgPT0gJm1fYXV0b0hpZGVDdXJzb3JUaW1lcik7CiAgICAgbV9jdXJyZW50TW91c2VDdXJzb3Ig
PSBub25lQ3Vyc29yKCk7CkBAIC0xNTc2LDcgKzE1NzYsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
YmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzKGNvbnN0IEhpdFRlc3RSZXN1bHQm
IGhpdAogICAgIHBhZ2UtPmNocm9tZSgpLmRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91
c2VQcmVzcyhtX21vdXNlRG93blBvcywgaGl0VGVzdFJlc3VsdCk7CiB9CiAgICAgCi12b2lkIEV2
ZW50SGFuZGxlcjo6cmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXI8RXZlbnRIYW5kbGVyPiYg
dGltZXIpCit2b2lkIEV2ZW50SGFuZGxlcjo6cmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXIm
IHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9sb25nTW91
c2VQcmVzc1RpbWVyKTsKIApAQCAtMjk0NCw3ICsyOTQ0LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6
OmNhbmNlbEZha2VNb3VzZU1vdmVFdmVudCgpCiAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1l
ci5zdG9wKCk7CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjpmYWtlTW91c2VNb3ZlRXZlbnRUaW1l
ckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mIHRpbWVyKQordm9pZCBFdmVudEhhbmRsZXI6OmZh
a2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXImIHRpbWVyKQogewogICAgIEFTU0VSVF9V
TlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lcik7CiAgICAg
QVNTRVJUKCFtX21vdXNlUHJlc3NlZCk7CkBAIC0yOTgwLDcgKzI5ODAsNyBAQCB2b2lkIEV2ZW50
SGFuZGxlcjo6cmVzaXplTGF5ZXJEZXN0cm95ZWQoKQogICAgIG1fcmVzaXplTGF5ZXIgPSAwOwog
fQogCi12b2lkIEV2ZW50SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxl
cj4mKQordm9pZCBFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
bV9ob3ZlclRpbWVyLnN0b3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXgg
MzdlYTc1ZGE4ZGYzYTEzNDViODgzNTMyMTk0YzY4NmRkNTc5OTBlYS4uOWNkODU3YWM2OTBmYzJm
NTllMjI5OThhMzlkMjZjYTkyM2E5MTFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CkBAIC0zMjYsOSArMzI2LDkgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsQ3Vyc29yIHNlbGVj
dEN1cnNvcihjb25zdCBIaXRUZXN0UmVzdWx0JiwgYm9vbCBzaGlmdEtleSk7CiAKLSAgICB2b2lk
IGhvdmVyVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+Jik7CisgICAgdm9pZCBob3ZlclRp
bWVyRmlyZWQoVGltZXImKTsKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCi0gICAgdm9pZCBj
dXJzb3JVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mKTsKKyAgICB2b2lkIGN1
cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgogCiAgICAgYm9vbCBsb2dpY2Fs
U2Nyb2xsT3ZlcmZsb3coU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHks
IE5vZGUqIHN0YXJ0aW5nTm9kZSA9IDApOwpAQCAtMzQxLDcgKzM0MSw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIGJvb2wgZXZlbnRJbnZlcnRzVGFic1RvTGlua3NDbGllbnRDYWxsUmVzdWx0KEtl
eWJvYXJkRXZlbnQqKTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICB2b2lk
IGZha2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiYpOworICAg
IHZvaWQgZmFrZU1vdXNlTW92ZUV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgY2Fu
Y2VsRmFrZU1vdXNlTW92ZUV2ZW50KCk7CiAjZW5kaWYKIApAQCAtNDM3LDExICs0MzcsMTEgQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiAgICAgdm9pZCBzdGFydEF1
dG9IaWRlQ3Vyc29yVGltZXIoKTsKICAgICB2b2lkIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIo
KTsKLSAgICB2b2lkIGF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+
Jik7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgog
CiAgICAgdm9pZCBiZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoY29uc3QgSGl0
VGVzdFJlc3VsdCYpOwotICAgIHZvaWQgcmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXI8RXZl
bnRIYW5kbGVyPiYpOworICAgIHZvaWQgcmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXImKTsK
ICAgICB2b2lkIGNhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoKTsKICAgICBi
b29sIGxvbmdNb3VzZVByZXNzSHlzdGVyZXNpc0V4Y2VlZGVkKCk7CiAgICAgdm9pZCBjbGVhckxv
bmdNb3VzZVByZXNzU3RhdGUoKTsKQEAgLTQ3MCwxMiArNDcwLDEyIEBAIHByaXZhdGU6CiAKICAg
ICBib29sIG1fcGFuU2Nyb2xsQnV0dG9uUHJlc3NlZDsKIAotICAgIFRpbWVyPEV2ZW50SGFuZGxl
cj4gbV9ob3ZlclRpbWVyOworICAgIFRpbWVyIG1faG92ZXJUaW1lcjsKICNpZiBFTkFCTEUoQ1VS
U09SX1NVUFBPUlQpCi0gICAgVGltZXI8RXZlbnRIYW5kbGVyPiBtX2N1cnNvclVwZGF0ZVRpbWVy
OworICAgIFRpbWVyIG1fY3Vyc29yVXBkYXRlVGltZXI7CiAjZW5kaWYKIAotICAgIFRpbWVyPEV2
ZW50SGFuZGxlcj4gbV9sb25nTW91c2VQcmVzc1RpbWVyOworICAgIFRpbWVyIG1fbG9uZ01vdXNl
UHJlc3NUaW1lcjsKICAgICBib29sIG1fZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3M7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QXV0b3Njcm9sbENvbnRyb2xsZXI+IG1fYXV0b3Njcm9sbENvbnRy
b2xsZXI7CkBAIC00ODMsNyArNDgzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbW91c2VEb3du
V2FzSW5TdWJmcmFtZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICBUaW1l
cjxFdmVudEhhbmRsZXI+IG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXI7CisgICAgVGltZXIgbV9m
YWtlTW91c2VNb3ZlRXZlbnRUaW1lcjsKICNlbmRpZgogCiAgICAgYm9vbCBtX3N2Z1BhbjsKQEAg
LTU1OCw3ICs1NTgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0hhbmRsaW5nV2hlZWxFdmVu
dDsKIAogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKLSAgICBUaW1lcjxFdmVudEhhbmRs
ZXI+IG1fYXV0b0hpZGVDdXJzb3JUaW1lcjsKKyAgICBUaW1lciBtX2F1dG9IaWRlQ3Vyc29yVGlt
ZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggMzM2
ZTE1MWI2NDhjMTU2NTRkYWRhMDkyZmQ1NWYwMTljYTRhNTkzYy4uNjM1YzhlYWQwYWJmYjY2MGFj
NjY0Mzk0N2U0MmZhZTczNDQ5NzE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCgp
CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50
LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotdm9pZCBFdmVudFNvdXJjZTo6Y29ubmVjdFRpbWVyRmly
ZWQoVGltZXI8RXZlbnRTb3VyY2U+JikKK3ZvaWQgRXZlbnRTb3VyY2U6OmNvbm5lY3RUaW1lckZp
cmVkKFRpbWVyJikKIHsKICAgICBjb25uZWN0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKaW5kZXggZjJkMWMxMjU2NDcxMmVhNGI2NGNjYTVmNDc2MjljMjYxY2M2ZDU4Zi4uYTQ1MjVm
NDIzY2ZjMmUxMjVlM2NmNWYzZTkzNDk3NzUzY2YzN2NmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtOTcsNyArOTcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya1JlcXVl
c3RFbmRlZCgpOwogICAgIHZvaWQgc2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpOwogICAgIHZvaWQg
c2NoZWR1bGVSZWNvbm5lY3QoKTsKLSAgICB2b2lkIGNvbm5lY3RUaW1lckZpcmVkKFRpbWVyPEV2
ZW50U291cmNlPiYpOworICAgIHZvaWQgY29ubmVjdFRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIGFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKTsKICAgICB2b2lkIHBhcnNlRXZlbnRTdHJlYW0o
KTsKICAgICB2b2lkIHBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2lnbmVkIHBvcywgaW50IGZpZWxk
TGVuZ3RoLCBpbnQgbGluZUxlbmd0aCk7CkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVmUHRyPFRo
cmVhZGFibGVMb2FkZXI+IG1fbG9hZGVyOwotICAgIFRpbWVyPEV2ZW50U291cmNlPiBtX2Nvbm5l
Y3RUaW1lcjsKKyAgICBUaW1lciBtX2Nvbm5lY3RUaW1lcjsKICAgICBWZWN0b3I8VUNoYXI+IG1f
cmVjZWl2ZUJ1ZjsKICAgICBib29sIG1fZGlzY2FyZFRyYWlsaW5nTmV3bGluZTsKICAgICBib29s
IG1fcmVxdWVzdEluRmxpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3Bw
CmluZGV4IGMyZmViN2M4MGZhZDE2M2NhM2E0Y2U4ZTU3ODhhNTc3NzNiZGZlNDYuLjdhNWY1ZDRh
ZDEyNjgzMmVmYzRlOTk3YTg2NTk4Mjk4ZjMwNDE2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAKQEAgLTkxMiw3ICs5MTIsNyBAQCB2b2lkIEZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKQogICAgIG1fZm9jdXNSZXBhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDAuMDMzKTsKIH0KIAotdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmZvY3Vz
UmVwYWludFRpbWVyRmlyZWQoVGltZXI8Rm9jdXNDb250cm9sbGVyPiYpCit2b2lkIEZvY3VzQ29u
dHJvbGxlcjo6Zm9jdXNSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgRG9jdW1lbnQq
IGZvY3VzZWREb2N1bWVudCA9IGZvY3VzZWRPck1haW5GcmFtZSgpLmRvY3VtZW50KCk7CiAgICAg
aWYgKCFmb2N1c2VkRG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApp
bmRleCBiYzQ4ZDQzMzhmZTc4OWUxYTg2MWMxMDViN2M4YTQ3N2Q4MGM2NzYyLi4zNmYxMjAwODQ5
N2NhNWU4ZjcxOTk3NTViYzM1M2FjNjRmOTM5Yzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmgKQEAgLTEyMCwxNCArMTIwLDE0IEBAIHByaXZhdGU6CiAgICAgYm9vbCBhZHZh
bmNlRm9jdXNEaXJlY3Rpb25hbGx5SW5Db250YWluZXIoTm9kZSogY29udGFpbmVyLCBjb25zdCBM
YXlvdXRSZWN0JiBzdGFydGluZ1JlY3QsIEZvY3VzRGlyZWN0aW9uLCBLZXlib2FyZEV2ZW50Kik7
CiAgICAgdm9pZCBmaW5kRm9jdXNDYW5kaWRhdGVJbkNvbnRhaW5lcihOb2RlKiBjb250YWluZXIs
IGNvbnN0IExheW91dFJlY3QmIHN0YXJ0aW5nUmVjdCwgRm9jdXNEaXJlY3Rpb24sIEtleWJvYXJk
RXZlbnQqLCBGb2N1c0NhbmRpZGF0ZSYgY2xvc2VzdCk7CiAKLSAgICB2b2lkIGZvY3VzUmVwYWlu
dFRpbWVyRmlyZWQoVGltZXI8Rm9jdXNDb250cm9sbGVyPiYpOworICAgIHZvaWQgZm9jdXNSZXBh
aW50VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUGFnZSYgbV9wYWdlOwogICAgIFJlZlB0cjxG
cmFtZT4gbV9mb2N1c2VkRnJhbWU7CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdGb2N1c2VkRnJhbWU7
CiAgICAgVmlld1N0YXRlOjpGbGFncyBtX3ZpZXdTdGF0ZTsKIAotICAgIFRpbWVyPEZvY3VzQ29u
dHJvbGxlcj4gbV9mb2N1c1JlcGFpbnRUaW1lcjsKKyAgICBUaW1lciBtX2ZvY3VzUmVwYWludFRp
bWVyOwogICAgIGRvdWJsZSBtX2ZvY3VzU2V0VGltZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAK
aW5kZXggNWRkY2E0MjJiYTRkNjU5MTE3NWUzMWY1MTc4NWRkMjMzZDhjM2JhMi4uOWMzNzZhOTA1
M2Q5MDYyZGQwM2RjM2Y0MjI1MDMwOTA3YmMyNTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAg
LTUxNiw3ICs1MTYsNyBAQCB2b2lkIEZyYW1lOjpzY3JvbGxPdmVyZmxvd0xheWVyKFJlbmRlckxh
eWVyKiBsYXllciwgY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsCiAgICAgc2VsZWN0aW9uKCku
dXBkYXRlQXBwZWFyYW5jZSgpOwogfQogCi12b2lkIEZyYW1lOjpvdmVyZmxvd0F1dG9TY3JvbGxU
aW1lckZpcmVkKFRpbWVyPEZyYW1lPiopCit2b2lkIEZyYW1lOjpvdmVyZmxvd0F1dG9TY3JvbGxU
aW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAoIWV2ZW50SGFuZGxlcigpLm1vdXNlUHJlc3Nl
ZCgpIHx8IGNoZWNrT3ZlcmZsb3dTY3JvbGwoUGVyZm9ybU92ZXJmbG93U2Nyb2xsKSA9PSBPdmVy
Zmxvd1Njcm9sbE5vbmUpIHsKICAgICAgICAgaWYgKG1fb3ZlcmZsb3dBdXRvU2Nyb2xsVGltZXIu
aXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCA2ZWRkYTM0MjA3OTMwMzhmODMyZDdhODMy
M2ZmNzBhMTNmYWNhODYzLi5iZTc0OTQyNTk3YWEzMGQwZmVlMzkxZDhlNTdmMjVlMGFiNDA2YzYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0yOTUsMTMgKzI5NSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIGJvb2wgaGl0VGVzdFJlc3VsdEF0Vmlld3BvcnRMb2NhdGlvbihjb25zdCBG
bG9hdFBvaW50JiB2aWV3cG9ydExvY2F0aW9uLCBIaXRUZXN0UmVzdWx0JiwgSW50UG9pbnQmIGNl
bnRlcik7CiAgICAgICAgIE5vZGUqIHF1YWxpZnlpbmdOb2RlQXRWaWV3cG9ydExvY2F0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIHZpZXdwb3J0TG9jYXRpb24sIEZsb2F0UG9pbnQmIGFkanVzdGVkVmll
d3BvcnRMb2NhdGlvbiwgTm9kZVF1YWxpZmllciwgYm9vbCBzaG91bGRBcHByb3hpbWF0ZSk7CiAK
LSAgICAgICAgdm9pZCBvdmVyZmxvd0F1dG9TY3JvbGxUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiop
OworICAgICAgICB2b2lkIG92ZXJmbG93QXV0b1Njcm9sbFRpbWVyRmlyZWQoVGltZXIqKTsKICAg
ICAgICAgdm9pZCBzdGFydE92ZXJmbG93QXV0b1Njcm9sbChjb25zdCBJbnRQb2ludCYpOwogICAg
ICAgICBpbnQgY2hlY2tPdmVyZmxvd1Njcm9sbChPdmVyZmxvd1Njcm9sbEFjdGlvbik7CiAKICAg
ICAgICAgdm9pZCBzZXRUaW1lcnNQYXVzZWRJbnRlcm5hbChib29sKTsKIAotICAgICAgICBUaW1l
cjxGcmFtZT4gbV9vdmVyZmxvd0F1dG9TY3JvbGxUaW1lcjsKKyAgICAgICAgVGltZXIgbV9vdmVy
Zmxvd0F1dG9TY3JvbGxUaW1lcjsKICAgICAgICAgZmxvYXQgbV9vdmVyZmxvd0F1dG9TY3JvbGxE
ZWx0YTsKICAgICAgICAgSW50UG9pbnQgbV9vdmVyZmxvd0F1dG9TY3JvbGxQb3M7CiAgICAgICAg
IFZpZXdwb3J0QXJndW1lbnRzIG1fdmlld3BvcnRBcmd1bWVudHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggYzU5OWYxYmFhMzM1Nzk4YjIxYzE5YjU0NzMzMWI0NThkMjI5YzBmOC4u
MjQ4ZjJhMjdhODY3ZjdjNzQ4NGFkM2I2YzZjY2I2OGZkODA1YjE3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMTczOCw3ICsxNzM4LDcgQEAgSW50UG9pbnQgRnJhbWVWaWV3Ojpt
YXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBtYXhpbXVtT2Zmc2V0Owog
fQogCi12b2lkIEZyYW1lVmlldzo6ZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJlZChUaW1lcjxG
cmFtZVZpZXc+JikKK3ZvaWQgRnJhbWVWaWV3OjpkZWxheWVkU2Nyb2xsRXZlbnRUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsKIH0KQEAgLTI0MDAsNyArMjQwMCw3
IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKCkKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxp
bmdFbmFibGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQordm9pZCBGcmFtZVZpZXc6OnNw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fc3Bl
Y3VsYXRpdmVUaWxpbmdFbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC0yNDA4LDcgKzI0MDgs
NyBAQCB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVkKFRp
bWVyPEZyYW1lVmlldz4mKQogICAgIGFkanVzdFRpbGVkQmFja2luZ0NvdmVyYWdlKCk7CiB9CiAK
LXZvaWQgRnJhbWVWaWV3OjpsYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQordm9p
ZCBGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQoVGltZXImKQogewogI2lmZGVmIElOU1RSVU1F
TlRfTEFZT1VUX1NDSEVEVUxJTkcKICAgICBpZiAoIWZyYW1lKCkuZG9jdW1lbnQoKS0+b3duZXJF
bGVtZW50KCkpCkBAIC0yODUwLDcgKzI4NTAsNyBAQCBib29sIEZyYW1lVmlldzo6dXBkYXRlRW1i
ZWRkZWRPYmplY3RzKCkKICAgICByZXR1cm4gbV9lbWJlZGRlZE9iamVjdHNUb1VwZGF0ZS0+aXNF
bXB0eSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6dXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXJG
aXJlZChUaW1lcjxGcmFtZVZpZXc+KikKK3ZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9i
amVjdHNUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0
KHRoaXMpOwogICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RvcCgpOwpAQCAtMjk5
OSw3ICsyOTk5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OndpbGxFbmRMaXZlUmVzaXplKCkKICAgICBh
ZGp1c3RUaWxlZEJhY2tpbmdDb3ZlcmFnZSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6cG9zdExh
eW91dFRpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3PiYpCit2b2lkIEZyYW1lVmlldzo6cG9zdExh
eW91dFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIHBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGFmOTgwZjU4ODQyMjcwYTZhYWJmNTIxMDQy
M2Q2NDE2YzJkNjIyY2UuLjE4OWZmNDc2YTE5MTNjMzAxZTc3ZTBhNjliNTcyMWQ5MDNhMTVmNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTA0LDcgKzEwNCw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlID0gdHJ1ZSk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBkaWRGaXJzdExheW91dCgpIGNvbnN0OwotICAgIHZvaWQgbGF5b3V0VGltZXJG
aXJlZChUaW1lcjxGcmFtZVZpZXc+Jik7CisgICAgdm9pZCBsYXlvdXRUaW1lckZpcmVkKFRpbWVy
Jik7CiAgICAgdm9pZCBzY2hlZHVsZVJlbGF5b3V0KCk7CiAgICAgdm9pZCBzY2hlZHVsZVJlbGF5
b3V0T2ZTdWJ0cmVlKFJlbmRlckVsZW1lbnQmKTsKICAgICB2b2lkIHVuc2NoZWR1bGVSZWxheW91
dCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSdWJi
ZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZp
cnR1YWwgSW50UG9pbnQgbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBJbnRQb2ludCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24o
KSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGRlbGF5ZWRTY3JvbGxFdmVudFRpbWVyRmlyZWQo
VGltZXI8RnJhbWVWaWV3PiYpOworICAgIHZvaWQgZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJl
ZChUaW1lciYpOwogCiAgICAgdm9pZCByZXN1bWVWaXNpYmxlSW1hZ2VBbmltYXRpb25zSW5jbHVk
aW5nU3ViZnJhbWVzKCk7CiAKQEAgLTMwMSw3ICszMDEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHJlc3RvcmVTY3JvbGxiYXIoKTsKIAotICAgIHZvaWQgcG9zdExheW91dFRpbWVyRmlyZWQoVGlt
ZXI8RnJhbWVWaWV3PiYpOworICAgIHZvaWQgcG9zdExheW91dFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIoKSBjb25zdDsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdhc1Njcm9sbGVkQnlVc2VyKGJvb2wpOwpAQCAtNjA3
LDkgKzYwNyw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBhZ2VUaGF0Q29u
dGVudEFyZWFXaWxsUGFpbnQoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgZW5hYmxlU3Bl
Y3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpOwotICAgIHZvaWQgc3BlY3VsYXRpdmVUaWxpbmdFbmFi
bGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKTsKKyAgICB2b2lkIHNwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgdm9pZCB1cGRhdGVFbWJlZGRlZE9i
amVjdHNUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4qKTsKKyAgICB2b2lkIHVwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyRmlyZWQoVGltZXIqKTsKICAgICBib29sIHVwZGF0ZUVtYmVkZGVkT2Jq
ZWN0cygpOwogICAgIHZvaWQgdXBkYXRlRW1iZWRkZWRPYmplY3QoUmVuZGVyRW1iZWRkZWRPYmpl
Y3QmKTsKICAgICB2b2lkIHNjcm9sbFRvQW5jaG9yKCk7CkBAIC02NTMsNyArNjUzLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNPdmVybGFwcGVkOwogICAgIGJvb2wgbV9jb250ZW50SXNPcGFx
dWU7CiAKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fbGF5b3V0VGltZXI7CisgICAgVGltZXIgbV9s
YXlvdXRUaW1lcjsKICAgICBib29sIG1fZGVsYXllZExheW91dDsKICAgICBSZW5kZXJFbGVtZW50
KiBtX2xheW91dFJvb3Q7CiAKQEAgLTY2Miw4ICs2NjIsOCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9pblN5bmNocm9ub3VzUG9zdExheW91dDsKICAgICBpbnQgbV9sYXlvdXRDb3VudDsKICAgICB1
bnNpZ25lZCBtX25lc3RlZExheW91dENvdW50OwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV9wb3N0
TGF5b3V0VGFza3NUaW1lcjsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fdXBkYXRlRW1iZWRkZWRP
YmplY3RzVGltZXI7CisgICAgVGltZXIgbV9wb3N0TGF5b3V0VGFza3NUaW1lcjsKKyAgICBUaW1l
ciBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyOwogICAgIGJvb2wgbV9maXJzdExheW91dENh
bGxiYWNrUGVuZGluZzsKIAogICAgIGJvb2wgbV9maXJzdExheW91dDsKQEAgLTY4NSw3ICs2ODUs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNTY3JvbGxlZEJ5VXNlcjsKICAgICBib29sIG1f
aW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiAgICAgYm9vbCBtX3NhZmVUb1Byb3BhZ2F0ZVNjcm9sbFRv
UGFyZW50OwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lcjsK
KyAgICBUaW1lciBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyOwogCiAgICAgZG91YmxlIG1fbGFz
dFBhaW50VGltZTsKIApAQCAtNzE0LDcgKzcxNCw3IEBAIHByaXZhdGU6CiAgICAgUmVuZGVyUHRy
PFJlbmRlclNjcm9sbGJhclBhcnQ+IG1fc2Nyb2xsQ29ybmVyOwogCiAgICAgYm9vbCBtX3NwZWN1
bGF0aXZlVGlsaW5nRW5hYmxlZDsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fc3BlY3VsYXRpdmVU
aWxpbmdFbmFibGVUaW1lcjsKKyAgICBUaW1lciBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGlt
ZXI7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9vbCBtX3VzZUN1c3RvbUZpeGVkUG9zaXRp
b25MYXlvdXRSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zlcmxh
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCA5ZThhYzFi
ZDY5NWE4ZTViZTFhMWFmZjViMzJiZTk2OTY1YjQ5MjRjLi5iNTFkNDY0NDg3MDNlYTFjOWI4Mjc5
ODUyMzE5ZjEzOGI0MTBlZThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VP
dmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAt
MjI1LDcgKzIyNSw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiAg
ICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZhZGVBbmltYXRpb25G
cmFtZVJhdGUpOwogfQogCi12b2lkIFBhZ2VPdmVybGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJl
ZChUaW1lcjxQYWdlT3ZlcmxheT4mKQordm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXImKQogewogICAgIGZsb2F0IGFuaW1hdGlvblByb2dyZXNzID0gKGN1cnJl
bnRUaW1lKCkgLSBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUpIC8gbV9mYWRlQW5pbWF0aW9uRHVy
YXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaAppbmRleCBhM2Q4Mjg1OGVkYTRkZjMw
MTBhYmU0NmRkYjRhMTY0ZGFmNDJiNTcxLi43MGZlYmM4Y2JhMmU1N2I5MWQwZGY2MjQ4MGUwNDM2
NTk5YzMwN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCkBAIC0xMTIsMTIgKzExMiwx
MiBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBhZ2VPdmVybGF5KENsaWVudCYsIE92ZXJsYXlU
eXBlKTsKIAogICAgIHZvaWQgc3RhcnRGYWRlQW5pbWF0aW9uKCk7Ci0gICAgdm9pZCBmYWRlQW5p
bWF0aW9uVGltZXJGaXJlZChUaW1lcjxQYWdlT3ZlcmxheT4mKTsKKyAgICB2b2lkIGZhZGVBbmlt
YXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBDbGllbnQmIG1fY2xpZW50OwogICAgIFBh
Z2UqIG1fcGFnZTsKIAotICAgIFRpbWVyPFBhZ2VPdmVybGF5PiBtX2ZhZGVBbmltYXRpb25UaW1l
cjsKKyAgICBUaW1lciBtX2ZhZGVBbmltYXRpb25UaW1lcjsKICAgICBkb3VibGUgbV9mYWRlQW5p
bWF0aW9uU3RhcnRUaW1lOwogICAgIGRvdWJsZSBtX2ZhZGVBbmltYXRpb25EdXJhdGlvbjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBlNDA5M2E0MGIwZTliZTI0MGNkZmJmZDFiZjQ5
MjFlMjNlMmY3N2IwLi5iNTVmOTY3MTBlMDgwYWE4NTg1OTRiMzA2YjdkOTYzNzlkYjZlZWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseSkKICAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIFNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGlt
ZXI8U2V0dGluZ3M+KikKK3ZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZChUaW1lciopCiB7CiAgICAgc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3MobV9wYWdlKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA3NjQ3MmYwMDg1ZDNlZGQ2Mzg2MGUzNzllOGMwZmQ3
YjU0NmJmOTIyLi41MTU3YWQzNTVlOGQwMmVjODJiZTQ4NWExMTI1MjQwOTJmOWFiZTJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zMjEsOCArMzIxLDggQEAgcHJpdmF0ZToKIAogICAgIGRv
dWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCi0g
ICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKLSAgICB2
b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKKyAg
ICBUaW1lciBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CisgICAgdm9pZCBpbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXIqKTsKIAogI2lmIEVOQUJMRShISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykKICAgICBib29sIG1faGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBjODkwMzMzMDYwNDgxYjkwMTNiZjA1
Zjc2N2VkOGVhYjU0Yjc5YzAwLi44ZDg5OTE2YmQyYjY3MGZiZTNiNmVlOWQwYmYzNzNhYWQyODkz
YTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25Db250cm9sbGVyLmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5n
ZWQvCiAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QodGltZVRvTmV4dFNlcnZpY2Up
OwogfQogCi12b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlckZpcmVkKFRpbWVyPEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlPiYpCit2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0
Y2hlckZpcmVkKFRpbWVyJikKIHsKICAgICBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsKIH0K
QEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmlt
YXRpb25GcmFtZUNhbGxiYWNrRmlyZWQoKQogfQogI2VuZGlmCiAKLXZvaWQgQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU+JikKK3ZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlv
blRpbWVyRmlyZWQoVGltZXImKQogewogICAgIC8vIE1ha2Ugc3VyZSBhbmltYXRpb25VcGRhdGVU
aW1lIGlzIHVwZGF0ZWQsIHNvIHRoYXQgaXQgaXMgY3VycmVudCBldmVuIGlmIG5vCiAgICAgLy8g
c3R5bGVDaGFuZ2UgaGFzIGhhcHBlbmVkIChlLmcuIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGUuaAppbmRleCBmNjBmNjlhOGVjYjI2MDFkMmJmOTU3ZmJiYjY4ZjBiMDQy
YWM3YjRhLi41YTQ1NGY4Y2E0ZTQ1ODk0ODhjZmIxZWVjZjhjNzk1ODRmNDVhNDIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlLmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIENvbXBvc2l0ZUFu
aW1hdGlvbiYgZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKFJlbmRlckVsZW1lbnQmKTsKICAgICBi
b29sIGNsZWFyKFJlbmRlckVsZW1lbnQmKTsKIAotICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRl
ZERpc3BhdGNoZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZT4mKTsKKyAg
ICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIHN0YXJ0VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKTsKICAgICB2b2lkIGFkZEV2
ZW50VG9EaXNwYXRjaChQYXNzUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSk7
CiAgICAgdm9pZCBhZGRFbGVtZW50Q2hhbmdlVG9EaXNwYXRjaChQYXNzUmVmPEVsZW1lbnQ+KTsK
QEAgLTExNCwxNSArMTE0LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFsbG93c05ld0FuaW1h
dGlvbnNXaGlsZVN1c3BlbmRlZChib29sKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGFuaW1hdGlv
blRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+Jik7CisgICAgdm9p
ZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICB2b2lkIHN0eWxlQXZhaWxhYmxl
KCk7CiAgICAgdm9pZCBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsKICAgICB2b2lkIHN0YXJ0
VGltZVJlc3BvbnNlKGRvdWJsZSB0KTsKIAogICAgIEhhc2hNYXA8UmVuZGVyRWxlbWVudCosIFJl
ZlB0cjxDb21wb3NpdGVBbmltYXRpb24+PiBtX2NvbXBvc2l0ZUFuaW1hdGlvbnM7Ci0gICAgVGlt
ZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+IG1fYW5pbWF0aW9uVGltZXI7Ci0gICAgVGlt
ZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+IG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3Bh
dGNoZXI7CisgICAgVGltZXIgbV9hbmltYXRpb25UaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZVN0
eWxlSWZOZWVkZWREaXNwYXRjaGVyOwogICAgIEZyYW1lJiBtX2ZyYW1lOwogICAgIAogICAgIGNs
YXNzIEV2ZW50VG9EaXNwYXRjaCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggMWQ3YzNhZDUxNWEyOTFiNmY0YjIwMjk4
NjA2ZjIzZDI3ODM1OWJkZS4uOGFhZjkxMmUwMzI1Njg5OWFmOWVkNzY2YWQxMjA1ZDJhNjgxNTBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXIuaApAQCAtMTIzLDcgKzEyMyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1vdXNl
SXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVyQnV0dG9uKSBjb25z
dDsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hs
aWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7Ci0gICAgdm9pZCBkZXRlcm1pbmVB
Y3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI+
Jik7CisgICAgdm9pZCBkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICBzdGF0aWMgYm9vbCBoaWdobGlnaHRzQXJlRXF1aXZhbGVudChjb25zdCBIaWdobGln
aHQqIGEsIGNvbnN0IEhpZ2hsaWdodCogYik7CiAKQEAgLTE1Niw3ICsxNTYsNyBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKIAotICAgIFRpbWVyPFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI+IG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXI7CisgICAg
VGltZXIgbV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNP
dmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIubW0KaW5kZXggOTBhZTU5MDRjZjRjZTU2YjNiZDdkOTgyNDJmZDFiZTVj
OTE0N2ViNi4uMDA5OGM3NjMxM2Y0Y2M2NjBlOTY4YTkwZDNlOTM4YThiMWJiYzlkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lm1tCkBAIC00NTAsNyArNDUwLDcgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICByZXR1
cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4o
cmVtYWluaW5nRGVsYXkpOwogfQogCi12b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoVGltZXI8U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcj4mKQordm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3Rp
dmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBib29sIG1vdXNlSXNPdmVyQnV0
dG9uOwogICAgIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodChtb3VzZUlzT3ZlckJ1dHRvbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDIzMzMwN2Q3NGVjYTliNTFhYTMxN2FkN2M2YmE5ZWVi
NTcwMmNmMWYuLmFjZDJkZjIyNWViM2ZjZDRmODBjNjBkYzk3YTZmMWVlNzEwZjU5MWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bChTY3IKICAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKIH0KIAotdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQb3Np
dGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKFRpbWVyPEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3I+KikKK3ZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsUG9z
aXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgdXBkYXRlU2Ny
b2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKG1fc2NoZWR1bGVkU2Nyb2xsVXBkYXRlLm5vZGVJ
RCwgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUuc2Nyb2xsUG9zaXRpb24sIG1fc2NoZWR1bGVkU2Ny
b2xsVXBkYXRlLmlzUHJvZ3JhbW1hdGljU2Nyb2xsLCBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZS51
cGRhdGVMYXllclBvc2l0aW9uQWN0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBhZmIw
MDJiOTVmMWY2ODBkMmFlZmVhMjEzNDEyNWZhNDU4YTI3MDEzLi4zZjRkN2JjOTJmOWU1YmQxZTVm
ODQ2NGVmNzU2MjE0OTEyZjBhYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDUsMTEgKzEw
NSwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmll
dyhGcmFtZVZpZXcqKTsKICAgICB2b2lkIHVwZGF0ZU1haW5GcmFtZVNjcm9sbExheWVyUG9zaXRp
b24oKTsKIAotICAgIHZvaWQgdXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGlt
ZXJGaXJlZChUaW1lcjxBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yPiopOworICAgIHZvaWQgdXBk
YXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZChUaW1lciopOwogICAg
IAogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3Rm9yU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2Rl
SUQpIGNvbnN0OwogCi0gICAgVGltZXI8QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcj4gbV91cGRh
dGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZU5vZGVTY3JvbGxQ
b3NpdGlvblRpbWVyOwogCiAgICAgc3RydWN0IFNjaGVkdWxlZFNjcm9sbFVwZGF0ZSB7CiAgICAg
ICAgIFNjaGVkdWxlZFNjcm9sbFVwZGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCmluZGV4IDE1
ZmFhMGI3MDUyOWNhNWY3YTYzODU1MWFmM2NkMThlZTJmODMzMmMuLjAxMWZlOGUyMzgyYjM5MjI2
MWQ2ZDZmMDMxZDczZjUxMTVmNThiZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCkBAIC01Mywx
MCArNTMsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVU
cmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcklPUz4qKTsKKyAg
ICB2b2lkIHNjcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyRmlyZWQoVGltZXIqKTsKICAg
ICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogCi0gICAgVGltZXI8U2Nyb2xsaW5nQ29vcmRpbmF0
b3JJT1M+IG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXI7CisgICAgVGltZXIgbV9z
Y3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQppbmRleCBmMmI3YzQwNDcyNGQ0OTQ1Mjk2ZTk5
ZWJjYzg0MjhhYzJkZjhmMjRkLi44OTI3ZTk5MjNhYWU3ODY4Y2Y5MDI3ZDRmOWNlMmYyMGVhMWM0
NjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcklPUz4qKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcklPUzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgY29tbWl0VHJlZVN0YXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCmlu
ZGV4IDdkYTg3ODBiMzM4ODMyYWEyZDk5YjI2OWM3MzliNWNjY2VjYmYzNGQuLmY3MWVjYzM0Njll
MmMwYWQwNzc2MjljZjhkNTBjYmZhZjg1ZWU2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCkBA
IC01MywxMiArNTMsMTIgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVUcmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsaW5nU3Rh
dGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4q
KTsKKyAgICB2b2lkIHNjcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyRmlyZWQoVGltZXIq
KTsKICAgICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogICAgIAogICAgIHZvaWQgdXBkYXRlVGls
ZWRTY3JvbGxpbmdJbmRpY2F0b3IoKTsKIAotICAgIFRpbWVyPFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjPiBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyOworICAgIFRpbWVyIG1fc2Ny
b2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggYzZkYzM5NjVhMmUxMDU5YmFhODhiYjVm
NDEyYzY3YjQyMWMyNjI1MS4uMGJjNTE5OTdkMGUyMTFlMWIyYzc1OGYxNjk5MzgwZDhjMDNlYzE3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4qKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvck1hYzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgY29tbWl0VHJlZVN0YXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IGI4ODI2MzZhZDc2N2Y4ZThkYjkyYjBkYTI1
ZWNkNGZlNDY3ZmJhMDguLmNhOTA4MzRlODk1NDYyYzJiM2EwMjAzOGRiODI0ZTA1NzdlZDE3MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC04
OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIHZvaWQgaHlz
dGVyZXNpc1RpbWVyRmlyZWQoVGltZXI8SHlzdGVyZXNpc0FjdGl2aXR5PiYpCisgICAgdm9pZCBo
eXN0ZXJlc2lzVGltZXJGaXJlZChUaW1lciYpCiAgICAgewogICAgICAgICBtX2RlbGVnYXRlLnN0
b3BwZWQoKTsKICAgICAgICAgbV90aW1lci5zdG9wKCk7CkBAIC05Nyw3ICs5Nyw3IEBAIHByaXZh
dGU6CiAgICAgRGVsZWdhdGUmIG1fZGVsZWdhdGU7CiAgICAgZG91YmxlIG1faHlzdGVyZXNpc1Nl
Y29uZHM7CiAgICAgYm9vbCBtX2FjdGl2ZTsKLSAgICBUaW1lcjxIeXN0ZXJlc2lzQWN0aXZpdHk+
IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCAwNTky
NjYwMWRkYzMyZWIxMzM4ZWE1MTMzYmYzY2ZjZGJiYWJjYjVhLi5lYTNjMzk3N2I1ODFkODcwZWVj
MjMxODZlZjA0NmEzZWY2MjUzYTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuY3BwCkBAIC0xNzYsMTQgKzE3NiwxNCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjp1
cGRhdGVTY3JvbGxBbmltYXRvcnNBbmRUaW1lcnMoKQogICAgIC8vIEZJWE1FOiBDdXJyZW50bHks
IHNjcm9sbCBzbmFwIGFuaW1hdG9ycyBhcmUgcmVjcmVhdGVkIGV2ZW4gdGhvdWdoIHRoZSBzbmFw
IG9mZnNldHMgYWxvbmUgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEt
Pmhvcml6b250YWxTbmFwT2Zmc2V0cygpKSB7CiAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNu
YXBBbmltYXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8QXhpc1Njcm9sbFNuYXBBbmltYXRvcj4odGhp
cywgbV9zY3JvbGxhYmxlQXJlYS0+aG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIFNjcm9sbEV2ZW50
QXhpczo6SG9yaXpvbnRhbCk7Ci0gICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lciA9
IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8U2Nyb2xsQW5pbWF0b3I+Pih0aGlzLCAmU2Nyb2xsQW5p
bWF0b3I6Omhvcml6b250YWxTY3JvbGxTbmFwVGltZXJGaXJlZCk7CisgICAgICAgIG1faG9yaXpv
bnRhbFNjcm9sbFNuYXBUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZTY3Jv
bGxBbmltYXRvcjo6aG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lckZpcmVkKTsKICAgICB9IGVsc2Ug
aWYgKG1faG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvcikgewogICAgICAgICBtX2hvcml6b250
YWxTY3JvbGxTbmFwQW5pbWF0b3IgPSBudWxscHRyOwogICAgICAgICBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXIgPSBudWxscHRyOwogICAgIH0KICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYS0+
dmVydGljYWxTbmFwT2Zmc2V0cygpKSB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwQW5p
bWF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPEF4aXNTY3JvbGxTbmFwQW5pbWF0b3I+KHRoaXMsIG1f
c2Nyb2xsYWJsZUFyZWEtPnZlcnRpY2FsU25hcE9mZnNldHMoKSwgU2Nyb2xsRXZlbnRBeGlzOjpW
ZXJ0aWNhbCk7Ci0gICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPFNjcm9sbEFuaW1hdG9yPj4odGhpcywgJlNjcm9sbEFuaW1hdG9yOjp2ZXJ0
aWNhbFNjcm9sbFNuYXBUaW1lckZpcmVkKTsKKyAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbFNuYXBU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZTY3JvbGxBbmltYXRvcjo6dmVy
dGljYWxTY3JvbGxTbmFwVGltZXJGaXJlZCk7CiAgICAgfSBlbHNlIGlmIChtX3ZlcnRpY2FsU2Ny
b2xsU25hcEFuaW1hdG9yKSB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwQW5pbWF0b3Ig
PSBudWxscHRyOwogICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyID0gbnVsbHB0cjsK
QEAgLTIwNywyNCArMjA3LDI0IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9s
bEluQXhpcyhTY3JvbGxFdmVudEF4aXMgYXhpcywgZmxvYXQgZGVsdGEpCiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3I6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKFNjcm9sbEV2ZW50QXhpcyBheGlzKQogewot
ICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yPiogc2Nyb2xsU25hcFRpbWVyID0gYXhpcyA9PSBTY3Jv
bGxFdmVudEF4aXM6Okhvcml6b250YWwgPyBtX2hvcml6b250YWxTY3JvbGxTbmFwVGltZXIuZ2V0
KCkgOiBtX3ZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyLmdldCgpOworICAgIFRpbWVyKiBzY3JvbGxT
bmFwVGltZXIgPSBheGlzID09IFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCA/IG1faG9yaXpv
bnRhbFNjcm9sbFNuYXBUaW1lci5nZXQoKSA6IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIuZ2V0
KCk7CiAgICAgaWYgKCFzY3JvbGxTbmFwVGltZXItPmlzQWN0aXZlKCkpCiAgICAgICAgIHNjcm9s
bFNuYXBUaW1lci0+c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CiB9CiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3I6OnN0b3BTY3JvbGxTbmFwVGltZXIoU2Nyb2xsRXZlbnRBeGlzIGF4aXMpCiB7Ci0g
ICAgVGltZXI8U2Nyb2xsQW5pbWF0b3I+KiBzY3JvbGxTbmFwVGltZXIgPSBheGlzID09IFNjcm9s
bEV2ZW50QXhpczo6SG9yaXpvbnRhbCA/IG1faG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lci5nZXQo
KSA6IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIuZ2V0KCk7CisgICAgVGltZXIqIHNjcm9sbFNu
YXBUaW1lciA9IGF4aXMgPT0gU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsID8gbV9ob3Jpem9u
dGFsU2Nyb2xsU25hcFRpbWVyLmdldCgpIDogbV92ZXJ0aWNhbFNjcm9sbFNuYXBUaW1lci5nZXQo
KTsKICAgICBpZiAoc2Nyb2xsU25hcFRpbWVyLT5pc0FjdGl2ZSgpKQogICAgICAgICBzY3JvbGxT
bmFwVGltZXItPnN0b3AoKTsKIH0KIAotdm9pZCBTY3JvbGxBbmltYXRvcjo6aG9yaXpvbnRhbFNj
cm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpCit2b2lkIFNjcm9sbEFu
aW1hdG9yOjpob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1f
aG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvci0+c2Nyb2xsU25hcEFuaW1hdGlvblVwZGF0ZSgp
OwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yOjp2ZXJ0aWNhbFNjcm9sbFNuYXBUaW1lckZpcmVk
KFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpCit2b2lkIFNjcm9sbEFuaW1hdG9yOjp2ZXJ0aWNhbFNj
cm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBtX3ZlcnRpY2FsU2Nyb2xsU25hcEFu
aW1hdG9yLT5zY3JvbGxTbmFwQW5pbWF0aW9uVXBkYXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCBlM2E3YmUzMTljZGYzYTk0YzQ4MzZjYzc3NDcx
MmVlOGFjMjUxODAwLi5lYjE1MGZjZGZiNTA2NzFhNzNmZWQ0ZTY3NzFmNWQ5YTg5MTQ4YjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTEzMCw4ICsxMzAs
OCBAQCBwcm90ZWN0ZWQ6CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9S
TShNQUMpCiAgICAgLy8gVHJpdmlhbCB3cmFwcGVycyBhcm91bmQgdGhlIGFjdHVhbCB1cGRhdGUg
bG9vcCBpbiBBeGlzU2Nyb2xsU25hcEFuaW1hdG9yLCBzaW5jZSBXZWJDb3JlIFRpbWVyIHJlcXVp
cmVzIGEgVGltZXIgYXJndW1lbnQuCi0gICAgdm9pZCBob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVy
RmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3I+Jik7Ci0gICAgdm9pZCB2ZXJ0aWNhbFNjcm9sbFNu
YXBUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpOworICAgIHZvaWQgaG9yaXpvbnRh
bFNjcm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCB2ZXJ0aWNhbFNjcm9sbFNu
YXBUaW1lckZpcmVkKFRpbWVyJik7CiAjZW5kaWYKIAogICAgIFNjcm9sbGFibGVBcmVhKiBtX3Nj
cm9sbGFibGVBcmVhOwpAQCAtMTM5LDEwICsxMzksMTAgQEAgcHJvdGVjdGVkOgogICAgIGZsb2F0
IG1fY3VycmVudFBvc1k7IC8vIHN1YmNsYXNzIGNvZGUgY29tcGxleGl0eS4KICNpZiBFTkFCTEUo
Q1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9STShNQUMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPEF4
aXNTY3JvbGxTbmFwQW5pbWF0b3I+IG1faG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvcjsKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8U2Nyb2xsQW5pbWF0b3I+PiBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXI7CiAgICAgLy8gRklYTUU6IEZpbmQgYSB3YXkgdG8gY29uc29saWRhdGUgYm90
aCB0aW1lcnMgaW50byBvbmUgdmFyaWFibGUuCiAgICAgc3RkOjp1bmlxdWVfcHRyPEF4aXNTY3Jv
bGxTbmFwQW5pbWF0b3I+IG1fdmVydGljYWxTY3JvbGxTbmFwQW5pbWF0b3I7Ci0gICAgc3RkOjp1
bmlxdWVfcHRyPFRpbWVyPFNjcm9sbEFuaW1hdG9yPj4gbV92ZXJ0aWNhbFNjcm9sbFNuYXBUaW1l
cjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXI7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ck5vbmUuY3BwCmluZGV4IDM1ZDhjZjQ2NjU2ZmM0YmRjMjk0YTdmYmZiZjkzZDU5MGQwZGYyMWYu
LmNlZjgzMzQ3MGY1NmE2YWZmZTU3MTE4MGU4MWY4MGVhMzFiYmM5NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcApAQCAtNDkxLDcgKzQ5MSw3
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjp1cGRhdGVWaXNpYmxlTGVuZ3RocygpCiB9CiAK
ICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcm9sbEFuaW1h
dG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+KikK
K3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBhbmltYXRpb25UaW1lckZpcmVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yTm9uZS5oCmluZGV4IGIzOGRhMTZhODcyNjIyNjc2NjZlNTZjNDE2ZjYw
MDk0NWVkOWRlZTIuLjcwMGY0ZWUxZTgwMmE2N2EzNWRlYzAwZWY0ZjllMTkxNzcyZmU4ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCkBAIC0xNDUs
NyArMTQ1LDcgQEAgcHJvdGVjdGVkOgogICAgIH07CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIpCi0gICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcm9s
bEFuaW1hdG9yTm9uZT4qKTsKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXIqKTsK
ICAgICB2b2lkIHN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQg
c3RhcnROZXh0VGltZXIoKTsKQEAgLTE2MSw3ICsxNjEsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBk
b3VibGUgbV9zdGFydFRpbWU7CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVS
KQotICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTm9uZT4gbV9hbmltYXRpb25UaW1lcjsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogI2Vsc2UKICAgICBib29sIG1fYW5pbWF0aW9uQWN0aXZl
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA3ZThkMTE3
YWMyM2FmOWZlZjJlYTY3NzdhZjRmMTM2MmI0MDkzMzk2Li5jNjNmYjAxNTk4OTUyODEyNWRjYTE4
NzE3YTg2YzUyOTUyZTMzZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAK
QEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFNjcm9sbGJhcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VSZWN0KQogICAgICAgICBXaWRnZXQ6OnBh
aW50KGNvbnRleHQsIGRhbWFnZVJlY3QpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsYmFyPiYpCit2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGF1dG9zY3JvbGxQcmVzc2VkUGFydCh0aGVtZSgp
LT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGJhci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmgKaW5kZXggNjk4ODVmNWEwZjA3YjFkOTk4MjZlNGZmYWMwNzMzMzAyZmVmOTdmZi4uNzMxZGU1
ZDNmZTMzYjNjODNlZTI3NjAwYTcyNDM4Y2FkYTY3MDUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVRodW1iUG9zaXRpb24oKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQ
cm9wb3J0aW9uKCk7CiAKLSAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyPFNjcm9s
bGJhcj4mKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9p
ZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1lcklm
TmVlZGVkKCk7CiAgICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KTsK
QEAgLTE5NCw3ICsxOTQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBib29sIG1fZW5hYmxlZDsKIAot
ICAgIFRpbWVyPFNjcm9sbGJhcj4gbV9zY3JvbGxUaW1lcjsKKyAgICBUaW1lciBtX3Njcm9sbFRp
bWVyOwogICAgIGJvb2wgbV9vdmVybGFwc1Jlc2l6ZXI7CiAKICAgICBib29sIG1fc3VwcHJlc3NJ
bnZhbGlkYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA4NjMxNThkM2U4NTdlZTEz
OTc1NGVlNjdhZGE5ZmYzNGFjMjgxZjQzLi5lYWM4ODNmNDExMDJhYjAxNzk1NTJhMjQyZGJmMDUw
NjE0MzQ2MDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTExMiwyNyArMTEyLDM4IEBA
IHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFRpbWVySGVhcFJlZmVyZW5jZTsKIH07CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+IGNsYXNzIFRpbWVyIDogcHVibGljIFRp
bWVyQmFzZSB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipU
aW1lckZpcmVkRnVuY3Rpb24pKFRpbWVyJik7Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVk
Q2xhc3M6OipEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0aW9uKShUaW1lciopOwogCi0gICAgVGlt
ZXIoVGltZXJGaXJlZENsYXNzKiBvYmplY3QsIFRpbWVyRmlyZWRGdW5jdGlvbiBmdW5jdGlvbikK
K2NsYXNzIFRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CitwdWJsaWM6CisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRpbWVyRmlyZWRDbGFzcywgdHlwZW5hbWUgVGltZXJGaXJlZEJhc2VDbGFzcz4K
KyAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MqIG9iamVjdCwgdm9pZCAoVGltZXJGaXJlZEJhc2VD
bGFzczo6KmZ1bmN0aW9uKShUaW1lciYpKQogICAgICAgICA6IG1fZnVuY3Rpb24oc3RkOjpiaW5k
KGZ1bmN0aW9uLCBvYmplY3QsIHN0ZDo6cmVmKCp0aGlzKSkpCiAgICAgewogICAgIH0KIAotICAg
IFRpbWVyKFRpbWVyRmlyZWRDbGFzcyogb2JqZWN0LCBEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0
aW9uIGZ1bmN0aW9uKQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3MsIHR5
cGVuYW1lIFRpbWVyRmlyZWRCYXNlQ2xhc3M+CisgICAgVGltZXIoVGltZXJGaXJlZENsYXNzKiBv
YmplY3QsIHZvaWQgKFRpbWVyRmlyZWRCYXNlQ2xhc3M6OipmdW5jdGlvbikoVGltZXIqKSkKICAg
ICAgICAgOiBtX2Z1bmN0aW9uKHN0ZDo6YmluZChmdW5jdGlvbiwgb2JqZWN0LCB0aGlzKSkKICAg
ICB7CiAgICAgfQogCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFRpbWVyRmlyZWRDbGFzcywgdHlw
ZW5hbWUgVGltZXJGaXJlZEJhc2VDbGFzcz4KKyAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9i
amVjdCwgdm9pZCAoVGltZXJGaXJlZEJhc2VDbGFzczo6KmZ1bmN0aW9uKSgpKQorICAgICAgICA6
IG1fZnVuY3Rpb24oc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSkKKyAgICB7CisgICAgfQor
CisgICAgVGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbikKKyAgICAgICAgOiBt
X2Z1bmN0aW9uKFdURjo6bW92ZShmdW5jdGlvbikpCisgICAgeworICAgIH0KKwogcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgbV9mdW5j
dGlvbigpOwogICAgIH0KLQorICAgIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5j
dGlvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01l
ZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Np
b24uY3BwCmluZGV4IDUxZmE3ZGMyYzU1NzFhNmNiOTgzNzkyZTJjMmNmNDY0YTczNDdkNmIuLmQ0
NmQ2Yjc4MWNkODhhMzc5NWRhNWRiMzBjMGQzNmNlNDg0YjU0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBA
IHZvaWQgTWVkaWFTZXNzaW9uOjp2aXNpYmlsaXR5Q2hhbmdlZCgpCiAgICAgICAgIG1fY2xpZW50
RGF0YUJ1ZmZlcmluZ1RpbWVyLnN0YXJ0T25lU2hvdChrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVy
VGhyb3R0bGVEZWxheSk7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uOjpjbGllbnREYXRhQnVmZmVy
aW5nVGltZXJGaXJlZChUaW1lcjxXZWJDb3JlOjpNZWRpYVNlc3Npb24+ICYpCit2b2lkIE1lZGlh
U2Vzc2lvbjo6Y2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXIgJikKIHsKICAgICB1
cGRhdGVDbGllbnREYXRhQnVmZmVyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbi5oCmluZGV4IGIwNmUwNjc5NjExMjJiZjkzZDc1Y2M4OWUyNjI2
ZDQ2ZDY3ZjdmNjcuLjMyNDFjOTAwNGFiZjE4ZmMyNzk2OWU4N2U3NmIxM2Y3NmYyZjQ2YWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCkBAIC0xMDYs
MTEgKzEwNiwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTZXNzaW9uQ2xpZW50JiBjbGllbnQo
KSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQogCiBwcml2YXRlOgotICAgIHZvaWQgY2xpZW50
RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXI8TWVkaWFTZXNzaW9uPiYpOworICAgIHZvaWQg
Y2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIHVwZGF0ZUNs
aWVudERhdGFCdWZmZXJpbmcoKTsKIAogICAgIE1lZGlhU2Vzc2lvbkNsaWVudCYgbV9jbGllbnQ7
Ci0gICAgVGltZXI8TWVkaWFTZXNzaW9uPiBtX2NsaWVudERhdGFCdWZmZXJpbmdUaW1lcjsKKyAg
ICBUaW1lciBtX2NsaWVudERhdGFCdWZmZXJpbmdUaW1lcjsKICAgICBTdGF0ZSBtX3N0YXRlOwog
ICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJF
ZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5j
cHAKaW5kZXggMWJlOWUxZDI1NTk2OTY3YjYyMzZhMDU2NjRkZThkNmU5Yjk3ZWI2ZS4uZGI1NWQz
ODNlOGY0MDQwOGE4ZTkzOWNlMTgwMzc5YjI0YTRiMzMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKQEAgLTczLDcgKzczLDcg
QEAgdm9pZCBCYXR0ZXJ5UHJvdmlkZXJFZmw6OnNldEJhdHRlcnlTdGF0dXMoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWYKICAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlQmF0dGVy
eVN0YXR1cyhldmVudFR5cGUsIG1fYmF0dGVyeVN0YXR1cyk7CiB9CiAKLXZvaWQgQmF0dGVyeVBy
b3ZpZGVyRWZsOjp0aW1lckZpcmVkKFRpbWVyPEJhdHRlcnlQcm92aWRlckVmbD4qIHRpbWVyKQor
dm9pZCBCYXR0ZXJ5UHJvdmlkZXJFZmw6OnRpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAg
IEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKICAgICBFX0RCdXNfQ29u
bmVjdGlvbiogZWRidXNDb25uZWN0aW9uID0gZV9kYnVzX2J1c19nZXQoREJVU19CVVNfU1lTVEVN
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlk
ZXJFZmwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJFZmwu
aAppbmRleCBiYjRiYjdmMDRiZGRkZWM0YjFlYTAwNGE5YTljMTY3NDExNjVjM2UwLi40MzEzOGVh
MDZmYmM2OTZjZDg5NDA5MzU5MWZhOWFiZWU4YWYzYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvQmF0dGVyeVByb3ZpZGVyRWZsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5oCkBAIC00NSwxMiArNDUsMTIgQEAg
cHVibGljOgogICAgIEJhdHRlcnlTdGF0dXMqIGJhdHRlcnlTdGF0dXMoKSBjb25zdDsKIAogcHJp
dmF0ZToKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8QmF0dGVyeVByb3ZpZGVyRWZsPiopOwor
ICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciopOwogICAgIHN0YXRpYyB2b2lkIGdldEJhdHRlcnlT
dGF0dXModm9pZCogZGF0YSwgdm9pZCogcmVwbHlEYXRhLCBEQnVzRXJyb3IqKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRCYXR0ZXJ5Q2xpZW50KHZvaWQqIGRhdGEsIHZvaWQqIHJlcGx5RGF0YSwgREJ1
c0Vycm9yKik7CiAKICAgICBCYXR0ZXJ5UHJvdmlkZXJFZmxDbGllbnQqIG1fY2xpZW50OwotICAg
IFRpbWVyPEJhdHRlcnlQcm92aWRlckVmbD4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwog
ICAgIFJlZlB0cjxCYXR0ZXJ5U3RhdHVzPiBtX2JhdHRlcnlTdGF0dXM7CiAgICAgY29uc3QgZG91
YmxlIG1fYmF0dGVyeVN0YXR1c1JlZnJlc2hJbnRlcnZhbDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMjIwYjM2OWMwMzUx
ZGMyMDFkNTM4YjQ5ZDliYjljNDNlNjhkMDk0Yy4uNDhjOWFiM2Y3NWE2MzMwOGE3NTVkMzQyNjMw
ZDU1ZmJlMGM5ZjlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmNwcApAQCAtNTI4LDcgKzUyOCw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OnN0
YXJ0QW5pbWF0aW9uKENhdGNoVXBBbmltYXRpb24gY2F0Y2hVcElmTmVjZXNzYXJ5KQogCiAgICAg
aWYgKGNhdGNoVXBJZk5lY2Vzc2FyeSA9PSBEb05vdENhdGNoVXAgfHwgdGltZSA8IG1fZGVzaXJl
ZEZyYW1lU3RhcnRUaW1lKSB7CiAgICAgICAgIC8vIEhhdmVuJ3QgeWV0IHJlYWNoZWQgdGltZSBm
b3IgbmV4dCBmcmFtZSB0byBzdGFydDsgZGVsYXkgdW50aWwgdGhlbi4KLSAgICAgICAgbV9mcmFt
ZVRpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcjxCaXRtYXBJbWFnZT4+KHRoaXMsICZCaXRt
YXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7CisgICAgICAgIG1fZnJhbWVUaW1lciA9IHN0ZDo6
bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7
CiAgICAgICAgIG1fZnJhbWVUaW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSwgMC4pKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBXZSd2
ZSBhbHJlYWR5IHJlYWNoZWQgb3IgcGFzc2VkIHRoZSB0aW1lIGZvciB0aGUgbmV4dCBmcmFtZSB0
byBzdGFydC4KQEAgLTYyOSw3ICs2MjksNyBAQCB2b2lkIEJpdG1hcEltYWdlOjpkcmF3UGF0dGVy
bihHcmFwaGljc0NvbnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgdGlsZVJlY3QsCiB9CiAK
IAotdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbihUaW1lcjxCaXRtYXBJbWFnZT4m
KQordm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbihUaW1lciYpCiB7CiAgICAgaW50
ZXJuYWxBZHZhbmNlQW5pbWF0aW9uKGZhbHNlKTsKICAgICAvLyBBdCB0aGlzIHBvaW50IHRoZSBp
bWFnZSByZWdpb24gaGFzIGJlZW4gbWFya2VkIGRpcnR5LCBhbmQgaWYgaXQncwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggYTBhMGYyNGFk
ZjAzZjllNzNmMjQyNjQ2Mzk1NTFjMmE0OTUwOWIxYi4uNzJmNzFhZTdjODNlZDA3NDJlMTFhNGU1
MTFjNTQ0MTNkYTIwYzE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKK2Ns
YXNzIFRpbWVyOwogCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KIC8vIEZyYW1lRGF0YSBDbGFzcwpAQCAtMjU4LDcgKzI1OCw3IEBAIHByb3RlY3Rl
ZDoKICAgICBpbnQgcmVwZXRpdGlvbkNvdW50KGJvb2wgaW1hZ2VLbm93blRvQmVDb21wbGV0ZSk7
ICAvLyB8aW1hZ2VLbm93blRvQmVDb21wbGV0ZXwgc2hvdWxkIGJlIHNldCBpZiB0aGUgY2FsbGVy
IGtub3dzIHRoZSBlbnRpcmUgaW1hZ2UgaGFzIGJlZW4gZGVjb2RlZC4KICAgICBib29sIHNob3Vs
ZEFuaW1hdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRBbmltYXRpb24oQ2F0Y2hVcEFuaW1h
dGlvbiA9IENhdGNoVXApIG92ZXJyaWRlOwotICAgIHZvaWQgYWR2YW5jZUFuaW1hdGlvbihUaW1l
cjxCaXRtYXBJbWFnZT4mKTsKKyAgICB2b2lkIGFkdmFuY2VBbmltYXRpb24oVGltZXImKTsKIAog
ICAgIC8vIEZ1bmN0aW9uIHRoYXQgZG9lcyB0aGUgcmVhbCB3b3JrIG9mIGFkdmFuY2luZyB0aGUg
YW5pbWF0aW9uLiAgV2hlbgogICAgIC8vIHNraXBwaW5nRnJhbWVzIGlzIHRydWUsIHdlJ3JlIGlu
IHRoZSBtaWRkbGUgb2YgYSBsb29wIHRyeWluZyB0byBza2lwIG92ZXIKQEAgLTI5NSw3ICsyOTUs
NyBAQCBwcml2YXRlOgogICAgIHNpemVfdCBtX2N1cnJlbnRGcmFtZTsgLy8gVGhlIGluZGV4IG9m
IHRoZSBjdXJyZW50IGZyYW1lIG9mIGFuaW1hdGlvbi4KICAgICBWZWN0b3I8RnJhbWVEYXRhLCAx
PiBtX2ZyYW1lczsgLy8gQW4gYXJyYXkgb2YgdGhlIGNhY2hlZCBmcmFtZXMgb2YgdGhlIGFuaW1h
dGlvbi4gV2UgaGF2ZSB0byByZWYgZnJhbWVzIHRvIHBpbiB0aGVtIGluIHRoZSBjYWNoZS4KIAot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcjxCaXRtYXBJbWFnZT4+IG1fZnJhbWVUaW1lcjsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fZnJhbWVUaW1lcjsKICAgICBpbnQgbV9yZXBldGl0
aW9uQ291bnQ7IC8vIEhvdyBtYW55IHRvdGFsIGFuaW1hdGlvbiBsb29wcyB3ZSBzaG91bGQgZG8u
ICBUaGlzIHdpbGwgYmUgY0FuaW1hdGlvbk5vbmUgaWYgdGhpcyBpbWFnZSB0eXBlIGlzIGluY2Fw
YWJsZSBvZiBhbmltYXRpb24uCiAgICAgUmVwZXRpdGlvbkNvdW50U3RhdHVzIG1fcmVwZXRpdGlv
bkNvdW50U3RhdHVzOwogICAgIGludCBtX3JlcGV0aXRpb25zQ29tcGxldGU7ICAvLyBIb3cgbWFu
eSByZXBldGl0aW9ucyB3ZSd2ZSBmaW5pc2hlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA3YTUzM2QwMDI3OTFmYzE5ZjdmOTYw
NmM5ZmZjMzc1ZGMzMWQ4Njc0Li44MWZjZTlkMTUyOWY1OTUxYzk0N2E0MGNjZjE5MjQ4NDNmZTcx
YjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCkBAIC05NTUsNyArOTU1LDcgQEAgdW5zaWduZWQgTWVkaWFQbGF5ZXI6OnZpZGVvRGVj
b2RlZEJ5dGVDb3VudCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9EZWNvZGVk
Qnl0ZUNvdW50KCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXI6OnJlbG9hZFRpbWVyRmlyZWQoVGlt
ZXI8TWVkaWFQbGF5ZXI+JikKK3ZvaWQgTWVkaWFQbGF5ZXI6OnJlbG9hZFRpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIG1fcHJpdmF0ZS0+Y2FuY2VsTG9hZCgpOwogICAgIGxvYWRXaXRoTmV4dE1l
ZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5naW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGIxNTM3ZDcwYmQ1ZWNkMDY4NDZmMWQ5
ZmUyNTY2MjE2NzA3OTllY2IuLjY4N2QwNDViMDk1MGMzY2IwYTEyNmZlMGNhMDEyZDFkNGJjY2Zl
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aApAQCAtNTgyLDEyICs1ODIsMTIgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBs
YXllckNsaWVudCYpOwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dEJlc3RNZWRpYUVuZ2lu
ZShNZWRpYVBsYXllckZhY3RvcnkqKSBjb25zdDsKICAgICB2b2lkIGxvYWRXaXRoTmV4dE1lZGlh
RW5naW5lKE1lZGlhUGxheWVyRmFjdG9yeSopOwotICAgIHZvaWQgcmVsb2FkVGltZXJGaXJlZChU
aW1lcjxNZWRpYVBsYXllcj4mKTsKKyAgICB2b2lkIHJlbG9hZFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVNZWRpYUVuZ2luZXMoKTsKIAogICAgIE1lZGlh
UGxheWVyQ2xpZW50JiBtX2NsaWVudDsKLSAgICBUaW1lcjxNZWRpYVBsYXllcj4gbV9yZWxvYWRU
aW1lcjsKKyAgICBUaW1lciBtX3JlbG9hZFRpbWVyOwogICAgIE93blB0cjxNZWRpYVBsYXllclBy
aXZhdGVJbnRlcmZhY2U+IG1fcHJpdmF0ZTsKICAgICBNZWRpYVBsYXllckZhY3RvcnkqIG1fY3Vy
cmVudE1lZGlhRW5naW5lOwogICAgIFVSTCBtX3VybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggOTE3Y2UwOTM4NzM1OWRkNjg5M2Fi
MzhkMDE5OTUwNjI3N2M1MDJlYS4uNjZkZjZiZjJiYzE0MWU2ZTNhNGZjZTcyMmI0NTcyMDU5OTBl
OTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93
Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmF0Y2hCdWZm
ZXImIHNoYXJlZCgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxTY3Jh
dGNoQnVmZmVyPiopCisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyKikKICAgICB7CiAgICAgICAg
IGNsZWFyU2NyYXRjaEJ1ZmZlcigpOwogICAgIH0KQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRl
OgogICAgIH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZl
cjsKLSAgICBUaW1lcjxTY3JhdGNoQnVmZmVyPiBtX3B1cmdlVGltZXI7CisgICAgVGltZXIgbV9w
dXJnZVRpbWVyOwogICAgIAogICAgIEZsb2F0UmVjdCBtX2xhc3RJbnNldEJvdW5kczsKICAgICBG
bG9hdFJlY3QgbV9sYXN0U2hhZG93UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCAyZWVmNDEzZDM0NDAx
M2I2MTUzMWQ4MWQ1MzFhYjYyMDNkZWY2ZDEzLi4wNDQ5MGRkMjczMDE0Y2NlZGQ3MjEwZmQwZTIz
MTQ5NTMzMjE0NTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCkBAIC01MTMsNyArNTEzLDcgQEAgdm9pZCBUaWxl
ZEJhY2tpbmdTdG9yZTo6c3RhcnRUaWxlQnVmZmVyVXBkYXRlVGltZXIoKQogICAgIG1fdGlsZUJ1
ZmZlclVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBUaWxlZEJhY2tpbmdT
dG9yZTo6dGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+
KikKK3ZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnRpbGVCdWZmZXJVcGRhdGVUaW1lckZpcmVkKFRp
bWVyKikKIHsKICAgICBBU1NFUlQobV9jb21taXRUaWxlVXBkYXRlc09uSWRsZUV2ZW50TG9vcCk7
CiAgICAgdXBkYXRlVGlsZUJ1ZmZlcnMoKTsKQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lkIFRpbGVk
QmFja2luZ1N0b3JlOjpzdGFydEJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyKGRvdWJsZSBpbnRlcnZh
bCkKICAgICBtX2JhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7
CiB9CiAKLXZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmly
ZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+KikKK3ZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmJh
Y2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX2NvbW1p
dFRpbGVVcGRhdGVzT25JZGxlRXZlbnRMb29wKTsKICAgICBjcmVhdGVUaWxlcygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgK
aW5kZXggOWUzMDQwZTJiNGFhMWEzYjBlNzc0MGQxZTRjNmU1MWE1ODQ2Yzg0OC4uNTY5M2ViNzgx
MWFkNDg2YzNlNmNiMWI0ZDlhZWIxNjllMDViOTQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC04MSw4ICs4MSw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydFRpbGVCdWZmZXJVcGRhdGVUaW1lcigpOwogICAg
IHZvaWQgc3RhcnRCYWNraW5nU3RvcmVVcGRhdGVUaW1lcihkb3VibGUgPSAwKTsKIAotICAgIHZv
aWQgdGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+Kik7
Ci0gICAgdm9pZCBiYWNraW5nU3RvcmVVcGRhdGVUaW1lckZpcmVkKFRpbWVyPFRpbGVkQmFja2lu
Z1N0b3JlPiopOworICAgIHZvaWQgdGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKTsK
KyAgICB2b2lkIGJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZv
aWQgY3JlYXRlVGlsZXMoKTsKICAgICB2b2lkIGNvbXB1dGVDb3ZlckFuZEtlZXBSZWN0KGNvbnN0
IEludFJlY3QmIHZpc2libGVSZWN0LCBJbnRSZWN0JiBjb3ZlclJlY3QsIEludFJlY3QmIGtlZXBS
ZWN0KSBjb25zdDsKQEAgLTEwOSw4ICsxMDksOCBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFz
aE1hcDxUaWxlOjpDb29yZGluYXRlLCBSZWZQdHI8VGlsZT4gPiBUaWxlTWFwOwogICAgIFRpbGVN
YXAgbV90aWxlczsKIAotICAgIFRpbWVyPFRpbGVkQmFja2luZ1N0b3JlPiBtX3RpbGVCdWZmZXJV
cGRhdGVUaW1lcjsKLSAgICBUaW1lcjxUaWxlZEJhY2tpbmdTdG9yZT4gbV9iYWNraW5nU3RvcmVV
cGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX3RpbGVCdWZmZXJVcGRhdGVUaW1lcjsKKyAgICBUaW1l
ciBtX2JhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyOwogCiAgICAgSW50U2l6ZSBtX3RpbGVTaXplOwog
ICAgIGZsb2F0IG1fY292ZXJBcmVhTXVsdGlwbGllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZG
T2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgKaW5kZXggOTMyYWIyODk4N2MwMThlM2E3OGQ2OTNk
YjIxYTkwYmI2MGYxMTdhYy4uNDcxNzQwZGFlODlhNTk2NTY2NThjOTg3NWYzMjZiODM4ODAzMjlk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgK
QEAgLTg0LDEzICs4NCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDKEFWUGxheWVySXRlbSosIEFWTWVkaWFTZWxlY3Rpb25Hcm91cCopOwogCi0g
ICAgdm9pZCBzZWxlY3Rpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZP
YmpDPiYpOworICAgIHZvaWQgc2VsZWN0aW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmV0
YWluUHRyPEFWUGxheWVySXRlbT4gbV9wbGF5ZXJJdGVtOwogICAgIFJldGFpblB0cjxBVk1lZGlh
U2VsZWN0aW9uR3JvdXA+IG1fbWVkaWFTZWxlY3Rpb25Hcm91cDsKICAgICBPcHRpb25Db250YWlu
ZXIgbV9vcHRpb25zOwogICAgIE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyogbV9zZWxlY3Rl
ZE9wdGlvbjsKLSAgICBUaW1lcjxNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQz4gbV9zZWxlY3Rp
b25UaW1lcjsKKyAgICBUaW1lciBtX3NlbGVjdGlvblRpbWVyOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2Vs
ZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IGEwNzZhNDg3
NDE2MGRiM2I3NDA5OTAyMTdiYmYwNjRhMzdhYTMzN2EuLmI3ZmRlOGViYmIwMmJjMjA0ZDcxZjI5
MzE3NjJjMmZmYzI4NTU4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakMubW0KQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9i
akMqCiAgICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVk
aWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFT
ZWxlY3Rpb25Hcm91cEFWRk9iakM+JikKK3ZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6
OnNlbGVjdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFttX3BsYXllckl0ZW0gc2VsZWN0
TWVkaWFPcHRpb246KG1fc2VsZWN0ZWRPcHRpb24gPyBtX3NlbGVjdGVkT3B0aW9uLT5hdk1lZGlh
U2VsZWN0aW9uT3B0aW9uKCkgOiBuaWwpIGluTWVkaWFTZWxlY3Rpb25Hcm91cDptX21lZGlhU2Vs
ZWN0aW9uR3JvdXAuZ2V0KCldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCAwNzdh
YzJlMzJjMzhlYjdiZDI1MjM5YTAyNGIzZjc3NTEwNjk1N2IxLi5mNzJhY2M5OTdkYjlhYTY0M2Rl
OWI1Njk3NGVkNzExZDI0MmYwOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMTY4
LDcgKzE2OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAgIHZvaWQg
ZGVzdHJveUxheWVyKCk7CiAgICAgYm9vbCBzaG91bGRCZVBsYXlpbmcoKSBjb25zdDsKLSAgICB2
b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQz4mKTsKKyAgICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBmcmllbmQg
Y2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzsKIApAQCAtMTk1LDcgKzE5NSw3IEBAIHBy
aXZhdGU6CiAgICAgUmV0YWluUHRyPGlkPiBtX3RpbWVKdW1wZWRPYnNlcnZlcjsKICAgICBSZXRh
aW5QdHI8aWQ+IG1fZHVyYXRpb25PYnNlcnZlcjsKICAgICBSZXRhaW5QdHI8QVZTdHJlYW1TZXNz
aW9uPiBtX3N0cmVhbVNlc3Npb247Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDPiBtX3NlZWtUaW1lcjsKKyAgICBUaW1lciBtX3NlZWtUaW1lcjsKICAgICBD
RE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDKiBtX3Nlc3Npb247CiAgICAgTWVkaWFQbGF5ZXI6
Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZSBtX3JlYWR5U3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggMWM5NDg4MDNl
MWMwMGUxNGUzMjE5ODBlOWUzNjM4ODBhNGMzZDI3Yy4uYjJiMWRiMjA0MTAzMDIwZjgxMmY1YmQ4
ZjljOWM4ZDkzMTc4MGU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtNDIzLDcg
KzQyMyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVr
V2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmIHRpCiAgICAgbV9zZWVrVGltZXIuc3RhcnRP
bmVTaG90KDApOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDPiYpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1Rp
bWVyRmlyZWQoVGltZXImKQogewogICAgIHNlZWtJbnRlcm5hbCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggYjQ5YmQ0
OWY2YTliN2IwMzY5YjkyZjcxNjU1OGQ4YWQ4OWUxOGY3NS4uNmY0YmUxZDlkYzY4ZTVlNDIyZWIx
MmJiYmVjOWEzYTAxM2U1ODQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9MYXllclBvb2wuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBMYXllclBv
b2w6OnNjaGVkdWxlUHJ1bmUoKQogICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CiB9
CiAKLXZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoVGltZXI8TGF5ZXJQb29sPiYpCit2
b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICB1bnNpZ25lZCBz
aHJpbmtUbyA9IGRlY2F5ZWRDYXBhY2l0eSgpOwogICAgIHdoaWxlIChtX3RvdGFsQnl0ZXMgPiBz
aHJpbmtUbykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvTGF5ZXJQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXll
clBvb2wuaAppbmRleCA4NjgxMTZmMzBhOTMwYjQ5MjYzYjQwY2Q0Njk1YWE4NWVlM2E2ZGRmLi44
YmNiZTU2MGZjYWE4NjA4MWEyY2QxZDYyNWI3OGEyN2FiNmVjODIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaApAQCAtNjEsNyArNjEsNyBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBjYW5SZXVzZUxheWVyV2l0aFNpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkgY29uc3QgeyByZXR1cm4gbV9tYXhCeXRlc0ZvclBvb2wgJiYgIXNpemUuaXNFbXB0
eSgpOyB9CiAgICAgdm9pZCBzY2hlZHVsZVBydW5lKCk7Ci0gICAgdm9pZCBwcnVuZVRpbWVyRmly
ZWQoVGltZXI8TGF5ZXJQb29sPiYpOworICAgIHZvaWQgcHJ1bmVUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICB0eXBlZGVmIGVudW0geyBMZWF2ZVVuY2hhbmdlZCwgTWFya0FzVXNlZCB9IEFjY2Vz
c1R5cGU7CiAgICAgTGF5ZXJMaXN0JiBsaXN0T2ZMYXllcnNXaXRoU2l6ZShjb25zdCBJbnRTaXpl
JiwgQWNjZXNzVHlwZSA9IExlYXZlVW5jaGFuZ2VkKTsKQEAgLTc0LDcgKzc0LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX3RvdGFsQnl0ZXM7CiAgICAgdW5zaWduZWQgbV9tYXhCeXRlc0Zv
clBvb2w7CiAKLSAgICBUaW1lcjxMYXllclBvb2w+IG1fcHJ1bmVUaW1lcjsKKyAgICBUaW1lciBt
X3BydW5lVGltZXI7CiAKICAgICBkb3VibGUgbV9sYXN0QWRkVGltZTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZjU5YjRkNzY2OWJiZjJhOTAzNTZkNjQxMGE0YTFkOTU4MzAxMzZlZi4uZjNjZDVkZDc1
ZWVkMjA1Nzc4ZDk1NDNhNjcyMmI4NGJhN2MxMGQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtMzQ1LDcg
KzM0NSw3IEBAIGJvb2wgVGlsZUNvbnRyb2xsZXI6OnNob3VsZFRlbXBvcmFyaWx5UmV0YWluVGls
ZUNvaG9ydHMoKSBjb25zdAogICAgIHJldHVybiBvd25pbmdHcmFwaGljc0xheWVyKCktPnBsYXRm
b3JtQ0FMYXllclNob3VsZFRlbXBvcmFyaWx5UmV0YWluVGlsZUNvaG9ydHMobV90aWxlQ2FjaGVM
YXllcik7CiB9CiAKLXZvaWQgVGlsZUNvbnRyb2xsZXI6OnRpbGVSZXZhbGlkYXRpb25UaW1lckZp
cmVkKFRpbWVyPFRpbGVDb250cm9sbGVyPiopCit2b2lkIFRpbGVDb250cm9sbGVyOjp0aWxlUmV2
YWxpZGF0aW9uVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgaWYgKCFvd25pbmdHcmFwaGljc0xh
eWVyKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCmluZGV4IDBiOTAxZjlkZDJjZTQ3MDBmYzA0
NmUwMjNhOTZlMTIzMjdlYTBkYTIuLmJkOGIwMTdkZGExMGQ0NGM5ZjkxOWUzNjc0YWQwMDlhNzMx
OTQxZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBmbG9hdCB6b29tZWRPdXRDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKIAotICAg
IHZvaWQgdGlsZVJldmFsaWRhdGlvblRpbWVyRmlyZWQoVGltZXI8VGlsZUNvbnRyb2xsZXI+Kik7
CisgICAgdm9pZCB0aWxlUmV2YWxpZGF0aW9uVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgdm9p
ZCBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOwogCkBAIC0xNzcsNyArMTc3LDcgQEAgcHJpdmF0
ZToKICAgICBGbG9hdFJlY3QgbV92aXNpYmxlUmVjdEF0TGFzdFJldmFsaWRhdGU7CiAgICAgSW50
UmVjdCBtX2JvdW5kc0F0TGFzdFJldmFsaWRhdGU7CiAKLSAgICBUaW1lcjxUaWxlQ29udHJvbGxl
cj4gbV90aWxlUmV2YWxpZGF0aW9uVGltZXI7CisgICAgVGltZXIgbV90aWxlUmV2YWxpZGF0aW9u
VGltZXI7CiAKICAgICBmbG9hdCBtX3pvb21lZE91dENvbnRlbnRzU2NhbGU7CiAgICAgZmxvYXQg
bV9kZXZpY2VTY2FsZUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCBmNTRmZjA0YjBhZWFmZWYzYWEyMmVmZjcyNDlkMzlk
OTM1NDg0YTIwLi5hNzc2NDNiYTA0MDYyNWM2MjllOGFhMmM0OWVhN2E0MzUyOTQ2Njg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBA
IC00NzYsNyArNDc2LDcgQEAgZG91YmxlIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVu
dGlsRXhwaXJhdGlvbigpCiAgICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7
CiB9CiAKLXZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKFRpbWVyPFRpbGVH
cmlkPiopCit2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZChUaW1lciopCiB7
CiAgICAgaWYgKG1fY29ob3J0TGlzdC5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jb2hvcnRSZW1v
dmFsVGltZXIuc3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvVGlsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKaW5kZXggMThmYjMyNjI3N2U5YzMzZTYzNzY4ZGQwODBkZWRhYWM5ODllYWRk
Ni4uNTZmNTI4ZGU3YTM3OGU0ZDI0YTAyOTNjNGNmZTBlZWEyYzFmMjliOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCkBAIC0xMjMsNyArMTIz
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZVRpbGVzSW5Db2hvcnQoVGlsZUNvaG9ydCk7
CiAKICAgICB2b2lkIHNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpOwotICAgIHZvaWQgY29ob3J0UmVt
b3ZhbFRpbWVyRmlyZWQoVGltZXI8VGlsZUdyaWQ+Kik7CisgICAgdm9pZCBjb2hvcnRSZW1vdmFs
VGltZXJGaXJlZChUaW1lciopOwogICAgIFRpbGVDb2hvcnQgbmV4dFRpbGVDb2hvcnQoKSBjb25z
dDsKICAgICB2b2lkIHN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCk7CiAgICAgVGlsZUNvaG9y
dCBuZXdlc3RUaWxlQ29ob3J0KCkgY29uc3Q7CkBAIC0xNTQsNyArMTU0LDcgQEAgcHJpdmF0ZToK
ICAgICB0eXBlZGVmIERlcXVlPFRpbGVDb2hvcnRJbmZvPiBUaWxlQ29ob3J0TGlzdDsKICAgICBU
aWxlQ29ob3J0TGlzdCBtX2NvaG9ydExpc3Q7CiAKLSAgICBUaW1lcjxUaWxlR3JpZD4gbV9jb2hv
cnRSZW1vdmFsVGltZXI7CisgICAgVGltZXIgbV9jb2hvcnRSZW1vdmFsVGltZXI7CiAKICAgICB0
eXBlZGVmIEhhc2hNYXA8UGxhdGZvcm1DQUxheWVyKiwgaW50PiBSZXBhaW50Q291bnRNYXA7CiAg
ICAgUmVwYWludENvdW50TWFwIG1fdGlsZVJlcGFpbnRDb3VudHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGVnYWN5Q0FDRkxheWVyVHJlZUhv
c3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNB
Q0ZMYXllclRyZWVIb3N0LmNwcAppbmRleCBiODBhMmZlZjNjZjk2MjI4MWI4ZTdiZTZhMjMyYWJk
NjIxOTc0YmJhLi4yMTBhMWE4ODE4MjEyNGM2NDlkYjU3NDMwZjdiYzYzNDE0OGUzNjgyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGVnYWN5Q0FD
RkxheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL3dpbi9MZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIyNCw3ICsyMjQsNyBAQCB2
b2lkIExlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0OjpyZXNpemUoKQogICAgIH0KIH0KIAotdm9pZCBM
ZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZChUaW1lcjxMZWdhY3lDQUNG
TGF5ZXJUcmVlSG9zdD4qKQordm9pZCBMZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGlt
ZXJGaXJlZChUaW1lciopCiB7CiAgICAgcGFpbnQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9MZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXll
clRyZWVIb3N0LmgKaW5kZXggMTAyZmNiYzc4ZmM3YWUwZDM5MGI1Njk1MjRiZGNhNTViZDdmNDc1
MS4uOGY2MTZiZjRjNmJhMDkwMmQyYTg2NjQwZjI2ZjJiNThlMTU4MTJlOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRy
ZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xl
Z2FjeUNBQ0ZMYXllclRyZWVIb3N0LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBi
b29sIHJlc2V0RGV2aWNlKFJlc2V0UmVhc29uKTsKIAogICAgIHZvaWQgcmVuZGVyU29vbigpOwot
ICAgIHZvaWQgcmVuZGVyVGltZXJGaXJlZChUaW1lcjxMZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdD4q
KTsKKyAgICB2b2lkIHJlbmRlclRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBpbml0aWFsaXplQ29udGV4dCh2b2lkKiB1c2VyRGF0YSwgUGxhdGZvcm1DQUxheWVyKik7CiAg
ICAgdmlydHVhbCB2b2lkIHJlc2l6ZSgpOwpAQCAtNjYsNyArNjYsNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgR3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0ZXIoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAjZW5kaWYKIAotICAgIFRpbWVyPExlZ2FjeUNB
Q0ZMYXllclRyZWVIb3N0PiBtX3JlbmRlclRpbWVyOworICAgIFRpbWVyIG1fcmVuZGVyVGltZXI7
CiAgICAgQ09NUHRyPElEaXJlY3QzRERldmljZTk+IG1fZDNkRGV2aWNlOwogICAgIFdLQ0FDRkNv
bnRleHQqIG1fY29udGV4dDsKICAgICBib29sIG1fbWlnaHRCZUFibGVUb0NyZWF0ZURldmljZUxh
dGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1
cmZhY2VQb29sLmNwcAppbmRleCBhOTQxYzkzMDU4OTIxNmQ0ZDM1YWE3MmZkOWU0NGE3NGRhOWQy
YWU1Li41Mjg1ZGNlNmU3ZjQ3N2MxN2VkOTU3MDRhNThhMmNjMTA3MmRkYzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNw
cApAQCAtMjkyLDcgKzI5Miw3IEBAIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFj
ZXNQdXJnZWFibGUoKQogICAgIHJldHVybiBtYXJrZWRBbGxTdXJmYWNlczsKIH0KIAotdm9pZCBJ
T1N1cmZhY2VQb29sOjpjb2xsZWN0aW9uVGltZXJGaXJlZChUaW1lcjxJT1N1cmZhY2VQb29sPiYp
Cit2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3Rpb25UaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBjb2xsZWN0SW5Vc2VTdXJmYWNlcygpOwogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSBt
YXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDgwYWYwZDVmMmY3MDQzNTYw
YThlMjUyMTY2OGM0YTEzYWY2YTk5ZTYuLmJhNDQxMTY4Y2ZkNzU2YTE1NWNkNmNlNjA3MmY1Njc1
MWRhZjczYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JT1N1cmZhY2VQb29sLmgKQEAgLTg3LDEzICs4NywxMyBAQCBwcml2YXRlOgogICAgIHZvaWQg
dHJ5RXZpY3RPbGRlc3RDYWNoZWRTdXJmYWNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlQ29sbGVj
dGlvblRpbWVyKCk7Ci0gICAgdm9pZCBjb2xsZWN0aW9uVGltZXJGaXJlZChUaW1lcjxJT1N1cmZh
Y2VQb29sPiYpOworICAgIHZvaWQgY29sbGVjdGlvblRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIGNvbGxlY3RJblVzZVN1cmZhY2VzKCk7CiAgICAgYm9vbCBtYXJrT2xkZXJTdXJmYWNlc1B1
cmdlYWJsZSgpOwogCiAgICAgdm9pZCBwbGF0Zm9ybUdhcmJhZ2VDb2xsZWN0Tm93KCk7CiAKLSAg
ICBUaW1lcjxJT1N1cmZhY2VQb29sPiBtX2NvbGxlY3Rpb25UaW1lcjsKKyAgICBUaW1lciBtX2Nv
bGxlY3Rpb25UaW1lcjsKICAgICBDYWNoZWRTdXJmYWNlTWFwIG1fY2FjaGVkU3VyZmFjZXM7CiAg
ICAgQ2FjaGVkU3VyZmFjZVF1ZXVlIG1faW5Vc2VTdXJmYWNlczsKICAgICBDYWNoZWRTdXJmYWNl
RGV0YWlsc01hcCBtX3N1cmZhY2VEZXRhaWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAyNWU1ZWI2MTljNzBiNGM3OWUzMWQ0NDZkNDYx
Y2QwNWE4YmE5YTA5Li5iYTNjN2FmYmVlNWQwMTZjMmMzNTliYTAyYzFlMDEzNDVmMWM0ODJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MTE0NSw3ICsxMTQ1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnByb2Nl
c3NUYWJsZU9mQ29udGVudHNFbnRyeShHc3RUb2NFbnRyeSogZW50cnkKIH0KICNlbmRpZgogCi12
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmlsbFRpbWVyRmlyZWQoVGltZXI8TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6ZmlsbFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEdzdFF1ZXJ5KiBxdWVyeSA9IGdz
dF9xdWVyeV9uZXdfYnVmZmVyaW5nKEdTVF9GT1JNQVRfUEVSQ0VOVCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA3NzIwMDE1ZTM0ODE3YTk4
MzViMmY0Nzc4YWEyOTEzZTRjYjRiMmQ1Li4wNTYxMzRlOWFiZTY2ZDI4NzFlZjRhYTYzZTNhN2Yx
YjZiZjRkMDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByZXNlcnZlc1BpdGNo
KGJvb2wpOwogCiAgICAgdm9pZCBzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkKTsKLSAg
ICB2b2lkIGZpbGxUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4q
KTsKKyAgICB2b2lkIGZpbGxUaW1lckZpcmVkKFRpbWVyKik7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0OwogICAgIGZsb2F0IG1heFRp
bWVTZWVrYWJsZSgpIGNvbnN0OwpAQCAtMTkyLDcgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2Vycm9yT2NjdXJlZDsKICAgICBtdXRhYmxlIGdmbG9hdCBtX21lZGlhRHVyYXRpb247CiAg
ICAgYm9vbCBtX2Rvd25sb2FkRmluaXNoZWQ7Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyPiBtX2ZpbGxUaW1lcjsKKyAgICBUaW1lciBtX2ZpbGxUaW1lcjsKICAgICBmbG9h
dCBtX21heFRpbWVMb2FkZWQ7CiAgICAgaW50IG1fYnVmZmVyaW5nUGVyY2VudGFnZTsKICAgICBN
ZWRpYVBsYXllcjo6UHJlbG9hZCBtX3ByZWxvYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5o
CmluZGV4IGVmODU1ZTkyMmIxNmRhOGM3NDg2ODdmOGQ0ZjA4ZTQ1ZGYxN2UyODUuLjU4MDJjNzI0
YjM0YzFkN2Y5YmFlYzZlYjczODFkYTBjMTE1ZThkZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0YXRl
cygpOwogICAgIHZvaWQgZG9TZWVrKCk7CiAgICAgdm9pZCBjYW5jZWxTZWVrKCk7Ci0gICAgdm9p
ZCBzZWVrVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4mKTsKKyAgICB2
b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZUxv
YWRlZCgpIGNvbnN0OwogICAgIHZvaWQgZGlzYWJsZVVuc3VwcG9ydGVkVHJhY2tzKCk7CiAgICAg
CkBAIC0xODAsNyArMTgwLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQ29yZU1vdmll
T2JzZXJ2ZXI+IG1fb2JqY09ic2VydmVyOwogICAgIFN0cmluZyBtX21vdmllVVJMOwogICAgIE1l
ZGlhVGltZSBtX3NlZWtUbzsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4gbV9z
ZWVrVGltZXI7CisgICAgVGltZXIgbV9zZWVrVGltZXI7CiAgICAgTWVkaWFQbGF5ZXI6Ok5ldHdv
cmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3Jl
YWR5U3RhdGU7CiAgICAgSW50UmVjdCBtX3JlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW0KaW5kZXggNmQ0MTE1M2VmMGZkMDk0ZThhOTNmNjZmNDZhNTZmYWU0ODdlNmU0OC4uOTU5Mjg0
YTBlNDJhZGY0Mjg1NDQxYWU3MDg4M2VmZjNmYTIyMWQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbQpAQCAtNjc2LDcgKzY3Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OmNhbmNlbFNlZWsoKQogICAgIG1fc2Vla1RpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQ+JikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWtUaW1lckZpcmVk
KFRpbWVyJikKIHsgICAgICAgIAogICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8fCAhc2Vl
a2luZygpIHx8IGN1cnJlbnRNZWRpYVRpbWUoKSA9PSBtX3NlZWtUbykgewogICAgICAgICBjYW5j
ZWxTZWVrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggNTNjZTRhZmI3Y2Y0YjQwNGM2ZmI5NzU4
ZWI4OGVjNTg1NTU5NGFkMC4uN2UxMjFhMjBkOTYzZWM4NWJkYzRlMzE5OTI3Mjc5OWQ0NDIxYjU3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyLmNwcApAQCAtNTQsMTAgKzU0LDEwIEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICB2b2lkIHNjaGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCk7Ci0gICAgdm9p
ZCByZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKFRpbWVyPEJpdG1hcFRleHR1cmVQb29s
PiopOworICAgIHZvaWQgcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZChUaW1lciopOwog
CiAgICAgVmVjdG9yPEJpdG1hcFRleHR1cmVQb29sRW50cnk+IG1fdGV4dHVyZXM7Ci0gICAgVGlt
ZXI8Qml0bWFwVGV4dHVyZVBvb2w+IG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXI7CisgICAg
VGltZXIgbV9yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lcjsKIAogICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKICAgICBzdGF0aWMgY29uc3Qg
ZG91YmxlIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbDsKQEAgLTc4LDcgKzc4
LDcgQEAgdm9pZCBCaXRtYXBUZXh0dXJlUG9vbDo6c2NoZWR1bGVSZWxlYXNlVW51c2VkVGV4dHVy
ZXMoKQogICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVTaG90KHNfcmVs
ZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbCk7CiB9CiAKLXZvaWQgQml0bWFwVGV4dHVy
ZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQoVGltZXI8Qml0bWFwVGV4dHVy
ZVBvb2w+KikKK3ZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVyRmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3RleHR1cmVzLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuY3BwCmluZGV4IDBkYTQyOWJmMjk2ZTk0MGU4ZjA4YjU1OTA4Y2Y1MzkwYmIxODhj
MmUuLjA2MWQ5NmZlM2ZjODBjNDgwNmFmZmJmNDliN2VlMTk4NDJkMzE4NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTM5
Niw3ICszOTYsNyBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFz
ZUluYWN0aXZlQXRsYXNlcygpCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVy
LnN0YXJ0UmVwZWF0aW5nKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsKTsKIH0K
IAotdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGlt
ZXJGaXJlZChUaW1lcjxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiopCit2b2lkIENvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICAvLyBXZSBhbHdheXMgd2FudCB0byBrZWVwIG9uZSBhdGxhcyBmb3Igcm9vdCBjb250ZW50
cyBsYXllci4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXBkYXRlQXRsYXM+IGF0bGFzVG9LZWVwQW55
d2F5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9y
LmgKaW5kZXggMGJmNDU0MGE1NGJhYmMzNWVhZTY5ODU5NTA3ZGVmNDZlOWJjMDQwNS4uMGNhZTg2
ZjJiOTE2YjRmM2VhMWI4YWUxODc0ODRjN2Q3MzRjYWM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCkBAIC0xMjIsNyArMTIyLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCk7CiAK
LSAgICB2b2lkIHJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyPENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I+Kik7CisgICAgdm9pZCByZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgUGFnZSogbV9wYWdlOwogICAgIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OkNsaWVudCogbV9jbGllbnQ7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgbV9zaG91bGRTeW5jRnJhbWU7CiAgICAgYm9vbCBtX2RpZEluaXRpYWxpemVSb290
Q29tcG9zaXRpbmdMYXllcjsKLSAgICBUaW1lcjxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiBtX3Jl
bGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lcjsKKyAgICBUaW1lciBtX3JlbGVhc2VJbmFjdGl2ZUF0
bGFzZXNUaW1lcjsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBk
b3VibGUgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDA0YzkwOGIyYTMz
Y2JjYzEyNGEyMDkzYWI0ZDUyNzNhYTllNDM0ZDkuLjk5ZTkyYjU0NWM0NmM4YmI2OTk0ZDg4OTY2
ODRjN2FmMmZjMzIyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMjIwLDcgKzEyMjAsNyBAQCB2b2lkIENvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6cmVzdW1lQW5pbWF0aW9ucygpCiAgICAgZGlkQ2hhbmdlQW5p
bWF0aW9ucygpOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9u
U3RhcnRlZFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPiopCit2b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGlt
ZXIqKQogewogICAgIGNsaWVudCgpLm5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQodGhpcywgIiIsIG1f
bGFzdEFuaW1hdGlvblN0YXJ0VGltZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggNThmYmZjMGI5YjAwYmU3ZmYzYzZi
Nzc3NmFkMzhjMDA2MGM2ODliMS4uMDdjMjgxN2M0MjEwNjY5ZjVhOWQ5MzcwMjE1MWZjZTYyNzBh
OWUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuaApAQCAtMjAxLDcgKzIwMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91
bGRVcGRhdGVWaXNpYmxlUmVjdCgpOwogICAgIGZsb2F0IGVmZmVjdGl2ZUNvbnRlbnRzU2NhbGUo
KTsKIAotICAgIHZvaWQgYW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyPiopOworICAgIHZvaWQgYW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQo
VGltZXIqKTsKIAogICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBtX2lkOwogICAgIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllclN0YXRlIG1fbGF5ZXJTdGF0ZTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBwcml2
YXRlOgogICAgIEludFNpemUgbV9wbGF0Zm9ybUxheWVyU2l6ZTsKICAgICBHcmFwaGljc1N1cmZh
Y2VUb2tlbiBtX3BsYXRmb3JtTGF5ZXJUb2tlbjsKICNlbmRpZgotICAgIFRpbWVyPENvb3JkaW5h
dGVkR3JhcGhpY3NMYXllcj4gbV9hbmltYXRpb25TdGFydGVkVGltZXI7CisgICAgVGltZXIgbV9h
bmltYXRpb25TdGFydGVkVGltZXI7CiAgICAgR3JhcGhpY3NMYXllckFuaW1hdGlvbnMgbV9hbmlt
YXRpb25zOwogICAgIGRvdWJsZSBtX2xhc3RBbmltYXRpb25TdGFydFRpbWU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEltYWdlQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4
IDgwYzRlZWQ2YjIzOWJkYjlkMjAxMTFkMzA0NTE5YWJjZjUzNjFkYTEuLjA5MzBlMjY5MDFkZDk3
YWRiNmFlZWUzNWU5OWM5M2YzNTg0NjM4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2lu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZv
aWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OnVwZGF0ZVZpc2liaWxpdHlJZk5lZWRlZChib29s
JiBjaGFuZ2VkVG9WaXNpYmxlKQogICAgIH0KIH0KIAotdm9pZCBDb29yZGluYXRlZEltYWdlQmFj
a2luZzo6Y2xlYXJDb250ZW50c1RpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tp
bmc+KikKK3ZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OmNsZWFyQ29udGVudHNUaW1lckZp
cmVkKFRpbWVyKikKIHsKICAgICBtX2NsaWVudC0+Y2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyhp
ZCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nLmgKaW5kZXggNzExZTQ5MWZlNTQ4NjJjY2I3MDFlY2RiZTk2MzdmMTMzYmE0YjA0ZS4u
ZDYxNzY1Zjc5YTJkNzg4NDEyMDBjYjFhYWI2MjhmMzQ2YWVlN2MwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkSW1hZ2VCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmgKQEAgLTcyLDcgKzcy
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpOwogICAg
IHZvaWQgdXBkYXRlVmlzaWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpOwot
ICAgIHZvaWQgY2xlYXJDb250ZW50c1RpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRJbWFnZUJh
Y2tpbmc+Kik7CisgICAgdm9pZCBjbGVhckNvbnRlbnRzVGltZXJGaXJlZChUaW1lciopOwogCiAg
ICAgQ2xpZW50KiBtX2NsaWVudDsKICAgICBSZWZQdHI8SW1hZ2U+IG1faW1hZ2U7CkBAIC04Miw3
ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPiBtX3N1
cmZhY2U7CiAKLSAgICBUaW1lcjxDb29yZGluYXRlZEltYWdlQmFja2luZz4gbV9jbGVhckNvbnRl
bnRzVGltZXI7CisgICAgVGltZXIgbV9jbGVhckNvbnRlbnRzVGltZXI7CiAKICAgICBib29sIG1f
aXNEaXJ0eTsKICAgICBib29sIG1faXNWaXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5oCmluZGV4IGRhMWIwNmRhNWY4MGI3NWI1MTE2ZjExNWQy
NGE1YjM0MGM2YmM5OWQuLmY4NzU5YTQ0MmY2MmFlNzg0YzU0MDdiYjIzNDA5NDE1YmM4NGU4MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLmgKQEAg
LTE2OSw3ICsxNjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlVGlsZXNJbkFjdGl2ZUdy
aWQoU3luY2hyb25vdXNUaWxlQ3JlYXRpb25Nb2RlKTsKICAgICB2b2lkIHNjaGVkdWxlTGF5ZXJG
bHVzaEZvclBlbmRpbmdSZXBhaW50KCk7CiAKLSAgICB2b2lkIHRpbGVDcmVhdGlvblRpbWVyRmly
ZWQoVGltZXI8TGVnYWN5VGlsZUNhY2hlPiopOworICAgIHZvaWQgdGlsZUNyZWF0aW9uVGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgdm9pZCBkcmF3UmVwbGFjZW1lbnRJbWFnZShMZWdhY3lUaWxl
TGF5ZXIqLCBDR0NvbnRleHRSZWYsIENHSW1hZ2VSZWYpOwogICAgIHZvaWQgZHJhd1dpbmRvd0Nv
bnRlbnQoTGVnYWN5VGlsZUxheWVyKiwgQ0dDb250ZXh0UmVmLCBDR1JlY3QgZGlydHlSZWN0KTsK
QEAgLTIwMCw3ICsyMDAsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxMZWdhY3lUaWxlR3JpZD4g
bV96b29tZWRPdXRUaWxlR3JpZDsKICAgICBPd25QdHI8TGVnYWN5VGlsZUdyaWQ+IG1fem9vbWVk
SW5UaWxlR3JpZDsKIAotICAgIFRpbWVyPExlZ2FjeVRpbGVDYWNoZT4gbV90aWxlQ3JlYXRpb25U
aW1lcjsKKyAgICBUaW1lciBtX3RpbGVDcmVhdGlvblRpbWVyOwogCiAgICAgVmVjdG9yPEludFJl
Y3Q+IG1fc2F2ZWREaXNwbGF5UmVjdHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvTGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IDZjMDAxNDJiOTZmNjAxN2RiNWI4ZTU5N2ZjZTgx
ZDY3NDM0OTU1NjYuLmMzZDk5MzIyZTQ5M2RiMTVlMmE2NDI0Mzc0ZTQ1ZjUxZTM3YWQxZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAt
NDE1LDcgKzQxNSw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGls
ZXMoYm9vbCBkaWRDcmVhdGVUaWxlcywgYm9vbCBjcmVhdGVNb3JlCiAgICAgICAgIG1fdGlsZUNy
ZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIExlZ2FjeVRpbGVDYWNoZTo6
dGlsZUNyZWF0aW9uVGltZXJGaXJlZChUaW1lcjxMZWdhY3lUaWxlQ2FjaGU+KikKK3ZvaWQgTGVn
YWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAo
aXNUaWxlQ3JlYXRpb25TdXNwZW5kZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCBkY2Iz
NGNjZDllMTNjY2E2MDUwZDkwM2ViM2IyN2QyOTlkYTE0ZGJjLi5jNDkxY2RkYmRhNDE2NWNiNzY1
OWVkN2JmYzU2NmE1NDg3NGM4OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIHVuc2lnbmVk
IEhJREdhbWVwYWRQcm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERldmljZSgpCiAgICAg
cmV0dXJuIGluZGV4OwogfQogCi12b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRl
bGF5VGltZXJGaXJlZChUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+JikKK3ZvaWQgSElER2FtZXBh
ZFByb3ZpZGVyOjpjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBtX3No
b3VsZERpc3BhdGNoQ2FsbGJhY2tzID0gdHJ1ZTsKIH0KQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lk
IEhJREdhbWVwYWRQcm92aWRlcjo6dmFsdWVzQ2hhbmdlZChJT0hJRFZhbHVlUmVmIHZhbHVlKQog
ICAgICAgICBtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuc3RhcnRPbmVTaG90KElucHV0Tm90aWZp
Y2F0aW9uRGVsYXkpOwogfQogCi12b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmlj
YXRpb25UaW1lckZpcmVkKFRpbWVyPEhJREdhbWVwYWRQcm92aWRlcj4mKQordm9pZCBISURHYW1l
cGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9uVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
aWYgKCFtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tzKQogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggZWQ3
NjI4MWVmNDhlNTRhODkyZTcyZGVmYTMxMTIzM2Q5OWI1OTEzNC4uZmZlNzVhZGYwNGU5ZWNhZTUy
Mzg3ZjJjNzY2Yzk5YjFiOTE4ZDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9ISURHYW1lcGFkUHJvdmlkZXIuaApAQCAtNjQsOCArNjQsOCBAQCBwcml2YXRlOgogICAg
IHZvaWQgb3BlbkFuZFNjaGVkdWxlTWFuYWdlcigpOwogICAgIHZvaWQgY2xvc2VBbmRVbnNjaGVk
dWxlTWFuYWdlcigpOwogCi0gICAgdm9pZCBjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKFRpbWVy
PEhJREdhbWVwYWRQcm92aWRlcj4mKTsKLSAgICB2b2lkIGlucHV0Tm90aWZpY2F0aW9uVGltZXJG
aXJlZChUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+Jik7CisgICAgdm9pZCBjb25uZWN0aW9uRGVs
YXlUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBpbnB1dE5vdGlmaWNhdGlvblRpbWVyRmly
ZWQoVGltZXImKTsKIAogICAgIHVuc2lnbmVkIGluZGV4Rm9yTmV3bHlDb25uZWN0ZWREZXZpY2Uo
KTsKIApAQCAtNzcsOCArNzcsOCBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8R2FtZXBhZFByb3Zp
ZGVyQ2xpZW50Kj4gbV9jbGllbnRzOwogICAgIGJvb2wgbV9zaG91bGREaXNwYXRjaENhbGxiYWNr
czsKIAotICAgIFRpbWVyPEhJREdhbWVwYWRQcm92aWRlcj4gbV9jb25uZWN0aW9uRGVsYXlUaW1l
cjsKLSAgICBUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+IG1faW5wdXROb3RpZmljYXRpb25UaW1l
cjsKKyAgICBUaW1lciBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyOworICAgIFRpbWVyIG1faW5wdXRO
b3RpZmljYXRpb25UaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKaW5kZXggMDEyZTRh
ODMxZTIxNWZhODBkNDU0ZTM5NjEzY2ZiZDM4NGE1NjQ1OC4uYjA2Y2RlZTlmNmI5YTk1MWRmZWJj
MmM2ZWJiYmNmNDU4NDk4Y2I0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLmgKQEAgLTc4LDExICs3OCwxMSBAQCBwcml2YXRlOgogICAgIFJl
dGFpblB0cjxXZWJTY3JvbGxiYXJQYWludGVyRGVsZWdhdGU+IG1faG9yaXpvbnRhbFNjcm9sbGJh
clBhaW50ZXJEZWxlZ2F0ZTsKICAgICBSZXRhaW5QdHI8V2ViU2Nyb2xsYmFyUGFpbnRlckRlbGVn
YXRlPiBtX3ZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRlOwogCi0gICAgdm9pZCBpbml0
aWFsU2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiYpOwot
ICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVy
OworICAgIHZvaWQgaW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXJGaXJlZChUaW1lciYpOworICAg
IFRpbWVyIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXI7CiAKLSAgICB2b2lkIHNlbmRDb250
ZW50QXJlYVNjcm9sbGVkVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKTsKLSAg
ICBUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4gbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVy
OworICAgIHZvaWQgc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyJik7Cisg
ICAgVGltZXIgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyOwogICAgIEZsb2F0U2l6ZSBt
X2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhOwogCiAgICAgdmlydHVhbCBib29s
IHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IHN0
ZXAsIGZsb2F0IG11bHRpcGxpZXIpOwpAQCAtMTU1LDEyICsxNTUsMTIgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2Nyb2xsUG9zaXRpb25Ub0JvdW5kc0lmTmVjZXNzYXJ5KCkg
b3ZlcnJpZGU7CiAKICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGZsb2F0IGRlbHRhWCwgZmxv
YXQgZGVsdGFZKTsKLSAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lcjxTY3Jv
bGxBbmltYXRvck1hYz4mKTsKKyAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1l
ciYpOwogCiAgICAgYm9vbCBpc0FscmVhZHlQaW5uZWRJbkRpcmVjdGlvbk9mR2VzdHVyZShjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxFdmVudEF4aXMpOwogCiAgICAgU2Nyb2xsRWxh
c3RpY2l0eUNvbnRyb2xsZXIgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlcjsKLSAgICBUaW1l
cjxTY3JvbGxBbmltYXRvck1hYz4gbV9zbmFwUnViYmVyQmFuZFRpbWVyOworICAgIFRpbWVyIG1f
c25hcFJ1YmJlckJhbmRUaW1lcjsKICNlbmRpZgogCiAgICAgYm9vbCBtX2hhdmVTY3JvbGxlZFNp
bmNlUGFnZUxvYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KaW5kZXggNDNmOTA5ZTQ2OTE0ZDcyZjQxOGRjMmVlNDE4YTk2Yjc3YWMyNjE5
Yi4uYmE3YWFjMzE0YzkzNzY2MThmZjdlZjQ0YmU2YTNmNWJmM2YwZGJhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTI1Nyw3
ICsxMjU3LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RvcFNuYXBSdWJiZXJiYW5kVGlt
ZXIoKQogICAgIG1fc25hcFJ1YmJlckJhbmRUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRv
ck1hYz4mKQordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLnNuYXBSdWJiZXJC
YW5kVGltZXJGaXJlZCgpOwogfQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6c3RvcFNjcm9sbGJhclBhaW50VGltZXIoKQogICAgIG1faW5pdGlhbFNjcm9sbGJh
clBhaW50VGltZXIuc3RvcCgpOwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbml0aWFs
U2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiYpCit2b2lk
IFNjcm9sbEFuaW1hdG9yTWFjOjppbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVy
JikKIHsKICAgICAvLyBUbyBmb3JjZSB0aGUgc2Nyb2xsYmFycyB0byBmbGFzaCwgd2UgaGF2ZSB0
byBjYWxsIGhpZGUgZmlyc3QuIE90aGVyd2lzZSwgdGhlIFNjcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyCiAgICAgLy8gbWlnaHQgdGhpbmsgdGhhdCB0aGUgc2Nyb2xsYmFycyBhcmUgYWxyZWFkeSBz
aG93aW5nIGFuZCBiYWlsIGVhcmx5LgpAQCAtMTM2Miw3ICsxMzYyLDcgQEAgdm9pZCBTY3JvbGxB
bmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0
YSkKICAgICAgICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIgY29udGVudEFyZWFTY3Jv
bGxlZF07CiB9CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9s
bGVkVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKQordm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBzZW5kQ29udGVudEFyZWFTY3JvbGxlZChtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9s
bERlbHRhKTsKICAgICBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhID0gRmxv
YXRTaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU1vdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZp
Y2VNb3Rpb25DbGllbnRNb2NrLmNwcAppbmRleCBlY2M0YjEzZmQwMjM0NDM1ZmM4MTY1MmEwODk0
M2M4OTY5ZjE0MDEzLi4yOGQ4ZWU0NjBkYzVhNDYxNjBlNWRhMzEzNWI1MTI2YjQ3ZDU0NTQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9u
Q2xpZW50TW9jay5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRN
b2NrOjpzZXRNb3Rpb24oUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtb3Rpb24pCiAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIERldmljZU1vdGlvbkNsaWVu
dE1vY2s6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ2xpZW50TW9jaz4qIHRpbWVyKQor
dm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsK
ICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CiAgICAgbV90aW1l
ci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU1vdGlvbkNsaWVudE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNl
TW90aW9uQ2xpZW50TW9jay5oCmluZGV4IGYyZTBhOTgxYWI0OTZkYTVkNDZhMjE3YzViYmY1ZWJm
ZTJlMzcxZGQuLmYyMTg5NjNmMGU1MDM5OWM2MmRhYjgzMWE0YTI0ZmI0NDhhYTFmZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9j
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5oCkBAIC01NSwxMSArNTUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TW90aW9uKFBh
c3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4pOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxEZXZpY2VNb3Rpb25DbGllbnRNb2NrPiopOworICAgIHZvaWQgdGltZXJGaXJl
ZChUaW1lciopOwogCiAgICAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1fbW90aW9uOwogICAg
IERldmljZU1vdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKLSAgICBUaW1lcjxEZXZpY2VN
b3Rpb25DbGllbnRNb2NrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgYm9vbCBt
X2lzVXBkYXRpbmc7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTcxNmE3ZTZh
YTdkZTg3YTQxYWJhMWUwYjU3NTRmMTNjZTNkY2JlMS4uM2E3YTFlNzIwZGI4MDdkZmY3YjY3ZGM5
YjM4NzE3NTk0MGRmZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcApAQCAtNjIsNyArNjIs
NyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24oUGFz
c1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdAogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKIH0KIAotdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQo
VGltZXI8RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrPiYgdGltZXIpCit2b2lkIERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNT
RVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKICAgICBtX3RpbWVyLnN0b3Ao
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5oCmluZGV4IDg0NTAyOTlkYzZlMzVkNWMwMGJlNmYzMWE1ZGNm
ZDkyNTE0MWZiMWUuLjY5NDhiOTI1YTM3MmFhODUwYjVkNjcxNjE3MmI5NDAxNDlhNmNhYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suaApAQCAtNTQsMTEgKzU0LDExIEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRp
b25EYXRhPik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAog
ICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+IG1fb3JpZW50YXRpb247CiAgICAgRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7Ci0gICAgVGltZXI8RGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAg
Ym9vbCBtX2lzVXBkYXRpbmc7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTkwMWI2NmFhN2E5ZGIy
YmNjOTA0NTkxNWJlMTQxZTI3YjhhNWRkNy4uMDUzMjVhN2Q5ZWY2YzExOWY2NTljMjcxZDVlNDUz
N2I3ZWYwZTMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9s
b2NhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgR2VvbG9j
YXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24oKQogICAgICAgICBtX3Blcm1p
c3Npb25UaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25DbGllbnRN
b2NrOjpwZXJtaXNzaW9uVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxHZW9sb2NhdGlvbkNsaWVu
dE1vY2s+KiB0aW1lcikKK3ZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGlt
ZXJGaXJlZChXZWJDb3JlOjpUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1l
ciwgdGltZXIgPT0gJm1fcGVybWlzc2lvblRpbWVyKTsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9u
U3RhdGUgIT0gUGVybWlzc2lvblN0YXRlVW5zZXQpOwpAQCAtMTY5LDcgKzE2OSw3IEBAIHZvaWQg
R2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIoKQogICAgICAgICBt
X2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25D
bGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZChUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1v
Y2s+KiB0aW1lcikKK3ZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJG
aXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fY29udHJvbGxlclRpbWVyKTsKICAgICBBU1NFUlQobV9jb250cm9sbGVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCmlu
ZGV4IGYzODBjMTQ0MzQ3OTczZGI1MTJjMGZlMjQ1ODBkYmZhZWRmZmM1MGEuLjU1ODc2N2JjYjU4
ODNlZWIzMmE3MjczYWYwNWIxNjI4MzY3MTM1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaApAQCAtNzAsMTAgKzcwLDEw
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGFzeW5jVXBkYXRlQ29udHJvbGxlcigp
OwotICAgIHZvaWQgY29udHJvbGxlclRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb25DbGllbnRN
b2NrPiopOworICAgIHZvaWQgY29udHJvbGxlclRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZv
aWQgYXN5bmNVcGRhdGVQZXJtaXNzaW9uKCk7Ci0gICAgdm9pZCBwZXJtaXNzaW9uVGltZXJGaXJl
ZChUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1vY2s+Kik7CisgICAgdm9pZCBwZXJtaXNzaW9uVGlt
ZXJGaXJlZChUaW1lciopOwogCiAgICAgdm9pZCBjbGVhckVycm9yKCk7CiAKQEAgLTgxLDggKzgx
LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9z
aXRpb247CiAgICAgYm9vbCBtX2hhc0Vycm9yOwogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsK
LSAgICBUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1vY2s+IG1fY29udHJvbGxlclRpbWVyOwotICAg
IFRpbWVyPEdlb2xvY2F0aW9uQ2xpZW50TW9jaz4gbV9wZXJtaXNzaW9uVGltZXI7CisgICAgVGlt
ZXIgbV9jb250cm9sbGVyVGltZXI7CisgICAgVGltZXIgbV9wZXJtaXNzaW9uVGltZXI7CiAgICAg
Ym9vbCBtX2lzQWN0aXZlOwogCiAgICAgZW51bSBQZXJtaXNzaW9uU3RhdGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmNwcAppbmRleCA0MzA4NjhlOTUwMTBiMzNiMmQ1NGZkNjc4ZDQyMGFmNWFl
M2E0ZjY1Li5lZWNiYTc3NDZhNjNlYjVmZTlkMjUxN2M3MmYyODdjMmEwZjdmZGFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAtNDEsNyArNDEsNyBAQCBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jazo6flBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrKCkKIHsKIH0KIAot
dm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZChUaW1l
cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jaz4qKQordm9pZCBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZChUaW1lciopCiB7CiAgICAgQVNTRVJUKG1f
dXR0ZXJhbmNlLmdldCgpKTsKICAgICBSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2U+IHByb3RlY3QobV91dHRlcmFuY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oCmluZGV4
IGFmYjJiNDBlN2E2NmQyYzMxNmIwNTIwOGJlM2IzMjJjNTQ2YjYyNGQuLjgyOTQwYThlY2NjMGQ3
NWIwZWYxYTU2Y2VlMGRlZmQ0OTAwMjQ2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmgKQEAg
LTQ1LDkgKzQ1LDkgQEAgcHVibGljOgogICAgIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
aW5pdGlhbGl6ZVZvaWNlTGlzdCgpOwotICAgIHZvaWQgc3BlYWtpbmdGaW5pc2hlZChUaW1lcjxQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jaz4qKTsKKyAgICB2b2lkIHNwZWFraW5nRmluaXNo
ZWQoVGltZXIqKTsKICAgICAKLSAgICBUaW1lcjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
az4gbV9zcGVha2luZ0ZpbmlzaGVkVGltZXI7CisgICAgVGltZXIgbV9zcGVha2luZ0ZpbmlzaGVk
VGltZXI7CiAgICAgUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBtX3V0
dGVyYW5jZTsKIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
VGltZXJFdmVudEJhc2VkTW9jay5oCmluZGV4IDk1NzVhY2ZjMzJiYzA5MzYyY2Q2YjFlYzZhYjk0
NzA5OTM1NDY2N2EuLjY1NTNmMWFkYjgwZGI2ZDU3NGNhNjBhZDJhZmZmMjVhYjkyNzgyZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9j
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9j
ay5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgflRpbWVyRXZlbnQo
KSB7IH0KIAotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxUaW1lckV2ZW50PiopCisgICAgdm9p
ZCB0aW1lckZpcmVkKFRpbWVyKikKICAgICB7CiAgICAgICAgIG1fbm90aWZpZXItPmZpcmUoKTsK
ICAgICAgICAgbV9tb2NrLT5yZW1vdmVFdmVudCh0aGlzKTsKQEAgLTc2LDcgKzc2LDcgQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIFRpbWVyRXZlbnRCYXNlZE1vY2sqIG1fbW9jazsKLSAgICBU
aW1lcjxUaW1lckV2ZW50PiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgUmVmUHRy
PE1vY2tOb3RpZmllcj4gbV9ub3RpZmllcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCBkN2Y1ZmJiZGRkNzRh
ODBhOGNjZDlhYzFmNDEzNDRjNGViZDRhNDgyLi42YzEwMzI3ODhlOTk3NWJhN2VmYjk5YWY0ZmEw
NWIyNzNhMThlYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1
ZXVlOjphZGQoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICB9CiB9CiAKLXZvaWQgRE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyPEROU1Jlc29sdmVRdWV1ZT4mKQordm9pZCBETlNS
ZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmIChpc1VzaW5nUHJveHko
KSkgewogICAgICAgICBtX25hbWVzLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuaAppbmRleCBjOGMxY2FmMzhlODQ2ZTVhNDA1
MTFlMmNjMzJiOGVmYmU0NGI3ODdkLi5hZDZmMThiZmIwYjgyNGMwMTgxMzU4YzVmMWY2MDFkNzg1
MzE5ZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jl
c29sdmVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVz
b2x2ZVF1ZXVlLmgKQEAgLTU1LDkgKzU1LDkgQEAgcHJpdmF0ZToKICAgICBib29sIHBsYXRmb3Jt
UHJveHlJc0VuYWJsZWRJblN5c3RlbVByZWZlcmVuY2VzKCk7CiAgICAgdm9pZCBwbGF0Zm9ybVJl
c29sdmUoY29uc3QgU3RyaW5nJik7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8RE5TUmVz
b2x2ZVF1ZXVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgVGltZXI8
RE5TUmVzb2x2ZVF1ZXVlPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAKICAgICBIYXNo
U2V0PFN0cmluZz4gbV9uYW1lczsKICAgICBzdGQ6OmF0b21pYzxpbnQ+IG1fcmVxdWVzdHNJbkZs
aWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0YXRlTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0YXRlTm90aWZpZXIuaAppbmRleCA2MDcwZDBjNDY0MWM0NTMzZjMwMWNlNGU2YzU0NzhhMzUz
MGM0YjA2Li4xMTM1NDRiZGYxNzE3Yzc1MGVjMDA5YzYxOGYzNjc2MGFiY2Y5OWNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3Rp
Zmllci5oCkBAIC03MywxMiArNzMsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0YXRl
KCk7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VUaW1l
ckZpcmVkKFRpbWVyPE5ldHdvcmtTdGF0ZU5vdGlmaWVyPiYpOworICAgIHZvaWQgbmV0d29ya1N0
YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgc3RhdGljIHZvaWQgZHluYW1pY1N0
b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYgY2hhbmdlZEtleXMsIHZv
aWQgKmluZm8pOyAKIAogICAgIFJldGFpblB0cjxTQ0R5bmFtaWNTdG9yZVJlZj4gbV9zdG9yZTsK
LSAgICBUaW1lcjxOZXR3b3JrU3RhdGVOb3RpZmllcj4gbV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1l
cjsKKyAgICBUaW1lciBtX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyOwogCiAjZWxpZiBQTEFURk9S
TShXSU4pCiAgICAgc3RhdGljIHZvaWQgQ0FMTEJBQ0sgYWRkckNoYW5nZUNhbGxiYWNrKHZvaWQq
LCBCT09MRUFOIHRpbWVkT3V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggMDFjN2Y3MmMyMjFmMTIzZDk3ODJhMjUwMzA1
ZWJmZjIxZmNiZTM2ZC4uM2FlNTIwMGU5ZDA0NmIzMWQ0YWVlNmRjMTFjOTA5MTI1MjJhNDMyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZh
aWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKFRpbWVy
PFJlc291cmNlSGFuZGxlPiYpCit2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJl
ZChUaW1lciYpCiB7CiAgICAgaWYgKCFjbGllbnQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGUy
MmRmZDljOTk2ZDgyZmI5Zjk1ZTM2OTY0YzdlNDViNzM4MmM4NjguLjYwN2YzOGQzNTg3NWQwMWE4
Yjk1Mjg2MGU0YmI0MjE0ZmY3NTkyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTk5LDggKzk5LDcgQEAgY2xhc3MgUmVzb3Vy
Y2VMb2FkVGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKLQotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNz
IFRpbWVyOworY2xhc3MgVGltZXI7CiAKIGNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJl
ZkNvdW50ZWQ8UmVzb3VyY2VIYW5kbGU+CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRk5F
VFdPUkspIHx8IFVTRShDVVJMKSB8fCBVU0UoU09VUCkKQEAgLTE4Myw3ICsxODIsNyBAQCBwdWJs
aWM6CiAKICNpZiBVU0UoV0lOSU5FVCkKICAgICB2b2lkIHNldFN5bmNocm9ub3VzSW50ZXJuZXRI
YW5kbGUoSElOVEVSTkVUKTsKLSAgICB2b2lkIGZpbGVMb2FkVGltZXIoVGltZXI8UmVzb3VyY2VI
YW5kbGU+Kik7CisgICAgdm9pZCBmaWxlTG9hZFRpbWVyKFRpbWVyKik7CiAgICAgdm9pZCBvblJl
ZGlyZWN0KCk7CiAgICAgYm9vbCBvblJlcXVlc3RDb21wbGV0ZSgpOwogICAgIHN0YXRpYyB2b2lk
IENBTExCQUNLIGludGVybmV0U3RhdHVzQ2FsbGJhY2soSElOVEVSTkVULCBEV09SRF9QVFIsIERX
T1JELCBMUFZPSUQsIERXT1JEKTsKQEAgLTI0MSw3ICsyNDAsNyBAQCBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgUmVzb3VyY2VSZXF1ZXN0JiBmaXJzdFJlcXVlc3QoKTsKICAgICBjb25zdCBT
dHJpbmcmIGxhc3RIVFRQTWV0aG9kKCkgY29uc3Q7CiAKLSAgICB2b2lkIGZhaWx1cmVUaW1lckZp
cmVkKFRpbWVyPFJlc291cmNlSGFuZGxlPiYpOworICAgIHZvaWQgZmFpbHVyZVRpbWVyRmlyZWQo
VGltZXImKTsKIAogICAgIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KCkgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKaW5kZXggZWZjNWM3YzdlNjVkZmQwNTFkNjU4NGNkODc4ODFkYjUyMzZkNzc2
MC4uYTgzZjc4MTQxOGYwNmU0MmI2NmY2ZjkxMzg3ZGNjMjc2M2Y3ZjI0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVy
bmFsLmgKQEAgLTE2Miw3ICsxNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJl
dGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBtX3N0b3JhZ2VTZXNzaW9uOwogI2VuZGlm
CiAjaWYgVVNFKFdJTklORVQpCi0gICAgICAgIFRpbWVyPFJlc291cmNlSGFuZGxlPiBtX2ZpbGVM
b2FkVGltZXI7CisgICAgICAgIFRpbWVyIG1fZmlsZUxvYWRUaW1lcjsKICAgICAgICAgSElOVEVS
TkVUIG1faW50ZXJuZXRIYW5kbGU7CiAgICAgICAgIEhJTlRFUk5FVCBtX2Nvbm5lY3RIYW5kbGU7
CiAgICAgICAgIEhJTlRFUk5FVCBtX3JlcXVlc3RIYW5kbGU7CkBAIC0yMjAsNyArMjIwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIG1f
Y3VycmVudFdlYkNoYWxsZW5nZTsKICAgICAgICAgUmVzb3VyY2VIYW5kbGU6OkZhaWx1cmVUeXBl
IG1fc2NoZWR1bGVkRmFpbHVyZVR5cGU7Ci0gICAgICAgIFRpbWVyPFJlc291cmNlSGFuZGxlPiBt
X2ZhaWx1cmVUaW1lcjsKKyAgICAgICAgVGltZXIgbV9mYWlsdXJlVGltZXI7CiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCA1
ZDM3MmQxMGY1NWYwNzFjMDYyODc4ZGUwMGQzNGZmNGQ2Nzg4M2U4Li45ZTgyZTY3ZDFhYmUwNTE1
Y2VlYTE5NmVjNDRlNThhNjI5ZWEwNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcApA
QCAtNjIwLDcgKzYyMCw3IEBAIHNpemVfdCByZWFkQ2FsbGJhY2sodm9pZCogcHRyLCBzaXplX3Qg
c2l6ZSwgc2l6ZV90IG5tZW1iLCB2b2lkKiBkYXRhKQogICAgIHJldHVybiBzZW50OwogfQogCi12
b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6ZG93bmxvYWRUaW1lckNhbGxiYWNrKFRpbWVyPFJl
c291cmNlSGFuZGxlTWFuYWdlcj4qIC8qIHRpbWVyICovKQordm9pZCBSZXNvdXJjZUhhbmRsZU1h
bmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayhUaW1lciogLyogdGltZXIgKi8pCiB7CiAgICAg
c3RhcnRTY2hlZHVsZWRKb2JzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaAppbmRleCAxNTJm
YWM1OGIxOWM4ZTRhOGU3ZjllNWUwZGZjN2VhNGU0OWU5NWM2Li41NGYyNmQwYjgxOGViNTI0NDA4
OTUyMDQ0ZTcwNDAzOGY3YmY4ZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5oCkBAIC03Niw3
ICs3Niw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyKCk7
CiAgICAgflJlc291cmNlSGFuZGxlTWFuYWdlcigpOwotICAgIHZvaWQgZG93bmxvYWRUaW1lckNh
bGxiYWNrKFRpbWVyPFJlc291cmNlSGFuZGxlTWFuYWdlcj4qKTsKKyAgICB2b2lkIGRvd25sb2Fk
VGltZXJDYWxsYmFjayhUaW1lciopOwogICAgIHZvaWQgcmVtb3ZlRnJvbUN1cmwoUmVzb3VyY2VI
YW5kbGUqKTsKICAgICBib29sIHJlbW92ZVNjaGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSopOwog
ICAgIHZvaWQgc3RhcnRKb2IoUmVzb3VyY2VIYW5kbGUqKTsKQEAgLTg3LDcgKzg3LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgaW5pdENvb2tpZVNlc3Npb24oKTsKIAotICAgIFRpbWVyPFJlc291
cmNlSGFuZGxlTWFuYWdlcj4gbV9kb3dubG9hZFRpbWVyOworICAgIFRpbWVyIG1fZG93bmxvYWRU
aW1lcjsKICAgICBDVVJMTSogbV9jdXJsTXVsdGlIYW5kbGU7CiAgICAgQ1VSTFNIKiBtX2N1cmxT
aGFyZUhhbmRsZTsKICAgICBjaGFyKiBtX2Nvb2tpZUphckZpbGVOYW1lOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJN
YWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRl
Tm90aWZpZXJNYWMuY3BwCmluZGV4IGNlZjZmZWE2YWVlMjVkZGVjOGY3NDIxYjY3MjgyNzg2ZjI5
ZmU3NWUuLjAwNTM4YmYzMmFiMTI0MjNiNDI0Y2UyYjk3ZWZmNTY0OTY0ZTk3NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlm
aWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3
b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJy
YXlSZWYsIHYKICAgICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3QoU3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKIH0KIAotdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxOZXR3b3JrU3RhdGVO
b3RpZmllcj4mKQordm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdl
VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgYm9vbCBvbGRPbkxpbmUgPSBtX2lzT25MaW5lOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVz
b3VyY2VIYW5kbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IGExYTZkNTE5NTJmMzIxY2VkNDA0YzY1Y2Q3N2Zk
YjJmZDFiNzZjMTYuLmZlNjBhNTVjM2I3NmYzOTkzNTI2NzAxZTEwYjBmMjhmNDkzZDFkNzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFu
ZGxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNv
dXJjZUhhbmRsZVdpbi5jcHAKQEAgLTM1Myw3ICszNTMsNyBAQCBib29sIFJlc291cmNlSGFuZGxl
OjpzdGFydCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZp
bGVMb2FkVGltZXIoVGltZXI8UmVzb3VyY2VIYW5kbGU+KikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6
OmZpbGVMb2FkVGltZXIoVGltZXIqKQogewogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gcHJv
dGVjdG9yKHRoaXMpOwogICAgIGRlcmVmKCk7IC8vIGJhbGFuY2VzIHJlZiBpbiBzdGFydApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggMWVjMTEyZDZjN2E1ZDhh
NTgxMzkxYjk1ODcwNTM5OTUzZjRiODczNS4uNDhkZWNhZjRmMjAxODVlNDIyNDg3MzljMGZlYzli
NjRhYWViZDdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNr
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBA
IC02Myw3ICs2Myw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAg
ICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFBsdWdpblBh
Y2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5QYWNrYWdlPiopCit2b2lk
IFBsdWdpblBhY2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgQVNT
RVJUKG1fbW9kdWxlKTsKICAgICAvLyBEbyBub3RoaW5nIGlmIHRoZSBtb2R1bGUgZ290IGxvYWRl
ZCBhZ2FpbiBtZWFud2hpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luUGFja2FnZS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgKaW5k
ZXggODdmZGFiNWM2ZTk3ZWE5MzFlMzEyOTJlNDlkYmZjNWQxN2ZmMjRhYS4uYWVmYmIxZjk0YjUy
NTYxYzI4ZTk4ZjAzMjBlZGU1ZmZkZDlkYWQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5QYWNrYWdlLmgKQEAgLTEyMCw4ICsxMjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5k
aWYKIAogICAgICAgICB2b2lkIGZyZWVMaWJyYXJ5U29vbigpOwotICAgICAgICB2b2lkIGZyZWVM
aWJyYXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5QYWNrYWdlPiopOwotICAgICAgICBUaW1lcjxQ
bHVnaW5QYWNrYWdlPiBtX2ZyZWVMaWJyYXJ5VGltZXI7CisgICAgICAgIHZvaWQgZnJlZUxpYnJh
cnlUaW1lckZpcmVkKFRpbWVyKik7CisgICAgICAgIFRpbWVyIG1fZnJlZUxpYnJhcnlUaW1lcjsK
IAogICAgICAgICBQbHVnaW5RdWlya1NldCBtX3F1aXJrczsKICNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX01FVEFEQVRBX0NBQ0hFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0u
Y3BwCmluZGV4IDMwMDBjOWNlZTcwNDBhODcwOTQ4NzUyMWNlNzExODBlZDEzNjQ0OTYuLmM1YjQy
NTFiYjRkZTU3NWRiYTZlNjJmYTk5ZWYxZDY1ZWE0YTRmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblN0cmVhbS5jcHAKQEAgLTMyMSw3ICszMjEsNyBAQCB2b2lkIFBsdWdpblN0cmVh
bTo6ZGVzdHJveVN0cmVhbSgpCiAgICAgICAgIGRlbGV0ZUZpbGUobV9wYXRoKTsKIH0KIAotdm9p
ZCBQbHVnaW5TdHJlYW06OmRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyPFBsdWdpblN0cmVh
bT4qIHRpbWVyKQordm9pZCBQbHVnaW5TdHJlYW06OmRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRp
bWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9kZWxh
eURlbGl2ZXJ5VGltZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0uaAppbmRl
eCBkOGZkMjNmNTAwZmE0NzVmMzBlMzQyYTcwMzY2OWU0ZTc5MmU4YjVkLi5jYTE1MDAzOTBjM2Ez
YzBkMjA5NGUyYTE0YzRkNjdkYjM3NjVlZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpblN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
U3RyZWFtLmgKQEAgLTEwMCw4ICsxMDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IFBsdWdpblN0cmVhbVN0YXRlIG1fc3RyZWFtU3RhdGU7CiAgICAgICAgIGJvb2wgbV9sb2FkTWFu
dWFsbHk7CiAKLSAgICAgICAgVGltZXI8UGx1Z2luU3RyZWFtPiBtX2RlbGF5RGVsaXZlcnlUaW1l
cjsKLSAgICAgICAgdm9pZCBkZWxheURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5TdHJl
YW0+Kik7CisgICAgICAgIFRpbWVyIG1fZGVsYXlEZWxpdmVyeVRpbWVyOworICAgICAgICB2b2lk
IGRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyKik7CiAKICAgICAgICAgT3duUHRyPCBWZWN0
b3I8Y2hhcj4gPiBtX2RlbGl2ZXJ5RGF0YTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKaW5kZXggZGM3ZTAxN2JiNjQyMDI1YjRlZTg1NDE5OTUxYjRlYzYwNDY4Mzg3OS4uNmUx
MzcyMTMxYzgyOWM4M2UzZTI2ZjU1NjkyMWEyOGY3NDBlNTNiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIFN0cmluZyBzY3Jp
cHRTdHJpbmdJZkphdmFTY3JpcHRVUkwoY29uc3QgVVJMJiB1cmwpCiAKIFBsdWdpblZpZXcqIFBs
dWdpblZpZXc6OnNfY3VycmVudFBsdWdpblZpZXcgPSAwOwogCi12b2lkIFBsdWdpblZpZXc6OnBv
cFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiopCit2b2lkIFBsdWdpblZp
ZXc6OnBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgcG9wUG9wdXBzRW5h
YmxlZFN0YXRlKCk7CiB9CkBAIC00NzksNyArNDc5LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZXJm
b3JtUmVxdWVzdChQbHVnaW5SZXF1ZXN0KiByZXF1ZXN0KQogICAgIH0KIH0KIAotdm9pZCBQbHVn
aW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiogdGltZXIpCit2b2lk
IFBsdWdpblZpZXc6OnJlcXVlc3RUaW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NF
UlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9yZXF1ZXN0VGltZXIpOwogICAgIEFTU0VSVCgh
bV9yZXF1ZXN0cy5pc0VtcHR5KCkpOwpAQCAtNjY0LDcgKzY2NCw3IEBAIE5QRXJyb3IgUGx1Z2lu
Vmlldzo6c2V0VmFsdWUoTlBQVmFyaWFibGUgdmFyaWFibGUsIHZvaWQqIHZhbHVlKQogICAgIH0K
IH0KIAotdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5W
aWV3PiogdGltZXIpCit2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVUaW1lckZpcmVkKFRpbWVy
KiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9pbnZhbGlk
YXRlVGltZXIpOwogCkBAIC0xMjY0LDcgKzEyNjQsNyBAQCBjb25zdCBjaGFyKiBQbHVnaW5WaWV3
Ojp1c2VyQWdlbnRTdGF0aWMoKQogI2VuZGlmCiAKIAotdm9pZCBQbHVnaW5WaWV3OjpsaWZlU3Vw
cG9ydFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmlldz4qKQordm9pZCBQbHVnaW5WaWV3OjpsaWZl
U3VwcG9ydFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIGRlcmVmKCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDQ1MTJiOGE4MzBmODBlNzdlYjY4M2I0OTEyMjcwNTA3
ODE5ZjA2MTQuLmIyOTc2MzRlZWJjZjIyZThmMTFiMjVmMTEwMDMwNWMyMWJiYzJmYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0yODgsMTYgKzI4OCwxNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBwZXJmb3JtUmVxdWVzdChQbHVnaW5SZXF1ZXN0
Kik7CiAgICAgICAgIHZvaWQgc2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5S
ZXF1ZXN0Pik7Ci0gICAgICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmll
dz4qKTsKLSAgICAgICAgdm9pZCBpbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3
PiopOwotICAgICAgICBUaW1lcjxQbHVnaW5WaWV3PiBtX3JlcXVlc3RUaW1lcjsKLSAgICAgICAg
VGltZXI8UGx1Z2luVmlldz4gbV9pbnZhbGlkYXRlVGltZXI7CisgICAgICAgIHZvaWQgcmVxdWVz
dFRpbWVyRmlyZWQoVGltZXIqKTsKKyAgICAgICAgdm9pZCBpbnZhbGlkYXRlVGltZXJGaXJlZChU
aW1lciopOworICAgICAgICBUaW1lciBtX3JlcXVlc3RUaW1lcjsKKyAgICAgICAgVGltZXIgbV9p
bnZhbGlkYXRlVGltZXI7CiAKLSAgICAgICAgdm9pZCBwb3BQb3B1cHNTdGF0ZVRpbWVyRmlyZWQo
VGltZXI8UGx1Z2luVmlldz4qKTsKLSAgICAgICAgVGltZXI8UGx1Z2luVmlldz4gbV9wb3BQb3B1
cHNTdGF0ZVRpbWVyOworICAgICAgICB2b2lkIHBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1l
ciopOworICAgICAgICBUaW1lciBtX3BvcFBvcHVwc1N0YXRlVGltZXI7CiAKLSAgICAgICAgdm9p
ZCBsaWZlU3VwcG9ydFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmlldz4qKTsKLSAgICAgICAgVGlt
ZXI8UGx1Z2luVmlldz4gbV9saWZlU3VwcG9ydFRpbWVyOworICAgICAgICB2b2lkIGxpZmVTdXBw
b3J0VGltZXJGaXJlZChUaW1lciopOworICAgICAgICBUaW1lciBtX2xpZmVTdXBwb3J0VGltZXI7
CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAgICAgYm9vbCBkaXNwYXRj
aE5QRXZlbnQoTlBFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy93
aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBiMzI3Mjg5ODBlZjA2NDQy
MTRmMDcxZjkyNzJmNDJiYTE4YzdjMzE4Li5lNTZlMzllYWIyYTRjYmNlOTdjNzhmODdkYWE4ZTBm
ZGUwNTI1N2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9Q
bHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgUGx1
Z2luTWVzc2FnZVRocm90dGxlcldpbjo6cHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKQogICAgIGZyZWVN
ZXNzYWdlKG1lc3NhZ2UpOwogfQogCi12b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1l
c3NhZ2VUaHJvdHRsZVRpbWVyRmlyZWQoVGltZXI8UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbj4q
KQordm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjptZXNzYWdlVGhyb3R0bGVUaW1lckZp
cmVkKFRpbWVyKikKIHsKICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmgK
aW5kZXggMGE3YmU3MGNhMjgwY2JhMjJhZmRkYWNkMzNmMGMxYTBmM2Y5YzhhNy4uOGZkZDE3YzI5
MTdmMjIxMzFjZGY0ZjUwNGI0Njc0YjNlNTM5ZWJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uaApAQCAtNTIsNyAr
NTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lk
IHByb2Nlc3NRdWV1ZWRNZXNzYWdlKCk7Ci0gICAgICAgIHZvaWQgbWVzc2FnZVRocm90dGxlVGlt
ZXJGaXJlZChUaW1lcjxQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luPiopOworICAgICAgICB2b2lk
IG1lc3NhZ2VUaHJvdHRsZVRpbWVyRmlyZWQoVGltZXIqKTsKICAgICAgICAgUGx1Z2luTWVzc2Fn
ZSogYWxsb2NhdGVNZXNzYWdlKCk7CiAgICAgICAgIGJvb2wgaXNJbmxpbmVNZXNzYWdlKFBsdWdp
bk1lc3NhZ2UqIG1lc3NhZ2UpOwogICAgICAgICB2b2lkIGZyZWVNZXNzYWdlKFBsdWdpbk1lc3Nh
Z2UqIG1lc3NhZ2UpOwpAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIFBsdWdpbk1lc3NhZ2UgbV9pbmxpbmVNZXNzYWdlc1tOdW1JbmxpbmVNZXNzYWdlc107CiAg
ICAgICAgIFBsdWdpbk1lc3NhZ2UqIG1fZnJlZUlubGluZU1lc3NhZ2VzOwogCi0gICAgICAgIFRp
bWVyPFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4+IG1fbWVzc2FnZVRocm90dGxlVGltZXI7Cisg
ICAgICAgIFRpbWVyIG1fbWVzc2FnZVRocm90dGxlVGltZXI7CiAgICAgICAgIGRvdWJsZSBtX2xh
c3RNZXNzYWdlVGltZTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggZTgyZWVkNmRjNWJkZjViYzcxY2I0
Y2U1YjE5Yzg5NTdlOTIxMzJiZC4uMjdjMDUxYzE1ZGVjZjM4Zjg1Yjk3M2ExMGE4YjQ3YWE1ZGRk
MDI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OnJlbW92ZU9iamVjdChSZW5kZXJCb3hNb2RlbE9iamVjdCogb2JqZWN0KQogICAgIH0KIH0K
IAotdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZp
cmVkKFRpbWVyPEltYWdlUXVhbGl0eUNvbnRyb2xsZXI+JikKK3ZvaWQgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYg
KG1fcmVuZGVyVmlldy5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5o
CmluZGV4IDQzMmQzNjExMmFjYTI5YjU5MDMzMWE1MmVhN2RkMmIwOGQ2MDRlOWQuLmE1YjZmMDFh
NmRmZDFjMzk5NzQwM2Q5MTZiZDI3ZTQ4MDZlODM1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuaApAQCAtNTIsMTMgKzUyLDEzIEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHJlbW92ZUxheWVyKFJlbmRlckJveE1vZGVsT2JqZWN0Kiwg
TGF5ZXJTaXplTWFwKiBpbm5lck1hcCwgY29uc3Qgdm9pZCogbGF5ZXIpOwogICAgIHZvaWQgc2V0
KFJlbmRlckJveE1vZGVsT2JqZWN0KiwgTGF5ZXJTaXplTWFwKiBpbm5lck1hcCwgY29uc3Qgdm9p
ZCogbGF5ZXIsIGNvbnN0IExheW91dFNpemUmKTsKLSAgICB2b2lkIGhpZ2hRdWFsaXR5UmVwYWlu
dFRpbWVyRmlyZWQoVGltZXI8SW1hZ2VRdWFsaXR5Q29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGhp
Z2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIHJlc3RhcnRUaW1l
cigpOwogICAgIHZvaWQgcmVtb3ZlT2JqZWN0KFJlbmRlckJveE1vZGVsT2JqZWN0Kik7CiAKICAg
ICBjb25zdCBSZW5kZXJWaWV3JiBtX3JlbmRlclZpZXc7CiAgICAgT2JqZWN0TGF5ZXJTaXplTWFw
IG1fb2JqZWN0TGF5ZXJTaXplTWFwOwotICAgIFRpbWVyPEltYWdlUXVhbGl0eUNvbnRyb2xsZXI+
IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKICAgICBib29sIG1fYW5pbWF0ZWRSZXNpemVJ
c0FjdGl2ZTsKICAgICBib29sIG1fbGl2ZVJlc2l6ZU9wdGltaXphdGlvbklzQWN0aXZlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKaW5kZXggNTNlMGM3NTFi
MDRiODMzYTNmYjUzYmE4ZjM4N2FlYzAxZGZiY2U2MC4uOWVmNGUxMWJmMmY4MTA5MWNlNWM4NDgw
M2U0OGQ3YjNmNjhhODI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJ1dHRvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRv
bi5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCB2b2lkIFJlbmRlckJ1dHRvbjo6c3R5bGVEaWRDaGFu
Z2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdAogICAgIGlm
ICghbV9kZWZhdWx0ICYmIHRoZW1lKCkuaXNEZWZhdWx0KCp0aGlzKSkgewogICAgICAgICBpZiAo
dGhlbWUoKS5kZWZhdWx0QnV0dG9uSGFzQW5pbWF0aW9uKCkpIHsKICAgICAgICAgICAgIGlmICgh
bV90aW1lcikKLSAgICAgICAgICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1l
cjxSZW5kZXJCdXR0b24+Pih0aGlzLCAmUmVuZGVyQnV0dG9uOjp0aW1lckZpcmVkKTsKKyAgICAg
ICAgICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4odGhpcywgJlJlbmRl
ckJ1dHRvbjo6dGltZXJGaXJlZCk7CiAgICAgICAgICAgICBtX3RpbWVyLT5zdGFydFJlcGVhdGlu
ZygwLjAzKTsKICAgICAgICAgfQogICAgICAgICBtX2RlZmF1bHQgPSB0cnVlOwpAQCAtMTg3LDcg
KzE4Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyQnV0dG9uOjpjb250cm9sQ2xpcFJlY3QoY29uc3Qg
TGF5b3V0UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQpIGNvCiAgICAgcmV0dXJuIExheW91dFJlY3Qo
YWRkaXRpb25hbE9mZnNldC54KCkgKyBib3JkZXJMZWZ0KCksIGFkZGl0aW9uYWxPZmZzZXQueSgp
ICsgYm9yZGVyVG9wKCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpLCBo
ZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkpOwogfQogCi12b2lkIFJlbmRl
ckJ1dHRvbjo6dGltZXJGaXJlZChUaW1lcjxSZW5kZXJCdXR0b24+JikKK3ZvaWQgUmVuZGVyQnV0
dG9uOjp0aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICAvLyBGSVhNRSBCdWcgMjUxMTA6IElkZWFs
bHkgd2Ugd291bGQgc3RvcCBvdXIgdGltZXIgd2hlbiBvdXIgRG9jdW1lbnQKICAgICAvLyBlbnRl
cnMgdGhlIHBhZ2UgY2FjaGUuIEJ1dCB3ZSBjdXJyZW50bHkgaGF2ZSBubyB3YXkgb2YgYmVpbmcg
bm90aWZpZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAppbmRleCAxMWEy
M2Y5NmIyODNmODE2OWNiNTBhZGE0NDQ0ZWI5ZmJmYjljMzFiLi4wZGJmNTFmNjgyMzU2NDc5YjYy
ZGExMzQ5ZDJhNGQ5Y2VhMDMwYjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1
dHRvbi5oCkBAIC03NCwxMiArNzQsMTIgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBy
ZXF1aXJlc0ZvcmNlZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8UmVuZGVyQnV0dG9uPiYp
OworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmVuZGVyVGV4dEZyYWdtZW50
KiBtX2J1dHRvblRleHQ7CiAgICAgUmVuZGVyQmxvY2sqIG1faW5uZXI7CiAKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8VGltZXI8UmVuZGVyQnV0dG9uPj4gbV90aW1lcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8VGltZXI+IG1fdGltZXI7CiAgICAgYm9vbCBtX2RlZmF1bHQ7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGI2
MDE1ZTEwNTcyNTNhMmU1Y2U0NGJlZjM2NzMzMDdlYjZjOTZmYjEuLmE1Y2I1ZTE1MGFkYzU5MTM4
NTYzNDEzMzExN2YyOTg4NDVlM2UzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC02MzcsNyArNjM3LDcgQEAgdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiAg
ICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiYpCit2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0
KTsKIH0KQEAgLTQwNjIsMTQgKzQwNjIsMTQgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnN0YXJ0SW5pdGlhbExheWVyRmx1c2hUaW1lcklmTmVlZGVkKCkKICAgICBtX2xheWVyRmx1c2hU
aW1lci5zdGFydE9uZVNob3QodGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSk7CiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZChUaW1lcjxS
ZW5kZXJMYXllckNvbXBvc2l0b3I+JikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXll
ckZsdXNoVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKCFtX2hhc1BlbmRpbmdMYXllckZs
dXNoKQogICAgICAgICByZXR1cm47CiAgICAgc2NoZWR1bGVMYXllckZsdXNoTm93KCk7CiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXJG
aXJlZChUaW1lcjxSZW5kZXJMYXllckNvbXBvc2l0b3I+JikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpwYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
RnJhbWUmIGZyYW1lID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLmZyYW1lKCk7CiAgICAgUGFn
ZSogcGFnZSA9IGZyYW1lLnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCA2NDI0Y2Y0OTBhNmQ3ZTQ2OTNkNzJhZDk2NGNi
YjFjODczOGYzMzZhLi5jNGEyY2ZjNTM3MjgwYmYzNzBmYzg3MWRkY2FjMjM5MmNiYTI2OWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CkBAIC0zMzYsNyArMzM2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZFRvT3ZlcmxhcE1hcChP
dmVybGFwTWFwJiwgUmVuZGVyTGF5ZXImLCBJbnRSZWN0JiBsYXllckJvdW5kcywgYm9vbCYgYm91
bmRzQ29tcHV0ZWQpOwogICAgIHZvaWQgYWRkVG9PdmVybGFwTWFwUmVjdXJzaXZlKE92ZXJsYXBN
YXAmLCBSZW5kZXJMYXllciYsIFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyID0gbnVsbHB0cik7
CiAKLSAgICB2b2lkIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZChUaW1lcjxSZW5k
ZXJMYXllckNvbXBvc2l0b3I+Jik7CisgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyRmlyZWQoVGltZXImKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhbnkgbGF5ZXIncyBj
b21wb3NpdGluZyBjaGFuZ2VkCiAgICAgdm9pZCBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVu
dHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIFJlbmRlckxheWVyJiwgT3ZlcmxhcE1hcCYs
IHN0cnVjdCBDb21wb3NpdGluZ1N0YXRlJiwgYm9vbCYgbGF5ZXJzQ2hhbmdlZCwgYm9vbCYgZGVz
Y2VuZGFudEhhczNEVHJhbnNmb3JtKTsKQEAgLTQ1NCw5ICs0NTQsOSBAQCBwcml2YXRlOgogICAg
IGJvb2wgaXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzKCkgY29uc3Q7CiAgICAgdm9pZCBzdGFydElu
aXRpYWxMYXllckZsdXNoVGltZXJJZk5lZWRlZCgpOwogICAgIHZvaWQgc3RhcnRMYXllckZsdXNo
VGltZXJJZk5lZWRlZCgpOwotICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoVGltZXI8UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yPiYpOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoVGlt
ZXImKTsKIAotICAgIHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyRmlyZWQoVGltZXI8
UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiYpOworICAgIHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25l
c1RpbWVyRmlyZWQoVGltZXImKTsKIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBjb25zdCBjaGFy
KiBsb2dSZWFzb25zRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXImKTsKQEAgLTQ2OCw3
ICs0NjgsNyBAQCBwcml2YXRlOgogcHJpdmF0ZToKICAgICBSZW5kZXJWaWV3JiBtX3JlbmRlclZp
ZXc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5ZXI+IG1fcm9vdENvbnRlbnRMYXll
cjsKLSAgICBUaW1lcjxSZW5kZXJMYXllckNvbXBvc2l0b3I+IG1fdXBkYXRlQ29tcG9zaXRpbmdM
YXllcnNUaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXI7CiAK
ICAgICBib29sIG1faGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZzsKICAgICBDaHJvbWVDbGllbnQ6
OkNvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIG1fY29tcG9zaXRpbmdUcmlnZ2VyczsKQEAgLTUyNSwx
MiArNTI1LDEyIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXll
clVwZGF0ZXI+IG1fbGF5ZXJVcGRhdGVyOyAvLyBVcGRhdGVzIHRpbGVkIGxheWVyIHZpc2libGUg
YXJlYSBwZXJpb2RpY2FsbHkgd2hpbGUgYW5pbWF0aW9ucyBhcmUgcnVubmluZy4KIAotICAgIFRp
bWVyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4gbV9sYXllckZsdXNoVGltZXI7CisgICAgVGltZXIg
bV9sYXllckZsdXNoVGltZXI7CiAgICAgYm9vbCBtX2xheWVyRmx1c2hUaHJvdHRsaW5nRW5hYmxl
ZDsKICAgICBib29sIG1fbGF5ZXJGbHVzaFRocm90dGxpbmdUZW1wb3JhcmlseURpc2FibGVkRm9y
SW50ZXJhY3Rpb247CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdMYXllckZsdXNoOwogCi0gICAgVGlt
ZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiBtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lcjsK
KyAgICBUaW1lciBtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lcjsKIAogI2lmICFMT0dfRElT
QUJMRUQKICAgICBpbnQgbV9yb290TGF5ZXJVcGRhdGVDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA2NTAxZmUyYTYyNjY5MDgyNWMzYmE4NTMz
ZmVlZmE5MDFhYjM5NWUyLi5mMWIzNjU4YzFhNjY2ODE2OTI0YWY3MDk0Y2FkOTNmZDkxNmE3ZTNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0yNDAs
NyArMjQwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAg
ICAgICBtX3RpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBSZW5kZXJNYXJxdWVlOjp0aW1lckZpcmVk
KFRpbWVyPFJlbmRlck1hcnF1ZWU+JikKK3ZvaWQgUmVuZGVyTWFycXVlZTo6dGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgaWYgKG1fbGF5ZXItPnJlbmRlcmVyKCkudmlldygpLm5lZWRzTGF5b3V0
KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5oCmluZGV4IDg3YzIwMmRhYWIzMzNkNDE5M2UzN2Q5YTVhMWQwMWJmZmFjZjc5YTAuLmFkOWYx
NmUzMzU2Y2VlYThmMGMyMWVmMGJhNzIyMGRhM2JjYmM5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaApAQCAtNzksMTIgKzc5LDEyIEBAIHB1YmxpYzoKICAgICB2
b2lkIHVwZGF0ZU1hcnF1ZWVQb3NpdGlvbigpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxSZW5kZXJNYXJxdWVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYp
OwogCiAgICAgUmVuZGVyTGF5ZXIqIG1fbGF5ZXI7CiAgICAgaW50IG1fY3VycmVudExvb3A7CiAg
ICAgaW50IG1fdG90YWxMb29wczsKLSAgICBUaW1lcjxSZW5kZXJNYXJxdWVlPiBtX3RpbWVyOwor
ICAgIFRpbWVyIG1fdGltZXI7CiAgICAgaW50IG1fc3RhcnQ7CiAgICAgaW50IG1fZW5kOwogICAg
IGludCBtX3NwZWVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFt
ZWRGbG93VGhyZWFkLmNwcAppbmRleCAxNzRjOGNlNTRhYzk1ZWU4MmE3NTA1MzgzOWU3ZDE5Mjg3
MWQwNGRjLi5jMjVjZWJhMjUyMTkxOGVkODg0YzYxODcwMzEwOGVkZTBmOTEyNWE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApA
QCAtNTY2LDcgKzU2Niw3IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJl
Z2lvbk92ZXJzZXRDaGFuZ2VFdmVudElmTmVlZGVkKCkKICAgICAgICAgbV9yZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVuZGVyTmFtZWRG
bG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJlbmRl
ck5hbWVkRmxvd1RocmVhZD4mKQordm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lvbk92
ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG5hbWVkRmxvdygpLmRp
c3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKaW5kZXggNzM0ZDAyZTk1MDg0OGU5
YzhlOTQ5ZjVhNmQyZDM0NjM1NGNhN2RiNC4uN2RlYmZmOGE1NjYwZGQ1MjJjMzQxMjUxNzY1NjJi
MDQ0ODFkZDE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuaApAQCAtMTI0LDcgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVj
a0ludmFsaWRSZWdpb25zKCk7CiAKICAgICBib29sIGNhbkJlRGVzdHJveWVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnZhbGlkUmVnaW9uTGlzdC5pc0VtcHR5KCkgJiYgbV9yZWdpb25MaXN0LmlzRW1w
dHkoKSAmJiBtX2NvbnRlbnRFbGVtZW50cy5pc0VtcHR5KCk7IH0KLSAgICB2b2lkIHJlZ2lvbk92
ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTmFtZWRGbG93VGhyZWFkPiYp
OworICAgIHZvaWQgcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZChUaW1lciYpOwog
ICAgIHZvaWQgY2xlYXJDb250ZW50RWxlbWVudHMoKTsKICAgICB2b2lkIHVwZGF0ZVdyaXRpbmdN
b2RlKCk7CiAKQEAgLTE1NCw3ICsxNTQsNyBAQCBwcml2YXRlOgogICAgIC8vIFRoZSBET00gT2Jq
ZWN0IHRoYXQgcmVwcmVzZW50cyBhIG5hbWVkIGZsb3cuCiAgICAgUmVmPFdlYktpdE5hbWVkRmxv
dz4gbV9uYW1lZEZsb3c7CiAKLSAgICBUaW1lcjxSZW5kZXJOYW1lZEZsb3dUaHJlYWQ+IG1fcmVn
aW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXI7CisgICAgVGltZXIgbV9yZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRUaW1lcjsKIAogICAgIExheW91dFVuaXQgbV9mbG93Q29udGVudEJvdHRvbTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCAzMzZi
MTE2NzJkMDNiNWYwNmI3NDUzYTgzMzBiY2IzMjY5Njc4Y2M0Li42ODEzNTNmZWVmNGUxNTM3NWJk
NDViNmI2MWI4ZDU0NDBmMzAxMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQcm9ncmVzcy5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgYm9vbCBSZW5kZXJQcm9ncmVzczo6aXNE
ZXRlcm1pbmF0ZSgpIGNvbnN0CiAgICAgICAgICAgICAmJiBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJ
bnZhbGlkUG9zaXRpb24gIT0gcG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgUmVuZGVyUHJvZ3Jlc3M6
OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8UmVuZGVyUHJvZ3Jlc3M+JikKK3ZvaWQgUmVuZGVy
UHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIHJlcGFpbnQoKTsK
ICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSAmJiBtX2FuaW1hdGluZykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5kZXggZTgyNGYxYTU0MTk3
YjI3ZWFiNmIzZDAxYzUzMzY3MDdhMTdjZDc5OS4uMGUzZGUwMGI2YjgxMDJkYzBiOWIzNGM3NmU4
ZDA2NWNlZGI3MzgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNG
b3JjZWRTdHlsZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxv
Z2ljYWxIZWlnaHQsIExheW91dFVuaXQgbG9naWNhbFRvcCwgTG9naWNhbEV4dGVudENvbXB1dGVk
VmFsdWVzJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQo
VGltZXI8UmVuZGVyUHJvZ3Jlc3M+Jik7CisgICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRp
bWVyJik7CiAgICAgdm9pZCB1cGRhdGVBbmltYXRpb25TdGF0ZSgpOwogCiAgICAgZG91YmxlIG1f
cG9zaXRpb247CkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWw7CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uRHVyYXRpb247CiAgICAg
Ym9vbCBtX2FuaW1hdGluZzsKLSAgICBUaW1lcjxSZW5kZXJQcm9ncmVzcz4gbV9hbmltYXRpb25U
aW1lcjsKKyAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDZiYmYz
NjBmYjBkMDFiYTliMzE5YTE5ZjY4NWYyMzYyYmM3OGMwZjQuLmU1Y2JkYzRkMGY1NzEzM2YxYmFj
NmMwYTRkMDMxYTU3MDlmNzM4NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAKQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5
UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQogICAgICAgICBtX2xhenlSZXBhaW50VGltZXIu
c3RvcCgpOwogfQogCi12b2lkIFJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZChUaW1l
cjxSZW5kZXJWaWV3PiYpCit2b2lkIFJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgYm9vbCBzaG91bGRSZXBhaW50ID0gIWRvY3VtZW50KCkuaW5QYWdlQ2Fj
aGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggYmZlOTkzMGEy
MzJjMTJlMWFhMWNkNmZiMDUwMzYyNzljOTZjMzc1NS4uYzY2YjQ5ODFkMDg1NzAyOWFkNWQzNDUz
YjdhNTEwZmM4MTUxYmZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBA
IC0zNDIsOSArMzQyLDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkVXNlUHJpbnRpbmdM
YXlvdXQoKSBjb25zdDsKIAotICAgIHZvaWQgbGF6eVJlcGFpbnRUaW1lckZpcmVkKFRpbWVyPFJl
bmRlclZpZXc+Jik7CisgICAgdm9pZCBsYXp5UmVwYWludFRpbWVyRmlyZWQoVGltZXImKTsKIAot
ICAgIFRpbWVyPFJlbmRlclZpZXc+IG1fbGF6eVJlcGFpbnRUaW1lcjsKKyAgICBUaW1lciBtX2xh
enlSZXBhaW50VGltZXI7CiAgICAgSGFzaFNldDxSZW5kZXJCb3gqPiBtX3JlbmRlcmVyc05lZWRp
bmdMYXp5UmVwYWludDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZVF1YWxpdHlDb250cm9s
bGVyPiBtX2ltYWdlUXVhbGl0eUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDZhZTQ4MmUxMWRhY2ZiMzc1
NzY2MDM4OTFhNzFiMjc0Y2FlNTNiYzkuLmJkZjU4MmRmMTE5ZjEzYWI0YzcxOTMxOGQ0Mzk1MmFh
M2Q5MzNjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyOjpwYXVzZSgpCiAgICAgICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6dGltZXJGaXJlZChUaW1lcjxFdmVudExvb3BJbnB1dERpc3Bh
dGNoZXI+KikKK3ZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKFRpbWVy
KikKIHsKICAgICBkaXNwYXRjaElucHV0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKaW5kZXggZjQzMDYyZWI1OGJkNGZlMWQ5NGJl
NjUxYjg2MWI2MDNiZTRiYjdmYS4uMmE4YTA3MGRlMTdlNTBkZGUxMGQyZjQ5NmQ2ODliYmMzYTJi
NzAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlz
cGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuaApAQCAtNzIsMTIgKzcyLDEyIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBk
aXNwYXRjaElucHV0U29vbigpOwogICAgIHZvaWQgZGlzcGF0Y2hJbnB1dCgpOwotICAgIHZvaWQg
dGltZXJGaXJlZChUaW1lcjxFdmVudExvb3BJbnB1dERpc3BhdGNoZXI+Kik7CisgICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyKik7CiAKICAgICBQYWdlJiBtX3BhZ2U7CiAgICAgRXZlbnRMb29wSW5w
dXREaXNwYXRjaGVyQ2xpZW50KiBtX2NsaWVudDsKICAgICBSZXBsYXlpbmdJbnB1dEN1cnNvciYg
bV9jdXJzb3I7Ci0gICAgVGltZXI8RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyPiBtX3RpbWVyOwor
ICAgIFRpbWVyIG1fdGltZXI7CiAKICAgICAvLyBUaGlzIGRhdGEgaXMgdmFsaWQgd2hlbiBhbiBl
dmVudCBsb29wIGlucHV0IGlzIHByZXNlbnRseSBkaXNwYXRjaGluZy4KICAgICBFdmVudExvb3BJ
bnB1dERhdGEgbV9jdXJyZW50V29yazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZUFyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFy
ZWFJbXBsLmNwcAppbmRleCA3NGUyYzgxZmY3NDlhNTg0YTRmNTZlYmM3M2NhZDZkOTAwNWQzYjNh
Li4zMTM5ODJkM2RiMThkYTM5YTQ1MmVhMzQ5MGU2MGQ4YWQ3ZWJkYTQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwCkBAIC0yNzgsNyArMjc4LDcgQEAgdm9p
ZCBTdG9yYWdlQXJlYUltcGw6OmRlY3JlbWVudEFjY2Vzc0NvdW50KCkKICAgICB9CiB9CiAKLXZv
aWQgU3RvcmFnZUFyZWFJbXBsOjpjbG9zZURhdGFiYXNlVGltZXJGaXJlZChUaW1lcjxTdG9yYWdl
QXJlYUltcGw+ICopCit2b2lkIFN0b3JhZ2VBcmVhSW1wbDo6Y2xvc2VEYXRhYmFzZVRpbWVyRmly
ZWQoVGltZXIgKikKIHsKICAgICBibG9ja1VudGlsSW1wb3J0Q29tcGxldGUoKTsKICAgICBpZiAo
bV9zdG9yYWdlQXJlYVN5bmMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwu
aAppbmRleCBmMzg0ZTBkZDEzYzVkMzdhZmE3MWFiYmY2NGNmNjhjNmJmNjNiMzllLi41NTZkNWMw
ZmQ2YTNjNjc5OGU0NmY4NjE1NWYxYzg3MmZhODgzMmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZUFyZWFJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICBleHBs
aWNpdCBTdG9yYWdlQXJlYUltcGwoU3RvcmFnZUFyZWFJbXBsKik7CiAKICAgICB2b2lkIGJsb2Nr
VW50aWxJbXBvcnRDb21wbGV0ZSgpIGNvbnN0OwotICAgIHZvaWQgY2xvc2VEYXRhYmFzZVRpbWVy
RmlyZWQoVGltZXI8U3RvcmFnZUFyZWFJbXBsPiopOworICAgIHZvaWQgY2xvc2VEYXRhYmFzZVRp
bWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZvaWQgZGlzcGF0Y2hTdG9yYWdlRXZlbnQoY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFs
dWUsIEZyYW1lKiBzb3VyY2VGcmFtZSk7CiAKQEAgLTkyLDcgKzkyLDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1faXNTaHV0ZG93bjsKICNlbmRpZgogICAgIHVuc2lnbmVkIG1fYWNjZXNzQ291bnQ7
Ci0gICAgVGltZXI8U3RvcmFnZUFyZWFJbXBsPiBtX2Nsb3NlRGF0YWJhc2VUaW1lcjsKKyAgICBU
aW1lciBtX2Nsb3NlRGF0YWJhc2VUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCAxZDUwYTJk
M2NiYmNkNjkxZjJhMWFhZDc0YmRjMmRiOTA5NGRkZTFlLi4wYmQ4MTc0NGNiYjVhZTAyOGVjZjVm
NzljNDk5MzkxOTg2YzdiNTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVk
dWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgfQogfQogCi12b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3lu
Y1RpbWVyRmlyZWQoVGltZXI8U3RvcmFnZUFyZWFTeW5jPiopCit2b2lkIFN0b3JhZ2VBcmVhU3lu
Yzo6c3luY1RpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCmluZGV4IGMyNjNmYTc5
MmRlYzQxZmM0NDdlOTBhNWRhYzJjYjQ5MTU3ZjM5NTQuLjZhZThmY2I2NjI4YzY1ZWYyMTA0ZTI1
NGU5ZTY4OTJlMDUyMDNkYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFN0b3JhZ2VBcmVh
U3luYyhQYXNzUmVmUHRyPFN0b3JhZ2VTeW5jTWFuYWdlcj4sIFBhc3NSZWZQdHI8U3RvcmFnZUFy
ZWFJbXBsPiwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZUlkZW50aWZpZXIpOwogCi0gICAgVGltZXI8
U3RvcmFnZUFyZWFTeW5jPiBtX3N5bmNUaW1lcjsKKyAgICBUaW1lciBtX3N5bmNUaW1lcjsKICAg
ICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX2NoYW5nZWRJdGVtczsKICAgICBib29sIG1faXRl
bXNDbGVhcmVkOwogCkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICBTa2lwSWZOb25F
eGlzdGVudAogICAgIH07CiAKLSAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPFN0b3JhZ2VB
cmVhU3luYz4qKTsKKyAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyKik7CiAgICAgdm9pZCBv
cGVuRGF0YWJhc2UoT3BlbkRhdGFiYXNlUGFyYW1UeXBlIG9wZW5pbmdTdHJhdGVneSk7CiAgICAg
dm9pZCBzeW5jKGJvb2wgY2xlYXJJdGVtcywgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4m
IGl0ZW1zKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IGNiMzQ3ZDRlNWFkZTVm
MDQ5NmQxM2Y2Y2Q5YTQ2MDgwODExNmM0Y2IuLmFlYTAyZWU5YmEyNTNiNzMwNDQwM2ExMWY3NmNi
MzBjZGU0OTMzMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTY4NiwxMiArNjg2
LDEyIEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hy
b25vdXNseSgpCiAgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDApOwogfQog
Ci12b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoVGltZXI8U1ZHRWxlbWVu
dD4qKQordm9pZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZSgpOwogfQogCi1UaW1lcjxTVkdFbGVtZW50
PiogU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXIoKQorVGltZXIqIFNWR0VsZW1lbnQ6OnN2
Z0xvYWRFdmVudFRpbWVyKCkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IGQ4MzNjMDYxZjA5NTE3YjgxZGRiYWM0
OWZlMDQ3MTU5ODNjNjc4YjQuLjczZjMwM2Y2N2NkMzg4OTBkOTgzYmYyYmUyZDJkYjVmMzIxN2Ez
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtODksOCArODksOCBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlKGJvb2wgc2VuZFBhcmVudExvYWRF
dmVudHMgPSBmYWxzZSk7CiAgICAgdm9pZCBzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5j
aHJvbm91c2x5KCk7Ci0gICAgdm9pZCBzdmdMb2FkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFNWR0Vs
ZW1lbnQ+Kik7Ci0gICAgdmlydHVhbCBUaW1lcjxTVkdFbGVtZW50Piogc3ZnTG9hZEV2ZW50VGlt
ZXIoKTsKKyAgICB2b2lkIHN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoVGltZXIqKTsKKyAgICB2aXJ0
dWFsIFRpbWVyKiBzdmdMb2FkRXZlbnRUaW1lcigpOwogCiAgICAgdmlydHVhbCBBZmZpbmVUcmFu
c2Zvcm0qIHN1cHBsZW1lbnRhbFRyYW5zZm9ybSgpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKaW5kZXggOWFjZGJkYjFiMGFkZjM3NTQxNDc2NTFiZDdi
NDMxMDJjYjU1MTc0Yi4uMjNlOTI5ZDM2MDgwY2IyYTAxOWJmMDJlODBkZjdiY2IxODk2N2QwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC03Miw3ICs3Miw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEhhdmVGaXJlZExvYWRFdmVudChib29sIGhhdmVG
aXJlZExvYWRFdmVudCkgb3ZlcnJpZGUgeyBTY3JpcHRFbGVtZW50OjpzZXRIYXZlRmlyZWRMb2Fk
RXZlbnQoaGF2ZUZpcmVkTG9hZEV2ZW50KTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BhcnNlcklu
c2VydGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU2NyaXB0RWxlbWVudDo6aXNQYXJzZXJJ
bnNlcnRlZCgpOyB9CiAgICAgdmlydHVhbCBib29sIGhhdmVGaXJlZExvYWRFdmVudCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcmlwdEVsZW1lbnQ6OmhhdmVGaXJlZExvYWRFdmVudCgpOyB9
Ci0gICAgdmlydHVhbCBUaW1lcjxTVkdFbGVtZW50Piogc3ZnTG9hZEV2ZW50VGltZXIoKSBvdmVy
cmlkZSB7IHJldHVybiAmbV9zdmdMb2FkRXZlbnRUaW1lcjsgfQorICAgIHZpcnR1YWwgVGltZXIq
IHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gJm1fc3ZnTG9hZEV2ZW50VGlt
ZXI7IH0KIAogI2lmbmRlZiBOREVCVUcKICAgICB2aXJ0dWFsIGJvb2wgZmlsdGVyT3V0QW5pbWF0
YWJsZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Qgb3ZlcnJpZGU7CkBAIC04
Myw3ICs4Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogICAg
IEVORF9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKIAotICAgIFRpbWVyPFNWR0VsZW1lbnQ+
IG1fc3ZnTG9hZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zdmdMb2FkRXZlbnRUaW1lcjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQu
aAppbmRleCAxZTczMTc1MjVmYzdkYjc1NTg4ZDUzYjhjMzQ3MjlkYzNhNTIxZGQ3Li45ZjQyOGY3
NDMwYmNmMDRhODZjMjkzNmM0ZGZjZjJkMzE2MWIzZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0
eWxlRWxlbWVudC5oCkBAIC02MiwxMCArNjIsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0T3duZXIuaXNMb2FkaW5n
KCk7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hlZXRMb2FkZWQoKSBvdmVycmlkZSB7IHJldHVybiBt
X3N0eWxlU2hlZXRPd25lci5zaGVldExvYWRlZChkb2N1bWVudCgpKTsgfQogICAgIHZpcnR1YWwg
dm9pZCBzdGFydExvYWRpbmdEeW5hbWljU2hlZXQoKSBvdmVycmlkZSB7IG1fc3R5bGVTaGVldE93
bmVyLnN0YXJ0TG9hZGluZ0R5bmFtaWNTaGVldChkb2N1bWVudCgpKTsgfQotICAgIHZpcnR1YWwg
VGltZXI8U1ZHRWxlbWVudD4qIHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4g
Jm1fc3ZnTG9hZEV2ZW50VGltZXI7IH0KKyAgICB2aXJ0dWFsIFRpbWVyKiBzdmdMb2FkRXZlbnRU
aW1lcigpIG92ZXJyaWRlIHsgcmV0dXJuICZtX3N2Z0xvYWRFdmVudFRpbWVyOyB9CiAKICAgICBJ
bmxpbmVTdHlsZVNoZWV0T3duZXIgbV9zdHlsZVNoZWV0T3duZXI7Ci0gICAgVGltZXI8U1ZHRWxl
bWVudD4gbV9zdmdMb2FkRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3N2Z0xvYWRFdmVudFRpbWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50
LmgKaW5kZXggYjczMmYxOGYyMjM2MWQxOTJkM2ZhMjY3ZWU4MTY3ZDIxZGFlZTRhMS4uMmYwYmMw
NWNiNzQ1OWEyYWI1MzJjNjk3NDZmZWQ0MDI2MzUxNjM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNl
RWxlbWVudC5oCkBAIC0xMTgsMTQgKzExOCwxNCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRIYXZlRmlyZWRMb2FkRXZlbnQoYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQpIG92ZXJyaWRl
IHsgbV9oYXZlRmlyZWRMb2FkRXZlbnQgPSBoYXZlRmlyZWRMb2FkRXZlbnQ7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNQYXJzZXJJbnNlcnRlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fd2Fz
SW5zZXJ0ZWRCeVBhcnNlcjsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2hhdmVGaXJlZExvYWRFdmVudDsgfQotICAgIHZp
cnR1YWwgVGltZXI8U1ZHRWxlbWVudD4qIHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyBy
ZXR1cm4gJm1fc3ZnTG9hZEV2ZW50VGltZXI7IH0KKyAgICB2aXJ0dWFsIFRpbWVyKiBzdmdMb2Fk
RXZlbnRUaW1lcigpIG92ZXJyaWRlIHsgcmV0dXJuICZtX3N2Z0xvYWRFdmVudFRpbWVyOyB9CiAK
ICAgICBib29sIG1fd2FzSW5zZXJ0ZWRCeVBhcnNlcjsKICAgICBib29sIG1faGF2ZUZpcmVkTG9h
ZEV2ZW50OwogICAgIGJvb2wgbV9uZWVkc1NoYWRvd1RyZWVSZWNyZWF0aW9uOwogICAgIFJlZlB0
cjxTVkdFbGVtZW50SW5zdGFuY2U+IG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlOwogICAgIENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiBtX2NhY2hlZERvY3VtZW50OwotICAg
IFRpbWVyPFNWR0VsZW1lbnQ+IG1fc3ZnTG9hZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zdmdM
b2FkRXZlbnRUaW1lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9h
bmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1h
dGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggOWFjMGI2M2E0ZWNhYjYyZDJhZjEyMjFm
ZWY4MjFjYzhmMTY2MDVmYi4uNGM0NzYyOWQ4YjIyNGU2YTVkYjZmMTAyNTczOTI1MDBhNzMzNDMy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFy
dFRpbWVyKFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZSBtaW5pbXVtRGVsYXkpCiAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CiB9CiAKLXZvaWQgU01JTFRpbWVDb250
YWluZXI6OnRpbWVyRmlyZWQoVGltZXI8U01JTFRpbWVDb250YWluZXI+KikKK3ZvaWQgU01JTFRp
bWVDb250YWluZXI6OnRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX2JlZ2luVGlt
ZSk7CiAgICAgQVNTRVJUKCFtX3BhdXNlVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmgKaW5kZXggZTBmOTlmYWQ3MzM1YWI5MDVkMWUx
ZGMzNDhmZTQ1OTAyMzZkZmFiNi4uNDBhMGZlYTY0NDY1YWRkN2YxM2UwZWI5YWFiMDI0NGU3ZDZk
MjQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNv
bnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250
YWluZXIuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNNSUxUaW1l
Q29udGFpbmVyKFNWR1NWR0VsZW1lbnQqIG93bmVyKTsKIAotICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxTTUlMVGltZUNvbnRhaW5lcj4qKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXIqKTsK
ICAgICB2b2lkIHN0YXJ0VGltZXIoU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lIG1pbmltdW1E
ZWxheSA9IDApOwogICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9ucyhTTUlMVGltZSBlbGFwc2VkLCBi
b29sIHNlZWtUb1RpbWUgPSBmYWxzZSk7CiAgICAgCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1fZG9jdW1lbnRPcmRlckluZGV4ZXNEaXJ0eTsKICAgICAKLSAgICBUaW1l
cjxTTUlMVGltZUNvbnRhaW5lcj4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogCiAgICAg
dHlwZWRlZiBzdGQ6OnBhaXI8U1ZHRWxlbWVudCosIFF1YWxpZmllZE5hbWU+IEVsZW1lbnRBdHRy
aWJ1dGVQYWlyOwogICAgIHR5cGVkZWYgVmVjdG9yPFNWR1NNSUxFbGVtZW50Kj4gQW5pbWF0aW9u
c1ZlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IDQxMmYyNzI3MzkwZTY0ZTk0YjgxZTE1
YWE0N2FjNDBhNDFiNDhhZjAuLmNiMzYwMzRjNTg2NjY1Y2M2ZWE0OTY1NzkwNTZiYTY2Y2JkZDI5
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCgpCiAgICAg
ZGlzcGF0Y2hFdmVudChldmVudCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6OmRpc3BhdGNoRGVmZXJyZWRFdmVudHMoVGltZXI8WE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGU+KiB0aW1lcikKK3ZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoRGVmZXJyZWRFdmVudHMoVGltZXIqIHRpbWVyKQogewog
ICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2Rpc3BhdGNoRGVmZXJyZWRFdmVu
dHNUaW1lcik7CiAgICAgQVNTRVJUKG1fZGVmZXJFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRl
eCAwMmZjZTBiYmJkMjQwMmE2YmU2NjZhZDBhNjg5MTA3NTU3MWFjYTQxLi45OWU5OTNhOTVlOGZi
ZDYwMzZlZTQyN2I4YzFlOWQ3NWFlY2Q4YWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNjAsNyAr
NjAsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzOwogCiAgICAgdmlydHVhbCB2b2lkIGZp
cmVkKCk7Ci0gICAgdm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKFRpbWVyPFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlPiopOworICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2
ZW50cyhUaW1lciopOwogICAgIHZvaWQgZmx1c2hQcm9ncmVzc0V2ZW50KCk7CiAgICAgdm9pZCBk
aXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKIApAQCAtNzcsNyArNzcsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9kZWZlckV2ZW50czsKICAgICBSZWZQdHI8RXZlbnQ+IG1fZGVmZXJy
ZWRQcm9ncmVzc0V2ZW50OwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX2RlZmVycmVkRXZl
bnRzOwotICAgIFRpbWVyPFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlPiBtX2Rp
c3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lcjsKKyAgICBUaW1lciBtX2Rpc3BhdGNoRGVmZXJyZWRF
dmVudHNUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94
eS5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5LmgKaW5kZXggODc1ZjdiMWVkNWQ1MzVkZGJiYTg3YTU2ZDMwMWQ4NjM4OTYwZDFh
Yi4uZjQ0MDRlMjU0MjljYTU0NjYyYmYxMWU3ZjZkMzIxYmIxMjNjMjYwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5LmgKQEAgLTI5NSw4ICsyOTUsOCBAQCBwcml2YXRlOgogICAgIE5ldHNj
YXBlUGx1Z2luSG9zdFByb3h5KiBtX3BsdWdpbkhvc3RQcm94eTsKICAgICBXZWJIb3N0ZWROZXRz
Y2FwZVBsdWdpblZpZXcgKm1fcGx1Z2luVmlldzsKIAotICAgIHZvaWQgcmVxdWVzdFRpbWVyRmly
ZWQoV2ViQ29yZTo6VGltZXI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5PiopOwotICAgIFdl
YkNvcmU6OlRpbWVyPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eT4gbV9yZXF1ZXN0VGltZXI7
CisgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOworICAgIFdlYkNv
cmU6OlRpbWVyIG1fcmVxdWVzdFRpbWVyOwogICAgIERlcXVlPFJlZlB0cjxQbHVnaW5SZXF1ZXN0
Pj4gbV9wbHVnaW5SZXF1ZXN0czsKICAgICAKICAgICBIYXNoTWFwPHVpbnQzMl90LCBSZWZQdHI8
SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+PiBtX3N0cmVhbXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkubW0KaW5kZXggNTM4NjFkNTEwZDI3ZjU5NTkwZWMwMTRmMzBhMjE2NWEzYWMyMTQz
OS4uMjI0NTlhNjM0YjdiMTFlODY4MDYwZmNiMmY0YzY5MWU1YmQ4YzA3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzM1LDcgKzczNSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHQoUGx1Z2luUmVxdWVzdCogcGx1Z2lu
UmVxdWVzCiAgICAgfQogfQogCi12b2lkIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVx
dWVzdFRpbWVyRmlyZWQoVGltZXI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5PiopCit2b2lk
IE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoVGltZXIqKQog
ewogICAgIEFTU0VSVCghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVCht
X3BsdWdpblZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbS5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRz
Y2FwZVBsdWdpblN0cmVhbS5oCmluZGV4IDRjYzI4MzE2MTNmZDY5YTk2NjhiNDZkNTQxMGYzNzA4
M2QwNjJkYWUuLjczYmU1YzQ0NzYxYWEwNTdkODE2Y2VhOTQxNmJiZWI5MDcyYTBlODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFt
LmgKQEAgLTEyMyw4ICsxMjMsOCBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU011dGFibGVV
UkxSZXF1ZXN0PiBtX3JlcXVlc3Q7CiAgICAgTlBQbHVnaW5GdW5jcyAqbV9wbHVnaW5GdW5jczsK
IAotICAgIHZvaWQgZGVsaXZlckRhdGFUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFdlYk5ldHNj
YXBlUGx1Z2luU3RyZWFtPiogdGltZXIpOwotICAgIFdlYkNvcmU6OlRpbWVyPFdlYk5ldHNjYXBl
UGx1Z2luU3RyZWFtPiBtX2RlbGl2ZXJEYXRhVGltZXI7CisgICAgdm9pZCBkZWxpdmVyRGF0YVRp
bWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKKyAgICBXZWJDb3JlOjpUaW1lciBtX2RlbGl2ZXJE
YXRhVGltZXI7CiAgICAgCiAgICAgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0oV2ViQ29yZTo6RnJh
bWVMb2FkZXIqKTsKICAgICBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbShOU1VSTFJlcXVlc3QgKiwg
TlBQLCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5k
ZXggOTM1ZDU1ZWMxNGM4ODVkYmY5ZTg1MTZhZjI0NDZlMjk3YmRlNzNmMC4uYzU5OWY4MDk3NDA1
NGI4YmRjYjhjY2RjNTQyYWZlOTNhMWFkYjVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01NTIsNyArNTUyLDcg
QEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgIH0KIH0K
IAotdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUaW1lckZpcmVkKFdl
YkNvcmU6OlRpbWVyPFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtPiogdGltZXIpCit2b2lkIFdlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIq
IHRpbWVyKQogewogICAgIGRlbGl2ZXJEYXRhKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IDI3MmY1Njc0YTdlZjkwZTczMzhm
YzE3Nzc3YTYxNGMxMDkyMGNhZmEuLjYwNjg4MWNiYzYzZmNjNjcxZTBjNDFkMzRiM2M3ZWFjMjYy
ZWYzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwCkBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
OjpvbktleURvd24oaW50IHZpcnR1YWxLZXkpCiAgICAgfQogfQogCi12b2lkIEZ1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGltZXI8RnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cj4qKQordm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyKikK
IHsKICAgICAvLyBVcGRhdGUgdGhlIHRpbWUgc2xpZGVyCiAgICAgbV90aW1lU2xpZGVyLnNldFZh
bHVlKGN1cnJlbnRUaW1lKCkgLyBkdXJhdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCAxMzE1NzNmMDA0OGE5M2RjYmMxY2E1ZThk
ODNjZTk0Y2NiZWQwNDM4Li5jN2Y2MWRlM2EwN2Y2NzkwNWQxMzllMjFhNDk1MTA0NzYyYmVhMTMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBA
IC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckhVRFdp
bmRvd0NsYXNzKCk7CiAgICAgc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sgaHVkV25kUHJvYyhIV05E
LCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSwgTFBBUkFNKTsKICAgICB2b2lkIGNyZWF0ZUhVRFdpbmRv
dygpOwotICAgIHZvaWQgdGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyPiopOworICAgIHZvaWQgdGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwogCiAg
ICAgdm9pZCB0b2dnbGVQbGF5KCk7CiAgICAgdm9pZCBkcmF3KCk7CkBAIC0xNzQsNyArMTc0LDcg
QEAgcHJpdmF0ZToKICAgICBIVURXaWRnZXQqIG1faGl0V2lkZ2V0OwogICAgIFdlYkNvcmU6Oklu
dFBvaW50IG1fbW92ZU9mZnNldDsKICAgICBib29sIG1fbW92aW5nV2luZG93OwotICAgIFdlYkNv
cmU6OlRpbWVyPEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI+IG1fdGltZXI7CisgICAgV2ViQ29y
ZTo6VGltZXIgbV90aW1lcjsKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOGUzZTI1
ODJkNTI4Njc5NDM5OTExYzVkNTkwNDYyNjVmN2VkYzk2Ni4uMmE1MmEwNWRiNjcyMmUxMDExNTQ5
ZGEyMzJkMzU5ODM1OTNhZjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zOTIsNyArMzkyLDcgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0QnVmZmVyaW5nVGltZXJJZk5lZWRlZCgp
CiAgICAgbV9idWZmZXJpbmdUaW1lci5zdGFydE9uZVNob3QobV9wYXJhbWV0ZXJzLm1heGltdW1C
dWZmZXJpbmdUaW1lKTsKIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmJ1ZmZlcmlu
Z1RpbWVyRmlyZWQoVGltZXI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiYpCit2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6YnVmZmVyaW5nVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgQVNTRVJU
KG1fYnVmZmVyZWREYXRhKTsKICAgICBBU1NFUlQobV9oYW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5
Y2VlODYxOGMyZTcxZGM3NjE1ZDk1NTJjM2I0OWIzY2YwYTJjNjdiLi45MjlhOGRmYThmMTAxNDI3
YzMwMjAzMzQyZmUzMmQxOGNkMjUwMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApAQCAtMTQ4LDcgKzE0OCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybURpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiAKICAgICB2b2lkIHN0YXJ0QnVmZmVyaW5nVGltZXJJ
Zk5lZWRlZCgpOwotICAgIHZvaWQgYnVmZmVyaW5nVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI+Jik7CisgICAgdm9pZCBidWZmZXJpbmdUaW1lckZpcmVkKFdl
YkNvcmU6OlRpbWVyJik7CiAgICAgdm9pZCBzZW5kQnVmZmVyKFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
ciosIGludCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAKICAgICBib29sIGlzU3luY2hyb25vdXMoKSBj
b25zdDsKQEAgLTE3OCw3ICsxNzgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb25zdW1l
U2FuZGJveEV4dGVuc2lvbnM7CiAgICAgYm9vbCBtX2RlZmVyc0xvYWRpbmc7CiAKLSAgICBXZWJD
b3JlOjpUaW1lcjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+IG1fYnVmZmVyaW5nVGltZXI7CisgICAg
V2ViQ29yZTo6VGltZXIgbV9idWZmZXJpbmdUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IGM1
MmY2NjNiZWM4ODczMTUwNDMwNWM0ZDViZDAwYzAwNDQ4M2NkM2QuLjhmNjVlY2VjYmYxMzMyMTlh
ZTE1YjEwMThkNDU4NGQ0NDRlMmZjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5jcHAKQEAgLTE1NCwxMyArMTU0LDEzIEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxl
cjo6d3JpdGVIZWFkZXJzKCkKICAgICB3cml0ZVRvRmlsZShtX3NhbXBsZUxvZ0ZpbGUsIHV0ZjhT
dHJpbmcuZGF0YSgpLCB1dGY4U3RyaW5nLmxlbmd0aCgpKTsKIH0KIAotdm9pZCBXZWJNZW1vcnlT
YW1wbGVyOjpzYW1wbGVUaW1lckZpcmVkKFRpbWVyPFdlYk1lbW9yeVNhbXBsZXI+KikKK3ZvaWQg
V2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgc2VuZE1l
bW9yeVByZXNzdXJlRXZlbnQoKTsKICAgICBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUo
bV9zYW1wbGVMb2dGaWxlKTsKIH0KIAotdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJG
aXJlZChUaW1lcjxXZWJNZW1vcnlTYW1wbGVyPiopCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0
b3BUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxl
ci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCA1NDhl
NTA3NTlkMDFiMWYzNThhZjZiMDExOGNjMjBmZTQzODUxZGRhLi5mMGE1ZTBmZDNkNmI5MWQ3OTU1
Yzk1Nzg3YjgwNjU5YzAxOWE1ODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmgKQEAgLTg1LDggKzg1LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVT
YW5kYm94ZWRMb2dGaWxlKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFN0
cmluZyYpOwogICAgIHZvaWQgd3JpdGVIZWFkZXJzKCk7CiAgICAgdm9pZCBpbml0aWFsaXplVGlt
ZXJzKGRvdWJsZSk7Ci0gICAgdm9pZCBzYW1wbGVUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFdl
Yk1lbW9yeVNhbXBsZXI+Kik7Ci0gICAgdm9pZCBzdG9wVGltZXJGaXJlZChXZWJDb3JlOjpUaW1l
cjxXZWJNZW1vcnlTYW1wbGVyPiopOworICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZChXZWJDb3Jl
OjpUaW1lciopOworICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKICAg
ICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0Zm9ybUZp
bGVIYW5kbGUmKTsKICAgICB2b2lkIHNlbmRNZW1vcnlQcmVzc3VyZUV2ZW50KCk7CiAgICAgCkBA
IC05Nyw4ICs5Nyw4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgV2ViQ29yZTo6UGxhdGZvcm1GaWxl
SGFuZGxlIG1fc2FtcGxlTG9nRmlsZTsKICAgICBTdHJpbmcgbV9zYW1wbGVMb2dGaWxlUGF0aDsK
LSAgICBXZWJDb3JlOjpUaW1lcjxXZWJNZW1vcnlTYW1wbGVyPiBtX3NhbXBsZVRpbWVyOwotICAg
IFdlYkNvcmU6OlRpbWVyPFdlYk1lbW9yeVNhbXBsZXI+IG1fc3RvcFRpbWVyOworICAgIFdlYkNv
cmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7
CiAgICAgYm9vbCBtX2lzUnVubmluZzsKICAgICBkb3VibGUgbV9ydW5uaW5nVGltZTsKICAgICBS
ZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggMzlkN2E0ZGY5NDYzYjE4Mjc5ZTljYjkwYWQ1Y2Y2
OWRjMTJkN2JkYi4uNGMwMGE4ZGM2YzAyYmVhMmJhMjQ4OTBlNjdjMGNlYzlmYTNmMjFkZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHdpbGxDb21taXRMYXllclRyZWUoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKTsKICAg
ICB2b2lkIGRpZEZsdXNoTGF5ZXJzKCk7CiAKLSAgICB2b2lkIHZvbGF0aWxpdHlUaW1lckZpcmVk
KFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbj4mKTsKKyAg
ICB2b2lkIHZvbGF0aWxpdHlUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyJik7CiAgICAgYm9vbCBt
YXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKIAogICAg
IHZvaWQgc2NoZWR1bGVWb2xhdGlsaXR5VGltZXIoKTsKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0
ZToKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVudGVkQmFj
a2luZ1N0b3JlOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX3JlYWNo
YWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2g7CiAKLSAgICBXZWJDb3JlOjpUaW1lcjxSZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24+IG1fdm9sYXRpbGl0eVRpbWVyOworICAgIFdl
YkNvcmU6OlRpbWVyIG1fdm9sYXRpbGl0eVRpbWVyOwogCiAgICAgYm9vbCBtX2luTGF5ZXJGbHVz
aDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4IGE0NjRhOWFhYjQzYWQzZDll
YTA1MGI3YzcxZjM2NTNiMmRhOGY5ZjUuLmJhOTEwNjRiZThhY2JmNjQ2NDE2OThjZjlkY2NmZjJl
ZDVmNjA2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0xNjMsNyArMTYzLDcg
QEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtBbGxCYWNraW5n
U3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5SWYKICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJh
Y2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi12b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uPiYpCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXImKQogewogICAgIGJv
b2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCA5ZDQwMDBiMGI1
MzUyNjk2YzViY2VhOGUzMmM2Y2Y5MjYxMGYwM2ZkLi44Nzk4ZmY1ODc2M2E3NDc5Yjg0ZTM4Njc1
ZDVjY2U2MmQyNzhlYWI3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcApAQCAtNTM5LDcgKzUzOSw3IEBAIGlubGluZSBJbnRTaXplIEV3a1ZpZXc6OmRl
dmljZVNpemUoKSBjb25zdAogICAgIHJldHVybiB0b0ludFNpemUoV0tWaWV3R2V0U2l6ZSh3a1Zp
ZXcoKSkpOwogfQogCi12b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKFRpbWVyPEV3a1Zp
ZXc+KikKK3ZvaWQgRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEV3
a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCA1OGYwZTIzMDlmNDhmYTRhZDNmMTQ1MzEx
MzVlN2RjNzdlOWRiMmFjLi45NDk1YjFkYjUxOGJkN2RiMWEyMDUwNjllYTJiNGNkN2M5M2E4Yjgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCkBAIC0yMjEs
NyArMjIxLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpJbnRTaXplIHNpemUoKSBjb25zdDsK
ICAgICBXZWJDb3JlOjpJbnRTaXplIGRldmljZVNpemUoKSBjb25zdDsKIAotICAgIHZvaWQgZGlz
cGxheVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8RXdrVmlldz4qKTsKKyAgICB2b2lkIGRpc3Bs
YXlUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyKik7CiAKICAgICAvLyBFdmFzX1NtYXJ0X0NsYXNz
IGNhbGxiYWNrIGludGVyZmFjZToKICAgICBzdGF0aWMgdm9pZCBoYW5kbGVFdmFzT2JqZWN0QWRk
KEV2YXNfT2JqZWN0Kik7CkBAIC0zMDMsNyArMzAzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
dG91Y2hFdmVudHNFbmFibGVkOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Okdlc3R1cmVS
ZWNvZ25pemVyPiBtX2dlc3R1cmVSZWNvZ25pemVyOwogI2VuZGlmCi0gICAgV2ViQ29yZTo6VGlt
ZXI8RXdrVmlldz4gbV9kaXNwbGF5VGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9kaXNwbGF5
VGltZXI7CiAgICAgUmVmUHRyPEV3a0NvbnRleHRNZW51PiBtX2NvbnRleHRNZW51OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxFd2tQb3B1cE1lbnU+IG1fcG9wdXBNZW51OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xp
ZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwCmluZGV4IGQyNmZiODA1ZTk5MmY3ZDdkNjE2MmFlZjU1ZjlkOWRlOGE0YWZkNmEu
LjExNGI0ZGYyOTQ5MWFlNTU5YTRhZWU1YmQzNTk0ZDRkMWYzY2Q5NzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCkBA
IC0xMDQsMTIgKzEwNCwxMiBAQCB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVs
bENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZQogICAgIG1fbGFuZ3Vh
Z2VzVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFRleHRDaGVja2VyQ2xp
ZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKFRpbWVyPFRleHRDaGVja2VyQ2xpZW50
RWZsPiopCit2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZp
cmVkKFRpbWVyKikKIHsKICAgICBtX3RleHRDaGVja2VyRW5jaGFudC0+dXBkYXRlU3BlbGxDaGVj
a2luZ0xhbmd1YWdlcyhtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOwogfQogCi12b2lkIFRleHRD
aGVja2VyQ2xpZW50RWZsOjpzcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyRmlyZWQoVGlt
ZXI8VGV4dENoZWNrZXJDbGllbnRFZmw+KikKK3ZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OnNw
ZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgbV9jbGll
bnRDYWxsYmFja3MuY29udGludW91c19zcGVsbF9jaGVja2luZ19jaGFuZ2UoCiAgICAgICAgIGlz
Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2soMCAvKiBjbGllbnRJbmZvICov
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNs
aWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVu
dEVmbC5oCmluZGV4IGRhZWY1NjIzOGExZTRlZDVjZWVhYmU2YWRiZmVhYzBkNzU3MDAwMDQuLjFl
M2NlOGM4MjA5N2Q0MWU5ZjMxYjJhNjIyZmFmZmIyMGIyYTU5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmgKQEAgLTU1LDE0
ICs1NSwxNCBAQCBwcml2YXRlOgogICAgIFRleHRDaGVja2VyQ2xpZW50RWZsKCk7CiAKICAgICAv
LyBUbyBzZXQgbGFuZ3VhZ2VzIG9uIHRpbWVyLgotICAgIHZvaWQgbGFuZ3VhZ2VzVXBkYXRlVGlt
ZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNsaWVudEVmbD4qKTsKLSAgICBXZWJD
b3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNsaWVudEVmbD4gbV9sYW5ndWFnZXNVcGRhdGVUaW1lcjsK
KyAgICB2b2lkIGxhbmd1YWdlc1VwZGF0ZVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKKyAg
ICBXZWJDb3JlOjpUaW1lciBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyOwogICAgIFZlY3RvcjxTdHJp
bmc+IG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlczsKIAogICAgIC8vIFRvIG5vdGlmeSB0aGUgY2xp
ZW50IGFib3V0IHRoZSBzZXR0aW5nIGNoYW5nZSBvbiB0aW1lci4KLSAgICB2b2lkIHNwZWxsQ2hl
Y2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNs
aWVudEVmbD4qKTsKKyAgICB2b2lkIHNwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJl
ZChXZWJDb3JlOjpUaW1lciopOwogICAgIHZvaWQgY2FsbENvbnRpbnVvdXNTcGVsbENoZWNraW5n
Q2hhbmdlQ2FsbGJhY2tBc3luYygpOwotICAgIFdlYkNvcmU6OlRpbWVyPFRleHRDaGVja2VyQ2xp
ZW50RWZsPiBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXI7CisgICAgV2ViQ29yZTo6
VGltZXIgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyOwogCiAgICAgLy8gV0tUZXh0
Q2hlY2tlckNsaWVudCBjYWxsYmFja3MuCiAgICAgc3RhdGljIGJvb2wgaXNDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjayhjb25zdCB2b2lkKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCBi
MDY2MTk0YmQwMzkzMWFlOTU4NmQzNjFmNDFiMmU2Y2UzMjg3ZDkwLi5mOWI0OTBkZGE2NmExNmRl
MGZlNzI5ZTAxNDc5OTU2OTFlNTg0YWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIyMiw3ICsyMjIsNyBA
QCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1
c2goKQogICAgIH0KIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1
c2hUaW1lckZpcmVkKFRpbWVyPENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdD4qKQordm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVkKFRpbWVyKikKIHsKICAg
ICBwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCBlMmNhOWMwYmZl
YzY1MzcxNzMyODAxN2E4YWZiODc3OTA2ZDkzMmJlLi5lZjM1NzcxMzM2OWM1OTM3MWVjYzIzNThl
MmQ3YTVlMDA0MjQwNTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7CiAgICAgdm9pZCBjb21taXRTY3JvbGxPZmZzZXQo
dWludDMyX3QgbGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KTsKIAotICAg
IHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0PiopOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGlt
ZXIqKTsKIAogICAgIHZvaWQgdXBkYXRlUm9vdExheWVycygpOwogCkBAIC0xMDUsNyArMTA1LDcg
QEAgcHJpdmF0ZToKIAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0Owog
Ci0gICAgV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiBtX2xheWVyRmx1
c2hUaW1lcjsKKyAgICBXZWJDb3JlOjpUaW1lciBtX2xheWVyRmx1c2hUaW1lcjsKICAgICBib29s
IG1fbGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkOwogICAgIHVpbnQ2NF90IG1fZm9yY2VSZXBh
aW50QXN5bmNDYWxsYmFja0lEOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgK
aW5kZXggNTY1NzU2MjZiYzYxYWE5ODgzMzM3Zjc4MTNjY2EzMTIxMmM5MDNiNy4uYTNhZTAyMjNi
ZjQ5NDEzZDdjY2Y2ZjM5MWE1ZmU5MzY2OTc1NWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEuaApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRh
dGVTY3JvbGxlZEV4cG9zZWRSZWN0KCk7CiAgICAgdm9pZCB1cGRhdGVSb290TGF5ZXJzKCk7CiAK
LSAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhPiopOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29y
ZTo6VGltZXIqKTsKICAgICB2b2lkIGZsdXNoTGF5ZXJzKCk7CiAKICAgICBXZWJDb3JlOjpUaWxl
ZEJhY2tpbmcqIG1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0OwpAQCAtMTQ0LDcgKzE0NCw3
IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fZXhwb3NlZFJlY3Q7CiAgICAg
V2ViQ29yZTo6RmxvYXRSZWN0IG1fc2Nyb2xsZWRFeHBvc2VkUmVjdDsKIAotICAgIFdlYkNvcmU6
OlRpbWVyPFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhPiBtX2xheWVyRmx1c2hUaW1lcjsKKyAg
ICBXZWJDb3JlOjpUaW1lciBtX2xheWVyRmx1c2hUaW1lcjsKICAgICBib29sIG1faXNGbHVzaGlu
Z1N1c3BlbmRlZDsKICAgICBib29sIG1faGFzRGVmZXJyZWRGbHVzaDsKICAgICBib29sIG1faXNU
aHJvdHRsaW5nTGF5ZXJGbHVzaGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEu
bW0KaW5kZXggOTMyNWE1MTc3MmU1OTczZDNmZjJiMTBjYjU1OWUwMmZjZjNkZGUwMC4uYWNjMmVm
NGUwYzNlMjU1ZDU4MmNmYjcxYTYxMDQyNDI3MDBjYzVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhLm1tCkBAIC0zMTMsNyArMzEzLDcgQEAgYm9vbCBSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYTo6YWRqdXN0TGF5ZXJGbHVzaFRocm90dGxpbmcoV2ViQ29yZTo6TGF5ZXJG
bHVzaFQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE+KikKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmxheWVyRmx1
c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyKikKIHsKICAgICBmbHVzaExheWVycygpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNDdhNGQ4ZmY4MTA4
YTdkYzMyMjExODg4MDBkYzRkNmQwODQzNTgyMS4uNzdjN2E3ZDRjZmQ5MmQxODI3YmY0NjVhMGY0
OWMwZWE5MjMwMzRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMTg4LDcgKzExODgsNyBAQCBib29sIFdlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xh
dGlsZUlmUG9zc2libGUoKQogICAgIHJldHVybiBzdWNjZXNzZnVsbHlNYXJrZWRBbGxMYXllcnNW
b2xhdGlsZTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzU3VzcGVuc2lvbkNsZWFudXBU
aW1lckZpcmVkKFRpbWVyPFdlYlByb2Nlc3M+KiB0aW1lcikKK3ZvaWQgV2ViUHJvY2Vzczo6cHJv
Y2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXJGaXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgaWYg
KG1hcmtBbGxMYXllcnNWb2xhdGlsZUlmUG9zc2libGUoKSkgewogICAgICAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NS
ZWFkeVRvU3VzcGVuZCgpLCAwKTsKQEAgLTEyMTAsNyArMTIxMCw3IEBAIHZvaWQgV2ViUHJvY2Vz
czo6cGFnZVdpbGxMZWF2ZVdpbmRvdyh1aW50NjRfdCBwYWdlSUQpCiAgICAgICAgIG1fbm9uVmlz
aWJsZVByb2Nlc3NDbGVhbnVwVGltZXIuc3RhcnRPbmVTaG90KG5vblZpc2libGVQcm9jZXNzQ2xl
YW51cERlbGF5KTsKIH0KICAgICAKLXZvaWQgV2ViUHJvY2Vzczo6bm9uVmlzaWJsZVByb2Nlc3ND
bGVhbnVwVGltZXJGaXJlZChUaW1lcjxXZWJQcm9jZXNzPiopCit2b2lkIFdlYlByb2Nlc3M6Om5v
blZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVCht
X3BhZ2VzSW5XaW5kb3dzLmlzRW1wdHkoKSk7CiAgICAgaWYgKCFtX3BhZ2VzSW5XaW5kb3dzLmlz
RW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggODhjNTgx
YTRlOTJkOGY3YzA2NDAyOTZhZmQxNjE1OGFhYjJkNDdlOC4uNDk4OTFmZTRkNDY4MDUzYmIyZjMy
Y2U4NjJlMmIxNGNiNTViN2ViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWdlRGlkRW50ZXJXaW5k
b3codWludDY0X3QgcGFnZUlEKTsKICAgICB2b2lkIHBhZ2VXaWxsTGVhdmVXaW5kb3codWludDY0
X3QgcGFnZUlEKTsKIAotICAgIHZvaWQgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXJGaXJl
ZChXZWJDb3JlOjpUaW1lcjxXZWJQcm9jZXNzPiopOworICAgIHZvaWQgbm9uVmlzaWJsZVByb2Nl
c3NDbGVhbnVwVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwogCiAgICAgdm9pZCB1cGRhdGVB
Y3RpdmVQYWdlcygpOwogCkBAIC0xODQsNyArMTg0LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJv
Y2Vzc1dpbGxTdXNwZW5kKCk7CiAgICAgdm9pZCBjYW5jZWxQcm9jZXNzV2lsbFN1c3BlbmQoKTsK
ICAgICBib29sIG1hcmtBbGxMYXllcnNWb2xhdGlsZUlmUG9zc2libGUoKTsKLSAgICB2b2lkIHBy
b2Nlc3NTdXNwZW5zaW9uQ2xlYW51cFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8V2ViUHJvY2Vz
cz4qKTsKKyAgICB2b2lkIHByb2Nlc3NTdXNwZW5zaW9uQ2xlYW51cFRpbWVyRmlyZWQoV2ViQ29y
ZTo6VGltZXIqKTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICB2b2lkIHJlc2V0QWxsR2VvbG9j
YXRpb25QZXJtaXNzaW9ucygpOwpAQCAtMzA2LDcgKzMwNiw3IEBAIHByaXZhdGU6CiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIFJlZlB0cjxWaWV3VXBkYXRlRGlzcGF0Y2hlcj4gbV92aWV3VXBkYXRl
RGlzcGF0Y2hlcjsKICNlbmRpZgotICAgIFdlYkNvcmU6OlRpbWVyPFdlYlByb2Nlc3M+IG1fcHJv
Y2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9wcm9jZXNz
U3VzcGVuc2lvbkNsZWFudXBUaW1lcjsKIAogICAgIGJvb2wgbV9pbkRpZENsb3NlOwogCkBAIC0z
NjAsNyArMzYwLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSGFzaFNldDx1aW50NjRfdD4g
bV9wYWdlc0luV2luZG93czsKLSAgICBXZWJDb3JlOjpUaW1lcjxXZWJQcm9jZXNzPiBtX25vblZp
c2libGVQcm9jZXNzQ2xlYW51cFRpbWVyOworICAgIFdlYkNvcmU6OlRpbWVyIG1fbm9uVmlzaWJs
ZVByb2Nlc3NDbGVhbnVwVGltZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViT3JpZ2luRGF0
YU1hbmFnZXI+IG1fd2ViT3JpZ2luRGF0YU1hbmFnZXI7CiB9OwpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY5ZTk2N2ZjNDgwY2I2MTc1NzQwNWJk
YWI1OGQ2YTE5ZjRhNDg3MDYuLjczMGM2NGU2ZGM0N2Y2MGY5NDBlMDA5YzU3MThjMGY5MzlkOGMx
YjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3BlY2lmaWVycyBmcm9t
IFRpbWVyLgorCisgICAgICAgICogV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcDoK
KyAgICAgICAgKFBhZ2VMb2FkVGVzdENsaWVudDo6ZW5kUGFnZUxvYWQpOgorICAgICAgICAqIFdp
bkxhdW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVudC5oOgorCiAyMDE0LTExLTA1ICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGZhc3QvZG9tL3JlbW92ZS1ib2R5
LWR1cmluZy1ib2R5LXJlcGxhY2VtZW50Mi5odG1sIGZhaWxzIG9uIFdLMgpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcCBiL1Rvb2xzL1dpbkxhdW5j
aGVyL1BhZ2VMb2FkVGVzdENsaWVudC5jcHAKaW5kZXggNTc2YWNkZTFjZTUzOWY0NTM0MzQyNmMy
ZDVjOWE3NjBkOGJiNTVjOS4uZWZiNWNiNTljMmQ2YmRhM2ExNGI1MmU1ZGFjMTNmN2FhZTJlNWI1
OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmNwcAor
KysgYi9Ub29scy9XaW5MYXVuY2hlci9QYWdlTG9hZFRlc3RDbGllbnQuY3BwCkBAIC0xNDYsNyAr
MTQ2LDcgQEAgdm9pZCBQYWdlTG9hZFRlc3RDbGllbnQ6OnBhZ2VMb2FkRW5kZWRBdFRpbWUoQ0ZB
YnNvbHV0ZVRpbWUgZW5kVGltZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZUxvYWRUZXN0Q2xpZW50
OjplbmRQYWdlTG9hZChUaW1lcjxQYWdlTG9hZFRlc3RDbGllbnQ+KiB0aW1lcikKK3ZvaWQgUGFn
ZUxvYWRUZXN0Q2xpZW50OjplbmRQYWdlTG9hZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJU
X1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fd2FpdEZvckxvYWRUb1JlYWxseUVuZCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dpbkxhdW5jaGVyL1BhZ2VMb2FkVGVzdENsaWVudC5oIGIvVG9vbHMv
V2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmgKaW5kZXggNzYzMzg3ZmY0ZjAzOWZhMzNh
NzA2YWI5NDViZjJmNzQ1MWMyNzk5Yi4uMmQ5MWIxNzJhYTE2MDM5MWM0NTllZjVkMWYyZDczODJl
OTRiZGYwOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50
LmgKKysrIGIvVG9vbHMvV2luTGF1bmNoZXIvUGFnZUxvYWRUZXN0Q2xpZW50LmgKQEAgLTEyMiw3
ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRFbmRSZXNvdXJjZUxvYWQodWludDY0X3Qp
OwogCiBwcml2YXRlOgotICAgIHZvaWQgZW5kUGFnZUxvYWQoVGltZXI8UGFnZUxvYWRUZXN0Q2xp
ZW50PiopOworICAgIHZvaWQgZW5kUGFnZUxvYWQoVGltZXIqKTsKICAgICB2b2lkIG1heWJlRW5k
UGFnZUxvYWRTb29uKCk7CiAgICAgdm9pZCBjbGVhclBhZ2VMb2FkU3RhdGUoKTsKICAgICBib29s
IHNob3VsZENvbnNpZGVyUGFnZUxvYWRFbmRlZCgpIGNvbnN0OwpAQCAtMTM5LDcgKzEzOSw3IEBA
IHByaXZhdGU6CiAgICAgVmVjdG9yPENGQWJzb2x1dGVUaW1lPiBtX3N0YXJ0VGltZXM7CiAgICAg
VmVjdG9yPENGQWJzb2x1dGVUaW1lPiBtX2VuZFRpbWVzOwogICAgIEhhc2hTZXQ8dWludDY0X3Q+
IG1fbG9hZGluZ1N1YnJlc291cmNlczsKLSAgICBUaW1lcjxQYWdlTG9hZFRlc3RDbGllbnQ+IG1f
d2FpdEZvckxvYWRUb1JlYWxseUVuZDsKKyAgICBUaW1lciBtX3dhaXRGb3JMb2FkVG9SZWFsbHlF
bmQ7CiAjaWYgT1MoV0lORE9XUykKICAgICBfYnN0cl90IG1fdXJsOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241119</attachid>
            <date>2014-11-06 11:10:48 -0800</date>
            <delta_ts>2014-11-06 13:57:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138450-20141106111058.patch</filename>
            <type>text/plain</type>
            <size>278882</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU0M2VkYmM3MDMyM2E4
ZjY2YjY4MjlkYTE4NGMxMGNlNjdkMjY2Zi4uMjNlZGRhNjJhNTMyYjQwMmU0ZGE5MmU2NTE0ZThh
YzI3NzMxNWZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1MSBAQAorMjAxNC0xMS0wNSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRp
bWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaW1l
ciBkb2VzIG5vdCBuZWVkIHRvIGJlIGEgdGVtcGxhdGVkIGNsYXNzOyBvbmx5IGl0J3MgY29uc3Ry
dWN0b3JzIG5lZWQgdG8gYmUgdGVtcGxhdGVkLgorICAgICAgICBSZW1vdmUgdGhlIHRlbXBsYXRl
IHNwZWNpZmllciBmcm9tIFRpbWVyIGFuZCBhZGQgc2FtZSB0byBpdHMgdHdvIGNsYXNzIG1ldGhv
ZAorICAgICAgICBjb25zdHJ1Y3RvcnMuIFJlcGxhY2UgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdHlw
ZWRlZnMgd2l0aCB1c2luZyBzdGF0ZW1lbnRzLiBBZGQgYQorICAgICAgICBoZWxwZXIgdHlwZWRl
ZiB3aGljaCBhbGxvd3MgaW52YWxpZCBjb21iaW5hdGlvbnMgb2YgVGltZXJGaXJlZENsYXNzIGFu
ZAorICAgICAgICBUaW1lckZpcmVkRnVuY3Rpb24gdG8gYmUgY2F1Z2h0IGVhcmx5IGJ5IHRoZSBj
b21waWxlciwgd2hpbGUgc3RpbGwgYWxsb3dpbmcKKyAgICAgICAgdmFsaWQgY29tYmluYXRpb25z
IChzdWNoIGFzIHdoZW4gdGhlIGNhbGxlciBzcGVjaWZpZXMgYSBmdW5jdGlvbiBvbiBhIHN1YmNs
YXNzIG9mCisgICAgICAgIFRpbWVyRmlyZWRDbGFzcykuCisKKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9O
b3RpZmllcjo6dGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6cmVz
dW1lVGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmQ6OnRhc2tUaW1lckZp
cmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpyZW1vdmVUaW1lckZpcmVkKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW06OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRN
RlNlbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpzY2hlZHVsZWRF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNl
bmRlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlZEV2ZW50VGltZXJG
aXJlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJl
ZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oOgor
ICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Q2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2FsbGJhY2s6OnRpbWVyRmlyZWQpOgorICAgICAg
ICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Vmli
cmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWVUaW1lckZpcmVkKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmNsb3NpbmdUaW1lckZpcmVkKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub3RpZmljYXRpb25Qb3N0VGltZXJGaXJlZCk6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENh
Y2hlOjpBWE9iamVjdENhY2hlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oOgorICAgICAgICAqIGNzcy9DU1NGb250
RmFjZVNvdXJjZS5oOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJvcGVy
dGllc0NhY2hlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dmlzdWFsVXBkYXRl
c1N1cHByZXNzaW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3R5
bGVSZWNhbGNUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpvcHRpbWl6
ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpkb21Db29raWVDYWNoZUV4cGlyeVRpbWVyRmlyZWQp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5o
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTZW5kZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAq
IGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljRXZl
bnRRdWV1ZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmg6
CisgICAgICAgICogZG9tL1NjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRSdW5uZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6YW5pbWF0aW9uVGltZXJGaXJlZCk6
CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAq
IGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0
dHJpYnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICogZWRpdGluZy9BbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZl
VGV4dENvbnRyb2xsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRp
dmVUZXh0Q29udHJvbGxlci5oOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjplZGl0b3JVSVVwZGF0ZVRpbWVyRmlyZWQpOgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6Y2FyZXRCbGlua1RpbWVy
RmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6
OnRpbWVyRmlyZWRUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0KToKKyAgICAgICAgKiBlZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5oOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmly
ZWQpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxQbHVnSW5FbGVtZW50Ojpzd2FwUmVuZGVyZXJUaW1lckZpcmVkKToKKyAgICAgICAgKiBodG1s
L0hUTUxQbHVnSW5FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92
ZVNuYXBzaG90VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQpOgorICAgICAg
ICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUcmFja0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVy
RmlyZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpjbGVhclBvc2l0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnRpbWV1cGRhdGVUaW1lckZp
cmVkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwv
TWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjpyZXBs
YWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50
Lmg6CisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VhcmNoSW5wdXRUeXBlOjpzZWFyY2hFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0
bWwvU2VhcmNoSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0
VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OmJ1aWxkQnViYmxl
VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlk
ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1
YmJsZVRyZWUpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjptYXliZVJlc3RvcmVDb250ZXh0
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCk6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oOgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlVGlt
ZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaDoK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbHM6OmhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmg6CisgICAgICAgICogaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVs
ZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1NwaW5C
dXR0b25FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6bG9hZFRpbWVyRmlyZWQp
OgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaDoKKyAgICAgICAgKiBo
dG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRSZWdpb246OnNj
cm9sbFRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0
eWxlQXR0cmlidXRlVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6
dXBkYXRlUGFpbnRSZWN0c1RpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JPdmVybGF5Lmg6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
Y2hlY2tUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAg
ICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2Fk
ZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5oOgorICAgICAg
ICAqIGxvYWRlci9MaW5rTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6
OmxpbmtMb2FkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5rTG9hZGVyOjpsaW5r
TG9hZGluZ0Vycm9yVGltZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlZHVsZWROYXZpZ2F0aW9uOjpkaWRTdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmg6CisgICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBpbmdMb2FkZXI6OnRpbWVvdXRUaW1lckZpcmVkKToKKyAgICAgICAg
KiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNz
VHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2tMb2FkZXI6OmN1ZUxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGlt
ZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6
CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIHBhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmg6CisgICAgICAg
ICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXM6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01lZGlhQUYuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01l
ZGlhQUY6OnVwZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUYuaDoKKyAgICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJvbGxlcjo6ZmlyZURldmljZUV2ZW50KToKKyAg
ICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNv
clRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpyZWNvZ25pemVM
b25nTW91c2VQcmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmZha2VNb3Vz
ZU1vdmVFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpo
b3ZlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAg
ICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6
Y29ubmVjdFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAg
ICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0Nv
bnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvRm9jdXND
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZTo6b3ZlcmZsb3dBdXRvU2Nyb2xsVGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9G
cmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6ZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cG9zdExheW91dFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmly
ZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1l
ckZpcmVkKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGln
aGxpZ2h0VGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxp
bmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yOjp1cGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjcm9sbGluZ1N0YXRl
VHJlZUNvbW1pdHRlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjOjpzY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yOjp1cGRhdGVTY3JvbGxBbmltYXRvcnNBbmRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsQW5pbWF0b3I6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdG9yOjpzdG9wU2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbEFuaW1hdG9yOjpob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVyRmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3JOb25lLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lcjo6VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01l
ZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb246OmNsaWVudERh
dGFCdWZmZXJpbmdUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNl
c3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvQmF0dGVyeVByb3ZpZGVyRWZsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlckVmbDo6dGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6YWR2
YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cmVsb2FkVGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaGFkb3dCbHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnRpbWVy
RmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjp0aWxlQnVmZmVyVXBkYXRl
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6YmFja2lu
Z1N0b3JlVXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2VsZWN0aW9uVGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpzZWVrVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6cHJ1bmVUaW1lckZp
cmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6dGlsZVJldmFsaWRhdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGls
ZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9M
ZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lDQUNG
TGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJT1N1
cmZhY2VQb29sOjpjb2xsZWN0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpmaWxsVGltZXJGaXJlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpz
ZWVrVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZVBvb2w6OnJlbGVh
c2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNU
aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphbmltYXRpb25TdGFydGVkVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZzo6Y2xlYXJDb250ZW50c1RpbWVyRmly
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEltYWdlQmFja2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxl
Q2FjaGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbEFuaW1hdG9yTWFjOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmluaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyRmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNj
cm9sbGVkVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6
dGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnBlcm1pc3Np
b25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6
Y29udHJvbGxlclRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRp
b25DbGllbnRNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2sv
VGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6dGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpmYWlsdXJlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpk
b3dubG9hZFRpbWVyQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9S
ZXNvdXJjZUhhbmRsZU1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OmZpbGVMb2FkVGltZXIpOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luUGFja2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpmcmVlTGli
cmFyeVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5oOgorICAg
ICAgICAqIHBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdp
blN0cmVhbTo6ZGVsYXlEZWxpdmVyeVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luU3RyZWFtLmg6CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpblZpZXc6OnBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQbHVnaW5WaWV3OjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlldy5oOgorICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRs
ZXJXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbjo6
bWVzc2FnZVRocm90dGxlVGltZXJGaXJlZCk6CisgICAgICAgICogcGx1Z2lucy93aW4vUGx1Z2lu
TWVzc2FnZVRocm90dGxlcldpbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXI6
OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFn
ZVF1YWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCdXR0b246OnN0eWxlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJ1dHRvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lckZp
cmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWFycXVlZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9uT3ZlcnNldENoYW5n
ZUV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF6eVJlcGFpbnRUaW1l
ckZpcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAqIHJl
cGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiByZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpjbG9zZURhdGFiYXNl
VGltZXJGaXJlZCk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaDoKKyAgICAg
ICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9y
YWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VB
cmVhU3luYy5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXIpOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHU3R5bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaERlZmVycmVkRXZlbnRzKToKKyAgICAgICAg
KiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNC0xMS0w
NCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRGVzY2VuZGFudCBl
bmRzIHVwIGluIHdyb25nIGZsb3cgdGhyZWFkIHdpdGggbmVzdGVkIGNvbHVtbnMgYW5kIHNwYW5z
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCmluZGV4IDc1ZTdlZDQwMjE2ZWUxM2YzNTFjOTg5OWE1OGNlYWJlMTk4
YjAxNjUuLjQ0YTQ1YTFiMzJkYmNhMTVkMjM0NjRjYjQ0ZWI1NzcyODcyMzg5ZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3Bl
Y2lmaWVycyBmcm9tIFRpbWVyLgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lmg6CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtLmg6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0
YVRpbWVyRmlyZWQpOgorCiAyMDE0LTExLTAzICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBmZWF0dXJlIGd1YXJkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCmluZGV4IGU0OGMwNjIxNDUzZGU2OTc2MDA5OWFhNTIyYmVhMzAyN2I1Yzdl
ODkuLmJmZTU3MTgwYWQzZDUwNGQ0OWJjMTE4YjcwNzlhNjVjODY3Njc2YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oOgorCiAyMDE0LTExLTA0
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBFbGltaW5hdGUgUmVz
b3VyY2VCdWZmZXIgYW5kIHVzZSBTaGFyZWRCdWZmZXIgZGlyZWN0bHkgaW5zdGVhZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDViNDJiZGU0N2MyNDU0YTg0Y2EyNzYxYTFkODM3NTY1Mjc0YzY2ZWUuLjE3NWJkMDc5
ODhmYTZkMTMxNGI0YmZmNDlhYTA4ZDMxNGJkNjYxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MCBAQAorMjAxNC0xMS0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAg
ICAgICBEZS10ZW1wbGF0aXplIFRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzg0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgdGVtcGxhdGUgc3BlY2lmaWVycyBmcm9tIFRpbWVyLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpidWZmZXJpbmdUaW1lckZpcmVk
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChUZXh0Q2hlY2tl
ckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChUZXh0Q2hl
Y2tlckNsaWVudEVmbDo6c3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojps
YXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpsYXllckZsdXNo
VGltZXJGaXJlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJvY2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXJGaXJl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Om5vblZpc2libGVQcm9jZXNzQ2xlYW51
cFRpbWVyRmlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE0
LTExLTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGZh
c3QvZG9tL3JlbW92ZS1ib2R5LWR1cmluZy1ib2R5LXJlcGxhY2VtZW50Mi5odG1sIGZhaWxzIG9u
IFdLMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IGY1Mzc2Y2YwNzBmOGM1NGJhMjhjZTNjN2ZmOTFj
YmZlMTkzMmQyMDQuLjA2MGQ3N2U1M2M0NzkwYWIxYTE3NDVhZGMyYTVhYTdkMmNkYTFmZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246
OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBVaW50OEFycmF5KiBp
bmkKICAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVk
aWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+
JikKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgQVNTRVJUKG1fcGVuZGluZ0tleVJlcXVlc3RzLnNpemUoKSk7CiAgICAgaWYgKCFtX3Nl
c3Npb24pCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0ZShV
aW50OEFycmF5KiBrZXksIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIG1fYWRkS2V5VGltZXIuc3Rh
cnRPbmVTaG90KDApOwogfQogCi12b2lkIE1lZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJl
ZChUaW1lcjxNZWRpYUtleVNlc3Npb24+JikKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjphZGRLZXlU
aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBBU1NFUlQobV9wZW5kaW5nS2V5cy5zaXplKCkpOwog
ICAgIGlmICghbV9zZXNzaW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggZjAyNjlkNDIzNDQ2MTg4NTMz
MjUyNGI2MGRmOTFlMzRhYjNhMDUxZC4uOWMzMTFhZDJmNjQxZDEwZDMwYTk1YTRhMzEyYTk3NDQz
Y2I4MGUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC04NCw4ICs4NCw4IEBAIHB1YmxpYzoKIAogcHJv
dGVjdGVkOgogICAgIE1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTWVk
aWFLZXlzKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwotICAgIHZvaWQga2V5UmVxdWVzdFRp
bWVyRmlyZWQoVGltZXI8TWVkaWFLZXlTZXNzaW9uPiYpOwotICAgIHZvaWQgYWRkS2V5VGltZXJG
aXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+Jik7CisgICAgdm9pZCBrZXlSZXF1ZXN0VGltZXJG
aXJlZChUaW1lciYpOworICAgIHZvaWQgYWRkS2V5VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Ly8gQ0RNU2Vzc2lvbkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBzZW5kTWVzc2FnZShVaW50OEFy
cmF5KiwgU3RyaW5nIGRlc3RpbmF0aW9uVVJMKTsKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhOwogICAgIH07CiAgICAg
RGVxdWU8UGVuZGluZ0tleVJlcXVlc3Q+IG1fcGVuZGluZ0tleVJlcXVlc3RzOwotICAgIFRpbWVy
PE1lZGlhS2V5U2Vzc2lvbj4gbV9rZXlSZXF1ZXN0VGltZXI7CisgICAgVGltZXIgbV9rZXlSZXF1
ZXN0VGltZXI7CiAKICAgICBEZXF1ZTxSZWZQdHI8VWludDhBcnJheT4+IG1fcGVuZGluZ0tleXM7
Ci0gICAgVGltZXI8TWVkaWFLZXlTZXNzaW9uPiBtX2FkZEtleVRpbWVyOworICAgIFRpbWVyIG1f
YWRkS2V5VGltZXI7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0
KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCA3ZDg0ODExODZjNzY0MDY1NzdlNWEyMDAx
ZmQ3ZDViM2U3YWQwMWRhLi44MWQ2MTM2ZTE0M2M1OTM3YjU0N2Q4YTIxMjIxN2M2M2FiYjVlNTU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgR2VvbG9jYXRpb246Okdlb05vdGlmaWVy
OjpzdG9wVGltZXIoKQogICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIEdlb2xvY2F0aW9u
OjpHZW9Ob3RpZmllcjo6dGltZXJGaXJlZChUaW1lcjxHZW9Ob3RpZmllcj4mKQordm9pZCBHZW9s
b2NhdGlvbjo6R2VvTm90aWZpZXI6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1fdGltZXIu
c3RvcCgpOwogCkBAIC0yOTcsNyArMjk3LDcgQEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkK
ICAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9j
YXRpb246OnJlc3VtZVRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb24+JikKK3ZvaWQgR2VvbG9j
YXRpb246OnJlc3VtZVRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1faXNTdXNwZW5kZWQgPSBm
YWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5oCmluZGV4IDY0NGRiZmIyNGFlZmRiMjk2NDAyODJhNmQ2MDFkMGQ2YjQ1OTZhNjAuLjU1
NjIzZDBlMTFkNzIwODBiMDMwNmQ5MGM3OThiNTFhZWRjMzk4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKQEAgLTEwMCw3ICsxMDAs
NyBAQCBwcml2YXRlOgogCiAgICAgICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKCk7CiAgICAg
ICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0gICAgICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxHZW9O
b3RpZmllcj4mKTsKKyAgICAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJik7CiAgICAgICAgIGJv
b2wgaGFzWmVyb1RpbWVvdXQoKSBjb25zdDsKIAogICAgIHByaXZhdGU6CkBAIC0xMTAsNyArMTEw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IG1fc3VjY2Vz
c0NhbGxiYWNrOwogICAgICAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBtX2Vycm9y
Q2FsbGJhY2s7CiAgICAgICAgIFJlZlB0cjxQb3NpdGlvbk9wdGlvbnM+IG1fb3B0aW9uczsKLSAg
ICAgICAgVGltZXI8R2VvTm90aWZpZXI+IG1fdGltZXI7CisgICAgICAgIFRpbWVyIG1fdGltZXI7
CiAgICAgICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yPiBtX2ZhdGFsRXJyb3I7CiAgICAgICAgIGJv
b2wgbV91c2VDYWNoZWRQb3NpdGlvbjsKICAgICB9OwpAQCAtMTg2LDggKzE4Niw4IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2hhc0NoYW5nZWRQb3NpdGlvbjsKICAgICBSZWZQdHI8UG9zaXRpb25F
cnJvcj4gbV9lcnJvcldhaXRpbmdGb3JSZXN1bWU7CiAKLSAgICB2b2lkIHJlc3VtZVRpbWVyRmly
ZWQoVGltZXI8R2VvbG9jYXRpb24+Jik7Ci0gICAgVGltZXI8R2VvbG9jYXRpb24+IG1fcmVzdW1l
VGltZXI7CisgICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyJik7CisgICAgVGltZXIgbV9y
ZXN1bWVUaW1lcjsKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICAgICBHZW9Ob3RpZmllclNl
dCBtX3JlcXVlc3RzQXdhaXRpbmdDYWNoZWRQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCmlu
ZGV4IDM3OTg4NmNiZTBjMTFlZWRkYjg4NzllN2Y3OGIzMzhhOWY0NTZmYTAuLmE4NjllMTMwOGVi
NDQzNTczYjMyZTAwMTdiZWQ0YjdlOTM0ZTIzN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kLmNwcApAQCAt
MjcwLDcgKzI3MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kOjpjb21taXQoKQogICAg
IH0pOwogfQogCi12b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZDo6dGFza1RpbWVyRmlyZWQoVGlt
ZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kPiYpCit2b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZDo6
dGFza1RpbWVyRmlyZWQoVGltZXImKQogewogICAgIExPRyhTdG9yYWdlQVBJLCAiSURCVHJhbnNh
Y3Rpb25CYWNrZW5kOjp0YXNrVGltZXJGaXJlZCIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCmluZGV4IGJi
MjAwZGRlMzJmZGQzM2JhNjJiODZkNzMwZjE5NGJhY2QyZWE2NTQuLmJhNWVhNGY4YTgxNjA0MzBk
ZTM2ZTgwYjAxYjM3OGZmNTJmMGI1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5oCkBAIC05Niw3ICs5Niw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1Rhc2tRdWV1ZUVtcHR5KCkgY29uc3Q7CiAgICAgYm9v
bCBoYXNQZW5kaW5nVGFza3MoKSBjb25zdDsKIAotICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGlt
ZXI8SURCVHJhbnNhY3Rpb25CYWNrZW5kPiYpOworICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGlt
ZXImKTsKICAgICB2b2lkIGNsb3NlT3BlbkN1cnNvcnMoKTsKIAogICAgIGNvbnN0IEhhc2hTZXQ8
aW50NjRfdD4gbV9vYmplY3RTdG9yZUlkczsKQEAgLTExMyw3ICsxMTMsNyBAQCBwcml2YXRlOgog
ICAgIERlcXVlPFJlZlB0cjxJREJTeW5jaHJvbm91c09wZXJhdGlvbj4+IG1fYWJvcnRUYXNrUXVl
dWU7CiAKICAgICAvLyBGSVhNRTogZGVsZXRlIHRoZSB0aW1lciBvbmNlIHdlIGhhdmUgdGhyZWFk
cyBpbnN0ZWFkLgotICAgIFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZD4gbV90YXNrVGltZXI7
CisgICAgVGltZXIgbV90YXNrVGltZXI7CiAgICAgaW50IG1fcGVuZGluZ1ByZWVtcHRpdmVFdmVu
dHM7CiAKICAgICBIYXNoU2V0PElEQkN1cnNvckJhY2tlbmQqPiBtX29wZW5DdXJzb3JzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
CmluZGV4IDY3OTIxZTNiMzJkZDE5M2I0YzM3MGE3ZjA3N2M5YmY2NTVjYjRjNjQuLjc2NTk1Nzdk
MzZkMzMxZDBkNmE2MTRmZjM0NWM3MGQ5ODg4YjhhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTQ0Nyw3ICs0NDcs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwodW5zaWduZWQgY2hh
ciogZGF0YSwgdW5zaWduZWQgc2l6ZSwgRXhjZQogICAgIHJlcG9ydEV4dHJhTWVtb3J5Q29zdCgp
OwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxT
b3VyY2VCdWZmZXI+JikKK3ZvaWQgU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAoaXNSZW1vdmVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTY3
Miw3ICs2NzIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3Qg
TWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbgogICAgIExPRyhNZWRpYSwgIlNv
dXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoJXApIC0gYnVmZmVyZWQgPSAlcyIsIHRoaXMs
IHRvU3RyaW5nKG1fYnVmZmVyZWQtPnJhbmdlcygpKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9p
ZCBTb3VyY2VCdWZmZXI6OnJlbW92ZVRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopCit2
b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgQVNTRVJU
KG1fdXBkYXRpbmcpOwogICAgIEFTU0VSVChtX3BlbmRpbmdSZW1vdmVTdGFydC5pc1ZhbGlkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmgKaW5kZXggYWI0OGY5MzdlNjQ5NDFjNmNjMjkxZTUwN2U1ZmY5NTRiZGQ1MzIwMi4uZDM2ODAy
Y2VjOWYwNmE5NzJjOGQzOWQ2ODE1ZWU3YzMxYzE5MjE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC0xNTIsNyArMTUyLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudE5hbWUpOwogCiAgICAgdm9pZCBhcHBlbmRCdWZmZXJJbnRlcm5hbCh1bnNpZ25lZCBjaGFy
KiwgdW5zaWduZWQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFwcGVuZEJ1ZmZlclRpbWVy
RmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiYpOworICAgIHZvaWQgYXBwZW5kQnVmZmVyVGltZXJG
aXJlZChUaW1lciYpOwogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKQEAgLTE2Niw3ICsx
NjYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBtb25pdG9yQnVmZmVyaW5nUmF0ZSgpOwogCi0g
ICAgdm9pZCByZW1vdmVUaW1lckZpcmVkKFRpbWVyPFNvdXJjZUJ1ZmZlcj4qKTsKKyAgICB2b2lk
IHJlbW92ZVRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIHJlbW92ZUNvZGVkRnJhbWVzKGNv
bnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKTsKIAogICAgIHNpemVf
dCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdDsKQEAgLTE4Myw3ICsxODMsNyBAQCBwcml2YXRlOgog
ICAgIEdlbmVyaWNFdmVudFF1ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCiAgICAgVmVjdG9yPHVu
c2lnbmVkIGNoYXI+IG1fcGVuZGluZ0FwcGVuZERhdGE7Ci0gICAgVGltZXI8U291cmNlQnVmZmVy
PiBtX2FwcGVuZEJ1ZmZlclRpbWVyOworICAgIFRpbWVyIG1fYXBwZW5kQnVmZmVyVGltZXI7CiAK
ICAgICBSZWZQdHI8VmlkZW9UcmFja0xpc3Q+IG1fdmlkZW9UcmFja3M7CiAgICAgUmVmUHRyPEF1
ZGlvVHJhY2tMaXN0PiBtX2F1ZGlvVHJhY2tzOwpAQCAtMjEwLDcgKzIxMCw3IEBAIHByaXZhdGU6
CiAKICAgICBNZWRpYVRpbWUgbV9wZW5kaW5nUmVtb3ZlU3RhcnQ7CiAgICAgTWVkaWFUaW1lIG1f
cGVuZGluZ1JlbW92ZUVuZDsKLSAgICBUaW1lcjxTb3VyY2VCdWZmZXI+IG1fcmVtb3ZlVGltZXI7
CisgICAgVGltZXIgbV9yZW1vdmVUaW1lcjsKIAogICAgIGJvb2wgbV91cGRhdGluZzsKICAgICBi
b29sIG1fcmVjZWl2ZWRGaXJzdEluaXRpYWxpemF0aW9uU2VnbWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNTU5ODk1
ZjYwNzliZWRhZjBjNGY1YTBjYTRkMjM5ZjJhNTA2ZWVhNi4uNWFjNTE3NmVkZWNmYjc1ODg5MzJi
MDgxYWY1OTIwMzFjYWIxNDE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTM2MSw3ICszNjEsNyBAQCB2b2lkIE1lZGlh
U3RyZWFtOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
TWVkaWFTdHJlYW06OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYVN0cmVhbT4q
KQordm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gZXZlbnRzOwogICAgIGV2ZW50cy5zd2FwKG1fc2No
ZWR1bGVkRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0uaAppbmRleCAyNjgxZDI2NDNjYzVlMDVlOTBjNDRhN2RhOGRjOGExYzYzYmEy
MTRiLi44MDZmZGNjYTVjODVjZmY3ZmE3NzlkOTFkNTFlMGZiZmJjZDZjZjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCkBAIC0xMjAs
NyArMTIwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhdmVUcmFja1dpdGhTb3VyY2UoUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVNvdXJjZT4pOwogCiAgICAgdm9pZCBzY2hlZHVsZURpc3BhdGNoRXZl
bnQoUGFzc1JlZlB0cjxFdmVudD4pOwotICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVk
KFRpbWVyPE1lZGlhU3RyZWFtPiopOworICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVk
KFRpbWVyKik7CiAKICAgICB2b2lkIGNsb25lTWVkaWFTdHJlYW1UcmFja1ZlY3RvcihWZWN0b3I8
UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+PiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8TWVkaWFTdHJl
YW1UcmFjaz4+Jik7CiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxS
ZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4+IG1fYXVkaW9UcmFja3M7CiAgICAgVmVjdG9yPFJlZlB0
cjxNZWRpYVN0cmVhbVRyYWNrPj4gbV92aWRlb1RyYWNrczsKIAotICAgIFRpbWVyPE1lZGlhU3Ry
ZWFtPiBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVudFRp
bWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3NjaGVkdWxlZEV2ZW50czsKIAogICAg
IFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKaW5kZXggZTVhZGNkNjY3Mzky
MTM5YjY0MzEzMjNhNzc2OGU3YzYxMjg3ZTQ4Zi4uZTI0MmM0MGQyNWM2ZWYwOGVjMjhmNDcxN2Vi
OTNjMmYwYTQzOWRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBSVENEVE1G
U2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
UlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ0RUTUZTZW5k
ZXI+KikKK3ZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVy
KikKIHsKICAgICBpZiAobV9zdG9wcGVkKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCmluZGV4IDBlNmI0
OWQzMjExMDUwZGNkMzBhMDM1NWNhZGQyZjAxZDFmZTMyZWMuLmJlZDJhNjIxMjk1ZTRjYTQ2OTFl
ZDk0YzQxNGY3OTk0M2VkOWM4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAg
ICAgUlRDRFRNRlNlbmRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrPiwgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJIYW5kbGVyPik7CiAK
ICAgICB2b2lkIHNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7Ci0gICAg
dm9pZCBzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoVGltZXI8UlRDRFRNRlNlbmRlcj4qKTsKKyAg
ICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZChUaW1lciopOwogCiAgICAgLy8gRXZlbnRU
YXJnZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IHJlZigp
OyB9CkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fc3RvcHBlZDsKIAot
ICAgIFRpbWVyPFJUQ0RUTUZTZW5kZXI+IG1fc2NoZWR1bGVkRXZlbnRUaW1lcjsKKyAgICBUaW1l
ciBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fc2No
ZWR1bGVkRXZlbnRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCBkZTc4NDc0MWM5MmFlODZkY2ExZDJj
ZTNkNzdjMTkwMmJiNWJjMjk2Li40MjMzZmQ0OWNhZjY1ODE4MWJhZGFmNzg1NjYxMjcxODdhMzlj
MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Rh
dGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RhdGFDaGFubmVsLmNwcApAQCAtMzEyLDcgKzMxMiw3IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWw6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICAgICAg
bV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBSVENEYXRh
Q2hhbm5lbDo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ0RhdGFDaGFubmVsPiop
Cit2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoVGltZXIqKQog
ewogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaAppbmRleCA1NGEyMWQ0
NDFkZTk5ODJiMWMzZjQ0Yjk2YTlkY2M3ODEwMGJhZTNjLi42ZjgwMzhlMjhiNjQ4ZTE3MjljZGMw
M2ZmZDU0OWFmMjQ0YzBkNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAg
ICAgUlRDRGF0YUNoYW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6dW5pcXVlX3B0
cjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+KTsKIAogICAgIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEV2
ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKLSAgICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJGaXJl
ZChUaW1lcjxSVENEYXRhQ2hhbm5lbD4qKTsKKyAgICB2b2lkIHNjaGVkdWxlZEV2ZW50VGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVm
RXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IHJlZigpOyB9CkBAIC0xMTQsNyArMTE0LDcgQEAgcHJp
dmF0ZToKICAgICB9OwogICAgIEJpbmFyeVR5cGUgbV9iaW5hcnlUeXBlOwogCi0gICAgVGltZXI8
UlRDRGF0YUNoYW5uZWw+IG1fc2NoZWR1bGVkRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3NjaGVk
dWxlZEV2ZW50VGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fc2NoZWR1bGVkRXZl
bnRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAppbmRleCAzNTE5YzNkMmRkMTNkNjM4NDk5NjZhNDMz
M2ViZTZhN2M5NmVjZDEyLi4yNDdiNjJmM2FmOTc2OTk1ZjU0ZjBkNDRiMWY4Nzk2Mzc1ODUwMGZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmNwcApAQCAtNzI0LDcgKzcyNCw3IEBAIHZvaWQgUlRDUGVlckNvbm5l
Y3Rpb246OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAg
ICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
VENQZWVyQ29ubmVjdGlvbjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJUQ1BlZXJD
b25uZWN0aW9uPiopCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzY2hlZHVsZWRFdmVudFRpbWVy
RmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaAppbmRleCBiYThlN2FlNzUyNDAzZGY3MjZkZWJlYTI4YmE3NWFhYzQxY2ZiMDZhLi5h
YWJmY2RjMmMyMTgwMjMwYTFhZTZlZTJmYWVjNTFkMDY3ZDYyN2QyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBA
IC0xMzksNyArMTM5LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ0Nv
bmZpZ3VyYXRpb24+IHBhcnNlQ29uZmlndXJhdGlvbihjb25zdCBEaWN0aW9uYXJ5JiBjb25maWd1
cmF0aW9uLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UGFzc1JlZlB0cjxFdmVudD4pOwotICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKFRp
bWVyPFJUQ1BlZXJDb25uZWN0aW9uPiopOworICAgIHZvaWQgc2NoZWR1bGVkRXZlbnRUaW1lckZp
cmVkKFRpbWVyKik7CiAgICAgYm9vbCBoYXNMb2NhbFN0cmVhbVdpdGhUcmFja0lkKGNvbnN0IFN0
cmluZyYgdHJhY2tJZCk7CiAKICAgICAvLyBFdmVudFRhcmdldCBpbXBsZW1lbnRhdGlvbi4KQEAg
LTE2NCw3ICsxNjQsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlcj4gbV9wZWVySGFuZGxlcjsKIAotICAgIFRpbWVyPFJUQ1BlZXJDb25u
ZWN0aW9uPiBtX3NjaGVkdWxlZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVu
dFRpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3NjaGVkdWxlZEV2ZW50czsKIAog
ICAgIFJlZlB0cjxSVENDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3VyYXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmlu
ZGV4IDM2YWU2MWZlNDdkZGViYTE0MjY0MjQ1MTNmY2VkM2Q5NWM2NjJlYzYuLjRlODM4MzAwNjcy
MDIyYTM2OTFmMDQ0NGZiNGI1ZjIxZjEyZDgxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC04NCw3ICs4NCw3
IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRl
eHQpCiAgICAgLCBtX3RpdGxlKHRpdGxlKQogICAgICwgbV9zdGF0ZShJZGxlKQotICAgICwgbV90
YXNrVGltZXIoc3RkOjptYWtlX3VuaXF1ZTxUaW1lcjxOb3RpZmljYXRpb24+Pih0aGlzLCAmTm90
aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCkpCisgICAgLCBtX3Rhc2tUaW1lcihzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPih0aGlzLCAmTm90aWZpY2F0aW9uOjp0YXNrVGltZXJGaXJlZCkpCiB7CiAg
ICAgbV9ub3RpZmljYXRpb25DZW50ZXIgPSBET01XaW5kb3dOb3RpZmljYXRpb25zOjp3ZWJraXRO
b3RpZmljYXRpb25zKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5kb21XaW5kb3coKSk7CiAg
ICAgCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBOb3RpZmljYXRpb246OmRpc3BhdGNoRXJyb3JF
dmVudCgpCiB9CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLXZvaWQgTm90aWZpY2F0aW9u
Ojp0YXNrVGltZXJGaXJlZChUaW1lcjxOb3RpZmljYXRpb24+JiB0aW1lcikKK3ZvaWQgTm90aWZp
Y2F0aW9uOjp0YXNrVGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUKHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNEb2N1bWVudCgpKTsKICAgICBBU1NFUlRfVU5VU0VEKHRp
bWVyLCAmdGltZXIgPT0gbV90YXNrVGltZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGE5ODAxMDA4Mzkz
YzU3MjE5MzBjZGVkMWQ5M2MzZDU4NmM1NGUyM2YuLjM4YmFhNjg4MjExMTJlNmM1Y2JkMjg2NmVj
ZTY3NGU0YmM4NmY1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZmluaXNoTG9hZGluZ0ljb24oKTsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQot
ICAgIHZvaWQgdGFza1RpbWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uPiYpOworICAgIHZvaWQg
dGFza1RpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgogCiAgICAgLy8gVGV4dCBub3RpZmljYXRp
b25zLgpAQCAtMTc5LDcgKzE3OSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vdGlmaWNhdGlv
bkNlbnRlcj4gbV9ub3RpZmljYXRpb25DZW50ZXI7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8Tm90aWZpY2F0aW9uPj4gbV90YXNrVGltZXI7
CisgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX3Rhc2tUaW1lcjsKICNlbmRpZgogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCAyYTgzNTUzZTg5ZWRjMmEzNGM2MTY2MGVlYjIxODVi
ZTczYjczZjFiLi5iYWZiNWNhMzU5N2QzYTUwYTNiYzAyNzMxNzBhOWZlMjVkMzc4ZDNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQgTm90aWZpY2F0aW9u
Q2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2FsbGJhY2s6OnN0YXJ0VGltZXIoKQogICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90
aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrPiYpCit2b2lkIE5vdGlmaWNhdGlvbkNl
bnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBpZiAobV9jYWxsYmFjaykKICAgICAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuaAppbmRleCA3MGFjYzRmZjQ4N2Y5MTQ1MDVlMTQ5MjgxNmQwZTg1YmY4
Yzg5OTdlLi5lZGFiYjYyYWRmMzA1NDAyZDYyNmFjZWFjZjMyOTE4ZTY1YzEyYWY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCkBAIC04MCwxMiArODAsMTIgQEAgcHJpdmF0ZToKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4gY3Jl
YXRlQW5kU3RhcnRUaW1lcihOb3RpZmljYXRpb25DZW50ZXIqLCBQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4pOwogICAgICAgICB2b2lkIHN0YXJ0VGltZXIoKTsKLSAgICAgICAgdm9pZCB0aW1lckZp
cmVkKFRpbWVyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4mKTsKKyAgICAgICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyJik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgTm90aWZpY2F0aW9uUmVx
dWVzdENhbGxiYWNrKE5vdGlmaWNhdGlvbkNlbnRlciosIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
Pik7CiAKICAgICAgICAgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmljYXRpb25D
ZW50ZXI7Ci0gICAgICAgIFRpbWVyPE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFjaz4gbV90aW1l
cjsKKyAgICAgICAgVGltZXIgbV90aW1lcjsKICAgICAgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4g
bV9jYWxsYmFjazsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vVmlicmF0aW9uLmNwcAppbmRleCBlMDljYjMwYmJlZmMyZGU2OGY0ZjZjZDZkZjdhYWU5Yzk0
NGMzMGY5Li41MGI0NTJhMWE2YjIyYWQ4NzIwOTViNzg5OWYyYTM0YzEyMzAxNGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTkxLDcg
KzkxLDcgQEAgdm9pZCBWaWJyYXRpb246OmNhbmNlbFZpYnJhdGlvbigpCiAgICAgfQogfQogCi12
b2lkIFZpYnJhdGlvbjo6dGltZXJGaXJlZChUaW1lcjxWaWJyYXRpb24+KiB0aW1lcikKK3ZvaWQg
VmlicmF0aW9uOjp0aW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vVmlicmF0aW9uLmgKaW5kZXggY2M1MjlhMDdhZmZiNDUxYjMwMDA2YTFkMWVlMzY2
ZDAyMjA4NWQyNS4uMjA2NzNhZjgxYzBlY2U3OWM1Mzg0ZTVlNzY2NzM2NTA4M2NjNzk5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmgKQEAgLTQwLDcg
KzQwLDcgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBXaGVuIGEgdmlzaWJpbGl0eWNoYW5nZSBl
dmVudCBpcyBkaXNwYXRjaGVkIHdoaWxlIHZpYnJhdGluZywgdGhlIHZpYnJhdGlvbiBzaG91bGQg
YmUgY2FuY2VsZWQuCiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKIAotICAgIHZvaWQgdGlt
ZXJGaXJlZChUaW1lcjxWaWJyYXRpb24+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyKik7
CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKICAgICBzdGF0aWMg
VmlicmF0aW9uKiBmcm9tKFBhZ2UqIHBhZ2UpIHsgcmV0dXJuIHN0YXRpY19jYXN0PFZpYnJhdGlv
bio+KFN1cHBsZW1lbnQ8UGFnZT46OmZyb20ocGFnZSwgc3VwcGxlbWVudE5hbWUoKSkpOyB9CkBA
IC01MSw3ICs1MSw3IEBAIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBTdGF0ZSB7IElkbGUsIFZp
YnJhdGluZywgV2FpdGluZyB9OwogCiAgICAgVmlicmF0aW9uQ2xpZW50KiBtX3ZpYnJhdGlvbkNs
aWVudDsKLSAgICBUaW1lcjxWaWJyYXRpb24+IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsK
ICAgICBTdGF0ZSBtX3N0YXRlOwogICAgIFZpYnJhdGlvblBhdHRlcm4gbV9wYXR0ZXJuOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAppbmRleCA5MzJjODQwZTQ2NWQ4OTdlZWRlZmE3MTE4NzAyNGQ0NTQ4YTNhNGE5
Li43ZmQ2MjFlMmIzNTg4YjgxOTc0OWUyNzk5M2EwMDQ5ZTI5ZjM0MWY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
CkBAIC00NDksNyArNDQ5LDcgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzQnVmZmVy
KCkKICAgICByZXR1cm4gcHJvY2Vzc0ZyYW1lKCk7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6cmVzdW1lVGltZXJGaXJlZChUaW1lcjxXZWJTb2NrZXRDaGFubmVsPiogdGltZXIpCit2b2lk
IFdlYlNvY2tldENoYW5uZWw6OnJlc3VtZVRpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAg
IEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3Jlc3VtZVRpbWVyKTsKIApAQCAtNDkx
LDcgKzQ5MSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6c3RhcnRDbG9zaW5nSGFuZHNoYWtl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICAgICAgbV9jbGllbnQtPmRpZFN0
YXJ0Q2xvc2luZ0hhbmRzaGFrZSgpOwogfQogCi12b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Np
bmdUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+KiB0aW1lcikKK3ZvaWQgV2ViU29j
a2V0Q2hhbm5lbDo6Y2xvc2luZ1RpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAgIExPRyhO
ZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBjbG9zaW5nVGltZXJGaXJlZCgpIiwgdGhpcyk7
CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJm1fY2xvc2luZ1RpbWVyID09IHRpbWVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oCmluZGV4IDcxNTk0NmNhZTYyYzI2NGIwNWEyYmI0MTA4YjQ4YWI3ZjgyNzYwM2IuLmU0ZmFj
MmI5YmM0ZDc1MzFkZjYwNGU5NmRmNjM2NWExYjZkODEwN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtMTI3LDkg
KzEyNyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBhcHBlbmRUb0J1ZmZlcihjb25zdCBjaGFyKiBk
YXRhLCBzaXplX3QgbGVuKTsKICAgICB2b2lkIHNraXBCdWZmZXIoc2l6ZV90IGxlbik7CiAgICAg
Ym9vbCBwcm9jZXNzQnVmZmVyKCk7Ci0gICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyPFdl
YlNvY2tldENoYW5uZWw+Kik7CisgICAgdm9pZCByZXN1bWVUaW1lckZpcmVkKFRpbWVyKik7CiAg
ICAgdm9pZCBzdGFydENsb3NpbmdIYW5kc2hha2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVh
c29uKTsKLSAgICB2b2lkIGNsb3NpbmdUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+
Kik7CisgICAgdm9pZCBjbG9zaW5nVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgYm9vbCBwcm9j
ZXNzRnJhbWUoKTsKIApAQCAtMTkwLDExICsxOTAsMTEgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
U29ja2V0U3RyZWFtSGFuZGxlPiBtX2hhbmRsZTsKICAgICBWZWN0b3I8Y2hhcj4gbV9idWZmZXI7
CiAKLSAgICBUaW1lcjxXZWJTb2NrZXRDaGFubmVsPiBtX3Jlc3VtZVRpbWVyOworICAgIFRpbWVy
IG1fcmVzdW1lVGltZXI7CiAgICAgYm9vbCBtX3N1c3BlbmRlZDsKICAgICBib29sIG1fY2xvc2lu
ZzsKICAgICBib29sIG1fcmVjZWl2ZWRDbG9zaW5nSGFuZHNoYWtlOwotICAgIFRpbWVyPFdlYlNv
Y2tldENoYW5uZWw+IG1fY2xvc2luZ1RpbWVyOworICAgIFRpbWVyIG1fY2xvc2luZ1RpbWVyOwog
ICAgIGJvb2wgbV9jbG9zZWQ7CiAgICAgYm9vbCBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGE7
CiAgICAgdW5zaWduZWQgbG9uZyBtX3VuaGFuZGxlZEJ1ZmZlcmVkQW1vdW50OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDI0NTJkNTkw
Nzc1YzE4Mjc5OGJjOWMxZWFiNDkzYWJiZjI3Njk5Zi4uZDhhZmIyNTdmYWI4Zjk5ODliNDE0ZjNh
OWE5MzQxNmVlOWQwNTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCkBAIC03MDAsNyArNzAwLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpj
aGlsZHJlbkNoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogICAgIG9iai0+Y2hpbGRy
ZW5DaGFuZ2VkKCk7CiB9CiAgICAgCi12b2lkIEFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBv
c3RUaW1lckZpcmVkKFRpbWVyPEFYT2JqZWN0Q2FjaGU+JikKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
bm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFJlZjxEb2N1bWVudD4g
cHJvdGVjdG9yRm9yQ2FjaGVPd25lcihtX2RvY3VtZW50KTsKICAgICBtX25vdGlmaWNhdGlvblBv
c3RUaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oCmluZGV4IDZmOGU2ODUyOTYxYzA2MTUyZmFiMDM4NmIwYzIzZTVmMTdmNDIzNmMuLmI0
YjVjMzdmNmExMmI1NWI2Y2RlNTY0ZmM5Y2JhZTZjZGIxMWY2ODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yNDIsOSArMjQyLDkgQEAgcHJp
dmF0ZToKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRzSW5Vc2U7CiAgICAgCi0gICAgVGlt
ZXI8QVhPYmplY3RDYWNoZT4gbV9ub3RpZmljYXRpb25Qb3N0VGltZXI7CisgICAgVGltZXIgbV9u
b3RpZmljYXRpb25Qb3N0VGltZXI7CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNz
aWJpbGl0eU9iamVjdD4sIEFYTm90aWZpY2F0aW9uPj4gbV9ub3RpZmljYXRpb25zVG9Qb3N0Owot
ICAgIHZvaWQgbm90aWZpY2F0aW9uUG9zdFRpbWVyRmlyZWQoVGltZXI8QVhPYmplY3RDYWNoZT4m
KTsKKyAgICB2b2lkIG5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9p
ZCBoYW5kbGVNZW51T3BlbmVkKE5vZGUqKTsKICAgICB2b2lkIGhhbmRsZUxpdmVSZWdpb25DcmVh
dGVkKE5vZGUqKTsKICAgICB2b2lkIGhhbmRsZU1lbnVJdGVtU2VsZWN0ZWQoTm9kZSopOwpAQCAt
MjcxLDcgKzI3MSw3IEBAIGJvb2wgaXNOb2RlQXJpYVZpc2libGUoTm9kZSopOwogI2lmICFIQVZF
KEFDQ0VTU0lCSUxJVFkpCiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENv
bXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCkgY29uc3QgeyByZXR1
cm4gRGVmYXVsdEJlaGF2aW9yOyB9CiBpbmxpbmUgdm9pZCBBWENvbXB1dGVkT2JqZWN0QXR0cmli
dXRlQ2FjaGU6OnNldElnbm9yZWQoQVhJRCwgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbikg
eyB9Ci1pbmxpbmUgQVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZShEb2N1bWVudCYgZG9jdW1l
bnQpIDogbV9kb2N1bWVudChkb2N1bWVudCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRoaXMs
IChUaW1lcjxBWE9iamVjdENhY2hlPjo6VGltZXJGaXJlZEZ1bmN0aW9uKSBudWxscHRyKSB7IH0K
K2lubGluZSBBWE9iamVjdENhY2hlOjpBWE9iamVjdENhY2hlKERvY3VtZW50JiBkb2N1bWVudCkg
OiBtX2RvY3VtZW50KGRvY3VtZW50KSwgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIodGhpcywgKFRp
bWVyOjpUaW1lckZpcmVkRnVuY3Rpb24pIG51bGxwdHIpIHsgfQogaW5saW5lIEFYT2JqZWN0Q2Fj
aGU6On5BWE9iamVjdENhY2hlKCkgeyB9CiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhP
YmplY3RDYWNoZTo6Zm9jdXNlZFVJRWxlbWVudEZvclBhZ2UoY29uc3QgUGFnZSopIHsgcmV0dXJu
IG51bGxwdHI7IH0KIGlubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpn
ZXQoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gbnVsbHB0cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggZWI4YmMwYzE5Nzg5YTM4ODE4NmQ3NTY1
Y2UxYjVhYjk3MmVlY2QzYS4uYzY5MTU2Y2M0M2IwNDBiYzQ3YmY3ZGE1MDIzNzc0NmNmZjljYWEz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03
Myw3ICs3Myw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdFNvb24oKQogfQog
CiAjaWYgIVVTRShDRikKLXZvaWQgR0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQoVGltZXI8R0ND
b250cm9sbGVyPiopCit2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBjb2xsZWN0KG51bGxwdHIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaAppbmRleCAxYzJkOTE0MWM5MGM2NDdhMDM3YjhjMGM0ZmRkOTAxZThlNDA2MTY1
Li5hMzcxNTEwYTRkMmRlYzAwNTkxODQwYzY5NWQ4NjNmNzM0Y2U2ZjU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtNTIsOCArNTIsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEdDQ29udHJvbGxlcigpOyAvLyBVc2UgZ2NDb250cm9sbGVy
KCkgaW5zdGVhZAogCiAjaWYgIVVTRShDRikKLSAgICAgICAgdm9pZCBnY1RpbWVyRmlyZWQoVGlt
ZXI8R0NDb250cm9sbGVyPiopOwotICAgICAgICBUaW1lcjxHQ0NvbnRyb2xsZXI+IG1fR0NUaW1l
cjsKKyAgICAgICAgdm9pZCBnY1RpbWVyRmlyZWQoVGltZXIqKTsKKyAgICAgICAgVGltZXIgbV9H
Q1RpbWVyOwogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3Vy
Y2UuaAppbmRleCA0ZTNkNDFlNjEzYTlkYzVhNDJkMTBkNGU0YWJmNDg1YjYyYjNiZTgwLi5lODBm
YzI5ZGI3MmU0MmU2ZWQ0ZDI0NDNiYmY5NTc0OGM5MjlkMDM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VTb3VyY2UuaApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
cHJpdmF0ZToKLSAgICB2b2lkIHN0YXJ0TG9hZGluZ1RpbWVyRmlyZWQoVGltZXI8Q1NTRm9udEZh
Y2VTb3VyY2U+Kik7CisgICAgdm9pZCBzdGFydExvYWRpbmdUaW1lckZpcmVkKFRpbWVyKik7CiAK
ICAgICBBdG9taWNTdHJpbmcgbV9zdHJpbmc7IC8vIFVSSSBmb3IgcmVtb3RlLCBidWlsdC1pbiBm
b250IG5hbWUgZm9yIGxvY2FsLgogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+
IG1fZm9udDsgLy8gRm9yIHJlbW90ZSBmb250cywgYSBwb2ludGVyIHRvIG91ciBjYWNoZWQgcmVz
b3VyY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDM5MjVhZWUy
NGViYTFjM2Y3NWNjNTAwZTA1NDAwMjRmNDZiYzFjYjAuLjExNTA4ODllODcyMmMzOTUzYmZkOWFk
N2FkMGFjYWIzNDY4NGQ5M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC01ODcsNyArNTg3LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQqIGZvbnQpCiAgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9u
ZVNob3QoMCk7CiB9CiAKLXZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KFRpbWVyPFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcj4mKQordm9pZCBDU1NGb250U2VsZWN0b3I6
OmJlZ2luTG9hZFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFZlY3RvcjxDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRGb250Pj4gZm9udHNUb0JlZ2luTG9hZGluZzsKICAgICBmb250c1RvQmVn
aW5Mb2FkaW5nLnN3YXAobV9mb250c1RvQmVnaW5Mb2FkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250U2VsZWN0b3IuaAppbmRleCBlMWU1YTA1ZTA1NDhjYzdhMWY1NjViNzFjNWIyMWI2ZGEwODk0
OGY3Li4xOGJmMTg5NmI4MDNhNWEwZWJhM2VhZjhjZjA5Y2YzMmQzNTcwMWI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2FsbGJhY2tzKCk7CiAKLSAgICB2b2lkIGJlZ2lu
TG9hZFRpbWVyRmlyZWQoVGltZXI8Q1NTRm9udFNlbGVjdG9yPiYpOworICAgIHZvaWQgYmVnaW5M
b2FkVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAg
SGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UmVmUHRyPENTU0ZvbnRGYWNl
Pj4+LCBDYXNlRm9sZGluZ0hhc2g+IG1fZm9udEZhY2VzOwpAQCAtOTUsNyArOTUsNyBAQCBwcml2
YXRlOgogICAgIEhhc2hTZXQ8Rm9udFNlbGVjdG9yQ2xpZW50Kj4gbV9jbGllbnRzOwogCiAgICAg
VmVjdG9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+PiBtX2ZvbnRzVG9CZWdpbkxv
YWRpbmc7Ci0gICAgVGltZXI8Q1NTRm9udFNlbGVjdG9yPiBtX2JlZ2luTG9hZGluZ1RpbWVyOwor
ICAgIFRpbWVyIG1fYmVnaW5Mb2FkaW5nVGltZXI7CiAKICAgICB1bnNpZ25lZCBtX3VuaXF1ZUlk
OwogICAgIHVuc2lnbmVkIG1fdmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cAppbmRleCBjMmFmNzFiZGYxMzI4MzM2ZGNjNzU1NGY3NDg1NDdmZWZhZDdjOWI1Li5mOWU5Mjc5
ODAxYjBmNGI5YWFhN2QxZTJiNjlmNGQ0NTc4MWM1Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgU3R5bGVSZXNvbHZlcjo6flN0eWxlUmVz
b2x2ZXIoKQogI2VuZGlmCiB9CiAKLXZvaWQgU3R5bGVSZXNvbHZlcjo6c3dlZXBNYXRjaGVkUHJv
cGVydGllc0NhY2hlKFRpbWVyPFN0eWxlUmVzb2x2ZXI+KikKK3ZvaWQgU3R5bGVSZXNvbHZlcjo6
c3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKFRpbWVyKikKIHsKICAgICAvLyBMb29rIGZvciBj
YWNoZSBlbnRyaWVzIGNvbnRhaW5pbmcgYSBzdHlsZSBkZWNsYXJhdGlvbiB3aXRoIGEgc2luZ2xl
IHJlZiBhbmQgcmVtb3ZlIHRoZW0uCiAgICAgLy8gVGhpcyBtYXkgaGFwcGVuIHdoZW4gYW4gZWxl
bWVudCBhdHRyaWJ1dGUgbXV0YXRpb24gY2F1c2VzIGl0IHRvIGdlbmVyYXRlIGEgbmV3IGlubGlu
ZVN0eWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDBlYTEwMjNkMmU5NTI3
Y2UwZGY5NDNlYTY0MTQ2NWExMTI1ZTcyNDcuLmUzYmYzNjMwMzc5MGUxNjY0MzgzMTVmN2JjMGNm
YzNlNmM3OWEzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtNDk4LDcgKzQ5
OCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBFdmVyeSBOIGFkZGl0aW9ucyB0byB0aGUgbWF0Y2hl
ZCBkZWNsYXJhdGlvbiBjYWNoZSB0cmlnZ2VyIGEgc3dlZXAgd2hlcmUgZW50cmllcyBob2xkaW5n
CiAgICAgLy8gdGhlIGxhc3QgcmVmZXJlbmNlIHRvIGEgc3R5bGUgZGVjbGFyYXRpb24gYXJlIGdh
cmJhZ2UgY29sbGVjdGVkLgotICAgIHZvaWQgc3dlZXBNYXRjaGVkUHJvcGVydGllc0NhY2hlKFRp
bWVyPFN0eWxlUmVzb2x2ZXI+Kik7CisgICAgdm9pZCBzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2Fj
aGUoVGltZXIqKTsKIAogICAgIGJvb2wgY2xhc3NOYW1lc0FmZmVjdGVkQnlSdWxlcyhjb25zdCBT
cGFjZVNwbGl0U3RyaW5nJikgY29uc3Q7CiAgICAgYm9vbCBzaGFyaW5nQ2FuZGlkYXRlSGFzSWRl
bnRpY2FsU3R5bGVBZmZlY3RpbmdBdHRyaWJ1dGVzKFN0eWxlZEVsZW1lbnQqKSBjb25zdDsKQEAg
LTUxMyw3ICs1MTMsNyBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwg
TWF0Y2hlZFByb3BlcnRpZXNDYWNoZUl0ZW0+IE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGU7CiAgICAg
TWF0Y2hlZFByb3BlcnRpZXNDYWNoZSBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGU7CiAKLSAgICBU
aW1lcjxTdHlsZVJlc29sdmVyPiBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyOwor
ICAgIFRpbWVyIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXI7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8TWVkaWFRdWVyeUV2YWx1YXRvcj4gbV9tZWRpdW07CiAgICAgUmVmUHRyPFJl
bmRlclN0eWxlPiBtX3Jvb3REZWZhdWx0U3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCBmZmEwMjY2NDExMGY0MmI2YTVmZTUwMjVmN2Y2NDhkYTYwOGE5YzU4Li5kNzVmNzU1NTRhMzUy
NGQ3MDc5ODkwMjJlZjU1ZTU4Mzk2NjY4YTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTEyNjUsNyArMTI2NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KGJvb2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5mb3Jj
ZVBhZ2VUcmFuc2l0aW9uSWZOZWVkZWQoKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6dmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKQordm9pZCBEb2N1bWVu
dDo6dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgQVNT
RVJUKCFtX3Zpc3VhbFVwZGF0ZXNBbGxvd2VkKTsKIApAQCAtMTc0Niw3ICsxNzQ2LDcgQEAgYm9v
bCBEb2N1bWVudDo6aGFzUGVuZGluZ0ZvcmNlZFN0eWxlUmVjYWxjKCkgY29uc3QKICAgICByZXR1
cm4gbV9zdHlsZVJlY2FsY1RpbWVyLmlzQWN0aXZlKCkgJiYgbV9wZW5kaW5nU3R5bGVSZWNhbGNT
aG91bGRGb3JjZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6c3R5bGVSZWNhbGNUaW1lckZpcmVkKFRp
bWVyPERvY3VtZW50PiYpCit2b2lkIERvY3VtZW50OjpzdHlsZVJlY2FsY1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKIH0KQEAgLTMyNDUsNyArMzI0NSw3
IEBAIHZvaWQgRG9jdW1lbnQ6OmV2YWx1YXRlTWVkaWFRdWVyeUxpc3QoKQogICAgICAgICBtX21l
ZGlhUXVlcnlNYXRjaGVyLT5zdHlsZVJlc29sdmVyQ2hhbmdlZCgpOwogfQogCi12b2lkIERvY3Vt
ZW50OjpvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4m
KQordm9pZCBEb2N1bWVudDo6b3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIHN0eWxlUmVzb2x2ZXJDaGFuZ2VkKFJlY2FsY1N0eWxlSWZOZWVkZWQpOwog
fQpAQCAtNDYzMCw3ICs0NjMwLDcgQEAgdm9pZCBEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkK
ICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhclByZWxvYWRzKCk7CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OnNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+
JikKK3ZvaWQgRG9jdW1lbnQ6OnNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXIm
KQogewogICAgIG1fc2hhcmVkT2JqZWN0UG9vbCA9IG51bGxwdHI7CiB9CkBAIC00ODY5LDcgKzQ4
NjksNyBAQCB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQogICAg
IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RvcCgpOwogfQogCi12b2lkIERvY3VtZW50
Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCit2b2lk
IERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBFbGVtZW50KiBlbGVtZW50ID0gZm9jdXNlZEVsZW1lbnQoKTsKICAgICBpZiAoIWVsZW1lbnQp
CkBAIC01MDI0LDcgKzUwMjQsNyBAQCB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhUYXNrIHRhc2sp
CiAgICAgfSk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGlt
ZXI8RG9jdW1lbnQ+JikKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIFZlY3RvcjxUYXNrPiBwZW5kaW5nVGFza3MgPSBXVEY6Om1vdmUobV9wZW5k
aW5nVGFza3MpOwogICAgIGZvciAoYXV0byYgdGFzayA6IHBlbmRpbmdUYXNrcykKQEAgLTU1NTks
NyArNTU1OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5SZW5kZXJlckRlc3Ryb3llZCgp
CiAgICAgbV9mdWxsU2NyZWVuUmVuZGVyZXIgPSBudWxscHRyOwogfQogCi12b2lkIERvY3VtZW50
OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCit2b2lk
IERvY3VtZW50OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICAvLyBTaW5jZSB3ZSBkaXNwYXRjaCBldmVudHMgaW4gdGhpcyBmdW5jdGlvbiwgaXQncyBwb3Nz
aWJsZSB0aGF0IHRoZQogICAgIC8vIGRvY3VtZW50IHdpbGwgYmUgZGV0YWNoZWQgYW5kIEdDJ2Qu
IFdlIHByb3RlY3QgaXQgaGVyZSB0byBtYWtlIHN1cmUgd2UKQEAgLTU2OTcsNyArNTY5Nyw3IEBA
IHZvaWQgRG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKQogICAgICAgICBt
X2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIERvY3VtZW50
Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+JikKK3ZvaWQgRG9jdW1l
bnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKGZyYW1lKCkp
CiAgICAgICAgIGZyYW1lKCktPmxvYWRlcigpLmNoZWNrQ29tcGxldGVkKCk7CkBAIC02MjEzLDcg
KzYyMTMsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mIHRpbWVyKQordm9pZCBEb2N1bWVudDo6ZGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJU
X1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVy
KTsKIApAQCAtNjI0MSw3ICs2MjQxLDcgQEAgdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNv
b2tpZUNhY2hlKCkKICAgICBtX2NhY2hlZERPTUNvb2tpZXMgPSBTdHJpbmcoKTsKIH0KIAotdm9p
ZCBEb2N1bWVudDo6ZG9tQ29va2llQ2FjaGVFeHBpcnlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50
PiYpCit2b2lkIERvY3VtZW50Ojpkb21Db29raWVDYWNoZUV4cGlyeVRpbWVyRmlyZWQoVGltZXIm
KQogewogICAgIGludmFsaWRhdGVET01Db29raWVDYWNoZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCBjMDBlNTQ0MDA3ODJlMGM3MWFkZGJkODMzMDNiZWU1MDFmYmUwNmJhLi43MTlkNmNj
YzY1ZWViM2JhODBiODc1YTVjZjE0OTVkMDU4YzU0MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtNzczLDggKzc3Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuc2NoZWR1bGVTdHlsZVJlY2Fs
YygpOwogICAgIGJvb2wgaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAgYm9vbCBo
YXNQZW5kaW5nRm9yY2VkU3R5bGVSZWNhbGMoKSBjb25zdDsKLSAgICB2b2lkIHN0eWxlUmVjYWxj
VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKLSAgICB2b2lkIG9wdGltaXplZFN0eWxlU2hl
ZXRVcGRhdGVUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQgc3R5bGVSZWNh
bGNUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRl
VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgdm9pZCByZWdpc3Rlck5vZGVMaXN0Rm9ySW52YWxp
ZGF0aW9uKExpdmVOb2RlTGlzdCYpOwogICAgIHZvaWQgdW5yZWdpc3Rlck5vZGVMaXN0Rm9ySW52
YWxpZGF0aW9uKExpdmVOb2RlTGlzdCYpOwpAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgcHVibGljOgog
ICAgIFJlbmRlckZ1bGxTY3JlZW4qIGZ1bGxTY3JlZW5SZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZnVsbFNjcmVlblJlbmRlcmVyOyB9CiAgICAgdm9pZCBmdWxsU2NyZWVuUmVuZGVyZXJEZXN0
cm95ZWQoKTsKICAgICAKLSAgICB2b2lkIGZ1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyRmlyZWQo
VGltZXI8RG9jdW1lbnQ+Jik7CisgICAgdm9pZCBmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZp
cmVkKFRpbWVyJik7CiAgICAgYm9vbCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudChFbGVt
ZW50KikgY29uc3Q7CiAgICAgdm9pZCBmdWxsU2NyZWVuRWxlbWVudFJlbW92ZWQoKTsKICAgICB2
b2lkIHJlbW92ZUZ1bGxTY3JlZW5FbGVtZW50T2ZTdWJ0cmVlKE5vZGUqLCBib29sIGFtb25nQ2hp
bGRyZW5Pbmx5ID0gZmFsc2UpOwpAQCAtMTMzNywxNiArMTMzNywxNiBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgZG91YmxlIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZSBm
aW5hbDsKIAogICAgIHZvaWQgdXBkYXRlVGl0bGUoY29uc3QgU3RyaW5nV2l0aERpcmVjdGlvbiYp
OwotICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVu
dD4mKTsKKyAgICB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXImKTsK
ICAgICB2b2lkIHVwZGF0ZUJhc2VVUkwoKTsKIAogICAgIHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAo
VHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRlU3R5bGVSZXNvbHZlcigpOwogCi0g
ICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CisgICAg
dm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXImKTsKIAotICAgIHZvaWQgcGVuZGlu
Z1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKKyAgICB2b2lkIHBlbmRpbmdUYXNr
c1RpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPgogICAgIHZvaWQgZGlzcGxheUJ1ZmZlck1vZGlmaWVkQnlFbmNvZGluZ0ludGVybmFsKENo
YXJhY3RlclR5cGUqLCB1bnNpZ25lZCkgY29uc3Q7CkBAIC0xMzY3LDE4ICsxMzY3LDE4IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKFJlYWR5U3RhdGUpOwog
ICAgIHZvaWQgc2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCk7Ci0gICAgdm9pZCB2aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQg
dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgdm9pZCBh
ZGRMaXN0ZW5lclR5cGUoTGlzdGVuZXJUeXBlIGxpc3RlbmVyVHlwZSkgeyBtX2xpc3RlbmVyVHlw
ZXMgfD0gbGlzdGVuZXJUeXBlOyB9CiAKLSAgICB2b2lkIGRpZEFzc29jaWF0ZUZvcm1Db250cm9s
c1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CisgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3Jt
Q29udHJvbHNUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICAvLyBET00gQ29va2llcyBjYWNoaW5n
LgogICAgIGNvbnN0IFN0cmluZyYgY2FjaGVkRE9NQ29va2llcygpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FjaGVkRE9NQ29va2llczsgfQogICAgIHZvaWQgc2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBT
dHJpbmcmKTsKICAgICBib29sIGlzRE9NQ29va2llQ2FjaGVWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5pc0FjdGl2ZSgpOyB9CiAgICAgdm9pZCBpbnZhbGlk
YXRlRE9NQ29va2llQ2FjaGUoKTsKLSAgICB2b2lkIGRvbUNvb2tpZUNhY2hlRXhwaXJ5VGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4mKTsKKyAgICB2b2lkIGRvbUNvb2tpZUNhY2hlRXhwaXJ5VGlt
ZXJGaXJlZChUaW1lciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRMb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpIG92ZXJyaWRlIGZpbmFsOwogCiAgICAgdW5z
aWduZWQgbV9yZWZlcmVuY2luZ05vZGVDb3VudDsKQEAgLTE0NjgsOCArMTQ2OCw4IEBAIHByaXZh
dGU6CiAgICAgUmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7CiAgICAgYm9vbCBtX2JQYXJzaW5nOwog
Ci0gICAgVGltZXI8RG9jdW1lbnQ+IG1fb3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRpbWVyOwot
ICAgIFRpbWVyPERvY3VtZW50PiBtX3N0eWxlUmVjYWxjVGltZXI7CisgICAgVGltZXIgbV9vcHRp
bWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXI7CisgICAgVGltZXIgbV9zdHlsZVJlY2FsY1RpbWVy
OwogICAgIGJvb2wgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZTsKICAgICBib29sIG1f
aW5TdHlsZVJlY2FsYzsKICAgICBib29sIG1fY2xvc2VBZnRlclN0eWxlUmVjYWxjOwpAQCAtMTQ5
Miw3ICsxNDkyLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QVhPYmplY3RDYWNo
ZT4gbV9heE9iamVjdENhY2hlOwogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXI+IG1fbWFya2VyczsKICAgICAKLSAgICBUaW1lcjxEb2N1bWVudD4gbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZUZvY3VzQXBwZWFy
YW5jZVRpbWVyOwogCiAgICAgRWxlbWVudCogbV9jc3NUYXJnZXQ7CiAKQEAgLTE1OTEsNyArMTU5
MSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fZnVsbFNjcmVlbkVsZW1lbnQ7
CiAgICAgVmVjdG9yPFJlZlB0cjxFbGVtZW50Pj4gbV9mdWxsU2NyZWVuRWxlbWVudFN0YWNrOwog
ICAgIFJlbmRlckZ1bGxTY3JlZW4qIG1fZnVsbFNjcmVlblJlbmRlcmVyOwotICAgIFRpbWVyPERv
Y3VtZW50PiBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyOworICAgIFRpbWVyIG1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXI7CiAgICAgRGVxdWU8UmVmUHRyPE5vZGU+PiBtX2Z1bGxTY3Jl
ZW5DaGFuZ2VFdmVudFRhcmdldFF1ZXVlOwogICAgIERlcXVlPFJlZlB0cjxOb2RlPj4gbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlOwogICAgIGJvb2wgbV9pc0FuaW1hdGluZ0Z1bGxT
Y3JlZW47CkBAIC0xNjAwLDcgKzE2MDAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBpbnQg
bV9sb2FkRXZlbnREZWxheUNvdW50OwotICAgIFRpbWVyPERvY3VtZW50PiBtX2xvYWRFdmVudERl
bGF5VGltZXI7CisgICAgVGltZXIgbV9sb2FkRXZlbnREZWxheVRpbWVyOwogCiAgICAgVmlld3Bv
cnRBcmd1bWVudHMgbV92aWV3cG9ydEFyZ3VtZW50czsKIApAQCAtMTY1Niw3ICsxNjU2LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faXNUZWxlcGhvbmVOdW1iZXJQYXJzaW5nQWxsb3dlZDsKICNl
bmRpZgogCi0gICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVGlt
ZXIgbV9wZW5kaW5nVGFza3NUaW1lcjsKICAgICBWZWN0b3I8VGFzaz4gbV9wZW5kaW5nVGFza3M7
CiAKICNpZiBFTkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKQEAgLTE2NzksNyArMTY3OSw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3NjaGVkdWxlZFRhc2tzQXJlU3VzcGVuZGVkOwogICAgIAog
ICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZDsKLSAgICBUaW1lcjxEb2N1bWVudD4gbV92
aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lcjsKKyAgICBUaW1lciBtX3Zpc3VhbFVwZGF0ZXNT
dXBwcmVzc2lvblRpbWVyOwogCiAgICAgUmVmUHRyPE5hbWVkRmxvd0NvbGxlY3Rpb24+IG1fbmFt
ZWRGbG93czsKIApAQCAtMTY4Nyw4ICsxNjg3LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RE9N
U2VjdXJpdHlQb2xpY3k+IG1fZG9tU2VjdXJpdHlQb2xpY3k7CiAjZW5kaWYKIAotICAgIHZvaWQg
c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4mKTsKLSAgICBU
aW1lcjxEb2N1bWVudD4gbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lcjsKKyAgICB2b2lkIHNo
YXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXImKTsKKyAgICBUaW1lciBtX3NoYXJl
ZE9iamVjdFBvb2xDbGVhclRpbWVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPERvY3VtZW50U2hh
cmVkT2JqZWN0UG9vbD4gbV9zaGFyZWRPYmplY3RQb29sOwogCkBAIC0xNzEyLDggKzE3MTIsOCBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxKU0M6OklucHV0Q3Vyc29yPiBtX2lucHV0Q3Vyc29yOwog
I2VuZGlmCiAKLSAgICBUaW1lcjxEb2N1bWVudD4gbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNU
aW1lcjsKLSAgICBUaW1lcjxEb2N1bWVudD4gbV9jb29raWVDYWNoZUV4cGlyeVRpbWVyOworICAg
IFRpbWVyIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXI7CisgICAgVGltZXIgbV9jb29r
aWVDYWNoZUV4cGlyeVRpbWVyOwogICAgIFN0cmluZyBtX2NhY2hlZERPTUNvb2tpZXM7CiAgICAg
SGFzaFNldDxSZWZQdHI8RWxlbWVudD4+IG1fYXNzb2NpYXRlZEZvcm1Db250cm9sczsKICAgICB1
bnNpZ25lZCBtX2Rpc2FibGVkRmllbGRzZXRFbGVtZW50c0NvdW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRT
ZW5kZXIuaAppbmRleCAwNGZlMjU4ZjcyMmUyOGFkNGY2Y2UxYTNlNDZhODEzYjFjNGQ1MTI5Li41
NTAwMjFhYjE5ODZlMjAzNmZjZDQ0YzAyOWFjYzQzZmE4OWE3NzNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRTZW5kZXIuaApAQCAtNDksMTAgKzQ5LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRl
OgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxFdmVudFNlbmRlcjxUPj4mKSB7IGRpc3BhdGNo
UGVuZGluZ0V2ZW50cygpOyB9CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJikgeyBkaXNwYXRj
aFBlbmRpbmdFdmVudHMoKTsgfQogCiAgICAgQXRvbWljU3RyaW5nIG1fZXZlbnRUeXBlOwotICAg
IFRpbWVyPEV2ZW50U2VuZGVyPFQ+PiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAg
VmVjdG9yPFQqPiBtX2Rpc3BhdGNoU29vbkxpc3Q7CiAgICAgVmVjdG9yPFQqPiBtX2Rpc3BhdGNo
aW5nTGlzdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50
UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAppbmRl
eCBjZjY3ODFkNmFlM2Y5MzZjNGQzZGMyZGE4NzFhZTRhZGFlNjc2MWRlLi5iNzJmN2U3YTFjZTZl
ODMxYzYxZTM1OTUxMjVhZDFhMmJmZTEyYmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgYm9vbCBHZW5lcmljRXZlbnRRdWV1ZTo6
ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgIHJldHVybiB0cnVlOwog
fQogCi12b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyPEdlbmVyaWNFdmVu
dFF1ZXVlPiYpCit2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICBBU1NFUlQoIW1fdGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKCFtX3BlbmRpbmdF
dmVudHMuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKaW5k
ZXggOWZjMjA2NmQzN2EyZTQyMzU0MDQ1ZTVjYmFkMzgxN2E5MGVlNTEyMC4uMzY1NTg5MDJhYjMw
ZWRlMjdjZmU5ZTRjMGY3ZDgzZmQ2ODgxN2VhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmgKQEAgLTQ4LDExICs0OCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNQZW5k
aW5nRXZlbnRzKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVy
PEdlbmVyaWNFdmVudFF1ZXVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAg
ICAgRXZlbnRUYXJnZXQmIG1fb3duZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fcGVu
ZGluZ0V2ZW50czsKLSAgICBUaW1lcjxHZW5lcmljRXZlbnRRdWV1ZT4gbV90aW1lcjsKKyAgICBU
aW1lciBtX3RpbWVyOwogICAgIGJvb2wgbV9pc0Nsb3NlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdFJ1bm5lci5jcHAKaW5kZXggOTk0ODk2MzZiZGU5NWI3Nzg0ZTg0YmQ1NTc4YjkzNTcxMTk0
OTg3NS4uMDk2ZTNjNTE3YzlmMGZmODBiYzRjNzhiYjI4MTkxMjkzMTQ1YjdhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBTY3JpcHRSdW5u
ZXI6Om5vdGlmeVNjcmlwdFJlYWR5KFNjcmlwdEVsZW1lbnQqIHNjcmlwdEVsZW1lbnQsIEV4ZWN1
dGlvblR5cGUKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBTY3JpcHRS
dW5uZXI6OnRpbWVyRmlyZWQoVGltZXI8U2NyaXB0UnVubmVyPiYgdGltZXIpCit2b2lkIFNjcmlw
dFJ1bm5lcjo6dGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0
aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oCmlu
ZGV4IGQ3ZTY5MmM5MDlmNzg2NDM1MjExYjg1NGVhOWE3YWUxNTgwMzIyMWUuLmUxM2RmOGUwN2Mz
MTFhNWFjN2EwM2U4ODg0OGJmNDE3ZGZiY2I1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVy
LmgKQEAgLTU0LDEzICs1NCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlTY3JpcHRSZWFk
eShTY3JpcHRFbGVtZW50KiwgRXhlY3V0aW9uVHlwZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyPFNjcmlwdFJ1bm5lcj4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGlt
ZXImKTsKIAogICAgIERvY3VtZW50JiBtX2RvY3VtZW50OwogICAgIFZlY3RvcjxQZW5kaW5nU2Ny
aXB0PiBtX3NjcmlwdHNUb0V4ZWN1dGVJbk9yZGVyOwogICAgIFZlY3RvcjxQZW5kaW5nU2NyaXB0
PiBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uOyAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNzZXQtb2Ytc2NyaXB0cy10aGF0LXdpbGwtZXhlY3V0ZS1h
cy1zb29uLWFzLXBvc3NpYmxlCiAgICAgSGFzaE1hcDxTY3JpcHRFbGVtZW50KiwgUGVuZGluZ1Nj
cmlwdD4gbV9wZW5kaW5nQXN5bmNTY3JpcHRzOwotICAgIFRpbWVyPFNjcmlwdFJ1bm5lcj4gbV90
aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA2MjZiZDRmYmJlMGNh
OGFlYzJmOGZkNDQzYWExMTJkODk4MTI5YTUwLi43ODU2MmU3MGNiMTA3OTM4MWFjZTBmODVhZDdj
YmIxOWU3Mzg1MmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcApAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigpCiB9CiAKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cjo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+
JikKK3ZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjphbmltYXRpb25UaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX2xhc3RBbmltYXRpb25GcmFtZVRpbWVNb25vdG9uaWMgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25z
KG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZU1vbm90b25pYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKaW5kZXggNzMyOTZlOTg2NTVkODg4
ZTgzMWJlZDU4OTc5MTZiYjIwZDcxNzIxYS4uMDAyYzcxZWZiZGZiYTM0MDI3N2NiNjIxY2E3MTY0
YjZkZDYwOGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuaApAQCAtODQsOCArODQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1
bGVBbmltYXRpb24oKTsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikK
LSAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8U2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyPiYpOwotICAgIFRpbWVyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gbV9hbmlt
YXRpb25UaW1lcjsKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXImKTsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogICAgIGRvdWJsZSBtX2xhc3RBbmltYXRpb25GcmFtZVRp
bWVNb25vdG9uaWM7CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGQ2ODExMDZjOTc3
YjVlOTEzMDA1ODMxZmRiNGE4NjgxNWUzN2U2NDAuLjNhMjQ2YjQyNmMwNGY4ODc3MWQ2OWU0YThl
Yjc5M2VhMjAyNDdkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTk5
LDcgKzk5LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1QcmVzZW50
YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmluZyA9IDEwMDsKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJN
aW51dGUgPSAoMTAwICogcHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWVJblNlY29u
ZHMpIC8gNjA7CiAKLSAgICB2b2lkIGNsZWFuQ2FjaGUoVGltZXI8UHJlc2VudGF0aW9uQXR0cmli
dXRlQ2FjaGVDbGVhbmVyPiogdGltZXIpCisgICAgdm9pZCBjbGVhbkNhY2hlKFRpbWVyKiB0aW1l
cikKICAgICB7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2NsZWFu
VGltZXIpOwogICAgICAgICB1bnNpZ25lZCBoaXRDb3VudCA9IG1faGl0Q291bnQ7CkBAIC0xMTAs
NyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB1bnNpZ25lZCBtX2hpdENvdW50Owot
ICAgIFRpbWVyPFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcj4gbV9jbGVhblRpbWVy
OworICAgIFRpbWVyIG1fY2xlYW5UaW1lcjsKIH07CiAKIHN0YXRpYyBQcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuZXImIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmNwcAppbmRleCAxYTZlNTRlNmM0Y2Q4NzdjZWJiMzlmMTMwMzc5YzJlZjIxMTFiNjIwLi45NzM2
MTNkNGFmNTZjMzI3NWRlYmIyNTZmZTBmMzJlN2NhNDA3NzI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTMyNyw3
ICszMjcsNyBAQCB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnJlc3BvbmRUb1VuYXBw
bGllZFNwZWxsQ29ycmVjdGlvbihjb25zdCBWaXNpYmxlUwogICAgIG1hcmtlcnMuYWRkTWFya2Vy
KHJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxDaGVja2luZ0V4ZW1wdGlvbik7CiB9
CiAKLXZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxBbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyPiYpCit2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6
OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1faXNEaXNtaXNzZWRCeUVkaXRpbmcgPSBmYWxz
ZTsKICAgICBzd2l0Y2ggKG1fYWx0ZXJuYXRpdmVUZXh0SW5mby50eXBlKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCmluZGV4IGU4
NDYzYWIwYzY2YzhiZmYyZTQwNGFiMGI2MjAyYTFjYjZkOGVhNTYuLmYxMmY4MWE4MDdiODM2ZTg3
YjMyODMyMmM5NmZjNWQzNWRmMzA2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oCkBAIC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0
ZToKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpCiAgICAgU3RyaW5nIGRpc21pc3NTb29u
KFJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQpOwogICAgIHZvaWQgYXBwbHlBbHRl
cm5hdGl2ZVRleHRUb1JhbmdlKGNvbnN0IFJhbmdlKiwgY29uc3QgU3RyaW5nJiBhbHRlcm5hdGl2
ZSwgQWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgVmVjdG9yPERvY3VtZW50TWFya2VyOjpNYXJr
ZXJUeXBlPiYpOwotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxBbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgcmVjb3Jk
QXV0b2NvcnJlY3Rpb25SZXNwb25zZVJldmVyc2VkKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcpOwogICAgIHZvaWQgcmVjb3JkU3Bl
bGxjaGVja2VyUmVzcG9uc2VGb3JNb2RpZmllZENvcnJlY3Rpb24oUmFuZ2UqIHJhbmdlT2ZDb3Jy
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIGNvcnJlY3RlZCwgY29uc3QgU3RyaW5nJiBjb3JyZWN0aW9u
KTsKICAgICBTdHJpbmcgbWFya2VyRGVzY3JpcHRpb25Gb3JBcHBsaWVkQWx0ZXJuYXRpdmVUZXh0
KEFsdGVybmF0aXZlVGV4dFR5cGUsIERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlKTsKQEAgLTE1
Myw3ICsxNTMsNyBAQCBwcml2YXRlOgogICAgIEZsb2F0UmVjdCByb290Vmlld1JlY3RGb3JSYW5n
ZShjb25zdCBSYW5nZSopIGNvbnN0OwogICAgIHZvaWQgbWFya1ByZWNlZGluZ1doaXRlc3BhY2VG
b3JEZWxldGVkQXV0b2NvcnJlY3Rpb25BZnRlckNvbW1hbmQoRWRpdENvbW1hbmQqKTsKIAotICAg
IFRpbWVyPEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI+IG1fdGltZXI7CisgICAgVGltZXIgbV90
aW1lcjsKICAgICBBbHRlcm5hdGl2ZVRleHRJbmZvIG1fYWx0ZXJuYXRpdmVUZXh0SW5mbzsKICAg
ICBib29sIG1faXNEaXNtaXNzZWRCeUVkaXRpbmc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cAppbmRleCA0MGY3MzNiOWVlNGYyMDdmMWQwNDdmNDI0NTBiYjZhNTVjYTJiOWY2Li43NGY5MzUx
ZTAwZDBmNmNkMDBjMWIzYzA5NWMwYThlN2ZkN2VhNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCkBAIC0zMzM4LDcgKzMzMzgsNyBAQCBib29sIEVkaXRvcjo6c2hvdWxkRGV0ZWN0VGVs
ZXBob25lTnVtYmVycygpCiAgICAgcmV0dXJuIGRvY3VtZW50KCkuaXNUZWxlcGhvbmVOdW1iZXJQ
YXJzaW5nRW5hYmxlZCgpICYmIFRlbGVwaG9uZU51bWJlckRldGVjdG9yOjppc1N1cHBvcnRlZCgp
OwogfQogCi12b2lkIEVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGlt
ZXI8RWRpdG9yPiYpCit2b2lkIEVkaXRvcjo6c2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJl
cnMoVGltZXImKQogewogICAgIHNjYW5TZWxlY3Rpb25Gb3JUZWxlcGhvbmVOdW1iZXJzKCk7CiB9
CkBAIC0zNDQ1LDcgKzM0NDUsNyBAQCB2b2lkIEVkaXRvcjo6dXBkYXRlRWRpdG9yVUlOb3dJZlNj
aGVkdWxlZCgpCiAgICAgZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKG1fZWRpdG9yVUlVcGRhdGVU
aW1lcik7CiB9CiAKLXZvaWQgRWRpdG9yOjplZGl0b3JVSVVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8
RWRpdG9yPiYpCit2b2lkIEVkaXRvcjo6ZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKFRpbWVyJikK
IHsKICAgICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1fb2xkU2VsZWN0aW9uRm9y
RWRpdG9yVUlVcGRhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IDliMTQ0YjE5NTg3
YWRlZjk5MzNjOWYxMjRiY2ZhOTc2MDgzYmU0NzUuLmRhMjUxODMyMmMxNDg1ZmFkYzVkYzYwOTU2
NDNjNzg5NDUzN2JlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNDgxLDcgKzQ4MSw3
IEBAIHByaXZhdGU6CiAgICAgZW51bSBFZGl0b3JBY3Rpb25TcGVjaWZpZXIgeyBDdXRBY3Rpb24s
IENvcHlBY3Rpb24gfTsKICAgICB2b2lkIHBlcmZvcm1DdXRPckNvcHkoRWRpdG9yQWN0aW9uU3Bl
Y2lmaWVyKTsKIAotICAgIHZvaWQgZWRpdG9yVUlVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEVkaXRv
cj4mKTsKKyAgICB2b2lkIGVkaXRvclVJVXBkYXRlVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
Tm9kZSogZmluZEV2ZW50VGFyZ2V0RnJvbVNlbGVjdGlvbigpIGNvbnN0OwogCkBAIC01MTYsMTYg
KzUxNiwxNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9vdmVyd3JpdGVNb2RlRW5hYmxlZDsKIAog
ICAgIFZpc2libGVTZWxlY3Rpb24gbV9vbGRTZWxlY3Rpb25Gb3JFZGl0b3JVSVVwZGF0ZTsKLSAg
ICBUaW1lcjxFZGl0b3I+IG1fZWRpdG9yVUlVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX2VkaXRv
clVJVXBkYXRlVGltZXI7CiAgICAgYm9vbCBtX2VkaXRvclVJVXBkYXRlVGltZXJTaG91bGRDaGVj
a1NwZWxsaW5nQW5kR3JhbW1hcjsKICAgICBib29sIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1Ry
aWdnZXJlZEJ5RGljdGF0aW9uOwogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAmJiAhUExBVEZPUk0oSU9TKQogICAgIGJvb2wgc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVt
YmVycygpOwotICAgIHZvaWQgc2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGltZXI8
RWRpdG9yPiYpOworICAgIHZvaWQgc2NhblNlbGVjdGlvbkZvclRlbGVwaG9uZU51bWJlcnMoVGlt
ZXImKTsKICAgICB2b2lkIHNjYW5SYW5nZUZvclRlbGVwaG9uZU51bWJlcnMoUmFuZ2UmLCBjb25z
dCBTdHJpbmdWaWV3JiwgVmVjdG9yPFJlZlB0cjxSYW5nZT4+JiBtYXJrZWRSYW5nZXMpOwogCi0g
ICAgVGltZXI8RWRpdG9yPiBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyOwor
ICAgIFRpbWVyIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXI7CiAgICAgVmVj
dG9yPFJlZlB0cjxSYW5nZT4+IG1fZGV0ZWN0ZWRUZWxlcGhvbmVOdW1iZXJSYW5nZXM7CiAjZW5k
aWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDEz
MjIzZGQ3NTFjZjdmNTgzMTlkNjIyNjdjY2I3MmM1ZDFhNjU1ODkuLmRmNGI4NDMxNDZhZTRhZjBl
MTY1Yjg0ODcxYmFjNmJkODUwNDUxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCkBAIC0xOTAxLDcgKzE5MDEsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRDYXJldFZpc2liaWxpdHkoQ2FyZXRWaXNpYmlsaXR5IHZpc2liaWxpdHkpCiAgICAgdXBkYXRl
QXBwZWFyYW5jZSgpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpjYXJldEJsaW5rVGltZXJG
aXJlZChUaW1lcjxGcmFtZVNlbGVjdGlvbj4mKQordm9pZCBGcmFtZVNlbGVjdGlvbjo6Y2FyZXRC
bGlua1RpbWVyRmlyZWQoVGltZXImKQogewogI2lmIEVOQUJMRShURVhUX0NBUkVUKQogICAgIEFT
U0VSVChjYXJldElzVmlzaWJsZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uaAppbmRleCAzNjA2MDEyYzUzYTgxNDQ3YzI2ZDhjOGI3Yzg2MjMyYTk3YWM4ZDIxLi5hOWRj
OTJjM2UxNzIzMjE1MGJhMTE0OWVjZWE0NDMzOGFmNzU4ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0zMDksNyArMzA5LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNldEZvY3VzZWRFbGVtZW50SWZOZWVkZWQoKTsKICAgICB2b2lkIGZvY3VzZWRPckFjdGl2
ZVN0YXRlQ2hhbmdlZCgpOwogCi0gICAgdm9pZCBjYXJldEJsaW5rVGltZXJGaXJlZChUaW1lcjxG
cmFtZVNlbGVjdGlvbj4mKTsKKyAgICB2b2lkIGNhcmV0QmxpbmtUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICB2b2lkIHNldENhcmV0VmlzaWJpbGl0eShDYXJldFZpc2liaWxpdHkpOwogICAgIGJv
b2wgcmVjb21wdXRlQ2FyZXRSZWN0KCk7CkBAIC0zMjksNyArMzI5LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxFZGl0aW5nU3R5bGU+IG1fdHlwaW5nU3R5bGU7CiAKLSAgICBUaW1lcjxGcmFt
ZVNlbGVjdGlvbj4gbV9jYXJldEJsaW5rVGltZXI7CisgICAgVGltZXIgbV9jYXJldEJsaW5rVGlt
ZXI7CiAgICAgLy8gVGhlIHBhaW50ZWQgYm91bmRzIG9mIHRoZSBjYXJldCBpbiBhYnNvbHV0ZSBj
b29yZGluYXRlcwogICAgIEludFJlY3QgbV9hYnNDYXJldEJvdW5kczsKICAgICBib29sIG1fYWJz
Q2FyZXRCb3VuZHNEaXJ0eSA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5j
cHAKaW5kZXggMDdhMjNhZjA0YTM5MGY5YjAwZmI1Y2M1NDUxOWYzMDVmMTUyZTEwZi4uYWU4MzIx
MjEzOTc2NzA2NmUwMWIyOWNmMDU5ZDg5NGY2NmUyNmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIFRleHRDaGVja2VyQ2xpZW50
KiBTcGVsbENoZWNrZXI6OmNsaWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2UtPmVkaXRvckNs
aWVudCgpLT50ZXh0Q2hlY2tlcigpOwogfQogCi12b2lkIFNwZWxsQ2hlY2tlcjo6dGltZXJGaXJl
ZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXI8U3BlbGxDaGVja2VyPiopCit2b2lkIFNwZWxs
Q2hlY2tlcjo6dGltZXJGaXJlZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXIqKQogewogICAg
IEFTU0VSVCghbV9yZXF1ZXN0UXVldWUuaXNFbXB0eSgpKTsKICAgICBpZiAobV9yZXF1ZXN0UXVl
dWUuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENo
ZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggOWNh
MzUwODNmM2U3M2E3MDFhY2M2ZTc2OWEzYmU2YzE3YTVjMDg5YS4uMDA4ZTMyOGY2NDQ4MDIwZTJi
NjlkZTZhYmQ0ODIwNzc4Y2VlYmYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGNhbkNoZWNrQXN5bmNo
cm9ub3VzbHkoUmFuZ2UqKSBjb25zdDsKICAgICBUZXh0Q2hlY2tlckNsaWVudCogY2xpZW50KCkg
Y29uc3Q7Ci0gICAgdm9pZCB0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdChUaW1lcjxT
cGVsbENoZWNrZXI+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dChUaW1lciopOwogICAgIHZvaWQgaW52b2tlUmVxdWVzdChQYXNzUmVmUHRyPFNwZWxsQ2hlY2tS
ZXF1ZXN0Pik7CiAgICAgdm9pZCBlbnF1ZXVlUmVxdWVzdChQYXNzUmVmUHRyPFNwZWxsQ2hlY2tS
ZXF1ZXN0Pik7CiAgICAgdm9pZCBkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBW
ZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYpOwpAQCAtMTA5LDcgKzEwOSw3IEBAIHByaXZhdGU6
CiAgICAgaW50IG1fbGFzdFJlcXVlc3RTZXF1ZW5jZTsKICAgICBpbnQgbV9sYXN0UHJvY2Vzc2Vk
U2VxdWVuY2U7CiAKLSAgICBUaW1lcjxTcGVsbENoZWNrZXI+IG1fdGltZXJUb1Byb2Nlc3NRdWV1
ZWRSZXF1ZXN0OworICAgIFRpbWVyIG1fdGltZXJUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0OwogCiAg
ICAgUmVmUHRyPFNwZWxsQ2hlY2tSZXF1ZXN0PiBtX3Byb2Nlc3NpbmdSZXF1ZXN0OwogICAgIFJl
cXVlc3RRdWV1ZSBtX3JlcXVlc3RRdWV1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcAppbmRleCBhYzkwYjM2Mjg3MjQ2YmY2ZTZhMjMyZjQxZGViMTBhZjE5NWNiMzM1Li45
MjYwMDc2N2ZhMjBlMTEyNDFhMTM4YzRmNzI4NmQ5ODc3Yzc1ZTBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBIVE1MRm9y
bUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJl
c3VsdCkKICAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmly
ZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopCit2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIFZlY3RvcjxSZWZQdHI8RXZl
bnQ+PiBwZW5kaW5nRXZlbnRzOwogICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5zd2Fw
KHBlbmRpbmdFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXgg
ZmMzZGI5ZDk0OGQyYWQ0YjA0NzFmNmRiYTM1YmY0NDZjNDcwMTk3Zi4uYjRkNjg2NjQ4ZmZjNGNk
N2IzN2ZkZGFlY2JiZmNmMmU3NDc5ZWEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxl
bWVudC5oCkBAIC0xOTQsMTAgKzE5NCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNEZW1v
dGVkOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIHZvaWQgcmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXI8SFRNTEZvcm1FbGVtZW50PiopOworICAgIHZv
aWQgcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIFZlY3RvcjxS
ZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHM7Ci0gICAgVGltZXI8SFRN
TEZvcm1FbGVtZW50PiBtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lcjsKKyAgICBUaW1lciBtX3Jl
cXVlc3RBdXRvY29tcGxldGVUaW1lcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggM2IxMGU0M2UwNjE3YmJiODMxM2UwZTEzODIzNmE0
NWY0ZmE5YjZiOC4uN2YzMmM4MTg3NjFiODFlNDkwNmRmNDFlYWQwZTk2YTI4ODg4MDJiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03NTcsNyArNzU3LDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnROYW1lKQogICAgIG1fYXN5bmNFdmVudFF1ZXVlLmVucXVldWVFdmVudChldmVudC5y
ZWxlYXNlKCkpOwogfQogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKFRp
bWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFRpbWVy
RmlyZWQoVGltZXImKQogewogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBwcm90ZWN0KCp0aGlz
KTsgLy8gbG9hZE5leHRTb3VyY2VDaGlsZCBtYXkgZmlyZSAnYmVmb3JlbG9hZCcsIHdoaWNoIGNh
biBtYWtlIGFyYml0cmFyeSBET00gbXV0YXRpb25zLgogCkBAIC0yMjI1LDcgKzIyMjUsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpYUtleXMqIG1lZGlhS2V5cykK
IH0KICNlbmRpZgogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZp
cmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJv
Z3Jlc3NFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIEFTU0VSVChtX3BsYXllcik7CiAg
ICAgaWYgKG1fbmV0d29ya1N0YXRlICE9IE5FVFdPUktfTE9BRElORykKQEAgLTIzNjgsNyArMjM2
OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVk
aWFUaW1lJiBpblRpbWUsIGNvbnN0IE1lZGlhVGltCiAgICAgICAgIHNlZWtUaW1lckZpcmVkKG1f
c2Vla1RpbWVyKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrVGltZXJGaXJlZChU
aW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWtUaW1l
ckZpcmVkKFRpbWVyJikKIHsKICAgICBpZiAoIW1fcGxheWVyKSB7CiAgICAgICAgIG1fc2Vla2lu
ZyA9IGZhbHNlOwpAQCAtMzExMiw3ICszMTEyLDcgQEAgZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6
Om5leHRTY2FuUmF0ZSgpCiAgICAgcmV0dXJuIHJhdGU7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2NhblRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKQordm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fc2NhblR5
cGUgPT0gU2VlaykgewogICAgICAgICBkb3VibGUgc2Vla1RpbWUgPSBtX3NjYW5EaXJlY3Rpb24g
PT0gRm9yd2FyZCA/IFNlZWtUaW1lIDogLVNlZWtUaW1lOwpAQCAtMzEzNCw3ICszMTM0LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXliYWNrUHJvZ3Jlc3NUaW1lcigpCiAgICAg
bV9wbGF5YmFja1Byb2dyZXNzVGltZXIuc3RhcnRSZXBlYXRpbmcobWF4VGltZXVwZGF0ZUV2ZW50
RnJlcXVlbmN5KTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5YmFja1Byb2dyZXNz
VGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpCit2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBBU1NFUlQobV9w
bGF5ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDA4NmMz
NTkwNDI1ZjJmYWIzMjgzY2Y5NTZlODE4Zjk4MTgzNmEyMWUuLjExNmZkZjJmMGM0MzBjNTE1M2Rl
M2QzMmNhMWU0YzU5ZTk5MWQ5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCkBAIC01OTEsMTEgKzU5MSwxMSBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIG1l
ZGlhUGxheWVySXNJbk1lZGlhRG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKIAotICAg
IHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKLSAgICB2b2lk
IHByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7Ci0gICAg
dm9pZCBwbGF5YmFja1Byb2dyZXNzVGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiYp
OwotICAgIHZvaWQgc2NhblRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKLSAg
ICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7CisgICAgdm9p
ZCBsb2FkVGltZXJGaXJlZChUaW1lciYpOworICAgIHZvaWQgcHJvZ3Jlc3NFdmVudFRpbWVyRmly
ZWQoVGltZXImKTsKKyAgICB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyJik7
CisgICAgdm9pZCBzY2FuVGltZXJGaXJlZChUaW1lciYpOworICAgIHZvaWQgc2Vla1RpbWVyRmly
ZWQoVGltZXImKTsKICAgICB2b2lkIHN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCk7CiAgICAg
dm9pZCBzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFBlcmlvZGljVGlt
ZXJzKCk7CkBAIC03MjIsMTEgKzcyMiwxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1cGRhdGVD
YXB0aW9uQ29udGFpbmVyKCk7CiAKLSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX2xvYWRU
aW1lcjsKLSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3Byb2dyZXNzRXZlbnRUaW1lcjsK
LSAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsKLSAg
ICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3NjYW5UaW1lcjsKLSAgICBUaW1lcjxIVE1MTWVk
aWFFbGVtZW50PiBtX3NlZWtUaW1lcjsKKyAgICBUaW1lciBtX2xvYWRUaW1lcjsKKyAgICBUaW1l
ciBtX3Byb2dyZXNzRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1l
cjsKKyAgICBUaW1lciBtX3NjYW5UaW1lcjsKKyAgICBUaW1lciBtX3NlZWtUaW1lcjsKICAgICBS
ZWZQdHI8VGltZVJhbmdlcz4gbV9wbGF5ZWRUaW1lUmFuZ2VzOwogICAgIEdlbmVyaWNFdmVudFF1
ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IDJkMTdlN2I5ODIyODQ5NGJkOWNiOTk1M2YwZGNiZWRiYjllYTUzOGIu
LjUyNDBlOWYzMjY3YWY0MTk2MDNmZTk0MmFmMTlhMTE2NTFhY2UyNzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0zMDAsNyArMzAwLDcgQEAgUmVuZGVy
UHRyPFJlbmRlckVsZW1lbnQ+IEhUTUxQbHVnSW5FbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVy
ZXIoUGFzc1JlZjxSZW5kZXIKICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyRW1iZWRk
ZWRPYmplY3Q+KCp0aGlzLCBXVEY6Om1vdmUoc3R5bGUpKTsKIH0KIAotdm9pZCBIVE1MUGx1Z0lu
RWxlbWVudDo6c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0luRWxlbWVudD4m
KQordm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lciYp
CiB7CiAgICAgQVNTRVJUKGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50IHx8IGRpc3BsYXlTdGF0ZSgpID09IERpc3BsYXlpbmdTbmFwc2hvdCk7CiAgICAgaWYgKHVz
ZXJBZ2VudFNoYWRvd1Jvb3QoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aAppbmRleCBmOGJjN2Y5YzYzMDY2YTM0Y2JkNWI0OTY4YzkxNmZiNjI0NWY2NjU3Li5kN2UzNjc1
NzRmNDE0NDJhNTEzMWUyODg4MTlhMDMwZTFlYmVkMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luRWxlbWVudC5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJvdGVjdGVkOgogICAgIGJv
b2wgbV9pbkJlZm9yZUxvYWRFdmVudEhhbmRsZXI7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzd2Fw
UmVuZGVyZXJUaW1lckZpcmVkKFRpbWVyPEhUTUxQbHVnSW5FbGVtZW50PiYpOworICAgIHZvaWQg
c3dhcFJlbmRlcmVyVGltZXJGaXJlZChUaW1lciYpOwogICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVQ
bHVnaW4oY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAg
Ym9vbCBkaXNwYXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7IC8v
IE5vdCBpbXBsZW1lbnRlZCwgZ2VuZXJhdGVzIGEgY29tcGlsZSBlcnJvciBpZiBzdWJjbGFzc2Vz
IGNhbGwgdGhpcyBieSBtaXN0YWtlLgpAQCAtMTI2LDcgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzUGx1Z2luRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiAg
ICAgUmVmUHRyPEpTQzo6QmluZGluZ3M6Okluc3RhbmNlPiBtX2luc3RhbmNlOwotICAgIFRpbWVy
PEhUTUxQbHVnSW5FbGVtZW50PiBtX3N3YXBSZW5kZXJlclRpbWVyOworICAgIFRpbWVyIG1fc3dh
cFJlbmRlcmVyVGltZXI7CiAgICAgUmVmUHRyPFBsdWdpblJlcGxhY2VtZW50PiBtX3BsdWdpblJl
cGxhY2VtZW50OwogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIE5QT2JqZWN0
KiBtX05QT2JqZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxl
bWVudC5jcHAKaW5kZXggYjYwMDg1ZGY5ZTUyMmRlZjIzMWU5Y2NjYjA5NTZlYWU2YTQ3Mjc0Ny4u
NjcyMDg4NTU5NDgwMzU5ODFhYmJlODYwOGQ4YjkxYTVmZjIzNGMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC0zOTksNyArMzk5LDcg
QEAgYm9vbCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpwYXJ0T2ZTbmFwc2hvdE92ZXJsYXkoTm9k
ZSogbm9kZSkKICAgICByZXR1cm4gbm9kZSAmJiBzbmFwc2hvdExhYmVsICYmIChub2RlID09IHNu
YXBzaG90TGFiZWwuZ2V0KCkgfHwgbm9kZS0+aXNEZXNjZW5kYW50T2Yoc25hcHNob3RMYWJlbC5n
ZXQoKSkpOwogfQogCi12b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90
VGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiYpCit2b2lkIEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
bV9zbmFwc2hvdEltYWdlID0gbnVsbHB0cjsKICAgICBtX2lzUmVzdGFydGVkUGx1Z2luID0gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCmluZGV4
IDNlZWY0YzYwYmQzODU1ZmQ0NTg1OWZlOTQzNWQzMTk0ODZhYmVlNjEuLmYxN2VmNmU4OGVkMDA1
NGI1YWUyZTc1ZWFjMTU0MDI0MzhhZWU4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkltYWdlRWxlbWVudC5oCkBAIC0xMzYsNyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckZpcmVkKCk7CiAKICAgICB2b2lkIHJlc3RhcnRT
aW1pbGFyUGx1Z0lucygpOwotICAgIHZvaWQgcmVtb3ZlU25hcHNob3RUaW1lckZpcmVkKFRpbWVy
PEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+Jik7CisgICAgdm9pZCByZW1vdmVTbmFwc2hvdFRpbWVy
RmlyZWQoVGltZXImKTsKICAgICBib29sIGlzVG9wTGV2ZWxGdWxsUGFnZVBsdWdpbihjb25zdCBS
ZW5kZXJFbWJlZGRlZE9iamVjdCYpIGNvbnN0OwogCiAgICAgVVJMIG1fbG9hZGVkVXJsOwpAQCAt
MTQ1LDcgKzE0NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25lZWRzRG9jdW1lbnRBY3RpdmF0
aW9uQ2FsbGJhY2tzOwogICAgIFJlZlB0cjxNb3VzZUV2ZW50PiBtX3BlbmRpbmdDbGlja0V2ZW50
RnJvbVNuYXBzaG90OwogICAgIERlZmVycmFibGVPbmVTaG90VGltZXIgbV9zaW11bGF0ZWRNb3Vz
ZUNsaWNrVGltZXI7Ci0gICAgVGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVudD4gbV9yZW1vdmVT
bmFwc2hvdFRpbWVyOworICAgIFRpbWVyIG1fcmVtb3ZlU25hcHNob3RUaW1lcjsKICAgICBSZWZQ
dHI8SW1hZ2U+IG1fc25hcHNob3RJbWFnZTsKICAgICBib29sIG1fY3JlYXRlZER1cmluZ1VzZXJH
ZXN0dXJlOwogICAgIGJvb2wgbV9pc1Jlc3RhcnRlZFBsdWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggYTQ4OGFlODg1M2Q2YjMwNDhhODYwMDE4MTcw
MWNmNzVjNTQ1YmU0Mi4uZmQxOTYzOTkyNzBmZDZiMWFmZmE4NDQ5NzhjYTgyY2UxNmU2MmM3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTExMCw3ICsx
MTAsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5kaW5nRXJyb3JFdmVudCgp
CiAgICAgbV9lcnJvckV2ZW50VGltZXIuc3RvcCgpOwogfQogCi12b2lkIEhUTUxTb3VyY2VFbGVt
ZW50OjplcnJvckV2ZW50VGltZXJGaXJlZChUaW1lcjxIVE1MU291cmNlRWxlbWVudD4mKQordm9p
ZCBIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IExPRyhNZWRpYSwgIkhUTUxTb3VyY2VFbGVtZW50OjplcnJvckV2ZW50VGltZXJGaXJlZCAtICVw
IiwgdGhpcyk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxl
bWVudC5oCmluZGV4IDUyMmQ3NDM2ODJkZGE5NmZjOTc3ZDYxMTk5Y2M3MWY1NDM5YzlmNGEuLjEx
YzU1YTBmODk0ZDgwZmQxMjEwMGRjYTAwOGI5OTI2YmZjZDhkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTUyLDkgKzUyLDkgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIHZvaWQgZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXI8SFRNTFNvdXJjZUVsZW1l
bnQ+Jik7CisgICAgdm9pZCBlcnJvckV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgVGlt
ZXI8SFRNTFNvdXJjZUVsZW1lbnQ+IG1fZXJyb3JFdmVudFRpbWVyOworICAgIFRpbWVyIG1fZXJy
b3JFdmVudFRpbWVyOwogfTsKIAogfSAvL25hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAKaW5kZXggMmM2ZTk3YmE3NmNmNjJkMTA1Y2ZlOThkOTQ3ODk2MTdj
ZDZmMzBmMC4uNzQ5MTM4OGFhYmJmOTU0MjZlYWExYjMzYmYxNDFlNzQ1NDgyNDZhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0yMDAsNyArMjAwLDcgQEAg
dm9pZCBIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQoKQogICAgIG1fbG9hZFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJl
ZChUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiYpCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRU
aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBpZiAoIWZhc3RIYXNBdHRyaWJ1dGUoc3JjQXR0cikp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRy
YWNrRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKaW5k
ZXggNTI2ZGMwM2NjMTg1YmY3ZTI4N2I1MGZkMGRhYTgxOTJjMTgxN2M0NS4uMTIxYjljMzYwNWZm
ZmNlYmY0YzA1NzFmZjNhNzg2ZWNiNGJjYzkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJh
Y2tFbGVtZW50LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9v
bCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTFRyYWNrRWxlbWVudD4mKTsKKyAgICB2b2lk
IGxvYWRUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQoKSBjb25zdDsKIApAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2Fu
TG9hZFVSTChjb25zdCBVUkwmKTsKIAogICAgIFJlZlB0cjxMb2FkYWJsZVRleHRUcmFjaz4gbV90
cmFjazsKLSAgICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKKyAgICBUaW1l
ciBtX2xvYWRUaW1lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmNwcAppbmRleCAzYTc3NjgyNDMyZDg0MzI4ZTcyZTRjNTMwNzJiZmFjYjJjODYzNDk5Li40MTMx
Njc0NDhmZGZmYjAxNTkxOWVjYTI3NWNkMGU2ZWY3MGU4YTc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBNZWRpYUNvbnRy
b2xsZXI6OnNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUpCiAgICAg
ICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBNZWRpYUNv
bnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKQor
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gcGVuZGluZ0V2ZW50czsKIApAQCAtNTQ4LDcgKzU0OCw3
IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRp
YUNvbnRyb2xsZXI+JikKICAgICAgICAgZGlzcGF0Y2hFdmVudChwZW5kaW5nRXZlbnRzW2luZGV4
XS5yZWxlYXNlKCksIElHTk9SRV9FWENFUFRJT04pOwogfQogCi12b2lkIE1lZGlhQ29udHJvbGxl
cjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sbGVyPiYpCit2b2lk
IE1lZGlhQ29udHJvbGxlcjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAg
IG1fcG9zaXRpb24gPSBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKTsKIH0KQEAgLTY3Miw3ICs2
NzIsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c3RhcnRUaW1ldXBkYXRlVGltZXIoKQogICAg
IG1fdGltZXVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG1heFRpbWV1cGRhdGVFdmVudEZyZXF1
ZW5jeSk7CiB9CiAKLXZvaWQgTWVkaWFDb250cm9sbGVyOjp0aW1ldXBkYXRlVGltZXJGaXJlZChU
aW1lcjxNZWRpYUNvbnRyb2xsZXI+JikKK3ZvaWQgTWVkaWFDb250cm9sbGVyOjp0aW1ldXBkYXRl
VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgc2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IDNlMzZjOWIxNDY0OWEyMWI2
MmI4NjUyMTU0ZDhlZWI2ODQ4NjgwYjguLjI1NDE5Y2JiODM4NDRiYTQ0NDIxNTM3NGE1NTNmNmZl
Y2NlNzU4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAtMTIzLDEx
ICsxMjMsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZU1lZGlhRWxlbWVudHMoKTsKICAg
ICB2b2lkIGJyaW5nRWxlbWVudFVwVG9TcGVlZChIVE1MTWVkaWFFbGVtZW50Kik7CiAgICAgdm9p
ZCBzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKLSAgICB2b2lk
IGFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsKLSAgICB2b2lk
IGNsZWFyUG9zaXRpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsKKyAgICB2
b2lkIGFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBjbGVhclBvc2l0aW9u
VGltZXJGaXJlZChUaW1lciYpOwogICAgIGJvb2wgaGFzRW5kZWQoKSBjb25zdDsKICAgICB2b2lk
IHNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCk7Ci0gICAgdm9pZCB0aW1ldXBkYXRlVGltZXJGaXJl
ZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Jik7CisgICAgdm9pZCB0aW1ldXBkYXRlVGltZXJGaXJl
ZChUaW1lciYpOwogICAgIHZvaWQgc3RhcnRUaW1ldXBkYXRlVGltZXIoKTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0CkBAIC0xNDcsMTMgKzE0NywxMyBAQCBwcml2YXRlOgogICAgIFJlYWR5U3RhdGUg
bV9yZWFkeVN0YXRlOwogICAgIFBsYXliYWNrU3RhdGUgbV9wbGF5YmFja1N0YXRlOwogICAgIFZl
Y3RvcjxSZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdFdmVudHM7Ci0gICAgVGltZXI8TWVkaWFDb250
cm9sbGVyPiBtX2FzeW5jRXZlbnRUaW1lcjsKLSAgICBtdXRhYmxlIFRpbWVyPE1lZGlhQ29udHJv
bGxlcj4gbV9jbGVhclBvc2l0aW9uVGltZXI7CisgICAgVGltZXIgbV9hc3luY0V2ZW50VGltZXI7
CisgICAgbXV0YWJsZSBUaW1lciBtX2NsZWFyUG9zaXRpb25UaW1lcjsKICAgICBTdHJpbmcgbV9t
ZWRpYUdyb3VwOwogICAgIGJvb2wgbV9jbG9zZWRDYXB0aW9uc1Zpc2libGU7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENsb2NrPiBtX2Nsb2NrOwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xsZXI+IG1fdGlt
ZXVwZGF0ZVRpbWVyOworICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwogICAgIGRvdWJsZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3Vt
ZW50LmNwcAppbmRleCBmYWM5NThlZjUzMzc4OGMzZjRlYjA2YjlmOWQ4YmFiNTYwM2Q3MjJiLi5k
NjU2OWE0M2JhZWNkMzAzNjg3MTIxMWI1ZjllYWE0Mzk1M2U1ZGIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5jcHAKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIE1lZGlhRG9jdW1l
bnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKCkKICAgICBtX3JlcGxhY2VNZWRp
YUVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVkaWFEb2N1bWVudDo6
cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoVGltZXI8TWVkaWFEb2N1bWVudD4mKQordm9p
ZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZChUaW1lciYpCiB7
CiAgICAgSFRNTEVsZW1lbnQqIGh0bWxCb2R5ID0gYm9keSgpOwogICAgIGlmICghaHRtbEJvZHkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCmluZGV4IDAzZWQ4MWI1MDhlZTEwNmI5Mzlk
YmU5MzRjNWI2NzgxNTA2YjgwZWMuLjQzYjVmNDZjNjJkZDBmMWM5ZjM4NzMzNmM0OGUzNzZjMmJj
MjQxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5oCkBAIC01MCw5ICs1MCw5IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCop
IG92ZXJyaWRlOwogCi0gICAgdm9pZCByZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZChUaW1l
cjxNZWRpYURvY3VtZW50PiYpOworICAgIHZvaWQgcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoVGltZXImKTsKIAotICAgIFRpbWVyPE1lZGlhRG9jdW1lbnQ+IG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyOworICAgIFRpbWVyIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyOwogICAgIFN0
cmluZyBtX291dGdvaW5nUmVmZXJyZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElu
cHV0VHlwZS5jcHAKaW5kZXggYjJjNDU5MjhjMjllNjVmZDJmNzA3ZjA5ZTQ5MTE1MzgxZTgyY2Rj
Ny4uMGJmOWRmYzM0YWI1YWZkMjYzMDk4MDMyYjljMGZkYzE2MzEzN2QxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgU2Vh
cmNoSW5wdXRUeXBlOjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCiAgICAgbV9zZWFyY2hFdmVudFRp
bWVyLnN0b3AoKTsKIH0KIAotdm9pZCBTZWFyY2hJbnB1dFR5cGU6OnNlYXJjaEV2ZW50VGltZXJG
aXJlZChUaW1lcjxTZWFyY2hJbnB1dFR5cGU+KikKK3ZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzZWFy
Y2hFdmVudFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIGVsZW1lbnQoKS5vblNlYXJjaCgpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgKaW5kZXggMTIzMjZiYzg4ODQwNmJh
ZDZjYjk3NWI5YzNlODBiNWMxOGRjMDBlYi4uODgzYTEyYjE3NjBiZDZhZTk2Y2E2ODk2YmFiMmUx
OWIwNTlkOTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5oCkBAIC02MSwx
MyArNjEsMTMgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2l6ZVNob3VsZEluY2x1ZGVE
ZWNvcmF0aW9uKGludCBkZWZhdWx0U2l6ZSwgaW50JiBwcmVmZXJyZWRTaXplKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIGZsb2F0IGRlY29yYXRpb25XaWR0aCgpIGNvbnN0IG92ZXJyaWRl
OwogCi0gICAgdm9pZCBzZWFyY2hFdmVudFRpbWVyRmlyZWQoVGltZXI8U2VhcmNoSW5wdXRUeXBl
PiopOworICAgIHZvaWQgc2VhcmNoRXZlbnRUaW1lckZpcmVkKFRpbWVyKik7CiAgICAgYm9vbCBz
ZWFyY2hFdmVudHNTaG91bGRCZURpc3BhdGNoZWQoKSBjb25zdDsKICAgICB2b2lkIHN0YXJ0U2Vh
cmNoRXZlbnRUaW1lcigpOwogCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudCog
bV9yZXN1bHRzQnV0dG9uOwogICAgIEhUTUxFbGVtZW50KiBtX2NhbmNlbEJ1dHRvbjsKLSAgICBU
aW1lcjxTZWFyY2hJbnB1dFR5cGU+IG1fc2VhcmNoRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3Nl
YXJjaEV2ZW50VGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmluZGV4IDliOGZiMzk3MDY1YzlhYjYxZGU0
OWI3NjY2MDdjMDk0NGMwOWFjZGQuLmFiOTYxOGQ5ZDg5ODIwMmJhYThiN2ExMzFkYzdjZTVlZmMx
NzcwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0x
MDcsMTMgKzEwNywxMyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsKICAgICBt
X21lc3NhZ2UgPSBtZXNzYWdlOwogICAgIGlmICghbV9idWJibGUpCi0gICAgICAgIG1fdGltZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPj4odGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpOworICAgICAgICBtX3RpbWVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxUaW1lcj4odGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8
VmFsaWRhdGlvbk1lc3NhZ2U+Pih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VE
T01BbmRTdGFydFRpbWVyKTsKKyAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGlt
ZXI+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIp
OwogICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+
KikKK3ZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKFRp
bWVyKikKIHsKICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpOwogICAgIEFT
U0VSVChtX21lc3NhZ2VIZWFkaW5nKTsKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFZhbGlkYXRp
b25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcihUaW1lcjxWYWxpZGF0aW9uTWVz
c2FnZT4qKQogICAgIGlmIChtYWduaWZpY2F0aW9uIDw9IDApCiAgICAgICAgIG1fdGltZXIgPSBu
dWxscHRyOwogICAgIGVsc2UgewotICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRl
QnViYmxlVHJlZSk7CisgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPih0
aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwogICAgICAgICBtX3Rp
bWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVz
c2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOwogICAgIH0KIH0KQEAgLTE2
NSw3ICsxNjUsNyBAQCBzdGF0aWMgdm9pZCBhZGp1c3RCdWJibGVQb3NpdGlvbihjb25zdCBMYXlv
dXRSZWN0JiBob3N0UmVjdCwgSFRNTEVsZW1lbnQqIGJ1YmJsZQogICAgIGJ1YmJsZS0+c2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUxlZnQsIGJ1YmJsZVgsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUFgpOwogfQogCi12b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KikKK3ZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OmJ1
aWxkQnViYmxlVHJlZShUaW1lciopCiB7CiAgICAgQVNTRVJUKCF2YWxpZGF0aW9uTWVzc2FnZUNs
aWVudCgpKTsKICAgICBTaGFkb3dSb290JiBzaGFkb3dSb290ID0gbV9lbGVtZW50LT5lbnN1cmVV
c2VyQWdlbnRTaGFkb3dSb290KCk7CkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogICAgIH0KIAogICAgIC8vIFdlIG11c3Qg
bm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4gdGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJlYXNv
biBhcyBzZXRNZXNzYWdlKCkuCi0gICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8
VmFsaWRhdGlvbk1lc3NhZ2U+Pih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJs
ZVRyZWUpOworICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPih0aGlzLCAmVmFs
aWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwogICAgIG1fdGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBAIGJvb2wgVmFsaWRhdGlvbk1lc3NhZ2U6
OnNoYWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdAogICAgIHJldHVybiAm
bV9idWJibGUtPnRyZWVTY29wZSgpID09ICZub2RlLnRyZWVTY29wZSgpOwogfQogCi12b2lkIFZh
bGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdl
PiopCit2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKFRpbWVyKikKIHsK
ICAgICBBU1NFUlQoIXZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KCkpOwogICAgIGlmIChtX2J1YmJs
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IDc1MTY4NDMx
NjUwM2E0ZWIxM2ZjNDU2NDhkODdiMTljZjljNzcwOWUuLjlkNjE4NTdjN2Y0NjljZWIzZmVhMmRk
YzBkODU4NTg0NDg3OWFmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKQEAgLTYwLDEzICs2MCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFZhbGlkYXRpb25N
ZXNzYWdlQ2xpZW50KiB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpIGNvbnN0OwogICAgIHZvaWQg
c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHNldE1lc3NhZ2VET01BbmRTdGFy
dFRpbWVyKFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPiogPSAwKTsKLSAgICB2b2lkIGJ1aWxkQnVi
YmxlVHJlZShUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4qKTsKLSAgICB2b2lkIGRlbGV0ZUJ1YmJs
ZVRyZWUoVGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+KiA9IDApOworICAgIHZvaWQgc2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIoVGltZXIqID0gMCk7CisgICAgdm9pZCBidWlsZEJ1YmJsZVRyZWUo
VGltZXIqKTsKKyAgICB2b2lkIGRlbGV0ZUJ1YmJsZVRyZWUoVGltZXIqID0gMCk7CiAKICAgICBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBtX2VsZW1lbnQ7CiAgICAgU3RyaW5nIG1fbWVzc2FnZTsK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8VmFsaWRhdGlvbk1lc3NhZ2U+PiBtX3RpbWVyOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV90aW1lcjsKICAgICBSZWZQdHI8SFRNTEVsZW1l
bnQ+IG1fYnViYmxlOwogICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9tZXNzYWdlSGVhZGluZzsK
ICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG1fbWVzc2FnZUJvZHk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBiNjgy
YTdlMDQyNjMwMDNkYzUyMzI4MTE5MGFkY2NjZjA0MmYxMzQ0Li4wYmUxZDQwMjcxZjVlMWY0MTgw
NmMwNjQxMmQ3NGI3ODQ4MTM2N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTU5MjMsNyArNTkyMyw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIw
U2ltdWxhdGlvbigpCiAgICAgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNE
OjpBUlJBWV9CVUZGRVIsIG9iamVjdE9yWmVybyhtX2JvdW5kQXJyYXlCdWZmZXIuZ2V0KCkpKTsK
IH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVu
dChUaW1lcjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KikKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoVGltZXIqKQogewogICAgIFJlZlB0cjxXZWJH
TENvbnRleHRFdmVudD4gZXZlbnQgPSBXZWJHTENvbnRleHRFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS53ZWJnbGNvbnRleHRsb3N0RXZlbnQsIGZhbHNlLCB0cnVlLCAiIik7CiAgICAgY2FudmFz
KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQpOwpAQCAtNTkzMiw3ICs1OTMyLDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudChUaW1lcjxXZWJHTFJl
bmRlcmluZ0NvbnRleHQKICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bWF5YmVSZXN0b3JlQ29udGV4dChUaW1l
cjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KikKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpt
YXliZVJlc3RvcmVDb250ZXh0KFRpbWVyKikKIHsKICAgICBBU1NFUlQobV9jb250ZXh0TG9zdCk7
CiAgICAgaWYgKCFtX2NvbnRleHRMb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCA1MGFlNDJjZmFjZDY4MTUwMjJmMDFi
NDZhYjhkOTc5YjQ0MTJhYzc1Li4zNDhiZWZiNDRlMzExNGRhNmU1YjQwZTA5NTMyNjVmMzExYTNl
ZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaApAQCAtNDExLDkgKzQxMSw5IEBAIHByaXZhdGU6CiAgICAgLy8gbGlrZWx5IHRo
YXQgdGhlcmUncyBubyBKYXZhU2NyaXB0IG9uIHRoZSBzdGFjaywgYnV0IHRoYXQgbWlnaHQgYmUg
ZGVwZW5kZW50CiAgICAgLy8gb24gaG93IGV4YWN0bHkgdGhlIHBsYXRmb3JtIGRpc2NvdmVycyB0
aGF0IHRoZSBjb250ZXh0IHdhcyBsb3N0LiBGb3IgYmV0dGVyCiAgICAgLy8gcG9ydGFiaWxpdHkg
d2UgYWx3YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgZXZlbnQuCi0gICAgVGltZXI8V2Vi
R0xSZW5kZXJpbmdDb250ZXh0PiBtX2Rpc3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyOworICAg
IFRpbWVyIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGltZXI7CiAgICAgYm9vbCBtX3Jlc3Rv
cmVBbGxvd2VkOwotICAgIFRpbWVyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4gbV9yZXN0b3JlVGlt
ZXI7CisgICAgVGltZXIgbV9yZXN0b3JlVGltZXI7CiAKICAgICBib29sIG1fbmVlZHNVcGRhdGU7
CiAgICAgYm9vbCBtX21hcmtlZENhbnZhc0RpcnR5OwpAQCAtNzYxLDkgKzc2MSw5IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBzaW11bGF0ZVZlcnRleEF0dHJpYjAoR0MzRHNpemVpIG51bVZlcnRleCk7
CiAgICAgdm9pZCByZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwog
Ci0gICAgdm9pZCBkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoVGltZXI8V2ViR0xSZW5kZXJpbmdD
b250ZXh0PiopOworICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KFRpbWVyKik7CiAg
ICAgLy8gSGVscGVyIGZvciByZXN0b3JhdGlvbiBhZnRlciBjb250ZXh0IGxvc3QuCi0gICAgdm9p
ZCBtYXliZVJlc3RvcmVDb250ZXh0KFRpbWVyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4qKTsKKyAg
ICB2b2lkIG1heWJlUmVzdG9yZUNvbnRleHQoVGltZXIqKTsKIAogICAgIC8vIERldGVybWluZSBp
ZiB3ZSBhcmUgcnVubmluZyBwcml2aWxlZ2VkIGNvZGUgaW4gdGhlIGJyb3dzZXIsIGZvciBleGFt
cGxlLAogICAgIC8vIGEgU2FmYXJpIG9yIENocm9tZSBleHRlbnNpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IGI5MzFk
YTJkODBmNjljZmVlOTU4MTgxMTNjYTU2MWQ5ZjEyM2RhMTMuLjgyNzgxMTAwOTA1Y2EwNDE0NTRh
MjliOGFhODJkMDhjNWE0MGQwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgSFRNTFBhcnNl
clNjaGVkdWxlcjo6fkhUTUxQYXJzZXJTY2hlZHVsZXIoKQogICAgIG1fY29udGludWVOZXh0Q2h1
bmtUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVO
ZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+JiB0aW1lcikKK3Zv
aWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVy
JiB0aW1lcikKIHsKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKICAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCAmdGltZXIgPT0gJm1fY29udGludWVOZXh0Q2h1bmtUaW1lcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggYjQwNGFl
OWMyNGQzNzRjZjYwMzE2MTE3Nzg0ZTAxN2UyOTk3NTNiMi4uYWI3ZTJlZDgxZDFkOTBkNzIwZTc3
YTUzNGYxZDhiM2IyMGI2N2Y2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtOTcsMTMgKzk3LDEzIEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgY29udGludWVOZXh0Q2h1bmtUaW1l
ckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+Jik7CisgICAgdm9pZCBjb250aW51ZU5l
eHRDaHVua1RpbWVyRmlyZWQoVGltZXImKTsKIAogICAgIEhUTUxEb2N1bWVudFBhcnNlciYgbV9w
YXJzZXI7CiAKICAgICBkb3VibGUgbV9wYXJzZXJUaW1lTGltaXQ7CiAgICAgaW50IG1fcGFyc2Vy
Q2h1bmtTaXplOwotICAgIFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IG1fY29udGludWVOZXh0
Q2h1bmtUaW1lcjsKKyAgICBUaW1lciBtX2NvbnRpbnVlTmV4dENodW5rVGltZXI7CiAgICAgYm9v
bCBtX2lzU3VzcGVuZGVkV2l0aEFjdGl2ZVRpbWVyOwogI2lmICFBU1NFUlRfRElTQUJMRUQKICAg
ICBib29sIG1fc3VzcGVuZGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDRjN2JkNzVhMzNkZjdmOTVmYmM5NzE4YmRl
NTY3MjQ4OGUwMGQzNDguLmZjMzU4MzIzNTliZDliOGM2MWY4NGU3ZDEyYzRlMDA3OTM2ZjBkNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1l
bnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVu
dDo6c3RvcFRpbWVyKCkKICAgICAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RvcCgpOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6dHJhbnNpdGlvblRpbWVyRmlyZWQoVGltZXI8
TWVkaWFDb250cm9sUGFuZWxFbGVtZW50PiYpCit2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVu
dDo6dHJhbnNpdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIGhpZGUoKTsKQEAgLTEyNDMsNyArMTI0Myw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4
dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlQWN0aXZlQ3Vlc0ZvbnRTaXplKCkKIAogfQog
Ci12b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZVRpbWVy
RmlyZWQoVGltZXI8TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudD4mKQordm9p
ZCBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAoIWRvY3VtZW50KCkucGFnZSgpKQogICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
aAppbmRleCAxNDc0YWE0N2QxYmU0ZjgwMmZkYjNlMGJlNTY1OGIzOTZiOGE1MGU2Li5jY2I0OTk2
ODNiZmM3NTQ5YTU2NTBjY2FlMTVmMjQzYzliNjZhM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKQEAgLTY1LDcgKzY1LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7
Ci0gICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ+Jik7CisgICAgdm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAg
dm9pZCBzZXRQb3NpdGlvbihjb25zdCBMYXlvdXRQb2ludCYpOwogCkBAIC03Niw3ICs3Niw3IEBA
IHByaXZhdGU6CiAgICAgTGF5b3V0UG9pbnQgbV9sYXN0RHJhZ0V2ZW50TG9jYXRpb247CiAgICAg
TGF5b3V0UG9pbnQgbV9jdW11bGF0aXZlRHJhZ09mZnNldDsKIAotICAgIFRpbWVyPE1lZGlhQ29u
dHJvbFBhbmVsRWxlbWVudD4gbV90cmFuc2l0aW9uVGltZXI7CisgICAgVGltZXIgbV90cmFuc2l0
aW9uVGltZXI7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC00NTEs
NyArNDUxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZXhpdGVkRnVsbHNjcmVlbigpOwogCiBwcml2
YXRlOgotICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xUZXh0VHJh
Y2tDb250YWluZXJFbGVtZW50PiYpOworICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lciYp
OwogICAgIHZvaWQgdXBkYXRlQWN0aXZlQ3Vlc0ZvbnRTaXplKCk7CiAKICAgICBleHBsaWNpdCBN
ZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50KERvY3VtZW50Jik7CkBAIC00NjUs
NyArNDY1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0eWxlRm9yVGV4dFRyYWNrUmVw
cmVzZW50YXRpb24oKTsKICAgICBPd25QdHI8VGV4dFRyYWNrUmVwcmVzZW50YXRpb24+IG1fdGV4
dFRyYWNrUmVwcmVzZW50YXRpb247CiAKLSAgICBUaW1lcjxNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50PiBtX3VwZGF0ZVRpbWVyOworICAgIFRpbWVyIG1fdXBkYXRlVGltZXI7
CiAgICAgSW50UmVjdCBtX3ZpZGVvRGlzcGxheVNpemU7CiAgICAgaW50IG1fZm9udFNpemU7CiAg
ICAgYm9vbCBtX2ZvbnRTaXplSXNJbXBvcnRhbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwCmluZGV4IDcxMjlmZTY2MTczYWZmN2U0MTFmNzQ1ZTQzOTU5
YTIyMjc3OWRmZGMuLjc4NzIyMGZlZTBiY2ZmNzEwODdhMmIzYWMwZDU1NDNjMTgyODE1YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCkBAIC0zMzAs
NyArMzMwLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xzOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
KiBldmVudCkKICAgICB9CiB9CiAKLXZvaWQgTWVkaWFDb250cm9sczo6aGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9scz4mKQordm9pZCBNZWRpYUNvbnRy
b2xzOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYg
KG1fbWVkaWFDb250cm9sbGVyLT5wYXVzZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCmluZGV4IDZlMTdlMzViNDM2NWZiMGRh
NGFkZmI5MmYzYjcyZWY4YTU3ZjBjM2UuLmE2NDRjOGVhOTI3YTM3MTM5MDYyNDM2ZTEzZjM5NGM0
NTkwYjE2OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgK
QEAgLTk3LDcgKzk3LDcgQEAgY2xhc3MgTWVkaWFDb250cm9scyA6IHB1YmxpYyBIVE1MRGl2RWxl
bWVudCB7CiAgICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKSBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgdm9pZCBoaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xzPiYpOworICAg
IHZpcnR1YWwgdm9pZCBoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lciYpOwog
ICAgIHZpcnR1YWwgdm9pZCBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogICAg
IHZpcnR1YWwgdm9pZCBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiAKQEAgLTEz
Nyw3ICsxMzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2Fw
dGlvbnNCdXR0b25FbGVtZW50KiBtX3RvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uOwogICAgIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KiBtX2Z1bGxTY3JlZW5CdXR0b247CiAK
LSAgICBUaW1lcjxNZWRpYUNvbnRyb2xzPiBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsK
KyAgICBUaW1lciBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsKICAgICBib29sIG1faXNG
dWxsc2NyZWVuOwogICAgIGJvb2wgbV9pc01vdXNlT3ZlckNvbnRyb2xzOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggYmJkZDAx
YjlhMDk2NWM5NjUwNTZjOWNjODkzYzNmYWRjZjNiNWQwOC4uOTgzNjk2NWY3MWQ0NWU4MTQyZjUx
MDZjMDY1MmI3YzI1MjU5MzRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1NwaW5CdXR0b25FbGVtZW50LmNwcApAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgU3BpbkJ1dHRv
bkVsZW1lbnQ6OnN0ZXAoaW50IGFtb3VudCkKICAgICBkb1N0ZXBBY3Rpb24oYW1vdW50KTsKIH0K
ICAgICAKLXZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGluZ1RpbWVyRmlyZWQoVGltZXI8
U3BpbkJ1dHRvbkVsZW1lbnQ+KikKK3ZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlcGVhdGluZ1Rp
bWVyRmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3VwRG93blN0YXRlICE9IEluZGV0ZXJtaW5h
dGUpCiAgICAgICAgIHN0ZXAobV91cERvd25TdGF0ZSA9PSBVcCA/IDEgOiAtMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaAppbmRleCAxMTM5NjAx
ZTJlMDI5N2ExNmNlYTZjY2FhM2NkMTNmMjExZjA1YmRlLi4xOGNmYTJkNWVjYjQwYjY2ZTFkY2Iy
YmNhM2E2YmFjMWYxODI4MzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9TcGluQnV0dG9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Nw
aW5CdXR0b25FbGVtZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRv
U3RlcEFjdGlvbihpbnQpOwogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAgIHZv
aWQgc3RvcFJlcGVhdGluZ1RpbWVyKCk7Ci0gICAgdm9pZCByZXBlYXRpbmdUaW1lckZpcmVkKFRp
bWVyPFNwaW5CdXR0b25FbGVtZW50PiopOworICAgIHZvaWQgcmVwZWF0aW5nVGltZXJGaXJlZChU
aW1lciopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIb3ZlcmVkKGJvb2wgPSB0cnVlKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZFJlc3BvbmRUb01vdXNlRXZlbnRzKCk7CiAgICAgdmlydHVhbCBi
b29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQpA
QCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jYXB0dXJpbmc7CiAgICAgVXBE
b3duU3RhdGUgbV91cERvd25TdGF0ZTsKICAgICBVcERvd25TdGF0ZSBtX3ByZXNzU3RhcnRpbmdT
dGF0ZTsKLSAgICBUaW1lcjxTcGluQnV0dG9uRWxlbWVudD4gbV9yZXBlYXRpbmdUaW1lcjsKKyAg
ICBUaW1lciBtX3JlcGVhdGluZ1RpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRl
eCBiZjk1MjNkNzI4MzM0ZDllOWE2MDJkZGJiY2UzODE5Yzc4NTc1ZTYzLi5iZGM0ZGZhMGQxZWY3
NWZlNmEwNTA5YzMyOGZjNTQ4OGIzYzE4OWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpzZXRUcmFja0VsZW1lbnQoSFRNTFRyYWNrRWxlbWVudCogZWxlbWVudCkK
ICAgICBtX3RyYWNrRWxlbWVudCA9IGVsZW1lbnQ7CiB9CiAKLXZvaWQgTG9hZGFibGVUZXh0VHJh
Y2s6OmxvYWRUaW1lckZpcmVkKFRpbWVyPExvYWRhYmxlVGV4dFRyYWNrPiYpCit2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpsb2FkVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fbG9hZGVy
KQogICAgICAgICBtX2xvYWRlci0+Y2FuY2VsTG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCmluZGV4IDA2ZTNmZWFmOTZhMDk4YjhhMGRlMTUw
OTJkZDhhZWQxMWVmYjYyMzAuLmFhZDJhMDgyNmZlYTZiMDQzNGJmOWY2NWVhODQ2MzYxMTEyZDBi
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJh
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgK
QEAgLTcwLDEwICs3MCwxMCBAQCBwcml2YXRlOgogCiAgICAgTG9hZGFibGVUZXh0VHJhY2soSFRN
TFRyYWNrRWxlbWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7CiAKLSAgICB2b2lkIGxvYWRUaW1lckZpcmVkKFRpbWVy
PExvYWRhYmxlVGV4dFRyYWNrPiYpOworICAgIHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIEhUTUxUcmFja0VsZW1lbnQqIG1fdHJhY2tFbGVtZW50OwotICAgIFRpbWVyPExvYWRh
YmxlVGV4dFRyYWNrPiBtX2xvYWRUaW1lcjsKKyAgICBUaW1lciBtX2xvYWRUaW1lcjsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8VGV4dFRyYWNrTG9hZGVyPiBtX2xvYWRlcjsKICAgICBVUkwgbV91cmw7
CiAgICAgYm9vbCBtX2lzRGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmNwcAppbmRleCA2ZmI1YWFkYjA3NDgzMjAzYjkyZDgzMTBkY2M3ODY3ZGUxMzAxMjUxLi4zOGEx
YzZhZTFhZDIzZjBhYTE0ZDc3NzNkOTljZjI1ZDZkMjY0MDg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WVFRSZWdpb24uY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBWVFRSZWdpb246
OnN0b3BUaW1lcigpCiAgICAgICAgIG1fc2Nyb2xsVGltZXIuc3RvcCgpOwogfQogCi12b2lkIFZU
VFJlZ2lvbjo6c2Nyb2xsVGltZXJGaXJlZChUaW1lcjxWVFRSZWdpb24+KikKK3ZvaWQgVlRUUmVn
aW9uOjpzY3JvbGxUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBMT0coTWVkaWEsICJWVFRSZWdp
b246OnNjcm9sbFRpbWVyRmlyZWQiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9WVFRSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmgKaW5kZXggZTE2MmY1MmI1NzI2NDk4ODRkOTYyY2JhNTFkZDc3MjMxNDI5ZWU1Ni4uMDQxMzM4
NTFkNmM4OWJjZDI2NzE1ODVkNDNhNGNjZDU5YWRlYWU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5oCkBAIC0xMDUsNyArMTA1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBUaGUg
dGltZXIgaXMgbmVlZGVkIHRvIGNvbnRpbnVlIHByb2Nlc3Npbmcgd2hlbiBjdWUgc2Nyb2xsaW5n
IGVuZGVkLgogICAgIHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0g
ICAgdm9pZCBzY3JvbGxUaW1lckZpcmVkKFRpbWVyPFZUVFJlZ2lvbj4qKTsKKyAgICB2b2lkIHNj
cm9sbFRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIGVudW0gUmVnaW9uU2V0dGluZyB7CiAgICAg
ICAgIE5vbmUsCkBAIC0xNTUsNyArMTU1LDcgQEAgcHJpdmF0ZToKICAgICAvLyBzb29uIGFzIHRo
ZSBhbmltYXRpb24gZm9yIHJvbGxpbmcgb3V0IG9uZSBsaW5lIGhhcyBmaW5pc2hlZCwgYnV0CiAg
ICAgLy8gY3VycmVudGx5IGl0IGlzIHVzZWQgYWxzbyBmb3Igbm9uLXNjcm9sbGluZyByZWdpb25z
IHRvIHVzZSBhIHNpbmdsZQogICAgIC8vIGNvZGUgcGF0aC4KLSAgICBUaW1lcjxWVFRSZWdpb24+
IG1fc2Nyb2xsVGltZXI7CisgICAgVGltZXIgbV9zY3JvbGxUaW1lcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NT
QWdlbnQuY3BwCmluZGV4IDcxYzhjNTgwMzk2MjhkMmJiZTRlOTUyNjcyYWI3ZDFjNDg0MWU4Mjgu
LmY1N2VhMzM5ZDQxM2VlNGRhMjQyMTc0ZGNkYzEyMDQ4MDM3NzRlMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMTA5LDExICsxMDks
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiwgaW50
IGRvY3VtZW50Tm9kZUlkKTsKICAgICB2b2lkIHVuc2NoZWR1bGUoV2ViS2l0TmFtZWRGbG93Kik7
CiAgICAgdm9pZCByZXNldCgpOwotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogcHJpdmF0
ZToKICAgICBJbnNwZWN0b3JDU1NBZ2VudCogbV9jc3NBZ2VudDsKLSAgICBUaW1lcjxDaGFuZ2VS
ZWdpb25PdmVyc2V0VGFzaz4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogICAgIEhhc2hN
YXA8V2ViS2l0TmFtZWRGbG93KiwgaW50PiBtX25hbWVkRmxvd3M7CiB9OwogCkBAIC0xNDIsNyAr
MTQyLDcgQEAgdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6cmVzZXQoKQogICAgIG1fbmFt
ZWRGbG93cy5jbGVhcigpOwogfQogCi12b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp0aW1l
ckZpcmVkKFRpbWVyPENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrPiYpCit2b2lkIENoYW5nZVJlZ2lv
bk92ZXJzZXRUYXNrOjp0aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICAvLyBUaGUgdGltZXIgaXMg
c3RvcHBlZCBvbiBtX2Nzc0FnZW50IGRlc3RydWN0aW9uLCBzbyB0aGlzIG1ldGhvZCB3aWxsIG5l
dmVyIGJlIGNhbGxlZCBhZnRlciBtX2Nzc0FnZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICBm
b3IgKEhhc2hNYXA8V2ViS2l0TmFtZWRGbG93KiwgaW50Pjo6aXRlcmF0b3IgaXQgPSBtX25hbWVk
Rmxvd3MuYmVnaW4oKSwgZW5kID0gbV9uYW1lZEZsb3dzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRl
eCA0OTZlYmI0YWE1YWI4OTIwNzM2NzFiYzI3ZTJmYjRhZjQ4NWM5YzkyLi4zMzc1NDczYzliNDM4
OWM3NTA5Mzk2OTIwMDhhZDQ1ZWEyYTBkYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE2MiwxMSArMTYyLDExIEBAIHB1YmxpYzoK
ICAgICBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrKEluc3BlY3RvckRPTUFnZW50Kik7CiAg
ICAgdm9pZCBzY2hlZHVsZUZvcihFbGVtZW50Kik7CiAgICAgdm9pZCByZXNldCgpIHsgbV90aW1l
ci5zdG9wKCk7IH0KLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8UmV2YWxpZGF0ZVN0eWxlQXR0
cmlidXRlVGFzaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAogcHJpdmF0ZToK
ICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2VudDsKLSAgICBUaW1lcjxSZXZhbGlkYXRl
U3R5bGVBdHRyaWJ1dGVUYXNrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgSGFz
aFNldDxSZWZQdHI8RWxlbWVudD4+IG1fZWxlbWVudHM7CiB9OwogCkBAIC0xODMsNyArMTgzLDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
ZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKFRpbWVyPFJldmFsaWRhdGVT
dHlsZUF0dHJpYnV0ZVRhc2s+JikKK3ZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6
dGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgLy8gVGhlIHRpbWVyIGlzIHN0b3BwZWQgb24gbV9k
b21BZ2VudCBkZXN0cnVjdGlvbiwgc28gdGhpcyBtZXRob2Qgd2lsbCBuZXZlciBiZSBjYWxsZWQg
YWZ0ZXIgbV9kb21BZ2VudCBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgVmVjdG9yPEVsZW1lbnQq
PiBlbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA5YWNhN2I4M2IxZTVhOTUwZTA4ODgx
ZjQ1YTc4MTA2ZDNlNzA4M2FiLi42Yjk3ODIzY2JkY2NlNjQ5OTcxNWVlMjM0YWE1ZmNmYWIyZGY3
M2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV90aW1lci5zdG9wKCk7CiAgICAgfQogCi0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s+JikKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXIm
KQogICAgIHsKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1wdHkoKSkgewogICAgICAgICAg
ICAgLy8gRGlzcGF0Y2ggY2FuIGxlYWQgdG8gdGhlIHRpbWVyIGRlc3RydWN0aW9uIC0+IHNjaGVk
dWxlIHRoZSBuZXh0IHNob3QgZmlyc3QuCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsK
LSAgICBUaW1lcjxJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrPiBtX3RpbWVyOworICAgIFRp
bWVyIG1fdGltZXI7CiAgICAgRGVxdWU8U3RyaW5nPiBtX21lc3NhZ2VzOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IGUxNGQxZmE3
MDFmYTExYjUxMGM0NGNlZGUyYTA0ZDUwYWVkZjUyNmUuLjFlZDFlOTc0NzQ5YmEyZDlhM2IwNDI0
ZTE0MGVhNTFmNjdlMmQ4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIGZvcmNlUGFpbnQoKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JPdmVybGF5Ojp1cGRhdGVQYWludFJlY3RzVGltZXJGaXJlZChU
aW1lcjxJbnNwZWN0b3JPdmVybGF5PiYpCit2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnVwZGF0ZVBh
aW50UmVjdHNUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjp0aW1lX3BvaW50IG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwog
ICAgIGJvb2wgcmVjdHNDaGFuZ2VkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck92ZXJsYXkuaAppbmRleCA0YjgxM2YzNjk4YjYyZjZiOTYwZGVmOGIyYWIzMGQ3
MzdkNWRhNzlhLi44OTA4MjkyYzhmNjYwYjdjOTEyY2Q4ODUzODE0ZmE5ODY0NjI3MjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmgKQEAgLTEzOSw3ICsx
MzksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd1F1YWRIaWdobGlnaHQoKTsKICAgICB2b2lk
IGRyYXdQYXVzZWRJbkRlYnVnZ2VyTWVzc2FnZSgpOwogICAgIHZvaWQgZHJhd1BhaW50UmVjdHMo
KTsKLSAgICB2b2lkIHVwZGF0ZVBhaW50UmVjdHNUaW1lckZpcmVkKFRpbWVyPEluc3BlY3Rvck92
ZXJsYXk+Jik7CisgICAgdm9pZCB1cGRhdGVQYWludFJlY3RzVGltZXJGaXJlZChUaW1lciYpOwog
CiAgICAgUGFnZSogb3ZlcmxheVBhZ2UoKTsKIApAQCAtMTYwLDcgKzE2MCw3IEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCwgRmxvYXRSZWN0PiBUaW1lUmVjdFBhaXI7CiAgICAgRGVxdWU8VGltZVJlY3RQ
YWlyPiBtX3BhaW50UmVjdHM7Ci0gICAgVGltZXI8SW5zcGVjdG9yT3ZlcmxheT4gbV9wYWludFJl
Y3RVcGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyOwogICAgIGJv
b2wgbV9pbmRpY2F0aW5nOwogICAgIGJvb2wgbV9zaG93aW5nUGFpbnRSZWN0czsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA5NzdlZDE0YjBlMjE2MzY4
YjExMGIyNWMzMjY0ZDEyNTAxM2I2Yzc2Li4xZjE3NWM3MjAyZTMxODVkMWZjYzA5MGRkNzA4OTJh
M2MyMzU3MGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTExMjUsNyArMTEyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0dXRl
UmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZl
cnlUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgRG9jdW1lbnRMb2FkZXI6OnN1YnN0
aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudExvYWRlcj4mKQor
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBpZiAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcy5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgK
aW5kZXggNmQwODEwZTcxY2RkYWE3NTU3MmJkMGQ1ZTAxZWFkNTMzNDBjYmM2Yi4uNTBmMDRhMWNl
ODIyYmE2M2YwMzExNjczNmMzMDUwODkxMGIwYTFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKQEAgLTMxMywxNCArMzEzLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgICAgIHR5cGVkZWYgUnVuTG9vcFRpbWVyPERv
Y3VtZW50TG9hZGVyPiBEb2N1bWVudExvYWRlclRpbWVyOwogI2Vsc2UKLSAgICAgICAgdHlwZWRl
ZiBUaW1lcjxEb2N1bWVudExvYWRlcj4gRG9jdW1lbnRMb2FkZXJUaW1lcjsKKyAgICAgICAgdHlw
ZWRlZiBUaW1lciBEb2N1bWVudExvYWRlclRpbWVyOwogI2VuZGlmCiAgICAgICAgIHZvaWQgaGFu
ZGxlU3Vic3RpdHV0ZURhdGFMb2FkU29vbigpOwogICAgICAgICB2b2lkIGhhbmRsZVN1YnN0aXR1
dGVEYXRhTG9hZE5vdyhEb2N1bWVudExvYWRlclRpbWVyKik7CiAgICAgICAgIHZvaWQgc3RhcnRE
YXRhTG9hZFRpbWVyKCk7CiAKICAgICAgICAgdm9pZCBkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNl
c0FmdGVyRGVsYXkoKTsKLSAgICAgICAgdm9pZCBzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyRmlyZWQoVGltZXI8RG9jdW1lbnRMb2FkZXI+Jik7CisgICAgICAgIHZvaWQgc3Vic3RpdHV0
ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICAgICAgdm9pZCBjbGVh
ck1haW5SZXNvdXJjZSgpOwogCkBAIC0zODYsNyArMzg2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxSZXNvdXJjZUxvYWRl
cj4sIFJlZlB0cjxTdWJzdGl0dXRlUmVzb3VyY2U+PiBTdWJzdGl0dXRlUmVzb3VyY2VNYXA7CiAg
ICAgICAgIFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2Vz
OwotICAgICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxp
dmVyeVRpbWVyOworICAgICAgICBUaW1lciBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGlt
ZXI7CiAKICAgICAgICAgT3duUHRyPEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24+IG1fYXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbjsKICNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpIHx8IEVOQUJMRShN
SFRNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGI1N2U2N2U2NTgy
ZGYwMTg4NGNkNjNkMWYzYmI4NDEzZWQ4MTYxYzMuLmRkYmNlMGRjYzU3NzMxNzRmY2NhNDcxYWY3
MTk1ZDA2Nzk2YzM4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAt
ODUwLDcgKzg1MCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkKCkKICAgICAg
ICAgY2hlY2tMb2FkQ29tcGxldGUoKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6Y2hlY2tUaW1l
ckZpcmVkKFRpbWVyPEZyYW1lTG9hZGVyPiYpCit2b2lkIEZyYW1lTG9hZGVyOjpjaGVja1RpbWVy
RmlyZWQoVGltZXImKQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3OTI1ZTRkYmE2ZmM1MzBlMDgyMzg3N2Q0
MDM1MmJhOTVmMTM4MGQ5Li4xNTYwY2ExODdhZDI0ZDQ1NWE4NGY4NWQwMWU5NzA2ZTQ1ODI3MTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMjk5LDcgKzI5OSw3IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIGFsbENoaWxkcmVuQXJlQ29tcGxldGUoKSBjb25zdDsgLy8gaW1t
ZWRpYXRlIGNoaWxkcmVuLCBub3QgYWxsIGRlc2NlbmRhbnRzCiAKLSAgICB2b2lkIGNoZWNrVGlt
ZXJGaXJlZChUaW1lcjxGcmFtZUxvYWRlcj4mKTsKKyAgICB2b2lkIGNoZWNrVGltZXJGaXJlZChU
aW1lciYpOwogICAgIAogICAgIHZvaWQgbG9hZFNhbWVEb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0q
KTsKICAgICB2b2lkIGxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0qLCBGcmFt
ZUxvYWRUeXBlLCBGb3JtU3VibWlzc2lvbkNhY2hlTG9hZFBvbGljeSk7CkBAIC00MjMsNyArNDIz
LDcgQEAgcHJpdmF0ZToKIAogICAgIFVSTCBtX3N1Ym1pdHRlZEZvcm1VUkw7CiAKLSAgICBUaW1l
cjxGcmFtZUxvYWRlcj4gbV9jaGVja1RpbWVyOworICAgIFRpbWVyIG1fY2hlY2tUaW1lcjsKICAg
ICBib29sIG1fc2hvdWxkQ2FsbENoZWNrQ29tcGxldGVkOwogICAgIGJvb2wgbV9zaG91bGRDYWxs
Q2hlY2tMb2FkQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmlu
ZGV4IDBmMDY3NzQyZTRmYzY5MjdjNjc5YjQ4OTZlMzAwYjU4NjM3YWViMzkuLjYwMmZiOWRiMWM2
YzE5ZjI5Mzc4MDQ1MzFmMGI2ZDY5ZTgwMDNjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcApAQCAtMzc0LDcgKzM3NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZWRI
YXNQZW5kaW5nRXZlbnQoKQogICAgIH0gICAKIH0KIAotdm9pZCBJbWFnZUxvYWRlcjo6dGltZXJG
aXJlZChUaW1lcjxJbWFnZUxvYWRlcj4mKQordm9pZCBJbWFnZUxvYWRlcjo6dGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgZWxlbWVudCgpLmRlcmVmKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5oCmluZGV4IDVmMzcyNGNjYWJiNjVlZmE3OGJmZGY4NjdkYTFmMjc4ZDRkZGQ3M2Qu
LjgzYWQ4ZGNmMDUzMWFkZDhmMGIwOTNiNDRkM2FhM2U4NDFhYTRhMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5oCkBAIC05MSwxMSArOTEsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNldEltYWdlV2l0aG91dENvbnNpZGVyaW5nUGVuZGluZ0xvYWRFdmVudChDYWNoZWRJbWFnZSop
OwogICAgIHZvaWQgY2xlYXJGYWlsZWRMb2FkVVJMKCk7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQo
VGltZXI8SW1hZ2VMb2FkZXI+Jik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyJik7CiAKICAg
ICBFbGVtZW50JiBtX2VsZW1lbnQ7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1h
Z2U+IG1faW1hZ2U7Ci0gICAgVGltZXI8SW1hZ2VMb2FkZXI+IG1fZGVyZWZFbGVtZW50VGltZXI7
CisgICAgVGltZXIgbV9kZXJlZkVsZW1lbnRUaW1lcjsKICAgICBBdG9taWNTdHJpbmcgbV9mYWls
ZWRMb2FkVVJMOwogICAgIGJvb2wgbV9oYXNQZW5kaW5nQmVmb3JlTG9hZEV2ZW50IDogMTsKICAg
ICBib29sIG1faGFzUGVuZGluZ0xvYWRFdmVudCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xv
YWRlci5jcHAKaW5kZXggZTYzYmJmMGMyMmU1NmQ2Y2VhMTVhZjMxZmU3ZDhlMzlhNDk3YjcyNC4u
OTk1ZmM3MDU1MDBlNTI1Y2RlYTQ4YTA1NWYwZWU0NWU0ZDcyOTIwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9MaW5rTG9hZGVyLmNwcApAQCAtNjAsMTMgKzYwLDEzIEBAIExpbmtMb2FkZXI6On5MaW5r
TG9hZGVyKCkKICAgICAgICAgbV9jYWNoZWRMaW5rUmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlz
KTsKIH0KIAotdm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xv
YWRlcj4mIHRpbWVyKQordm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXIm
IHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9h
ZFRpbWVyKTsKICAgICBtX2NsaWVudC0+bGlua0xvYWRlZCgpOwogfQogCi12b2lkIExpbmtMb2Fk
ZXI6OmxpbmtMb2FkaW5nRXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+JiB0aW1lcikK
K3ZvaWQgTGlua0xvYWRlcjo6bGlua0xvYWRpbmdFcnJvclRpbWVyRmlyZWQoVGltZXImIHRpbWVy
KQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9hZGluZ0Vy
cm9yVGltZXIpOwogICAgIG1fY2xpZW50LT5saW5rTG9hZGluZ0Vycm9yZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTGlua0xvYWRlci5oCmluZGV4IDQyYjc1NmM0MzI0YTJhZWYxNTZhMjY2NmYxYzQ0NzQ1
MzlhYmMxYWMuLmFkNGQ1NzlmMDhjY2UzMzc1M2NhZTcwNWNjOWZhOWNjMzZiMzE5YjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaApAQCAtNTksMTQgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBib29sIGxvYWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IFN0cmluZyYgc2l6ZXMsIGNvbnN0IFVSTCYsIERvY3VtZW50Kik7CiAKIHByaXZh
dGU6Ci0gICAgdm9pZCBsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xvYWRlcj4mKTsKLSAg
ICB2b2lkIGxpbmtMb2FkaW5nRXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+Jik7Cisg
ICAgdm9pZCBsaW5rTG9hZFRpbWVyRmlyZWQoVGltZXImKTsKKyAgICB2b2lkIGxpbmtMb2FkaW5n
RXJyb3JUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBMaW5rTG9hZGVyQ2xpZW50KiBtX2NsaWVu
dDsKIAogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBtX2NhY2hlZExp
bmtSZXNvdXJjZTsKLSAgICBUaW1lcjxMaW5rTG9hZGVyPiBtX2xpbmtMb2FkVGltZXI7Ci0gICAg
VGltZXI8TGlua0xvYWRlcj4gbV9saW5rTG9hZGluZ0Vycm9yVGltZXI7CisgICAgVGltZXIgbV9s
aW5rTG9hZFRpbWVyOworICAgIFRpbWVyIG1fbGlua0xvYWRpbmdFcnJvclRpbWVyOwogfTsKICAg
ICAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApp
bmRleCAyMWMzODA0Y2RjN2JmNzc3YjMxOTBjYmMzMjBhOWMyMDI3MWYwMmRmLi5hYzZlMDhhODcy
NTVhZDkxOTc3Yzc5MDMzNGU1NTllZTk2MWVjOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSYpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRTdGFydFRpbWVyKEZyYW1lJikgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBk
aWRTdGFydFRpbWVyKEZyYW1lJiwgVGltZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4mKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRUaW1lcihGcmFtZSYsIFRpbWVyJikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYsIGJvb2wgLyogbmV3TG9hZEluUHJvZ3Jlc3Mg
Ki8pIHsgfQogCiAgICAgZG91YmxlIGRlbGF5KCkgY29uc3QgeyByZXR1cm4gbV9kZWxheTsgfQpA
QCAtMTEzLDcgKzExMyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hh
bmdlTG9jYXRpb24obV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgbV91cmwsIG1fcmVmZXJyZXIsIGxv
Y2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgZmFsc2UpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBkaWRTdGFydFRpbWVyKEZyYW1lJiBmcmFtZSwgVGltZXI8TmF2aWdhdGlv
blNjaGVkdWxlcj4mIHRpbWVyKSBvdmVycmlkZQorICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFRp
bWVyKEZyYW1lJiBmcmFtZSwgVGltZXImIHRpbWVyKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
aWYgKG1faGF2ZVRvbGRDbGllbnQpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yNDksNyArMjQ5
LDcgQEAgcHVibGljOgogICAgICAgICBmcmFtZS5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KGZy
YW1lUmVxdWVzdCwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBtX3N1Ym1p
c3Npb24tPmV2ZW50KCksIG1fc3VibWlzc2lvbi0+c3RhdGUoKSwgTWF5YmVTZW5kUmVmZXJyZXIs
IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzKTsKICAgICB9CiAgICAgCi0gICAgdmly
dHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIoRnJhbWUmIGZyYW1lLCBUaW1lcjxOYXZpZ2F0aW9uU2No
ZWR1bGVyPiYgdGltZXIpIG92ZXJyaWRlCisgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0VGltZXIo
RnJhbWUmIGZyYW1lLCBUaW1lciYgdGltZXIpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAo
bV9oYXZlVG9sZENsaWVudCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQzMCw3ICs0MzAsNyBA
QCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlSGlzdG9yeU5hdmlnYXRpb24oaW50
IHN0ZXBzKQogICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlxdWU8U2NoZWR1bGVkSGlzdG9yeU5h
dmlnYXRpb24+KHN0ZXBzKSk7CiB9CiAKLXZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6dGltZXJG
aXJlZChUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiYpCit2b2lkIE5hdmlnYXRpb25TY2hlZHVs
ZXI6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmICghbV9mcmFtZS5wYWdlKCkpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5o
CmluZGV4IDdkYjIxYTcyYzFkNjI4N2Q1MGZmNTczNzkwNzllZjgzYzNkOWMzN2MuLjM1NmYxODhm
YjIwM2I1MDgzOGUxMDE3YTAxMTg0NDg1NmM5ZWI2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtODMsMTMgKzgzLDEzIEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBzaG91bGRTY2hlZHVsZU5hdmlnYXRpb24oKSBjb25zdDsKICAgICBib29sIHNob3Vs
ZFNjaGVkdWxlTmF2aWdhdGlvbihjb25zdCBVUkwmKSBjb25zdDsKIAotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lciYpOwogICAgIHZvaWQgc2NoZWR1bGUoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmln
YXRpb24+KTsKIAogICAgIHN0YXRpYyBMb2NrQmFja0ZvcndhcmRMaXN0IG11c3RMb2NrQmFja0Zv
cndhcmRMaXN0KEZyYW1lJiB0YXJnZXRGcmFtZSk7CiAKICAgICBGcmFtZSYgbV9mcmFtZTsKLSAg
ICBUaW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZE5hdmlnYXRpb24+IG1fcmVkaXJlY3Q7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCBiM2JlYzA2Y2JiYmExMWZlNzJk
YzZkMDdlOTVkZjU2NmQ0ZWZkOGJmLi5iN2I4NWVmYjNiMmZmMGZmZmU3MGEzODJmMzNlNWVhNzhj
MzI5ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTY5LDEwICs2OSwxMCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFu
ZGxlKiwgZG91YmxlKSBvdmVycmlkZSB7IGRlbGV0ZSB0aGlzOyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGUg
eyBkZWxldGUgdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZShSZXNvdXJjZUhhbmRsZSopICBvdmVycmlkZSB7IHJldHVybiBtX3Nob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlOyB9Ci0gICAgdm9pZCB0aW1lb3V0VGltZXJGaXJlZChUaW1lcjxQaW5nTG9h
ZGVyPiYpIHsgZGVsZXRlIHRoaXM7IH0KKyAgICB2b2lkIHRpbWVvdXRUaW1lckZpcmVkKFRpbWVy
JikgeyBkZWxldGUgdGhpczsgfQogCiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBtX2hhbmRs
ZTsKLSAgICBUaW1lcjxQaW5nTG9hZGVyPiBtX3RpbWVvdXQ7CisgICAgVGltZXIgbV90aW1lb3V0
OwogICAgIGJvb2wgbV9zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggMjBkNDQ2MTA5MDEwZTU1NTgz
MmIzYmIyYjYxNjg0MDMzN2UyZGQ0MC4uZTllOTUwNDAwY2ViNjU0OWVjNjhlM2FkY2Q2OGQxY2M3
ZDY3YTYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAg
LTMwNSw3ICszMDUsNyBAQCBib29sIFByb2dyZXNzVHJhY2tlcjo6aXNNYWluTG9hZFByb2dyZXNz
aW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9wcm9ncmVzc1ZhbHVlICYmIG1fcHJvZ3Jlc3NWYWx1
ZSA8IGZpbmFsUHJvZ3Jlc3NWYWx1ZSAmJiBtX2hlYXJ0YmVhdHNXaXRoTm9Qcm9ncmVzcyA8IGxv
YWRTdGFsbGVkSGVhcnRiZWF0Q291bnQ7CiB9CiAKLXZvaWQgUHJvZ3Jlc3NUcmFja2VyOjpwcm9n
cmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NUcmFja2VyPiYpCit2b2lkIFBy
b2dyZXNzVHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBpZiAobV90b3RhbEJ5dGVzUmVjZWl2ZWQgPCBtX3RvdGFsQnl0ZXNSZWNlaXZlZEJlZm9yZVBy
ZXZpb3VzSGVhcnRiZWF0ICsgbWludW11bUJ5dGVzUGVySGVhcnRiZWF0Rm9yUHJvZ3Jlc3MpCiAg
ICAgICAgICsrbV9oZWFydGJlYXRzV2l0aE5vUHJvZ3Jlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNDQwM2I0ZDY5Y2E5MDMwYTk2YTljNGFhMzM2ZWQ4OWIy
Y2Y0MjQ3ZC4uOGEzOWExMTUxN2RlZjU0OGE2YjQ0ZWU5NjEzZWRkYjAxYzI4YjczMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtNjYsNyArNjYsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGZpbmFsUHJvZ3Jlc3NDb21wbGV0ZSgp
OwogCi0gICAgdm9pZCBwcm9ncmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NU
cmFja2VyPiYpOworICAgIHZvaWQgcHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyJik7
CiAgICAgCiAgICAgc3RhdGljIHVuc2lnbmVkIGxvbmcgc191bmlxdWVJZGVudGlmaWVyOwogICAg
IApAQCAtODIsNyArODIsNyBAQCBwcml2YXRlOgogICAgIGludCBtX251bVByb2dyZXNzVHJhY2tl
ZEZyYW1lczsKICAgICBIYXNoTWFwPHVuc2lnbmVkIGxvbmcsIHN0ZDo6dW5pcXVlX3B0cjxQcm9n
cmVzc0l0ZW0+PiBtX3Byb2dyZXNzSXRlbXM7CiAKLSAgICBUaW1lcjxQcm9ncmVzc1RyYWNrZXI+
IG1fcHJvZ3Jlc3NIZWFydGJlYXRUaW1lcjsKKyAgICBUaW1lciBtX3Byb2dyZXNzSGVhcnRiZWF0
VGltZXI7CiAgICAgdW5zaWduZWQgbV9oZWFydGJlYXRzV2l0aE5vUHJvZ3Jlc3M7CiAgICAgbG9u
ZyBsb25nIG1fdG90YWxCeXRlc1JlY2VpdmVkQmVmb3JlUHJldmlvdXNIZWFydGJlYXQ7CiAgICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX21haW5Mb2FkQ29tcGxldGlv
blRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCmluZGV4IDhhNDFiODc1NWIwZDEzYzkyYzIyOTc2ZDBkNzE1MjQzMzA1OTQ2Y2EuLjZkOGI5
ZTdmZTQ5NmJhOTU1YTE4ODg3ZmU5YjYwNWQ3MDZjMjhlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCkBAIC0zMzIsNyArMzMyLDcgQEAg
dm9pZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMo
KQogICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+JikKK3ZvaWQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJl
ZChUaW1lciYpCiB7CiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6cmVxdWVzdFRpbWVyRmlyZWRcbiIpOwogICAgIHNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXgg
NDExMWU3OTA5MjI3ZDI2OGQ2MTlkZjc1NjFkM2E5YmU1NjI5YTlkMC4uNWIzNzQyZjM5MzFmMDlm
YzM1YTkxNmI2NTFiMjYxOTk0MWFlMzM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2
YXRlOgogICAgIHZvaWQgc2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyKik7CiAgICAgdm9pZCBz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7Ci0gICAgdm9pZCByZXF1ZXN0VGltZXJGaXJl
ZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Jik7CisgICAgdm9pZCByZXF1ZXN0VGltZXJG
aXJlZChUaW1lciYpOwogCiAgICAgYm9vbCBpc1N1c3BlbmRpbmdQZW5kaW5nUmVxdWVzdHMoKSBj
b25zdCB7IHJldHVybiAhIW1fc3VzcGVuZFBlbmRpbmdSZXF1ZXN0c0NvdW50OyB9CiAKQEAgLTEy
NCw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIEhvc3RNYXAgbV9ob3N0czsKICAgICBIb3N0SW5m
b3JtYXRpb24qIG1fbm9uSFRUUFByb3RvY29sSG9zdDsKICAgICAgICAgCi0gICAgVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiBtX3JlcXVlc3RUaW1lcjsKKyAgICBUaW1lciBtX3JlcXVlc3RU
aW1lcjsKIAogICAgIHVuc2lnbmVkIG1fc3VzcGVuZFBlbmRpbmdSZXF1ZXN0c0NvdW50OwogICAg
IGJvb2wgbV9pc1NlcmlhbExvYWRpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4
dFRyYWNrTG9hZGVyLmNwcAppbmRleCAwZjI3YjkyODA3ZjM5MWNmNDBlZjhmZWJlMzg5MTU3Mzdm
MDM1YzJiLi5lZDBjYjc1YjdiMTY4MmUzYmQ1ZThkZTE0NGUzZmUyMTZiNTM5Y2FlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtNTksNyArNTksNyBAQCBU
ZXh0VHJhY2tMb2FkZXI6On5UZXh0VHJhY2tMb2FkZXIoKQogICAgICAgICBtX3Jlc291cmNlLT5y
ZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKLXZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjdWVMb2FkVGlt
ZXJGaXJlZChUaW1lcjxUZXh0VHJhY2tMb2FkZXI+KiB0aW1lcikKK3ZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpjdWVMb2FkVGltZXJGaXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNF
RCh0aW1lciwgdGltZXIgPT0gJm1fY3VlTG9hZFRpbWVyKTsKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0VHJhY2tMb2FkZXIuaAppbmRleCBjOTg4NmM4ZjQ3NjNjOGE3N2EwYmFmYTQ3YzI4
NmQxNmI4NDc4OGVlLi4xODdmZmJlZmIyOGU0YmNjM2Y4MzBjZTA5MzkzYzI4ZTUzOWQ0YTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5oCkBAIC04MCw3ICs4MCw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpbGVGYWlsZWRUb1BhcnNlKCkgb3ZlcnJpZGU7
CiAgICAgCiAgICAgdm9pZCBwcm9jZXNzTmV3Q3VlRGF0YShDYWNoZWRSZXNvdXJjZSopOwotICAg
IHZvaWQgY3VlTG9hZFRpbWVyRmlyZWQoVGltZXI8VGV4dFRyYWNrTG9hZGVyPiopOworICAgIHZv
aWQgY3VlTG9hZFRpbWVyRmlyZWQoVGltZXIqKTsKICAgICB2b2lkIGNvcnNQb2xpY3lQcmV2ZW50
ZWRMb2FkKCk7CiAKICAgICBlbnVtIFN0YXRlIHsgSWRsZSwgTG9hZGluZywgRmluaXNoZWQsIEZh
aWxlZCB9OwpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJWVFRQYXJzZXI+IG1fY3VlUGFyc2VyOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFRleHRUcmFjaz4gbV9yZXNvdXJjZTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0gICAgVGltZXI8VGV4dFRyYWNrTG9hZGVyPiBtX2N1ZUxv
YWRUaW1lcjsKKyAgICBUaW1lciBtX2N1ZUxvYWRUaW1lcjsKICAgICBTdHJpbmcgbV9jcm9zc09y
aWdpbk1vZGU7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICB1bnNpZ25lZCBtX3BhcnNlT2Zmc2V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5k
ZXggY2VlZTU4YzAzMjQ2ZjhjOGFkZWZkZjE1MTM3NmYyYjFjZTljMzhiYi4uMWU4NWY1YTFiMmQx
ZDQzNDgyMzc5YmEyYjdmYjIwZTNlYmJlM2E0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC03NDIsNyArNzQyLDcgQEAgaW5saW5lIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQogICAgICAgICBtX3RpbWVyLnN0
b3AoKTsKIH0KIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OnRpbWVyRmlyZWQoVGlt
ZXI8Q2FsbGJhY2s+JikKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjp0aW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX3Jlc291cmNlLmRpZEFkZENsaWVudCgmbV9jbGllbnQpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCBiZjZl
OTk3NDEwZWMyMzcwMTg2OTIyOGFkMGM1OGRiNDBkYTI5NmNjLi5iY2NlMjc0MzVjMzUwZWJhYWY2
MmVmYmMwZjlhYTU4ZWMxOGJlNTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuaApAQCAtMzQ3LDExICszNDcsMTEgQEAgcHVibGljOgogICAgIHZvaWQg
Y2FuY2VsKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPENhbGxiYWNr
PiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgQ2FjaGVkUmVzb3VyY2Um
IG1fcmVzb3VyY2U7CiAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnQmIG1fY2xpZW50OwotICAgIFRp
bWVyPENhbGxiYWNrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBkMTYwODQ5MDRlMTJlMGNkMTJlZmMyNjEwNWM4
OTQ4NGY4MGIxYjcyLi5hNzBjODYyNTIwMzA0OGM3NDA1NDdkMGRkODdlMDVmOWZhYmNlMjNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTc3OCw3ICs3NzgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjps
b2FkRG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogLy8g
Ym9va2tlZXBpbmcgb24gQ2FjaGVkUmVzb3VyY2VzLCBzbyBpbnN0ZWFkIHBzZXVkby1HQyB0aGVt
IC0tIHdoZW4gdGhlCiAvLyByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAxLCBtX2RvY3VtZW50UmVz
b3VyY2VzIGlzIHRoZSBvbmx5IHJlZmVyZW5jZSwgc28KIC8vIHJlbW92ZSBpdCBmcm9tIHRoZSBt
YXAuCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVz
b3VyY2VzVGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4mIHRpbWVyKQordm9p
ZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1Rp
bWVyRmlyZWQoVGltZXImIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1l
ciA9PSAmbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIpOwogICAgIGdhcmJh
Z2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggNzA3NmM4NjBjYzk0YWQwNDRh
YjYwZmY0MTZiNGEzMTZmZTkxZjVjYi4uNjZhODEyZGQwMjlmNjJmMDg3MmQ2NDFiMDMxNmE2NmE1
ZmFmM2M1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKQEAgLTE1Miw3ICsxNTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hv
dWxkQ29udGludWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1vcnlDYWNoZShjb25zdCBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZWRSZXNvdXJjZSopOwogICAgIGJvb2wgY2hlY2tJbnNl
Y3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYpIGNvbnN0OwogCi0g
ICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXJGaXJlZChUaW1lcjxD
YWNoZWRSZXNvdXJjZUxvYWRlcj4mKTsKKyAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRS
ZXNvdXJjZXNUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rp
b25zKCk7CiAKICAgICBib29sIGNsaWVudERlZmVyc0ltYWdlKGNvbnN0IFVSTCYpIGNvbnN0OwpA
QCAtMTczLDcgKzE3Myw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBEZXF1ZTxQZW5kaW5nUHJl
bG9hZD4gbV9wZW5kaW5nUHJlbG9hZHM7CiAKLSAgICBUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRl
cj4gbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CisgICAgVGltZXIgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CiAKICNpZiBFTkFCTEUoUkVTT1VS
Q0VfVElNSU5HKQogICAgIHN0cnVjdCBJbml0aWF0b3JJbmZvIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IDY3ZGMwZDliNGIyMzQxODIxNzE0NjE4
NzdmZWQ3MGJiMmE5ZDVkYzIuLmFiY2IwY2IzNDVhZmU2MDk2ZDBmNDA4MTQ4YjNmOTI1YWZiZWRj
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAt
ODU1LDcgKzg1NSw3IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjpzY2hlZHVsZU9yRGVmZXJTeW5jVGlt
ZXIoKQogICAgIH0pOwogfQogCi12b2lkIEljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQoVGlt
ZXI8SWNvbkRhdGFiYXNlPiYpCit2b2lkIEljb25EYXRhYmFzZTo6c3luY1RpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIEFTU0VSVF9OT1RfU1lOQ19USFJFQUQoKTsKICAgICB3YWtlU3luY1RocmVh
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA5MTA3
MGM4MGIyMjg2MGY0YTM4NGVmZjU2OTc1MzM0NzliYmJhYTNmLi40ZTA0OTA0MzFlZWI5OTkxZDVl
NWZjMGEzMWI4MWE5NDg4MjM4MmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaApAQCAtMTE1LDkgKzExNSw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdha2VT
eW5jVGhyZWFkKCk7CiAgICAgdm9pZCBzY2hlZHVsZU9yRGVmZXJTeW5jVGltZXIoKTsKLSAgICB2
b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPEljb25EYXRhYmFzZT4mKTsKKyAgICB2b2lkIHN5bmNU
aW1lckZpcmVkKFRpbWVyJik7CiAgICAgCi0gICAgVGltZXI8SWNvbkRhdGFiYXNlPiBtX3N5bmNU
aW1lcjsKKyAgICBUaW1lciBtX3N5bmNUaW1lcjsKICAgICBUaHJlYWRJZGVudGlmaWVyIG1fc3lu
Y1RocmVhZDsKICAgICBib29sIG1fc3luY1RocmVhZFJ1bm5pbmc7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IDI5OTcxZTk3MjEwMzNk
ZmIxZjcwZDdlZjk5NzlkNGQ1NmNmZjU3ZGYuLmIxZGNmZjI1YmRjMzAxMDEzZDcyOWJmOWU4NjFj
NWFhODU4NTY5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xs
ZXIuY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgYm9vbCBBdXRvc2Nyb2xsQ29udHJvbGxlcjo6cGFu
U2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0CiB9CiAjZW5kaWYKIAotdm9pZCBBdXRvc2Nyb2xsQ29u
dHJvbGxlcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQoVGltZXI8QXV0b3Njcm9sbENvbnRyb2xsZXI+
JikKK3ZvaWQgQXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVy
JikKIHsKICAgICBpZiAoIW1fYXV0b3Njcm9sbFJlbmRlcmVyKSB7CiAgICAgICAgIHN0b3BBdXRv
c2Nyb2xsVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9s
bENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIu
aAppbmRleCBhMDA5ZWE1NmQyZDdiNWFkZWRkYWFjMDVhOWY4YWY1MmM5ZTk1NDIyLi5hMDYwZjlh
NGQ0ZWVlZmZkNmEyYTEwNGYyODA3NDYyOGFkYTdjMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5oCkBAIC02OSwxMyArNjksMTMgQEAgcHVibGljOgogI2Vu
ZGlmCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxBdXRv
c2Nyb2xsQ29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVy
Jik7CiAgICAgdm9pZCBzdGFydEF1dG9zY3JvbGxUaW1lcigpOwogI2lmIEVOQUJMRShQQU5fU0NS
T0xMSU5HKQogICAgIHZvaWQgdXBkYXRlUGFuU2Nyb2xsU3RhdGUoRnJhbWVWaWV3KiwgY29uc3Qg
SW50UG9pbnQmKTsKICNlbmRpZgogCi0gICAgVGltZXI8QXV0b3Njcm9sbENvbnRyb2xsZXI+IG1f
YXV0b3Njcm9sbFRpbWVyOworICAgIFRpbWVyIG1fYXV0b3Njcm9sbFRpbWVyOwogICAgIFJlbmRl
ckJveCogbV9hdXRvc2Nyb2xsUmVuZGVyZXI7CiAgICAgQXV0b3Njcm9sbFR5cGUgbV9hdXRvc2Ny
b2xsVHlwZTsKICAgICBJbnRQb2ludCBtX2RyYWdBbmREcm9wQXV0b3Njcm9sbFJlZmVyZW5jZVBv
c2l0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZl
cmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKaW5kZXggN2U5YTBjZTU4Y2E2ZGEyODc1YTU1MGM5Mzk2MWI0N2IzYjljOTNhYi4uOWVjMDVk
NzQ1MWU4OGFkYjQyMGIzNDNhMjUxOTNjZDg2MWFkOWUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC01Miw3ICs1Miw3IEBAIENhcHRp
b25Vc2VyUHJlZmVyZW5jZXM6On5DYXB0aW9uVXNlclByZWZlcmVuY2VzKCkKIHsKIH0KIAotdm9p
ZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0aW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXM+JikKK3ZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6dGltZXJGaXJlZChUaW1l
ciYpCiB7CiAgICAgY2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaAppbmRleCAwZDA0NWViMmNkODhlMzMy
MjJhZjU4MWU0MmE4NTQ0ZDViZThiNDI3Li42ZjAyYjU3ZDAzY2VlZTUxYWIyOGZjY2IzZjQyZDdh
MTE3MjY5ZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuaApAQCAtOTcsMTIgKzk3LDEyIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZUNhcHRp
b25TdHlsZVNoZWV0T3ZlcmlkZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxDYXB0aW9uVXNlclByZWZlcmVuY2VzPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1l
ciYpOwogICAgIHZvaWQgbm90aWZ5KCk7CiAKICAgICBQYWdlR3JvdXAmIG1fcGFnZUdyb3VwOwog
ICAgIENhcHRpb25EaXNwbGF5TW9kZSBtX2Rpc3BsYXlNb2RlOwotICAgIFRpbWVyPENhcHRpb25V
c2VyUHJlZmVyZW5jZXM+IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKICAgICBTdHJpbmcg
bV91c2VyUHJlZmVycmVkTGFuZ3VhZ2U7CiAgICAgU3RyaW5nIG1fY2FwdGlvbnNTdHlsZVNoZWV0
T3ZlcnJpZGU7CiAgICAgU3RyaW5nIG1fcHJpbWFyeUF1ZGlvVHJhY2tMYW5ndWFnZU92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2Vz
TWVkaWFBRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGLmNwcAppbmRleCA5YzVhOTE5OTRjN2RkNjg2Y2YwN2RmYzVkYjcyOGQxOTg2ODVmNDQ3
Li4zYmI3NjI4YWJhZjJjMDc4NTQzZWEzNDkyNDU3MTBhZWFmMzE1NjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcApA
QCAtMjI0LDcgKzIyNCw3IEBAIGJvb2wgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnVz
ZXJQcmVmZXJzU3VidGl0bGVzKCkgY29uc3QKICAgICByZXR1cm4gIShjYXB0aW9uaW5nTWVkaWFD
aGFyYWN0ZXJpc3RpY3MgJiYgQ0ZBcnJheUdldENvdW50KGNhcHRpb25pbmdNZWRpYUNoYXJhY3Rl
cmlzdGljcy5nZXQoKSkpOwogfQogCi12b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
Ojp1cGRhdGVUaW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGPiYp
Cit2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjp1cGRhdGVUaW1lckZpcmVkKFRp
bWVyJikKIHsKICAgICB1cGRhdGVDYXB0aW9uU3R5bGVTaGVldE92ZXJpZGUoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuaApp
bmRleCA3MTY5MGQ1NzM3NmQ1YTMwYzkxMDhjZDliNTJlN2JiYzAyMmVmMGMxLi44YjBiYmM3MzRj
NGFlN2RkOTQ0Mjg4Y2IyYjRjZGQ2NjlhNzhjNzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oCkBAIC02OCw3ICs2OCw3IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICNpZiBIQVZFKE1FRElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQotICAgIHZvaWQgdXBkYXRlVGltZXJGaXJlZChUaW1lcjxDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRj4mKTsKKyAgICB2b2lkIHVwZGF0ZVRpbWVyRmlyZWQoVGltZXImKTsKIAogICAg
IFN0cmluZyBjYXB0aW9uc1dpbmRvd0NTUygpIGNvbnN0OwogICAgIFN0cmluZyBjYXB0aW9uc0Jh
Y2tncm91bmRDU1MoKSBjb25zdDsKQEAgLTgwLDcgKzgwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJp
bmcgY2FwdGlvbnNUZXh0RWRnZUNTUygpIGNvbnN0OwogICAgIFN0cmluZyBjc3NQcm9wZXJ0eVdp
dGhUZXh0RWRnZUNvbG9yKENTU1Byb3BlcnR5SUQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IENvbG9y
JiwgYm9vbCkgY29uc3Q7CiAgICAgU3RyaW5nIGNvbG9yUHJvcGVydHlDU1MoQ1NTUHJvcGVydHlJ
RCwgY29uc3QgQ29sb3ImLCBib29sKSBjb25zdDsKLSAgICBUaW1lcjxDYXB0aW9uVXNlclByZWZl
cmVuY2VzTWVkaWFBRj4gbV91cGRhdGVTdHlsZVNoZWV0VGltZXI7CisgICAgVGltZXIgbV91cGRh
dGVTdHlsZVNoZWV0VGltZXI7CiAKICAgICBib29sIG1fbGlzdGVuaW5nRm9yUHJlZmVyZW5jZUNo
YW5nZXM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGEyYmFhMjNjMGJkMjcxOGNhYmE3YzZkYzY5MmZmNzFkN2RjZjg1YjEuLjZhMGUwMTE3YmI2
YzdjOTE2Nzk1Y2FkNWY1ZDQxMDlhMTIxYjAwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZp
Y2VDb250cm9sbGVyLmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6
OmRpc3BhdGNoRGV2aWNlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gcHJwRXZlbnQpCiAgICAgfQog
fQogCi12b2lkIERldmljZUNvbnRyb2xsZXI6OmZpcmVEZXZpY2VFdmVudChUaW1lcjxEZXZpY2VD
b250cm9sbGVyPiYgdGltZXIpCit2b2lkIERldmljZUNvbnRyb2xsZXI6OmZpcmVEZXZpY2VFdmVu
dChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZt
X3RpbWVyKTsKICAgICBBU1NFUlQoaGFzTGFzdERhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2
aWNlQ29udHJvbGxlci5oCmluZGV4IDJhYmZiNzk4ZjNjMTkxYzAzYjVjNjAzYmNiNTNmOWY2NzRj
Yzk3ZTMuLmM0NjQwM2Q0ZjQyN2E3NWZlOTgyOGVkYWFlNzZkNmNmYzc4ZGNlMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oCkBAIC01NiwxMiArNTYsMTIgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCkgeyByZXR1cm4g
MDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaXJlRGV2aWNlRXZlbnQoVGltZXI8RGV2aWNl
Q29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGZpcmVEZXZpY2VFdmVudChUaW1lciYpOwogCiAgICAg
SGFzaENvdW50ZWRTZXQ8UmVmUHRyPERPTVdpbmRvdz4+IG1fbGlzdGVuZXJzOwogICAgIEhhc2hD
b3VudGVkU2V0PFJlZlB0cjxET01XaW5kb3c+PiBtX2xhc3RFdmVudExpc3RlbmVyczsKICAgICBE
ZXZpY2VDbGllbnQqIG1fY2xpZW50OwotICAgIFRpbWVyPERldmljZUNvbnRyb2xsZXI+IG1fdGlt
ZXI7CisgICAgVGltZXIgbV90aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlNWNhZDZiYWZmYmRlYzM3NzdjZDg3
YmZjMGRmOTIwZTVlYzIwOTdjLi45MmZlNjVjYTI1YTEyZDNjNTVlZGNiYjYyZDUzZGJiODRkYjE1
YmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xMzEwLDcgKzEzMTAs
NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6dXNlSGFuZEN1cnNvcihOb2RlKiBub2RlLCBib29sIGlz
T3ZlckxpbmssIGJvb2wgc2hpZnRLZXkpCiAgICAgcmV0dXJuICgoaXNPdmVyTGluayB8fCBpc1N1
Ym1pdEltYWdlKG5vZGUpKSAmJiAoIWVkaXRhYmxlIHx8IGVkaXRhYmxlTGlua0VuYWJsZWQpKTsK
IH0KIAotdm9pZCBFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RXZl
bnRIYW5kbGVyPiYpCit2b2lkIEV2ZW50SGFuZGxlcjo6Y3Vyc29yVXBkYXRlVGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKSk7CiAgICAgdXBkYXRlQ3Vy
c29yKCk7CkBAIC0xNTUzLDcgKzE1NTMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsQXV0
b0hpZGVDdXJzb3JUaW1lcigpCiAgICAgICAgIG1fYXV0b0hpZGVDdXJzb3JUaW1lci5zdG9wKCk7
CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8
RXZlbnRIYW5kbGVyPiYgdGltZXIpCit2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b0hpZGVDdXJzb3JU
aW1lckZpcmVkKFRpbWVyJiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCAmdGlt
ZXIgPT0gJm1fYXV0b0hpZGVDdXJzb3JUaW1lcik7CiAgICAgbV9jdXJyZW50TW91c2VDdXJzb3Ig
PSBub25lQ3Vyc29yKCk7CkBAIC0xNTc2LDcgKzE1NzYsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
YmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzKGNvbnN0IEhpdFRlc3RSZXN1bHQm
IGhpdAogICAgIHBhZ2UtPmNocm9tZSgpLmRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91
c2VQcmVzcyhtX21vdXNlRG93blBvcywgaGl0VGVzdFJlc3VsdCk7CiB9CiAgICAgCi12b2lkIEV2
ZW50SGFuZGxlcjo6cmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXI8RXZlbnRIYW5kbGVyPiYg
dGltZXIpCit2b2lkIEV2ZW50SGFuZGxlcjo6cmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXIm
IHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9sb25nTW91
c2VQcmVzc1RpbWVyKTsKIApAQCAtMjk0NCw3ICsyOTQ0LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6
OmNhbmNlbEZha2VNb3VzZU1vdmVFdmVudCgpCiAgICAgbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1l
ci5zdG9wKCk7CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjpmYWtlTW91c2VNb3ZlRXZlbnRUaW1l
ckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mIHRpbWVyKQordm9pZCBFdmVudEhhbmRsZXI6OmZh
a2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXImIHRpbWVyKQogewogICAgIEFTU0VSVF9V
TlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lcik7CiAgICAg
QVNTRVJUKCFtX21vdXNlUHJlc3NlZCk7CkBAIC0yOTgwLDcgKzI5ODAsNyBAQCB2b2lkIEV2ZW50
SGFuZGxlcjo6cmVzaXplTGF5ZXJEZXN0cm95ZWQoKQogICAgIG1fcmVzaXplTGF5ZXIgPSAwOwog
fQogCi12b2lkIEV2ZW50SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxl
cj4mKQordm9pZCBFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
bV9ob3ZlclRpbWVyLnN0b3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXgg
MzdlYTc1ZGE4ZGYzYTEzNDViODgzNTMyMTk0YzY4NmRkNTc5OTBlYS4uOWNkODU3YWM2OTBmYzJm
NTllMjI5OThhMzlkMjZjYTkyM2E5MTFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CkBAIC0zMjYsOSArMzI2LDkgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsQ3Vyc29yIHNlbGVj
dEN1cnNvcihjb25zdCBIaXRUZXN0UmVzdWx0JiwgYm9vbCBzaGlmdEtleSk7CiAKLSAgICB2b2lk
IGhvdmVyVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+Jik7CisgICAgdm9pZCBob3ZlclRp
bWVyRmlyZWQoVGltZXImKTsKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCi0gICAgdm9pZCBj
dXJzb3JVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mKTsKKyAgICB2b2lkIGN1
cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgogCiAgICAgYm9vbCBsb2dpY2Fs
U2Nyb2xsT3ZlcmZsb3coU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHks
IE5vZGUqIHN0YXJ0aW5nTm9kZSA9IDApOwpAQCAtMzQxLDcgKzM0MSw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIGJvb2wgZXZlbnRJbnZlcnRzVGFic1RvTGlua3NDbGllbnRDYWxsUmVzdWx0KEtl
eWJvYXJkRXZlbnQqKTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICB2b2lk
IGZha2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiYpOworICAg
IHZvaWQgZmFrZU1vdXNlTW92ZUV2ZW50VGltZXJGaXJlZChUaW1lciYpOwogICAgIHZvaWQgY2Fu
Y2VsRmFrZU1vdXNlTW92ZUV2ZW50KCk7CiAjZW5kaWYKIApAQCAtNDM3LDExICs0MzcsMTEgQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiAgICAgdm9pZCBzdGFydEF1
dG9IaWRlQ3Vyc29yVGltZXIoKTsKICAgICB2b2lkIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIo
KTsKLSAgICB2b2lkIGF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+
Jik7CisgICAgdm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXImKTsKICNlbmRpZgog
CiAgICAgdm9pZCBiZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoY29uc3QgSGl0
VGVzdFJlc3VsdCYpOwotICAgIHZvaWQgcmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXI8RXZl
bnRIYW5kbGVyPiYpOworICAgIHZvaWQgcmVjb2duaXplTG9uZ01vdXNlUHJlc3MoVGltZXImKTsK
ICAgICB2b2lkIGNhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoKTsKICAgICBi
b29sIGxvbmdNb3VzZVByZXNzSHlzdGVyZXNpc0V4Y2VlZGVkKCk7CiAgICAgdm9pZCBjbGVhckxv
bmdNb3VzZVByZXNzU3RhdGUoKTsKQEAgLTQ3MCwxMiArNDcwLDEyIEBAIHByaXZhdGU6CiAKICAg
ICBib29sIG1fcGFuU2Nyb2xsQnV0dG9uUHJlc3NlZDsKIAotICAgIFRpbWVyPEV2ZW50SGFuZGxl
cj4gbV9ob3ZlclRpbWVyOworICAgIFRpbWVyIG1faG92ZXJUaW1lcjsKICNpZiBFTkFCTEUoQ1VS
U09SX1NVUFBPUlQpCi0gICAgVGltZXI8RXZlbnRIYW5kbGVyPiBtX2N1cnNvclVwZGF0ZVRpbWVy
OworICAgIFRpbWVyIG1fY3Vyc29yVXBkYXRlVGltZXI7CiAjZW5kaWYKIAotICAgIFRpbWVyPEV2
ZW50SGFuZGxlcj4gbV9sb25nTW91c2VQcmVzc1RpbWVyOworICAgIFRpbWVyIG1fbG9uZ01vdXNl
UHJlc3NUaW1lcjsKICAgICBib29sIG1fZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3M7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QXV0b3Njcm9sbENvbnRyb2xsZXI+IG1fYXV0b3Njcm9sbENvbnRy
b2xsZXI7CkBAIC00ODMsNyArNDgzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbW91c2VEb3du
V2FzSW5TdWJmcmFtZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICBUaW1l
cjxFdmVudEhhbmRsZXI+IG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXI7CisgICAgVGltZXIgbV9m
YWtlTW91c2VNb3ZlRXZlbnRUaW1lcjsKICNlbmRpZgogCiAgICAgYm9vbCBtX3N2Z1BhbjsKQEAg
LTU1OCw3ICs1NTgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0hhbmRsaW5nV2hlZWxFdmVu
dDsKIAogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKLSAgICBUaW1lcjxFdmVudEhhbmRs
ZXI+IG1fYXV0b0hpZGVDdXJzb3JUaW1lcjsKKyAgICBUaW1lciBtX2F1dG9IaWRlQ3Vyc29yVGlt
ZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggMzM2
ZTE1MWI2NDhjMTU2NTRkYWRhMDkyZmQ1NWYwMTljYTRhNTkzYy4uNjM1YzhlYWQwYWJmYjY2MGFj
NjY0Mzk0N2U0MmZhZTczNDQ5NzE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCgp
CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50
LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotdm9pZCBFdmVudFNvdXJjZTo6Y29ubmVjdFRpbWVyRmly
ZWQoVGltZXI8RXZlbnRTb3VyY2U+JikKK3ZvaWQgRXZlbnRTb3VyY2U6OmNvbm5lY3RUaW1lckZp
cmVkKFRpbWVyJikKIHsKICAgICBjb25uZWN0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKaW5kZXggZjJkMWMxMjU2NDcxMmVhNGI2NGNjYTVmNDc2MjljMjYxY2M2ZDU4Zi4uYTQ1MjVm
NDIzY2ZjMmUxMjVlM2NmNWYzZTkzNDk3NzUzY2YzN2NmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtOTcsNyArOTcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya1JlcXVl
c3RFbmRlZCgpOwogICAgIHZvaWQgc2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpOwogICAgIHZvaWQg
c2NoZWR1bGVSZWNvbm5lY3QoKTsKLSAgICB2b2lkIGNvbm5lY3RUaW1lckZpcmVkKFRpbWVyPEV2
ZW50U291cmNlPiYpOworICAgIHZvaWQgY29ubmVjdFRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIGFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKTsKICAgICB2b2lkIHBhcnNlRXZlbnRTdHJlYW0o
KTsKICAgICB2b2lkIHBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2lnbmVkIHBvcywgaW50IGZpZWxk
TGVuZ3RoLCBpbnQgbGluZUxlbmd0aCk7CkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVmUHRyPFRo
cmVhZGFibGVMb2FkZXI+IG1fbG9hZGVyOwotICAgIFRpbWVyPEV2ZW50U291cmNlPiBtX2Nvbm5l
Y3RUaW1lcjsKKyAgICBUaW1lciBtX2Nvbm5lY3RUaW1lcjsKICAgICBWZWN0b3I8VUNoYXI+IG1f
cmVjZWl2ZUJ1ZjsKICAgICBib29sIG1fZGlzY2FyZFRyYWlsaW5nTmV3bGluZTsKICAgICBib29s
IG1fcmVxdWVzdEluRmxpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3Bw
CmluZGV4IGMyZmViN2M4MGZhZDE2M2NhM2E0Y2U4ZTU3ODhhNTc3NzNiZGZlNDYuLjdhNWY1ZDRh
ZDEyNjgzMmVmYzRlOTk3YTg2NTk4Mjk4ZjMwNDE2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAKQEAgLTkxMiw3ICs5MTIsNyBAQCB2b2lkIEZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKQogICAgIG1fZm9jdXNSZXBhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDAuMDMzKTsKIH0KIAotdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmZvY3Vz
UmVwYWludFRpbWVyRmlyZWQoVGltZXI8Rm9jdXNDb250cm9sbGVyPiYpCit2b2lkIEZvY3VzQ29u
dHJvbGxlcjo6Zm9jdXNSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgRG9jdW1lbnQq
IGZvY3VzZWREb2N1bWVudCA9IGZvY3VzZWRPck1haW5GcmFtZSgpLmRvY3VtZW50KCk7CiAgICAg
aWYgKCFmb2N1c2VkRG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApp
bmRleCBiYzQ4ZDQzMzhmZTc4OWUxYTg2MWMxMDViN2M4YTQ3N2Q4MGM2NzYyLi4zNmYxMjAwODQ5
N2NhNWU4ZjcxOTk3NTViYzM1M2FjNjRmOTM5Yzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmgKQEAgLTEyMCwxNCArMTIwLDE0IEBAIHByaXZhdGU6CiAgICAgYm9vbCBhZHZh
bmNlRm9jdXNEaXJlY3Rpb25hbGx5SW5Db250YWluZXIoTm9kZSogY29udGFpbmVyLCBjb25zdCBM
YXlvdXRSZWN0JiBzdGFydGluZ1JlY3QsIEZvY3VzRGlyZWN0aW9uLCBLZXlib2FyZEV2ZW50Kik7
CiAgICAgdm9pZCBmaW5kRm9jdXNDYW5kaWRhdGVJbkNvbnRhaW5lcihOb2RlKiBjb250YWluZXIs
IGNvbnN0IExheW91dFJlY3QmIHN0YXJ0aW5nUmVjdCwgRm9jdXNEaXJlY3Rpb24sIEtleWJvYXJk
RXZlbnQqLCBGb2N1c0NhbmRpZGF0ZSYgY2xvc2VzdCk7CiAKLSAgICB2b2lkIGZvY3VzUmVwYWlu
dFRpbWVyRmlyZWQoVGltZXI8Rm9jdXNDb250cm9sbGVyPiYpOworICAgIHZvaWQgZm9jdXNSZXBh
aW50VGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUGFnZSYgbV9wYWdlOwogICAgIFJlZlB0cjxG
cmFtZT4gbV9mb2N1c2VkRnJhbWU7CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdGb2N1c2VkRnJhbWU7
CiAgICAgVmlld1N0YXRlOjpGbGFncyBtX3ZpZXdTdGF0ZTsKIAotICAgIFRpbWVyPEZvY3VzQ29u
dHJvbGxlcj4gbV9mb2N1c1JlcGFpbnRUaW1lcjsKKyAgICBUaW1lciBtX2ZvY3VzUmVwYWludFRp
bWVyOwogICAgIGRvdWJsZSBtX2ZvY3VzU2V0VGltZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAK
aW5kZXggNWRkY2E0MjJiYTRkNjU5MTE3NWUzMWY1MTc4NWRkMjMzZDhjM2JhMi4uOWMzNzZhOTA1
M2Q5MDYyZGQwM2RjM2Y0MjI1MDMwOTA3YmMyNTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAg
LTUxNiw3ICs1MTYsNyBAQCB2b2lkIEZyYW1lOjpzY3JvbGxPdmVyZmxvd0xheWVyKFJlbmRlckxh
eWVyKiBsYXllciwgY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsCiAgICAgc2VsZWN0aW9uKCku
dXBkYXRlQXBwZWFyYW5jZSgpOwogfQogCi12b2lkIEZyYW1lOjpvdmVyZmxvd0F1dG9TY3JvbGxU
aW1lckZpcmVkKFRpbWVyPEZyYW1lPiopCit2b2lkIEZyYW1lOjpvdmVyZmxvd0F1dG9TY3JvbGxU
aW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAoIWV2ZW50SGFuZGxlcigpLm1vdXNlUHJlc3Nl
ZCgpIHx8IGNoZWNrT3ZlcmZsb3dTY3JvbGwoUGVyZm9ybU92ZXJmbG93U2Nyb2xsKSA9PSBPdmVy
Zmxvd1Njcm9sbE5vbmUpIHsKICAgICAgICAgaWYgKG1fb3ZlcmZsb3dBdXRvU2Nyb2xsVGltZXIu
aXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCA2ZWRkYTM0MjA3OTMwMzhmODMyZDdhODMy
M2ZmNzBhMTNmYWNhODYzLi5iZTc0OTQyNTk3YWEzMGQwZmVlMzkxZDhlNTdmMjVlMGFiNDA2YzYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0yOTUsMTMgKzI5NSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIGJvb2wgaGl0VGVzdFJlc3VsdEF0Vmlld3BvcnRMb2NhdGlvbihjb25zdCBG
bG9hdFBvaW50JiB2aWV3cG9ydExvY2F0aW9uLCBIaXRUZXN0UmVzdWx0JiwgSW50UG9pbnQmIGNl
bnRlcik7CiAgICAgICAgIE5vZGUqIHF1YWxpZnlpbmdOb2RlQXRWaWV3cG9ydExvY2F0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIHZpZXdwb3J0TG9jYXRpb24sIEZsb2F0UG9pbnQmIGFkanVzdGVkVmll
d3BvcnRMb2NhdGlvbiwgTm9kZVF1YWxpZmllciwgYm9vbCBzaG91bGRBcHByb3hpbWF0ZSk7CiAK
LSAgICAgICAgdm9pZCBvdmVyZmxvd0F1dG9TY3JvbGxUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiop
OworICAgICAgICB2b2lkIG92ZXJmbG93QXV0b1Njcm9sbFRpbWVyRmlyZWQoVGltZXIqKTsKICAg
ICAgICAgdm9pZCBzdGFydE92ZXJmbG93QXV0b1Njcm9sbChjb25zdCBJbnRQb2ludCYpOwogICAg
ICAgICBpbnQgY2hlY2tPdmVyZmxvd1Njcm9sbChPdmVyZmxvd1Njcm9sbEFjdGlvbik7CiAKICAg
ICAgICAgdm9pZCBzZXRUaW1lcnNQYXVzZWRJbnRlcm5hbChib29sKTsKIAotICAgICAgICBUaW1l
cjxGcmFtZT4gbV9vdmVyZmxvd0F1dG9TY3JvbGxUaW1lcjsKKyAgICAgICAgVGltZXIgbV9vdmVy
Zmxvd0F1dG9TY3JvbGxUaW1lcjsKICAgICAgICAgZmxvYXQgbV9vdmVyZmxvd0F1dG9TY3JvbGxE
ZWx0YTsKICAgICAgICAgSW50UG9pbnQgbV9vdmVyZmxvd0F1dG9TY3JvbGxQb3M7CiAgICAgICAg
IFZpZXdwb3J0QXJndW1lbnRzIG1fdmlld3BvcnRBcmd1bWVudHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggYzU5OWYxYmFhMzM1Nzk4YjIxYzE5YjU0NzMzMWI0NThkMjI5YzBmOC4u
MjQ4ZjJhMjdhODY3ZjdjNzQ4NGFkM2I2YzZjY2I2OGZkODA1YjE3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMTczOCw3ICsxNzM4LDcgQEAgSW50UG9pbnQgRnJhbWVWaWV3Ojpt
YXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBtYXhpbXVtT2Zmc2V0Owog
fQogCi12b2lkIEZyYW1lVmlldzo6ZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJlZChUaW1lcjxG
cmFtZVZpZXc+JikKK3ZvaWQgRnJhbWVWaWV3OjpkZWxheWVkU2Nyb2xsRXZlbnRUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsKIH0KQEAgLTI0MDAsNyArMjQwMCw3
IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKCkKICAg
ICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZl
VGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxp
bmdFbmFibGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQordm9pZCBGcmFtZVZpZXc6OnNw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKG1fc3Bl
Y3VsYXRpdmVUaWxpbmdFbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC0yNDA4LDcgKzI0MDgs
NyBAQCB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVkKFRp
bWVyPEZyYW1lVmlldz4mKQogICAgIGFkanVzdFRpbGVkQmFja2luZ0NvdmVyYWdlKCk7CiB9CiAK
LXZvaWQgRnJhbWVWaWV3OjpsYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQordm9p
ZCBGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQoVGltZXImKQogewogI2lmZGVmIElOU1RSVU1F
TlRfTEFZT1VUX1NDSEVEVUxJTkcKICAgICBpZiAoIWZyYW1lKCkuZG9jdW1lbnQoKS0+b3duZXJF
bGVtZW50KCkpCkBAIC0yODUwLDcgKzI4NTAsNyBAQCBib29sIEZyYW1lVmlldzo6dXBkYXRlRW1i
ZWRkZWRPYmplY3RzKCkKICAgICByZXR1cm4gbV9lbWJlZGRlZE9iamVjdHNUb1VwZGF0ZS0+aXNF
bXB0eSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6dXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXJG
aXJlZChUaW1lcjxGcmFtZVZpZXc+KikKK3ZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9i
amVjdHNUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0
KHRoaXMpOwogICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RvcCgpOwpAQCAtMjk5
OSw3ICsyOTk5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OndpbGxFbmRMaXZlUmVzaXplKCkKICAgICBh
ZGp1c3RUaWxlZEJhY2tpbmdDb3ZlcmFnZSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6cG9zdExh
eW91dFRpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3PiYpCit2b2lkIEZyYW1lVmlldzo6cG9zdExh
eW91dFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIHBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGFmOTgwZjU4ODQyMjcwYTZhYWJmNTIxMDQy
M2Q2NDE2YzJkNjIyY2UuLjE4OWZmNDc2YTE5MTNjMzAxZTc3ZTBhNjliNTcyMWQ5MDNhMTVmNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTA0LDcgKzEwNCw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlID0gdHJ1ZSk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBkaWRGaXJzdExheW91dCgpIGNvbnN0OwotICAgIHZvaWQgbGF5b3V0VGltZXJG
aXJlZChUaW1lcjxGcmFtZVZpZXc+Jik7CisgICAgdm9pZCBsYXlvdXRUaW1lckZpcmVkKFRpbWVy
Jik7CiAgICAgdm9pZCBzY2hlZHVsZVJlbGF5b3V0KCk7CiAgICAgdm9pZCBzY2hlZHVsZVJlbGF5
b3V0T2ZTdWJ0cmVlKFJlbmRlckVsZW1lbnQmKTsKICAgICB2b2lkIHVuc2NoZWR1bGVSZWxheW91
dCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSdWJi
ZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZp
cnR1YWwgSW50UG9pbnQgbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBJbnRQb2ludCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24o
KSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGRlbGF5ZWRTY3JvbGxFdmVudFRpbWVyRmlyZWQo
VGltZXI8RnJhbWVWaWV3PiYpOworICAgIHZvaWQgZGVsYXllZFNjcm9sbEV2ZW50VGltZXJGaXJl
ZChUaW1lciYpOwogCiAgICAgdm9pZCByZXN1bWVWaXNpYmxlSW1hZ2VBbmltYXRpb25zSW5jbHVk
aW5nU3ViZnJhbWVzKCk7CiAKQEAgLTMwMSw3ICszMDEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHJlc3RvcmVTY3JvbGxiYXIoKTsKIAotICAgIHZvaWQgcG9zdExheW91dFRpbWVyRmlyZWQoVGlt
ZXI8RnJhbWVWaWV3PiYpOworICAgIHZvaWQgcG9zdExheW91dFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIoKSBjb25zdDsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdhc1Njcm9sbGVkQnlVc2VyKGJvb2wpOwpAQCAtNjA3
LDkgKzYwNyw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBhZ2VUaGF0Q29u
dGVudEFyZWFXaWxsUGFpbnQoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgZW5hYmxlU3Bl
Y3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpOwotICAgIHZvaWQgc3BlY3VsYXRpdmVUaWxpbmdFbmFi
bGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKTsKKyAgICB2b2lkIHNwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgdm9pZCB1cGRhdGVFbWJlZGRlZE9i
amVjdHNUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4qKTsKKyAgICB2b2lkIHVwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyRmlyZWQoVGltZXIqKTsKICAgICBib29sIHVwZGF0ZUVtYmVkZGVkT2Jq
ZWN0cygpOwogICAgIHZvaWQgdXBkYXRlRW1iZWRkZWRPYmplY3QoUmVuZGVyRW1iZWRkZWRPYmpl
Y3QmKTsKICAgICB2b2lkIHNjcm9sbFRvQW5jaG9yKCk7CkBAIC02NTMsNyArNjUzLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNPdmVybGFwcGVkOwogICAgIGJvb2wgbV9jb250ZW50SXNPcGFx
dWU7CiAKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fbGF5b3V0VGltZXI7CisgICAgVGltZXIgbV9s
YXlvdXRUaW1lcjsKICAgICBib29sIG1fZGVsYXllZExheW91dDsKICAgICBSZW5kZXJFbGVtZW50
KiBtX2xheW91dFJvb3Q7CiAKQEAgLTY2Miw4ICs2NjIsOCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9pblN5bmNocm9ub3VzUG9zdExheW91dDsKICAgICBpbnQgbV9sYXlvdXRDb3VudDsKICAgICB1
bnNpZ25lZCBtX25lc3RlZExheW91dENvdW50OwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV9wb3N0
TGF5b3V0VGFza3NUaW1lcjsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fdXBkYXRlRW1iZWRkZWRP
YmplY3RzVGltZXI7CisgICAgVGltZXIgbV9wb3N0TGF5b3V0VGFza3NUaW1lcjsKKyAgICBUaW1l
ciBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyOwogICAgIGJvb2wgbV9maXJzdExheW91dENh
bGxiYWNrUGVuZGluZzsKIAogICAgIGJvb2wgbV9maXJzdExheW91dDsKQEAgLTY4NSw3ICs2ODUs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNTY3JvbGxlZEJ5VXNlcjsKICAgICBib29sIG1f
aW5Qcm9ncmFtbWF0aWNTY3JvbGw7CiAgICAgYm9vbCBtX3NhZmVUb1Byb3BhZ2F0ZVNjcm9sbFRv
UGFyZW50OwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lcjsK
KyAgICBUaW1lciBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyOwogCiAgICAgZG91YmxlIG1fbGFz
dFBhaW50VGltZTsKIApAQCAtNzE0LDcgKzcxNCw3IEBAIHByaXZhdGU6CiAgICAgUmVuZGVyUHRy
PFJlbmRlclNjcm9sbGJhclBhcnQ+IG1fc2Nyb2xsQ29ybmVyOwogCiAgICAgYm9vbCBtX3NwZWN1
bGF0aXZlVGlsaW5nRW5hYmxlZDsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1fc3BlY3VsYXRpdmVU
aWxpbmdFbmFibGVUaW1lcjsKKyAgICBUaW1lciBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGlt
ZXI7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9vbCBtX3VzZUN1c3RvbUZpeGVkUG9zaXRp
b25MYXlvdXRSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zlcmxh
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCA5ZThhYzFi
ZDY5NWE4ZTViZTFhMWFmZjViMzJiZTk2OTY1YjQ5MjRjLi5iNTFkNDY0NDg3MDNlYTFjOWI4Mjc5
ODUyMzE5ZjEzOGI0MTBlZThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VP
dmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAt
MjI1LDcgKzIyNSw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiAg
ICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZhZGVBbmltYXRpb25G
cmFtZVJhdGUpOwogfQogCi12b2lkIFBhZ2VPdmVybGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJl
ZChUaW1lcjxQYWdlT3ZlcmxheT4mKQordm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXImKQogewogICAgIGZsb2F0IGFuaW1hdGlvblByb2dyZXNzID0gKGN1cnJl
bnRUaW1lKCkgLSBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUpIC8gbV9mYWRlQW5pbWF0aW9uRHVy
YXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaAppbmRleCBhM2Q4Mjg1OGVkYTRkZjMw
MTBhYmU0NmRkYjRhMTY0ZGFmNDJiNTcxLi43MGZlYmM4Y2JhMmU1N2I5MWQwZGY2MjQ4MGUwNDM2
NTk5YzMwN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCkBAIC0xMTIsMTIgKzExMiwx
MiBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBhZ2VPdmVybGF5KENsaWVudCYsIE92ZXJsYXlU
eXBlKTsKIAogICAgIHZvaWQgc3RhcnRGYWRlQW5pbWF0aW9uKCk7Ci0gICAgdm9pZCBmYWRlQW5p
bWF0aW9uVGltZXJGaXJlZChUaW1lcjxQYWdlT3ZlcmxheT4mKTsKKyAgICB2b2lkIGZhZGVBbmlt
YXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBDbGllbnQmIG1fY2xpZW50OwogICAgIFBh
Z2UqIG1fcGFnZTsKIAotICAgIFRpbWVyPFBhZ2VPdmVybGF5PiBtX2ZhZGVBbmltYXRpb25UaW1l
cjsKKyAgICBUaW1lciBtX2ZhZGVBbmltYXRpb25UaW1lcjsKICAgICBkb3VibGUgbV9mYWRlQW5p
bWF0aW9uU3RhcnRUaW1lOwogICAgIGRvdWJsZSBtX2ZhZGVBbmltYXRpb25EdXJhdGlvbjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBlNDA5M2E0MGIwZTliZTI0MGNkZmJmZDFiZjQ5
MjFlMjNlMmY3N2IwLi5iNTVmOTY3MTBlMDgwYWE4NTg1OTRiMzA2YjdkOTYzNzlkYjZlZWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseSkKICAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCi12b2lkIFNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGlt
ZXI8U2V0dGluZ3M+KikKK3ZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZChUaW1lciopCiB7CiAgICAgc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3MobV9wYWdlKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA3NjQ3MmYwMDg1ZDNlZGQ2Mzg2MGUzNzllOGMwZmQ3
YjU0NmJmOTIyLi41MTU3YWQzNTVlOGQwMmVjODJiZTQ4NWExMTI1MjQwOTJmOWFiZTJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zMjEsOCArMzIxLDggQEAgcHJpdmF0ZToKIAogICAgIGRv
dWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCi0g
ICAgVGltZXI8U2V0dGluZ3M+IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKLSAgICB2
b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1lcjxTZXR0aW5ncz4qKTsKKyAg
ICBUaW1lciBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CisgICAgdm9pZCBpbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXIqKTsKIAogI2lmIEVOQUJMRShISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykKICAgICBib29sIG1faGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0VuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBjODkwMzMzMDYwNDgxYjkwMTNiZjA1
Zjc2N2VkOGVhYjU0Yjc5YzAwLi44ZDg5OTE2YmQyYjY3MGZiZTNiNmVlOWQwYmYzNzNhYWQyODkz
YTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25Db250cm9sbGVyLmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5n
ZWQvCiAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QodGltZVRvTmV4dFNlcnZpY2Up
OwogfQogCi12b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlckZpcmVkKFRpbWVyPEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlPiYpCit2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0
Y2hlckZpcmVkKFRpbWVyJikKIHsKICAgICBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsKIH0K
QEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmlt
YXRpb25GcmFtZUNhbGxiYWNrRmlyZWQoKQogfQogI2VuZGlmCiAKLXZvaWQgQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU+JikKK3ZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlv
blRpbWVyRmlyZWQoVGltZXImKQogewogICAgIC8vIE1ha2Ugc3VyZSBhbmltYXRpb25VcGRhdGVU
aW1lIGlzIHVwZGF0ZWQsIHNvIHRoYXQgaXQgaXMgY3VycmVudCBldmVuIGlmIG5vCiAgICAgLy8g
c3R5bGVDaGFuZ2UgaGFzIGhhcHBlbmVkIChlLmcuIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGUuaAppbmRleCBmNjBmNjlhOGVjYjI2MDFkMmJmOTU3ZmJiYjY4ZjBiMDQy
YWM3YjRhLi41YTQ1NGY4Y2E0ZTQ1ODk0ODhjZmIxZWVjZjhjNzk1ODRmNDVhNDIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlLmgKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIENvbXBvc2l0ZUFu
aW1hdGlvbiYgZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKFJlbmRlckVsZW1lbnQmKTsKICAgICBi
b29sIGNsZWFyKFJlbmRlckVsZW1lbnQmKTsKIAotICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRl
ZERpc3BhdGNoZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZT4mKTsKKyAg
ICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIHN0YXJ0VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKTsKICAgICB2b2lkIGFkZEV2
ZW50VG9EaXNwYXRjaChQYXNzUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSk7
CiAgICAgdm9pZCBhZGRFbGVtZW50Q2hhbmdlVG9EaXNwYXRjaChQYXNzUmVmPEVsZW1lbnQ+KTsK
QEAgLTExNCwxNSArMTE0LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFsbG93c05ld0FuaW1h
dGlvbnNXaGlsZVN1c3BlbmRlZChib29sKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGFuaW1hdGlv
blRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+Jik7CisgICAgdm9p
ZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICB2b2lkIHN0eWxlQXZhaWxhYmxl
KCk7CiAgICAgdm9pZCBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsKICAgICB2b2lkIHN0YXJ0
VGltZVJlc3BvbnNlKGRvdWJsZSB0KTsKIAogICAgIEhhc2hNYXA8UmVuZGVyRWxlbWVudCosIFJl
ZlB0cjxDb21wb3NpdGVBbmltYXRpb24+PiBtX2NvbXBvc2l0ZUFuaW1hdGlvbnM7Ci0gICAgVGlt
ZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+IG1fYW5pbWF0aW9uVGltZXI7Ci0gICAgVGlt
ZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+IG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3Bh
dGNoZXI7CisgICAgVGltZXIgbV9hbmltYXRpb25UaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZVN0
eWxlSWZOZWVkZWREaXNwYXRjaGVyOwogICAgIEZyYW1lJiBtX2ZyYW1lOwogICAgIAogICAgIGNs
YXNzIEV2ZW50VG9EaXNwYXRjaCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggMWQ3YzNhZDUxNWEyOTFiNmY0YjIwMjk4
NjA2ZjIzZDI3ODM1OWJkZS4uOGFhZjkxMmUwMzI1Njg5OWFmOWVkNzY2YWQxMjA1ZDJhNjgxNTBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXIuaApAQCAtMTIzLDcgKzEyMyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1vdXNl
SXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVyQnV0dG9uKSBjb25z
dDsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hs
aWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7Ci0gICAgdm9pZCBkZXRlcm1pbmVB
Y3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI+
Jik7CisgICAgdm9pZCBkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICBzdGF0aWMgYm9vbCBoaWdobGlnaHRzQXJlRXF1aXZhbGVudChjb25zdCBIaWdobGln
aHQqIGEsIGNvbnN0IEhpZ2hsaWdodCogYik7CiAKQEAgLTE1Niw3ICsxNTYsNyBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKIAotICAgIFRpbWVyPFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI+IG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXI7CisgICAg
VGltZXIgbV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNP
dmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIubW0KaW5kZXggOTBhZTU5MDRjZjRjZTU2YjNiZDdkOTgyNDJmZDFiZTVj
OTE0N2ViNi4uMDA5OGM3NjMxM2Y0Y2M2NjBlOTY4YTkwZDNlOTM4YThiMWJiYzlkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lm1tCkBAIC00NTAsNyArNDUwLDcgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICByZXR1
cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4o
cmVtYWluaW5nRGVsYXkpOwogfQogCi12b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoVGltZXI8U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcj4mKQordm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3Rp
dmVIaWdobGlnaHRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBib29sIG1vdXNlSXNPdmVyQnV0
dG9uOwogICAgIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodChtb3VzZUlzT3ZlckJ1dHRvbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDIzMzMwN2Q3NGVjYTliNTFhYTMxN2FkN2M2YmE5ZWVi
NTcwMmNmMWYuLmFjZDJkZjIyNWViM2ZjZDRmODBjNjBkYzk3YTZmMWVlNzEwZjU5MWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bChTY3IKICAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKIH0KIAotdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQb3Np
dGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKFRpbWVyPEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3I+KikKK3ZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsUG9z
aXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgdXBkYXRlU2Ny
b2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKG1fc2NoZWR1bGVkU2Nyb2xsVXBkYXRlLm5vZGVJ
RCwgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUuc2Nyb2xsUG9zaXRpb24sIG1fc2NoZWR1bGVkU2Ny
b2xsVXBkYXRlLmlzUHJvZ3JhbW1hdGljU2Nyb2xsLCBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZS51
cGRhdGVMYXllclBvc2l0aW9uQWN0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBhZmIw
MDJiOTVmMWY2ODBkMmFlZmVhMjEzNDEyNWZhNDU4YTI3MDEzLi4zZjRkN2JjOTJmOWU1YmQxZTVm
ODQ2NGVmNzU2MjE0OTEyZjBhYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDUsMTEgKzEw
NSwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmll
dyhGcmFtZVZpZXcqKTsKICAgICB2b2lkIHVwZGF0ZU1haW5GcmFtZVNjcm9sbExheWVyUG9zaXRp
b24oKTsKIAotICAgIHZvaWQgdXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGlt
ZXJGaXJlZChUaW1lcjxBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yPiopOworICAgIHZvaWQgdXBk
YXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZChUaW1lciopOwogICAg
IAogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3Rm9yU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2Rl
SUQpIGNvbnN0OwogCi0gICAgVGltZXI8QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcj4gbV91cGRh
dGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZU5vZGVTY3JvbGxQ
b3NpdGlvblRpbWVyOwogCiAgICAgc3RydWN0IFNjaGVkdWxlZFNjcm9sbFVwZGF0ZSB7CiAgICAg
ICAgIFNjaGVkdWxlZFNjcm9sbFVwZGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCmluZGV4IDE1
ZmFhMGI3MDUyOWNhNWY3YTYzODU1MWFmM2NkMThlZTJmODMzMmMuLjAxMWZlOGUyMzgyYjM5MjI2
MWQ2ZDZmMDMxZDczZjUxMTVmNThiZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCkBAIC01Mywx
MCArNTMsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVU
cmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcklPUz4qKTsKKyAg
ICB2b2lkIHNjcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyRmlyZWQoVGltZXIqKTsKICAg
ICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogCi0gICAgVGltZXI8U2Nyb2xsaW5nQ29vcmRpbmF0
b3JJT1M+IG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXI7CisgICAgVGltZXIgbV9z
Y3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQppbmRleCBmMmI3YzQwNDcyNGQ0OTQ1Mjk2ZTk5
ZWJjYzg0MjhhYzJkZjhmMjRkLi44OTI3ZTk5MjNhYWU3ODY4Y2Y5MDI3ZDRmOWNlMmYyMGVhMWM0
NjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcklPUz4qKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcklPUzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgY29tbWl0VHJlZVN0YXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCmlu
ZGV4IDdkYTg3ODBiMzM4ODMyYWEyZDk5YjI2OWM3MzliNWNjY2VjYmYzNGQuLmY3MWVjYzM0Njll
MmMwYWQwNzc2MjljZjhkNTBjYmZhZjg1ZWU2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCkBA
IC01MywxMiArNTMsMTIgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVUcmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsaW5nU3Rh
dGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4q
KTsKKyAgICB2b2lkIHNjcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyRmlyZWQoVGltZXIq
KTsKICAgICB2b2lkIGNvbW1pdFRyZWVTdGF0ZSgpOwogICAgIAogICAgIHZvaWQgdXBkYXRlVGls
ZWRTY3JvbGxpbmdJbmRpY2F0b3IoKTsKIAotICAgIFRpbWVyPFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjPiBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyOworICAgIFRpbWVyIG1fc2Ny
b2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggYzZkYzM5NjVhMmUxMDU5YmFhODhiYjVm
NDEyYzY3YjQyMWMyNjI1MS4uMGJjNTE5OTdkMGUyMTFlMWIyYzc1OGYxNjk5MzgwZDhjMDNlYzE3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4qKQordm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvck1hYzo6c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1l
ciopCiB7CiAgICAgY29tbWl0VHJlZVN0YXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IGI4ODI2MzZhZDc2N2Y4ZThkYjkyYjBkYTI1
ZWNkNGZlNDY3ZmJhMDguLmNhOTA4MzRlODk1NDYyYzJiM2EwMjAzOGRiODI0ZTA1NzdlZDE3MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC04
OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIHZvaWQgaHlz
dGVyZXNpc1RpbWVyRmlyZWQoVGltZXI8SHlzdGVyZXNpc0FjdGl2aXR5PiYpCisgICAgdm9pZCBo
eXN0ZXJlc2lzVGltZXJGaXJlZChUaW1lciYpCiAgICAgewogICAgICAgICBtX2RlbGVnYXRlLnN0
b3BwZWQoKTsKICAgICAgICAgbV90aW1lci5zdG9wKCk7CkBAIC05Nyw3ICs5Nyw3IEBAIHByaXZh
dGU6CiAgICAgRGVsZWdhdGUmIG1fZGVsZWdhdGU7CiAgICAgZG91YmxlIG1faHlzdGVyZXNpc1Nl
Y29uZHM7CiAgICAgYm9vbCBtX2FjdGl2ZTsKLSAgICBUaW1lcjxIeXN0ZXJlc2lzQWN0aXZpdHk+
IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAppbmRleCAwNTky
NjYwMWRkYzMyZWIxMzM4ZWE1MTMzYmYzY2ZjZGJiYWJjYjVhLi5lYTNjMzk3N2I1ODFkODcwZWVj
MjMxODZlZjA0NmEzZWY2MjUzYTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
QW5pbWF0b3IuY3BwCkBAIC0xNzYsMTQgKzE3NiwxNCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjp1
cGRhdGVTY3JvbGxBbmltYXRvcnNBbmRUaW1lcnMoKQogICAgIC8vIEZJWE1FOiBDdXJyZW50bHks
IHNjcm9sbCBzbmFwIGFuaW1hdG9ycyBhcmUgcmVjcmVhdGVkIGV2ZW4gdGhvdWdoIHRoZSBzbmFw
IG9mZnNldHMgYWxvbmUgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEt
Pmhvcml6b250YWxTbmFwT2Zmc2V0cygpKSB7CiAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNu
YXBBbmltYXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8QXhpc1Njcm9sbFNuYXBBbmltYXRvcj4odGhp
cywgbV9zY3JvbGxhYmxlQXJlYS0+aG9yaXpvbnRhbFNuYXBPZmZzZXRzKCksIFNjcm9sbEV2ZW50
QXhpczo6SG9yaXpvbnRhbCk7Ci0gICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lciA9
IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI8U2Nyb2xsQW5pbWF0b3I+Pih0aGlzLCAmU2Nyb2xsQW5p
bWF0b3I6Omhvcml6b250YWxTY3JvbGxTbmFwVGltZXJGaXJlZCk7CisgICAgICAgIG1faG9yaXpv
bnRhbFNjcm9sbFNuYXBUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZTY3Jv
bGxBbmltYXRvcjo6aG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lckZpcmVkKTsKICAgICB9IGVsc2Ug
aWYgKG1faG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvcikgewogICAgICAgICBtX2hvcml6b250
YWxTY3JvbGxTbmFwQW5pbWF0b3IgPSBudWxscHRyOwogICAgICAgICBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXIgPSBudWxscHRyOwogICAgIH0KICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYS0+
dmVydGljYWxTbmFwT2Zmc2V0cygpKSB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwQW5p
bWF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPEF4aXNTY3JvbGxTbmFwQW5pbWF0b3I+KHRoaXMsIG1f
c2Nyb2xsYWJsZUFyZWEtPnZlcnRpY2FsU25hcE9mZnNldHMoKSwgU2Nyb2xsRXZlbnRBeGlzOjpW
ZXJ0aWNhbCk7Ci0gICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPFNjcm9sbEFuaW1hdG9yPj4odGhpcywgJlNjcm9sbEFuaW1hdG9yOjp2ZXJ0
aWNhbFNjcm9sbFNuYXBUaW1lckZpcmVkKTsKKyAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbFNuYXBU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZTY3JvbGxBbmltYXRvcjo6dmVy
dGljYWxTY3JvbGxTbmFwVGltZXJGaXJlZCk7CiAgICAgfSBlbHNlIGlmIChtX3ZlcnRpY2FsU2Ny
b2xsU25hcEFuaW1hdG9yKSB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxTbmFwQW5pbWF0b3Ig
PSBudWxscHRyOwogICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyID0gbnVsbHB0cjsK
QEAgLTIwNywyNCArMjA3LDI0IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OmltbWVkaWF0ZVNjcm9s
bEluQXhpcyhTY3JvbGxFdmVudEF4aXMgYXhpcywgZmxvYXQgZGVsdGEpCiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3I6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKFNjcm9sbEV2ZW50QXhpcyBheGlzKQogewot
ICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yPiogc2Nyb2xsU25hcFRpbWVyID0gYXhpcyA9PSBTY3Jv
bGxFdmVudEF4aXM6Okhvcml6b250YWwgPyBtX2hvcml6b250YWxTY3JvbGxTbmFwVGltZXIuZ2V0
KCkgOiBtX3ZlcnRpY2FsU2Nyb2xsU25hcFRpbWVyLmdldCgpOworICAgIFRpbWVyKiBzY3JvbGxT
bmFwVGltZXIgPSBheGlzID09IFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCA/IG1faG9yaXpv
bnRhbFNjcm9sbFNuYXBUaW1lci5nZXQoKSA6IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIuZ2V0
KCk7CiAgICAgaWYgKCFzY3JvbGxTbmFwVGltZXItPmlzQWN0aXZlKCkpCiAgICAgICAgIHNjcm9s
bFNuYXBUaW1lci0+c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CiB9CiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3I6OnN0b3BTY3JvbGxTbmFwVGltZXIoU2Nyb2xsRXZlbnRBeGlzIGF4aXMpCiB7Ci0g
ICAgVGltZXI8U2Nyb2xsQW5pbWF0b3I+KiBzY3JvbGxTbmFwVGltZXIgPSBheGlzID09IFNjcm9s
bEV2ZW50QXhpczo6SG9yaXpvbnRhbCA/IG1faG9yaXpvbnRhbFNjcm9sbFNuYXBUaW1lci5nZXQo
KSA6IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXIuZ2V0KCk7CisgICAgVGltZXIqIHNjcm9sbFNu
YXBUaW1lciA9IGF4aXMgPT0gU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsID8gbV9ob3Jpem9u
dGFsU2Nyb2xsU25hcFRpbWVyLmdldCgpIDogbV92ZXJ0aWNhbFNjcm9sbFNuYXBUaW1lci5nZXQo
KTsKICAgICBpZiAoc2Nyb2xsU25hcFRpbWVyLT5pc0FjdGl2ZSgpKQogICAgICAgICBzY3JvbGxT
bmFwVGltZXItPnN0b3AoKTsKIH0KIAotdm9pZCBTY3JvbGxBbmltYXRvcjo6aG9yaXpvbnRhbFNj
cm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpCit2b2lkIFNjcm9sbEFu
aW1hdG9yOjpob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG1f
aG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvci0+c2Nyb2xsU25hcEFuaW1hdGlvblVwZGF0ZSgp
OwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yOjp2ZXJ0aWNhbFNjcm9sbFNuYXBUaW1lckZpcmVk
KFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpCit2b2lkIFNjcm9sbEFuaW1hdG9yOjp2ZXJ0aWNhbFNj
cm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBtX3ZlcnRpY2FsU2Nyb2xsU25hcEFu
aW1hdG9yLT5zY3JvbGxTbmFwQW5pbWF0aW9uVXBkYXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRleCBlM2E3YmUzMTljZGYzYTk0YzQ4MzZjYzc3NDcx
MmVlOGFjMjUxODAwLi5lYjE1MGZjZGZiNTA2NzFhNzNmZWQ0ZTY3NzFmNWQ5YTg5MTQ4YjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgKQEAgLTEzMCw4ICsxMzAs
OCBAQCBwcm90ZWN0ZWQ6CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9S
TShNQUMpCiAgICAgLy8gVHJpdmlhbCB3cmFwcGVycyBhcm91bmQgdGhlIGFjdHVhbCB1cGRhdGUg
bG9vcCBpbiBBeGlzU2Nyb2xsU25hcEFuaW1hdG9yLCBzaW5jZSBXZWJDb3JlIFRpbWVyIHJlcXVp
cmVzIGEgVGltZXIgYXJndW1lbnQuCi0gICAgdm9pZCBob3Jpem9udGFsU2Nyb2xsU25hcFRpbWVy
RmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3I+Jik7Ci0gICAgdm9pZCB2ZXJ0aWNhbFNjcm9sbFNu
YXBUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yPiYpOworICAgIHZvaWQgaG9yaXpvbnRh
bFNjcm9sbFNuYXBUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCB2ZXJ0aWNhbFNjcm9sbFNu
YXBUaW1lckZpcmVkKFRpbWVyJik7CiAjZW5kaWYKIAogICAgIFNjcm9sbGFibGVBcmVhKiBtX3Nj
cm9sbGFibGVBcmVhOwpAQCAtMTM5LDEwICsxMzksMTAgQEAgcHJvdGVjdGVkOgogICAgIGZsb2F0
IG1fY3VycmVudFBvc1k7IC8vIHN1YmNsYXNzIGNvZGUgY29tcGxleGl0eS4KICNpZiBFTkFCTEUo
Q1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9STShNQUMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPEF4
aXNTY3JvbGxTbmFwQW5pbWF0b3I+IG1faG9yaXpvbnRhbFNjcm9sbFNuYXBBbmltYXRvcjsKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI8U2Nyb2xsQW5pbWF0b3I+PiBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX2hvcml6b250YWxTY3Jv
bGxTbmFwVGltZXI7CiAgICAgLy8gRklYTUU6IEZpbmQgYSB3YXkgdG8gY29uc29saWRhdGUgYm90
aCB0aW1lcnMgaW50byBvbmUgdmFyaWFibGUuCiAgICAgc3RkOjp1bmlxdWVfcHRyPEF4aXNTY3Jv
bGxTbmFwQW5pbWF0b3I+IG1fdmVydGljYWxTY3JvbGxTbmFwQW5pbWF0b3I7Ci0gICAgc3RkOjp1
bmlxdWVfcHRyPFRpbWVyPFNjcm9sbEFuaW1hdG9yPj4gbV92ZXJ0aWNhbFNjcm9sbFNuYXBUaW1l
cjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fdmVydGljYWxTY3JvbGxTbmFwVGltZXI7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRv
ck5vbmUuY3BwCmluZGV4IDM1ZDhjZjQ2NjU2ZmM0YmRjMjk0YTdmYmZiZjkzZDU5MGQwZGYyMWYu
LmNlZjgzMzQ3MGY1NmE2YWZmZTU3MTE4MGU4MWY4MGVhMzFiYmM5NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcApAQCAtNDkxLDcgKzQ5MSw3
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjp1cGRhdGVWaXNpYmxlTGVuZ3RocygpCiB9CiAK
ICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcm9sbEFuaW1h
dG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+KikK
K3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBhbmltYXRpb25UaW1lckZpcmVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yTm9uZS5oCmluZGV4IGIzOGRhMTZhODcyNjIyNjc2NjZlNTZjNDE2ZjYw
MDk0NWVkOWRlZTIuLjcwMGY0ZWUxZTgwMmE2N2EzNWRlYzAwZWY0ZjllMTkxNzcyZmU4ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oCkBAIC0xNDUs
NyArMTQ1LDcgQEAgcHJvdGVjdGVkOgogICAgIH07CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIpCi0gICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcm9s
bEFuaW1hdG9yTm9uZT4qKTsKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXIqKTsK
ICAgICB2b2lkIHN0YXJ0TmV4dFRpbWVyKGRvdWJsZSBkZWxheSk7CiAjZWxzZQogICAgIHZvaWQg
c3RhcnROZXh0VGltZXIoKTsKQEAgLTE2MSw3ICsxNjEsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBk
b3VibGUgbV9zdGFydFRpbWU7CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVS
KQotICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTm9uZT4gbV9hbmltYXRpb25UaW1lcjsKKyAgICBU
aW1lciBtX2FuaW1hdGlvblRpbWVyOwogI2Vsc2UKICAgICBib29sIG1fYW5pbWF0aW9uQWN0aXZl
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA3ZThkMTE3
YWMyM2FmOWZlZjJlYTY3NzdhZjRmMTM2MmI0MDkzMzk2Li5jNjNmYjAxNTk4OTUyODEyNWRjYTE4
NzE3YTg2YzUyOTUyZTMzZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAK
QEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFNjcm9sbGJhcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VSZWN0KQogICAgICAgICBXaWRnZXQ6OnBh
aW50KGNvbnRleHQsIGRhbWFnZVJlY3QpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsYmFyPiYpCit2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGF1dG9zY3JvbGxQcmVzc2VkUGFydCh0aGVtZSgp
LT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGJhci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmgKaW5kZXggNjk4ODVmNWEwZjA3YjFkOTk4MjZlNGZmYWMwNzMzMzAyZmVmOTdmZi4uNzMxZGU1
ZDNmZTMzYjNjODNlZTI3NjAwYTcyNDM4Y2FkYTY3MDUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVRodW1iUG9zaXRpb24oKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQ
cm9wb3J0aW9uKCk7CiAKLSAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyPFNjcm9s
bGJhcj4mKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgdm9p
ZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1lcklm
TmVlZGVkKCk7CiAgICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KTsK
QEAgLTE5NCw3ICsxOTQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBib29sIG1fZW5hYmxlZDsKIAot
ICAgIFRpbWVyPFNjcm9sbGJhcj4gbV9zY3JvbGxUaW1lcjsKKyAgICBUaW1lciBtX3Njcm9sbFRp
bWVyOwogICAgIGJvb2wgbV9vdmVybGFwc1Jlc2l6ZXI7CiAKICAgICBib29sIG1fc3VwcHJlc3NJ
bnZhbGlkYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA4NjMxNThkM2U4NTdlZTEz
OTc1NGVlNjdhZGE5ZmYzNGFjMjgxZjQzLi5lYWM4ODNmNDExMDJhYjAxNzk1NTJhMjQyZGJmMDUw
NjE0MzQ2MDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTExMiwyNyArMTEyLDM4IEBA
IHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFRpbWVySGVhcFJlZmVyZW5jZTsKIH07CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+IGNsYXNzIFRpbWVyIDogcHVibGljIFRp
bWVyQmFzZSB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipU
aW1lckZpcmVkRnVuY3Rpb24pKFRpbWVyJik7Ci0gICAgdHlwZWRlZiB2b2lkIChUaW1lckZpcmVk
Q2xhc3M6OipEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0aW9uKShUaW1lciopOwogCi0gICAgVGlt
ZXIoVGltZXJGaXJlZENsYXNzKiBvYmplY3QsIFRpbWVyRmlyZWRGdW5jdGlvbiBmdW5jdGlvbikK
K2NsYXNzIFRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CitwdWJsaWM6CisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRpbWVyRmlyZWRDbGFzcywgdHlwZW5hbWUgVGltZXJGaXJlZEJhc2VDbGFzcz4K
KyAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MqIG9iamVjdCwgdm9pZCAoVGltZXJGaXJlZEJhc2VD
bGFzczo6KmZ1bmN0aW9uKShUaW1lciYpKQogICAgICAgICA6IG1fZnVuY3Rpb24oc3RkOjpiaW5k
KGZ1bmN0aW9uLCBvYmplY3QsIHN0ZDo6cmVmKCp0aGlzKSkpCiAgICAgewogICAgIH0KIAotICAg
IFRpbWVyKFRpbWVyRmlyZWRDbGFzcyogb2JqZWN0LCBEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0
aW9uIGZ1bmN0aW9uKQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3MsIHR5
cGVuYW1lIFRpbWVyRmlyZWRCYXNlQ2xhc3M+CisgICAgVGltZXIoVGltZXJGaXJlZENsYXNzKiBv
YmplY3QsIHZvaWQgKFRpbWVyRmlyZWRCYXNlQ2xhc3M6OipmdW5jdGlvbikoVGltZXIqKSkKICAg
ICAgICAgOiBtX2Z1bmN0aW9uKHN0ZDo6YmluZChmdW5jdGlvbiwgb2JqZWN0LCB0aGlzKSkKICAg
ICB7CiAgICAgfQogCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFRpbWVyRmlyZWRDbGFzcywgdHlw
ZW5hbWUgVGltZXJGaXJlZEJhc2VDbGFzcz4KKyAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9i
amVjdCwgdm9pZCAoVGltZXJGaXJlZEJhc2VDbGFzczo6KmZ1bmN0aW9uKSgpKQorICAgICAgICA6
IG1fZnVuY3Rpb24oc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSkKKyAgICB7CisgICAgfQor
CisgICAgVGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbikKKyAgICAgICAgOiBt
X2Z1bmN0aW9uKFdURjo6bW92ZShmdW5jdGlvbikpCisgICAgeworICAgIH0KKwogcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgbV9mdW5j
dGlvbigpOwogICAgIH0KLQorICAgIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5j
dGlvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01l
ZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Np
b24uY3BwCmluZGV4IDUxZmE3ZGMyYzU1NzFhNmNiOTgzNzkyZTJjMmNmNDY0YTczNDdkNmIuLmQ0
NmQ2Yjc4MWNkODhhMzc5NWRhNWRiMzBjMGQzNmNlNDg0YjU0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBA
IHZvaWQgTWVkaWFTZXNzaW9uOjp2aXNpYmlsaXR5Q2hhbmdlZCgpCiAgICAgICAgIG1fY2xpZW50
RGF0YUJ1ZmZlcmluZ1RpbWVyLnN0YXJ0T25lU2hvdChrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVy
VGhyb3R0bGVEZWxheSk7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uOjpjbGllbnREYXRhQnVmZmVy
aW5nVGltZXJGaXJlZChUaW1lcjxXZWJDb3JlOjpNZWRpYVNlc3Npb24+ICYpCit2b2lkIE1lZGlh
U2Vzc2lvbjo6Y2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXIgJikKIHsKICAgICB1
cGRhdGVDbGllbnREYXRhQnVmZmVyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL01lZGlhU2Vzc2lvbi5oCmluZGV4IGIwNmUwNjc5NjExMjJiZjkzZDc1Y2M4OWUyNjI2
ZDQ2ZDY3ZjdmNjcuLjMyNDFjOTAwNGFiZjE4ZmMyNzk2OWU4N2U3NmIxM2Y3NmYyZjQ2YWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCkBAIC0xMDYs
MTEgKzEwNiwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTZXNzaW9uQ2xpZW50JiBjbGllbnQo
KSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQogCiBwcml2YXRlOgotICAgIHZvaWQgY2xpZW50
RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXI8TWVkaWFTZXNzaW9uPiYpOworICAgIHZvaWQg
Y2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIHVwZGF0ZUNs
aWVudERhdGFCdWZmZXJpbmcoKTsKIAogICAgIE1lZGlhU2Vzc2lvbkNsaWVudCYgbV9jbGllbnQ7
Ci0gICAgVGltZXI8TWVkaWFTZXNzaW9uPiBtX2NsaWVudERhdGFCdWZmZXJpbmdUaW1lcjsKKyAg
ICBUaW1lciBtX2NsaWVudERhdGFCdWZmZXJpbmdUaW1lcjsKICAgICBTdGF0ZSBtX3N0YXRlOwog
ICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJF
ZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5j
cHAKaW5kZXggMWJlOWUxZDI1NTk2OTY3YjYyMzZhMDU2NjRkZThkNmU5Yjk3ZWI2ZS4uZGI1NWQz
ODNlOGY0MDQwOGE4ZTkzOWNlMTgwMzc5YjI0YTRiMzMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5jcHAKQEAgLTczLDcgKzczLDcg
QEAgdm9pZCBCYXR0ZXJ5UHJvdmlkZXJFZmw6OnNldEJhdHRlcnlTdGF0dXMoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWYKICAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlQmF0dGVy
eVN0YXR1cyhldmVudFR5cGUsIG1fYmF0dGVyeVN0YXR1cyk7CiB9CiAKLXZvaWQgQmF0dGVyeVBy
b3ZpZGVyRWZsOjp0aW1lckZpcmVkKFRpbWVyPEJhdHRlcnlQcm92aWRlckVmbD4qIHRpbWVyKQor
dm9pZCBCYXR0ZXJ5UHJvdmlkZXJFZmw6OnRpbWVyRmlyZWQoVGltZXIqIHRpbWVyKQogewogICAg
IEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX3RpbWVyKTsKICAgICBFX0RCdXNfQ29u
bmVjdGlvbiogZWRidXNDb25uZWN0aW9uID0gZV9kYnVzX2J1c19nZXQoREJVU19CVVNfU1lTVEVN
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlk
ZXJFZmwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9CYXR0ZXJ5UHJvdmlkZXJFZmwu
aAppbmRleCBiYjRiYjdmMDRiZGRkZWM0YjFlYTAwNGE5YTljMTY3NDExNjVjM2UwLi40MzEzOGVh
MDZmYmM2OTZjZDg5NDA5MzU5MWZhOWFiZWU4YWYzYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvQmF0dGVyeVByb3ZpZGVyRWZsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZWZsL0JhdHRlcnlQcm92aWRlckVmbC5oCkBAIC00NSwxMiArNDUsMTIgQEAg
cHVibGljOgogICAgIEJhdHRlcnlTdGF0dXMqIGJhdHRlcnlTdGF0dXMoKSBjb25zdDsKIAogcHJp
dmF0ZToKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8QmF0dGVyeVByb3ZpZGVyRWZsPiopOwor
ICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciopOwogICAgIHN0YXRpYyB2b2lkIGdldEJhdHRlcnlT
dGF0dXModm9pZCogZGF0YSwgdm9pZCogcmVwbHlEYXRhLCBEQnVzRXJyb3IqKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRCYXR0ZXJ5Q2xpZW50KHZvaWQqIGRhdGEsIHZvaWQqIHJlcGx5RGF0YSwgREJ1
c0Vycm9yKik7CiAKICAgICBCYXR0ZXJ5UHJvdmlkZXJFZmxDbGllbnQqIG1fY2xpZW50OwotICAg
IFRpbWVyPEJhdHRlcnlQcm92aWRlckVmbD4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwog
ICAgIFJlZlB0cjxCYXR0ZXJ5U3RhdHVzPiBtX2JhdHRlcnlTdGF0dXM7CiAgICAgY29uc3QgZG91
YmxlIG1fYmF0dGVyeVN0YXR1c1JlZnJlc2hJbnRlcnZhbDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMjIwYjM2OWMwMzUx
ZGMyMDFkNTM4YjQ5ZDliYjljNDNlNjhkMDk0Yy4uNDhjOWFiM2Y3NWE2MzMwOGE3NTVkMzQyNjMw
ZDU1ZmJlMGM5ZjlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmNwcApAQCAtNTI4LDcgKzUyOCw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OnN0
YXJ0QW5pbWF0aW9uKENhdGNoVXBBbmltYXRpb24gY2F0Y2hVcElmTmVjZXNzYXJ5KQogCiAgICAg
aWYgKGNhdGNoVXBJZk5lY2Vzc2FyeSA9PSBEb05vdENhdGNoVXAgfHwgdGltZSA8IG1fZGVzaXJl
ZEZyYW1lU3RhcnRUaW1lKSB7CiAgICAgICAgIC8vIEhhdmVuJ3QgeWV0IHJlYWNoZWQgdGltZSBm
b3IgbmV4dCBmcmFtZSB0byBzdGFydDsgZGVsYXkgdW50aWwgdGhlbi4KLSAgICAgICAgbV9mcmFt
ZVRpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcjxCaXRtYXBJbWFnZT4+KHRoaXMsICZCaXRt
YXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7CisgICAgICAgIG1fZnJhbWVUaW1lciA9IHN0ZDo6
bWFrZV91bmlxdWU8VGltZXI+KHRoaXMsICZCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7
CiAgICAgICAgIG1fZnJhbWVUaW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSwgMC4pKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBXZSd2
ZSBhbHJlYWR5IHJlYWNoZWQgb3IgcGFzc2VkIHRoZSB0aW1lIGZvciB0aGUgbmV4dCBmcmFtZSB0
byBzdGFydC4KQEAgLTYyOSw3ICs2MjksNyBAQCB2b2lkIEJpdG1hcEltYWdlOjpkcmF3UGF0dGVy
bihHcmFwaGljc0NvbnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgdGlsZVJlY3QsCiB9CiAK
IAotdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbihUaW1lcjxCaXRtYXBJbWFnZT4m
KQordm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbihUaW1lciYpCiB7CiAgICAgaW50
ZXJuYWxBZHZhbmNlQW5pbWF0aW9uKGZhbHNlKTsKICAgICAvLyBBdCB0aGlzIHBvaW50IHRoZSBp
bWFnZSByZWdpb24gaGFzIGJlZW4gbWFya2VkIGRpcnR5LCBhbmQgaWYgaXQncwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggYTBhMGYyNGFk
ZjAzZjllNzNmMjQyNjQ2Mzk1NTFjMmE0OTUwOWIxYi4uNzJmNzFhZTdjODNlZDA3NDJlMTFhNGU1
MTFjNTQ0MTNkYTIwYzE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKK2Ns
YXNzIFRpbWVyOwogCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KIC8vIEZyYW1lRGF0YSBDbGFzcwpAQCAtMjU4LDcgKzI1OCw3IEBAIHByb3RlY3Rl
ZDoKICAgICBpbnQgcmVwZXRpdGlvbkNvdW50KGJvb2wgaW1hZ2VLbm93blRvQmVDb21wbGV0ZSk7
ICAvLyB8aW1hZ2VLbm93blRvQmVDb21wbGV0ZXwgc2hvdWxkIGJlIHNldCBpZiB0aGUgY2FsbGVy
IGtub3dzIHRoZSBlbnRpcmUgaW1hZ2UgaGFzIGJlZW4gZGVjb2RlZC4KICAgICBib29sIHNob3Vs
ZEFuaW1hdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRBbmltYXRpb24oQ2F0Y2hVcEFuaW1h
dGlvbiA9IENhdGNoVXApIG92ZXJyaWRlOwotICAgIHZvaWQgYWR2YW5jZUFuaW1hdGlvbihUaW1l
cjxCaXRtYXBJbWFnZT4mKTsKKyAgICB2b2lkIGFkdmFuY2VBbmltYXRpb24oVGltZXImKTsKIAog
ICAgIC8vIEZ1bmN0aW9uIHRoYXQgZG9lcyB0aGUgcmVhbCB3b3JrIG9mIGFkdmFuY2luZyB0aGUg
YW5pbWF0aW9uLiAgV2hlbgogICAgIC8vIHNraXBwaW5nRnJhbWVzIGlzIHRydWUsIHdlJ3JlIGlu
IHRoZSBtaWRkbGUgb2YgYSBsb29wIHRyeWluZyB0byBza2lwIG92ZXIKQEAgLTI5NSw3ICsyOTUs
NyBAQCBwcml2YXRlOgogICAgIHNpemVfdCBtX2N1cnJlbnRGcmFtZTsgLy8gVGhlIGluZGV4IG9m
IHRoZSBjdXJyZW50IGZyYW1lIG9mIGFuaW1hdGlvbi4KICAgICBWZWN0b3I8RnJhbWVEYXRhLCAx
PiBtX2ZyYW1lczsgLy8gQW4gYXJyYXkgb2YgdGhlIGNhY2hlZCBmcmFtZXMgb2YgdGhlIGFuaW1h
dGlvbi4gV2UgaGF2ZSB0byByZWYgZnJhbWVzIHRvIHBpbiB0aGVtIGluIHRoZSBjYWNoZS4KIAot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcjxCaXRtYXBJbWFnZT4+IG1fZnJhbWVUaW1lcjsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGltZXI+IG1fZnJhbWVUaW1lcjsKICAgICBpbnQgbV9yZXBldGl0
aW9uQ291bnQ7IC8vIEhvdyBtYW55IHRvdGFsIGFuaW1hdGlvbiBsb29wcyB3ZSBzaG91bGQgZG8u
ICBUaGlzIHdpbGwgYmUgY0FuaW1hdGlvbk5vbmUgaWYgdGhpcyBpbWFnZSB0eXBlIGlzIGluY2Fw
YWJsZSBvZiBhbmltYXRpb24uCiAgICAgUmVwZXRpdGlvbkNvdW50U3RhdHVzIG1fcmVwZXRpdGlv
bkNvdW50U3RhdHVzOwogICAgIGludCBtX3JlcGV0aXRpb25zQ29tcGxldGU7ICAvLyBIb3cgbWFu
eSByZXBldGl0aW9ucyB3ZSd2ZSBmaW5pc2hlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA3YTUzM2QwMDI3OTFmYzE5ZjdmOTYw
NmM5ZmZjMzc1ZGMzMWQ4Njc0Li44MWZjZTlkMTUyOWY1OTUxYzk0N2E0MGNjZjE5MjQ4NDNmZTcx
YjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCkBAIC05NTUsNyArOTU1LDcgQEAgdW5zaWduZWQgTWVkaWFQbGF5ZXI6OnZpZGVvRGVj
b2RlZEJ5dGVDb3VudCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9EZWNvZGVk
Qnl0ZUNvdW50KCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXI6OnJlbG9hZFRpbWVyRmlyZWQoVGlt
ZXI8TWVkaWFQbGF5ZXI+JikKK3ZvaWQgTWVkaWFQbGF5ZXI6OnJlbG9hZFRpbWVyRmlyZWQoVGlt
ZXImKQogewogICAgIG1fcHJpdmF0ZS0+Y2FuY2VsTG9hZCgpOwogICAgIGxvYWRXaXRoTmV4dE1l
ZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5naW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGIxNTM3ZDcwYmQ1ZWNkMDY4NDZmMWQ5
ZmUyNTY2MjE2NzA3OTllY2IuLjY4N2QwNDViMDk1MGMzY2IwYTEyNmZlMGNhMDEyZDFkNGJjY2Zl
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aApAQCAtNTgyLDEyICs1ODIsMTIgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBs
YXllckNsaWVudCYpOwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dEJlc3RNZWRpYUVuZ2lu
ZShNZWRpYVBsYXllckZhY3RvcnkqKSBjb25zdDsKICAgICB2b2lkIGxvYWRXaXRoTmV4dE1lZGlh
RW5naW5lKE1lZGlhUGxheWVyRmFjdG9yeSopOwotICAgIHZvaWQgcmVsb2FkVGltZXJGaXJlZChU
aW1lcjxNZWRpYVBsYXllcj4mKTsKKyAgICB2b2lkIHJlbG9hZFRpbWVyRmlyZWQoVGltZXImKTsK
IAogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVNZWRpYUVuZ2luZXMoKTsKIAogICAgIE1lZGlh
UGxheWVyQ2xpZW50JiBtX2NsaWVudDsKLSAgICBUaW1lcjxNZWRpYVBsYXllcj4gbV9yZWxvYWRU
aW1lcjsKKyAgICBUaW1lciBtX3JlbG9hZFRpbWVyOwogICAgIE93blB0cjxNZWRpYVBsYXllclBy
aXZhdGVJbnRlcmZhY2U+IG1fcHJpdmF0ZTsKICAgICBNZWRpYVBsYXllckZhY3RvcnkqIG1fY3Vy
cmVudE1lZGlhRW5naW5lOwogICAgIFVSTCBtX3VybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggOTE3Y2UwOTM4NzM1OWRkNjg5M2Fi
MzhkMDE5OTUwNjI3N2M1MDJlYS4uNjZkZjZiZjJiYzE0MWU2ZTNhNGZjZTcyMmI0NTcyMDU5OTBl
OTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93
Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmF0Y2hCdWZm
ZXImIHNoYXJlZCgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxTY3Jh
dGNoQnVmZmVyPiopCisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyKikKICAgICB7CiAgICAgICAg
IGNsZWFyU2NyYXRjaEJ1ZmZlcigpOwogICAgIH0KQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRl
OgogICAgIH0KIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZl
cjsKLSAgICBUaW1lcjxTY3JhdGNoQnVmZmVyPiBtX3B1cmdlVGltZXI7CisgICAgVGltZXIgbV9w
dXJnZVRpbWVyOwogICAgIAogICAgIEZsb2F0UmVjdCBtX2xhc3RJbnNldEJvdW5kczsKICAgICBG
bG9hdFJlY3QgbV9sYXN0U2hhZG93UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCAyZWVmNDEzZDM0NDAx
M2I2MTUzMWQ4MWQ1MzFhYjYyMDNkZWY2ZDEzLi4wNDQ5MGRkMjczMDE0Y2NlZGQ3MjEwZmQwZTIz
MTQ5NTMzMjE0NTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCkBAIC01MTMsNyArNTEzLDcgQEAgdm9pZCBUaWxl
ZEJhY2tpbmdTdG9yZTo6c3RhcnRUaWxlQnVmZmVyVXBkYXRlVGltZXIoKQogICAgIG1fdGlsZUJ1
ZmZlclVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBUaWxlZEJhY2tpbmdT
dG9yZTo6dGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+
KikKK3ZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnRpbGVCdWZmZXJVcGRhdGVUaW1lckZpcmVkKFRp
bWVyKikKIHsKICAgICBBU1NFUlQobV9jb21taXRUaWxlVXBkYXRlc09uSWRsZUV2ZW50TG9vcCk7
CiAgICAgdXBkYXRlVGlsZUJ1ZmZlcnMoKTsKQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lkIFRpbGVk
QmFja2luZ1N0b3JlOjpzdGFydEJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyKGRvdWJsZSBpbnRlcnZh
bCkKICAgICBtX2JhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7
CiB9CiAKLXZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmly
ZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+KikKK3ZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmJh
Y2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX2NvbW1p
dFRpbGVVcGRhdGVzT25JZGxlRXZlbnRMb29wKTsKICAgICBjcmVhdGVUaWxlcygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgK
aW5kZXggOWUzMDQwZTJiNGFhMWEzYjBlNzc0MGQxZTRjNmU1MWE1ODQ2Yzg0OC4uNTY5M2ViNzgx
MWFkNDg2YzNlNmNiMWI0ZDlhZWIxNjllMDViOTQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC04MSw4ICs4MSw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydFRpbGVCdWZmZXJVcGRhdGVUaW1lcigpOwogICAg
IHZvaWQgc3RhcnRCYWNraW5nU3RvcmVVcGRhdGVUaW1lcihkb3VibGUgPSAwKTsKIAotICAgIHZv
aWQgdGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8VGlsZWRCYWNraW5nU3RvcmU+Kik7
Ci0gICAgdm9pZCBiYWNraW5nU3RvcmVVcGRhdGVUaW1lckZpcmVkKFRpbWVyPFRpbGVkQmFja2lu
Z1N0b3JlPiopOworICAgIHZvaWQgdGlsZUJ1ZmZlclVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKTsK
KyAgICB2b2lkIGJhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZv
aWQgY3JlYXRlVGlsZXMoKTsKICAgICB2b2lkIGNvbXB1dGVDb3ZlckFuZEtlZXBSZWN0KGNvbnN0
IEludFJlY3QmIHZpc2libGVSZWN0LCBJbnRSZWN0JiBjb3ZlclJlY3QsIEludFJlY3QmIGtlZXBS
ZWN0KSBjb25zdDsKQEAgLTEwOSw4ICsxMDksOCBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFz
aE1hcDxUaWxlOjpDb29yZGluYXRlLCBSZWZQdHI8VGlsZT4gPiBUaWxlTWFwOwogICAgIFRpbGVN
YXAgbV90aWxlczsKIAotICAgIFRpbWVyPFRpbGVkQmFja2luZ1N0b3JlPiBtX3RpbGVCdWZmZXJV
cGRhdGVUaW1lcjsKLSAgICBUaW1lcjxUaWxlZEJhY2tpbmdTdG9yZT4gbV9iYWNraW5nU3RvcmVV
cGRhdGVUaW1lcjsKKyAgICBUaW1lciBtX3RpbGVCdWZmZXJVcGRhdGVUaW1lcjsKKyAgICBUaW1l
ciBtX2JhY2tpbmdTdG9yZVVwZGF0ZVRpbWVyOwogCiAgICAgSW50U2l6ZSBtX3RpbGVTaXplOwog
ICAgIGZsb2F0IG1fY292ZXJBcmVhTXVsdGlwbGllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZG
T2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgKaW5kZXggOTMyYWIyODk4N2MwMThlM2E3OGQ2OTNk
YjIxYTkwYmI2MGYxMTdhYy4uNDcxNzQwZGFlODlhNTk2NTY2NThjOTg3NWYzMjZiODM4ODAzMjlk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLmgK
QEAgLTg0LDEzICs4NCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDKEFWUGxheWVySXRlbSosIEFWTWVkaWFTZWxlY3Rpb25Hcm91cCopOwogCi0g
ICAgdm9pZCBzZWxlY3Rpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZP
YmpDPiYpOworICAgIHZvaWQgc2VsZWN0aW9uVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmV0
YWluUHRyPEFWUGxheWVySXRlbT4gbV9wbGF5ZXJJdGVtOwogICAgIFJldGFpblB0cjxBVk1lZGlh
U2VsZWN0aW9uR3JvdXA+IG1fbWVkaWFTZWxlY3Rpb25Hcm91cDsKICAgICBPcHRpb25Db250YWlu
ZXIgbV9vcHRpb25zOwogICAgIE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyogbV9zZWxlY3Rl
ZE9wdGlvbjsKLSAgICBUaW1lcjxNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQz4gbV9zZWxlY3Rp
b25UaW1lcjsKKyAgICBUaW1lciBtX3NlbGVjdGlvblRpbWVyOwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2Vs
ZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IGEwNzZhNDg3
NDE2MGRiM2I3NDA5OTAyMTdiYmYwNjRhMzdhYTMzN2EuLmI3ZmRlOGViYmIwMmJjMjA0ZDcxZjI5
MzE3NjJjMmZmYzI4NTU4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakMubW0KQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9i
akMqCiAgICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVk
aWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFT
ZWxlY3Rpb25Hcm91cEFWRk9iakM+JikKK3ZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6
OnNlbGVjdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIFttX3BsYXllckl0ZW0gc2VsZWN0
TWVkaWFPcHRpb246KG1fc2VsZWN0ZWRPcHRpb24gPyBtX3NlbGVjdGVkT3B0aW9uLT5hdk1lZGlh
U2VsZWN0aW9uT3B0aW9uKCkgOiBuaWwpIGluTWVkaWFTZWxlY3Rpb25Hcm91cDptX21lZGlhU2Vs
ZWN0aW9uR3JvdXAuZ2V0KCldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCAwNzdh
YzJlMzJjMzhlYjdiZDI1MjM5YTAyNGIzZjc3NTEwNjk1N2IxLi5mNzJhY2M5OTdkYjlhYTY0M2Rl
OWI1Njk3NGVkNzExZDI0MmYwOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMTY4
LDcgKzE2OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAgIHZvaWQg
ZGVzdHJveUxheWVyKCk7CiAgICAgYm9vbCBzaG91bGRCZVBsYXlpbmcoKSBjb25zdDsKLSAgICB2
b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQz4mKTsKKyAgICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyJik7CiAKICAgICBmcmllbmQg
Y2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzsKIApAQCAtMTk1LDcgKzE5NSw3IEBAIHBy
aXZhdGU6CiAgICAgUmV0YWluUHRyPGlkPiBtX3RpbWVKdW1wZWRPYnNlcnZlcjsKICAgICBSZXRh
aW5QdHI8aWQ+IG1fZHVyYXRpb25PYnNlcnZlcjsKICAgICBSZXRhaW5QdHI8QVZTdHJlYW1TZXNz
aW9uPiBtX3N0cmVhbVNlc3Npb247Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDPiBtX3NlZWtUaW1lcjsKKyAgICBUaW1lciBtX3NlZWtUaW1lcjsKICAgICBD
RE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDKiBtX3Nlc3Npb247CiAgICAgTWVkaWFQbGF5ZXI6
Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZSBtX3JlYWR5U3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggMWM5NDg4MDNl
MWMwMGUxNGUzMjE5ODBlOWUzNjM4ODBhNGMzZDI3Yy4uYjJiMWRiMjA0MTAzMDIwZjgxMmY1YmQ4
ZjljOWM4ZDkzMTc4MGU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtNDIzLDcg
KzQyMyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVr
V2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmIHRpCiAgICAgbV9zZWVrVGltZXIuc3RhcnRP
bmVTaG90KDApOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDPiYpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1Rp
bWVyRmlyZWQoVGltZXImKQogewogICAgIHNlZWtJbnRlcm5hbCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggYjQ5YmQ0
OWY2YTliN2IwMzY5YjkyZjcxNjU1OGQ4YWQ4OWUxOGY3NS4uNmY0YmUxZDlkYzY4ZTVlNDIyZWIx
MmJiYmVjOWEzYTAxM2U1ODQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9MYXllclBvb2wuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBMYXllclBv
b2w6OnNjaGVkdWxlUHJ1bmUoKQogICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CiB9
CiAKLXZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoVGltZXI8TGF5ZXJQb29sPiYpCit2
b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICB1bnNpZ25lZCBz
aHJpbmtUbyA9IGRlY2F5ZWRDYXBhY2l0eSgpOwogICAgIHdoaWxlIChtX3RvdGFsQnl0ZXMgPiBz
aHJpbmtUbykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvTGF5ZXJQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXll
clBvb2wuaAppbmRleCA4NjgxMTZmMzBhOTMwYjQ5MjYzYjQwY2Q0Njk1YWE4NWVlM2E2ZGRmLi44
YmNiZTU2MGZjYWE4NjA4MWEyY2QxZDYyNWI3OGEyN2FiNmVjODIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuaApAQCAtNjEsNyArNjEsNyBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBjYW5SZXVzZUxheWVyV2l0aFNpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkgY29uc3QgeyByZXR1cm4gbV9tYXhCeXRlc0ZvclBvb2wgJiYgIXNpemUuaXNFbXB0
eSgpOyB9CiAgICAgdm9pZCBzY2hlZHVsZVBydW5lKCk7Ci0gICAgdm9pZCBwcnVuZVRpbWVyRmly
ZWQoVGltZXI8TGF5ZXJQb29sPiYpOworICAgIHZvaWQgcHJ1bmVUaW1lckZpcmVkKFRpbWVyJik7
CiAKICAgICB0eXBlZGVmIGVudW0geyBMZWF2ZVVuY2hhbmdlZCwgTWFya0FzVXNlZCB9IEFjY2Vz
c1R5cGU7CiAgICAgTGF5ZXJMaXN0JiBsaXN0T2ZMYXllcnNXaXRoU2l6ZShjb25zdCBJbnRTaXpl
JiwgQWNjZXNzVHlwZSA9IExlYXZlVW5jaGFuZ2VkKTsKQEAgLTc0LDcgKzc0LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX3RvdGFsQnl0ZXM7CiAgICAgdW5zaWduZWQgbV9tYXhCeXRlc0Zv
clBvb2w7CiAKLSAgICBUaW1lcjxMYXllclBvb2w+IG1fcHJ1bmVUaW1lcjsKKyAgICBUaW1lciBt
X3BydW5lVGltZXI7CiAKICAgICBkb3VibGUgbV9sYXN0QWRkVGltZTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZjU5YjRkNzY2OWJiZjJhOTAzNTZkNjQxMGE0YTFkOTU4MzAxMzZlZi4uZjNjZDVkZDc1
ZWVkMjA1Nzc4ZDk1NDNhNjcyMmI4NGJhN2MxMGQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtMzQ1LDcg
KzM0NSw3IEBAIGJvb2wgVGlsZUNvbnRyb2xsZXI6OnNob3VsZFRlbXBvcmFyaWx5UmV0YWluVGls
ZUNvaG9ydHMoKSBjb25zdAogICAgIHJldHVybiBvd25pbmdHcmFwaGljc0xheWVyKCktPnBsYXRm
b3JtQ0FMYXllclNob3VsZFRlbXBvcmFyaWx5UmV0YWluVGlsZUNvaG9ydHMobV90aWxlQ2FjaGVM
YXllcik7CiB9CiAKLXZvaWQgVGlsZUNvbnRyb2xsZXI6OnRpbGVSZXZhbGlkYXRpb25UaW1lckZp
cmVkKFRpbWVyPFRpbGVDb250cm9sbGVyPiopCit2b2lkIFRpbGVDb250cm9sbGVyOjp0aWxlUmV2
YWxpZGF0aW9uVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgaWYgKCFvd25pbmdHcmFwaGljc0xh
eWVyKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCmluZGV4IDBiOTAxZjlkZDJjZTQ3MDBmYzA0
NmUwMjNhOTZlMTIzMjdlYTBkYTIuLmJkOGIwMTdkZGExMGQ0NGM5ZjkxOWUzNjc0YWQwMDlhNzMx
OTQxZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuaApAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBmbG9hdCB6b29tZWRPdXRDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKIAotICAg
IHZvaWQgdGlsZVJldmFsaWRhdGlvblRpbWVyRmlyZWQoVGltZXI8VGlsZUNvbnRyb2xsZXI+Kik7
CisgICAgdm9pZCB0aWxlUmV2YWxpZGF0aW9uVGltZXJGaXJlZChUaW1lciopOwogCiAgICAgdm9p
ZCBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOwogCkBAIC0xNzcsNyArMTc3LDcgQEAgcHJpdmF0
ZToKICAgICBGbG9hdFJlY3QgbV92aXNpYmxlUmVjdEF0TGFzdFJldmFsaWRhdGU7CiAgICAgSW50
UmVjdCBtX2JvdW5kc0F0TGFzdFJldmFsaWRhdGU7CiAKLSAgICBUaW1lcjxUaWxlQ29udHJvbGxl
cj4gbV90aWxlUmV2YWxpZGF0aW9uVGltZXI7CisgICAgVGltZXIgbV90aWxlUmV2YWxpZGF0aW9u
VGltZXI7CiAKICAgICBmbG9hdCBtX3pvb21lZE91dENvbnRlbnRzU2NhbGU7CiAgICAgZmxvYXQg
bV9kZXZpY2VTY2FsZUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCBmNTRmZjA0YjBhZWFmZWYzYWEyMmVmZjcyNDlkMzlk
OTM1NDg0YTIwLi5hNzc2NDNiYTA0MDYyNWM2MjllOGFhMmM0OWVhN2E0MzUyOTQ2Njg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBA
IC00NzYsNyArNDc2LDcgQEAgZG91YmxlIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVu
dGlsRXhwaXJhdGlvbigpCiAgICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7
CiB9CiAKLXZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKFRpbWVyPFRpbGVH
cmlkPiopCit2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZChUaW1lciopCiB7
CiAgICAgaWYgKG1fY29ob3J0TGlzdC5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jb2hvcnRSZW1v
dmFsVGltZXIuc3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvVGlsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKaW5kZXggMThmYjMyNjI3N2U5YzMzZTYzNzY4ZGQwODBkZWRhYWM5ODllYWRk
Ni4uNTZmNTI4ZGU3YTM3OGU0ZDI0YTAyOTNjNGNmZTBlZWEyYzFmMjliOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCkBAIC0xMjMsNyArMTIz
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZVRpbGVzSW5Db2hvcnQoVGlsZUNvaG9ydCk7
CiAKICAgICB2b2lkIHNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpOwotICAgIHZvaWQgY29ob3J0UmVt
b3ZhbFRpbWVyRmlyZWQoVGltZXI8VGlsZUdyaWQ+Kik7CisgICAgdm9pZCBjb2hvcnRSZW1vdmFs
VGltZXJGaXJlZChUaW1lciopOwogICAgIFRpbGVDb2hvcnQgbmV4dFRpbGVDb2hvcnQoKSBjb25z
dDsKICAgICB2b2lkIHN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCk7CiAgICAgVGlsZUNvaG9y
dCBuZXdlc3RUaWxlQ29ob3J0KCkgY29uc3Q7CkBAIC0xNTQsNyArMTU0LDcgQEAgcHJpdmF0ZToK
ICAgICB0eXBlZGVmIERlcXVlPFRpbGVDb2hvcnRJbmZvPiBUaWxlQ29ob3J0TGlzdDsKICAgICBU
aWxlQ29ob3J0TGlzdCBtX2NvaG9ydExpc3Q7CiAKLSAgICBUaW1lcjxUaWxlR3JpZD4gbV9jb2hv
cnRSZW1vdmFsVGltZXI7CisgICAgVGltZXIgbV9jb2hvcnRSZW1vdmFsVGltZXI7CiAKICAgICB0
eXBlZGVmIEhhc2hNYXA8UGxhdGZvcm1DQUxheWVyKiwgaW50PiBSZXBhaW50Q291bnRNYXA7CiAg
ICAgUmVwYWludENvdW50TWFwIG1fdGlsZVJlcGFpbnRDb3VudHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGVnYWN5Q0FDRkxheWVyVHJlZUhv
c3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNB
Q0ZMYXllclRyZWVIb3N0LmNwcAppbmRleCBiODBhMmZlZjNjZjk2MjI4MWI4ZTdiZTZhMjMyYWJk
NjIxOTc0YmJhLi4yMTBhMWE4ODE4MjEyNGM2NDlkYjU3NDMwZjdiYzYzNDE0OGUzNjgyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vTGVnYWN5Q0FD
RkxheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL3dpbi9MZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIyNCw3ICsyMjQsNyBAQCB2
b2lkIExlZ2FjeUNBQ0ZMYXllclRyZWVIb3N0OjpyZXNpemUoKQogICAgIH0KIH0KIAotdm9pZCBM
ZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGltZXJGaXJlZChUaW1lcjxMZWdhY3lDQUNG
TGF5ZXJUcmVlSG9zdD4qKQordm9pZCBMZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdDo6cmVuZGVyVGlt
ZXJGaXJlZChUaW1lciopCiB7CiAgICAgcGFpbnQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9MZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXll
clRyZWVIb3N0LmgKaW5kZXggMTAyZmNiYzc4ZmM3YWUwZDM5MGI1Njk1MjRiZGNhNTViZDdmNDc1
MS4uOGY2MTZiZjRjNmJhMDkwMmQyYTg2NjQwZjI2ZjJiNThlMTU4MTJlOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xlZ2FjeUNBQ0ZMYXllclRy
ZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0xl
Z2FjeUNBQ0ZMYXllclRyZWVIb3N0LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAgICBi
b29sIHJlc2V0RGV2aWNlKFJlc2V0UmVhc29uKTsKIAogICAgIHZvaWQgcmVuZGVyU29vbigpOwot
ICAgIHZvaWQgcmVuZGVyVGltZXJGaXJlZChUaW1lcjxMZWdhY3lDQUNGTGF5ZXJUcmVlSG9zdD4q
KTsKKyAgICB2b2lkIHJlbmRlclRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBpbml0aWFsaXplQ29udGV4dCh2b2lkKiB1c2VyRGF0YSwgUGxhdGZvcm1DQUxheWVyKik7CiAg
ICAgdmlydHVhbCB2b2lkIHJlc2l6ZSgpOwpAQCAtNjYsNyArNjYsNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgR3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0ZXIoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAjZW5kaWYKIAotICAgIFRpbWVyPExlZ2FjeUNB
Q0ZMYXllclRyZWVIb3N0PiBtX3JlbmRlclRpbWVyOworICAgIFRpbWVyIG1fcmVuZGVyVGltZXI7
CiAgICAgQ09NUHRyPElEaXJlY3QzRERldmljZTk+IG1fZDNkRGV2aWNlOwogICAgIFdLQ0FDRkNv
bnRleHQqIG1fY29udGV4dDsKICAgICBib29sIG1fbWlnaHRCZUFibGVUb0NyZWF0ZURldmljZUxh
dGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1
cmZhY2VQb29sLmNwcAppbmRleCBhOTQxYzkzMDU4OTIxNmQ0ZDM1YWE3MmZkOWU0NGE3NGRhOWQy
YWU1Li41Mjg1ZGNlNmU3ZjQ3N2MxN2VkOTU3MDRhNThhMmNjMTA3MmRkYzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNw
cApAQCAtMjkyLDcgKzI5Miw3IEBAIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFj
ZXNQdXJnZWFibGUoKQogICAgIHJldHVybiBtYXJrZWRBbGxTdXJmYWNlczsKIH0KIAotdm9pZCBJ
T1N1cmZhY2VQb29sOjpjb2xsZWN0aW9uVGltZXJGaXJlZChUaW1lcjxJT1N1cmZhY2VQb29sPiYp
Cit2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3Rpb25UaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBjb2xsZWN0SW5Vc2VTdXJmYWNlcygpOwogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSBt
YXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDgwYWYwZDVmMmY3MDQzNTYw
YThlMjUyMTY2OGM0YTEzYWY2YTk5ZTYuLmJhNDQxMTY4Y2ZkNzU2YTE1NWNkNmNlNjA3MmY1Njc1
MWRhZjczYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JT1N1cmZhY2VQb29sLmgKQEAgLTg3LDEzICs4NywxMyBAQCBwcml2YXRlOgogICAgIHZvaWQg
dHJ5RXZpY3RPbGRlc3RDYWNoZWRTdXJmYWNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlQ29sbGVj
dGlvblRpbWVyKCk7Ci0gICAgdm9pZCBjb2xsZWN0aW9uVGltZXJGaXJlZChUaW1lcjxJT1N1cmZh
Y2VQb29sPiYpOworICAgIHZvaWQgY29sbGVjdGlvblRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2
b2lkIGNvbGxlY3RJblVzZVN1cmZhY2VzKCk7CiAgICAgYm9vbCBtYXJrT2xkZXJTdXJmYWNlc1B1
cmdlYWJsZSgpOwogCiAgICAgdm9pZCBwbGF0Zm9ybUdhcmJhZ2VDb2xsZWN0Tm93KCk7CiAKLSAg
ICBUaW1lcjxJT1N1cmZhY2VQb29sPiBtX2NvbGxlY3Rpb25UaW1lcjsKKyAgICBUaW1lciBtX2Nv
bGxlY3Rpb25UaW1lcjsKICAgICBDYWNoZWRTdXJmYWNlTWFwIG1fY2FjaGVkU3VyZmFjZXM7CiAg
ICAgQ2FjaGVkU3VyZmFjZVF1ZXVlIG1faW5Vc2VTdXJmYWNlczsKICAgICBDYWNoZWRTdXJmYWNl
RGV0YWlsc01hcCBtX3N1cmZhY2VEZXRhaWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAyNWU1ZWI2MTljNzBiNGM3OWUzMWQ0NDZkNDYx
Y2QwNWE4YmE5YTA5Li5iYTNjN2FmYmVlNWQwMTZjMmMzNTliYTAyYzFlMDEzNDVmMWM0ODJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MTE0NSw3ICsxMTQ1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnByb2Nl
c3NUYWJsZU9mQ29udGVudHNFbnRyeShHc3RUb2NFbnRyeSogZW50cnkKIH0KICNlbmRpZgogCi12
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmlsbFRpbWVyRmlyZWQoVGltZXI8TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6ZmlsbFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEdzdFF1ZXJ5KiBxdWVyeSA9IGdz
dF9xdWVyeV9uZXdfYnVmZmVyaW5nKEdTVF9GT1JNQVRfUEVSQ0VOVCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA3NzIwMDE1ZTM0ODE3YTk4
MzViMmY0Nzc4YWEyOTEzZTRjYjRiMmQ1Li4wNTYxMzRlOWFiZTY2ZDI4NzFlZjRhYTYzZTNhN2Yx
YjZiZjRkMDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByZXNlcnZlc1BpdGNo
KGJvb2wpOwogCiAgICAgdm9pZCBzZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkKTsKLSAg
ICB2b2lkIGZpbGxUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4q
KTsKKyAgICB2b2lkIGZpbGxUaW1lckZpcmVkKFRpbWVyKik7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0OwogICAgIGZsb2F0IG1heFRp
bWVTZWVrYWJsZSgpIGNvbnN0OwpAQCAtMTkyLDcgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2Vycm9yT2NjdXJlZDsKICAgICBtdXRhYmxlIGdmbG9hdCBtX21lZGlhRHVyYXRpb247CiAg
ICAgYm9vbCBtX2Rvd25sb2FkRmluaXNoZWQ7Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyPiBtX2ZpbGxUaW1lcjsKKyAgICBUaW1lciBtX2ZpbGxUaW1lcjsKICAgICBmbG9h
dCBtX21heFRpbWVMb2FkZWQ7CiAgICAgaW50IG1fYnVmZmVyaW5nUGVyY2VudGFnZTsKICAgICBN
ZWRpYVBsYXllcjo6UHJlbG9hZCBtX3ByZWxvYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5o
CmluZGV4IGVmODU1ZTkyMmIxNmRhOGM3NDg2ODdmOGQ0ZjA4ZTQ1ZGYxN2UyODUuLjU4MDJjNzI0
YjM0YzFkN2Y5YmFlYzZlYjczODFkYTBjMTE1ZThkZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVR
VEtpdC5oCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0YXRl
cygpOwogICAgIHZvaWQgZG9TZWVrKCk7CiAgICAgdm9pZCBjYW5jZWxTZWVrKCk7Ci0gICAgdm9p
ZCBzZWVrVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4mKTsKKyAgICB2
b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyJik7CiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZUxv
YWRlZCgpIGNvbnN0OwogICAgIHZvaWQgZGlzYWJsZVVuc3VwcG9ydGVkVHJhY2tzKCk7CiAgICAg
CkBAIC0xODAsNyArMTgwLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQ29yZU1vdmll
T2JzZXJ2ZXI+IG1fb2JqY09ic2VydmVyOwogICAgIFN0cmluZyBtX21vdmllVVJMOwogICAgIE1l
ZGlhVGltZSBtX3NlZWtUbzsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4gbV9z
ZWVrVGltZXI7CisgICAgVGltZXIgbV9zZWVrVGltZXI7CiAgICAgTWVkaWFQbGF5ZXI6Ok5ldHdv
cmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3Jl
YWR5U3RhdGU7CiAgICAgSW50UmVjdCBtX3JlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW0KaW5kZXggNmQ0MTE1M2VmMGZkMDk0ZThhOTNmNjZmNDZhNTZmYWU0ODdlNmU0OC4uOTU5Mjg0
YTBlNDJhZGY0Mjg1NDQxYWU3MDg4M2VmZjNmYTIyMWQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbQpAQCAtNjc2LDcgKzY3Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OmNhbmNlbFNlZWsoKQogICAgIG1fc2Vla1RpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQ+JikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWtUaW1lckZpcmVk
KFRpbWVyJikKIHsgICAgICAgIAogICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8fCAhc2Vl
a2luZygpIHx8IGN1cnJlbnRNZWRpYVRpbWUoKSA9PSBtX3NlZWtUbykgewogICAgICAgICBjYW5j
ZWxTZWVrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggNTNjZTRhZmI3Y2Y0YjQwNGM2ZmI5NzU4
ZWI4OGVjNTg1NTU5NGFkMC4uN2UxMjFhMjBkOTYzZWM4NWJkYzRlMzE5OTI3Mjc5OWQ0NDIxYjU3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyLmNwcApAQCAtNTQsMTAgKzU0LDEwIEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICB2b2lkIHNjaGVkdWxlUmVsZWFzZVVudXNlZFRleHR1cmVzKCk7Ci0gICAgdm9p
ZCByZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckZpcmVkKFRpbWVyPEJpdG1hcFRleHR1cmVQb29s
PiopOworICAgIHZvaWQgcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJGaXJlZChUaW1lciopOwog
CiAgICAgVmVjdG9yPEJpdG1hcFRleHR1cmVQb29sRW50cnk+IG1fdGV4dHVyZXM7Ci0gICAgVGlt
ZXI8Qml0bWFwVGV4dHVyZVBvb2w+IG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXI7CisgICAg
VGltZXIgbV9yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lcjsKIAogICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZTsKICAgICBzdGF0aWMgY29uc3Qg
ZG91YmxlIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbDsKQEAgLTc4LDcgKzc4
LDcgQEAgdm9pZCBCaXRtYXBUZXh0dXJlUG9vbDo6c2NoZWR1bGVSZWxlYXNlVW51c2VkVGV4dHVy
ZXMoKQogICAgIG1fcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXIuc3RhcnRPbmVTaG90KHNfcmVs
ZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbCk7CiB9CiAKLXZvaWQgQml0bWFwVGV4dHVy
ZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVyRmlyZWQoVGltZXI8Qml0bWFwVGV4dHVy
ZVBvb2w+KikKK3ZvaWQgQml0bWFwVGV4dHVyZVBvb2w6OnJlbGVhc2VVbnVzZWRUZXh0dXJlc1Rp
bWVyRmlyZWQoVGltZXIqKQogewogICAgIGlmIChtX3RleHR1cmVzLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuY3BwCmluZGV4IDBkYTQyOWJmMjk2ZTk0MGU4ZjA4YjU1OTA4Y2Y1MzkwYmIxODhj
MmUuLjA2MWQ5NmZlM2ZjODBjNDgwNmFmZmJmNDliN2VlMTk4NDJkMzE4NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTM5
Niw3ICszOTYsNyBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFz
ZUluYWN0aXZlQXRsYXNlcygpCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVy
LnN0YXJ0UmVwZWF0aW5nKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsKTsKIH0K
IAotdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGlt
ZXJGaXJlZChUaW1lcjxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiopCit2b2lkIENvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICAvLyBXZSBhbHdheXMgd2FudCB0byBrZWVwIG9uZSBhdGxhcyBmb3Igcm9vdCBjb250ZW50
cyBsYXllci4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXBkYXRlQXRsYXM+IGF0bGFzVG9LZWVwQW55
d2F5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9y
LmgKaW5kZXggMGJmNDU0MGE1NGJhYmMzNWVhZTY5ODU5NTA3ZGVmNDZlOWJjMDQwNS4uMGNhZTg2
ZjJiOTE2YjRmM2VhMWI4YWUxODc0ODRjN2Q3MzRjYWM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCkBAIC0xMjIsNyArMTIyLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCk7CiAK
LSAgICB2b2lkIHJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyPENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I+Kik7CisgICAgdm9pZCByZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgUGFnZSogbV9wYWdlOwogICAgIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OkNsaWVudCogbV9jbGllbnQ7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgbV9zaG91bGRTeW5jRnJhbWU7CiAgICAgYm9vbCBtX2RpZEluaXRpYWxpemVSb290
Q29tcG9zaXRpbmdMYXllcjsKLSAgICBUaW1lcjxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiBtX3Jl
bGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lcjsKKyAgICBUaW1lciBtX3JlbGVhc2VJbmFjdGl2ZUF0
bGFzZXNUaW1lcjsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBk
b3VibGUgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDA0YzkwOGIyYTMz
Y2JjYzEyNGEyMDkzYWI0ZDUyNzNhYTllNDM0ZDkuLjk5ZTkyYjU0NWM0NmM4YmI2OTk0ZDg4OTY2
ODRjN2FmMmZjMzIyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMjIwLDcgKzEyMjAsNyBAQCB2b2lkIENvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6cmVzdW1lQW5pbWF0aW9ucygpCiAgICAgZGlkQ2hhbmdlQW5p
bWF0aW9ucygpOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9u
U3RhcnRlZFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPiopCit2b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGlt
ZXIqKQogewogICAgIGNsaWVudCgpLm5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQodGhpcywgIiIsIG1f
bGFzdEFuaW1hdGlvblN0YXJ0VGltZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggNThmYmZjMGI5YjAwYmU3ZmYzYzZi
Nzc3NmFkMzhjMDA2MGM2ODliMS4uMDdjMjgxN2M0MjEwNjY5ZjVhOWQ5MzcwMjE1MWZjZTYyNzBh
OWUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuaApAQCAtMjAxLDcgKzIwMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91
bGRVcGRhdGVWaXNpYmxlUmVjdCgpOwogICAgIGZsb2F0IGVmZmVjdGl2ZUNvbnRlbnRzU2NhbGUo
KTsKIAotICAgIHZvaWQgYW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyPiopOworICAgIHZvaWQgYW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQo
VGltZXIqKTsKIAogICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBtX2lkOwogICAgIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllclN0YXRlIG1fbGF5ZXJTdGF0ZTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBwcml2
YXRlOgogICAgIEludFNpemUgbV9wbGF0Zm9ybUxheWVyU2l6ZTsKICAgICBHcmFwaGljc1N1cmZh
Y2VUb2tlbiBtX3BsYXRmb3JtTGF5ZXJUb2tlbjsKICNlbmRpZgotICAgIFRpbWVyPENvb3JkaW5h
dGVkR3JhcGhpY3NMYXllcj4gbV9hbmltYXRpb25TdGFydGVkVGltZXI7CisgICAgVGltZXIgbV9h
bmltYXRpb25TdGFydGVkVGltZXI7CiAgICAgR3JhcGhpY3NMYXllckFuaW1hdGlvbnMgbV9hbmlt
YXRpb25zOwogICAgIGRvdWJsZSBtX2xhc3RBbmltYXRpb25TdGFydFRpbWU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEltYWdlQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4
IDgwYzRlZWQ2YjIzOWJkYjlkMjAxMTFkMzA0NTE5YWJjZjUzNjFkYTEuLjA5MzBlMjY5MDFkZDk3
YWRiNmFlZWUzNWU5OWM5M2YzNTg0NjM4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2lu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZv
aWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OnVwZGF0ZVZpc2liaWxpdHlJZk5lZWRlZChib29s
JiBjaGFuZ2VkVG9WaXNpYmxlKQogICAgIH0KIH0KIAotdm9pZCBDb29yZGluYXRlZEltYWdlQmFj
a2luZzo6Y2xlYXJDb250ZW50c1RpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRJbWFnZUJhY2tp
bmc+KikKK3ZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OmNsZWFyQ29udGVudHNUaW1lckZp
cmVkKFRpbWVyKikKIHsKICAgICBtX2NsaWVudC0+Y2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyhp
ZCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nLmgKaW5kZXggNzExZTQ5MWZlNTQ4NjJjY2I3MDFlY2RiZTk2MzdmMTMzYmE0YjA0ZS4u
ZDYxNzY1Zjc5YTJkNzg4NDEyMDBjYjFhYWI2MjhmMzQ2YWVlN2MwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkSW1hZ2VCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmgKQEAgLTcyLDcgKzcy
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpOwogICAg
IHZvaWQgdXBkYXRlVmlzaWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpOwot
ICAgIHZvaWQgY2xlYXJDb250ZW50c1RpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRJbWFnZUJh
Y2tpbmc+Kik7CisgICAgdm9pZCBjbGVhckNvbnRlbnRzVGltZXJGaXJlZChUaW1lciopOwogCiAg
ICAgQ2xpZW50KiBtX2NsaWVudDsKICAgICBSZWZQdHI8SW1hZ2U+IG1faW1hZ2U7CkBAIC04Miw3
ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPiBtX3N1
cmZhY2U7CiAKLSAgICBUaW1lcjxDb29yZGluYXRlZEltYWdlQmFja2luZz4gbV9jbGVhckNvbnRl
bnRzVGltZXI7CisgICAgVGltZXIgbV9jbGVhckNvbnRlbnRzVGltZXI7CiAKICAgICBib29sIG1f
aXNEaXJ0eTsKICAgICBib29sIG1faXNWaXNpYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5oCmluZGV4IGRhMWIwNmRhNWY4MGI3NWI1MTE2ZjExNWQy
NGE1YjM0MGM2YmM5OWQuLmY4NzU5YTQ0MmY2MmFlNzg0YzU0MDdiYjIzNDA5NDE1YmM4NGU4MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLmgKQEAg
LTE2OSw3ICsxNjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlVGlsZXNJbkFjdGl2ZUdy
aWQoU3luY2hyb25vdXNUaWxlQ3JlYXRpb25Nb2RlKTsKICAgICB2b2lkIHNjaGVkdWxlTGF5ZXJG
bHVzaEZvclBlbmRpbmdSZXBhaW50KCk7CiAKLSAgICB2b2lkIHRpbGVDcmVhdGlvblRpbWVyRmly
ZWQoVGltZXI8TGVnYWN5VGlsZUNhY2hlPiopOworICAgIHZvaWQgdGlsZUNyZWF0aW9uVGltZXJG
aXJlZChUaW1lciopOwogCiAgICAgdm9pZCBkcmF3UmVwbGFjZW1lbnRJbWFnZShMZWdhY3lUaWxl
TGF5ZXIqLCBDR0NvbnRleHRSZWYsIENHSW1hZ2VSZWYpOwogICAgIHZvaWQgZHJhd1dpbmRvd0Nv
bnRlbnQoTGVnYWN5VGlsZUxheWVyKiwgQ0dDb250ZXh0UmVmLCBDR1JlY3QgZGlydHlSZWN0KTsK
QEAgLTIwMCw3ICsyMDAsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxMZWdhY3lUaWxlR3JpZD4g
bV96b29tZWRPdXRUaWxlR3JpZDsKICAgICBPd25QdHI8TGVnYWN5VGlsZUdyaWQ+IG1fem9vbWVk
SW5UaWxlR3JpZDsKIAotICAgIFRpbWVyPExlZ2FjeVRpbGVDYWNoZT4gbV90aWxlQ3JlYXRpb25U
aW1lcjsKKyAgICBUaW1lciBtX3RpbGVDcmVhdGlvblRpbWVyOwogCiAgICAgVmVjdG9yPEludFJl
Y3Q+IG1fc2F2ZWREaXNwbGF5UmVjdHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvTGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IDZjMDAxNDJiOTZmNjAxN2RiNWI4ZTU5N2ZjZTgx
ZDY3NDM0OTU1NjYuLmMzZDk5MzIyZTQ5M2RiMTVlMmE2NDI0Mzc0ZTQ1ZjUxZTM3YWQxZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAt
NDE1LDcgKzQxNSw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGls
ZXMoYm9vbCBkaWRDcmVhdGVUaWxlcywgYm9vbCBjcmVhdGVNb3JlCiAgICAgICAgIG1fdGlsZUNy
ZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIExlZ2FjeVRpbGVDYWNoZTo6
dGlsZUNyZWF0aW9uVGltZXJGaXJlZChUaW1lcjxMZWdhY3lUaWxlQ2FjaGU+KikKK3ZvaWQgTGVn
YWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAo
aXNUaWxlQ3JlYXRpb25TdXNwZW5kZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCBkY2Iz
NGNjZDllMTNjY2E2MDUwZDkwM2ViM2IyN2QyOTlkYTE0ZGJjLi5jNDkxY2RkYmRhNDE2NWNiNzY1
OWVkN2JmYzU2NmE1NDg3NGM4OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBAIHVuc2lnbmVk
IEhJREdhbWVwYWRQcm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERldmljZSgpCiAgICAg
cmV0dXJuIGluZGV4OwogfQogCi12b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRl
bGF5VGltZXJGaXJlZChUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+JikKK3ZvaWQgSElER2FtZXBh
ZFByb3ZpZGVyOjpjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKFRpbWVyJikKIHsKICAgICBtX3No
b3VsZERpc3BhdGNoQ2FsbGJhY2tzID0gdHJ1ZTsKIH0KQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lk
IEhJREdhbWVwYWRQcm92aWRlcjo6dmFsdWVzQ2hhbmdlZChJT0hJRFZhbHVlUmVmIHZhbHVlKQog
ICAgICAgICBtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIuc3RhcnRPbmVTaG90KElucHV0Tm90aWZp
Y2F0aW9uRGVsYXkpOwogfQogCi12b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmlj
YXRpb25UaW1lckZpcmVkKFRpbWVyPEhJREdhbWVwYWRQcm92aWRlcj4mKQordm9pZCBISURHYW1l
cGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9uVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
aWYgKCFtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tzKQogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggZWQ3
NjI4MWVmNDhlNTRhODkyZTcyZGVmYTMxMTIzM2Q5OWI1OTEzNC4uZmZlNzVhZGYwNGU5ZWNhZTUy
Mzg3ZjJjNzY2Yzk5YjFiOTE4ZDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0hJREdhbWVwYWRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9ISURHYW1lcGFkUHJvdmlkZXIuaApAQCAtNjQsOCArNjQsOCBAQCBwcml2YXRlOgogICAg
IHZvaWQgb3BlbkFuZFNjaGVkdWxlTWFuYWdlcigpOwogICAgIHZvaWQgY2xvc2VBbmRVbnNjaGVk
dWxlTWFuYWdlcigpOwogCi0gICAgdm9pZCBjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKFRpbWVy
PEhJREdhbWVwYWRQcm92aWRlcj4mKTsKLSAgICB2b2lkIGlucHV0Tm90aWZpY2F0aW9uVGltZXJG
aXJlZChUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+Jik7CisgICAgdm9pZCBjb25uZWN0aW9uRGVs
YXlUaW1lckZpcmVkKFRpbWVyJik7CisgICAgdm9pZCBpbnB1dE5vdGlmaWNhdGlvblRpbWVyRmly
ZWQoVGltZXImKTsKIAogICAgIHVuc2lnbmVkIGluZGV4Rm9yTmV3bHlDb25uZWN0ZWREZXZpY2Uo
KTsKIApAQCAtNzcsOCArNzcsOCBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8R2FtZXBhZFByb3Zp
ZGVyQ2xpZW50Kj4gbV9jbGllbnRzOwogICAgIGJvb2wgbV9zaG91bGREaXNwYXRjaENhbGxiYWNr
czsKIAotICAgIFRpbWVyPEhJREdhbWVwYWRQcm92aWRlcj4gbV9jb25uZWN0aW9uRGVsYXlUaW1l
cjsKLSAgICBUaW1lcjxISURHYW1lcGFkUHJvdmlkZXI+IG1faW5wdXROb3RpZmljYXRpb25UaW1l
cjsKKyAgICBUaW1lciBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyOworICAgIFRpbWVyIG1faW5wdXRO
b3RpZmljYXRpb25UaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKaW5kZXggMDEyZTRh
ODMxZTIxNWZhODBkNDU0ZTM5NjEzY2ZiZDM4NGE1NjQ1OC4uYjA2Y2RlZTlmNmI5YTk1MWRmZWJj
MmM2ZWJiYmNmNDU4NDk4Y2I0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLmgKQEAgLTc4LDExICs3OCwxMSBAQCBwcml2YXRlOgogICAgIFJl
dGFpblB0cjxXZWJTY3JvbGxiYXJQYWludGVyRGVsZWdhdGU+IG1faG9yaXpvbnRhbFNjcm9sbGJh
clBhaW50ZXJEZWxlZ2F0ZTsKICAgICBSZXRhaW5QdHI8V2ViU2Nyb2xsYmFyUGFpbnRlckRlbGVn
YXRlPiBtX3ZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRlOwogCi0gICAgdm9pZCBpbml0
aWFsU2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiYpOwot
ICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVy
OworICAgIHZvaWQgaW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXJGaXJlZChUaW1lciYpOworICAg
IFRpbWVyIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXI7CiAKLSAgICB2b2lkIHNlbmRDb250
ZW50QXJlYVNjcm9sbGVkVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKTsKLSAg
ICBUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4gbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVy
OworICAgIHZvaWQgc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyJik7Cisg
ICAgVGltZXIgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyOwogICAgIEZsb2F0U2l6ZSBt
X2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhOwogCiAgICAgdmlydHVhbCBib29s
IHNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IHN0
ZXAsIGZsb2F0IG11bHRpcGxpZXIpOwpAQCAtMTU1LDEyICsxNTUsMTIgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2Nyb2xsUG9zaXRpb25Ub0JvdW5kc0lmTmVjZXNzYXJ5KCkg
b3ZlcnJpZGU7CiAKICAgICBib29sIHBpbm5lZEluRGlyZWN0aW9uKGZsb2F0IGRlbHRhWCwgZmxv
YXQgZGVsdGFZKTsKLSAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lcjxTY3Jv
bGxBbmltYXRvck1hYz4mKTsKKyAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1l
ciYpOwogCiAgICAgYm9vbCBpc0FscmVhZHlQaW5uZWRJbkRpcmVjdGlvbk9mR2VzdHVyZShjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxFdmVudEF4aXMpOwogCiAgICAgU2Nyb2xsRWxh
c3RpY2l0eUNvbnRyb2xsZXIgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlcjsKLSAgICBUaW1l
cjxTY3JvbGxBbmltYXRvck1hYz4gbV9zbmFwUnViYmVyQmFuZFRpbWVyOworICAgIFRpbWVyIG1f
c25hcFJ1YmJlckJhbmRUaW1lcjsKICNlbmRpZgogCiAgICAgYm9vbCBtX2hhdmVTY3JvbGxlZFNp
bmNlUGFnZUxvYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KaW5kZXggNDNmOTA5ZTQ2OTE0ZDcyZjQxOGRjMmVlNDE4YTk2Yjc3YWMyNjE5
Yi4uYmE3YWFjMzE0YzkzNzY2MThmZjdlZjQ0YmU2YTNmNWJmM2YwZGJhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTI1Nyw3
ICsxMjU3LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RvcFNuYXBSdWJiZXJiYW5kVGlt
ZXIoKQogICAgIG1fc25hcFJ1YmJlckJhbmRUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRv
ck1hYz4mKQordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c25hcFJ1YmJlckJhbmRUaW1lckZpcmVk
KFRpbWVyJikKIHsKICAgICBtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLnNuYXBSdWJiZXJC
YW5kVGltZXJGaXJlZCgpOwogfQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6c3RvcFNjcm9sbGJhclBhaW50VGltZXIoKQogICAgIG1faW5pdGlhbFNjcm9sbGJh
clBhaW50VGltZXIuc3RvcCgpOwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbml0aWFs
U2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiYpCit2b2lk
IFNjcm9sbEFuaW1hdG9yTWFjOjppbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRpbWVy
JikKIHsKICAgICAvLyBUbyBmb3JjZSB0aGUgc2Nyb2xsYmFycyB0byBmbGFzaCwgd2UgaGF2ZSB0
byBjYWxsIGhpZGUgZmlyc3QuIE90aGVyd2lzZSwgdGhlIFNjcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyCiAgICAgLy8gbWlnaHQgdGhpbmsgdGhhdCB0aGUgc2Nyb2xsYmFycyBhcmUgYWxyZWFkeSBz
aG93aW5nIGFuZCBiYWlsIGVhcmx5LgpAQCAtMTM2Miw3ICsxMzYyLDcgQEAgdm9pZCBTY3JvbGxB
bmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0
YSkKICAgICAgICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIgY29udGVudEFyZWFTY3Jv
bGxlZF07CiB9CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9s
bGVkVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKQordm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyJikKIHsKICAg
ICBzZW5kQ29udGVudEFyZWFTY3JvbGxlZChtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9s
bERlbHRhKTsKICAgICBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhID0gRmxv
YXRTaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU1vdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZp
Y2VNb3Rpb25DbGllbnRNb2NrLmNwcAppbmRleCBlY2M0YjEzZmQwMjM0NDM1ZmM4MTY1MmEwODk0
M2M4OTY5ZjE0MDEzLi4yOGQ4ZWU0NjBkYzVhNDYxNjBlNWRhMzEzNWI1MTI2YjQ3ZDU0NTQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9u
Q2xpZW50TW9jay5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRN
b2NrOjpzZXRNb3Rpb24oUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtb3Rpb24pCiAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIERldmljZU1vdGlvbkNsaWVu
dE1vY2s6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ2xpZW50TW9jaz4qIHRpbWVyKQor
dm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsK
ICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CiAgICAgbV90aW1l
ci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU1vdGlvbkNsaWVudE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNl
TW90aW9uQ2xpZW50TW9jay5oCmluZGV4IGYyZTBhOTgxYWI0OTZkYTVkNDZhMjE3YzViYmY1ZWJm
ZTJlMzcxZGQuLmYyMTg5NjNmMGU1MDM5OWM2MmRhYjgzMWE0YTI0ZmI0NDhhYTFmZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9j
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5oCkBAIC01NSwxMSArNTUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TW90aW9uKFBh
c3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4pOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxEZXZpY2VNb3Rpb25DbGllbnRNb2NrPiopOworICAgIHZvaWQgdGltZXJGaXJl
ZChUaW1lciopOwogCiAgICAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1fbW90aW9uOwogICAg
IERldmljZU1vdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKLSAgICBUaW1lcjxEZXZpY2VN
b3Rpb25DbGllbnRNb2NrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgYm9vbCBt
X2lzVXBkYXRpbmc7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTcxNmE3ZTZh
YTdkZTg3YTQxYWJhMWUwYjU3NTRmMTNjZTNkY2JlMS4uM2E3YTFlNzIwZGI4MDdkZmY3YjY3ZGM5
YjM4NzE3NTk0MGRmZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcApAQCAtNjIsNyArNjIs
NyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24oUGFz
c1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdAogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKIH0KIAotdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQo
VGltZXI8RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrPiYgdGltZXIpCit2b2lkIERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZChUaW1lciYgdGltZXIpCiB7CiAgICAgQVNT
RVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKICAgICBtX3RpbWVyLnN0b3Ao
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5oCmluZGV4IDg0NTAyOTlkYzZlMzVkNWMwMGJlNmYzMWE1ZGNm
ZDkyNTE0MWZiMWUuLjY5NDhiOTI1YTM3MmFhODUwYjVkNjcxNjE3MmI5NDAxNDlhNmNhYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suaApAQCAtNTQsMTEgKzU0LDExIEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRp
b25EYXRhPik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jaz4mKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXImKTsKIAog
ICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+IG1fb3JpZW50YXRpb247CiAgICAgRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7Ci0gICAgVGltZXI8RGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAg
Ym9vbCBtX2lzVXBkYXRpbmc7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTkwMWI2NmFhN2E5ZGIy
YmNjOTA0NTkxNWJlMTQxZTI3YjhhNWRkNy4uMDUzMjVhN2Q5ZWY2YzExOWY2NTljMjcxZDVlNDUz
N2I3ZWYwZTMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9s
b2NhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgR2VvbG9j
YXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24oKQogICAgICAgICBtX3Blcm1p
c3Npb25UaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25DbGllbnRN
b2NrOjpwZXJtaXNzaW9uVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxHZW9sb2NhdGlvbkNsaWVu
dE1vY2s+KiB0aW1lcikKK3ZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGlt
ZXJGaXJlZChXZWJDb3JlOjpUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1l
ciwgdGltZXIgPT0gJm1fcGVybWlzc2lvblRpbWVyKTsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9u
U3RhdGUgIT0gUGVybWlzc2lvblN0YXRlVW5zZXQpOwpAQCAtMTY5LDcgKzE2OSw3IEBAIHZvaWQg
R2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIoKQogICAgICAgICBt
X2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25D
bGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZChUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1v
Y2s+KiB0aW1lcikKK3ZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJG
aXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fY29udHJvbGxlclRpbWVyKTsKICAgICBBU1NFUlQobV9jb250cm9sbGVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCmlu
ZGV4IGYzODBjMTQ0MzQ3OTczZGI1MTJjMGZlMjQ1ODBkYmZhZWRmZmM1MGEuLjU1ODc2N2JjYjU4
ODNlZWIzMmE3MjczYWYwNWIxNjI4MzY3MTM1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaApAQCAtNzAsMTAgKzcwLDEw
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGFzeW5jVXBkYXRlQ29udHJvbGxlcigp
OwotICAgIHZvaWQgY29udHJvbGxlclRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb25DbGllbnRN
b2NrPiopOworICAgIHZvaWQgY29udHJvbGxlclRpbWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZv
aWQgYXN5bmNVcGRhdGVQZXJtaXNzaW9uKCk7Ci0gICAgdm9pZCBwZXJtaXNzaW9uVGltZXJGaXJl
ZChUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1vY2s+Kik7CisgICAgdm9pZCBwZXJtaXNzaW9uVGlt
ZXJGaXJlZChUaW1lciopOwogCiAgICAgdm9pZCBjbGVhckVycm9yKCk7CiAKQEAgLTgxLDggKzgx
LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9z
aXRpb247CiAgICAgYm9vbCBtX2hhc0Vycm9yOwogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsK
LSAgICBUaW1lcjxHZW9sb2NhdGlvbkNsaWVudE1vY2s+IG1fY29udHJvbGxlclRpbWVyOwotICAg
IFRpbWVyPEdlb2xvY2F0aW9uQ2xpZW50TW9jaz4gbV9wZXJtaXNzaW9uVGltZXI7CisgICAgVGlt
ZXIgbV9jb250cm9sbGVyVGltZXI7CisgICAgVGltZXIgbV9wZXJtaXNzaW9uVGltZXI7CiAgICAg
Ym9vbCBtX2lzQWN0aXZlOwogCiAgICAgZW51bSBQZXJtaXNzaW9uU3RhdGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmNwcAppbmRleCA0MzA4NjhlOTUwMTBiMzNiMmQ1NGZkNjc4ZDQyMGFmNWFl
M2E0ZjY1Li5lZWNiYTc3NDZhNjNlYjVmZTlkMjUxN2M3MmYyODdjMmEwZjdmZGFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAtNDEsNyArNDEsNyBAQCBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jazo6flBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrKCkKIHsKIH0KIAot
dm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZChUaW1l
cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jaz4qKQordm9pZCBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jazo6c3BlYWtpbmdGaW5pc2hlZChUaW1lciopCiB7CiAgICAgQVNTRVJUKG1f
dXR0ZXJhbmNlLmdldCgpKTsKICAgICBSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2U+IHByb3RlY3QobV91dHRlcmFuY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oCmluZGV4
IGFmYjJiNDBlN2E2NmQyYzMxNmIwNTIwOGJlM2IzMjJjNTQ2YjYyNGQuLjgyOTQwYThlY2NjMGQ3
NWIwZWYxYTU2Y2VlMGRlZmQ0OTAwMjQ2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmgKQEAg
LTQ1LDkgKzQ1LDkgQEAgcHVibGljOgogICAgIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
aW5pdGlhbGl6ZVZvaWNlTGlzdCgpOwotICAgIHZvaWQgc3BlYWtpbmdGaW5pc2hlZChUaW1lcjxQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jaz4qKTsKKyAgICB2b2lkIHNwZWFraW5nRmluaXNo
ZWQoVGltZXIqKTsKICAgICAKLSAgICBUaW1lcjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
az4gbV9zcGVha2luZ0ZpbmlzaGVkVGltZXI7CisgICAgVGltZXIgbV9zcGVha2luZ0ZpbmlzaGVk
VGltZXI7CiAgICAgUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlPiBtX3V0
dGVyYW5jZTsKIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
VGltZXJFdmVudEJhc2VkTW9jay5oCmluZGV4IDk1NzVhY2ZjMzJiYzA5MzYyY2Q2YjFlYzZhYjk0
NzA5OTM1NDY2N2EuLjY1NTNmMWFkYjgwZGI2ZDU3NGNhNjBhZDJhZmZmMjVhYjkyNzgyZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9j
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9j
ay5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgflRpbWVyRXZlbnQo
KSB7IH0KIAotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxUaW1lckV2ZW50PiopCisgICAgdm9p
ZCB0aW1lckZpcmVkKFRpbWVyKikKICAgICB7CiAgICAgICAgIG1fbm90aWZpZXItPmZpcmUoKTsK
ICAgICAgICAgbV9tb2NrLT5yZW1vdmVFdmVudCh0aGlzKTsKQEAgLTc2LDcgKzc2LDcgQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIFRpbWVyRXZlbnRCYXNlZE1vY2sqIG1fbW9jazsKLSAgICBU
aW1lcjxUaW1lckV2ZW50PiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAgICAgUmVmUHRy
PE1vY2tOb3RpZmllcj4gbV9ub3RpZmllcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCBkN2Y1ZmJiZGRkNzRh
ODBhOGNjZDlhYzFmNDEzNDRjNGViZDRhNDgyLi42YzEwMzI3ODhlOTk3NWJhN2VmYjk5YWY0ZmEw
NWIyNzNhMThlYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1
ZXVlOjphZGQoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICB9CiB9CiAKLXZvaWQgRE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKFRpbWVyPEROU1Jlc29sdmVRdWV1ZT4mKQordm9pZCBETlNS
ZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQoVGltZXImKQogewogICAgIGlmIChpc1VzaW5nUHJveHko
KSkgewogICAgICAgICBtX25hbWVzLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuaAppbmRleCBjOGMxY2FmMzhlODQ2ZTVhNDA1
MTFlMmNjMzJiOGVmYmU0NGI3ODdkLi5hZDZmMThiZmIwYjgyNGMwMTgxMzU4YzVmMWY2MDFkNzg1
MzE5ZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jl
c29sdmVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVz
b2x2ZVF1ZXVlLmgKQEAgLTU1LDkgKzU1LDkgQEAgcHJpdmF0ZToKICAgICBib29sIHBsYXRmb3Jt
UHJveHlJc0VuYWJsZWRJblN5c3RlbVByZWZlcmVuY2VzKCk7CiAgICAgdm9pZCBwbGF0Zm9ybVJl
c29sdmUoY29uc3QgU3RyaW5nJik7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8RE5TUmVz
b2x2ZVF1ZXVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCi0gICAgVGltZXI8
RE5TUmVzb2x2ZVF1ZXVlPiBtX3RpbWVyOworICAgIFRpbWVyIG1fdGltZXI7CiAKICAgICBIYXNo
U2V0PFN0cmluZz4gbV9uYW1lczsKICAgICBzdGQ6OmF0b21pYzxpbnQ+IG1fcmVxdWVzdHNJbkZs
aWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0YXRlTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0YXRlTm90aWZpZXIuaAppbmRleCA2MDcwZDBjNDY0MWM0NTMzZjMwMWNlNGU2YzU0NzhhMzUz
MGM0YjA2Li4xMTM1NDRiZGYxNzE3Yzc1MGVjMDA5YzYxOGYzNjc2MGFiY2Y5OWNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3Rp
Zmllci5oCkBAIC03MywxMiArNzMsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0YXRl
KCk7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VUaW1l
ckZpcmVkKFRpbWVyPE5ldHdvcmtTdGF0ZU5vdGlmaWVyPiYpOworICAgIHZvaWQgbmV0d29ya1N0
YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgc3RhdGljIHZvaWQgZHluYW1pY1N0
b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYgY2hhbmdlZEtleXMsIHZv
aWQgKmluZm8pOyAKIAogICAgIFJldGFpblB0cjxTQ0R5bmFtaWNTdG9yZVJlZj4gbV9zdG9yZTsK
LSAgICBUaW1lcjxOZXR3b3JrU3RhdGVOb3RpZmllcj4gbV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1l
cjsKKyAgICBUaW1lciBtX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyOwogCiAjZWxpZiBQTEFURk9S
TShXSU4pCiAgICAgc3RhdGljIHZvaWQgQ0FMTEJBQ0sgYWRkckNoYW5nZUNhbGxiYWNrKHZvaWQq
LCBCT09MRUFOIHRpbWVkT3V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggMDFjN2Y3MmMyMjFmMTIzZDk3ODJhMjUwMzA1
ZWJmZjIxZmNiZTM2ZC4uM2FlNTIwMGU5ZDA0NmIzMWQ0YWVlNmRjMTFjOTA5MTI1MjJhNDMyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZh
aWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKFRpbWVy
PFJlc291cmNlSGFuZGxlPiYpCit2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJl
ZChUaW1lciYpCiB7CiAgICAgaWYgKCFjbGllbnQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGUy
MmRmZDljOTk2ZDgyZmI5Zjk1ZTM2OTY0YzdlNDViNzM4MmM4NjguLjYwN2YzOGQzNTg3NWQwMWE4
Yjk1Mjg2MGU0YmI0MjE0ZmY3NTkyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTk5LDggKzk5LDcgQEAgY2xhc3MgUmVzb3Vy
Y2VMb2FkVGltaW5nOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKLQotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNz
IFRpbWVyOworY2xhc3MgVGltZXI7CiAKIGNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJl
ZkNvdW50ZWQ8UmVzb3VyY2VIYW5kbGU+CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRk5F
VFdPUkspIHx8IFVTRShDVVJMKSB8fCBVU0UoU09VUCkKQEAgLTE4Myw3ICsxODIsNyBAQCBwdWJs
aWM6CiAKICNpZiBVU0UoV0lOSU5FVCkKICAgICB2b2lkIHNldFN5bmNocm9ub3VzSW50ZXJuZXRI
YW5kbGUoSElOVEVSTkVUKTsKLSAgICB2b2lkIGZpbGVMb2FkVGltZXIoVGltZXI8UmVzb3VyY2VI
YW5kbGU+Kik7CisgICAgdm9pZCBmaWxlTG9hZFRpbWVyKFRpbWVyKik7CiAgICAgdm9pZCBvblJl
ZGlyZWN0KCk7CiAgICAgYm9vbCBvblJlcXVlc3RDb21wbGV0ZSgpOwogICAgIHN0YXRpYyB2b2lk
IENBTExCQUNLIGludGVybmV0U3RhdHVzQ2FsbGJhY2soSElOVEVSTkVULCBEV09SRF9QVFIsIERX
T1JELCBMUFZPSUQsIERXT1JEKTsKQEAgLTI0MSw3ICsyNDAsNyBAQCBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgUmVzb3VyY2VSZXF1ZXN0JiBmaXJzdFJlcXVlc3QoKTsKICAgICBjb25zdCBT
dHJpbmcmIGxhc3RIVFRQTWV0aG9kKCkgY29uc3Q7CiAKLSAgICB2b2lkIGZhaWx1cmVUaW1lckZp
cmVkKFRpbWVyPFJlc291cmNlSGFuZGxlPiYpOworICAgIHZvaWQgZmFpbHVyZVRpbWVyRmlyZWQo
VGltZXImKTsKIAogICAgIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KCkgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKaW5kZXggZWZjNWM3YzdlNjVkZmQwNTFkNjU4NGNkODc4ODFkYjUyMzZkNzc2
MC4uYTgzZjc4MTQxOGYwNmU0MmI2NmY2ZjkxMzg3ZGNjMjc2M2Y3ZjI0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVy
bmFsLmgKQEAgLTE2Miw3ICsxNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJl
dGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBtX3N0b3JhZ2VTZXNzaW9uOwogI2VuZGlm
CiAjaWYgVVNFKFdJTklORVQpCi0gICAgICAgIFRpbWVyPFJlc291cmNlSGFuZGxlPiBtX2ZpbGVM
b2FkVGltZXI7CisgICAgICAgIFRpbWVyIG1fZmlsZUxvYWRUaW1lcjsKICAgICAgICAgSElOVEVS
TkVUIG1faW50ZXJuZXRIYW5kbGU7CiAgICAgICAgIEhJTlRFUk5FVCBtX2Nvbm5lY3RIYW5kbGU7
CiAgICAgICAgIEhJTlRFUk5FVCBtX3JlcXVlc3RIYW5kbGU7CkBAIC0yMjAsNyArMjIwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIG1f
Y3VycmVudFdlYkNoYWxsZW5nZTsKICAgICAgICAgUmVzb3VyY2VIYW5kbGU6OkZhaWx1cmVUeXBl
IG1fc2NoZWR1bGVkRmFpbHVyZVR5cGU7Ci0gICAgICAgIFRpbWVyPFJlc291cmNlSGFuZGxlPiBt
X2ZhaWx1cmVUaW1lcjsKKyAgICAgICAgVGltZXIgbV9mYWlsdXJlVGltZXI7CiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCA1
ZDM3MmQxMGY1NWYwNzFjMDYyODc4ZGUwMGQzNGZmNGQ2Nzg4M2U4Li45ZTgyZTY3ZDFhYmUwNTE1
Y2VlYTE5NmVjNDRlNThhNjI5ZWEwNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcApA
QCAtNjIwLDcgKzYyMCw3IEBAIHNpemVfdCByZWFkQ2FsbGJhY2sodm9pZCogcHRyLCBzaXplX3Qg
c2l6ZSwgc2l6ZV90IG5tZW1iLCB2b2lkKiBkYXRhKQogICAgIHJldHVybiBzZW50OwogfQogCi12
b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6ZG93bmxvYWRUaW1lckNhbGxiYWNrKFRpbWVyPFJl
c291cmNlSGFuZGxlTWFuYWdlcj4qIC8qIHRpbWVyICovKQordm9pZCBSZXNvdXJjZUhhbmRsZU1h
bmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayhUaW1lciogLyogdGltZXIgKi8pCiB7CiAgICAg
c3RhcnRTY2hlZHVsZWRKb2JzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaAppbmRleCAxNTJm
YWM1OGIxOWM4ZTRhOGU3ZjllNWUwZGZjN2VhNGU0OWU5NWM2Li41NGYyNmQwYjgxOGViNTI0NDA4
OTUyMDQ0ZTcwNDAzOGY3YmY4ZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5oCkBAIC03Niw3
ICs3Niw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyKCk7
CiAgICAgflJlc291cmNlSGFuZGxlTWFuYWdlcigpOwotICAgIHZvaWQgZG93bmxvYWRUaW1lckNh
bGxiYWNrKFRpbWVyPFJlc291cmNlSGFuZGxlTWFuYWdlcj4qKTsKKyAgICB2b2lkIGRvd25sb2Fk
VGltZXJDYWxsYmFjayhUaW1lciopOwogICAgIHZvaWQgcmVtb3ZlRnJvbUN1cmwoUmVzb3VyY2VI
YW5kbGUqKTsKICAgICBib29sIHJlbW92ZVNjaGVkdWxlZEpvYihSZXNvdXJjZUhhbmRsZSopOwog
ICAgIHZvaWQgc3RhcnRKb2IoUmVzb3VyY2VIYW5kbGUqKTsKQEAgLTg3LDcgKzg3LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgaW5pdENvb2tpZVNlc3Npb24oKTsKIAotICAgIFRpbWVyPFJlc291
cmNlSGFuZGxlTWFuYWdlcj4gbV9kb3dubG9hZFRpbWVyOworICAgIFRpbWVyIG1fZG93bmxvYWRU
aW1lcjsKICAgICBDVVJMTSogbV9jdXJsTXVsdGlIYW5kbGU7CiAgICAgQ1VSTFNIKiBtX2N1cmxT
aGFyZUhhbmRsZTsKICAgICBjaGFyKiBtX2Nvb2tpZUphckZpbGVOYW1lOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJN
YWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRl
Tm90aWZpZXJNYWMuY3BwCmluZGV4IGNlZjZmZWE2YWVlMjVkZGVjOGY3NDIxYjY3MjgyNzg2ZjI5
ZmU3NWUuLjAwNTM4YmYzMmFiMTI0MjNiNDI0Y2UyYjk3ZWZmNTY0OTY0ZTk3NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlm
aWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3
b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJy
YXlSZWYsIHYKICAgICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3QoU3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKIH0KIAotdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxOZXR3b3JrU3RhdGVO
b3RpZmllcj4mKQordm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdl
VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgYm9vbCBvbGRPbkxpbmUgPSBtX2lzT25MaW5lOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVz
b3VyY2VIYW5kbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IGExYTZkNTE5NTJmMzIxY2VkNDA0YzY1Y2Q3N2Zk
YjJmZDFiNzZjMTYuLmZlNjBhNTVjM2I3NmYzOTkzNTI2NzAxZTEwYjBmMjhmNDkzZDFkNzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFu
ZGxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNv
dXJjZUhhbmRsZVdpbi5jcHAKQEAgLTM1Myw3ICszNTMsNyBAQCBib29sIFJlc291cmNlSGFuZGxl
OjpzdGFydCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmZp
bGVMb2FkVGltZXIoVGltZXI8UmVzb3VyY2VIYW5kbGU+KikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6
OmZpbGVMb2FkVGltZXIoVGltZXIqKQogewogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gcHJv
dGVjdG9yKHRoaXMpOwogICAgIGRlcmVmKCk7IC8vIGJhbGFuY2VzIHJlZiBpbiBzdGFydApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggMWVjMTEyZDZjN2E1ZDhh
NTgxMzkxYjk1ODcwNTM5OTUzZjRiODczNS4uNDhkZWNhZjRmMjAxODVlNDIyNDg3MzljMGZlYzli
NjRhYWViZDdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNr
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBA
IC02Myw3ICs2Myw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAg
ICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFBsdWdpblBh
Y2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5QYWNrYWdlPiopCit2b2lk
IFBsdWdpblBhY2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgQVNT
RVJUKG1fbW9kdWxlKTsKICAgICAvLyBEbyBub3RoaW5nIGlmIHRoZSBtb2R1bGUgZ290IGxvYWRl
ZCBhZ2FpbiBtZWFud2hpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luUGFja2FnZS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgKaW5k
ZXggODdmZGFiNWM2ZTk3ZWE5MzFlMzEyOTJlNDlkYmZjNWQxN2ZmMjRhYS4uYWVmYmIxZjk0YjUy
NTYxYzI4ZTk4ZjAzMjBlZGU1ZmZkZDlkYWQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5QYWNrYWdlLmgKQEAgLTEyMCw4ICsxMjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5k
aWYKIAogICAgICAgICB2b2lkIGZyZWVMaWJyYXJ5U29vbigpOwotICAgICAgICB2b2lkIGZyZWVM
aWJyYXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5QYWNrYWdlPiopOwotICAgICAgICBUaW1lcjxQ
bHVnaW5QYWNrYWdlPiBtX2ZyZWVMaWJyYXJ5VGltZXI7CisgICAgICAgIHZvaWQgZnJlZUxpYnJh
cnlUaW1lckZpcmVkKFRpbWVyKik7CisgICAgICAgIFRpbWVyIG1fZnJlZUxpYnJhcnlUaW1lcjsK
IAogICAgICAgICBQbHVnaW5RdWlya1NldCBtX3F1aXJrczsKICNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX01FVEFEQVRBX0NBQ0hFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0u
Y3BwCmluZGV4IDMwMDBjOWNlZTcwNDBhODcwOTQ4NzUyMWNlNzExODBlZDEzNjQ0OTYuLmM1YjQy
NTFiYjRkZTU3NWRiYTZlNjJmYTk5ZWYxZDY1ZWE0YTRmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblN0cmVhbS5jcHAKQEAgLTMyMSw3ICszMjEsNyBAQCB2b2lkIFBsdWdpblN0cmVh
bTo6ZGVzdHJveVN0cmVhbSgpCiAgICAgICAgIGRlbGV0ZUZpbGUobV9wYXRoKTsKIH0KIAotdm9p
ZCBQbHVnaW5TdHJlYW06OmRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyPFBsdWdpblN0cmVh
bT4qIHRpbWVyKQordm9pZCBQbHVnaW5TdHJlYW06OmRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRp
bWVyKiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9kZWxh
eURlbGl2ZXJ5VGltZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0uaAppbmRl
eCBkOGZkMjNmNTAwZmE0NzVmMzBlMzQyYTcwMzY2OWU0ZTc5MmU4YjVkLi5jYTE1MDAzOTBjM2Ez
YzBkMjA5NGUyYTE0YzRkNjdkYjM3NjVlZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpblN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
U3RyZWFtLmgKQEAgLTEwMCw4ICsxMDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IFBsdWdpblN0cmVhbVN0YXRlIG1fc3RyZWFtU3RhdGU7CiAgICAgICAgIGJvb2wgbV9sb2FkTWFu
dWFsbHk7CiAKLSAgICAgICAgVGltZXI8UGx1Z2luU3RyZWFtPiBtX2RlbGF5RGVsaXZlcnlUaW1l
cjsKLSAgICAgICAgdm9pZCBkZWxheURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxQbHVnaW5TdHJl
YW0+Kik7CisgICAgICAgIFRpbWVyIG1fZGVsYXlEZWxpdmVyeVRpbWVyOworICAgICAgICB2b2lk
IGRlbGF5RGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyKik7CiAKICAgICAgICAgT3duUHRyPCBWZWN0
b3I8Y2hhcj4gPiBtX2RlbGl2ZXJ5RGF0YTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKaW5kZXggZGM3ZTAxN2JiNjQyMDI1YjRlZTg1NDE5OTUxYjRlYzYwNDY4Mzg3OS4uNmUx
MzcyMTMxYzgyOWM4M2UzZTI2ZjU1NjkyMWEyOGY3NDBlNTNiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIFN0cmluZyBzY3Jp
cHRTdHJpbmdJZkphdmFTY3JpcHRVUkwoY29uc3QgVVJMJiB1cmwpCiAKIFBsdWdpblZpZXcqIFBs
dWdpblZpZXc6OnNfY3VycmVudFBsdWdpblZpZXcgPSAwOwogCi12b2lkIFBsdWdpblZpZXc6OnBv
cFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiopCit2b2lkIFBsdWdpblZp
ZXc6OnBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgcG9wUG9wdXBzRW5h
YmxlZFN0YXRlKCk7CiB9CkBAIC00NzksNyArNDc5LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZXJm
b3JtUmVxdWVzdChQbHVnaW5SZXF1ZXN0KiByZXF1ZXN0KQogICAgIH0KIH0KIAotdm9pZCBQbHVn
aW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3PiogdGltZXIpCit2b2lk
IFBsdWdpblZpZXc6OnJlcXVlc3RUaW1lckZpcmVkKFRpbWVyKiB0aW1lcikKIHsKICAgICBBU1NF
UlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9yZXF1ZXN0VGltZXIpOwogICAgIEFTU0VSVCgh
bV9yZXF1ZXN0cy5pc0VtcHR5KCkpOwpAQCAtNjY0LDcgKzY2NCw3IEBAIE5QRXJyb3IgUGx1Z2lu
Vmlldzo6c2V0VmFsdWUoTlBQVmFyaWFibGUgdmFyaWFibGUsIHZvaWQqIHZhbHVlKQogICAgIH0K
IH0KIAotdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5W
aWV3PiogdGltZXIpCit2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVUaW1lckZpcmVkKFRpbWVy
KiB0aW1lcikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9pbnZhbGlk
YXRlVGltZXIpOwogCkBAIC0xMjY0LDcgKzEyNjQsNyBAQCBjb25zdCBjaGFyKiBQbHVnaW5WaWV3
Ojp1c2VyQWdlbnRTdGF0aWMoKQogI2VuZGlmCiAKIAotdm9pZCBQbHVnaW5WaWV3OjpsaWZlU3Vw
cG9ydFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmlldz4qKQordm9pZCBQbHVnaW5WaWV3OjpsaWZl
U3VwcG9ydFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIGRlcmVmKCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDQ1MTJiOGE4MzBmODBlNzdlYjY4M2I0OTEyMjcwNTA3
ODE5ZjA2MTQuLmIyOTc2MzRlZWJjZjIyZThmMTFiMjVmMTEwMDMwNWMyMWJiYzJmYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0yODgsMTYgKzI4OCwxNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBwZXJmb3JtUmVxdWVzdChQbHVnaW5SZXF1ZXN0
Kik7CiAgICAgICAgIHZvaWQgc2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5S
ZXF1ZXN0Pik7Ci0gICAgICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmll
dz4qKTsKLSAgICAgICAgdm9pZCBpbnZhbGlkYXRlVGltZXJGaXJlZChUaW1lcjxQbHVnaW5WaWV3
PiopOwotICAgICAgICBUaW1lcjxQbHVnaW5WaWV3PiBtX3JlcXVlc3RUaW1lcjsKLSAgICAgICAg
VGltZXI8UGx1Z2luVmlldz4gbV9pbnZhbGlkYXRlVGltZXI7CisgICAgICAgIHZvaWQgcmVxdWVz
dFRpbWVyRmlyZWQoVGltZXIqKTsKKyAgICAgICAgdm9pZCBpbnZhbGlkYXRlVGltZXJGaXJlZChU
aW1lciopOworICAgICAgICBUaW1lciBtX3JlcXVlc3RUaW1lcjsKKyAgICAgICAgVGltZXIgbV9p
bnZhbGlkYXRlVGltZXI7CiAKLSAgICAgICAgdm9pZCBwb3BQb3B1cHNTdGF0ZVRpbWVyRmlyZWQo
VGltZXI8UGx1Z2luVmlldz4qKTsKLSAgICAgICAgVGltZXI8UGx1Z2luVmlldz4gbV9wb3BQb3B1
cHNTdGF0ZVRpbWVyOworICAgICAgICB2b2lkIHBvcFBvcHVwc1N0YXRlVGltZXJGaXJlZChUaW1l
ciopOworICAgICAgICBUaW1lciBtX3BvcFBvcHVwc1N0YXRlVGltZXI7CiAKLSAgICAgICAgdm9p
ZCBsaWZlU3VwcG9ydFRpbWVyRmlyZWQoVGltZXI8UGx1Z2luVmlldz4qKTsKLSAgICAgICAgVGlt
ZXI8UGx1Z2luVmlldz4gbV9saWZlU3VwcG9ydFRpbWVyOworICAgICAgICB2b2lkIGxpZmVTdXBw
b3J0VGltZXJGaXJlZChUaW1lciopOworICAgICAgICBUaW1lciBtX2xpZmVTdXBwb3J0VGltZXI7
CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICAgICAgYm9vbCBkaXNwYXRj
aE5QRXZlbnQoTlBFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy93
aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBiMzI3Mjg5ODBlZjA2NDQy
MTRmMDcxZjkyNzJmNDJiYTE4YzdjMzE4Li5lNTZlMzllYWIyYTRjYmNlOTdjNzhmODdkYWE4ZTBm
ZGUwNTI1N2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9Q
bHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgUGx1
Z2luTWVzc2FnZVRocm90dGxlcldpbjo6cHJvY2Vzc1F1ZXVlZE1lc3NhZ2UoKQogICAgIGZyZWVN
ZXNzYWdlKG1lc3NhZ2UpOwogfQogCi12b2lkIFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW46Om1l
c3NhZ2VUaHJvdHRsZVRpbWVyRmlyZWQoVGltZXI8UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbj4q
KQordm9pZCBQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luOjptZXNzYWdlVGhyb3R0bGVUaW1lckZp
cmVkKFRpbWVyKikKIHsKICAgICBwcm9jZXNzUXVldWVkTWVzc2FnZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmgK
aW5kZXggMGE3YmU3MGNhMjgwY2JhMjJhZmRkYWNkMzNmMGMxYTBmM2Y5YzhhNy4uOGZkZDE3YzI5
MTdmMjIxMzFjZGY0ZjUwNGI0Njc0YjNlNTM5ZWJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy93aW4vUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uaApAQCAtNTIsNyAr
NTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lk
IHByb2Nlc3NRdWV1ZWRNZXNzYWdlKCk7Ci0gICAgICAgIHZvaWQgbWVzc2FnZVRocm90dGxlVGlt
ZXJGaXJlZChUaW1lcjxQbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luPiopOworICAgICAgICB2b2lk
IG1lc3NhZ2VUaHJvdHRsZVRpbWVyRmlyZWQoVGltZXIqKTsKICAgICAgICAgUGx1Z2luTWVzc2Fn
ZSogYWxsb2NhdGVNZXNzYWdlKCk7CiAgICAgICAgIGJvb2wgaXNJbmxpbmVNZXNzYWdlKFBsdWdp
bk1lc3NhZ2UqIG1lc3NhZ2UpOwogICAgICAgICB2b2lkIGZyZWVNZXNzYWdlKFBsdWdpbk1lc3Nh
Z2UqIG1lc3NhZ2UpOwpAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIFBsdWdpbk1lc3NhZ2UgbV9pbmxpbmVNZXNzYWdlc1tOdW1JbmxpbmVNZXNzYWdlc107CiAg
ICAgICAgIFBsdWdpbk1lc3NhZ2UqIG1fZnJlZUlubGluZU1lc3NhZ2VzOwogCi0gICAgICAgIFRp
bWVyPFBsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4+IG1fbWVzc2FnZVRocm90dGxlVGltZXI7Cisg
ICAgICAgIFRpbWVyIG1fbWVzc2FnZVRocm90dGxlVGltZXI7CiAgICAgICAgIGRvdWJsZSBtX2xh
c3RNZXNzYWdlVGltZTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggZTgyZWVkNmRjNWJkZjViYzcxY2I0
Y2U1YjE5Yzg5NTdlOTIxMzJiZC4uMjdjMDUxYzE1ZGVjZjM4Zjg1Yjk3M2ExMGE4YjQ3YWE1ZGRk
MDI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OnJlbW92ZU9iamVjdChSZW5kZXJCb3hNb2RlbE9iamVjdCogb2JqZWN0KQogICAgIH0KIH0K
IAotdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZp
cmVkKFRpbWVyPEltYWdlUXVhbGl0eUNvbnRyb2xsZXI+JikKK3ZvaWQgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYg
KG1fcmVuZGVyVmlldy5kb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpCiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5o
CmluZGV4IDQzMmQzNjExMmFjYTI5YjU5MDMzMWE1MmVhN2RkMmIwOGQ2MDRlOWQuLmE1YjZmMDFh
NmRmZDFjMzk5NzQwM2Q5MTZiZDI3ZTQ4MDZlODM1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuaApAQCAtNTIsMTMgKzUyLDEzIEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHJlbW92ZUxheWVyKFJlbmRlckJveE1vZGVsT2JqZWN0Kiwg
TGF5ZXJTaXplTWFwKiBpbm5lck1hcCwgY29uc3Qgdm9pZCogbGF5ZXIpOwogICAgIHZvaWQgc2V0
KFJlbmRlckJveE1vZGVsT2JqZWN0KiwgTGF5ZXJTaXplTWFwKiBpbm5lck1hcCwgY29uc3Qgdm9p
ZCogbGF5ZXIsIGNvbnN0IExheW91dFNpemUmKTsKLSAgICB2b2lkIGhpZ2hRdWFsaXR5UmVwYWlu
dFRpbWVyRmlyZWQoVGltZXI8SW1hZ2VRdWFsaXR5Q29udHJvbGxlcj4mKTsKKyAgICB2b2lkIGhp
Z2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoVGltZXImKTsKICAgICB2b2lkIHJlc3RhcnRUaW1l
cigpOwogICAgIHZvaWQgcmVtb3ZlT2JqZWN0KFJlbmRlckJveE1vZGVsT2JqZWN0Kik7CiAKICAg
ICBjb25zdCBSZW5kZXJWaWV3JiBtX3JlbmRlclZpZXc7CiAgICAgT2JqZWN0TGF5ZXJTaXplTWFw
IG1fb2JqZWN0TGF5ZXJTaXplTWFwOwotICAgIFRpbWVyPEltYWdlUXVhbGl0eUNvbnRyb2xsZXI+
IG1fdGltZXI7CisgICAgVGltZXIgbV90aW1lcjsKICAgICBib29sIG1fYW5pbWF0ZWRSZXNpemVJ
c0FjdGl2ZTsKICAgICBib29sIG1fbGl2ZVJlc2l6ZU9wdGltaXphdGlvbklzQWN0aXZlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKaW5kZXggNTNlMGM3NTFi
MDRiODMzYTNmYjUzYmE4ZjM4N2FlYzAxZGZiY2U2MC4uOWVmNGUxMWJmMmY4MTA5MWNlNWM4NDgw
M2U0OGQ3YjNmNjhhODI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJ1dHRvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRv
bi5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCB2b2lkIFJlbmRlckJ1dHRvbjo6c3R5bGVEaWRDaGFu
Z2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdAogICAgIGlm
ICghbV9kZWZhdWx0ICYmIHRoZW1lKCkuaXNEZWZhdWx0KCp0aGlzKSkgewogICAgICAgICBpZiAo
dGhlbWUoKS5kZWZhdWx0QnV0dG9uSGFzQW5pbWF0aW9uKCkpIHsKICAgICAgICAgICAgIGlmICgh
bV90aW1lcikKLSAgICAgICAgICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1l
cjxSZW5kZXJCdXR0b24+Pih0aGlzLCAmUmVuZGVyQnV0dG9uOjp0aW1lckZpcmVkKTsKKyAgICAg
ICAgICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4odGhpcywgJlJlbmRl
ckJ1dHRvbjo6dGltZXJGaXJlZCk7CiAgICAgICAgICAgICBtX3RpbWVyLT5zdGFydFJlcGVhdGlu
ZygwLjAzKTsKICAgICAgICAgfQogICAgICAgICBtX2RlZmF1bHQgPSB0cnVlOwpAQCAtMTg3LDcg
KzE4Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyQnV0dG9uOjpjb250cm9sQ2xpcFJlY3QoY29uc3Qg
TGF5b3V0UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQpIGNvCiAgICAgcmV0dXJuIExheW91dFJlY3Qo
YWRkaXRpb25hbE9mZnNldC54KCkgKyBib3JkZXJMZWZ0KCksIGFkZGl0aW9uYWxPZmZzZXQueSgp
ICsgYm9yZGVyVG9wKCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpLCBo
ZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkpOwogfQogCi12b2lkIFJlbmRl
ckJ1dHRvbjo6dGltZXJGaXJlZChUaW1lcjxSZW5kZXJCdXR0b24+JikKK3ZvaWQgUmVuZGVyQnV0
dG9uOjp0aW1lckZpcmVkKFRpbWVyJikKIHsKICAgICAvLyBGSVhNRSBCdWcgMjUxMTA6IElkZWFs
bHkgd2Ugd291bGQgc3RvcCBvdXIgdGltZXIgd2hlbiBvdXIgRG9jdW1lbnQKICAgICAvLyBlbnRl
cnMgdGhlIHBhZ2UgY2FjaGUuIEJ1dCB3ZSBjdXJyZW50bHkgaGF2ZSBubyB3YXkgb2YgYmVpbmcg
bm90aWZpZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAppbmRleCAxMWEy
M2Y5NmIyODNmODE2OWNiNTBhZGE0NDQ0ZWI5ZmJmYjljMzFiLi4wZGJmNTFmNjgyMzU2NDc5YjYy
ZGExMzQ5ZDJhNGQ5Y2VhMDMwYjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1
dHRvbi5oCkBAIC03NCwxMiArNzQsMTIgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBy
ZXF1aXJlc0ZvcmNlZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8UmVuZGVyQnV0dG9uPiYp
OworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOwogCiAgICAgUmVuZGVyVGV4dEZyYWdtZW50
KiBtX2J1dHRvblRleHQ7CiAgICAgUmVuZGVyQmxvY2sqIG1faW5uZXI7CiAKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8VGltZXI8UmVuZGVyQnV0dG9uPj4gbV90aW1lcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8VGltZXI+IG1fdGltZXI7CiAgICAgYm9vbCBtX2RlZmF1bHQ7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGI2
MDE1ZTEwNTcyNTNhMmU1Y2U0NGJlZjM2NzMzMDdlYjZjOTZmYjEuLmE1Y2I1ZTE1MGFkYzU5MTM4
NTYzNDEzMzExN2YyOTg4NDVlM2UzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC02MzcsNyArNjM3LDcgQEAgdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiAg
ICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiYpCit2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lckZpcmVkKFRpbWVyJikKIHsK
ICAgICB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0
KTsKIH0KQEAgLTQwNjIsMTQgKzQwNjIsMTQgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnN0YXJ0SW5pdGlhbExheWVyRmx1c2hUaW1lcklmTmVlZGVkKCkKICAgICBtX2xheWVyRmx1c2hU
aW1lci5zdGFydE9uZVNob3QodGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSk7CiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZChUaW1lcjxS
ZW5kZXJMYXllckNvbXBvc2l0b3I+JikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXll
ckZsdXNoVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgaWYgKCFtX2hhc1BlbmRpbmdMYXllckZs
dXNoKQogICAgICAgICByZXR1cm47CiAgICAgc2NoZWR1bGVMYXllckZsdXNoTm93KCk7CiB9CiAK
LXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXJG
aXJlZChUaW1lcjxSZW5kZXJMYXllckNvbXBvc2l0b3I+JikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpwYWludFJlbGF0ZWRNaWxlc3RvbmVzVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAg
RnJhbWUmIGZyYW1lID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLmZyYW1lKCk7CiAgICAgUGFn
ZSogcGFnZSA9IGZyYW1lLnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCA2NDI0Y2Y0OTBhNmQ3ZTQ2OTNkNzJhZDk2NGNi
YjFjODczOGYzMzZhLi5jNGEyY2ZjNTM3MjgwYmYzNzBmYzg3MWRkY2FjMjM5MmNiYTI2OWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CkBAIC0zMzYsNyArMzM2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZFRvT3ZlcmxhcE1hcChP
dmVybGFwTWFwJiwgUmVuZGVyTGF5ZXImLCBJbnRSZWN0JiBsYXllckJvdW5kcywgYm9vbCYgYm91
bmRzQ29tcHV0ZWQpOwogICAgIHZvaWQgYWRkVG9PdmVybGFwTWFwUmVjdXJzaXZlKE92ZXJsYXBN
YXAmLCBSZW5kZXJMYXllciYsIFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyID0gbnVsbHB0cik7
CiAKLSAgICB2b2lkIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZChUaW1lcjxSZW5k
ZXJMYXllckNvbXBvc2l0b3I+Jik7CisgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyRmlyZWQoVGltZXImKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhbnkgbGF5ZXIncyBj
b21wb3NpdGluZyBjaGFuZ2VkCiAgICAgdm9pZCBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVu
dHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIFJlbmRlckxheWVyJiwgT3ZlcmxhcE1hcCYs
IHN0cnVjdCBDb21wb3NpdGluZ1N0YXRlJiwgYm9vbCYgbGF5ZXJzQ2hhbmdlZCwgYm9vbCYgZGVz
Y2VuZGFudEhhczNEVHJhbnNmb3JtKTsKQEAgLTQ1NCw5ICs0NTQsOSBAQCBwcml2YXRlOgogICAg
IGJvb2wgaXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzKCkgY29uc3Q7CiAgICAgdm9pZCBzdGFydElu
aXRpYWxMYXllckZsdXNoVGltZXJJZk5lZWRlZCgpOwogICAgIHZvaWQgc3RhcnRMYXllckZsdXNo
VGltZXJJZk5lZWRlZCgpOwotICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoVGltZXI8UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yPiYpOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoVGlt
ZXImKTsKIAotICAgIHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyRmlyZWQoVGltZXI8
UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiYpOworICAgIHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25l
c1RpbWVyRmlyZWQoVGltZXImKTsKIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBjb25zdCBjaGFy
KiBsb2dSZWFzb25zRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXImKTsKQEAgLTQ2OCw3
ICs0NjgsNyBAQCBwcml2YXRlOgogcHJpdmF0ZToKICAgICBSZW5kZXJWaWV3JiBtX3JlbmRlclZp
ZXc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5ZXI+IG1fcm9vdENvbnRlbnRMYXll
cjsKLSAgICBUaW1lcjxSZW5kZXJMYXllckNvbXBvc2l0b3I+IG1fdXBkYXRlQ29tcG9zaXRpbmdM
YXllcnNUaW1lcjsKKyAgICBUaW1lciBtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXI7CiAK
ICAgICBib29sIG1faGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZzsKICAgICBDaHJvbWVDbGllbnQ6
OkNvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIG1fY29tcG9zaXRpbmdUcmlnZ2VyczsKQEAgLTUyNSwx
MiArNTI1LDEyIEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXll
clVwZGF0ZXI+IG1fbGF5ZXJVcGRhdGVyOyAvLyBVcGRhdGVzIHRpbGVkIGxheWVyIHZpc2libGUg
YXJlYSBwZXJpb2RpY2FsbHkgd2hpbGUgYW5pbWF0aW9ucyBhcmUgcnVubmluZy4KIAotICAgIFRp
bWVyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4gbV9sYXllckZsdXNoVGltZXI7CisgICAgVGltZXIg
bV9sYXllckZsdXNoVGltZXI7CiAgICAgYm9vbCBtX2xheWVyRmx1c2hUaHJvdHRsaW5nRW5hYmxl
ZDsKICAgICBib29sIG1fbGF5ZXJGbHVzaFRocm90dGxpbmdUZW1wb3JhcmlseURpc2FibGVkRm9y
SW50ZXJhY3Rpb247CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdMYXllckZsdXNoOwogCi0gICAgVGlt
ZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiBtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lcjsK
KyAgICBUaW1lciBtX3BhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lcjsKIAogI2lmICFMT0dfRElT
QUJMRUQKICAgICBpbnQgbV9yb290TGF5ZXJVcGRhdGVDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA2NTAxZmUyYTYyNjY5MDgyNWMzYmE4NTMz
ZmVlZmE5MDFhYjM5NWUyLi5mMWIzNjU4YzFhNjY2ODE2OTI0YWY3MDk0Y2FkOTNmZDkxNmE3ZTNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0yNDAs
NyArMjQwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAg
ICAgICBtX3RpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBSZW5kZXJNYXJxdWVlOjp0aW1lckZpcmVk
KFRpbWVyPFJlbmRlck1hcnF1ZWU+JikKK3ZvaWQgUmVuZGVyTWFycXVlZTo6dGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgaWYgKG1fbGF5ZXItPnJlbmRlcmVyKCkudmlldygpLm5lZWRzTGF5b3V0
KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5oCmluZGV4IDg3YzIwMmRhYWIzMzNkNDE5M2UzN2Q5YTVhMWQwMWJmZmFjZjc5YTAuLmFkOWYx
NmUzMzU2Y2VlYThmMGMyMWVmMGJhNzIyMGRhM2JjYmM5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaApAQCAtNzksMTIgKzc5LDEyIEBAIHB1YmxpYzoKICAgICB2
b2lkIHVwZGF0ZU1hcnF1ZWVQb3NpdGlvbigpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJG
aXJlZChUaW1lcjxSZW5kZXJNYXJxdWVlPiYpOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYp
OwogCiAgICAgUmVuZGVyTGF5ZXIqIG1fbGF5ZXI7CiAgICAgaW50IG1fY3VycmVudExvb3A7CiAg
ICAgaW50IG1fdG90YWxMb29wczsKLSAgICBUaW1lcjxSZW5kZXJNYXJxdWVlPiBtX3RpbWVyOwor
ICAgIFRpbWVyIG1fdGltZXI7CiAgICAgaW50IG1fc3RhcnQ7CiAgICAgaW50IG1fZW5kOwogICAg
IGludCBtX3NwZWVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFt
ZWRGbG93VGhyZWFkLmNwcAppbmRleCAxNzRjOGNlNTRhYzk1ZWU4MmE3NTA1MzgzOWU3ZDE5Mjg3
MWQwNGRjLi5jMjVjZWJhMjUyMTkxOGVkODg0YzYxODcwMzEwOGVkZTBmOTEyNWE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApA
QCAtNTY2LDcgKzU2Niw3IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJl
Z2lvbk92ZXJzZXRDaGFuZ2VFdmVudElmTmVlZGVkKCkKICAgICAgICAgbV9yZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgUmVuZGVyTmFtZWRG
bG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJlbmRl
ck5hbWVkRmxvd1RocmVhZD4mKQordm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lvbk92
ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXImKQogewogICAgIG5hbWVkRmxvdygpLmRp
c3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKaW5kZXggNzM0ZDAyZTk1MDg0OGU5
YzhlOTQ5ZjVhNmQyZDM0NjM1NGNhN2RiNC4uN2RlYmZmOGE1NjYwZGQ1MjJjMzQxMjUxNzY1NjJi
MDQ0ODFkZDE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuaApAQCAtMTI0LDcgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVj
a0ludmFsaWRSZWdpb25zKCk7CiAKICAgICBib29sIGNhbkJlRGVzdHJveWVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnZhbGlkUmVnaW9uTGlzdC5pc0VtcHR5KCkgJiYgbV9yZWdpb25MaXN0LmlzRW1w
dHkoKSAmJiBtX2NvbnRlbnRFbGVtZW50cy5pc0VtcHR5KCk7IH0KLSAgICB2b2lkIHJlZ2lvbk92
ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTmFtZWRGbG93VGhyZWFkPiYp
OworICAgIHZvaWQgcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZChUaW1lciYpOwog
ICAgIHZvaWQgY2xlYXJDb250ZW50RWxlbWVudHMoKTsKICAgICB2b2lkIHVwZGF0ZVdyaXRpbmdN
b2RlKCk7CiAKQEAgLTE1NCw3ICsxNTQsNyBAQCBwcml2YXRlOgogICAgIC8vIFRoZSBET00gT2Jq
ZWN0IHRoYXQgcmVwcmVzZW50cyBhIG5hbWVkIGZsb3cuCiAgICAgUmVmPFdlYktpdE5hbWVkRmxv
dz4gbV9uYW1lZEZsb3c7CiAKLSAgICBUaW1lcjxSZW5kZXJOYW1lZEZsb3dUaHJlYWQ+IG1fcmVn
aW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXI7CisgICAgVGltZXIgbV9yZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRUaW1lcjsKIAogICAgIExheW91dFVuaXQgbV9mbG93Q29udGVudEJvdHRvbTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCAzMzZi
MTE2NzJkMDNiNWYwNmI3NDUzYTgzMzBiY2IzMjY5Njc4Y2M0Li42ODEzNTNmZWVmNGUxNTM3NWJk
NDViNmI2MWI4ZDU0NDBmMzAxMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQcm9ncmVzcy5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgYm9vbCBSZW5kZXJQcm9ncmVzczo6aXNE
ZXRlcm1pbmF0ZSgpIGNvbnN0CiAgICAgICAgICAgICAmJiBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJ
bnZhbGlkUG9zaXRpb24gIT0gcG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgUmVuZGVyUHJvZ3Jlc3M6
OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8UmVuZGVyUHJvZ3Jlc3M+JikKK3ZvaWQgUmVuZGVy
UHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXImKQogewogICAgIHJlcGFpbnQoKTsK
ICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSAmJiBtX2FuaW1hdGluZykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5kZXggZTgyNGYxYTU0MTk3
YjI3ZWFiNmIzZDAxYzUzMzY3MDdhMTdjZDc5OS4uMGUzZGUwMGI2YjgxMDJkYzBiOWIzNGM3NmU4
ZDA2NWNlZGI3MzgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNG
b3JjZWRTdHlsZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxv
Z2ljYWxIZWlnaHQsIExheW91dFVuaXQgbG9naWNhbFRvcCwgTG9naWNhbEV4dGVudENvbXB1dGVk
VmFsdWVzJikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQo
VGltZXI8UmVuZGVyUHJvZ3Jlc3M+Jik7CisgICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRp
bWVyJik7CiAgICAgdm9pZCB1cGRhdGVBbmltYXRpb25TdGF0ZSgpOwogCiAgICAgZG91YmxlIG1f
cG9zaXRpb247CkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWw7CiAgICAgZG91YmxlIG1fYW5pbWF0aW9uRHVyYXRpb247CiAgICAg
Ym9vbCBtX2FuaW1hdGluZzsKLSAgICBUaW1lcjxSZW5kZXJQcm9ncmVzcz4gbV9hbmltYXRpb25U
aW1lcjsKKyAgICBUaW1lciBtX2FuaW1hdGlvblRpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDZiYmYz
NjBmYjBkMDFiYTliMzE5YTE5ZjY4NWYyMzYyYmM3OGMwZjQuLmU1Y2JkYzRkMGY1NzEzM2YxYmFj
NmMwYTRkMDMxYTU3MDlmNzM4NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAKQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5
UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQogICAgICAgICBtX2xhenlSZXBhaW50VGltZXIu
c3RvcCgpOwogfQogCi12b2lkIFJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZChUaW1l
cjxSZW5kZXJWaWV3PiYpCit2b2lkIFJlbmRlclZpZXc6OmxhenlSZXBhaW50VGltZXJGaXJlZChU
aW1lciYpCiB7CiAgICAgYm9vbCBzaG91bGRSZXBhaW50ID0gIWRvY3VtZW50KCkuaW5QYWdlQ2Fj
aGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggYmZlOTkzMGEy
MzJjMTJlMWFhMWNkNmZiMDUwMzYyNzljOTZjMzc1NS4uYzY2YjQ5ODFkMDg1NzAyOWFkNWQzNDUz
YjdhNTEwZmM4MTUxYmZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBA
IC0zNDIsOSArMzQyLDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkVXNlUHJpbnRpbmdM
YXlvdXQoKSBjb25zdDsKIAotICAgIHZvaWQgbGF6eVJlcGFpbnRUaW1lckZpcmVkKFRpbWVyPFJl
bmRlclZpZXc+Jik7CisgICAgdm9pZCBsYXp5UmVwYWludFRpbWVyRmlyZWQoVGltZXImKTsKIAot
ICAgIFRpbWVyPFJlbmRlclZpZXc+IG1fbGF6eVJlcGFpbnRUaW1lcjsKKyAgICBUaW1lciBtX2xh
enlSZXBhaW50VGltZXI7CiAgICAgSGFzaFNldDxSZW5kZXJCb3gqPiBtX3JlbmRlcmVyc05lZWRp
bmdMYXp5UmVwYWludDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZVF1YWxpdHlDb250cm9s
bGVyPiBtX2ltYWdlUXVhbGl0eUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDZhZTQ4MmUxMWRhY2ZiMzc1
NzY2MDM4OTFhNzFiMjc0Y2FlNTNiYzkuLmJkZjU4MmRmMTE5ZjEzYWI0YzcxOTMxOGQ0Mzk1MmFh
M2Q5MzNjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyOjpwYXVzZSgpCiAgICAgICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6dGltZXJGaXJlZChUaW1lcjxFdmVudExvb3BJbnB1dERpc3Bh
dGNoZXI+KikKK3ZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKFRpbWVy
KikKIHsKICAgICBkaXNwYXRjaElucHV0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKaW5kZXggZjQzMDYyZWI1OGJkNGZlMWQ5NGJl
NjUxYjg2MWI2MDNiZTRiYjdmYS4uMmE4YTA3MGRlMTdlNTBkZGUxMGQyZjQ5NmQ2ODliYmMzYTJi
NzAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlz
cGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuaApAQCAtNzIsMTIgKzcyLDEyIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBk
aXNwYXRjaElucHV0U29vbigpOwogICAgIHZvaWQgZGlzcGF0Y2hJbnB1dCgpOwotICAgIHZvaWQg
dGltZXJGaXJlZChUaW1lcjxFdmVudExvb3BJbnB1dERpc3BhdGNoZXI+Kik7CisgICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyKik7CiAKICAgICBQYWdlJiBtX3BhZ2U7CiAgICAgRXZlbnRMb29wSW5w
dXREaXNwYXRjaGVyQ2xpZW50KiBtX2NsaWVudDsKICAgICBSZXBsYXlpbmdJbnB1dEN1cnNvciYg
bV9jdXJzb3I7Ci0gICAgVGltZXI8RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyPiBtX3RpbWVyOwor
ICAgIFRpbWVyIG1fdGltZXI7CiAKICAgICAvLyBUaGlzIGRhdGEgaXMgdmFsaWQgd2hlbiBhbiBl
dmVudCBsb29wIGlucHV0IGlzIHByZXNlbnRseSBkaXNwYXRjaGluZy4KICAgICBFdmVudExvb3BJ
bnB1dERhdGEgbV9jdXJyZW50V29yazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZUFyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFy
ZWFJbXBsLmNwcAppbmRleCA3NGUyYzgxZmY3NDlhNTg0YTRmNTZlYmM3M2NhZDZkOTAwNWQzYjNh
Li4zMTM5ODJkM2RiMThkYTM5YTQ1MmVhMzQ5MGU2MGQ4YWQ3ZWJkYTQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwCkBAIC0yNzgsNyArMjc4LDcgQEAgdm9p
ZCBTdG9yYWdlQXJlYUltcGw6OmRlY3JlbWVudEFjY2Vzc0NvdW50KCkKICAgICB9CiB9CiAKLXZv
aWQgU3RvcmFnZUFyZWFJbXBsOjpjbG9zZURhdGFiYXNlVGltZXJGaXJlZChUaW1lcjxTdG9yYWdl
QXJlYUltcGw+ICopCit2b2lkIFN0b3JhZ2VBcmVhSW1wbDo6Y2xvc2VEYXRhYmFzZVRpbWVyRmly
ZWQoVGltZXIgKikKIHsKICAgICBibG9ja1VudGlsSW1wb3J0Q29tcGxldGUoKTsKICAgICBpZiAo
bV9zdG9yYWdlQXJlYVN5bmMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwu
aAppbmRleCBmMzg0ZTBkZDEzYzVkMzdhZmE3MWFiYmY2NGNmNjhjNmJmNjNiMzllLi41NTZkNWMw
ZmQ2YTNjNjc5OGU0NmY4NjE1NWYxYzg3MmZhODgzMmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZUFyZWFJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICBleHBs
aWNpdCBTdG9yYWdlQXJlYUltcGwoU3RvcmFnZUFyZWFJbXBsKik7CiAKICAgICB2b2lkIGJsb2Nr
VW50aWxJbXBvcnRDb21wbGV0ZSgpIGNvbnN0OwotICAgIHZvaWQgY2xvc2VEYXRhYmFzZVRpbWVy
RmlyZWQoVGltZXI8U3RvcmFnZUFyZWFJbXBsPiopOworICAgIHZvaWQgY2xvc2VEYXRhYmFzZVRp
bWVyRmlyZWQoVGltZXIqKTsKIAogICAgIHZvaWQgZGlzcGF0Y2hTdG9yYWdlRXZlbnQoY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFs
dWUsIEZyYW1lKiBzb3VyY2VGcmFtZSk7CiAKQEAgLTkyLDcgKzkyLDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1faXNTaHV0ZG93bjsKICNlbmRpZgogICAgIHVuc2lnbmVkIG1fYWNjZXNzQ291bnQ7
Ci0gICAgVGltZXI8U3RvcmFnZUFyZWFJbXBsPiBtX2Nsb3NlRGF0YWJhc2VUaW1lcjsKKyAgICBU
aW1lciBtX2Nsb3NlRGF0YWJhc2VUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCAxZDUwYTJk
M2NiYmNkNjkxZjJhMWFhZDc0YmRjMmRiOTA5NGRkZTFlLi4wYmQ4MTc0NGNiYjVhZTAyOGVjZjVm
NzljNDk5MzkxOTg2YzdiNTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVk
dWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgfQogfQogCi12b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3lu
Y1RpbWVyRmlyZWQoVGltZXI8U3RvcmFnZUFyZWFTeW5jPiopCit2b2lkIFN0b3JhZ2VBcmVhU3lu
Yzo6c3luY1RpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCmluZGV4IGMyNjNmYTc5
MmRlYzQxZmM0NDdlOTBhNWRhYzJjYjQ5MTU3ZjM5NTQuLjZhZThmY2I2NjI4YzY1ZWYyMTA0ZTI1
NGU5ZTY4OTJlMDUyMDNkYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFN0b3JhZ2VBcmVh
U3luYyhQYXNzUmVmUHRyPFN0b3JhZ2VTeW5jTWFuYWdlcj4sIFBhc3NSZWZQdHI8U3RvcmFnZUFy
ZWFJbXBsPiwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZUlkZW50aWZpZXIpOwogCi0gICAgVGltZXI8
U3RvcmFnZUFyZWFTeW5jPiBtX3N5bmNUaW1lcjsKKyAgICBUaW1lciBtX3N5bmNUaW1lcjsKICAg
ICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX2NoYW5nZWRJdGVtczsKICAgICBib29sIG1faXRl
bXNDbGVhcmVkOwogCkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICBTa2lwSWZOb25F
eGlzdGVudAogICAgIH07CiAKLSAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPFN0b3JhZ2VB
cmVhU3luYz4qKTsKKyAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyKik7CiAgICAgdm9pZCBv
cGVuRGF0YWJhc2UoT3BlbkRhdGFiYXNlUGFyYW1UeXBlIG9wZW5pbmdTdHJhdGVneSk7CiAgICAg
dm9pZCBzeW5jKGJvb2wgY2xlYXJJdGVtcywgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4m
IGl0ZW1zKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IGNiMzQ3ZDRlNWFkZTVm
MDQ5NmQxM2Y2Y2Q5YTQ2MDgwODExNmM0Y2IuLmFlYTAyZWU5YmEyNTNiNzMwNDQwM2ExMWY3NmNi
MzBjZGU0OTMzMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTY4NiwxMiArNjg2
LDEyIEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hy
b25vdXNseSgpCiAgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDApOwogfQog
Ci12b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoVGltZXI8U1ZHRWxlbWVu
dD4qKQordm9pZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKFRpbWVyKikKIHsK
ICAgICBzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZSgpOwogfQogCi1UaW1lcjxTVkdFbGVtZW50
PiogU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXIoKQorVGltZXIqIFNWR0VsZW1lbnQ6OnN2
Z0xvYWRFdmVudFRpbWVyKCkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IGQ4MzNjMDYxZjA5NTE3YjgxZGRiYWM0
OWZlMDQ3MTU5ODNjNjc4YjQuLjczZjMwM2Y2N2NkMzg4OTBkOTgzYmYyYmUyZDJkYjVmMzIxN2Ez
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtODksOCArODksOCBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlKGJvb2wgc2VuZFBhcmVudExvYWRF
dmVudHMgPSBmYWxzZSk7CiAgICAgdm9pZCBzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5j
aHJvbm91c2x5KCk7Ci0gICAgdm9pZCBzdmdMb2FkRXZlbnRUaW1lckZpcmVkKFRpbWVyPFNWR0Vs
ZW1lbnQ+Kik7Ci0gICAgdmlydHVhbCBUaW1lcjxTVkdFbGVtZW50Piogc3ZnTG9hZEV2ZW50VGlt
ZXIoKTsKKyAgICB2b2lkIHN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoVGltZXIqKTsKKyAgICB2aXJ0
dWFsIFRpbWVyKiBzdmdMb2FkRXZlbnRUaW1lcigpOwogCiAgICAgdmlydHVhbCBBZmZpbmVUcmFu
c2Zvcm0qIHN1cHBsZW1lbnRhbFRyYW5zZm9ybSgpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKaW5kZXggOWFjZGJkYjFiMGFkZjM3NTQxNDc2NTFiZDdi
NDMxMDJjYjU1MTc0Yi4uMjNlOTI5ZDM2MDgwY2IyYTAxOWJmMDJlODBkZjdiY2IxODk2N2QwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC03Miw3ICs3Miw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEhhdmVGaXJlZExvYWRFdmVudChib29sIGhhdmVG
aXJlZExvYWRFdmVudCkgb3ZlcnJpZGUgeyBTY3JpcHRFbGVtZW50OjpzZXRIYXZlRmlyZWRMb2Fk
RXZlbnQoaGF2ZUZpcmVkTG9hZEV2ZW50KTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BhcnNlcklu
c2VydGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU2NyaXB0RWxlbWVudDo6aXNQYXJzZXJJ
bnNlcnRlZCgpOyB9CiAgICAgdmlydHVhbCBib29sIGhhdmVGaXJlZExvYWRFdmVudCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcmlwdEVsZW1lbnQ6OmhhdmVGaXJlZExvYWRFdmVudCgpOyB9
Ci0gICAgdmlydHVhbCBUaW1lcjxTVkdFbGVtZW50Piogc3ZnTG9hZEV2ZW50VGltZXIoKSBvdmVy
cmlkZSB7IHJldHVybiAmbV9zdmdMb2FkRXZlbnRUaW1lcjsgfQorICAgIHZpcnR1YWwgVGltZXIq
IHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4gJm1fc3ZnTG9hZEV2ZW50VGlt
ZXI7IH0KIAogI2lmbmRlZiBOREVCVUcKICAgICB2aXJ0dWFsIGJvb2wgZmlsdGVyT3V0QW5pbWF0
YWJsZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Qgb3ZlcnJpZGU7CkBAIC04
Myw3ICs4Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogICAg
IEVORF9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKIAotICAgIFRpbWVyPFNWR0VsZW1lbnQ+
IG1fc3ZnTG9hZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zdmdMb2FkRXZlbnRUaW1lcjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQu
aAppbmRleCAxZTczMTc1MjVmYzdkYjc1NTg4ZDUzYjhjMzQ3MjlkYzNhNTIxZGQ3Li45ZjQyOGY3
NDMwYmNmMDRhODZjMjkzNmM0ZGZjZjJkMzE2MWIzZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0
eWxlRWxlbWVudC5oCkBAIC02MiwxMCArNjIsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0T3duZXIuaXNMb2FkaW5n
KCk7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hlZXRMb2FkZWQoKSBvdmVycmlkZSB7IHJldHVybiBt
X3N0eWxlU2hlZXRPd25lci5zaGVldExvYWRlZChkb2N1bWVudCgpKTsgfQogICAgIHZpcnR1YWwg
dm9pZCBzdGFydExvYWRpbmdEeW5hbWljU2hlZXQoKSBvdmVycmlkZSB7IG1fc3R5bGVTaGVldE93
bmVyLnN0YXJ0TG9hZGluZ0R5bmFtaWNTaGVldChkb2N1bWVudCgpKTsgfQotICAgIHZpcnR1YWwg
VGltZXI8U1ZHRWxlbWVudD4qIHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyByZXR1cm4g
Jm1fc3ZnTG9hZEV2ZW50VGltZXI7IH0KKyAgICB2aXJ0dWFsIFRpbWVyKiBzdmdMb2FkRXZlbnRU
aW1lcigpIG92ZXJyaWRlIHsgcmV0dXJuICZtX3N2Z0xvYWRFdmVudFRpbWVyOyB9CiAKICAgICBJ
bmxpbmVTdHlsZVNoZWV0T3duZXIgbV9zdHlsZVNoZWV0T3duZXI7Ci0gICAgVGltZXI8U1ZHRWxl
bWVudD4gbV9zdmdMb2FkRXZlbnRUaW1lcjsKKyAgICBUaW1lciBtX3N2Z0xvYWRFdmVudFRpbWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50
LmgKaW5kZXggYjczMmYxOGYyMjM2MWQxOTJkM2ZhMjY3ZWU4MTY3ZDIxZGFlZTRhMS4uMmYwYmMw
NWNiNzQ1OWEyYWI1MzJjNjk3NDZmZWQ0MDI2MzUxNjM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNl
RWxlbWVudC5oCkBAIC0xMTgsMTQgKzExOCwxNCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRIYXZlRmlyZWRMb2FkRXZlbnQoYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQpIG92ZXJyaWRl
IHsgbV9oYXZlRmlyZWRMb2FkRXZlbnQgPSBoYXZlRmlyZWRMb2FkRXZlbnQ7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNQYXJzZXJJbnNlcnRlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fd2Fz
SW5zZXJ0ZWRCeVBhcnNlcjsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2hhdmVGaXJlZExvYWRFdmVudDsgfQotICAgIHZp
cnR1YWwgVGltZXI8U1ZHRWxlbWVudD4qIHN2Z0xvYWRFdmVudFRpbWVyKCkgb3ZlcnJpZGUgeyBy
ZXR1cm4gJm1fc3ZnTG9hZEV2ZW50VGltZXI7IH0KKyAgICB2aXJ0dWFsIFRpbWVyKiBzdmdMb2Fk
RXZlbnRUaW1lcigpIG92ZXJyaWRlIHsgcmV0dXJuICZtX3N2Z0xvYWRFdmVudFRpbWVyOyB9CiAK
ICAgICBib29sIG1fd2FzSW5zZXJ0ZWRCeVBhcnNlcjsKICAgICBib29sIG1faGF2ZUZpcmVkTG9h
ZEV2ZW50OwogICAgIGJvb2wgbV9uZWVkc1NoYWRvd1RyZWVSZWNyZWF0aW9uOwogICAgIFJlZlB0
cjxTVkdFbGVtZW50SW5zdGFuY2U+IG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlOwogICAgIENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFNWR0RvY3VtZW50PiBtX2NhY2hlZERvY3VtZW50OwotICAg
IFRpbWVyPFNWR0VsZW1lbnQ+IG1fc3ZnTG9hZEV2ZW50VGltZXI7CisgICAgVGltZXIgbV9zdmdM
b2FkRXZlbnRUaW1lcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9h
bmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1h
dGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggOWFjMGI2M2E0ZWNhYjYyZDJhZjEyMjFm
ZWY4MjFjYzhmMTY2MDVmYi4uNGM0NzYyOWQ4YjIyNGU2YTVkYjZmMTAyNTczOTI1MDBhNzMzNDMy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFy
dFRpbWVyKFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZSBtaW5pbXVtRGVsYXkpCiAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CiB9CiAKLXZvaWQgU01JTFRpbWVDb250
YWluZXI6OnRpbWVyRmlyZWQoVGltZXI8U01JTFRpbWVDb250YWluZXI+KikKK3ZvaWQgU01JTFRp
bWVDb250YWluZXI6OnRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVChtX2JlZ2luVGlt
ZSk7CiAgICAgQVNTRVJUKCFtX3BhdXNlVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmgKaW5kZXggZTBmOTlmYWQ3MzM1YWI5MDVkMWUx
ZGMzNDhmZTQ1OTAyMzZkZmFiNi4uNDBhMGZlYTY0NDY1YWRkN2YxM2UwZWI5YWFiMDI0NGU3ZDZk
MjQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNv
bnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250
YWluZXIuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNNSUxUaW1l
Q29udGFpbmVyKFNWR1NWR0VsZW1lbnQqIG93bmVyKTsKIAotICAgIHZvaWQgdGltZXJGaXJlZChU
aW1lcjxTTUlMVGltZUNvbnRhaW5lcj4qKTsKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXIqKTsK
ICAgICB2b2lkIHN0YXJ0VGltZXIoU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lIG1pbmltdW1E
ZWxheSA9IDApOwogICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9ucyhTTUlMVGltZSBlbGFwc2VkLCBi
b29sIHNlZWtUb1RpbWUgPSBmYWxzZSk7CiAgICAgCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1fZG9jdW1lbnRPcmRlckluZGV4ZXNEaXJ0eTsKICAgICAKLSAgICBUaW1l
cjxTTUlMVGltZUNvbnRhaW5lcj4gbV90aW1lcjsKKyAgICBUaW1lciBtX3RpbWVyOwogCiAgICAg
dHlwZWRlZiBzdGQ6OnBhaXI8U1ZHRWxlbWVudCosIFF1YWxpZmllZE5hbWU+IEVsZW1lbnRBdHRy
aWJ1dGVQYWlyOwogICAgIHR5cGVkZWYgVmVjdG9yPFNWR1NNSUxFbGVtZW50Kj4gQW5pbWF0aW9u
c1ZlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IDQxMmYyNzI3MzkwZTY0ZTk0YjgxZTE1
YWE0N2FjNDBhNDFiNDhhZjAuLmNiMzYwMzRjNTg2NjY1Y2M2ZWE0OTY1NzkwNTZiYTY2Y2JkZDI5
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCgpCiAgICAg
ZGlzcGF0Y2hFdmVudChldmVudCk7CiB9CiAKLXZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6OmRpc3BhdGNoRGVmZXJyZWRFdmVudHMoVGltZXI8WE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGU+KiB0aW1lcikKK3ZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoRGVmZXJyZWRFdmVudHMoVGltZXIqIHRpbWVyKQogewog
ICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2Rpc3BhdGNoRGVmZXJyZWRFdmVu
dHNUaW1lcik7CiAgICAgQVNTRVJUKG1fZGVmZXJFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRl
eCAwMmZjZTBiYmJkMjQwMmE2YmU2NjZhZDBhNjg5MTA3NTU3MWFjYTQxLi45OWU5OTNhOTVlOGZi
ZDYwMzZlZTQyN2I4YzFlOWQ3NWFlY2Q4YWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNjAsNyAr
NjAsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzOwogCiAgICAgdmlydHVhbCB2b2lkIGZp
cmVkKCk7Ci0gICAgdm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKFRpbWVyPFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlPiopOworICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2
ZW50cyhUaW1lciopOwogICAgIHZvaWQgZmx1c2hQcm9ncmVzc0V2ZW50KCk7CiAgICAgdm9pZCBk
aXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKIApAQCAtNzcsNyArNzcsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9kZWZlckV2ZW50czsKICAgICBSZWZQdHI8RXZlbnQ+IG1fZGVmZXJy
ZWRQcm9ncmVzc0V2ZW50OwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+PiBtX2RlZmVycmVkRXZl
bnRzOwotICAgIFRpbWVyPFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlPiBtX2Rp
c3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lcjsKKyAgICBUaW1lciBtX2Rpc3BhdGNoRGVmZXJyZWRF
dmVudHNUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94
eS5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5LmgKaW5kZXggODc1ZjdiMWVkNWQ1MzVkZGJiYTg3YTU2ZDMwMWQ4NjM4OTYwZDFh
Yi4uZjQ0MDRlMjU0MjljYTU0NjYyYmYxMWU3ZjZkMzIxYmIxMjNjMjYwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5LmgKQEAgLTI5NSw4ICsyOTUsOCBAQCBwcml2YXRlOgogICAgIE5ldHNj
YXBlUGx1Z2luSG9zdFByb3h5KiBtX3BsdWdpbkhvc3RQcm94eTsKICAgICBXZWJIb3N0ZWROZXRz
Y2FwZVBsdWdpblZpZXcgKm1fcGx1Z2luVmlldzsKIAotICAgIHZvaWQgcmVxdWVzdFRpbWVyRmly
ZWQoV2ViQ29yZTo6VGltZXI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5PiopOwotICAgIFdl
YkNvcmU6OlRpbWVyPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eT4gbV9yZXF1ZXN0VGltZXI7
CisgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOworICAgIFdlYkNv
cmU6OlRpbWVyIG1fcmVxdWVzdFRpbWVyOwogICAgIERlcXVlPFJlZlB0cjxQbHVnaW5SZXF1ZXN0
Pj4gbV9wbHVnaW5SZXF1ZXN0czsKICAgICAKICAgICBIYXNoTWFwPHVpbnQzMl90LCBSZWZQdHI8
SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+PiBtX3N0cmVhbXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkubW0KaW5kZXggNTM4NjFkNTEwZDI3ZjU5NTkwZWMwMTRmMzBhMjE2NWEzYWMyMTQz
OS4uMjI0NTlhNjM0YjdiMTFlODY4MDYwZmNiMmY0YzY5MWU1YmQ4YzA3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzM1LDcgKzczNSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHQoUGx1Z2luUmVxdWVzdCogcGx1Z2lu
UmVxdWVzCiAgICAgfQogfQogCi12b2lkIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVx
dWVzdFRpbWVyRmlyZWQoVGltZXI8TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5PiopCit2b2lk
IE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoVGltZXIqKQog
ewogICAgIEFTU0VSVCghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVCht
X3BsdWdpblZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbS5oIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRz
Y2FwZVBsdWdpblN0cmVhbS5oCmluZGV4IDRjYzI4MzE2MTNmZDY5YTk2NjhiNDZkNTQxMGYzNzA4
M2QwNjJkYWUuLjczYmU1YzQ0NzYxYWEwNTdkODE2Y2VhOTQxNmJiZWI5MDcyYTBlODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFt
LmgKQEAgLTEyMyw4ICsxMjMsOCBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU011dGFibGVV
UkxSZXF1ZXN0PiBtX3JlcXVlc3Q7CiAgICAgTlBQbHVnaW5GdW5jcyAqbV9wbHVnaW5GdW5jczsK
IAotICAgIHZvaWQgZGVsaXZlckRhdGFUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFdlYk5ldHNj
YXBlUGx1Z2luU3RyZWFtPiogdGltZXIpOwotICAgIFdlYkNvcmU6OlRpbWVyPFdlYk5ldHNjYXBl
UGx1Z2luU3RyZWFtPiBtX2RlbGl2ZXJEYXRhVGltZXI7CisgICAgdm9pZCBkZWxpdmVyRGF0YVRp
bWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKKyAgICBXZWJDb3JlOjpUaW1lciBtX2RlbGl2ZXJE
YXRhVGltZXI7CiAgICAgCiAgICAgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0oV2ViQ29yZTo6RnJh
bWVMb2FkZXIqKTsKICAgICBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbShOU1VSTFJlcXVlc3QgKiwg
TlBQLCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5k
ZXggOTM1ZDU1ZWMxNGM4ODVkYmY5ZTg1MTZhZjI0NDZlMjk3YmRlNzNmMC4uYzU5OWY4MDk3NDA1
NGI4YmRjYjhjY2RjNTQyYWZlOTNhMWFkYjVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01NTIsNyArNTUyLDcg
QEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgIH0KIH0K
IAotdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUaW1lckZpcmVkKFdl
YkNvcmU6OlRpbWVyPFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtPiogdGltZXIpCit2b2lkIFdlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIq
IHRpbWVyKQogewogICAgIGRlbGl2ZXJEYXRhKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IDI3MmY1Njc0YTdlZjkwZTczMzhm
YzE3Nzc3YTYxNGMxMDkyMGNhZmEuLjYwNjg4MWNiYzYzZmNjNjcxZTBjNDFkMzRiM2M3ZWFjMjYy
ZWYzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwCkBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
OjpvbktleURvd24oaW50IHZpcnR1YWxLZXkpCiAgICAgfQogfQogCi12b2lkIEZ1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGltZXI8RnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cj4qKQordm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyKikK
IHsKICAgICAvLyBVcGRhdGUgdGhlIHRpbWUgc2xpZGVyCiAgICAgbV90aW1lU2xpZGVyLnNldFZh
bHVlKGN1cnJlbnRUaW1lKCkgLyBkdXJhdGlvbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCAxMzE1NzNmMDA0OGE5M2RjYmMxY2E1ZThk
ODNjZTk0Y2NiZWQwNDM4Li5jN2Y2MWRlM2EwN2Y2NzkwNWQxMzllMjFhNDk1MTA0NzYyYmVhMTMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBA
IC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckhVRFdp
bmRvd0NsYXNzKCk7CiAgICAgc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sgaHVkV25kUHJvYyhIV05E
LCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSwgTFBBUkFNKTsKICAgICB2b2lkIGNyZWF0ZUhVRFdpbmRv
dygpOwotICAgIHZvaWQgdGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyPiopOworICAgIHZvaWQgdGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwogCiAg
ICAgdm9pZCB0b2dnbGVQbGF5KCk7CiAgICAgdm9pZCBkcmF3KCk7CkBAIC0xNzQsNyArMTc0LDcg
QEAgcHJpdmF0ZToKICAgICBIVURXaWRnZXQqIG1faGl0V2lkZ2V0OwogICAgIFdlYkNvcmU6Oklu
dFBvaW50IG1fbW92ZU9mZnNldDsKICAgICBib29sIG1fbW92aW5nV2luZG93OwotICAgIFdlYkNv
cmU6OlRpbWVyPEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXI+IG1fdGltZXI7CisgICAgV2ViQ29y
ZTo6VGltZXIgbV90aW1lcjsKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOGUzZTI1
ODJkNTI4Njc5NDM5OTExYzVkNTkwNDYyNjVmN2VkYzk2Ni4uMmE1MmEwNWRiNjcyMmUxMDExNTQ5
ZGEyMzJkMzU5ODM1OTNhZjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zOTIsNyArMzkyLDcgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0QnVmZmVyaW5nVGltZXJJZk5lZWRlZCgp
CiAgICAgbV9idWZmZXJpbmdUaW1lci5zdGFydE9uZVNob3QobV9wYXJhbWV0ZXJzLm1heGltdW1C
dWZmZXJpbmdUaW1lKTsKIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmJ1ZmZlcmlu
Z1RpbWVyRmlyZWQoVGltZXI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiYpCit2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6YnVmZmVyaW5nVGltZXJGaXJlZChUaW1lciYpCiB7CiAgICAgQVNTRVJU
KG1fYnVmZmVyZWREYXRhKTsKICAgICBBU1NFUlQobV9oYW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5
Y2VlODYxOGMyZTcxZGM3NjE1ZDk1NTJjM2I0OWIzY2YwYTJjNjdiLi45MjlhOGRmYThmMTAxNDI3
YzMwMjAzMzQyZmUzMmQxOGNkMjUwMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApAQCAtMTQ4LDcgKzE0OCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybURpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiAKICAgICB2b2lkIHN0YXJ0QnVmZmVyaW5nVGltZXJJ
Zk5lZWRlZCgpOwotICAgIHZvaWQgYnVmZmVyaW5nVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI+Jik7CisgICAgdm9pZCBidWZmZXJpbmdUaW1lckZpcmVkKFdl
YkNvcmU6OlRpbWVyJik7CiAgICAgdm9pZCBzZW5kQnVmZmVyKFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
ciosIGludCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAKICAgICBib29sIGlzU3luY2hyb25vdXMoKSBj
b25zdDsKQEAgLTE3OCw3ICsxNzgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9kaWRDb25zdW1l
U2FuZGJveEV4dGVuc2lvbnM7CiAgICAgYm9vbCBtX2RlZmVyc0xvYWRpbmc7CiAKLSAgICBXZWJD
b3JlOjpUaW1lcjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+IG1fYnVmZmVyaW5nVGltZXI7CisgICAg
V2ViQ29yZTo6VGltZXIgbV9idWZmZXJpbmdUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IGM1
MmY2NjNiZWM4ODczMTUwNDMwNWM0ZDViZDAwYzAwNDQ4M2NkM2QuLjhmNjVlY2VjYmYxMzMyMTlh
ZTE1YjEwMThkNDU4NGQ0NDRlMmZjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5jcHAKQEAgLTE1NCwxMyArMTU0LDEzIEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxl
cjo6d3JpdGVIZWFkZXJzKCkKICAgICB3cml0ZVRvRmlsZShtX3NhbXBsZUxvZ0ZpbGUsIHV0ZjhT
dHJpbmcuZGF0YSgpLCB1dGY4U3RyaW5nLmxlbmd0aCgpKTsKIH0KIAotdm9pZCBXZWJNZW1vcnlT
YW1wbGVyOjpzYW1wbGVUaW1lckZpcmVkKFRpbWVyPFdlYk1lbW9yeVNhbXBsZXI+KikKK3ZvaWQg
V2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgc2VuZE1l
bW9yeVByZXNzdXJlRXZlbnQoKTsKICAgICBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUo
bV9zYW1wbGVMb2dGaWxlKTsKIH0KIAotdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJG
aXJlZChUaW1lcjxXZWJNZW1vcnlTYW1wbGVyPiopCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0
b3BUaW1lckZpcmVkKFRpbWVyKikKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxl
ci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCA1NDhl
NTA3NTlkMDFiMWYzNThhZjZiMDExOGNjMjBmZTQzODUxZGRhLi5mMGE1ZTBmZDNkNmI5MWQ3OTU1
Yzk1Nzg3YjgwNjU5YzAxOWE1ODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmgKQEAgLTg1LDggKzg1LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVT
YW5kYm94ZWRMb2dGaWxlKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFN0
cmluZyYpOwogICAgIHZvaWQgd3JpdGVIZWFkZXJzKCk7CiAgICAgdm9pZCBpbml0aWFsaXplVGlt
ZXJzKGRvdWJsZSk7Ci0gICAgdm9pZCBzYW1wbGVUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFdl
Yk1lbW9yeVNhbXBsZXI+Kik7Ci0gICAgdm9pZCBzdG9wVGltZXJGaXJlZChXZWJDb3JlOjpUaW1l
cjxXZWJNZW1vcnlTYW1wbGVyPiopOworICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZChXZWJDb3Jl
OjpUaW1lciopOworICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKICAg
ICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0Zm9ybUZp
bGVIYW5kbGUmKTsKICAgICB2b2lkIHNlbmRNZW1vcnlQcmVzc3VyZUV2ZW50KCk7CiAgICAgCkBA
IC05Nyw4ICs5Nyw4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgV2ViQ29yZTo6UGxhdGZvcm1GaWxl
SGFuZGxlIG1fc2FtcGxlTG9nRmlsZTsKICAgICBTdHJpbmcgbV9zYW1wbGVMb2dGaWxlUGF0aDsK
LSAgICBXZWJDb3JlOjpUaW1lcjxXZWJNZW1vcnlTYW1wbGVyPiBtX3NhbXBsZVRpbWVyOwotICAg
IFdlYkNvcmU6OlRpbWVyPFdlYk1lbW9yeVNhbXBsZXI+IG1fc3RvcFRpbWVyOworICAgIFdlYkNv
cmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7
CiAgICAgYm9vbCBtX2lzUnVubmluZzsKICAgICBkb3VibGUgbV9ydW5uaW5nVGltZTsKICAgICBS
ZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggMzlkN2E0ZGY5NDYzYjE4Mjc5ZTljYjkwYWQ1Y2Y2
OWRjMTJkN2JkYi4uNGMwMGE4ZGM2YzAyYmVhMmJhMjQ4OTBlNjdjMGNlYzlmYTNmMjFkZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHdpbGxDb21taXRMYXllclRyZWUoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKTsKICAg
ICB2b2lkIGRpZEZsdXNoTGF5ZXJzKCk7CiAKLSAgICB2b2lkIHZvbGF0aWxpdHlUaW1lckZpcmVk
KFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbj4mKTsKKyAg
ICB2b2lkIHZvbGF0aWxpdHlUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyJik7CiAgICAgYm9vbCBt
YXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKIAogICAg
IHZvaWQgc2NoZWR1bGVWb2xhdGlsaXR5VGltZXIoKTsKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0
ZToKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVudGVkQmFj
a2luZ1N0b3JlOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX3JlYWNo
YWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2g7CiAKLSAgICBXZWJDb3JlOjpUaW1lcjxSZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24+IG1fdm9sYXRpbGl0eVRpbWVyOworICAgIFdl
YkNvcmU6OlRpbWVyIG1fdm9sYXRpbGl0eVRpbWVyOwogCiAgICAgYm9vbCBtX2luTGF5ZXJGbHVz
aDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4IGE0NjRhOWFhYjQzYWQzZDll
YTA1MGI3YzcxZjM2NTNiMmRhOGY5ZjUuLmJhOTEwNjRiZThhY2JmNjQ2NDE2OThjZjlkY2NmZjJl
ZDVmNjA2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0xNjMsNyArMTYzLDcg
QEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtBbGxCYWNraW5n
U3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5SWYKICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJh
Y2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi12b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uPiYpCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXImKQogewogICAgIGJv
b2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCA5ZDQwMDBiMGI1
MzUyNjk2YzViY2VhOGUzMmM2Y2Y5MjYxMGYwM2ZkLi44Nzk4ZmY1ODc2M2E3NDc5Yjg0ZTM4Njc1
ZDVjY2U2MmQyNzhlYWI3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcApAQCAtNTM5LDcgKzUzOSw3IEBAIGlubGluZSBJbnRTaXplIEV3a1ZpZXc6OmRl
dmljZVNpemUoKSBjb25zdAogICAgIHJldHVybiB0b0ludFNpemUoV0tWaWV3R2V0U2l6ZSh3a1Zp
ZXcoKSkpOwogfQogCi12b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKFRpbWVyPEV3a1Zp
ZXc+KikKK3ZvaWQgRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEV3
a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCA1OGYwZTIzMDlmNDhmYTRhZDNmMTQ1MzEx
MzVlN2RjNzdlOWRiMmFjLi45NDk1YjFkYjUxOGJkN2RiMWEyMDUwNjllYTJiNGNkN2M5M2E4Yjgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCkBAIC0yMjEs
NyArMjIxLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpJbnRTaXplIHNpemUoKSBjb25zdDsK
ICAgICBXZWJDb3JlOjpJbnRTaXplIGRldmljZVNpemUoKSBjb25zdDsKIAotICAgIHZvaWQgZGlz
cGxheVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8RXdrVmlldz4qKTsKKyAgICB2b2lkIGRpc3Bs
YXlUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyKik7CiAKICAgICAvLyBFdmFzX1NtYXJ0X0NsYXNz
IGNhbGxiYWNrIGludGVyZmFjZToKICAgICBzdGF0aWMgdm9pZCBoYW5kbGVFdmFzT2JqZWN0QWRk
KEV2YXNfT2JqZWN0Kik7CkBAIC0zMDMsNyArMzAzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
dG91Y2hFdmVudHNFbmFibGVkOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Okdlc3R1cmVS
ZWNvZ25pemVyPiBtX2dlc3R1cmVSZWNvZ25pemVyOwogI2VuZGlmCi0gICAgV2ViQ29yZTo6VGlt
ZXI8RXdrVmlldz4gbV9kaXNwbGF5VGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9kaXNwbGF5
VGltZXI7CiAgICAgUmVmUHRyPEV3a0NvbnRleHRNZW51PiBtX2NvbnRleHRNZW51OwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxFd2tQb3B1cE1lbnU+IG1fcG9wdXBNZW51OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xp
ZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwCmluZGV4IGQyNmZiODA1ZTk5MmY3ZDdkNjE2MmFlZjU1ZjlkOWRlOGE0YWZkNmEu
LjExNGI0ZGYyOTQ5MWFlNTU5YTRhZWU1YmQzNTk0ZDRkMWYzY2Q5NzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCkBA
IC0xMDQsMTIgKzEwNCwxMiBAQCB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVs
bENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZQogICAgIG1fbGFuZ3Vh
Z2VzVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIFRleHRDaGVja2VyQ2xp
ZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKFRpbWVyPFRleHRDaGVja2VyQ2xpZW50
RWZsPiopCit2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZp
cmVkKFRpbWVyKikKIHsKICAgICBtX3RleHRDaGVja2VyRW5jaGFudC0+dXBkYXRlU3BlbGxDaGVj
a2luZ0xhbmd1YWdlcyhtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOwogfQogCi12b2lkIFRleHRD
aGVja2VyQ2xpZW50RWZsOjpzcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyRmlyZWQoVGlt
ZXI8VGV4dENoZWNrZXJDbGllbnRFZmw+KikKK3ZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OnNw
ZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJlZChUaW1lciopCiB7CiAgICAgbV9jbGll
bnRDYWxsYmFja3MuY29udGludW91c19zcGVsbF9jaGVja2luZ19jaGFuZ2UoCiAgICAgICAgIGlz
Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2soMCAvKiBjbGllbnRJbmZvICov
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNs
aWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVu
dEVmbC5oCmluZGV4IGRhZWY1NjIzOGExZTRlZDVjZWVhYmU2YWRiZmVhYzBkNzU3MDAwMDQuLjFl
M2NlOGM4MjA5N2Q0MWU5ZjMxYjJhNjIyZmFmZmIyMGIyYTU5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmgKQEAgLTU1LDE0
ICs1NSwxNCBAQCBwcml2YXRlOgogICAgIFRleHRDaGVja2VyQ2xpZW50RWZsKCk7CiAKICAgICAv
LyBUbyBzZXQgbGFuZ3VhZ2VzIG9uIHRpbWVyLgotICAgIHZvaWQgbGFuZ3VhZ2VzVXBkYXRlVGlt
ZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNsaWVudEVmbD4qKTsKLSAgICBXZWJD
b3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNsaWVudEVmbD4gbV9sYW5ndWFnZXNVcGRhdGVUaW1lcjsK
KyAgICB2b2lkIGxhbmd1YWdlc1VwZGF0ZVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXIqKTsKKyAg
ICBXZWJDb3JlOjpUaW1lciBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyOwogICAgIFZlY3RvcjxTdHJp
bmc+IG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlczsKIAogICAgIC8vIFRvIG5vdGlmeSB0aGUgY2xp
ZW50IGFib3V0IHRoZSBzZXR0aW5nIGNoYW5nZSBvbiB0aW1lci4KLSAgICB2b2lkIHNwZWxsQ2hl
Y2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxUZXh0Q2hlY2tlckNs
aWVudEVmbD4qKTsKKyAgICB2b2lkIHNwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXJGaXJl
ZChXZWJDb3JlOjpUaW1lciopOwogICAgIHZvaWQgY2FsbENvbnRpbnVvdXNTcGVsbENoZWNraW5n
Q2hhbmdlQ2FsbGJhY2tBc3luYygpOwotICAgIFdlYkNvcmU6OlRpbWVyPFRleHRDaGVja2VyQ2xp
ZW50RWZsPiBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXI7CisgICAgV2ViQ29yZTo6
VGltZXIgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyOwogCiAgICAgLy8gV0tUZXh0
Q2hlY2tlckNsaWVudCBjYWxsYmFja3MuCiAgICAgc3RhdGljIGJvb2wgaXNDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjayhjb25zdCB2b2lkKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCBi
MDY2MTk0YmQwMzkzMWFlOTU4NmQzNjFmNDFiMmU2Y2UzMjg3ZDkwLi5mOWI0OTBkZGE2NmExNmRl
MGZlNzI5ZTAxNDc5OTU2OTFlNTg0YWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTIyMiw3ICsyMjIsNyBA
QCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1
c2goKQogICAgIH0KIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1
c2hUaW1lckZpcmVkKFRpbWVyPENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdD4qKQordm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVkKFRpbWVyKikKIHsKICAg
ICBwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCBlMmNhOWMwYmZl
YzY1MzcxNzMyODAxN2E4YWZiODc3OTA2ZDkzMmJlLi5lZjM1NzcxMzM2OWM1OTM3MWVjYzIzNThl
MmQ3YTVlMDA0MjQwNTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7CiAgICAgdm9pZCBjb21taXRTY3JvbGxPZmZzZXQo
dWludDMyX3QgbGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KTsKIAotICAg
IHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0PiopOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGlt
ZXIqKTsKIAogICAgIHZvaWQgdXBkYXRlUm9vdExheWVycygpOwogCkBAIC0xMDUsNyArMTA1LDcg
QEAgcHJpdmF0ZToKIAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0Owog
Ci0gICAgV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiBtX2xheWVyRmx1
c2hUaW1lcjsKKyAgICBXZWJDb3JlOjpUaW1lciBtX2xheWVyRmx1c2hUaW1lcjsKICAgICBib29s
IG1fbGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkOwogICAgIHVpbnQ2NF90IG1fZm9yY2VSZXBh
aW50QXN5bmNDYWxsYmFja0lEOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgK
aW5kZXggNTY1NzU2MjZiYzYxYWE5ODgzMzM3Zjc4MTNjY2EzMTIxMmM5MDNiNy4uYTNhZTAyMjNi
ZjQ5NDEzZDdjY2Y2ZjM5MWE1ZmU5MzY2OTc1NWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEuaApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRh
dGVTY3JvbGxlZEV4cG9zZWRSZWN0KCk7CiAgICAgdm9pZCB1cGRhdGVSb290TGF5ZXJzKCk7CiAK
LSAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhPiopOworICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29y
ZTo6VGltZXIqKTsKICAgICB2b2lkIGZsdXNoTGF5ZXJzKCk7CiAKICAgICBXZWJDb3JlOjpUaWxl
ZEJhY2tpbmcqIG1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0OwpAQCAtMTQ0LDcgKzE0NCw3
IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fZXhwb3NlZFJlY3Q7CiAgICAg
V2ViQ29yZTo6RmxvYXRSZWN0IG1fc2Nyb2xsZWRFeHBvc2VkUmVjdDsKIAotICAgIFdlYkNvcmU6
OlRpbWVyPFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhPiBtX2xheWVyRmx1c2hUaW1lcjsKKyAg
ICBXZWJDb3JlOjpUaW1lciBtX2xheWVyRmx1c2hUaW1lcjsKICAgICBib29sIG1faXNGbHVzaGlu
Z1N1c3BlbmRlZDsKICAgICBib29sIG1faGFzRGVmZXJyZWRGbHVzaDsKICAgICBib29sIG1faXNU
aHJvdHRsaW5nTGF5ZXJGbHVzaGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEu
bW0KaW5kZXggOTMyNWE1MTc3MmU1OTczZDNmZjJiMTBjYjU1OWUwMmZjZjNkZGUwMC4uYWNjMmVm
NGUwYzNlMjU1ZDU4MmNmYjcxYTYxMDQyNDI3MDBjYzVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhLm1tCkBAIC0zMTMsNyArMzEzLDcgQEAgYm9vbCBSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYTo6YWRqdXN0TGF5ZXJGbHVzaFRocm90dGxpbmcoV2ViQ29yZTo6TGF5ZXJG
bHVzaFQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE+KikKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmxheWVyRmx1
c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyKikKIHsKICAgICBmbHVzaExheWVycygpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNDdhNGQ4ZmY4MTA4
YTdkYzMyMjExODg4MDBkYzRkNmQwODQzNTgyMS4uNzdjN2E3ZDRjZmQ5MmQxODI3YmY0NjVhMGY0
OWMwZWE5MjMwMzRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMTg4LDcgKzExODgsNyBAQCBib29sIFdlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xh
dGlsZUlmUG9zc2libGUoKQogICAgIHJldHVybiBzdWNjZXNzZnVsbHlNYXJrZWRBbGxMYXllcnNW
b2xhdGlsZTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzU3VzcGVuc2lvbkNsZWFudXBU
aW1lckZpcmVkKFRpbWVyPFdlYlByb2Nlc3M+KiB0aW1lcikKK3ZvaWQgV2ViUHJvY2Vzczo6cHJv
Y2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXJGaXJlZChUaW1lciogdGltZXIpCiB7CiAgICAgaWYg
KG1hcmtBbGxMYXllcnNWb2xhdGlsZUlmUG9zc2libGUoKSkgewogICAgICAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NS
ZWFkeVRvU3VzcGVuZCgpLCAwKTsKQEAgLTEyMTAsNyArMTIxMCw3IEBAIHZvaWQgV2ViUHJvY2Vz
czo6cGFnZVdpbGxMZWF2ZVdpbmRvdyh1aW50NjRfdCBwYWdlSUQpCiAgICAgICAgIG1fbm9uVmlz
aWJsZVByb2Nlc3NDbGVhbnVwVGltZXIuc3RhcnRPbmVTaG90KG5vblZpc2libGVQcm9jZXNzQ2xl
YW51cERlbGF5KTsKIH0KICAgICAKLXZvaWQgV2ViUHJvY2Vzczo6bm9uVmlzaWJsZVByb2Nlc3ND
bGVhbnVwVGltZXJGaXJlZChUaW1lcjxXZWJQcm9jZXNzPiopCit2b2lkIFdlYlByb2Nlc3M6Om5v
blZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyRmlyZWQoVGltZXIqKQogewogICAgIEFTU0VSVCht
X3BhZ2VzSW5XaW5kb3dzLmlzRW1wdHkoKSk7CiAgICAgaWYgKCFtX3BhZ2VzSW5XaW5kb3dzLmlz
RW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggODhjNTgx
YTRlOTJkOGY3YzA2NDAyOTZhZmQxNjE1OGFhYjJkNDdlOC4uNDk4OTFmZTRkNDY4MDUzYmIyZjMy
Y2U4NjJlMmIxNGNiNTViN2ViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWdlRGlkRW50ZXJXaW5k
b3codWludDY0X3QgcGFnZUlEKTsKICAgICB2b2lkIHBhZ2VXaWxsTGVhdmVXaW5kb3codWludDY0
X3QgcGFnZUlEKTsKIAotICAgIHZvaWQgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXJGaXJl
ZChXZWJDb3JlOjpUaW1lcjxXZWJQcm9jZXNzPiopOworICAgIHZvaWQgbm9uVmlzaWJsZVByb2Nl
c3NDbGVhbnVwVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lciopOwogCiAgICAgdm9pZCB1cGRhdGVB
Y3RpdmVQYWdlcygpOwogCkBAIC0xODQsNyArMTg0LDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJv
Y2Vzc1dpbGxTdXNwZW5kKCk7CiAgICAgdm9pZCBjYW5jZWxQcm9jZXNzV2lsbFN1c3BlbmQoKTsK
ICAgICBib29sIG1hcmtBbGxMYXllcnNWb2xhdGlsZUlmUG9zc2libGUoKTsKLSAgICB2b2lkIHBy
b2Nlc3NTdXNwZW5zaW9uQ2xlYW51cFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8V2ViUHJvY2Vz
cz4qKTsKKyAgICB2b2lkIHByb2Nlc3NTdXNwZW5zaW9uQ2xlYW51cFRpbWVyRmlyZWQoV2ViQ29y
ZTo6VGltZXIqKTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICB2b2lkIHJlc2V0QWxsR2VvbG9j
YXRpb25QZXJtaXNzaW9ucygpOwpAQCAtMzA2LDcgKzMwNiw3IEBAIHByaXZhdGU6CiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIFJlZlB0cjxWaWV3VXBkYXRlRGlzcGF0Y2hlcj4gbV92aWV3VXBkYXRl
RGlzcGF0Y2hlcjsKICNlbmRpZgotICAgIFdlYkNvcmU6OlRpbWVyPFdlYlByb2Nlc3M+IG1fcHJv
Y2Vzc1N1c3BlbnNpb25DbGVhbnVwVGltZXI7CisgICAgV2ViQ29yZTo6VGltZXIgbV9wcm9jZXNz
U3VzcGVuc2lvbkNsZWFudXBUaW1lcjsKIAogICAgIGJvb2wgbV9pbkRpZENsb3NlOwogCkBAIC0z
NjAsNyArMzYwLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSGFzaFNldDx1aW50NjRfdD4g
bV9wYWdlc0luV2luZG93czsKLSAgICBXZWJDb3JlOjpUaW1lcjxXZWJQcm9jZXNzPiBtX25vblZp
c2libGVQcm9jZXNzQ2xlYW51cFRpbWVyOworICAgIFdlYkNvcmU6OlRpbWVyIG1fbm9uVmlzaWJs
ZVByb2Nlc3NDbGVhbnVwVGltZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViT3JpZ2luRGF0
YU1hbmFnZXI+IG1fd2ViT3JpZ2luRGF0YU1hbmFnZXI7CiB9Owo=
</data>
<flag name="review"
          id="265936"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>