<?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>202401</bug_id>
          
          <creation_ts>2019-10-01 06:03:40 -0700</creation_ts>
          <short_desc>REGRESSION (Safari 13): WebSocket payload is truncated when x-webkit-deflate-frame is used</short_desc>
          <delta_ts>2019-11-25 00:50:22 -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>WebCore Misc.</component>
          <version>Other</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.14</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=204237</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=198973</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Volodymyr Sorokin">volodymyr.sorokin</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>berkus</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fabrizio.ruggeri</cc>
    
    <cc>toyoshim</cc>
    
    <cc>volodymyr.sorokin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1575509</commentid>
    <comment_count>0</comment_count>
    <who name="Volodymyr Sorokin">volodymyr.sorokin</who>
    <bug_when>2019-10-01 06:03:40 -0700</bug_when>
    <thetext>Since Safari 13.0 release, webkit starts to truncate websocket&apos;s payload to 4092 bytes when &apos;x-webkit-deflate-frame&apos; extension is used.

The issue is fairly easy to reproduce - just send to a websocket any data whose compressed size is 5kb or more.

Moreover, the websocket (most likely the deflator component) on the browser side also gets &apos;corrupted&apos; once a large message is sent. This leads to a &apos;Failed to compress frame&apos; error in console on subsequent attempts to send more messages (even small messages) to the socket.

This behavior is only reproducible when &apos;x-webkit-deflate-frame&apos; extension enabled. 
If server rejects the extension - then browser behaves correctly and the payload does not get truncated, but obviously the compression is not used in this case.

Safari 12 does not have this issue. In Safari 12 the &apos;x-webkit-deflate-frame&apos; extension behaves as expected and large payload does not get truncated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576154</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-10-02 13:43:02 -0700</bug_when>
    <thetext>Thank you for the report!

Do you have a live website that we could reproduce this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576155</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-02 13:43:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/55922632&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576387</commentid>
    <comment_count>3</comment_count>
    <who name="Volodymyr Sorokin">volodymyr.sorokin</who>
    <bug_when>2019-10-03 06:55:11 -0700</bug_when>
    <thetext>I wasn&apos;t able to find a public working websocket server that supports &apos;permessage-deflate&apos; extension.

But I created a simple server on java to reproduce the issue:

1) Clone it from https://github.com/vlsorokin/websocket-sandbox

2) Run server
&gt; mvn compile exec:java

3) To run client open this jsfiddle in Safari 13: http://jsfiddle.net/sorrro/8b3yawod/

4) Click - Connect, Send short text, Send large text, Send short text
This will send to a websocket a random string of 10 characters, then a random string of 10,000 characters, then 10 characters again

5) You will notice an error in console saying: &apos;Failed to compress frame&apos;

6) Server logs will indicate that the server has not received less than 10,000 characters

7) If you inspect traffic with Wireshark you may notice that in Safari 13, a large frame gets truncated to 4092 bytes and the second short message does not get sent.

At the same time, these steps work fine in Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576435</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-10-03 09:13:38 -0700</bug_when>
    <thetext>Thank you. More direct steps to reproduce would help (it&apos;s unlikely that anyone here has JDK installed), but we can probably figure it out.

Sadly, we had a test for deflate fail for a long time:

../OpenSource/LayoutTests/platform/win/TestExpectations:3177:http/tests/websocket/tests/hybi/deflate-frame-parameter.html [ Failure ]
../OpenSource/LayoutTests/platform/ios/TestExpectations:2886:# &lt;rdar://problem/33630526&gt; http/tests/websocket/tests/hybi/deflate-frame-parameter.html is failing on iOS 11
../OpenSource/LayoutTests/platform/ios/TestExpectations:2887:http/tests/websocket/tests/hybi/deflate-frame-parameter.html [ Failure ]
../OpenSource/LayoutTests/platform/mac/TestExpectations:1569:[ HighSierra+ ] http/tests/websocket/tests/hybi/deflate-frame-parameter.html [ Failure ]
../OpenSource/LayoutTests/platform/wincairo/TestExpectations:972:http/tests/websocket/tests/hybi/deflate-frame-parameter.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576469</commentid>
    <comment_count>5</comment_count>
    <who name="Volodymyr Sorokin">volodymyr.sorokin</who>
    <bug_when>2019-10-03 10:40:38 -0700</bug_when>
    <thetext>There is nothing special in that java websocket server (I shared it to have a complete working example)

I.e. any server that supports `x-webkit-deflate-frame` extension should be enough, so hopefully you will be able to reproduce the bug with your own server (just make sure you use Safari 13 and `x-webkit-deflate-frame` extension is enabled).

p.s
minor correction: I wrote &quot;permessage-deflate extension&quot; in my previous comment, but I meant &quot;x-webkit-deflate-frame extension&quot; (which is default in Safari)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584214</commentid>
    <comment_count>6</comment_count>
    <who name="Fabrizio Ruggeri">fabrizio.ruggeri</who>
    <bug_when>2019-10-26 02:18:05 -0700</bug_when>
    <thetext>Any news on the status of this? Does it affect any other browser?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590575</commentid>
    <comment_count>7</comment_count>
    <who name="">berkus</who>
    <bug_when>2019-11-15 11:26:34 -0800</bug_when>
    <thetext>Fabrizio, as far as I&apos;m aware it only affects Safari 13 (Safari 13.0.2 included), but on both macOS and iOS (and probably ipadOS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592645</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-21 20:43:25 -0800</bug_when>
    <thetext>I can repro the failure with Volodymyr repro case.
Failure happens after sending 32kb roughly.
Reverting https://trac.webkit.org/changeset/246573 fixes the issue in that specific case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592688</commentid>
    <comment_count>9</comment_count>
      <attachid>384131</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-22 01:08:06 -0800</bug_when>
    <thetext>Created attachment 384131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592761</commentid>
    <comment_count>10</comment_count>
    <who name="">berkus</who>
    <bug_when>2019-11-22 06:12:34 -0800</bug_when>
    <thetext>@Volodymyr Sorokin

We have force-disabled support for &quot;x-webkit-deflate-frame&quot; extension on the server side. This seems to work around the problem for the time being.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592844</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-11-22 09:32:22 -0800</bug_when>
    <thetext>*** Bug 204237 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593355</commentid>
    <comment_count>12</comment_count>
      <attachid>384131</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-25 00:50:20 -0800</bug_when>
    <thetext>Comment on attachment 384131
Patch

Clearing flags on attachment: 384131

Committed r252847: &lt;https://trac.webkit.org/changeset/252847&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593356</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-25 00:50:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384131</attachid>
            <date>2019-11-22 01:08:06 -0800</date>
            <delta_ts>2019-11-25 00:50:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202401-20191122100804.patch</filename>
            <type>text/plain</type>
            <size>5842</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNThmNTJmNjY1ZTlmOTg2
ZDI0YzEzZGJjMjZhOThmY2JkYjZkMjIxYi4uMWUzYjZlMjU5NzhkZGQwN2JjMjcwNjMzYTE1MzBk
NjQ3YjQ4Nzc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTExLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChTYWZh
cmkgMTMpOiBXZWJTb2NrZXQgcGF5bG9hZCBpcyB0cnVuY2F0ZWQgd2hlbiB4LXdlYmtpdC1kZWZs
YXRlLWZyYW1lIGlzIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjQwMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTU5MjI2MzI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWV4dGVuc2lvbi5odG1sCisKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0RGVmbGF0ZXI6OmZpbmlzaCk6CisgICAgICAgIE1ha2Ugc3VyZSB0
byBjb250aW51ZSBjYWxsaW5nIGRlZmxhdGUgdW50aWwgYWxsIG91dHB1dCBkYXRhIGlzIGZsdXNo
ZWQuCisKIDIwMTktMTEtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEVuYWJsZSBsZWdhY3kgZ2V0VXNlck1lZGlhIGFzIGEgcXVpcmsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0ZXIuY3Bw
CmluZGV4IDRhNDg2NWY4NDk0ZDA2MTNlYWMzMjFhNTk0ZjhiYWUxOTk5NmJiMzEuLmI2NGRlMjRj
MGNlMzFkMzUzOTk0YmJlYWMwM2ExMjFiN2MzZThjNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVyLmNwcApAQCAtMTAx
LDExICsxMDEsMTMgQEAgYm9vbCBXZWJTb2NrZXREZWZsYXRlcjo6ZmluaXNoKCkKICAgICAgICAg
c2l6ZV90IGF2YWlsYWJsZUNhcGFjaXR5ID0gbV9idWZmZXIuc2l6ZSgpIC0gd3JpdGVQb3NpdGlv
bjsKICAgICAgICAgc2V0U3RyZWFtUGFyYW1ldGVyKG1fc3RyZWFtLmdldCgpLCAwLCAwLCBtX2J1
ZmZlci5kYXRhKCkgKyB3cml0ZVBvc2l0aW9uLCBhdmFpbGFibGVDYXBhY2l0eSk7CiAgICAgICAg
IGludCByZXN1bHQgPSBkZWZsYXRlKG1fc3RyZWFtLmdldCgpLCBaX1NZTkNfRkxVU0gpOwotICAg
ICAgICBtX2J1ZmZlci5zaHJpbmsod3JpdGVQb3NpdGlvbiArIGF2YWlsYWJsZUNhcGFjaXR5IC0g
bV9zdHJlYW0tPmF2YWlsX291dCk7Ci0gICAgICAgIGlmIChyZXN1bHQgPT0gWl9PSykKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBpZiAocmVzdWx0ICE9IFpfQlVGX0VSUk9SKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAobV9zdHJlYW0tPmF2YWlsX291dCkgewor
ICAgICAgICAgICAgbV9idWZmZXIuc2hyaW5rKHdyaXRlUG9zaXRpb24gKyBhdmFpbGFibGVDYXBh
Y2l0eSAtIG1fc3RyZWFtLT5hdmFpbF9vdXQpOworICAgICAgICAgICAgaWYgKHJlc3VsdCA9PSBa
X09LKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBa
X0JVRl9FUlJPUikKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAg
ICB9CiAgICAgLy8gUmVtb3ZlIDQgb2N0ZXRzIGZyb20gdGhlIHRhaWwgYXMgdGhlIHNwZWNpZmlj
YXRpb24gcmVxdWlyZXMuCiAgICAgaWYgKG1fYnVmZmVyLnNpemUoKSA8PSA0KQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdj
ODNiZDhlYzFjNTc5ZjIxZjcyZThiNDQ1NTA3MjI0ZmJkYjhmNDguLmIyZTRiYzdkYzM0OTc3MDFi
Yjc3MzE0NjJjMzFhZmFkMmRiZTNjOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0xMS0y
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAoU2FmYXJpIDEzKTogV2ViU29ja2V0IHBheWxvYWQgaXMgdHJ1bmNhdGVkIHdoZW4geC13ZWJr
aXQtZGVmbGF0ZS1mcmFtZSBpcyB1c2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDI0MDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1OTIyNjMy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWV4dGVuc2lvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVm
bGF0ZS1leHRlbnNpb24uaHRtbDogQWRkZWQuCisKIDIwMTktMTEtMjAgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24gKHIyNTI2NjApOiBMYXlv
dXQgVGVzdCBwbGF0Zm9ybS9pb3MvbWVkaWFzdHJlYW0vYXVkaW8tbXV0ZWQtaW4tYmFja2dyb3Vu
ZC10YWIuaHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1leHRlbnNp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5Mzk1NDc5YmJhZjg5MDYzZDM5ZjE1ZGQ5YzJl
NWY0ODY5MTE2NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUZXN0IFdlYlNvY2tldCBkZWZsYXRlLWZyYW1lIGV4dGVuc2lvbi4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGV2ZW50LmRhdGEgaXMgZmlyc3RNZXNzYWdl
CitQQVNTIGV2ZW50LmRhdGEgaXMgc2Vjb25kTWVzc2FnZQorUEFTUyBldmVudC5kYXRhIGlzIHRo
aXJkTWVzc2FnZQorb25jbG9zZSgpIHdhcyBjYWxsZWQuCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xl
YW4gaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZGVmbGF0ZS1leHRlbnNpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1leHRlbnNpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTBl
OWE4MzQ1ZDY2NjBmYTg5YzEzY2RjYWM4NGUyYTgzMTRiZmEyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWV4dGVu
c2lvbi5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IFdlYlNvY2tldCBkZWZsYXRlLWZyYW1lIGV4dGVuc2lvbi4iKTsKKword2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworCit2YXIgY2xvc2VFdmVudDsKK3ZhciB3czsKK3ZhciBtZXNzYWdl
SW5kZXg7CisKK2Z1bmN0aW9uIHJhbmRvbVRleHQobGVuKSB7CisgICAgY29uc3QgYWxsQ2hhcmFj
dGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3
eHl6MDEyMzQ1Njc4OSc7CisgICAgdmFyIHJhbmRvbVRleHQgPSAnJworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbGVuOyBpKyspIHsKKyAgICAgICAgdmFyIGsgPSBNYXRoLmZsb29yKE1hdGgucmFu
ZG9tKCkgKiBhbGxDaGFyYWN0ZXJzLmxlbmd0aCkKKyAgICAgICAgcmFuZG9tVGV4dCArPSBhbGxD
aGFyYWN0ZXJzLmNoYXJBdChrKTsKKyAgICB9CisgICAgcmV0dXJuIHJhbmRvbVRleHQKK30KKwor
dmFyIGZpcnN0TWVzc2FnZSA9IHJhbmRvbVRleHQoMTAwMDApOwordmFyIHNlY29uZE1lc3NhZ2Ug
PSByYW5kb21UZXh0KDEwMDAwKTsKK3ZhciB0aGlyZE1lc3NhZ2UgPSByYW5kb21UZXh0KDEwMDAw
KTsKKworZnVuY3Rpb24gZG9UZXN0KHF1ZXJ5SW5kZXgpCit7CisgICAgdmFyIHVybCA9ICJ3czov
L2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWU/bWF4X3dp
bmRvd19iaXRzPTE1IjsKKyAgICB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKyAgICBtZXNzYWdl
SW5kZXggPSAwOworCisgICAgd3Mub25vcGVuID0gZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAg
ICAgICB3cy5zZW5kKGZpcnN0TWVzc2FnZSk7CisgICAgfTsKKworICAgIHdzLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKG1lc3NhZ2VJbmRleCA9PT0gMCkg
eworICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LmRhdGEiLCAiZmlyc3RNZXNzYWdlIik7Cisg
ICAgICAgICAgICBtZXNzYWdlSW5kZXggKz0gMQorICAgICAgICAgICAgd3Muc2VuZChzZWNvbmRN
ZXNzYWdlKTsKKyAgICAgICAgfSBlbHNlIGlmIChtZXNzYWdlSW5kZXggPT09IDEpIHsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJldmVudC5kYXRhIiwgInNlY29uZE1lc3NhZ2UiKTsKKyAgICAgICAg
ICAgIG1lc3NhZ2VJbmRleCArPSAxCisgICAgICAgICAgICB3cy5zZW5kKHRoaXJkTWVzc2FnZSk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQuZGF0YSIsICJ0
aGlyZE1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHdzLmNsb3NlKCk7CisgICAgICAgIH0KKyAgICB9
OworCisgICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgZGVi
dWcoIm9uY2xvc2UoKSB3YXMgY2FsbGVkLiIpOworICAgICAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVudC53YXNDbGVhbiIpOworICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICB9OworfQorCitkb1Rlc3QoMCk7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>