<?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>172396</bug_id>
          
          <creation_ts>2017-05-19 15:39:34 -0700</creation_ts>
          <short_desc>Implement additional AVPlayerController interfaces for minTime and maxTime.</short_desc>
          <delta_ts>2017-06-08 14:47:44 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310824</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-19 15:39:34 -0700</bug_when>
    <thetext>Implement additional AVPlayerController interfaces for minTime and maxTime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310826</commentid>
    <comment_count>1</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-19 15:41:02 -0700</bug_when>
    <thetext>rdar://problem/30737452</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310884</commentid>
    <comment_count>2</comment_count>
      <attachid>310732</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-19 17:21:42 -0700</bug_when>
    <thetext>Created attachment 310732
Preliminary Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310886</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-05-19 17:24:51 -0700</bug_when>
    <thetext>Attachment 310732 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/mac/AVFoundationSPI.h:54:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316376</commentid>
    <comment_count>4</comment_count>
      <attachid>312160</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-06-06 20:36:00 -0700</bug_when>
    <thetext>Created attachment 312160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316377</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-06 20:38:15 -0700</bug_when>
    <thetext>Attachment 312160 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/mac/AVFoundationSPI.h:54:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316587</commentid>
    <comment_count>6</comment_count>
      <attachid>312211</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-06-07 12:45:48 -0700</bug_when>
    <thetext>Created attachment 312211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316588</commentid>
    <comment_count>7</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-07 12:48:16 -0700</bug_when>
    <thetext>Attachment 312211 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/mac/AVFoundationSPI.h:54:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316993</commentid>
    <comment_count>8</comment_count>
      <attachid>312211</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-06-08 11:15:44 -0700</bug_when>
    <thetext>Comment on attachment 312211
Patch

I think we can re-enable progress events on iOS, then you won&apos;t need the timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317008</commentid>
    <comment_count>9</comment_count>
      <attachid>312330</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-06-08 12:02:30 -0700</bug_when>
    <thetext>Created attachment 312330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317067</commentid>
    <comment_count>10</comment_count>
      <attachid>312330</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-08 14:47:42 -0700</bug_when>
    <thetext>Comment on attachment 312330
Patch

Clearing flags on attachment: 312330

Committed r217948: &lt;http://trac.webkit.org/changeset/217948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317068</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-08 14:47:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310732</attachid>
            <date>2017-05-19 17:21:42 -0700</date>
            <delta_ts>2017-06-06 20:35:59 -0700</delta_ts>
            <desc>Preliminary Patch.</desc>
            <filename>bug-172396-20170519172141.patch</filename>
            <type>text/plain</type>
            <size>47041</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGEzMTA5YjA2YTgzZDA4
ZjJlZmM2YWM2MGMxODQwYmRkYjZmNDFlMi4uNzczNDM5MjAzNjM2NGE0YjgyNGNmOTM2ZTgxZGJl
NTRhMzhhNjgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE3LTA1LTE5ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYWRkaXRp
b25hbCBBVlBsYXllckNvbnRyb2xsZXIgaW50ZXJmYWNlcyBmb3IgbWluVGltZSBhbmQgbWF4VGlt
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjM5
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5nZSB0byBET00uCisKKyAgICAgICAgUHJlbGltaW5hcnkg
cGF0Y2guCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVk
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpsaXZlVXBkYXRlSW50
ZXJ2YWwpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmg6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxl
bWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUZvckV2ZW50TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6bGl2ZVVwZGF0ZUludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6
c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllcjo6bGl2ZVVwZGF0ZUludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJm
YWNlOjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6bGl2ZVVwZGF0ZUludGVydmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNlZWth
YmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6bGl2ZVVwZGF0ZUludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViQVZQbGF5
ZXJDb250cm9sbGVyIGluaXRdKToKKyAgICAgICAgKC1bV2ViQVZQbGF5ZXJDb250cm9sbGVyIGRl
YWxsb2NdKToKKyAgICAgICAgKC1bV2ViQVZQbGF5ZXJDb250cm9sbGVyIG9ic2VydmVWYWx1ZUZv
cktleVBhdGg6b2ZPYmplY3Q6Y2hhbmdlOmNvbnRleHQ6XSk6CisgICAgICAgICgtW1dlYkFWUGxh
eWVyQ29udHJvbGxlciB1cGRhdGVNaW5NYXhUaW1pbmddKToKKyAgICAgICAgKC1bV2ViQVZQbGF5
ZXJDb250cm9sbGVyIGhhc1NlZWthYmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnRdKToKKyAgICAgICAg
KCtbV2ViQVZQbGF5ZXJDb250cm9sbGVyIGtleVBhdGhzRm9yVmFsdWVzQWZmZWN0aW5nSGFzU2Vl
a2FibGVMaXZlU3RyZWFtaW5nQ29udGVudF0pOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9X
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VBVktpdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VB
VktpdDo6cmF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQVZLaXQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZv
cm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAgICAgKFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQp
OgorICAgICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNlZWthYmxl
VGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAgICAoV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckNvbnRleHQ6OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnNlZWthYmxlUmFuZ2VzQ2hhbmdl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmg6CisgICAgICAgICog
cGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaDoKKwogMjAxNy0wNS0xMSAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTmFtZSBXZWJSVEMgVGhyZWFk
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDM0ZjJmNGY3ZjMwZmFhMWUwYWI4ZGZjMjk1MThhMmY3MTFjNWMxYTgu
LjM0YWYxMzdjZDgyY2JiYjY3OWI1MDJhNWRlNzJiMmQyZjBiMWE4NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMiBAQAorMjAxNy0wNS0xOSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5j
b20+CisKKyAgICAgICAgSW1wbGVtZW50IGFkZGl0aW9uYWwgQVZQbGF5ZXJDb250cm9sbGVyIGlu
dGVyZmFjZXMgZm9yIG1pblRpbWUgYW5kIG1heFRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIzOTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcmVsaW1pbmFyeSBwYXRjaC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29u
dGV4dDo6c2V0U2Vla2FibGVSYW5nZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2Vz
Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNl
ZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisKIDIwMTctMDUtMTEgIENsYXVkaW8gU2FhdmVkcmEgIDxj
c2FhdmVkcmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW1vdmUgbm90aWZpY2F0aW9u
cyBndWFyZHMgZnJvbSBHVEsgQVBJIGxheWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAppbmRleCA2YTE5OGFmNmUxM2RjNTU5Y2Q3NzIxYmQ1M2YxNDUyNzRjMWU3MTgx
Li4wNjQxZjhkZTgyZDZmNTcwMTQyYjlkMDE3NDJjMzVjMmRiYmNkMzRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQ4NDIsNiArNDg0MiwxNiBAQCBSZWY8
VGltZVJhbmdlcz4gSFRNTE1lZGlhRWxlbWVudDo6c2Vla2FibGUoKSBjb25zdAogICAgIHJldHVy
biBUaW1lUmFuZ2VzOjpjcmVhdGUoKTsKIH0KIAorZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6OnNl
ZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdAoreworICAgIHJldHVybiBt
X3BsYXllciA/IG1fcGxheWVyLT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkg
OiAwOworfQorCitkb3VibGUgSFRNTE1lZGlhRWxlbWVudDo6bGl2ZVVwZGF0ZUludGVydmFsKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+bGl2ZVVwZGF0ZUludGVy
dmFsKCkgOiAwOworfQorCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnBvdGVudGlhbGx5UGxheWlu
ZygpIGNvbnN0CiB7CiAgICAgaWYgKGlzQmxvY2tlZE9uTWVkaWFDb250cm9sbGVyKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDE5YzMzYzE3YjE2NzBjZTYwMjky
YTA3YzlkOTFiOTZlNmY5MjE0MzUuLjlkNmJhMjYzYTZiZjhlOWI5MmJiNWMwZTFiYTkzOWNjODk2
ZGVmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0yMzIsNiAr
MjMyLDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0V2Via2l0UHJlc2Vy
dmVzUGl0Y2goYm9vbCk7CiAgICAgUmVmPFRpbWVSYW5nZXM+IHBsYXllZCgpIG92ZXJyaWRlOwog
ICAgIFJlZjxUaW1lUmFuZ2VzPiBzZWVrYWJsZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGRvdWJs
ZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3Q7CisgICAgZG91Ymxl
IGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgZW5k
ZWQoKSBjb25zdDsKICAgICBib29sIGF1dG9wbGF5KCkgY29uc3Q7CiAgICAgYm9vbCBpc0F1dG9w
bGF5aW5nKCkgY29uc3QgeyByZXR1cm4gbV9hdXRvcGxheWluZzsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgKaW5k
ZXggNjhmYWI2MmUyZDc4M2M5N2I4NzhjOWQ3MTBjZTI4MzJjOGVjZWRlNC4uMmU0MDMwMjM3MmE5
Y2M0YjgwM2NkMjAwMTQwYTQ4M2ZiOWE2NGVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oCkBAIC02OCw2ICs2
OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTY3J1YmJpbmcoKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCBmbG9hdCBwbGF5YmFja1JhdGUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBSZWY8VGltZVJhbmdlcz4gc2Vla2FibGVSYW5nZXMoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBkb3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBib29sIGNhblBsYXlGYXN0UmV2ZXJzZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4gYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMo
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB1aW50NjRfdCBhdWRpb01lZGlhU2VsZWN0ZWRJbmRl
eCgpIGNvbnN0ID0gMDsKQEAgLTg4LDcgKzkwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBidWZmZXJlZFRpbWVDaGFuZ2VkKGRvdWJsZSkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBsYXli
YWNrU3RhcnRlZFRpbWVDaGFuZ2VkKGRvdWJsZSAvKiBwbGF5YmFja1N0YXJ0ZWRUaW1lICovKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCAvKiBpc1BsYXlpbmcgKi8sIGZs
b2F0IC8qIHBsYXliYWNrUmF0ZSAqLykgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHNlZWthYmxlUmFu
Z2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJikgeyB9CisgICAgdmlydHVhbCB2b2lkIHNlZWth
YmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiwgZG91YmxlIC8qIGxhc3RNb2RpZmll
ZCAqLywgZG91YmxlIC8qIGxpdmVJbnRlcnZhbCAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNh
blBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGF1ZGlv
TWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25P
cHRpb24+JiAvKiBvcHRpb25zICovLCB1aW50NjRfdCAvKiBzZWxlY3RlZEluZGV4ICovKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29u
c3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgLyogb3B0aW9ucyAqLywgdWludDY0X3Qg
Lyogc2VsZWN0ZWRJbmRleCAqLykgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQuaAppbmRleCAxOGQxMWQ3MTVhMTVjNWE4OGY2MTc3MWU5ZGNjZWFmNWQxZmJmNjEwLi4zYTEz
ZTYxYWQ3NTMwMDI2OTgzNGQxZThlOGZmOTlmMzRiNWEwZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50LmgKQEAgLTc5LDYgKzc5LDggQEAgcHVibGljOgogICAgIGJvb2wg
aXNTY3J1YmJpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogICAgIGZsb2F0IHBs
YXliYWNrUmF0ZSgpIGNvbnN0IGZpbmFsOwogICAgIFJlZjxUaW1lUmFuZ2VzPiBzZWVrYWJsZVJh
bmdlcygpIGNvbnN0IGZpbmFsOworICAgIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9k
aWZpZWRUaW1lKCkgY29uc3QgZmluYWw7CisgICAgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgp
IGNvbnN0IGZpbmFsOwogICAgIGJvb2wgY2FuUGxheUZhc3RSZXZlcnNlKCkgY29uc3QgZmluYWw7
CiAgICAgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiBhdWRpb01lZGlhU2VsZWN0aW9uT3B0
aW9ucygpIGNvbnN0IGZpbmFsOwogICAgIHVpbnQ2NF90IGF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4
KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCmlu
ZGV4IGM2NjA2ZjFkMGZiYWIyMDVhN2M3ODExNGIyYjk3NDk1OWEyYWE5OTguLjhjNTI1MWUwNTZj
Y2FlMmRlNjZkM2NlYzRkNmZjYTc1MjliMDY5YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tCkBAIC0xMzMsMTIgKzEzMywxNCBAQCB2b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbk1vZGVsTWVkaWFFbGVtZW50Ojp1cGRhdGVGb3JFdmVudE5hbWUoY29uc3QgV1RGOjpBdG9t
aWNTdAogICAgICAgICBhdXRvIGFuY2hvclRpbWUgPSBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0lu
Zm9dIHN5c3RlbVVwdGltZV07CiAgICAgICAgIGF1dG8gYnVmZmVyZWRUaW1lID0gdGhpcy0+YnVm
ZmVyZWRUaW1lKCk7CiAgICAgICAgIGF1dG8gc2Vla2FibGVSYW5nZXMgPSB0aGlzLT5zZWVrYWJs
ZVJhbmdlcygpOworICAgICAgICBhdXRvIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRp
bWUgPSB0aGlzLT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCk7CisgICAgICAg
IGF1dG8gbGl2ZVVwZGF0ZUludGVydmFsID0gdGhpcy0+bGl2ZVVwZGF0ZUludGVydmFsKCk7CiAK
ICAgICAgICAgZm9yIChhdXRvIGNsaWVudCA6IG1fY2xpZW50cykgewogICAgICAgICAgICAgY2xp
ZW50LT5jdXJyZW50VGltZUNoYW5nZWQoY3VycmVudFRpbWUsIGFuY2hvclRpbWUpOwogICAgICAg
ICAgICAgY2xpZW50LT5idWZmZXJlZFRpbWVDaGFuZ2VkKGJ1ZmZlcmVkVGltZSk7CiAgICAgICAg
ICAgICAvLyBGSVhNRTogMTMwNzg4IC0gZmluZCBhIGJldHRlciBldmVudCBmcm9tIHdoaWNoIHRv
IHVwZGF0ZSBzZWVrYWJsZSByYW5nZXMuCi0gICAgICAgICAgICBjbGllbnQtPnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZChzZWVrYWJsZVJhbmdlcyk7CisgICAgICAgICAgICBjbGllbnQtPnNlZWthYmxl
UmFuZ2VzQ2hhbmdlZChzZWVrYWJsZVJhbmdlcywgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlm
aWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzg1
LDYgKzM4NywxNiBAQCBSZWY8VGltZVJhbmdlcz4gV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQ6OnNlZWthYmxlUmFuZ2VzKCkgY29uc3QKICAgICByZXR1cm4gbV9tZWRpYUVsZW1l
bnQgPyBtX21lZGlhRWxlbWVudC0+c2Vla2FibGUoKSA6IFRpbWVSYW5nZXM6OmNyZWF0ZSgpOwog
fQogCitkb3VibGUgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNlZWthYmxl
VGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdAoreworICAgIHJldHVybiBtX21lZGlh
RWxlbWVudCA/IG1fbWVkaWFFbGVtZW50LT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRU
aW1lKCkgOiAwOworfQorCitkb3VibGUgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQ6OmxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFFbGVt
ZW50ID8gbV9tZWRpYUVsZW1lbnQtPmxpdmVVcGRhdGVJbnRlcnZhbCgpIDogMDsKK30KKyAgICAK
IGJvb2wgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OmNhblBsYXlGYXN0UmV2
ZXJzZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbWVkaWFFbGVtZW50ID8gbV9tZWRpYUVsZW1l
bnQtPm1pbkZhc3RSZXZlcnNlUmF0ZSgpIDwgMC4wIDogZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggNjQ5YjY4NjdkNDA0
YzFhNTIzMjZhODExZWM5MTkzMWNmODNhZDkyMi4uNTUzNzA5NzE1NmJmYzY1NzdkOWRiYzdiMTUy
Y2JlM2NjMTRjMzgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1YmxpYzoKICAgICBkb3VibGUg
bWluVGltZVNlZWthYmxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIHN0ZDo6
dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxQbGF0Zm9ybVRpbWVSYW5nZXM+KCk7IH0KIAorICAg
IGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gMDsgfQorICAgIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiAwOyB9CisKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRl
cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KICAgICBib29sIGRpZExvYWRpbmdQcm9n
cmVzcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTgxNiw2ICs4MTks
MTYgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyOjptaW5UaW1lU2Vla2FibGUoKQogICAgIHJldHVy
biBtX3ByaXZhdGUtPm1pbk1lZGlhVGltZVNlZWthYmxlKCk7CiB9CiAKK2RvdWJsZSBNZWRpYVBs
YXllcjo6c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpCit7CisgICAgcmV0dXJu
IG1fcHJpdmF0ZS0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpOworfQorCitk
b3VibGUgTWVkaWFQbGF5ZXI6OmxpdmVVcGRhdGVJbnRlcnZhbCgpCit7CisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+bGl2ZVVwZGF0ZUludGVydmFsKCk7Cit9CisKIGJvb2wgTWVkaWFQbGF5ZXI6OmRp
ZExvYWRpbmdQcm9ncmVzcygpCiB7CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+ZGlkTG9hZGluZ1By
b2dyZXNzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaAppbmRleCA1NDY2ZTIyMmQwNzkxNTRlNGYyZDY1MGJmYmQyYTg1NTEzZGNjYmIyLi4xNTU0
NTkwNTVlY2ZkYjg0ZDBhOTgwYmFkNTE5NzllNGIwYzVkYWJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTM4Niw2ICszODYsOSBAQCBw
dWJsaWM6CiAgICAgTWVkaWFUaW1lIG1pblRpbWVTZWVrYWJsZSgpOwogICAgIE1lZGlhVGltZSBt
YXhUaW1lU2Vla2FibGUoKTsKIAorICAgIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9k
aWZpZWRUaW1lKCk7CisgICAgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgpOworCiAgICAgYm9v
bCBkaWRMb2FkaW5nUHJvZ3Jlc3MoKTsKIAogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2
YXRlLmgKaW5kZXggNTk3MmY4MTMxNmQ3MGUzMmZkZDRkNDA4NjQ2ZTc3Y2IzMmI0YzhiMi4uNTk1
N2ZkMzM3NmExMGZlYWY5YTczNmUyZDExNjM2YjQwNWUyOWZmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTE0
MSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBkb3VibGUgbWluVGltZVNlZWthYmxl
KCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgTWVkaWFUaW1lIG1pbk1lZGlhVGlt
ZVNlZWthYmxlKCkgY29uc3QgeyByZXR1cm4gTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKG1p
blRpbWVTZWVrYWJsZSgpKTsgfQogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3Jt
VGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgc2Vl
a2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAg
ICB2aXJ0dWFsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwOyB9
CiAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkgY29uc3QgeyBy
ZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jlc3MoKSBjb25zdCA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXggMzhjOTI3MDllMWRkMDQwYjc3MTdlZmI1Mzkx
YmIxOTU0NzE2MThiNi4uMzRlNWZmNDYyMTUzMzQ1MDQ5ZTA1NDYwZWZjNTIwOTkxNmE2YmM3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMuaApAQCAtMjA5LDYgKzIwOSw5IEBAIHByaXZhdGU6CiAgICAg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpBc3NldFN0YXR1cyBhc3NldFN0YXR1cygp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGxvbmcgYXNzZXRFcnJvckNvZGUoKSBjb25zdCBvdmVycmlk
ZTsKIAorICAgIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0IG92ZXJy
aWRlOworCiAgICAgdm9pZCBjaGVja1BsYXlhYmlsaXR5KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
ZXRSYXRlRG91YmxlKGRvdWJsZSkgb3ZlcnJpZGU7CiAgICAgZG91YmxlIHJhdGUoKSBjb25zdCBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDMyNGI2NTAwMTJiMDkyM2IxNWMz
NWM3NTRiM2VlOGQ1ZmMxNjJhNmEuLjY1YjJhMTQ4YzY0YmFjZjFiOTI5OTQ4NGZkODhhNjgzOGFk
Y2Q3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTQ2OSw2ICsxNDY5LDE2IEBAIGRv
dWJsZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpyYXRlKCkgY29uc3QKICAg
ICByZXR1cm4gbV9jYWNoZWRSYXRlOwogfQogCitkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIFttX2F2UGxheWVySXRlbSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9k
aWZpZWRUaW1lXTsKK30KKworZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OmxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFttX2F2UGxheWVy
SXRlbSBsaXZlVXBkYXRlSW50ZXJ2YWxdOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnNldFByZXNlcnZlc1BpdGNoKGJvb2wgcHJlc2VydmVzUGl0Y2gpCiB7
CiAgICAgaWYgKG1fYXZQbGF5ZXJJdGVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCmluZGV4IDUzZWRhNGIwNGFmYTY0YjUyOTM4
N2E4M2JjYzFhYjgxNTk3YjIyZjIuLmMyNzU5ODc1NWVkNzEwMDg1NDExYzE1YTI5OGFkZTJlMDdh
NTY2N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXll
ckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5
ZXJDb250cm9sbGVyLmgKQEAgLTg3LDYgKzg3LDE1IEBAIGNsYXNzIFdlYlBsYXliYWNrU2Vzc2lv
bkludGVyZmFjZUFWS2l0OwogQHByb3BlcnR5IEJPT0wgYWxsb3dzRXh0ZXJuYWxQbGF5YmFjazsK
IEBwcm9wZXJ0eSAoZ2V0dGVyPWlzUGljdHVyZUluUGljdHVyZVBvc3NpYmxlKSBCT09MIHBpY3R1
cmVJblBpY3R1cmVQb3NzaWJsZTsKIEBwcm9wZXJ0eSAoZ2V0dGVyPWlzUGljdHVyZUluUGljdHVy
ZUludGVycnVwdGVkKSBCT09MIHBpY3R1cmVJblBpY3R1cmVJbnRlcnJ1cHRlZDsKKworQHByb3Bl
cnR5IE5TVGltZUludGVydmFsIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU7CitA
cHJvcGVydHkgTlNUaW1lSW50ZXJ2YWwgbGl2ZVVwZGF0ZUludGVydmFsOworCitAcHJvcGVydHkg
KE5TX05PTkFUT01JQ19JT1NPTkxZLCByZXRhaW4sIHJlYWR3cml0ZSkgQVZWYWx1ZVRpbWluZyAq
bWluVGltaW5nOworQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmV0YWluLCByZWFk
d3JpdGUpIEFWVmFsdWVUaW1pbmcgKm1heFRpbWluZzsKKworLSAodm9pZClyZXNldE1lZGlhU3Rh
dGU7CisKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbQppbmRleCBhNTNmZjFmZTY5MzQxN2NiYjM1MmQy
Njg0Mjc5YTEzNzliMGQwODgyLi5jZDBmMTA0MjdkYWEwNDNhMjY0MjYwOGZmOTJlZDQ4OWUyMjhh
YmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXll
ckNvbnRyb2xsZXIubW0KQEAgLTQyLDEwICs0MiwyMCBAQAogCiBTT0ZUX0xJTktfRlJBTUVXT1JL
X09QVElPTkFMKEFWS2l0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWS2l0LCBBVlBsYXll
ckNvbnRyb2xsZXIpCitTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZLaXQsIEFWVmFsdWVUaW1p
bmcpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1AaW1wbGVtZW50YXRpb24gV2ViQVZQ
bGF5ZXJDb250cm9sbGVyCitzdGF0aWMgdm9pZCAqIEFWUGxheWVyQ29udHJvbGxlclNlZWthYmxl
VGltZVJhbmdlc09ic2VydmVyQ29udGV4dCA9ICZBVlBsYXllckNvbnRyb2xsZXJTZWVrYWJsZVRp
bWVSYW5nZXNPYnNlcnZlckNvbnRleHQ7CitzdGF0aWMgdm9pZCAqIEFWUGxheWVyQ29udHJvbGxl
ckhhc0xpdmVTdHJlYW1pbmdDb250ZW50T2JzZXJ2ZXJDb250ZXh0ID0gJkFWUGxheWVyQ29udHJv
bGxlckhhc0xpdmVTdHJlYW1pbmdDb250ZW50T2JzZXJ2ZXJDb250ZXh0OworCitzdGF0aWMgZG91
YmxlIEFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1TZWVrYWJsZVRpbWVSYW5nZUR1cmF0aW9u
SHlzdGVyZXNpc0RlbHRhID0gMy4wOyAvLyBNaW5pbXVtIGRlbHRhIG9mIHRpbWUgcmVxdWlyZWQg
dG8gY2hhbmdlIHRoZSBkdXJhdGlvbiBvZiB0aGUgc2Vla2FibGUgdGltZSByYW5nZS4KK3N0YXRp
YyBkb3VibGUgQVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbU1pbmltdW1UYXJnZXREdXJhdGlv
biA9IDEuMDsgLy8gTWluaW11bSBzZWdtZW50IGR1cmF0aW9uIHRvIGJlIGNvbnNpZGVyZWQgdmFs
aWQuCitzdGF0aWMgZG91YmxlIEFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1TZWVrYWJsZVRp
bWVSYW5nZU1pbmltdW1EdXJhdGlvbiA9IDMwLjA7CisKK0BpbXBsZW1lbnRhdGlvbiBXZWJBVlBs
YXllckNvbnRyb2xsZXIgeworICAgIEJPT0wgX2xpdmVTdHJlYW1FdmVudE1vZGVQb3NzaWJsZTsK
K30KIAogLSAoaW5zdGFuY2V0eXBlKWluaXQKIHsKQEAgLTU3LDExICs2NywyMCBAQCAtIChpbnN0
YW5jZXR5cGUpaW5pdAogCiAgICAgaW5pdEFWUGxheWVyQ29udHJvbGxlcigpOwogICAgIHNlbGYu
cGxheWVyQ29udHJvbGxlclByb3h5ID0gW1thbGxvY0FWUGxheWVyQ29udHJvbGxlckluc3RhbmNl
KCkgaW5pdF0gYXV0b3JlbGVhc2VdOworICAgIF9saXZlU3RyZWFtRXZlbnRNb2RlUG9zc2libGUg
PSBZRVM7CisKKyAgICBbc2VsZiBhZGRPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJzZWVrYWJs
ZVRpbWVSYW5nZXMiIG9wdGlvbnM6KE5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25PbGQgfCBOU0tl
eVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IHwgTlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbkluaXRp
YWwpIGNvbnRleHQ6QVZQbGF5ZXJDb250cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJD
b250ZXh0XTsKKyAgICBbc2VsZiBhZGRPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJoYXNMaXZl
U3RyZWFtaW5nQ29udGVudCIgb3B0aW9uczpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uSW5pdGlh
bCBjb250ZXh0OkFWUGxheWVyQ29udHJvbGxlckhhc0xpdmVTdHJlYW1pbmdDb250ZW50T2JzZXJ2
ZXJDb250ZXh0XTsKKworCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwog
eworICAgIFtzZWxmIHJlbW92ZU9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInNlZWthYmxlVGlt
ZVJhbmdlcyIgY29udGV4dDpBVlBsYXllckNvbnRyb2xsZXJTZWVrYWJsZVRpbWVSYW5nZXNPYnNl
cnZlckNvbnRleHRdOworICAgIFtzZWxmIHJlbW92ZU9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpA
Imhhc0xpdmVTdHJlYW1pbmdDb250ZW50IiBjb250ZXh0OkFWUGxheWVyQ29udHJvbGxlckhhc0xp
dmVTdHJlYW1pbmdDb250ZW50T2JzZXJ2ZXJDb250ZXh0XTsKKwogICAgIFtfcGxheWVyQ29udHJv
bGxlclByb3h5IHJlbGVhc2VdOwogICAgIFtfbG9hZGVkVGltZVJhbmdlcyByZWxlYXNlXTsKICAg
ICBbX3NlZWthYmxlVGltZVJhbmdlcyByZWxlYXNlXTsKQEAgLTQyMCw2ICs0MzksMTIxIEBAIC0g
KHZvaWQpdG9nZ2xlTXV0ZWQ6KGlkKXNlbmRlcgogICAgICAgICBzZWxmLmRlbGVnYXRlLT50b2dn
bGVNdXRlZCgpOwogfQogCistICh2b2lkKW9ic2VydmVWYWx1ZUZvcktleVBhdGg6KE5TU3RyaW5n
ICopa2V5UGF0aCBvZk9iamVjdDooaWQpb2JqZWN0IGNoYW5nZTooTlNEaWN0aW9uYXJ5ICopY2hh
bmdlIGNvbnRleHQ6KHZvaWQgKiljb250ZXh0Cit7CisgICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7
CisgICAgVU5VU0VEX1BBUkFNKGtleVBhdGgpOworCisgICAgaWYgKEFWUGxheWVyQ29udHJvbGxl
clNlZWthYmxlVGltZVJhbmdlc09ic2VydmVyQ29udGV4dCA9PSBjb250ZXh0KSB7CisgICAgICAg
IE5TQXJyYXkgKm9sZEFycmF5ID0gY2hhbmdlW05TS2V5VmFsdWVDaGFuZ2VPbGRLZXldOworICAg
ICAgICBOU0FycmF5ICpuZXdBcnJheSA9IGNoYW5nZVtOU0tleVZhbHVlQ2hhbmdlTmV3S2V5XTsK
KyAgICAgICAgaWYgKFtvbGRBcnJheSBpc0tpbmRPZkNsYXNzOltOU0FycmF5IGNsYXNzXV0gJiYg
W25ld0FycmF5IGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSkgeworICAgICAgICAgICAg
Q01UaW1lUmFuZ2Ugb2xkU2Vla2FibGVUaW1lUmFuZ2UgPSBbb2xkQXJyYXkgY291bnRdID4gMCA/
IFtbb2xkQXJyYXkgZmlyc3RPYmplY3RdIENNVGltZVJhbmdlVmFsdWVdIDoga0NNVGltZVJhbmdl
SW52YWxpZDsKKyAgICAgICAgICAgIENNVGltZVJhbmdlIG5ld1NlZWthYmxlVGltZVJhbmdlID0g
W25ld0FycmF5IGNvdW50XSA+IDAgPyBbW25ld0FycmF5IGZpcnN0T2JqZWN0XSBDTVRpbWVSYW5n
ZVZhbHVlXSA6IGtDTVRpbWVSYW5nZUludmFsaWQ7CisgICAgICAgICAgICBpZiAoIUNNVGltZVJh
bmdlRXF1YWwob2xkU2Vla2FibGVUaW1lUmFuZ2UsIG5ld1NlZWthYmxlVGltZVJhbmdlKSkgewor
ICAgICAgICAgICAgICAgIGlmIChDTVRJTUVSQU5HRV9JU19WQUxJRChuZXdTZWVrYWJsZVRpbWVS
YW5nZSkgJiYgQ01USU1FUkFOR0VfSVNfVkFMSUQob2xkU2Vla2FibGVUaW1lUmFuZ2UpICYmIF9s
aXZlU3RyZWFtRXZlbnRNb2RlUG9zc2libGUgJiYgIUNNVGltZVJhbmdlQ29udGFpbnNUaW1lKG5l
d1NlZWthYmxlVGltZVJhbmdlLCBvbGRTZWVrYWJsZVRpbWVSYW5nZS5zdGFydCkpCisgICAgICAg
ICAgICAgICAgICAgIF9saXZlU3RyZWFtRXZlbnRNb2RlUG9zc2libGUgPSBOTzsKKworICAgICAg
ICAgICAgICAgIFtzZWxmIHVwZGF0ZU1pbk1heFRpbWluZ107CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICB9IGVsc2UgaWYgKEFWUGxheWVyQ29udHJvbGxlckhhc0xpdmVTdHJlYW1pbmdD
b250ZW50T2JzZXJ2ZXJDb250ZXh0ID09IGNvbnRleHQpCisgICAgICAgIFtzZWxmIHVwZGF0ZU1p
bk1heFRpbWluZ107Cit9CisKKy0gKHZvaWQpdXBkYXRlTWluTWF4VGltaW5nCit7CisgICAgQVZW
YWx1ZVRpbWluZyAqbmV3TWluVGltaW5nID0gbmlsOworICAgIEFWVmFsdWVUaW1pbmcgKm5ld01h
eFRpbWluZyA9IG5pbDsKKworICAgIC8vIEZvciBsaXZlIHN0cmVhbXMgdmFsdWUgdGltaW5ncyBm
b3IgdGhlIG1pbiBhbmQgbWF4IHRpbWVzIGFyZSBuZWVkZWQuCisgICAgaWYgKFtzZWxmIGhhc0xp
dmVTdHJlYW1pbmdDb250ZW50XSAmJiAoW1tzZWxmIHNlZWthYmxlVGltZVJhbmdlc10gY291bnRd
ID4gMCkpIHsKKyAgICAgICAgQ01UaW1lUmFuZ2Ugc2Vla2FibGVUaW1lUmFuZ2UgPSBbW1tzZWxm
IHNlZWthYmxlVGltZVJhbmdlc10gZmlyc3RPYmplY3RdIENNVGltZVJhbmdlVmFsdWVdOworICAg
ICAgICBpZiAoQ01USU1FUkFOR0VfSVNfVkFMSUQoc2Vla2FibGVUaW1lUmFuZ2UpKSB7CisgICAg
ICAgICAgICBOU1RpbWVJbnRlcnZhbCBvbGRNaW5UaW1lID0gW1tzZWxmIG1pblRpbWluZ10gY3Vy
cmVudFZhbHVlXTsKKyAgICAgICAgICAgIE5TVGltZUludGVydmFsIG9sZE1heFRpbWUgPSBbW3Nl
bGYgbWF4VGltaW5nXSBjdXJyZW50VmFsdWVdOworICAgICAgICAgICAgTlNUaW1lSW50ZXJ2YWwg
bmV3TWluVGltZSA9IENNVGltZUdldFNlY29uZHMoc2Vla2FibGVUaW1lUmFuZ2Uuc3RhcnQpOwor
ICAgICAgICAgICAgTlNUaW1lSW50ZXJ2YWwgbmV3TWF4VGltZSA9IENNVGltZUdldFNlY29uZHMo
c2Vla2FibGVUaW1lUmFuZ2Uuc3RhcnQpICsgQ01UaW1lR2V0U2Vjb25kcyhzZWVrYWJsZVRpbWVS
YW5nZS5kdXJhdGlvbikgKyAoQ0FDdXJyZW50TWVkaWFUaW1lKCkgLSBbc2VsZiBzZWVrYWJsZVRp
bWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lXSk7CisgICAgICAgICAgICBkb3VibGUgbmV3TWluVGlt
aW5nUmF0ZSA9IF9saXZlU3RyZWFtRXZlbnRNb2RlUG9zc2libGUgPyAwLjAgOiAxLjA7CisgICAg
ICAgICAgICBCT09MIG1pblRpbWluZ05lZWRzVXBkYXRlID0gWUVTOworICAgICAgICAgICAgQk9P
TCBtYXhUaW1pbmdOZWVkc1VwZGF0ZSA9IFlFUzsKKworICAgICAgICAgICAgaWYgKGlzZmluaXRl
KFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0pICYmIFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0g
PiBBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtTWluaW11bVRhcmdldER1cmF0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgLy8gT25seSB1cGRhdGUgdGhlIHRpbWluZyBpZiB0aGUgbmV3IHRpbWUg
ZGlmZmVycyBieSBvbmUgc2VnbWVudCBkdXJhdGlvbiBwbHVzIHRoZSBoeXN0ZXJlc2lzIGRlbHRh
LgorICAgICAgICAgICAgICAgIG1pblRpbWluZ05lZWRzVXBkYXRlID0gaXNuYW4ob2xkTWluVGlt
ZSkgfHwgKGZhYnMob2xkTWluVGltZSAtIG5ld01pblRpbWUpID4gW3NlbGYgbGl2ZVVwZGF0ZUlu
dGVydmFsXSArIEFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1TZWVrYWJsZVRpbWVSYW5nZUR1
cmF0aW9uSHlzdGVyZXNpc0RlbHRhKSB8fCAoW1tzZWxmIG1pblRpbWluZ10gcmF0ZV0gIT0gbmV3
TWluVGltaW5nUmF0ZSk7CisgICAgICAgICAgICAgICAgbWF4VGltaW5nTmVlZHNVcGRhdGUgPSBp
c25hbihvbGRNYXhUaW1lKSB8fCAoZmFicyhvbGRNYXhUaW1lIC0gbmV3TWF4VGltZSkgPiBbc2Vs
ZiBsaXZlVXBkYXRlSW50ZXJ2YWxdICsgQVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWth
YmxlVGltZVJhbmdlRHVyYXRpb25IeXN0ZXJlc2lzRGVsdGEpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBpZiAobWluVGltaW5nTmVlZHNVcGRhdGUgfHwgbWF4VGltaW5nTmVlZHNVcGRh
dGUpIHsKKyAgICAgICAgICAgICAgICBuZXdNaW5UaW1pbmcgPSBbZ2V0QVZWYWx1ZVRpbWluZ0Ns
YXNzKCkgdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6bmV3TWluVGltZSBhbmNob3JUaW1lU3Rh
bXA6W2dldEFWVmFsdWVUaW1pbmdDbGFzcygpIGN1cnJlbnRUaW1lU3RhbXBdIHJhdGU6bmV3TWlu
VGltaW5nUmF0ZV07CisgICAgICAgICAgICAgICAgbmV3TWF4VGltaW5nID0gW2dldEFWVmFsdWVU
aW1pbmdDbGFzcygpIHZhbHVlVGltaW5nV2l0aEFuY2hvclZhbHVlOm5ld01heFRpbWUgYW5jaG9y
VGltZVN0YW1wOltnZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSBjdXJyZW50VGltZVN0YW1wXSByYXRl
OjEuMF07CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG5ld01pblRpbWlu
ZyA9IFtzZWxmIG1pblRpbWluZ107CisgICAgICAgICAgICAgICAgbmV3TWF4VGltaW5nID0gW3Nl
bGYgbWF4VGltaW5nXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlm
ICghbmV3TWluVGltaW5nKQorICAgICAgICBuZXdNaW5UaW1pbmcgPSBbZ2V0QVZWYWx1ZVRpbWlu
Z0NsYXNzKCkgdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6W3NlbGYgbWluVGltZV0gYW5jaG9y
VGltZVN0YW1wOk5BTiByYXRlOjAuMF07CisKKyAgICBpZiAoIW5ld01heFRpbWluZykKKyAgICAg
ICAgbmV3TWF4VGltaW5nID0gW2dldEFWVmFsdWVUaW1pbmdDbGFzcygpIHZhbHVlVGltaW5nV2l0
aEFuY2hvclZhbHVlOltzZWxmIG1heFRpbWVdIGFuY2hvclRpbWVTdGFtcDpOQU4gcmF0ZTowLjBd
OworCisgICAgW3NlbGYgc2V0TWluVGltaW5nOm5ld01pblRpbWluZ107CisgICAgW3NlbGYgc2V0
TWF4VGltaW5nOm5ld01heFRpbWluZ107Cit9CisKKworLSAoQk9PTCloYXNTZWVrYWJsZUxpdmVT
dHJlYW1pbmdDb250ZW50Cit7CisgICAgQk9PTCBoYXNTZWVrYWJsZUxpdmVTdHJlYW1pbmdDb250
ZW50ID0gTk87CisKKyAgICBpZiAoW3NlbGYgaGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRdICYmIFtz
ZWxmIG1pblRpbWluZ10gJiYgW3NlbGYgbWF4VGltaW5nXSAmJiBpc2Zpbml0ZShbc2VsZiBsaXZl
VXBkYXRlSW50ZXJ2YWxdKSAmJiBbc2VsZiBsaXZlVXBkYXRlSW50ZXJ2YWxdID4gQVZQbGF5ZXJD
b250cm9sbGVyTGl2ZVN0cmVhbU1pbmltdW1UYXJnZXREdXJhdGlvbiAmJiAoW3NlbGYgc2Vla2Fi
bGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZV0gIT0gMC4wKSkgeworICAgICAgICBOU1RpbWVJ
bnRlcnZhbCB0aW1lU3RhbXAgPSBbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNzKCkgY3VycmVudFRpbWVT
dGFtcF07CisgICAgICAgIE5TVGltZUludGVydmFsIG1pblRpbWUgPSBbW3NlbGYgbWluVGltaW5n
XSB2YWx1ZUZvclRpbWVTdGFtcDp0aW1lU3RhbXBdOworICAgICAgICBOU1RpbWVJbnRlcnZhbCBt
YXhUaW1lID0gW1tzZWxmIG1heFRpbWluZ10gdmFsdWVGb3JUaW1lU3RhbXA6dGltZVN0YW1wXTsK
KyAgICAgICAgaGFzU2Vla2FibGVMaXZlU3RyZWFtaW5nQ29udGVudCA9ICgobWF4VGltZSAtIG1p
blRpbWUpID4gQVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWthYmxlVGltZVJhbmdlTWlu
aW11bUR1cmF0aW9uKTsKKyAgICB9CisKKyAgICByZXR1cm4gaGFzU2Vla2FibGVMaXZlU3RyZWFt
aW5nQ29udGVudDsKK30KKworKyAoTlNTZXQgKilrZXlQYXRoc0ZvclZhbHVlc0FmZmVjdGluZ0hh
c1NlZWthYmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnQKK3sKKyAgICByZXR1cm4gW05TU2V0IHNldFdp
dGhPYmplY3RzOkAiaGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnQiLCBAIm1pblRpbWluZyIsIEAibWF4
VGltaW5nIiwgQCJwbGF5ZXIuY3VycmVudEl0ZW0uc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlm
aWVkVGltZSIsIG5pbF07Cit9CisKKy0gKHZvaWQpcmVzZXRNZWRpYVN0YXRlCit7CisgICAgc2Vs
Zi5jb250ZW50RHVyYXRpb24gPSAwOworICAgIHNlbGYubWF4VGltZSA9IDA7CisgICAgc2VsZi5j
b250ZW50RHVyYXRpb25XaXRoaW5FbmRUaW1lcyA9IDA7CisgICAgc2VsZi5sb2FkZWRUaW1lUmFu
Z2VzID0gQFtdOworCisgICAgc2VsZi5jYW5QbGF5ID0gTk87CisgICAgc2VsZi5jYW5QYXVzZSA9
IE5POworICAgIHNlbGYuY2FuVG9nZ2xlUGxheWJhY2sgPSBOTzsKKyAgICBzZWxmLmhhc0VuYWJs
ZWRBdWRpbyA9IE5POworICAgIHNlbGYuY2FuU2VlayA9IE5POworICAgIHNlbGYubWluVGltZSA9
IDA7CisgICAgc2VsZi5zdGF0dXMgPSBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXNVbmtub3duOwor
CisgICAgc2VsZi50aW1pbmcgPSBuaWw7CisgICAgc2VsZi5yYXRlID0gMDsKKworICAgIHNlbGYu
c2Vla2FibGVUaW1lUmFuZ2VzID0gW05TTXV0YWJsZUFycmF5IGFycmF5XTsKKworICAgIHNlbGYu
Y2FuU2NhbkJhY2t3YXJkID0gTk87CisKKyAgICBzZWxmLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRp
b25zID0gbmlsOworICAgIHNlbGYuY3VycmVudEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb24gPSBu
aWw7CisKKyAgICBzZWxmLmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMgPSBuaWw7CisgICAg
c2VsZi5jdXJyZW50TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uID0gbmlsOworICAgIF9saXZl
U3RyZWFtRXZlbnRNb2RlUG9zc2libGUgPSBZRVM7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0
aW9uIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0LmgK
aW5kZXggNDE0ODM5MmRhYmYyMmFjZjdhYzgyMTk0OGI1OTlmMWVlNzI0YzRmNy4uMjMzMDJmYmQx
YmU2ODY3ZThmZmY1ZDlhOTc0MDU2MDc4ZTljZGU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFW
S2l0LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
Y3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGFuY2hvclRpbWUp
IG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChk
b3VibGUpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmF0ZUNoYW5nZWQoYm9v
bCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSkgb3ZlcnJpZGU7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYpIG92ZXJy
aWRlOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0
IFRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJ
bnRlcnZhbCkgb3ZlcnJpZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjYW5QbGF5RmFzdFJl
dmVyc2VDaGFuZ2VkKGJvb2wpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXVk
aW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlv
bk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQo
Y29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2Vs
ZWN0ZWRJbmRleCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0KaW5kZXgg
NTczODliN2UzYWMyODIxMjI2YTRhMTRlNTMzNzI5NjBlZjBhNDQyYi4uZmVkNjU5YjE1ZGVmZTRi
YWUyNzE5YmEwZDk3ZTk2MjcyM2UxZGVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5t
bQpAQCAtNjAsNyArNjAsNyBAQCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6V2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQoV2ViUGxheWJhY2tTZQogICAgIGN1cnJlbnRU
aW1lQ2hhbmdlZChtb2RlbC5jdXJyZW50VGltZSgpLCBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0lu
Zm9dIHN5c3RlbVVwdGltZV0pOwogICAgIGJ1ZmZlcmVkVGltZUNoYW5nZWQobW9kZWwuYnVmZmVy
ZWRUaW1lKCkpOwogICAgIHJhdGVDaGFuZ2VkKG1vZGVsLmlzUGxheWluZygpLCBtb2RlbC5wbGF5
YmFja1JhdGUoKSk7Ci0gICAgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKG1vZGVsLnNlZWthYmxlUmFu
Z2VzKCkpOworICAgIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChtb2RlbC5zZWVrYWJsZVJhbmdlcygp
LCBtb2RlbC5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCksIG1vZGVsLmxpdmVV
cGRhdGVJbnRlcnZhbCgpKTsKICAgICBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKG1vZGVsLmNh
blBsYXlGYXN0UmV2ZXJzZSgpKTsKICAgICBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5n
ZWQobW9kZWwuYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMoKSwgbW9kZWwuYXVkaW9NZWRpYVNl
bGVjdGVkSW5kZXgoKSk7CiAgICAgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQo
bW9kZWwubGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpLCBtb2RlbC5sZWdpYmxlTWVkaWFT
ZWxlY3RlZEluZGV4KCkpOwpAQCAtNzgsMzMgKzc4LDcgQEAgV2ViUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlQVZLaXQ6On5XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdCgpCiAKIHZvaWQg
V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OnJlc2V0TWVkaWFTdGF0ZSgpCiB7Ci0g
ICAgV2ViQVZQbGF5ZXJDb250cm9sbGVyKiBwbGF5ZXJDb250cm9sbGVyID0gbV9wbGF5ZXJDb250
cm9sbGVyLmdldCgpOwotCi0gICAgcGxheWVyQ29udHJvbGxlci5jb250ZW50RHVyYXRpb24gPSAw
OwotICAgIHBsYXllckNvbnRyb2xsZXIubWF4VGltZSA9IDA7Ci0gICAgcGxheWVyQ29udHJvbGxl
ci5jb250ZW50RHVyYXRpb25XaXRoaW5FbmRUaW1lcyA9IDA7Ci0gICAgcGxheWVyQ29udHJvbGxl
ci5sb2FkZWRUaW1lUmFuZ2VzID0gQFtdOwotCi0gICAgcGxheWVyQ29udHJvbGxlci5jYW5QbGF5
ID0gTk87Ci0gICAgcGxheWVyQ29udHJvbGxlci5jYW5QYXVzZSA9IE5POwotICAgIHBsYXllckNv
bnRyb2xsZXIuY2FuVG9nZ2xlUGxheWJhY2sgPSBOTzsKLSAgICBwbGF5ZXJDb250cm9sbGVyLmhh
c0VuYWJsZWRBdWRpbyA9IE5POwotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuU2VlayA9IE5POwot
ICAgIHBsYXllckNvbnRyb2xsZXIubWluVGltZSA9IDA7Ci0gICAgcGxheWVyQ29udHJvbGxlci5z
dGF0dXMgPSBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXNVbmtub3duOwotCi0gICAgcGxheWVyQ29u
dHJvbGxlci50aW1pbmcgPSBuaWw7Ci0gICAgcGxheWVyQ29udHJvbGxlci5yYXRlID0gMDsKLQot
ICAgIHBsYXllckNvbnRyb2xsZXIuc2Vla2FibGVUaW1lUmFuZ2VzID0gW05TTXV0YWJsZUFycmF5
IGFycmF5XTsKLQotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuU2NhbkJhY2t3YXJkID0gTk87Ci0K
LSAgICBwbGF5ZXJDb250cm9sbGVyLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zID0gbmlsOwot
ICAgIHBsYXllckNvbnRyb2xsZXIuY3VycmVudEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb24gPSBu
aWw7Ci0KLSAgICBwbGF5ZXJDb250cm9sbGVyLmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMg
PSBuaWw7Ci0gICAgcGxheWVyQ29udHJvbGxlci5jdXJyZW50TGVnaWJsZU1lZGlhU2VsZWN0aW9u
T3B0aW9uID0gbmlsOworICAgIFttX3BsYXllckNvbnRyb2xsZXIgcmVzZXRNZWRpYVN0YXRlXTsK
IH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6ZHVyYXRpb25DaGFu
Z2VkKGRvdWJsZSBkdXJhdGlvbikKQEAgLTE1Miw3ICsxMjYsNyBAQCB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0OjpyYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQg
cGxheWJhYwogICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0UmF0ZTppc1BsYXlpbmcgPyBwbGF5
YmFja1JhdGUgOiAwLl07CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZL
aXQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQor
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6c2Vla2FibGVSYW5nZXNDaGFu
Z2VkKGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1l
LCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIFJldGFpblB0cjxOU011dGFibGVB
cnJheT4gc2Vla2FibGVSYW5nZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGlu
aXRdKTsKIApAQCAtMTY1LDYgKzEzOSw4IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQVZLaXQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiB0CiAgICAg
fQogCiAgICAgW21fcGxheWVyQ29udHJvbGxlciBzZXRTZWVrYWJsZVRpbWVSYW5nZXM6c2Vla2Fi
bGVSYW5nZXMuZ2V0KCldOworICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0U2Vla2FibGVUaW1l
UmFuZ2VzTGFzdE1vZGlmaWVkVGltZTogbGFzdE1vZGlmaWVkVGltZV07CisgICAgW21fcGxheWVy
Q29udHJvbGxlciBzZXRMaXZlVXBkYXRlSW50ZXJ2YWw6bGl2ZVVwZGF0ZUludGVydmFsXTsKIH0K
IAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6Y2FuUGxheUZhc3RSZXZl
cnNlQ2hhbmdlZChib29sIGNhblBsYXlGYXN0UmV2ZXJzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0Lm1tCmluZGV4IGY3MDYwMmFhMzBkYTlmOTkxODRiMTZlYzk5YmI1ZDc0ZTk2NTY3Yzku
LjBkZjQzNDFmMjQ5OWU5Mzg1OTc0MjMxYjBiZjZjZDAyMjRiMTBkNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZL
aXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXJBVktpdC5tbQpAQCAtMTU2LDYgKzE1Niw4IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBpc1NjcnViYmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgZmxv
YXQgcGxheWJhY2tSYXRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUmVmPFRpbWVSYW5nZXM+IHNl
ZWthYmxlUmFuZ2VzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgZG91YmxlIHNlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBkb3VibGUgbGl2ZVVw
ZGF0ZUludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5QbGF5RmFzdFJldmVy
c2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1
ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdWludDY0X3Qg
YXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKSBjb25zdCBvdmVycmlkZTsKQEAgLTE3Myw3ICsxNzUs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSBjdXJyZW50
VGltZSwgZG91YmxlIGFuY2hvclRpbWUpIG92ZXJyaWRlOwogICAgIHZvaWQgYnVmZmVyZWRUaW1l
Q2hhbmdlZChkb3VibGUpIG92ZXJyaWRlOwogICAgIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCBpc1Bs
YXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZWVrYWJsZVJh
bmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYpIG92ZXJyaWRlOworICAgIHZvaWQgc2Vla2Fi
bGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGlt
ZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjYW5QbGF5
RmFzdFJldmVyc2VDaGFuZ2VkKGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQgYXVkaW9NZWRpYVNl
bGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4m
IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwogICAgIHZvaWQgbGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0
aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkgb3ZlcnJpZGU7CkBA
IC0zNTIsMTggKzM1NCwxOCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250
ZXh0Ojp2aWRlb0RpbWVuc2lvbnNDaGFuZ2VkKGNvbnN0IEZsb2F0U2l6ZQogICAgICAgICBjbGll
bnQtPnZpZGVvRGltZW5zaW9uc0NoYW5nZWQodmlkZW9EaW1lbnNpb25zKTsKIH0KIAotdm9pZCBX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2Vk
KGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMpCit2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXJDb250ZXh0OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYg
dGltZVJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50
ZXJ2YWwpCiB7CiAgICAgaWYgKFdlYlRocmVhZElzQ3VycmVudCgpKSB7CiAgICAgICAgIFJlZlB0
cjxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dD4gcHJvdGVjdGVkVGhpcyh0aGlz
KTsKLSAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3By
b3RlY3RlZFRoaXMsIHBsYXRmb3JtVGltZVJhbmdlcyA9IHRpbWVSYW5nZXMucmFuZ2VzKCldIHsK
LSAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChUaW1lUmFu
Z2VzOjpjcmVhdGUocGxhdGZvcm1UaW1lUmFuZ2VzKSk7CisgICAgICAgIGRpc3BhdGNoX2FzeW5j
KGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtwcm90ZWN0ZWRUaGlzLCBwbGF0Zm9ybVRpbWVS
YW5nZXMgPSB0aW1lUmFuZ2VzLnJhbmdlcygpLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRl
SW50ZXJ2YWxdIHsKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnNlZWthYmxlUmFuZ2VzQ2hh
bmdlZChUaW1lUmFuZ2VzOjpjcmVhdGUocGxhdGZvcm1UaW1lUmFuZ2VzKSwgbGFzdE1vZGlmaWVk
VGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKICAgICBmb3IgKGF1dG8gJmNsaWVudCA6IG1fcGxheWJhY2tDbGllbnRzKQotICAg
ICAgICBjbGllbnQtPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCh0aW1lUmFuZ2VzKTsKKyAgICAgICAg
Y2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQodGltZVJhbmdlcywgbGFzdE1vZGlmaWVkVGlt
ZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyQ29udGV4dDo6Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sIGNhblBsYXlGYXN0
UmV2ZXJzZSkKQEAgLTczMCw2ICs3MzIsMTggQEAgUmVmPFRpbWVSYW5nZXM+IFdlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpzZWVrYWJsZVJhbmdlcygpIGNvbnN0CiAgICAgcmV0
dXJuIG1fcGxheWJhY2tNb2RlbCA/IG1fcGxheWJhY2tNb2RlbC0+c2Vla2FibGVSYW5nZXMoKSA6
IFRpbWVSYW5nZXM6OmNyZWF0ZSgpOwogfQogCitkb3VibGUgV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlckNvbnRleHQ6OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25z
dAoreworICAgIEFTU0VSVChpc1VJVGhyZWFkKCkpOworICAgIHJldHVybiBtX3BsYXliYWNrTW9k
ZWwgPyBtX3BsYXliYWNrTW9kZWwtPnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUo
KSA6IDA7Cit9CisKK2RvdWJsZSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6
bGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNVSVRocmVhZCgpKTsK
KyAgICByZXR1cm4gbV9wbGF5YmFja01vZGVsID8gbV9wbGF5YmFja01vZGVsLT5saXZlVXBkYXRl
SW50ZXJ2YWwoKSA6IDA7Cit9CisKIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNv
bnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzVUlUaHJl
YWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKaW5kZXggMDFkZmFkZDcyYjUyOTlmYmU2NGVk
YzI0ZjhlNjk0MDM1ODQ0YjU1ZS4uYjgxMjRjMWUxYmZlMDE1YmQyOWMwZWYwN2E3MGUzNzFjMTli
NTFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkdXJhdGlvbkNoYW5nZWQoZG91YmxlKSBmaW5hbDsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUgLypjdXJy
ZW50VGltZSovLCBkb3VibGUgLyphbmNob3JUaW1lKi8pIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCAvKmlzUGxheWluZyovLCBmbG9hdCAvKnBsYXliYWNr
UmF0ZSovKSBmaW5hbDsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hh
bmdlZChjb25zdCBUaW1lUmFuZ2VzJikgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYsIGRvdWJsZSAvKmxhc3RNb2Rp
ZmllZFRpbWUqLywgZG91YmxlIC8qbGl2ZVVwZGF0ZUludGVydmFsKi8pIGZpbmFsOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIC8qb3B0aW9ucyovLCB1aW50NjRfdCAvKnNl
bGVjdGVkSW5kZXgqLykgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBsZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRp
b24+JiAvKm9wdGlvbnMqLywgdWludDY0X3QgLypzZWxlY3RlZEluZGV4Ki8pIGZpbmFsOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50
NjRfdCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQppbmRleCAzYmVjMDM1MGRhNDZm
MTNmODViYzllYmI4ZTQ4NWEyMGRhZDk0ZWU3Li44YjQ0YTYxYzUwZTAxNjJjM2MxMGU3MTc1ZDgx
YzZmMmEyNDg0Y2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KQEAgLTEzMCw3ICsxMzAs
NyBAQCBzdGF0aWMgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiB0aW1lUmFuZ2VzVG9BcnJheShj
b25zdCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQogfQogI2VuZGlmCiAKLXZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJh
bmdlcyYgdGltZVJhbmdlcykKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpz
ZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYgdGltZVJhbmdlcywgZG91Ymxl
LCBkb3VibGUpCiB7CiAjaWYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQog
ICAgIFtwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigpIHNldFNlZWthYmxlVGltZVJhbmdlczp0aW1l
UmFuZ2VzVG9BcnJheSh0aW1lUmFuZ2VzKS5nZXQoKV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCmluZGV4IGEyNDc0MTJlMWY0MjgwMzY2MzY5YmU5MDFj
OWUzYmZlOTZmYTFhMTUuLjU4YTE1YmNkMGE5MGMxMzdlNjM4ZDFhY2I3Yjk3M2Q2YmFkYjYzZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCkBAIC0x
NDcsNiArMTQ3LDEyIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAaW50ZXJmYWNlIEFWVmFs
dWVUaW1pbmcgKCkKICsgKEFWVmFsdWVUaW1pbmcgKil2YWx1ZVRpbWluZ1dpdGhBbmNob3JWYWx1
ZTooZG91YmxlKWFuY2hvclZhbHVlIGFuY2hvclRpbWVTdGFtcDooTlNUaW1lSW50ZXJ2YWwpdGlt
ZVN0YW1wIHJhdGU6KGRvdWJsZSlyYXRlOwogQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05M
WSwgcmVhZG9ubHkpIGRvdWJsZSBjdXJyZW50VmFsdWU7CitAcHJvcGVydHkgKE5TX05PTkFUT01J
Q19JT1NPTkxZLCByZWFkb25seSkgZG91YmxlIHJhdGU7CitAcHJvcGVydHkgKE5TX05PTkFUT01J
Q19JT1NPTkxZLCByZWFkb25seSkgTlNUaW1lSW50ZXJ2YWwgYW5jaG9yVGltZVN0YW1wOworQHBy
b3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRvdWJsZSBhbmNob3JWYWx1
ZTsKKworKyAoTlNUaW1lSW50ZXJ2YWwpY3VycmVudFRpbWVTdGFtcDsKKy0gKGRvdWJsZSl2YWx1
ZUZvclRpbWVTdGFtcDooTlNUaW1lSW50ZXJ2YWwpdGltZVN0YW1wOwogQGVuZAogCiBOU19BU1NV
TUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9t
YWMvQVZGb3VuZGF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FW
Rm91bmRhdGlvblNQSS5oCmluZGV4IGExYzgwODhjODY4MjQzMzRlNzFkOTRiMWY0ZTEwYWFiZGRj
ZTJjYzUuLmEzYTdkZTk0YjhlMDJhNDU0NDdkMzJkMWQ1ZjhkMGEwZjA2NDgxOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAt
MzIsNiArMzIsNyBAQAogCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldENhY2hlX1ByaXZh
dGUuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVk91dHB1dENvbnRleHQuaD4KKyNpbXBvcnQg
PEFWRm91bmRhdGlvbi9BVlBsYXllckl0ZW1fUHJpdmF0ZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0
aW9uL0FWUGxheWVyTGF5ZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxh
eWVyX1ByaXZhdGUuaD4KIApAQCAtNDcsNiArNDgsMTYgQEAKIAogI2ltcG9ydCA8QVZGb3VuZGF0
aW9uL0FWUGxheWVyLmg+CiAKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEwMDAwKQorTlNfQVNTVU1FX05PTk5VTExfQkVH
SU4KK0BjbGFzcyBBVlBsYXllckl0ZW0gKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgTlNUaW1lSW50ZXJ2YWwgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSBOU19B
VkFJTEFCTEUoMTBfMTMsIDExXzApOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBO
U1RpbWVJbnRlcnZhbCBsaXZlVXBkYXRlSW50ZXJ2YWw7CitAZW5kCitOU19BU1NVTUVfTk9OTlVM
TF9FTkQKKyNlbmRpZiAvLyAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01BWF9BTExPV0VEID49IDExMDAwMCkKKwogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXggOTA0MWNlYzIwYWNmNTJlYzFmOGI4Y2Vk
OTg3ZDk4MTU0OWE1YjhlYS4uOGIxMDhhYzY1MTE4MDY2MDQyZDc1ZTkwNTdiYjU0MTQ3M2EzMTIy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAtNzUsNyArNzUsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRCdWZmZXJlZFRpbWUoZG91YmxlKTsKICAgICB2b2lkIHNldFBsYXli
YWNrU3RhcnRlZFRpbWUoZG91YmxlKTsKICAgICB2b2lkIHNldFJhdGUoYm9vbCBpc1BsYXlpbmcs
IGZsb2F0IHBsYXliYWNrUmF0ZSk7Ci0gICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlcyhXZWJDb3Jl
OjpUaW1lUmFuZ2VzJik7CisgICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlcyhXZWJDb3JlOjpUaW1l
UmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2
YWwpOwogICAgIHZvaWQgc2V0Q2FuUGxheUZhc3RSZXZlcnNlKGJvb2wpOwogICAgIHZvaWQgc2V0
QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2Vs
ZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3QgaW5kZXgpOwogICAgIHZvaWQgc2V0TGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxl
Y3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBpbmRleCk7CkBAIC0xMTgsNiArMTE4LDgg
QEAgcHJpdmF0ZToKICAgICBib29sIGlzU2NydWJiaW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9pc1NjcnViYmluZzsgfQogICAgIGZsb2F0IHBsYXliYWNrUmF0ZSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcGxheWJhY2tSYXRlOyB9CiAgICAgUmVmPFdlYkNvcmU6OlRpbWVSYW5nZXM+IHNl
ZWthYmxlUmFuZ2VzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZWVrYWJsZVJhbmdlcy5jb3B5
UmVmKCk7IH0KKyAgICBkb3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGlt
ZTsgfQorICAgIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2xp
dmVVcGRhdGVJbnRlcnZhbDsgfQogICAgIGJvb2wgY2FuUGxheUZhc3RSZXZlcnNlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9jYW5QbGF5RmFzdFJldmVyc2U7IH0KICAgICBWZWN0b3I8V2ViQ29y
ZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9hdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uczsgfQogICAgIHVp
bnQ2NF90IGF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9h
dWRpb01lZGlhU2VsZWN0ZWRJbmRleDsgfQpAQCAtMTQxLDYgKzE0Myw4IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2lzU2NydWJiaW5nIHsgZmFsc2UgfTsKICAgICBmbG9hdCBtX3BsYXliYWNrUmF0
ZSB7IDAgfTsKICAgICBSZWY8V2ViQ29yZTo6VGltZVJhbmdlcz4gbV9zZWVrYWJsZVJhbmdlcyB7
IFdlYkNvcmU6OlRpbWVSYW5nZXM6OmNyZWF0ZSgpIH07CisgICAgZG91YmxlIG1fc2Vla2FibGVU
aW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSB7IDAgfTsKKyAgICBkb3VibGUgbV9saXZlVXBkYXRl
SW50ZXJ2YWwgeyAwIH07CiAgICAgYm9vbCBtX2NhblBsYXlGYXN0UmV2ZXJzZSB7IGZhbHNlIH07
CiAgICAgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBtX2F1ZGlvTWVkaWFT
ZWxlY3Rpb25PcHRpb25zOwogICAgIHVpbnQ2NF90IG1fYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgg
eyAwIH07CkBAIC0xODQsNyArMTg4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc2V0TWVkaWFT
dGF0ZSh1aW50NjRfdCBjb250ZXh0SWQpOwogICAgIHZvaWQgc2V0Q3VycmVudFRpbWUodWludDY0
X3QgY29udGV4dElkLCBkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZSBob3N0VGltZSk7CiAgICAg
dm9pZCBzZXRCdWZmZXJlZFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgYnVmZmVyZWRU
aW1lKTsKLSAgICB2b2lkIHNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcyk7CisgICAgdm9pZCBz
ZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxzdGQ6OnBh
aXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICB2b2lkIHNldENhblBsYXlGYXN0UmV2ZXJzZSh1
aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpOwogICAgIHZvaWQgc2V0QXVkaW9NZWRpYVNl
bGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFT
ZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZv
aWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZl
Y3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2Vs
ZWN0ZWRJbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCA5YTEyOTg3NzgxMmQ0MWUxNjgzOTcxZDVlZmUwZDExZWFlNjJmOGZjLi40ZTBh
ZWMzODg1YzUwZjlmNjk4YjIwNGJjNGY3NDFhYjZmZDA4YTVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI1LDcgKzI1LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5IHsKICAgICBSZXNldE1lZGlhU3Rh
dGUodWludDY0X3QgY29udGV4dElkKQogICAgIFNldEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNvbnRl
eHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpCiAgICAgU2V0QnVmZmVy
ZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkKLSAgICBTZXRT
ZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxzdGQ6OnBhaXI8
ZG91YmxlLCBkb3VibGU+PiByYW5nZXMpCisgICAgU2V0U2Vla2FibGVSYW5nZXNWZWN0b3IodWlu
dDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2Vz
LCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKICAg
ICBTZXRDYW5QbGF5RmFzdFJldmVyc2UodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKQog
ICAgIFNldEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVj
dG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxl
Y3RlZEluZGV4KQogICAgIFNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnModWludDY0X3Qg
Y29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMs
IHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQpp
bmRleCA5MDI0MGYzZmY5OTQ2ZWM4MmQyZDJlYWY1Yzk1OWFjZDczNGUzYTBmLi4wZTllMWI1YmNk
MjJhOWRkOTA1MGYyMTdlZjc5NjRjNWEwODg5Nzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkubW0KQEAgLTE4MCwxMSArMTgwLDEzIEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxDb250ZXh0OjpzZXRSYXRlKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpCiAg
ICAgICAgIGNsaWVudC0+cmF0ZUNoYW5nZWQoaXNQbGF5aW5nLCBwbGF5YmFja1JhdGUpOwogfQog
Ci12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0U2Vla2FibGVSYW5nZXMo
V2ViQ29yZTo6VGltZVJhbmdlcyYgc2Vla2FibGVSYW5nZXMpCit2b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbk1vZGVsQ29udGV4dDo6c2V0U2Vla2FibGVSYW5nZXMoV2ViQ29yZTo6VGltZVJhbmdlcyYg
c2Vla2FibGVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0
ZUludGVydmFsKQogewogICAgIG1fc2Vla2FibGVSYW5nZXMgPSBzZWVrYWJsZVJhbmdlczsKKyAg
ICBtX3NlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgPSBsYXN0TW9kaWZpZWRUaW1l
OworICAgIG1fbGl2ZVVwZGF0ZUludGVydmFsID0gbGl2ZVVwZGF0ZUludGVydmFsOwogICAgIGZv
ciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKQotICAgICAgICBjbGllbnQtPnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZChzZWVrYWJsZVJhbmdlcyk7CisgICAgICAgIGNsaWVudC0+c2Vla2FibGVSYW5n
ZXNDaGFuZ2VkKHNlZWthYmxlUmFuZ2VzLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50
ZXJ2YWwpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0Q2Fu
UGxheUZhc3RSZXZlcnNlKGJvb2wgY2FuUGxheUZhc3RSZXZlcnNlKQpAQCAtMzc2LDcgKzM3OCw3
IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRCdWZmZXJlZFRpbWUo
dWludDY0X3QgY29udGV4dElkLCBkb3VibGUKICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNl
dEJ1ZmZlcmVkVGltZShidWZmZXJlZFRpbWUpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eTo6c2V0U2Vla2FibGVSYW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4dElk
LCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzKQordm9pZCBXZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90
IGNvbnRleHRJZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcywgZG91
YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCiB7CiAgICAg
UmVmPFRpbWVSYW5nZXM+IHRpbWVSYW5nZXMgPSBUaW1lUmFuZ2VzOjpjcmVhdGUoKTsKICAgICBm
b3IgKGNvbnN0IGF1dG8mIHJhbmdlIDogcmFuZ2VzKSB7CkBAIC0zODYsNyArMzg4LDcgQEAgdm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9y
KHVpbnQ2NF90IGNvbnRleHRJZCwKICAgICAgICAgdGltZVJhbmdlcy0+YWRkKHJhbmdlLmZpcnN0
LCByYW5nZS5zZWNvbmQpOwogICAgIH0KIAotICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0
U2Vla2FibGVSYW5nZXModGltZVJhbmdlcyk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5z
ZXRTZWVrYWJsZVJhbmdlcyh0aW1lUmFuZ2VzLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRl
SW50ZXJ2YWwpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0
Q2FuUGxheUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyLmgKaW5kZXggYWYzY2E3Mjk3MGU1OWQxZDNhYjllN2I3YzYxNTIyNWI0Njgx
MTFhNS4uOTJlZWRlNDZkOWVkNzM2NmQ4ODgyNjE0YTUxNGVkZDZmZDY2NGQ3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGJ1ZmZl
cmVkVGltZUNoYW5nZWQoZG91YmxlKSBmaW5hbDsKICAgICB2b2lkIHBsYXliYWNrU3RhcnRlZFRp
bWVDaGFuZ2VkKGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKSBmaW5hbDsKICAgICB2b2lkIHJh
dGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpIGZpbmFsOwotICAg
IHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmKSBm
aW5hbDsKKyAgICB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1l
UmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2
YWwpIGZpbmFsOwogICAgIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sIHZhbHVl
KSBmaW5hbDsKICAgICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25z
dCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRf
dCBzZWxlY3RlZEluZGV4KSBmaW5hbDsKICAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9w
dGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4m
IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIGZpbmFsOwpAQCAtMTI4LDcgKzEyOCw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGJ1ZmZlcmVkVGltZUNoYW5nZWQodWludDY0X3QgY29u
dGV4dElkLCBkb3VibGUgYnVmZmVyZWRUaW1lKTsKICAgICB2b2lkIHBsYXliYWNrU3RhcnRlZFRp
bWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUp
OwogICAgIHZvaWQgcmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWlu
ZywgZmxvYXQgcGxheWJhY2tSYXRlKTsKLSAgICB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZCh1
aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmKTsKKyAgICB2b2lk
IHNlZWthYmxlUmFuZ2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6
OlRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJ
bnRlcnZhbCk7CiAgICAgdm9pZCBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9u
c0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFT
ZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKICAgICB2
b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywg
dWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KaW5kZXggMjhj
N2VlOWM4MDc5Yjg4ZjJjYzZiY2E5YjI5YTVjNGFkZTE2NDM0OS4uYTViYjJjZThjZGRmZjA0NzZl
NjU0ZDM0MGMwMjE0YWM1ODMxYWZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQpAQCAtMTAx
LDEwICsxMDEsMTAgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0Ojpw
bGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChkb3VibGUgcGxheWIKICAgICAgICAgbV9tYW5hZ2Vy
LT5wbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChtX2NvbnRleHRJZCwgcGxheWJhY2tTdGFydGVk
VGltZSk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6c2Vl
a2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmIHJhbmdlcykKK3Zv
aWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmIHJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmll
ZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fbWFuYWdlcikK
LSAgICAgICAgbV9tYW5hZ2VyLT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQobV9jb250ZXh0SWQsIHJh
bmdlcyk7CisgICAgICAgIG1fbWFuYWdlci0+c2Vla2FibGVSYW5nZXNDaGFuZ2VkKG1fY29udGV4
dElkLCByYW5nZXMsIGxhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiB9CiAK
IHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6Y2FuUGxheUZhc3RSZXZl
cnNlQ2hhbmdlZChib29sIHZhbHVlKQpAQCAtMzE4LDcgKzMxOCw3IEBAIHZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlcjo6cmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlz
UGxheWluZywKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6U2V0UmF0ZShjb250ZXh0SWQsIGlzUGxheWluZywgcGxheWJhY2tSYXRlKSwg
bV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6
c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6
VGltZVJhbmdlcyYgdGltZVJhbmdlcykKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6
c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6
VGltZVJhbmdlcyYgdGltZVJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBs
aXZlVXBkYXRlSW50ZXJ2YWwpCiB7CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJs
ZT4+IHJhbmdlc1ZlY3RvcjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGltZVJhbmdl
cy5sZW5ndGgoKTsgaSsrKSB7CkBAIC0zMjYsNyArMzI2LDcgQEAgdm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyOjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBj
b25zdAogICAgICAgICBkb3VibGUgZW5kID0gdGltZVJhbmdlcy5yYW5nZXMoKS5lbmQoaSkudG9E
b3VibGUoKTsKICAgICAgICAgcmFuZ2VzVmVjdG9yLmFwcGVuZCh7IHN0YXJ0LCBlbmQgfSk7CiAg
ICAgfQotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjpTZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcihjb250ZXh0SWQsIFdURk1vdmUocmFuZ2Vz
VmVjdG9yKSksIG1fcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpTZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcihj
b250ZXh0SWQsIFdURk1vdmUocmFuZ2VzVmVjdG9yKSwgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVw
ZGF0ZUludGVydmFsKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlcjo6Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIGJvb2wgdmFsdWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312160</attachid>
            <date>2017-06-06 20:36:00 -0700</date>
            <delta_ts>2017-06-07 12:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172396-20170606203559.patch</filename>
            <type>text/plain</type>
            <size>50993</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg4MjUwZDViM2JmMTVl
NjRlMmZmZmFiNDE2M2U0Y2E0ODBlYzFiYy4uZWY4NWRkYTQ1M2JlYWUzNmY0NTZmYTk4NWQ4ZmNh
YWJjM2ZkZWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE3LTA1LTE5ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYWRkaXRp
b25hbCBBVlBsYXllckNvbnRyb2xsZXIgaW50ZXJmYWNlcyBmb3IgbWluVGltZSBhbmQgbWF4VGlt
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjM5
NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zMDczNzQ1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5n
ZSB0byBET00uCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG5ldyBITFMgVUkgaW4gQVZLaXQu
CisKKyAgICAgICAgVGhpcyBhZGRzIG5ldyBwcm9wZXJ0aWVzIChzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwsIG1pblRpbWluZywgbWF4VGltaW5n
KSB0byBXZWJBVlBsYXllckNvbnRyb2xsZXIuCisgICAgICAgIFBsdW1iIHRoZXNlIHByb3BlcnRp
ZXMgZnJvbSBBVlBsYXllciB1cCB0byBBVktpdC4KKworICAgICAgICBTd2l0Y2ggV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQgZnJvbSB1cGRhdGluZyBzZWVrYWJsZVJhbmdlc0No
YW5nZWQgdXNpbmcgdGltZXVwZGF0ZSBldmVudCB0byB1c2luZyBhIFRpbWVyLAorICAgICAgICBz
aW5jZSB0aW1ldXBkYXRlIGV2ZW50IGRvZXNuJ3QgaGFwcGVuIHdoZW4gcGF1c2VkLgorCisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bGl2ZVVwZGF0ZUludGVydmFsKToKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9X
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tT
ZXNzaW9uTW9kZWxDbGllbnQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgICogcGxh
dGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5t
bToKKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Ojp1cGRhdGVGb3JFdmVudE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnNlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Omxp
dmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c2Vla2FibGVU
aW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2U6OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJB
VlBsYXllckNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBp
bml0XSk6CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBkZWFsbG9jXSk6CisgICAg
ICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOm9mT2Jq
ZWN0OmNoYW5nZTpjb250ZXh0Ol0pOgorICAgICAgICAoLVtXZWJBVlBsYXllckNvbnRyb2xsZXIg
dXBkYXRlTWluTWF4VGltaW5nXSk6CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBo
YXNTZWVrYWJsZUxpdmVTdHJlYW1pbmdDb250ZW50XSk6CisgICAgICAgICgrW1dlYkFWUGxheWVy
Q29udHJvbGxlciBrZXlQYXRoc0ZvclZhbHVlc0FmZmVjdGluZ0hhc1NlZWthYmxlTGl2ZVN0cmVh
bWluZ0NvbnRlbnRdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQVZLaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VBVktpdDo6V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OnJhdGVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW06CisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKToKKyAgICAgICAgKFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0
TW9kaWZpZWRUaW1lKToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250
ZXh0OjpsaXZlVXBkYXRlSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9t
YWMvQVZGb3VuZGF0aW9uU1BJLmg6CisKIDIwMTctMDYtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlc291cmNlIFRpbWluZyAvIFVzZXIg
VGltaW5nIGZyb20gZXhwZXJpbWVudGFsIGZlYXR1cmVzIGludG8gbWFpbiBwcmVmZXJlbmNlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDRmNGQzNjQ0M2E2NjkwMjlmM2IwNDVjOTcxMjc5MjE1ZjdlZjQ5OTEuLjVh
Mjk3OWNiYzkzYjU4MGVhZWIzZGI5NTNkNDQ2ZjRlNTkxZDUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNy0wNS0xOSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IGFkZGl0aW9uYWwgQVZQbGF5ZXJDb250cm9sbGVyIGludGVy
ZmFjZXMgZm9yIG1pblRpbWUgYW5kIG1heFRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIzOTYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzA3
Mzc0NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgbmV3IEhMUyBVSSBpbiBBVktpdC4KKworICAgICAgICBQbHVtYiBzZWVr
YWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lIGFuZCBsaXZlVXBkYXRlSW50ZXJ2YWwgYWNy
b3NzIHByb2Nlc3MgYm91bmRhcmllcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0U2Vla2FibGVSYW5n
ZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNl
dFNlZWthYmxlUmFuZ2VzVmVjdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6
CisKIDIwMTctMDYtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIFJlc291cmNlIFRpbWluZyAvIFVzZXIgVGltaW5nIGZyb20gZXhwZXJpbWVu
dGFsIGZlYXR1cmVzIGludG8gbWFpbiBwcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNGJkZWY2MmRlOGY3MGRkMWYzZTEyZmE4MjhkYjYyYTIx
ZDcwY2Q3YS4uNzQ5OGM4ZTExZDQxZDM5OGU0ZTc4MDAzN2M4YjNjYWU4NTBmM2EwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC00ODMwLDYgKzQ4MzAsMTYg
QEAgUmVmPFRpbWVSYW5nZXM+IEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWthYmxlKCkgY29uc3QKICAg
ICByZXR1cm4gVGltZVJhbmdlczo6Y3JlYXRlKCk7CiB9CiAKK2RvdWJsZSBIVE1MTWVkaWFFbGVt
ZW50OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVk
VGltZSgpIDogMDsKK30KKworZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6OmxpdmVVcGRhdGVJbnRl
cnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPmxpdmVVcGRh
dGVJbnRlcnZhbCgpIDogMDsKK30KKwogYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojpwb3RlbnRpYWxs
eVBsYXlpbmcoKSBjb25zdAogewogICAgIGlmIChpc0Jsb2NrZWRPbk1lZGlhQ29udHJvbGxlcigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBiMzYyYjYyZGU0NzJi
ZTEwOGYxY2EzNDE0NjEwYzI0OGZmMTg4MDEyLi5jMTRmMzE1ODQxYzgzMTQ1ZjFkNmEwYmE0YjJk
MmZjYWNiZTBiZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
MjMyLDYgKzIzMiw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdlYmtp
dFByZXNlcnZlc1BpdGNoKGJvb2wpOwogICAgIFJlZjxUaW1lUmFuZ2VzPiBwbGF5ZWQoKSBvdmVy
cmlkZTsKICAgICBSZWY8VGltZVJhbmdlcz4gc2Vla2FibGUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBkb3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0OworICAg
IGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGVuZGVkKCkgY29uc3Q7CiAgICAgYm9vbCBhdXRvcGxheSgpIGNvbnN0OwogICAgIGJvb2wg
aXNBdXRvcGxheWluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b3BsYXlpbmc7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVs
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bC5oCmluZGV4IDkwMDIwMWFlNWZiMDY5ZDU5ZjYyZGYzNjZmZDkxZGMwZGRhM2QyMDguLjkzNDAz
ZGNjYTFjZDgwZjViZjA1MGI4NDdhODQwMzM3OGZlYjdlMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaApAQCAt
NjgsNiArNjgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2NydWJiaW5nKCkgY29u
c3QgPSAwOwogICAgIHZpcnR1YWwgZmxvYXQgcGxheWJhY2tSYXRlKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25P
cHRpb25zKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdWludDY0X3QgYXVkaW9NZWRpYVNlbGVj
dGVkSW5kZXgoKSBjb25zdCA9IDA7CkBAIC04OSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChkb3VibGUgLyogcGxheWJhY2tTdGFydGVkVGlt
ZSAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgLyogaXNQbGF5aW5n
ICovLCBmbG9hdCAvKiBwbGF5YmFja1JhdGUgKi8pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzZWVr
YWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYpIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYsIGRvdWJsZSAvKiBsYXN0
TW9kaWZpZWQgKi8sIGRvdWJsZSAvKiBsaXZlSW50ZXJ2YWwgKi8pIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKGJvb2wpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1lZGlhU2Vs
ZWN0aW9uT3B0aW9uPiYgLyogb3B0aW9ucyAqLywgdWludDY0X3QgLyogc2VsZWN0ZWRJbmRleCAq
LykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFu
Z2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIC8qIG9wdGlvbnMgKi8sIHVp
bnQ2NF90IC8qIHNlbGVjdGVkSW5kZXggKi8pIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVk
aWFFbGVtZW50LmgKaW5kZXggOGFjNTRlY2Q3NTEwOWIyYWFiYWM2Njk2OGYzYzRkMjRkZDIxY2U3
Ni4uZjliZTNhYmNlMDVlZTZmNjdmYjFmMTVjYjk2YmQyOGQwNjYxY2Q0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRl
ICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudEVudW1zLmgiCisj
aW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNzks
NiArODAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1NjcnViYmluZygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgZmxvYXQgcGxheWJhY2tSYXRlKCkgY29uc3QgZmluYWw7CiAg
ICAgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkgY29uc3QgZmluYWw7CisgICAgZG91
YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBmaW5hbDsKKyAg
ICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBjYW5Q
bGF5RmFzdFJldmVyc2UoKSBjb25zdCBmaW5hbDsKICAgICBWZWN0b3I8TWVkaWFTZWxlY3Rpb25P
cHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkgY29uc3QgZmluYWw7CiAgICAgdWlu
dDY0X3QgYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKSBjb25zdCBmaW5hbDsKQEAgLTk1LDYgKzk4
LDcgQEAgcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50KCk7CiAKIHByaXZhdGU6CisgICAgdm9pZCBwcm9ncmVzc0V2ZW50VGlt
ZXJGaXJlZCgpOwogICAgIHN0YXRpYyBjb25zdCBWZWN0b3I8V1RGOjpBdG9taWNTdHJpbmc+JiBv
YnNlcnZlZEV2ZW50TmFtZXMoKTsKICAgICBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgZXZlbnRO
YW1lQWxsKCk7CiAKQEAgLTEwMyw3ICsxMDcsOCBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8V2Vi
UGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQqPiBtX2NsaWVudHM7CiAgICAgVmVjdG9yPFJlZlB0
cjxUZXh0VHJhY2s+PiBtX2xlZ2libGVUcmFja3NGb3JNZW51OwogICAgIFZlY3RvcjxSZWZQdHI8
QXVkaW9UcmFjaz4+IG1fYXVkaW9UcmFja3NGb3JNZW51OwotICAgIAorICAgIFRpbWVyIG1fcHJv
Z3Jlc3NFdmVudFRpbWVyOworCiAgICAgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUoKSBjb25z
dDsKICAgICB2b2lkIHVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpOwogICAgIHZvaWQgdXBk
YXRlTWVkaWFTZWxlY3Rpb25JbmRpY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tCmluZGV4IDE5YmI1NGFjOTlmM2UyZWQ1NzU4MzlhMWIzZmQwYzk5NjNkNGMwNzYu
LjkxZGI2ZTIyNmU1ZmM3Njg0MjhiNmNiNDZiZjFkYTYwZmUzZDhmMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC01MSwxMSArNTEsMTMgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6V2ViUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQoKQogICAgIDogRXZlbnRMaXN0ZW5lcihFdmVu
dExpc3RlbmVyOjpDUFBFdmVudExpc3RlbmVyVHlwZSkKKyAgICAsIG1fcHJvZ3Jlc3NFdmVudFRp
bWVyKCp0aGlzLCAmV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnByb2dyZXNz
RXZlbnRUaW1lckZpcmVkKQogewogfQogCiBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxl
bWVudDo6fldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50KCkKIHsKKyAgICBtX3By
b2dyZXNzRXZlbnRUaW1lci5zdG9wKCk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQpCkBAIC02NCw2ICs2Niw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpCiAgICAgICAg
IHJldHVybjsKIAogICAgIGlmIChtX21lZGlhRWxlbWVudCAmJiBtX2lzTGlzdGVuaW5nKSB7Cisg
ICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgZm9yIChhdXRvJiBl
dmVudE5hbWUgOiBvYnNlcnZlZEV2ZW50TmFtZXMoKSkKICAgICAgICAgICAgIG1fbWVkaWFFbGVt
ZW50LT5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKnRoaXMsIGZhbHNlKTsKICAgICAg
ICAgbV9tZWRpYUVsZW1lbnQtPmF1ZGlvVHJhY2tzKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkuY2hhbmdlRXZlbnQsICp0aGlzLCBmYWxzZSk7CkBAIC03Nyw2ICs4MCw3IEBAIHZv
aWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50KiBtZWRpCiAgICAgbV9tZWRpYUVsZW1lbnQgPSBtZWRpYUVsZW1lbnQ7
CiAKICAgICBpZiAobV9tZWRpYUVsZW1lbnQpIHsKKyAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21zKTsKICAgICAgICAgZm9yIChhdXRvJiBldmVudE5hbWUg
OiBvYnNlcnZlZEV2ZW50TmFtZXMoKSkKICAgICAgICAgICAgIG1fbWVkaWFFbGVtZW50LT5hZGRF
dmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKnRoaXMsIGZhbHNlKTsKICAgICAgICAgbV9tZWRpYUVs
ZW1lbnQtPmF1ZGlvVHJhY2tzKCkuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdl
RXZlbnQsICp0aGlzLCBmYWxzZSk7CkBAIC05Miw2ICs5NiwxMSBAQCB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25DbwogICAgIHVwZGF0ZUZvckV2ZW50TmFtZShldmVudC0+dHlwZSgpKTsKIH0KIAordm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6cHJvZ3Jlc3NFdmVudFRpbWVy
RmlyZWQoKQoreworICAgIHVwZGF0ZUZvckV2ZW50TmFtZShldmVudE5hbWVzKCkucHJvZ3Jlc3NF
dmVudCk7Cit9CisKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVw
ZGF0ZUZvckV2ZW50TmFtZShjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewog
ICAgIGlmIChtX2NsaWVudHMuaXNFbXB0eSgpKQpAQCAtMTMyLDE0ICsxNDEsMTkgQEAgdm9pZCBX
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlRm9yRXZlbnROYW1lKGNv
bnN0IFdURjo6QXRvbWljU3QKICAgICAgICAgfHwgZXZlbnROYW1lID09IGV2ZW50TmFtZXMoKS50
aW1ldXBkYXRlRXZlbnQpIHsKICAgICAgICAgYXV0byBjdXJyZW50VGltZSA9IHRoaXMtPmN1cnJl
bnRUaW1lKCk7CiAgICAgICAgIGF1dG8gYW5jaG9yVGltZSA9IFtbTlNQcm9jZXNzSW5mbyBwcm9j
ZXNzSW5mb10gc3lzdGVtVXB0aW1lXTsKKyAgICAgICAgZm9yIChhdXRvIGNsaWVudCA6IG1fY2xp
ZW50cykKKyAgICAgICAgICAgIGNsaWVudC0+Y3VycmVudFRpbWVDaGFuZ2VkKGN1cnJlbnRUaW1l
LCBhbmNob3JUaW1lKTsKKyAgICB9CisKKyAgICBpZiAoYWxsCisgICAgICAgIHx8IGV2ZW50TmFt
ZSA9PSBldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCkgewogICAgICAgICBhdXRvIGJ1ZmZlcmVk
VGltZSA9IHRoaXMtPmJ1ZmZlcmVkVGltZSgpOwogICAgICAgICBhdXRvIHNlZWthYmxlUmFuZ2Vz
ID0gdGhpcy0+c2Vla2FibGVSYW5nZXMoKTsKLQorICAgICAgICBhdXRvIHNlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUgPSB0aGlzLT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZp
ZWRUaW1lKCk7CisgICAgICAgIGF1dG8gbGl2ZVVwZGF0ZUludGVydmFsID0gdGhpcy0+bGl2ZVVw
ZGF0ZUludGVydmFsKCk7CiAgICAgICAgIGZvciAoYXV0byBjbGllbnQgOiBtX2NsaWVudHMpIHsK
LSAgICAgICAgICAgIGNsaWVudC0+Y3VycmVudFRpbWVDaGFuZ2VkKGN1cnJlbnRUaW1lLCBhbmNo
b3JUaW1lKTsKICAgICAgICAgICAgIGNsaWVudC0+YnVmZmVyZWRUaW1lQ2hhbmdlZChidWZmZXJl
ZFRpbWUpOwotICAgICAgICAgICAgLy8gRklYTUU6IDEzMDc4OCAtIGZpbmQgYSBiZXR0ZXIgZXZl
bnQgZnJvbSB3aGljaCB0byB1cGRhdGUgc2Vla2FibGUgcmFuZ2VzLgotICAgICAgICAgICAgY2xp
ZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoc2Vla2FibGVSYW5nZXMpOworICAgICAgICAgICAg
Y2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoc2Vla2FibGVSYW5nZXMsIHNlZWthYmxlVGlt
ZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgICAgIH0K
ICAgICB9CiAKQEAgLTM0Nyw2ICszNjEsNyBAQCBjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPiYg
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6Om9ic2VydmVkRXZlbnROYQogICAg
ICAgICBldmVudE5hbWVzKCkucGxheUV2ZW50LAogICAgICAgICBldmVudE5hbWVzKCkucmF0ZWNo
YW5nZUV2ZW50LAogICAgICAgICBldmVudE5hbWVzKCkudGltZXVwZGF0ZUV2ZW50LAorICAgICAg
ICBldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwKICAgICAgICAgZXZlbnROYW1lcygpLmFkZHRy
YWNrRXZlbnQsCiAgICAgICAgIGV2ZW50TmFtZXMoKS5yZW1vdmV0cmFja0V2ZW50LAogICAgICAg
ICBldmVudE5hbWVzKCkudm9sdW1lY2hhbmdlRXZlbnQsCkBAIC0zOTEsNiArNDA2LDE2IEBAIFJl
ZjxUaW1lUmFuZ2VzPiBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2Vla2Fi
bGVSYW5nZXMoKSBjb25zdAogICAgIHJldHVybiBtX21lZGlhRWxlbWVudCA/IG1fbWVkaWFFbGVt
ZW50LT5zZWVrYWJsZSgpIDogVGltZVJhbmdlczo6Y3JlYXRlKCk7CiB9CiAKK2RvdWJsZSBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1v
ZGlmaWVkVGltZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFFbGVtZW50ID8gbV9tZWRp
YUVsZW1lbnQtPnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSA6IDA7Cit9CisK
K2RvdWJsZSBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6bGl2ZVVwZGF0ZUlu
dGVydmFsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxl
bWVudC0+bGl2ZVVwZGF0ZUludGVydmFsKCkgOiAwOworfQorICAgIAogYm9vbCBXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6Y2FuUGxheUZhc3RSZXZlcnNlKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxlbWVudC0+bWluRmFzdFJldmVy
c2VSYXRlKCkgPCAwLjAgOiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBkYTA5YmJhZmE5OTJjZjNjNTljNmFkYmMxZDlk
YWY5MWU2YjllZmZjLi4xMmU1NDg4ZmExMzE1YTYyYjFmN2RmZDIyYWU5ZjE3OTNiNGUzNmRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogICAgIGRvdWJsZSBtaW5UaW1lU2Vla2FibGUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRm
b3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdGQ6Om1h
a2VfdW5pcXVlPFBsYXRmb3JtVGltZVJhbmdlcz4oKTsgfQogCisgICAgZG91YmxlIHNlZWthYmxl
VGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9
CisgICAgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IDA7IH0KKwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gMDsgfQogICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODIyLDYgKzgyNSwxNiBAQCBNZWRpYVRpbWUg
TWVkaWFQbGF5ZXI6Om1pblRpbWVTZWVrYWJsZSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+bWlu
TWVkaWFUaW1lU2Vla2FibGUoKTsKIH0KIAorZG91YmxlIE1lZGlhUGxheWVyOjpzZWVrYWJsZVRp
bWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5zZWVr
YWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCk7Cit9CisKK2RvdWJsZSBNZWRpYVBsYXll
cjo6bGl2ZVVwZGF0ZUludGVydmFsKCkKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5saXZlVXBk
YXRlSW50ZXJ2YWwoKTsKK30KKwogYm9vbCBNZWRpYVBsYXllcjo6ZGlkTG9hZGluZ1Byb2dyZXNz
KCkKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5kaWRMb2FkaW5nUHJvZ3Jlc3MoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDIxYWY0
ZmZiNjM5NTdiMTMyMTM0ZDJkZjdjYTJmZGM1N2Q1MTEzMDAuLmNiYjM2NjE4YzA0YzE5Njc2OTkx
MjQwMWVkMTAxN2U2OTBkZTc1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzkwLDYgKzM5MCw5IEBAIHB1YmxpYzoKICAgICBNZWRp
YVRpbWUgbWluVGltZVNlZWthYmxlKCk7CiAgICAgTWVkaWFUaW1lIG1heFRpbWVTZWVrYWJsZSgp
OwogCisgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKTsKKyAg
ICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCk7CisKICAgICBib29sIGRpZExvYWRpbmdQcm9n
cmVzcygpOwogCiAgICAgZG91YmxlIHZvbHVtZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBmZTFh
NmI2MWM5Mzg1ZDdjNWM5NmFmODk1OThlYWExNzIyZmFkZGVhLi5mMWQzM2E5NDE1MDNmOWE3Zjc5
ZTcwYzk3ZGZhMTljOGUzNzU3ZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMTQyLDYgKzE0Miw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5UaW1lU2Vla2FibGUoKSBjb25zdCB7IHJldHVy
biAwOyB9CiAgICAgdmlydHVhbCBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobWluVGltZVNlZWthYmxlKCkp
OyB9CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZm
ZXJlZCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lKCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZG91Ymxl
IGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIHZpcnR1YWwg
dW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXMoKSBjb25zdCB7IHJldHVybiAwOyB9CiAgICAg
dmlydHVhbCBib29sIGRpZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaAppbmRleCBhYjE1ZjY0MmVlZGRiNDQ4MTdjOTFiZTdmMWEyMjRhZmNkZWQxNzJjLi5i
YTNjNzQ5ZWY1NGE1ZjJhZmQ5NDdmMzc0NjU3Mzk1YjQxMzYxNzM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5oCkBAIC0yMDksNiArMjA5LDkgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb246OkFzc2V0U3RhdHVzIGFzc2V0U3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgbG9uZyBhc3NldEVycm9yQ29kZSgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgZG91Ymxl
IHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CisKICAgICB2b2lk
IGNoZWNrUGxheWFiaWxpdHkoKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFJhdGVEb3VibGUoZG91
YmxlKSBvdmVycmlkZTsKICAgICBkb3VibGUgcmF0ZSgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0KaW5kZXggOTIzZmRiOTQxNWNiMzg4Yjk1YzkwMTliOTVkMTVhYzY0MjY4
NTYzMC4uZjE4MTI5NzA3ZDViNTQxMWUwOWY4ZjhlZGFmNTJjZGE0YTlhNDVmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCkBAIC0xNDcwLDYgKzE0NzAsMTYgQEAgZG91YmxlIE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnJhdGUoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hl
ZFJhdGU7CiB9CiAKK2RvdWJsZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpz
ZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
W21fYXZQbGF5ZXJJdGVtIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWVdOworfQor
Citkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6bGl2ZVVwZGF0ZUlu
dGVydmFsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gW21fYXZQbGF5ZXJJdGVtIGxpdmVVcGRhdGVJ
bnRlcnZhbF07Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
c2V0UHJlc2VydmVzUGl0Y2goYm9vbCBwcmVzZXJ2ZXNQaXRjaCkKIHsKICAgICBpZiAobV9hdlBs
YXllckl0ZW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQ
bGF5ZXJDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5
ZXJDb250cm9sbGVyLmgKaW5kZXggNTNlZGE0YjA0YWZhNjRiNTI5Mzg3YTgzYmNjMWFiODE1OTdi
MjJmMi4uYzI3NTk4NzU1ZWQ3MTAwODU0MTFjMTVhMjk4YWRlMmUwN2E1NjY3YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaApA
QCAtODcsNiArODcsMTUgQEAgY2xhc3MgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ7
CiBAcHJvcGVydHkgQk9PTCBhbGxvd3NFeHRlcm5hbFBsYXliYWNrOwogQHByb3BlcnR5IChnZXR0
ZXI9aXNQaWN0dXJlSW5QaWN0dXJlUG9zc2libGUpIEJPT0wgcGljdHVyZUluUGljdHVyZVBvc3Np
YmxlOwogQHByb3BlcnR5IChnZXR0ZXI9aXNQaWN0dXJlSW5QaWN0dXJlSW50ZXJydXB0ZWQpIEJP
T0wgcGljdHVyZUluUGljdHVyZUludGVycnVwdGVkOworCitAcHJvcGVydHkgTlNUaW1lSW50ZXJ2
YWwgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKK0Bwcm9wZXJ0eSBOU1RpbWVJ
bnRlcnZhbCBsaXZlVXBkYXRlSW50ZXJ2YWw7CisKK0Bwcm9wZXJ0eSAoTlNfTk9OQVRPTUlDX0lP
U09OTFksIHJldGFpbiwgcmVhZHdyaXRlKSBBVlZhbHVlVGltaW5nICptaW5UaW1pbmc7CitAcHJv
cGVydHkgKE5TX05PTkFUT01JQ19JT1NPTkxZLCByZXRhaW4sIHJlYWR3cml0ZSkgQVZWYWx1ZVRp
bWluZyAqbWF4VGltaW5nOworCistICh2b2lkKXJlc2V0TWVkaWFTdGF0ZTsKKwogQGVuZAogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXll
ckNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJD
b250cm9sbGVyLm1tCmluZGV4IGE1M2ZmMWZlNjkzNDE3Y2JiMzUyZDI2ODQyNzlhMTM3OWIwZDA4
ODIuLjA5ZTNkNTMwNWM0ZWEzODBiNmRiZjAzNGViZmJjMDJlY2E3ZWMxZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbQpA
QCAtNDIsMTAgKzQyLDIwIEBACiAKIFNPRlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZLaXQp
CiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZLaXQsIEFWUGxheWVyQ29udHJvbGxlcikKK1NP
RlRfTElOS19DTEFTU19PUFRJT05BTChBVktpdCwgQVZWYWx1ZVRpbWluZykKIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKLUBpbXBsZW1lbnRhdGlvbiBXZWJBVlBsYXllckNvbnRyb2xsZXIK
K3N0YXRpYyB2b2lkICogV2ViQVZQbGF5ZXJDb250cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2Jz
ZXJ2ZXJDb250ZXh0ID0gJldlYkFWUGxheWVyQ29udHJvbGxlclNlZWthYmxlVGltZVJhbmdlc09i
c2VydmVyQ29udGV4dDsKK3N0YXRpYyB2b2lkICogV2ViQVZQbGF5ZXJDb250cm9sbGVySGFzTGl2
ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHQgPSAmV2ViQVZQbGF5ZXJDb250cm9sbGVy
SGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHQ7CisKK3N0YXRpYyBkb3VibGUg
V2ViQVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWthYmxlVGltZVJhbmdlRHVyYXRpb25I
eXN0ZXJlc2lzRGVsdGEgPSAzLjA7IC8vIE1pbmltdW0gZGVsdGEgb2YgdGltZSByZXF1aXJlZCB0
byBjaGFuZ2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBzZWVrYWJsZSB0aW1lIHJhbmdlLgorc3RhdGlj
IGRvdWJsZSBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtTWluaW11bVRhcmdldER1cmF0
aW9uID0gMS4wOyAvLyBNaW5pbXVtIHNlZ21lbnQgZHVyYXRpb24gdG8gYmUgY29uc2lkZXJlZCB2
YWxpZC4KK3N0YXRpYyBkb3VibGUgV2ViQVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWth
YmxlVGltZVJhbmdlTWluaW11bUR1cmF0aW9uID0gMzAuMDsKKworQGltcGxlbWVudGF0aW9uIFdl
YkFWUGxheWVyQ29udHJvbGxlciB7CisgICAgQk9PTCBfbGl2ZVN0cmVhbUV2ZW50TW9kZVBvc3Np
YmxlOworfQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdAogewpAQCAtNTcsMTEgKzY3LDIwIEBAIC0g
KGluc3RhbmNldHlwZSlpbml0CiAKICAgICBpbml0QVZQbGF5ZXJDb250cm9sbGVyKCk7CiAgICAg
c2VsZi5wbGF5ZXJDb250cm9sbGVyUHJveHkgPSBbW2FsbG9jQVZQbGF5ZXJDb250cm9sbGVySW5z
dGFuY2UoKSBpbml0XSBhdXRvcmVsZWFzZV07CisgICAgX2xpdmVTdHJlYW1FdmVudE1vZGVQb3Nz
aWJsZSA9IFlFUzsKKworICAgIFtzZWxmIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInNl
ZWthYmxlVGltZVJhbmdlcyIgb3B0aW9uczooTlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk9sZCB8
IE5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgfCBOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9u
SW5pdGlhbCkgY29udGV4dDpXZWJBVlBsYXllckNvbnRyb2xsZXJTZWVrYWJsZVRpbWVSYW5nZXNP
YnNlcnZlckNvbnRleHRdOworICAgIFtzZWxmIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpA
Imhhc0xpdmVTdHJlYW1pbmdDb250ZW50IiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRp
b25Jbml0aWFsIGNvbnRleHQ6V2ViQVZQbGF5ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0Nv
bnRlbnRPYnNlcnZlckNvbnRleHRdOworCisKICAgICByZXR1cm4gc2VsZjsKIH0KIAogLSAodm9p
ZClkZWFsbG9jCiB7CisgICAgW3NlbGYgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAi
c2Vla2FibGVUaW1lUmFuZ2VzIiBjb250ZXh0OldlYkFWUGxheWVyQ29udHJvbGxlclNlZWthYmxl
VGltZVJhbmdlc09ic2VydmVyQ29udGV4dF07CisgICAgW3NlbGYgcmVtb3ZlT2JzZXJ2ZXI6c2Vs
ZiBmb3JLZXlQYXRoOkAiaGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnQiIGNvbnRleHQ6V2ViQVZQbGF5
ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHRdOworCiAg
ICAgW19wbGF5ZXJDb250cm9sbGVyUHJveHkgcmVsZWFzZV07CiAgICAgW19sb2FkZWRUaW1lUmFu
Z2VzIHJlbGVhc2VdOwogICAgIFtfc2Vla2FibGVUaW1lUmFuZ2VzIHJlbGVhc2VdOwpAQCAtNDIw
LDYgKzQzOSwxMjEgQEAgLSAodm9pZCl0b2dnbGVNdXRlZDooaWQpc2VuZGVyCiAgICAgICAgIHNl
bGYuZGVsZWdhdGUtPnRvZ2dsZU11dGVkKCk7CiB9CiAKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9y
S2V5UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdlOihO
U0RpY3Rpb25hcnkgKiljaGFuZ2UgY29udGV4dDoodm9pZCAqKWNvbnRleHQKK3sKKyAgICBVTlVT
RURfUEFSQU0ob2JqZWN0KTsKKyAgICBVTlVTRURfUEFSQU0oa2V5UGF0aCk7CisKKyAgICBpZiAo
V2ViQVZQbGF5ZXJDb250cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0ID09
IGNvbnRleHQpIHsKKyAgICAgICAgTlNBcnJheSAqb2xkQXJyYXkgPSBjaGFuZ2VbTlNLZXlWYWx1
ZUNoYW5nZU9sZEtleV07CisgICAgICAgIE5TQXJyYXkgKm5ld0FycmF5ID0gY2hhbmdlW05TS2V5
VmFsdWVDaGFuZ2VOZXdLZXldOworICAgICAgICBpZiAoW29sZEFycmF5IGlzS2luZE9mQ2xhc3M6
W05TQXJyYXkgY2xhc3NdXSAmJiBbbmV3QXJyYXkgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFz
c11dKSB7CisgICAgICAgICAgICBDTVRpbWVSYW5nZSBvbGRTZWVrYWJsZVRpbWVSYW5nZSA9IFtv
bGRBcnJheSBjb3VudF0gPiAwID8gW1tvbGRBcnJheSBmaXJzdE9iamVjdF0gQ01UaW1lUmFuZ2VW
YWx1ZV0gOiBrQ01UaW1lUmFuZ2VJbnZhbGlkOworICAgICAgICAgICAgQ01UaW1lUmFuZ2UgbmV3
U2Vla2FibGVUaW1lUmFuZ2UgPSBbbmV3QXJyYXkgY291bnRdID4gMCA/IFtbbmV3QXJyYXkgZmly
c3RPYmplY3RdIENNVGltZVJhbmdlVmFsdWVdIDoga0NNVGltZVJhbmdlSW52YWxpZDsKKyAgICAg
ICAgICAgIGlmICghQ01UaW1lUmFuZ2VFcXVhbChvbGRTZWVrYWJsZVRpbWVSYW5nZSwgbmV3U2Vl
a2FibGVUaW1lUmFuZ2UpKSB7CisgICAgICAgICAgICAgICAgaWYgKENNVElNRVJBTkdFX0lTX1ZB
TElEKG5ld1NlZWthYmxlVGltZVJhbmdlKSAmJiBDTVRJTUVSQU5HRV9JU19WQUxJRChvbGRTZWVr
YWJsZVRpbWVSYW5nZSkgJiYgX2xpdmVTdHJlYW1FdmVudE1vZGVQb3NzaWJsZSAmJiAhQ01UaW1l
UmFuZ2VDb250YWluc1RpbWUobmV3U2Vla2FibGVUaW1lUmFuZ2UsIG9sZFNlZWthYmxlVGltZVJh
bmdlLnN0YXJ0KSkKKyAgICAgICAgICAgICAgICAgICAgX2xpdmVTdHJlYW1FdmVudE1vZGVQb3Nz
aWJsZSA9IE5POworCisgICAgICAgICAgICAgICAgW3NlbGYgdXBkYXRlTWluTWF4VGltaW5nXTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoV2ViQVZQbGF5ZXJDb250
cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHQgPT0gY29udGV4dCkK
KyAgICAgICAgW3NlbGYgdXBkYXRlTWluTWF4VGltaW5nXTsKK30KKworLSAodm9pZCl1cGRhdGVN
aW5NYXhUaW1pbmcKK3sKKyAgICBBVlZhbHVlVGltaW5nICpuZXdNaW5UaW1pbmcgPSBuaWw7Cisg
ICAgQVZWYWx1ZVRpbWluZyAqbmV3TWF4VGltaW5nID0gbmlsOworCisgICAgLy8gRm9yIGxpdmUg
c3RyZWFtcyB2YWx1ZSB0aW1pbmdzIGZvciB0aGUgbWluIGFuZCBtYXggdGltZXMgYXJlIG5lZWRl
ZC4KKyAgICBpZiAoW3NlbGYgaGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRdICYmIChbW3NlbGYgc2Vl
a2FibGVUaW1lUmFuZ2VzXSBjb3VudF0gPiAwKSkgeworICAgICAgICBDTVRpbWVSYW5nZSBzZWVr
YWJsZVRpbWVSYW5nZSA9IFtbW3NlbGYgc2Vla2FibGVUaW1lUmFuZ2VzXSBmaXJzdE9iamVjdF0g
Q01UaW1lUmFuZ2VWYWx1ZV07CisgICAgICAgIGlmIChDTVRJTUVSQU5HRV9JU19WQUxJRChzZWVr
YWJsZVRpbWVSYW5nZSkpIHsKKyAgICAgICAgICAgIE5TVGltZUludGVydmFsIG9sZE1pblRpbWUg
PSBbW3NlbGYgbWluVGltaW5nXSBjdXJyZW50VmFsdWVdOworICAgICAgICAgICAgTlNUaW1lSW50
ZXJ2YWwgb2xkTWF4VGltZSA9IFtbc2VsZiBtYXhUaW1pbmddIGN1cnJlbnRWYWx1ZV07CisgICAg
ICAgICAgICBOU1RpbWVJbnRlcnZhbCBuZXdNaW5UaW1lID0gQ01UaW1lR2V0U2Vjb25kcyhzZWVr
YWJsZVRpbWVSYW5nZS5zdGFydCk7CisgICAgICAgICAgICBOU1RpbWVJbnRlcnZhbCBuZXdNYXhU
aW1lID0gQ01UaW1lR2V0U2Vjb25kcyhzZWVrYWJsZVRpbWVSYW5nZS5zdGFydCkgKyBDTVRpbWVH
ZXRTZWNvbmRzKHNlZWthYmxlVGltZVJhbmdlLmR1cmF0aW9uKSArIChDQUN1cnJlbnRNZWRpYVRp
bWUoKSAtIFtzZWxmIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWVdKTsKKyAgICAg
ICAgICAgIGRvdWJsZSBuZXdNaW5UaW1pbmdSYXRlID0gX2xpdmVTdHJlYW1FdmVudE1vZGVQb3Nz
aWJsZSA/IDAuMCA6IDEuMDsKKyAgICAgICAgICAgIEJPT0wgbWluVGltaW5nTmVlZHNVcGRhdGUg
PSBZRVM7CisgICAgICAgICAgICBCT09MIG1heFRpbWluZ05lZWRzVXBkYXRlID0gWUVTOworCisg
ICAgICAgICAgICBpZiAoaXNmaW5pdGUoW3NlbGYgbGl2ZVVwZGF0ZUludGVydmFsXSkgJiYgW3Nl
bGYgbGl2ZVVwZGF0ZUludGVydmFsXSA+IFdlYkFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1N
aW5pbXVtVGFyZ2V0RHVyYXRpb24pIHsKKyAgICAgICAgICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0
aGUgdGltaW5nIGlmIHRoZSBuZXcgdGltZSBkaWZmZXJzIGJ5IG9uZSBzZWdtZW50IGR1cmF0aW9u
IHBsdXMgdGhlIGh5c3RlcmVzaXMgZGVsdGEuCisgICAgICAgICAgICAgICAgbWluVGltaW5nTmVl
ZHNVcGRhdGUgPSBpc25hbihvbGRNaW5UaW1lKSB8fCAoZmFicyhvbGRNaW5UaW1lIC0gbmV3TWlu
VGltZSkgPiBbc2VsZiBsaXZlVXBkYXRlSW50ZXJ2YWxdICsgV2ViQVZQbGF5ZXJDb250cm9sbGVy
TGl2ZVN0cmVhbVNlZWthYmxlVGltZVJhbmdlRHVyYXRpb25IeXN0ZXJlc2lzRGVsdGEpIHx8IChb
W3NlbGYgbWluVGltaW5nXSByYXRlXSAhPSBuZXdNaW5UaW1pbmdSYXRlKTsKKyAgICAgICAgICAg
ICAgICBtYXhUaW1pbmdOZWVkc1VwZGF0ZSA9IGlzbmFuKG9sZE1heFRpbWUpIHx8IChmYWJzKG9s
ZE1heFRpbWUgLSBuZXdNYXhUaW1lKSA+IFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0gKyBXZWJB
VlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtU2Vla2FibGVUaW1lUmFuZ2VEdXJhdGlvbkh5c3Rl
cmVzaXNEZWx0YSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChtaW5UaW1pbmdO
ZWVkc1VwZGF0ZSB8fCBtYXhUaW1pbmdOZWVkc1VwZGF0ZSkgeworICAgICAgICAgICAgICAgIG5l
d01pblRpbWluZyA9IFtnZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSB2YWx1ZVRpbWluZ1dpdGhBbmNo
b3JWYWx1ZTpuZXdNaW5UaW1lIGFuY2hvclRpbWVTdGFtcDpbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNz
KCkgY3VycmVudFRpbWVTdGFtcF0gcmF0ZTpuZXdNaW5UaW1pbmdSYXRlXTsKKyAgICAgICAgICAg
ICAgICBuZXdNYXhUaW1pbmcgPSBbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNzKCkgdmFsdWVUaW1pbmdX
aXRoQW5jaG9yVmFsdWU6bmV3TWF4VGltZSBhbmNob3JUaW1lU3RhbXA6W2dldEFWVmFsdWVUaW1p
bmdDbGFzcygpIGN1cnJlbnRUaW1lU3RhbXBdIHJhdGU6MS4wXTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgbmV3TWluVGltaW5nID0gW3NlbGYgbWluVGltaW5nXTsKKyAg
ICAgICAgICAgICAgICBuZXdNYXhUaW1pbmcgPSBbc2VsZiBtYXhUaW1pbmddOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFuZXdNaW5UaW1pbmcpCisgICAgICAg
IG5ld01pblRpbWluZyA9IFtnZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSB2YWx1ZVRpbWluZ1dpdGhB
bmNob3JWYWx1ZTpbc2VsZiBtaW5UaW1lXSBhbmNob3JUaW1lU3RhbXA6TkFOIHJhdGU6MC4wXTsK
KworICAgIGlmICghbmV3TWF4VGltaW5nKQorICAgICAgICBuZXdNYXhUaW1pbmcgPSBbZ2V0QVZW
YWx1ZVRpbWluZ0NsYXNzKCkgdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6W3NlbGYgbWF4VGlt
ZV0gYW5jaG9yVGltZVN0YW1wOk5BTiByYXRlOjAuMF07CisKKyAgICBbc2VsZiBzZXRNaW5UaW1p
bmc6bmV3TWluVGltaW5nXTsKKyAgICBbc2VsZiBzZXRNYXhUaW1pbmc6bmV3TWF4VGltaW5nXTsK
K30KKworCistIChCT09MKWhhc1NlZWthYmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnQKK3sKKyAgICBC
T09MIGhhc1NlZWthYmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnQgPSBOTzsKKworICAgIGlmIChbc2Vs
ZiBoYXNMaXZlU3RyZWFtaW5nQ29udGVudF0gJiYgW3NlbGYgbWluVGltaW5nXSAmJiBbc2VsZiBt
YXhUaW1pbmddICYmIGlzZmluaXRlKFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0pICYmIFtzZWxm
IGxpdmVVcGRhdGVJbnRlcnZhbF0gPiBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtTWlu
aW11bVRhcmdldER1cmF0aW9uICYmIChbc2VsZiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZp
ZWRUaW1lXSAhPSAwLjApKSB7CisgICAgICAgIE5TVGltZUludGVydmFsIHRpbWVTdGFtcCA9IFtn
ZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSBjdXJyZW50VGltZVN0YW1wXTsKKyAgICAgICAgTlNUaW1l
SW50ZXJ2YWwgbWluVGltZSA9IFtbc2VsZiBtaW5UaW1pbmddIHZhbHVlRm9yVGltZVN0YW1wOnRp
bWVTdGFtcF07CisgICAgICAgIE5TVGltZUludGVydmFsIG1heFRpbWUgPSBbW3NlbGYgbWF4VGlt
aW5nXSB2YWx1ZUZvclRpbWVTdGFtcDp0aW1lU3RhbXBdOworICAgICAgICBoYXNTZWVrYWJsZUxp
dmVTdHJlYW1pbmdDb250ZW50ID0gKChtYXhUaW1lIC0gbWluVGltZSkgPiBXZWJBVlBsYXllckNv
bnRyb2xsZXJMaXZlU3RyZWFtU2Vla2FibGVUaW1lUmFuZ2VNaW5pbXVtRHVyYXRpb24pOworICAg
IH0KKworICAgIHJldHVybiBoYXNTZWVrYWJsZUxpdmVTdHJlYW1pbmdDb250ZW50OworfQorCisr
IChOU1NldCAqKWtleVBhdGhzRm9yVmFsdWVzQWZmZWN0aW5nSGFzU2Vla2FibGVMaXZlU3RyZWFt
aW5nQ29udGVudAoreworICAgIHJldHVybiBbTlNTZXQgc2V0V2l0aE9iamVjdHM6QCJoYXNMaXZl
U3RyZWFtaW5nQ29udGVudCIsIEAibWluVGltaW5nIiwgQCJtYXhUaW1pbmciLCBAInNlZWthYmxl
VGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUiLCBuaWxdOworfQorCistICh2b2lkKXJlc2V0TWVk
aWFTdGF0ZQoreworICAgIHNlbGYuY29udGVudER1cmF0aW9uID0gMDsKKyAgICBzZWxmLm1heFRp
bWUgPSAwOworICAgIHNlbGYuY29udGVudER1cmF0aW9uV2l0aGluRW5kVGltZXMgPSAwOworICAg
IHNlbGYubG9hZGVkVGltZVJhbmdlcyA9IEBbXTsKKworICAgIHNlbGYuY2FuUGxheSA9IE5POwor
ICAgIHNlbGYuY2FuUGF1c2UgPSBOTzsKKyAgICBzZWxmLmNhblRvZ2dsZVBsYXliYWNrID0gTk87
CisgICAgc2VsZi5oYXNFbmFibGVkQXVkaW8gPSBOTzsKKyAgICBzZWxmLmNhblNlZWsgPSBOTzsK
KyAgICBzZWxmLm1pblRpbWUgPSAwOworICAgIHNlbGYuc3RhdHVzID0gQVZQbGF5ZXJDb250cm9s
bGVyU3RhdHVzVW5rbm93bjsKKworICAgIHNlbGYudGltaW5nID0gbmlsOworICAgIHNlbGYucmF0
ZSA9IDA7CisKKyAgICBzZWxmLnNlZWthYmxlVGltZVJhbmdlcyA9IFtOU011dGFibGVBcnJheSBh
cnJheV07CisKKyAgICBzZWxmLmNhblNjYW5CYWNrd2FyZCA9IE5POworCisgICAgc2VsZi5hdWRp
b01lZGlhU2VsZWN0aW9uT3B0aW9ucyA9IG5pbDsKKyAgICBzZWxmLmN1cnJlbnRBdWRpb01lZGlh
U2VsZWN0aW9uT3B0aW9uID0gbmlsOworCisgICAgc2VsZi5sZWdpYmxlTWVkaWFTZWxlY3Rpb25P
cHRpb25zID0gbmlsOworICAgIHNlbGYuY3VycmVudExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlv
biA9IG5pbDsKKyAgICBfbGl2ZVN0cmVhbUV2ZW50TW9kZVBvc3NpYmxlID0gWUVTOworfQorCiBA
ZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQVZLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VBVktpdC5oCmluZGV4IDQxNDgzOTJkYWJmMjJhY2Y3YWM4MjE5NDhiNTk5ZjFl
ZTcyNGM0ZjcuLjIzMzAyZmJkMWJlNjg2N2U4ZmZmNWQ5YTk3NDA1NjA3OGU5Y2RlNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VBVktpdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUgY3VycmVudFRpbWUs
IGRvdWJsZSBhbmNob3JUaW1lKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGJ1
ZmZlcmVkVGltZUNoYW5nZWQoZG91YmxlKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpIG92ZXJy
aWRlOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0
IFRpbWVSYW5nZXMmKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlZWthYmxl
UmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUs
IGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sKSBvdmVycmlkZTsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBW
ZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZElu
ZGV4KSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGxlZ2libGVNZWRpYVNlbGVj
dGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9w
dGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZUFWS2l0Lm1tCmluZGV4IDU3Mzg5YjdlM2FjMjgyMTIyNmE0YTE0ZTUzMzcyOTYwZWYwYTQ0
MmIuLmZlZDY1OWIxNWRlZmU0YmFlMjcxOWJhMGQ5N2U5NjI3MjNlMWRlYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VB
VktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlQVZLaXQubW0KQEAgLTYwLDcgKzYwLDcgQEAgV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQVZLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0KFdlYlBsYXli
YWNrU2UKICAgICBjdXJyZW50VGltZUNoYW5nZWQobW9kZWwuY3VycmVudFRpbWUoKSwgW1tOU1By
b2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBzeXN0ZW1VcHRpbWVdKTsKICAgICBidWZmZXJlZFRpbWVD
aGFuZ2VkKG1vZGVsLmJ1ZmZlcmVkVGltZSgpKTsKICAgICByYXRlQ2hhbmdlZChtb2RlbC5pc1Bs
YXlpbmcoKSwgbW9kZWwucGxheWJhY2tSYXRlKCkpOwotICAgIHNlZWthYmxlUmFuZ2VzQ2hhbmdl
ZChtb2RlbC5zZWVrYWJsZVJhbmdlcygpKTsKKyAgICBzZWVrYWJsZVJhbmdlc0NoYW5nZWQobW9k
ZWwuc2Vla2FibGVSYW5nZXMoKSwgbW9kZWwuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVk
VGltZSgpLCBtb2RlbC5saXZlVXBkYXRlSW50ZXJ2YWwoKSk7CiAgICAgY2FuUGxheUZhc3RSZXZl
cnNlQ2hhbmdlZChtb2RlbC5jYW5QbGF5RmFzdFJldmVyc2UoKSk7CiAgICAgYXVkaW9NZWRpYVNl
bGVjdGlvbk9wdGlvbnNDaGFuZ2VkKG1vZGVsLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCks
IG1vZGVsLmF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4KCkpOwogICAgIGxlZ2libGVNZWRpYVNlbGVj
dGlvbk9wdGlvbnNDaGFuZ2VkKG1vZGVsLmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoKSwg
bW9kZWwubGVnaWJsZU1lZGlhU2VsZWN0ZWRJbmRleCgpKTsKQEAgLTc4LDMzICs3OCw3IEBAIFdl
YlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Ojp+V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQVZLaXQoKQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OjpyZXNl
dE1lZGlhU3RhdGUoKQogewotICAgIFdlYkFWUGxheWVyQ29udHJvbGxlciogcGxheWVyQ29udHJv
bGxlciA9IG1fcGxheWVyQ29udHJvbGxlci5nZXQoKTsKLQotICAgIHBsYXllckNvbnRyb2xsZXIu
Y29udGVudER1cmF0aW9uID0gMDsKLSAgICBwbGF5ZXJDb250cm9sbGVyLm1heFRpbWUgPSAwOwot
ICAgIHBsYXllckNvbnRyb2xsZXIuY29udGVudER1cmF0aW9uV2l0aGluRW5kVGltZXMgPSAwOwot
ICAgIHBsYXllckNvbnRyb2xsZXIubG9hZGVkVGltZVJhbmdlcyA9IEBbXTsKLQotICAgIHBsYXll
ckNvbnRyb2xsZXIuY2FuUGxheSA9IE5POwotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuUGF1c2Ug
PSBOTzsKLSAgICBwbGF5ZXJDb250cm9sbGVyLmNhblRvZ2dsZVBsYXliYWNrID0gTk87Ci0gICAg
cGxheWVyQ29udHJvbGxlci5oYXNFbmFibGVkQXVkaW8gPSBOTzsKLSAgICBwbGF5ZXJDb250cm9s
bGVyLmNhblNlZWsgPSBOTzsKLSAgICBwbGF5ZXJDb250cm9sbGVyLm1pblRpbWUgPSAwOwotICAg
IHBsYXllckNvbnRyb2xsZXIuc3RhdHVzID0gQVZQbGF5ZXJDb250cm9sbGVyU3RhdHVzVW5rbm93
bjsKLQotICAgIHBsYXllckNvbnRyb2xsZXIudGltaW5nID0gbmlsOwotICAgIHBsYXllckNvbnRy
b2xsZXIucmF0ZSA9IDA7Ci0KLSAgICBwbGF5ZXJDb250cm9sbGVyLnNlZWthYmxlVGltZVJhbmdl
cyA9IFtOU011dGFibGVBcnJheSBhcnJheV07Ci0KLSAgICBwbGF5ZXJDb250cm9sbGVyLmNhblNj
YW5CYWNrd2FyZCA9IE5POwotCi0gICAgcGxheWVyQ29udHJvbGxlci5hdWRpb01lZGlhU2VsZWN0
aW9uT3B0aW9ucyA9IG5pbDsKLSAgICBwbGF5ZXJDb250cm9sbGVyLmN1cnJlbnRBdWRpb01lZGlh
U2VsZWN0aW9uT3B0aW9uID0gbmlsOwotCi0gICAgcGxheWVyQ29udHJvbGxlci5sZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zID0gbmlsOwotICAgIHBsYXllckNvbnRyb2xsZXIuY3VycmVudExl
Z2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbiA9IG5pbDsKKyAgICBbbV9wbGF5ZXJDb250cm9sbGVy
IHJlc2V0TWVkaWFTdGF0ZV07CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
QVZLaXQ6OmR1cmF0aW9uQ2hhbmdlZChkb3VibGUgZHVyYXRpb24pCkBAIC0xNTIsNyArMTI2LDcg
QEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6cmF0ZUNoYW5nZWQoYm9v
bCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWMKICAgICBbbV9wbGF5ZXJDb250cm9sbGVyIHNldFJh
dGU6aXNQbGF5aW5nID8gcGxheWJhY2tSYXRlIDogMC5dOwogfQogCi12b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJh
bmdlcyYgdGltZVJhbmdlcykKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6
OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzLCBkb3Vi
bGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKIHsKICAgICBS
ZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IHNlZWthYmxlUmFuZ2VzID0gYWRvcHROUyhbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CiAKQEAgLTE2NSw2ICsxMzksOCBAQCB2b2lkIFdlYlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3Qg
VGltZVJhbmdlcyYgdAogICAgIH0KIAogICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0U2Vla2Fi
bGVUaW1lUmFuZ2VzOnNlZWthYmxlUmFuZ2VzLmdldCgpXTsKKyAgICBbbV9wbGF5ZXJDb250cm9s
bGVyIHNldFNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU6IGxhc3RNb2RpZmllZFRp
bWVdOworICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0TGl2ZVVwZGF0ZUludGVydmFsOmxpdmVV
cGRhdGVJbnRlcnZhbF07CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZL
aXQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQppbmRleCA5Nzg3MTM5MDQ0MjRkYmQ5ODAyNjEz
NTBiMWIxNjVkMzgzNjk4ZmI4Li5hMWIwMGU2NjBhYzQ3YjIxMDMxNDBkYTg1MDllMTk2ZjFmMzBh
ZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KQEAgLTE1NSw2ICsxNTUsOCBA
QCBwcml2YXRlOgogICAgIGJvb2wgaXNTY3J1YmJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBmYWxzZTsgfQogICAgIGZsb2F0IHBsYXliYWNrUmF0ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAg
IFJlZjxUaW1lUmFuZ2VzPiBzZWVrYWJsZVJhbmdlcygpIGNvbnN0IG92ZXJyaWRlOworICAgIGRv
dWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgY2FuUGxheUZhc3RSZXZlcnNlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVmVjdG9yPE1lZGlh
U2VsZWN0aW9uT3B0aW9uPiBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucygpIGNvbnN0IG92ZXJy
aWRlOwogICAgIHVpbnQ2NF90IGF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4KCkgY29uc3Qgb3ZlcnJp
ZGU7CkBAIC0xNzMsNyArMTc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hh
bmdlZChkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZSBhbmNob3JUaW1lKSBvdmVycmlkZTsKICAg
ICB2b2lkIGJ1ZmZlcmVkVGltZUNoYW5nZWQoZG91YmxlKSBvdmVycmlkZTsKICAgICB2b2lkIHJh
dGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpIG92ZXJyaWRlOwot
ICAgIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmKSBvdmVycmlk
ZTsKKyAgICB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiwgZG91
YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpIG92ZXJyaWRl
OwogICAgIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sKSBvdmVycmlkZTsKICAg
ICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVk
aWFTZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KSBvdmVy
cmlkZTsKICAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVk
SW5kZXgpIG92ZXJyaWRlOwpAQCAtMzUyLDE4ICszNTQsMTggQEAgdm9pZCBXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyQ29udGV4dDo6dmlkZW9EaW1lbnNpb25zQ2hhbmdlZChjb25zdCBGbG9h
dFNpemUKICAgICAgICAgY2xpZW50LT52aWRlb0RpbWVuc2lvbnNDaGFuZ2VkKHZpZGVvRGltZW5z
aW9ucyk7CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNl
ZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQordm9pZCBX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2Vk
KGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBk
b3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIGlmIChXZWJUaHJlYWRJc0N1cnJlbnQo
KSkgewogICAgICAgICBSZWZQdHI8V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ+
IHByb3RlY3RlZFRoaXModGhpcyk7Ci0gICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dl
dF9tYWluX3F1ZXVlKCksIFtwcm90ZWN0ZWRUaGlzLCBwbGF0Zm9ybVRpbWVSYW5nZXMgPSB0aW1l
UmFuZ2VzLnJhbmdlcygpXSB7Ci0gICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5zZWVrYWJsZVJh
bmdlc0NoYW5nZWQoVGltZVJhbmdlczo6Y3JlYXRlKHBsYXRmb3JtVGltZVJhbmdlcykpOworICAg
ICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcHJvdGVjdGVk
VGhpcywgcGxhdGZvcm1UaW1lUmFuZ2VzID0gdGltZVJhbmdlcy5yYW5nZXMoKSwgbGFzdE1vZGlm
aWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsXSB7CisgICAgICAgICAgICBwcm90ZWN0ZWRUaGlz
LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoVGltZVJhbmdlczo6Y3JlYXRlKHBsYXRmb3JtVGltZVJh
bmdlcyksIGxhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgICAgIH0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZm9yIChhdXRvICZjbGllbnQgOiBtX3Bs
YXliYWNrQ2xpZW50cykKLSAgICAgICAgY2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQodGlt
ZVJhbmdlcyk7CisgICAgICAgIGNsaWVudC0+c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHRpbWVSYW5n
ZXMsIGxhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5n
ZWQoYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UpCkBAIC03MzAsNiArNzMyLDE4IEBAIFJlZjxUaW1l
UmFuZ2VzPiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5n
ZXMoKSBjb25zdAogICAgIHJldHVybiBtX3BsYXliYWNrTW9kZWwgPyBtX3BsYXliYWNrTW9kZWwt
PnNlZWthYmxlUmFuZ2VzKCkgOiBUaW1lUmFuZ2VzOjpjcmVhdGUoKTsKIH0KIAorZG91YmxlIFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0
TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNVSVRocmVhZCgpKTsKKyAgICBy
ZXR1cm4gbV9wbGF5YmFja01vZGVsID8gbV9wbGF5YmFja01vZGVsLT5zZWVrYWJsZVRpbWVSYW5n
ZXNMYXN0TW9kaWZpZWRUaW1lKCkgOiAwOworfQorCitkb3VibGUgV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckNvbnRleHQ6OmxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgQVNT
RVJUKGlzVUlUaHJlYWQoKSk7CisgICAgcmV0dXJuIG1fcGxheWJhY2tNb2RlbCA/IG1fcGxheWJh
Y2tNb2RlbC0+bGl2ZVVwZGF0ZUludGVydmFsKCkgOiAwOworfQorCiBib29sIFdlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdAogewog
ICAgIEFTU0VSVChpc1VJVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCmluZGV4IDEw
MWY5YTJmOTExNWZjMDQ0OTE0NTkzYTUyMjllOGIzMjYwOGVjODAuLmJmN2ZkOWQ3YjUyY2UxMWQw
MTEwOThlNTI1YTVmZTE0Y2QyMjNkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKQEAgLTU2
LDcgKzU2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZHVyYXRpb25DaGFu
Z2VkKGRvdWJsZSkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjdXJyZW50VGltZUNo
YW5nZWQoZG91YmxlIC8qY3VycmVudFRpbWUqLywgZG91YmxlIC8qYW5jaG9yVGltZSovKSBmaW5h
bDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgLyppc1BsYXlpbmcq
LywgZmxvYXQgLypwbGF5YmFja1JhdGUqLykgZmluYWw7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYpIGZpbmFsOworICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMm
LCBkb3VibGUgLypsYXN0TW9kaWZpZWRUaW1lKi8sIGRvdWJsZSAvKmxpdmVVcGRhdGVJbnRlcnZh
bCovKSBmaW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25P
cHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiAvKm9wdGlv
bnMqLywgdWludDY0X3QgLypzZWxlY3RlZEluZGV4Ki8pIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9y
PE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgLypvcHRpb25zKi8sIHVpbnQ2NF90IC8qc2VsZWN0ZWRJ
bmRleCovKSBmaW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rp
b25JbmRleENoYW5nZWQodWludDY0X3QpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0K
aW5kZXggY2FjMWM4MDM1NWQ1NzI0ZTQ4YWU3YmQ4NDcwMTgzNTIwMWIyYzRhNC4uYmIyNzFmMmJl
ZGZkNGM3NTZiMTM4M2ZhYTI2NDM4ODU4MTZkNGRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
Lm1tCkBAIC0xMzAsNyArMTMwLDcgQEAgc3RhdGljIFJldGFpblB0cjxOU011dGFibGVBcnJheT4g
dGltZVJhbmdlc1RvQXJyYXkoY29uc3QgVGltZVJhbmdlcyYgdGltZVJhbmdlcykKIH0KICNlbmRp
ZgogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6c2Vla2FibGVSYW5nZXND
aGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMpCit2b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYzo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMm
IHRpbWVSYW5nZXMsIGRvdWJsZSwgZG91YmxlKQogewogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tf
Q09OVFJPTFNfTUFOQUdFUikKICAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRTZWVr
YWJsZVRpbWVSYW5nZXM6dGltZVJhbmdlc1RvQXJyYXkodGltZVJhbmdlcykuZ2V0KCldOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaAppbmRleCA3OTE1MTdi
Y2UxYjk5NmU1NGUwYWVkZDgyM2RlYmY3YmI2OWM0MDIzLi5lMWJlMmI0YjFjMmZiMzNhMTVlYTQ5
OTJkYzQ2YWM1YjExZTM4YWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY29jb2EvQVZLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvQVZLaXRTUEkuaApAQCAtMTQ3LDYgKzE0NywxMiBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJ
TgogQGludGVyZmFjZSBBVlZhbHVlVGltaW5nICgpCiArIChBVlZhbHVlVGltaW5nICopdmFsdWVU
aW1pbmdXaXRoQW5jaG9yVmFsdWU6KGRvdWJsZSlhbmNob3JWYWx1ZSBhbmNob3JUaW1lU3RhbXA6
KE5TVGltZUludGVydmFsKXRpbWVTdGFtcCByYXRlOihkb3VibGUpcmF0ZTsKIEBwcm9wZXJ0eSAo
TlNfTk9OQVRPTUlDX0lPU09OTFksIHJlYWRvbmx5KSBkb3VibGUgY3VycmVudFZhbHVlOworQHBy
b3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRvdWJsZSByYXRlOworQHBy
b3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIE5TVGltZUludGVydmFsIGFu
Y2hvclRpbWVTdGFtcDsKK0Bwcm9wZXJ0eSAoTlNfTk9OQVRPTUlDX0lPU09OTFksIHJlYWRvbmx5
KSBkb3VibGUgYW5jaG9yVmFsdWU7CisKKysgKE5TVGltZUludGVydmFsKWN1cnJlbnRUaW1lU3Rh
bXA7CistIChkb3VibGUpdmFsdWVGb3JUaW1lU3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVTdGFt
cDsKIEBlbmQKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAppbmRleCA4MjFmYTgyZGYwYzBhOTFk
OGQyZTYzNDI4MzJkNjU4MmU5NTJlNGJlLi5kNTA4NDM3YTM0MGU2ZTE0M2I5M2JmMWQ3YTIxMmEx
N2I2MDIxZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FW
Rm91bmRhdGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZG
b3VuZGF0aW9uU1BJLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2ltcG9ydCA8QVZGb3VuZGF0aW9u
L0FWQXNzZXRDYWNoZV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZPdXRwdXRD
b250ZXh0Lmg+CisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXJJdGVtX1ByaXZhdGUuaD4K
ICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllckxheWVyX1ByaXZhdGUuaD4KICNpbXBvcnQg
PEFWRm91bmRhdGlvbi9BVlBsYXllcl9Qcml2YXRlLmg+CiAKQEAgLTQ3LDYgKzQ4LDE2IEBACiAK
ICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllci5oPgogCisKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDAwMCkKK05T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCitAY2xhc3MgQVZQbGF5ZXJJdGVtICgpCitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIE5TVGltZUludGVydmFsIHNlZWthYmxlVGltZVJhbmdlc0xh
c3RNb2RpZmllZFRpbWUgTlNfQVZBSUxBQkxFKDEwXzEzLCAxMV8wKTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50ZXJ2YWwgbGl2ZVVwZGF0ZUludGVydmFsOworQGVu
ZAorTlNfQVNTVU1FX05PTk5VTExfRU5ECisjZW5kaWYgLy8gKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAwMDApCisKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQogCiBOU19BU1NV
TUVfTk9OTlVMTF9CRUdJTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCmluZGV4IDU3YWQ3
NTYwYWVjYmExNTIxMDlhMjRlNWUwYjE3ZjUyOTUwNjQ4ZWQuLmJmMzAwN2M4NTBlOTU3OWUzMzRj
ZTZiZTczNzZmM2FiMWY4ZDI3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKQEAg
LTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QnVmZmVyZWRUaW1lKGRvdWJsZSk7
CiAgICAgdm9pZCBzZXRQbGF5YmFja1N0YXJ0ZWRUaW1lKGRvdWJsZSk7CiAgICAgdm9pZCBzZXRS
YXRlKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpOwotICAgIHZvaWQgc2V0U2Vl
a2FibGVSYW5nZXMoV2ViQ29yZTo6VGltZVJhbmdlcyYpOworICAgIHZvaWQgc2V0U2Vla2FibGVS
YW5nZXMoV2ViQ29yZTo6VGltZVJhbmdlcyYsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICB2b2lkIHNldENhblBsYXlGYXN0UmV2ZXJzZShi
b29sKTsKICAgICB2b2lkIHNldEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3Rv
cjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4
KTsKICAgICB2b2lkIHNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9y
PFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3QgaW5kZXgp
OwpAQCAtMTE5LDYgKzExOSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1NjcnViYmluZygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1faXNTY3J1YmJpbmc7IH0KICAgICBmbG9hdCBwbGF5YmFja1Jh
dGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3BsYXliYWNrUmF0ZTsgfQogICAgIFJlZjxXZWJD
b3JlOjpUaW1lUmFuZ2VzPiBzZWVrYWJsZVJhbmdlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
c2Vla2FibGVSYW5nZXMuY29weVJlZigpOyB9CisgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdl
c0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWU7IH0KKyAgICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9saXZlVXBkYXRlSW50ZXJ2YWw7IH0KICAgICBib29sIGNhblBsYXlG
YXN0UmV2ZXJzZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FuUGxheUZhc3RSZXZlcnNlOyB9
CiAgICAgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBhdWRpb01lZGlhU2Vs
ZWN0aW9uT3B0aW9ucygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXVkaW9NZWRpYVNlbGVjdGlv
bk9wdGlvbnM7IH0KICAgICB1aW50NjRfdCBhdWRpb01lZGlhU2VsZWN0ZWRJbmRleCgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXg7IH0KQEAgLTE0Myw2ICsx
NDUsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1NjcnViYmluZyB7IGZhbHNlIH07CiAgICAg
ZmxvYXQgbV9wbGF5YmFja1JhdGUgeyAwIH07CiAgICAgUmVmPFdlYkNvcmU6OlRpbWVSYW5nZXM+
IG1fc2Vla2FibGVSYW5nZXMgeyBXZWJDb3JlOjpUaW1lUmFuZ2VzOjpjcmVhdGUoKSB9OworICAg
IGRvdWJsZSBtX3NlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgeyAwIH07CisgICAg
ZG91YmxlIG1fbGl2ZVVwZGF0ZUludGVydmFsIHsgMCB9OwogICAgIGJvb2wgbV9jYW5QbGF5RmFz
dFJldmVyc2UgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9w
dGlvbj4gbV9hdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uczsKICAgICB1aW50NjRfdCBtX2F1ZGlv
TWVkaWFTZWxlY3RlZEluZGV4IHsgMCB9OwpAQCAtMTg3LDcgKzE5MSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCByZXNldE1lZGlhU3RhdGUodWludDY0X3QgY29udGV4dElkKTsKICAgICB2b2lkIHNl
dEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3Vi
bGUgaG9zdFRpbWUpOwogICAgIHZvaWQgc2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7Ci0gICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rv
cih1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiBy
YW5nZXMpOworICAgIHZvaWQgc2V0U2Vla2FibGVSYW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4
dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFz
dE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgdm9pZCBzZXRD
YW5QbGF5RmFzdFJldmVyc2UodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKTsKICAgICB2
b2lkIHNldEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVj
dG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxl
Y3RlZEluZGV4KTsKICAgICB2b2lkIHNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnModWlu
dDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9w
dGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzgxYTgwMzRlNzA0OTc4MzU2NDA2MGZkY2I1
MjExNDQxOGQ0NzVkYi4uM2Q0YjkwMzYwNGYwYzhhNWJmMjEwNzEzOGQ0OTA2MDA3MjdmNmE5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0y
NSw3ICsyNSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSB7
CiAgICAgUmVzZXRNZWRpYVN0YXRlKHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBTZXRDdXJyZW50
VGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGhvc3RU
aW1lKQogICAgIFNldEJ1ZmZlcmVkVGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBidWZm
ZXJlZFRpbWUpCi0gICAgU2V0U2Vla2FibGVSYW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4dElk
LCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzKQorICAgIFNldFNlZWth
YmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3Vi
bGUsIGRvdWJsZT4+IHJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZl
VXBkYXRlSW50ZXJ2YWwpCiAgICAgU2V0Q2FuUGxheUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNvbnRl
eHRJZCwgYm9vbCB2YWx1ZSkKICAgICBTZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50
NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0
aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKICAgICBTZXRMZWdpYmxlTWVkaWFTZWxlY3Rp
b25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0
aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHkubW0KaW5kZXggNGVjMDVmZDNjOTdjOWI0NzU0NmJmNTUxZjEzMzA3Njkz
ZWI3MDFkOC4uMGJiNTM4OTUxZThmYmU1ZWM1ZTg2OTQwZGMzNzYzNTc3ZjI4NWJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCkBAIC0xODAsMTEgKzE4MCwxMyBAQCB2b2lkIFdl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0UmF0ZShib29sIGlzUGxheWluZywgZmxv
YXQgcGxheWJhY2tSYXRlKQogICAgICAgICBjbGllbnQtPnJhdGVDaGFuZ2VkKGlzUGxheWluZywg
cGxheWJhY2tSYXRlKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OnNldFNlZWthYmxlUmFuZ2VzKFdlYkNvcmU6OlRpbWVSYW5nZXMmIHNlZWthYmxlUmFuZ2VzKQor
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldFNlZWthYmxlUmFuZ2VzKFdl
YkNvcmU6OlRpbWVSYW5nZXMmIHNlZWthYmxlUmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGlt
ZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKIHsKICAgICBtX3NlZWthYmxlUmFuZ2VzID0g
c2Vla2FibGVSYW5nZXM7CisgICAgbV9zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1l
ID0gbGFzdE1vZGlmaWVkVGltZTsKKyAgICBtX2xpdmVVcGRhdGVJbnRlcnZhbCA9IGxpdmVVcGRh
dGVJbnRlcnZhbDsKICAgICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAgICAg
Y2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoc2Vla2FibGVSYW5nZXMpOworICAgICAgICBj
bGllbnQtPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChzZWVrYWJsZVJhbmdlcywgbGFzdE1vZGlmaWVk
VGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25N
b2RlbENvbnRleHQ6OnNldENhblBsYXlGYXN0UmV2ZXJzZShib29sIGNhblBsYXlGYXN0UmV2ZXJz
ZSkKQEAgLTM4Myw3ICszODUsNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6c2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlCiAgICAgZW5zdXJl
TW9kZWwoY29udGV4dElkKS5zZXRCdWZmZXJlZFRpbWUoYnVmZmVyZWRUaW1lKTsKIH0KIAotdm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9y
KHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJh
bmdlcykKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJh
bmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBk
b3VibGU+PiByYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0
ZUludGVydmFsKQogewogICAgIFJlZjxUaW1lUmFuZ2VzPiB0aW1lUmFuZ2VzID0gVGltZVJhbmdl
czo6Y3JlYXRlKCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiByYW5nZSA6IHJhbmdlcykgewpAQCAt
MzkzLDcgKzM5NSw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRT
ZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsCiAgICAgICAgIHRpbWVSYW5n
ZXMtPmFkZChyYW5nZS5maXJzdCwgcmFuZ2Uuc2Vjb25kKTsKICAgICB9CiAKLSAgICBlbnN1cmVN
b2RlbChjb250ZXh0SWQpLnNldFNlZWthYmxlUmFuZ2VzKHRpbWVSYW5nZXMpOworICAgIGVuc3Vy
ZU1vZGVsKGNvbnRleHRJZCkuc2V0U2Vla2FibGVSYW5nZXModGltZVJhbmdlcywgbGFzdE1vZGlm
aWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OnNldENhblBsYXlGYXN0UmV2ZXJzZSh1aW50NjRfdCBjb250ZXh0SWQs
IGJvb2wgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29h
L1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCmluZGV4IDRiZTUyNDMyYzNjNmE3NDUw
MTFmZDgxODI0N2Q0NTE2NGVjM2YxNTkuLjk2NzQ3MDRhYzZhZGU5YTUzNWQzYmQxNGRhYzQ4ZGY4
ZmM2OWJlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBAIC03OSw3ICs3OSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBidWZmZXJlZFRpbWVDaGFuZ2VkKGRvdWJsZSkgZmluYWw7CiAgICAgdm9p
ZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSkg
ZmluYWw7CiAgICAgdm9pZCByYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJh
Y2tSYXRlKSBmaW5hbDsKLSAgICB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpUaW1lUmFuZ2VzJikgZmluYWw7CisgICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQo
Y29uc3QgV2ViQ29yZTo6VGltZVJhbmdlcyYsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsKSBmaW5hbDsKICAgICB2b2lkIGNhblBsYXlGYXN0UmV2ZXJz
ZUNoYW5nZWQoYm9vbCB2YWx1ZSkgZmluYWw7CiAgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9u
T3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9u
PiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkgZmluYWw7CiAgICAgdm9pZCBsZWdp
YmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVk
aWFTZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KSBmaW5h
bDsKQEAgLTEyOSw3ICsxMjksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBidWZmZXJlZFRpbWVD
aGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7CiAgICAgdm9p
ZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBw
bGF5YmFja1N0YXJ0ZWRUaW1lKTsKICAgICB2b2lkIHJhdGVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRl
eHRJZCwgYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSk7Ci0gICAgdm9pZCBzZWVr
YWJsZVJhbmdlc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpUaW1l
UmFuZ2VzJik7CisgICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQodWludDY0X3QgY29udGV4
dElkLCBjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUs
IGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpOwogICAgIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNl
Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpOwogICAgIHZvaWQgYXVkaW9N
ZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgVmVj
dG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2Vs
ZWN0ZWRJbmRleCk7CiAgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdl
ZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlv
bk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyLm1tCmluZGV4IGEwNTgxOWU3YTljYTBlYTJiOTAyOWZmODQyODNhY2EwYTg5MGYwYTMu
LjA5MjkwZTFlNmNhYTczOWUwYTVmZjZkY2JjYzVmYWY3OWI5N2ZhN2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXIubW0KQEAgLTEwMSwxMCArMTAxLDEwIEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQ29udGV4dDo6cGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQoZG91YmxlIHBsYXli
CiAgICAgICAgIG1fbWFuYWdlci0+cGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQobV9jb250ZXh0
SWQsIHBsYXliYWNrU3RhcnRlZFRpbWUpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1l
UmFuZ2VzJiByYW5nZXMpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6
OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJiByYW5nZXMs
IGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewog
ICAgIGlmIChtX21hbmFnZXIpCi0gICAgICAgIG1fbWFuYWdlci0+c2Vla2FibGVSYW5nZXNDaGFu
Z2VkKG1fY29udGV4dElkLCByYW5nZXMpOworICAgICAgICBtX21hbmFnZXItPnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZChtX2NvbnRleHRJZCwgcmFuZ2VzLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBk
YXRlSW50ZXJ2YWwpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRl
eHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCB2YWx1ZSkKQEAgLTMyNCw3ICszMjQs
NyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnJhdGVDaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcsCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldFJhdGUoY29udGV4dElkLCBpc1BsYXlp
bmcsIHBsYXliYWNrUmF0ZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCi12b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmIHRpbWVSYW5nZXMpCit2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9k
aWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIFZlY3RvcjxzdGQ6
OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXNWZWN0b3I7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHRpbWVSYW5nZXMubGVuZ3RoKCk7IGkrKykgewpAQCAtMzMyLDcgKzMzMiw3IEBA
IHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHVp
bnQ2NF90IGNvbnRleHRJZCwgY29uc3QKICAgICAgICAgZG91YmxlIGVuZCA9IHRpbWVSYW5nZXMu
cmFuZ2VzKCkuZW5kKGkpLnRvRG91YmxlKCk7CiAgICAgICAgIHJhbmdlc1ZlY3Rvci5hcHBlbmQo
eyBzdGFydCwgZW5kIH0pOwogICAgIH0KLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0U2Vla2FibGVSYW5nZXNWZWN0b3IoY29udGV4
dElkLCBXVEZNb3ZlKHJhbmdlc1ZlY3RvcikpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0U2Vl
a2FibGVSYW5nZXNWZWN0b3IoY29udGV4dElkLCBXVEZNb3ZlKHJhbmdlc1ZlY3RvciksIGxhc3RN
b2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQog
CiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5n
ZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312211</attachid>
            <date>2017-06-07 12:45:48 -0700</date>
            <delta_ts>2017-06-08 12:02:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172396-20170607124550.patch</filename>
            <type>text/plain</type>
            <size>51311</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg4MjUwZDViM2JmMTVl
NjRlMmZmZmFiNDE2M2U0Y2E0ODBlYzFiYy4uZWY4NWRkYTQ1M2JlYWUzNmY0NTZmYTk4NWQ4ZmNh
YWJjM2ZkZWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE3LTA1LTE5ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYWRkaXRp
b25hbCBBVlBsYXllckNvbnRyb2xsZXIgaW50ZXJmYWNlcyBmb3IgbWluVGltZSBhbmQgbWF4VGlt
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjM5
NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zMDczNzQ1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5n
ZSB0byBET00uCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG5ldyBITFMgVUkgaW4gQVZLaXQu
CisKKyAgICAgICAgVGhpcyBhZGRzIG5ldyBwcm9wZXJ0aWVzIChzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwsIG1pblRpbWluZywgbWF4VGltaW5n
KSB0byBXZWJBVlBsYXllckNvbnRyb2xsZXIuCisgICAgICAgIFBsdW1iIHRoZXNlIHByb3BlcnRp
ZXMgZnJvbSBBVlBsYXllciB1cCB0byBBVktpdC4KKworICAgICAgICBTd2l0Y2ggV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQgZnJvbSB1cGRhdGluZyBzZWVrYWJsZVJhbmdlc0No
YW5nZWQgdXNpbmcgdGltZXVwZGF0ZSBldmVudCB0byB1c2luZyBhIFRpbWVyLAorICAgICAgICBz
aW5jZSB0aW1ldXBkYXRlIGV2ZW50IGRvZXNuJ3QgaGFwcGVuIHdoZW4gcGF1c2VkLgorCisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bGl2ZVVwZGF0ZUludGVydmFsKToKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9X
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tT
ZXNzaW9uTW9kZWxDbGllbnQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgICogcGxh
dGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5t
bToKKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Ojp1cGRhdGVGb3JFdmVudE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnNlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Omxp
dmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c2Vla2FibGVU
aW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2U6OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJB
VlBsYXllckNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBp
bml0XSk6CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBkZWFsbG9jXSk6CisgICAg
ICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOm9mT2Jq
ZWN0OmNoYW5nZTpjb250ZXh0Ol0pOgorICAgICAgICAoLVtXZWJBVlBsYXllckNvbnRyb2xsZXIg
dXBkYXRlTWluTWF4VGltaW5nXSk6CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBo
YXNTZWVrYWJsZUxpdmVTdHJlYW1pbmdDb250ZW50XSk6CisgICAgICAgICgrW1dlYkFWUGxheWVy
Q29udHJvbGxlciBrZXlQYXRoc0ZvclZhbHVlc0FmZmVjdGluZ0hhc1NlZWthYmxlTGl2ZVN0cmVh
bWluZ0NvbnRlbnRdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQVZLaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VBVktpdDo6V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OnJhdGVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0
OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW06CisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKToKKyAgICAgICAgKFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0
TW9kaWZpZWRUaW1lKToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250
ZXh0OjpsaXZlVXBkYXRlSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9t
YWMvQVZGb3VuZGF0aW9uU1BJLmg6CisKIDIwMTctMDYtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlc291cmNlIFRpbWluZyAvIFVzZXIg
VGltaW5nIGZyb20gZXhwZXJpbWVudGFsIGZlYXR1cmVzIGludG8gbWFpbiBwcmVmZXJlbmNlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDRmNGQzNjQ0M2E2NjkwMjlmM2IwNDVjOTcxMjc5MjE1ZjdlZjQ5OTEuLjVh
Mjk3OWNiYzkzYjU4MGVhZWIzZGI5NTNkNDQ2ZjRlNTkxZDUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNy0wNS0xOSAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IGFkZGl0aW9uYWwgQVZQbGF5ZXJDb250cm9sbGVyIGludGVy
ZmFjZXMgZm9yIG1pblRpbWUgYW5kIG1heFRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIzOTYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzA3
Mzc0NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgbmV3IEhMUyBVSSBpbiBBVktpdC4KKworICAgICAgICBQbHVtYiBzZWVr
YWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lIGFuZCBsaXZlVXBkYXRlSW50ZXJ2YWwgYWNy
b3NzIHByb2Nlc3MgYm91bmRhcmllcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0U2Vla2FibGVSYW5n
ZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNl
dFNlZWthYmxlUmFuZ2VzVmVjdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6
CisKIDIwMTctMDYtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIFJlc291cmNlIFRpbWluZyAvIFVzZXIgVGltaW5nIGZyb20gZXhwZXJpbWVu
dGFsIGZlYXR1cmVzIGludG8gbWFpbiBwcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNGJkZWY2MmRlOGY3MGRkMWYzZTEyZmE4MjhkYjYyYTIx
ZDcwY2Q3YS4uNzQ5OGM4ZTExZDQxZDM5OGU0ZTc4MDAzN2M4YjNjYWU4NTBmM2EwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC00ODMwLDYgKzQ4MzAsMTYg
QEAgUmVmPFRpbWVSYW5nZXM+IEhUTUxNZWRpYUVsZW1lbnQ6OnNlZWthYmxlKCkgY29uc3QKICAg
ICByZXR1cm4gVGltZVJhbmdlczo6Y3JlYXRlKCk7CiB9CiAKK2RvdWJsZSBIVE1MTWVkaWFFbGVt
ZW50OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVk
VGltZSgpIDogMDsKK30KKworZG91YmxlIEhUTUxNZWRpYUVsZW1lbnQ6OmxpdmVVcGRhdGVJbnRl
cnZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPmxpdmVVcGRh
dGVJbnRlcnZhbCgpIDogMDsKK30KKwogYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojpwb3RlbnRpYWxs
eVBsYXlpbmcoKSBjb25zdAogewogICAgIGlmIChpc0Jsb2NrZWRPbk1lZGlhQ29udHJvbGxlcigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBiMzYyYjYyZGU0NzJi
ZTEwOGYxY2EzNDE0NjEwYzI0OGZmMTg4MDEyLi5jMTRmMzE1ODQxYzgzMTQ1ZjFkNmEwYmE0YjJk
MmZjYWNiZTBiZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
MjMyLDYgKzIzMiw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdlYmtp
dFByZXNlcnZlc1BpdGNoKGJvb2wpOwogICAgIFJlZjxUaW1lUmFuZ2VzPiBwbGF5ZWQoKSBvdmVy
cmlkZTsKICAgICBSZWY8VGltZVJhbmdlcz4gc2Vla2FibGUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBkb3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0OworICAg
IGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGVuZGVkKCkgY29uc3Q7CiAgICAgYm9vbCBhdXRvcGxheSgpIGNvbnN0OwogICAgIGJvb2wg
aXNBdXRvcGxheWluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b3BsYXlpbmc7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVs
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bC5oCmluZGV4IDkwMDIwMWFlNWZiMDY5ZDU5ZjYyZGYzNjZmZDkxZGMwZGRhM2QyMDguLjkzNDAz
ZGNjYTFjZDgwZjViZjA1MGI4NDdhODQwMzM3OGZlYjdlMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaApAQCAt
NjgsNiArNjgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2NydWJiaW5nKCkgY29u
c3QgPSAwOwogICAgIHZpcnR1YWwgZmxvYXQgcGxheWJhY2tSYXRlKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25P
cHRpb25zKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdWludDY0X3QgYXVkaW9NZWRpYVNlbGVj
dGVkSW5kZXgoKSBjb25zdCA9IDA7CkBAIC04OSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChkb3VibGUgLyogcGxheWJhY2tTdGFydGVkVGlt
ZSAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgLyogaXNQbGF5aW5n
ICovLCBmbG9hdCAvKiBwbGF5YmFja1JhdGUgKi8pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzZWVr
YWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYpIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYsIGRvdWJsZSAvKiBsYXN0
TW9kaWZpZWQgKi8sIGRvdWJsZSAvKiBsaXZlSW50ZXJ2YWwgKi8pIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKGJvb2wpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1lZGlhU2Vs
ZWN0aW9uT3B0aW9uPiYgLyogb3B0aW9ucyAqLywgdWludDY0X3QgLyogc2VsZWN0ZWRJbmRleCAq
LykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFu
Z2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIC8qIG9wdGlvbnMgKi8sIHVp
bnQ2NF90IC8qIHNlbGVjdGVkSW5kZXggKi8pIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVk
aWFFbGVtZW50LmgKaW5kZXggOGFjNTRlY2Q3NTEwOWIyYWFiYWM2Njk2OGYzYzRkMjRkZDIxY2U3
Ni4uZjliZTNhYmNlMDVlZTZmNjdmYjFmMTVjYjk2YmQyOGQwNjYxY2Q0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRl
ICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudEVudW1zLmgiCisj
aW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNzks
NiArODAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1NjcnViYmluZygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgZmxvYXQgcGxheWJhY2tSYXRlKCkgY29uc3QgZmluYWw7CiAg
ICAgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkgY29uc3QgZmluYWw7CisgICAgZG91
YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBmaW5hbDsKKyAg
ICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBjYW5Q
bGF5RmFzdFJldmVyc2UoKSBjb25zdCBmaW5hbDsKICAgICBWZWN0b3I8TWVkaWFTZWxlY3Rpb25P
cHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkgY29uc3QgZmluYWw7CiAgICAgdWlu
dDY0X3QgYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKSBjb25zdCBmaW5hbDsKQEAgLTk1LDYgKzk4
LDcgQEAgcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50KCk7CiAKIHByaXZhdGU6CisgICAgdm9pZCBwcm9ncmVzc0V2ZW50VGlt
ZXJGaXJlZCgpOwogICAgIHN0YXRpYyBjb25zdCBWZWN0b3I8V1RGOjpBdG9taWNTdHJpbmc+JiBv
YnNlcnZlZEV2ZW50TmFtZXMoKTsKICAgICBjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgZXZlbnRO
YW1lQWxsKCk7CiAKQEAgLTEwMyw3ICsxMDcsOCBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8V2Vi
UGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQqPiBtX2NsaWVudHM7CiAgICAgVmVjdG9yPFJlZlB0
cjxUZXh0VHJhY2s+PiBtX2xlZ2libGVUcmFja3NGb3JNZW51OwogICAgIFZlY3RvcjxSZWZQdHI8
QXVkaW9UcmFjaz4+IG1fYXVkaW9UcmFja3NGb3JNZW51OwotICAgIAorICAgIFRpbWVyIG1fcHJv
Z3Jlc3NFdmVudFRpbWVyOworCiAgICAgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUoKSBjb25z
dDsKICAgICB2b2lkIHVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpOwogICAgIHZvaWQgdXBk
YXRlTWVkaWFTZWxlY3Rpb25JbmRpY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tCmluZGV4IDE5YmI1NGFjOTlmM2UyZWQ1NzU4MzlhMWIzZmQwYzk5NjNkNGMwNzYu
LjkxZGI2ZTIyNmU1ZmM3Njg0MjhiNmNiNDZiZjFkYTYwZmUzZDhmMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC01MSwxMSArNTEsMTMgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6V2ViUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQoKQogICAgIDogRXZlbnRMaXN0ZW5lcihFdmVu
dExpc3RlbmVyOjpDUFBFdmVudExpc3RlbmVyVHlwZSkKKyAgICAsIG1fcHJvZ3Jlc3NFdmVudFRp
bWVyKCp0aGlzLCAmV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnByb2dyZXNz
RXZlbnRUaW1lckZpcmVkKQogewogfQogCiBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxl
bWVudDo6fldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50KCkKIHsKKyAgICBtX3By
b2dyZXNzRXZlbnRUaW1lci5zdG9wKCk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQpCkBAIC02NCw2ICs2Niw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpCiAgICAgICAg
IHJldHVybjsKIAogICAgIGlmIChtX21lZGlhRWxlbWVudCAmJiBtX2lzTGlzdGVuaW5nKSB7Cisg
ICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgZm9yIChhdXRvJiBl
dmVudE5hbWUgOiBvYnNlcnZlZEV2ZW50TmFtZXMoKSkKICAgICAgICAgICAgIG1fbWVkaWFFbGVt
ZW50LT5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKnRoaXMsIGZhbHNlKTsKICAgICAg
ICAgbV9tZWRpYUVsZW1lbnQtPmF1ZGlvVHJhY2tzKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkuY2hhbmdlRXZlbnQsICp0aGlzLCBmYWxzZSk7CkBAIC03Nyw2ICs4MCw3IEBAIHZv
aWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50KiBtZWRpCiAgICAgbV9tZWRpYUVsZW1lbnQgPSBtZWRpYUVsZW1lbnQ7
CiAKICAgICBpZiAobV9tZWRpYUVsZW1lbnQpIHsKKyAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGlt
ZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21zKTsKICAgICAgICAgZm9yIChhdXRvJiBldmVudE5hbWUg
OiBvYnNlcnZlZEV2ZW50TmFtZXMoKSkKICAgICAgICAgICAgIG1fbWVkaWFFbGVtZW50LT5hZGRF
dmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKnRoaXMsIGZhbHNlKTsKICAgICAgICAgbV9tZWRpYUVs
ZW1lbnQtPmF1ZGlvVHJhY2tzKCkuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdl
RXZlbnQsICp0aGlzLCBmYWxzZSk7CkBAIC05Miw2ICs5NiwxMSBAQCB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25DbwogICAgIHVwZGF0ZUZvckV2ZW50TmFtZShldmVudC0+dHlwZSgpKTsKIH0KIAordm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6cHJvZ3Jlc3NFdmVudFRpbWVy
RmlyZWQoKQoreworICAgIHVwZGF0ZUZvckV2ZW50TmFtZShldmVudE5hbWVzKCkucHJvZ3Jlc3NF
dmVudCk7Cit9CisKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVw
ZGF0ZUZvckV2ZW50TmFtZShjb25zdCBXVEY6OkF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewog
ICAgIGlmIChtX2NsaWVudHMuaXNFbXB0eSgpKQpAQCAtMTMyLDE0ICsxNDEsMTkgQEAgdm9pZCBX
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlRm9yRXZlbnROYW1lKGNv
bnN0IFdURjo6QXRvbWljU3QKICAgICAgICAgfHwgZXZlbnROYW1lID09IGV2ZW50TmFtZXMoKS50
aW1ldXBkYXRlRXZlbnQpIHsKICAgICAgICAgYXV0byBjdXJyZW50VGltZSA9IHRoaXMtPmN1cnJl
bnRUaW1lKCk7CiAgICAgICAgIGF1dG8gYW5jaG9yVGltZSA9IFtbTlNQcm9jZXNzSW5mbyBwcm9j
ZXNzSW5mb10gc3lzdGVtVXB0aW1lXTsKKyAgICAgICAgZm9yIChhdXRvIGNsaWVudCA6IG1fY2xp
ZW50cykKKyAgICAgICAgICAgIGNsaWVudC0+Y3VycmVudFRpbWVDaGFuZ2VkKGN1cnJlbnRUaW1l
LCBhbmNob3JUaW1lKTsKKyAgICB9CisKKyAgICBpZiAoYWxsCisgICAgICAgIHx8IGV2ZW50TmFt
ZSA9PSBldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCkgewogICAgICAgICBhdXRvIGJ1ZmZlcmVk
VGltZSA9IHRoaXMtPmJ1ZmZlcmVkVGltZSgpOwogICAgICAgICBhdXRvIHNlZWthYmxlUmFuZ2Vz
ID0gdGhpcy0+c2Vla2FibGVSYW5nZXMoKTsKLQorICAgICAgICBhdXRvIHNlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUgPSB0aGlzLT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZp
ZWRUaW1lKCk7CisgICAgICAgIGF1dG8gbGl2ZVVwZGF0ZUludGVydmFsID0gdGhpcy0+bGl2ZVVw
ZGF0ZUludGVydmFsKCk7CiAgICAgICAgIGZvciAoYXV0byBjbGllbnQgOiBtX2NsaWVudHMpIHsK
LSAgICAgICAgICAgIGNsaWVudC0+Y3VycmVudFRpbWVDaGFuZ2VkKGN1cnJlbnRUaW1lLCBhbmNo
b3JUaW1lKTsKICAgICAgICAgICAgIGNsaWVudC0+YnVmZmVyZWRUaW1lQ2hhbmdlZChidWZmZXJl
ZFRpbWUpOwotICAgICAgICAgICAgLy8gRklYTUU6IDEzMDc4OCAtIGZpbmQgYSBiZXR0ZXIgZXZl
bnQgZnJvbSB3aGljaCB0byB1cGRhdGUgc2Vla2FibGUgcmFuZ2VzLgotICAgICAgICAgICAgY2xp
ZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoc2Vla2FibGVSYW5nZXMpOworICAgICAgICAgICAg
Y2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoc2Vla2FibGVSYW5nZXMsIHNlZWthYmxlVGlt
ZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgICAgIH0K
ICAgICB9CiAKQEAgLTM0Nyw2ICszNjEsNyBAQCBjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPiYg
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6Om9ic2VydmVkRXZlbnROYQogICAg
ICAgICBldmVudE5hbWVzKCkucGxheUV2ZW50LAogICAgICAgICBldmVudE5hbWVzKCkucmF0ZWNo
YW5nZUV2ZW50LAogICAgICAgICBldmVudE5hbWVzKCkudGltZXVwZGF0ZUV2ZW50LAorICAgICAg
ICBldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwKICAgICAgICAgZXZlbnROYW1lcygpLmFkZHRy
YWNrRXZlbnQsCiAgICAgICAgIGV2ZW50TmFtZXMoKS5yZW1vdmV0cmFja0V2ZW50LAogICAgICAg
ICBldmVudE5hbWVzKCkudm9sdW1lY2hhbmdlRXZlbnQsCkBAIC0zOTEsNiArNDA2LDE2IEBAIFJl
ZjxUaW1lUmFuZ2VzPiBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2Vla2Fi
bGVSYW5nZXMoKSBjb25zdAogICAgIHJldHVybiBtX21lZGlhRWxlbWVudCA/IG1fbWVkaWFFbGVt
ZW50LT5zZWVrYWJsZSgpIDogVGltZVJhbmdlczo6Y3JlYXRlKCk7CiB9CiAKK2RvdWJsZSBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1v
ZGlmaWVkVGltZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFFbGVtZW50ID8gbV9tZWRp
YUVsZW1lbnQtPnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSA6IDA7Cit9CisK
K2RvdWJsZSBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6bGl2ZVVwZGF0ZUlu
dGVydmFsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxl
bWVudC0+bGl2ZVVwZGF0ZUludGVydmFsKCkgOiAwOworfQorICAgIAogYm9vbCBXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6Y2FuUGxheUZhc3RSZXZlcnNlKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxlbWVudC0+bWluRmFzdFJldmVy
c2VSYXRlKCkgPCAwLjAgOiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBkYTA5YmJhZmE5OTJjZjNjNTljNmFkYmMxZDlk
YWY5MWU2YjllZmZjLi4xMmU1NDg4ZmExMzE1YTYyYjFmN2RmZDIyYWU5ZjE3OTNiNGUzNmRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogICAgIGRvdWJsZSBtaW5UaW1lU2Vla2FibGUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRm
b3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdGQ6Om1h
a2VfdW5pcXVlPFBsYXRmb3JtVGltZVJhbmdlcz4oKTsgfQogCisgICAgZG91YmxlIHNlZWthYmxl
VGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9
CisgICAgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IDA7IH0KKwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gMDsgfQogICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtODIyLDYgKzgyNSwxNiBAQCBNZWRpYVRpbWUg
TWVkaWFQbGF5ZXI6Om1pblRpbWVTZWVrYWJsZSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+bWlu
TWVkaWFUaW1lU2Vla2FibGUoKTsKIH0KIAorZG91YmxlIE1lZGlhUGxheWVyOjpzZWVrYWJsZVRp
bWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5zZWVr
YWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCk7Cit9CisKK2RvdWJsZSBNZWRpYVBsYXll
cjo6bGl2ZVVwZGF0ZUludGVydmFsKCkKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5saXZlVXBk
YXRlSW50ZXJ2YWwoKTsKK30KKwogYm9vbCBNZWRpYVBsYXllcjo6ZGlkTG9hZGluZ1Byb2dyZXNz
KCkKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5kaWRMb2FkaW5nUHJvZ3Jlc3MoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDIxYWY0
ZmZiNjM5NTdiMTMyMTM0ZDJkZjdjYTJmZGM1N2Q1MTEzMDAuLmNiYjM2NjE4YzA0YzE5Njc2OTkx
MjQwMWVkMTAxN2U2OTBkZTc1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzkwLDYgKzM5MCw5IEBAIHB1YmxpYzoKICAgICBNZWRp
YVRpbWUgbWluVGltZVNlZWthYmxlKCk7CiAgICAgTWVkaWFUaW1lIG1heFRpbWVTZWVrYWJsZSgp
OwogCisgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKTsKKyAg
ICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCk7CisKICAgICBib29sIGRpZExvYWRpbmdQcm9n
cmVzcygpOwogCiAgICAgZG91YmxlIHZvbHVtZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBmZTFh
NmI2MWM5Mzg1ZDdjNWM5NmFmODk1OThlYWExNzIyZmFkZGVhLi5mMWQzM2E5NDE1MDNmOWE3Zjc5
ZTcwYzk3ZGZhMTljOGUzNzU3ZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMTQyLDYgKzE0Miw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5UaW1lU2Vla2FibGUoKSBjb25zdCB7IHJldHVy
biAwOyB9CiAgICAgdmlydHVhbCBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUobWluVGltZVNlZWthYmxlKCkp
OyB9CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZm
ZXJlZCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lKCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZG91Ymxl
IGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIHZpcnR1YWwg
dW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXMoKSBjb25zdCB7IHJldHVybiAwOyB9CiAgICAg
dmlydHVhbCBib29sIGRpZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaAppbmRleCBhYjE1ZjY0MmVlZGRiNDQ4MTdjOTFiZTdmMWEyMjRhZmNkZWQxNzJjLi5i
YTNjNzQ5ZWY1NGE1ZjJhZmQ5NDdmMzc0NjU3Mzk1YjQxMzYxNzM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5oCkBAIC0yMDksNiArMjA5LDkgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb246OkFzc2V0U3RhdHVzIGFzc2V0U3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgbG9uZyBhc3NldEVycm9yQ29kZSgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgZG91Ymxl
IHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CisKICAgICB2b2lk
IGNoZWNrUGxheWFiaWxpdHkoKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFJhdGVEb3VibGUoZG91
YmxlKSBvdmVycmlkZTsKICAgICBkb3VibGUgcmF0ZSgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0KaW5kZXggOTIzZmRiOTQxNWNiMzg4Yjk1YzkwMTliOTVkMTVhYzY0MjY4
NTYzMC4uZjBkZmFlMzBmOGZjMzYyNmM1YzZjNzk1NjA5MjY4MThlZmE1OGUzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCkBAIC0xNDcwLDYgKzE0NzAsMjQgQEAgZG91YmxlIE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnJhdGUoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hl
ZFJhdGU7CiB9CiAKK2RvdWJsZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpz
ZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sKKyNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8fCAo
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDAw
MCkKKyAgICByZXR1cm4gW21fYXZQbGF5ZXJJdGVtIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2Rp
ZmllZFRpbWVdOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitkb3VibGUgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6bGl2ZVVwZGF0ZUludGVydmFsKCkgY29u
c3QKK3sKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01B
WF9BTExPV0VEID49IDExMDAwMCkKKyAgICByZXR1cm4gW21fYXZQbGF5ZXJJdGVtIGxpdmVVcGRh
dGVJbnRlcnZhbF07CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c2V0UHJlc2VydmVzUGl0Y2goYm9vbCBw
cmVzZXJ2ZXNQaXRjaCkKIHsKICAgICBpZiAobV9hdlBsYXllckl0ZW0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmgKaW5kZXggNTNl
ZGE0YjA0YWZhNjRiNTI5Mzg3YTgzYmNjMWFiODE1OTdiMjJmMi4uYzI3NTk4NzU1ZWQ3MTAwODU0
MTFjMTVhMjk4YWRlMmUwN2E1NjY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaApAQCAtODcsNiArODcsMTUgQEAgY2xhc3Mg
V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ7CiBAcHJvcGVydHkgQk9PTCBhbGxvd3NF
eHRlcm5hbFBsYXliYWNrOwogQHByb3BlcnR5IChnZXR0ZXI9aXNQaWN0dXJlSW5QaWN0dXJlUG9z
c2libGUpIEJPT0wgcGljdHVyZUluUGljdHVyZVBvc3NpYmxlOwogQHByb3BlcnR5IChnZXR0ZXI9
aXNQaWN0dXJlSW5QaWN0dXJlSW50ZXJydXB0ZWQpIEJPT0wgcGljdHVyZUluUGljdHVyZUludGVy
cnVwdGVkOworCitAcHJvcGVydHkgTlNUaW1lSW50ZXJ2YWwgc2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZTsKK0Bwcm9wZXJ0eSBOU1RpbWVJbnRlcnZhbCBsaXZlVXBkYXRlSW50ZXJ2
YWw7CisKK0Bwcm9wZXJ0eSAoTlNfTk9OQVRPTUlDX0lPU09OTFksIHJldGFpbiwgcmVhZHdyaXRl
KSBBVlZhbHVlVGltaW5nICptaW5UaW1pbmc7CitAcHJvcGVydHkgKE5TX05PTkFUT01JQ19JT1NP
TkxZLCByZXRhaW4sIHJlYWR3cml0ZSkgQVZWYWx1ZVRpbWluZyAqbWF4VGltaW5nOworCistICh2
b2lkKXJlc2V0TWVkaWFTdGF0ZTsKKwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmluZGV4IGE1M2Zm
MWZlNjkzNDE3Y2JiMzUyZDI2ODQyNzlhMTM3OWIwZDA4ODIuLjA5ZTNkNTMwNWM0ZWEzODBiNmRi
ZjAzNGViZmJjMDJlY2E3ZWMxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbQpAQCAtNDIsMTAgKzQyLDIwIEBACiAKIFNP
RlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZLaXQpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9O
QUwoQVZLaXQsIEFWUGxheWVyQ29udHJvbGxlcikKK1NPRlRfTElOS19DTEFTU19PUFRJT05BTChB
VktpdCwgQVZWYWx1ZVRpbWluZykKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLUBpbXBs
ZW1lbnRhdGlvbiBXZWJBVlBsYXllckNvbnRyb2xsZXIKK3N0YXRpYyB2b2lkICogV2ViQVZQbGF5
ZXJDb250cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0ID0gJldlYkFWUGxh
eWVyQ29udHJvbGxlclNlZWthYmxlVGltZVJhbmdlc09ic2VydmVyQ29udGV4dDsKK3N0YXRpYyB2
b2lkICogV2ViQVZQbGF5ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZl
ckNvbnRleHQgPSAmV2ViQVZQbGF5ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRP
YnNlcnZlckNvbnRleHQ7CisKK3N0YXRpYyBkb3VibGUgV2ViQVZQbGF5ZXJDb250cm9sbGVyTGl2
ZVN0cmVhbVNlZWthYmxlVGltZVJhbmdlRHVyYXRpb25IeXN0ZXJlc2lzRGVsdGEgPSAzLjA7IC8v
IE1pbmltdW0gZGVsdGEgb2YgdGltZSByZXF1aXJlZCB0byBjaGFuZ2UgdGhlIGR1cmF0aW9uIG9m
IHRoZSBzZWVrYWJsZSB0aW1lIHJhbmdlLgorc3RhdGljIGRvdWJsZSBXZWJBVlBsYXllckNvbnRy
b2xsZXJMaXZlU3RyZWFtTWluaW11bVRhcmdldER1cmF0aW9uID0gMS4wOyAvLyBNaW5pbXVtIHNl
Z21lbnQgZHVyYXRpb24gdG8gYmUgY29uc2lkZXJlZCB2YWxpZC4KK3N0YXRpYyBkb3VibGUgV2Vi
QVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWthYmxlVGltZVJhbmdlTWluaW11bUR1cmF0
aW9uID0gMzAuMDsKKworQGltcGxlbWVudGF0aW9uIFdlYkFWUGxheWVyQ29udHJvbGxlciB7Cisg
ICAgQk9PTCBfbGl2ZVN0cmVhbUV2ZW50TW9kZVBvc3NpYmxlOworfQogCiAtIChpbnN0YW5jZXR5
cGUpaW5pdAogewpAQCAtNTcsMTEgKzY3LDIwIEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAKICAg
ICBpbml0QVZQbGF5ZXJDb250cm9sbGVyKCk7CiAgICAgc2VsZi5wbGF5ZXJDb250cm9sbGVyUHJv
eHkgPSBbW2FsbG9jQVZQbGF5ZXJDb250cm9sbGVySW5zdGFuY2UoKSBpbml0XSBhdXRvcmVsZWFz
ZV07CisgICAgX2xpdmVTdHJlYW1FdmVudE1vZGVQb3NzaWJsZSA9IFlFUzsKKworICAgIFtzZWxm
IGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInNlZWthYmxlVGltZVJhbmdlcyIgb3B0aW9u
czooTlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk9sZCB8IE5TS2V5VmFsdWVPYnNlcnZpbmdPcHRp
b25OZXcgfCBOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uSW5pdGlhbCkgY29udGV4dDpXZWJBVlBs
YXllckNvbnRyb2xsZXJTZWVrYWJsZVRpbWVSYW5nZXNPYnNlcnZlckNvbnRleHRdOworICAgIFtz
ZWxmIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAImhhc0xpdmVTdHJlYW1pbmdDb250ZW50
IiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFsIGNvbnRleHQ6V2ViQVZQ
bGF5ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHRdOwor
CisKICAgICByZXR1cm4gc2VsZjsKIH0KIAogLSAodm9pZClkZWFsbG9jCiB7CisgICAgW3NlbGYg
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAic2Vla2FibGVUaW1lUmFuZ2VzIiBjb250
ZXh0OldlYkFWUGxheWVyQ29udHJvbGxlclNlZWthYmxlVGltZVJhbmdlc09ic2VydmVyQ29udGV4
dF07CisgICAgW3NlbGYgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAiaGFzTGl2ZVN0
cmVhbWluZ0NvbnRlbnQiIGNvbnRleHQ6V2ViQVZQbGF5ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVh
bWluZ0NvbnRlbnRPYnNlcnZlckNvbnRleHRdOworCiAgICAgW19wbGF5ZXJDb250cm9sbGVyUHJv
eHkgcmVsZWFzZV07CiAgICAgW19sb2FkZWRUaW1lUmFuZ2VzIHJlbGVhc2VdOwogICAgIFtfc2Vl
a2FibGVUaW1lUmFuZ2VzIHJlbGVhc2VdOwpAQCAtNDIwLDYgKzQzOSwxMjEgQEAgLSAodm9pZCl0
b2dnbGVNdXRlZDooaWQpc2VuZGVyCiAgICAgICAgIHNlbGYuZGVsZWdhdGUtPnRvZ2dsZU11dGVk
KCk7CiB9CiAKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcgKilrZXlQ
YXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdlOihOU0RpY3Rpb25hcnkgKiljaGFuZ2UgY29u
dGV4dDoodm9pZCAqKWNvbnRleHQKK3sKKyAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKKyAgICBV
TlVTRURfUEFSQU0oa2V5UGF0aCk7CisKKyAgICBpZiAoV2ViQVZQbGF5ZXJDb250cm9sbGVyU2Vl
a2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0ID09IGNvbnRleHQpIHsKKyAgICAgICAgTlNB
cnJheSAqb2xkQXJyYXkgPSBjaGFuZ2VbTlNLZXlWYWx1ZUNoYW5nZU9sZEtleV07CisgICAgICAg
IE5TQXJyYXkgKm5ld0FycmF5ID0gY2hhbmdlW05TS2V5VmFsdWVDaGFuZ2VOZXdLZXldOworICAg
ICAgICBpZiAoW29sZEFycmF5IGlzS2luZE9mQ2xhc3M6W05TQXJyYXkgY2xhc3NdXSAmJiBbbmV3
QXJyYXkgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKSB7CisgICAgICAgICAgICBDTVRp
bWVSYW5nZSBvbGRTZWVrYWJsZVRpbWVSYW5nZSA9IFtvbGRBcnJheSBjb3VudF0gPiAwID8gW1tv
bGRBcnJheSBmaXJzdE9iamVjdF0gQ01UaW1lUmFuZ2VWYWx1ZV0gOiBrQ01UaW1lUmFuZ2VJbnZh
bGlkOworICAgICAgICAgICAgQ01UaW1lUmFuZ2UgbmV3U2Vla2FibGVUaW1lUmFuZ2UgPSBbbmV3
QXJyYXkgY291bnRdID4gMCA/IFtbbmV3QXJyYXkgZmlyc3RPYmplY3RdIENNVGltZVJhbmdlVmFs
dWVdIDoga0NNVGltZVJhbmdlSW52YWxpZDsKKyAgICAgICAgICAgIGlmICghQ01UaW1lUmFuZ2VF
cXVhbChvbGRTZWVrYWJsZVRpbWVSYW5nZSwgbmV3U2Vla2FibGVUaW1lUmFuZ2UpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKENNVElNRVJBTkdFX0lTX1ZBTElEKG5ld1NlZWthYmxlVGltZVJhbmdl
KSAmJiBDTVRJTUVSQU5HRV9JU19WQUxJRChvbGRTZWVrYWJsZVRpbWVSYW5nZSkgJiYgX2xpdmVT
dHJlYW1FdmVudE1vZGVQb3NzaWJsZSAmJiAhQ01UaW1lUmFuZ2VDb250YWluc1RpbWUobmV3U2Vl
a2FibGVUaW1lUmFuZ2UsIG9sZFNlZWthYmxlVGltZVJhbmdlLnN0YXJ0KSkKKyAgICAgICAgICAg
ICAgICAgICAgX2xpdmVTdHJlYW1FdmVudE1vZGVQb3NzaWJsZSA9IE5POworCisgICAgICAgICAg
ICAgICAgW3NlbGYgdXBkYXRlTWluTWF4VGltaW5nXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0gZWxzZSBpZiAoV2ViQVZQbGF5ZXJDb250cm9sbGVySGFzTGl2ZVN0cmVhbWluZ0Nv
bnRlbnRPYnNlcnZlckNvbnRleHQgPT0gY29udGV4dCkKKyAgICAgICAgW3NlbGYgdXBkYXRlTWlu
TWF4VGltaW5nXTsKK30KKworLSAodm9pZCl1cGRhdGVNaW5NYXhUaW1pbmcKK3sKKyAgICBBVlZh
bHVlVGltaW5nICpuZXdNaW5UaW1pbmcgPSBuaWw7CisgICAgQVZWYWx1ZVRpbWluZyAqbmV3TWF4
VGltaW5nID0gbmlsOworCisgICAgLy8gRm9yIGxpdmUgc3RyZWFtcyB2YWx1ZSB0aW1pbmdzIGZv
ciB0aGUgbWluIGFuZCBtYXggdGltZXMgYXJlIG5lZWRlZC4KKyAgICBpZiAoW3NlbGYgaGFzTGl2
ZVN0cmVhbWluZ0NvbnRlbnRdICYmIChbW3NlbGYgc2Vla2FibGVUaW1lUmFuZ2VzXSBjb3VudF0g
PiAwKSkgeworICAgICAgICBDTVRpbWVSYW5nZSBzZWVrYWJsZVRpbWVSYW5nZSA9IFtbW3NlbGYg
c2Vla2FibGVUaW1lUmFuZ2VzXSBmaXJzdE9iamVjdF0gQ01UaW1lUmFuZ2VWYWx1ZV07CisgICAg
ICAgIGlmIChDTVRJTUVSQU5HRV9JU19WQUxJRChzZWVrYWJsZVRpbWVSYW5nZSkpIHsKKyAgICAg
ICAgICAgIE5TVGltZUludGVydmFsIG9sZE1pblRpbWUgPSBbW3NlbGYgbWluVGltaW5nXSBjdXJy
ZW50VmFsdWVdOworICAgICAgICAgICAgTlNUaW1lSW50ZXJ2YWwgb2xkTWF4VGltZSA9IFtbc2Vs
ZiBtYXhUaW1pbmddIGN1cnJlbnRWYWx1ZV07CisgICAgICAgICAgICBOU1RpbWVJbnRlcnZhbCBu
ZXdNaW5UaW1lID0gQ01UaW1lR2V0U2Vjb25kcyhzZWVrYWJsZVRpbWVSYW5nZS5zdGFydCk7Cisg
ICAgICAgICAgICBOU1RpbWVJbnRlcnZhbCBuZXdNYXhUaW1lID0gQ01UaW1lR2V0U2Vjb25kcyhz
ZWVrYWJsZVRpbWVSYW5nZS5zdGFydCkgKyBDTVRpbWVHZXRTZWNvbmRzKHNlZWthYmxlVGltZVJh
bmdlLmR1cmF0aW9uKSArIChDQUN1cnJlbnRNZWRpYVRpbWUoKSAtIFtzZWxmIHNlZWthYmxlVGlt
ZVJhbmdlc0xhc3RNb2RpZmllZFRpbWVdKTsKKyAgICAgICAgICAgIGRvdWJsZSBuZXdNaW5UaW1p
bmdSYXRlID0gX2xpdmVTdHJlYW1FdmVudE1vZGVQb3NzaWJsZSA/IDAuMCA6IDEuMDsKKyAgICAg
ICAgICAgIEJPT0wgbWluVGltaW5nTmVlZHNVcGRhdGUgPSBZRVM7CisgICAgICAgICAgICBCT09M
IG1heFRpbWluZ05lZWRzVXBkYXRlID0gWUVTOworCisgICAgICAgICAgICBpZiAoaXNmaW5pdGUo
W3NlbGYgbGl2ZVVwZGF0ZUludGVydmFsXSkgJiYgW3NlbGYgbGl2ZVVwZGF0ZUludGVydmFsXSA+
IFdlYkFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1NaW5pbXVtVGFyZ2V0RHVyYXRpb24pIHsK
KyAgICAgICAgICAgICAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgdGltaW5nIGlmIHRoZSBuZXcgdGlt
ZSBkaWZmZXJzIGJ5IG9uZSBzZWdtZW50IGR1cmF0aW9uIHBsdXMgdGhlIGh5c3RlcmVzaXMgZGVs
dGEuCisgICAgICAgICAgICAgICAgbWluVGltaW5nTmVlZHNVcGRhdGUgPSBpc25hbihvbGRNaW5U
aW1lKSB8fCAoZmFicyhvbGRNaW5UaW1lIC0gbmV3TWluVGltZSkgPiBbc2VsZiBsaXZlVXBkYXRl
SW50ZXJ2YWxdICsgV2ViQVZQbGF5ZXJDb250cm9sbGVyTGl2ZVN0cmVhbVNlZWthYmxlVGltZVJh
bmdlRHVyYXRpb25IeXN0ZXJlc2lzRGVsdGEpIHx8IChbW3NlbGYgbWluVGltaW5nXSByYXRlXSAh
PSBuZXdNaW5UaW1pbmdSYXRlKTsKKyAgICAgICAgICAgICAgICBtYXhUaW1pbmdOZWVkc1VwZGF0
ZSA9IGlzbmFuKG9sZE1heFRpbWUpIHx8IChmYWJzKG9sZE1heFRpbWUgLSBuZXdNYXhUaW1lKSA+
IFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0gKyBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3Ry
ZWFtU2Vla2FibGVUaW1lUmFuZ2VEdXJhdGlvbkh5c3RlcmVzaXNEZWx0YSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGlmIChtaW5UaW1pbmdOZWVkc1VwZGF0ZSB8fCBtYXhUaW1pbmdO
ZWVkc1VwZGF0ZSkgeworICAgICAgICAgICAgICAgIG5ld01pblRpbWluZyA9IFtnZXRBVlZhbHVl
VGltaW5nQ2xhc3MoKSB2YWx1ZVRpbWluZ1dpdGhBbmNob3JWYWx1ZTpuZXdNaW5UaW1lIGFuY2hv
clRpbWVTdGFtcDpbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNzKCkgY3VycmVudFRpbWVTdGFtcF0gcmF0
ZTpuZXdNaW5UaW1pbmdSYXRlXTsKKyAgICAgICAgICAgICAgICBuZXdNYXhUaW1pbmcgPSBbZ2V0
QVZWYWx1ZVRpbWluZ0NsYXNzKCkgdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6bmV3TWF4VGlt
ZSBhbmNob3JUaW1lU3RhbXA6W2dldEFWVmFsdWVUaW1pbmdDbGFzcygpIGN1cnJlbnRUaW1lU3Rh
bXBdIHJhdGU6MS4wXTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbmV3
TWluVGltaW5nID0gW3NlbGYgbWluVGltaW5nXTsKKyAgICAgICAgICAgICAgICBuZXdNYXhUaW1p
bmcgPSBbc2VsZiBtYXhUaW1pbmddOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
CisgICAgaWYgKCFuZXdNaW5UaW1pbmcpCisgICAgICAgIG5ld01pblRpbWluZyA9IFtnZXRBVlZh
bHVlVGltaW5nQ2xhc3MoKSB2YWx1ZVRpbWluZ1dpdGhBbmNob3JWYWx1ZTpbc2VsZiBtaW5UaW1l
XSBhbmNob3JUaW1lU3RhbXA6TkFOIHJhdGU6MC4wXTsKKworICAgIGlmICghbmV3TWF4VGltaW5n
KQorICAgICAgICBuZXdNYXhUaW1pbmcgPSBbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNzKCkgdmFsdWVU
aW1pbmdXaXRoQW5jaG9yVmFsdWU6W3NlbGYgbWF4VGltZV0gYW5jaG9yVGltZVN0YW1wOk5BTiBy
YXRlOjAuMF07CisKKyAgICBbc2VsZiBzZXRNaW5UaW1pbmc6bmV3TWluVGltaW5nXTsKKyAgICBb
c2VsZiBzZXRNYXhUaW1pbmc6bmV3TWF4VGltaW5nXTsKK30KKworCistIChCT09MKWhhc1NlZWth
YmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnQKK3sKKyAgICBCT09MIGhhc1NlZWthYmxlTGl2ZVN0cmVh
bWluZ0NvbnRlbnQgPSBOTzsKKworICAgIGlmIChbc2VsZiBoYXNMaXZlU3RyZWFtaW5nQ29udGVu
dF0gJiYgW3NlbGYgbWluVGltaW5nXSAmJiBbc2VsZiBtYXhUaW1pbmddICYmIGlzZmluaXRlKFtz
ZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0pICYmIFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0gPiBX
ZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtTWluaW11bVRhcmdldER1cmF0aW9uICYmIChb
c2VsZiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lXSAhPSAwLjApKSB7CisgICAg
ICAgIE5TVGltZUludGVydmFsIHRpbWVTdGFtcCA9IFtnZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSBj
dXJyZW50VGltZVN0YW1wXTsKKyAgICAgICAgTlNUaW1lSW50ZXJ2YWwgbWluVGltZSA9IFtbc2Vs
ZiBtaW5UaW1pbmddIHZhbHVlRm9yVGltZVN0YW1wOnRpbWVTdGFtcF07CisgICAgICAgIE5TVGlt
ZUludGVydmFsIG1heFRpbWUgPSBbW3NlbGYgbWF4VGltaW5nXSB2YWx1ZUZvclRpbWVTdGFtcDp0
aW1lU3RhbXBdOworICAgICAgICBoYXNTZWVrYWJsZUxpdmVTdHJlYW1pbmdDb250ZW50ID0gKCht
YXhUaW1lIC0gbWluVGltZSkgPiBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtU2Vla2Fi
bGVUaW1lUmFuZ2VNaW5pbXVtRHVyYXRpb24pOworICAgIH0KKworICAgIHJldHVybiBoYXNTZWVr
YWJsZUxpdmVTdHJlYW1pbmdDb250ZW50OworfQorCisrIChOU1NldCAqKWtleVBhdGhzRm9yVmFs
dWVzQWZmZWN0aW5nSGFzU2Vla2FibGVMaXZlU3RyZWFtaW5nQ29udGVudAoreworICAgIHJldHVy
biBbTlNTZXQgc2V0V2l0aE9iamVjdHM6QCJoYXNMaXZlU3RyZWFtaW5nQ29udGVudCIsIEAibWlu
VGltaW5nIiwgQCJtYXhUaW1pbmciLCBAInNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRp
bWUiLCBuaWxdOworfQorCistICh2b2lkKXJlc2V0TWVkaWFTdGF0ZQoreworICAgIHNlbGYuY29u
dGVudER1cmF0aW9uID0gMDsKKyAgICBzZWxmLm1heFRpbWUgPSAwOworICAgIHNlbGYuY29udGVu
dER1cmF0aW9uV2l0aGluRW5kVGltZXMgPSAwOworICAgIHNlbGYubG9hZGVkVGltZVJhbmdlcyA9
IEBbXTsKKworICAgIHNlbGYuY2FuUGxheSA9IE5POworICAgIHNlbGYuY2FuUGF1c2UgPSBOTzsK
KyAgICBzZWxmLmNhblRvZ2dsZVBsYXliYWNrID0gTk87CisgICAgc2VsZi5oYXNFbmFibGVkQXVk
aW8gPSBOTzsKKyAgICBzZWxmLmNhblNlZWsgPSBOTzsKKyAgICBzZWxmLm1pblRpbWUgPSAwOwor
ICAgIHNlbGYuc3RhdHVzID0gQVZQbGF5ZXJDb250cm9sbGVyU3RhdHVzVW5rbm93bjsKKworICAg
IHNlbGYudGltaW5nID0gbmlsOworICAgIHNlbGYucmF0ZSA9IDA7CisKKyAgICBzZWxmLnNlZWth
YmxlVGltZVJhbmdlcyA9IFtOU011dGFibGVBcnJheSBhcnJheV07CisKKyAgICBzZWxmLmNhblNj
YW5CYWNrd2FyZCA9IE5POworCisgICAgc2VsZi5hdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyA9
IG5pbDsKKyAgICBzZWxmLmN1cnJlbnRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uID0gbmlsOwor
CisgICAgc2VsZi5sZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zID0gbmlsOworICAgIHNlbGYu
Y3VycmVudExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbiA9IG5pbDsKKyAgICBfbGl2ZVN0cmVh
bUV2ZW50TW9kZVBvc3NpYmxlID0gWUVTOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBX
ZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oCmluZGV4
IDQxNDgzOTJkYWJmMjJhY2Y3YWM4MjE5NDhiNTk5ZjFlZTcyNGM0ZjcuLjIzMzAyZmJkMWJlNjg2
N2U4ZmZmNWQ5YTk3NDA1NjA3OGU5Y2RlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5o
CkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGN1cnJl
bnRUaW1lQ2hhbmdlZChkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZSBhbmNob3JUaW1lKSBvdmVy
cmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGJ1ZmZlcmVkVGltZUNoYW5nZWQoZG91Ymxl
KSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgaXNQ
bGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpIG92ZXJyaWRlOwotICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmKSBvdmVycmlkZTsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1l
UmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2
YWwpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNl
Q2hhbmdlZChib29sKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGF1ZGlvTWVk
aWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRp
b24+JiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KSBvdmVycmlkZTsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0
IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVk
SW5kZXgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDU3Mzg5
YjdlM2FjMjgyMTIyNmE0YTE0ZTUzMzcyOTYwZWYwYTQ0MmIuLmZlZDY1OWIxNWRlZmU0YmFlMjcx
OWJhMGQ5N2U5NjI3MjNlMWRlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0KQEAg
LTYwLDcgKzYwLDcgQEAgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0KFdlYlBsYXliYWNrU2UKICAgICBjdXJyZW50VGltZUNo
YW5nZWQobW9kZWwuY3VycmVudFRpbWUoKSwgW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBz
eXN0ZW1VcHRpbWVdKTsKICAgICBidWZmZXJlZFRpbWVDaGFuZ2VkKG1vZGVsLmJ1ZmZlcmVkVGlt
ZSgpKTsKICAgICByYXRlQ2hhbmdlZChtb2RlbC5pc1BsYXlpbmcoKSwgbW9kZWwucGxheWJhY2tS
YXRlKCkpOwotICAgIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChtb2RlbC5zZWVrYWJsZVJhbmdlcygp
KTsKKyAgICBzZWVrYWJsZVJhbmdlc0NoYW5nZWQobW9kZWwuc2Vla2FibGVSYW5nZXMoKSwgbW9k
ZWwuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpLCBtb2RlbC5saXZlVXBkYXRl
SW50ZXJ2YWwoKSk7CiAgICAgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChtb2RlbC5jYW5QbGF5
RmFzdFJldmVyc2UoKSk7CiAgICAgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKG1v
ZGVsLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKCksIG1vZGVsLmF1ZGlvTWVkaWFTZWxlY3Rl
ZEluZGV4KCkpOwogICAgIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKG1vZGVs
LmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoKSwgbW9kZWwubGVnaWJsZU1lZGlhU2VsZWN0
ZWRJbmRleCgpKTsKQEAgLTc4LDMzICs3OCw3IEBAIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0Ojp+V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQoKQogCiB2b2lkIFdlYlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OjpyZXNldE1lZGlhU3RhdGUoKQogewotICAgIFdl
YkFWUGxheWVyQ29udHJvbGxlciogcGxheWVyQ29udHJvbGxlciA9IG1fcGxheWVyQ29udHJvbGxl
ci5nZXQoKTsKLQotICAgIHBsYXllckNvbnRyb2xsZXIuY29udGVudER1cmF0aW9uID0gMDsKLSAg
ICBwbGF5ZXJDb250cm9sbGVyLm1heFRpbWUgPSAwOwotICAgIHBsYXllckNvbnRyb2xsZXIuY29u
dGVudER1cmF0aW9uV2l0aGluRW5kVGltZXMgPSAwOwotICAgIHBsYXllckNvbnRyb2xsZXIubG9h
ZGVkVGltZVJhbmdlcyA9IEBbXTsKLQotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuUGxheSA9IE5P
OwotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuUGF1c2UgPSBOTzsKLSAgICBwbGF5ZXJDb250cm9s
bGVyLmNhblRvZ2dsZVBsYXliYWNrID0gTk87Ci0gICAgcGxheWVyQ29udHJvbGxlci5oYXNFbmFi
bGVkQXVkaW8gPSBOTzsKLSAgICBwbGF5ZXJDb250cm9sbGVyLmNhblNlZWsgPSBOTzsKLSAgICBw
bGF5ZXJDb250cm9sbGVyLm1pblRpbWUgPSAwOwotICAgIHBsYXllckNvbnRyb2xsZXIuc3RhdHVz
ID0gQVZQbGF5ZXJDb250cm9sbGVyU3RhdHVzVW5rbm93bjsKLQotICAgIHBsYXllckNvbnRyb2xs
ZXIudGltaW5nID0gbmlsOwotICAgIHBsYXllckNvbnRyb2xsZXIucmF0ZSA9IDA7Ci0KLSAgICBw
bGF5ZXJDb250cm9sbGVyLnNlZWthYmxlVGltZVJhbmdlcyA9IFtOU011dGFibGVBcnJheSBhcnJh
eV07Ci0KLSAgICBwbGF5ZXJDb250cm9sbGVyLmNhblNjYW5CYWNrd2FyZCA9IE5POwotCi0gICAg
cGxheWVyQ29udHJvbGxlci5hdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyA9IG5pbDsKLSAgICBw
bGF5ZXJDb250cm9sbGVyLmN1cnJlbnRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uID0gbmlsOwot
Ci0gICAgcGxheWVyQ29udHJvbGxlci5sZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zID0gbmls
OwotICAgIHBsYXllckNvbnRyb2xsZXIuY3VycmVudExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlv
biA9IG5pbDsKKyAgICBbbV9wbGF5ZXJDb250cm9sbGVyIHJlc2V0TWVkaWFTdGF0ZV07CiB9CiAK
IHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OmR1cmF0aW9uQ2hhbmdlZChk
b3VibGUgZHVyYXRpb24pCkBAIC0xNTIsNyArMTI2LDcgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VBVktpdDo6cmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXli
YWMKICAgICBbbV9wbGF5ZXJDb250cm9sbGVyIHNldFJhdGU6aXNQbGF5aW5nID8gcGxheWJhY2tS
YXRlIDogMC5dOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Ojpz
ZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYgdGltZVJhbmdlcykKK3ZvaWQg
V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChj
b25zdCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91
YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKIHsKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+
IHNlZWthYmxlUmFuZ2VzID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7
CiAKQEAgLTE2NSw2ICsxMzksOCBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFW
S2l0OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYgdAogICAgIH0KIAog
ICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0U2Vla2FibGVUaW1lUmFuZ2VzOnNlZWthYmxlUmFu
Z2VzLmdldCgpXTsKKyAgICBbbV9wbGF5ZXJDb250cm9sbGVyIHNldFNlZWthYmxlVGltZVJhbmdl
c0xhc3RNb2RpZmllZFRpbWU6IGxhc3RNb2RpZmllZFRpbWVdOworICAgIFttX3BsYXllckNvbnRy
b2xsZXIgc2V0TGl2ZVVwZGF0ZUludGVydmFsOmxpdmVVcGRhdGVJbnRlcnZhbF07CiB9CiAKIHZv
aWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNo
YW5nZWQoYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktp
dC5tbQppbmRleCA5Nzg3MTM5MDQ0MjRkYmQ5ODAyNjEzNTBiMWIxNjVkMzgzNjk4ZmI4Li5hMWIw
MGU2NjBhYzQ3YjIxMDMxNDBkYTg1MDllMTk2ZjFmMzBhZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyQVZLaXQubW0KQEAgLTE1NSw2ICsxNTUsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNT
Y3J1YmJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGZsb2F0IHBs
YXliYWNrUmF0ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIFJlZjxUaW1lUmFuZ2VzPiBzZWVrYWJs
ZVJhbmdlcygpIGNvbnN0IG92ZXJyaWRlOworICAgIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgZG91YmxlIGxpdmVVcGRhdGVJ
bnRlcnZhbCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgY2FuUGxheUZhc3RSZXZlcnNlKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiBhdWRpb01l
ZGlhU2VsZWN0aW9uT3B0aW9ucygpIGNvbnN0IG92ZXJyaWRlOwogICAgIHVpbnQ2NF90IGF1ZGlv
TWVkaWFTZWxlY3RlZEluZGV4KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xNzMsNyArMTc1LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUgY3VycmVudFRpbWUs
IGRvdWJsZSBhbmNob3JUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGJ1ZmZlcmVkVGltZUNoYW5n
ZWQoZG91YmxlKSBvdmVycmlkZTsKICAgICB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5n
LCBmbG9hdCBwbGF5YmFja1JhdGUpIG92ZXJyaWRlOwotICAgIHZvaWQgc2Vla2FibGVSYW5nZXND
aGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNlZWthYmxlUmFu
Z2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRv
dWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuUGxheUZhc3RS
ZXZlcnNlQ2hhbmdlZChib29sKSBvdmVycmlkZTsKICAgICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rp
b25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRp
b25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KSBvdmVycmlkZTsKICAgICB2b2lkIGxlZ2libGVN
ZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9w
dGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwpAQCAtMzUy
LDE4ICszNTQsMTggQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6
dmlkZW9EaW1lbnNpb25zQ2hhbmdlZChjb25zdCBGbG9hdFNpemUKICAgICAgICAgY2xpZW50LT52
aWRlb0RpbWVuc2lvbnNDaGFuZ2VkKHZpZGVvRGltZW5zaW9ucyk7CiB9CiAKLXZvaWQgV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25z
dCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQordm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVS
YW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFs
KQogewogICAgIGlmIChXZWJUaHJlYWRJc0N1cnJlbnQoKSkgewogICAgICAgICBSZWZQdHI8V2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ+IHByb3RlY3RlZFRoaXModGhpcyk7Ci0g
ICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtwcm90ZWN0
ZWRUaGlzLCBwbGF0Zm9ybVRpbWVSYW5nZXMgPSB0aW1lUmFuZ2VzLnJhbmdlcygpXSB7Ci0gICAg
ICAgICAgICBwcm90ZWN0ZWRUaGlzLT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQoVGltZVJhbmdlczo6
Y3JlYXRlKHBsYXRmb3JtVGltZVJhbmdlcykpOworICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNw
YXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcHJvdGVjdGVkVGhpcywgcGxhdGZvcm1UaW1lUmFuZ2Vz
ID0gdGltZVJhbmdlcy5yYW5nZXMoKSwgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVy
dmFsXSB7CisgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQo
VGltZVJhbmdlczo6Y3JlYXRlKHBsYXRmb3JtVGltZVJhbmdlcyksIGxhc3RNb2RpZmllZFRpbWUs
IGxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgZm9yIChhdXRvICZjbGllbnQgOiBtX3BsYXliYWNrQ2xpZW50cykKLSAgICAgICAg
Y2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQodGltZVJhbmdlcyk7CisgICAgICAgIGNsaWVu
dC0+c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHRpbWVSYW5nZXMsIGxhc3RNb2RpZmllZFRpbWUsIGxp
dmVVcGRhdGVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckNvbnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCBjYW5QbGF5RmFzdFJldmVy
c2UpCkBAIC03MzAsNiArNzMyLDE4IEBAIFJlZjxUaW1lUmFuZ2VzPiBXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXMoKSBjb25zdAogICAgIHJldHVybiBt
X3BsYXliYWNrTW9kZWwgPyBtX3BsYXliYWNrTW9kZWwtPnNlZWthYmxlUmFuZ2VzKCkgOiBUaW1l
UmFuZ2VzOjpjcmVhdGUoKTsKIH0KIAorZG91YmxlIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXJDb250ZXh0OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoaXNVSVRocmVhZCgpKTsKKyAgICByZXR1cm4gbV9wbGF5YmFja01vZGVsID8g
bV9wbGF5YmFja01vZGVsLT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgOiAw
OworfQorCitkb3VibGUgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OmxpdmVV
cGRhdGVJbnRlcnZhbCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzVUlUaHJlYWQoKSk7CisgICAg
cmV0dXJuIG1fcGxheWJhY2tNb2RlbCA/IG1fcGxheWJhY2tNb2RlbC0+bGl2ZVVwZGF0ZUludGVy
dmFsKCkgOiAwOworfQorCiBib29sIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0
OjpjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdAogewogICAgIEFTU0VSVChpc1VJVGhyZWFkKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCmluZGV4IDEwMWY5YTJmOTExNWZjMDQ0OTE0NTkzYTUy
MjllOGIzMjYwOGVjODAuLmJmN2ZkOWQ3YjUyY2UxMWQwMTEwOThlNTI1YTVmZTE0Y2QyMjNkOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgZHVyYXRpb25DaGFuZ2VkKGRvdWJsZSkgZmluYWw7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoZG91YmxlIC8qY3VycmVudFRp
bWUqLywgZG91YmxlIC8qYW5jaG9yVGltZSovKSBmaW5hbDsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJhdGVDaGFuZ2VkKGJvb2wgLyppc1BsYXlpbmcqLywgZmxvYXQgLypwbGF5YmFja1JhdGUq
LykgZmluYWw7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQo
Y29uc3QgVGltZVJhbmdlcyYpIGZpbmFsOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Vla2Fi
bGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmLCBkb3VibGUgLypsYXN0TW9kaWZpZWRU
aW1lKi8sIGRvdWJsZSAvKmxpdmVVcGRhdGVJbnRlcnZhbCovKSBmaW5hbDsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0
b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiAvKm9wdGlvbnMqLywgdWludDY0X3QgLypzZWxlY3Rl
ZEluZGV4Ki8pIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbGVnaWJsZU1lZGlhU2Vs
ZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYg
LypvcHRpb25zKi8sIHVpbnQ2NF90IC8qc2VsZWN0ZWRJbmRleCovKSBmaW5hbDsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3Qp
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggY2FjMWM4MDM1NWQ1NzI0ZTQ4
YWU3YmQ4NDcwMTgzNTIwMWIyYzRhNC4uYmIyNzFmMmJlZGZkNGM3NTZiMTM4M2ZhYTI2NDM4ODU4
MTZkNGRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0xMzAsNyArMTMwLDcgQEAg
c3RhdGljIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gdGltZVJhbmdlc1RvQXJyYXkoY29uc3Qg
VGltZVJhbmdlcyYgdGltZVJhbmdlcykKIH0KICNlbmRpZgogCi12b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYzo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMm
IHRpbWVSYW5nZXMpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6c2Vla2Fi
bGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSwgZG91
YmxlKQogewogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKICAgICBb
cGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRTZWVrYWJsZVRpbWVSYW5nZXM6dGltZVJhbmdl
c1RvQXJyYXkodGltZVJhbmdlcykuZ2V0KCldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY29jb2EvQVZLaXRTUEkuaAppbmRleCA3OTE1MTdiY2UxYjk5NmU1NGUwYWVkZDgyM2RlYmY3
YmI2OWM0MDIzLi5lMWJlMmI0YjFjMmZiMzNhMTVlYTQ5OTJkYzQ2YWM1YjExZTM4YWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvQVZLaXRTUEkuaApAQCAtMTQ3LDYg
KzE0NywxMiBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQGludGVyZmFjZSBBVlZhbHVlVGlt
aW5nICgpCiArIChBVlZhbHVlVGltaW5nICopdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6KGRv
dWJsZSlhbmNob3JWYWx1ZSBhbmNob3JUaW1lU3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVTdGFt
cCByYXRlOihkb3VibGUpcmF0ZTsKIEBwcm9wZXJ0eSAoTlNfTk9OQVRPTUlDX0lPU09OTFksIHJl
YWRvbmx5KSBkb3VibGUgY3VycmVudFZhbHVlOworQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9T
T05MWSwgcmVhZG9ubHkpIGRvdWJsZSByYXRlOworQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9T
T05MWSwgcmVhZG9ubHkpIE5TVGltZUludGVydmFsIGFuY2hvclRpbWVTdGFtcDsKK0Bwcm9wZXJ0
eSAoTlNfTk9OQVRPTUlDX0lPU09OTFksIHJlYWRvbmx5KSBkb3VibGUgYW5jaG9yVmFsdWU7CisK
KysgKE5TVGltZUludGVydmFsKWN1cnJlbnRUaW1lU3RhbXA7CistIChkb3VibGUpdmFsdWVGb3JU
aW1lU3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVTdGFtcDsKIEBlbmQKIAogTlNfQVNTVU1FX05P
Tk5VTExfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FW
Rm91bmRhdGlvblNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5k
YXRpb25TUEkuaAppbmRleCA4MjFmYTgyZGYwYzBhOTFkOGQyZTYzNDI4MzJkNjU4MmU5NTJlNGJl
Li5kNTA4NDM3YTM0MGU2ZTE0M2I5M2JmMWQ3YTIxMmExN2I2MDIxZGQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKQEAgLTMyLDYg
KzMyLDcgQEAKIAogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXNzZXRDYWNoZV9Qcml2YXRlLmg+
CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZPdXRwdXRDb250ZXh0Lmg+CisjaW1wb3J0IDxBVkZv
dW5kYXRpb24vQVZQbGF5ZXJJdGVtX1ByaXZhdGUuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VlBsYXllckxheWVyX1ByaXZhdGUuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllcl9Q
cml2YXRlLmg+CiAKQEAgLTQ3LDYgKzQ4LDE2IEBACiAKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VlBsYXllci5oPgogCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01BWF9BTExPV0VEID49IDExMDAwMCkKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCitA
Y2xhc3MgQVZQbGF5ZXJJdGVtICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5T
VGltZUludGVydmFsIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgTlNfQVZBSUxB
QkxFKDEwXzEzLCAxMV8wKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1l
SW50ZXJ2YWwgbGl2ZVVwZGF0ZUludGVydmFsOworQGVuZAorTlNfQVNTVU1FX05PTk5VTExfRU5E
CisjZW5kaWYgLy8gKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMTAwMDApCisKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAmJiAhUExBVEZPUk0oSU9TKQogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5oCmluZGV4IDU3YWQ3NTYwYWVjYmExNTIxMDlhMjRlNWUwYjE3
ZjUyOTUwNjQ4ZWQuLmJmMzAwN2M4NTBlOTU3OWUzMzRjZTZiZTczNzZmM2FiMWY4ZDI3ZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0QnVmZmVyZWRUaW1lKGRvdWJsZSk7CiAgICAgdm9pZCBzZXRQbGF5YmFja1N0
YXJ0ZWRUaW1lKGRvdWJsZSk7CiAgICAgdm9pZCBzZXRSYXRlKGJvb2wgaXNQbGF5aW5nLCBmbG9h
dCBwbGF5YmFja1JhdGUpOwotICAgIHZvaWQgc2V0U2Vla2FibGVSYW5nZXMoV2ViQ29yZTo6VGlt
ZVJhbmdlcyYpOworICAgIHZvaWQgc2V0U2Vla2FibGVSYW5nZXMoV2ViQ29yZTo6VGltZVJhbmdl
cyYsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKTsK
ICAgICB2b2lkIHNldENhblBsYXlGYXN0UmV2ZXJzZShib29sKTsKICAgICB2b2lkIHNldEF1ZGlv
TWVkaWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlv
bk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4KTsKICAgICB2b2lkIHNldExlZ2libGVN
ZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9u
T3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3QgaW5kZXgpOwpAQCAtMTE5LDYgKzExOSw4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBpc1NjcnViYmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faXNT
Y3J1YmJpbmc7IH0KICAgICBmbG9hdCBwbGF5YmFja1JhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3BsYXliYWNrUmF0ZTsgfQogICAgIFJlZjxXZWJDb3JlOjpUaW1lUmFuZ2VzPiBzZWVrYWJs
ZVJhbmdlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2Vla2FibGVSYW5nZXMuY29weVJlZigp
OyB9CisgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3NlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU7IH0K
KyAgICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9saXZlVXBk
YXRlSW50ZXJ2YWw7IH0KICAgICBib29sIGNhblBsYXlGYXN0UmV2ZXJzZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fY2FuUGxheUZhc3RSZXZlcnNlOyB9CiAgICAgVmVjdG9yPFdlYkNvcmU6Ok1l
ZGlhU2VsZWN0aW9uT3B0aW9uPiBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucygpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnM7IH0KICAgICB1aW50NjRf
dCBhdWRpb01lZGlhU2VsZWN0ZWRJbmRleCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXVkaW9N
ZWRpYVNlbGVjdGVkSW5kZXg7IH0KQEAgLTE0Myw2ICsxNDUsOCBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9pc1NjcnViYmluZyB7IGZhbHNlIH07CiAgICAgZmxvYXQgbV9wbGF5YmFja1JhdGUgeyAw
IH07CiAgICAgUmVmPFdlYkNvcmU6OlRpbWVSYW5nZXM+IG1fc2Vla2FibGVSYW5nZXMgeyBXZWJD
b3JlOjpUaW1lUmFuZ2VzOjpjcmVhdGUoKSB9OworICAgIGRvdWJsZSBtX3NlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUgeyAwIH07CisgICAgZG91YmxlIG1fbGl2ZVVwZGF0ZUludGVy
dmFsIHsgMCB9OwogICAgIGJvb2wgbV9jYW5QbGF5RmFzdFJldmVyc2UgeyBmYWxzZSB9OwogICAg
IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gbV9hdWRpb01lZGlhU2VsZWN0
aW9uT3B0aW9uczsKICAgICB1aW50NjRfdCBtX2F1ZGlvTWVkaWFTZWxlY3RlZEluZGV4IHsgMCB9
OwpAQCAtMTg3LDcgKzE5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNldE1lZGlhU3RhdGUo
dWludDY0X3QgY29udGV4dElkKTsKICAgICB2b2lkIHNldEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNv
bnRleHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpOwogICAgIHZvaWQg
c2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7
Ci0gICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsIFZl
Y3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMpOworICAgIHZvaWQgc2V0U2Vl
a2FibGVSYW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRv
dWJsZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxp
dmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgdm9pZCBzZXRDYW5QbGF5RmFzdFJldmVyc2UodWludDY0
X3QgY29udGV4dElkLCBib29sIHZhbHVlKTsKICAgICB2b2lkIHNldEF1ZGlvTWVkaWFTZWxlY3Rp
b25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0
aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKICAgICB2b2lkIHNl
dExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8
V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVk
SW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggMzgxYTgwMzRlNzA0OTc4MzU2NDA2MGZkY2I1MjExNDQxOGQ0NzVkYi4uM2Q0YjkwMzYw
NGYwYzhhNWJmMjEwNzEzOGQ0OTA2MDA3MjdmNmE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBAIG1lc3NhZ2VzIC0+
IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSB7CiAgICAgUmVzZXRNZWRpYVN0YXRlKHVp
bnQ2NF90IGNvbnRleHRJZCkKICAgICBTZXRDdXJyZW50VGltZSh1aW50NjRfdCBjb250ZXh0SWQs
IGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGhvc3RUaW1lKQogICAgIFNldEJ1ZmZlcmVkVGlt
ZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBidWZmZXJlZFRpbWUpCi0gICAgU2V0U2Vla2Fi
bGVSYW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJs
ZSwgZG91YmxlPj4gcmFuZ2VzKQorICAgIFNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90
IGNvbnRleHRJZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcywgZG91
YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCiAgICAgU2V0
Q2FuUGxheUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKICAgICBT
ZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxX
ZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJ
bmRleCkKICAgICBTZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRl
eHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50
NjRfdCBzZWxlY3RlZEluZGV4KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KaW5kZXgg
NGVjMDVmZDNjOTdjOWI0NzU0NmJmNTUxZjEzMzA3NjkzZWI3MDFkOC4uMGJiNTM4OTUxZThmYmU1
ZWM1ZTg2OTQwZGMzNzYzNTc3ZjI4NWJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
Lm1tCkBAIC0xODAsMTEgKzE4MCwxMyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29u
dGV4dDo6c2V0UmF0ZShib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKQogICAgICAg
ICBjbGllbnQtPnJhdGVDaGFuZ2VkKGlzUGxheWluZywgcGxheWJhY2tSYXRlKTsKIH0KIAotdm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldFNlZWthYmxlUmFuZ2VzKFdlYkNv
cmU6OlRpbWVSYW5nZXMmIHNlZWthYmxlUmFuZ2VzKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25N
b2RlbENvbnRleHQ6OnNldFNlZWthYmxlUmFuZ2VzKFdlYkNvcmU6OlRpbWVSYW5nZXMmIHNlZWth
YmxlUmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRl
cnZhbCkKIHsKICAgICBtX3NlZWthYmxlUmFuZ2VzID0gc2Vla2FibGVSYW5nZXM7CisgICAgbV9z
ZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lID0gbGFzdE1vZGlmaWVkVGltZTsKKyAg
ICBtX2xpdmVVcGRhdGVJbnRlcnZhbCA9IGxpdmVVcGRhdGVJbnRlcnZhbDsKICAgICBmb3IgKGF1
dG8qIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAgICAgY2xpZW50LT5zZWVrYWJsZVJhbmdlc0No
YW5nZWQoc2Vla2FibGVSYW5nZXMpOworICAgICAgICBjbGllbnQtPnNlZWthYmxlUmFuZ2VzQ2hh
bmdlZChzZWVrYWJsZVJhbmdlcywgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFs
KTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldENhblBsYXlG
YXN0UmV2ZXJzZShib29sIGNhblBsYXlGYXN0UmV2ZXJzZSkKQEAgLTM4Myw3ICszODUsNyBAQCB2
b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0QnVmZmVyZWRUaW1lKHVpbnQ2
NF90IGNvbnRleHRJZCwgZG91YmxlCiAgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRCdWZm
ZXJlZFRpbWUoYnVmZmVyZWRUaW1lKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVj
dG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcykKK3ZvaWQgV2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250
ZXh0SWQsIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMsIGRvdWJsZSBs
YXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIFJlZjxU
aW1lUmFuZ2VzPiB0aW1lUmFuZ2VzID0gVGltZVJhbmdlczo6Y3JlYXRlKCk7CiAgICAgZm9yIChj
b25zdCBhdXRvJiByYW5nZSA6IHJhbmdlcykgewpAQCAtMzkzLDcgKzM5NSw3IEBAIHZvaWQgV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50
NjRfdCBjb250ZXh0SWQsCiAgICAgICAgIHRpbWVSYW5nZXMtPmFkZChyYW5nZS5maXJzdCwgcmFu
Z2Uuc2Vjb25kKTsKICAgICB9CiAKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFNlZWth
YmxlUmFuZ2VzKHRpbWVSYW5nZXMpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0U2Vl
a2FibGVSYW5nZXModGltZVJhbmdlcywgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVy
dmFsKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldENhblBs
YXlGYXN0UmV2ZXJzZSh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlci5oCmluZGV4IDRiZTUyNDMyYzNjNmE3NDUwMTFmZDgxODI0N2Q0NTE2NGVjM2YxNTku
Ljk2NzQ3MDRhYzZhZGU5YTUzNWQzYmQxNGRhYzQ4ZGY4ZmM2OWJlM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlci5oCkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBidWZmZXJlZFRp
bWVDaGFuZ2VkKGRvdWJsZSkgZmluYWw7CiAgICAgdm9pZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hh
bmdlZChkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSkgZmluYWw7CiAgICAgdm9pZCByYXRlQ2hh
bmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKSBmaW5hbDsKLSAgICB2b2lk
IHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJikgZmluYWw7
CisgICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6VGltZVJhbmdl
cyYsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKSBm
aW5hbDsKICAgICB2b2lkIGNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCB2YWx1ZSkgZmlu
YWw7CiAgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVj
dG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2Vs
ZWN0ZWRJbmRleCkgZmluYWw7CiAgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25z
Q2hhbmdlZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRp
b25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KSBmaW5hbDsKQEAgLTEyOSw3ICsxMjksNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBidWZmZXJlZFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7CiAgICAgdm9pZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hh
bmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKTsKICAg
ICB2b2lkIHJhdGVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcsIGZs
b2F0IHBsYXliYWNrUmF0ZSk7Ci0gICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQodWludDY0
X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJik7CisgICAgdm9pZCBzZWVr
YWJsZVJhbmdlc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpUaW1l
UmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2
YWwpOwogICAgIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIGJvb2wgdmFsdWUpOwogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFu
Z2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0
aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CiAgICAgdm9pZCBs
ZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNv
bnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2
NF90IHNlbGVjdGVkSW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCmluZGV4IGEwNTgxOWU3
YTljYTBlYTJiOTAyOWZmODQyODNhY2EwYTg5MGYwYTMuLjA5MjkwZTFlNmNhYTczOWUwYTVmZjZk
Y2JjYzVmYWY3OWI5N2ZhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KQEAgLTEwMSwxMCAr
MTAxLDEwIEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6cGxheWJh
Y2tTdGFydGVkVGltZUNoYW5nZWQoZG91YmxlIHBsYXliCiAgICAgICAgIG1fbWFuYWdlci0+cGxh
eWJhY2tTdGFydGVkVGltZUNoYW5nZWQobV9jb250ZXh0SWQsIHBsYXliYWNrU3RhcnRlZFRpbWUp
OwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxl
UmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJiByYW5nZXMpCit2b2lkIFdl
YlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChj
b25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJiByYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1l
LCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIGlmIChtX21hbmFnZXIpCi0gICAg
ICAgIG1fbWFuYWdlci0+c2Vla2FibGVSYW5nZXNDaGFuZ2VkKG1fY29udGV4dElkLCByYW5nZXMp
OworICAgICAgICBtX21hbmFnZXItPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChtX2NvbnRleHRJZCwg
cmFuZ2VzLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwpOwogfQogCiB2b2lk
IFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNo
YW5nZWQoYm9vbCB2YWx1ZSkKQEAgLTMyNCw3ICszMjQsNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXI6OnJhdGVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlp
bmcsCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OlNldFJhdGUoY29udGV4dElkLCBpc1BsYXlpbmcsIHBsYXliYWNrUmF0ZSksIG1fcGFn
ZS0+cGFnZUlEKCkpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWth
YmxlUmFuZ2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVS
YW5nZXMmIHRpbWVSYW5nZXMpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWth
YmxlUmFuZ2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVS
YW5nZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVw
ZGF0ZUludGVydmFsKQogewogICAgIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiBy
YW5nZXNWZWN0b3I7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRpbWVSYW5nZXMubGVu
Z3RoKCk7IGkrKykgewpAQCAtMzMyLDcgKzMzMiw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QK
ICAgICAgICAgZG91YmxlIGVuZCA9IHRpbWVSYW5nZXMucmFuZ2VzKCkuZW5kKGkpLnRvRG91Ymxl
KCk7CiAgICAgICAgIHJhbmdlc1ZlY3Rvci5hcHBlbmQoeyBzdGFydCwgZW5kIH0pOwogICAgIH0K
LSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6U2V0U2Vla2FibGVSYW5nZXNWZWN0b3IoY29udGV4dElkLCBXVEZNb3ZlKHJhbmdlc1ZlY3Rv
cikpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0U2Vla2FibGVSYW5nZXNWZWN0b3IoY29udGV4
dElkLCBXVEZNb3ZlKHJhbmdlc1ZlY3RvciksIGxhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJ
bnRlcnZhbCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXI6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBi
b29sIHZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312330</attachid>
            <date>2017-06-08 12:02:30 -0700</date>
            <delta_ts>2017-06-08 14:47:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172396-20170608120228.patch</filename>
            <type>text/plain</type>
            <size>54725</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg4MjUwZDViM2JmMTVl
NjRlMmZmZmFiNDE2M2U0Y2E0ODBlYzFiYy4uMzc3NWNmZGRjYjJkNWUxOTI2N2ZlZmZhZGM4NjVl
OWQxZGZlMDQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE3LTA2LTA4ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYWRkaXRp
b25hbCBBVlBsYXllckNvbnRyb2xsZXIgaW50ZXJmYWNlcyBmb3IgbWluVGltZSBhbmQgbWF4VGlt
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjM5
NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zMDczNzQ1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5n
ZSB0byBET00uCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG5ldyBITFMgVUkgaW4gQVZLaXQu
CisKKyAgICAgICAgVGhpcyBhZGRzIG5ldyBwcm9wZXJ0aWVzIChzZWVrYWJsZVRpbWVSYW5nZXNM
YXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwsIG1pblRpbWluZywgbWF4VGltaW5n
KSB0byBXZWJBVlBsYXllckNvbnRyb2xsZXIuCisgICAgICAgIFBsdW1iIHRoZXNlIHByb3BlcnRp
ZXMgZnJvbSBBVlBsYXllciB1cCB0byBBVktpdC4KKworICAgICAgICBTd2l0Y2ggV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQgZnJvbSB1cGRhdGluZyBzZWVrYWJsZVJhbmdlc0No
YW5nZWQgdXNpbmcgdGltZXVwZGF0ZSBldmVudCB0byB1c2luZyBwcm9ncmVzcyBldmVudC4KKwor
ICAgICAgICBFbmFibGUgcHJvZ3Jlc3MgZXZlbnRzIG9uIGlPUy4KKworICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmxvYWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZWVr
YWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmxpdmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg6CisgICAgICAgICog
cGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQubW06CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25N
b2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlRm9yRXZlbnROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpvYnNlcnZlZEV2ZW50TmFtZXMp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OmxpdmVVcGRhdGVJbnRlcnZhbCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmxpdmVVcGRhdGVJbnRlcnZhbCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVk
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6Omxp
dmVVcGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDOjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmxpdmVV
cGRhdGVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJv
bGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW06
CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBpbml0XSk6CisgICAgICAgICgtW1dl
YkFWUGxheWVyQ29udHJvbGxlciBkZWFsbG9jXSk6CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29u
dHJvbGxlciBvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOm9mT2JqZWN0OmNoYW5nZTpjb250ZXh0Ol0p
OgorICAgICAgICAoLVtXZWJBVlBsYXllckNvbnRyb2xsZXIgdXBkYXRlTWluTWF4VGltaW5nXSk6
CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBoYXNTZWVrYWJsZUxpdmVTdHJlYW1p
bmdDb250ZW50XSk6CisgICAgICAgICgrW1dlYkFWUGxheWVyQ29udHJvbGxlciBrZXlQYXRoc0Zv
clZhbHVlc0FmZmVjdGluZ0hhc1NlZWthYmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnRdKToKKyAgICAg
ICAgKC1bV2ViQVZQbGF5ZXJDb250cm9sbGVyIHJlc2V0TWVkaWFTdGF0ZV0pOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OjpXZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6cmVzZXRNZWRpYVN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OjpzZWVrYWJsZVJhbmdlc0NoYW5n
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
QVZLaXQubW06CisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6
c2Vla2FibGVSYW5nZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJDb250ZXh0OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKToKKyAgICAg
ICAgKFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpsaXZlVXBkYXRlSW50ZXJ2
YWwpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VN
YWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9B
VktpdFNQSS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6
CisKIDIwMTctMDYtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIFJlc291cmNlIFRpbWluZyAvIFVzZXIgVGltaW5nIGZyb20gZXhwZXJpbWVu
dGFsIGZlYXR1cmVzIGludG8gbWFpbiBwcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDRmNGQzNjQ0
M2E2NjkwMjlmM2IwNDVjOTcxMjc5MjE1ZjdlZjQ5OTEuLjgwM2U1Y2FjOGYzMzc1Y2E3NWY1ZDc2
Yjc3M2U2Y2VkZTQ4OTYwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNy0wNi0w
OCAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IGFkZGl0aW9uYWwgQVZQbGF5ZXJDb250cm9sbGVyIGludGVyZmFjZXMgZm9yIG1pblRpbWUgYW5k
IG1heFRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzIzOTYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzA3Mzc0NTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgbmV3IEhM
UyBVSSBpbiBBVktpdC4KKworICAgICAgICBQbHVtYiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9k
aWZpZWRUaW1lIGFuZCBsaXZlVXBkYXRlSW50ZXJ2YWwgYWNyb3NzIHByb2Nlc3MgYm91bmRhcmll
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0U2Vla2FibGVSYW5nZXMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9y
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6
OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXI6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisKIDIwMTctMDYtMDYgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlc291cmNl
IFRpbWluZyAvIFVzZXIgVGltaW5nIGZyb20gZXhwZXJpbWVudGFsIGZlYXR1cmVzIGludG8gbWFp
biBwcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5k
ZXggNGJkZWY2MmRlOGY3MGRkMWYzZTEyZmE4MjhkYjYyYTIxZDcwY2Q3YS4uMjU5YmI0ZGRjOTRi
NzZiZjBiMzE4OWZjMTAyNjIzMTdmZDJkMDQ1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCkBAIC00MTcsNyArNDE3LDYgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRN
TE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9j
dW0KICAgICAsIG1fc2VudFN0YWxsZWRFdmVudChmYWxzZSkKICAgICAsIG1fc2VudEVuZEV2ZW50
KGZhbHNlKQogICAgICwgbV9wYXVzZWRJbnRlcm5hbChmYWxzZSkKLSAgICAsIG1fc2VuZFByb2dy
ZXNzRXZlbnRzKHRydWUpCiAgICAgLCBtX2Nsb3NlZENhcHRpb25zVmlzaWJsZShmYWxzZSkKICAg
ICAsIG1fd2Via2l0TGVnYWN5Q2xvc2VkQ2FwdGlvbk92ZXJyaWRlKGZhbHNlKQogICAgICwgbV9j
b21wbGV0ZWx5TG9hZGVkKGZhbHNlKQpAQCAtNDU0LDEwICs0NTMsNiBAQCBIVE1MTWVkaWFFbGVt
ZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50JiBkb2N1bQogICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRCZWhhdmlvclJlc3RyaWN0aW9uKE1l
ZGlhRWxlbWVudFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRvQ29udHJvbENvbnRyb2xzTWFu
YWdlcik7CiAgICAgbV9tZWRpYVNlc3Npb24tPmFkZEJlaGF2aW9yUmVzdHJpY3Rpb24oTWVkaWFF
bGVtZW50U2Vzc2lvbjo6UmVxdWlyZVBsYXliYWNrVG9Db250cm9sQ29udHJvbHNNYW5hZ2VyKTsK
IAotI2lmIFBMQVRGT1JNKElPUykKLSAgICBtX3NlbmRQcm9ncmVzc0V2ZW50cyA9IGZhbHNlOwot
I2VuZGlmCi0KICAgICBhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpOwogCiAgICAgaWYgKGRv
Y3VtZW50LnNldHRpbmdzKCkuaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQoKSkKQEAgLTE1
MDcsOCArMTUwMiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKGNvbnN0
IFVSTCYgaW5pdGlhbFVSTCwgQ29udGVudFR5cGUmIGNvbnRlbnRUCiAKICAgICBMT0coTWVkaWEs
ICJIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoJXApIC0gbV9jdXJyZW50U3JjIC0+ICVz
IiwgdGhpcywgdXJsRm9yTG9nZ2luZ01lZGlhKG1fY3VycmVudFNyYykudXRmOCgpLmRhdGEoKSk7
CiAKLSAgICBpZiAobV9zZW5kUHJvZ3Jlc3NFdmVudHMpCi0gICAgICAgIHN0YXJ0UHJvZ3Jlc3NF
dmVudFRpbWVyKCk7CisgICAgc3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKTsKIAogICAgIGJvb2wg
cHJpdmF0ZU1vZGUgPSBkb2N1bWVudCgpLnBhZ2UoKSAmJiBkb2N1bWVudCgpLnBhZ2UoKS0+dXNl
c0VwaGVtZXJhbFNlc3Npb24oKTsKICAgICBtX3BsYXllci0+c2V0UHJpdmF0ZUJyb3dzaW5nTW9k
ZShwcml2YXRlTW9kZSk7CkBAIC00ODMwLDYgKzQ4MjQsMTYgQEAgUmVmPFRpbWVSYW5nZXM+IEhU
TUxNZWRpYUVsZW1lbnQ6OnNlZWthYmxlKCkgY29uc3QKICAgICByZXR1cm4gVGltZVJhbmdlczo6
Y3JlYXRlKCk7CiB9CiAKK2RvdWJsZSBIVE1MTWVkaWFFbGVtZW50OjpzZWVrYWJsZVRpbWVSYW5n
ZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wbGF5ZXIgPyBtX3Bs
YXllci0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIDogMDsKK30KKworZG91
YmxlIEhUTUxNZWRpYUVsZW1lbnQ6OmxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPmxpdmVVcGRhdGVJbnRlcnZhbCgpIDogMDsKK30K
KwogYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojpwb3RlbnRpYWxseVBsYXlpbmcoKSBjb25zdAogewog
ICAgIGlmIChpc0Jsb2NrZWRPbk1lZGlhQ29udHJvbGxlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaAppbmRleCBiMzYyYjYyZGU0NzJiZTEwOGYxY2EzNDE0NjEwYzI0OGZm
MTg4MDEyLi5hNmZhNGM5N2YwNTczZDZkYTk1OTJmOWZlYzI5NjU5MmJhODI3ZjE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMjMyLDYgKzIzMiw4IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFdlYmtpdFByZXNlcnZlc1BpdGNoKGJvb2wp
OwogICAgIFJlZjxUaW1lUmFuZ2VzPiBwbGF5ZWQoKSBvdmVycmlkZTsKICAgICBSZWY8VGltZVJh
bmdlcz4gc2Vla2FibGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBkb3VibGUgc2Vla2FibGVUaW1l
UmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0OworICAgIGRvdWJsZSBsaXZlVXBkYXRlSW50
ZXJ2YWwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGVuZGVkKCkgY29uc3Q7CiAg
ICAgYm9vbCBhdXRvcGxheSgpIGNvbnN0OwogICAgIGJvb2wgaXNBdXRvcGxheWluZygpIGNvbnN0
IHsgcmV0dXJuIG1fYXV0b3BsYXlpbmc7IH0KQEAgLTEwMDAsMTAgKzEwMDIsNiBAQCBwcml2YXRl
OgogCiAgICAgYm9vbCBtX3BhdXNlZEludGVybmFsIDogMTsKIAotICAgIC8vIE5vdCBhbGwgbWVk
aWEgZW5naW5lcyBwcm92aWRlIGVub3VnaCBpbmZvcm1hdGlvbiBhYm91dCBhIGZpbGUgdG8gYmUg
YWJsZSB0bwotICAgIC8vIHN1cHBvcnQgcHJvZ3Jlc3MgZXZlbnRzIHNvIHNldHRpbmcgbV9zZW5k
UHJvZ3Jlc3NFdmVudHMgZGlzYWJsZXMgdGhlbSAKLSAgICBib29sIG1fc2VuZFByb2dyZXNzRXZl
bnRzIDogMTsKLQogICAgIGJvb2wgbV9jbG9zZWRDYXB0aW9uc1Zpc2libGUgOiAxOwogICAgIGJv
b2wgbV93ZWJraXRMZWdhY3lDbG9zZWRDYXB0aW9uT3ZlcnJpZGUgOiAxOwogICAgIGJvb2wgbV9j
b21wbGV0ZWx5TG9hZGVkIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBjYmY3MWUxMGMyZmI0N2NiNjQxYjM5YjhjOWQ5MzE5
NjA0M2I5M2UwLi5kOGI3MDdlYzBjZWQ5ZDE0Njc4ZDY4OTQxM2UzODViYzliNGRjOGY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBA
IC01MCw2ICs1MCw3IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIENv
cmVNZWRpYSwgQ01UaW1lTWFrZSwgQ01UaW1lLCAoaW50NjRfdCB2CiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlTWVkaWEsIENNVGltZU1ha2VXaXRoU2Vjb25kcywg
Q01UaW1lLCAoRmxvYXQ2NCBzZWNvbmRzLCBpbnQzMl90IHByZWZlcnJlZFRpbWVTY2FsZSksIChz
ZWNvbmRzLCBwcmVmZXJyZWRUaW1lU2NhbGUpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgQ29yZU1lZGlhLCBDTVRpbWVSYW5nZUdldEVuZCwgQ01UaW1lLCAoQ01UaW1l
UmFuZ2UgcmFuZ2UpLCAocmFuZ2UpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgQ29yZU1lZGlhLCBDTVRpbWVSYW5nZU1ha2UsIENNVGltZVJhbmdlLCAoQ01UaW1lIHN0
YXJ0LCBDTVRpbWUgZHVyYXRpb24pLCAoc3RhcnQsIGR1cmF0aW9uKSkKK1NPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VFcXVhbCwgQm9v
bGVhbiwgKENNVGltZVJhbmdlIHJhbmdlMSwgQ01UaW1lUmFuZ2UgcmFuZ2UyKSwgKHJhbmdlMSwg
cmFuZ2UyKSkKIAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZU1l
ZGlhLCBrQ01Gb3JtYXREZXNjcmlwdGlvbkV4dGVuc2lvbl9TYW1wbGVEZXNjcmlwdGlvbkV4dGVu
c2lvbkF0b21zLCBDRlN0cmluZ1JlZikKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdl
YkNvcmUsIENvcmVNZWRpYSwga0NNVGV4dE1hcmt1cEFsaWdubWVudFR5cGVfRW5kLCBDRlN0cmlu
Z1JlZikKQEAgLTc0LDYgKzc1LDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgQ29yZU1lZGlhLCBrQ01UZXh0VmVydGljYWxMYXlvdXRfUmlnaHRUb0wKIFNPRlRfTElO
S19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwga0NNVGltZUludmFsaWQs
IENNVGltZSkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVNZWRp
YSwga0NNVGltZVplcm8sIENNVGltZSkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdl
YkNvcmUsIENvcmVNZWRpYSwga0NNVGltZVBvc2l0aXZlSW5maW5pdHksIENNVGltZSkKK1NPRlRf
TElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwga0NNVGltZVJhbmdl
SW52YWxpZCwgQ01UaW1lUmFuZ2UpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlTWVkaWEsIENNRm9ybWF0RGVzY3JpcHRp
b25HZXRNZWRpYVN1YlR5cGUsIEZvdXJDaGFyQ29kZSwgKENNRm9ybWF0RGVzY3JpcHRpb25SZWYg
ZGVzYyksIChkZXNjKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oCmluZGV4IGNlNDRmYWVmYzcxZjNkODQ3N2QwMzQ4MzA2ZjU1YzliZWYzZDU3MmUu
LjlhYTRhNzU5ZDc3NjA0MDFhNDQ0ZTk1NWQyNWZlODU5MjBkM2I1MDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaApAQCAtNjMsNiArNjMsOCBA
QCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBDb3JlTWVkaWEsIENNVGlt
ZVJhbmdlR2V0RW5kLCBDTVRpbWUsIChDTQogI2RlZmluZSBDTVRpbWVSYW5nZUdldEVuZCBzb2Z0
TGlua19Db3JlTWVkaWFfQ01UaW1lUmFuZ2VHZXRFbmQKIFNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VNYWtlLCBDTVRpbWVSYW5nZSwg
KENNVGltZSBzdGFydCwgQ01UaW1lIGR1cmF0aW9uKSwgKHN0YXJ0LCBkdXJhdGlvbikpCiAjZGVm
aW5lIENNVGltZVJhbmdlTWFrZSBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lUmFuZ2VNYWtlCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBDb3JlTWVkaWEsIENNVGltZVJh
bmdlRXF1YWwsIEJvb2xlYW4sIChDTVRpbWVSYW5nZSByYW5nZTEsIENNVGltZVJhbmdlIHJhbmdl
MiksIChyYW5nZTEsIHJhbmdlMikpCisjZGVmaW5lIENNVGltZVJhbmdlRXF1YWwgc29mdExpbmtf
Q29yZU1lZGlhX0NNVGltZVJhbmdlRXF1YWwKIAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgQ29yZU1lZGlhLCBrQ01Gb3JtYXREZXNjcmlwdGlvbkV4dGVuc2lvbl9TYW1w
bGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b21zLCBDRlN0cmluZ1JlZikKICNkZWZpbmUga0NNRm9y
bWF0RGVzY3JpcHRpb25FeHRlbnNpb25fU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tcyBn
ZXRfQ29yZU1lZGlhX2tDTUZvcm1hdERlc2NyaXB0aW9uRXh0ZW5zaW9uX1NhbXBsZURlc2NyaXB0
aW9uRXh0ZW5zaW9uQXRvbXMoKQpAQCAtMTEwLDYgKzExMiw4IEBAIFNPRlRfTElOS19DT05TVEFO
VF9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVNZWRpYSwga0NNVGltZVplcm8sIENNVGltZSkKICNk
ZWZpbmUga0NNVGltZVplcm8gZ2V0X0NvcmVNZWRpYV9rQ01UaW1lWmVybygpCiBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBDb3JlTWVkaWEsIGtDTVRpbWVQb3NpdGl2ZUlu
ZmluaXR5LCBDTVRpbWUpCiAjZGVmaW5lIGtDTVRpbWVQb3NpdGl2ZUluZmluaXR5IGdldF9Db3Jl
TWVkaWFfa0NNVGltZVBvc2l0aXZlSW5maW5pdHkoKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9I
RUFERVIoV2ViQ29yZSwgQ29yZU1lZGlhLCBrQ01UaW1lUmFuZ2VJbnZhbGlkLCBDTVRpbWVSYW5n
ZSk7CisjZGVmaW5lIGtDTVRpbWVSYW5nZUludmFsaWQgZ2V0X0NvcmVNZWRpYV9rQ01UaW1lUmFu
Z2VJbnZhbGlkKCkKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaAppbmRleCA5
MDAyMDFhZTVmYjA2OWQ1OWY2MmRmMzY2ZmQ5MWRjMGRkYTNkMjA4Li45MzQwM2RjY2ExY2Q4MGY1
YmYwNTBiODQ3YTg0MDMzNzhmZWI3ZTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgKQEAgLTY4LDYgKzY4LDgg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1NjcnViYmluZygpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIGZsb2F0IHBsYXliYWNrUmF0ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFJl
ZjxUaW1lUmFuZ2VzPiBzZWVrYWJsZVJhbmdlcygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGRv
dWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgY2FuUGxheUZhc3RSZXZlcnNlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgVmVj
dG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucygpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIHVpbnQ2NF90IGF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4KCkg
Y29uc3QgPSAwOwpAQCAtODksNyArOTEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJ1
ZmZlcmVkVGltZUNoYW5nZWQoZG91YmxlKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tT
dGFydGVkVGltZUNoYW5nZWQoZG91YmxlIC8qIHBsYXliYWNrU3RhcnRlZFRpbWUgKi8pIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCByYXRlQ2hhbmdlZChib29sIC8qIGlzUGxheWluZyAqLywgZmxvYXQg
LyogcGxheWJhY2tSYXRlICovKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2Vla2FibGVSYW5nZXND
aGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2Vla2FibGVS
YW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmLCBkb3VibGUgLyogbGFzdE1vZGlmaWVkICov
LCBkb3VibGUgLyogbGl2ZUludGVydmFsICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2FuUGxh
eUZhc3RSZXZlcnNlQ2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYXVkaW9NZWRp
YVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlv
bj4mIC8qIG9wdGlvbnMgKi8sIHVpbnQ2NF90IC8qIHNlbGVjdGVkSW5kZXggKi8pIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBW
ZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiAvKiBvcHRpb25zICovLCB1aW50NjRfdCAvKiBz
ZWxlY3RlZEluZGV4ICovKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5o
CmluZGV4IDhhYzU0ZWNkNzUxMDliMmFhYmFjNjY5NjhmM2M0ZDI0ZGQyMWNlNzYuLmFjNzllNGEw
Y2YzZWU2MzY2MmZjODMzZmNmYWU4OWNlMDMxOGUxYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQuaApAQCAtNzksNiArNzksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Nj
cnViYmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgZmxvYXQgcGxheWJh
Y2tSYXRlKCkgY29uc3QgZmluYWw7CiAgICAgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2Vz
KCkgY29uc3QgZmluYWw7CisgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmll
ZFRpbWUoKSBjb25zdCBmaW5hbDsKKyAgICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29u
c3QgZmluYWw7CiAgICAgYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdCBmaW5hbDsKICAg
ICBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25z
KCkgY29uc3QgZmluYWw7CiAgICAgdWludDY0X3QgYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKSBj
b25zdCBmaW5hbDsKQEAgLTk1LDYgKzk3LDcgQEAgcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQ
T1JUIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50KCk7CiAKIHByaXZhdGU6Cisg
ICAgdm9pZCBwcm9ncmVzc0V2ZW50VGltZXJGaXJlZCgpOwogICAgIHN0YXRpYyBjb25zdCBWZWN0
b3I8V1RGOjpBdG9taWNTdHJpbmc+JiBvYnNlcnZlZEV2ZW50TmFtZXMoKTsKICAgICBjb25zdCBX
VEY6OkF0b21pY1N0cmluZyYgZXZlbnROYW1lQWxsKCk7CiAKQEAgLTEwMyw3ICsxMDYsNyBAQCBw
cml2YXRlOgogICAgIEhhc2hTZXQ8V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQqPiBtX2Ns
aWVudHM7CiAgICAgVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PiBtX2xlZ2libGVUcmFja3NGb3JN
ZW51OwogICAgIFZlY3RvcjxSZWZQdHI8QXVkaW9UcmFjaz4+IG1fYXVkaW9UcmFja3NGb3JNZW51
OwotICAgIAorCiAgICAgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUoKSBjb25zdDsKICAgICB2
b2lkIHVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpOwogICAgIHZvaWQgdXBkYXRlTWVkaWFT
ZWxlY3Rpb25JbmRpY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1t
CmluZGV4IDE5YmI1NGFjOTlmM2UyZWQ1NzU4MzlhMWIzZmQwYzk5NjNkNGMwNzYuLjIzYWU2NzA5
MWE1ZTRiZWVkYzk4MjBkYzU4OWJkYmUzMmQ3ZmQ4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC0xMzIsMTQgKzEzMiwxOSBAQCB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Ojp1cGRhdGVGb3JFdmVudE5hbWUoY29uc3QgV1RGOjpB
dG9taWNTdAogICAgICAgICB8fCBldmVudE5hbWUgPT0gZXZlbnROYW1lcygpLnRpbWV1cGRhdGVF
dmVudCkgewogICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gdGhpcy0+Y3VycmVudFRpbWUoKTsK
ICAgICAgICAgYXV0byBhbmNob3JUaW1lID0gW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBz
eXN0ZW1VcHRpbWVdOworICAgICAgICBmb3IgKGF1dG8gY2xpZW50IDogbV9jbGllbnRzKQorICAg
ICAgICAgICAgY2xpZW50LT5jdXJyZW50VGltZUNoYW5nZWQoY3VycmVudFRpbWUsIGFuY2hvclRp
bWUpOworICAgIH0KKworICAgIGlmIChhbGwKKyAgICAgICAgfHwgZXZlbnROYW1lID09IGV2ZW50
TmFtZXMoKS5wcm9ncmVzc0V2ZW50KSB7CiAgICAgICAgIGF1dG8gYnVmZmVyZWRUaW1lID0gdGhp
cy0+YnVmZmVyZWRUaW1lKCk7CiAgICAgICAgIGF1dG8gc2Vla2FibGVSYW5nZXMgPSB0aGlzLT5z
ZWVrYWJsZVJhbmdlcygpOwotCisgICAgICAgIGF1dG8gc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1v
ZGlmaWVkVGltZSA9IHRoaXMtPnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKTsK
KyAgICAgICAgYXV0byBsaXZlVXBkYXRlSW50ZXJ2YWwgPSB0aGlzLT5saXZlVXBkYXRlSW50ZXJ2
YWwoKTsKICAgICAgICAgZm9yIChhdXRvIGNsaWVudCA6IG1fY2xpZW50cykgewotICAgICAgICAg
ICAgY2xpZW50LT5jdXJyZW50VGltZUNoYW5nZWQoY3VycmVudFRpbWUsIGFuY2hvclRpbWUpOwog
ICAgICAgICAgICAgY2xpZW50LT5idWZmZXJlZFRpbWVDaGFuZ2VkKGJ1ZmZlcmVkVGltZSk7Ci0g
ICAgICAgICAgICAvLyBGSVhNRTogMTMwNzg4IC0gZmluZCBhIGJldHRlciBldmVudCBmcm9tIHdo
aWNoIHRvIHVwZGF0ZSBzZWVrYWJsZSByYW5nZXMuCi0gICAgICAgICAgICBjbGllbnQtPnNlZWth
YmxlUmFuZ2VzQ2hhbmdlZChzZWVrYWJsZVJhbmdlcyk7CisgICAgICAgICAgICBjbGllbnQtPnNl
ZWthYmxlUmFuZ2VzQ2hhbmdlZChzZWVrYWJsZVJhbmdlcywgc2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICAgICAgfQogICAgIH0KIApA
QCAtMzQ3LDYgKzM1Miw3IEBAIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+JiBXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6b2JzZXJ2ZWRFdmVudE5hCiAgICAgICAgIGV2ZW50
TmFtZXMoKS5wbGF5RXZlbnQsCiAgICAgICAgIGV2ZW50TmFtZXMoKS5yYXRlY2hhbmdlRXZlbnQs
CiAgICAgICAgIGV2ZW50TmFtZXMoKS50aW1ldXBkYXRlRXZlbnQsCisgICAgICAgIGV2ZW50TmFt
ZXMoKS5wcm9ncmVzc0V2ZW50LAogICAgICAgICBldmVudE5hbWVzKCkuYWRkdHJhY2tFdmVudCwK
ICAgICAgICAgZXZlbnROYW1lcygpLnJlbW92ZXRyYWNrRXZlbnQsCiAgICAgICAgIGV2ZW50TmFt
ZXMoKS52b2x1bWVjaGFuZ2VFdmVudCwKQEAgLTM5MSw2ICszOTcsMTYgQEAgUmVmPFRpbWVSYW5n
ZXM+IFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZWVrYWJsZVJhbmdlcygp
IGNvbnN0CiAgICAgcmV0dXJuIG1fbWVkaWFFbGVtZW50ID8gbV9tZWRpYUVsZW1lbnQtPnNlZWth
YmxlKCkgOiBUaW1lUmFuZ2VzOjpjcmVhdGUoKTsKIH0KIAorZG91YmxlIFdlYlBsYXliYWNrU2Vz
c2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1l
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxlbWVudC0+
c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIDogMDsKK30KKworZG91YmxlIFdl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpsaXZlVXBkYXRlSW50ZXJ2YWwoKSBj
b25zdAoreworICAgIHJldHVybiBtX21lZGlhRWxlbWVudCA/IG1fbWVkaWFFbGVtZW50LT5saXZl
VXBkYXRlSW50ZXJ2YWwoKSA6IDA7Cit9CisgICAgCiBib29sIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50OjpjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdAogewogICAgIHJldHVy
biBtX21lZGlhRWxlbWVudCA/IG1fbWVkaWFFbGVtZW50LT5taW5GYXN0UmV2ZXJzZVJhdGUoKSA8
IDAuMCA6IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IGRhMDliYmFmYTk5MmNmM2M1OWM2YWRiYzFkOWRhZjkxZTZiOWVm
ZmMuLjEyZTU0ODhmYTEzMTVhNjJiMWY3ZGZkMjJhZTlmMTc5M2I0ZTM2ZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE0OCw2
ICsxNDgsOSBAQCBwdWJsaWM6CiAgICAgZG91YmxlIG1pblRpbWVTZWVrYWJsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIDA7IH0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFu
Z2VzPiBidWZmZXJlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8
UGxhdGZvcm1UaW1lUmFuZ2VzPigpOyB9CiAKKyAgICBkb3VibGUgc2Vla2FibGVUaW1lUmFuZ2Vz
TGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KKyAgICBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQorCiAg
ICAgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAwOyB9CiAgICAgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jlc3MoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBmYWxzZTsgfQogCkBAIC04MjIsNiArODI1LDE2IEBAIE1lZGlhVGltZSBNZWRpYVBsYXll
cjo6bWluVGltZVNlZWthYmxlKCkKICAgICByZXR1cm4gbV9wcml2YXRlLT5taW5NZWRpYVRpbWVT
ZWVrYWJsZSgpOwogfQogCitkb3VibGUgTWVkaWFQbGF5ZXI6OnNlZWthYmxlVGltZVJhbmdlc0xh
c3RNb2RpZmllZFRpbWUoKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPnNlZWthYmxlVGltZVJh
bmdlc0xhc3RNb2RpZmllZFRpbWUoKTsKK30KKworZG91YmxlIE1lZGlhUGxheWVyOjpsaXZlVXBk
YXRlSW50ZXJ2YWwoKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmxpdmVVcGRhdGVJbnRlcnZh
bCgpOworfQorCiBib29sIE1lZGlhUGxheWVyOjpkaWRMb2FkaW5nUHJvZ3Jlc3MoKQogewogICAg
IHJldHVybiBtX3ByaXZhdGUtPmRpZExvYWRpbmdQcm9ncmVzcygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggMjFhZjRmZmI2Mzk1N2Ix
MzIxMzRkMmRmN2NhMmZkYzU3ZDUxMTMwMC4uY2JiMzY2MThjMDRjMTk2NzY5OTEyNDAxZWQxMDE3
ZTY5MGRlNzUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oCkBAIC0zOTAsNiArMzkwLDkgQEAgcHVibGljOgogICAgIE1lZGlhVGltZSBtaW5U
aW1lU2Vla2FibGUoKTsKICAgICBNZWRpYVRpbWUgbWF4VGltZVNlZWthYmxlKCk7CiAKKyAgICBk
b3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpOworICAgIGRvdWJsZSBs
aXZlVXBkYXRlSW50ZXJ2YWwoKTsKKwogICAgIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNzKCk7CiAK
ICAgICBkb3VibGUgdm9sdW1lKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGZlMWE2YjYxYzkzODVk
N2M1Yzk2YWY4OTU5OGVhYTE3MjJmYWRkZWEuLmYxZDMzYTk0MTUwM2Y5YTdmNzllNzBjOTdkZmEx
OWM4ZTM3NTdkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0xNDIsNiArMTQyLDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgZG91YmxlIG1pblRpbWVTZWVrYWJsZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAg
ICB2aXJ0dWFsIE1lZGlhVGltZSBtaW5NZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0IHsgcmV0dXJu
IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShtaW5UaW1lU2Vla2FibGUoKSk7IH0KICAgICB2
aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmll
ZFRpbWUoKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBkb3VibGUgbGl2ZVVwZGF0
ZUludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMDsgfQogCiAgICAgdmlydHVhbCB1bnNpZ25lZCBs
b25nIGxvbmcgdG90YWxCeXRlcygpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIGJv
b2wgZGlkTG9hZGluZ1Byb2dyZXNzKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmlu
ZGV4IGFiMTVmNjQyZWVkZGI0NDgxN2M5MWJlN2YxYTIyNGFmY2RlZDE3MmMuLmJhM2M3NDllZjU0
YTVmMmFmZDk0N2YzNzQ2NTczOTViNDEzNjE3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAg
LTIwOSw2ICsyMDksOSBAQCBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbjo6QXNzZXRTdGF0dXMgYXNzZXRTdGF0dXMoKSBjb25zdCBvdmVycmlkZTsKICAgICBsb25n
IGFzc2V0RXJyb3JDb2RlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICBkb3VibGUgc2Vla2FibGVU
aW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGRvdWJsZSBs
aXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZTsKKwogICAgIHZvaWQgY2hlY2tQbGF5
YWJpbGl0eSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0UmF0ZURvdWJsZShkb3VibGUpIG92ZXJy
aWRlOwogICAgIGRvdWJsZSByYXRlKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbQppbmRleCA5MjNmZGI5NDE1Y2IzODhiOTVjOTAxOWI5NWQxNWFjNjQyNjg1NjMwLi5mMGRm
YWUzMGY4ZmMzNjI2YzVjNmM3OTU2MDkyNjgxOGVmYTU4ZTNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMubW0KQEAgLTE0NzAsNiArMTQ3MCwyNCBAQCBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6cmF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVkUmF0ZTsKIH0K
IAorZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNlZWthYmxlVGlt
ZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdAoreworI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEwMDAwKQorICAgIHJl
dHVybiBbbV9hdlBsYXllckl0ZW0gc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZV07
CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK2RvdWJsZSBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjpsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdAoreworI2lm
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEz
MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQg
Pj0gMTEwMDAwKQorICAgIHJldHVybiBbbV9hdlBsYXllckl0ZW0gbGl2ZVVwZGF0ZUludGVydmFs
XTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRQcmVzZXJ2ZXNQaXRjaChib29sIHByZXNlcnZlc1Bp
dGNoKQogewogICAgIGlmIChtX2F2UGxheWVySXRlbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaAppbmRleCA1M2VkYTRiMDRhZmE2
NGI1MjkzODdhODNiY2MxYWI4MTU5N2IyMmYyLi5jMjc1OTg3NTVlZDcxMDA4NTQxMWMxNWEyOThh
ZGUyZTA3YTU2NjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YkFWUGxheWVyQ29udHJvbGxlci5oCkBAIC04Nyw2ICs4NywxNSBAQCBjbGFzcyBXZWJQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VBVktpdDsKIEBwcm9wZXJ0eSBCT09MIGFsbG93c0V4dGVybmFsUGxh
eWJhY2s7CiBAcHJvcGVydHkgKGdldHRlcj1pc1BpY3R1cmVJblBpY3R1cmVQb3NzaWJsZSkgQk9P
TCBwaWN0dXJlSW5QaWN0dXJlUG9zc2libGU7CiBAcHJvcGVydHkgKGdldHRlcj1pc1BpY3R1cmVJ
blBpY3R1cmVJbnRlcnJ1cHRlZCkgQk9PTCBwaWN0dXJlSW5QaWN0dXJlSW50ZXJydXB0ZWQ7CisK
K0Bwcm9wZXJ0eSBOU1RpbWVJbnRlcnZhbCBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRU
aW1lOworQHByb3BlcnR5IE5TVGltZUludGVydmFsIGxpdmVVcGRhdGVJbnRlcnZhbDsKKworQHBy
b3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmV0YWluLCByZWFkd3JpdGUpIEFWVmFsdWVU
aW1pbmcgKm1pblRpbWluZzsKK0Bwcm9wZXJ0eSAoTlNfTk9OQVRPTUlDX0lPU09OTFksIHJldGFp
biwgcmVhZHdyaXRlKSBBVlZhbHVlVGltaW5nICptYXhUaW1pbmc7CisKKy0gKHZvaWQpcmVzZXRN
ZWRpYVN0YXRlOworCiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0KaW5kZXggYTUzZmYxZmU2OTM0MTdj
YmIzNTJkMjY4NDI3OWExMzc5YjBkMDg4Mi4uMDllM2Q1MzA1YzRlYTM4MGI2ZGJmMDM0ZWJmYmMw
MmVjYTdlYzFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFW
UGxheWVyQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
QVZQbGF5ZXJDb250cm9sbGVyLm1tCkBAIC00MiwxMCArNDIsMjAgQEAKIAogU09GVF9MSU5LX0ZS
QU1FV09SS19PUFRJT05BTChBVktpdCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVktpdCwg
QVZQbGF5ZXJDb250cm9sbGVyKQorU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWS2l0LCBBVlZh
bHVlVGltaW5nKQogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotQGltcGxlbWVudGF0aW9u
IFdlYkFWUGxheWVyQ29udHJvbGxlcgorc3RhdGljIHZvaWQgKiBXZWJBVlBsYXllckNvbnRyb2xs
ZXJTZWVrYWJsZVRpbWVSYW5nZXNPYnNlcnZlckNvbnRleHQgPSAmV2ViQVZQbGF5ZXJDb250cm9s
bGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0Oworc3RhdGljIHZvaWQgKiBXZWJB
VlBsYXllckNvbnRyb2xsZXJIYXNMaXZlU3RyZWFtaW5nQ29udGVudE9ic2VydmVyQ29udGV4dCA9
ICZXZWJBVlBsYXllckNvbnRyb2xsZXJIYXNMaXZlU3RyZWFtaW5nQ29udGVudE9ic2VydmVyQ29u
dGV4dDsKKworc3RhdGljIGRvdWJsZSBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtU2Vl
a2FibGVUaW1lUmFuZ2VEdXJhdGlvbkh5c3RlcmVzaXNEZWx0YSA9IDMuMDsgLy8gTWluaW11bSBk
ZWx0YSBvZiB0aW1lIHJlcXVpcmVkIHRvIGNoYW5nZSB0aGUgZHVyYXRpb24gb2YgdGhlIHNlZWth
YmxlIHRpbWUgcmFuZ2UuCitzdGF0aWMgZG91YmxlIFdlYkFWUGxheWVyQ29udHJvbGxlckxpdmVT
dHJlYW1NaW5pbXVtVGFyZ2V0RHVyYXRpb24gPSAxLjA7IC8vIE1pbmltdW0gc2VnbWVudCBkdXJh
dGlvbiB0byBiZSBjb25zaWRlcmVkIHZhbGlkLgorc3RhdGljIGRvdWJsZSBXZWJBVlBsYXllckNv
bnRyb2xsZXJMaXZlU3RyZWFtU2Vla2FibGVUaW1lUmFuZ2VNaW5pbXVtRHVyYXRpb24gPSAzMC4w
OworCitAaW1wbGVtZW50YXRpb24gV2ViQVZQbGF5ZXJDb250cm9sbGVyIHsKKyAgICBCT09MIF9s
aXZlU3RyZWFtRXZlbnRNb2RlUG9zc2libGU7Cit9CiAKIC0gKGluc3RhbmNldHlwZSlpbml0CiB7
CkBAIC01NywxMSArNjcsMjAgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKIAogICAgIGluaXRBVlBs
YXllckNvbnRyb2xsZXIoKTsKICAgICBzZWxmLnBsYXllckNvbnRyb2xsZXJQcm94eSA9IFtbYWxs
b2NBVlBsYXllckNvbnRyb2xsZXJJbnN0YW5jZSgpIGluaXRdIGF1dG9yZWxlYXNlXTsKKyAgICBf
bGl2ZVN0cmVhbUV2ZW50TW9kZVBvc3NpYmxlID0gWUVTOworCisgICAgW3NlbGYgYWRkT2JzZXJ2
ZXI6c2VsZiBmb3JLZXlQYXRoOkAic2Vla2FibGVUaW1lUmFuZ2VzIiBvcHRpb25zOihOU0tleVZh
bHVlT2JzZXJ2aW5nT3B0aW9uT2xkIHwgTlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk5ldyB8IE5T
S2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFsKSBjb250ZXh0OldlYkFWUGxheWVyQ29udHJv
bGxlclNlZWthYmxlVGltZVJhbmdlc09ic2VydmVyQ29udGV4dF07CisgICAgW3NlbGYgYWRkT2Jz
ZXJ2ZXI6c2VsZiBmb3JLZXlQYXRoOkAiaGFzTGl2ZVN0cmVhbWluZ0NvbnRlbnQiIG9wdGlvbnM6
TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbkluaXRpYWwgY29udGV4dDpXZWJBVlBsYXllckNvbnRy
b2xsZXJIYXNMaXZlU3RyZWFtaW5nQ29udGVudE9ic2VydmVyQ29udGV4dF07CisKKwogICAgIHJl
dHVybiBzZWxmOwogfQogCiAtICh2b2lkKWRlYWxsb2MKIHsKKyAgICBbc2VsZiByZW1vdmVPYnNl
cnZlcjpzZWxmIGZvcktleVBhdGg6QCJzZWVrYWJsZVRpbWVSYW5nZXMiIGNvbnRleHQ6V2ViQVZQ
bGF5ZXJDb250cm9sbGVyU2Vla2FibGVUaW1lUmFuZ2VzT2JzZXJ2ZXJDb250ZXh0XTsKKyAgICBb
c2VsZiByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJoYXNMaXZlU3RyZWFtaW5nQ29u
dGVudCIgY29udGV4dDpXZWJBVlBsYXllckNvbnRyb2xsZXJIYXNMaXZlU3RyZWFtaW5nQ29udGVu
dE9ic2VydmVyQ29udGV4dF07CisKICAgICBbX3BsYXllckNvbnRyb2xsZXJQcm94eSByZWxlYXNl
XTsKICAgICBbX2xvYWRlZFRpbWVSYW5nZXMgcmVsZWFzZV07CiAgICAgW19zZWVrYWJsZVRpbWVS
YW5nZXMgcmVsZWFzZV07CkBAIC00MjAsNiArNDM5LDEyMSBAQCAtICh2b2lkKXRvZ2dsZU11dGVk
OihpZClzZW5kZXIKICAgICAgICAgc2VsZi5kZWxlZ2F0ZS0+dG9nZ2xlTXV0ZWQoKTsKIH0KIAor
LSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmpl
Y3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeSAqKWNoYW5nZSBjb250ZXh0Oih2b2lk
ICopY29udGV4dAoreworICAgIFVOVVNFRF9QQVJBTShvYmplY3QpOworICAgIFVOVVNFRF9QQVJB
TShrZXlQYXRoKTsKKworICAgIGlmIChXZWJBVlBsYXllckNvbnRyb2xsZXJTZWVrYWJsZVRpbWVS
YW5nZXNPYnNlcnZlckNvbnRleHQgPT0gY29udGV4dCkgeworICAgICAgICBOU0FycmF5ICpvbGRB
cnJheSA9IGNoYW5nZVtOU0tleVZhbHVlQ2hhbmdlT2xkS2V5XTsKKyAgICAgICAgTlNBcnJheSAq
bmV3QXJyYXkgPSBjaGFuZ2VbTlNLZXlWYWx1ZUNoYW5nZU5ld0tleV07CisgICAgICAgIGlmIChb
b2xkQXJyYXkgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dICYmIFtuZXdBcnJheSBpc0tp
bmRPZkNsYXNzOltOU0FycmF5IGNsYXNzXV0pIHsKKyAgICAgICAgICAgIENNVGltZVJhbmdlIG9s
ZFNlZWthYmxlVGltZVJhbmdlID0gW29sZEFycmF5IGNvdW50XSA+IDAgPyBbW29sZEFycmF5IGZp
cnN0T2JqZWN0XSBDTVRpbWVSYW5nZVZhbHVlXSA6IGtDTVRpbWVSYW5nZUludmFsaWQ7CisgICAg
ICAgICAgICBDTVRpbWVSYW5nZSBuZXdTZWVrYWJsZVRpbWVSYW5nZSA9IFtuZXdBcnJheSBjb3Vu
dF0gPiAwID8gW1tuZXdBcnJheSBmaXJzdE9iamVjdF0gQ01UaW1lUmFuZ2VWYWx1ZV0gOiBrQ01U
aW1lUmFuZ2VJbnZhbGlkOworICAgICAgICAgICAgaWYgKCFDTVRpbWVSYW5nZUVxdWFsKG9sZFNl
ZWthYmxlVGltZVJhbmdlLCBuZXdTZWVrYWJsZVRpbWVSYW5nZSkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoQ01USU1FUkFOR0VfSVNfVkFMSUQobmV3U2Vla2FibGVUaW1lUmFuZ2UpICYmIENNVElN
RVJBTkdFX0lTX1ZBTElEKG9sZFNlZWthYmxlVGltZVJhbmdlKSAmJiBfbGl2ZVN0cmVhbUV2ZW50
TW9kZVBvc3NpYmxlICYmICFDTVRpbWVSYW5nZUNvbnRhaW5zVGltZShuZXdTZWVrYWJsZVRpbWVS
YW5nZSwgb2xkU2Vla2FibGVUaW1lUmFuZ2Uuc3RhcnQpKQorICAgICAgICAgICAgICAgICAgICBf
bGl2ZVN0cmVhbUV2ZW50TW9kZVBvc3NpYmxlID0gTk87CisKKyAgICAgICAgICAgICAgICBbc2Vs
ZiB1cGRhdGVNaW5NYXhUaW1pbmddOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBl
bHNlIGlmIChXZWJBVlBsYXllckNvbnRyb2xsZXJIYXNMaXZlU3RyZWFtaW5nQ29udGVudE9ic2Vy
dmVyQ29udGV4dCA9PSBjb250ZXh0KQorICAgICAgICBbc2VsZiB1cGRhdGVNaW5NYXhUaW1pbmdd
OworfQorCistICh2b2lkKXVwZGF0ZU1pbk1heFRpbWluZworeworICAgIEFWVmFsdWVUaW1pbmcg
Km5ld01pblRpbWluZyA9IG5pbDsKKyAgICBBVlZhbHVlVGltaW5nICpuZXdNYXhUaW1pbmcgPSBu
aWw7CisKKyAgICAvLyBGb3IgbGl2ZSBzdHJlYW1zIHZhbHVlIHRpbWluZ3MgZm9yIHRoZSBtaW4g
YW5kIG1heCB0aW1lcyBhcmUgbmVlZGVkLgorICAgIGlmIChbc2VsZiBoYXNMaXZlU3RyZWFtaW5n
Q29udGVudF0gJiYgKFtbc2VsZiBzZWVrYWJsZVRpbWVSYW5nZXNdIGNvdW50XSA+IDApKSB7Cisg
ICAgICAgIENNVGltZVJhbmdlIHNlZWthYmxlVGltZVJhbmdlID0gW1tbc2VsZiBzZWVrYWJsZVRp
bWVSYW5nZXNdIGZpcnN0T2JqZWN0XSBDTVRpbWVSYW5nZVZhbHVlXTsKKyAgICAgICAgaWYgKENN
VElNRVJBTkdFX0lTX1ZBTElEKHNlZWthYmxlVGltZVJhbmdlKSkgeworICAgICAgICAgICAgTlNU
aW1lSW50ZXJ2YWwgb2xkTWluVGltZSA9IFtbc2VsZiBtaW5UaW1pbmddIGN1cnJlbnRWYWx1ZV07
CisgICAgICAgICAgICBOU1RpbWVJbnRlcnZhbCBvbGRNYXhUaW1lID0gW1tzZWxmIG1heFRpbWlu
Z10gY3VycmVudFZhbHVlXTsKKyAgICAgICAgICAgIE5TVGltZUludGVydmFsIG5ld01pblRpbWUg
PSBDTVRpbWVHZXRTZWNvbmRzKHNlZWthYmxlVGltZVJhbmdlLnN0YXJ0KTsKKyAgICAgICAgICAg
IE5TVGltZUludGVydmFsIG5ld01heFRpbWUgPSBDTVRpbWVHZXRTZWNvbmRzKHNlZWthYmxlVGlt
ZVJhbmdlLnN0YXJ0KSArIENNVGltZUdldFNlY29uZHMoc2Vla2FibGVUaW1lUmFuZ2UuZHVyYXRp
b24pICsgKENBQ3VycmVudE1lZGlhVGltZSgpIC0gW3NlbGYgc2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZV0pOworICAgICAgICAgICAgZG91YmxlIG5ld01pblRpbWluZ1JhdGUgPSBf
bGl2ZVN0cmVhbUV2ZW50TW9kZVBvc3NpYmxlID8gMC4wIDogMS4wOworICAgICAgICAgICAgQk9P
TCBtaW5UaW1pbmdOZWVkc1VwZGF0ZSA9IFlFUzsKKyAgICAgICAgICAgIEJPT0wgbWF4VGltaW5n
TmVlZHNVcGRhdGUgPSBZRVM7CisKKyAgICAgICAgICAgIGlmIChpc2Zpbml0ZShbc2VsZiBsaXZl
VXBkYXRlSW50ZXJ2YWxdKSAmJiBbc2VsZiBsaXZlVXBkYXRlSW50ZXJ2YWxdID4gV2ViQVZQbGF5
ZXJDb250cm9sbGVyTGl2ZVN0cmVhbU1pbmltdW1UYXJnZXREdXJhdGlvbikgeworICAgICAgICAg
ICAgICAgIC8vIE9ubHkgdXBkYXRlIHRoZSB0aW1pbmcgaWYgdGhlIG5ldyB0aW1lIGRpZmZlcnMg
Ynkgb25lIHNlZ21lbnQgZHVyYXRpb24gcGx1cyB0aGUgaHlzdGVyZXNpcyBkZWx0YS4KKyAgICAg
ICAgICAgICAgICBtaW5UaW1pbmdOZWVkc1VwZGF0ZSA9IGlzbmFuKG9sZE1pblRpbWUpIHx8IChm
YWJzKG9sZE1pblRpbWUgLSBuZXdNaW5UaW1lKSA+IFtzZWxmIGxpdmVVcGRhdGVJbnRlcnZhbF0g
KyBXZWJBVlBsYXllckNvbnRyb2xsZXJMaXZlU3RyZWFtU2Vla2FibGVUaW1lUmFuZ2VEdXJhdGlv
bkh5c3RlcmVzaXNEZWx0YSkgfHwgKFtbc2VsZiBtaW5UaW1pbmddIHJhdGVdICE9IG5ld01pblRp
bWluZ1JhdGUpOworICAgICAgICAgICAgICAgIG1heFRpbWluZ05lZWRzVXBkYXRlID0gaXNuYW4o
b2xkTWF4VGltZSkgfHwgKGZhYnMob2xkTWF4VGltZSAtIG5ld01heFRpbWUpID4gW3NlbGYgbGl2
ZVVwZGF0ZUludGVydmFsXSArIFdlYkFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1TZWVrYWJs
ZVRpbWVSYW5nZUR1cmF0aW9uSHlzdGVyZXNpc0RlbHRhKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaWYgKG1pblRpbWluZ05lZWRzVXBkYXRlIHx8IG1heFRpbWluZ05lZWRzVXBkYXRl
KSB7CisgICAgICAgICAgICAgICAgbmV3TWluVGltaW5nID0gW2dldEFWVmFsdWVUaW1pbmdDbGFz
cygpIHZhbHVlVGltaW5nV2l0aEFuY2hvclZhbHVlOm5ld01pblRpbWUgYW5jaG9yVGltZVN0YW1w
OltnZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSBjdXJyZW50VGltZVN0YW1wXSByYXRlOm5ld01pblRp
bWluZ1JhdGVdOworICAgICAgICAgICAgICAgIG5ld01heFRpbWluZyA9IFtnZXRBVlZhbHVlVGlt
aW5nQ2xhc3MoKSB2YWx1ZVRpbWluZ1dpdGhBbmNob3JWYWx1ZTpuZXdNYXhUaW1lIGFuY2hvclRp
bWVTdGFtcDpbZ2V0QVZWYWx1ZVRpbWluZ0NsYXNzKCkgY3VycmVudFRpbWVTdGFtcF0gcmF0ZTox
LjBdOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBuZXdNaW5UaW1pbmcg
PSBbc2VsZiBtaW5UaW1pbmddOworICAgICAgICAgICAgICAgIG5ld01heFRpbWluZyA9IFtzZWxm
IG1heFRpbWluZ107CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAo
IW5ld01pblRpbWluZykKKyAgICAgICAgbmV3TWluVGltaW5nID0gW2dldEFWVmFsdWVUaW1pbmdD
bGFzcygpIHZhbHVlVGltaW5nV2l0aEFuY2hvclZhbHVlOltzZWxmIG1pblRpbWVdIGFuY2hvclRp
bWVTdGFtcDpOQU4gcmF0ZTowLjBdOworCisgICAgaWYgKCFuZXdNYXhUaW1pbmcpCisgICAgICAg
IG5ld01heFRpbWluZyA9IFtnZXRBVlZhbHVlVGltaW5nQ2xhc3MoKSB2YWx1ZVRpbWluZ1dpdGhB
bmNob3JWYWx1ZTpbc2VsZiBtYXhUaW1lXSBhbmNob3JUaW1lU3RhbXA6TkFOIHJhdGU6MC4wXTsK
KworICAgIFtzZWxmIHNldE1pblRpbWluZzpuZXdNaW5UaW1pbmddOworICAgIFtzZWxmIHNldE1h
eFRpbWluZzpuZXdNYXhUaW1pbmddOworfQorCisKKy0gKEJPT0wpaGFzU2Vla2FibGVMaXZlU3Ry
ZWFtaW5nQ29udGVudAoreworICAgIEJPT0wgaGFzU2Vla2FibGVMaXZlU3RyZWFtaW5nQ29udGVu
dCA9IE5POworCisgICAgaWYgKFtzZWxmIGhhc0xpdmVTdHJlYW1pbmdDb250ZW50XSAmJiBbc2Vs
ZiBtaW5UaW1pbmddICYmIFtzZWxmIG1heFRpbWluZ10gJiYgaXNmaW5pdGUoW3NlbGYgbGl2ZVVw
ZGF0ZUludGVydmFsXSkgJiYgW3NlbGYgbGl2ZVVwZGF0ZUludGVydmFsXSA+IFdlYkFWUGxheWVy
Q29udHJvbGxlckxpdmVTdHJlYW1NaW5pbXVtVGFyZ2V0RHVyYXRpb24gJiYgKFtzZWxmIHNlZWth
YmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWVdICE9IDAuMCkpIHsKKyAgICAgICAgTlNUaW1l
SW50ZXJ2YWwgdGltZVN0YW1wID0gW2dldEFWVmFsdWVUaW1pbmdDbGFzcygpIGN1cnJlbnRUaW1l
U3RhbXBdOworICAgICAgICBOU1RpbWVJbnRlcnZhbCBtaW5UaW1lID0gW1tzZWxmIG1pblRpbWlu
Z10gdmFsdWVGb3JUaW1lU3RhbXA6dGltZVN0YW1wXTsKKyAgICAgICAgTlNUaW1lSW50ZXJ2YWwg
bWF4VGltZSA9IFtbc2VsZiBtYXhUaW1pbmddIHZhbHVlRm9yVGltZVN0YW1wOnRpbWVTdGFtcF07
CisgICAgICAgIGhhc1NlZWthYmxlTGl2ZVN0cmVhbWluZ0NvbnRlbnQgPSAoKG1heFRpbWUgLSBt
aW5UaW1lKSA+IFdlYkFWUGxheWVyQ29udHJvbGxlckxpdmVTdHJlYW1TZWVrYWJsZVRpbWVSYW5n
ZU1pbmltdW1EdXJhdGlvbik7CisgICAgfQorCisgICAgcmV0dXJuIGhhc1NlZWthYmxlTGl2ZVN0
cmVhbWluZ0NvbnRlbnQ7Cit9CisKKysgKE5TU2V0ICopa2V5UGF0aHNGb3JWYWx1ZXNBZmZlY3Rp
bmdIYXNTZWVrYWJsZUxpdmVTdHJlYW1pbmdDb250ZW50Cit7CisgICAgcmV0dXJuIFtOU1NldCBz
ZXRXaXRoT2JqZWN0czpAImhhc0xpdmVTdHJlYW1pbmdDb250ZW50IiwgQCJtaW5UaW1pbmciLCBA
Im1heFRpbWluZyIsIEAic2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSIsIG5pbF07
Cit9CisKKy0gKHZvaWQpcmVzZXRNZWRpYVN0YXRlCit7CisgICAgc2VsZi5jb250ZW50RHVyYXRp
b24gPSAwOworICAgIHNlbGYubWF4VGltZSA9IDA7CisgICAgc2VsZi5jb250ZW50RHVyYXRpb25X
aXRoaW5FbmRUaW1lcyA9IDA7CisgICAgc2VsZi5sb2FkZWRUaW1lUmFuZ2VzID0gQFtdOworCisg
ICAgc2VsZi5jYW5QbGF5ID0gTk87CisgICAgc2VsZi5jYW5QYXVzZSA9IE5POworICAgIHNlbGYu
Y2FuVG9nZ2xlUGxheWJhY2sgPSBOTzsKKyAgICBzZWxmLmhhc0VuYWJsZWRBdWRpbyA9IE5POwor
ICAgIHNlbGYuY2FuU2VlayA9IE5POworICAgIHNlbGYubWluVGltZSA9IDA7CisgICAgc2VsZi5z
dGF0dXMgPSBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXNVbmtub3duOworCisgICAgc2VsZi50aW1p
bmcgPSBuaWw7CisgICAgc2VsZi5yYXRlID0gMDsKKworICAgIHNlbGYuc2Vla2FibGVUaW1lUmFu
Z2VzID0gW05TTXV0YWJsZUFycmF5IGFycmF5XTsKKworICAgIHNlbGYuY2FuU2NhbkJhY2t3YXJk
ID0gTk87CisKKyAgICBzZWxmLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zID0gbmlsOworICAg
IHNlbGYuY3VycmVudEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb24gPSBuaWw7CisKKyAgICBzZWxm
LmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMgPSBuaWw7CisgICAgc2VsZi5jdXJyZW50TGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uID0gbmlsOworICAgIF9saXZlU3RyZWFtRXZlbnRNb2Rl
UG9zc2libGUgPSBZRVM7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkFWTWVkaWFT
ZWxlY3Rpb25PcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0LmgKaW5kZXggNDE0ODM5MmRh
YmYyMmFjZjdhYzgyMTk0OGI1OTlmMWVlNzI0YzRmNy4uMjMzMDJmYmQxYmU2ODY3ZThmZmY1ZDlh
OTc0MDU2MDc4ZTljZGU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0LmgKQEAgLTc2LDcg
Kzc2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY3VycmVudFRpbWVDaGFu
Z2VkKGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGFuY2hvclRpbWUpIG92ZXJyaWRlOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUpIG92ZXJyaWRl
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZs
b2F0IHBsYXliYWNrUmF0ZSkgb3ZlcnJpZGU7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZWVr
YWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYpIG92ZXJyaWRlOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5nZXMmLCBk
b3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkgb3ZlcnJp
ZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKGJv
b2wpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlv
bk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlv
bnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1l
ZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggNTczODliN2UzYWMyODIx
MjI2YTRhMTRlNTMzNzI5NjBlZjBhNDQyYi4uZmVkNjU5YjE1ZGVmZTRiYWUyNzE5YmEwZDk3ZTk2
MjcyM2UxZGVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdC5tbQpAQCAtNjAsNyArNjAs
NyBAQCBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6V2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlQVZLaXQoV2ViUGxheWJhY2tTZQogICAgIGN1cnJlbnRUaW1lQ2hhbmdlZChtb2Rl
bC5jdXJyZW50VGltZSgpLCBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dIHN5c3RlbVVwdGlt
ZV0pOwogICAgIGJ1ZmZlcmVkVGltZUNoYW5nZWQobW9kZWwuYnVmZmVyZWRUaW1lKCkpOwogICAg
IHJhdGVDaGFuZ2VkKG1vZGVsLmlzUGxheWluZygpLCBtb2RlbC5wbGF5YmFja1JhdGUoKSk7Ci0g
ICAgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKG1vZGVsLnNlZWthYmxlUmFuZ2VzKCkpOworICAgIHNl
ZWthYmxlUmFuZ2VzQ2hhbmdlZChtb2RlbC5zZWVrYWJsZVJhbmdlcygpLCBtb2RlbC5zZWVrYWJs
ZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCksIG1vZGVsLmxpdmVVcGRhdGVJbnRlcnZhbCgp
KTsKICAgICBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKG1vZGVsLmNhblBsYXlGYXN0UmV2ZXJz
ZSgpKTsKICAgICBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQobW9kZWwuYXVkaW9N
ZWRpYVNlbGVjdGlvbk9wdGlvbnMoKSwgbW9kZWwuYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgoKSk7
CiAgICAgbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQobW9kZWwubGVnaWJsZU1l
ZGlhU2VsZWN0aW9uT3B0aW9ucygpLCBtb2RlbC5sZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KCkp
OwpAQCAtNzgsMzMgKzc4LDcgQEAgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6On5X
ZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdCgpCiAKIHZvaWQgV2ViUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlQVZLaXQ6OnJlc2V0TWVkaWFTdGF0ZSgpCiB7Ci0gICAgV2ViQVZQbGF5ZXJD
b250cm9sbGVyKiBwbGF5ZXJDb250cm9sbGVyID0gbV9wbGF5ZXJDb250cm9sbGVyLmdldCgpOwot
Ci0gICAgcGxheWVyQ29udHJvbGxlci5jb250ZW50RHVyYXRpb24gPSAwOwotICAgIHBsYXllckNv
bnRyb2xsZXIubWF4VGltZSA9IDA7Ci0gICAgcGxheWVyQ29udHJvbGxlci5jb250ZW50RHVyYXRp
b25XaXRoaW5FbmRUaW1lcyA9IDA7Ci0gICAgcGxheWVyQ29udHJvbGxlci5sb2FkZWRUaW1lUmFu
Z2VzID0gQFtdOwotCi0gICAgcGxheWVyQ29udHJvbGxlci5jYW5QbGF5ID0gTk87Ci0gICAgcGxh
eWVyQ29udHJvbGxlci5jYW5QYXVzZSA9IE5POwotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuVG9n
Z2xlUGxheWJhY2sgPSBOTzsKLSAgICBwbGF5ZXJDb250cm9sbGVyLmhhc0VuYWJsZWRBdWRpbyA9
IE5POwotICAgIHBsYXllckNvbnRyb2xsZXIuY2FuU2VlayA9IE5POwotICAgIHBsYXllckNvbnRy
b2xsZXIubWluVGltZSA9IDA7Ci0gICAgcGxheWVyQ29udHJvbGxlci5zdGF0dXMgPSBBVlBsYXll
ckNvbnRyb2xsZXJTdGF0dXNVbmtub3duOwotCi0gICAgcGxheWVyQ29udHJvbGxlci50aW1pbmcg
PSBuaWw7Ci0gICAgcGxheWVyQ29udHJvbGxlci5yYXRlID0gMDsKLQotICAgIHBsYXllckNvbnRy
b2xsZXIuc2Vla2FibGVUaW1lUmFuZ2VzID0gW05TTXV0YWJsZUFycmF5IGFycmF5XTsKLQotICAg
IHBsYXllckNvbnRyb2xsZXIuY2FuU2NhbkJhY2t3YXJkID0gTk87Ci0KLSAgICBwbGF5ZXJDb250
cm9sbGVyLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zID0gbmlsOwotICAgIHBsYXllckNvbnRy
b2xsZXIuY3VycmVudEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb24gPSBuaWw7Ci0KLSAgICBwbGF5
ZXJDb250cm9sbGVyLmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMgPSBuaWw7Ci0gICAgcGxh
eWVyQ29udHJvbGxlci5jdXJyZW50TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uID0gbmlsOwor
ICAgIFttX3BsYXllckNvbnRyb2xsZXIgcmVzZXRNZWRpYVN0YXRlXTsKIH0KIAogdm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6ZHVyYXRpb25DaGFuZ2VkKGRvdWJsZSBkdXJh
dGlvbikKQEAgLTE1Miw3ICsxMjYsNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZUFWS2l0OjpyYXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhYwogICAgIFtt
X3BsYXllckNvbnRyb2xsZXIgc2V0UmF0ZTppc1BsYXlpbmcgPyBwbGF5YmFja1JhdGUgOiAwLl07
CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQordm9pZCBXZWJQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVS
YW5nZXMmIHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVw
ZGF0ZUludGVydmFsKQogewogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gc2Vla2FibGVS
YW5nZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKIApAQCAtMTY1
LDYgKzEzOSw4IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQ6OnNlZWth
YmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1lUmFuZ2VzJiB0CiAgICAgfQogCiAgICAgW21fcGxh
eWVyQ29udHJvbGxlciBzZXRTZWVrYWJsZVRpbWVSYW5nZXM6c2Vla2FibGVSYW5nZXMuZ2V0KCld
OworICAgIFttX3BsYXllckNvbnRyb2xsZXIgc2V0U2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlm
aWVkVGltZTogbGFzdE1vZGlmaWVkVGltZV07CisgICAgW21fcGxheWVyQ29udHJvbGxlciBzZXRM
aXZlVXBkYXRlSW50ZXJ2YWw6bGl2ZVVwZGF0ZUludGVydmFsXTsKIH0KIAogdm9pZCBXZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDo6Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29s
IGNhblBsYXlGYXN0UmV2ZXJzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4
IDk3ODcxMzkwNDQyNGRiZDk4MDI2MTM1MGIxYjE2NWQzODM2OThmYjguLmExYjAwZTY2MGFjNDdi
MjEwMzE0MGRhODUwOWUxOTZmMWYzMGFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktp
dC5tbQpAQCAtMTU1LDYgKzE1NSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1NjcnViYmluZygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgZmxvYXQgcGxheWJhY2tSYXRl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUmVmPFRpbWVSYW5nZXM+IHNlZWthYmxlUmFuZ2VzKCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmll
ZFRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IGF1ZGlvTWVkaWFTZWxlY3Rp
b25PcHRpb25zKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdWludDY0X3QgYXVkaW9NZWRpYVNlbGVj
dGVkSW5kZXgoKSBjb25zdCBvdmVycmlkZTsKQEAgLTE3Myw3ICsxNzUsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGFu
Y2hvclRpbWUpIG92ZXJyaWRlOwogICAgIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUp
IG92ZXJyaWRlOwogICAgIHZvaWQgcmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBs
YXliYWNrUmF0ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29u
c3QgVGltZVJhbmdlcyYpIG92ZXJyaWRlOworICAgIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2Vk
KGNvbnN0IFRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVV
cGRhdGVJbnRlcnZhbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjYW5QbGF5RmFzdFJldmVyc2VDaGFu
Z2VkKGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnND
aGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2
NF90IHNlbGVjdGVkSW5kZXgpIG92ZXJyaWRlOwogICAgIHZvaWQgbGVnaWJsZU1lZGlhU2VsZWN0
aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0
aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkgb3ZlcnJpZGU7CkBAIC0zNTIsMTggKzM1NCwx
OCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0Ojp2aWRlb0RpbWVu
c2lvbnNDaGFuZ2VkKGNvbnN0IEZsb2F0U2l6ZQogICAgICAgICBjbGllbnQtPnZpZGVvRGltZW5z
aW9uc0NoYW5nZWQodmlkZW9EaW1lbnNpb25zKTsKIH0KIAotdm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKGNvbnN0IFRpbWVSYW5n
ZXMmIHRpbWVSYW5nZXMpCit2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0
OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYgdGltZVJhbmdlcywgZG91
YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCiB7CiAgICAg
aWYgKFdlYlRocmVhZElzQ3VycmVudCgpKSB7CiAgICAgICAgIFJlZlB0cjxXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyQ29udGV4dD4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKLSAgICAgICAgZGlz
cGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3Byb3RlY3RlZFRoaXMsIHBs
YXRmb3JtVGltZVJhbmdlcyA9IHRpbWVSYW5nZXMucmFuZ2VzKCldIHsKLSAgICAgICAgICAgIHBy
b3RlY3RlZFRoaXMtPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChUaW1lUmFuZ2VzOjpjcmVhdGUocGxh
dGZvcm1UaW1lUmFuZ2VzKSk7CisgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9t
YWluX3F1ZXVlKCksIFtwcm90ZWN0ZWRUaGlzLCBwbGF0Zm9ybVRpbWVSYW5nZXMgPSB0aW1lUmFu
Z2VzLnJhbmdlcygpLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWxdIHsKKyAg
ICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChUaW1lUmFuZ2Vz
OjpjcmVhdGUocGxhdGZvcm1UaW1lUmFuZ2VzKSwgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0
ZUludGVydmFsKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBm
b3IgKGF1dG8gJmNsaWVudCA6IG1fcGxheWJhY2tDbGllbnRzKQotICAgICAgICBjbGllbnQtPnNl
ZWthYmxlUmFuZ2VzQ2hhbmdlZCh0aW1lUmFuZ2VzKTsKKyAgICAgICAgY2xpZW50LT5zZWVrYWJs
ZVJhbmdlc0NoYW5nZWQodGltZVJhbmdlcywgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUlu
dGVydmFsKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6
Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChib29sIGNhblBsYXlGYXN0UmV2ZXJzZSkKQEAgLTcz
MCw2ICs3MzIsMTggQEAgUmVmPFRpbWVSYW5nZXM+IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXJDb250ZXh0OjpzZWVrYWJsZVJhbmdlcygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGxheWJhY2tN
b2RlbCA/IG1fcGxheWJhY2tNb2RlbC0+c2Vla2FibGVSYW5nZXMoKSA6IFRpbWVSYW5nZXM6OmNy
ZWF0ZSgpOwogfQogCitkb3VibGUgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6
OnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdAoreworICAgIEFTU0VS
VChpc1VJVGhyZWFkKCkpOworICAgIHJldHVybiBtX3BsYXliYWNrTW9kZWwgPyBtX3BsYXliYWNr
TW9kZWwtPnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSA6IDA7Cit9CisKK2Rv
dWJsZSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6bGl2ZVVwZGF0ZUludGVy
dmFsKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNVSVRocmVhZCgpKTsKKyAgICByZXR1cm4gbV9w
bGF5YmFja01vZGVsID8gbV9wbGF5YmFja01vZGVsLT5saXZlVXBkYXRlSW50ZXJ2YWwoKSA6IDA7
Cit9CisKIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OmNhblBsYXlG
YXN0UmV2ZXJzZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzVUlUaHJlYWQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlTWFjLmgKaW5kZXggMTAxZjlhMmY5MTE1ZmMwNDQ5MTQ1OTNhNTIyOWU4YjMyNjA4
ZWM4MC4uYmY3ZmQ5ZDdiNTJjZTExZDAxMTA5OGU1MjVhNWZlMTRjZDIyM2Q4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VNYWMuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBkdXJhdGlvbkNoYW5nZWQoZG91YmxlKSBmaW5hbDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUgLypjdXJyZW50VGltZSovLCBkb3Vi
bGUgLyphbmNob3JUaW1lKi8pIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmF0ZUNo
YW5nZWQoYm9vbCAvKmlzUGxheWluZyovLCBmbG9hdCAvKnBsYXliYWNrUmF0ZSovKSBmaW5hbDsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBUaW1l
UmFuZ2VzJikgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZWVrYWJsZVJhbmdlc0No
YW5nZWQoY29uc3QgVGltZVJhbmdlcyYsIGRvdWJsZSAvKmxhc3RNb2RpZmllZFRpbWUqLywgZG91
YmxlIC8qbGl2ZVVwZGF0ZUludGVydmFsKi8pIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNl
bGVjdGlvbk9wdGlvbj4mIC8qb3B0aW9ucyovLCB1aW50NjRfdCAvKnNlbGVjdGVkSW5kZXgqLykg
ZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRp
b25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiAvKm9wdGlvbnMq
LywgdWludDY0X3QgLypzZWxlY3RlZEluZGV4Ki8pIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCkgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZU1hYy5tbQppbmRleCBjYWMxYzgwMzU1ZDU3MjRlNDhhZTdiZDg0NzAx
ODM1MjAxYjJjNGE0Li5iYjI3MWYyYmVkZmQ0Yzc1NmIxMzgzZmFhMjY0Mzg4NTgxNmQ0ZGQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KQEAgLTEzMCw3ICsxMzAsNyBAQCBzdGF0aWMgUmV0
YWluUHRyPE5TTXV0YWJsZUFycmF5PiB0aW1lUmFuZ2VzVG9BcnJheShjb25zdCBUaW1lUmFuZ2Vz
JiB0aW1lUmFuZ2VzKQogfQogI2VuZGlmCiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlTWFjOjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgVGltZVJhbmdlcyYgdGltZVJhbmdl
cykKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpzZWVrYWJsZVJhbmdlc0No
YW5nZWQoY29uc3QgVGltZVJhbmdlcyYgdGltZVJhbmdlcywgZG91YmxlLCBkb3VibGUpCiB7CiAj
aWYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQogICAgIFtwbGF5QmFja0Nv
bnRyb2xzTWFuYWdlcigpIHNldFNlZWthYmxlVGltZVJhbmdlczp0aW1lUmFuZ2VzVG9BcnJheSh0
aW1lUmFuZ2VzKS5nZXQoKV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY29jb2EvQVZLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9B
VktpdFNQSS5oCmluZGV4IDc5MTUxN2JjZTFiOTk2ZTU0ZTBhZWRkODIzZGViZjdiYjY5YzQwMjMu
LmUxYmUyYjRiMWMyZmIzM2ExNWVhNDk5MmRjNDZhYzViMTFlMzhhYWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9BVktpdFNQSS5oCkBAIC0xNDcsNiArMTQ3LDEyIEBA
IE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAaW50ZXJmYWNlIEFWVmFsdWVUaW1pbmcgKCkKICsg
KEFWVmFsdWVUaW1pbmcgKil2YWx1ZVRpbWluZ1dpdGhBbmNob3JWYWx1ZTooZG91YmxlKWFuY2hv
clZhbHVlIGFuY2hvclRpbWVTdGFtcDooTlNUaW1lSW50ZXJ2YWwpdGltZVN0YW1wIHJhdGU6KGRv
dWJsZSlyYXRlOwogQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRv
dWJsZSBjdXJyZW50VmFsdWU7CitAcHJvcGVydHkgKE5TX05PTkFUT01JQ19JT1NPTkxZLCByZWFk
b25seSkgZG91YmxlIHJhdGU7CitAcHJvcGVydHkgKE5TX05PTkFUT01JQ19JT1NPTkxZLCByZWFk
b25seSkgTlNUaW1lSW50ZXJ2YWwgYW5jaG9yVGltZVN0YW1wOworQHByb3BlcnR5IChOU19OT05B
VE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRvdWJsZSBhbmNob3JWYWx1ZTsKKworKyAoTlNUaW1l
SW50ZXJ2YWwpY3VycmVudFRpbWVTdGFtcDsKKy0gKGRvdWJsZSl2YWx1ZUZvclRpbWVTdGFtcDoo
TlNUaW1lSW50ZXJ2YWwpdGltZVN0YW1wOwogQGVuZAogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9u
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5o
CmluZGV4IDgyMWZhODJkZjBjMGE5MWQ4ZDJlNjM0MjgzMmQ2NTgyZTk1MmU0YmUuLjBkODJmMmYx
NmNhMTEyYmExYTI2Nzk4NzcyZWJkOTIyMzQ2YjFhZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaApAQCAtMzIsNiArMzIsNyBAQAog
CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBc3NldENhY2hlX1ByaXZhdGUuaD4KICNpbXBvcnQg
PEFWRm91bmRhdGlvbi9BVk91dHB1dENvbnRleHQuaD4KKyNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VlBsYXllckl0ZW1fUHJpdmF0ZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyTGF5
ZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyX1ByaXZhdGUuaD4K
IApAQCAtNDcsNiArNDgsMTYgQEAKIAogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVyLmg+
CiAKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTEwMDAwKQorTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KK0BpbnRlcmZhY2Ug
QVZQbGF5ZXJJdGVtICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TVGltZUlu
dGVydmFsIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgTlNfQVZBSUxBQkxFKDEw
XzEzLCAxMV8wKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50ZXJ2
YWwgbGl2ZVVwZGF0ZUludGVydmFsOworQGVuZAorTlNfQVNTVU1FX05PTk5VTExfRU5ECisjZW5k
aWYgLy8gKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49
IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMTAwMDApCisKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAm
JiAhUExBVEZPUk0oSU9TKQogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eS5oCmluZGV4IDU3YWQ3NTYwYWVjYmExNTIxMDlhMjRlNWUwYjE3ZjUyOTUw
NjQ4ZWQuLmJmMzAwN2M4NTBlOTU3OWUzMzRjZTZiZTczNzZmM2FiMWY4ZDI3ZDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0QnVmZmVyZWRUaW1lKGRvdWJsZSk7CiAgICAgdm9pZCBzZXRQbGF5YmFja1N0YXJ0ZWRU
aW1lKGRvdWJsZSk7CiAgICAgdm9pZCBzZXRSYXRlKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5
YmFja1JhdGUpOwotICAgIHZvaWQgc2V0U2Vla2FibGVSYW5nZXMoV2ViQ29yZTo6VGltZVJhbmdl
cyYpOworICAgIHZvaWQgc2V0U2Vla2FibGVSYW5nZXMoV2ViQ29yZTo6VGltZVJhbmdlcyYsIGRv
dWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICB2
b2lkIHNldENhblBsYXlGYXN0UmV2ZXJzZShib29sKTsKICAgICB2b2lkIHNldEF1ZGlvTWVkaWFT
ZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlv
bj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4KTsKICAgICB2b2lkIHNldExlZ2libGVNZWRpYVNl
bGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9u
PiYgb3B0aW9ucywgdWludDY0X3QgaW5kZXgpOwpAQCAtMTE5LDYgKzExOSw4IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBpc1NjcnViYmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faXNTY3J1YmJp
bmc7IH0KICAgICBmbG9hdCBwbGF5YmFja1JhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Bs
YXliYWNrUmF0ZTsgfQogICAgIFJlZjxXZWJDb3JlOjpUaW1lUmFuZ2VzPiBzZWVrYWJsZVJhbmdl
cygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2Vla2FibGVSYW5nZXMuY29weVJlZigpOyB9Cisg
ICAgZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3NlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU7IH0KKyAgICBk
b3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9saXZlVXBkYXRlSW50
ZXJ2YWw7IH0KICAgICBib29sIGNhblBsYXlGYXN0UmV2ZXJzZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fY2FuUGxheUZhc3RSZXZlcnNlOyB9CiAgICAgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2Vs
ZWN0aW9uT3B0aW9uPiBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnM7IH0KICAgICB1aW50NjRfdCBhdWRp
b01lZGlhU2VsZWN0ZWRJbmRleCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXVkaW9NZWRpYVNl
bGVjdGVkSW5kZXg7IH0KQEAgLTE0Myw2ICsxNDUsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9p
c1NjcnViYmluZyB7IGZhbHNlIH07CiAgICAgZmxvYXQgbV9wbGF5YmFja1JhdGUgeyAwIH07CiAg
ICAgUmVmPFdlYkNvcmU6OlRpbWVSYW5nZXM+IG1fc2Vla2FibGVSYW5nZXMgeyBXZWJDb3JlOjpU
aW1lUmFuZ2VzOjpjcmVhdGUoKSB9OworICAgIGRvdWJsZSBtX3NlZWthYmxlVGltZVJhbmdlc0xh
c3RNb2RpZmllZFRpbWUgeyAwIH07CisgICAgZG91YmxlIG1fbGl2ZVVwZGF0ZUludGVydmFsIHsg
MCB9OwogICAgIGJvb2wgbV9jYW5QbGF5RmFzdFJldmVyc2UgeyBmYWxzZSB9OwogICAgIFZlY3Rv
cjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gbV9hdWRpb01lZGlhU2VsZWN0aW9uT3B0
aW9uczsKICAgICB1aW50NjRfdCBtX2F1ZGlvTWVkaWFTZWxlY3RlZEluZGV4IHsgMCB9OwpAQCAt
MTg3LDcgKzE5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNldE1lZGlhU3RhdGUodWludDY0
X3QgY29udGV4dElkKTsKICAgICB2b2lkIHNldEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpOwogICAgIHZvaWQgc2V0QnVm
ZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7Ci0gICAg
dm9pZCBzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsIFZlY3Rvcjxz
dGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMpOworICAgIHZvaWQgc2V0U2Vla2FibGVS
YW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwg
ZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRh
dGVJbnRlcnZhbCk7CiAgICAgdm9pZCBzZXRDYW5QbGF5RmFzdFJldmVyc2UodWludDY0X3QgY29u
dGV4dElkLCBib29sIHZhbHVlKTsKICAgICB2b2lkIHNldEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRp
b25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0
aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKICAgICB2b2lkIHNldExlZ2li
bGVNZWRpYVNlbGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29y
ZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
MzgxYTgwMzRlNzA0OTc4MzU2NDA2MGZkY2I1MjExNDQxOGQ0NzVkYi4uM2Q0YjkwMzYwNGYwYzhh
NWJmMjEwNzEzOGQ0OTA2MDA3MjdmNmE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSB7CiAgICAgUmVzZXRNZWRpYVN0YXRlKHVpbnQ2NF90
IGNvbnRleHRJZCkKICAgICBTZXRDdXJyZW50VGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJs
ZSBjdXJyZW50VGltZSwgZG91YmxlIGhvc3RUaW1lKQogICAgIFNldEJ1ZmZlcmVkVGltZSh1aW50
NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBidWZmZXJlZFRpbWUpCi0gICAgU2V0U2Vla2FibGVSYW5n
ZXNWZWN0b3IodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91
YmxlPj4gcmFuZ2VzKQorICAgIFNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90IGNvbnRl
eHRJZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcywgZG91YmxlIGxh
c3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCiAgICAgU2V0Q2FuUGxh
eUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKICAgICBTZXRBdWRp
b01lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3Jl
OjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkK
ICAgICBTZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwg
VmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBz
ZWxlY3RlZEluZGV4KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KaW5kZXggNGVjMDVm
ZDNjOTdjOWI0NzU0NmJmNTUxZjEzMzA3NjkzZWI3MDFkOC4uMGJiNTM4OTUxZThmYmU1ZWM1ZTg2
OTQwZGMzNzYzNTc3ZjI4NWJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCkBA
IC0xODAsMTEgKzE4MCwxMyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
c2V0UmF0ZShib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKQogICAgICAgICBjbGll
bnQtPnJhdGVDaGFuZ2VkKGlzUGxheWluZywgcGxheWJhY2tSYXRlKTsKIH0KIAotdm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldFNlZWthYmxlUmFuZ2VzKFdlYkNvcmU6OlRp
bWVSYW5nZXMmIHNlZWthYmxlUmFuZ2VzKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENv
bnRleHQ6OnNldFNlZWthYmxlUmFuZ2VzKFdlYkNvcmU6OlRpbWVSYW5nZXMmIHNlZWthYmxlUmFu
Z2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkK
IHsKICAgICBtX3NlZWthYmxlUmFuZ2VzID0gc2Vla2FibGVSYW5nZXM7CisgICAgbV9zZWVrYWJs
ZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lID0gbGFzdE1vZGlmaWVkVGltZTsKKyAgICBtX2xp
dmVVcGRhdGVJbnRlcnZhbCA9IGxpdmVVcGRhdGVJbnRlcnZhbDsKICAgICBmb3IgKGF1dG8qIGNs
aWVudCA6IG1fY2xpZW50cykKLSAgICAgICAgY2xpZW50LT5zZWVrYWJsZVJhbmdlc0NoYW5nZWQo
c2Vla2FibGVSYW5nZXMpOworICAgICAgICBjbGllbnQtPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChz
ZWVrYWJsZVJhbmdlcywgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKIH0K
IAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldENhblBsYXlGYXN0UmV2
ZXJzZShib29sIGNhblBsYXlGYXN0UmV2ZXJzZSkKQEAgLTM4Myw3ICszODUsNyBAQCB2b2lkIFdl
YlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNv
bnRleHRJZCwgZG91YmxlCiAgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRCdWZmZXJlZFRp
bWUoYnVmZmVyZWRUaW1lKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPHN0
ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcykKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQs
IFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMsIGRvdWJsZSBsYXN0TW9k
aWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIFJlZjxUaW1lUmFu
Z2VzPiB0aW1lUmFuZ2VzID0gVGltZVJhbmdlczo6Y3JlYXRlKCk7CiAgICAgZm9yIChjb25zdCBh
dXRvJiByYW5nZSA6IHJhbmdlcykgewpAQCAtMzkzLDcgKzM5NSw3IEBAIHZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBj
b250ZXh0SWQsCiAgICAgICAgIHRpbWVSYW5nZXMtPmFkZChyYW5nZS5maXJzdCwgcmFuZ2Uuc2Vj
b25kKTsKICAgICB9CiAKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFNlZWthYmxlUmFu
Z2VzKHRpbWVSYW5nZXMpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0U2Vla2FibGVS
YW5nZXModGltZVJhbmdlcywgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsK
IH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldENhblBsYXlGYXN0
UmV2ZXJzZSh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5oCmluZGV4IDRiZTUyNDMyYzNjNmE3NDUwMTFmZDgxODI0N2Q0NTE2NGVjM2YxNTkuLjk2NzQ3
MDRhYzZhZGU5YTUzNWQzYmQxNGRhYzQ4ZGY4ZmM2OWJlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5oCkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBidWZmZXJlZFRpbWVDaGFu
Z2VkKGRvdWJsZSkgZmluYWw7CiAgICAgdm9pZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChk
b3VibGUgcGxheWJhY2tTdGFydGVkVGltZSkgZmluYWw7CiAgICAgdm9pZCByYXRlQ2hhbmdlZChi
b29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKSBmaW5hbDsKLSAgICB2b2lkIHNlZWth
YmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJikgZmluYWw7CisgICAg
dm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6VGltZVJhbmdlcyYsIGRv
dWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKSBmaW5hbDsK
ICAgICB2b2lkIGNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCB2YWx1ZSkgZmluYWw7CiAg
ICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQoY29uc3QgVmVjdG9yPFdl
YkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJ
bmRleCkgZmluYWw7CiAgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdl
ZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1
aW50NjRfdCBzZWxlY3RlZEluZGV4KSBmaW5hbDsKQEAgLTEyOSw3ICsxMjksNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdm9pZCBidWZmZXJlZFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91
YmxlIGJ1ZmZlcmVkVGltZSk7CiAgICAgdm9pZCBwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZCh1
aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKTsKICAgICB2b2lk
IHJhdGVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBs
YXliYWNrUmF0ZSk7Ci0gICAgdm9pZCBzZWVrYWJsZVJhbmdlc0NoYW5nZWQodWludDY0X3QgY29u
dGV4dElkLCBjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJik7CisgICAgdm9pZCBzZWVrYWJsZVJh
bmdlc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2Vz
JiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpOwog
ICAgIHZvaWQgY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJv
b2wgdmFsdWUpOwogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKHVp
bnQ2NF90IGNvbnRleHRJZCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0
aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CiAgICAgdm9pZCBsZWdpYmxl
TWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFZl
Y3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNl
bGVjdGVkSW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCmluZGV4IGEwNTgxOWU3YTljYTBl
YTJiOTAyOWZmODQyODNhY2EwYTg5MGYwYTMuLjA5MjkwZTFlNmNhYTczOWUwYTVmZjZkY2JjYzVm
YWY3OWI5N2ZhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2Ev
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KQEAgLTEwMSwxMCArMTAxLDEw
IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6cGxheWJhY2tTdGFy
dGVkVGltZUNoYW5nZWQoZG91YmxlIHBsYXliCiAgICAgICAgIG1fbWFuYWdlci0+cGxheWJhY2tT
dGFydGVkVGltZUNoYW5nZWQobV9jb250ZXh0SWQsIHBsYXliYWNrU3RhcnRlZFRpbWUpOwogfQog
Ci12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2Vz
Q2hhbmdlZChjb25zdCBXZWJDb3JlOjpUaW1lUmFuZ2VzJiByYW5nZXMpCit2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChjb25zdCBX
ZWJDb3JlOjpUaW1lUmFuZ2VzJiByYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsKQogewogICAgIGlmIChtX21hbmFnZXIpCi0gICAgICAgIG1f
bWFuYWdlci0+c2Vla2FibGVSYW5nZXNDaGFuZ2VkKG1fY29udGV4dElkLCByYW5nZXMpOworICAg
ICAgICBtX21hbmFnZXItPnNlZWthYmxlUmFuZ2VzQ2hhbmdlZChtX2NvbnRleHRJZCwgcmFuZ2Vz
LCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwpOwogfQogCiB2b2lkIFdlYlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQo
Ym9vbCB2YWx1ZSkKQEAgLTMyNCw3ICszMjQsNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXI6OnJhdGVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcsCiAg
ICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6
OlNldFJhdGUoY29udGV4dElkLCBpc1BsYXlpbmcsIHBsYXliYWNrUmF0ZSksIG1fcGFnZS0+cGFn
ZUlEKCkpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMm
IHRpbWVSYW5nZXMpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OlRpbWVSYW5nZXMm
IHRpbWVSYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUlu
dGVydmFsKQogewogICAgIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXNW
ZWN0b3I7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRpbWVSYW5nZXMubGVuZ3RoKCk7
IGkrKykgewpAQCAtMzMyLDcgKzMzMiw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
cjo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QKICAgICAg
ICAgZG91YmxlIGVuZCA9IHRpbWVSYW5nZXMucmFuZ2VzKCkuZW5kKGkpLnRvRG91YmxlKCk7CiAg
ICAgICAgIHJhbmdlc1ZlY3Rvci5hcHBlbmQoeyBzdGFydCwgZW5kIH0pOwogICAgIH0KLSAgICBt
X3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0
U2Vla2FibGVSYW5nZXNWZWN0b3IoY29udGV4dElkLCBXVEZNb3ZlKHJhbmdlc1ZlY3RvcikpLCBt
X3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0U2Vla2FibGVSYW5nZXNWZWN0b3IoY29udGV4dElkLCBX
VEZNb3ZlKHJhbmdlc1ZlY3RvciksIGxhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZh
bCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXI6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHZh
bHVlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>