<?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>142285</bug_id>
          
          <creation_ts>2015-03-04 08:56:38 -0800</creation_ts>
          <short_desc>[MSE][EME][Mac] Calling close on a MediaKeysSession will cause many decoding errors to be emitted</short_desc>
          <delta_ts>2015-03-04 11:23:27 -0800</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>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>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074083</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-03-04 08:56:38 -0800</bug_when>
    <thetext>[MSE][EME][Mac] Calling close on a MediaKeysSession will cause many decoding errors to be emitted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074090</commentid>
    <comment_count>1</comment_count>
      <attachid>247864</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-03-04 09:10:25 -0800</bug_when>
    <thetext>Created attachment 247864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074118</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-03-04 10:40:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/19988154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074135</commentid>
    <comment_count>3</comment_count>
      <attachid>247864</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-04 11:23:23 -0800</bug_when>
    <thetext>Comment on attachment 247864
Patch

Clearing flags on attachment: 247864

Committed r181005: &lt;http://trac.webkit.org/changeset/181005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074136</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-04 11:23:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247864</attachid>
            <date>2015-03-04 09:10:25 -0800</date>
            <delta_ts>2015-03-04 11:23:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142285-20150304091007.patch</filename>
            <type>text/plain</type>
            <size>19426</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVjMTA3YzE0ZGRhNzFi
YzY3YWJhZDZhZWNhOTQzNjQxMjlkOWU4Yy4uOTI4NTRiOTZkNGM0OThkZTI0NThkN2MxOWY5MDg5
NDdmZjkwY2Y1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE1LTAzLTA0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW0VNRV1bTWFjXSBD
YWxsaW5nIGNsb3NlIG9uIGEgTWVkaWFLZXlzU2Vzc2lvbiB3aWxsIGNhdXNlIG1hbnkgZGVjb2Rp
bmcgZXJyb3JzIHRvIGJlIGVtaXR0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0MjI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdoZW4gYSBNZWRpYUtleVNlc3Npb24gKGJhY2tlZCBieSBDRE1TZXNz
aW9uTWVkaWFTb3VyY2VBVkZPYmpDKSBpcyBjbG9zZWQgYW5kIHRoZQorICAgICAgICB1bmRlcmx5
aW5nIEFWU3RyZWFtU2Vzc2lvbiBpcyBpbnZhbGlkYXRlZCwgdGhlIGRlY3J5cHRpb24gY29udGV4
dCBmb3IgaW4tZmxpZ2h0CisgICAgICAgIENNU2FtcGxlQnVmZmVycyBpcyBhbHNvIGludmFsaWRh
dGVkLCBhbmQgdGhlIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHdpbGwgaXNzdWUKKyAgICAg
ICAgb25lIGVycm9yIGZvciBlYWNoIGVucXVldWVkIGFuZCB1bi1kaXNwbGF5ZWQgc2FtcGxlIGlu
IGl0cyBpbWFnZS1xdWV1ZS4gLWZsdXNoLWluZworICAgICAgICB0aGUgQVZTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIgaXMgbm90IGVub3VnaCwgYXMgdGhlIGZsdXNoIG9ubHkgdGFrZXMgZWZmZWN0
CisgICAgICAgIGFzeW5jaHJvbm91c2x5IHRoZSBuZXh0IHRpbWUgdGhlIGxheWVyIG5lZWRzIG5l
dyBzYW1wbGVzLgorCisgICAgICAgIEFkZCBhIHdvcmthcm91bmQgdW50aWwgZnJhbWV3b3JrLWxl
dmVsIHN1cHBvcnQgbGFuZHMgdG8gZnVsbHkgZmx1c2ggZW5xdWV1ZWQgYW5kCisgICAgICAgIGVu
Y3J5cHRlZCBmcmFtZXMuCisKKyAgICAgICAgV2hlbiB0aGUgQ0RNU2Vzc2lvbk1lZGlhU091cmNl
QVZGT2JqQyBvYmplY3QgcmVjaWV2ZXMgYW4gZXJyb3IgZnJvbSB0aGUgbGF5ZXIsCisgICAgICAg
IGNoZWNrIHRvIHNlZSBpZiB0aGUgc2Vzc2lvbiBoYXMgYmVlbiBzdG9wcGVkLiBJZiBzbywgYW5k
IGlmIHRoZSBlcnJvciBpbiBxdWVzdGlvbiBpcworICAgICAgICBvbmUgdGhhdCBpbmRpY2F0ZXMg
dGhhdCB0aGUgc2FtcGxlcyBkZWNyeXB0aW9uIGNvbnRleHQgaGFzIGJlZW4gaW52YWxpZGF0ZWQs
IHN1cHByZXNzCisgICAgICAgIHRoZSBlcnJvciBhbmQgaW5zdHJ1Y3QgdGhlIHNlbmRlciB0byBz
dXBwcmVzcyB0aGUgZXJyb3IgYXMgd2VsbC4gVGhpcyB3b3JrYXJvdW5kIHdpbGwKKyAgICAgICAg
YmUgcmVtb3ZlZCBvbmNlIHJlYWwgc3VwcG9ydCBmb3Igc3luY2hyb25vdXMgZmx1c2hpbmcgbGFu
ZHMgaW4gPHJkYXI6Ly9wcm9ibGVtLzIwMDI3NDM0Lj4KKworICAgICAgICBTdGlsbCwgd2UnbGwg
bWFrZSBvdXIgYmVzdCBlZmZvcnQgdG8gZmx1c2ggdW5kaXNwbGF5ZWQgZnJhbWVzIHdoZW4gb3Vy
IENETSBzZXNzaW9uIGlzCisgICAgICAgIGludmFsaWRhdGVkLiBNb3ZlIGF3YXkgZnJvbSBzdGQ6
Om1hcCBhbmQgaW5zdGVhZCB1c2UgSGFzaE1hcCB0byBzdG9yZSB0aGUgc2V0IG9mIAorICAgICAg
ICBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXJzLiBUaGlzIGFsbG93cyB1cyB0byB1c2UgQysr
MTEgc3R5bGUgbG9vcHMgYWdhaW5zdCBqdXN0CisgICAgICAgIHRoZSBIYXNoTWFwJ3Mgc2V0IG9m
IHZhbHVlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6Q0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6cmVsZWFzZUtl
eXMpOiBGbHVzaCBhbmQgc2V0IG1fc3RvcHBlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakM6OmxheWVyRGlkUmVjZWl2ZUVycm9yKTogQ2hlY2sgbV9zdG9w
cGVkIGFuZCB0aGUKKyAgICAgICAgICAgIGVycm9yIGNvZGUgYW5kIGJhaWwgYmVmb3JlIGlzc3Vp
bmcgdGhlIGVycm9yLgorICAgICAgICAoV2ViQ29yZTo6Q0RNU2Vzc2lvbk1lZGlhU291cmNlQVZG
T2JqQzo6cmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoLVtXZWJBVlNhbXBsZUJ1ZmZlckVycm9y
TGlzdGVuZXIgbGF5ZXJGYWlsZWRUb0RlY29kZTpdKTogRHJpdmUtYnkgZml4LiBDaGVjayB3aGV0
aGVyCisgICAgICAgICAgICB0aGUgbGF5ZXIgaXMgaW4gdGhlIHNldCBvZiBsaXN0ZW5lZC10byBs
YXllcnMgb25seSBiYWNrIGluIHRoZSBtYWluIHRocmVhZDsgdGhlCisgICAgICAgICAgICBsaXN0
bmVuZXIgbWF5IGhhdmUgYmVlbiB1bnJlZ2lzdGVyZWQgYnkgdGhlIHRpbWUgdGhlIG1haW4gdGhy
ZWFkIHdhcyBjYWxsZWQuCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6ZGVzdHJveVJlbmRlcmVycyk6IHN0ZDo6bWFwIC0+IEhhc2hNYXAuCisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6dHJhY2tEaWRDaGFuZ2VFbmFibGVk
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxlKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6aXNSZWFkeUZv
ck1vcmVTYW1wbGVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQzo6ZGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5vdGlmeUNsaWVudFdoZW5S
ZWFkeUZvck1vcmVTYW1wbGVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQzo6Zmx1c2gpOiBBZGRlZDsgY2FsbCAtZmx1c2ggb24gYWxsIHRoZSBk
aXNwbGF5CisgICAgICAgICAgICBsYXllcnMgYW5kIGF1ZGlvIHJlbmRlcmVycy4KKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJv
cik6IENoZWNrIGlmIGFueSBjbGllbnRzCisgICAgICAgICAgICBhc2tlZCB0byBpZ25vcmUgdGhl
IGVycm9yLCBhbmQgaWYgc28sIGJhaWwuCisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6cmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IpOiBEaXR0by4KKwogMjAxNS0w
Mi0yNSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbQ1NTIEdyaWQgTGF5b3V0XSBUcmFja3MgZ3Jvd2luZyBiZXlvbmQgbGltaXRzIHdoZW4gdGhl
eSBzaG91bGQgbm90CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9u
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggZGNiY2YwMzEyMzE0NGQ1ZGQwYjQzMjkxZmRjMjli
YzcyM2VmOGM1MS4uM2FjZDFiMzAxYjdmMGE4OTY1NmU1ZjU3Yzg3ZjNhY2YxY2QwNTA2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFW
Rk9iakMuaApAQCAtNTAsOCArNTAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlbGVh
c2VLZXlzKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHVwZGF0ZShVaW50OEFycmF5Kiwg
UmVmUHRyPFVpbnQ4QXJyYXk+JiBuZXh0TWVzc2FnZSwgdW5zaWduZWQgc2hvcnQmIGVycm9yQ29k
ZSwgdW5zaWduZWQgbG9uZyYgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgbGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgKiwgTlNF
cnJvciAqKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1w
bGVCdWZmZXJBdWRpb1JlbmRlcmVyICosIE5TRXJyb3IgKik7CisgICAgdmlydHVhbCB2b2lkIGxh
eWVyRGlkUmVjZWl2ZUVycm9yKEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyICosIE5TRXJyb3Ig
KiwgYm9vbCYgc2hvdWxkSWdub3JlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyZXJEaWRSZWNl
aXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyICosIE5TRXJyb3IgKiwgYm9vbCYg
c2hvdWxkSWdub3JlKTsKIAogICAgIHZvaWQgc2V0U3RyZWFtU2Vzc2lvbihBVlN0cmVhbVNlc3Np
b24gKik7CiAKQEAgLTc0LDYgKzc0LDcgQEAgcHJvdGVjdGVkOgogICAgIFZlY3RvcjxpbnQ+IG1f
cHJvdG9jb2xWZXJzaW9uczsKICAgICBTdHJpbmcgbV9zZXNzaW9uSWQ7CiAgICAgZW51bSB7IE5v
cm1hbCwgS2V5UmVsZWFzZSB9IG1fbW9kZTsKKyAgICBib29sIG1fc3RvcHBlZCA9IHsgZmFsc2Ug
fTsKIH07CiAKIGlubGluZSBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDKiB0b0NETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakMoQ0RNU2Vzc2lvbiogc2Vzc2lvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Np
b25NZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4
IDE1OTBhZDVlZGNjMDYxZjJkYjFlZmQ1ZGJjYmNmZWQ3M2ZkMTg4ZWIuLjE2NzgxZGFlYzY3ZDBm
MWQ4YzFiZTEwMTBmY2ZkMmM0YzllYjgzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFW
Rk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMTQxLDYgKzE0MSwx
MCBAQCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakM6
OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdAogdm9pZCBDRE1TZXNzaW9uTWVkaWFTb3VyY2VB
VkZPYmpDOjpyZWxlYXNlS2V5cygpCiB7CiAgICAgaWYgKG1fc3RyZWFtU2Vzc2lvbikgeworICAg
ICAgICBtX3N0b3BwZWQgPSB0cnVlOworICAgICAgICBmb3IgKGF1dG8mIHNvdXJjZUJ1ZmZlciA6
IG1fc291cmNlQnVmZmVycykKKyAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci0+Zmx1c2goKTsKKwog
ICAgICAgICBMT0coTWVkaWEsICJDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjpyZWxlYXNl
S2V5cyglcCkgLSBleHBpcmluZyBzdHJlYW0gc2Vzc2lvbiIsIHRoaXMpOwogICAgICAgICBbbV9z
dHJlYW1TZXNzaW9uIGV4cGlyZV07CiAKQEAgLTI4MiwyMCArMjg2LDMwIEBAIGJvb2wgQ0RNU2Vz
c2lvbk1lZGlhU291cmNlQVZGT2JqQzo6dXBkYXRlKFVpbnQ4QXJyYXkqIGtleSwgUmVmUHRyPFVp
bnQ4QXJyYXk+JiBuCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ0RNU2Vzc2lvbk1lZGlh
U291cmNlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIgKiwgTlNFcnJvciAqZXJyb3IpCit2b2lkIENETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9i
akM6OmxheWVyRGlkUmVjZWl2ZUVycm9yKEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyICosIE5T
RXJyb3IgKmVycm9yLCBib29sJiBzaG91bGRJZ25vcmUpCiB7CiAgICAgaWYgKCFtX2NsaWVudCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQtPnNlbmRFcnJvcihDRE1TZXNzaW9uQ2xp
ZW50OjpNZWRpYUtleUVycm9yRG9tYWluLCBzdGQ6OmFicyhzeXN0ZW1Db2RlRm9yRXJyb3IoZXJy
b3IpKSk7CisgICAgdW5zaWduZWQgbG9uZyBjb2RlID0gc3RkOjphYnMoc3lzdGVtQ29kZUZvckVy
cm9yKGVycm9yKSk7CisKKyAgICAvLyBGSVhNRSgxNDIyNDYpOiBSZW1vdmUgdGhlIGZvbGxvd2lu
ZyBvbmNlIDxyZGFyOi8vcHJvYmxlbS8yMDAyNzQzND4gaXMgcmVzb2x2ZWQuCisgICAgc2hvdWxk
SWdub3JlID0gbV9zdG9wcGVkICYmIGNvZGUgPT0gMTI3ODU7CisgICAgaWYgKCFzaG91bGRJZ25v
cmUpCisgICAgICAgIG1fY2xpZW50LT5zZW5kRXJyb3IoQ0RNU2Vzc2lvbkNsaWVudDo6TWVkaWFL
ZXlFcnJvckRvbWFpbiwgY29kZSk7CiB9CiAKLXZvaWQgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZG
T2JqQzo6cmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVy
ICosIE5TRXJyb3IgKmVycm9yKQordm9pZCBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjpy
ZW5kZXJlckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIgKiwgTlNF
cnJvciAqZXJyb3IsIGJvb2wmIHNob3VsZElnbm9yZSkKIHsKICAgICBpZiAoIW1fY2xpZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC0+c2VuZEVycm9yKENETVNlc3Npb25DbGll
bnQ6Ok1lZGlhS2V5RXJyb3JEb21haW4sIHN0ZDo6YWJzKHN5c3RlbUNvZGVGb3JFcnJvcihlcnJv
cikpKTsKKyAgICB1bnNpZ25lZCBsb25nIGNvZGUgPSBzdGQ6OmFicyhzeXN0ZW1Db2RlRm9yRXJy
b3IoZXJyb3IpKTsKKworICAgIC8vIEZJWE1FKDE0MjI0Nik6IFJlbW92ZSB0aGUgZm9sbG93aW5n
IG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzIwMDI3NDM0PiBpcyByZXNvbHZlZC4KKyAgICBzaG91bGRJ
Z25vcmUgPSBtX3N0b3BwZWQgJiYgY29kZSA9PSAxMjc4NTsKKyAgICBpZiAoIXNob3VsZElnbm9y
ZSkKKyAgICAgICAgbV9jbGllbnQtPnNlbmRFcnJvcihDRE1TZXNzaW9uQ2xpZW50OjpNZWRpYUtl
eUVycm9yRG9tYWluLCBjb2RlKTsKIH0KIAogdm9pZCBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZP
YmpDOjpzZXRTdHJlYW1TZXNzaW9uKEFWU3RyZWFtU2Vzc2lvbiAqc3RyZWFtU2Vzc2lvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5o
CmluZGV4IDQ4ZTQyMzAzZDM1ZWYxY2ZhYTU4MTVjNzZiMzc5YzRmOTVkZDVjMTYuLjk0Y2EzMTky
YWM5NzViNDYxYWFkNGUyOTNkN2IyMzlmY2IzZWZmYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCiAKICNpbmNs
dWRlICJTb3VyY2VCdWZmZXJQcml2YXRlLmgiCi0jaW5jbHVkZSA8bWFwPgogI2luY2x1ZGUgPHd0
Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01lZGlh
VGltZS5oPgpAQCAtNjQsOCArNjMsOCBAQCBjbGFzcyBWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzsKIGNsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDRXJyb3JDbGllbnQg
ewogcHVibGljOgogICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDRXJyb3JD
bGllbnQoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgbGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIgKiwgTlNFcnJvciAqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IHJlbmRlcmVyRGlkUmVjZWl2ZUVycm9yKEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlciAqLCBO
U0Vycm9yICopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgKiwgTlNFcnJvciAqLCBib29sJiBzaG91bGRJZ25vcmUp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVC
dWZmZXJBdWRpb1JlbmRlcmVyICosIE5TRXJyb3IgKiwgYm9vbCYgc2hvdWxkSWdub3JlKSA9IDA7
CiB9OwogCiBjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyBmaW5hbCA6IHB1YmxpYyBT
b3VyY2VCdWZmZXJQcml2YXRlIHsKQEAgLTk4LDYgKzk3LDggQEAgcHVibGljOgogICAgIGludCBw
cm90ZWN0ZWRUcmFja0lEKCkgY29uc3QgeyByZXR1cm4gbV9wcm90ZWN0ZWRUcmFja0lEOyB9CiAg
ICAgQVZTdHJlYW1EYXRhUGFyc2VyKiBwYXJzZXIoKSBjb25zdCB7IHJldHVybiBtX3BhcnNlci5n
ZXQoKTsgfQogCisgICAgdm9pZCBmbHVzaCgpOworCiAgICAgdm9pZCByZWdpc3RlckZvckVycm9y
Tm90aWZpY2F0aW9ucyhTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQ0Vycm9yQ2xpZW50Kik7CiAg
ICAgdm9pZCB1bnJlZ2lzdGVyRm9yRXJyb3JOb3RpZmljYXRpb25zKFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDRXJyb3JDbGllbnQqKTsKICAgICB2b2lkIGxheWVyRGlkUmVjZWl2ZUVycm9yKEFW
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyICosIE5TRXJyb3IgKik7CkBAIC0xMzgsNyArMTM5LDcg
QEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8QVZTdHJlYW1EYXRhUGFyc2VyPiBtX3BhcnNlcjsK
ICAgICBSZXRhaW5QdHI8QVZBc3NldD4gbV9hc3NldDsKICAgICBSZXRhaW5QdHI8QVZTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXI+IG1fZGlzcGxheUxheWVyOwotICAgIHN0ZDo6bWFwPGludCwgUmV0
YWluUHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4+IG1fYXVkaW9SZW5kZXJlcnM7Cisg
ICAgSGFzaE1hcDxpbnQsIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXI+PiBt
X2F1ZGlvUmVuZGVyZXJzOwogICAgIFJldGFpblB0cjxXZWJBVlN0cmVhbURhdGFQYXJzZXJMaXN0
ZW5lcj4gbV9kZWxlZ2F0ZTsKICAgICBSZXRhaW5QdHI8V2ViQVZTYW1wbGVCdWZmZXJFcnJvckxp
c3RlbmVyPiBtX2Vycm9yTGlzdGVuZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggNWQ4YTU2NGI2Mjk4ZTMwMWNi
ZDhjOGY4NmJiNzZhODQ3MzVlZDNlMy4uYmJlOTNiNTc2ZGY2OGM3YzYwYmEzZDE1YjRhZTE2Yzc0
ZDMwYmE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCiAjaW1wb3J0ICJCbG9ja0V4Y2VwdGlvbnMuaCIK
KyNpbXBvcnQgIkNETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMuaCIKICNpbXBvcnQgIkV4Y2Vw
dGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTWVk
aWFEZXNjcmlwdGlvbi5oIgpAQCAtMTQ5LDYgKzE1MCw3IEBAIFNPRlRfTElOSyhDb3JlTWVkaWEs
IENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMsIENHU2l6
ZSwKIC0gKE5TRXJyb3IqKWVycm9yOwogLSAodm9pZCllbnF1ZXVlU2FtcGxlQnVmZmVyOihDTVNh
bXBsZUJ1ZmZlclJlZilzYW1wbGVCdWZmZXI7CiAtICh2b2lkKWZsdXNoOworLSAodm9pZClmbHVz
aEFuZFJlbW92ZUltYWdlOwogLSAoQk9PTClpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YTsKIC0gKHZv
aWQpcmVxdWVzdE1lZGlhRGF0YVdoZW5SZWFkeU9uUXVldWU6KGRpc3BhdGNoX3F1ZXVlX3QpcXVl
dWUgdXNpbmdCbG9jazoodm9pZCAoXikodm9pZCkpYmxvY2s7CiAtICh2b2lkKXN0b3BSZXF1ZXN0
aW5nTWVkaWFEYXRhOwpAQCAtNDUyLDEyICs0NTQsMTIgQEAgU09GVF9MSU5LKENvcmVNZWRpYSwg
Q01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uR2V0UHJlc2VudGF0aW9uRGltZW5zaW9ucywgQ0dTaXpl
LAogLSAodm9pZClsYXllckZhaWxlZFRvRGVjb2RlOihOU05vdGlmaWNhdGlvbiopbm90ZQogewog
ICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcj4gbGF5ZXIgPSAoQVZTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIgKilbbm90ZSBvYmplY3RdOwotICAgIEFTU0VSVChfbGF5ZXJz
LmNvbnRhaW5zKGxheWVyLmdldCgpKSk7Ci0KICAgICBSZXRhaW5QdHI8TlNFcnJvcj4gZXJyb3Ig
PSBbW25vdGUgdXNlckluZm9dIHZhbHVlRm9yS2V5OkFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
RmFpbGVkVG9EZWNvZGVOb3RpZmljYXRpb25FcnJvcktleV07CiAKICAgICBSZXRhaW5QdHI8V2Vi
QVZTYW1wbGVCdWZmZXJFcnJvckxpc3RlbmVyPiBzdHJvbmdTZWxmID0gc2VsZjsKICAgICBjYWxs
T25NYWluVGhyZWFkKFtzdHJvbmdTZWxmLCBsYXllciwgZXJyb3JdIHsKKyAgICAgICAgaWYgKCFz
dHJvbmdTZWxmLT5fcGFyZW50IHx8ICFzdHJvbmdTZWxmLT5fbGF5ZXJzLmNvbnRhaW5zKGxheWVy
LmdldCgpKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgc3Ryb25nU2VsZi0+X3BhcmVu
dC0+bGF5ZXJEaWRSZWNlaXZlRXJyb3IobGF5ZXIuZ2V0KCksIGVycm9yLmdldCgpKTsKICAgICB9
KTsKIH0KQEAgLTgyOSwxMyArODMxLDEyIEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmRlc3Ryb3lSZW5kZXJlcnMoKQogICAgICAgICBtX2Rpc3BsYXlMYXllciA9IG51bGxwdHI7
CiAgICAgfQogCi0gICAgZm9yIChhdXRvIGl0ID0gbV9hdWRpb1JlbmRlcmVycy5iZWdpbigpLCBl
bmQgPSBtX2F1ZGlvUmVuZGVyZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
QVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyKiByZW5kZXJlciA9IGl0LT5zZWNvbmQuZ2V0KCk7
CisgICAgZm9yIChhdXRvJiByZW5kZXJlciA6IG1fYXVkaW9SZW5kZXJlcnMudmFsdWVzKCkpIHsK
ICAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCi0gICAgICAgICAgICBtX21lZGlhU291cmNlLT5w
bGF5ZXIoKS0+cmVtb3ZlQXVkaW9SZW5kZXJlcihyZW5kZXJlcik7CisgICAgICAgICAgICBtX21l
ZGlhU291cmNlLT5wbGF5ZXIoKS0+cmVtb3ZlQXVkaW9SZW5kZXJlcihyZW5kZXJlci5nZXQoKSk7
CiAgICAgICAgIFtyZW5kZXJlciBmbHVzaF07CiAgICAgICAgIFtyZW5kZXJlciBzdG9wUmVxdWVz
dGluZ01lZGlhRGF0YV07Ci0gICAgICAgIFttX2Vycm9yTGlzdGVuZXIgc3RvcE9ic2VydmluZ1Jl
bmRlcmVyOnJlbmRlcmVyXTsKKyAgICAgICAgW21fZXJyb3JMaXN0ZW5lciBzdG9wT2JzZXJ2aW5n
UmVuZGVyZXI6cmVuZGVyZXIuZ2V0KCldOwogICAgIH0KIAogICAgIG1fYXVkaW9SZW5kZXJlcnMu
Y2xlYXIoKTsKQEAgLTkwNSwyOCArOTA2LDM3IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakM6OnRyYWNrRGlkQ2hhbmdlRW5hYmxlZChBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU291CiAg
ICAgaW50IHRyYWNrSUQgPSB0cmFjay0+dHJhY2tJRCgpOwogCiAgICAgaWYgKCF0cmFjay0+ZW5h
YmxlZCgpKSB7Ci0gICAgICAgIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlciogcmVuZGVyZXIg
PSBtX2F1ZGlvUmVuZGVyZXJzW3RyYWNrSURdLmdldCgpOworICAgICAgICBSZXRhaW5QdHI8QVZT
YW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyPiByZW5kZXJlciA9IG1fYXVkaW9SZW5kZXJlcnMuZ2V0
KHRyYWNrSUQpOwogICAgICAgICBbbV9wYXJzZXIgc2V0U2hvdWxkUHJvdmlkZU1lZGlhRGF0YTpO
TyBmb3JUcmFja0lEOnRyYWNrSURdOwogICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSkKLSAgICAg
ICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5yZW1vdmVBdWRpb1JlbmRlcmVyKHJlbmRl
cmVyKTsKKyAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigpLT5yZW1vdmVBdWRpb1Jl
bmRlcmVyKHJlbmRlcmVyLmdldCgpKTsKICAgICB9IGVsc2UgewogICAgICAgICBbbV9wYXJzZXIg
c2V0U2hvdWxkUHJvdmlkZU1lZGlhRGF0YTpZRVMgZm9yVHJhY2tJRDp0cmFja0lEXTsKICAgICAg
ICAgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4gcmVuZGVyZXI7Ci0gICAg
ICAgIGlmICghbV9hdWRpb1JlbmRlcmVycy5jb3VudCh0cmFja0lEKSkgeworICAgICAgICBpZiAo
IW1fYXVkaW9SZW5kZXJlcnMuY29udGFpbnModHJhY2tJRCkpIHsKICAgICAgICAgICAgIHJlbmRl
cmVyID0gYWRvcHROUyhbYWxsb2NBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXJJbnN0YW5jZSgp
IGluaXRdKTsKICAgICAgICAgICAgIFtyZW5kZXJlciByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5
T25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XnsKICAgICAgICAg
ICAgICAgICBkaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKHRyYWNrSUQpOwogICAgICAgICAg
ICAgfV07Ci0gICAgICAgICAgICBtX2F1ZGlvUmVuZGVyZXJzW3RyYWNrSURdID0gcmVuZGVyZXI7
CisgICAgICAgICAgICBtX2F1ZGlvUmVuZGVyZXJzLnNldCh0cmFja0lELCByZW5kZXJlcik7CiAg
ICAgICAgICAgICBbbV9lcnJvckxpc3RlbmVyIGJlZ2luT2JzZXJ2aW5nUmVuZGVyZXI6cmVuZGVy
ZXIuZ2V0KCldOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJlbmRlcmVyID0gbV9hdWRp
b1JlbmRlcmVyc1t0cmFja0lEXS5nZXQoKTsKKyAgICAgICAgICAgIHJlbmRlcmVyID0gbV9hdWRp
b1JlbmRlcmVycy5nZXQodHJhY2tJRCk7CiAKICAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCiAg
ICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+YWRkQXVkaW9SZW5kZXJlcihyZW5k
ZXJlci5nZXQoKSk7CiAgICAgfQogfQogCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjpmbHVzaCgpCit7CisgICAgaWYgKG1fZGlzcGxheUxheWVyKQorICAgICAgICBbbV9kaXNwbGF5
TGF5ZXIgZmx1c2hBbmRSZW1vdmVJbWFnZV07CisKKyAgICBmb3IgKGF1dG8mIHJlbmRlcmVyIDog
bV9hdWRpb1JlbmRlcmVycy52YWx1ZXMoKSkKKyAgICAgICAgW3JlbmRlcmVyIGZsdXNoXTsKK30K
Kwogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cmVnaXN0ZXJGb3JFcnJvck5vdGlm
aWNhdGlvbnMoU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakNFcnJvckNsaWVudCogY2xpZW50KQog
ewogICAgIEFTU0VSVCghbV9lcnJvckNsaWVudHMuY29udGFpbnMoY2xpZW50KSk7CkBAIC05NDIs
OCArOTUyLDE2IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnVucmVnaXN0ZXJG
b3JFcnJvck5vdGlmaWNhdGlvbnMoU291cmNlQnVmZmVyUHJpCiB2b2lkIFNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllciAqbGF5ZXIsIE5TRXJyb3IgKmVycm9yKQogewogICAgIExPRyhNZWRpYVNvdXJjZSwgIlNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJvciglcCk6IGxheWVy
KCVwKSwgZXJyb3IoJUApIiwgdGhpcywgbGF5ZXIsIFtlcnJvciBkZXNjcmlwdGlvbl0pOwotICAg
IGZvciAoYXV0byYgY2xpZW50IDogbV9lcnJvckNsaWVudHMpCi0gICAgICAgIGNsaWVudC0+bGF5
ZXJEaWRSZWNlaXZlRXJyb3IobGF5ZXIsIGVycm9yKTsKKworICAgIC8vIEZJWE1FKDE0MjI0Nik6
IFJlbW92ZSB0aGUgZm9sbG93aW5nIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzIwMDI3NDM0PiBpcyBy
ZXNvbHZlZC4KKyAgICBib29sIGFueUlnbm9yZWQgPSBmYWxzZTsKKyAgICBmb3IgKGF1dG8mIGNs
aWVudCA6IG1fZXJyb3JDbGllbnRzKSB7CisgICAgICAgIGJvb2wgc2hvdWxkSWdub3JlID0gZmFs
c2U7CisgICAgICAgIGNsaWVudC0+bGF5ZXJEaWRSZWNlaXZlRXJyb3IobGF5ZXIsIGVycm9yLCBz
aG91bGRJZ25vcmUpOworICAgICAgICBhbnlJZ25vcmVkIHw9IHNob3VsZElnbm9yZTsKKyAgICB9
CisgICAgaWYgKGFueUlnbm9yZWQpCisgICAgICAgIHJldHVybjsKIAogICAgIGludCBlcnJvckNv
ZGUgPSBbW1tlcnJvciB1c2VySW5mb10gdmFsdWVGb3JLZXk6QCJPU1N0YXR1cyJdIGludFZhbHVl
XTsKIApAQCAtOTU0LDggKzk3MiwxNiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjpsYXllckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgogdm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1w
bGVCdWZmZXJBdWRpb1JlbmRlcmVyICpyZW5kZXJlciwgTlNFcnJvciAqZXJyb3IpCiB7CiAgICAg
TE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnJlbmRlcmVyRGlk
UmVjZWl2ZUVycm9yKCVwKTogcmVuZGVyZXIoJXApLCBlcnJvciglQCkiLCB0aGlzLCByZW5kZXJl
ciwgW2Vycm9yIGRlc2NyaXB0aW9uXSk7Ci0gICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2Vycm9y
Q2xpZW50cykKLSAgICAgICAgY2xpZW50LT5yZW5kZXJlckRpZFJlY2VpdmVFcnJvcihyZW5kZXJl
ciwgZXJyb3IpOworCisgICAgLy8gRklYTUUoMTQyMjQ2KTogUmVtb3ZlIHRoZSBmb2xsb3dpbmcg
b25jZSA8cmRhcjovL3Byb2JsZW0vMjAwMjc0MzQ+IGlzIHJlc29sdmVkLgorICAgIGJvb2wgYW55
SWdub3JlZCA9IGZhbHNlOworICAgIGZvciAoYXV0byYgY2xpZW50IDogbV9lcnJvckNsaWVudHMp
IHsKKyAgICAgICAgYm9vbCBzaG91bGRJZ25vcmUgPSBmYWxzZTsKKyAgICAgICAgY2xpZW50LT5y
ZW5kZXJlckRpZFJlY2VpdmVFcnJvcihyZW5kZXJlciwgZXJyb3IsIHNob3VsZElnbm9yZSk7Cisg
ICAgICAgIGFueUlnbm9yZWQgfD0gc2hvdWxkSWdub3JlOworICAgIH0KKyAgICBpZiAoYW55SWdu
b3JlZCkKKyAgICAgICAgcmV0dXJuOwogfQogCiBzdGF0aWMgUmV0YWluUHRyPENNU2FtcGxlQnVm
ZmVyUmVmPiBjcmVhdGVOb25EaXNwbGF5aW5nQ29weShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVC
dWZmZXIpCkBAIC05ODEsOCArMTAwNyw4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmZsdXNoQW5kRW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQCiAKICAg
ICBpZiAodHJhY2tJRCA9PSBtX2VuYWJsZWRWaWRlb1RyYWNrSUQpCiAgICAgICAgIGZsdXNoQW5k
RW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKG1lZGlhU2FtcGxlcywgbV9kaXNwbGF5TGF5ZXIu
Z2V0KCkpOwotICAgIGVsc2UgaWYgKG1fYXVkaW9SZW5kZXJlcnMuY291bnQodHJhY2tJRCkpCi0g
ICAgICAgIGZsdXNoQW5kRW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKG1lZGlhU2FtcGxlcywg
bV9hdWRpb1JlbmRlcmVyc1t0cmFja0lEXS5nZXQoKSk7CisgICAgZWxzZSBpZiAobV9hdWRpb1Jl
bmRlcmVycy5jb250YWlucyh0cmFja0lEKSkKKyAgICAgICAgZmx1c2hBbmRFbnF1ZXVlTm9uRGlz
cGxheWluZ1NhbXBsZXMobWVkaWFTYW1wbGVzLCBtX2F1ZGlvUmVuZGVyZXJzLmdldCh0cmFja0lE
KS5nZXQoKSk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmZsdXNoQW5k
RW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQdHI8TWVkaWFTYW1wbGU+PiBt
ZWRpYVNhbXBsZXMsIEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlciogcmVuZGVyZXIpCkBAIC0x
MDI1LDcgKzEwNTEsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpmbHVzaEFu
ZEVucXVldWVOb25EaXNwbGF5aW5nU2FtcGxlcyhWZWN0b3I8UmVmUAogdm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZShQYXNzUmVmUHRyPE1lZGlhU2FtcGxlPiBw
cnBNZWRpYVNhbXBsZSwgQXRvbWljU3RyaW5nIHRyYWNrSURTdHJpbmcpCiB7CiAgICAgaW50IHRy
YWNrSUQgPSB0cmFja0lEU3RyaW5nLnRvSW50KCk7Ci0gICAgaWYgKHRyYWNrSUQgIT0gbV9lbmFi
bGVkVmlkZW9UcmFja0lEICYmICFtX2F1ZGlvUmVuZGVyZXJzLmNvdW50KHRyYWNrSUQpKQorICAg
IGlmICh0cmFja0lEICE9IG1fZW5hYmxlZFZpZGVvVHJhY2tJRCAmJiAhbV9hdWRpb1JlbmRlcmVy
cy5jb250YWlucyh0cmFja0lEKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPE1lZGlh
U2FtcGxlPiBtZWRpYVNhbXBsZSA9IHBycE1lZGlhU2FtcGxlOwpAQCAtMTA0MSw3ICsxMDY3LDcg
QEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZShQYXNzUmVm
UHRyPE1lZGlhU2FtcGxlPiBwcnBNZWRpYVMKICAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCiAg
ICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0SGFzQXZhaWxhYmxlVmlkZW9G
cmFtZSh0cnVlKTsKICAgICB9IGVsc2UKLSAgICAgICAgW21fYXVkaW9SZW5kZXJlcnNbdHJhY2tJ
RF0gZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZm
ZXJdOworICAgICAgICBbbV9hdWRpb1JlbmRlcmVycy5nZXQodHJhY2tJRCkgZW5xdWV1ZVNhbXBs
ZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZmZXJdOwogfQogCiBib29s
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMoQXRvbWlj
U3RyaW5nIHRyYWNrSURTdHJpbmcpCkBAIC0xMDQ5LDggKzEwNzUsOCBAQCBib29sIFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMoQXRvbWljU3RyaW5nIHRy
YWNrSURTdHJpbgogICAgIGludCB0cmFja0lEID0gdHJhY2tJRFN0cmluZy50b0ludCgpOwogICAg
IGlmICh0cmFja0lEID09IG1fZW5hYmxlZFZpZGVvVHJhY2tJRCkKICAgICAgICAgcmV0dXJuIFtt
X2Rpc3BsYXlMYXllciBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV07Ci0gICAgZWxzZSBpZiAobV9h
dWRpb1JlbmRlcmVycy5jb3VudCh0cmFja0lEKSkKLSAgICAgICAgcmV0dXJuIFttX2F1ZGlvUmVu
ZGVyZXJzW3RyYWNrSURdIGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXTsKKyAgICBlbHNlIGlmICht
X2F1ZGlvUmVuZGVyZXJzLmNvbnRhaW5zKHRyYWNrSUQpKQorICAgICAgICByZXR1cm4gW21fYXVk
aW9SZW5kZXJlcnMuZ2V0KHRyYWNrSUQpIGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXTsKICAgICBl
bHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCkBAIC0xMDg1LDggKzExMTEsOCBA
QCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRCZWNvbWVSZWFkeUZvck1vcmVT
YW1wbGVzKGludCB0cmFja0lEKQogewogICAgIGlmICh0cmFja0lEID09IG1fZW5hYmxlZFZpZGVv
VHJhY2tJRCkKICAgICAgICAgW21fZGlzcGxheUxheWVyIHN0b3BSZXF1ZXN0aW5nTWVkaWFEYXRh
XTsKLSAgICBlbHNlIGlmIChtX2F1ZGlvUmVuZGVyZXJzLmNvdW50KHRyYWNrSUQpKQotICAgICAg
ICBbbV9hdWRpb1JlbmRlcmVyc1t0cmFja0lEXSBzdG9wUmVxdWVzdGluZ01lZGlhRGF0YV07Cisg
ICAgZWxzZSBpZiAobV9hdWRpb1JlbmRlcmVycy5jb250YWlucyh0cmFja0lEKSkKKyAgICAgICAg
W21fYXVkaW9SZW5kZXJlcnMuZ2V0KHRyYWNrSUQpIHN0b3BSZXF1ZXN0aW5nTWVkaWFEYXRhXTsK
ICAgICBlbHNlIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
bjsKQEAgLTExMDMsOCArMTEyOSw4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
Om5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVTYW1wbGVzKEF0b21pY1N0cmluCiAgICAgICAg
IFttX2Rpc3BsYXlMYXllciByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTpkaXNwYXRj
aF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XnsKICAgICAgICAgICAgIGRpZEJlY29tZVJl
YWR5Rm9yTW9yZVNhbXBsZXModHJhY2tJRCk7CiAgICAgICAgIH1dOwotICAgIH0gZWxzZSBpZiAo
bV9hdWRpb1JlbmRlcmVycy5jb3VudCh0cmFja0lEKSkgewotICAgICAgICBbbV9hdWRpb1JlbmRl
cmVyc1t0cmFja0lEXSByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTpkaXNwYXRjaF9n
ZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6XnsKKyAgICB9IGVsc2UgaWYgKG1fYXVkaW9SZW5k
ZXJlcnMuY29udGFpbnModHJhY2tJRCkpIHsKKyAgICAgICAgW21fYXVkaW9SZW5kZXJlcnMuZ2V0
KHRyYWNrSUQpIHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOmRpc3BhdGNoX2dldF9t
YWluX3F1ZXVlKCkgdXNpbmdCbG9jazpeewogICAgICAgICAgICAgZGlkQmVjb21lUmVhZHlGb3JN
b3JlU2FtcGxlcyh0cmFja0lEKTsKICAgICAgICAgfV07CiAgICAgfSBlbHNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>