<?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>170656</bug_id>
          
          <creation_ts>2017-04-09 10:12:02 -0700</creation_ts>
          <short_desc>Drop Timer::startRepeating() overload taking a double</short_desc>
          <delta_ts>2017-04-10 22:46:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=170659</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295812</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 10:12:02 -0700</bug_when>
    <thetext>Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295813</commentid>
    <comment_count>1</comment_count>
      <attachid>306624</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 10:14:29 -0700</bug_when>
    <thetext>Created attachment 306624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295814</commentid>
    <comment_count>2</comment_count>
      <attachid>306625</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 10:29:07 -0700</bug_when>
    <thetext>Created attachment 306625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295816</commentid>
    <comment_count>3</comment_count>
      <attachid>306626</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 10:51:58 -0700</bug_when>
    <thetext>Created attachment 306626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295830</commentid>
    <comment_count>4</comment_count>
      <attachid>306626</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 14:11:43 -0700</bug_when>
    <thetext>Comment on attachment 306626
Patch

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

r=me with nits

&gt; Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:91
&gt; +        m_requestFrameTimer.startRepeating(Seconds { 1. / m_frameRequestRate.value() });

I like `1_s / m_frameRequestRate.value()` rather.

&gt; Source/WebCore/page/Frame.cpp:124
&gt; +const Seconds scrollFrequency { 1000 / 60. };

Ditto. I think `1000_s / 60` is more descriptive.

&gt; Source/WebCore/page/WheelEventTestTrigger.cpp:63
&gt; +        m_testTriggerTimer.startRepeating(Seconds { 1. / 60 });

Ditto.

&gt; Source/WebCore/platform/cocoa/ScrollController.mm:389
&gt; +    m_snapRubberbandTimer.startRepeating(Seconds { 1. / 60 });

Ditto.

&gt; Source/WebCore/platform/cocoa/ScrollController.mm:565
&gt; +    m_scrollSnapTimer.startRepeating(Seconds { 1. / 60 });

Ditto.

&gt; Source/WebCore/rendering/RenderMarquee.cpp:171
&gt; +    m_timer.startRepeating(Seconds { speed() * 0.001 });

I think `1_ms * speed()` is better.

&gt; Source/WebCore/rendering/RenderMarquee.cpp:233
&gt; +            m_timer.startRepeating(Seconds { speed() * 0.001 });

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295833</commentid>
    <comment_count>5</comment_count>
      <attachid>306626</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-09 14:34:01 -0700</bug_when>
    <thetext>Comment on attachment 306626
Patch

I agree with the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295834</commentid>
    <comment_count>6</comment_count>
      <attachid>306631</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 14:35:16 -0700</bug_when>
    <thetext>Created attachment 306631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295835</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 14:35:56 -0700</bug_when>
    <thetext>Yes, much nicer indeed. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295840</commentid>
    <comment_count>8</comment_count>
      <attachid>306632</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 14:51:05 -0700</bug_when>
    <thetext>Created attachment 306632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295841</commentid>
    <comment_count>9</comment_count>
      <attachid>306633</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 15:22:26 -0700</bug_when>
    <thetext>Created attachment 306633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295842</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-09 15:44:35 -0700</bug_when>
    <thetext>I think annotating Seconds&apos; members &amp; operators with constexpr will solve the compiling issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295843</commentid>
    <comment_count>11</comment_count>
      <attachid>306634</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 15:49:35 -0700</bug_when>
    <thetext>Created attachment 306634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295844</commentid>
    <comment_count>12</comment_count>
      <attachid>306635</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 15:58:57 -0700</bug_when>
    <thetext>Created attachment 306635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295848</commentid>
    <comment_count>13</comment_count>
      <attachid>306635</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 16:42:07 -0700</bug_when>
    <thetext>Comment on attachment 306635
Patch

Clearing flags on attachment: 306635

Committed r215167: &lt;http://trac.webkit.org/changeset/215167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295849</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-09 16:42:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296242</commentid>
    <comment_count>15</comment_count>
      <attachid>306635</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-04-10 18:35:50 -0700</bug_when>
    <thetext>Comment on attachment 306635
Patch

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

&gt; Source/WebCore/rendering/RenderThemeGtk.cpp:1817
&gt; -    return time / 2000.;
&gt; +    return 2_ms * time;

That’s not right. It should be be 1/2 ms, not 2 ms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296254</commentid>
    <comment_count>16</comment_count>
      <attachid>306769</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-10 19:38:00 -0700</bug_when>
    <thetext>Created attachment 306769
Follow-up fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296255</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-10 19:38:22 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #15)
&gt; Comment on attachment 306635 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=306635&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderThemeGtk.cpp:1817
&gt; &gt; -    return time / 2000.;
&gt; &gt; +    return 2_ms * time;
&gt; 
&gt; That’s not right. It should be be 1/2 ms, not 2 ms.

Thank you, will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296256</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-10 19:46:58 -0700</bug_when>
    <thetext>Reopen to fix bad change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296272</commentid>
    <comment_count>19</comment_count>
      <attachid>306769</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-04-10 21:30:47 -0700</bug_when>
    <thetext>Comment on attachment 306769
Follow-up fix

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

r=me

&gt; Source/WebCore/rendering/RenderThemeGtk.cpp:1817
&gt; +    return 1_ms * time / 2.;

`500_ns * time` could be simpler, but the both are ok to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296289</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-10 22:43:13 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #19)
&gt; Comment on attachment 306769 [details]
&gt; Follow-up fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=306769&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderThemeGtk.cpp:1817
&gt; &gt; +    return 1_ms * time / 2.;
&gt; 
&gt; `500_ns * time` could be simpler, but the both are ok to me.

Assuming you mean 500_us * time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296290</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-10 22:46:37 -0700</bug_when>
    <thetext>Committed r215218: &lt;http://trac.webkit.org/changeset/215218&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306624</attachid>
            <date>2017-04-09 10:14:29 -0700</date>
            <delta_ts>2017-04-09 10:29:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409101428.patch</filename>
            <type>text/plain</type>
            <size>37612</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uYWVhZGU1YzQ5YzkxNTYxNjQ3M2E4NmJkYmVkMzQy
YTkyZWE5YmYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkg
b3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlw
ZSBub3cuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc0NhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrOjpTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAgICogZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6
dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1l
ZGlhQ29udHJvbGxlcik6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6c2hv
d1BhaW50UmVjdCk6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6CisgICAg
ICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFnZS9GcmFt
ZS5jcHA6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAgICAgKiBwYWdlL1N1c3Bl
bmRhYmxlVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFj
a0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBS
dWJiZXJiYW5kVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c3Rh
cnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92
YWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWM6OnJlY29uZmlndXJlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpyZW5kZXJJbnRlcnZhbCk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWFycXVlZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFy
cXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCBkMWI2ZDRmNTU1NzliMzVjZGI2MmE0ODQ3Y2Y4ODJkYWUwMzgwNmQzLi44YzlmOWU2Nzhm
YTgxMGUyM2YwMTVmNGZjMjIyMTEyNTMwZjdmM2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTcgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVv
cGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAgICAqIFBsdWdpbnMvV2Vi
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoUGx1Z2luVGltZXI6OnN0YXJ0KToKKwor
MjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0
YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDQ3ZDczYWZlNzFjMDg4NTY4MTg4NWQzMmJjZjg3YzNmYjMyNWU2ZjguLjI1MWViM2Ji
N2QwYjA4NmU1NjMyZTIzNzk1NDQ3YjE1MzFkMjc0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNiBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEg
ZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzA2NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBw
ZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3
aXRoIGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZl
N2NjZWE1MGE5Li5kNWQ3NzBhM2EwMDczYTA4NzIyYjI4MTM3MzNhMTExNWVmODU5NTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJs
b2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVt
b3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0hpZ2hQZXJm
b3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGVy
QWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNl
SW5hY3RpdmVBdGxhc2VzKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGgg
ZG91YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzA2NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAzMDA5
NjcyYjEwMzc3YjE1MDI5ZGM0OTBiYjExNWM0NjEyOTU2YmMwLi5mOWUzZDFiMjhmZjdiMWZiODQx
NjE3ODlhZDY2M2I0MDg1NjBjODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrOjpTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChtX2ZyYW1lUmVxdWVzdFJhdGUudmFsdWUoKSkKLSAgICAgICAgbV9yZXF1ZXN0RnJhbWVU
aW1lci5zdGFydFJlcGVhdGluZygxLiAvIG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKTsKKyAg
ICAgICAgbV9yZXF1ZXN0RnJhbWVUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgMS4gLyBt
X2ZyYW1lUmVxdWVzdFJhdGUudmFsdWUoKSB9KTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVk
aWFTdHJlYW1UcmFjazo6U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3
NWUxNTMzYzg5ZDIwNWRiZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgw
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3
LDcgKzIwNTcsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAg
ICAvLyBTdGFydCBibGlua2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJl
c3RhcnQgaWYgd2UncmUKICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2Nh
dGlvbi4KICAgICBpZiAoc2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZl
KCkpIHsKLSAgICAgICAgaWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgp
LT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlu
a0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgp
KQogICAgICAgICAgICAgbV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRl
cnZhbCk7CiAKICAgICAgICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJi
ZGQ1OGZiYTY2NmUuLjRkNjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQw
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAK
ICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBt
X3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVz
c0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFF
bGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRv
IGZpcmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWlu
ZykgZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVu
Y3kKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4y
NTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1
MF9tcyB9OwogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1Rp
bWVyKCkKIHsKQEAgLTM1NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxh
eWJhY2tQcm9ncmVzc1RpbWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVk
dWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAt
IG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVy
aW9kaWMgZXZlbnRzCiAgICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGlt
ZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAppbmRleCA3MTZkMjg2NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJm
ZTg5MDhmNmRlOWI4YTc2ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91Ymxl
IG1fcGxheWJhY2tTdGFydGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0
aW1ldXBkYXRlIGV2ZW50IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAg
IGRvdWJsZSBtX2Nsb2NrVGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25p
Y1RpbWUgbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRp
bWUgYSB0aW1ldXBkYXRlIGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFU
aW1lIG1fbGFzdFRpbWVVcGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVl
ZmU4NTQ1Li42ZTM0NjVjYjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlh
Q29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCiAgICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1Rp
bWV1cGRhdGVUaW1lKDApCiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29u
dHJvbGxlcjo6cmV0dXJuVG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBw
ZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVy
eQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3Rh
dGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07
CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02
NzYsOCArNjc1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVy
KCkKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsK
LSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91
YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRl
bHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0
YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUz
ODM4NDAzMTc2M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVy
IG1fdGltZXVwZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7
CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBt
X3Jlc2V0Q3VycmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRm
ODFiNTY2MzkzYTEwOGQxYjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJl
YWU2Mzg3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07
CiAKIHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1M
TWVkaWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5D
b250ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1
cnBvc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3Bw
CmluZGV4IDVmMTc4YTc2ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3
MDk2ZDMyNzBmZDFjNjMwMDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIElu
c3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAg
IG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7
CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAg
ICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwot
ICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNV
cGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNV
cGRhdGVJbnRlcnZhbCB7IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIu
c3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBk
cmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cAppbmRleCBmZTBjNzIyOWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5
MWYyMjk1MDg2YmIyM2ZjYzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91
YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFs
dWUKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9
IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBv
ZnRlbi4KLXN0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAu
MTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBf
bXMgfTsKIAogLy8gSG93IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVz
cyBiZWZvcmUgZGVjaWRpbmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVl
ZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQy
NmY0NWQ4N2U1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xs
ZXIuY3BwCkBAIC00NCw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRp
bWUgaW4gc2Vjb25kIGZvciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVy
IGVkZ2Ugb2Ygc2Nyb2xsYWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Ny
b2xsRGVsYXkgPSAwLjI7CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9s
bCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQg
c21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7Cisv
LyBXaGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4g
ZG8gdGhlIHNjcm9sbCBldmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgYXV0b3Njcm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5f
U0NST0xMSU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAppbmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRj
OTA3Li45NTQ5MjBjNzQxMWYxMWRhYzBkYjQ0ZjRhZjI2Y2EzZjJhZWU0MWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25l
ZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjA7Citjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1
ZW5jeSB7IDEwMDAgLyA2MC4gfTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwo
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggMmNhODZmOTgyODA4MTYzNzg0ZjJhYjdm
YTQzZWVlYmJlZTM3OTVmOC4uMDc2Yzg4MzlkYjQyYjkzY2MwNmU5YzA0YzFiZWNmYjgzYWUzMjRl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTI1MCw3ICsyNTAsNyBAQCB2
b2lkIFBhZ2VPdmVybGF5OjpzdG9wRmFkZU91dEFuaW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5
OjpzdGFydEZhZGVBbmltYXRpb24oKQogewogICAgIG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9
IGN1cnJlbnRUaW1lKCk7Ci0gICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmco
MSAvIGZhZGVBbmltYXRpb25GcmFtZVJhdGUpOworICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyAxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSB9KTsKIH0K
IAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCAxNWViNzNmMjJjNzcwMDIwYmQ1YzdlNTQw
MmZlMTAwNmVkYTVhYTVjLi4zMTI5MjA4ZmU1NWRjYTBkMDk4NTVjOWUyM2UxZWI3NzEzMTQzNGZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDUsNyArNDUsNiBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSB8fCAobV9zdXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJv
b2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmco
U2Vjb25kcyB7IHJlcGVhdEludGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91
YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KIAog
ICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJlM2YwMzUy
M2RmNGI1OTdiY2UzNzYwYzc1Li41YTY1ZTBkMTc2ZWUzODA2MmJmNjkyNDQwZGRjYTkwYzFiOGQ1
MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3Bw
CkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRUZXN0Q2Fs
bGJhY2tBbmRTdGFydE5vdGlmaWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQogICAgIAog
ICAgIGlmICghbV90ZXN0VHJpZ2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGVzdFRy
aWdnZXJUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90ZXN0VHJp
Z2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyAxLiAvIDYwIH0pOwogfQogCiB2b2lk
IFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJl
YUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWUuaAppbmRleCAzMTRhOGRmNzU5MDk5MTUzOTI3NWFhZDRhMzlkZDli
NmM4ZWE2ZTBiLi5hNjU5NDAyN2E5OWVmMmNjOGVhYTcyYzFlY2YxMDQ0MDFjNzg1ZWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgRm9udENhc2NhZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNv
bnN0IHsgcmV0dXJuIEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUg
Y2FyZXQgYmxpbmtzIGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0Qmxp
bmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBj
YXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7IH0KIAogICAgIC8vIE5v
dGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0
aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDU1ZjJmMjRiN2Zm
NmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFkZjYuLjA1MTc0YjRmMTRiMzY4MmU4ZDdiZGNmYTM0
NWM4NDZhOGY5NmI1MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtNTQsNyArNTQsNiBA
QCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVw
ZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsg
cmVwZWF0SW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQog
CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChT
ZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IGUwYmE4MGY5Y2E4ZDU1NWI1ODdjYjEwMTQx
NjkzZTRjMzE2ZGZkZTQuLmExMzFjMDA5MDZhZWRjOGMzNWU3NGExNWQ0MGUzZDU4ODYzYzcwMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbQpAQCAtMzg2LDcgKzM4Niw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxT
bmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVy
KCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjAp
OworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgMS4g
LyA2MCB9KTsKIAogICAgIG1fY2xpZW50LmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRf
Y2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhp
cyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6UnViYmVyYmFuZEluUHJvZ3Jlc3MpOwogfQpAQCAt
NTYyLDcgKzU2Miw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGlt
ZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKICAg
ICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgeyAxLiAvIDYwIH0pOwogfQogCiB2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnN0b3BTY3JvbGxTbmFwVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDhhOTBjMmJkYmFkNDhjMTQ1YTU4YTkxODY0
YzAwZmMzNzBlMzljMzcuLmI4NDk2YjE5ZTJmNGFjZmJiMGE2ZDRiOWNkZjY5NzI1NmM2ZDg4NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5j
cHAKQEAgLTUyMyw3ICs1MjMsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6b2xk
ZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVt
b3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSAx
OworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyB7IDFfcyB9Owog
CiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5v
dyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIu
aXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKaW5kZXggNTVhOGQzODRkZTVlY2U5YmZmMjgxNzAxNWU1ZTczYjAzZWM5MjRkYS4uMDQ2
NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2FmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NDksNyArMTk0OSw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygp
CiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcg
b24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0
KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9m
aWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRS
ZXBlYXRpbmcoMjAwX21zKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVCVUcoIkRpc2Fi
bGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGlu
ZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRp
bWVBdWRpb1NvdXJjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQppbmRleCA3YWI0MzgzNjRmMWU3NTYy
ZWE2ODgxMDFmM2RiNGQ5ZTE2ZWU5YzJjLi5jZTRkYWJiMzhlYmU4ODg4ZjNjYzAzN2ZmZjUzYWZh
NzRiMGI5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6ZW1pdFNh
bXBsZUJ1ZmZlcnModWludDMyX3QgZnJhbWVDb3VudCkKIAogdm9pZCBNb2NrUmVhbHRpbWVBdWRp
b1NvdXJjZU1hYzo6cmVjb25maWd1cmUoKQogewotICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0g
V1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkgLyAxMDAwLiAqIHNhbXBs
ZVJhdGUoKSAqIDIpOworICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0gV1RGOjpyb3VuZFVwVG9Q
b3dlck9mVHdvKHJlbmRlckludGVydmFsKCkuc2Vjb25kcygpICogc2FtcGxlUmF0ZSgpICogMik7
CiAgICAgQVNTRVJUKG1fbWF4aW1pdW1GcmFtZUNvdW50KTsKIAogICAgIGNvbnN0IGludCBieXRl
c1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAppbmRleCBiZTZiZGJm
YmVlYTVhMGZhMmQ2MDgwNDdiOTI4OTE3NDRjMGU3NGY0Li5jNjRjNjQwZjE1YmFiNmRkYWYxMGUx
ZmY0MzY4YWI5Mjk1YTM5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBA
IHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAg
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwogCiAgICAgbV9z
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0
YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMocmVuZGVySW50ZXJ2YWwoKSkp
OworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcocmVuZGVySW50ZXJ2YWwoKSk7CiB9CiAKIHZv
aWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aAppbmRleCBkODgxNGEzNWJmZGVkNmY4ODM5NTExMjViOWU5MWU1NzQ1YjFjZmU0Li4xMzMxYzc5
MTgxNDRlNmU5NmZjMmFmNDI1N2JmYzJlNzFmY2Q4ZTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oCkBAIC01OCw3
ICs1OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGRvdWJsZSkgeyB9
CiAKICAgICBkb3VibGUgZWxhcHNlZFRpbWUoKTsKLSAgICBzdGF0aWMgaW50IHJlbmRlckludGVy
dmFsKCkgeyByZXR1cm4gNjA7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyByZW5kZXJJbnRlcnZhbCgp
IHsgcmV0dXJuIDYwX21zOyB9CiAKIHByaXZhdGU6CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXggMzNm
YmIxN2I5MTRmNmNlZDFiOTk4YjM4MjA5OGRiN2Y3Yzg3NmQyMS4uYzFhYjYwYTg4YjIxYzlkMjdh
NThmYmJhMTJhYTVkYWM2YzNjNDBjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTEwMSw3ICsxMDEs
NyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKQog
ICAgIH0KIAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxy
b3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhT
ZWNvbmRzKGxyb3VuZCgxLiAvIGZyYW1lUmF0ZSgpKSkpOwogfQogCiB2b2lkIE1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9p
ZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENvbnN0cmFpbnRz
KFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5
RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhs
cm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vj
b25kcyhscm91bmQoMS4gLyByYXRlKSkpOwogCiAgICAgdXBkYXRlU2FtcGxlQnVmZmVyKCk7CiAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5j
cHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uNWIwN2Nh
YjUwNWJmNjQzM2U1NjBmOGU5MDliNTUxMWU0NjljNDU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVuZGVy
TWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAKLSAg
ICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzIHsgc3BlZWQoKSAqIDAuMDAxIH0pOwogfQogCiB2b2lkIFJl
bmRlck1hcnF1ZWU6OnN1c3BlbmQoKQpAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgUmVuZGVyTWFy
cXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKCkKICAgICBpZiAoc3BlZWQoKSAhPSBtYXJxdWVlU3Bl
ZWQoKSkgewogICAgICAgICBtX3NwZWVkID0gbWFycXVlZVNwZWVkKCk7CiAgICAgICAgIGlmICht
X3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNw
ZWVkKCkgKiAwLjAwMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMgeyBzcGVlZCgpICogMC4wMDEgfSk7CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIHRoZSBs
b29wIGNvdW50IHRvIHNlZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDEyMjI3MWU3ZDdkNjA5ZDc3MTM0NTBlNDcxY2VmNDkw
YmNiOWNmOWEuLjcxZDE2NWExMDhkNjE4MDM2ZWNmMzNlMGIxYWQyYTIxOWI5MTBhODAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0xNzgsNyArMTc4LDcgQEAgcHVi
bGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7
CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qg
eyByZXR1cm4gNTAwX21zOyB9CiAKICAgICAvLyBTeXN0ZW0gZm9udHMgYW5kIGNvbG9ycyBmb3Ig
Q1NTLgogICAgIHZvaWQgc3lzdGVtRm9udChDU1NWYWx1ZUlELCBGb250Q2FzY2FkZURlc2NyaXB0
aW9uJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNw
cAppbmRleCBmNTYwMDAwOTY2NDQ3MWM5ZTdkNDU3YmJhZTYzNjc2NjIzZmJjY2M3Li4zN2VkZWU5
OGU5YTI0Zjk0ZTA0NTgwYzhiMzg0ODEwNDBiZWNhZDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKQEAgLTE4MDIsNyArMTgwMiw3IEBAIGJvb2wgUmVu
ZGVyVGhlbWVHdGs6OnBhaW50SW5uZXJTcGluQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVu
ZGVyT2JqZWN0LCBjb25zCiB9CiAjZW5kaWYgLy8gR1RLX0NIRUNLX1ZFUlNJT04oMywgMjAsIDAp
CiAKLWRvdWJsZSBSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QKK1Nl
Y29uZHMgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAg
R3RrU2V0dGluZ3MqIHNldHRpbmdzID0gZ3RrX3NldHRpbmdzX2dldF9kZWZhdWx0KCk7CiAKQEAg
LTE4MTIsOSArMTgxMiw5IEBAIGRvdWJsZSBSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVy
dmFsKCkgY29uc3QKICAgICBnX29iamVjdF9nZXQoc2V0dGluZ3MsICJndGstY3Vyc29yLWJsaW5r
IiwgJnNob3VsZEJsaW5rLCAiZ3RrLWN1cnNvci1ibGluay10aW1lIiwgJnRpbWUsIG51bGxwdHIp
OwogCiAgICAgaWYgKCFzaG91bGRCbGluaykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJl
dHVybiAwX3M7CiAKLSAgICByZXR1cm4gdGltZSAvIDIwMDAuOworICAgIHJldHVybiBTZWNvbmRz
IHsgdGltZSAvIDIwMDAuIH07CiB9CiAKIGVudW0gU3R5bGVDb2xvclR5cGUgeyBTdHlsZUNvbG9y
QmFja2dyb3VuZCwgU3R5bGVDb2xvckZvcmVncm91bmQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggOTE3MjM0NTVmNzczY2EyNzUzZDg2MWFjMzc3YmJm
MjU5Zjk5YThiZS4uN2I4MmQ5MzE0NjQ0NGZkNGVmZWU1NjE0ZTVjMTFkNzZkYjFlZDgxMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKQEAgLTgxLDcgKzgxLDcg
QEAgcHVibGljOgogICAgIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFj
a2dyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQ29sb3IgcGxhdGZvcm1JbmFjdGl2
ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZTsKKyAgICBTZWNvbmRz
IGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBwbGF0Zm9y
bUNvbG9yc0RpZENoYW5nZSgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAppbmRleCBh
NWVhOTMyYjc0OTVlOWVkZGQwNGU2Y2M2OGNjZTNkNzgzNWI3YTdlLi5hNzc2NmRmYmRiOTFlMjNi
MDVjNmI1ZWY5ZDIyMWE4MjAzMDM2MGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKQEAgLTMzLDcg
KzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hp
bmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCitj
b25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVt
UHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgeyA1MF9tcyB9OyAvLyA1MCBtcyBwZXIg
c3BlY2lmaWNhdGlvbi4KIAogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OlhN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiAg
ICAgOiBtX3RhcmdldCh0YXJnZXQpCkBAIC03MywxMiArNzMsMTIgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50
KGJvb2wgbGUKICAgICAgICAgQVNTRVJUKCFtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQpOwog
CiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIGxlbmd0aENvbXB1dGFibGUsIGxvYWRlZCwg
dG90YWwpKTsKLSAgICAgICAgc3RhcnRSZXBlYXRpbmcobWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgc3RhcnRSZXBlYXRpbmcobWluaW11
bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsKTsKICAgICAgICAgbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAv
LyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28gbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsSW5TZWNvbmRzIGlzIHRoZSBsZWFzdCBmcmVxdWVudCBldmVudC4KKyAg
ICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28gbWluaW11bVByb2dyZXNzRXZlbnRE
aXNwYXRjaGluZ0ludGVydmFsIGlzIHRoZSBsZWFzdCBmcmVxdWVudCBldmVudC4KICAgICBtX2hh
c1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCmluZGV4
IDc4MWQ2ZWNlNmU1NzUyMzE5ZjRjNjNmYWQ0YTYwYTkyNGZlNDgzZjEuLjAxYzE3YTY2ZjI5NWQ3
NDZmNWEwZWQzYTA0NzFlYzc5YjgxMmEwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCkBAIC01NSw3ICs1
NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5T
ZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlz
cGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZvaWQgZmlyZWQoKSBvdmVycmlkZTsKICAgICB2b2lk
IGRpc3BhdGNoRGVmZXJyZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggZmVhNTUwMGI3YTY5ODdmOTNhOTM0
NjdhN2ZmNjJhYjc3OTlkMmVmOS4uMDg3ZmNmYmMwMWI4NmMwZjE5MWFkYzA0MzVhYTA0ODU1Yzdm
NzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcubW0KQEAgLTEzNiw3ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICB0aW1l
SW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwp
OwogICAgICAgICAKICAgICAgICAgaWYgKG1fcmVwZWF0KQotICAgICAgICAgICAgc3RhcnRSZXBl
YXRpbmcodGltZUludGVydmFsKTsKKyAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMg
eyB0aW1lSW50ZXJ2YWwgfSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHN0YXJ0T25lU2hv
dCh0aW1lSW50ZXJ2YWwpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5jcHAKaW5kZXggYmMxOGRlYjc1Y2NkNzA4MjdhZmZhZTllMDc2MjFm
MjM1MDFmNTRlYS4uODU3MTg1MDg0MTAyZDBkNjYxYTMwNWM2ZGYxYzU5NjI4NTZlYWU4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKQEAg
LTUyLDcgKzUyLDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotc3RhdGljIGNvbnN0IGZsb2F0IHRpbWVySW50ZXJ2YWwgPSAwLjAzMzsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgeyAzM19tcyB9OwogCiAvLyBIVUQgU2l6ZQog
c3RhdGljIGNvbnN0IGludCB3aW5kb3dIZWlnaHQgPSA1OTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1
MWVhYmY0ZTE4ZDEwLi5iYWJjMjg4OGNiNzVmYjQ2ZjM4ODBkOGNkYjgzMWYyYTdkMjQ2MjBiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC04OCw3ICs4
OCw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlCiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6
aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5z
dGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyk7
CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwg
cHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7CiAgICAgaWYgKGludGVydmFs
ID4gMCkgewogICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250
cm9sbGVyLmNwcAppbmRleCA0OWYxOGUzNzhhNTI5ZDA1NjViMGQ3ZWU5ZTYxODgyMTJjZmRkMmI4
Li43OTlkYTY1YzlhN2EzZTUxNGJjZjVjNGM5NzAwNjMwMWU2NjI5N2YzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVy
LmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFw
c2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRp
b24gPSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25h
cHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0lu
dGVydmFsID0gMjUwX21zOwogCiAjaWYgUExBVEZPUk0oTUFDKQogc3RhdGljIGNvbnN0IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdy
YXBoaWNzVXNhZ2VTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVy
Zm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5jcHAKaW5kZXggODU5ODk1MDc3ZGM1YTMxNmUx
ZWM5Yzc3MWY5ZTg0NjYxZjYzN2NhZC4uNjY0NTVjZTU2ODVjMTQ1ZjBhMDJiMTEyYWUzMjMxOWU4
MjYyZDk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3Jt
YW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwCkBAIC0zMyw3ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3Rh
dGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaW51dGVzIHNhbXBsaW5nSW50ZXJ2YWwgeyAxMCB9Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgc2FtcGxpbmdJbnRlcnZhbCB7IDEwX21pbiB9OwogCiBIaWdo
UGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlcjo6SGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NV
c2FnZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmIHdlYlByb2Nlc3NQb29sKQogICAgIDogbV93ZWJQ
cm9jZXNzUG9vbCh3ZWJQcm9jZXNzUG9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcAppbmRleCAw
YzAzOWU2YmM2OTU4MjYzYmIxM2IwOWUyMTgyMGJmNjNiN2FjY2RhLi4wZDg1N2JiNzg4MzI0YzY1
OGNlZjY3MTVjMGIyMWNhZWU4YzgyNmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXIuY3BwCkBAIC0z
OCw3ICszOCw3IEBAIHN0YXRpYyBjb25zdCBpbnQ2NF90IG1pY3Jvc2Vjb25kc1BlclNlY29uZCA9
IDEwMDAwMDA7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3Qgc3Rk
OjpjaHJvbm86Om1pbnV0ZXMgbG9nZ2luZ0ludGVydmFsIHsgNjAgfTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGxvZ2dpbmdJbnRlcnZhbCB7IDYwX21pbiB9OwogCiBQZXJBY3Rpdml0eVN0YXRlQ1BV
VXNhZ2VTYW1wbGVyOjpQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyKFdlYlByb2Nlc3NQ
b29sJiBwcm9jZXNzUG9vbCkKICAgICA6IG1fcHJvY2Vzc1Bvb2wocHJvY2Vzc1Bvb2wpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2Nh
cGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1YzlhOTE4MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1
N2UzMzM0NzdkLi4yMzAyNDkwZDlhM2ZlOGU2ODRjMWExMTViZWQwMzQ2YTZkNjA5MTZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2Nh
cGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCB2b2lkIE5ldHNjYXBl
UGx1Z2luOjpUaW1lcjo6c3RhcnQoKQogICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVy
dmFsIC8gMTAwMC4wOwogCiAgICAgaWYgKG1fcmVwZWF0KQotICAgICAgICBtX3RpbWVyLnN0YXJ0
UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmco
U2Vjb25kcyB7IHRpbWVJbnRlcnZhbCB9KTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KHRpbWVJbnRlcnZhbCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdp
bk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi4y
MDFiM2RjZDgzOTk0ODZiOGU0ZTJkOTBjNzU5ZjJhOTUxZWQ0MzI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2lu
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0
YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgeyAyMF9tcyB9OwogCiBzdGF0
aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNlRXZlbnQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXgg
OTEyZjE1YzMwY2QzMzkzNzA4Y2NkNDg2NDk2ODc1MGU4NTFlNTM0My4uYTczYTNjMjIxMzg5OGE1
ZWE3ZjIwNTA2ODBjOTA2YjYyODkxNWZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTQwNCwxMiArNDA0LDEyIEBA
IGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6
ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0
KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQp
OwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7Citjb25zdCBTZWNvbmRzIHJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFs
IHsgNTAwX21zIH07CiAKIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxl
YXNlSW5hY3RpdmVBdGxhc2VzKCkKIHsKICAgICBpZiAoIW1fcmVsZWFzZUluYWN0aXZlQXRsYXNl
c1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVy
LnN0YXJ0UmVwZWF0aW5nKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsKTsKKyAg
ICAgICAgbV9yZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXIuc3RhcnRSZXBlYXRpbmcocmVsZWFz
ZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMTIwNzNhZDJkNTAyN2Mw
M2QyODY4YmYxZjU0MWY5YTllMWRlZjdjLi5iYzBhY2NjMzE1NTZhOWY2Y2FiNWZmMTEzNjBjYjhl
MGU4ZTFhMTVjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2Fk
IHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBk
b3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisKIDIwMTctMDQtMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIENTU1Byb3BlcnRpZXMuanNvbiB3aXRoIGNvcnJl
Y3QgZmlsbC1hbmQtc3Ryb2tlIHN0YXR1cywgYW5kIG90aGVyIGNsZWFudXAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5
OGVlODA1Y2M2ZmZlZDZmZTNkYi4uZDFkZTAzMWEwOGEwNzUxNGRmY2RmMDdhNWU1ZWU0YTM2YTMw
NzczMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTEy
OSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIAogICAgIHsK
ICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygxMF9t
cyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306625</attachid>
            <date>2017-04-09 10:29:07 -0700</date>
            <delta_ts>2017-04-09 10:51:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409102906.patch</filename>
            <type>text/plain</type>
            <size>37632</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uYWVhZGU1YzQ5YzkxNTYxNjQ3M2E4NmJkYmVkMzQy
YTkyZWE5YmYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkg
b3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlw
ZSBub3cuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc0NhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrOjpTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAgICogZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6
dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1l
ZGlhQ29udHJvbGxlcik6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6c2hv
d1BhaW50UmVjdCk6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6CisgICAg
ICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFnZS9GcmFt
ZS5jcHA6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAgICAgKiBwYWdlL1N1c3Bl
bmRhYmxlVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFj
a0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBS
dWJiZXJiYW5kVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c3Rh
cnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92
YWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWM6OnJlY29uZmlndXJlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpyZW5kZXJJbnRlcnZhbCk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWFycXVlZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFy
cXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCBkMWI2ZDRmNTU1NzliMzVjZGI2MmE0ODQ3Y2Y4ODJkYWUwMzgwNmQzLi44YzlmOWU2Nzhm
YTgxMGUyM2YwMTVmNGZjMjIyMTEyNTMwZjdmM2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTcgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVv
cGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAgICAqIFBsdWdpbnMvV2Vi
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoUGx1Z2luVGltZXI6OnN0YXJ0KToKKwor
MjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0
YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDQ3ZDczYWZlNzFjMDg4NTY4MTg4NWQzMmJjZjg3YzNmYjMyNWU2ZjguLjI1MWViM2Ji
N2QwYjA4NmU1NjMyZTIzNzk1NDQ3YjE1MzFkMjc0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNiBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEg
ZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzA2NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBw
ZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3
aXRoIGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZl
N2NjZWE1MGE5Li5kNWQ3NzBhM2EwMDczYTA4NzIyYjI4MTM3MzNhMTExNWVmODU5NTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJs
b2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVt
b3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0hpZ2hQZXJm
b3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGVy
QWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNl
SW5hY3RpdmVBdGxhc2VzKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGgg
ZG91YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzA2NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAzMDA5
NjcyYjEwMzc3YjE1MDI5ZGM0OTBiYjExNWM0NjEyOTU2YmMwLi5mOWUzZDFiMjhmZjdiMWZiODQx
NjE3ODlhZDY2M2I0MDg1NjBjODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrOjpTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChtX2ZyYW1lUmVxdWVzdFJhdGUudmFsdWUoKSkKLSAgICAgICAgbV9yZXF1ZXN0RnJhbWVU
aW1lci5zdGFydFJlcGVhdGluZygxLiAvIG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKTsKKyAg
ICAgICAgbV9yZXF1ZXN0RnJhbWVUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgMS4gLyBt
X2ZyYW1lUmVxdWVzdFJhdGUudmFsdWUoKSB9KTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVk
aWFTdHJlYW1UcmFjazo6U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3
NWUxNTMzYzg5ZDIwNWRiZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgw
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3
LDcgKzIwNTcsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAg
ICAvLyBTdGFydCBibGlua2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJl
c3RhcnQgaWYgd2UncmUKICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2Nh
dGlvbi4KICAgICBpZiAoc2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZl
KCkpIHsKLSAgICAgICAgaWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgp
LT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlu
a0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgp
KQogICAgICAgICAgICAgbV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRl
cnZhbCk7CiAKICAgICAgICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJi
ZGQ1OGZiYTY2NmUuLjRkNjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQw
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAK
ICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBt
X3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVz
c0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFF
bGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRv
IGZpcmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWlu
ZykgZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVu
Y3kKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4y
NTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1
MF9tcyB9OwogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1Rp
bWVyKCkKIHsKQEAgLTM1NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxh
eWJhY2tQcm9ncmVzc1RpbWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVk
dWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAt
IG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVy
aW9kaWMgZXZlbnRzCiAgICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGlt
ZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAppbmRleCA3MTZkMjg2NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJm
ZTg5MDhmNmRlOWI4YTc2ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91Ymxl
IG1fcGxheWJhY2tTdGFydGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0
aW1ldXBkYXRlIGV2ZW50IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAg
IGRvdWJsZSBtX2Nsb2NrVGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25p
Y1RpbWUgbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRp
bWUgYSB0aW1ldXBkYXRlIGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFU
aW1lIG1fbGFzdFRpbWVVcGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVl
ZmU4NTQ1Li42ZTM0NjVjYjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlh
Q29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCiAgICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1Rp
bWV1cGRhdGVUaW1lKDApCiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29u
dHJvbGxlcjo6cmV0dXJuVG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBw
ZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVy
eQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3Rh
dGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07
CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02
NzYsOCArNjc1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVy
KCkKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsK
LSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91
YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRl
bHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0
YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUz
ODM4NDAzMTc2M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVy
IG1fdGltZXVwZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7
CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBt
X3Jlc2V0Q3VycmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRm
ODFiNTY2MzkzYTEwOGQxYjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJl
YWU2Mzg3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07
CiAKIHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1M
TWVkaWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5D
b250ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1
cnBvc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3Bw
CmluZGV4IDVmMTc4YTc2ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3
MDk2ZDMyNzBmZDFjNjMwMDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIElu
c3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAg
IG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7
CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAg
ICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwot
ICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNV
cGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNV
cGRhdGVJbnRlcnZhbCB7IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIu
c3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBk
cmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cAppbmRleCBmZTBjNzIyOWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5
MWYyMjk1MDg2YmIyM2ZjYzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91
YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFs
dWUKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9
IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBv
ZnRlbi4KLXN0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAu
MTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBf
bXMgfTsKIAogLy8gSG93IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVz
cyBiZWZvcmUgZGVjaWRpbmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVl
ZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQy
NmY0NWQ4N2U1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xs
ZXIuY3BwCkBAIC00NCw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRp
bWUgaW4gc2Vjb25kIGZvciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVy
IGVkZ2Ugb2Ygc2Nyb2xsYWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Ny
b2xsRGVsYXkgPSAwLjI7CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9s
bCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQg
c21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7Cisv
LyBXaGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4g
ZG8gdGhlIHNjcm9sbCBldmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgYXV0b3Njcm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5f
U0NST0xMSU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAppbmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRj
OTA3Li45NTQ5MjBjNzQxMWYxMWRhYzBkYjQ0ZjRhZjI2Y2EzZjJhZWU0MWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25l
ZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjA7Citjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1
ZW5jeSB7IDEwMDAgLyA2MC4gfTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwo
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggMmNhODZmOTgyODA4MTYzNzg0ZjJhYjdm
YTQzZWVlYmJlZTM3OTVmOC4uMDc2Yzg4MzlkYjQyYjkzY2MwNmU5YzA0YzFiZWNmYjgzYWUzMjRl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTI1MCw3ICsyNTAsNyBAQCB2
b2lkIFBhZ2VPdmVybGF5OjpzdG9wRmFkZU91dEFuaW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5
OjpzdGFydEZhZGVBbmltYXRpb24oKQogewogICAgIG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9
IGN1cnJlbnRUaW1lKCk7Ci0gICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmco
MSAvIGZhZGVBbmltYXRpb25GcmFtZVJhdGUpOworICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyAxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSB9KTsKIH0K
IAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCAxNWViNzNmMjJjNzcwMDIwYmQ1YzdlNTQw
MmZlMTAwNmVkYTVhYTVjLi4zMTI5MjA4ZmU1NWRjYTBkMDk4NTVjOWUyM2UxZWI3NzEzMTQzNGZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDUsNyArNDUsNiBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSB8fCAobV9zdXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJv
b2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmco
U2Vjb25kcyB7IHJlcGVhdEludGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91
YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KIAog
ICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJlM2YwMzUy
M2RmNGI1OTdiY2UzNzYwYzc1Li41YTY1ZTBkMTc2ZWUzODA2MmJmNjkyNDQwZGRjYTkwYzFiOGQ1
MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3Bw
CkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRUZXN0Q2Fs
bGJhY2tBbmRTdGFydE5vdGlmaWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQogICAgIAog
ICAgIGlmICghbV90ZXN0VHJpZ2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGVzdFRy
aWdnZXJUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90ZXN0VHJp
Z2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyAxLiAvIDYwIH0pOwogfQogCiB2b2lk
IFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJl
YUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWUuaAppbmRleCAzMTRhOGRmNzU5MDk5MTUzOTI3NWFhZDRhMzlkZDli
NmM4ZWE2ZTBiLi5hNjU5NDAyN2E5OWVmMmNjOGVhYTcyYzFlY2YxMDQ0MDFjNzg1ZWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgRm9udENhc2NhZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNv
bnN0IHsgcmV0dXJuIEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUg
Y2FyZXQgYmxpbmtzIGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0Qmxp
bmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBj
YXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7IH0KIAogICAgIC8vIE5v
dGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0
aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDU1ZjJmMjRiN2Zm
NmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFkZjYuLjA1MTc0YjRmMTRiMzY4MmU4ZDdiZGNmYTM0
NWM4NDZhOGY5NmI1MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtNTQsNyArNTQsNiBA
QCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVw
ZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsg
cmVwZWF0SW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQog
CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChT
ZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IGUwYmE4MGY5Y2E4ZDU1NWI1ODdjYjEwMTQx
NjkzZTRjMzE2ZGZkZTQuLmExMzFjMDA5MDZhZWRjOGMzNWU3NGExNWQ0MGUzZDU4ODYzYzcwMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbQpAQCAtMzg2LDcgKzM4Niw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxT
bmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVy
KCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjAp
OworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgMS4g
LyA2MCB9KTsKIAogICAgIG1fY2xpZW50LmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRf
Y2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhp
cyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6UnViYmVyYmFuZEluUHJvZ3Jlc3MpOwogfQpAQCAt
NTYyLDcgKzU2Miw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGlt
ZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKICAg
ICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgeyAxLiAvIDYwIH0pOwogfQogCiB2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnN0b3BTY3JvbGxTbmFwVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDhhOTBjMmJkYmFkNDhjMTQ1YTU4YTkxODY0
YzAwZmMzNzBlMzljMzcuLmI4NDk2YjE5ZTJmNGFjZmJiMGE2ZDRiOWNkZjY5NzI1NmM2ZDg4NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5j
cHAKQEAgLTUyMyw3ICs1MjMsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6b2xk
ZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVt
b3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSAx
OworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyB7IDFfcyB9Owog
CiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5v
dyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIu
aXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKaW5kZXggNTVhOGQzODRkZTVlY2U5YmZmMjgxNzAxNWU1ZTczYjAzZWM5MjRkYS4uMDQ2
NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2FmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NDksNyArMTk0OSw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygp
CiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcg
b24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0
KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9m
aWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRS
ZXBlYXRpbmcoMjAwX21zKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVCVUcoIkRpc2Fi
bGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGlu
ZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRp
bWVBdWRpb1NvdXJjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQppbmRleCA3YWI0MzgzNjRmMWU3NTYy
ZWE2ODgxMDFmM2RiNGQ5ZTE2ZWU5YzJjLi5jZTRkYWJiMzhlYmU4ODg4ZjNjYzAzN2ZmZjUzYWZh
NzRiMGI5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6ZW1pdFNh
bXBsZUJ1ZmZlcnModWludDMyX3QgZnJhbWVDb3VudCkKIAogdm9pZCBNb2NrUmVhbHRpbWVBdWRp
b1NvdXJjZU1hYzo6cmVjb25maWd1cmUoKQogewotICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0g
V1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkgLyAxMDAwLiAqIHNhbXBs
ZVJhdGUoKSAqIDIpOworICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0gV1RGOjpyb3VuZFVwVG9Q
b3dlck9mVHdvKHJlbmRlckludGVydmFsKCkuc2Vjb25kcygpICogc2FtcGxlUmF0ZSgpICogMik7
CiAgICAgQVNTRVJUKG1fbWF4aW1pdW1GcmFtZUNvdW50KTsKIAogICAgIGNvbnN0IGludCBieXRl
c1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAppbmRleCBiZTZiZGJm
YmVlYTVhMGZhMmQ2MDgwNDdiOTI4OTE3NDRjMGU3NGY0Li5jNjRjNjQwZjE1YmFiNmRkYWYxMGUx
ZmY0MzY4YWI5Mjk1YTM5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBA
IHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAg
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwogCiAgICAgbV9z
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0
YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMocmVuZGVySW50ZXJ2YWwoKSkp
OworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcocmVuZGVySW50ZXJ2YWwoKSk7CiB9CiAKIHZv
aWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aAppbmRleCBkODgxNGEzNWJmZGVkNmY4ODM5NTExMjViOWU5MWU1NzQ1YjFjZmU0Li4xMzMxYzc5
MTgxNDRlNmU5NmZjMmFmNDI1N2JmYzJlNzFmY2Q4ZTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oCkBAIC01OCw3
ICs1OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGRvdWJsZSkgeyB9
CiAKICAgICBkb3VibGUgZWxhcHNlZFRpbWUoKTsKLSAgICBzdGF0aWMgaW50IHJlbmRlckludGVy
dmFsKCkgeyByZXR1cm4gNjA7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyByZW5kZXJJbnRlcnZhbCgp
IHsgcmV0dXJuIDYwX21zOyB9CiAKIHByaXZhdGU6CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXggMzNm
YmIxN2I5MTRmNmNlZDFiOTk4YjM4MjA5OGRiN2Y3Yzg3NmQyMS4uZmZhODEzNzYzOWFiNGJjZjRi
ODU1MjJjMWRiMDdmMmJjZjE3MDg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTEwMSw3ICsxMDEs
NyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKQog
ICAgIH0KIAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxy
b3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhT
ZWNvbmRzKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpIC8gMTAwMC4pKTsKIH0KIAogdm9pZCBN
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKQpAQCAtMTU1LDcgKzE1
NSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmluaXRpYWxpemVTdXBwb3J0ZWRD
b25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlCiBib29sIE1vY2tSZWFsdGltZVZpZGVvU291
cmNlOjphcHBseUZyYW1lUmF0ZShkb3VibGUgcmF0ZSkKIHsKICAgICBpZiAobV90aW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOworICAgICAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKFNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSAvIDEwMDAuKSk7CiAKICAgICB1cGRh
dGVTYW1wbGVCdWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA2MDU5ZDI2ZDFkZmNmYjM2MTViYmJiZTE2Y2Zk
MjNlMjVkZGZjMTU3Li41YjA3Y2FiNTA1YmY2NDMzZTU2MGY4ZTkwOWI1NTExZTQ2OWM0NThhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0xNjgsNyAr
MTY4LDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjpzdGFydCgpCiAgICAgICAgIG1fc3RvcHBlZCA9
IGZhbHNlOwogICAgIH0KIAotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAu
MDAxKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyBzcGVlZCgpICogMC4w
MDEgfSk7CiB9CiAKIHZvaWQgUmVuZGVyTWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMw
LDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChz
cGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgpKSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3Bl
ZWQoKTsKICAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHNwZWVkKCkgKiAwLjAwMSB9KTsKICAgICB9CiAgICAg
CiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3Rv
cC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggMTIyMjcxZTdkN2Q2
MDlkNzcxMzQ1MGU0NzFjZWY0OTBiY2I5Y2Y5YS4uNzFkMTY1YTEwOGQ2MTgwMzZlY2YzM2UwYjFh
ZDJhMjE5YjkxMGE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAg
LTE3OCw3ICsxNzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZv
cm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRl
cnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJs
aW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7IH0KIAogICAgIC8vIFN5c3RlbSBm
b250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1Gb250KENTU1ZhbHVlSUQs
IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGY1NjAwMDA5NjY0NDcxYzllN2Q0NTdiYmFlNjM2
NzY2MjNmYmNjYzcuLjM3ZWRlZTk4ZTlhMjRmOTRlMDQ1ODBjOGIzODQ4MTA0MGJlY2FkNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcApAQCAtMTgwMiw3
ICsxODAyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRJbm5lclNwaW5CdXR0b24oY29u
c3QgUmVuZGVyT2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMKIH0KICNlbmRpZiAvLyBHVEtfQ0hF
Q0tfVkVSU0lPTigzLCAyMCwgMCkKIAotZG91YmxlIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5r
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVy
dmFsKCkgY29uc3QKIHsKICAgICBHdGtTZXR0aW5ncyogc2V0dGluZ3MgPSBndGtfc2V0dGluZ3Nf
Z2V0X2RlZmF1bHQoKTsKIApAQCAtMTgxMiw5ICsxODEyLDkgQEAgZG91YmxlIFJlbmRlclRoZW1l
R3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogICAgIGdfb2JqZWN0X2dldChzZXR0aW5n
cywgImd0ay1jdXJzb3ItYmxpbmsiLCAmc2hvdWxkQmxpbmssICJndGstY3Vyc29yLWJsaW5rLXRp
bWUiLCAmdGltZSwgbnVsbHB0cik7CiAKICAgICBpZiAoIXNob3VsZEJsaW5rKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKIAotICAgIHJldHVybiB0aW1lIC8gMjAwMC47
CisgICAgcmV0dXJuIFNlY29uZHMgeyB0aW1lIC8gMjAwMC4gfTsKIH0KIAogZW51bSBTdHlsZUNv
bG9yVHlwZSB7IFN0eWxlQ29sb3JCYWNrZ3JvdW5kLCBTdHlsZUNvbG9yRm9yZWdyb3VuZCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaAppbmRleCA5MTcyMzQ1NWY3
NzNjYTI3NTNkODYxYWMzNzdiYmYyNTlmOTlhOGJlLi43YjgyZDkzMTQ2NDQ0ZmQ0ZWZlZTU2MTRl
NWMxMWQ3NmRiMWVkODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVH
dGsuaApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgQ29sb3IgcGxhdGZvcm1JbmFjdGl2
ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCBvdmVycmlkZTsKICAgICBD
b2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IG92
ZXJyaWRlOworICAgIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGUuY3BwCmluZGV4IGE1ZWE5MzJiNzQ5NWU5ZWRkZDA0ZTZjYzY4Y2NlM2Q3ODM1Yjdh
N2UuLmE3NzY2ZGZiZGI5MWUyM2IwNWM2YjVlZjlkMjIxYTgyMDMwMzYwYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNv
bnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVBy
b2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBw
ZXIgc3BlY2lmaWNhdGlvbi4KK2NvbnN0IFNlY29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCB7IDUw
X21zIH07IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZl
bnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEyICs3Mywx
MiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRo
cm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFzVGhyb3R0
bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3Ro
Q29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5p
bXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBz
dGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwpOwog
ICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5p
bXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhlIGxlYXN0
IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBt
aW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0IGZyZXF1
ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlLmgKaW5kZXggNzgxZDZlY2U2ZTU3NTIzMTlmNGM2M2ZhZDRhNjBhOTI0ZmU0
ODNmMS4uMDFjMTdhNjZmMjk1ZDc0NmY1YTBlZDNhMDQ3MWVjNzliODEyYTBiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAK
IHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERp
c3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
aW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsOwogCiAgICAgdm9pZCBmaXJlZCgp
IG92ZXJyaWRlOwogICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBm
ZWE1NTAwYjdhNjk4N2Y5M2E5MzQ2N2E3ZmY2MmFiNzc5OWQyZWY5Li4wODdmY2ZiYzAxYjg2YzBm
MTkxYWRjMDQzNWFhMDQ4NTVjN2Y3MTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTM2LDcgKzEzNiw3IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgVGhy
b3R0bGVkVGltZXJJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBpZiAobV9yZXBlYXQpCi0g
ICAgICAgICAgICBzdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOworICAgICAgICAgICAgc3Rh
cnRSZXBlYXRpbmcoU2Vjb25kcyB7IHRpbWVJbnRlcnZhbCB9KTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgc3RhcnRPbmVTaG90KHRpbWVJbnRlcnZhbCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAppbmRleCBiYzE4ZGViNzVj
Y2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUwMWY1NGVhLi44NTcxODUwODQxMDJkMGQ2NjFhMzA1YzZk
ZjFjNTk2Mjg1NmVhZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyLmNwcApAQCAtNTIsNyArNTIsNyBAQAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgZmxvYXQgdGltZXJJbnRl
cnZhbCA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCB7IDMzX21z
IH07CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVh
Mjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmJhYmMyODg4Y2I3NWZiNDZmMzg4MGQ4
Y2RiODMxZjJhN2QyNDYyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChj
b25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUKIAogdm9p
ZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRlcnZhbCkKIHsK
LSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2FtcGxlVGltZXIu
c3RhcnRSZXBlYXRpbmcoMV9zKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIg
Zm9yIHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgp
KTsKICAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7CiAgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25l
U2hvdChpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIw
ZDdlZTllNjE4ODIxMmNmZGQyYjguLjc5OWRhNjVjOWE3YTNlNTE0YmNmNWM0Yzk3MDA2MzAxZTY2
Mjk3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2Vz
dHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVy
dmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFj
dGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBfbXM7CiAKICNpZiBQTEFURk9STShNQUMp
CiBzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxX
YXRjaGRvZ0R1cmF0aW9uID0gNXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcAppbmRl
eCA4NTk4OTUwNzdkYzVhMzE2ZTFlYzljNzcxZjllODQ2NjFmNjM3Y2FkLi42NjQ1NWNlNTY4NWMx
NDVmMGEwMmIxMTJhZTMyMzE5ZTgyNjJkOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxl
ci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbnV0ZXMgc2FtcGxp
bmdJbnRlcnZhbCB7IDEwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzYW1wbGluZ0ludGVydmFs
IHsgMTBfbWluIH07CiAKIEhpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyOjpIaWdo
UGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlcihXZWJQcm9jZXNzUG9vbCYgd2ViUHJvY2Vz
c1Bvb2wpCiAgICAgOiBtX3dlYlByb2Nlc3NQb29sKHdlYlByb2Nlc3NQb29sKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBs
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXIuY3BwCmluZGV4IDBjMDM5ZTZiYzY5NTgyNjNiYjEzYjA5ZTIxODIwYmY2M2I3YWNj
ZGEuLjBkODU3YmI3ODgzMjRjNjU4Y2VmNjcxNWMwYjIxY2FlZThjODI2YmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVz
YWdlU2FtcGxlci5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIGNvbnN0IGludDY0X3QgbWlj
cm9zZWNvbmRzUGVyU2Vjb25kID0gMTAwMDAwMDsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRlcyBsb2dnaW5nSW50ZXJ2YWwgeyA2
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbG9nZ2luZ0ludGVydmFsIHsgNjBfbWluIH07CiAK
IFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgIDogbV9wcm9jZXNzUG9v
bChwcm9jZXNzUG9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDVjOWE5MTgyNDU2
NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjIzMDI0OTBkOWEzZmU4ZTY4NGMxYTExNWJl
ZDAzNDZhNmQ2MDkxNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAtMzI5LDcgKzMy
OSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiAgICAgZG91YmxlIHRp
bWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CiAKICAgICBpZiAobV9yZXBlYXQpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKKyAgICAgICAgbV90
aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwogICAgIGVsc2UK
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QodGltZUludGVydmFsKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZkYjA5MDJmNWI4Zjc1MDQ3ZmVh
ZGMyYzU0M2M2YWNjMmU1ZTAuLjIwMWIzZGNkODM5OTQ4NmI4ZTRlMmQ5MGM3NTlmMmE5NTFlZDQz
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAtNDUsNyArNDUs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWZu
ZGVmIE5QX05PX0NBUkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBudWxsRXZlbnRJbnRlcnZhbEFj
dGl2ZSA9IDAuMDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxsRXZlbnRJbnRlcnZhbEFjdGl2
ZSB7IDIwX21zIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VF
dmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcAppbmRleCA5MTJmMTVjMzBjZDMzOTM3MDhjY2Q0ODY0OTY4NzUwZTg1MWU1
MzQzLi5hNzNhM2MyMjEzODk4YTVlYTdmMjA1MDY4MGM5MDZiNjI4OTE1ZmE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApA
QCAtNDA0LDEyICs0MDQsMTIgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpwYWludFRv
U3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAgICByZXR1cm4g
bV91cGRhdGVBdGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihzaXplLCBhdGxh
c0lELCBvZmZzZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNlSW5hY3RpdmVB
dGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgcmVsZWFzZUluYWN0aXZl
QXRsYXNlc1RpbWVySW50ZXJ2YWwgeyA1MDBfbXMgfTsKIAogdm9pZCBDb21wb3NpdGluZ0Nvb3Jk
aW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFjdGl2ZUF0bGFzZXMoKQogewogICAgIGlmICghbV9y
ZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZWxlYXNl
SW5hY3RpdmVBdGxhc2VzVGltZXIuc3RhcnRSZXBlYXRpbmcoUmVsZWFzZUluYWN0aXZlQXRsYXNl
c1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5z
dGFydFJlcGVhdGluZyhyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCk7CiB9CiAK
IHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGQxMjA3M2FkMmQ1MDI3YzAzZDI4NjhiZjFmNTQxZjlhOWUxZGVmN2MuLmJjMGFjY2MzMTU1
NmE5ZjZjYWI1ZmYxMTM2MGNiOGUwZThlMWExNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wNC0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0
UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygp
IG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5
cGUgbm93LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHA6
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNC0wOCAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgQ1NTUHJvcGVy
dGllcy5qc29uIHdpdGggY29ycmVjdCBmaWxsLWFuZC1zdHJva2Ugc3RhdHVzLCBhbmQgb3RoZXIg
Y2xlYW51cApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9v
cC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCAx
ZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4MDVjYzZmZmVkNmZlM2RiLi5kMWRlMDMxYTA4YTA3NTE0
ZGZjZGYwN2E1ZTVlZTRhMzZhMzA3NzMwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9SdW5Mb29wLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIFJlcGVh
dGluZ1RpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlz
aGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMSk7CisgICAgICAgIHRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEwX21zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQp
OwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306626</attachid>
            <date>2017-04-09 10:51:58 -0700</date>
            <delta_ts>2017-04-09 14:35:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409105156.patch</filename>
            <type>text/plain</type>
            <size>38247</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uYWVhZGU1YzQ5YzkxNTYxNjQ3M2E4NmJkYmVkMzQy
YTkyZWE5YmYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkg
b3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlw
ZSBub3cuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc0NhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrOjpTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAgICogZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6
dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1l
ZGlhQ29udHJvbGxlcik6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6c2hv
d1BhaW50UmVjdCk6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6CisgICAg
ICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcGFnZS9GcmFt
ZS5jcHA6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAgICAgKiBwYWdlL1N1c3Bl
bmRhYmxlVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFj
a0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRy
b2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBS
dWJiZXJiYW5kVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c3Rh
cnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92
YWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWM6OnJlY29uZmlndXJlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpyZW5kZXJJbnRlcnZhbCk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWFycXVlZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFy
cXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCBkMWI2ZDRmNTU1NzliMzVjZGI2MmE0ODQ3Y2Y4ODJkYWUwMzgwNmQzLi44YzlmOWU2Nzhm
YTgxMGUyM2YwMTVmNGZjMjIyMTEyNTMwZjdmM2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTcgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJv
cCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVv
cGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAgICAqIFBsdWdpbnMvV2Vi
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoUGx1Z2luVGltZXI6OnN0YXJ0KToKKwor
MjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0
YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDQ3ZDczYWZlNzFjMDg4NTY4MTg4NWQzMmJjZjg3YzNmYjMyNWU2ZjguLjI1MWViM2Ji
N2QwYjA4NmU1NjMyZTIzNzk1NDQ3YjE1MzFkMjc0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNiBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEg
ZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzA2NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
cm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBw
ZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3
aXRoIGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZl
N2NjZWE1MGE5Li5kNWQ3NzBhM2EwMDczYTA4NzIyYjI4MTM3MzNhMTExNWVmODU5NTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJs
b2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcg
YSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVt
b3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0hpZ2hQZXJm
b3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGVy
QWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNl
SW5hY3RpdmVBdGxhc2VzKToKKworMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCiAgICAgICAgIFN0YXJ0IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGgg
ZG91YmxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzA2NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9D
YW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAzMDA5
NjcyYjEwMzc3YjE1MDI5ZGM0OTBiYjExNWM0NjEyOTU2YmMwLi5mOWUzZDFiMjhmZjdiMWZiODQx
NjE3ODlhZDY2M2I0MDg1NjBjODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrOjpTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChtX2ZyYW1lUmVxdWVzdFJhdGUudmFsdWUoKSkKLSAgICAgICAgbV9yZXF1ZXN0RnJhbWVU
aW1lci5zdGFydFJlcGVhdGluZygxLiAvIG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKTsKKyAg
ICAgICAgbV9yZXF1ZXN0RnJhbWVUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgMS4gLyBt
X2ZyYW1lUmVxdWVzdFJhdGUudmFsdWUoKSB9KTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVk
aWFTdHJlYW1UcmFjazo6U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3
NWUxNTMzYzg5ZDIwNWRiZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgw
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3
LDcgKzIwNTcsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAg
ICAvLyBTdGFydCBibGlua2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJl
c3RhcnQgaWYgd2UncmUKICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2Nh
dGlvbi4KICAgICBpZiAoc2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZl
KCkpIHsKLSAgICAgICAgaWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgp
LT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlu
a0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgp
KQogICAgICAgICAgICAgbV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRl
cnZhbCk7CiAKICAgICAgICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJi
ZGQ1OGZiYTY2NmUuLjRkNjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQw
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAK
ICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBt
X3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVz
c0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFF
bGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRv
IGZpcmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWlu
ZykgZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVu
Y3kKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4y
NTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1
MF9tcyB9OwogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1Rp
bWVyKCkKIHsKQEAgLTM1NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxh
eWJhY2tQcm9ncmVzc1RpbWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVk
dWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAt
IG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVy
aW9kaWMgZXZlbnRzCiAgICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGlt
ZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAppbmRleCA3MTZkMjg2NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJm
ZTg5MDhmNmRlOWI4YTc2ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91Ymxl
IG1fcGxheWJhY2tTdGFydGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0
aW1ldXBkYXRlIGV2ZW50IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAg
IGRvdWJsZSBtX2Nsb2NrVGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25p
Y1RpbWUgbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRp
bWUgYSB0aW1ldXBkYXRlIGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFU
aW1lIG1fbGFzdFRpbWVVcGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVl
ZmU4NTQ1Li42ZTM0NjVjYjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlh
Q29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCiAgICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1Rp
bWV1cGRhdGVUaW1lKDApCiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29u
dHJvbGxlcjo6cmV0dXJuVG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBw
ZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVy
eQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3Rh
dGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07
CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02
NzYsOCArNjc1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVy
KCkKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsK
LSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91
YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRl
bHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0
YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUz
ODM4NDAzMTc2M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVy
IG1fdGltZXVwZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7
CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBt
X3Jlc2V0Q3VycmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRm
ODFiNTY2MzkzYTEwOGQxYjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJl
YWU2Mzg3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07
CiAKIHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1M
TWVkaWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5D
b250ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1
cnBvc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92
ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3Bw
CmluZGV4IDVmMTc4YTc2ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3
MDk2ZDMyNzBmZDFjNjMwMDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIElu
c3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAg
IG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7
CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAg
ICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwot
ICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNV
cGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNV
cGRhdGVJbnRlcnZhbCB7IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIu
c3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBk
cmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cAppbmRleCBmZTBjNzIyOWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5
MWYyMjk1MDg2YmIyM2ZjYzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91
YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFs
dWUKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9
IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBv
ZnRlbi4KLXN0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAu
MTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBf
bXMgfTsKIAogLy8gSG93IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVz
cyBiZWZvcmUgZGVjaWRpbmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVl
ZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQy
NmY0NWQ4N2U1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xs
ZXIuY3BwCkBAIC00NCw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRp
bWUgaW4gc2Vjb25kIGZvciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVy
IGVkZ2Ugb2Ygc2Nyb2xsYWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Ny
b2xsRGVsYXkgPSAwLjI7CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9s
bCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQg
c21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7Cisv
LyBXaGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4g
ZG8gdGhlIHNjcm9sbCBldmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgYXV0b3Njcm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5f
U0NST0xMSU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAppbmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRj
OTA3Li45NTQ5MjBjNzQxMWYxMWRhYzBkYjQ0ZjRhZjI2Y2EzZjJhZWU0MWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25l
ZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjA7Citjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1
ZW5jeSB7IDEwMDAgLyA2MC4gfTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwo
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggMmNhODZmOTgyODA4MTYzNzg0ZjJhYjdm
YTQzZWVlYmJlZTM3OTVmOC4uMDc2Yzg4MzlkYjQyYjkzY2MwNmU5YzA0YzFiZWNmYjgzYWUzMjRl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTI1MCw3ICsyNTAsNyBAQCB2
b2lkIFBhZ2VPdmVybGF5OjpzdG9wRmFkZU91dEFuaW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5
OjpzdGFydEZhZGVBbmltYXRpb24oKQogewogICAgIG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9
IGN1cnJlbnRUaW1lKCk7Ci0gICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmco
MSAvIGZhZGVBbmltYXRpb25GcmFtZVJhdGUpOworICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyAxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSB9KTsKIH0K
IAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCAxNWViNzNmMjJjNzcwMDIwYmQ1YzdlNTQw
MmZlMTAwNmVkYTVhYTVjLi4zMTI5MjA4ZmU1NWRjYTBkMDk4NTVjOWUyM2UxZWI3NzEzMTQzNGZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDUsNyArNDUsNiBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSB8fCAobV9zdXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJv
b2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmco
U2Vjb25kcyB7IHJlcGVhdEludGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91
YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KIAog
ICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJlM2YwMzUy
M2RmNGI1OTdiY2UzNzYwYzc1Li41YTY1ZTBkMTc2ZWUzODA2MmJmNjkyNDQwZGRjYTkwYzFiOGQ1
MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3Bw
CkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRUZXN0Q2Fs
bGJhY2tBbmRTdGFydE5vdGlmaWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQogICAgIAog
ICAgIGlmICghbV90ZXN0VHJpZ2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGVzdFRy
aWdnZXJUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90ZXN0VHJp
Z2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyAxLiAvIDYwIH0pOwogfQogCiB2b2lk
IFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJl
YUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWUuaAppbmRleCAzMTRhOGRmNzU5MDk5MTUzOTI3NWFhZDRhMzlkZDli
NmM4ZWE2ZTBiLi5hNjU5NDAyN2E5OWVmMmNjOGVhYTcyYzFlY2YxMDQ0MDFjNzg1ZWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgRm9udENhc2NhZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNv
bnN0IHsgcmV0dXJuIEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUg
Y2FyZXQgYmxpbmtzIGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0Qmxp
bmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBj
YXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7IH0KIAogICAgIC8vIE5v
dGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0
aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDU1ZjJmMjRiN2Zm
NmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFkZjYuLjA1MTc0YjRmMTRiMzY4MmU4ZDdiZGNmYTM0
NWM4NDZhOGY5NmI1MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtNTQsNyArNTQsNiBA
QCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVw
ZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsg
cmVwZWF0SW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQog
CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChT
ZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IGUwYmE4MGY5Y2E4ZDU1NWI1ODdjYjEwMTQx
NjkzZTRjMzE2ZGZkZTQuLmExMzFjMDA5MDZhZWRjOGMzNWU3NGExNWQ0MGUzZDU4ODYzYzcwMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbQpAQCAtMzg2LDcgKzM4Niw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxT
bmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVy
KCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjAp
OworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgMS4g
LyA2MCB9KTsKIAogICAgIG1fY2xpZW50LmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRf
Y2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhp
cyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6UnViYmVyYmFuZEluUHJvZ3Jlc3MpOwogfQpAQCAt
NTYyLDcgKzU2Miw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGlt
ZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKICAg
ICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgeyAxLiAvIDYwIH0pOwogfQogCiB2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnN0b3BTY3JvbGxTbmFwVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDhhOTBjMmJkYmFkNDhjMTQ1YTU4YTkxODY0
YzAwZmMzNzBlMzljMzcuLmI4NDk2YjE5ZTJmNGFjZmJiMGE2ZDRiOWNkZjY5NzI1NmM2ZDg4NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5j
cHAKQEAgLTUyMyw3ICs1MjMsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6b2xk
ZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVt
b3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSAx
OworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyB7IDFfcyB9Owog
CiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5v
dyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIu
aXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKaW5kZXggNTVhOGQzODRkZTVlY2U5YmZmMjgxNzAxNWU1ZTczYjAzZWM5MjRkYS4uMDQ2
NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2FmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NDksNyArMTk0OSw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygp
CiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcg
b24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0
KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9m
aWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRS
ZXBlYXRpbmcoMjAwX21zKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVCVUcoIkRpc2Fi
bGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGlu
ZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRp
bWVBdWRpb1NvdXJjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQppbmRleCA3YWI0MzgzNjRmMWU3NTYy
ZWE2ODgxMDFmM2RiNGQ5ZTE2ZWU5YzJjLi5jZTRkYWJiMzhlYmU4ODg4ZjNjYzAzN2ZmZjUzYWZh
NzRiMGI5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6ZW1pdFNh
bXBsZUJ1ZmZlcnModWludDMyX3QgZnJhbWVDb3VudCkKIAogdm9pZCBNb2NrUmVhbHRpbWVBdWRp
b1NvdXJjZU1hYzo6cmVjb25maWd1cmUoKQogewotICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0g
V1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkgLyAxMDAwLiAqIHNhbXBs
ZVJhdGUoKSAqIDIpOworICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0gV1RGOjpyb3VuZFVwVG9Q
b3dlck9mVHdvKHJlbmRlckludGVydmFsKCkuc2Vjb25kcygpICogc2FtcGxlUmF0ZSgpICogMik7
CiAgICAgQVNTRVJUKG1fbWF4aW1pdW1GcmFtZUNvdW50KTsKIAogICAgIGNvbnN0IGludCBieXRl
c1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAppbmRleCBiZTZiZGJm
YmVlYTVhMGZhMmQ2MDgwNDdiOTI4OTE3NDRjMGU3NGY0Li5jNjRjNjQwZjE1YmFiNmRkYWYxMGUx
ZmY0MzY4YWI5Mjk1YTM5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBA
IHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAg
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwogCiAgICAgbV9z
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0
YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMocmVuZGVySW50ZXJ2YWwoKSkp
OworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcocmVuZGVySW50ZXJ2YWwoKSk7CiB9CiAKIHZv
aWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aAppbmRleCBkODgxNGEzNWJmZGVkNmY4ODM5NTExMjViOWU5MWU1NzQ1YjFjZmU0Li4xMzMxYzc5
MTgxNDRlNmU5NmZjMmFmNDI1N2JmYzJlNzFmY2Q4ZTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oCkBAIC01OCw3
ICs1OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGRvdWJsZSkgeyB9
CiAKICAgICBkb3VibGUgZWxhcHNlZFRpbWUoKTsKLSAgICBzdGF0aWMgaW50IHJlbmRlckludGVy
dmFsKCkgeyByZXR1cm4gNjA7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyByZW5kZXJJbnRlcnZhbCgp
IHsgcmV0dXJuIDYwX21zOyB9CiAKIHByaXZhdGU6CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXggMzNm
YmIxN2I5MTRmNmNlZDFiOTk4YjM4MjA5OGRiN2Y3Yzg3NmQyMS4uZmZhODEzNzYzOWFiNGJjZjRi
ODU1MjJjMWRiMDdmMmJjZjE3MDg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTEwMSw3ICsxMDEs
NyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKQog
ICAgIH0KIAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxy
b3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhT
ZWNvbmRzKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpIC8gMTAwMC4pKTsKIH0KIAogdm9pZCBN
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKQpAQCAtMTU1LDcgKzE1
NSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmluaXRpYWxpemVTdXBwb3J0ZWRD
b25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlCiBib29sIE1vY2tSZWFsdGltZVZpZGVvU291
cmNlOjphcHBseUZyYW1lUmF0ZShkb3VibGUgcmF0ZSkKIHsKICAgICBpZiAobV90aW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOworICAgICAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKFNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSAvIDEwMDAuKSk7CiAKICAgICB1cGRh
dGVTYW1wbGVCdWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA2MDU5ZDI2ZDFkZmNmYjM2MTViYmJiZTE2Y2Zk
MjNlMjVkZGZjMTU3Li41YjA3Y2FiNTA1YmY2NDMzZTU2MGY4ZTkwOWI1NTExZTQ2OWM0NThhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0xNjgsNyAr
MTY4LDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjpzdGFydCgpCiAgICAgICAgIG1fc3RvcHBlZCA9
IGZhbHNlOwogICAgIH0KIAotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAu
MDAxKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyBzcGVlZCgpICogMC4w
MDEgfSk7CiB9CiAKIHZvaWQgUmVuZGVyTWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMw
LDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChz
cGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgpKSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3Bl
ZWQoKTsKICAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHNwZWVkKCkgKiAwLjAwMSB9KTsKICAgICB9CiAgICAg
CiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3Rv
cC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggMTIyMjcxZTdkN2Q2
MDlkNzcxMzQ1MGU0NzFjZWY0OTBiY2I5Y2Y5YS4uNzFkMTY1YTEwOGQ2MTgwMzZlY2YzM2UwYjFh
ZDJhMjE5YjkxMGE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAg
LTE3OCw3ICsxNzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZv
cm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRl
cnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJs
aW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7IH0KIAogICAgIC8vIFN5c3RlbSBm
b250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1Gb250KENTU1ZhbHVlSUQs
IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGY1NjAwMDA5NjY0NDcxYzllN2Q0NTdiYmFlNjM2
NzY2MjNmYmNjYzcuLjM3ZWRlZTk4ZTlhMjRmOTRlMDQ1ODBjOGIzODQ4MTA0MGJlY2FkNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcApAQCAtMTgwMiw3
ICsxODAyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRJbm5lclNwaW5CdXR0b24oY29u
c3QgUmVuZGVyT2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMKIH0KICNlbmRpZiAvLyBHVEtfQ0hF
Q0tfVkVSU0lPTigzLCAyMCwgMCkKIAotZG91YmxlIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5r
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVy
dmFsKCkgY29uc3QKIHsKICAgICBHdGtTZXR0aW5ncyogc2V0dGluZ3MgPSBndGtfc2V0dGluZ3Nf
Z2V0X2RlZmF1bHQoKTsKIApAQCAtMTgxMiw5ICsxODEyLDkgQEAgZG91YmxlIFJlbmRlclRoZW1l
R3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogICAgIGdfb2JqZWN0X2dldChzZXR0aW5n
cywgImd0ay1jdXJzb3ItYmxpbmsiLCAmc2hvdWxkQmxpbmssICJndGstY3Vyc29yLWJsaW5rLXRp
bWUiLCAmdGltZSwgbnVsbHB0cik7CiAKICAgICBpZiAoIXNob3VsZEJsaW5rKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKIAotICAgIHJldHVybiB0aW1lIC8gMjAwMC47
CisgICAgcmV0dXJuIFNlY29uZHMgeyB0aW1lIC8gMjAwMC4gfTsKIH0KIAogZW51bSBTdHlsZUNv
bG9yVHlwZSB7IFN0eWxlQ29sb3JCYWNrZ3JvdW5kLCBTdHlsZUNvbG9yRm9yZWdyb3VuZCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaAppbmRleCA5MTcyMzQ1NWY3
NzNjYTI3NTNkODYxYWMzNzdiYmYyNTlmOTlhOGJlLi43YjgyZDkzMTQ2NDQ0ZmQ0ZWZlZTU2MTRl
NWMxMWQ3NmRiMWVkODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVH
dGsuaApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgQ29sb3IgcGxhdGZvcm1JbmFjdGl2
ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCBvdmVycmlkZTsKICAgICBD
b2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IG92
ZXJyaWRlOworICAgIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGUuY3BwCmluZGV4IGE1ZWE5MzJiNzQ5NWU5ZWRkZDA0ZTZjYzY4Y2NlM2Q3ODM1Yjdh
N2UuLmE3NzY2ZGZiZGI5MWUyM2IwNWM2YjVlZjlkMjIxYTgyMDMwMzYwYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNv
bnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVBy
b2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBw
ZXIgc3BlY2lmaWNhdGlvbi4KK2NvbnN0IFNlY29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCB7IDUw
X21zIH07IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZl
bnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEyICs3Mywx
MiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRo
cm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFzVGhyb3R0
bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3Ro
Q29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5p
bXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBz
dGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwpOwog
ICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5p
bXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhlIGxlYXN0
IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBt
aW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0IGZyZXF1
ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlLmgKaW5kZXggNzgxZDZlY2U2ZTU3NTIzMTlmNGM2M2ZhZDRhNjBhOTI0ZmU0
ODNmMS4uMDFjMTdhNjZmMjk1ZDc0NmY1YTBlZDNhMDQ3MWVjNzliODEyYTBiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAK
IHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERp
c3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
aW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsOwogCiAgICAgdm9pZCBmaXJlZCgp
IG92ZXJyaWRlOwogICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBm
ZWE1NTAwYjdhNjk4N2Y5M2E5MzQ2N2E3ZmY2MmFiNzc5OWQyZWY5Li4wODdmY2ZiYzAxYjg2YzBm
MTkxYWRjMDQzNWFhMDQ4NTVjN2Y3MTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTM2LDcgKzEzNiw3IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgVGhy
b3R0bGVkVGltZXJJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBpZiAobV9yZXBlYXQpCi0g
ICAgICAgICAgICBzdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOworICAgICAgICAgICAgc3Rh
cnRSZXBlYXRpbmcoU2Vjb25kcyB7IHRpbWVJbnRlcnZhbCB9KTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgc3RhcnRPbmVTaG90KHRpbWVJbnRlcnZhbCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAppbmRleCBiYzE4ZGViNzVj
Y2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUwMWY1NGVhLi44NTcxODUwODQxMDJkMGQ2NjFhMzA1YzZk
ZjFjNTk2Mjg1NmVhZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyLmNwcApAQCAtNTIsNyArNTIsNyBAQAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgZmxvYXQgdGltZXJJbnRl
cnZhbCA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCB7IDMzX21z
IH07CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVh
Mjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmJhYmMyODg4Y2I3NWZiNDZmMzg4MGQ4
Y2RiODMxZjJhN2QyNDYyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChj
b25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUKIAogdm9p
ZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRlcnZhbCkKIHsK
LSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2FtcGxlVGltZXIu
c3RhcnRSZXBlYXRpbmcoMV9zKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIg
Zm9yIHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgp
KTsKICAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7CiAgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25l
U2hvdChpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIw
ZDdlZTllNjE4ODIxMmNmZGQyYjguLjc5OWRhNjVjOWE3YTNlNTE0YmNmNWM0Yzk3MDA2MzAxZTY2
Mjk3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2Vz
dHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVy
dmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFj
dGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBfbXM7CiAKICNpZiBQTEFURk9STShNQUMp
CiBzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxX
YXRjaGRvZ0R1cmF0aW9uID0gNXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcAppbmRl
eCA4NTk4OTUwNzdkYzVhMzE2ZTFlYzljNzcxZjllODQ2NjFmNjM3Y2FkLi42NjQ1NWNlNTY4NWMx
NDVmMGEwMmIxMTJhZTMyMzE5ZTgyNjJkOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxl
ci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbnV0ZXMgc2FtcGxp
bmdJbnRlcnZhbCB7IDEwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzYW1wbGluZ0ludGVydmFs
IHsgMTBfbWluIH07CiAKIEhpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyOjpIaWdo
UGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlcihXZWJQcm9jZXNzUG9vbCYgd2ViUHJvY2Vz
c1Bvb2wpCiAgICAgOiBtX3dlYlByb2Nlc3NQb29sKHdlYlByb2Nlc3NQb29sKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBs
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXIuY3BwCmluZGV4IDBjMDM5ZTZiYzY5NTgyNjNiYjEzYjA5ZTIxODIwYmY2M2I3YWNj
ZGEuLjBkODU3YmI3ODgzMjRjNjU4Y2VmNjcxNWMwYjIxY2FlZThjODI2YmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVz
YWdlU2FtcGxlci5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIGNvbnN0IGludDY0X3QgbWlj
cm9zZWNvbmRzUGVyU2Vjb25kID0gMTAwMDAwMDsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRlcyBsb2dnaW5nSW50ZXJ2YWwgeyA2
MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbG9nZ2luZ0ludGVydmFsIHsgNjBfbWluIH07CiAK
IFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgIDogbV9wcm9jZXNzUG9v
bChwcm9jZXNzUG9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDVjOWE5MTgyNDU2
NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjIzMDI0OTBkOWEzZmU4ZTY4NGMxYTExNWJl
ZDAzNDZhNmQ2MDkxNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAtMzI5LDcgKzMy
OSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiAgICAgZG91YmxlIHRp
bWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CiAKICAgICBpZiAobV9yZXBlYXQpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKKyAgICAgICAgbV90
aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwogICAgIGVsc2UK
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QodGltZUludGVydmFsKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZkYjA5MDJmNWI4Zjc1MDQ3ZmVh
ZGMyYzU0M2M2YWNjMmU1ZTAuLjIwMWIzZGNkODM5OTQ4NmI4ZTRlMmQ5MGM3NTlmMmE5NTFlZDQz
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAtNDUsNyArNDUs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWZu
ZGVmIE5QX05PX0NBUkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBudWxsRXZlbnRJbnRlcnZhbEFj
dGl2ZSA9IDAuMDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxsRXZlbnRJbnRlcnZhbEFjdGl2
ZSB7IDIwX21zIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VF
dmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcAppbmRleCA5MTJmMTVjMzBjZDMzOTM3MDhjY2Q0ODY0OTY4NzUwZTg1MWU1
MzQzLi41NjdlNDdhNGU3NWYyZjNhZGUxNTIzZDYxNGQzYTFlYjIxNDE3NmQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApA
QCAtNDA0LDEyICs0MDQsMTIgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpwYWludFRv
U3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAgICByZXR1cm4g
bV91cGRhdGVBdGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihzaXplLCBhdGxh
c0lELCBvZmZzZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNlSW5hY3RpdmVB
dGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgcmVsZWFzZUluYWN0aXZl
QXRsYXNlc1RpbWVySW50ZXJ2YWwgeyA1MDBfbXMgfTsKIAogdm9pZCBDb21wb3NpdGluZ0Nvb3Jk
aW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFjdGl2ZUF0bGFzZXMoKQogewogICAgIGlmICghbV9y
ZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZWxlYXNl
SW5hY3RpdmVBdGxhc2VzVGltZXIuc3RhcnRSZXBlYXRpbmcoUmVsZWFzZUluYWN0aXZlQXRsYXNl
c1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5z
dGFydFJlcGVhdGluZyhyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCk7CiB9CiAK
IHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVy
RmlyZWQoKQpAQCAtNDI2LDcgKzQyNiw3IEBAIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6
cmVsZWFzZUF0bGFzZXMoUmVsZWFzZUF0bGFzUG9saWN5IHBvbGljeSkKICAgICAgICAgVXBkYXRl
QXRsYXMqIGF0bGFzID0gbV91cGRhdGVBdGxhc2VzW2ldLmdldCgpOwogICAgICAgICBib29sIGlu
VXNlID0gYXRsYXMtPmlzSW5Vc2UoKTsKICAgICAgICAgaWYgKCFpblVzZSkKLSAgICAgICAgICAg
IGF0bGFzLT5hZGRUaW1lSW5hY3RpdmUoUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2
YWwpOworICAgICAgICAgICAgYXRsYXMtPmFkZFRpbWVJbmFjdGl2ZShyZWxlYXNlSW5hY3RpdmVB
dGxhc2VzVGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICAgICAgYm9vbCB1c2FibGVGb3JSb290
Q29udGVudHNMYXllciA9ICFhdGxhcy0+c3VwcG9ydHNBbHBoYSgpOwogICAgICAgICBpZiAoYXRs
YXMtPmlzSW5hY3RpdmUoKSB8fCAoIWluVXNlICYmIHBvbGljeSA9PSBSZWxlYXNlVW51c2VkKSkg
ewogICAgICAgICAgICAgaWYgKCFmb3VuZEFjdGl2ZUF0bGFzRm9yUm9vdENvbnRlbnRzTGF5ZXIg
JiYgIWF0bGFzVG9LZWVwQW55d2F5ICYmIHVzYWJsZUZvclJvb3RDb250ZW50c0xheWVyKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQxMjA3M2Fk
MmQ1MDI3YzAzZDI4NjhiZjFmNTQxZjlhOWUxZGVmN2MuLmJjMGFjY2MzMTU1NmE5ZjZjYWI1ZmYx
MTM2MGNiOGUwZThlMWExNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkg
b3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzA2NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRh
a2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHA6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgQ1NTUHJvcGVydGllcy5qc29uIHdp
dGggY29ycmVjdCBmaWxsLWFuZC1zdHJva2Ugc3RhdHVzLCBhbmQgb3RoZXIgY2xlYW51cApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCAxZGM3ZTkzOGE3NmU5
OTRiZTk3Njk4ZWU4MDVjYzZmZmVkNmZlM2RiLi5kMWRlMDMxYTA4YTA3NTE0ZGZjZGYwN2E1ZTVl
ZTRhMzZhMzA3NzMwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9S
dW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNw
cApAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQog
CiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAg
ICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0
aW5nKDEwX21zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306631</attachid>
            <date>2017-04-09 14:35:16 -0700</date>
            <delta_ts>2017-04-09 14:51:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409143507.patch</filename>
            <type>text/plain</type>
            <size>38134</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uNjQ1M2ZmMTdiNmIyNWZhNDFmZTgwODVlMWNkYjA0
NjJlOGY3NjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBl
IG5vdy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBlZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1
cGRhdGVBcHBlYXJhbmNlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93
UGFpbnRSZWN0KToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNr
QW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAq
IHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNjcm9sbFNuYXBUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3Zh
bCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnJlbmRlckludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJx
dWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KToKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKworMjAx
Ny0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0YXJ0
IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYjZkNGY1NTU3OWIzNWNkYjYyYTQ4NDdjZjg4MmRhZTAzODA2ZDMuLjY1MWE4YzZlYmZk
YzkxMDAwMjE0MTRkMGFjNGM0YWVlMGYyMTI5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNyBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIERyb3Ag
VGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3Bs
ZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRpbWVyOjpzdGFydCk6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA0N2Q3M2FmZTcxYzA4ODU2ODE4ODVkMzJiY2Y4N2MzZmIzMjVlNmY4Li5hZGM4NWZkM2Uz
M2Y0YWIyZjI1MGIyNjA4YTNhNWY0ZGY1NThjZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTYgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBEcm9w
IFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9w
bGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRo
IGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZlN2Nj
ZWE1MGE5Li4zNTczMDQyYzU2ZmY0Nzk3YmJmMDM5NWM1YzM0OTg4N2NlMTliNzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2Fk
IHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKwor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICog
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlT
YW1wbGVyOjppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSGlnaFBlcmZvcm1h
bmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QZXJBY3Rp
dml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2Fw
ZVBsdWdpbjo6VGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXMpOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0
OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDMwMDk2NzJi
MTAzNzdiMTUwMjlkYzQ5MGJiMTE1YzQ2MTI5NTZiYzAuLmRiNGM0MDQxYzk2NzM5NjgwNjliOWUz
ZmNiN2Q1ZDZlYzU1ODc0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2su
Y3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6
OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKQotICAgICAgICBtX3JlcXVlc3RGcmFtZVRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuIC8gbV9mcmFtZVJlcXVlc3RSYXRlLnZhbHVlKCkpOworICAgICAg
ICBtX3JlcXVlc3RGcmFtZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyAvIG1fZnJhbWVSZXF1ZXN0
UmF0ZS52YWx1ZSgpKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3NWUxNTMzYzg5ZDIwNWRi
ZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgwNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2
b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlu
a2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUK
ICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAo
c2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAg
aWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0
QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlua0ludGVydmFsID0gbV9m
cmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAg
bV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAg
ICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJiZGQ1OGZiYTY2NmUuLjRk
NjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQwLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3Vz
UHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUw
bXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRU
aW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3Rh
cnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9y
U291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMg
dGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIx
NSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25z
dCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9OwogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCkKIHsKQEAgLTM1
NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1Rp
bWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2
ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tU
aW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRM
YXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCiAg
ICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJl
cXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA3MTZkMjg2
NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJmZTg5MDhmNmRlOWI4YTc2
ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fcGxheWJhY2tTdGFy
dGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRlIGV2ZW50
IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAgIGRvdWJsZSBtX2Nsb2Nr
VGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9jbG9ja1Rp
bWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRl
IGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFUaW1lIG1fbGFzdFRpbWVV
cGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNw
cAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVlZmU4NTQ1Li42ZTM0NjVj
YjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2Ns
b2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lKDAp
CiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJu
VG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBk
YXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1
MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07CiAKIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzYsOCArNjc1LDggQEAg
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG5vdyA9
IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93IC0gbV9w
cmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRh
dGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFD
b250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNk
Mi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRp
bWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRp
bWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRmODFiNTY2MzkzYTEwOGQx
YjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJlYWU2Mzg3YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVu
dE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBl
bGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07CiAKIHN0YXRpYyBib29s
IGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7
CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmMTc4YTc2
ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3MDk2ZDMyNzBmZDFjNjMw
MDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5h
cHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1f
cGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUg
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50
UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNl
Y29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCB7
IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmco
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIy
OWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5MWYyMjk1MDg2YmIyM2Zj
YzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jl
c3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25z
dCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAog
Ly8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBj
b25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogLy8gSG93
IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRp
bmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0
b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFj
MjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQyNmY0NWQ4N2U1ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NCw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRpbWUgaW4gc2Vjb25kIGZv
ciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVyIGVkZ2Ugb2Ygc2Nyb2xs
YWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7
CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQg
d2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7CisvLyBXaGVuIHRoZSBhdXRv
c2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBl
dmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3Nj
cm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogc3Rh
dGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRjOTA3Li40ZDQ4ODcwYTgz
ZTJkZDRhNjE2YjVhNmEwZThlMGM0MzM0ODYyN2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVu
Y3kgPSAxMDAwIC8gNjA7Citjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSB7IDEwMDBfcyAv
IDYwLiB9OwogI2VuZGlmCiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50
ZWRMZWFrQ291bnRlciwgZnJhbWVDb3VudGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VPdmVybGF5LmNwcAppbmRleCAyY2E4NmY5ODI4MDgxNjM3ODRmMmFiN2ZhNDNlZWViYmVlMzc5
NWY4Li42YzRiNmQyYzIxYjRkNGUwZDYyMTA3Y2Y2ZTcxOGRkZWQyZjhkNWFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJs
YXk6OnN0b3BGYWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFu
aW1hdGlvbigpCiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUo
KTsKLSAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1h
dGlvbkZyYW1lUmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmco
MV9zIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CiB9CiAKIHZvaWQgUGFnZU92ZXJsYXk6OmZh
ZGVBbmltYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVy
LmgKaW5kZXggMTVlYjczZjIyYzc3MDAyMGJkNWM3ZTU0MDJmZTEwMDZlZGE1YWE1Yy4uMzEyOTIw
OGZlNTVkY2EwZDA5ODU1YzllMjNlMWViNzcxMzE0MzRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
dXNwZW5kYWJsZVRpbWVyLmgKQEAgLTQ1LDcgKzQ1LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZlKCkgfHwgKG1fc3VzcGVu
ZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3VzcGVuZGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyByZXBlYXRJbnRlcnZh
bCB9KTsgfQogICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydE9u
ZVNob3QoU2Vjb25kcyB7IGludGVydmFsIH0pOyB9CiAKICAgICBTZWNvbmRzIHJlcGVhdEludGVy
dmFsKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRU
ZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dl
ci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNlMzc2MGM3NS4uMjc4
YjRjZDljYjQxNzY3NTVhMjFjNzY5MWZkYzc2YzRkNTkwYWViNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyArNjAsNyBAQCB2b2lk
IFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRp
b25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1fdGVzdFRyaWdnZXJU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRp
bmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFydFJlcGVhdGlu
ZygxX3MgLyA2MC4pOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0
c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0
VHJpZ2dlclJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAppbmRleCAzMTRhOGRm
NzU5MDk5MTUzOTI3NWFhZDRhMzlkZDliNmM4ZWE2ZTBiLi5hNjU5NDAyN2E5OWVmMmNjOGVhYTcy
YzFlY2YxMDQ0MDFjNzg1ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2NhZGUgc3lzdGVtRm9udChUaGVtZUZv
bnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJuIEZvbnRDYXNjYWRlKCk7IH0KICAg
ICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtzIGluIHRleHQgZmllbGRzLgotICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biA1MDBfbXM7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hh
bmdlZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDU1ZjJmMjRiN2ZmNmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFkZjYuLjA1
MTc0YjRmMTRiMzY4MmU4ZDdiZGNmYTM0NWM4NDZhOGY5NmI1MjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHsgcmVwZWF0SW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2
YWwsIHJlcGVhdEludGVydmFsKTsgfQogCiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGlu
dGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IGUw
YmE4MGY5Y2E4ZDU1NWI1ODdjYjEwMTQxNjkzZTRjMzE2ZGZkZTQuLjFlOGY3ZGZkODdlYTMzOTc4
ZGVmOTRiZmRhYzdlMmJkYTE1ZmJhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtMzg2LDcgKzM4Niw3IEBAIGJvb2wgU2Ny
b2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9s
bENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQu
c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFy
dFJlcGVhdGluZygxX3MgLyA2MC4pOwogCiAgICAgbV9jbGllbnQuZGVmZXJUZXN0c0ZvclJlYXNv
bihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJsZUFyZWFJ
ZGVudGlmaWVyPih0aGlzKSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpSdWJiZXJiYW5kSW5Qcm9n
cmVzcyk7CiB9CkBAIC01NjIsNyArNTYyLDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNjcm9sbFNuYXBUaW1lcigpCiAKICAgICBzdGFydERlZmVycmluZ1Rlc3RzRHVlVG9TY3JvbGxT
bmFwcGluZygpOwogICAgIG1fY2xpZW50LnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCk7Ci0gICAgbV9z
Y3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgbV9zY3JvbGxT
bmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoMV9zIC8gNjAuKTsKIH0KIAogdm9pZCBTY3JvbGxDb250
cm9sbGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCA4YTkwYzJiZGJhZDQ4YzE0NWE1OGE5
MTg2NGMwMGZjMzcwZTM5YzM3Li5iODQ5NmIxOWUyZjRhY2ZiYjBhNmQ0YjljZGY2OTcyNTZjNmQ4
ODc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
R3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwCkBAIC01MjMsNyArNTIzLDcgQEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGlsZUdyaWQ6
Om9sZGVzdFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzY2hlZHVsZUNvaG9y
dFJlbW92YWwoKQogewotICAgIGNvbnN0IGRvdWJsZSBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRz
ID0gMTsKKyAgICBjb25zdCBTZWNvbmRzIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgeyAxX3Mg
fTsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVsZSB0aGUgdGltZXIgZnJv
bSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1fY29ob3J0UmVtb3ZhbFRp
bWVyLmlzQWN0aXZlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCmluZGV4IDU1YThkMzg0ZGU1ZWNlOWJmZjI4MTcwMTVlNWU3M2IwM2VjOTI0ZGEu
LjA0NjZmNzczMWQ5MzY2ZDlmMzg1MDc4MTkwYWY0ZTgwYzg3MzdhZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0xOTQ5LDcgKzE5NDks
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZmZXJp
bmcoKQogICAgIGlmIChzaG91bGREb3dubG9hZCkgewogICAgICAgICBHU1RfREVCVUcoIkVuYWJs
aW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5l
LmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8IGZsYWdEb3dubG9hZCwgbnVsbHB0cik7Ci0gICAgICAg
IG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CisgICAgICAgIG1fZmlsbFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDIwMF9tcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1NUX0RFQlVHKCJE
aXNhYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlw
ZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzICYgfmZsYWdEb3dubG9hZCwgbnVsbHB0cik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1Jl
YWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KaW5kZXggN2FiNDM4MzY0ZjFl
NzU2MmVhNjg4MTAxZjNkYjRkOWUxNmVlOWMyYy4uY2U0ZGFiYjM4ZWJlODg4OGYzY2MwMzdmZmY1
M2FmYTc0YjBiOTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5t
bQpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWM6OmVt
aXRTYW1wbGVCdWZmZXJzKHVpbnQzMl90IGZyYW1lQ291bnQpCiAKIHZvaWQgTW9ja1JlYWx0aW1l
QXVkaW9Tb3VyY2VNYWM6OnJlY29uZmlndXJlKCkKIHsKLSAgICBtX21heGltaXVtRnJhbWVDb3Vu
dCA9IFdURjo6cm91bmRVcFRvUG93ZXJPZlR3byhyZW5kZXJJbnRlcnZhbCgpIC8gMTAwMC4gKiBz
YW1wbGVSYXRlKCkgKiAyKTsKKyAgICBtX21heGltaXVtRnJhbWVDb3VudCA9IFdURjo6cm91bmRV
cFRvUG93ZXJPZlR3byhyZW5kZXJJbnRlcnZhbCgpLnNlY29uZHMoKSAqIHNhbXBsZVJhdGUoKSAq
IDIpOwogICAgIEFTU0VSVChtX21heGltaXVtRnJhbWVDb3VudCk7CiAKICAgICBjb25zdCBpbnQg
Ynl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAKaW5kZXggYmU2
YmRiZmJlZWE1YTBmYTJkNjA4MDQ3YjkyODkxNzQ0YzBlNzRmNC4uYzY0YzY0MGYxNWJhYjZkZGFm
MTBlMWZmNDM2OGFiOTI5NWEzOTVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAKQEAgLTEwOSw3ICsxMDks
NyBAQCB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKQog
ICAgIE1vY2tSZWFsdGltZU1lZGlhU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKTsKIAogICAg
IG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHJlbmRlckludGVydmFs
KCkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHJlbmRlckludGVydmFsKCkpOwogfQog
CiB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291
cmNlLmgKaW5kZXggZDg4MTRhMzViZmRlZDZmODgzOTUxMTI1YjllOTFlNTc0NWIxY2ZlNC4uMTMz
MWM3OTE4MTQ0ZTZlOTZmYzJhZjQyNTdiZmMyZTcxZmNkOGU2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuaApAQCAt
NTgsNyArNTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlbmRlcihkb3VibGUp
IHsgfQogCiAgICAgZG91YmxlIGVsYXBzZWRUaW1lKCk7Ci0gICAgc3RhdGljIGludCByZW5kZXJJ
bnRlcnZhbCgpIHsgcmV0dXJuIDYwOyB9CisgICAgc3RhdGljIFNlY29uZHMgcmVuZGVySW50ZXJ2
YWwoKSB7IHJldHVybiA2MF9tczsgfQogCiBwcml2YXRlOgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4
IDMzZmJiMTdiOTE0ZjZjZWQxYjk5OGIzODIwOThkYjdmN2M4NzZkMjEuLjhkYjBhOGM2Zjk4ODdk
YjA0ZDQyYjAyYjZlZWRjM2QwNTFjYjc0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC0xMDEsNyAr
MTAxLDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRh
KCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoMV9tcyAqIGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKTsKIH0KIAogdm9pZCBNb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKQpAQCAtMTU1LDcgKzE1NSw3IEBA
IHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmluaXRpYWxpemVTdXBwb3J0ZWRDb25zdHJh
aW50cyhSZWFsdGltZU1lZGlhU291cmNlCiBib29sIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZShkb3VibGUgcmF0ZSkKIHsKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOworICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5n
KDFfbXMgKiBscm91bmQoMTAwMCAvIHJhdGUpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZlcigp
OwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuY3BwCmluZGV4IDYwNTlkMjZkMWRmY2ZiMzYxNWJiYmJlMTZjZmQyM2UyNWRkZmMxNTcuLmM4
NzA0YzI4YTk2NjFjOGNjZmZjZDA5N2I5NWEyMzlhZmVmMzczMzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJl
bmRlck1hcnF1ZWU6OnN0YXJ0KCkKICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CiAgICAgfQog
Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgIG1fdGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMV9tcyAqIHNwZWVkKCkpOwogfQogCiB2b2lkIFJlbmRlck1hcnF1
ZWU6OnN1c3BlbmQoKQpAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6dXBk
YXRlTWFycXVlZVN0eWxlKCkKICAgICBpZiAoc3BlZWQoKSAhPSBtYXJxdWVlU3BlZWQoKSkgewog
ICAgICAgICBtX3NwZWVkID0gbWFycXVlZVNwZWVkKCk7CiAgICAgICAgIGlmIChtX3RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAw
LjAwMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfbXMgKiBzcGVlZCgp
KTsKICAgICB9CiAgICAgCiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdl
IHNob3VsZCBub3cgc3RvcC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5k
ZXggMTIyMjcxZTdkN2Q2MDlkNzcxMzQ1MGU0NzFjZWY0OTBiY2I5Y2Y5YS4uNzFkMTY1YTEwOGQ2
MTgwMzZlY2YzM2UwYjFhZDJhMjE5YjkxMGE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmgKQEAgLTE3OCw3ICsxNzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0
dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAgIHZpcnR1YWwgZG91Ymxl
IGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwg
U2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7IH0KIAog
ICAgIC8vIFN5c3RlbSBmb250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1G
b250KENTU1ZhbHVlSUQsIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGY1NjAwMDA5NjY0NDcx
YzllN2Q0NTdiYmFlNjM2NzY2MjNmYmNjYzcuLjE3Mjg0ZjQ5OThmMzE1MzRiNTQxOTUzOWI0OWM1
NDY0ZGE2MzUyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3Rr
LmNwcApAQCAtMTgwMiw3ICsxODAyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRJbm5l
clNwaW5CdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMKIH0KICNl
bmRpZiAvLyBHVEtfQ0hFQ0tfVkVSU0lPTigzLCAyMCwgMCkKIAotZG91YmxlIFJlbmRlclRoZW1l
R3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVtZUd0azo6
Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QKIHsKICAgICBHdGtTZXR0aW5ncyogc2V0dGluZ3Mg
PSBndGtfc2V0dGluZ3NfZ2V0X2RlZmF1bHQoKTsKIApAQCAtMTgxMiw5ICsxODEyLDkgQEAgZG91
YmxlIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogICAgIGdfb2Jq
ZWN0X2dldChzZXR0aW5ncywgImd0ay1jdXJzb3ItYmxpbmsiLCAmc2hvdWxkQmxpbmssICJndGst
Y3Vyc29yLWJsaW5rLXRpbWUiLCAmdGltZSwgbnVsbHB0cik7CiAKICAgICBpZiAoIXNob3VsZEJs
aW5rKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKIAotICAgIHJldHVy
biB0aW1lIC8gMjAwMC47CisgICAgcmV0dXJuIDJfbXMgKiB0aW1lOwogfQogCiBlbnVtIFN0eWxl
Q29sb3JUeXBlIHsgU3R5bGVDb2xvckJhY2tncm91bmQsIFN0eWxlQ29sb3JGb3JlZ3JvdW5kIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDkxNzIzNDU1
Zjc3M2NhMjc1M2Q4NjFhYzM3N2JiZjI1OWY5OWE4YmUuLjdiODJkOTMxNDY0NDRmZDRlZmVlNTYx
NGU1YzExZDc2ZGIxZWQ4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUd0ay5oCkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciBwbGF0Zm9ybUluYWN0
aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJyaWRlOwogICAg
IENvbG9yIHBsYXRmb3JtSW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZS5jcHAKaW5kZXggYTVlYTkzMmI3NDk1ZTllZGRkMDRlNmNjNjhjY2UzZDc4MzVi
N2E3ZS4uYTc3NjZkZmJkYjkxZTIzYjA1YzZiNWVmOWQyMjFhODIwMzAzNjBjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVt
UHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgPSAuMDU7IC8vIDUwIG1z
IHBlciBzcGVjaWZpY2F0aW9uLgorY29uc3QgU2Vjb25kcyBYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsIHsg
NTBfbXMgfTsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShF
dmVudFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzcz
LDEyIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNo
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJv
dHRsZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5n
dGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAg
IHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7
CiAgICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVh
c3QgZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNv
IG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJl
cXVlbnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGUuaAppbmRleCA3ODFkNmVjZTZlNTc1MjMxOWY0YzYzZmFkNGE2MGE5MjRm
ZTQ4M2YxLi4wMWMxN2E2NmYyOTVkNzQ2ZjVhMGVkM2EwNDcxZWM3OWI4MTJhMGIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGUuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN1bWUoKTsK
IAogcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1Qcm9ncmVzc0V2ZW50
RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBt
aW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWw7CiAKICAgICB2b2lkIGZpcmVk
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IGZlYTU1MDBiN2E2OTg3ZjkzYTkzNDY3YTdmZjYyYWI3Nzk5ZDJlZjkuLjA4N2ZjZmJjMDFiODZj
MGYxOTFhZGMwNDM1YWEwNDg1NWM3ZjcxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMzYsNyArMTM2LDcgQEAgcHVi
bGljOgogICAgICAgICAgICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCBU
aHJvdHRsZWRUaW1lckludGVydmFsKTsKICAgICAgICAgCiAgICAgICAgIGlmIChtX3JlcGVhdCkK
LSAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CisgICAgICAgICAgICBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBzdGFydE9uZVNob3QodGltZUludGVydmFsKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3
NWNjZDcwODI3YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjg1NzE4NTA4NDEwMmQwZDY2MWEzMDVj
NmRmMWM1OTYyODU2ZWFlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lcklu
dGVydmFsID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsIHsgMzNf
bXMgfTsKIAogLy8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKaW5kZXggMDUzZmE2
ZWEyOTczY2U3YjFkYjNjZmYzOTI3NTFlYWJmNGUxOGQxMC4uYmFiYzI4ODhjYjc1ZmI0NmYzODgw
ZDhjZGI4MzFmMmE3ZDI0NjIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
Yk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0
KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZQogCiB2
b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQog
ewotICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMSk7CisgICAgbV9zYW1wbGVUaW1l
ci5zdGFydFJlcGVhdGluZygxX3MpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxl
ciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlk
KCkpOwogICAgIGlmIChpbnRlcnZhbCA+IDApIHsKICAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNDlmMThlMzc4YTUyOWQwNTY1
YjBkN2VlOWU2MTg4MjEyY2ZkZDJiOC4uNzk5ZGE2NWM5YTdhM2U1MTRiY2Y1YzRjOTcwMDYzMDFl
NjYyOTdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50
ZXJ2YWwgPSAyNTBtczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFs
QWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MF9tczsKIAogI2lmIFBMQVRGT1JNKE1B
QykKIHN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3Zh
bFdhdGNoZG9nRHVyYXRpb24gPSA1czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwCmlu
ZGV4IDg1OTg5NTA3N2RjNWEzMTZlMWVjOWM3NzFmOWU4NDY2MWY2MzdjYWQuLjY2NDU1Y2U1Njg1
YzE0NWYwYTAyYjExMmFlMzIzMTllODI2MmQ5NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1w
bGVyLmNwcApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRlcyBzYW1w
bGluZ0ludGVydmFsIHsgMTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNhbXBsaW5nSW50ZXJ2
YWwgeyAxMF9taW4gfTsKIAogSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXI6Okhp
Z2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyKFdlYlByb2Nlc3NQb29sJiB3ZWJQcm9j
ZXNzUG9vbCkKICAgICA6IG1fd2ViUHJvY2Vzc1Bvb2wod2ViUHJvY2Vzc1Bvb2wpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2Ft
cGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVz
YWdlU2FtcGxlci5jcHAKaW5kZXggMGMwMzllNmJjNjk1ODI2M2JiMTNiMDllMjE4MjBiZjYzYjdh
Y2NkYS4uMGQ4NTdiYjc4ODMyNGM2NThjZWY2NzE1YzBiMjFjYWVlOGM4MjZiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BV
VXNhZ2VTYW1wbGVyLmNwcApAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgY29uc3QgaW50NjRfdCBt
aWNyb3NlY29uZHNQZXJTZWNvbmQgPSAxMDAwMDAwOwogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaW51dGVzIGxvZ2dpbmdJbnRlcnZhbCB7
IDYwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBsb2dnaW5nSW50ZXJ2YWwgeyA2MF9taW4gfTsK
IAogUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6UGVyQWN0aXZpdHlTdGF0ZUNQVVVz
YWdlU2FtcGxlcihXZWJQcm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCiAgICAgOiBtX3Byb2Nlc3NQ
b29sKHByb2Nlc3NQb29sKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKaW5kZXggNWM5YTkxODI0
NTY2YTQ2MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uMjMwMjQ5MGQ5YTNmZThlNjg0YzFhMTE1
YmVkMDM0NmE2ZDYwOTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCkBAIC0zMjksNyAr
MzI5LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKICAgICBkb3VibGUg
dGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKIAogICAgIGlmIChtX3JlcGVhdCkK
LSAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOworICAgICAgICBt
X3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CiAgICAgZWxz
ZQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCh0aW1lSW50ZXJ2YWwpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KaW5kZXggYjkyNmRiMDkwMmY1YjhmNzUwNDdm
ZWFkYzJjNTQzYzZhY2MyZTVlMC4uMjAxYjNkY2Q4Mzk5NDg2YjhlNGUyZDkwYzc1OWYyYTk1MWVk
NDMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCkBAIC00NSw3ICs0
NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNp
Zm5kZWYgTlBfTk9fQ0FSQk9OCi1zdGF0aWMgY29uc3QgZG91YmxlIG51bGxFdmVudEludGVydmFs
QWN0aXZlID0gMC4wMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG51bGxFdmVudEludGVydmFsQWN0
aXZlIHsgMjBfbXMgfTsKIAogc3RhdGljIHVuc2lnbmVkIGJ1dHRvblN0YXRlRnJvbUxhc3RNb3Vz
ZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuY3BwCmluZGV4IDkxMmYxNWMzMGNkMzM5MzcwOGNjZDQ4NjQ5Njg3NTBlODUx
ZTUzNDMuLjU2N2U0N2E0ZTc1ZjJmM2FkZTE1MjNkNjE0ZDNhMWViMjE0MTc2ZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3Bw
CkBAIC00MDQsMTIgKzQwNCwxMiBAQCBib29sIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnBhaW50
VG9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUsIENvb3JkaW5hdGVkU3VyZgogICAgIHJldHVy
biBtX3VwZGF0ZUF0bGFzZXMubGFzdCgpLT5wYWludE9uQXZhaWxhYmxlQnVmZmVyKHNpemUsIGF0
bGFzSUQsIG9mZnNldCwgY2xpZW50KTsKIH0KIAotY29uc3QgZG91YmxlIFJlbGVhc2VJbmFjdGl2
ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyByZWxlYXNlSW5hY3Rp
dmVBdGxhc2VzVGltZXJJbnRlcnZhbCB7IDUwMF9tcyB9OwogCiB2b2lkIENvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CiAgICAgaWYgKCFt
X3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlbGVh
c2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5zdGFydFJlcGVhdGluZyhSZWxlYXNlSW5hY3RpdmVBdGxh
c2VzVGltZXJJbnRlcnZhbCk7CisgICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVy
LnN0YXJ0UmVwZWF0aW5nKHJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsKTsKIH0K
IAogdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGlt
ZXJGaXJlZCgpCkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpyZWxlYXNlQXRsYXNlcyhSZWxlYXNlQXRsYXNQb2xpY3kgcG9saWN5KQogICAgICAgICBVcGRh
dGVBdGxhcyogYXRsYXMgPSBtX3VwZGF0ZUF0bGFzZXNbaV0uZ2V0KCk7CiAgICAgICAgIGJvb2wg
aW5Vc2UgPSBhdGxhcy0+aXNJblVzZSgpOwogICAgICAgICBpZiAoIWluVXNlKQotICAgICAgICAg
ICAgYXRsYXMtPmFkZFRpbWVJbmFjdGl2ZShSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRl
cnZhbCk7CisgICAgICAgICAgICBhdGxhcy0+YWRkVGltZUluYWN0aXZlKHJlbGVhc2VJbmFjdGl2
ZUF0bGFzZXNUaW1lckludGVydmFsLnZhbHVlKCkpOwogICAgICAgICBib29sIHVzYWJsZUZvclJv
b3RDb250ZW50c0xheWVyID0gIWF0bGFzLT5zdXBwb3J0c0FscGhhKCk7CiAgICAgICAgIGlmIChh
dGxhcy0+aXNJbmFjdGl2ZSgpIHx8ICghaW5Vc2UgJiYgcG9saWN5ID09IFJlbGVhc2VVbnVzZWQp
KSB7CiAgICAgICAgICAgICBpZiAoIWZvdW5kQWN0aXZlQXRsYXNGb3JSb290Q29udGVudHNMYXll
ciAmJiAhYXRsYXNUb0tlZXBBbnl3YXkgJiYgdXNhYmxlRm9yUm9vdENvbnRlbnRzTGF5ZXIpCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDEyMDcz
YWQyZDUwMjdjMDNkMjg2OGJmMWY1NDFmOWE5ZTFkZWY3Yy4uNjk0MTBiZTY4YzdhYjEwNzJjNjMy
YjdkMWQ2NzUyMWZlOTdmODAxZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmco
KSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBT
dXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0
YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDQtMDggIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIENTU1Byb3BlcnRpZXMuanNvbiB3
aXRoIGNvcnJlY3QgZmlsbC1hbmQtc3Ryb2tlIHN0YXR1cywgYW5kIG90aGVyIGNsZWFudXAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZl
OTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZmZTNkYi4uZDFkZTAzMWEwOGEwNzUxNGRmY2RmMDdhNWU1
ZWU0YTM2YTMwNzczMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
UnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5j
cHAKQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikK
IAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAg
ICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAgICAgICB0aW1lci5zdGFydFJlcGVh
dGluZygxMF9tcyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306632</attachid>
            <date>2017-04-09 14:51:05 -0700</date>
            <delta_ts>2017-04-09 15:22:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409145057.patch</filename>
            <type>text/plain</type>
            <size>38140</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uNjQ1M2ZmMTdiNmIyNWZhNDFmZTgwODVlMWNkYjA0
NjJlOGY3NjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBl
IG5vdy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBlZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1
cGRhdGVBcHBlYXJhbmNlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93
UGFpbnRSZWN0KToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNr
QW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAq
IHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNjcm9sbFNuYXBUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3Zh
bCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnJlbmRlckludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJx
dWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KToKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKworMjAx
Ny0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0YXJ0
IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYjZkNGY1NTU3OWIzNWNkYjYyYTQ4NDdjZjg4MmRhZTAzODA2ZDMuLjY1MWE4YzZlYmZk
YzkxMDAwMjE0MTRkMGFjNGM0YWVlMGYyMTI5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNyBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIERyb3Ag
VGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3Bs
ZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRpbWVyOjpzdGFydCk6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA0N2Q3M2FmZTcxYzA4ODU2ODE4ODVkMzJiY2Y4N2MzZmIzMjVlNmY4Li5hZGM4NWZkM2Uz
M2Y0YWIyZjI1MGIyNjA4YTNhNWY0ZGY1NThjZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTYgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBEcm9w
IFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9w
bGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRo
IGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZlN2Nj
ZWE1MGE5Li4zNTczMDQyYzU2ZmY0Nzk3YmJmMDM5NWM1YzM0OTg4N2NlMTliNzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2Fk
IHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKwor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICog
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlT
YW1wbGVyOjppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSGlnaFBlcmZvcm1h
bmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QZXJBY3Rp
dml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2Fw
ZVBsdWdpbjo6VGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXMpOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0
OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDMwMDk2NzJi
MTAzNzdiMTUwMjlkYzQ5MGJiMTE1YzQ2MTI5NTZiYzAuLmRiNGM0MDQxYzk2NzM5NjgwNjliOWUz
ZmNiN2Q1ZDZlYzU1ODc0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2su
Y3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6
OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKQotICAgICAgICBtX3JlcXVlc3RGcmFtZVRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuIC8gbV9mcmFtZVJlcXVlc3RSYXRlLnZhbHVlKCkpOworICAgICAg
ICBtX3JlcXVlc3RGcmFtZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyAvIG1fZnJhbWVSZXF1ZXN0
UmF0ZS52YWx1ZSgpKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3NWUxNTMzYzg5ZDIwNWRi
ZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgwNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2
b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlu
a2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUK
ICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAo
c2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAg
aWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0
QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlua0ludGVydmFsID0gbV9m
cmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAg
bV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAg
ICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJiZGQ1OGZiYTY2NmUuLjRk
NjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQwLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3Vz
UHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUw
bXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRU
aW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3Rh
cnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9y
U291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMg
dGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIx
NSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25z
dCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9OwogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCkKIHsKQEAgLTM1
NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1Rp
bWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2
ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tU
aW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRM
YXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCiAg
ICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJl
cXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA3MTZkMjg2
NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJmZTg5MDhmNmRlOWI4YTc2
ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fcGxheWJhY2tTdGFy
dGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRlIGV2ZW50
IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAgIGRvdWJsZSBtX2Nsb2Nr
VGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9jbG9ja1Rp
bWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRl
IGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFUaW1lIG1fbGFzdFRpbWVV
cGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNw
cAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVlZmU4NTQ1Li42ZTM0NjVj
YjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2Ns
b2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lKDAp
CiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJu
VG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBk
YXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1
MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07CiAKIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzYsOCArNjc1LDggQEAg
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG5vdyA9
IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93IC0gbV9w
cmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRh
dGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFD
b250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNk
Mi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRp
bWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRp
bWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRmODFiNTY2MzkzYTEwOGQx
YjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJlYWU2Mzg3YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVu
dE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBl
bGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07CiAKIHN0YXRpYyBib29s
IGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7
CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmMTc4YTc2
ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3MDk2ZDMyNzBmZDFjNjMw
MDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5h
cHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1f
cGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUg
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50
UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNl
Y29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCB7
IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmco
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIy
OWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5MWYyMjk1MDg2YmIyM2Zj
YzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jl
c3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25z
dCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAog
Ly8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBj
b25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogLy8gSG93
IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRp
bmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0
b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFj
MjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQyNmY0NWQ4N2U1ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NCw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRpbWUgaW4gc2Vjb25kIGZv
ciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVyIGVkZ2Ugb2Ygc2Nyb2xs
YWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7
CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQg
d2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7CisvLyBXaGVuIHRoZSBhdXRv
c2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBl
dmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3Nj
cm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogc3Rh
dGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRjOTA3Li4yZjQxNjExNGJm
ODU2YjIzN2NiNGY3YmM0NWNiYzM0ZTRhOGY0YjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVu
Y3kgPSAxMDAwIC8gNjA7Citjb25zdCBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSB7IDEw
MDBfcyAvIDYwLiB9OwogI2VuZGlmCiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJl
ZkNvdW50ZWRMZWFrQ291bnRlciwgZnJhbWVDb3VudGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCAyY2E4NmY5ODI4MDgxNjM3ODRmMmFiN2ZhNDNlZWVi
YmVlMzc5NWY4Li42YzRiNmQyYzIxYjRkNGUwZDYyMTA3Y2Y2ZTcxOGRkZWQyZjhkNWFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFn
ZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0
RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVu
dFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFk
ZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBl
YXRpbmcoMV9zIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CiB9CiAKIHZvaWQgUGFnZU92ZXJs
YXk6OmZhZGVBbmltYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJs
ZVRpbWVyLmgKaW5kZXggMTVlYjczZjIyYzc3MDAyMGJkNWM3ZTU0MDJmZTEwMDZlZGE1YWE1Yy4u
MzEyOTIwOGZlNTVkY2EwZDA5ODU1YzllMjNlMWViNzcxMzE0MzRmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTQ1LDcgKzQ1LDYgQEAgcHVibGljOgogICAgIGJv
b2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZlKCkgfHwgKG1f
c3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3VzcGVuZGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmco
ZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyByZXBlYXRJ
bnRlcnZhbCB9KTsgfQogICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBz
dGFydE9uZVNob3QoU2Vjb25kcyB7IGludGVydmFsIH0pOyB9CiAKICAgICBTZWNvbmRzIHJlcGVh
dEludGVydmFsKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVs
RXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0
VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNlMzc2MGM3
NS4uMjc4YjRjZDljYjQxNzY3NTVhMjFjNzY5MWZkYzc2YzRkNTkwYWViNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyArNjAsNyBA
QCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3Rp
ZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1fdGVzdFRy
aWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRS
ZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFydFJl
cGVhdGluZygxX3MgLyA2MC4pOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVm
ZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVm
ZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAppbmRleCAz
MTRhOGRmNzU5MDk5MTUzOTI3NWFhZDRhMzlkZDliNmM4ZWE2ZTBiLi5hNjU5NDAyN2E5OWVmMmNj
OGVhYTcyYzFlY2YxMDQ0MDFjNzg1ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKQEAgLTc2
LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2NhZGUgc3lzdGVtRm9udChU
aGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJuIEZvbnRDYXNjYWRlKCk7
IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtzIGluIHRleHQgZmllbGRz
LgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJu
IDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiA1MDBfbXM7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBo
YXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCmluZGV4IDU1ZjJmMjRiN2ZmNmU1MzMxOTZmODljYzYyY2U5NTQ5YTM4ZjFk
ZjYuLjA1MTc0YjRmMTRiMzY4MmU4ZDdiZGNmYTM0NWM4NDZhOGY5NmI1MjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJ
bnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZh
bCkgeyBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgcmVwZWF0SW50ZXJ2YWwgfSk7IH0KICAgICB2
b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0
SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQogCiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91
YmxlIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmlu
ZGV4IGUwYmE4MGY5Y2E4ZDU1NWI1ODdjYjEwMTQxNjkzZTRjMzE2ZGZkZTQuLjFlOGY3ZGZkODdl
YTMzOTc4ZGVmOTRiZmRhYzdlMmJkYTE1ZmJhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtMzg2LDcgKzM4Niw3IEBAIGJv
b2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9j
bGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1l
ci5zdGFydFJlcGVhdGluZygxX3MgLyA2MC4pOwogCiAgICAgbV9jbGllbnQuZGVmZXJUZXN0c0Zv
clJlYXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJs
ZUFyZWFJZGVudGlmaWVyPih0aGlzKSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpSdWJiZXJiYW5k
SW5Qcm9ncmVzcyk7CiB9CkBAIC01NjIsNyArNTYyLDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVy
OjpzdGFydFNjcm9sbFNuYXBUaW1lcigpCiAKICAgICBzdGFydERlZmVycmluZ1Rlc3RzRHVlVG9T
Y3JvbGxTbmFwcGluZygpOwogICAgIG1fY2xpZW50LnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCk7Ci0g
ICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgbV9z
Y3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoMV9zIC8gNjAuKTsKIH0KIAogdm9pZCBTY3Jv
bGxDb250cm9sbGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCA4YTkwYzJiZGJhZDQ4YzE0
NWE1OGE5MTg2NGMwMGZjMzcwZTM5YzM3Li5iODQ5NmIxOWUyZjRhY2ZiYjBhNmQ0YjljZGY2OTcy
NTZjNmQ4ODc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUdyaWQuY3BwCkBAIC01MjMsNyArNTIzLDcgQEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGls
ZUdyaWQ6Om9sZGVzdFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzY2hlZHVs
ZUNvaG9ydFJlbW92YWwoKQogewotICAgIGNvbnN0IGRvdWJsZSBjb2hvcnRSZW1vdmFsVGltZXJT
ZWNvbmRzID0gMTsKKyAgICBjb25zdCBTZWNvbmRzIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMg
eyAxX3MgfTsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVsZSB0aGUgdGlt
ZXIgZnJvbSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1fY29ob3J0UmVt
b3ZhbFRpbWVyLmlzQWN0aXZlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCmluZGV4IDU1YThkMzg0ZGU1ZWNlOWJmZjI4MTcwMTVlNWU3M2IwM2Vj
OTI0ZGEuLjA0NjZmNzczMWQ5MzY2ZDlmMzg1MDc4MTkwYWY0ZTgwYzg3MzdhZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0xOTQ5LDcg
KzE5NDksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRC
dWZmZXJpbmcoKQogICAgIGlmIChzaG91bGREb3dubG9hZCkgewogICAgICAgICBHU1RfREVCVUco
IkVuYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3Bp
cGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8IGZsYWdEb3dubG9hZCwgbnVsbHB0cik7Ci0g
ICAgICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CisgICAgICAgIG1fZmlsbFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDIwMF9tcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1NUX0RF
QlVHKCJEaXNhYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0
KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzICYgfmZsYWdEb3dubG9hZCwgbnVsbHB0
cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KaW5kZXggN2FiNDM4
MzY0ZjFlNzU2MmVhNjg4MTAxZjNkYjRkOWUxNmVlOWMyYy4uY2U0ZGFiYjM4ZWJlODg4OGYzY2Mw
MzdmZmY1M2FmYTc0YjBiOTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJj
ZU1hYy5tbQpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VN
YWM6OmVtaXRTYW1wbGVCdWZmZXJzKHVpbnQzMl90IGZyYW1lQ291bnQpCiAKIHZvaWQgTW9ja1Jl
YWx0aW1lQXVkaW9Tb3VyY2VNYWM6OnJlY29uZmlndXJlKCkKIHsKLSAgICBtX21heGltaXVtRnJh
bWVDb3VudCA9IFdURjo6cm91bmRVcFRvUG93ZXJPZlR3byhyZW5kZXJJbnRlcnZhbCgpIC8gMTAw
MC4gKiBzYW1wbGVSYXRlKCkgKiAyKTsKKyAgICBtX21heGltaXVtRnJhbWVDb3VudCA9IFdURjo6
cm91bmRVcFRvUG93ZXJPZlR3byhyZW5kZXJJbnRlcnZhbCgpLnNlY29uZHMoKSAqIHNhbXBsZVJh
dGUoKSAqIDIpOwogICAgIEFTU0VSVChtX21heGltaXVtRnJhbWVDb3VudCk7CiAKICAgICBjb25z
dCBpbnQgYnl0ZXNQZXJGbG9hdCA9IHNpemVvZihGbG9hdDMyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAKaW5k
ZXggYmU2YmRiZmJlZWE1YTBmYTJkNjA4MDQ3YjkyODkxNzQ0YzBlNzRmNC4uYzY0YzY0MGYxNWJh
YjZkZGFmMTBlMWZmNDM2OGFiOTI5NWEzOTVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAKQEAgLTEwOSw3
ICsxMDksNyBAQCB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0Rh
dGEoKQogICAgIE1vY2tSZWFsdGltZU1lZGlhU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKTsK
IAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAg
bV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHJlbmRlcklu
dGVydmFsKCkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHJlbmRlckludGVydmFsKCkp
OwogfQogCiB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1
ZGlvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1
ZGlvU291cmNlLmgKaW5kZXggZDg4MTRhMzViZmRlZDZmODgzOTUxMTI1YjllOTFlNTc0NWIxY2Zl
NC4uMTMzMWM3OTE4MTQ0ZTZlOTZmYzJhZjQyNTdiZmMyZTcxZmNkOGU2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2Uu
aApAQCAtNTgsNyArNTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlbmRlcihk
b3VibGUpIHsgfQogCiAgICAgZG91YmxlIGVsYXBzZWRUaW1lKCk7Ci0gICAgc3RhdGljIGludCBy
ZW5kZXJJbnRlcnZhbCgpIHsgcmV0dXJuIDYwOyB9CisgICAgc3RhdGljIFNlY29uZHMgcmVuZGVy
SW50ZXJ2YWwoKSB7IHJldHVybiA2MF9tczsgfQogCiBwcml2YXRlOgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3Bw
CmluZGV4IDMzZmJiMTdiOTE0ZjZjZWQxYjk5OGIzODIwOThkYjdmN2M4NzZkMjEuLjhkYjBhOGM2
Zjk4ODdkYjA0ZDQyYjAyYjZlZWRjM2QwNTFjYjc0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC0x
MDEsNyArMTAxLDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNp
bmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1fdGltZXIuc3RhcnRS
ZXBlYXRpbmcoMV9tcyAqIGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKTsKIH0KIAogdm9pZCBN
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKQpAQCAtMTU1LDcgKzE1
NSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmluaXRpYWxpemVTdXBwb3J0ZWRD
b25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlCiBib29sIE1vY2tSZWFsdGltZVZpZGVvU291
cmNlOjphcHBseUZyYW1lUmF0ZShkb3VibGUgcmF0ZSkKIHsKICAgICBpZiAobV90aW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOworICAgICAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDFfbXMgKiBscm91bmQoMTAwMCAvIHJhdGUpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1
ZmZlcigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1hcnF1ZWUuY3BwCmluZGV4IDYwNTlkMjZkMWRmY2ZiMzYxNWJiYmJlMTZjZmQyM2UyNWRkZmMx
NTcuLmM4NzA0YzI4YTk2NjFjOGNjZmZjZDA5N2I5NWEyMzlhZmVmMzczMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2
b2lkIFJlbmRlck1hcnF1ZWU6OnN0YXJ0KCkKICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CiAg
ICAgfQogCi0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAg
IG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoMV9tcyAqIHNwZWVkKCkpOwogfQogCiB2b2lkIFJlbmRl
ck1hcnF1ZWU6OnN1c3BlbmQoKQpAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgUmVuZGVyTWFycXVl
ZTo6dXBkYXRlTWFycXVlZVN0eWxlKCkKICAgICBpZiAoc3BlZWQoKSAhPSBtYXJxdWVlU3BlZWQo
KSkgewogICAgICAgICBtX3NwZWVkID0gbWFycXVlZVNwZWVkKCk7CiAgICAgICAgIGlmIChtX3Rp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVk
KCkgKiAwLjAwMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfbXMgKiBz
cGVlZCgpKTsKICAgICB9CiAgICAgCiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2Vl
IGlmIHdlIHNob3VsZCBub3cgc3RvcC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKaW5kZXggMTIyMjcxZTdkN2Q2MDlkNzcxMzQ1MGU0NzFjZWY0OTBiY2I5Y2Y5YS4uNzFkMTY1
YTEwOGQ2MTgwMzZlY2YzM2UwYjFhZDJhMjE5YjkxMGE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKQEAgLTE3OCw3ICsxNzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAg
ICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAgIHZpcnR1YWwg
ZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZp
cnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiA1MDBfbXM7
IH0KIAogICAgIC8vIFN5c3RlbSBmb250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBz
eXN0ZW1Gb250KENTU1ZhbHVlSUQsIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGY1NjAwMDA5
NjY0NDcxYzllN2Q0NTdiYmFlNjM2NzY2MjNmYmNjYzcuLjE3Mjg0ZjQ5OThmMzE1MzRiNTQxOTUz
OWI0OWM1NDY0ZGE2MzUyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lR3RrLmNwcApAQCAtMTgwMiw3ICsxODAyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFp
bnRJbm5lclNwaW5CdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJPYmplY3QsIGNvbnMK
IH0KICNlbmRpZiAvLyBHVEtfQ0hFQ0tfVkVSU0lPTigzLCAyMCwgMCkKIAotZG91YmxlIFJlbmRl
clRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBSZW5kZXJUaGVt
ZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QKIHsKICAgICBHdGtTZXR0aW5ncyogc2V0
dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2RlZmF1bHQoKTsKIApAQCAtMTgxMiw5ICsxODEyLDkg
QEAgZG91YmxlIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogICAg
IGdfb2JqZWN0X2dldChzZXR0aW5ncywgImd0ay1jdXJzb3ItYmxpbmsiLCAmc2hvdWxkQmxpbmss
ICJndGstY3Vyc29yLWJsaW5rLXRpbWUiLCAmdGltZSwgbnVsbHB0cik7CiAKICAgICBpZiAoIXNo
b3VsZEJsaW5rKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKIAotICAg
IHJldHVybiB0aW1lIC8gMjAwMC47CisgICAgcmV0dXJuIDJfbXMgKiB0aW1lOwogfQogCiBlbnVt
IFN0eWxlQ29sb3JUeXBlIHsgU3R5bGVDb2xvckJhY2tncm91bmQsIFN0eWxlQ29sb3JGb3JlZ3Jv
dW5kIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVH
dGsuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDkx
NzIzNDU1Zjc3M2NhMjc1M2Q4NjFhYzM3N2JiZjI1OWY5OWE4YmUuLjdiODJkOTMxNDY0NDRmZDRl
ZmVlNTYxNGU1YzExZDc2ZGIxZWQ4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUd0ay5oCkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciBwbGF0Zm9y
bUluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJyaWRl
OwogICAgIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENv
bG9yKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggYTVlYTkzMmI3NDk1ZTllZGRkMDRlNmNjNjhjY2Uz
ZDc4MzViN2E3ZS4uYTc3NjZkZmJkYjkxZTIzYjA1YzZiNWVmOWQyMjFhODIwMzAzNjBjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpt
aW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgPSAuMDU7IC8v
IDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgorY29uc3QgU2Vjb25kcyBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsIHsgNTBfbXMgfTsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZShFdmVudFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMs
MTIgKzczLDEyIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRp
c3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9o
YXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50
LCBsZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0
aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7Cisg
ICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRl
cnZhbCk7CiAgICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZl
IHNvIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0
aGUgbGVhc3QgZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0
aXZlIHNvIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVh
c3QgZnJlcXVlbnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRleCA3ODFkNmVjZTZlNTc1MjMxOWY0YzYzZmFkNGE2
MGE5MjRmZTQ4M2YxLi4wMWMxN2E2NmYyOTVkNzQ2ZjVhMGVkM2EwNDcxZWM3OWI4MTJhMGIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGUuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN1
bWUoKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kczsKKyAgICBzdGF0aWMgY29uc3QgU2Vj
b25kcyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWw7CiAKICAgICB2b2lk
IGZpcmVkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CmluZGV4IGZlYTU1MDBiN2E2OTg3ZjkzYTkzNDY3YTdmZjYyYWI3Nzk5ZDJlZjkuLjA4N2ZjZmJj
MDFiODZjMGYxOTFhZGMwNDM1YWEwNDg1NWM3ZjcxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMzYsNyArMTM2LDcg
QEAgcHVibGljOgogICAgICAgICAgICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVy
dmFsLCBUaHJvdHRsZWRUaW1lckludGVydmFsKTsKICAgICAgICAgCiAgICAgICAgIGlmIChtX3Jl
cGVhdCkKLSAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CisgICAgICAg
ICAgICBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBzdGFydE9uZVNob3QodGltZUludGVydmFsKTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJj
MThkZWI3NWNjZDcwODI3YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjg1NzE4NTA4NDEwMmQwZDY2
MWEzMDVjNmRmMWM1OTYyODU2ZWFlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0
aW1lckludGVydmFsID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFs
IHsgMzNfbXMgfTsKIAogLy8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0
ID0gNTk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKaW5kZXgg
MDUzZmE2ZWEyOTczY2U3YjFkYjNjZmYzOTI3NTFlYWJmNGUxOGQxMC4uYmFiYzI4ODhjYjc1ZmI0
NmYzODgwZDhjZGI4MzFmMmE3ZDI0NjIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6
OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRs
ZQogCiB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVy
dmFsKQogewotICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMSk7CisgICAgbV9zYW1w
bGVUaW1lci5zdGFydFJlcGVhdGluZygxX3MpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1vcnkg
c2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEoKSwg
Z2V0cGlkKCkpOwogICAgIGlmIChpbnRlcnZhbCA+IDApIHsKICAgICAgICAgbV9zdG9wVGltZXIu
c3RhcnRPbmVTaG90KGludGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNDlmMThlMzc4YTUy
OWQwNTY1YjBkN2VlOWU2MTg4MjEyY2ZkZDJiOC4uNzk5ZGE2NWM5YTdhM2U1MTRiY2Y1YzRjOTcw
MDYzMDFlNjYyOTdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IHN0
ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0
VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3Qgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9y
aW5nSW50ZXJ2YWwgPSAyNTBtczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MF9tczsKIAogI2lmIFBMQVRG
T1JNKE1BQykKIHN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90
UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIu
Y3BwCmluZGV4IDg1OTg5NTA3N2RjNWEzMTZlMWVjOWM3NzFmOWU4NDY2MWY2MzdjYWQuLjY2NDU1
Y2U1Njg1YzE0NWYwYTAyYjExMmFlMzIzMTllODI2MmQ5NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNh
Z2VTYW1wbGVyLmNwcApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRl
cyBzYW1wbGluZ0ludGVydmFsIHsgMTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNhbXBsaW5n
SW50ZXJ2YWwgeyAxMF9taW4gfTsKIAogSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBs
ZXI6OkhpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyKFdlYlByb2Nlc3NQb29sJiB3
ZWJQcm9jZXNzUG9vbCkKICAgICA6IG1fd2ViUHJvY2Vzc1Bvb2wod2ViUHJvY2Vzc1Bvb2wpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVz
YWdlU2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0
ZUNQVVVzYWdlU2FtcGxlci5jcHAKaW5kZXggMGMwMzllNmJjNjk1ODI2M2JiMTNiMDllMjE4MjBi
ZjYzYjdhY2NkYS4uMGQ4NTdiYjc4ODMyNGM2NThjZWY2NzE1YzBiMjFjYWVlOGM4MjZiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVVc2Fn
ZVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0
YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcApAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgY29uc3QgaW50
NjRfdCBtaWNyb3NlY29uZHNQZXJTZWNvbmQgPSAxMDAwMDAwOwogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaW51dGVzIGxvZ2dpbmdJbnRl
cnZhbCB7IDYwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBsb2dnaW5nSW50ZXJ2YWwgeyA2MF9t
aW4gfTsKIAogUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjo6UGVyQWN0aXZpdHlTdGF0
ZUNQVVVzYWdlU2FtcGxlcihXZWJQcm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCiAgICAgOiBtX3By
b2Nlc3NQb29sKHByb2Nlc3NQb29sKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKaW5kZXggNWM5
YTkxODI0NTY2YTQ2MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uMjMwMjQ5MGQ5YTNmZThlNjg0
YzFhMTE1YmVkMDM0NmE2ZDYwOTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCkBAIC0z
MjksNyArMzI5LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKICAgICBk
b3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKIAogICAgIGlmIChtX3Jl
cGVhdCkKLSAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CiAg
ICAgZWxzZQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCh0aW1lSW50ZXJ2YWwpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KaW5kZXggYjkyNmRiMDkwMmY1Yjhm
NzUwNDdmZWFkYzJjNTQzYzZhY2MyZTVlMC4uMjAxYjNkY2Q4Mzk5NDg2YjhlNGUyZDkwYzc1OWYy
YTk1MWVkNDMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCkBAIC00
NSw3ICs0NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7
CiAKICNpZm5kZWYgTlBfTk9fQ0FSQk9OCi1zdGF0aWMgY29uc3QgZG91YmxlIG51bGxFdmVudElu
dGVydmFsQWN0aXZlID0gMC4wMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG51bGxFdmVudEludGVy
dmFsQWN0aXZlIHsgMjBfbXMgfTsKIAogc3RhdGljIHVuc2lnbmVkIGJ1dHRvblN0YXRlRnJvbUxh
c3RNb3VzZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBv
c2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDkxMmYxNWMzMGNkMzM5MzcwOGNjZDQ4NjQ5Njg3
NTBlODUxZTUzNDMuLjU2N2U0N2E0ZTc1ZjJmM2FkZTE1MjNkNjE0ZDNhMWViMjE0MTc2ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0
b3IuY3BwCkBAIC00MDQsMTIgKzQwNCwxMiBAQCBib29sIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6
OnBhaW50VG9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUsIENvb3JkaW5hdGVkU3VyZgogICAg
IHJldHVybiBtX3VwZGF0ZUF0bGFzZXMubGFzdCgpLT5wYWludE9uQXZhaWxhYmxlQnVmZmVyKHNp
emUsIGF0bGFzSUQsIG9mZnNldCwgY2xpZW50KTsKIH0KIAotY29uc3QgZG91YmxlIFJlbGVhc2VJ
bmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyByZWxlYXNl
SW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCB7IDUwMF9tcyB9OwogCiB2b2lkIENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CiAgICAg
aWYgKCFtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5zdGFydFJlcGVhdGluZyhSZWxlYXNlSW5hY3Rp
dmVBdGxhc2VzVGltZXJJbnRlcnZhbCk7CisgICAgICAgIG1fcmVsZWFzZUluYWN0aXZlQXRsYXNl
c1RpbWVyLnN0YXJ0UmVwZWF0aW5nKHJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFs
KTsKIH0KIAogdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxh
c2VzVGltZXJGaXJlZCgpCkBAIC00MjYsNyArNDI2LDcgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3Jk
aW5hdG9yOjpyZWxlYXNlQXRsYXNlcyhSZWxlYXNlQXRsYXNQb2xpY3kgcG9saWN5KQogICAgICAg
ICBVcGRhdGVBdGxhcyogYXRsYXMgPSBtX3VwZGF0ZUF0bGFzZXNbaV0uZ2V0KCk7CiAgICAgICAg
IGJvb2wgaW5Vc2UgPSBhdGxhcy0+aXNJblVzZSgpOwogICAgICAgICBpZiAoIWluVXNlKQotICAg
ICAgICAgICAgYXRsYXMtPmFkZFRpbWVJbmFjdGl2ZShSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBhdGxhcy0+YWRkVGltZUluYWN0aXZlKHJlbGVhc2VJ
bmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsLnZhbHVlKCkpOwogICAgICAgICBib29sIHVzYWJs
ZUZvclJvb3RDb250ZW50c0xheWVyID0gIWF0bGFzLT5zdXBwb3J0c0FscGhhKCk7CiAgICAgICAg
IGlmIChhdGxhcy0+aXNJbmFjdGl2ZSgpIHx8ICghaW5Vc2UgJiYgcG9saWN5ID09IFJlbGVhc2VV
bnVzZWQpKSB7CiAgICAgICAgICAgICBpZiAoIWZvdW5kQWN0aXZlQXRsYXNGb3JSb290Q29udGVu
dHNMYXllciAmJiAhYXRsYXNUb0tlZXBBbnl3YXkgJiYgdXNhYmxlRm9yUm9vdENvbnRlbnRzTGF5
ZXIpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZDEyMDczYWQyZDUwMjdjMDNkMjg2OGJmMWY1NDFmOWE5ZTFkZWY3Yy4uNjk0MTBiZTY4YzdhYjEw
NzJjNjMyYjdkMWQ2NzUyMWZlOTdmODAxZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBl
YXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5IFl1
c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVy
bG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5v
dy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDQtMDggIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIENTU1Byb3BlcnRpZXMu
anNvbiB3aXRoIGNvcnJlY3QgZmlsbC1hbmQtc3Ryb2tlIHN0YXR1cywgYW5kIG90aGVyIGNsZWFu
dXAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5
MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZmZTNkYi4uZDFkZTAzMWEwOGEwNzUxNGRmY2Rm
MDdhNWU1ZWU0YTM2YTMwNzczMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVu
TG9vcC5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdU
aW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7
Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAgICAgICB0aW1lci5zdGFy
dFJlcGVhdGluZygxMF9tcyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAg
ICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306633</attachid>
            <date>2017-04-09 15:22:26 -0700</date>
            <delta_ts>2017-04-09 15:49:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409152217.patch</filename>
            <type>text/plain</type>
            <size>38141</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uNjQ1M2ZmMTdiNmIyNWZhNDFmZTgwODVlMWNkYjA0
NjJlOGY3NjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBl
IG5vdy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBlZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1
cGRhdGVBcHBlYXJhbmNlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93
UGFpbnRSZWN0KToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNr
QW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAq
IHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNjcm9sbFNuYXBUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3Zh
bCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnJlbmRlckludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJx
dWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KToKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKworMjAx
Ny0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0YXJ0
IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYjZkNGY1NTU3OWIzNWNkYjYyYTQ4NDdjZjg4MmRhZTAzODA2ZDMuLjY1MWE4YzZlYmZk
YzkxMDAwMjE0MTRkMGFjNGM0YWVlMGYyMTI5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNyBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIERyb3Ag
VGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3Bs
ZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRpbWVyOjpzdGFydCk6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA0N2Q3M2FmZTcxYzA4ODU2ODE4ODVkMzJiY2Y4N2MzZmIzMjVlNmY4Li5hZGM4NWZkM2Uz
M2Y0YWIyZjI1MGIyNjA4YTNhNWY0ZGY1NThjZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTYgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBEcm9w
IFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9w
bGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRo
IGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZlN2Nj
ZWE1MGE5Li4zNTczMDQyYzU2ZmY0Nzk3YmJmMDM5NWM1YzM0OTg4N2NlMTliNzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2Fk
IHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKwor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICog
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlT
YW1wbGVyOjppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSGlnaFBlcmZvcm1h
bmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QZXJBY3Rp
dml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2Fw
ZVBsdWdpbjo6VGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXMpOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0
OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDMwMDk2NzJi
MTAzNzdiMTUwMjlkYzQ5MGJiMTE1YzQ2MTI5NTZiYzAuLmRiNGM0MDQxYzk2NzM5NjgwNjliOWUz
ZmNiN2Q1ZDZlYzU1ODc0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2su
Y3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6
OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKQotICAgICAgICBtX3JlcXVlc3RGcmFtZVRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuIC8gbV9mcmFtZVJlcXVlc3RSYXRlLnZhbHVlKCkpOworICAgICAg
ICBtX3JlcXVlc3RGcmFtZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyAvIG1fZnJhbWVSZXF1ZXN0
UmF0ZS52YWx1ZSgpKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3NWUxNTMzYzg5ZDIwNWRi
ZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgwNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2
b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlu
a2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUK
ICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAo
c2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAg
aWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0
QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlua0ludGVydmFsID0gbV9m
cmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAg
bV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAg
ICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJiZGQ1OGZiYTY2NmUuLjRk
NjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQwLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3Vz
UHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUw
bXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRU
aW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3Rh
cnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9y
U291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMg
dGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIx
NSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25z
dCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9OwogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCkKIHsKQEAgLTM1
NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1Rp
bWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2
ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tU
aW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRM
YXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCiAg
ICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJl
cXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA3MTZkMjg2
NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJmZTg5MDhmNmRlOWI4YTc2
ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fcGxheWJhY2tTdGFy
dGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRlIGV2ZW50
IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAgIGRvdWJsZSBtX2Nsb2Nr
VGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9jbG9ja1Rp
bWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRl
IGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFUaW1lIG1fbGFzdFRpbWVV
cGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNw
cAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVlZmU4NTQ1Li42ZTM0NjVj
YjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2Ns
b2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lKDAp
CiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJu
VG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBk
YXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1
MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07CiAKIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzYsOCArNjc1LDggQEAg
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG5vdyA9
IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93IC0gbV9w
cmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRh
dGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFD
b250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNk
Mi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRp
bWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRp
bWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRmODFiNTY2MzkzYTEwOGQx
YjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJlYWU2Mzg3YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVu
dE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBl
bGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07CiAKIHN0YXRpYyBib29s
IGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7
CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmMTc4YTc2
ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3MDk2ZDMyNzBmZDFjNjMw
MDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5h
cHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1f
cGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUg
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50
UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNl
Y29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCB7
IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmco
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIy
OWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5MWYyMjk1MDg2YmIyM2Zj
YzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jl
c3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25z
dCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAog
Ly8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBj
b25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogLy8gSG93
IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRp
bmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0
b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFj
MjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQyNmY0NWQ4N2U1ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NCw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRpbWUgaW4gc2Vjb25kIGZv
ciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVyIGVkZ2Ugb2Ygc2Nyb2xs
YWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7
CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQg
d2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7CisvLyBXaGVuIHRoZSBhdXRv
c2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBl
dmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3Nj
cm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogc3Rh
dGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRjOTA3Li40ZWQ5MTI0ZjIx
MTU1Zjk1MTgxMGI5YWQwM2YwMjE1NGFhMmVmMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVu
Y3kgPSAxMDAwIC8gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxGcmVxdWVuY3kgeyAx
MDAwX3MgLyA2MC4gfTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RGOjpS
ZWZDb3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggMmNhODZmOTgyODA4MTYzNzg0ZjJhYjdmYTQzZWVl
YmJlZTM3OTVmOC4uNmM0YjZkMmMyMWI0ZDRlMGQ2MjEwN2NmNmU3MThkZGVkMmY4ZDVhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTI1MCw3ICsyNTAsNyBAQCB2b2lkIFBh
Z2VPdmVybGF5OjpzdG9wRmFkZU91dEFuaW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5OjpzdGFy
dEZhZGVBbmltYXRpb24oKQogewogICAgIG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9IGN1cnJl
bnRUaW1lKCk7Ci0gICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZh
ZGVBbmltYXRpb25GcmFtZVJhdGUpOworICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDFfcyAvIGZhZGVBbmltYXRpb25GcmFtZVJhdGUpOwogfQogCiB2b2lkIFBhZ2VPdmVy
bGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oCmluZGV4IDE1ZWI3M2YyMmM3NzAwMjBiZDVjN2U1NDAyZmUxMDA2ZWRhNWFhNWMu
LjMxMjkyMDhmZTU1ZGNhMGQwOTg1NWM5ZTIzZTFlYjc3MTMxNDM0ZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00NSw3ICs0NSw2IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8ICht
X3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5n
KGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgcmVwZWF0
SW50ZXJ2YWwgfSk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsg
c3RhcnRPbmVTaG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQogCiAgICAgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVl
bEV2ZW50VGVzdFRyaWdnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVz
dFRyaWdnZXIuY3BwCmluZGV4IDM5ODg3ZjEzNTIyOTQxMmUzZjAzNTIzZGY0YjU5N2JjZTM3NjBj
NzUuLjI3OGI0Y2Q5Y2I0MTc2NzU1YTIxYzc2OTFmZGM3NmM0ZDU5MGFlYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKQEAgLTYwLDcgKzYwLDcg
QEAgdm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0Tm90
aWZpY2F0aW9uVGltZXIoc3RkOjpmdW5jdGkKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX3Rlc3RU
cmlnZ2VyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0
UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRS
ZXBlYXRpbmcoMV9zIC8gNjAuKTsKIH0KIAogdm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OmRl
ZmVyVGVzdHNGb3JSZWFzb24oU2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyIGlkZW50aWZpZXIsIERl
ZmVyVGVzdFRyaWdnZXJSZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXgg
MzE0YThkZjc1OTA5OTE1MzkyNzVhYWQ0YTM5ZGQ5YjZjOGVhNmUwYi4uYTY1OTQwMjdhOTllZjJj
YzhlYWE3MmMxZWNmMTA0NDAxYzc4NWViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03
Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQo
VGhlbWVGb250LCBGb250RGVzY3JpcHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgp
OyB9CiAgICAgCiAgICAgLy8gSG93IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxk
cy4KLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qg
eyByZXR1cm4gNTAwX21zOyB9CiAKICAgICAvLyBOb3RpZmljYXRpb24gd2hlbiB0aGUgdGhlbWUg
aGFzIGNoYW5nZWQKICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaAppbmRleCA1NWYyZjI0YjdmZjZlNTMzMTk2Zjg5Y2M2MmNlOTU0OWEzOGYx
ZGY2Li4wNTE3NGI0ZjE0YjM2ODJlOGQ3YmRjZmEzNDVjODQ2YThmOTZiNTI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RpbWVyLmgKQEAgLTU0LDcgKzU0LDYgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2
YWwpIHsgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHJlcGVhdEludGVydmFsIH0pOyB9CiAgICAg
dm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVh
dEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KIAogICAgIHZvaWQgc3RhcnRPbmVTaG90KGRv
dWJsZSBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QoU2Vjb25kcyB7IGludGVydmFsIH0pOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpp
bmRleCBlMGJhODBmOWNhOGQ1NTViNTg3Y2IxMDE0MTY5M2U0YzMxNmRmZGU0Li4xZThmN2RmZDg3
ZWEzMzk3OGRlZjk0YmZkYWM3ZTJiZGExNWZiYWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTM4Niw3ICszODYsNyBAQCBi
b29sIFNjcm9sbENvbnRyb2xsZXI6OmlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdAogdm9p
ZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBSdWJiZXJiYW5kVGltZXIoKQogewogICAgIG1f
Y2xpZW50LnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpOwotICAgIG1fc25hcFJ1YmJlcmJhbmRU
aW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICBtX3NuYXBSdWJiZXJiYW5kVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMV9zIC8gNjAuKTsKIAogICAgIG1fY2xpZW50LmRlZmVyVGVzdHNG
b3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFi
bGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6UnViYmVyYmFu
ZEluUHJvZ3Jlc3MpOwogfQpAQCAtNTYyLDcgKzU2Miw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxl
cjo6c3RhcnRTY3JvbGxTbmFwVGltZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRv
U2Nyb2xsU25hcHBpbmcoKTsKICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwot
ICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1f
c2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyAvIDYwLik7CiB9CiAKIHZvaWQgU2Ny
b2xsQ29udHJvbGxlcjo6c3RvcFNjcm9sbFNuYXBUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKaW5kZXggOGE5MGMyYmRiYWQ0OGMx
NDVhNThhOTE4NjRjMDBmYzM3MGUzOWMzNy4uYjg0OTZiMTllMmY0YWNmYmIwYTZkNGI5Y2RmNjk3
MjU2YzZkODg3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcApAQCAtNTIzLDcgKzUyMyw3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRp
bGVHcmlkOjpvbGRlc3RUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3JpZDo6c2NoZWR1
bGVDb2hvcnRSZW1vdmFsKCkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ob3J0UmVtb3ZhbFRpbWVy
U2Vjb25kcyA9IDE7CisgICAgY29uc3QgU2Vjb25kcyBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRz
IHsgMV9zIH07CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIsIG9yIHJlc2NoZWR1bGUgdGhlIHRp
bWVyIGZyb20gbm93IGlmIGl0J3MgYWxyZWFkeSBhY3RpdmUuCiAgICAgaWYgKCFtX2NvaG9ydFJl
bW92YWxUaW1lci5pc0FjdGl2ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcAppbmRleCA1NWE4ZDM4NGRlNWVjZTliZmYyODE3MDE1ZTVlNzNiMDNl
YzkyNGRhLi4wNDY2Zjc3MzFkOTM2NmQ5ZjM4NTA3ODE5MGFmNGU4MGM4NzM3YWY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTk0OSw3
ICsxOTQ5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldERvd25sb2Fk
QnVmZmVyaW5nKCkKICAgICBpZiAoc2hvdWxkRG93bmxvYWQpIHsKICAgICAgICAgR1NUX0RFQlVH
KCJFbmFibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9w
aXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgfCBmbGFnRG93bmxvYWQsIG51bGxwdHIpOwot
ICAgICAgICBtX2ZpbGxUaW1lci5zdGFydFJlcGVhdGluZygwLjIpOworICAgICAgICBtX2ZpbGxU
aW1lci5zdGFydFJlcGVhdGluZygyMDBfbXMpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9E
RUJVRygiRGlzYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3Nl
dChtX3BpcGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxw
dHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNlTWFjLm1tCmluZGV4IDdhYjQz
ODM2NGYxZTc1NjJlYTY4ODEwMWYzZGI0ZDllMTZlZTljMmMuLmNlNGRhYmIzOGViZTg4ODhmM2Nj
MDM3ZmZmNTNhZmE3NGIwYjkyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3Vy
Y2VNYWMubW0KQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNl
TWFjOjplbWl0U2FtcGxlQnVmZmVycyh1aW50MzJfdCBmcmFtZUNvdW50KQogCiB2b2lkIE1vY2tS
ZWFsdGltZUF1ZGlvU291cmNlTWFjOjpyZWNvbmZpZ3VyZSgpCiB7Ci0gICAgbV9tYXhpbWl1bUZy
YW1lQ291bnQgPSBXVEY6OnJvdW5kVXBUb1Bvd2VyT2ZUd28ocmVuZGVySW50ZXJ2YWwoKSAvIDEw
MDAuICogc2FtcGxlUmF0ZSgpICogMik7CisgICAgbV9tYXhpbWl1bUZyYW1lQ291bnQgPSBXVEY6
OnJvdW5kVXBUb1Bvd2VyT2ZUd28ocmVuZGVySW50ZXJ2YWwoKS5zZWNvbmRzKCkgKiBzYW1wbGVS
YXRlKCkgKiAyKTsKICAgICBBU1NFUlQobV9tYXhpbWl1bUZyYW1lQ291bnQpOwogCiAgICAgY29u
c3QgaW50IGJ5dGVzUGVyRmxvYXQgPSBzaXplb2YoRmxvYXQzMik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCmlu
ZGV4IGJlNmJkYmZiZWVhNWEwZmEyZDYwODA0N2I5Mjg5MTc0NGMwZTc0ZjQuLmM2NGM2NDBmMTVi
YWI2ZGRhZjEwZTFmZjQzNjhhYjkyOTVhMzk1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCkBAIC0xMDks
NyArMTA5LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdE
YXRhKCkKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCk7
CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAg
IG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhyZW5kZXJJ
bnRlcnZhbCgpKSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhyZW5kZXJJbnRlcnZhbCgp
KTsKIH0KIAogdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVB
dWRpb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVB
dWRpb1NvdXJjZS5oCmluZGV4IGQ4ODE0YTM1YmZkZWQ2Zjg4Mzk1MTEyNWI5ZTkxZTU3NDViMWNm
ZTQuLjEzMzFjNzkxODE0NGU2ZTk2ZmMyYWY0MjU3YmZjMmU3MWZjZDhlNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNl
LmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCByZW5kZXIo
ZG91YmxlKSB7IH0KIAogICAgIGRvdWJsZSBlbGFwc2VkVGltZSgpOwotICAgIHN0YXRpYyBpbnQg
cmVuZGVySW50ZXJ2YWwoKSB7IHJldHVybiA2MDsgfQorICAgIHN0YXRpYyBTZWNvbmRzIHJlbmRl
ckludGVydmFsKCkgeyByZXR1cm4gNjBfbXM7IH0KIAogcHJpdmF0ZToKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNw
cAppbmRleCAzM2ZiYjE3YjkxNGY2Y2VkMWI5OThiMzgyMDk4ZGI3ZjdjODc2ZDIxLi44ZGIwYThj
NmY5ODg3ZGIwNGQ0MmIwMmI2ZWVkYzNkMDUxY2I3NGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVj
aW5nRGF0YSgpCiAgICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0
UmVwZWF0aW5nKDFfbXMgKiBscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSk7CiB9CiAKIHZvaWQg
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTE1NSw3ICsx
NTUsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVk
Q29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZygxX21zICogbHJvdW5kKDEwMDAgLyByYXRlKSk7CiAKICAgICB1cGRhdGVTYW1wbGVC
dWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNYXJxdWVlLmNwcAppbmRleCA2MDU5ZDI2ZDFkZmNmYjM2MTViYmJiZTE2Y2ZkMjNlMjVkZGZj
MTU3Li5jODcwNGMyOGE5NjYxYzhjY2ZmY2QwOTdiOTVhMjM5YWZlZjM3MzM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0xNjgsNyArMTY4LDcgQEAg
dm9pZCBSZW5kZXJNYXJxdWVlOjpzdGFydCgpCiAgICAgICAgIG1fc3RvcHBlZCA9IGZhbHNlOwog
ICAgIH0KIAotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAg
ICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfbXMgKiBzcGVlZCgpKTsKIH0KIAogdm9pZCBSZW5k
ZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFJlbmRlck1hcnF1
ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0gbWFycXVlZVNwZWVk
KCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAgICAgICBpZiAobV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVl
ZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZygxX21zICog
c3BlZWQoKSk7CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIHRoZSBsb29wIGNvdW50IHRvIHNl
ZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCmluZGV4IDEyMjI3MWU3ZDdkNjA5ZDc3MTM0NTBlNDcxY2VmNDkwYmNiOWNmOWEuLjcxZDE2
NWExMDhkNjE4MDM2ZWNmMzNlMGIxYWQyYTIxOWI5MTBhODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCkBAIC0xNzgsNyArMTc4LDcgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFs
IGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2
aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gNTAwX21z
OyB9CiAKICAgICAvLyBTeXN0ZW0gZm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAgIHZvaWQg
c3lzdGVtRm9udChDU1NWYWx1ZUlELCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCBmNTYwMDAw
OTY2NDQ3MWM5ZTdkNDU3YmJhZTYzNjc2NjIzZmJjY2M3Li4xNzI4NGY0OTk4ZjMxNTM0YjU0MTk1
MzliNDljNTQ2NGRhNjM1MjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKQEAgLTE4MDIsNyArMTgwMiw3IEBAIGJvb2wgUmVuZGVyVGhlbWVHdGs6OnBh
aW50SW5uZXJTcGluQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0LCBjb25z
CiB9CiAjZW5kaWYgLy8gR1RLX0NIRUNLX1ZFUlNJT04oMywgMjAsIDApCiAKLWRvdWJsZSBSZW5k
ZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QKK1NlY29uZHMgUmVuZGVyVGhl
bWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgR3RrU2V0dGluZ3MqIHNl
dHRpbmdzID0gZ3RrX3NldHRpbmdzX2dldF9kZWZhdWx0KCk7CiAKQEAgLTE4MTIsOSArMTgxMiw5
IEBAIGRvdWJsZSBSZW5kZXJUaGVtZUd0azo6Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QKICAg
ICBnX29iamVjdF9nZXQoc2V0dGluZ3MsICJndGstY3Vyc29yLWJsaW5rIiwgJnNob3VsZEJsaW5r
LCAiZ3RrLWN1cnNvci1ibGluay10aW1lIiwgJnRpbWUsIG51bGxwdHIpOwogCiAgICAgaWYgKCFz
aG91bGRCbGluaykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICByZXR1cm4gdGltZSAvIDIwMDAuOworICAgIHJldHVybiAyX21zICogdGltZTsKIH0KIAogZW51
bSBTdHlsZUNvbG9yVHlwZSB7IFN0eWxlQ29sb3JCYWNrZ3JvdW5kLCBTdHlsZUNvbG9yRm9yZWdy
b3VuZCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
R3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaAppbmRleCA5
MTcyMzQ1NWY3NzNjYTI3NTNkODYxYWMzNzdiYmYyNTlmOTlhOGJlLi43YjgyZDkzMTQ2NDQ0ZmQ0
ZWZlZTU2MTRlNWMxMWQ3NmRiMWVkODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVHdGsuaApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgQ29sb3IgcGxhdGZv
cm1JbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBDb2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRD
b2xvcigpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0IG92ZXJyaWRlOworICAgIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IGE1ZWE5MzJiNzQ5NWU5ZWRkZDA0ZTZjYzY4Y2Nl
M2Q3ODM1YjdhN2UuLmE3NzY2ZGZiZGI5MWUyM2IwNWM2YjVlZjlkMjIxYTgyMDMwMzYwYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNvbnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6
bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzID0gLjA1OyAv
LyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KK2NvbnN0IFNlY29uZHMgWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRl
cnZhbCB7IDUwX21zIH07IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTcz
LDEyICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1f
aGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVu
dCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVh
dGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOwor
ICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2
ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMg
dGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFj
dGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxl
YXN0IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRy
dWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXggNzgxZDZlY2U2ZTU3NTIzMTlmNGM2M2ZhZDRh
NjBhOTI0ZmU0ODNmMS4uMDFjMTdhNjZmMjk1ZDc0NmY1YTBlZDNhMDQ3MWVjNzliODEyYTBiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVz
dW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jl
c3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNl
Y29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsOwogCiAgICAgdm9p
ZCBmaXJlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5t
bQppbmRleCBmZWE1NTAwYjdhNjk4N2Y5M2E5MzQ2N2E3ZmY2MmFiNzc5OWQyZWY5Li4wODdmY2Zi
YzAxYjg2YzBmMTkxYWRjMDQzNWFhMDQ4NTVjN2Y3MTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTM2LDcgKzEzNiw3
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRl
cnZhbCwgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBpZiAobV9y
ZXBlYXQpCi0gICAgICAgICAgICBzdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOworICAgICAg
ICAgICAgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHRpbWVJbnRlcnZhbCB9KTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgc3RhcnRPbmVTaG90KHRpbWVJbnRlcnZhbCk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAppbmRleCBi
YzE4ZGViNzVjY2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUwMWY1NGVhLi44NTcxODUwODQxMDJkMGQ2
NjFhMzA1YzZkZjFjNTk2Mjg1NmVhZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcApAQCAtNTIsNyArNTIsNyBAQAogdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgZmxvYXQg
dGltZXJJbnRlcnZhbCA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZh
bCB7IDMzX21zIH07CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdo
dCA9IDU5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBs
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4
IDA1M2ZhNmVhMjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmJhYmMyODg4Y2I3NWZi
NDZmMzg4MGQ4Y2RiODMxZjJhN2QyNDYyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
TWVtb3J5U2FtcGxlci5jcHAKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVy
OjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5k
bGUKIAogdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRl
cnZhbCkKIHsKLSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2Ft
cGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMV9zKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5
IHNhbXBsZXIgZm9yIHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCks
IGdldHBpZCgpKTsKICAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7CiAgICAgICAgIG1fc3RvcFRpbWVy
LnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1
MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjc5OWRhNjVjOWE3YTNlNTE0YmNmNWM0Yzk3
MDA2MzAxZTY2Mjk3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBz
dGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJz
dFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRv
cmluZ0ludGVydmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90
UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBfbXM7CiAKICNpZiBQTEFU
Rk9STShNQUMpCiBzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hv
dFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVy
LmNwcAppbmRleCA4NTk4OTUwNzdkYzVhMzE2ZTFlYzljNzcxZjllODQ2NjFmNjM3Y2FkLi42NjQ1
NWNlNTY4NWMxNDVmMGEwMmIxMTJhZTMyMzE5ZTgyNjJkOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1Vz
YWdlU2FtcGxlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbnV0
ZXMgc2FtcGxpbmdJbnRlcnZhbCB7IDEwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzYW1wbGlu
Z0ludGVydmFsIHsgMTBfbWluIH07CiAKIEhpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1w
bGVyOjpIaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlcihXZWJQcm9jZXNzUG9vbCYg
d2ViUHJvY2Vzc1Bvb2wpCiAgICAgOiBtX3dlYlByb2Nlc3NQb29sKHdlYlByb2Nlc3NQb29sKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3RhdGVDUFVV
c2FnZVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3Rh
dGVDUFVVc2FnZVNhbXBsZXIuY3BwCmluZGV4IDBjMDM5ZTZiYzY5NTgyNjNiYjEzYjA5ZTIxODIw
YmY2M2I3YWNjZGEuLjBkODU3YmI3ODgzMjRjNjU4Y2VmNjcxNWMwYjIxY2FlZThjODI2YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNh
Z2VTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlT
dGF0ZUNQVVVzYWdlU2FtcGxlci5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIGNvbnN0IGlu
dDY0X3QgbWljcm9zZWNvbmRzUGVyU2Vjb25kID0gMTAwMDAwMDsKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWludXRlcyBsb2dnaW5nSW50
ZXJ2YWwgeyA2MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbG9nZ2luZ0ludGVydmFsIHsgNjBf
bWluIH07CiAKIFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI6OlBlckFjdGl2aXR5U3Rh
dGVDUFVVc2FnZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgIDogbV9w
cm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDVj
OWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjIzMDI0OTBkOWEzZmU4ZTY4
NGMxYTExNWJlZDAzNDZhNmQ2MDkxNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAt
MzI5LDcgKzMyOSw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiAgICAg
ZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CiAKICAgICBpZiAobV9y
ZXBlYXQpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzIHsgdGltZUludGVydmFsIH0pOwog
ICAgIGVsc2UKICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QodGltZUludGVydmFsKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvTmV0c2NhcGVQbHVnaW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZkYjA5MDJmNWI4
Zjc1MDQ3ZmVhZGMyYzU0M2M2YWNjMmU1ZTAuLjIwMWIzZGNkODM5OTQ4NmI4ZTRlMmQ5MGM3NTlm
MmE5NTFlZDQzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAt
NDUsNyArNDUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiAjaWZuZGVmIE5QX05PX0NBUkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBudWxsRXZlbnRJ
bnRlcnZhbEFjdGl2ZSA9IDAuMDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxsRXZlbnRJbnRl
cnZhbEFjdGl2ZSB7IDIwX21zIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21M
YXN0TW91c2VFdmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCA5MTJmMTVjMzBjZDMzOTM3MDhjY2Q0ODY0OTY4
NzUwZTg1MWU1MzQzLi41NjdlNDdhNGU3NWYyZjNhZGUxNTIzZDYxNGQzYTFlYjIxNDE3NmQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmNwcApAQCAtNDA0LDEyICs0MDQsMTIgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpwYWludFRvU3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAg
ICByZXR1cm4gbV91cGRhdGVBdGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihz
aXplLCBhdGxhc0lELCBvZmZzZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNl
SW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgcmVsZWFz
ZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwgeyA1MDBfbXMgfTsKIAogdm9pZCBDb21wb3Np
dGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFjdGl2ZUF0bGFzZXMoKQogewogICAg
IGlmICghbV9yZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9yZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXIuc3RhcnRSZXBlYXRpbmcoUmVsZWFzZUluYWN0
aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3JlbGVhc2VJbmFjdGl2ZUF0bGFz
ZXNUaW1lci5zdGFydFJlcGVhdGluZyhyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZh
bCk7CiB9CiAKIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cmVsZWFzZUluYWN0aXZlQXRs
YXNlc1RpbWVyRmlyZWQoKQpAQCAtNDI2LDcgKzQyNiw3IEBAIHZvaWQgQ29tcG9zaXRpbmdDb29y
ZGluYXRvcjo6cmVsZWFzZUF0bGFzZXMoUmVsZWFzZUF0bGFzUG9saWN5IHBvbGljeSkKICAgICAg
ICAgVXBkYXRlQXRsYXMqIGF0bGFzID0gbV91cGRhdGVBdGxhc2VzW2ldLmdldCgpOwogICAgICAg
ICBib29sIGluVXNlID0gYXRsYXMtPmlzSW5Vc2UoKTsKICAgICAgICAgaWYgKCFpblVzZSkKLSAg
ICAgICAgICAgIGF0bGFzLT5hZGRUaW1lSW5hY3RpdmUoUmVsZWFzZUluYWN0aXZlQXRsYXNlc1Rp
bWVySW50ZXJ2YWwpOworICAgICAgICAgICAgYXRsYXMtPmFkZFRpbWVJbmFjdGl2ZShyZWxlYXNl
SW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICAgICAgYm9vbCB1c2Fi
bGVGb3JSb290Q29udGVudHNMYXllciA9ICFhdGxhcy0+c3VwcG9ydHNBbHBoYSgpOwogICAgICAg
ICBpZiAoYXRsYXMtPmlzSW5hY3RpdmUoKSB8fCAoIWluVXNlICYmIHBvbGljeSA9PSBSZWxlYXNl
VW51c2VkKSkgewogICAgICAgICAgICAgaWYgKCFmb3VuZEFjdGl2ZUF0bGFzRm9yUm9vdENvbnRl
bnRzTGF5ZXIgJiYgIWF0bGFzVG9LZWVwQW55d2F5ICYmIHVzYWJsZUZvclJvb3RDb250ZW50c0xh
eWVyKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGQxMjA3M2FkMmQ1MDI3YzAzZDI4NjhiZjFmNTQxZjlhOWUxZGVmN2MuLjY5NDEwYmU2OGM3YWIx
MDcyYzYzMmI3ZDFkNjc1MjFmZTk3ZjgwMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wNC0wOSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVw
ZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZ
dXN1a2UgU3V6dWtpLgorCisgICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3Zl
cmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3BsZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBu
b3cuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE3LTA0LTA4ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBDU1NQcm9wZXJ0aWVz
Lmpzb24gd2l0aCBjb3JyZWN0IGZpbGwtYW5kLXN0cm9rZSBzdGF0dXMsIGFuZCBvdGhlciBjbGVh
bnVwCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCmluZGV4IDFkYzdl
OTM4YTc2ZTk5NGJlOTc2OThlZTgwNWNjNmZmZWQ2ZmUzZGIuLmQxZGUwMzFhMDhhMDc1MTRkZmNk
ZjA3YTVlNWVlNGEzNmEzMDc3MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1J1bkxvb3AuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1
bkxvb3AuY3BwCkBAIC0xMjksNyArMTI5LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgUmVwZWF0aW5n
VGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQp
OwotICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxKTsKKyAgICAgICAgdGltZXIuc3Rh
cnRSZXBlYXRpbmcoMTBfbXMpOwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAg
ICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306634</attachid>
            <date>2017-04-09 15:49:35 -0700</date>
            <delta_ts>2017-04-09 15:58:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409154926.patch</filename>
            <type>text/plain</type>
            <size>38139</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uNjQ1M2ZmMTdiNmIyNWZhNDFmZTgwODVlMWNkYjA0
NjJlOGY3NjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBl
IG5vdy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBlZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1
cGRhdGVBcHBlYXJhbmNlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93
UGFpbnRSZWN0KToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNr
QW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAq
IHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNjcm9sbFNuYXBUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3Zh
bCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnJlbmRlckludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJx
dWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KToKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKworMjAx
Ny0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0YXJ0
IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYjZkNGY1NTU3OWIzNWNkYjYyYTQ4NDdjZjg4MmRhZTAzODA2ZDMuLjY1MWE4YzZlYmZk
YzkxMDAwMjE0MTRkMGFjNGM0YWVlMGYyMTI5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNyBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIERyb3Ag
VGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3Bs
ZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRpbWVyOjpzdGFydCk6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA0N2Q3M2FmZTcxYzA4ODU2ODE4ODVkMzJiY2Y4N2MzZmIzMjVlNmY4Li5hZGM4NWZkM2Uz
M2Y0YWIyZjI1MGIyNjA4YTNhNWY0ZGY1NThjZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTYgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBEcm9w
IFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9w
bGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRo
IGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZlN2Nj
ZWE1MGE5Li4zNTczMDQyYzU2ZmY0Nzk3YmJmMDM5NWM1YzM0OTg4N2NlMTliNzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2Fk
IHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKwor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICog
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlT
YW1wbGVyOjppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSGlnaFBlcmZvcm1h
bmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QZXJBY3Rp
dml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2Fw
ZVBsdWdpbjo6VGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXMpOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0
OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDMwMDk2NzJi
MTAzNzdiMTUwMjlkYzQ5MGJiMTE1YzQ2MTI5NTZiYzAuLmRiNGM0MDQxYzk2NzM5NjgwNjliOWUz
ZmNiN2Q1ZDZlYzU1ODc0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2su
Y3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6
OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKQotICAgICAgICBtX3JlcXVlc3RGcmFtZVRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuIC8gbV9mcmFtZVJlcXVlc3RSYXRlLnZhbHVlKCkpOworICAgICAg
ICBtX3JlcXVlc3RGcmFtZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyAvIG1fZnJhbWVSZXF1ZXN0
UmF0ZS52YWx1ZSgpKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3NWUxNTMzYzg5ZDIwNWRi
ZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgwNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2
b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlu
a2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUK
ICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAo
c2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAg
aWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0
QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlua0ludGVydmFsID0gbV9m
cmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAg
bV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAg
ICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJiZGQ1OGZiYTY2NmUuLjRk
NjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQwLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3Vz
UHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUw
bXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRU
aW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3Rh
cnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9y
U291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMg
dGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIx
NSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25z
dCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9OwogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCkKIHsKQEAgLTM1
NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1Rp
bWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2
ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tU
aW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRM
YXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCiAg
ICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJl
cXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA3MTZkMjg2
NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJmZTg5MDhmNmRlOWI4YTc2
ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fcGxheWJhY2tTdGFy
dGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRlIGV2ZW50
IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAgIGRvdWJsZSBtX2Nsb2Nr
VGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9jbG9ja1Rp
bWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRl
IGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFUaW1lIG1fbGFzdFRpbWVV
cGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNw
cAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVlZmU4NTQ1Li42ZTM0NjVj
YjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2Ns
b2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lKDAp
CiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJu
VG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBk
YXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1
MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07CiAKIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzYsOCArNjc1LDggQEAg
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG5vdyA9
IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93IC0gbV9w
cmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRh
dGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFD
b250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNk
Mi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRp
bWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRp
bWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRmODFiNTY2MzkzYTEwOGQx
YjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJlYWU2Mzg3YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVu
dE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBl
bGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07CiAKIHN0YXRpYyBib29s
IGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7
CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmMTc4YTc2
ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3MDk2ZDMyNzBmZDFjNjMw
MDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5h
cHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1f
cGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUg
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50
UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNl
Y29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCB7
IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmco
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIy
OWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5MWYyMjk1MDg2YmIyM2Zj
YzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jl
c3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25z
dCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAog
Ly8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBj
b25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogLy8gSG93
IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRp
bmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0
b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFj
MjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQyNmY0NWQ4N2U1ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NCw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRpbWUgaW4gc2Vjb25kIGZv
ciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVyIGVkZ2Ugb2Ygc2Nyb2xs
YWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7
CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQg
d2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7CisvLyBXaGVuIHRoZSBhdXRv
c2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBl
dmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3Nj
cm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogc3Rh
dGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRjOTA3Li40NzU2MGVkNzFm
ODMyODI3YTk1ZDY1NzBhMjdlNTcyOWZhMTU5YWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVu
Y3kgPSAxMDAwIC8gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxGcmVxdWVuY3kgeyAx
MDAwIC8gNjAuIH07CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVm
Q291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IDJjYTg2Zjk4MjgwODE2Mzc4NGYyYWI3ZmE0M2VlZWJi
ZWUzNzk1ZjguLjZjNGI2ZDJjMjFiNGQ0ZTBkNjIxMDdjZjZlNzE4ZGRlZDJmOGQ1YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC0yNTAsNyArMjUwLDcgQEAgdm9pZCBQYWdl
T3ZlcmxheTo6c3RvcEZhZGVPdXRBbmltYXRpb24oKQogdm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRG
YWRlQW5pbWF0aW9uKCkKIHsKICAgICBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUgPSBjdXJyZW50
VGltZSgpOwotICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEgLyBmYWRl
QW5pbWF0aW9uRnJhbWVSYXRlKTsKKyAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZygxX3MgLyBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlKTsKIH0KIAogdm9pZCBQYWdlT3Zlcmxh
eTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxl
VGltZXIuaAppbmRleCAxNWViNzNmMjJjNzcwMDIwYmQ1YzdlNTQwMmZlMTAwNmVkYTVhYTVjLi4z
MTI5MjA4ZmU1NWRjYTBkMDk4NTVjOWUyM2UxZWI3NzEzMTQzNGZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDUsNyArNDUsNiBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSB8fCAobV9z
dXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBj
b25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHJlcGVhdElu
dGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0
YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KIAogICAgIFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxF
dmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RU
cmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJlM2YwMzUyM2RmNGI1OTdiY2UzNzYwYzc1
Li4yNzhiNGNkOWNiNDE3Njc1NWEyMWM3NjkxZmRjNzZjNGQ1OTBhZWI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBA
IHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRUZXN0Q2FsbGJhY2tBbmRTdGFydE5vdGlm
aWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQogICAgIAogICAgIGlmICghbV90ZXN0VHJp
Z2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFydFJl
cGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDFfcyAvIDYwLik7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpkZWZl
clRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGVudGlmaWVyLCBEZWZl
clRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCmluZGV4IDMx
NGE4ZGY3NTkwOTkxNTM5Mjc1YWFkNGEzOWRkOWI2YzhlYTZlMGIuLmE2NTk0MDI3YTk5ZWYyY2M4
ZWFhNzJjMWVjZjEwNDQwMWM3ODVlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaApAQCAtNzYs
NyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBGb250Q2FzY2FkZSBzeXN0ZW1Gb250KFRo
ZW1lRm9udCwgRm9udERlc2NyaXB0aW9uJikgY29uc3QgeyByZXR1cm4gRm9udENhc2NhZGUoKTsg
fQogICAgIAogICAgIC8vIEhvdyBmYXN0IHRoZSBjYXJldCBibGlua3MgaW4gdGV4dCBmaWVsZHMu
Ci0gICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIDUwMF9tczsgfQogCiAgICAgLy8gTm90aWZpY2F0aW9uIHdoZW4gdGhlIHRoZW1lIGhh
cyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmgKaW5kZXggNTVmMmYyNGI3ZmY2ZTUzMzE5NmY4OWNjNjJjZTk1NDlhMzhmMWRm
Ni4uMDUxNzRiNGYxNGIzNjgyZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCkBAIC01NCw3ICs1NCw2IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyByZXBlYXRJbnRlcnZhbCB9KTsgfQogICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJ
bnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CiAKICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5k
ZXggZTBiYTgwZjljYThkNTU1YjU4N2NiMTAxNDE2OTNlNGMzMTZkZmRlNC4uMWU4ZjdkZmQ4N2Vh
MzM5NzhkZWY5NGJmZGFjN2UyYmRhMTVmYmFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC0zODYsNyArMzg2LDcgQEAgYm9v
bCBTY3JvbGxDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIHZvaWQg
U2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCkKIHsKICAgICBtX2Ns
aWVudC5zdGFydFNuYXBSdWJiZXJiYW5kVGltZXIoKTsKLSAgICBtX3NuYXBSdWJiZXJiYW5kVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgbV9zbmFwUnViYmVyYmFuZFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDFfcyAvIDYwLik7CiAKICAgICBtX2NsaWVudC5kZWZlclRlc3RzRm9y
UmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxl
QXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlJ1YmJlcmJhbmRJ
blByb2dyZXNzKTsKIH0KQEAgLTU2Miw3ICs1NjIsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6
OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKIAogICAgIHN0YXJ0RGVmZXJyaW5nVGVzdHNEdWVUb1Nj
cm9sbFNuYXBwaW5nKCk7CiAgICAgbV9jbGllbnQuc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsKLSAg
ICBtX3Njcm9sbFNuYXBUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICBtX3Nj
cm9sbFNuYXBUaW1lci5zdGFydFJlcGVhdGluZygxX3MgLyA2MC4pOwogfQogCiB2b2lkIFNjcm9s
bENvbnRyb2xsZXI6OnN0b3BTY3JvbGxTbmFwVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDhhOTBjMmJkYmFkNDhjMTQ1
YTU4YTkxODY0YzAwZmMzNzBlMzljMzcuLmI4NDk2YjE5ZTJmNGFjZmJiMGE2ZDRiOWNkZjY5NzI1
NmM2ZDg4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5jcHAKQEAgLTUyMyw3ICs1MjMsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxl
R3JpZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxl
Q29ob3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNl
Y29uZHMgPSAxOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyB7
IDFfcyB9OwogCiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1l
ciBmcm9tIG5vdyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1v
dmFsVGltZXIuaXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAKaW5kZXggNTVhOGQzODRkZTVlY2U5YmZmMjgxNzAxNWU1ZTczYjAzZWM5
MjRkYS4uMDQ2NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2FmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NDksNyAr
MTk0OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1
ZmZlcmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RW5hYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlw
ZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAg
ICAgICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMjAwX21zKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVC
VUcoIkRpc2FibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQo
bV9waXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9N
b2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQppbmRleCA3YWI0Mzgz
NjRmMWU3NTYyZWE2ODgxMDFmM2RiNGQ5ZTE2ZWU5YzJjLi5jZTRkYWJiMzhlYmU4ODg4ZjNjYzAz
N2ZmZjUzYWZhNzRiMGI5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNl
TWFjLm1tCkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1h
Yzo6ZW1pdFNhbXBsZUJ1ZmZlcnModWludDMyX3QgZnJhbWVDb3VudCkKIAogdm9pZCBNb2NrUmVh
bHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUoKQogewotICAgIG1fbWF4aW1pdW1GcmFt
ZUNvdW50ID0gV1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkgLyAxMDAw
LiAqIHNhbXBsZVJhdGUoKSAqIDIpOworICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0gV1RGOjpy
b3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkuc2Vjb25kcygpICogc2FtcGxlUmF0
ZSgpICogMik7CiAgICAgQVNTRVJUKG1fbWF4aW1pdW1GcmFtZUNvdW50KTsKIAogICAgIGNvbnN0
IGludCBieXRlc1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAppbmRl
eCBiZTZiZGJmYmVlYTVhMGZhMmQ2MDgwNDdiOTI4OTE3NDRjMGU3NGY0Li5jNjRjNjQwZjE1YmFi
NmRkYWYxMGUxZmY0MzY4YWI5Mjk1YTM5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcApAQCAtMTA5LDcg
KzEwOSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0
YSgpCiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwog
CiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBt
X3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMocmVuZGVySW50
ZXJ2YWwoKSkpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcocmVuZGVySW50ZXJ2YWwoKSk7
CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVk
aW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVk
aW9Tb3VyY2UuaAppbmRleCBkODgxNGEzNWJmZGVkNmY4ODM5NTExMjViOWU5MWU1NzQ1YjFjZmU0
Li4xMzMxYzc5MTgxNDRlNmU5NmZjMmFmNDI1N2JmYzJlNzFmY2Q4ZTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5o
CkBAIC01OCw3ICs1OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGRv
dWJsZSkgeyB9CiAKICAgICBkb3VibGUgZWxhcHNlZFRpbWUoKTsKLSAgICBzdGF0aWMgaW50IHJl
bmRlckludGVydmFsKCkgeyByZXR1cm4gNjA7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyByZW5kZXJJ
bnRlcnZhbCgpIHsgcmV0dXJuIDYwX21zOyB9CiAKIHByaXZhdGU6CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAK
aW5kZXggMzNmYmIxN2I5MTRmNmNlZDFiOTk4YjM4MjA5OGRiN2Y3Yzg3NmQyMS4uOGRiMGE4YzZm
OTg4N2RiMDRkNDJiMDJiNmVlZGMzZDA1MWNiNzRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTEw
MSw3ICsxMDEsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2lu
Z0RhdGEoKQogICAgIH0KIAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZygxX21zICogbHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpOwogfQogCiB2b2lkIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBAIC0xNTUsNyArMTU1
LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENv
bnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBl
YXRpbmcoMV9tcyAqIGxyb3VuZCgxMDAwIC8gcmF0ZSkpOwogCiAgICAgdXBkYXRlU2FtcGxlQnVm
ZmVyKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1
Ny4uYzg3MDRjMjhhOTY2MWM4Y2NmZmNkMDk3Yjk1YTIzOWFmZWYzNzMzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZv
aWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAg
ICB9CiAKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAg
bV90aW1lci5zdGFydFJlcGVhdGluZygxX21zICogc3BlZWQoKSk7CiB9CiAKIHZvaWQgUmVuZGVy
TWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVl
Ojp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgp
KSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYgKG1fdGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQo
KSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoMV9tcyAqIHNw
ZWVkKCkpOwogICAgIH0KICAgICAKICAgICAvLyBDaGVjayB0aGUgbG9vcCBjb3VudCB0byBzZWUg
aWYgd2Ugc2hvdWxkIG5vdyBzdG9wLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aAppbmRleCAxMjIyNzFlN2Q3ZDYwOWQ3NzEzNDUwZTQ3MWNlZjQ5MGJjYjljZjlhLi43MWQxNjVh
MTA4ZDYxODAzNmVjZjMzZTBiMWFkMmEyMTliOTEwYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaApAQCAtMTc4LDcgKzE3OCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAg
IHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCi0gICAgdmlydHVhbCBk
b3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAgdmly
dHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDUwMF9tczsg
fQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAgICB2b2lkIHN5
c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggZjU2MDAwMDk2
NjQ0NzFjOWU3ZDQ1N2JiYWU2MzY3NjYyM2ZiY2NjNy4uMTcyODRmNDk5OGYzMTUzNGI1NDE5NTM5
YjQ5YzU0NjRkYTYzNTI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVHdGsuY3BwCkBAIC0xODAyLDcgKzE4MDIsNyBAQCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWlu
dElubmVyU3BpbkJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwog
fQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9OKDMsIDIwLCAwKQogCi1kb3VibGUgUmVuZGVy
VGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1l
R3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEd0a1NldHRpbmdzKiBzZXR0
aW5ncyA9IGd0a19zZXR0aW5nc19nZXRfZGVmYXVsdCgpOwogCkBAIC0xODEyLDkgKzE4MTIsOSBA
QCBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiAgICAg
Z19vYmplY3RfZ2V0KHNldHRpbmdzLCAiZ3RrLWN1cnNvci1ibGluayIsICZzaG91bGRCbGluaywg
Imd0ay1jdXJzb3ItYmxpbmstdGltZSIsICZ0aW1lLCBudWxscHRyKTsKIAogICAgIGlmICghc2hv
dWxkQmxpbmspCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gMF9zOwogCi0gICAg
cmV0dXJuIHRpbWUgLyAyMDAwLjsKKyAgICByZXR1cm4gMl9tcyAqIHRpbWU7CiB9CiAKIGVudW0g
U3R5bGVDb2xvclR5cGUgeyBTdHlsZUNvbG9yQmFja2dyb3VuZCwgU3R5bGVDb2xvckZvcmVncm91
bmQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0
ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggOTE3
MjM0NTVmNzczY2EyNzUzZDg2MWFjMzc3YmJmMjU5Zjk5YThiZS4uN2I4MmQ5MzE0NjQ0NGZkNGVm
ZWU1NjE0ZTVjMTFkNzZkYjFlZDgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lR3RrLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIENvbG9yIHBsYXRmb3Jt
SW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29s
b3IoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBj
b25zdCBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmNwcAppbmRleCBhNWVhOTMyYjc0OTVlOWVkZGQwNGU2Y2M2OGNjZTNk
NzgzNWI3YTdlLi5hNzc2NmRmYmRiOTFlMjNiMDVjNmI1ZWY5ZDIyMWE4MjAzMDM2MGM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8g
NTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWwgeyA1MF9tcyB9OyAvLyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KIAogWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlKEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiAgICAgOiBtX3RhcmdldCh0YXJnZXQpCkBAIC03Mywx
MiArNzMsMTIgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlz
cGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wgbGUKICAgICAgICAgQVNTRVJUKCFtX2hh
c1Rocm90dGxlZFByb2dyZXNzRXZlbnQpOwogCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQs
IGxlbmd0aENvbXB1dGFibGUsIGxvYWRlZCwgdG90YWwpKTsKLSAgICAgICAgc3RhcnRSZXBlYXRp
bmcobWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzKTsKKyAg
ICAgICAgc3RhcnRSZXBlYXRpbmcobWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsKTsKICAgICAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUg
c28gbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzIGlzIHRo
ZSBsZWFzdCBmcmVxdWVudCBldmVudC4KKyAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3Rp
dmUgc28gbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsIGlzIHRoZSBsZWFz
dCBmcmVxdWVudCBldmVudC4KICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSB0cnVl
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5oCmluZGV4IDc4MWQ2ZWNlNmU1NzUyMzE5ZjRjNjNmYWQ0YTYw
YTkyNGZlNDgzZjEuLjAxYzE3YTY2ZjI5NWQ3NDZmNWEwZWQzYTA0NzFlYzc5YjgxMmEwYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3Vt
ZSgpOwogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZvaWQg
ZmlyZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIGRpc3BhdGNoRGVmZXJyZWRFdmVudHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0K
aW5kZXggZmVhNTUwMGI3YTY5ODdmOTNhOTM0NjdhN2ZmNjJhYjc3OTlkMmVmOS4uMDg3ZmNmYmMw
MWI4NmMwZjE5MWFkYzA0MzVhYTA0ODU1YzdmNzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTEzNiw3ICsxMzYsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2
YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwogICAgICAgICAKICAgICAgICAgaWYgKG1fcmVw
ZWF0KQotICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKKyAgICAgICAg
ICAgIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHN0YXJ0T25lU2hvdCh0aW1lSW50ZXJ2YWwpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKaW5kZXggYmMx
OGRlYjc1Y2NkNzA4MjdhZmZhZTllMDc2MjFmMjM1MDFmNTRlYS4uODU3MTg1MDg0MTAyZDBkNjYx
YTMwNWM2ZGYxYzU5NjI4NTZlYWU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGZsb2F0IHRp
bWVySW50ZXJ2YWwgPSAwLjAzMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwg
eyAzM19tcyB9OwogCiAvLyBIVUQgU2l6ZQogc3RhdGljIGNvbnN0IGludCB3aW5kb3dIZWlnaHQg
PSA1OTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAw
NTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi5iYWJjMjg4OGNiNzVmYjQ2
ZjM4ODBkOGNkYjgzMWYyYTdkMjQ2MjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1l
bW9yeVNhbXBsZXIuY3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6
c3RhcnQoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxl
CiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2
YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBs
ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyk7CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBz
YW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBn
ZXRwaWQoKSk7CiAgICAgaWYgKGludGVydmFsID4gMCkgewogICAgICAgICBtX3N0b3BUaW1lci5z
dGFydE9uZVNob3QoaW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA0OWYxOGUzNzhhNTI5
ZDA1NjViMGQ3ZWU5ZTYxODgyMTJjZmRkMmI4Li43OTlkYTY1YzlhN2EzZTUxNGJjZjVjNGM5NzAw
NjMwMWU2NjI5N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
Vmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3Qgc3Rk
OjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3Jp
bmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJl
bW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwX21zOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQogc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5j
cHAKaW5kZXggODU5ODk1MDc3ZGM1YTMxNmUxZWM5Yzc3MWY5ZTg0NjYxZjYzN2NhZC4uNjY0NTVj
ZTU2ODVjMTQ1ZjBhMDJiMTEyYWUzMjMxOWU4MjYyZDk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2Fn
ZVNhbXBsZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaW51dGVz
IHNhbXBsaW5nSW50ZXJ2YWwgeyAxMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2FtcGxpbmdJ
bnRlcnZhbCB7IDEwX21pbiB9OwogCiBIaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxl
cjo6SGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmIHdl
YlByb2Nlc3NQb29sKQogICAgIDogbV93ZWJQcm9jZXNzUG9vbCh3ZWJQcm9jZXNzUG9vbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNh
Z2VTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VTYW1wbGVyLmNwcAppbmRleCAwYzAzOWU2YmM2OTU4MjYzYmIxM2IwOWUyMTgyMGJm
NjNiN2FjY2RhLi4wZDg1N2JiNzg4MzI0YzY1OGNlZjY3MTVjMGIyMWNhZWU4YzgyNmJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdl
U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3Rh
dGVDUFVVc2FnZVNhbXBsZXIuY3BwCkBAIC0zOCw3ICszOCw3IEBAIHN0YXRpYyBjb25zdCBpbnQ2
NF90IG1pY3Jvc2Vjb25kc1BlclNlY29uZCA9IDEwMDAwMDA7CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbnV0ZXMgbG9nZ2luZ0ludGVy
dmFsIHsgNjAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvZ2dpbmdJbnRlcnZhbCB7IDYwX21p
biB9OwogCiBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOjpQZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VTYW1wbGVyKFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6IG1fcHJv
Y2Vzc1Bvb2wocHJvY2Vzc1Bvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1Yzlh
OTE4MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1N2UzMzM0NzdkLi4yMzAyNDkwZDlhM2ZlOGU2ODRj
MWExMTViZWQwMzQ2YTZkNjA5MTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMy
OSw3ICszMjksNyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQoKQogICAgIGRv
dWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOwogCiAgICAgaWYgKG1fcmVw
ZWF0KQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHRpbWVJbnRlcnZhbCB9KTsKICAg
ICBlbHNlCiAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHRpbWVJbnRlcnZhbCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFj
L05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3
NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi4yMDFiM2RjZDgzOTk0ODZiOGU0ZTJkOTBjNzU5ZjJh
OTUxZWQ0MzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1
LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50
ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2
YWxBY3RpdmUgeyAyMF9tcyB9OwogCiBzdGF0aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFz
dE1vdXNlRXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9z
aXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXggOTEyZjE1YzMwY2QzMzkzNzA4Y2NkNDg2NDk2ODc1
MGU4NTFlNTM0My4uNTY3ZTQ3YTRlNzVmMmYzYWRlMTUyM2Q2MTRkM2ExZWIyMTQxNzZkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5jcHAKQEAgLTQwNCwxMiArNDA0LDEyIEBAIGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6
cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAg
cmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6
ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQpOwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUlu
YWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHJlbGVhc2VJ
bmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsIHsgNTAwX21zIH07CiAKIHZvaWQgQ29tcG9zaXRp
bmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCkKIHsKICAgICBp
ZiAoIW1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVyLnN0YXJ0UmVwZWF0aW5nKFJlbGVhc2VJbmFjdGl2
ZUF0bGFzZXNUaW1lckludGVydmFsKTsKKyAgICAgICAgbV9yZWxlYXNlSW5hY3RpdmVBdGxhc2Vz
VGltZXIuc3RhcnRSZXBlYXRpbmcocmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwp
OwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFz
ZXNUaW1lckZpcmVkKCkKQEAgLTQyNiw3ICs0MjYsNyBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OnJlbGVhc2VBdGxhc2VzKFJlbGVhc2VBdGxhc1BvbGljeSBwb2xpY3kpCiAgICAgICAg
IFVwZGF0ZUF0bGFzKiBhdGxhcyA9IG1fdXBkYXRlQXRsYXNlc1tpXS5nZXQoKTsKICAgICAgICAg
Ym9vbCBpblVzZSA9IGF0bGFzLT5pc0luVXNlKCk7CiAgICAgICAgIGlmICghaW5Vc2UpCi0gICAg
ICAgICAgICBhdGxhcy0+YWRkVGltZUluYWN0aXZlKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1l
ckludGVydmFsKTsKKyAgICAgICAgICAgIGF0bGFzLT5hZGRUaW1lSW5hY3RpdmUocmVsZWFzZUlu
YWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIGJvb2wgdXNhYmxl
Rm9yUm9vdENvbnRlbnRzTGF5ZXIgPSAhYXRsYXMtPnN1cHBvcnRzQWxwaGEoKTsKICAgICAgICAg
aWYgKGF0bGFzLT5pc0luYWN0aXZlKCkgfHwgKCFpblVzZSAmJiBwb2xpY3kgPT0gUmVsZWFzZVVu
dXNlZCkpIHsKICAgICAgICAgICAgIGlmICghZm91bmRBY3RpdmVBdGxhc0ZvclJvb3RDb250ZW50
c0xheWVyICYmICFhdGxhc1RvS2VlcEFueXdheSAmJiB1c2FibGVGb3JSb290Q29udGVudHNMYXll
cikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBk
MTIwNzNhZDJkNTAyN2MwM2QyODY4YmYxZjU0MWY5YTllMWRlZjdjLi42OTQxMGJlNjhjN2FiMTA3
MmM2MzJiN2QxZDY3NTIxZmU5N2Y4MDFmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDQtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVh
dGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVz
dWtlIFN1enVraS4KKworICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJs
b2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNC0wOCAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgQ1NTUHJvcGVydGllcy5q
c29uIHdpdGggY29ycmVjdCBmaWxsLWFuZC1zdHJva2Ugc3RhdHVzLCBhbmQgb3RoZXIgY2xlYW51
cApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCAxZGM3ZTkz
OGE3NmU5OTRiZTk3Njk4ZWU4MDVjYzZmZmVkNmZlM2RiLi5kMWRlMDMxYTA4YTA3NTE0ZGZjZGYw
N2E1ZTVlZTRhMzZhMzA3NzMwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5M
b29wLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIFJlcGVhdGluZ1Rp
bWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsK
LSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0
UmVwZWF0aW5nKDEwX21zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAg
IH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306635</attachid>
            <date>2017-04-09 15:58:57 -0700</date>
            <delta_ts>2017-04-09 16:42:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170656-20170409155848.patch</filename>
            <type>text/plain</type>
            <size>38107</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTFmMzU0MDRkNmU3
OWRlOGQ4MThjMzVlZGExNmJhYzBlNWI2OS4uNjQ1M2ZmMTdiNmIyNWZhNDFmZTgwODVlMWNkYjA0
NjJlOGY3NjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDE3LTA0LTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBv
dmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNob3VsZCB1c2UgU2Vjb25kcyB0eXBl
IG5vdy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2s6OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBlZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1
cGRhdGVBcHBlYXJhbmNlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93
UGFpbnRSZWN0KToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAg
ICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
LmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNr
QW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAq
IHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJv
bGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1
YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNjcm9sbFNuYXBUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3Zh
bCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnJlbmRlckludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXJxdWVlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJx
dWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUd0ay5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KToKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKworMjAx
Ny0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN0YXJ0
IGRyb3BwaW5nIFRpbWVyIEFQSSBkZWFsaW5nIHdpdGggZG91YmxlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYjZkNGY1NTU3OWIzNWNkYjYyYTQ4NDdjZjg4MmRhZTAzODA2ZDMuLjY1MWE4YzZlYmZk
YzkxMDAwMjE0MTRkMGFjNGM0YWVlMGYyMTI5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNyBAQAogMjAxNy0wNC0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIERyb3AgVGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIERyb3Ag
VGltZXI6OnN0YXJ0UmVwZWF0aW5nKCkgb3ZlcmxvYWQgdGFraW5nIGEgZG91YmxlIGFzIHBlb3Bs
ZSBzaG91bGQgdXNlIFNlY29uZHMgdHlwZSBub3cuCisKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRpbWVyOjpzdGFydCk6CisKKzIw
MTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdGFy
dCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRoIGRvdWJsZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA0N2Q3M2FmZTcxYzA4ODU2ODE4ODVkMzJiY2Y4N2MzZmIzMjVlNmY4Li5hZGM4NWZkM2Uz
M2Y0YWIyZjI1MGIyNjA4YTNhNWY0ZGY1NThjZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTYgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcw
NjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICBEcm9w
IFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRvdWJsZSBhcyBwZW9w
bGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICogRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5jcHA6CisKKzIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBTdGFydCBkcm9wcGluZyBUaW1lciBBUEkgZGVhbGluZyB3aXRo
IGRvdWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcwNjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNTQ3YzE3MTA1MWI1ODRhOTBjMTM3ODI4ZGZkMjZlN2Nj
ZWE1MGE5Li4zNTczMDQyYzU2ZmY0Nzk3YmJmMDM5NWM1YzM0OTg4N2NlMTliNzY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMDQtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAorICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2Fk
IHRha2luZyBhIGRvdWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKwor
ICAgICAgICBEcm9wIFRpbWVyOjpzdGFydFJlcGVhdGluZygpIG92ZXJsb2FkIHRha2luZyBhIGRv
dWJsZSBhcyBwZW9wbGUgc2hvdWxkIHVzZSBTZWNvbmRzIHR5cGUgbm93LgorCisgICAgICAgICog
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlT
YW1wbGVyOjppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSGlnaFBlcmZvcm1h
bmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QZXJBY3Rp
dml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2Fw
ZVBsdWdpbjo6VGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXMpOgorCisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgU3RhcnQgZHJvcHBpbmcgVGltZXIgQVBJIGRlYWxpbmcgd2l0aCBkb3Vi
bGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY0
OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDMwMDk2NzJi
MTAzNzdiMTUwMjlkYzQ5MGJiMTE1YzQ2MTI5NTZiYzAuLmRiNGM0MDQxYzk2NzM5NjgwNjliOWUz
ZmNiN2Q1ZDZlYzU1ODc0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2su
Y3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6
OlNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KG1fZnJhbWVSZXF1ZXN0UmF0ZS52YWx1ZSgpKQotICAgICAgICBtX3JlcXVlc3RGcmFtZVRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEuIC8gbV9mcmFtZVJlcXVlc3RSYXRlLnZhbHVlKCkpOworICAgICAg
ICBtX3JlcXVlc3RGcmFtZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyAvIG1fZnJhbWVSZXF1ZXN0
UmF0ZS52YWx1ZSgpKTsKIH0KIAogdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCmluZGV4IDRmNTA2NDg3Mzk4YjUyYTA3ZmI3N2Q3NWUxNTMzYzg5ZDIwNWRi
ZTguLjk4NmIzNWU2NWE2ZmQ5YjllYmNkMmQxMTgwYjViNmYwYTYyMDgwNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2
b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlu
a2luZyB3aXRoIGEgYmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUK
ICAgICAvLyBhbHJlYWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAo
c2hvdWxkQmxpbmsgJiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAg
aWYgKGRvdWJsZSBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0
QmxpbmtJbnRlcnZhbCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlua0ludGVydmFsID0gbV9m
cmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAg
bV9jYXJldEJsaW5rVGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAg
ICAgaWYgKCFtX2NhcmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IGZhMDMyYTAxN2QxM2UyNzE3N2NiNmIzZGUzOWJiZGQ1OGZiYTY2NmUuLjRk
NjA0NjgwZjUzOGNmYmRkZTQ2MmY5MDRmY2E0NDA2ODM0OGQ5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjA0MCw3ICsyMDQwLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3Vz
UHJvZ3Jlc3NUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUw
bXMgaXMgbm90IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRU
aW1lci5zdGFydFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3Rh
cnRSZXBlYXRpbmcoMzUwX21zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9y
U291cmNlQ2hhbmdlKCkKQEAgLTM1MjEsNyArMzUyMSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMg
dGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIx
NSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25z
dCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSB7IDI1MF9tcyB9OwogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1RpbWVyKCkKIHsKQEAgLTM1
NjQsOCArMzU2NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1Rp
bWVyRmlyZWQoKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2
ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKIHsKLSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tU
aW1lQXRMYXN0VXBkYXRlRXZlbnQ7CisgICAgTW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKKyAgICBTZWNvbmRzIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRM
YXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCiAg
ICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJl
cXVlbmN5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA3MTZkMjg2
NTQ1Mzc1OWQwM2Q1NjdiMjI2OTUxZGM5OWEyMDQ3YTNiLi43YzBlNTJmZTg5MDhmNmRlOWI4YTc2
ZDA1NDUyZjE2ZGVhM2I3ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtODg3LDcgKzg4Nyw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fcGxheWJhY2tTdGFy
dGVkVGltZSB7IDAgfTsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRlIGV2ZW50
IHdhcyBzZW50IChiYXNlZCBvbiBtb25vdG9uaWMgY2xvY2spLgotICAgIGRvdWJsZSBtX2Nsb2Nr
VGltZUF0TGFzdFVwZGF0ZUV2ZW50IHsgMCB9OworICAgIE1vbm90b25pY1RpbWUgbV9jbG9ja1Rp
bWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIFRoZSBsYXN0IHRpbWUgYSB0aW1ldXBkYXRl
IGV2ZW50IHdhcyBzZW50IGluIG1vdmllIHRpbWUuCiAgICAgTWVkaWFUaW1lIG1fbGFzdFRpbWVV
cGRhdGVFdmVudE1vdmllVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNw
cAppbmRleCBlYThhMjU2N2M2YjQ1ZjAwZGVlODM2NjNiNjY3ZmQ0ZDVlZmU4NTQ1Li42ZTM0NjVj
YjJkZmIzOTJiNDI2MmM4ODA4ZDVkNmY4Yjc4ZDA1YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01OCw3ICs1OCw2IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVk
aWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2Ns
b2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250
ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lKDAp
CiB7CiB9CiAKQEAgLTY2NCw3ICs2NjMsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJu
VG9SZWFsdGltZSgpCiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBk
YXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1
MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5IHsgMjUwX21zIH07CiAKIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzYsOCArNjc1LDggQEAg
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3VibGUgbm93
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9
IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG5vdyA9
IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93IC0gbV9w
cmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRh
dGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFD
b250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNk
Mi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRp
bWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRp
bWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDNiNWZmNzhhMTExM2FkOTRmODFiNTY2MzkzYTEwOGQx
YjkwMGQzOGEuLjFhYzQwZGM0YjZiMDg0YmM2MWFkMWE5Mjg0N2MzODJlYWU2Mzg3YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVu
dE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBl
bGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsIHsgMjUwX21zIH07CiAKIHN0YXRpYyBib29s
IGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7
CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhU
TUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmMTc4YTc2
ZGU0YWU1NzRlM2ZkODkxYmI4NTE0ZTY4ZjM0ODg3OTcuLmVhNmU3ODQ3MDk2ZDMyNzBmZDFjNjMw
MDQ1OGI3YzAzZmZiNDc3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUxMyw4ICs1MTMsOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5h
cHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1f
cGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUg
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50
UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNl
Y29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCB7
IDMyX21zIH07CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmco
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIy
OWU2ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi5iMTk2YTU5MWYyMjk1MDg2YmIyM2Zj
YzdhNmE2MDlkNmMxNzZhZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jl
c3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25z
dCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAog
Ly8gQ2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBj
b25zdCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgeyAxMDBfbXMgfTsKIAogLy8gSG93
IG1hbnkgaGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRp
bmcgdGhlIGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bG9hZFN0YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0
b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFj
MjBjYjcyZjRjYTIuLmUzOTk2ZmRlZDUwYzViM2U2NGQyNDEyMzFjZTQyNmY0NWQ4N2U1ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NCw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIERlbGF5IHRpbWUgaW4gc2Vjb25kIGZv
ciBzdGFydCBhdXRvc2Nyb2xsIGlmIHBvaW50ZXIgaXMgaW4gYm9yZGVyIGVkZ2Ugb2Ygc2Nyb2xs
YWJsZSBlbGVtZW50Lgogc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7
CiAKLS8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQg
d2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAuMDU7CisvLyBXaGVuIHRoZSBhdXRv
c2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBl
dmVyeSA1MG1zIHRvIG1ha2UgaXQgc21vb3RoLgorc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3Nj
cm9sbEludGVydmFsIHsgNTBfbXMgfTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogc3Rh
dGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCA4ZTA1MTJiOWFhYTAxYWE2ODE1ZGFjMTlmNjA5NDMzOTBkZDRjOTA3Li40NzU2MGVkNzFm
ODMyODI3YTk1ZDY1NzBhMjdlNTcyOWZhMTU5YWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTIxLDcgKzEyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVu
Y3kgPSAxMDAwIC8gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxGcmVxdWVuY3kgeyAx
MDAwIC8gNjAuIH07CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVm
Q291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IDJjYTg2Zjk4MjgwODE2Mzc4NGYyYWI3ZmE0M2VlZWJi
ZWUzNzk1ZjguLjZjNGI2ZDJjMjFiNGQ0ZTBkNjIxMDdjZjZlNzE4ZGRlZDJmOGQ1YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC0yNTAsNyArMjUwLDcgQEAgdm9pZCBQYWdl
T3ZlcmxheTo6c3RvcEZhZGVPdXRBbmltYXRpb24oKQogdm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRG
YWRlQW5pbWF0aW9uKCkKIHsKICAgICBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUgPSBjdXJyZW50
VGltZSgpOwotICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEgLyBmYWRl
QW5pbWF0aW9uRnJhbWVSYXRlKTsKKyAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZygxX3MgLyBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlKTsKIH0KIAogdm9pZCBQYWdlT3Zlcmxh
eTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxl
VGltZXIuaAppbmRleCAxNWViNzNmMjJjNzcwMDIwYmQ1YzdlNTQwMmZlMTAwNmVkYTVhYTVjLi4z
MTI5MjA4ZmU1NWRjYTBkMDk4NTVjOWUyM2UxZWI3NzEzMTQzNGZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDUsNyArNDUsNiBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSB8fCAobV9z
dXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBj
b25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyB7IHJlcGVhdElu
dGVydmFsIH0pOyB9CiAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0
YXJ0T25lU2hvdChTZWNvbmRzIHsgaW50ZXJ2YWwgfSk7IH0KIAogICAgIFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxF
dmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RU
cmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJlM2YwMzUyM2RmNGI1OTdiY2UzNzYwYzc1
Li4yNzhiNGNkOWNiNDE3Njc1NWEyMWM3NjkxZmRjNzZjNGQ1OTBhZWI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBA
IHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRUZXN0Q2FsbGJhY2tBbmRTdGFydE5vdGlm
aWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQogICAgIAogICAgIGlmICghbV90ZXN0VHJp
Z2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFydFJl
cGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDFfcyAvIDYwLik7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpkZWZl
clRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGVudGlmaWVyLCBEZWZl
clRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCmluZGV4IDMx
NGE4ZGY3NTkwOTkxNTM5Mjc1YWFkNGEzOWRkOWI2YzhlYTZlMGIuLmE2NTk0MDI3YTk5ZWYyY2M4
ZWFhNzJjMWVjZjEwNDQwMWM3ODVlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaApAQCAtNzYs
NyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBGb250Q2FzY2FkZSBzeXN0ZW1Gb250KFRo
ZW1lRm9udCwgRm9udERlc2NyaXB0aW9uJikgY29uc3QgeyByZXR1cm4gRm9udENhc2NhZGUoKTsg
fQogICAgIAogICAgIC8vIEhvdyBmYXN0IHRoZSBjYXJldCBibGlua3MgaW4gdGV4dCBmaWVsZHMu
Ci0gICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIDUwMF9tczsgfQogCiAgICAgLy8gTm90aWZpY2F0aW9uIHdoZW4gdGhlIHRoZW1lIGhh
cyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmgKaW5kZXggNTVmMmYyNGI3ZmY2ZTUzMzE5NmY4OWNjNjJjZTk1NDlhMzhmMWRm
Ni4uMDUxNzRiNGYxNGIzNjgyZThkN2JkY2ZhMzQ1Yzg0NmE4Zjk2YjUyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCkBAIC01NCw3ICs1NCw2IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyByZXBlYXRJbnRlcnZhbCB9KTsgfQogICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJ
bnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CiAKICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KFNlY29uZHMgeyBpbnRlcnZhbCB9KTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5k
ZXggZTBiYTgwZjljYThkNTU1YjU4N2NiMTAxNDE2OTNlNGMzMTZkZmRlNC4uMWU4ZjdkZmQ4N2Vh
MzM5NzhkZWY5NGJmZGFjN2UyYmRhMTVmYmFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC0zODYsNyArMzg2LDcgQEAgYm9v
bCBTY3JvbGxDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIHZvaWQg
U2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCkKIHsKICAgICBtX2Ns
aWVudC5zdGFydFNuYXBSdWJiZXJiYW5kVGltZXIoKTsKLSAgICBtX3NuYXBSdWJiZXJiYW5kVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgbV9zbmFwUnViYmVyYmFuZFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDFfcyAvIDYwLik7CiAKICAgICBtX2NsaWVudC5kZWZlclRlc3RzRm9y
UmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxl
QXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlJ1YmJlcmJhbmRJ
blByb2dyZXNzKTsKIH0KQEAgLTU2Miw3ICs1NjIsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6
OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKIAogICAgIHN0YXJ0RGVmZXJyaW5nVGVzdHNEdWVUb1Nj
cm9sbFNuYXBwaW5nKCk7CiAgICAgbV9jbGllbnQuc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsKLSAg
ICBtX3Njcm9sbFNuYXBUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICBtX3Nj
cm9sbFNuYXBUaW1lci5zdGFydFJlcGVhdGluZygxX3MgLyA2MC4pOwogfQogCiB2b2lkIFNjcm9s
bENvbnRyb2xsZXI6OnN0b3BTY3JvbGxTbmFwVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDhhOTBjMmJkYmFkNDhjMTQ1
YTU4YTkxODY0YzAwZmMzNzBlMzljMzcuLmI4NDk2YjE5ZTJmNGFjZmJiMGE2ZDRiOWNkZjY5NzI1
NmM2ZDg4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5jcHAKQEAgLTUyMyw3ICs1MjMsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxl
R3JpZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxl
Q29ob3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNl
Y29uZHMgPSAxOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyB7
IDFfcyB9OwogCiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1l
ciBmcm9tIG5vdyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1v
dmFsVGltZXIuaXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAKaW5kZXggNTVhOGQzODRkZTVlY2U5YmZmMjgxNzAxNWU1ZTczYjAzZWM5
MjRkYS4uMDQ2NmY3NzMxZDkzNjZkOWYzODUwNzgxOTBhZjRlODBjODczN2FmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NDksNyAr
MTk0OSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1
ZmZlcmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RW5hYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlw
ZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAg
ICAgICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMjAwX21zKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVC
VUcoIkRpc2FibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQo
bV9waXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9N
b2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1hYy5tbQppbmRleCA3YWI0Mzgz
NjRmMWU3NTYyZWE2ODgxMDFmM2RiNGQ5ZTE2ZWU5YzJjLi5jZTRkYWJiMzhlYmU4ODg4ZjNjYzAz
N2ZmZjUzYWZhNzRiMGI5MjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZUF1ZGlvU291cmNl
TWFjLm1tCkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZU1h
Yzo6ZW1pdFNhbXBsZUJ1ZmZlcnModWludDMyX3QgZnJhbWVDb3VudCkKIAogdm9pZCBNb2NrUmVh
bHRpbWVBdWRpb1NvdXJjZU1hYzo6cmVjb25maWd1cmUoKQogewotICAgIG1fbWF4aW1pdW1GcmFt
ZUNvdW50ID0gV1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkgLyAxMDAw
LiAqIHNhbXBsZVJhdGUoKSAqIDIpOworICAgIG1fbWF4aW1pdW1GcmFtZUNvdW50ID0gV1RGOjpy
b3VuZFVwVG9Qb3dlck9mVHdvKHJlbmRlckludGVydmFsKCkuc2Vjb25kcygpICogc2FtcGxlUmF0
ZSgpICogMik7CiAgICAgQVNTRVJUKG1fbWF4aW1pdW1GcmFtZUNvdW50KTsKIAogICAgIGNvbnN0
IGludCBieXRlc1BlckZsb2F0ID0gc2l6ZW9mKEZsb2F0MzIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAppbmRl
eCBiZTZiZGJmYmVlYTVhMGZhMmQ2MDgwNDdiOTI4OTE3NDRjMGU3NGY0Li5jNjRjNjQwZjE1YmFi
NmRkYWYxMGUxZmY0MzY4YWI5Mjk1YTM5NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcApAQCAtMTA5LDcg
KzEwOSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0
YSgpCiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwog
CiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBt
X3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMocmVuZGVySW50
ZXJ2YWwoKSkpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcocmVuZGVySW50ZXJ2YWwoKSk7
CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVk
aW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVk
aW9Tb3VyY2UuaAppbmRleCBkODgxNGEzNWJmZGVkNmY4ODM5NTExMjViOWU5MWU1NzQ1YjFjZmU0
Li4xMzMxYzc5MTgxNDRlNmU5NmZjMmFmNDI1N2JmYzJlNzFmY2Q4ZTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5o
CkBAIC01OCw3ICs1OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGRv
dWJsZSkgeyB9CiAKICAgICBkb3VibGUgZWxhcHNlZFRpbWUoKTsKLSAgICBzdGF0aWMgaW50IHJl
bmRlckludGVydmFsKCkgeyByZXR1cm4gNjA7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyByZW5kZXJJ
bnRlcnZhbCgpIHsgcmV0dXJuIDYwX21zOyB9CiAKIHByaXZhdGU6CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAK
aW5kZXggMzNmYmIxN2I5MTRmNmNlZDFiOTk4YjM4MjA5OGRiN2Y3Yzg3NmQyMS4uOGRiMGE4YzZm
OTg4N2RiMDRkNDJiMDJiNmVlZGMzZDA1MWNiNzRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTEw
MSw3ICsxMDEsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2lu
Z0RhdGEoKQogICAgIH0KIAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZygxX21zICogbHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpOwogfQogCiB2b2lkIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBAIC0xNTUsNyArMTU1
LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENv
bnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBl
YXRpbmcoMV9tcyAqIGxyb3VuZCgxMDAwIC8gcmF0ZSkpOwogCiAgICAgdXBkYXRlU2FtcGxlQnVm
ZmVyKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1
Ny4uYzg3MDRjMjhhOTY2MWM4Y2NmZmNkMDk3Yjk1YTIzOWFmZWYzNzMzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZv
aWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAg
ICB9CiAKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAg
bV90aW1lci5zdGFydFJlcGVhdGluZygxX21zICogc3BlZWQoKSk7CiB9CiAKIHZvaWQgUmVuZGVy
TWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVl
Ojp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgp
KSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYgKG1fdGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQo
KSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoMV9tcyAqIHNw
ZWVkKCkpOwogICAgIH0KICAgICAKICAgICAvLyBDaGVjayB0aGUgbG9vcCBjb3VudCB0byBzZWUg
aWYgd2Ugc2hvdWxkIG5vdyBzdG9wLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aAppbmRleCAxMjIyNzFlN2Q3ZDYwOWQ3NzEzNDUwZTQ3MWNlZjQ5MGJjYjljZjlhLi43MWQxNjVh
MTA4ZDYxODAzNmVjZjMzZTBiMWFkMmEyMTliOTEwYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaApAQCAtMTc4LDcgKzE3OCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAg
IHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCi0gICAgdmlydHVhbCBk
b3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAgdmly
dHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDUwMF9tczsg
fQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAgICB2b2lkIHN5
c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggZjU2MDAwMDk2
NjQ0NzFjOWU3ZDQ1N2JiYWU2MzY3NjYyM2ZiY2NjNy4uMTcyODRmNDk5OGYzMTUzNGI1NDE5NTM5
YjQ5YzU0NjRkYTYzNTI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVHdGsuY3BwCkBAIC0xODAyLDcgKzE4MDIsNyBAQCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWlu
dElubmVyU3BpbkJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29ucwog
fQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9OKDMsIDIwLCAwKQogCi1kb3VibGUgUmVuZGVy
VGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1l
R3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEd0a1NldHRpbmdzKiBzZXR0
aW5ncyA9IGd0a19zZXR0aW5nc19nZXRfZGVmYXVsdCgpOwogCkBAIC0xODEyLDkgKzE4MTIsOSBA
QCBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiAgICAg
Z19vYmplY3RfZ2V0KHNldHRpbmdzLCAiZ3RrLWN1cnNvci1ibGluayIsICZzaG91bGRCbGluaywg
Imd0ay1jdXJzb3ItYmxpbmstdGltZSIsICZ0aW1lLCBudWxscHRyKTsKIAogICAgIGlmICghc2hv
dWxkQmxpbmspCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gMF9zOwogCi0gICAg
cmV0dXJuIHRpbWUgLyAyMDAwLjsKKyAgICByZXR1cm4gMl9tcyAqIHRpbWU7CiB9CiAKIGVudW0g
U3R5bGVDb2xvclR5cGUgeyBTdHlsZUNvbG9yQmFja2dyb3VuZCwgU3R5bGVDb2xvckZvcmVncm91
bmQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0
ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmgKaW5kZXggOTE3
MjM0NTVmNzczY2EyNzUzZDg2MWFjMzc3YmJmMjU5Zjk5YThiZS4uN2I4MmQ5MzE0NjQ0NGZkNGVm
ZWU1NjE0ZTVjMTFkNzZkYjFlZDgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lR3RrLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIENvbG9yIHBsYXRmb3Jt
SW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29s
b3IoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBj
b25zdCBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmNwcAppbmRleCBhNWVhOTMyYjc0OTVlOWVkZGQwNGU2Y2M2OGNjZTNk
NzgzNWI3YTdlLi5hNzc2NmRmYmRiOTFlMjNiMDVjNmI1ZWY5ZDIyMWE4MjAzMDM2MGM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8g
NTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWwgeyA1MF9tcyB9OyAvLyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KIAogWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlKEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiAgICAgOiBtX3RhcmdldCh0YXJnZXQpCkBAIC03Mywx
MiArNzMsMTIgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlz
cGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wgbGUKICAgICAgICAgQVNTRVJUKCFtX2hh
c1Rocm90dGxlZFByb2dyZXNzRXZlbnQpOwogCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQs
IGxlbmd0aENvbXB1dGFibGUsIGxvYWRlZCwgdG90YWwpKTsKLSAgICAgICAgc3RhcnRSZXBlYXRp
bmcobWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzKTsKKyAg
ICAgICAgc3RhcnRSZXBlYXRpbmcobWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsKTsKICAgICAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUg
c28gbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzIGlzIHRo
ZSBsZWFzdCBmcmVxdWVudCBldmVudC4KKyAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3Rp
dmUgc28gbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsIGlzIHRoZSBsZWFz
dCBmcmVxdWVudCBldmVudC4KICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSB0cnVl
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5oCmluZGV4IDc4MWQ2ZWNlNmU1NzUyMzE5ZjRjNjNmYWQ0YTYw
YTkyNGZlNDgzZjEuLjAxYzE3YTY2ZjI5NWQ3NDZmNWEwZWQzYTA0NzFlYzc5YjgxMmEwYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3Vt
ZSgpOwogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZvaWQg
ZmlyZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIGRpc3BhdGNoRGVmZXJyZWRFdmVudHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0K
aW5kZXggZmVhNTUwMGI3YTY5ODdmOTNhOTM0NjdhN2ZmNjJhYjc3OTlkMmVmOS4uMDg3ZmNmYmMw
MWI4NmMwZjE5MWFkYzA0MzVhYTA0ODU1YzdmNzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTEzNiw3ICsxMzYsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2
YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwogICAgICAgICAKICAgICAgICAgaWYgKG1fcmVw
ZWF0KQotICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKKyAgICAgICAg
ICAgIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgeyB0aW1lSW50ZXJ2YWwgfSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHN0YXJ0T25lU2hvdCh0aW1lSW50ZXJ2YWwpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKaW5kZXggYmMx
OGRlYjc1Y2NkNzA4MjdhZmZhZTllMDc2MjFmMjM1MDFmNTRlYS4uODU3MTg1MDg0MTAyZDBkNjYx
YTMwNWM2ZGYxYzU5NjI4NTZlYWU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGZsb2F0IHRp
bWVySW50ZXJ2YWwgPSAwLjAzMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwg
eyAzM19tcyB9OwogCiAvLyBIVUQgU2l6ZQogc3RhdGljIGNvbnN0IGludCB3aW5kb3dIZWlnaHQg
PSA1OTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAw
NTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi5iYWJjMjg4OGNiNzVmYjQ2
ZjM4ODBkOGNkYjgzMWYyYTdkMjQ2MjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1l
bW9yeVNhbXBsZXIuY3BwCkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6
c3RhcnQoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxl
CiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2
YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBs
ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDFfcyk7CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBz
YW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBn
ZXRwaWQoKSk7CiAgICAgaWYgKGludGVydmFsID4gMCkgewogICAgICAgICBtX3N0b3BUaW1lci5z
dGFydE9uZVNob3QoaW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA0OWYxOGUzNzhhNTI5
ZDA1NjViMGQ3ZWU5ZTYxODgyMTJjZmRkMmI4Li43OTlkYTY1YzlhN2EzZTUxNGJjZjVjNGM5NzAw
NjMwMWU2NjI5N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
Vmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3Qgc3Rk
OjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3Jp
bmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJl
bW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwX21zOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQogc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9IaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxlci5j
cHAKaW5kZXggODU5ODk1MDc3ZGM1YTMxNmUxZWM5Yzc3MWY5ZTg0NjYxZjYzN2NhZC4uNjY0NTVj
ZTU2ODVjMTQ1ZjBhMDJiMTEyYWUzMjMxOWU4MjYyZDk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2Fn
ZVNhbXBsZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaW51dGVz
IHNhbXBsaW5nSW50ZXJ2YWwgeyAxMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2FtcGxpbmdJ
bnRlcnZhbCB7IDEwX21pbiB9OwogCiBIaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxl
cjo6SGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXIoV2ViUHJvY2Vzc1Bvb2wmIHdl
YlByb2Nlc3NQb29sKQogICAgIDogbV93ZWJQcm9jZXNzUG9vbCh3ZWJQcm9jZXNzUG9vbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRlQ1BVVXNh
Z2VTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VTYW1wbGVyLmNwcAppbmRleCAwYzAzOWU2YmM2OTU4MjYzYmIxM2IwOWUyMTgyMGJm
NjNiN2FjY2RhLi4wZDg1N2JiNzg4MzI0YzY1OGNlZjY3MTVjMGIyMWNhZWU4YzgyNmJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdl
U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BlckFjdGl2aXR5U3Rh
dGVDUFVVc2FnZVNhbXBsZXIuY3BwCkBAIC0zOCw3ICszOCw3IEBAIHN0YXRpYyBjb25zdCBpbnQ2
NF90IG1pY3Jvc2Vjb25kc1BlclNlY29uZCA9IDEwMDAwMDA7CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbnV0ZXMgbG9nZ2luZ0ludGVy
dmFsIHsgNjAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvZ2dpbmdJbnRlcnZhbCB7IDYwX21p
biB9OwogCiBQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOjpQZXJBY3Rpdml0eVN0YXRl
Q1BVVXNhZ2VTYW1wbGVyKFdlYlByb2Nlc3NQb29sJiBwcm9jZXNzUG9vbCkKICAgICA6IG1fcHJv
Y2Vzc1Bvb2wocHJvY2Vzc1Bvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1Yzlh
OTE4MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1N2UzMzM0NzdkLi5mZDM2YjQxMTY5NTE3NWJiYjk5
NzliZWY5YzE3OTE0ZTYyMzRkOTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMy
Niw3ICszMjYsNyBAQCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6On5UaW1lcigpCiAKIHZvaWQgTmV0
c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiB7Ci0gICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9
IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwgPSAxX21zICog
bV9pbnRlcnZhbDsKIAogICAgIGlmIChtX3JlcGVhdCkKICAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMu
bW0KaW5kZXggYjkyNmRiMDkwMmY1YjhmNzUwNDdmZWFkYzJjNTQzYzZhY2MyZTVlMC4uMjAxYjNk
Y2Q4Mzk5NDg2YjhlNGUyZDkwYzc1OWYyYTk1MWVkNDMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTWFjLm1tCkBAIC00NSw3ICs0NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZm5kZWYgTlBfTk9fQ0FSQk9OCi1zdGF0aWMg
Y29uc3QgZG91YmxlIG51bGxFdmVudEludGVydmFsQWN0aXZlID0gMC4wMjsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG51bGxFdmVudEludGVydmFsQWN0aXZlIHsgMjBfbXMgfTsKIAogc3RhdGljIHVu
c2lnbmVkIGJ1dHRvblN0YXRlRnJvbUxhc3RNb3VzZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3Np
dGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDkxMmYx
NWMzMGNkMzM5MzcwOGNjZDQ4NjQ5Njg3NTBlODUxZTUzNDMuLjU2N2U0N2E0ZTc1ZjJmM2FkZTE1
MjNkNjE0ZDNhMWViMjE0MTc2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC00MDQsMTIgKzQwNCwxMiBAQCBib29s
IENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnBhaW50VG9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNp
emUsIENvb3JkaW5hdGVkU3VyZgogICAgIHJldHVybiBtX3VwZGF0ZUF0bGFzZXMubGFzdCgpLT5w
YWludE9uQXZhaWxhYmxlQnVmZmVyKHNpemUsIGF0bGFzSUQsIG9mZnNldCwgY2xpZW50KTsKIH0K
IAotY29uc3QgZG91YmxlIFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41
OworY29uc3QgU2Vjb25kcyByZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCB7IDUw
MF9tcyB9OwogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUlu
YWN0aXZlQXRsYXNlcygpCiB7CiAgICAgaWYgKCFtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5zdGFy
dFJlcGVhdGluZyhSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCk7CisgICAgICAg
IG1fcmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVyLnN0YXJ0UmVwZWF0aW5nKHJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXNUaW1lckludGVydmFsKTsKIH0KIAogdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5h
dG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJGaXJlZCgpCkBAIC00MjYsNyArNDI2LDcg
QEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlQXRsYXNlcyhSZWxlYXNlQXRs
YXNQb2xpY3kgcG9saWN5KQogICAgICAgICBVcGRhdGVBdGxhcyogYXRsYXMgPSBtX3VwZGF0ZUF0
bGFzZXNbaV0uZ2V0KCk7CiAgICAgICAgIGJvb2wgaW5Vc2UgPSBhdGxhcy0+aXNJblVzZSgpOwog
ICAgICAgICBpZiAoIWluVXNlKQotICAgICAgICAgICAgYXRsYXMtPmFkZFRpbWVJbmFjdGl2ZShS
ZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBhdGxhcy0+
YWRkVGltZUluYWN0aXZlKHJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsLnZhbHVl
KCkpOwogICAgICAgICBib29sIHVzYWJsZUZvclJvb3RDb250ZW50c0xheWVyID0gIWF0bGFzLT5z
dXBwb3J0c0FscGhhKCk7CiAgICAgICAgIGlmIChhdGxhcy0+aXNJbmFjdGl2ZSgpIHx8ICghaW5V
c2UgJiYgcG9saWN5ID09IFJlbGVhc2VVbnVzZWQpKSB7CiAgICAgICAgICAgICBpZiAoIWZvdW5k
QWN0aXZlQXRsYXNGb3JSb290Q29udGVudHNMYXllciAmJiAhYXRsYXNUb0tlZXBBbnl3YXkgJiYg
dXNhYmxlRm9yUm9vdENvbnRlbnRzTGF5ZXIpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDEyMDczYWQyZDUwMjdjMDNkMjg2OGJmMWY1NDFmOWE5
ZTFkZWY3Yy4uNjk0MTBiZTY4YzdhYjEwNzJjNjMyYjdkMWQ2NzUyMWZlOTdmODAxZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE3LTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgRHJvcCBUaW1lcjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDY1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgRHJvcCBUaW1l
cjo6c3RhcnRSZXBlYXRpbmcoKSBvdmVybG9hZCB0YWtpbmcgYSBkb3VibGUgYXMgcGVvcGxlIHNo
b3VsZCB1c2UgU2Vjb25kcyB0eXBlIG5vdy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIw
MTctMDQtMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXBkYXRlIENTU1Byb3BlcnRpZXMuanNvbiB3aXRoIGNvcnJlY3QgZmlsbC1hbmQtc3Ryb2tl
IHN0YXR1cywgYW5kIG90aGVyIGNsZWFudXAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
UnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZmZTNk
Yi4uZDFkZTAzMWEwOGEwNzUxNGRmY2RmMDdhNWU1ZWU0YTM2YTMwNzczMCAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCBURVNU
KFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRp
bWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAu
MDEpOworICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygxMF9tcyk7CiAgICAgICAgIFV0aWw6
OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306769</attachid>
            <date>2017-04-10 19:38:00 -0700</date>
            <delta_ts>2017-04-10 21:30:47 -0700</delta_ts>
            <desc>Follow-up fix</desc>
            <filename>170656_bugfix.patch</filename>
            <type>text/plain</type>
            <size>1131</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmNTcwNzhlZWVhOC4uZjg5MWE3OTAwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wNC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEZpeCBiYWQgY2hhbmdlIGluIHIyMTUxNjcuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnQgbWlzdGFrZSBtYWRlIGluIHIyMTUx
NjcuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCk6CisKIDIwMTctMDQt
MTAgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDYWNoZWRJbWFnZSBzaG91bGQgc3RvcCBkZWNvZGluZyBpbWFnZXMgd2hlbiB1bmtub3duIHR5
cGUgaXMgZGV0ZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsu
Y3BwCmluZGV4IGJhNGM2ZDI4YWEzLi5hNTU0N2Q1NmFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC0xODE0LDcgKzE4MTQsNyBAQCBTZWNvbmRz
IFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdAogICAgIGlmICghc2hv
dWxkQmxpbmspCiAgICAgICAgIHJldHVybiAwX3M7CiAKLSAgICByZXR1cm4gMl9tcyAqIHRpbWU7
CisgICAgcmV0dXJuIDFfbXMgKiB0aW1lIC8gMi47CiB9CiAKIGVudW0gU3R5bGVDb2xvclR5cGUg
eyBTdHlsZUNvbG9yQmFja2dyb3VuZCwgU3R5bGVDb2xvckZvcmVncm91bmQgfTsK
</data>
<flag name="review"
          id="328098"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>