<?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>237780</bug_id>
          
          <creation_ts>2022-03-11 06:38:41 -0800</creation_ts>
          <short_desc>[MSE][SourceBuffer] Fix removal of paddings from buffered range</short_desc>
          <delta_ts>2022-03-14 06:23:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Enrique Ocaña">eocanha</reporter>
          <assigned_to name="Enrique Ocaña">eocanha</assigned_to>
          <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1850494</commentid>
    <comment_count>0</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2022-03-11 06:38:41 -0800</bug_when>
    <thetext>This change fixes high memory usage in apps that do TS -&gt; MP4 transmuxing. The high memory usage is observed in some streams that have a slight overlap in media samples (usually happens on video quality change), when application applies its own logic for samples removal (that looks like sourceBuffer.remove(sourceBuffer.buffered.start(0), ...)).

Current implementation reports a buffered range that is inconsistent with the actual samples that are still in the buffer (after range removal). The reported range excludes one sample, allowing that sample to &quot;leak&quot;. Such a sample holds a reference to the entire appended chunk (due to in-place demuxing in GStreamer MSE backend), but it accounts only for a small size in the buffer. So eviction algorithm doesn&apos;t kick in.

See the full discussion of this problem here:
https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/797#discussion_r818973424</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850547</commentid>
    <comment_count>1</comment_count>
      <attachid>454492</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2022-03-11 09:56:29 -0800</bug_when>
    <thetext>Created attachment 454492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850549</commentid>
    <comment_count>2</comment_count>
      <attachid>454492</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-03-11 10:05:15 -0800</bug_when>
    <thetext>Comment on attachment 454492
Patch

Thanks for the patch, and thanks for working with me on it in the WPEWebKit repo. r=me once the EWS clears it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850553</commentid>
    <comment_count>3</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2022-03-11 10:11:42 -0800</bug_when>
    <thetext>All the merit goes to Eugene, not to me. He took the time to debug and solve the issue, as well as creating the test case. I just ported it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850843</commentid>
    <comment_count>4</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2022-03-14 05:52:56 -0700</bug_when>
    <thetext>The editing/spelling/spellcheck-api-crash.html failed test in the ios-wk2 EWS is completely unrelated to MSE and to the changes done in this patch. Also &quot;MediaSource is not currently supported on iOS&quot;. 

I&apos;m assuming that I can ignore it and safely land the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850845</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-14 06:22:54 -0700</bug_when>
    <thetext>Committed r291225 (248380@main): &lt;https://commits.webkit.org/248380@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454492.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850846</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-14 06:23:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90243150&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454492</attachid>
            <date>2022-03-11 09:56:29 -0800</date>
            <delta_ts>2022-03-14 06:22:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237780-20220311185627.patch</filename>
            <type>text/plain</type>
            <size>8577</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5MjBmZjdkZWZhZjkx
ODYwODZhYTViN2I0ODg4Yzk1NjNmNWM1Mi4uNWJkNmZjMjc1Y2ZkMWZiZDIwMGY4OGI4NmY2OWZj
MDA1YzRjNjkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTExICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW01T
RV1bU291cmNlQnVmZmVyXSBGaXggcmVtb3ZhbCBvZiBwYWRkaW5ncyBmcm9tIGJ1ZmZlcmVkIHJh
bmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc3
ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IHJlbW92aW5nIGEgcmFuZ2UgZW5kaW5nIHVwIGluIGEgc2FtcGxlIFMyIHdoaWNoIG92ZXJsYXBz
IHNsaWdodGx5IHdpdGggYQorICAgICAgICBwcmV2aW91cyBvbmUgUzEgYnV0IHN0aWxsIGV4dGVu
ZHMgYmV5b25kIHRoZSByZW1vdmFsIHJhbmdlLCB0aGUgYnVmZmVyZWQgcmFuZ2UKKyAgICAgICAg
Y29tcHV0aW5nIGFsZ29yaXRobSBjYW4gYmVjb21lIGNvbmZ1c2VkIHJlbW92aW5nIHRoZSByYW5n
ZSBwYWRkaW5ncyBhbmQKKyAgICAgICAgY29tcGxldGVseSBza2lwIHRoZSBTMiBzYW1wbGUgKGlu
c3RlYWQgb2YgYWNjb3VudGluZyBpdCBhcyBwYXJ0IG9mIHRoZSBzdGlsbAorICAgICAgICBidWZm
ZXJlZCByYW5nZXMpLiBUaGUgc2FtcGxlIFMyIGlzIGxlYWtlZCBhbmQgYmVjb21lcyB1bm5vdGlj
ZWQgaW4gdGhlIGJ1ZmZlcmVkCisgICAgICAgIHJhbmdlcy4KKworICAgICAgICBUaGlzIHBhdGNo
IGNoYW5nZXMgdGhlIHdheSBpbiB3aGljaCBidWZmZXJlZCByYW5nZXMgYm91bmRhcmllcyBhcmUg
Y29tcHV0ZWQgaW4KKyAgICAgICAgc3VjaCBjYXNlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGlz
IGF1dGhvcmVkIGJ5IEV1Z2VuZSBNdXRhdmNoaSA8SWV2Z2VuX011dGF2Y2hpQGNvbWNhc3QuY29t
PgorICAgICAgICBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJQbGF0Zm9ybUZvckVtYmVkZGVk
L1dQRVdlYktpdC9wdWxsLzc5NyNkaXNjdXNzaW9uX3I4MTg5NzM0MjQKKworICAgICAgICBUZXN0
OiBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXJlbW92ZS1vdmVybGFwcGVkLmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwOiBF
bmQgdGhlIGFkZGl0aW9uYWxFcmFzZWRSYW5nZXMgaXRlcmF0b3IgaW4gcmVtb3ZlU2FtcGxlc0Zy
b21UcmFja0J1ZmZlcigpIGluIGEgc2FtcGxlIHN0YXJ0aW5nIGFmdGVyIGVyYXNlZFN0YXJ0LCBp
bnN0ZWFkIG9mIHN0YXJ0aW5nIG9uIG9yIGFmdGVyIGVyYXNlZEVuZC4KKwogMjAyMi0wMy0wNyAg
QWxiZXJ0byBHYXJjaWEgIDxiZXJ0b0BpZ2FsaWEuY29tPgogCiAgICAgICAgIG1ha2Vwcm9wLnBs
IGJyZWFrcyByZXByb2R1Y2libGUgYnVpbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IDA0Y2JlNGQy
N2YxOTBiN2IyN2I5Y2E3ZTk4YTljNDcxNzNkMmY4OWIuLjgxZWVhMzQxNzZjNjE5ZDhhYjc5ODMz
YzNmODc5Y2UxYmE3ZmYyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC01MDYsNyArNTA2LDcgQEAg
c3RhdGljIFBsYXRmb3JtVGltZVJhbmdlcyByZW1vdmVTYW1wbGVzRnJvbVRyYWNrQnVmZmVyKGNv
bnN0IERlY29kZU9yZGVyU2FtcGxlTWEKICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsRXJhc2Vk
UmFuZ2VzLmFkZChwcmV2aW91c1NhbXBsZS5wcmVzZW50YXRpb25UaW1lKCkgKyBwcmV2aW91c1Nh
bXBsZS5kdXJhdGlvbigpLCBlcmFzZWRTdGFydCk7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRv
IGVuZEl0ZXJhdG9yID0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVzZW50YXRpb25PcmRlcigpLmZp
bmRTYW1wbGVTdGFydGluZ09uT3JBZnRlclByZXNlbnRhdGlvblRpbWUoZXJhc2VkRW5kKTsKKyAg
ICAgICAgYXV0byBlbmRJdGVyYXRvciA9IHRyYWNrQnVmZmVyLnNhbXBsZXMucHJlc2VudGF0aW9u
T3JkZXIoKS5maW5kU2FtcGxlU3RhcnRpbmdBZnRlclByZXNlbnRhdGlvblRpbWUoZXJhc2VkU3Rh
cnQpOwogICAgICAgICBpZiAoZW5kSXRlcmF0b3IgPT0gdHJhY2tCdWZmZXIuc2FtcGxlcy5wcmVz
ZW50YXRpb25PcmRlcigpLmVuZCgpKQogICAgICAgICAgICAgYWRkaXRpb25hbEVyYXNlZFJhbmdl
cy5hZGQoZXJhc2VkRW5kLCBNZWRpYVRpbWU6OnBvc2l0aXZlSW5maW5pdGVUaW1lKCkpOwogICAg
ICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAzMWI5MDgxNjFkOGIwZjA0YjJjMzI1YjI5NTI5MGRjZjA4NmVi
Yjc0Li43OGIxZmFjNDg0ODVmNTk5ZWU1ZjM0MjM5ZWU1NjE3MDFhZjY2ZGM4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMjItMDMtMTEgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2Fu
aGFAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXVtTb3VyY2VCdWZmZXJdIEZpeCByZW1vdmFs
IG9mIHBhZGRpbmdzIGZyb20gYnVmZmVyZWQgcmFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzc4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgdGVzdHMgdGhhdCBvdmVybGFwcGVkIHNhbXBs
ZXMgaW4gdGhlIGJvdW5kYXJpZXMgb2YgcmVtb3ZhbCByYW5nZXMgYXJlbid0IGxlYWtlZC4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGlzIGF1dGhvcmVkIGJ5IEV1Z2VuZSBNdXRhdmNoaSA8SWV2Z2Vu
X011dGF2Y2hpQGNvbWNhc3QuY29tPgorICAgICAgICBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9X
ZWJQbGF0Zm9ybUZvckVtYmVkZGVkL1dQRVdlYktpdC9wdWxsLzc5NworCisgICAgICAgICogbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1yZW1vdmUtb3ZlcmxhcHBlZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtcmVt
b3ZlLW92ZXJsYXBwZWQuaHRtbDogQWRkZWQuCisKIDIwMjItMDMtMDcgIE1hdHQgV29vZHJvdyAg
PG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBDb21wdXRlIGNvcnJlY3QgY29udGFp
bmluZyBibG9jayBvdmVycmlkZSBzaXplIGZvciBpdGVtcyB0aGF0IGFyZSBzdWJncmlkZGVuIGlu
IG9uZSBkaW1lbnNpb24gb25seS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2UtcmVtb3ZlLW92ZXJsYXBwZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1yZW1vdmUtb3ZlcmxhcHBl
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ1NTUyNWQzYWNmNTAzMDE5NzU0ZWE0ZDk5YWY1
YjU1ODYwOTE2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS9tZWRpYS1zb3VyY2UtcmVtb3ZlLW92ZXJsYXBwZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjIgQEAKK1RoaXMgdGVzdHMgdGhhdCBvdmVybGFwcGVkIHNhbXBsZXMgaW4gdGhlIGJvdW5k
YXJpZXMgb2YgcmVtb3ZhbCByYW5nZXMgYXJlbid0IGxlYWtlZC4KKworUlVOKHZpZGVvLnNyYyA9
IFVSTC5jcmVhdGVPYmplY3RVUkwoc291cmNlKSkKK0VWRU5UKHNvdXJjZW9wZW4pCitSVU4oc291
cmNlQnVmZmVyID0gc291cmNlLmFkZFNvdXJjZUJ1ZmZlcigidmlkZW8vbW9jazsgY29kZWNzPW1v
Y2siKSkKK1JVTihzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKGluaXRTZWdtZW50KSkKK0VWRU5U
KHVwZGF0ZWVuZCkKK1JVTihzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZF
TlQodXBkYXRlZW5kKQorUlVOKHNvdXJjZUJ1ZmZlci5hYm9ydCgpKQorUlVOKHNvdXJjZUJ1ZmZl
ci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQorRVZFTlQodXBkYXRlZW5kKQorUlVOKHNvdXJj
ZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcykpCitFVkVOVCh1cGRhdGVlbmQpCitSVU4oc291
cmNlQnVmZmVyLnJlbW92ZShzb3VyY2VCdWZmZXIuYnVmZmVyZWQuc3RhcnQoMCksIDMuOTYpKQor
RVZFTlQodXBkYXRlZW5kKQorRVhQRUNURUQgKHNvdXJjZUJ1ZmZlci5idWZmZXJlZC5zdGFydCgw
KSA8PSAnNCcpIE9LCitSVU4oc291cmNlQnVmZmVyLnJlbW92ZShzb3VyY2VCdWZmZXIuYnVmZmVy
ZWQuc3RhcnQoMCksIDUpKQorRVZFTlQodXBkYXRlZW5kKQorRVhQRUNURUQgKHNvdXJjZUJ1ZmZl
ci5idWZmZXJlZC5sZW5ndGggPT0gJzAnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1yZW1vdmUtb3Zlcmxh
cHBlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1y
ZW1vdmUtb3ZlcmxhcHBlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlYzNlMmUxYmFjNmU2MmNjZTg5YTA2
NTE0N2YxM2U5OTE2NWQwODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXJlbW92ZS1vdmVybGFwcGVkLmh0bWwKQEAgLTAsMCAr
MSw4NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5tb2Nr
LW1lZGlhLXNvdXJjZTwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Im1vY2stbWVkaWEtc291cmNl
LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vdmlkZW8tdGVzdC5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD4KKyAgICB2YXIgc291cmNlOworICAgIHZhciBzb3VyY2VCdWZmZXI7
CisgICAgdmFyIGluaXRTZWdtZW50OworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgIGludGVybmFscy5pbml0aWFsaXplTW9ja01lZGlhU291cmNlKCk7CisKKyAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAgc291
cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZSwg
J3NvdXJjZW9wZW4nLCBzb3VyY2VPcGVuKTsKKyAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBVUkwu
Y3JlYXRlT2JqZWN0VVJMKHNvdXJjZSknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzb3VyY2VP
cGVuKCkgeworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlciA9IHNvdXJjZS5hZGRTb3VyY2VCdWZm
ZXIoInZpZGVvL21vY2s7IGNvZGVjcz1tb2NrIiknKTsKKyAgICAgICAgd2FpdEZvckV2ZW50T24o
c291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9hZFNhbXBsZXMxLCBmYWxzZSwgdHJ1ZSk7Cisg
ICAgICAgIGluaXRTZWdtZW50ID0gbWFrZUFJbml0KDgsIFttYWtlQVRyYWNrKDEsICdtb2NrJywg
VFJBQ0tfS0lORC5WSURFTyldKTsKKyAgICAgICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5kQnVm
ZmVyKGluaXRTZWdtZW50KScpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvYWRTYW1wbGVzMSgp
IHsKKyAgICAgICAgLy8gQWRkaW5nIGJ1ZmZlcmVkIHJhbmdlcyBbMCwgNF0uCisgICAgICAgIHNh
bXBsZXMgPSBjb25jYXRlbmF0ZVNhbXBsZXMoWworICAgICAgICAgICAgbWFrZUFTYW1wbGUoICAg
MCwgICAgMCwgMTAwMCwgMTAwMCwgMSwgU0FNUExFX0ZMQUcuU1lOQyksCisgICAgICAgICAgICBt
YWtlQVNhbXBsZSgxMDAwLCAxMDAwLCAxMDAwLCAxMDAwLCAxLCBTQU1QTEVfRkxBRy5OT05FKSwK
KyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDIwMDAsIDIwMDAsIDEwMDAsIDEwMDAsIDEsIFNBTVBM
RV9GTEFHLk5PTkUpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUoMzAwMCwgMzAwMCwgMTAwMCwg
MTAwMCwgMSwgU0FNUExFX0ZMQUcuTk9ORSksCisgICAgICAgIF0pOworICAgICAgICB3YWl0Rm9y
RXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBwYXJzZXJSZXNldCwgZmFsc2UsIHRy
dWUpOworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcyknKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBwYXJzZXJSZXNldCgpIHsKKyAgICAgICAgd2FpdEZvckV2
ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9hZFNhbXBsZXMyLCBmYWxzZSwgdHJ1
ZSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFib3J0KCknKTsKKyAgICAgICAgaW5pdFNl
Z21lbnQgPSBtYWtlQUluaXQoOCwgW21ha2VBVHJhY2soMSwgJ21vY2snLCBUUkFDS19LSU5ELlZJ
REVPKV0pOworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21l
bnQpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZFNhbXBsZXMyKCkgeworICAgICAgICAv
LyBBZGRpbmcgYnVmZmVyZWQgcmFuZ2VzIFszLjk2LCA1LjI4XS4gVGhlIGZpcnN0IHNhbXBsZSBv
dmVybGFwcyB3aXRoIHRoZSBsYXN0IFszLCA0XSBvbmUgZnJvbSBsb2FkU2FtcGxlczEoKSwKKyAg
ICAgICAgLy8gYnV0IHRoZSBmdWRnZSBmYWN0b3IgYWxsb3dzIHRoZSBpbnNlcnRpb24gd2l0aG91
dCB0cnVuY2F0aW5nIFszLCA0XS4gVGhvc2Ugc2FtcGxlcyBhcmUgc2xpZ2h0bHkgb3ZlcmxhcHBl
ZC4KKyAgICAgICAgc2FtcGxlcyA9IGNvbmNhdGVuYXRlU2FtcGxlcyhbCisgICAgICAgICAgICBt
YWtlQVNhbXBsZSgzOTYwLCAzOTYwLCAzMzAsICAxMDAwLCAxLCBTQU1QTEVfRkxBRy5TWU5DKSwK
KyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDQyOTAsIDQyOTAsIDMzMCwgIDEwMDAsIDEsIFNBTVBM
RV9GTEFHLk5PTkUpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUoNDYyMCwgNDYyMCwgMzMwLCAg
MTAwMCwgMSwgU0FNUExFX0ZMQUcuTk9ORSksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSg0OTUw
LCA0OTUwLCAzMzAsICAxMDAwLCAxLCBTQU1QTEVfRkxBRy5OT05FKSwKKyAgICAgICAgXSk7Cisg
ICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIHJlbW92ZSwg
ZmFsc2UsIHRydWUpOworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2Ft
cGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByZW1vdmUoKSB7CisgICAgICAgIHdhaXRG
b3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIGNoZWNrUmVtb3ZlZCwgZmFsc2Us
IHRydWUpOworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5yZW1vdmUoc291cmNlQnVmZmVyLmJ1
ZmZlcmVkLnN0YXJ0KDApLCAzLjk2KScpOworICAgICAgICAvLyBUaGlzIGRvZXNuJ3QgcmVtb3Zl
IHNhbXBsZSBbMy45NiwgNC4yOV0sIGp1c3QgWzAsIDRdLCBzbyB0aGUgYnVmZmVyZWQgcmFuZ2Ug
c2hvdWxkIHJlbWFpbiBbNCwgNS4yOF0uCisgICAgICAgIC8vIEl0J3Mgd3JvbmcgdGhhdCBpdCBy
ZW1haW5zIFs0LjI5LCA1LjI4XS4KKyAgICB9CisKKyAgICBmdW5jdGlvbiBjaGVja1JlbW92ZWQo
KSB7CisgICAgICAgIHRlc3RFeHBlY3RlZCgnc291cmNlQnVmZmVyLmJ1ZmZlcmVkLnN0YXJ0KDAp
JywgNCwgJzw9Jyk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0
ZWVuZCcsIGNoZWNrUmVtb3ZlZDIsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgcnVuKCdzb3VyY2VC
dWZmZXIucmVtb3ZlKHNvdXJjZUJ1ZmZlci5idWZmZXJlZC5zdGFydCgwKSwgNSknKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBjaGVja1JlbW92ZWQyKCkgeworICAgICAgICB0ZXN0RXhwZWN0ZWQo
J3NvdXJjZUJ1ZmZlci5idWZmZXJlZC5sZW5ndGgnLCAwKTsKKyAgICAgICAgZW5kVGVzdCgpOwor
ICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KyAgICA8ZGl2PlRoaXMgdGVzdHMgdGhhdCBvdmVybGFwcGVkIHNhbXBsZXMgaW4gdGhlIGJvdW5k
YXJpZXMgb2YgcmVtb3ZhbCByYW5nZXMgYXJlbid0IGxlYWtlZC48L2Rpdj4KKyAgICA8dmlkZW8+
PC92aWRlbz4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>