<?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>134805</bug_id>
          
          <creation_ts>2014-07-10 10:42:46 -0700</creation_ts>
          <short_desc>[MSE] Overlapping appended ranges must cause the decoder to flush and re-enqueue.</short_desc>
          <delta_ts>2014-07-10 14:29:46 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></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>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>ltilve</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1021656</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-10 10:42:46 -0700</bug_when>
    <thetext>[MSE] Overlapping appended ranges must cause the decoder to flush and re-enqueue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021672</commentid>
    <comment_count>1</comment_count>
      <attachid>234715</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-10 11:59:09 -0700</bug_when>
    <thetext>Created attachment 234715
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021695</commentid>
    <comment_count>2</comment_count>
      <attachid>234715</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-07-10 13:31:38 -0700</bug_when>
    <thetext>Comment on attachment 234715
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021707</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-10 14:29:46 -0700</bug_when>
    <thetext>Committed r170976: &lt;http://trac.webkit.org/changeset/170976&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234715</attachid>
            <date>2014-07-10 11:59:09 -0700</date>
            <delta_ts>2014-07-10 13:31:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134805-20140710115852.patch</filename>
            <type>text/plain</type>
            <size>18078</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJkYzU0M2U3YWUyMjgw
YjJlMjEyODVjNzMxMzViN2Y5MGNhNzdhZC4uNTA3MTMxMmI5Y2IwZDgyNzViMDU1YTQ1MTA2ZTdj
MjNlOWQ5ZGM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE0LTA3LTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIE92ZXJsYXBwaW5n
IGFwcGVuZGVkIHJhbmdlcyBtdXN0IGNhdXNlIHRoZSBkZWNvZGVyIHRvIGZsdXNoIGFuZCByZS1l
bnF1ZXVlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM0ODA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiBhcHBlbmRpbmcgYSByYW5nZSBvZiBtZWRpYSBkYXRhIHdoaWNoIG92ZXJsYXBzIHdpdGgg
YW4gZXhpc3RpbmcgcmFuZ2UsIFNvdXJjZUJ1ZmZlcgorICAgICAgICBtdXN0IGNhdXNlIHRoZSBk
ZWNvZGVyIHRvIGZsdXNoIGFuZCByZS1lbnF1ZXVlIHNhbXBsZXMuIFRob3NlIHNhbXBsZXMgcmVt
b3ZlZCBieSBhcHBlbmRpbmcKKyAgICAgICAgdGhlIG92ZXJsYXBwaW5nIHJhbmdlIG1heSBoYXZl
IGFscmVhZHkgYmVlbiBlbnF1ZXVlZCBmb3IgZGlzcGxheSwgYW5kIHVubGVzcyB0aGUgZGVjb2Rl
CisgICAgICAgIHF1ZXVlIGlzIGZsdXNoZWQsIGNvcnJ1cHRpb24gb3IgZGVjb2RlIGVycm9ycyBt
YXkgb2NjdXIgYXMgdGhlIG5ldyBzYW1wbGVzIGFyZSBlbnF1ZXVlZCBmb3IKKyAgICAgICAgZGlz
cGxheS4KKworICAgICAgICBBZGQgYSBib29sZWFuIGZsYWcgb250byBUcmFja0J1ZmZlciB0byBp
bmRpY2F0ZSB3aGV0aGVyIHRoZSBkZWNvZGVyIG5lZWRzIHRvIGJlIGZsdXNoZWQgYW5kCisgICAg
ICAgIHJlLWVucXVldWVkIHRoZSBuZXh0IHRpbWUgYW4gYXBwZW5kIG9wZXJhdGlvbiBjb21wbGV0
ZXMuIFNldCB0aGlzIGZsYWcgd2hlbmV2ZXIgc2FtcGxlcyBhcmUKKyAgICAgICAgcmVtb3ZlZCBk
dWUgdG8gb3ZlcmxhcHBpbmcgb3IgYW4gZXhwbGljaXQgY2FsbCB0byByZW1vdmVDb2RlZEZyYW1l
cygpLiBNb3ZlIHRoZSBjb250ZW50cyBvZgorICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlU2Vl
a1RvVGltZSgpICh3aGljaCBwcmV2aW91c2x5IGRpZCBmbHVzaGluZyBhbmQgcmUtZW5xdWV1ZWlu
ZykgaW50byBhIG5ldworICAgICAgICBmdW5jdGlvbiwgcmVlbnF1ZXVlTWVkaWFGb3JUaW1lKCks
IHdoaWNoIGNhbiBiZSBjYWxsZWQgZnJvbSBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxl
dGUoKS4KKworICAgICAgICBEcml2ZS1ieSBmaXg6IGZpbmRTeW5jU2FtcGxlQWZ0ZXJEZWNvZGVJ
dGVyYXRvcigpIHdvdWxkIHJldHVybiB0aGUgcGFzc2VkIGluIGl0ZXJhdG9yIGlmIHRoYXQKKyAg
ICAgICAgc2FtcGxlIGlzIGEgc3luYy1zYW1wbGUuIEZpeCB0aGlzIHRvIGNvcnJlY3RseSByZXR1
cm4gdGhlIG5leHQgc3luYyBzYW1wbGUuCisKKyAgICAgICAgRHJpdmUtYnkgZml4OiBVc2UgYSBT
YW1wbGVNYXAsIHJhdGhlciB0aGFuIGEgRGVjb2RlT3JkZXJTYW1wbGVNYXAsIHRvIHRyYWNrIGVy
YXNlZCBzYW1wbGVzCisgICAgICAgIHNvIHRoYXQgdGhlIGVyYXNlZFNhbXBsZXMgYXJlIGNvcnJl
Y3RseSBhY2NvdW50ZWQgZm9yIGluIGJvdGggcHJlc2VudGF0aW9uIGFuZCBkZWNvZGUgb3JkZXJz
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2FtcGxlTWFwOjplbXB0eSk6IEFkZCBjb252ZW5pZW5jZSBtZXRob2QuCisg
ICAgICAgIChXZWJDb3JlOjpEZWNvZGVPcmRlclNhbXBsZU1hcDo6ZmluZFN5bmNTYW1wbGVBZnRl
ckRlY29kZUl0ZXJhdG9yKTogRHJpdmUtYnkgZml4LgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
b3VyY2UvU2FtcGxlTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpTYW1wbGVNYXA6OmRlY29kZU9y
ZGVyKTogQWRkZWQgY29uc3QgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpTYW1wbGVNYXA6
OnByZXNlbnRhdGlvbk9yZGVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTYW1wbGVNYXA6
OmFkZFJhbmdlKTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpUcmFja0J1ZmZlcjo6
VHJhY2tCdWZmZXIpOiBBZGQgbmVlZHNSZWVucXVlZWluZyBmbGFnLgorICAgICAgICAoV2ViQ29y
ZTo6U291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlU2Vla1RvVGltZSk6IE1vdmUgY29u
dGVudHMgaW50byByZWVucXVldWVNZWRpYUZvclRpbWUoKS4KKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKTogQ2FsbCByZWVu
cXVlTWVkaWFGb3JUaW1lKCkgaWYgbmVjZXNzYXJ5LgorICAgICAgICAoV2ViQ29yZTo6U291cmNl
QnVmZmVyOjpyZW1vdmVDb2RlZEZyYW1lcyk6IFNldCBuZWVkc1JlZW5xdWVpbmcuCisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2Ft
cGxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRp
YURhdGEpOiBEcml2ZS1ieSBmaXguCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJl
ZW5xdWV1ZU1lZGlhRm9yVGltZSk6IE1vdmVkIGZyb20gc291cmNlQnVmZmVyUHJpdmF0ZVNlZWtU
b1RpbWUoKS4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgor
CiAyMDE0LTA2LTI4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFtNU0VdIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXJlbW92ZS5o
dG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU2FtcGxlTWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U2FtcGxlTWFwLmNwcAppbmRleCAxMDljMmNjZGQ1M2RhZDVlNTBhOWJkMWNhMDgzYjExOTQ0Njcz
MzRhLi42OTJlMTA4OWIxMThhOTZmYTUyNTM1NTU0NGQ1NmQ3OWMxNDkyZGYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuY3BwCkBAIC05Niw2
ICs5NiwxMSBAQCBzdHJ1Y3QgU2FtcGxlUHJlc2VudGF0aW9uVGltZUlzV2l0aGluUmFuZ2VDb21w
YXJhdG9yIHsKICAgICB9CiB9OwogCitib29sIFNhbXBsZU1hcDo6ZW1wdHkoKSBjb25zdAorewor
ICAgIHJldHVybiBwcmVzZW50YXRpb25PcmRlcigpLm1fc2FtcGxlcy5lbXB0eSgpOworfQorCiB2
b2lkIFNhbXBsZU1hcDo6Y2xlYXIoKQogewogICAgIHByZXNlbnRhdGlvbk9yZGVyKCkubV9zYW1w
bGVzLmNsZWFyKCk7CkBAIC0yMDksNyArMjE0LDkgQEAgRGVjb2RlT3JkZXJTYW1wbGVNYXA6Oml0
ZXJhdG9yIERlY29kZU9yZGVyU2FtcGxlTWFwOjpmaW5kU3luY1NhbXBsZUFmdGVyUHJlc2VudGEK
IAogRGVjb2RlT3JkZXJTYW1wbGVNYXA6Oml0ZXJhdG9yIERlY29kZU9yZGVyU2FtcGxlTWFwOjpm
aW5kU3luY1NhbXBsZUFmdGVyRGVjb2RlSXRlcmF0b3IoaXRlcmF0b3IgY3VycmVudFNhbXBsZURU
UykKIHsKLSAgICByZXR1cm4gc3RkOjpmaW5kX2lmKGN1cnJlbnRTYW1wbGVEVFMsIGVuZCgpLCBT
YW1wbGVJc1JhbmRvbUFjY2VzcygpKTsKKyAgICBpZiAoY3VycmVudFNhbXBsZURUUyA9PSBlbmQo
KSkKKyAgICAgICAgcmV0dXJuIGVuZCgpOworICAgIHJldHVybiBzdGQ6OmZpbmRfaWYoKytjdXJy
ZW50U2FtcGxlRFRTLCBlbmQoKSwgU2FtcGxlSXNSYW5kb21BY2Nlc3MoKSk7CiB9CiAKIFByZXNl
bnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvcl9yYW5nZSBQcmVzZW50YXRpb25PcmRlclNh
bXBsZU1hcDo6ZmluZFNhbXBsZXNCZXR3ZWVuUHJlc2VudGF0aW9uVGltZXMoY29uc3QgTWVkaWFU
aW1lJiBiZWdpblRpbWUsIGNvbnN0IE1lZGlhVGltZSYgZW5kVGltZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFwLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oCmluZGV4IGNmMWVhYWExN2RjNjZm
MGQzYTMyNmUzODVlYTUwMzVmMjU0YTE1NGUuLmNlNjg3ZjM5OTRlMmU3ZDNjODU2ZjkyZjg0Y2Rj
MDZhMmUzZjUzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU2FtcGxlTWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
YW1wbGVNYXAuaApAQCAtOTUsMTkgKzk1LDMyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisg
ICAgYm9vbCBlbXB0eSgpIGNvbnN0OwogICAgIHZvaWQgY2xlYXIoKTsKICAgICB2b2lkIGFkZFNh
bXBsZShQYXNzUmVmUHRyPE1lZGlhU2FtcGxlPik7CiAgICAgdm9pZCByZW1vdmVTYW1wbGUoTWVk
aWFTYW1wbGUqKTsKICAgICBzaXplX3Qgc2l6ZUluQnl0ZXMoKSBjb25zdCB7IHJldHVybiBtX3Rv
dGFsU2l6ZTsgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgST4KKyAgICB2b2lkIGFkZFJhbmdl
KEkgYmVnaW4sIEkgZW5kKTsKKwogICAgIERlY29kZU9yZGVyU2FtcGxlTWFwJiBkZWNvZGVPcmRl
cigpIHsgcmV0dXJuIG1fZGVjb2RlT3JkZXI7IH0KKyAgICBjb25zdCBEZWNvZGVPcmRlclNhbXBs
ZU1hcCYgZGVjb2RlT3JkZXIoKSBjb25zdCB7IHJldHVybiBtX2RlY29kZU9yZGVyOyB9CiAgICAg
UHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXAmIHByZXNlbnRhdGlvbk9yZGVyKCkgeyByZXR1cm4g
bV9kZWNvZGVPcmRlci5tX3ByZXNlbnRhdGlvbk9yZGVyOyB9CisgICAgY29uc3QgUHJlc2VudGF0
aW9uT3JkZXJTYW1wbGVNYXAmIHByZXNlbnRhdGlvbk9yZGVyKCkgY29uc3QgeyByZXR1cm4gbV9k
ZWNvZGVPcmRlci5tX3ByZXNlbnRhdGlvbk9yZGVyOyB9CiAKIHByaXZhdGU6CiAgICAgRGVjb2Rl
T3JkZXJTYW1wbGVNYXAgbV9kZWNvZGVPcmRlcjsKICAgICBzaXplX3QgbV90b3RhbFNpemU7CiB9
OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJPgordm9pZCBTYW1wbGVNYXA6OmFkZFJhbmdlKEkgYmVn
aW4sIEkgZW5kKQoreworICAgIGZvciAoSSBpdGVyID0gYmVnaW47IGl0ZXIgIT0gZW5kOyArK2l0
ZXIpCisgICAgICAgIGFkZFNhbXBsZShpdGVyLT5zZWNvbmQpOworfQorCiB9CiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwCmluZGV4IGQ5NmUwNmNiMjY1NzczM2QxYTU3YWYxYWVhOTE5MjI4ZWZkZjA0MmIuLmQ2MzU4
NTYxOWEyZTAxYzgwMzY5MGZiM2VjNDE2ZGUyY2NiNzg2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTczLDYgKzcz
LDcgQEAgc3RydWN0IFNvdXJjZUJ1ZmZlcjo6VHJhY2tCdWZmZXIgewogICAgIE1lZGlhVGltZSBs
YXN0RW5xdWV1ZWRQcmVzZW50YXRpb25UaW1lOwogICAgIGJvb2wgbmVlZFJhbmRvbUFjY2Vzc0Zs
YWc7CiAgICAgYm9vbCBlbmFibGVkOworICAgIGJvb2wgbmVlZHNSZWVucXVldWVpbmc7CiAgICAg
U2FtcGxlTWFwIHNhbXBsZXM7CiAgICAgRGVjb2RlT3JkZXJTYW1wbGVNYXA6Ok1hcFR5cGUgZGVj
b2RlUXVldWU7CiAgICAgUmVmUHRyPE1lZGlhRGVzY3JpcHRpb24+IGRlc2NyaXB0aW9uOwpAQCAt
ODQsNiArODUsNyBAQCBzdHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7CiAgICAgICAg
ICwgbGFzdEVucXVldWVkUHJlc2VudGF0aW9uVGltZShNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkp
CiAgICAgICAgICwgbmVlZFJhbmRvbUFjY2Vzc0ZsYWcodHJ1ZSkKICAgICAgICAgLCBlbmFibGVk
KGZhbHNlKQorICAgICAgICAsIG5lZWRzUmVlbnF1ZXVlaW5nKGZhbHNlKQogICAgIHsKICAgICB9
CiB9OwpAQCAtMzA4LDQ2ICszMTAsMTMgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnJlbW92ZWRGcm9t
TWVkaWFTb3VyY2UoKQogCiB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZVNl
ZWtUb1RpbWUoU291cmNlQnVmZmVyUHJpdmF0ZSosIGNvbnN0IE1lZGlhVGltZSYgdGltZSkKIHsK
LSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVTZWVrVG9U
aW1lKCVwKSIsIHRoaXMpOworICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVm
ZmVyUHJpdmF0ZVNlZWtUb1RpbWUoJXApIC0gdGltZSglcykiLCB0aGlzLCB0b1N0cmluZyh0aW1l
KS51dGY4KCkuZGF0YSgpKTsKIAogICAgIGZvciAoYXV0byYgdHJhY2tCdWZmZXJQYWlyIDogbV90
cmFja0J1ZmZlck1hcCkgewogICAgICAgICBUcmFja0J1ZmZlciYgdHJhY2tCdWZmZXIgPSB0cmFj
a0J1ZmZlclBhaXIudmFsdWU7CiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdHJhY2tJRCA9
IHRyYWNrQnVmZmVyUGFpci5rZXk7CiAKLSAgICAgICAgLy8gRmluZCB0aGUgc2FtcGxlIHdoaWNo
IGNvbnRhaW5zIHRoZSBjdXJyZW50IHByZXNlbnRhdGlvbiB0aW1lLgotICAgICAgICBhdXRvIGN1
cnJlbnRTYW1wbGVQVFNJdGVyYXRvciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9u
T3JkZXIoKS5maW5kU2FtcGxlQ29udGFpbmluZ1ByZXNlbnRhdGlvblRpbWUodGltZSk7Ci0KLSAg
ICAgICAgaWYgKGN1cnJlbnRTYW1wbGVQVFNJdGVyYXRvciA9PSB0cmFja0J1ZmZlci5zYW1wbGVz
LnByZXNlbnRhdGlvbk9yZGVyKCkuZW5kKCkpIHsKLSAgICAgICAgICAgIHRyYWNrQnVmZmVyLmRl
Y29kZVF1ZXVlLmNsZWFyKCk7Ci0gICAgICAgICAgICBtX3ByaXZhdGUtPmZsdXNoQW5kRW5xdWV1
ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQdHI8TWVkaWFTYW1wbGU+PigpLCB0cmFj
a0lEKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gU2Vh
Y2ggYmFja3dhcmQgZm9yIHRoZSBwcmV2aW91cyBzeW5jIHNhbXBsZS4KLSAgICAgICAgTWVkaWFU
aW1lIGN1cnJlbnRTYW1wbGVEZWNvZGVUaW1lID0gY3VycmVudFNhbXBsZVBUU0l0ZXJhdG9yLT5z
ZWNvbmQtPmRlY29kZVRpbWUoKTsKLSAgICAgICAgYXV0byBjdXJyZW50U2FtcGxlRFRTSXRlcmF0
b3IgPSB0cmFja0J1ZmZlci5zYW1wbGVzLmRlY29kZU9yZGVyKCkuZmluZFNhbXBsZVdpdGhEZWNv
ZGVUaW1lKGN1cnJlbnRTYW1wbGVEZWNvZGVUaW1lKTsKLSAgICAgICAgQVNTRVJUKGN1cnJlbnRT
YW1wbGVEVFNJdGVyYXRvciAhPSB0cmFja0J1ZmZlci5zYW1wbGVzLmRlY29kZU9yZGVyKCkuZW5k
KCkpOwotCi0gICAgICAgIGF1dG8gcmV2ZXJzZUN1cnJlbnRTYW1wbGVJdGVyID0gLS1EZWNvZGVP
cmRlclNhbXBsZU1hcDo6cmV2ZXJzZV9pdGVyYXRvcihjdXJyZW50U2FtcGxlRFRTSXRlcmF0b3Ip
OwotICAgICAgICBhdXRvIHJldmVyc2VMYXN0U3luY1NhbXBsZUl0ZXIgPSB0cmFja0J1ZmZlci5z
YW1wbGVzLmRlY29kZU9yZGVyKCkuZmluZFN5bmNTYW1wbGVQcmlvclRvRGVjb2RlSXRlcmF0b3Io
cmV2ZXJzZUN1cnJlbnRTYW1wbGVJdGVyKTsKLSAgICAgICAgaWYgKHJldmVyc2VMYXN0U3luY1Nh
bXBsZUl0ZXIgPT0gdHJhY2tCdWZmZXIuc2FtcGxlcy5kZWNvZGVPcmRlcigpLnJlbmQoKSkgewot
ICAgICAgICAgICAgdHJhY2tCdWZmZXIuZGVjb2RlUXVldWUuY2xlYXIoKTsKLSAgICAgICAgICAg
IG1fcHJpdmF0ZS0+Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoVmVjdG9yPFJl
ZlB0cjxNZWRpYVNhbXBsZT4+KCksIHRyYWNrSUQpOwotICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgIH0KLQotICAgICAgICBWZWN0b3I8UmVmUHRyPE1lZGlhU2FtcGxlPj4gbm9uRGlzcGxh
eWluZ1NhbXBsZXM7Ci0gICAgICAgIGZvciAoYXV0byBpdGVyID0gcmV2ZXJzZUxhc3RTeW5jU2Ft
cGxlSXRlcjsgaXRlciAhPSByZXZlcnNlQ3VycmVudFNhbXBsZUl0ZXI7IC0taXRlcikKLSAgICAg
ICAgICAgIG5vbkRpc3BsYXlpbmdTYW1wbGVzLmFwcGVuZChpdGVyLT5zZWNvbmQpOwotCi0gICAg
ICAgIG1fcHJpdmF0ZS0+Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMobm9uRGlz
cGxheWluZ1NhbXBsZXMsIHRyYWNrSUQpOwotCi0gICAgICAgIC8vIEZpbGwgdGhlIGRlY29kZSBx
dWV1ZSB3aXRoIHRoZSByZW1haW5pbmcgc2FtcGxlcy4KLSAgICAgICAgdHJhY2tCdWZmZXIuZGVj
b2RlUXVldWUuY2xlYXIoKTsKLSAgICAgICAgZm9yIChhdXRvIGl0ZXIgPSBjdXJyZW50U2FtcGxl
RFRTSXRlcmF0b3I7IGl0ZXIgIT0gdHJhY2tCdWZmZXIuc2FtcGxlcy5kZWNvZGVPcmRlcigpLmVu
ZCgpOyArK2l0ZXIpCi0gICAgICAgICAgICB0cmFja0J1ZmZlci5kZWNvZGVRdWV1ZS5pbnNlcnQo
Kml0ZXIpOwotCi0gICAgICAgIHByb3ZpZGVNZWRpYURhdGEodHJhY2tCdWZmZXIsIHRyYWNrSUQp
OworICAgICAgICByZWVucXVldWVNZWRpYUZvclRpbWUodHJhY2tCdWZmZXIsIHRyYWNrSUQsIHRp
bWUpOwogICAgIH0KIAogICAgIG1fc291cmNlLT5tb25pdG9yU291cmNlQnVmZmVycygpOwpAQCAt
NTI5LDggKzQ5OCwxOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFw
cGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBBcHBlbgogCiAgICAgaWYgKG1fc291
cmNlKQogICAgICAgICBtX3NvdXJjZS0+bW9uaXRvclNvdXJjZUJ1ZmZlcnMoKTsKLSAgICBmb3Ig
KGF1dG8mIHRyYWNrQnVmZmVyUGFpciA6IG1fdHJhY2tCdWZmZXJNYXApCi0gICAgICAgIHByb3Zp
ZGVNZWRpYURhdGEodHJhY2tCdWZmZXJQYWlyLnZhbHVlLCB0cmFja0J1ZmZlclBhaXIua2V5KTsK
KworICAgIE1lZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lID0gTWVkaWFUaW1lOjpjcmVhdGVXaXRo
RG91YmxlKG1fc291cmNlLT5jdXJyZW50VGltZSgpKTsKKyAgICBmb3IgKGF1dG8mIHRyYWNrQnVm
ZmVyUGFpciA6IG1fdHJhY2tCdWZmZXJNYXApIHsKKyAgICAgICAgVHJhY2tCdWZmZXImIHRyYWNr
QnVmZmVyID0gdHJhY2tCdWZmZXJQYWlyLnZhbHVlOworICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIHRyYWNrSUQgPSB0cmFja0J1ZmZlclBhaXIua2V5OworCisgICAgICAgIGlmICh0cmFja0J1
ZmZlci5uZWVkc1JlZW5xdWV1ZWluZykgeworICAgICAgICAgICAgTE9HKE1lZGlhLCAiU291cmNl
QnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoJXApIC0gcmVlbnF1ZXVp
bmcgYXQgdGltZSAoJXMpIiwgdGhpcywgdG9TdHJpbmcoY3VycmVudE1lZGlhVGltZSkudXRmOCgp
LmRhdGEoKSk7CisgICAgICAgICAgICByZWVucXVldWVNZWRpYUZvclRpbWUodHJhY2tCdWZmZXIs
IHRyYWNrSUQsIGN1cnJlbnRNZWRpYVRpbWUpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
IHByb3ZpZGVNZWRpYURhdGEodHJhY2tCdWZmZXJQYWlyLnZhbHVlLCB0cmFja0J1ZmZlclBhaXIu
a2V5KTsKKyAgICB9CiAKICAgICByZXBvcnRFeHRyYU1lbW9yeUNvc3QoKTsKIH0KQEAgLTYwNCw2
ICs1ODMsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVk
aWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbgogICAgICAgICAvLyB0aGUgSFRNTE1l
ZGlhRWxlbWVudC5yZWFkeVN0YXRlIGF0dHJpYnV0ZSB0byBIQVZFX01FVEFEQVRBIGFuZCBzdGFs
bCBwbGF5YmFjay4KICAgICAgICAgaWYgKG1fYWN0aXZlICYmIGN1cnJlbnRNZWRpYVRpbWUgPj0g
c3RhcnQgJiYgY3VycmVudE1lZGlhVGltZSA8IGVuZCAmJiBtX3ByaXZhdGUtPnJlYWR5U3RhdGUo
KSA+IE1lZGlhUGxheWVyOjpIYXZlTWV0YWRhdGEpCiAgICAgICAgICAgICBtX3ByaXZhdGUtPnNl
dFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OkhhdmVNZXRhZGF0YSk7CisKKyAgICAgICAgdHJhY2tC
dWZmZXIubmVlZHNSZWVucXVldWVpbmcgPSB0cnVlOwogICAgIH0KIAogICAgIC8vIDQuIElmIGJ1
ZmZlciBmdWxsIGZsYWcgZXF1YWxzIHRydWUgYW5kIHRoaXMgb2JqZWN0IGlzIHJlYWR5IHRvIGFj
Y2VwdCBtb3JlIGJ5dGVzLCB0aGVuIHNldCB0aGUgYnVmZmVyIGZ1bGwgZmxhZyB0byBmYWxzZS4K
QEAgLTExMDQsNyArMTA4NSw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2
YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFzCiAgICAgICAgIC8v
IDEuMTMgTGV0IHNwbGljZWQgdGltZWQgdGV4dCBmcmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBm
b3IgaG9sZGluZyB0aW1lZCB0ZXh0IHNwbGljZSBpbmZvcm1hdGlvbgogICAgICAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIHNhbXBsZSBzcGxpY2luZy4KIAotICAgICAgICBEZWNvZGVPcmRl
clNhbXBsZU1hcDo6TWFwVHlwZSBlcmFzZWRTYW1wbGVzOworICAgICAgICBTYW1wbGVNYXAgZXJh
c2VkU2FtcGxlczsKICAgICAgICAgTWVkaWFUaW1lIG1pY3Jvc2Vjb25kKDEsIDEwMDAwMDApOwog
CiAgICAgICAgIC8vIDEuMTQgSWYgbGFzdCBkZWNvZGUgdGltZXN0YW1wIGZvciB0cmFjayBidWZm
ZXIgaXMgdW5zZXQgYW5kIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAgZmFsbHMKQEAgLTExMzQsNyAr
MTExNSw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFzCiAgICAgICAgICAgICAgICAgICAgIC8v
IDEuMTQuMi4zIElmIHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wIGlzIGxlc3MgdGhhbiB0aGUg
cmVtb3ZlIHdpbmRvdyB0aW1lc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgIC8vIHRoZW4gcmVt
b3ZlIG92ZXJsYXBwZWQgZnJhbWUgYW5kIGFueSBjb2RlZCBmcmFtZXMgdGhhdCBkZXBlbmQgb24g
aXQgZnJvbSB0cmFjayBidWZmZXIuCiAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVzZW50YXRp
b25UaW1lc3RhbXAgPCByZW1vdmVXaW5kb3dUaW1lc3RhbXApCi0gICAgICAgICAgICAgICAgICAg
ICAgICBlcmFzZWRTYW1wbGVzLmluc2VydCgqaXRlcik7CisgICAgICAgICAgICAgICAgICAgICAg
ICBlcmFzZWRTYW1wbGVzLmFkZFNhbXBsZShpdGVyLT5zZWNvbmQpOwogICAgICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgICAgIC8vIElmIHRyYWNrIGJ1ZmZlciBjb250YWlucyB0aW1lZCB0
ZXh0IGNvZGVkIGZyYW1lczoKQEAgLTExNTAsNyArMTEzMSw3IEBAIHZvaWQgU291cmNlQnVmZmVy
Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRl
KiwgUGFzCiAgICAgICAgICAgICAvLyBlcXVhbCB0byBwcmVzZW50YXRpb24gdGltZXN0YW1wIGFu
ZCBsZXNzIHRoYW4gZnJhbWUgZW5kIHRpbWVzdGFtcC4KICAgICAgICAgICAgIGF1dG8gaXRlcl9w
YWlyID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVzZW50YXRpb25PcmRlcigpLmZpbmRTYW1wbGVz
QmV0d2VlblByZXNlbnRhdGlvblRpbWVzKHByZXNlbnRhdGlvblRpbWVzdGFtcCwgZnJhbWVFbmRU
aW1lc3RhbXApOwogICAgICAgICAgICAgaWYgKGl0ZXJfcGFpci5maXJzdCAhPSB0cmFja0J1ZmZl
ci5zYW1wbGVzLnByZXNlbnRhdGlvbk9yZGVyKCkuZW5kKCkpCi0gICAgICAgICAgICAgICAgZXJh
c2VkU2FtcGxlcy5pbnNlcnQoaXRlcl9wYWlyLmZpcnN0LCBpdGVyX3BhaXIuc2Vjb25kKTsKKyAg
ICAgICAgICAgICAgICBlcmFzZWRTYW1wbGVzLmFkZFJhbmdlKGl0ZXJfcGFpci5maXJzdCwgaXRl
cl9wYWlyLnNlY29uZCk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBJZiBoaWdoZXN0IHByZXNl
bnRhdGlvbiB0aW1lc3RhbXAgZm9yIHRyYWNrIGJ1ZmZlciBpcyBzZXQgYW5kIGxlc3MgdGhhbiBw
cmVzZW50YXRpb24gdGltZXN0YW1wCkBAIC0xMTU5LDcgKzExNDAsNyBAQCB2b2lkIFNvdXJjZUJ1
ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoU291cmNlQnVmZmVyUHJp
dmF0ZSosIFBhcwogICAgICAgICAgICAgLy8gcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBhbmQgbGVz
cyB0aGFuIG9yIGVxdWFsIHRvIGZyYW1lIGVuZCB0aW1lc3RhbXAuCiAgICAgICAgICAgICBhdXRv
IGl0ZXJfcGFpciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9uT3JkZXIoKS5maW5k
U2FtcGxlc1dpdGhpblByZXNlbnRhdGlvblJhbmdlKHRyYWNrQnVmZmVyLmhpZ2hlc3RQcmVzZW50
YXRpb25UaW1lc3RhbXAsIGZyYW1lRW5kVGltZXN0YW1wKTsKICAgICAgICAgICAgIGlmIChpdGVy
X3BhaXIuZmlyc3QgIT0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVzZW50YXRpb25PcmRlcigpLmVu
ZCgpKQotICAgICAgICAgICAgICAgIGVyYXNlZFNhbXBsZXMuaW5zZXJ0KGl0ZXJfcGFpci5maXJz
dCwgaXRlcl9wYWlyLnNlY29uZCk7CisgICAgICAgICAgICAgICAgZXJhc2VkU2FtcGxlcy5hZGRS
YW5nZShpdGVyX3BhaXIuZmlyc3QsIGl0ZXJfcGFpci5zZWNvbmQpOwogICAgICAgICB9CiAKICAg
ICAgICAgLy8gMS4xNiBSZW1vdmUgZGVjb2RpbmcgZGVwZW5kZW5jaWVzIG9mIHRoZSBjb2RlZCBm
cmFtZXMgcmVtb3ZlZCBpbiB0aGUgcHJldmlvdXMgc3RlcDoKQEAgLTExNzAsMjEgKzExNTEsMTMg
QEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxl
KFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBQYXMKIAogICAgICAgICAgICAgLy8gT3RoZXJ3aXNlOiBS
ZW1vdmUgYWxsIGNvZGVkIGZyYW1lcyBiZXR3ZWVuIHRoZSBjb2RlZCBmcmFtZXMgcmVtb3ZlZCBp
biB0aGUgcHJldmlvdXMgc3RlcAogICAgICAgICAgICAgLy8gYW5kIHRoZSBuZXh0IHJhbmRvbSBh
Y2Nlc3MgcG9pbnQgYWZ0ZXIgdGhvc2UgcmVtb3ZlZCBmcmFtZXMuCi0gICAgICAgICAgICBmb3Ig
KGF1dG8mIHNhbXBsZVBhaXIgOiBlcmFzZWRTYW1wbGVzKSB7Ci0gICAgICAgICAgICAgICAgYXV0
byBjdXJyZW50RGVjb2RlSXRlciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMuZGVjb2RlT3JkZXIoKS5m
aW5kU2FtcGxlV2l0aERlY29kZVRpbWUoc2FtcGxlUGFpci5zZWNvbmQtPmRlY29kZVRpbWUoKSk7
Ci0gICAgICAgICAgICAgICAgYXV0byBuZXh0U3luY0l0ZXIgPSB0cmFja0J1ZmZlci5zYW1wbGVz
LmRlY29kZU9yZGVyKCkuZmluZFN5bmNTYW1wbGVBZnRlckRlY29kZUl0ZXJhdG9yKGN1cnJlbnRE
ZWNvZGVJdGVyKTsKLSAgICAgICAgICAgICAgICBkZXBlbmRlbnRTYW1wbGVzLmluc2VydChjdXJy
ZW50RGVjb2RlSXRlciwgbmV4dFN5bmNJdGVyKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGF1dG8gZmlyc3REZWNvZGVJdGVyID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5kZWNvZGVPcmRlcigp
LmZpbmRTYW1wbGVXaXRoRGVjb2RlVGltZShlcmFzZWRTYW1wbGVzLmRlY29kZU9yZGVyKCkuYmVn
aW4oKS0+Zmlyc3QpOworICAgICAgICAgICAgYXV0byBsYXN0RGVjb2RlSXRlciA9IHRyYWNrQnVm
ZmVyLnNhbXBsZXMuZGVjb2RlT3JkZXIoKS5maW5kU2FtcGxlV2l0aERlY29kZVRpbWUoZXJhc2Vk
U2FtcGxlcy5kZWNvZGVPcmRlcigpLnJiZWdpbigpLT5maXJzdCk7CisgICAgICAgICAgICBhdXRv
IG5leHRTeW5jSXRlciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMuZGVjb2RlT3JkZXIoKS5maW5kU3lu
Y1NhbXBsZUFmdGVyRGVjb2RlSXRlcmF0b3IobGFzdERlY29kZUl0ZXIpOworICAgICAgICAgICAg
ZGVwZW5kZW50U2FtcGxlcy5pbnNlcnQoZmlyc3REZWNvZGVJdGVyLCBuZXh0U3luY0l0ZXIpOwog
CiAKICAgICAgICAgICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBlcmFzZWRSYW5nZXMgPSBUaW1lUmFu
Z2VzOjpjcmVhdGUoKTsKLSAgICAgICAgICAgIGZvciAoYXV0byYgc2FtcGxlUGFpciA6IGVyYXNl
ZFNhbXBsZXMpIHsKLSAgICAgICAgICAgICAgICBNZWRpYVRpbWUgc3RhcnRUaW1lID0gc2FtcGxl
UGFpci5zZWNvbmQtPnByZXNlbnRhdGlvblRpbWUoKTsKLSAgICAgICAgICAgICAgICBNZWRpYVRp
bWUgZW5kVGltZSA9IHN0YXJ0VGltZSArIHNhbXBsZVBhaXIuc2Vjb25kLT5kdXJhdGlvbigpICsg
bWljcm9zZWNvbmQ7Ci0gICAgICAgICAgICAgICAgZXJhc2VkUmFuZ2VzLT5hZGQoc3RhcnRUaW1l
LnRvRG91YmxlKCksIGVuZFRpbWUudG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICAgICAgdHJhY2tC
dWZmZXIuc2FtcGxlcy5yZW1vdmVTYW1wbGUoc2FtcGxlUGFpci5zZWNvbmQuZ2V0KCkpOwotICAg
ICAgICAgICAgfQotCiAgICAgICAgICAgICBmb3IgKGF1dG8mIHNhbXBsZVBhaXIgOiBkZXBlbmRl
bnRTYW1wbGVzKSB7CiAgICAgICAgICAgICAgICAgTWVkaWFUaW1lIHN0YXJ0VGltZSA9IHNhbXBs
ZVBhaXIuc2Vjb25kLT5wcmVzZW50YXRpb25UaW1lKCk7CiAgICAgICAgICAgICAgICAgTWVkaWFU
aW1lIGVuZFRpbWUgPSBzdGFydFRpbWUgKyBzYW1wbGVQYWlyLnNlY29uZC0+ZHVyYXRpb24oKSAr
IG1pY3Jvc2Vjb25kOwpAQCAtMTE5NCw2ICsxMTY3LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBQ
YXMKIAogICAgICAgICAgICAgZXJhc2VkUmFuZ2VzLT5pbnZlcnQoKTsKICAgICAgICAgICAgIG1f
YnVmZmVyZWQtPmludGVyc2VjdFdpdGgoKmVyYXNlZFJhbmdlcy5nZXQoKSk7CisgICAgICAgICAg
ICB0cmFja0J1ZmZlci5uZWVkc1JlZW5xdWV1ZWluZyA9IHRydWU7CiAgICAgICAgIH0KIAogICAg
ICAgICAvLyAxLjE3IElmIHNwbGljZWQgYXVkaW8gZnJhbWUgaXMgc2V0OgpAQCAtMTM4Nyw2ICsx
MzYxLDQ2IEBAIHZvaWQgU291cmNlQnVmZmVyOjpwcm92aWRlTWVkaWFEYXRhKFRyYWNrQnVmZmVy
JiB0cmFja0J1ZmZlciwgQXRvbWljU3RyaW5nIHRyYWNrCiAgICAgTE9HKE1lZGlhLCAiU291cmNl
QnVmZmVyOjpwcm92aWRlTWVkaWFEYXRhKCVwKSAtIEVucXVldWVkICV1IHNhbXBsZXMiLCB0aGlz
LCBlbnF1ZXVlZFNhbXBsZXMpOwogfQogCit2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVlbnF1ZXVlTWVk
aWFGb3JUaW1lKFRyYWNrQnVmZmVyJiB0cmFja0J1ZmZlciwgQXRvbWljU3RyaW5nIHRyYWNrSUQs
IGNvbnN0IE1lZGlhVGltZSYgdGltZSkKK3sKKyAgICAvLyBGaW5kIHRoZSBzYW1wbGUgd2hpY2gg
Y29udGFpbnMgdGhlIGN1cnJlbnQgcHJlc2VudGF0aW9uIHRpbWUuCisgICAgYXV0byBjdXJyZW50
U2FtcGxlUFRTSXRlcmF0b3IgPSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRhdGlvbk9yZGVy
KCkuZmluZFNhbXBsZUNvbnRhaW5pbmdQcmVzZW50YXRpb25UaW1lKHRpbWUpOworCisgICAgaWYg
KGN1cnJlbnRTYW1wbGVQVFNJdGVyYXRvciA9PSB0cmFja0J1ZmZlci5zYW1wbGVzLnByZXNlbnRh
dGlvbk9yZGVyKCkuZW5kKCkpIHsKKyAgICAgICAgdHJhY2tCdWZmZXIuZGVjb2RlUXVldWUuY2xl
YXIoKTsKKyAgICAgICAgbV9wcml2YXRlLT5mbHVzaEFuZEVucXVldWVOb25EaXNwbGF5aW5nU2Ft
cGxlcyhWZWN0b3I8UmVmUHRyPE1lZGlhU2FtcGxlPj4oKSwgdHJhY2tJRCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICAvLyBTZWFjaCBiYWNrd2FyZCBmb3IgdGhlIHByZXZpb3VzIHN5
bmMgc2FtcGxlLgorICAgIE1lZGlhVGltZSBjdXJyZW50U2FtcGxlRGVjb2RlVGltZSA9IGN1cnJl
bnRTYW1wbGVQVFNJdGVyYXRvci0+c2Vjb25kLT5kZWNvZGVUaW1lKCk7CisgICAgYXV0byBjdXJy
ZW50U2FtcGxlRFRTSXRlcmF0b3IgPSB0cmFja0J1ZmZlci5zYW1wbGVzLmRlY29kZU9yZGVyKCku
ZmluZFNhbXBsZVdpdGhEZWNvZGVUaW1lKGN1cnJlbnRTYW1wbGVEZWNvZGVUaW1lKTsKKyAgICBB
U1NFUlQoY3VycmVudFNhbXBsZURUU0l0ZXJhdG9yICE9IHRyYWNrQnVmZmVyLnNhbXBsZXMuZGVj
b2RlT3JkZXIoKS5lbmQoKSk7CisKKyAgICBhdXRvIHJldmVyc2VDdXJyZW50U2FtcGxlSXRlciA9
IC0tRGVjb2RlT3JkZXJTYW1wbGVNYXA6OnJldmVyc2VfaXRlcmF0b3IoY3VycmVudFNhbXBsZURU
U0l0ZXJhdG9yKTsKKyAgICBhdXRvIHJldmVyc2VMYXN0U3luY1NhbXBsZUl0ZXIgPSB0cmFja0J1
ZmZlci5zYW1wbGVzLmRlY29kZU9yZGVyKCkuZmluZFN5bmNTYW1wbGVQcmlvclRvRGVjb2RlSXRl
cmF0b3IocmV2ZXJzZUN1cnJlbnRTYW1wbGVJdGVyKTsKKyAgICBpZiAocmV2ZXJzZUxhc3RTeW5j
U2FtcGxlSXRlciA9PSB0cmFja0J1ZmZlci5zYW1wbGVzLmRlY29kZU9yZGVyKCkucmVuZCgpKSB7
CisgICAgICAgIHRyYWNrQnVmZmVyLmRlY29kZVF1ZXVlLmNsZWFyKCk7CisgICAgICAgIG1fcHJp
dmF0ZS0+Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoVmVjdG9yPFJlZlB0cjxN
ZWRpYVNhbXBsZT4+KCksIHRyYWNrSUQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
VmVjdG9yPFJlZlB0cjxNZWRpYVNhbXBsZT4+IG5vbkRpc3BsYXlpbmdTYW1wbGVzOworICAgIGZv
ciAoYXV0byBpdGVyID0gcmV2ZXJzZUxhc3RTeW5jU2FtcGxlSXRlcjsgaXRlciAhPSByZXZlcnNl
Q3VycmVudFNhbXBsZUl0ZXI7IC0taXRlcikKKyAgICAgICAgbm9uRGlzcGxheWluZ1NhbXBsZXMu
YXBwZW5kKGl0ZXItPnNlY29uZCk7CisKKyAgICBtX3ByaXZhdGUtPmZsdXNoQW5kRW5xdWV1ZU5v
bkRpc3BsYXlpbmdTYW1wbGVzKG5vbkRpc3BsYXlpbmdTYW1wbGVzLCB0cmFja0lEKTsKKworICAg
IC8vIEZpbGwgdGhlIGRlY29kZSBxdWV1ZSB3aXRoIHRoZSByZW1haW5pbmcgc2FtcGxlcy4KKyAg
ICB0cmFja0J1ZmZlci5kZWNvZGVRdWV1ZS5jbGVhcigpOworICAgIGZvciAoYXV0byBpdGVyID0g
Y3VycmVudFNhbXBsZURUU0l0ZXJhdG9yOyBpdGVyICE9IHRyYWNrQnVmZmVyLnNhbXBsZXMuZGVj
b2RlT3JkZXIoKS5lbmQoKTsgKytpdGVyKQorICAgICAgICB0cmFja0J1ZmZlci5kZWNvZGVRdWV1
ZS5pbnNlcnQoKml0ZXIpOworICAgIHByb3ZpZGVNZWRpYURhdGEodHJhY2tCdWZmZXIsIHRyYWNr
SUQpOworCisgICAgdHJhY2tCdWZmZXIubmVlZHNSZWVucXVldWVpbmcgPSBmYWxzZTsKK30KKwor
CiB2b2lkIFNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBsZSgpCiB7CiAgICAgaWYgKCFpc1JlbW92
ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5oCmluZGV4IGZmOWMxMGRlZTc2MzAxZTljMjAxZWU5Y2NhMmRhMzJjZGM3Y2IxMjguLjEx
NTA1MTZkYzgwMWI3MWFjMGU2MjZkN2E2NjE4MzIyZGNiZjhiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTQ5LDYgKzE0
OSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB2YWxpZGF0ZUluaXRpYWxpemF0aW9uU2VnbWVudChj
b25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKTsKIAogICAgIHN0cnVjdCBUcmFja0J1ZmZlcjsK
KyAgICB2b2lkIHJlZW5xdWV1ZU1lZGlhRm9yVGltZShUcmFja0J1ZmZlciYsIEF0b21pY1N0cmlu
ZyB0cmFja0lELCBjb25zdCBNZWRpYVRpbWUmKTsKICAgICB2b2lkIHByb3ZpZGVNZWRpYURhdGEo
VHJhY2tCdWZmZXImLCBBdG9taWNTdHJpbmcgdHJhY2tJRCk7CiAgICAgdm9pZCBkaWREcm9wU2Ft
cGxlKCk7CiAK
</data>
<flag name="review"
          id="259255"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>