<?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>225245</bug_id>
          
          <creation_ts>2021-04-30 13:42:11 -0700</creation_ts>
          <short_desc>[GPUP] Poll videoPlaybackQualityMetrics at the frequency is it accessed by script</short_desc>
          <delta_ts>2021-05-03 14:56:34 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225329</see_also>
          <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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1755789</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-30 13:42:11 -0700</bug_when>
    <thetext>Fetching videoPlaybackQualityMetrics is expensive, so don&apos;t update it every time cached state is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755790</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-30 13:42:24 -0700</bug_when>
    <thetext>rdar://77159589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755809</commentid>
    <comment_count>2</comment_count>
      <attachid>427448</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-30 14:31:13 -0700</bug_when>
    <thetext>Created attachment 427448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755821</commentid>
    <comment_count>3</comment_count>
      <attachid>427448</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-04-30 14:52:41 -0700</bug_when>
    <thetext>Comment on attachment 427448
Patch

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

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:997
&gt; +    static const double metricsAdvanceUpdate = 0.25;

Can we make this Seconds?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755828</commentid>
    <comment_count>4</comment_count>
      <attachid>427457</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-30 15:09:57 -0700</bug_when>
    <thetext>Created attachment 427457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755864</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-30 16:36:32 -0700</bug_when>
    <thetext>Committed r276863 (237211@main): &lt;https://commits.webkit.org/237211@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427457.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755917</commentid>
    <comment_count>6</comment_count>
      <attachid>427457</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-30 20:46:01 -0700</bug_when>
    <thetext>Comment on attachment 427457
Patch

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

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:1186
&gt; +    auto now = WallTime::now();

Is WallTime the right thing to use here, instead of MonotonicTime?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756335</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-03 14:56:34 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #6)
&gt; Comment on attachment 427457 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=427457&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:1186
&gt; &gt; +    auto now = WallTime::now();
&gt; 
&gt; Is WallTime the right thing to use here, instead of MonotonicTime?

Good point, thanks.

I&apos;ll fix that in https://bugs.webkit.org/show_bug.cgi?id=225329.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427448</attachid>
            <date>2021-04-30 14:31:13 -0700</date>
            <delta_ts>2021-04-30 15:09:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225245-20210430143113.patch</filename>
            <type>text/plain</type>
            <size>15908</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NjA0CjIwMjEtMDQtMzBUMTQ6MzA6MjksOTAyOiBbMHgx
MGM1NThlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5MWVkOWNmNTRjM2VjMmNhMTE1YTdhZTgxMWFiZjdm
MThmOGJmMjU0Li41MGQ2MGM3ZGJiNzgzNTkwMWJkMDUzNDRkOWFjNmQ3ZTNlYjA1ZjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA0LTMwICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQb2xsIHZpZGVvUGxheWJhY2tRdWFs
aXR5TWV0cmljcyBhdCB0aGUgZnJlcXVlbmN5IGlzIGl0IGFjY2Vzc2VkIGJ5IHNjcmlwdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MjQ1CisgICAg
ICAgIHJkYXI6Ly83NzE1OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0aW5nIHZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcyBpcyBjb21w
dXRhdGlvbmFsbHkgZXhwZW5zaXZlLCBzbyBpbnN0ZWFkIG9mCisgICAgICAgIGdldHRpbmcgaXQg
ZXZlcnkgdGltZSBjYWNoZWQgcHJvcGVydGllcyBhcmUgdXBkYXRlZCAoZXZlcnkgMTAwIG1zKSBr
ZWVwIHRyYWNrIG9mCisgICAgICAgIGhvdyBvZnRlbiB0aGUgcGFnZSBmZXRjaGVzIHRoZSBwcm9w
ZXJ0eSBhbmQgdXBkYXRlIGl0IGF0IHRoYXQgZnJlcXVlbmN5LgorCisgICAgICAgICogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGxheSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OnBhdXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZWFkeVN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmF0ZUNoYW5nZWQpOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclBsYXliYWNrU3Rh
dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVk
aWFQbGF5ZXJDaGFyYWN0ZXJpc3RpY0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5Ojp1cGRhdGVDYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptYXliZVVwZGF0
ZUNhY2hlZFZpZGVvTWV0cmljcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OnVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRTaG91bGRVcGRhdGVQbGF5YmFja01ldHJpY3MpOiBE
ZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAg
ICAgKGhlYWRlcnNfZm9yX3R5cGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6cGF1c2UpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjp1cGRhdGVWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFs
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRlb1BsYXli
YWNrUXVhbGl0eU1ldHJpY3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorCiAyMDIxLTA0LTI2ICBBZGl0eWEgS2VlcnRoaSAgPGFr
ZWVydGhpQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjcxODYxKTogW2lPU10g
QWNjZXNzb3J5IGJhciBuYXZpZ2F0aW9uIHRvIGVsZW1lbnRzIG91dHNpZGUgdGhlIHZpZXdwb3J0
IGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKaW5kZXggYzhhZGIzMTBhYjM4NjY2YjZlYmFiOThhMWE0
OTFlZTQwN2ZmOTAwNS4uZDFhYjBiNmQ5NWQ2MTEzMzFjYTBlMjQzZDY3ZTY0OGZjNmRjNjM3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIlRyYWNrUHJp
dmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xheW91dFJlY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L0xvZ2dpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVBsYXllclByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxl
bWVudGVkLmg+CkBAIC0xNzYsNiArMTc3LDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpwbGF5KCkKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGF1c2UoKQogewogICAgIG1f
dXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuc3RvcCgpOworICAgIHVwZGF0ZUNhY2hlZFZp
ZGVvTWV0cmljcygpOwogICAgIG1fcGxheWVyLT5wYXVzZSgpOwogICAgIHNlbmRDYWNoZWRTdGF0
ZSgpOwogfQpAQCAtMzM1LDYgKzMzNyw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
bWVkaWFQbGF5ZXJOZXR3b3JrU3RhdGVDaGFuZ2VkKCkKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllclJlYWR5U3RhdGVDaGFuZ2VkKCkKIHsKKyAgICB1cGRhdGVDYWNo
ZWRWaWRlb01ldHJpY3MoKTsKICAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOwogCiAgICAgbV9jYWNo
ZWRTdGF0ZS5taW5UaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWluVGltZVNlZWthYmxlKCk7CkBA
IC0zODIsNiArMzg1LDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
ckR1cmF0aW9uQ2hhbmdlZCgpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJSYXRlQ2hhbmdlZCgpCiB7CisgICAgdXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7CiAg
ICAgc2VuZENhY2hlZFN0YXRlKCk7CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChN
ZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpSYXRlQ2hhbmdlZChtX3BsYXllci0+
cmF0ZSgpKSwgbV9pZCk7CiB9CkBAIC00NjAsNyArNDY0LDggQEAgYm9vbCBSZW1vdGVNZWRpYVBs
YXllclByb3h5OjptZWRpYVBsYXllcklzVmlkZW8oKSBjb25zdAogCiB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGxheWJhY2tTdGF0ZUNoYW5nZWQoKQogewotICAgIG1f
d2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6UGxheWJhY2tTdGF0ZUNoYW5nZWQobV9wbGF5ZXItPnBhdXNlZCgpLCBtX3BsYXllci0+
Y3VycmVudFRpbWUoKSwgV2FsbFRpbWU6Om5vdygpKSwgbV9pZCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5wYXVzZWQgPSBtX3BsYXllci0+cGF1c2VkKCk7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQbGF5YmFja1N0YXRl
Q2hhbmdlZChtX2NhY2hlZFN0YXRlLnBhdXNlZCwgbV9wbGF5ZXItPmN1cnJlbnRUaW1lKCksIFdh
bGxUaW1lOjpub3coKSksIG1faWQpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
Om1lZGlhUGxheWVyQnVmZmVyZWRUaW1lUmFuZ2VzQ2hhbmdlZCgpCkBAIC00ODEsNiArNDg2LDcg
QEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNlZWthYmxlVGltZVJh
bmdlc0NoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVy
Q2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCkKIHsKKyAgICB1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3Mo
KTsKICAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOwogICAgIG1fY2FjaGVkU3RhdGUuaGFzQ2xvc2Vk
Q2FwdGlvbnMgPSBtX3BsYXllci0+aGFzQ2xvc2VkQ2FwdGlvbnMoKTsKICAgICBtX2NhY2hlZFN0
YXRlLmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayA9IG1fcGxheWVyLT5sYW5ndWFnZU9mUHJp
bWFyeUF1ZGlvVHJhY2soKTsKQEAgLTgyOCwxMCArODM0LDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5Ojp1cGRhdGVDYWNoZWRTdGF0ZSgpCiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQg
PSBtX3BsYXllci0+cGF1c2VkKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbyA9IG1fcGxh
eWVyLT5oYXNBdWRpbygpOwogICAgIG1fY2FjaGVkU3RhdGUuaGFzVmlkZW8gPSBtX3BsYXllci0+
aGFzVmlkZW8oKTsKLQotICAgIGlmIChtX3Nob3VsZFVwZGF0ZVBsYXliYWNrTWV0cmljcykKLSAg
ICAgICAgbV9jYWNoZWRTdGF0ZS52aWRlb01ldHJpY3MgPSBtX3BsYXllci0+dmlkZW9QbGF5YmFj
a1F1YWxpdHlNZXRyaWNzKCk7Ci0KKyAgICBtYXliZVVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcygp
OwogICAgIGlmIChtX2J1ZmZlcmVkQ2hhbmdlZCkgewogICAgICAgICBtX2J1ZmZlcmVkQ2hhbmdl
ZCA9IGZhbHNlOwogICAgICAgICBpZiAobV9lbmdpbmVJZGVudGlmaWVyICE9IE1lZGlhUGxheWVy
RW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcjo6QVZGb3VuZGF0aW9uTVNFKQpAQCAtOTg5LDkg
Kzk5MiwyOSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OndvdWxkVGFpbnRPcmlnaW4o
c3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YQogICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1fcGxheWVyLT53b3VsZFRhaW50T3JpZ2luKG9yaWdpbkRhdGEuc2VjdXJpdHlPcmlnaW4oKSkp
OwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFNob3VsZFVwZGF0ZVBsYXli
YWNrTWV0cmljcyhib29sIHNob3VsZCkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0
VmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiB7Ci0g
ICAgbV9zaG91bGRVcGRhdGVQbGF5YmFja01ldHJpY3MgPSBzaG91bGQ7CisgICAgc3RhdGljIGNv
bnN0IGRvdWJsZSBtZXRyaWNzQWR2YW5jZVVwZGF0ZSA9IDAuMjU7CisgICAgQUxXQVlTX0xPRyhM
T0dJREVOVElGSUVSLCBpbnRlcnZhbCk7CisKKyAgICB1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3Mo
KTsKKyAgICBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwgPSBTZWNvbmRzKGlu
dGVydmFsKTsKKyAgICBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZSA9IFdh
bGxUaW1lOjpub3coKSArIFNlY29uZHMoaW50ZXJ2YWwgLSBtZXRyaWNzQWR2YW5jZVVwZGF0ZSk7
Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWF5YmVVcGRhdGVDYWNoZWRWaWRl
b01ldHJpY3MoKQoreworICAgIGlmIChtX2NhY2hlZFN0YXRlLnBhdXNlZCB8fCAhbV92aWRlb1Bs
YXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsIHx8IFdhbGxUaW1lOjpub3coKSA8IG1fbmV4dFBs
YXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVUaW1lKQorICAgICAgICByZXR1cm47CisKKyAgICB1
cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclBy
b3h5Ojp1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKQoreworICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUik7CisgICAgbV9uZXh0UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0ZVRpbWUgPSBX
YWxsVGltZTo6bm93KCkgKyBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWw7Cisg
ICAgbV9jYWNoZWRTdGF0ZS52aWRlb01ldHJpY3MgPSBtX3BsYXllci0+dmlkZW9QbGF5YmFja1F1
YWxpdHlNZXRyaWNzKCk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y3JlYXRl
QXVkaW9Tb3VyY2VQcm92aWRlcigpCkBAIC0xMDE2LDYgKzEwMzksMTMgQEAgdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRTaG91bGRFbmFibGVBdWRpb1NvdXJjZVByb3ZpZGVyKGJvb2wg
c2hvdWxkRW5hYmwKICNlbmRpZgogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZM
b2dDaGFubmVsJiBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2dDaGFubmVsKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gV2ViQ29yZTo6TG9nTWVkaWE7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApp
bmRleCBlM2Q5YTUxOWJiMmVkMjU5Y2VmMWE5MzE2MGI2NjIxM2U0ZmYyZDA0Li40MDM1NTFhNjQx
MzQwZjdkZTM2OWM5YzJhYzY3MjRiMTc2M2M1ZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTE4OSw3
ICsxODksOCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBs
ZXRpb25IYW5kbGVyID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+
LCBPcHRpb25hbDxXYWxsVGltZT4pPjsKICAgICB2b2lkIHBlcmZvcm1UYXNrQXRNZWRpYVRpbWUo
Y29uc3QgTWVkaWFUaW1lJiwgV2FsbFRpbWUsIFBlcmZvcm1UYXNrQXRNZWRpYVRpbWVDb21wbGV0
aW9uSGFuZGxlciYmKTsKICAgICB2b2lkIHdvdWxkVGFpbnRPcmlnaW4oc3RydWN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxib29s
Pik+JiYpOwotICAgIHZvaWQgc2V0U2hvdWxkVXBkYXRlUGxheWJhY2tNZXRyaWNzKGJvb2wpOwor
CisgICAgdm9pZCBzZXRWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKGRvdWJsZSk7
CiAKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlPiByZXF1ZXN0UmVz
b3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFS
ZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMpOwogICAgIHZvaWQgc2VuZEgyUGluZyhjb25zdCBV
UkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdURjo6U2Vjb25kcywgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcj4mJik+JiYpOwpAQCAtMjg0LDYgKzI4NSw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzZW5kQ2FjaGVkU3RhdGUoKTsKICAgICB2b2lkIHRpbWVyRmlyZWQoKTsKIAorICAg
IHZvaWQgbWF5YmVVcGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsKKyAgICB2b2lkIHVwZGF0ZUNh
Y2hlZFZpZGVvTWV0cmljcygpOworCiAgICAgdm9pZCBjcmVhdGVBdWRpb1NvdXJjZVByb3ZpZGVy
KCk7CiAgICAgdm9pZCBzZXRTaG91bGRFbmFibGVBdWRpb1NvdXJjZVByb3ZpZGVyKGJvb2wpOwog
CkBAIC0yOTUsNiArMjk5LDEwIEBAIHByaXZhdGU6CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CiAgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXllckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIG1f
bG9nZ2VyOyB9CiAgICAgY29uc3Qgdm9pZCogbWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkgeyBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4obV9jb25maWd1cmF0aW9uLmxvZ0lk
ZW50aWZpZXIpOyB9CisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSB7IHJldHVybiBtZWRpYVBs
YXllckxvZ2dlcigpOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIHsgcmV0dXJu
IG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpOyB9CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NO
YW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbW90ZU1lZGlhUGxheWVyUHJveHkiOyB9CisgICAgV1RG
TG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBIYXNoTWFwPFdl
YkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRlKiwgUmVmPFJlbW90ZUF1ZGlvVHJhY2tQcm94eT4+IG1f
YXVkaW9UcmFja3M7CkBAIC0zMjAsMTIgKzMyOCwxNCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5PiBtX21lZGlhU291cmNlUHJveHk7CiAjZW5kaWYKIAorICAg
IFNlY29uZHMgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsOworICAgIFdhbGxU
aW1lIG1fbmV4dFBsYXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVUaW1lOworCiAgICAgV2ViQ29y
ZTo6SW50U2l6ZSBtX3ZpZGVvSW5saW5lU2l6ZTsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVudFNj
YWxlIHsgMS4wIH07CiAKICAgICBib29sIG1fYnVmZmVyZWRDaGFuZ2VkIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9yZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9z
aG91bGRVcGRhdGVQbGF5YmFja01ldHJpY3MgeyBmYWxzZSB9OwogCiAjaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgYm9vbCBt
X3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCBiNGY1ZWZmNGQ5OWFiZGIwMDkwOTM0OGI5ZThlMjE1Y2Qz
MDA2NzY4Li41ZDk2MmQ0MDMwMmY1NTkyNWRiZmNkNGYyNGQxMDQxYzVlYTg3YWFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTA3LDcgKzEwNyw4IEBAIG1lc3NhZ2Vz
IC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBQZXJmb3Jt
VGFza0F0TWVkaWFUaW1lKE1lZGlhVGltZSBtZWRpYVRpbWUsIFdhbGxUaW1lIG1lc3NhZ2VUaW1l
KSAtPiAoT3B0aW9uYWw8TWVkaWFUaW1lPiBtZWRpYVRpbWUsIE9wdGlvbmFsPFdhbGxUaW1lPiB3
YWxsVGltZSkgQXN5bmMKICAgICBXb3VsZFRhaW50T3JpZ2luKHN0cnVjdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEgb3JpZ2luKSAtPiAoT3B0aW9uYWw8Ym9vbD4gd291bGRUYWludCkgU3lu
Y2hyb25vdXMKLSAgICBTZXRTaG91bGRVcGRhdGVQbGF5YmFja01ldHJpY3MoYm9vbCBzaG91bGQp
CisKKyAgICBTZXRWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKGRvdWJsZSBpbnRl
cnZhbCkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgRXJyb3JMb2coKSAtPiAoU3Ry
aW5nIGVycm9yTG9nKSBTeW5jaHJvbm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKaW5kZXggZDZhZWM4N2VlYTkzZGM3ODY2MWRlMTlmODMyZmExZDMyNmZiYjg3OS4u
NzExZTAxMjYzZTRjNWYxYWIxYzA2ZTkzMzVlZDFlYzIxZTQ2YjE1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC03NzUsNiArNzc1LDcgQEAgZGVmIGhlYWRl
cnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpJU09XZWJWVFRDdWUnOiBbJzxX
ZWJDb3JlL0lTT1ZUVEN1ZS5oPiddLAogICAgICAgICAnc3RydWN0IFdlYkNvcmU6OkNvb2tpZSc6
IFsnPFdlYkNvcmUvQ29va2llLmg+J10sCiAgICAgICAgICdzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVu
dENvbnRleHQnOiBbJzxXZWJDb3JlL0VsZW1lbnRDb250ZXh0Lmg+J10sCisgICAgICAgICdzdHJ1
Y3QgV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzJzogWyc8V2ViQ29yZS9WaWRl
b1BsYXliYWNrUXVhbGl0eU1ldHJpY3MuaD4nXSwKICAgICAgICAgJ3N0cnVjdCBXZWJLaXQ6Oldl
YlVzZXJTY3JpcHREYXRhJzogWyciV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmgi
J10sCiAgICAgICAgICdzdHJ1Y3QgV2ViS2l0OjpXZWJVc2VyU3R5bGVTaGVldERhdGEnOiBbJyJX
ZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCInXSwKICAgICAgICAgJ3N0cnVjdCBX
ZWJLaXQ6OldlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyRGF0YSc6IFsnIldlYlVzZXJDb250ZW50Q29u
dHJvbGxlckRhdGFUeXBlcy5oIiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4
IGQ4YmE4MWI3ODE4MTNhMDlmZTI5Zjc2MTM0OWMyNTVlY2FjNGFjNjUuLjcwZTIxMjg0MGU1OWVk
YzE3Y2MyZmVlN2IwYzZhMjVmMDBhNDhjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5j
cHAKQEAgLTIwNCw3ICsyMDQsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGF1
c2UoKQogewogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0gdHJ1ZTsKICAgICBhdXRvIG5vdyA9
IFdhbGxUaW1lOjpub3coKTsKLSAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lICs9IE1lZGlh
VGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAobm93IC0gbV9jYWNoZWRTdGF0ZS53YWxs
VGltZSkuc2Vjb25kcygpKTsKKyAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lICs9IE1lZGlh
VGltZTo6Y3JlYXRlV2l0aERvdWJsZShtX3JhdGUgKiAobm93IC0gbV9jYWNoZWRTdGF0ZS53YWxs
VGltZSkudmFsdWUoKSk7CiAgICAgbV9jYWNoZWRTdGF0ZS53YWxsVGltZSA9IG5vdzsKICAgICBj
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6UGF1c2Uo
KSwgbV9pZCk7CiB9CkBAIC00MjUsNiArNDI1LDggQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdAogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQbGF5
ZXJTdGF0ZSYmIHN0YXRlKQogeworICAgIGNvbnN0IFNlY29uZHMgcGxheWJhY2tRdWFsaXR5TWV0
cmljc1RpbWVvdXQgPSAzMF9zOworCiAgICAgbV9jYWNoZWRTdGF0ZS53YWxsVGltZSA9IHN0YXRl
LndhbGxUaW1lOwogICAgIG1fY2FjaGVkU3RhdGUuY3VycmVudFRpbWUgPSBzdGF0ZS5jdXJyZW50
VGltZTsKICAgICBtX2NhY2hlZFN0YXRlLmR1cmF0aW9uID0gc3RhdGUuZHVyYXRpb247CkBAIC00
NDksOCArNDUxLDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp1cGRhdGVDYWNo
ZWRTdGF0ZShSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYgc3RhdGUpCiAgICAgbV9jYWNoZWRTdGF0
ZS5oYXNBdWRpbyA9IHN0YXRlLmhhc0F1ZGlvOwogICAgIG1fY2FjaGVkU3RhdGUuaGFzVmlkZW8g
PSBzdGF0ZS5oYXNWaWRlbzsKIAotICAgIGlmIChtX3dhbnRQbGF5YmFja1F1YWxpdHlNZXRyaWNz
KQorICAgIGlmIChzdGF0ZS52aWRlb01ldHJpY3MpCiAgICAgICAgIG1fY2FjaGVkU3RhdGUudmlk
ZW9NZXRyaWNzID0gc3RhdGUudmlkZW9NZXRyaWNzOworICAgIGlmIChtX3ZpZGVvUGxheWJhY2tN
ZXRyaWNzVXBkYXRlSW50ZXJ2YWwgJiYgKFdhbGxUaW1lOjpub3coKSAtIG1fbGFzdFBsYXliYWNr
UXVhbGl0eU1ldHJpY3NRdWVyeVRpbWUpID4gcGxheWJhY2tRdWFsaXR5TWV0cmljc1RpbWVvdXQp
CisgICAgICAgIHVwZGF0ZVZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwoMF9zKTsK
IAogICAgIG1fY2FjaGVkU3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnMgPSBzdGF0ZS5oYXNDbG9zZWRD
YXB0aW9uczsKICAgICBtX2NhY2hlZFN0YXRlLmhhc0F2YWlsYWJsZVZpZGVvRnJhbWUgPSBzdGF0
ZS5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lOwpAQCAtMTE2OSwxMiArMTE3MywyNCBAQCBzaXplX3Qg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdAogICAgIHJl
dHVybiAwOwogfQogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9Q
bGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChjb25zdCBTZWNvbmRzJiBpbnRlcnZhbCkKK3sK
KyAgICBtX3ZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwgPSBpbnRlcnZhbDsKKyAg
ICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U2V0
VmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChtX3ZpZGVvUGxheWJhY2tNZXRyaWNz
VXBkYXRlSW50ZXJ2YWwudmFsdWUoKSksIG1faWQpOworfQorCiBPcHRpb25hbDxWaWRlb1BsYXli
YWNrUXVhbGl0eU1ldHJpY3M+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9QbGF5YmFj
a1F1YWxpdHlNZXRyaWNzKCkKIHsKLSAgICBpZiAoIW1fd2FudFBsYXliYWNrUXVhbGl0eU1ldHJp
Y3MpIHsKLSAgICAgICAgbV93YW50UGxheWJhY2tRdWFsaXR5TWV0cmljcyA9IHRydWU7Ci0gICAg
ICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpT
ZXRTaG91bGRVcGRhdGVQbGF5YmFja01ldHJpY3ModHJ1ZSksIG1faWQpOwotICAgIH0KKyAgICBj
b25zdCBTZWNvbmRzIG1heGltdW1QbGF5YmFja1F1YWxpdHlNZXRyaWNzU2FtcGxlVGltZURlbHRh
ID0gMC4yNV9zOworCisgICAgYXV0byBub3cgPSBXYWxsVGltZTo6bm93KCk7CisgICAgYXV0byB0
aW1lU2luY2VMYXN0UXVlcnkgPSBub3cgLSBtX2xhc3RQbGF5YmFja1F1YWxpdHlNZXRyaWNzUXVl
cnlUaW1lOworICAgIGlmICghbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKQor
ICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKDFfcyk7Cisg
ICAgZWxzZSBpZiAoc3RkOjphYnMoKHRpbWVTaW5jZUxhc3RRdWVyeSAtIG1fdmlkZW9QbGF5YmFj
a01ldHJpY3NVcGRhdGVJbnRlcnZhbCkudmFsdWUoKSkgPiBtYXhpbXVtUGxheWJhY2tRdWFsaXR5
TWV0cmljc1NhbXBsZVRpbWVEZWx0YS52YWx1ZSgpKQorICAgICAgICB1cGRhdGVWaWRlb1BsYXli
YWNrTWV0cmljc1VwZGF0ZUludGVydmFsKHRpbWVTaW5jZUxhc3RRdWVyeSk7CisKKyAgICBtX2xh
c3RQbGF5YmFja1F1YWxpdHlNZXRyaWNzUXVlcnlUaW1lID0gbm93OwogCiAgICAgcmV0dXJuIG1f
Y2FjaGVkU3RhdGUudmlkZW9NZXRyaWNzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5k
ZXggNWYwMzMxYWM5ZGFkODNkOTQ1ZTNkZWE3MTEzNzI1ZWQwY2Q5ZTYwZi4uYjVjNDljNjkwMzM2
NWYxYzU0ZGRmM2IxMTZlMmY3YzQ0Y2NjODQzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5o
CkBAIC0zNjUsNiArMzY1LDcgQEAgcHJpdmF0ZToKICAgICBzaXplX3QgZXh0cmFNZW1vcnlDb3N0
KCkgY29uc3QgZmluYWw7CiAKICAgICBPcHRpb25hbDxXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eU1ldHJpY3M+IHZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcygpIGZpbmFsOworICAgIHZv
aWQgdXBkYXRlVmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChjb25zdCBTZWNvbmRz
Jik7CiAKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05TKQogICAgIHZvaWQgbm90aWZ5VHJhY2tNb2Rl
Q2hhbmdlZCgpIGZpbmFsOwpAQCAtNDE0LDYgKzQxNSw4IEBAIHByaXZhdGU6CiAgICAgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG1fZG9jdW1lbnRTZWN1cml0eU9yaWdpbjsKICAgICBtdXRh
YmxlIEhhc2hNYXA8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhLCBPcHRpb25hbDxib29sPj4g
bV93b3VsZFRhaW50T3JpZ2luQ2FjaGU7CiAKKyAgICBXYWxsVGltZSBtX2xhc3RQbGF5YmFja1F1
YWxpdHlNZXRyaWNzUXVlcnlUaW1lOworICAgIFNlY29uZHMgbV92aWRlb1BsYXliYWNrTWV0cmlj
c1VwZGF0ZUludGVydmFsOwogICAgIGRvdWJsZSBtX3ZvbHVtZSB7IDEgfTsKICAgICBkb3VibGUg
bV9yYXRlIHsgMSB9OwogICAgIGxvbmcgbV9wbGF0Zm9ybUVycm9yQ29kZSB7IDAgfTsKQEAgLTQy
MSw3ICs0MjQsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zZWVraW5nIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcyB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2ludmFsaWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV93YW50UGxheWJhY2tRdWFsaXR5
TWV0cmljcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JLZXkgeyBmYWxzZSB9Owog
fTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427457</attachid>
            <date>2021-04-30 15:09:57 -0700</date>
            <delta_ts>2021-04-30 16:36:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225245-20210430150956.patch</filename>
            <type>text/plain</type>
            <size>15906</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NjA0CjIwMjEtMDQtMzBUMTU6MDk6MDAsNDkyOiBbMHgx
MTk5NzhlMDBdIHdoaWxlIGNvbXB1dGluZyBzb2NrbmFtZTogZmFpbGVkIHRvIGNyZWF0ZSAvdXNy
L2xvY2FsL3Zhci9ydW4vd2F0Y2htYW4vZXJpYy1zdGF0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpXYXRjaG1hbjogY29tbWFuZCByZXR1cm5lZCBubyBvdXRwdXQuCkZhbGxpbmcgYmFjayB0
byBzY2FubmluZy4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5MWVkOWNmNTRjM2VjMmNhMTE1YTdhZTgxMWFiZjdm
MThmOGJmMjU0Li5kZGVlYjM0ZDZjODAwYzhjNWM2OWE0NzFjODk4NjliNWE2MzYyYWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA0LTMwICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQb2xsIHZpZGVvUGxheWJhY2tRdWFs
aXR5TWV0cmljcyBhdCB0aGUgZnJlcXVlbmN5IGlzIGl0IGFjY2Vzc2VkIGJ5IHNjcmlwdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MjQ1CisgICAg
ICAgIHJkYXI6Ly83NzE1OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4KKwor
ICAgICAgICBVcGRhdGluZyB2aWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3MgaXMgY29tcHV0YXRp
b25hbGx5IGV4cGVuc2l2ZSwgc28gaW5zdGVhZCBvZgorICAgICAgICBnZXR0aW5nIGl0IGV2ZXJ5
IHRpbWUgY2FjaGVkIHByb3BlcnRpZXMgYXJlIHVwZGF0ZWQgKGV2ZXJ5IDEwMCBtcykga2VlcCB0
cmFjayBvZgorICAgICAgICBob3cgb2Z0ZW4gdGhlIHBhZ2UgZmV0Y2hlcyB0aGUgcHJvcGVydHkg
YW5kIHVwZGF0ZSBpdCBhdCB0aGF0IGZyZXF1ZW5jeS4KKworICAgICAgICAqIEdQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OnBsYXkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpwYXVzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyUmVhZHlTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJQbGF5YmFja1N0YXRlQ2hh
bmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWF5YmVVcGRhdGVDYWNo
ZWRWaWRlb01ldHJpY3MpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5
Ojp1cGRhdGVDYWNoZWRWaWRlb01ldHJpY3MpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRp
YVBsYXllclByb3h5Ojpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6c2V0U2hvdWxkVXBkYXRlUGxheWJhY2tNZXRyaWNzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICho
ZWFkZXJzX2Zvcl90eXBlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnBhdXNlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjp1cGRhdGVDYWNoZWRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9QbGF5YmFja1F1
YWxpdHlNZXRyaWNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaDoKKwogMjAyMS0wNC0yNiAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRo
aUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3MTg2MSk6IFtpT1NdIEFjY2Vz
c29yeSBiYXIgbmF2aWdhdGlvbiB0byBlbGVtZW50cyBvdXRzaWRlIHRoZSB2aWV3cG9ydCBmYWls
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IGM4YWRiMzEwYWIzODY2NmI2ZWJhYjk4YTFhNDkxZWU0
MDdmZjkwMDUuLmRiNzgyMDczYTBmNTQ2Zjg1YWYzMzJmOWUxZDUyZjY0ZDg1MGVmODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJUcmFja1ByaXZhdGVS
ZW1vdGVDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9MYXlvdXRSZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Mb2dn
aW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllci5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRl
ZC5oPgpAQCAtMTc2LDYgKzE3Nyw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGxh
eSgpCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBhdXNlKCkKIHsKICAgICBtX3VwZGF0
ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLnN0b3AoKTsKKyAgICB1cGRhdGVDYWNoZWRWaWRlb01l
dHJpY3MoKTsKICAgICBtX3BsYXllci0+cGF1c2UoKTsKICAgICBzZW5kQ2FjaGVkU3RhdGUoKTsK
IH0KQEAgLTMzNSw2ICszMzcsNyBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlh
UGxheWVyTmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJSZWFkeVN0YXRlQ2hhbmdlZCgpCiB7CisgICAgdXBkYXRlQ2FjaGVkVmlk
ZW9NZXRyaWNzKCk7CiAgICAgdXBkYXRlQ2FjaGVkU3RhdGUoKTsKIAogICAgIG1fY2FjaGVkU3Rh
dGUubWluVGltZVNlZWthYmxlID0gbV9wbGF5ZXItPm1pblRpbWVTZWVrYWJsZSgpOwpAQCAtMzgy
LDYgKzM4NSw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJEdXJh
dGlvbkNoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVy
UmF0ZUNoYW5nZWQoKQogeworICAgIHVwZGF0ZUNhY2hlZFZpZGVvTWV0cmljcygpOwogICAgIHNl
bmRDYWNoZWRTdGF0ZSgpOwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6UmF0ZUNoYW5nZWQobV9wbGF5ZXItPnJhdGUo
KSksIG1faWQpOwogfQpAQCAtNDYwLDcgKzQ2NCw4IEBAIGJvb2wgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3QKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllclBsYXliYWNrU3RhdGVDaGFuZ2VkKCkKIHsKLSAgICBtX3dlYlBy
b2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OlBsYXliYWNrU3RhdGVDaGFuZ2VkKG1fcGxheWVyLT5wYXVzZWQoKSwgbV9wbGF5ZXItPmN1cnJl
bnRUaW1lKCksIFdhbGxUaW1lOjpub3coKSksIG1faWQpOworICAgIG1fY2FjaGVkU3RhdGUucGF1
c2VkID0gbV9wbGF5ZXItPnBhdXNlZCgpOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6UGxheWJhY2tTdGF0ZUNoYW5n
ZWQobV9jYWNoZWRTdGF0ZS5wYXVzZWQsIG1fcGxheWVyLT5jdXJyZW50VGltZSgpLCBXYWxsVGlt
ZTo6bm93KCkpLCBtX2lkKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllckJ1ZmZlcmVkVGltZVJhbmdlc0NoYW5nZWQoKQpAQCAtNDgxLDYgKzQ4Niw3IEBAIHZv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJTZWVrYWJsZVRpbWVSYW5nZXND
aGFuZ2VkKCkKIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckNoYXJh
Y3RlcmlzdGljQ2hhbmdlZCgpCiB7CisgICAgdXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7CiAg
ICAgdXBkYXRlQ2FjaGVkU3RhdGUoKTsKICAgICBtX2NhY2hlZFN0YXRlLmhhc0Nsb3NlZENhcHRp
b25zID0gbV9wbGF5ZXItPmhhc0Nsb3NlZENhcHRpb25zKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5s
YW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sgPSBtX3BsYXllci0+bGFuZ3VhZ2VPZlByaW1hcnlB
dWRpb1RyYWNrKCk7CkBAIC04MjgsMTAgKzgzNCw3IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUoKQogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0gbV9w
bGF5ZXItPnBhdXNlZCgpOwogICAgIG1fY2FjaGVkU3RhdGUuaGFzQXVkaW8gPSBtX3BsYXllci0+
aGFzQXVkaW8oKTsKICAgICBtX2NhY2hlZFN0YXRlLmhhc1ZpZGVvID0gbV9wbGF5ZXItPmhhc1Zp
ZGVvKCk7Ci0KLSAgICBpZiAobV9zaG91bGRVcGRhdGVQbGF5YmFja01ldHJpY3MpCi0gICAgICAg
IG1fY2FjaGVkU3RhdGUudmlkZW9NZXRyaWNzID0gbV9wbGF5ZXItPnZpZGVvUGxheWJhY2tRdWFs
aXR5TWV0cmljcygpOwotCisgICAgbWF5YmVVcGRhdGVDYWNoZWRWaWRlb01ldHJpY3MoKTsKICAg
ICBpZiAobV9idWZmZXJlZENoYW5nZWQpIHsKICAgICAgICAgbV9idWZmZXJlZENoYW5nZWQgPSBm
YWxzZTsKICAgICAgICAgaWYgKG1fZW5naW5lSWRlbnRpZmllciAhPSBNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFWRm91bmRhdGlvbk1TRSkKQEAgLTk4OSw5ICs5OTIs
MjkgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp3b3VsZFRhaW50T3JpZ2luKHN0cnVj
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEKICAgICBjb21wbGV0aW9uSGFuZGxlcihtX3Bs
YXllci0+d291bGRUYWludE9yaWdpbihvcmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2luKCkpKTsKIH0K
IAotdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRTaG91bGRVcGRhdGVQbGF5YmFja01l
dHJpY3MoYm9vbCBzaG91bGQpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVv
UGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQogewotICAgIG1f
c2hvdWxkVXBkYXRlUGxheWJhY2tNZXRyaWNzID0gc2hvdWxkOworICAgIHN0YXRpYyBjb25zdCBT
ZWNvbmRzIG1ldHJpY3NBZHZhbmNlVXBkYXRlID0gMC4yNV9zOworICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUiwgaW50ZXJ2YWwpOworCisgICAgdXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7
CisgICAgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsID0gU2Vjb25kcyhpbnRl
cnZhbCk7CisgICAgbV9uZXh0UGxheWJhY2tRdWFsaXR5TWV0cmljc1VwZGF0ZVRpbWUgPSBXYWxs
VGltZTo6bm93KCkgKyBTZWNvbmRzKGludGVydmFsKSAtIG1ldHJpY3NBZHZhbmNlVXBkYXRlOwor
fQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1heWJlVXBkYXRlQ2FjaGVkVmlkZW9N
ZXRyaWNzKCkKK3sKKyAgICBpZiAobV9jYWNoZWRTdGF0ZS5wYXVzZWQgfHwgIW1fdmlkZW9QbGF5
YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbCB8fCBXYWxsVGltZTo6bm93KCkgPCBtX25leHRQbGF5
YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdXBk
YXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6dXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCkKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5U
SUZJRVIpOworICAgIG1fbmV4dFBsYXliYWNrUXVhbGl0eU1ldHJpY3NVcGRhdGVUaW1lID0gV2Fs
bFRpbWU6Om5vdygpICsgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsOworICAg
IG1fY2FjaGVkU3RhdGUudmlkZW9NZXRyaWNzID0gbV9wbGF5ZXItPnZpZGVvUGxheWJhY2tRdWFs
aXR5TWV0cmljcygpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmNyZWF0ZUF1
ZGlvU291cmNlUHJvdmlkZXIoKQpAQCAtMTAxNiw2ICsxMDM5LDEzIEBAIHZvaWQgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6c2V0U2hvdWxkRW5hYmxlQXVkaW9Tb3VyY2VQcm92aWRlcihib29sIHNo
b3VsZEVuYWJsCiAjZW5kaWYKIH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9n
Q2hhbm5lbCYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIFdlYkNvcmU6OkxvZ01lZGlhOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5k
ZXggZTNkOWE1MTliYjJlZDI1OWNlZjFhOTMxNjBiNjYyMTNlNGZmMmQwNC4uNDAzNTUxYTY0MTM0
MGY3ZGUzNjljOWMyYWM2NzI0YjE3NjNjNWRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0xODksNyAr
MTg5LDggQEAgcHVibGljOgogICAgIHVzaW5nIFBlcmZvcm1UYXNrQXRNZWRpYVRpbWVDb21wbGV0
aW9uSGFuZGxlciA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TWVkaWFUaW1lPiwg
T3B0aW9uYWw8V2FsbFRpbWU+KT47CiAgICAgdm9pZCBwZXJmb3JtVGFza0F0TWVkaWFUaW1lKGNv
bnN0IE1lZGlhVGltZSYsIFdhbGxUaW1lLCBQZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlv
bkhhbmRsZXImJik7CiAgICAgdm9pZCB3b3VsZFRhaW50T3JpZ2luKHN0cnVjdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8Ym9vbD4p
PiYmKTsKLSAgICB2b2lkIHNldFNob3VsZFVwZGF0ZVBsYXliYWNrTWV0cmljcyhib29sKTsKKwor
ICAgIHZvaWQgc2V0VmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChkb3VibGUpOwog
CiAgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291
cmNlKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVz
b3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zKTsKICAgICB2b2lkIHNlbmRIMlBpbmcoY29uc3QgVVJM
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXVEY6OlNlY29uZHMsIFdlYkNvcmU6
OlJlc291cmNlRXJyb3I+JiYpPiYmKTsKQEAgLTI4NCw2ICsyODUsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2VuZENhY2hlZFN0YXRlKCk7CiAgICAgdm9pZCB0aW1lckZpcmVkKCk7CiAKKyAgICB2
b2lkIG1heWJlVXBkYXRlQ2FjaGVkVmlkZW9NZXRyaWNzKCk7CisgICAgdm9pZCB1cGRhdGVDYWNo
ZWRWaWRlb01ldHJpY3MoKTsKKwogICAgIHZvaWQgY3JlYXRlQXVkaW9Tb3VyY2VQcm92aWRlcigp
OwogICAgIHZvaWQgc2V0U2hvdWxkRW5hYmxlQXVkaW9Tb3VyY2VQcm92aWRlcihib29sKTsKIApA
QCAtMjk1LDYgKzI5OSwxMCBAQCBwcml2YXRlOgogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAog
ICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSBmaW5hbCB7IHJldHVybiBtX2xv
Z2dlcjsgfQogICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KG1fY29uZmlndXJhdGlvbi5sb2dJZGVu
dGlmaWVyKTsgfQorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgeyByZXR1cm4gbWVkaWFQbGF5
ZXJMb2dnZXIoKTsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBt
ZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKTsgfQorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFt
ZSgpIGNvbnN0IHsgcmV0dXJuICJSZW1vdGVNZWRpYVBsYXllclByb3h5IjsgfQorICAgIFdURkxv
Z0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdDsKICNlbmRpZgogCiAgICAgSGFzaE1hcDxXZWJD
b3JlOjpBdWRpb1RyYWNrUHJpdmF0ZSosIFJlZjxSZW1vdGVBdWRpb1RyYWNrUHJveHk+PiBtX2F1
ZGlvVHJhY2tzOwpAQCAtMzIwLDEyICszMjgsMTQgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVt
b3RlTWVkaWFTb3VyY2VQcm94eT4gbV9tZWRpYVNvdXJjZVByb3h5OwogI2VuZGlmCiAKKyAgICBT
ZWNvbmRzIG1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbDsKKyAgICBXYWxsVGlt
ZSBtX25leHRQbGF5YmFja1F1YWxpdHlNZXRyaWNzVXBkYXRlVGltZTsKKwogICAgIFdlYkNvcmU6
OkludFNpemUgbV92aWRlb0lubGluZVNpemU7CiAgICAgZmxvYXQgbV92aWRlb0NvbnRlbnRTY2Fs
ZSB7IDEuMCB9OwogCiAgICAgYm9vbCBtX2J1ZmZlcmVkQ2hhbmdlZCB7IHRydWUgfTsKICAgICBi
b29sIG1fcmVuZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZCB7IHRydWUgfTsKLSAgICBib29sIG1fc2hv
dWxkVXBkYXRlUGxheWJhY2tNZXRyaWNzIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShMRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGJvb2wgbV9z
aG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggYjRmNWVmZjRkOTlhYmRiMDA5MDkzNDhiOWU4ZTIxNWNkMzAw
Njc2OC4uNWQ5NjJkNDAzMDJmNTU5MjVkYmZjZDRmMjRkMTA0MWM1ZWE4N2FhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEwNyw3ICsxMDcsOCBAQCBtZXNzYWdlcyAt
PiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewogCiAgICAgUGVyZm9ybVRh
c2tBdE1lZGlhVGltZShNZWRpYVRpbWUgbWVkaWFUaW1lLCBXYWxsVGltZSBtZXNzYWdlVGltZSkg
LT4gKE9wdGlvbmFsPE1lZGlhVGltZT4gbWVkaWFUaW1lLCBPcHRpb25hbDxXYWxsVGltZT4gd2Fs
bFRpbWUpIEFzeW5jCiAgICAgV291bGRUYWludE9yaWdpbihzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhIG9yaWdpbikgLT4gKE9wdGlvbmFsPGJvb2w+IHdvdWxkVGFpbnQpIFN5bmNo
cm9ub3VzCi0gICAgU2V0U2hvdWxkVXBkYXRlUGxheWJhY2tNZXRyaWNzKGJvb2wgc2hvdWxkKQor
CisgICAgU2V0VmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbChkb3VibGUgaW50ZXJ2
YWwpCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEVycm9yTG9nKCkgLT4gKFN0cmlu
ZyBlcnJvckxvZykgU3luY2hyb25vdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CmluZGV4IGQ2YWVjODdlZWE5M2RjNzg2NjFkZTE5ZjgzMmZhMWQzMjZmYmI4NzkuLjcx
MWUwMTI2M2U0YzVmMWFiMWMwNmU5MzM1ZWQxZWMyMWU0NmIxNTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNzc1LDYgKzc3NSw3IEBAIGRlZiBoZWFkZXJz
X2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6SVNPV2ViVlRUQ3VlJzogWyc8V2Vi
Q29yZS9JU09WVFRDdWUuaD4nXSwKICAgICAgICAgJ3N0cnVjdCBXZWJDb3JlOjpDb29raWUnOiBb
JzxXZWJDb3JlL0Nvb2tpZS5oPiddLAogICAgICAgICAnc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRD
b250ZXh0JzogWyc8V2ViQ29yZS9FbGVtZW50Q29udGV4dC5oPiddLAorICAgICAgICAnc3RydWN0
IFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcyc6IFsnPFdlYkNvcmUvVmlkZW9Q
bGF5YmFja1F1YWxpdHlNZXRyaWNzLmg+J10sCiAgICAgICAgICdzdHJ1Y3QgV2ViS2l0OjpXZWJV
c2VyU2NyaXB0RGF0YSc6IFsnIldlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIidd
LAogICAgICAgICAnc3RydWN0IFdlYktpdDo6V2ViVXNlclN0eWxlU2hlZXREYXRhJzogWyciV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmgiJ10sCiAgICAgICAgICdzdHJ1Y3QgV2Vi
S2l0OjpXZWJTY3JpcHRNZXNzYWdlSGFuZGxlckRhdGEnOiBbJyJXZWJVc2VyQ29udGVudENvbnRy
b2xsZXJEYXRhVHlwZXMuaCInXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCBk
OGJhODFiNzgxODEzYTA5ZmUyOWY3NjEzNDljMjU1ZWNhYzRhYzY1Li43MGUyMTI4NDBlNTllZGMx
N2NjMmZlZTdiMGM2YTI1ZjAwYTQ4YzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CkBAIC0yMDQsNyArMjA0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBhdXNl
KCkKIHsKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHRydWU7CiAgICAgYXV0byBub3cgPSBX
YWxsVGltZTo6bm93KCk7Ci0gICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSArPSBNZWRpYVRp
bWU6OmNyZWF0ZVdpdGhEb3VibGUobV9yYXRlICogKG5vdyAtIG1fY2FjaGVkU3RhdGUud2FsbFRp
bWUpLnNlY29uZHMoKSk7CisgICAgbV9jYWNoZWRTdGF0ZS5jdXJyZW50VGltZSArPSBNZWRpYVRp
bWU6OmNyZWF0ZVdpdGhEb3VibGUobV9yYXRlICogKG5vdyAtIG1fY2FjaGVkU3RhdGUud2FsbFRp
bWUpLnZhbHVlKCkpOwogICAgIG1fY2FjaGVkU3RhdGUud2FsbFRpbWUgPSBub3c7CiAgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlBhdXNlKCks
IG1faWQpOwogfQpAQCAtNDI1LDYgKzQyNSw4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QKIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlhUGxheWVy
U3RhdGUmJiBzdGF0ZSkKIHsKKyAgICBjb25zdCBTZWNvbmRzIHBsYXliYWNrUXVhbGl0eU1ldHJp
Y3NUaW1lb3V0ID0gMzBfczsKKwogICAgIG1fY2FjaGVkU3RhdGUud2FsbFRpbWUgPSBzdGF0ZS53
YWxsVGltZTsKICAgICBtX2NhY2hlZFN0YXRlLmN1cnJlbnRUaW1lID0gc3RhdGUuY3VycmVudFRp
bWU7CiAgICAgbV9jYWNoZWRTdGF0ZS5kdXJhdGlvbiA9IHN0YXRlLmR1cmF0aW9uOwpAQCAtNDQ5
LDggKzQ1MSwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlQ2FjaGVk
U3RhdGUoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmIHN0YXRlKQogICAgIG1fY2FjaGVkU3RhdGUu
aGFzQXVkaW8gPSBzdGF0ZS5oYXNBdWRpbzsKICAgICBtX2NhY2hlZFN0YXRlLmhhc1ZpZGVvID0g
c3RhdGUuaGFzVmlkZW87CiAKLSAgICBpZiAobV93YW50UGxheWJhY2tRdWFsaXR5TWV0cmljcykK
KyAgICBpZiAoc3RhdGUudmlkZW9NZXRyaWNzKQogICAgICAgICBtX2NhY2hlZFN0YXRlLnZpZGVv
TWV0cmljcyA9IHN0YXRlLnZpZGVvTWV0cmljczsKKyAgICBpZiAobV92aWRlb1BsYXliYWNrTWV0
cmljc1VwZGF0ZUludGVydmFsICYmIChXYWxsVGltZTo6bm93KCkgLSBtX2xhc3RQbGF5YmFja1F1
YWxpdHlNZXRyaWNzUXVlcnlUaW1lKSA+IHBsYXliYWNrUXVhbGl0eU1ldHJpY3NUaW1lb3V0KQor
ICAgICAgICB1cGRhdGVWaWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsKDBfcyk7CiAK
ICAgICBtX2NhY2hlZFN0YXRlLmhhc0Nsb3NlZENhcHRpb25zID0gc3RhdGUuaGFzQ2xvc2VkQ2Fw
dGlvbnM7CiAgICAgbV9jYWNoZWRTdGF0ZS5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lID0gc3RhdGUu
aGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKQEAgLTExNjksMTIgKzExNzMsMjQgQEAgc2l6ZV90IE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QKICAgICByZXR1
cm4gMDsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZVZpZGVvUGxh
eWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwoY29uc3QgU2Vjb25kcyYgaW50ZXJ2YWwpCit7Cisg
ICAgbV92aWRlb1BsYXliYWNrTWV0cmljc1VwZGF0ZUludGVydmFsID0gaW50ZXJ2YWw7CisgICAg
Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlNldFZp
ZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwobV92aWRlb1BsYXliYWNrTWV0cmljc1Vw
ZGF0ZUludGVydmFsLnZhbHVlKCkpLCBtX2lkKTsKK30KKwogT3B0aW9uYWw8VmlkZW9QbGF5YmFj
a1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVvUGxheWJhY2tR
dWFsaXR5TWV0cmljcygpCiB7Ci0gICAgaWYgKCFtX3dhbnRQbGF5YmFja1F1YWxpdHlNZXRyaWNz
KSB7Ci0gICAgICAgIG1fd2FudFBsYXliYWNrUXVhbGl0eU1ldHJpY3MgPSB0cnVlOwotICAgICAg
ICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U2V0
U2hvdWxkVXBkYXRlUGxheWJhY2tNZXRyaWNzKHRydWUpLCBtX2lkKTsKLSAgICB9CisgICAgY29u
c3QgU2Vjb25kcyBtYXhpbXVtUGxheWJhY2tRdWFsaXR5TWV0cmljc1NhbXBsZVRpbWVEZWx0YSA9
IDAuMjVfczsKKworICAgIGF1dG8gbm93ID0gV2FsbFRpbWU6Om5vdygpOworICAgIGF1dG8gdGlt
ZVNpbmNlTGFzdFF1ZXJ5ID0gbm93IC0gbV9sYXN0UGxheWJhY2tRdWFsaXR5TWV0cmljc1F1ZXJ5
VGltZTsKKyAgICBpZiAoIW1fdmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbCkKKyAg
ICAgICAgdXBkYXRlVmlkZW9QbGF5YmFja01ldHJpY3NVcGRhdGVJbnRlcnZhbCgxX3MpOworICAg
IGVsc2UgaWYgKHN0ZDo6YWJzKCh0aW1lU2luY2VMYXN0UXVlcnkgLSBtX3ZpZGVvUGxheWJhY2tN
ZXRyaWNzVXBkYXRlSW50ZXJ2YWwpLnZhbHVlKCkpID4gbWF4aW11bVBsYXliYWNrUXVhbGl0eU1l
dHJpY3NTYW1wbGVUaW1lRGVsdGEudmFsdWUoKSkKKyAgICAgICAgdXBkYXRlVmlkZW9QbGF5YmFj
a01ldHJpY3NVcGRhdGVJbnRlcnZhbCh0aW1lU2luY2VMYXN0UXVlcnkpOworCisgICAgbV9sYXN0
UGxheWJhY2tRdWFsaXR5TWV0cmljc1F1ZXJ5VGltZSA9IG5vdzsKIAogICAgIHJldHVybiBtX2Nh
Y2hlZFN0YXRlLnZpZGVvTWV0cmljczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4
IDVmMDMzMWFjOWRhZDgzZDk0NWUzZGVhNzExMzcyNWVkMGNkOWU2MGYuLmI1YzQ5YzY5MDMzNjVm
MWM1NGRkZjNiMTE2ZTJmN2M0NGNjYzg0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApA
QCAtMzY1LDYgKzM2NSw3IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgp
IGNvbnN0IGZpbmFsOwogCiAgICAgT3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxp
dHlNZXRyaWNzPiB2aWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3MoKSBmaW5hbDsKKyAgICB2b2lk
IHVwZGF0ZVZpZGVvUGxheWJhY2tNZXRyaWNzVXBkYXRlSW50ZXJ2YWwoY29uc3QgU2Vjb25kcyYp
OwogCiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykKICAgICB2b2lkIG5vdGlmeVRyYWNrTW9kZUNo
YW5nZWQoKSBmaW5hbDsKQEAgLTQxNCw2ICs0MTUsOCBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSBtX2RvY3VtZW50U2VjdXJpdHlPcmlnaW47CiAgICAgbXV0YWJs
ZSBIYXNoTWFwPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgT3B0aW9uYWw8Ym9vbD4+IG1f
d291bGRUYWludE9yaWdpbkNhY2hlOwogCisgICAgV2FsbFRpbWUgbV9sYXN0UGxheWJhY2tRdWFs
aXR5TWV0cmljc1F1ZXJ5VGltZTsKKyAgICBTZWNvbmRzIG1fdmlkZW9QbGF5YmFja01ldHJpY3NV
cGRhdGVJbnRlcnZhbDsKICAgICBkb3VibGUgbV92b2x1bWUgeyAxIH07CiAgICAgZG91YmxlIG1f
cmF0ZSB7IDEgfTsKICAgICBsb25nIG1fcGxhdGZvcm1FcnJvckNvZGUgeyAwIH07CkBAIC00MjEs
NyArNDI0LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2Vla2luZyB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pbnZhbGlkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fd2FudFBsYXliYWNrUXVhbGl0eU1l
dHJpY3MgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YWl0aW5nRm9yS2V5IHsgZmFsc2UgfTsKIH07
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>