<?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>190827</bug_id>
          
          <creation_ts>2018-10-23 07:47:50 -0700</creation_ts>
          <short_desc>TextTrack cues should be updated more often than every 250ms.</short_desc>
          <delta_ts>2018-10-24 02:05:21 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1471567</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-10-23 07:47:50 -0700</bug_when>
    <thetext>TextTrack cues should be updated more often than every 250ms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471568</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-23 07:48:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/45487169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471569</commentid>
    <comment_count>2</comment_count>
      <attachid>352974</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-10-23 07:59:29 -0700</bug_when>
    <thetext>Created attachment 352974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471571</commentid>
    <comment_count>3</comment_count>
      <attachid>352975</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-10-23 08:02:48 -0700</bug_when>
    <thetext>Created attachment 352975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471576</commentid>
    <comment_count>4</comment_count>
      <attachid>352975</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-10-23 08:12:11 -0700</bug_when>
    <thetext>Comment on attachment 352975
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:1540
&gt; +bool MediaPlayer::performTaskAtMediaTime(WTF::Function&lt;void()&gt;&amp;&amp; task, MediaTime time)

Nit: the return bool isn&apos;t used anywhere, is it necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471577</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-10-23 08:16:25 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #4)
&gt; Comment on attachment 352975 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=352975&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:1540
&gt; &gt; +bool MediaPlayer::performTaskAtMediaTime(WTF::Function&lt;void()&gt;&amp;&amp; task, MediaTime time)
&gt; 
&gt; Nit: the return bool isn&apos;t used anywhere, is it necessary?

I was thinking that we could detect when the MediaPlayer didn&apos;t support performing a task at a specific time, and fall back to using a Timer. I&apos;m not doing it in this case, because we have the existing 250ms timer to fall back upon. But other use cases of performTaskAtTime() might need to know whether the task will actually get called.

TL;DR, it&apos;s not necessary now, but it may be nice to have in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471578</commentid>
    <comment_count>6</comment_count>
      <attachid>352977</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-10-23 08:18:15 -0700</bug_when>
    <thetext>Created attachment 352977
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471793</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-10-24 02:05:21 -0700</bug_when>
    <thetext>Committed r237376: &lt;https://trac.webkit.org/changeset/237376&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352974</attachid>
            <date>2018-10-23 07:59:29 -0700</date>
            <delta_ts>2018-10-23 08:02:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190827-20181023165928.patch</filename>
            <type>text/plain</type>
            <size>13699</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFkYjRjYjJmNDc5ZWM4
ZjQ5NTYyMjA0ODI5NmRlZjgwZmVlYjgxNC4uOTExMjEwMGY2NDJiODk1ODNhNDRjYWU4MzVjMDQ3
Yzk4MzlkZWI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTEwLTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFjayBjdWVzIHNo
b3VsZCBiZSB1cGRhdGVkIG1vcmUgb2Z0ZW4gdGhhbiBldmVyeSAyNTBtcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgyNworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3Ry
YWNrLWN1ZS10aW1pbmcuaHRtbAorCisgICAgICAgIFRleHRUcmFja3MgY3VlcyBhcmUgcmVjYWxj
dWxhdGVkIG9uIHRoZSBwbGF5YmFjayB0aW1lciwgd2hpY2ggZmlyZXMgYXQgbGVhc3QgZXZlcnkg
MjUwbXMuCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoaXMgdGltZXIsIGFkZCBhIG1ldGhvZCB0
byBNZWRpYVBsYXllciB0byBwcm92aWRlIGEgdGFzayB3aGljaCB3aWxsIGJlCisgICAgICAgIHBl
cmZvcm1lZCBhdCBhIHBhcnRpY3VsYXIgbWVkaWEgdGltZSwgYW5kIHVzZSB0aGlzIG5ldyBtZXRo
b2QgdG8gcmVxdWVzdCBjdWVzIGJlIHVwZGF0ZWQKKyAgICAgICAgYXQgdGhlIG5leHQgaW50ZXJl
c3RpbmcgbWVkaWEgdGltZS4gVGhlIG5leHQgaW50ZXJlc3RpbmcgdGltZSB3b3VsZCBiZSBlaXRo
ZXIgd2hlbiB0aGUKKyAgICAgICAgc29vbmVzdCBjdXJyZW50IGN1ZSB3aWxsIGVuZCwgb3Igd2hl
biB0aGUgbmV4dCBub24tY3VycmVudCBjdWUgd2lsbCBzdGFydCwgd2hpY2hldmVyIGlzCisgICAg
ICAgIGVhcmxpZXIuCisKKyAgICAgICAgKERldGVybWluaW5nIHRoZSAibmV4dCBub24tY3VycmVu
dCBjdWUiIHJlcXVpcmVzIG5ldyBBUEkgb24gUE9ESW50ZXJ2YWxUcmVlLCBhcyB0aGF0IGNsYXNz
CisgICAgICAgIGRvZXMgbm90IGhhdmUgaXRlcmF0b3JzIHBlci1zZS4pCisKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcGFyZUN1ZUlu
dGVydmFsRW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRh
dGVBY3RpdmVUZXh0VHJhY2tDdWVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QT0RJbnRlcnZhbFRy
ZWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwZXJmb3JtVGFz
a0F0TWVkaWFUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUpOgorCiAyMDE4LTEwLTIy
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBXZWFrUHRy
IGFuZCBHZW5lcmljVGFza1F1ZXVlIHdpdGhpbiBPYmpDIGNsYXNzZXMgdXNlZCBieSBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAppbmRleCA0MjI3MGI3ZjE2NDkwYjlmZTJjYzdmNWY4MmUzMGRiMjk1NjhkOGQx
Li5hYmE4ZTA2MjlkM2Y4YjA4NjUxNGI5MGZiNTA2YTFlYzY0ZGU2MDMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE2NTcsNiArMTY1NywxMSBAQCBzdGF0
aWMgYm9vbCBjb21wYXJlQ3VlSW50ZXJ2YWwoY29uc3QgQ3VlSW50ZXJ2YWwmIG9uZSwgY29uc3Qg
Q3VlSW50ZXJ2YWwmIHR3bykKICAgICByZXR1cm4gb25lLmRhdGEoKS0+aXNPcmRlcmVkQmVmb3Jl
KHR3by5kYXRhKCkpOwogfQogCitzdGF0aWMgYm9vbCBjb21wYXJlQ3VlSW50ZXJ2YWxFbmRUaW1l
KGNvbnN0IEN1ZUludGVydmFsJiBvbmUsIGNvbnN0IEN1ZUludGVydmFsJiB0d28pCit7CisgICAg
cmV0dXJuIG9uZS5kYXRhKCktPmVuZE1lZGlhVGltZSgpID4gdHdvLmRhdGEoKS0+ZW5kTWVkaWFU
aW1lKCk7Cit9CisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNr
Q3Vlcyhjb25zdCBNZWRpYVRpbWUmIG1vdmllVGltZSkKIHsKICAgICAvLyA0LjguMTAuOCBQbGF5
aW5nIHRoZSBtZWRpYSByZXNvdXJjZQpAQCAtMTY3Niw4ICsxNjgxLDkgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojp1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGNvbnN0IE1lZGlhVGltZSYgbW92
aWVUaW1lKQogCiAgICAgLy8gVGhlIHVzZXIgYWdlbnQgbXVzdCBzeW5jaHJvbm91c2x5IHVuc2V0
IFt0aGUgdGV4dCB0cmFjayBjdWUgYWN0aXZlXSBmbGFnCiAgICAgLy8gd2hlbmV2ZXIgLi4uIHRo
ZSBtZWRpYSBlbGVtZW50J3MgcmVhZHlTdGF0ZSBpcyBjaGFuZ2VkIGJhY2sgdG8gSEFWRV9OT1RI
SU5HLgorICAgIGF1dG8gbW92aWVUaW1lSW50ZXJ2YWwgPSBtX2N1ZVRyZWUuY3JlYXRlSW50ZXJ2
YWwobW92aWVUaW1lLCBtb3ZpZVRpbWUpOwogICAgIGlmIChtX3JlYWR5U3RhdGUgIT0gSEFWRV9O
T1RISU5HICYmIG1fcGxheWVyKSB7Ci0gICAgICAgIGN1cnJlbnRDdWVzID0gbV9jdWVUcmVlLmFs
bE92ZXJsYXBzKG1fY3VlVHJlZS5jcmVhdGVJbnRlcnZhbChtb3ZpZVRpbWUsIG1vdmllVGltZSkp
OworICAgICAgICBjdXJyZW50Q3VlcyA9IG1fY3VlVHJlZS5hbGxPdmVybGFwcyhtb3ZpZVRpbWVJ
bnRlcnZhbCk7CiAgICAgICAgIGlmIChjdXJyZW50Q3Vlcy5zaXplKCkgPiAxKQogICAgICAgICAg
ICAgc3RkOjpzb3J0KGN1cnJlbnRDdWVzLmJlZ2luKCksIGN1cnJlbnRDdWVzLmVuZCgpLCAmY29t
cGFyZUN1ZUludGVydmFsKTsKICAgICB9CkBAIC0xNzQ2LDYgKzE3NTIsMjUgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojp1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGNvbnN0IE1lZGlhVGltZSYg
bW92aWVUaW1lKQogICAgICAgICAgICAgYWN0aXZlU2V0Q2hhbmdlZCA9IHRydWU7CiAgICAgfQog
CisgICAgTWVkaWFUaW1lIG5leHRJbnRlcmVzdGluZ1RpbWUgPSBNZWRpYVRpbWU6OmludmFsaWRU
aW1lKCk7CisgICAgaWYgKGF1dG8gbmVhcmVzdEVuZGluZ0N1ZSA9IHN0ZDo6bWluX2VsZW1lbnQo
Y3VycmVudEN1ZXMuYmVnaW4oKSwgY3VycmVudEN1ZXMuZW5kKCksIGNvbXBhcmVDdWVJbnRlcnZh
bEVuZFRpbWUpKQorICAgICAgICBuZXh0SW50ZXJlc3RpbmdUaW1lID0gbmVhcmVzdEVuZGluZ0N1
ZS0+ZGF0YSgpLT5lbmRNZWRpYVRpbWUoKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8Q3VlSW50ZXJ2
YWw+IG5leHRDdWUgPSBtX2N1ZVRyZWUubmV4dEludGVydmFsQWZ0ZXIobW92aWVUaW1lSW50ZXJ2
YWwpOworICAgIGlmIChuZXh0Q3VlKQorICAgICAgICBuZXh0SW50ZXJlc3RpbmdUaW1lID0gc3Rk
OjptaW4obmV4dEludGVyZXN0aW5nVGltZSwgbmV4dEN1ZS0+bG93KCkpOworCisgICAgaWYgKG5l
eHRJbnRlcmVzdGluZ1RpbWUuaXNWYWxpZCgpICYmIG1fcGxheWVyKSB7CisgICAgICAgIFdURkxv
Z0Fsd2F5cygidXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3VlczogbmV4dEludGVyZXN0aW5nVGltZTol
cywgbW92aWVUaW1lOiVzIiwgdG9TdHJpbmcobmV4dEludGVyZXN0aW5nVGltZSkudXRmOCgpLmRh
dGEoKSwgdG9TdHJpbmcobW92aWVUaW1lKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgbV9wbGF5
ZXItPnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyks
IG5leHRJbnRlcmVzdGluZ1RpbWVdIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgYXV0byBjdXJyZW50VGltZSA9IHdlYWtU
aGlzLT5jdXJyZW50TWVkaWFUaW1lKCk7CisgICAgICAgICAgICBXVEZMb2dBbHdheXMoInBlcmZv
cm1UYXNrQXRNZWRpYVRpbWU6IG5leHRJbnRlcmVzdGluZ1RpbWU6JXMsIGN1cnJlbnRUaW1lOiVz
IiwgdG9TdHJpbmcobmV4dEludGVyZXN0aW5nVGltZSkudXRmOCgpLmRhdGEoKSwgdG9TdHJpbmco
Y3VycmVudFRpbWUpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgd2Vha1RoaXMtPnVwZGF0
ZUFjdGl2ZVRleHRUcmFja0N1ZXMoY3VycmVudFRpbWUpOworICAgICAgICB9LCBuZXh0SW50ZXJl
c3RpbmdUaW1lKTsKKyAgICB9CisKICAgICBpZiAoIWFjdGl2ZVNldENoYW5nZWQpCiAgICAgICAg
IHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9ESW50ZXJ2
YWxUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaAppbmRl
eCAwNGUyNjY5M2Y1YmUxZGE1NTdiM2RmZTc5ZjAyMmZhNDJkMGY3NGIwLi4xZmRiYzM2ZmJmYzFl
MGJlZjJjZjEyZmQ4MzY3Y2QyOWE2NWExMjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
T0RJbnRlcnZhbFRyZWUuaApAQCAtMTE1LDYgKzExNSwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBJbnRlcnZhbFR5cGUobG93LCBoaWdoLCBkYXRhKTsKICAgICB9CiAKKyAgICBzdGQ6Om9w
dGlvbmFsPEludGVydmFsVHlwZT4gbmV4dEludGVydmFsQWZ0ZXIoY29uc3QgSW50ZXJ2YWxUeXBl
JiBpbnRlcnZhbCkKKyAgICB7CisgICAgICAgIGF1dG8gbmV4dCA9IHNtYWxsZXN0Tm9kZUdyZWF0
ZXJUaGFuRnJvbShpbnRlcnZhbCwgdGhpcy0+cm9vdCgpKTsKKyAgICAgICAgaWYgKCFuZXh0KQor
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICByZXR1cm4gbmV4dC0+
ZGF0YSgpOworICAgIH0KKwogICAgIGJvb2wgY2hlY2tJbnZhcmlhbnRzKCkgY29uc3Qgb3ZlcnJp
ZGUKICAgICB7CiAgICAgICAgIGlmICghUE9EUmVkQmxhY2tUcmVlPEludGVydmFsVHlwZT46OmNo
ZWNrSW52YXJpYW50cygpKQpAQCAtMTY1LDYgKzE3NCwyMCBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgc2VhcmNoRm9yT3ZlcmxhcHNGcm9tPEFkYXB0ZXJUeXBlPihub2RlLT5yaWdodCgpLCBhZGFw
dGVyKTsKICAgICB9CiAKKyAgICBJbnRlcnZhbE5vZGUqIHNtYWxsZXN0Tm9kZUdyZWF0ZXJUaGFu
RnJvbShjb25zdCBJbnRlcnZhbFR5cGUmIGludGVydmFsLCBJbnRlcnZhbE5vZGUqIG5vZGUpIGNv
bnN0CisgICAgeworICAgICAgICBpZiAoIW5vZGUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgICAgICBpZiAoIShpbnRlcnZhbC5sb3coKSA8IG5vZGUtPmRhdGEoKS5sb3coKSkp
CisgICAgICAgICAgICByZXR1cm4gc21hbGxlc3ROb2RlR3JlYXRlclRoYW5Gcm9tKGludGVydmFs
LCBub2RlLT5yaWdodCgpKTsKKworICAgICAgICBpZiAoYXV0byBsZWZ0ID0gc21hbGxlc3ROb2Rl
R3JlYXRlclRoYW5Gcm9tKGludGVydmFsLCBub2RlLT5yaWdodCgpKSkKKyAgICAgICAgICAgIHJl
dHVybiBsZWZ0OworCisgICAgICAgIHJldHVybiBub2RlOworfQorCiAgICAgYm9vbCB1cGRhdGVO
b2RlKEludGVydmFsTm9kZSogbm9kZSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIC8vIFdvdWxk
IHVzZSBjb25zdCBUJiwgYnV0IG5lZWQgdG8gcmVhc3NpZ24gdGhpcyByZWZlcmVuY2UgaW4gdGhp
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CmluZGV4IDQ3MTQxYWI0ZjYyMDlkYWY2MjE0NGFlNTMxMjQ0MjQyMWM2ZjNmOWIuLmU3ZTkwNTJi
ODBkMTM3YzZiN2RlYjA0YzVjZGUwYWE2MWUzMTk1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE1MzcsNiArMTUzNywxMSBA
QCBBVlBsYXllciogTWVkaWFQbGF5ZXI6Om9iakNBVkZvdW5kYXRpb25BVlBsYXllcigpIGNvbnN0
CiAKICNlbmRpZgogCitib29sIE1lZGlhUGxheWVyOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdU
Rjo6RnVuY3Rpb248dm9pZCgpPiYmIHRhc2ssIE1lZGlhVGltZSB0aW1lKQoreworICAgIHJldHVy
biBtX3ByaXZhdGUtPnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGTW92ZSh0YXNrKSwgdGltZSk7
Cit9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIGNvbnN0IExvZ2dlciYgTWVkaWFQbGF5
ZXI6Om1lZGlhUGxheWVyTG9nZ2VyKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDQ0Nzc1NjYzYmNlODc3Zjc0N2NiMGExNDY0MWQw
MTMxMTVhYjdkNzUuLjAxZGQ5NjVlOWE2ZDZjNWZmZDI2NzlhMzFmNWUxYzUwODUyNjgzYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAt
NTcxLDYgKzU3MSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBBVlBsYXllciAqb2Jq
Q0FWRm91bmRhdGlvbkFWUGxheWVyKCkgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJvb2wgcGVyZm9y
bVRhc2tBdE1lZGlhVGltZShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiwgTWVkaWFUaW1lKTsKKwog
cHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWVudCYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
CmluZGV4IGY4MDk5ZTlmZWY1Nzg0M2VhMTMzYWNlYTcwNmQ3NDMwMWY5NDU1MDQuLjg4N2FjODVh
Y2I4OGJlYjU2MzZiY2I5ZGYyOTMxNjdmZTFhOWZjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0yODEsNiAr
MjgxLDggQEAgcHVibGljOgogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgdmlydHVhbCBBVlBs
YXllciAqb2JqQ0FWRm91bmRhdGlvbkFWUGxheWVyKCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsg
fQogI2VuZGlmCisKKyAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybVRhc2tBdE1lZGlhVGltZShXVEY6
OkZ1bmN0aW9uPHZvaWQoKT4mJiwgTWVkaWFUaW1lKSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDIxMGZjYzdhNGYzZDU1N2ZjYzQxODIxMTZmOGNh
Yzg0OWVjMDMwNzcuLjUxNTZlZGQzMTMzNGIzYjFjYzc1NDMwZmYxYjk1MDZkMGQwNWYzOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTMzMSw2ICszMzEsOCBAQCBwcml2YXRlOgogCiAgICAg
QVZQbGF5ZXIgKm9iakNBVkZvdW5kYXRpb25BVlBsYXllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fYXZQbGF5ZXIuZ2V0KCk7IH0KIAorICAgIGJvb2wgcGVyZm9ybVRhc2tBdE1lZGlhVGltZShX
VEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiwgTWVkaWFUaW1lKSBmaW5hbDsKKwogICAgIFdlYWtQdHJG
YWN0b3J5PE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM+IG1fd2Vha1B0ckZhY3Rv
cnk7CiAgICAgUmV0YWluUHRyPEFWVVJMQXNzZXQ+IG1fYXZBc3NldDsKICAgICBSZXRhaW5QdHI8
QVZQbGF5ZXI+IG1fYXZQbGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBkNWU4OTM4
ZWY2YTIzYWNiMDExMjQwMmFiMzE2MjM1YzA3ZmU2ZWM2Li4yOGY4ZWUzMThkODQwOGY5ZWUwOGVj
NmFmMWZmMDYzNTZkNWIzOGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTMyOTUsNiAr
MzI5NSwxOSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcz4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6dgogI2VuZGlmCiB9CiAKK2Jvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZShX
VEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiB0YXNrLCBNZWRpYVRpbWUgdGltZSkKK3sKKyAgICBpZiAo
IW1fYXZQbGF5ZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIF9fYmxvY2sgV1RGOjpG
dW5jdGlvbjx2b2lkKCk+IHRhc2tJbiA9IFdURk1vdmUodGFzayk7CisKKyAgICBbbV9hdlBsYXll
ciBhZGRCb3VuZGFyeVRpbWVPYnNlcnZlckZvclRpbWVzOkBbW05TVmFsdWUgdmFsdWVXaXRoQ01U
aW1lOnRvQ01UaW1lKHRpbWUpXV0gcXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2lu
Z0Jsb2NrOl57CisgICAgICAgIHRhc2tJbigpOworICAgIH1dOworICAgIHJldHVybiB0cnVlOwor
fQorCiBOU0FycmF5KiBhc3NldE1ldGFkYXRhS2V5TmFtZXMoKQogewogICAgIHN0YXRpYyBOU0Fy
cmF5KiBrZXlzID0gW1tOU0FycmF5IGFsbG9jXSBpbml0V2l0aE9iamVjdHM6CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWVl
MGI2M2I4ODcxMjIyOTdjNGJiYzM5OGJiZmNhMzcwZDAzNjEyNS4uN2Q1ZGQ5ZDk1OTNlOWUxZWUz
ZTcwNGM5ZTk1ZGNlODQyZTg3OGJiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEwLTIz
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFjayBj
dWVzIHNob3VsZCBiZSB1cGRhdGVkIG1vcmUgb2Z0ZW4gdGhhbiBldmVyeSAyNTBtcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgyNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIExheW91dFRl
c3Qgd2hpY2ggcGxheXMgYmFjayA2cyBvZiBjYXB0aW9ucywgZWFjaCA1MCBtcyBpbiBkdXJhdGlv
biwgYW5kIHVzZXMKKyAgICAgICAgd2hlbiB0aGUgImVudGVyIiBhbmQgImV4aXQiIHdlcmUgZmly
ZWQgKGluIG1lZGlhIHRpbWUpIHRvIGNoZWNrIHdoZXRoZXIgdGhleSB3ZXJlIG1pc3NlZAorICAg
ICAgICBvciBub3QuIFRoZSB0ZXN0IHN1Y2NlZWRzIGlmIGZld2VyIHRoYW4gNTAgb2YgdGhlIDEy
MCBjdWVzIHdlcmUgbWlzc2VkLgorCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stY3VlLW1p
c3NpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1j
dWUtbWlzc2luZy5odG1sOiBBZGRlZC4KKwogMjAxOC0xMC0xNSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXSB0aW1lc3RhbXBPZmZzZXQgY2FuIGludHJv
ZHVjZSBmbG9hdGluZy1wb2ludCByb3VuZGluZyBlcnJvcnMgdG8gaW5jb21pbmcgc2FtcGxlcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmZDc3OTdhYzFmODE4NTM1MmU1NWVkNDBkMzRlODIzOTk4
M2JiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1j
dWUtbWlzc2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitSVU4odmlkZW8uc3Jj
ID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0IikpCitSVU4odHJhY2sg
PSB2aWRlby5hZGRUZXh0VHJhY2soInN1YnRpdGxlcyIsICJFbmdsaXNoIiwgImVuIikpCitSVU4o
dHJhY2subW9kZSA9ICJzaG93aW5nIikKK0VWRU5UKGxvYWRlZGRhdGEpCitDcmVhdGVkIDEyMSBj
dWVzLgorRVZFTlQoZW5kZWQpCitFWFBFQ1RFRCAobWlzc2VkQ3VlQ291bnQgPCAnNTAnKSBPSwor
RU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
Y3VlLW1pc3NpbmcuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNz
aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JlZTU2MTdhNDY5MDI0ODFiZmUwYjQ3N2YwMWMzNDFlMTBh
ODBiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1
ZS1taXNzaW5nLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZXZlbnQgPT4geworICAgICAg
ICB2aWRlbyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJyk7CisKKyAgICAgICAgcnVu
KCd2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICIuLi9jb250ZW50L3Rlc3QiKScp
OworCisgICAgICAgIHJ1bigndHJhY2sgPSB2aWRlby5hZGRUZXh0VHJhY2soInN1YnRpdGxlcyIs
ICJFbmdsaXNoIiwgImVuIiknKTsKKyAgICAgICAgcnVuKCd0cmFjay5tb2RlID0gInNob3dpbmci
Jyk7CisKKyAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ2xvYWRlZGRhdGEnKTsKKworICAg
ICAgICBsZXQgY3VlU3RhcnRUaW1lID0gMDsKKyAgICAgICAgbGV0IGN1ZUR1cmF0aW9uID0gMC4w
NTA7CisgICAgICAgIGxldCBjdWVDb3VudCA9IDA7CisgICAgICAgIG1pc3NlZEN1ZUNvdW50ID0g
MDsKKworICAgICAgICB3aGlsZSAoY3VlU3RhcnRUaW1lIDwgdmlkZW8uZHVyYXRpb24pIHsKKyAg
ICAgICAgICAgIGxldCBjdWUgPSBuZXcgVlRUQ3VlKGN1ZVN0YXJ0VGltZSwgY3VlU3RhcnRUaW1l
ICsgY3VlRHVyYXRpb24sIGBDdWUgJHsgKytjdWVDb3VudCB9YCkKKyAgICAgICAgICAgIGN1ZVN0
YXJ0VGltZSArPSBjdWVEdXJhdGlvbjsKKworICAgICAgICAgICAgY3VlLmFkZEV2ZW50TGlzdGVu
ZXIoJ2VudGVyJywgZXZlbnQgPT4geworICAgICAgICAgICAgICAgIGN1ZS5lbnRlckZpcmVUaW1l
ID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGN1ZS5h
ZGRFdmVudExpc3RlbmVyKCdleGl0JywgZXZlbnQgPT4geworICAgICAgICAgICAgICAgIGN1ZS5l
eGl0RmlyZVRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgICAgICAgICAgICBsZXQgZXZl
bnREdXJhdGlvbiA9IGN1ZS5leGl0RmlyZVRpbWUgLSBjdWUuZW50ZXJGaXJlVGltZTsKKyAgICAg
ICAgICAgICAgICBsZXQgY3VlRHVyYXRpb24gPSBjdWUuZW5kVGltZSAtIGN1ZS5zdGFydFRpbWU7
CisKKyAgICAgICAgICAgICAgICBpZiAoZXZlbnREdXJhdGlvbiAqIDIgPCBjdWVEdXJhdGlvbikK
KyAgICAgICAgICAgICAgICAgICAgKyttaXNzZWRDdWVDb3VudDsKKyAgICAgICAgICAgIH0pOwor
CisgICAgICAgICAgICB0cmFjay5hZGRDdWUoY3VlKTsKKyAgICAgICAgfQorCisgICAgICAgIGNv
bnNvbGVXcml0ZShgQ3JlYXRlZCAkeyBjdWVDb3VudCB9IGN1ZXMuYCk7CisKKyAgICAgICAgdmlk
ZW8ucGxheSgpOworICAgICAgICBhd2FpdCB3YWl0Rm9yKHZpZGVvLCAnZW5kZWQnKTsKKworICAg
ICAgICB0ZXN0RXhwZWN0ZWQoJ21pc3NlZEN1ZUNvdW50JywgNTAsICc8Jyk7CisKKyAgICAgICAg
ZW5kVGVzdCgpOworICAgIH0sIHtvbmNlOiB0cnVlfSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKzwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352975</attachid>
            <date>2018-10-23 08:02:48 -0700</date>
            <delta_ts>2018-10-23 08:18:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190827-20181023170246.patch</filename>
            <type>text/plain</type>
            <size>15371</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFkYjRjYjJmNDc5ZWM4
ZjQ5NTYyMjA0ODI5NmRlZjgwZmVlYjgxNC4uOTExMjEwMGY2NDJiODk1ODNhNDRjYWU4MzVjMDQ3
Yzk4MzlkZWI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTEwLTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFjayBjdWVzIHNo
b3VsZCBiZSB1cGRhdGVkIG1vcmUgb2Z0ZW4gdGhhbiBldmVyeSAyNTBtcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgyNworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3Ry
YWNrLWN1ZS10aW1pbmcuaHRtbAorCisgICAgICAgIFRleHRUcmFja3MgY3VlcyBhcmUgcmVjYWxj
dWxhdGVkIG9uIHRoZSBwbGF5YmFjayB0aW1lciwgd2hpY2ggZmlyZXMgYXQgbGVhc3QgZXZlcnkg
MjUwbXMuCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoaXMgdGltZXIsIGFkZCBhIG1ldGhvZCB0
byBNZWRpYVBsYXllciB0byBwcm92aWRlIGEgdGFzayB3aGljaCB3aWxsIGJlCisgICAgICAgIHBl
cmZvcm1lZCBhdCBhIHBhcnRpY3VsYXIgbWVkaWEgdGltZSwgYW5kIHVzZSB0aGlzIG5ldyBtZXRo
b2QgdG8gcmVxdWVzdCBjdWVzIGJlIHVwZGF0ZWQKKyAgICAgICAgYXQgdGhlIG5leHQgaW50ZXJl
c3RpbmcgbWVkaWEgdGltZS4gVGhlIG5leHQgaW50ZXJlc3RpbmcgdGltZSB3b3VsZCBiZSBlaXRo
ZXIgd2hlbiB0aGUKKyAgICAgICAgc29vbmVzdCBjdXJyZW50IGN1ZSB3aWxsIGVuZCwgb3Igd2hl
biB0aGUgbmV4dCBub24tY3VycmVudCBjdWUgd2lsbCBzdGFydCwgd2hpY2hldmVyIGlzCisgICAg
ICAgIGVhcmxpZXIuCisKKyAgICAgICAgKERldGVybWluaW5nIHRoZSAibmV4dCBub24tY3VycmVu
dCBjdWUiIHJlcXVpcmVzIG5ldyBBUEkgb24gUE9ESW50ZXJ2YWxUcmVlLCBhcyB0aGF0IGNsYXNz
CisgICAgICAgIGRvZXMgbm90IGhhdmUgaXRlcmF0b3JzIHBlci1zZS4pCisKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcGFyZUN1ZUlu
dGVydmFsRW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRh
dGVBY3RpdmVUZXh0VHJhY2tDdWVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QT0RJbnRlcnZhbFRy
ZWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZTo6cGVyZm9ybVRhc2tBdE1lZGlhVGltZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwZXJmb3JtVGFz
a0F0TWVkaWFUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUpOgorCiAyMDE4LTEwLTIy
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBXZWFrUHRy
IGFuZCBHZW5lcmljVGFza1F1ZXVlIHdpdGhpbiBPYmpDIGNsYXNzZXMgdXNlZCBieSBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAppbmRleCA0MjI3MGI3ZjE2NDkwYjlmZTJjYzdmNWY4MmUzMGRiMjk1NjhkOGQx
Li43NmUwZjczYzMxNGU0MzdlNDhhMTdhNDIzOGZmNTc1MTE1YTkyYjI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE2NTcsNiArMTY1NywxMSBAQCBzdGF0
aWMgYm9vbCBjb21wYXJlQ3VlSW50ZXJ2YWwoY29uc3QgQ3VlSW50ZXJ2YWwmIG9uZSwgY29uc3Qg
Q3VlSW50ZXJ2YWwmIHR3bykKICAgICByZXR1cm4gb25lLmRhdGEoKS0+aXNPcmRlcmVkQmVmb3Jl
KHR3by5kYXRhKCkpOwogfQogCitzdGF0aWMgYm9vbCBjb21wYXJlQ3VlSW50ZXJ2YWxFbmRUaW1l
KGNvbnN0IEN1ZUludGVydmFsJiBvbmUsIGNvbnN0IEN1ZUludGVydmFsJiB0d28pCit7CisgICAg
cmV0dXJuIG9uZS5kYXRhKCktPmVuZE1lZGlhVGltZSgpID4gdHdvLmRhdGEoKS0+ZW5kTWVkaWFU
aW1lKCk7Cit9CisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNr
Q3Vlcyhjb25zdCBNZWRpYVRpbWUmIG1vdmllVGltZSkKIHsKICAgICAvLyA0LjguMTAuOCBQbGF5
aW5nIHRoZSBtZWRpYSByZXNvdXJjZQpAQCAtMTY3Niw4ICsxNjgxLDkgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojp1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGNvbnN0IE1lZGlhVGltZSYgbW92
aWVUaW1lKQogCiAgICAgLy8gVGhlIHVzZXIgYWdlbnQgbXVzdCBzeW5jaHJvbm91c2x5IHVuc2V0
IFt0aGUgdGV4dCB0cmFjayBjdWUgYWN0aXZlXSBmbGFnCiAgICAgLy8gd2hlbmV2ZXIgLi4uIHRo
ZSBtZWRpYSBlbGVtZW50J3MgcmVhZHlTdGF0ZSBpcyBjaGFuZ2VkIGJhY2sgdG8gSEFWRV9OT1RI
SU5HLgorICAgIGF1dG8gbW92aWVUaW1lSW50ZXJ2YWwgPSBtX2N1ZVRyZWUuY3JlYXRlSW50ZXJ2
YWwobW92aWVUaW1lLCBtb3ZpZVRpbWUpOwogICAgIGlmIChtX3JlYWR5U3RhdGUgIT0gSEFWRV9O
T1RISU5HICYmIG1fcGxheWVyKSB7Ci0gICAgICAgIGN1cnJlbnRDdWVzID0gbV9jdWVUcmVlLmFs
bE92ZXJsYXBzKG1fY3VlVHJlZS5jcmVhdGVJbnRlcnZhbChtb3ZpZVRpbWUsIG1vdmllVGltZSkp
OworICAgICAgICBjdXJyZW50Q3VlcyA9IG1fY3VlVHJlZS5hbGxPdmVybGFwcyhtb3ZpZVRpbWVJ
bnRlcnZhbCk7CiAgICAgICAgIGlmIChjdXJyZW50Q3Vlcy5zaXplKCkgPiAxKQogICAgICAgICAg
ICAgc3RkOjpzb3J0KGN1cnJlbnRDdWVzLmJlZ2luKCksIGN1cnJlbnRDdWVzLmVuZCgpLCAmY29t
cGFyZUN1ZUludGVydmFsKTsKICAgICB9CkBAIC0xNzQ2LDYgKzE3NTIsMjEgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojp1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGNvbnN0IE1lZGlhVGltZSYg
bW92aWVUaW1lKQogICAgICAgICAgICAgYWN0aXZlU2V0Q2hhbmdlZCA9IHRydWU7CiAgICAgfQog
CisgICAgTWVkaWFUaW1lIG5leHRJbnRlcmVzdGluZ1RpbWUgPSBNZWRpYVRpbWU6OmludmFsaWRU
aW1lKCk7CisgICAgaWYgKGF1dG8gbmVhcmVzdEVuZGluZ0N1ZSA9IHN0ZDo6bWluX2VsZW1lbnQo
Y3VycmVudEN1ZXMuYmVnaW4oKSwgY3VycmVudEN1ZXMuZW5kKCksIGNvbXBhcmVDdWVJbnRlcnZh
bEVuZFRpbWUpKQorICAgICAgICBuZXh0SW50ZXJlc3RpbmdUaW1lID0gbmVhcmVzdEVuZGluZ0N1
ZS0+ZGF0YSgpLT5lbmRNZWRpYVRpbWUoKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8Q3VlSW50ZXJ2
YWw+IG5leHRDdWUgPSBtX2N1ZVRyZWUubmV4dEludGVydmFsQWZ0ZXIobW92aWVUaW1lSW50ZXJ2
YWwpOworICAgIGlmIChuZXh0Q3VlKQorICAgICAgICBuZXh0SW50ZXJlc3RpbmdUaW1lID0gc3Rk
OjptaW4obmV4dEludGVyZXN0aW5nVGltZSwgbmV4dEN1ZS0+bG93KCkpOworCisgICAgaWYgKG5l
eHRJbnRlcmVzdGluZ1RpbWUuaXNWYWxpZCgpICYmIG1fcGxheWVyKSB7CisgICAgICAgIG1fcGxh
eWVyLT5wZXJmb3JtVGFza0F0TWVkaWFUaW1lKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMp
LCBuZXh0SW50ZXJlc3RpbmdUaW1lXSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAg
ICAgICAgICAgICAgd2Vha1RoaXMtPnVwZGF0ZUFjdGl2ZVRleHRUcmFja0N1ZXMod2Vha1RoaXMt
PmN1cnJlbnRNZWRpYVRpbWUoKSk7CisgICAgICAgIH0sIG5leHRJbnRlcmVzdGluZ1RpbWUpOwor
ICAgIH0KKwogICAgIGlmICghYWN0aXZlU2V0Q2hhbmdlZCkKICAgICAgICAgcmV0dXJuOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsVHJlZS5oCmluZGV4IDA0ZTI2NjkzZjVi
ZTFkYTU1N2IzZGZlNzlmMDIyZmE0MmQwZjc0YjAuLjFmZGJjMzZmYmZjMWUwYmVmMmNmMTJmZDgz
NjdjZDI5YTY1YTEyODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPRElu
dGVydmFsVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsVHJl
ZS5oCkBAIC0xMTUsNiArMTE1LDE1IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEludGVydmFs
VHlwZShsb3csIGhpZ2gsIGRhdGEpOwogICAgIH0KIAorICAgIHN0ZDo6b3B0aW9uYWw8SW50ZXJ2
YWxUeXBlPiBuZXh0SW50ZXJ2YWxBZnRlcihjb25zdCBJbnRlcnZhbFR5cGUmIGludGVydmFsKQor
ICAgIHsKKyAgICAgICAgYXV0byBuZXh0ID0gc21hbGxlc3ROb2RlR3JlYXRlclRoYW5Gcm9tKGlu
dGVydmFsLCB0aGlzLT5yb290KCkpOworICAgICAgICBpZiAoIW5leHQpCisgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHJldHVybiBuZXh0LT5kYXRhKCk7CisgICAg
fQorCiAgICAgYm9vbCBjaGVja0ludmFyaWFudHMoKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAg
ICAgICAgaWYgKCFQT0RSZWRCbGFja1RyZWU8SW50ZXJ2YWxUeXBlPjo6Y2hlY2tJbnZhcmlhbnRz
KCkpCkBAIC0xNjUsNiArMTc0LDIwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzZWFyY2hGb3JP
dmVybGFwc0Zyb208QWRhcHRlclR5cGU+KG5vZGUtPnJpZ2h0KCksIGFkYXB0ZXIpOwogICAgIH0K
IAorICAgIEludGVydmFsTm9kZSogc21hbGxlc3ROb2RlR3JlYXRlclRoYW5Gcm9tKGNvbnN0IElu
dGVydmFsVHlwZSYgaW50ZXJ2YWwsIEludGVydmFsTm9kZSogbm9kZSkgY29uc3QKKyAgICB7Cisg
ICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
IGlmICghKGludGVydmFsLmxvdygpIDwgbm9kZS0+ZGF0YSgpLmxvdygpKSkKKyAgICAgICAgICAg
IHJldHVybiBzbWFsbGVzdE5vZGVHcmVhdGVyVGhhbkZyb20oaW50ZXJ2YWwsIG5vZGUtPnJpZ2h0
KCkpOworCisgICAgICAgIGlmIChhdXRvIGxlZnQgPSBzbWFsbGVzdE5vZGVHcmVhdGVyVGhhbkZy
b20oaW50ZXJ2YWwsIG5vZGUtPnJpZ2h0KCkpKQorICAgICAgICAgICAgcmV0dXJuIGxlZnQ7CisK
KyAgICAgICAgcmV0dXJuIG5vZGU7Cit9CisKICAgICBib29sIHVwZGF0ZU5vZGUoSW50ZXJ2YWxO
b2RlKiBub2RlKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgLy8gV291bGQgdXNlIGNvbnN0IFQm
LCBidXQgbmVlZCB0byByZWFzc2lnbiB0aGlzIHJlZmVyZW5jZSBpbiB0aGlzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggNDcxNDFh
YjRmNjIwOWRhZjYyMTQ0YWU1MzEyNDQyNDIxYzZmM2Y5Yi4uZTdlOTA1MmI4MGQxMzdjNmI3ZGVi
MDRjNWNkZTBhYTYxZTMxOTU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTUzNyw2ICsxNTM3LDExIEBAIEFWUGxheWVyKiBN
ZWRpYVBsYXllcjo6b2JqQ0FWRm91bmRhdGlvbkFWUGxheWVyKCkgY29uc3QKIAogI2VuZGlmCiAK
K2Jvb2wgTWVkaWFQbGF5ZXI6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2
b2lkKCk+JiYgdGFzaywgTWVkaWFUaW1lIHRpbWUpCit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
cGVyZm9ybVRhc2tBdE1lZGlhVGltZShXVEZNb3ZlKHRhc2spLCB0aW1lKTsKK30KKwogI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAogY29uc3QgTG9nZ2VyJiBNZWRpYVBsYXllcjo6bWVkaWFQbGF5
ZXJMb2dnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgKaW5kZXggNDQ3NzU2NjNiY2U4NzdmNzQ3Y2IwYTE0NjQxZDAxMzExNWFiN2Q3NS4u
MDFkZDk2NWU5YTZkNmM1ZmZkMjY3OWEzMWY1ZTFjNTA4NTI2ODNhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC01NzEsNiArNTcxLDgg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEFWUGxheWVyICpvYmpDQVZGb3VuZGF0aW9u
QVZQbGF5ZXIoKSBjb25zdDsKICNlbmRpZgogCisgICAgYm9vbCBwZXJmb3JtVGFza0F0TWVkaWFU
aW1lKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmLCBNZWRpYVRpbWUpOworCiBwcml2YXRlOgogICAg
IE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggZjgwOTll
OWZlZjU3ODQzZWExMzNhY2VhNzA2ZDc0MzAxZjk0NTUwNC4uODg3YWM4NWFjYjg4YmViNTYzNmJj
YjlkZjI5MzE2N2ZlMWE5ZmM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTI4MSw2ICsyODEsOCBAQCBwdWJs
aWM6CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICB2aXJ0dWFsIEFWUGxheWVyICpvYmpDQVZG
b3VuZGF0aW9uQVZQbGF5ZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKKwor
ICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVuY3Rpb248dm9p
ZCgpPiYmLCBNZWRpYVRpbWUpIHsgcmV0dXJuIGZhbHNlOyB9CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLmgKaW5kZXggMjEwZmNjN2E0ZjNkNTU3ZmNjNDE4MjExNmY4Y2FjODQ5ZWMwMzA3Ny4u
NTE1NmVkZDMxMzM0YjNiMWNjNzU0MzBmZjFiOTUwNmQwZDA1ZjM4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaApAQCAtMzMxLDYgKzMzMSw4IEBAIHByaXZhdGU6CiAKICAgICBBVlBsYXllciAqb2Jq
Q0FWRm91bmRhdGlvbkFWUGxheWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9hdlBsYXllci5n
ZXQoKTsgfQogCisgICAgYm9vbCBwZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVuY3Rpb248
dm9pZCgpPiYmLCBNZWRpYVRpbWUpIGZpbmFsOworCiAgICAgV2Vha1B0ckZhY3Rvcnk8TWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQz4gbV93ZWFrUHRyRmFjdG9yeTsKICAgICBSZXRh
aW5QdHI8QVZVUkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4gbV9h
dlBsYXllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IGQ1ZTg5MzhlZjZhMjNhY2IwMTEy
NDAyYWIzMTYyMzVjMDdmZTZlYzYuLjI4ZjhlZTMxOGQ4NDA4ZjllZTA4ZWM2YWYxZmYwNjM1NmQ1
YjM4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMzI5NSw2ICszMjk1LDE5IEBAIHN0
ZDo6b3B0aW9uYWw8VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjp2CiAjZW5kaWYKIH0KIAorYm9vbCBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdURjo6RnVuY3Rpb248
dm9pZCgpPiYmIHRhc2ssIE1lZGlhVGltZSB0aW1lKQoreworICAgIGlmICghbV9hdlBsYXllcikK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgX19ibG9jayBXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4gdGFza0luID0gV1RGTW92ZSh0YXNrKTsKKworICAgIFttX2F2UGxheWVyIGFkZEJvdW5kYXJ5
VGltZU9ic2VydmVyRm9yVGltZXM6QFtbTlNWYWx1ZSB2YWx1ZVdpdGhDTVRpbWU6dG9DTVRpbWUo
dGltZSldXSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XnsKKyAg
ICAgICAgdGFza0luKCk7CisgICAgfV07CisgICAgcmV0dXJuIHRydWU7Cit9CisKIE5TQXJyYXkq
IGFzc2V0TWV0YWRhdGFLZXlOYW1lcygpCiB7CiAgICAgc3RhdGljIE5TQXJyYXkqIGtleXMgPSBb
W05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgK
aW5kZXggNzkzMDA5MjFkZDhkMGQ0YWU2N2EzMTkzNTRmNmRkYzc2MWU3MDg5MC4uMDM2MDVmYzQy
YTgxYjg2OGM5ODYzYzZmMjFmN2VjYzY0MjUzMDU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
LmgKQEAgLTIzMyw2ICsyMzMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgd2lyZWxlc3NWaWRlb1Bs
YXliYWNrRGlzYWJsZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlm
CiAKKyAgICBib29sIHBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+
JiYsIE1lZGlhVGltZSkgZmluYWw7CisKICAgICB2b2lkIGVuc3VyZUxheWVyKCk7CiAgICAgdm9p
ZCBkZXN0cm95TGF5ZXIoKTsKICAgICB2b2lkIGVuc3VyZURlY29tcHJlc3Npb25TZXNzaW9uKCk7
CkBAIC0yNzEsNiArMjczLDcgQEAgcHJpdmF0ZToKICAgICBBTExPV19ORVdfQVBJX1dJVEhPVVRf
R1VBUkRTX0VORAogICAgIFJldGFpblB0cjxpZD4gbV90aW1lSnVtcGVkT2JzZXJ2ZXI7CiAgICAg
UmV0YWluUHRyPGlkPiBtX2R1cmF0aW9uT2JzZXJ2ZXI7CisgICAgUmV0YWluUHRyPGlkPiBtX3Bl
cmZvcm1UYXNrT2JzZXJ2ZXI7CiAgICAgUmV0YWluUHRyPEFWU3RyZWFtU2Vzc2lvbj4gbV9zdHJl
YW1TZXNzaW9uOwogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX2xhc3RQaXhlbEJ1
ZmZlcjsKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gbV9sYXN0SW1hZ2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakMubW0KaW5kZXggZTJjOTY5NTQzY2E4OGUzODlmNWUxYTJiNmI4MzI2NThmMmJk
N2Q2ZS4uZmE3MzI1YmM1ODhmYzc1MjQyNDk1Mzc4YThiNmJkZTExNDM2OGQxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMTEwMiw2ICsxMTAyLDE2IEBAIGJvb2wgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjppc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVs
ZXNzKCkgY29uCiB9CiAjZW5kaWYKIAorYm9vbCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYg
dGFzaywgTWVkaWFUaW1lIHRpbWUpCit7CisgICAgX19ibG9jayBXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4gdGFza0luID0gV1RGTW92ZSh0YXNrKTsKKworICAgIFttX3N5bmNocm9uaXplciBhZGRCb3Vu
ZGFyeVRpbWVPYnNlcnZlckZvclRpbWVzOkBbW05TVmFsdWUgdmFsdWVXaXRoQ01UaW1lOnRvQ01U
aW1lKHRpbWUpXV0gcXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOl57
CisgICAgICAgIHRhc2tJbigpOworICAgIH1dOworICAgIHJldHVybiB0cnVlOworfQorCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGVlZTBiNjNiODg3MTIyMjk3YzRiYmMzOThiYmZjYTM3MGQwMzYxMjUu
LjdkNWRkOWQ5NTkzZTllMWVlM2U3MDRjOWU5NWRjZTg0MmU4NzhiYmUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxOC0xMC0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwor
ICAgICAgICBUZXh0VHJhY2sgY3VlcyBzaG91bGQgYmUgdXBkYXRlZCBtb3JlIG9mdGVuIHRoYW4g
ZXZlcnkgMjUwbXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTA4MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBMYXlvdXRUZXN0IHdoaWNoIHBsYXlzIGJhY2sgNnMgb2YgY2FwdGlvbnMsIGVh
Y2ggNTAgbXMgaW4gZHVyYXRpb24sIGFuZCB1c2VzCisgICAgICAgIHdoZW4gdGhlICJlbnRlciIg
YW5kICJleGl0IiB3ZXJlIGZpcmVkIChpbiBtZWRpYSB0aW1lKSB0byBjaGVjayB3aGV0aGVyIHRo
ZXkgd2VyZSBtaXNzZWQKKyAgICAgICAgb3Igbm90LiBUaGUgdGVzdCBzdWNjZWVkcyBpZiBmZXdl
ciB0aGFuIDUwIG9mIHRoZSAxMjAgY3VlcyB3ZXJlIG1pc3NlZC4KKworICAgICAgICAqIG1lZGlh
L3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmcuaHRtbDogQWRkZWQuCisKIDIwMTgtMTAtMTUg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01TRV0gdGltZXN0
YW1wT2Zmc2V0IGNhbiBpbnRyb2R1Y2UgZmxvYXRpbmctcG9pbnQgcm91bmRpbmcgZXJyb3JzIHRv
IGluY29taW5nIHNhbXBsZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLWN1ZS1taXNzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLWN1ZS1taXNzaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZmQ3Nzk3YWMxZjgxODUz
NTJlNTVlZDQwZDM0ZTgyMzk5ODNiYjY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKKworUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4uL2NvbnRlbnQv
dGVzdCIpKQorUlVOKHRyYWNrID0gdmlkZW8uYWRkVGV4dFRyYWNrKCJzdWJ0aXRsZXMiLCAiRW5n
bGlzaCIsICJlbiIpKQorUlVOKHRyYWNrLm1vZGUgPSAic2hvd2luZyIpCitFVkVOVChsb2FkZWRk
YXRhKQorQ3JlYXRlZCAxMjEgY3Vlcy4KK0VWRU5UKGVuZGVkKQorRVhQRUNURUQgKG1pc3NlZEN1
ZUNvdW50IDwgJzUwJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay1jdWUtbWlzc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiZWU1NjE3YTQ2OTAyNDgx
YmZlMGI0NzdmMDFjMzQxZTEwYTgwYmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1jdWUtbWlzc2luZy5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxl
LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5j
IGV2ZW50ID0+IHsKKyAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd2aWRl
bycpOworCisgICAgICAgIHJ1bigndmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAi
Li4vY29udGVudC90ZXN0IiknKTsKKworICAgICAgICBydW4oJ3RyYWNrID0gdmlkZW8uYWRkVGV4
dFRyYWNrKCJzdWJ0aXRsZXMiLCAiRW5nbGlzaCIsICJlbiIpJyk7CisgICAgICAgIHJ1bigndHJh
Y2subW9kZSA9ICJzaG93aW5nIicpOworCisgICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICds
b2FkZWRkYXRhJyk7CisKKyAgICAgICAgbGV0IGN1ZVN0YXJ0VGltZSA9IDA7CisgICAgICAgIGxl
dCBjdWVEdXJhdGlvbiA9IDAuMDUwOworICAgICAgICBsZXQgY3VlQ291bnQgPSAwOworICAgICAg
ICBtaXNzZWRDdWVDb3VudCA9IDA7CisKKyAgICAgICAgd2hpbGUgKGN1ZVN0YXJ0VGltZSA8IHZp
ZGVvLmR1cmF0aW9uKSB7CisgICAgICAgICAgICBsZXQgY3VlID0gbmV3IFZUVEN1ZShjdWVTdGFy
dFRpbWUsIGN1ZVN0YXJ0VGltZSArIGN1ZUR1cmF0aW9uLCBgQ3VlICR7ICsrY3VlQ291bnQgfWAp
CisgICAgICAgICAgICBjdWVTdGFydFRpbWUgKz0gY3VlRHVyYXRpb247CisKKyAgICAgICAgICAg
IGN1ZS5hZGRFdmVudExpc3RlbmVyKCdlbnRlcicsIGV2ZW50ID0+IHsKKyAgICAgICAgICAgICAg
ICBjdWUuZW50ZXJGaXJlVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICBjdWUuYWRkRXZlbnRMaXN0ZW5lcignZXhpdCcsIGV2ZW50ID0+IHsKKyAg
ICAgICAgICAgICAgICBjdWUuZXhpdEZpcmVUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAg
ICAgICAgICAgICAgbGV0IGV2ZW50RHVyYXRpb24gPSBjdWUuZXhpdEZpcmVUaW1lIC0gY3VlLmVu
dGVyRmlyZVRpbWU7CisgICAgICAgICAgICAgICAgbGV0IGN1ZUR1cmF0aW9uID0gY3VlLmVuZFRp
bWUgLSBjdWUuc3RhcnRUaW1lOworCisgICAgICAgICAgICAgICAgaWYgKGV2ZW50RHVyYXRpb24g
KiAyIDwgY3VlRHVyYXRpb24pCisgICAgICAgICAgICAgICAgICAgICsrbWlzc2VkQ3VlQ291bnQ7
CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgdHJhY2suYWRkQ3VlKGN1ZSk7CisgICAg
ICAgIH0KKworICAgICAgICBjb25zb2xlV3JpdGUoYENyZWF0ZWQgJHsgY3VlQ291bnQgfSBjdWVz
LmApOworCisgICAgICAgIHZpZGVvLnBsYXkoKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRl
bywgJ2VuZGVkJyk7CisKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdtaXNzZWRDdWVDb3VudCcsIDUw
LCAnPCcpOworCisgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9LCB7b25jZTogdHJ1ZX0pOworICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+
Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352977</attachid>
            <date>2018-10-23 08:18:15 -0700</date>
            <delta_ts>2018-10-23 23:42:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-190827-20181023171814.patch</filename>
            <type>text/plain</type>
            <size>15566</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFkYjRjYjJmNDc5ZWM4
ZjQ5NTYyMjA0ODI5NmRlZjgwZmVlYjgxNC4uODE4NWY2YWJiZGM0YzZjYWU3Y2RlNzMxYTkxMDA5
ZmEzY2UxNzJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTEwLTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFjayBjdWVzIHNo
b3VsZCBiZSB1cGRhdGVkIG1vcmUgb2Z0ZW4gdGhhbiBldmVyeSAyNTBtcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgyNworCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBUZXN0OiBtZWRpYS90cmFjay90cmFj
ay1jdWUtdGltaW5nLmh0bWwKKworICAgICAgICBUZXh0VHJhY2tzIGN1ZXMgYXJlIHJlY2FsY3Vs
YXRlZCBvbiB0aGUgcGxheWJhY2sgdGltZXIsIHdoaWNoIGZpcmVzIGF0IGxlYXN0IGV2ZXJ5IDI1
MG1zLgorICAgICAgICBJbiBhZGRpdGlvbiB0byB0aGlzIHRpbWVyLCBhZGQgYSBtZXRob2QgdG8g
TWVkaWFQbGF5ZXIgdG8gcHJvdmlkZSBhIHRhc2sgd2hpY2ggd2lsbCBiZQorICAgICAgICBwZXJm
b3JtZWQgYXQgYSBwYXJ0aWN1bGFyIG1lZGlhIHRpbWUsIGFuZCB1c2UgdGhpcyBuZXcgbWV0aG9k
IHRvIHJlcXVlc3QgY3VlcyBiZSB1cGRhdGVkCisgICAgICAgIGF0IHRoZSBuZXh0IGludGVyZXN0
aW5nIG1lZGlhIHRpbWUuIFRoZSBuZXh0IGludGVyZXN0aW5nIHRpbWUgd291bGQgYmUgZWl0aGVy
IHdoZW4gdGhlCisgICAgICAgIHNvb25lc3QgY3VycmVudCBjdWUgd2lsbCBlbmQsIG9yIHdoZW4g
dGhlIG5leHQgbm9uLWN1cnJlbnQgY3VlIHdpbGwgc3RhcnQsIHdoaWNoZXZlciBpcworICAgICAg
ICBlYXJsaWVyLgorCisgICAgICAgIChEZXRlcm1pbmluZyB0aGUgIm5leHQgbm9uLWN1cnJlbnQg
Y3VlIiByZXF1aXJlcyBuZXcgQVBJIG9uIFBPREludGVydmFsVHJlZSwgYXMgdGhhdCBjbGFzcwor
ICAgICAgICBkb2VzIG5vdCBoYXZlIGl0ZXJhdG9ycyBwZXItc2UuKQorCisgICAgICAgICogaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXBhcmVDdWVJbnRl
cnZhbEVuZFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRl
QWN0aXZlVGV4dFRyYWNrQ3Vlcyk6CisgICAgICAgICogcGxhdGZvcm0vUE9ESW50ZXJ2YWxUcmVl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVJbnRlcmZhY2U6OnBlcmZvcm1UYXNrQXRNZWRpYVRpbWUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGVyZm9ybVRhc2tB
dE1lZGlhVGltZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpwZXJmb3JtVGFza0F0TWVkaWFUaW1lKToKKwogMjAxOC0xMC0yMiAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgV2Vha1B0ciBh
bmQgR2VuZXJpY1Rhc2tRdWV1ZSB3aXRoaW4gT2JqQyBjbGFzc2VzIHVzZWQgYnkgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggNDIyNzBiN2YxNjQ5MGI5ZmUyY2M3ZjVmODJlMzBkYjI5NTY4ZDhkMS4u
NzZlMGY3M2MzMTRlNDM3ZTQ4YTE3YTQyMzhmZjU3NTExNWE5MmIyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNjU3LDYgKzE2NTcsMTEgQEAgc3RhdGlj
IGJvb2wgY29tcGFyZUN1ZUludGVydmFsKGNvbnN0IEN1ZUludGVydmFsJiBvbmUsIGNvbnN0IEN1
ZUludGVydmFsJiB0d28pCiAgICAgcmV0dXJuIG9uZS5kYXRhKCktPmlzT3JkZXJlZEJlZm9yZSh0
d28uZGF0YSgpKTsKIH0KIAorc3RhdGljIGJvb2wgY29tcGFyZUN1ZUludGVydmFsRW5kVGltZShj
b25zdCBDdWVJbnRlcnZhbCYgb25lLCBjb25zdCBDdWVJbnRlcnZhbCYgdHdvKQoreworICAgIHJl
dHVybiBvbmUuZGF0YSgpLT5lbmRNZWRpYVRpbWUoKSA+IHR3by5kYXRhKCktPmVuZE1lZGlhVGlt
ZSgpOworfQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUFjdGl2ZVRleHRUcmFja0N1
ZXMoY29uc3QgTWVkaWFUaW1lJiBtb3ZpZVRpbWUpCiB7CiAgICAgLy8gNC44LjEwLjggUGxheWlu
ZyB0aGUgbWVkaWEgcmVzb3VyY2UKQEAgLTE2NzYsOCArMTY4MSw5IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3Vlcyhjb25zdCBNZWRpYVRpbWUmIG1vdmll
VGltZSkKIAogICAgIC8vIFRoZSB1c2VyIGFnZW50IG11c3Qgc3luY2hyb25vdXNseSB1bnNldCBb
dGhlIHRleHQgdHJhY2sgY3VlIGFjdGl2ZV0gZmxhZwogICAgIC8vIHdoZW5ldmVyIC4uLiB0aGUg
bWVkaWEgZWxlbWVudCdzIHJlYWR5U3RhdGUgaXMgY2hhbmdlZCBiYWNrIHRvIEhBVkVfTk9USElO
Ry4KKyAgICBhdXRvIG1vdmllVGltZUludGVydmFsID0gbV9jdWVUcmVlLmNyZWF0ZUludGVydmFs
KG1vdmllVGltZSwgbW92aWVUaW1lKTsKICAgICBpZiAobV9yZWFkeVN0YXRlICE9IEhBVkVfTk9U
SElORyAmJiBtX3BsYXllcikgewotICAgICAgICBjdXJyZW50Q3VlcyA9IG1fY3VlVHJlZS5hbGxP
dmVybGFwcyhtX2N1ZVRyZWUuY3JlYXRlSW50ZXJ2YWwobW92aWVUaW1lLCBtb3ZpZVRpbWUpKTsK
KyAgICAgICAgY3VycmVudEN1ZXMgPSBtX2N1ZVRyZWUuYWxsT3ZlcmxhcHMobW92aWVUaW1lSW50
ZXJ2YWwpOwogICAgICAgICBpZiAoY3VycmVudEN1ZXMuc2l6ZSgpID4gMSkKICAgICAgICAgICAg
IHN0ZDo6c29ydChjdXJyZW50Q3Vlcy5iZWdpbigpLCBjdXJyZW50Q3Vlcy5lbmQoKSwgJmNvbXBh
cmVDdWVJbnRlcnZhbCk7CiAgICAgfQpAQCAtMTc0Niw2ICsxNzUyLDIxIEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3Vlcyhjb25zdCBNZWRpYVRpbWUmIG1v
dmllVGltZSkKICAgICAgICAgICAgIGFjdGl2ZVNldENoYW5nZWQgPSB0cnVlOwogICAgIH0KIAor
ICAgIE1lZGlhVGltZSBuZXh0SW50ZXJlc3RpbmdUaW1lID0gTWVkaWFUaW1lOjppbnZhbGlkVGlt
ZSgpOworICAgIGlmIChhdXRvIG5lYXJlc3RFbmRpbmdDdWUgPSBzdGQ6Om1pbl9lbGVtZW50KGN1
cnJlbnRDdWVzLmJlZ2luKCksIGN1cnJlbnRDdWVzLmVuZCgpLCBjb21wYXJlQ3VlSW50ZXJ2YWxF
bmRUaW1lKSkKKyAgICAgICAgbmV4dEludGVyZXN0aW5nVGltZSA9IG5lYXJlc3RFbmRpbmdDdWUt
PmRhdGEoKS0+ZW5kTWVkaWFUaW1lKCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPEN1ZUludGVydmFs
PiBuZXh0Q3VlID0gbV9jdWVUcmVlLm5leHRJbnRlcnZhbEFmdGVyKG1vdmllVGltZUludGVydmFs
KTsKKyAgICBpZiAobmV4dEN1ZSkKKyAgICAgICAgbmV4dEludGVyZXN0aW5nVGltZSA9IHN0ZDo6
bWluKG5leHRJbnRlcmVzdGluZ1RpbWUsIG5leHRDdWUtPmxvdygpKTsKKworICAgIGlmIChuZXh0
SW50ZXJlc3RpbmdUaW1lLmlzVmFsaWQoKSAmJiBtX3BsYXllcikgeworICAgICAgICBtX3BsYXll
ci0+cGVyZm9ybVRhc2tBdE1lZGlhVGltZShbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwg
bmV4dEludGVyZXN0aW5nVGltZV0geworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIHdlYWtUaGlzLT51cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKHdlYWtUaGlzLT5j
dXJyZW50TWVkaWFUaW1lKCkpOworICAgICAgICB9LCBuZXh0SW50ZXJlc3RpbmdUaW1lKTsKKyAg
ICB9CisKICAgICBpZiAoIWFjdGl2ZVNldENoYW5nZWQpCiAgICAgICAgIHJldHVybjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9ESW50ZXJ2YWxUcmVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAwNGUyNjY5M2Y1YmUx
ZGE1NTdiM2RmZTc5ZjAyMmZhNDJkMGY3NGIwLi43ZjJiNzA3NzRiNmI2MDA0OGFkNjRiZDU2MTY4
Y2NlZTAwZjQzNDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRl
cnZhbFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUu
aApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlBPRFJlZEJsYWNrVHJlZS5oIgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5j
bHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1ZhbHVlVG9TdHJpbmcuaD4KIApAQCAtMTE1LDYgKzExNiwxNSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBJbnRlcnZhbFR5cGUobG93LCBoaWdoLCBkYXRhKTsKICAgICB9CiAK
KyAgICBzdGQ6Om9wdGlvbmFsPEludGVydmFsVHlwZT4gbmV4dEludGVydmFsQWZ0ZXIoY29uc3Qg
SW50ZXJ2YWxUeXBlJiBpbnRlcnZhbCkKKyAgICB7CisgICAgICAgIGF1dG8gbmV4dCA9IHNtYWxs
ZXN0Tm9kZUdyZWF0ZXJUaGFuRnJvbShpbnRlcnZhbCwgdGhpcy0+cm9vdCgpKTsKKyAgICAgICAg
aWYgKCFuZXh0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBy
ZXR1cm4gbmV4dC0+ZGF0YSgpOworICAgIH0KKwogICAgIGJvb2wgY2hlY2tJbnZhcmlhbnRzKCkg
Y29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmICghUE9EUmVkQmxhY2tUcmVlPEludGVy
dmFsVHlwZT46OmNoZWNrSW52YXJpYW50cygpKQpAQCAtMTY1LDYgKzE3NSwyMCBAQCBwcml2YXRl
OgogICAgICAgICAgICAgc2VhcmNoRm9yT3ZlcmxhcHNGcm9tPEFkYXB0ZXJUeXBlPihub2RlLT5y
aWdodCgpLCBhZGFwdGVyKTsKICAgICB9CiAKKyAgICBJbnRlcnZhbE5vZGUqIHNtYWxsZXN0Tm9k
ZUdyZWF0ZXJUaGFuRnJvbShjb25zdCBJbnRlcnZhbFR5cGUmIGludGVydmFsLCBJbnRlcnZhbE5v
ZGUqIG5vZGUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW5vZGUpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoIShpbnRlcnZhbC5oaWdoKCkgPCBub2RlLT5k
YXRhKCkubG93KCkpKQorICAgICAgICAgICAgcmV0dXJuIHNtYWxsZXN0Tm9kZUdyZWF0ZXJUaGFu
RnJvbShpbnRlcnZhbCwgbm9kZS0+cmlnaHQoKSk7CisKKyAgICAgICAgaWYgKGF1dG8gbGVmdCA9
IHNtYWxsZXN0Tm9kZUdyZWF0ZXJUaGFuRnJvbShpbnRlcnZhbCwgbm9kZS0+cmlnaHQoKSkpCisg
ICAgICAgICAgICByZXR1cm4gbGVmdDsKKworICAgICAgICByZXR1cm4gbm9kZTsKK30KKwogICAg
IGJvb2wgdXBkYXRlTm9kZShJbnRlcnZhbE5vZGUqIG5vZGUpIG92ZXJyaWRlCiAgICAgewogICAg
ICAgICAvLyBXb3VsZCB1c2UgY29uc3QgVCYsIGJ1dCBuZWVkIHRvIHJlYXNzaWduIHRoaXMgcmVm
ZXJlbmNlIGluIHRoaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcAppbmRleCA0NzE0MWFiNGY2MjA5ZGFmNjIxNDRhZTUzMTI0NDI0MjFjNmYz
ZjliLi5lN2U5MDUyYjgwZDEzN2M2YjdkZWIwNGM1Y2RlMGFhNjFlMzE5NTZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNTM3
LDYgKzE1MzcsMTEgQEAgQVZQbGF5ZXIqIE1lZGlhUGxheWVyOjpvYmpDQVZGb3VuZGF0aW9uQVZQ
bGF5ZXIoKSBjb25zdAogCiAjZW5kaWYKIAorYm9vbCBNZWRpYVBsYXllcjo6cGVyZm9ybVRhc2tB
dE1lZGlhVGltZShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiB0YXNrLCBNZWRpYVRpbWUgdGltZSkK
K3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5wZXJmb3JtVGFza0F0TWVkaWFUaW1lKFdURk1vdmUo
dGFzayksIHRpbWUpOworfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBjb25zdCBMb2dn
ZXImIE1lZGlhUGxheWVyOjptZWRpYVBsYXllckxvZ2dlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCA0NDc3NTY2M2JjZTg3N2Y3
NDdjYjBhMTQ2NDFkMDEzMTE1YWI3ZDc1Li4wMWRkOTY1ZTlhNmQ2YzVmZmQyNjc5YTMxZjVlMWM1
MDg1MjY4M2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgKQEAgLTU3MSw2ICs1NzEsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
QVZQbGF5ZXIgKm9iakNBVkZvdW5kYXRpb25BVlBsYXllcigpIGNvbnN0OwogI2VuZGlmCiAKKyAg
ICBib29sIHBlcmZvcm1UYXNrQXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYsIE1l
ZGlhVGltZSk7CisKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJDbGllbnQm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaAppbmRleCBmODA5OWU5ZmVmNTc4NDNlYTEzM2FjZWE3MDZkNzQzMDFmOTQ1
NTA0Li44ODdhYzg1YWNiODhiZWI1NjM2YmNiOWRmMjkzMTY3ZmUxYTlmYzhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aApAQCAtMjgxLDYgKzI4MSw4IEBAIHB1YmxpYzoKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogICAg
IHZpcnR1YWwgQVZQbGF5ZXIgKm9iakNBVkZvdW5kYXRpb25BVlBsYXllcigpIGNvbnN0IHsgcmV0
dXJuIG51bGxwdHI7IH0KICNlbmRpZgorCisgICAgdmlydHVhbCBib29sIHBlcmZvcm1UYXNrQXRN
ZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYsIE1lZGlhVGltZSkgeyByZXR1cm4gZmFs
c2U7IH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCAyMTBmY2M3YTRmM2Q1NTdm
Y2M0MTgyMTE2ZjhjYWM4NDllYzAzMDc3Li41MTU2ZWRkMzEzMzRiM2IxY2M3NTQzMGZmMWI5NTA2
ZDBkMDVmMzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0zMzEsNiArMzMxLDggQEAgcHJp
dmF0ZToKIAogICAgIEFWUGxheWVyICpvYmpDQVZGb3VuZGF0aW9uQVZQbGF5ZXIoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2F2UGxheWVyLmdldCgpOyB9CiAKKyAgICBib29sIHBlcmZvcm1UYXNr
QXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYsIE1lZGlhVGltZSkgZmluYWw7CisK
ICAgICBXZWFrUHRyRmFjdG9yeTxNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDPiBt
X3dlYWtQdHJGYWN0b3J5OwogICAgIFJldGFpblB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CiAg
ICAgUmV0YWluUHRyPEFWUGxheWVyPiBtX2F2UGxheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0K
aW5kZXggZDVlODkzOGVmNmEyM2FjYjAxMTI0MDJhYjMxNjIzNWMwN2ZlNmVjNi4uMjhmOGVlMzE4
ZDg0MDhmOWVlMDhlYzZhZjFmZjA2MzU2ZDViMzhjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
CkBAIC0zMjk1LDYgKzMyOTUsMTkgQEAgc3RkOjpvcHRpb25hbDxWaWRlb1BsYXliYWNrUXVhbGl0
eU1ldHJpY3M+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnYKICNlbmRpZgog
fQogCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBlcmZvcm1UYXNr
QXRNZWRpYVRpbWUoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaywgTWVkaWFUaW1lIHRpbWUp
Cit7CisgICAgaWYgKCFtX2F2UGxheWVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBf
X2Jsb2NrIFdURjo6RnVuY3Rpb248dm9pZCgpPiB0YXNrSW4gPSBXVEZNb3ZlKHRhc2spOworCisg
ICAgW21fYXZQbGF5ZXIgYWRkQm91bmRhcnlUaW1lT2JzZXJ2ZXJGb3JUaW1lczpAW1tOU1ZhbHVl
IHZhbHVlV2l0aENNVGltZTp0b0NNVGltZSh0aW1lKV1dIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWlu
X3F1ZXVlKCkgdXNpbmdCbG9jazpeeworICAgICAgICB0YXNrSW4oKTsKKyAgICB9XTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogTlNBcnJheSogYXNzZXRNZXRhZGF0YUtleU5hbWVzKCkKIHsKICAg
ICBzdGF0aWMgTlNBcnJheSoga2V5cyA9IFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3Rz
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA3OTMwMDkyMWRkOGQwZDRhZTY3YTMxOTM1
NGY2ZGRjNzYxZTcwODkwLi4wMzYwNWZjNDJhODFiODY4Yzk4NjNjNmYyMWY3ZWNjNjQyNTMwNTcx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMjMzLDYgKzIzMyw4IEBAIHByaXZhdGU6
CiAgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorICAgIGJvb2wgcGVyZm9ybVRhc2tBdE1lZGlh
VGltZShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiwgTWVkaWFUaW1lKSBmaW5hbDsKKwogICAgIHZv
aWQgZW5zdXJlTGF5ZXIoKTsKICAgICB2b2lkIGRlc3Ryb3lMYXllcigpOwogICAgIHZvaWQgZW5z
dXJlRGVjb21wcmVzc2lvblNlc3Npb24oKTsKQEAgLTI3MSw2ICsyNzMsNyBAQCBwcml2YXRlOgog
ICAgIEFMTE9XX05FV19BUElfV0lUSE9VVF9HVUFSRFNfRU5ECiAgICAgUmV0YWluUHRyPGlkPiBt
X3RpbWVKdW1wZWRPYnNlcnZlcjsKICAgICBSZXRhaW5QdHI8aWQ+IG1fZHVyYXRpb25PYnNlcnZl
cjsKKyAgICBSZXRhaW5QdHI8aWQ+IG1fcGVyZm9ybVRhc2tPYnNlcnZlcjsKICAgICBSZXRhaW5Q
dHI8QVZTdHJlYW1TZXNzaW9uPiBtX3N0cmVhbVNlc3Npb247CiAgICAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IG1fbGFzdFBpeGVsQnVmZmVyOwogICAgIFJldGFpblB0cjxDR0ltYWdlUmVm
PiBtX2xhc3RJbWFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBlMmM5Njk1NDNj
YTg4ZTM4OWY1ZTFhMmI2YjgzMjY1OGYyYmQ3ZDZlLi5mYTczMjViYzU4OGZjNzUyNDI0OTUzNzhh
OGI2YmRlMTE0MzY4ZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0xMTAyLDYg
KzExMDIsMTYgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Omlz
Q3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSBjb24KIH0KICNlbmRpZgogCitib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGVyZm9ybVRhc2tBdE1lZGlhVGlt
ZShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiB0YXNrLCBNZWRpYVRpbWUgdGltZSkKK3sKKyAgICBf
X2Jsb2NrIFdURjo6RnVuY3Rpb248dm9pZCgpPiB0YXNrSW4gPSBXVEZNb3ZlKHRhc2spOworCisg
ICAgW21fc3luY2hyb25pemVyIGFkZEJvdW5kYXJ5VGltZU9ic2VydmVyRm9yVGltZXM6QFtbTlNW
YWx1ZSB2YWx1ZVdpdGhDTVRpbWU6dG9DTVRpbWUodGltZSldXSBxdWV1ZTpkaXNwYXRjaF9nZXRf
bWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XnsKKyAgICAgICAgdGFza0luKCk7CisgICAgfV07Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWVlMGI2M2I4ODcxMjIy
OTdjNGJiYzM5OGJiZmNhMzcwZDAzNjEyNS4uZjQ0NzY2M2ExYWUxYjNkNTNiNmM2MzU5M2VmZTVh
MzI5MWNjNmYyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEwLTIzICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHRUcmFjayBjdWVzIHNob3VsZCBi
ZSB1cGRhdGVkIG1vcmUgb2Z0ZW4gdGhhbiBldmVyeSAyNTBtcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgyNworCisgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBMYXlvdXRUZXN0IHdoaWNoIHBsYXlz
IGJhY2sgNnMgb2YgY2FwdGlvbnMsIGVhY2ggNTAgbXMgaW4gZHVyYXRpb24sIGFuZCB1c2VzCisg
ICAgICAgIHdoZW4gdGhlICJlbnRlciIgYW5kICJleGl0IiB3ZXJlIGZpcmVkIChpbiBtZWRpYSB0
aW1lKSB0byBjaGVjayB3aGV0aGVyIHRoZXkgd2VyZSBtaXNzZWQKKyAgICAgICAgb3Igbm90LiBU
aGUgdGVzdCBzdWNjZWVkcyBpZiBmZXdlciB0aGFuIDUwIG9mIHRoZSAxMjAgY3VlcyB3ZXJlIG1p
c3NlZC4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmcuaHRt
bDogQWRkZWQuCisKIDIwMTgtMTAtMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+
CiAKICAgICAgICAgW01TRV0gdGltZXN0YW1wT2Zmc2V0IGNhbiBpbnRyb2R1Y2UgZmxvYXRpbmct
cG9pbnQgcm91bmRpbmcgZXJyb3JzIHRvIGluY29taW5nIHNhbXBsZXMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZmQ3Nzk3YWMxZjgxODUzNTJlNTVlZDQwZDM0ZTgyMzk5ODNiYjY1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZp
bGUoInZpZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIpKQorUlVOKHRyYWNrID0gdmlkZW8uYWRkVGV4
dFRyYWNrKCJzdWJ0aXRsZXMiLCAiRW5nbGlzaCIsICJlbiIpKQorUlVOKHRyYWNrLm1vZGUgPSAi
c2hvd2luZyIpCitFVkVOVChsb2FkZWRkYXRhKQorQ3JlYXRlZCAxMjEgY3Vlcy4KK0VWRU5UKGVu
ZGVkKQorRVhQRUNURUQgKG1pc3NlZEN1ZUNvdW50IDwgJzUwJykgT0sKK0VORCBPRiBURVNUCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtbWlzc2luZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNiZWU1NjE3YTQ2OTAyNDgxYmZlMGI0NzdmMDFjMzQxZTEwYTgwYmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtbWlzc2luZy5odG1s
CkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPS4u
L3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jIGV2ZW50ID0+IHsKKyAgICAgICAgdmlkZW8gPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpOworCisgICAgICAgIHJ1bigndmlkZW8uc3JjID0g
ZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0IiknKTsKKworICAgICAgICBy
dW4oJ3RyYWNrID0gdmlkZW8uYWRkVGV4dFRyYWNrKCJzdWJ0aXRsZXMiLCAiRW5nbGlzaCIsICJl
biIpJyk7CisgICAgICAgIHJ1bigndHJhY2subW9kZSA9ICJzaG93aW5nIicpOworCisgICAgICAg
IGF3YWl0IHdhaXRGb3IodmlkZW8sICdsb2FkZWRkYXRhJyk7CisKKyAgICAgICAgbGV0IGN1ZVN0
YXJ0VGltZSA9IDA7CisgICAgICAgIGxldCBjdWVEdXJhdGlvbiA9IDAuMDUwOworICAgICAgICBs
ZXQgY3VlQ291bnQgPSAwOworICAgICAgICBtaXNzZWRDdWVDb3VudCA9IDA7CisKKyAgICAgICAg
d2hpbGUgKGN1ZVN0YXJ0VGltZSA8IHZpZGVvLmR1cmF0aW9uKSB7CisgICAgICAgICAgICBsZXQg
Y3VlID0gbmV3IFZUVEN1ZShjdWVTdGFydFRpbWUsIGN1ZVN0YXJ0VGltZSArIGN1ZUR1cmF0aW9u
LCBgQ3VlICR7ICsrY3VlQ291bnQgfWApCisgICAgICAgICAgICBjdWVTdGFydFRpbWUgKz0gY3Vl
RHVyYXRpb247CisKKyAgICAgICAgICAgIGN1ZS5hZGRFdmVudExpc3RlbmVyKCdlbnRlcicsIGV2
ZW50ID0+IHsKKyAgICAgICAgICAgICAgICBjdWUuZW50ZXJGaXJlVGltZSA9IHBlcmZvcm1hbmNl
Lm5vdygpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjdWUuYWRkRXZlbnRMaXN0ZW5l
cignZXhpdCcsIGV2ZW50ID0+IHsKKyAgICAgICAgICAgICAgICBjdWUuZXhpdEZpcmVUaW1lID0g
cGVyZm9ybWFuY2Uubm93KCk7CisgICAgICAgICAgICAgICAgbGV0IGV2ZW50RHVyYXRpb24gPSBj
dWUuZXhpdEZpcmVUaW1lIC0gY3VlLmVudGVyRmlyZVRpbWU7CisgICAgICAgICAgICAgICAgbGV0
IGN1ZUR1cmF0aW9uID0gY3VlLmVuZFRpbWUgLSBjdWUuc3RhcnRUaW1lOworCisgICAgICAgICAg
ICAgICAgaWYgKGV2ZW50RHVyYXRpb24gKiAyIDwgY3VlRHVyYXRpb24pCisgICAgICAgICAgICAg
ICAgICAgICsrbWlzc2VkQ3VlQ291bnQ7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
dHJhY2suYWRkQ3VlKGN1ZSk7CisgICAgICAgIH0KKworICAgICAgICBjb25zb2xlV3JpdGUoYENy
ZWF0ZWQgJHsgY3VlQ291bnQgfSBjdWVzLmApOworCisgICAgICAgIHZpZGVvLnBsYXkoKTsKKyAg
ICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ2VuZGVkJyk7CisKKyAgICAgICAgdGVzdEV4cGVj
dGVkKCdtaXNzZWRDdWVDb3VudCcsIDUwLCAnPCcpOworCisgICAgICAgIGVuZFRlc3QoKTsKKyAg
ICB9LCB7b25jZTogdHJ1ZX0pOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAg
PHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQo=
</data>
<flag name="commit-queue"
          id="370234"
          type_id="3"
          status="+"
          setter="jer.noble"
    />
          </attachment>
      

    </bug>

</bugzilla>