<?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>227723</bug_id>
          
          <creation_ts>2021-07-06 15:01:26 -0700</creation_ts>
          <short_desc>WebGL shader link error in iOS 15 beta: &quot;Internal error compiling shader with Metal backend&quot;</short_desc>
          <delta_ts>2021-08-12 13:31:38 -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>WebGL</component>
          <version>Safari Technology Preview</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=229050</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="Mike Turitzin">mturitzin</reporter>
          <assigned_to name="Kyle Piddington">kpiddington</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1775106</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Turitzin">mturitzin</who>
    <bug_when>2021-07-06 15:01:26 -0700</bug_when>
    <thetext>We are seeing this error (which is new in the iOS 15 beta) when linking some shader programs used by Figma&apos;s prototype viewer. I have personally repro&apos;ed it on an iPad running iOS 15 (19A5281j). Shaders that previously compiled and linked without issue now fail when linking with this `getProgramInfoLog` message: 

  &quot;Internal error compiling shader with Metal backend. Please submit this shader, or website as a bug to https://bugs.webkit.org&quot;

I have put together a minimal repro that appears to demonstrate the issue is with usage of the comma operator (see repro steps below). (We have a shader minifier that in some cases replaces semicolons with commas.) I believe the usage below is valid GLSL syntax, and it does compile and link properly on prior versions of Safari and other browsers.

Steps to Reproduce:

1. Run the following Javascript in Safari on iOS 15:
(JSFiddle link: https://jsfiddle.net/9p1f3t5r/2/ )

----------------------------------------------------------------------------------------
const VERTEX_SHADER_SOURCE = &quot;void f(vec2 a) {} void main() { f(vec2(0.)), gl_Position = vec4(0.,0.,0.,1.); }&quot;;
// Vertex shader with comma (in main()) changed to semicolon.
//const VERTEX_SHADER_SOURCE = &quot;void f(vec2 a) {} void main() { f(vec2(0.)); gl_Position = vec4(0.,0.,0.,1.); }&quot;;
const FRAGMENT_SHADER_SOURCE = &quot;void main() { gl_FragColor = vec4(0.); }&quot;;

const log = (msg) =&gt; {
	console.log(msg);
	document.body.innerHTML += &quot;&lt;p&gt;&quot; + msg + &quot;&lt;/p&gt;&quot;;
};

const canvas = document.createElement(&quot;canvas&quot;);
const gl = canvas.getContext(&quot;webgl&quot;);

const vertexShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vertexShader, VERTEX_SHADER_SOURCE);
gl.compileShader(vertexShader);
if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
	log(&quot;error compiling vertex shader: &quot; + gl.getShaderInfoLog(vertexShader));
}

const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(fragmentShader, FRAGMENT_SHADER_SOURCE);
gl.compileShader(fragmentShader);
if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
	log(&quot;error compiling fragment shader: &quot; + gl.getShaderInfoLog(fragmentShader));
}

const program = gl.createProgram();
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
	log(&quot;error linking program: &quot; + gl.getProgramInfoLog(program));
}

log(&quot;DONE&quot;);
----------------------------------------------------------------------------------------

Expected Results:

The shader program compiles/links without error.

Actual Results:

This error is logged when linking the program: &quot;Internal error compiling shader with Metal backend. Please submit this shader, or website as a bug to https://bugs.webkit.org&quot;.

An alternate version of the vertex shader with the usage of the comma operator in `main` replaced with a semicolon is included (commented out) in the repro code above. This change to the vertex shader causes the shader to compile/link without error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775113</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-06 15:13:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/80233657&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775132</commentid>
    <comment_count>2</comment_count>
      <attachid>432985</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-06 16:19:40 -0700</bug_when>
    <thetext>Created attachment 432985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775134</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-07-06 16:20:54 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775161</commentid>
    <comment_count>4</comment_count>
      <attachid>432985</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-07-06 18:14:27 -0700</bug_when>
    <thetext>Comment on attachment 432985
Patch

Can we include a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775378</commentid>
    <comment_count>5</comment_count>
      <attachid>433058</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-07 12:03:30 -0700</bug_when>
    <thetext>Created attachment 433058
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775394</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-07 12:35:49 -0700</bug_when>
    <thetext>Committed r279656 (239469@main): &lt;https://commits.webkit.org/239469@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433058.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776077</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-09 14:25:00 -0700</bug_when>
    <thetext>Note: filed https://github.com/KhronosGroup/WebGL/issues/3299 about upstreaming this test case to the WebGL conformance suite.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432985</attachid>
            <date>2021-07-06 16:19:40 -0700</date>
            <delta_ts>2021-07-07 12:03:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227723-20210706161939.patch</filename>
            <type>text/plain</type>
            <size>1834</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggY2UyNjE3ZjQyOWNkYWNiNmMwMDIwMmJhYTAyZWFlYmE1ZTI4MWE2Mi4uM2EzYTBlMGMyNzVj
ZTU5MzlhMDEwNTQxZjNjNDYzNzBmOTMxOWYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTA2ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0wgc2hhZGVyIGxpbmsgZXJyb3IgaW4gaU9T
IDE1IGJldGE6ICJJbnRlcm5hbCBlcnJvciBjb21waWxpbmcgc2hhZGVyIHdpdGggTWV0YWwgYmFj
a2VuZCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzcyMworCisgICAgICAgIFRoZSBzZXF1ZW5jZSBvcGVyYXRvciBjYW4gYmUgdXNlZCB0byBjb21i
aW5lIHN0YXRlbWVudHMuIE91ciBpbml0aWFsCisgICAgICAgIGxvZ2ljIGRpZCBub3QgYWNjb3Vu
dCBmb3IgdGhpcy4gCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFy
YXRlQ29tcG91bmRFeHByZXNzaW9ucy5jcHA6CisgICAgICAgIChzaDo6U2VwYXJhdG9yOjppc1N0
YW5kYWxvbmVFeHByKToKKwogMjAyMS0wNy0wNiAgS3lsZSBQaWRkaW5ndG9uICA8a3BpZGRpbmd0
b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNzk0NjYpOiAgW0JpZyBTdXJd
IHdlYmdsLzEuMC4zL2NvbmZvcm1hbmNlICYgd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UgYXJlIGZh
aWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90
cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNvbXBvdW5kRXhwcmVzc2lv
bnMuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRlQ29tcG91bmRFeHByZXNzaW9ucy5jcHAKaW5k
ZXggNDNmZDEzY2E5YzExMjg5ZmYwOGI5OWFmNDJhYTYyZjhkMDYzMGJhNy4uMjlhMWU4ZTlhYTQ5
NDJhZmM3YTkwYTA1NGNhNjQxYzJiZDZhMmE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Nl
cGFyYXRlQ29tcG91bmRFeHByZXNzaW9ucy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRl
Q29tcG91bmRFeHByZXNzaW9ucy5jcHAKQEAgLTIxNyw3ICsyMTcsMTAgQEAgY2xhc3MgU2VwYXJh
dG9yIDogcHVibGljIFRJbnRlcm1SZWJ1aWxkCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9Ci0gICAgICAgIEFTU0VSVChleHByLmdldFR5cGUoKS5nZXRCYXNp
Y1R5cGUoKSAhPSBUQmFzaWNUeXBlOjpFYnRWb2lkKTsKKyAgICAgICAgaWYoKGV4cHIuZ2V0VHlw
ZSgpLmdldEJhc2ljVHlwZSgpID09IFRCYXNpY1R5cGU6OkVidFZvaWQpKQorICAgICAgICB7Cisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433058</attachid>
            <date>2021-07-07 12:03:30 -0700</date>
            <delta_ts>2021-07-07 12:35:49 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227723-20210707120329.patch</filename>
            <type>text/plain</type>
            <size>6375</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggY2UyNjE3ZjQyOWNkYWNiNmMwMDIwMmJhYTAyZWFlYmE1ZTI4MWE2Mi4uNDBlYjEyMjkxMzI3
Yzg4N2YyZjA4NTE1ZDM4NzViZDBlN2MyODMzOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA3LTA2ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0wgc2hhZGVyIGxpbmsgZXJyb3IgaW4gaU9T
IDE1IGJldGE6ICJJbnRlcm5hbCBlcnJvciBjb21waWxpbmcgc2hhZGVyIHdpdGggTWV0YWwgYmFj
a2VuZCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzcyMworCisgICAgICAgIFRoZSBzZXF1ZW5jZSBvcGVyYXRvciBjYW4gYmUgdXNlZCB0byBjb21i
aW5lIHN0YXRlbWVudHMuIE91ciBpbml0aWFsCisgICAgICAgIGxvZ2ljIGRpZCBub3QgYWNjb3Vu
dCBmb3IgdGhpcy4gCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAg
ICAqIHNyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0
ZUNvbXBvdW5kRXhwcmVzc2lvbnMuY3BwOgorICAgICAgICAoc2g6OlNlcGFyYXRvcjo6aXNTdGFu
ZGFsb25lRXhwcik6CisKIDIwMjEtMDctMDYgIEt5bGUgUGlkZGluZ3RvbiAgPGtwaWRkaW5ndG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjc5NDY2KTogIFtCaWcgU3VyXSB3
ZWJnbC8xLjAuMy9jb25mb3JtYW5jZSAmIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlIGFyZSBmYWls
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJh
bnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZEV4cHJlc3Npb25z
LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Ry
YW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNvbXBvdW5kRXhwcmVzc2lvbnMuY3BwCmluZGV4
IDQzZmQxM2NhOWMxMTI4OWZmMDhiOTlhZjQyYWE2MmY4ZDA2MzBiYTcuLjI5YTFlOGU5YWE0OTQy
YWZjN2E5MGEwNTRjYTY0MWMyYmQ2YTJhNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBh
cmF0ZUNvbXBvdW5kRXhwcmVzc2lvbnMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNv
bXBvdW5kRXhwcmVzc2lvbnMuY3BwCkBAIC0yMTcsNyArMjE3LDEwIEBAIGNsYXNzIFNlcGFyYXRv
ciA6IHB1YmxpYyBUSW50ZXJtUmVidWlsZAogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgfQotICAgICAgICBBU1NFUlQoZXhwci5nZXRUeXBlKCkuZ2V0QmFzaWNU
eXBlKCkgIT0gVEJhc2ljVHlwZTo6RWJ0Vm9pZCk7CisgICAgICAgIGlmKChleHByLmdldFR5cGUo
KS5nZXRCYXNpY1R5cGUoKSA9PSBUQmFzaWNUeXBlOjpFYnRWb2lkKSkKKyAgICAgICAgeworICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDgyMzYwZjZkODQzMzg1N2QyMTQwYmU3ZTM0N2VkOWU5NDNjOWU2ZWEu
LmZmNmRjYjJiZTMzNzZkOTZlNTM3OTk5MWFjN2RhMzJhNGJjMWYwMjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMS0wNy0wNyAgS3lsZSBQaWRkaW5ndG9uICA8a3BpZGRpbmd0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYkdMIHNoYWRlciBsaW5rIGVycm9yIGluIGlPUyAxNSBiZXRhOiAi
SW50ZXJuYWwgZXJyb3IgY29tcGlsaW5nIHNoYWRlciB3aXRoIE1ldGFsIGJhY2tlbmQiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc3MjMKKworICAg
ICAgICBUaGUgc2VxdWVuY2Ugb3BlcmF0b3IgY2FuIGJlIHVzZWQgdG8gY29tYmluZSBzdGF0ZW1l
bnRzLiBPdXIgaW5pdGlhbAorICAgICAgICBsb2dpYyBkaWQgbm90IGFjY291bnQgZm9yIHRoaXMu
IAorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL3NoYWRlci13aXRoLWNvbW1hLW9wLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXdpdGgtY29tbWEtb3AuaHRtbDogQWRk
ZWQuCisKIDIwMjEtMDctMDYgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3OTU0Mi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci13aXRoLWNvbW1hLW9wLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci13aXRoLWNvbW1hLW9wLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNWEwMjM3ZjllNjUzMWYzOWJkZWU4YWE2MzY5NmZjZWI0
NDk4ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
c2hhZGVyLXdpdGgtY29tbWEtb3AtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Rz
IGNvbXBpbGluZyBwcm9ncmFtcyB0aGF0IHVzZSB0aGUgJ3NlcXVlbmNlJyBvcGVyYXRvci4uCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBubyBlcnJvciBmb3IgdXNpbmcgY29tbWEgb3BlcmF0b3Igd2l0
aCB2b2lkIGZ1bmN0aW9uCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBubyBlcnJvciBmb3IgdXNpbmcgY29tbWEgb3BlcmF0b3Igd2l0aCBub24tdm9pZCAgZnVu
Y3Rpb24KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IG5vIGVy
cm9yIGZvciB1c2luZyBjb21tYSBvcGVyYXRvciB3aXRoIHN0YW5kYXJkIHR5cGUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItd2l0aC1jb21tYS1vcC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXdpdGgtY29tbWEtb3AuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xOTg4NDZiZWViZDRlMzYyMjFjZTIyZGExZjE4N2I4MmMxNWQwZmFhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXdpdGgt
Y29tbWEtb3AuaHRtbApAQCAtMCwwICsxLDYwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIiB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKyAg
ICAKKzwvaGVhZD4KKzxib2R5PgorICAgIDxjYW52YXMgaWQ9IndlYmdsLWNhbnZhcyIgd2lkdGg9
IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2NhbnZhcz4KKyAgICA8c2NyaXB0PgorICAgIHZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAKKyAgICBmdW5jdGlvbiBydW5TaGFkZXJUZXN0KGds
LCB2U2hhZGVyU291cmNlLCBmc2hhZGVyU291cmNlLCBlcnJvclNob3VsZEJlVGV4dCkKKyAgICB7
CisgICAgICAgIHZhciBmcmFnbWVudFNoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVO
VF9TSEFERVIpOworICAgICAgICB2YXIgcHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAg
ICAgICAgdmFyIHZlcnRleFNoYWRlciA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVS
KTsKKyAgICAgICAgZ2wuc2hhZGVyU291cmNlKHZlcnRleFNoYWRlciwgdlNoYWRlclNvdXJjZSk7
CisgICAgICAgIGdsLmNvbXBpbGVTaGFkZXIodmVydGV4U2hhZGVyKTsKKyAgICAgICAgZ2wuc2hh
ZGVyU291cmNlKGZyYWdtZW50U2hhZGVyLCBmc2hhZGVyU291cmNlKTsKKyAgICAgICAgZ2wuY29t
cGlsZVNoYWRlcihmcmFnbWVudFNoYWRlcik7CisgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9n
cmFtLCB2ZXJ0ZXhTaGFkZXIpOworICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJh
Z21lbnRTaGFkZXIpOworICAgICAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgICAgICAg
Z2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIDMpOyAgCisgICAgICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsMCxlcnJvclNob3Vs
ZEJlVGV4dCk7CisgICAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSkKKyAgICAgICAgZ2wu
ZGVsZXRlU2hhZGVyKHZlcnRleFNoYWRlcik7CisgICAgICAgIGdsLmRlbGV0ZVNoYWRlcihmcmFn
bWVudFNoYWRlcik7CisgICAgfQorICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgIHsKKyAgICAg
ICAgZGVzY3JpcHRpb24oIlRlc3RzIGNvbXBpbGluZyBwcm9ncmFtcyB0aGF0IHVzZSB0aGUgJ3Nl
cXVlbmNlJyBvcGVyYXRvci4uIik7CisgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnd2ViZ2wtY2FudmFzJyk7CisgICAgICAgIHZhciBnbCA9IGNhbnZhcy5nZXRD
b250ZXh0KCJ3ZWJnbCIpOworICAgICAgICB7CisgICAgICAgICAgICB2YXIgdlNoYWRlclNvdXJj
ZSA9ICAidm9pZCBmKHZlYzIgYSkge30gdm9pZCBtYWluKCkgeyBmKHZlYzIoMC4pKSwgZ2xfUG9z
aXRpb24gPSB2ZWM0KDAuLDAuLDAuLDEuKTsgfSI7CisgICAgICAgICAgICB2YXIgZnNoYWRlclNv
dXJjZSA9ICJ2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4pOyB9IjsKKyAgICAg
ICAgICAgIHJ1blNoYWRlclRlc3QoZ2wsIHZTaGFkZXJTb3VyY2UsIGZzaGFkZXJTb3VyY2UsICJu
byBlcnJvciBmb3IgdXNpbmcgY29tbWEgb3BlcmF0b3Igd2l0aCB2b2lkIGZ1bmN0aW9uIikKKyAg
ICAgICAgfQorCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB2U2hhZGVyU291cmNlID0gICJ2
ZWMyIGYodmVjMiBhKSB7IHJldHVybiBhOyB9IHZvaWQgbWFpbigpIHsgZih2ZWMyKDAuKSksIGds
X1Bvc2l0aW9uID0gdmVjNCgwLiwwLiwwLiwxLik7IH0iOworICAgICAgICAgICAgdmFyIGZzaGFk
ZXJTb3VyY2UgPSAidm9pZCBtYWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuKTsgfSI7Cisg
ICAgICAgICAgICBydW5TaGFkZXJUZXN0KGdsLCB2U2hhZGVyU291cmNlLCBmc2hhZGVyU291cmNl
LCAibm8gZXJyb3IgZm9yIHVzaW5nIGNvbW1hIG9wZXJhdG9yIHdpdGggbm9uLXZvaWQgIGZ1bmN0
aW9uIikKKyAgICAgICAgfQorCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB2U2hhZGVyU291
cmNlID0gICJ2b2lkIG1haW4oKSB7IHZlYzIoMC4pLCBnbF9Qb3NpdGlvbiA9IHZlYzQoMC4sMC4s
MC4sMS4pOyB9IjsKKyAgICAgICAgICAgIHZhciBmc2hhZGVyU291cmNlID0gICJ2b2lkIG1haW4o
KSB7IGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4pOyB9IjsKKyAgICAgICAgICAgIHJ1blNoYWRlclRl
c3QoZ2wsIHZTaGFkZXJTb3VyY2UsIGZzaGFkZXJTb3VyY2UsICJubyBlcnJvciBmb3IgdXNpbmcg
Y29tbWEgb3BlcmF0b3Igd2l0aCBzdGFuZGFyZCB0eXBlIikKKyAgICAgICAgfQorICAgIH0KKyAg
ICBydW5UZXN0KCk7CisKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>