<?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>209139</bug_id>
          
          <creation_ts>2020-03-16 09:10:38 -0700</creation_ts>
          <short_desc>[ iOS wk2 ] webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html is failing.</short_desc>
          <delta_ts>2020-10-28 19:20:54 -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>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205736</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=218318</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>
          <dependson>205618</dependson>
    
    <dependson>212249</dependson>
          <blocked>207858</blocked>
    
    <blocked>215804</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Lawrence">Lawrence.j</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>jdarpinian</cc>
    
    <cc>justin_fan</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1630338</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-03-16 09:10:38 -0700</bug_when>
    <thetext>webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats.html

Description:
This test is failing on iOS wk2. This appears to be related to the solution provided here: https://trac.webkit.org/changeset/258462.

History:
https://results.webkit.org/?suite=layout-tests&amp;test=webgl%2F1.0.3%2Fconformance%2Ftextures%2Fcopy-tex-image-2d-formats.html&amp;platform=ios&amp;limit=50000

Diff:
--- /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats-expected.txt
+++ /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats-actual.txt
@@ -1,5 +1,56 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/textures/copy-tex-image-2d-formats.html
-[ PASS ] All tests passed
+[ 1: PASS ] getError was expected value: NO_ERROR : During Initialization
+[ 2: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D ALPHA from RGBA
+[ 3: PASS ] should be 0,0,0,127
+[ 4: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 5: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE from RGBA
+[ 6: PASS ] should be 64,64,64,255
+[ 7: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 8: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE_ALPHA from RGBA
+[ 9: PASS ] should be 64,64,64,127
+[ 10: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 11: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D RGB from RGBA
+[ 12: PASS ] should be 64,255,191,255
+[ 13: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 14: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D RGBA from RGBA
+[ 15: PASS ] should be 64,255,191,127
+[ 16: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 17: PASS ] getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D ALPHA from RGB
+[ 18: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE from RGB
+[ 19: PASS ] should be 64,64,64,255
+[ 20: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 21: PASS ] getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D LUMINANCE_ALPHA from RGB
+[ 22: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D RGB from RGB
+[ 23: PASS ] should be 64,255,191,255
+[ 24: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 25: PASS ] getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D RGBA from RGB
+[ 26: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D ALPHA from RGBA
+[ 27: PASS ] should be 0,0,0,127
+[ 28: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 29: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE from RGBA
+[ 30: PASS ] should be 64,64,64,255
+[ 31: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 32: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE_ALPHA from RGBA
+[ 33: PASS ] should be 64,64,64,127
+[ 34: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 35: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D RGB from RGBA
+[ 36: PASS ] should be 64,255,191,255
+[ 37: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 38: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D RGBA from RGBA
+[ 39: PASS ] should be 64,255,191,127
+[ 40: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 41: PASS ] getError was expected value: NO_ERROR : During Initialization
+[ 42: PASS ] getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D ALPHA from RGB
+[ 43: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE from RGB
+[ 44: FAIL ] at (0, 0) expected: 64,64,64,255 was 64,64,64,0
+[ 45: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 46: PASS ] getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D LUMINANCE_ALPHA from RGB
+[ 47: PASS ] getError was expected value: NO_ERROR : should be able to copyTexImage2D RGB from RGB
+[ 48: FAIL ] at (0, 0) expected: 64,255,191,255 was 64,255,191,0
+[ 49: PASS ] getError was expected value: NO_ERROR : should be no errors
+[ 50: PASS ] getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D RGBA from RGB
+[ 51: PASS ] successfullyParsed is true
+[ FAIL ] 2 failures reported</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630339</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-16 09:11:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/60496751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630340</commentid>
    <comment_count>2</comment_count>
    <who name="Jason Lawrence">Lawrence.j</who>
    <bug_when>2020-03-16 09:15:14 -0700</bug_when>
    <thetext>I have marked this test as failing while this issue is investigated.
https://trac.webkit.org/changeset/258500/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655380</commentid>
    <comment_count>3</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2020-05-22 11:45:48 -0700</bug_when>
    <thetext>On iOS, it looks like copyTexImage2D is altering the alpha channel for RGB/LUMINANCE copies when it should be leaving those bits untouched.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669483</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-07 12:11:32 -0700</bug_when>
    <thetext>jdarpinian@ pointed out that he just reimplemented CopyTexImage2D on iOS in Bug 212249 to work around other driver bugs; that might have already fixed this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669508</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2020-07-07 13:28:19 -0700</bug_when>
    <thetext>unfortunately, this test is still failing on iOS 13 Simulators. I can try to reproduce again once I get another working simulator build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673627</commentid>
    <comment_count>6</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2020-07-21 14:36:01 -0700</bug_when>
    <thetext>There are only two sub-failures occurring in this test; when copyTexImage2D is attempted from LUMINANCE and RGB formats to the RGB format with an RGB backbuffer, the alpha channel is written as 255 when it should be 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673634</commentid>
    <comment_count>7</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2020-07-21 14:54:47 -0700</bug_when>
    <thetext>Sorry, ignore the last. What I meant to say was &quot;when copyTexImage2D is attempted from an RGB backbuffer to LUMINANCE or RGB, the alpha channel is written as 255 when it should be 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673635</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 14:58:04 -0700</bug_when>
    <thetext>Not 100% sure how the test reads back the texture&apos;s data, but it sounds like it&apos;s drawing the resulting texture back to an RGBA back buffer and then calling readPixels with RGBA format.

Thanks Justin for the triage - we&apos;ll investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689599</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-09-17 14:48:00 -0700</bug_when>
    <thetext>Investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689670</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-09-17 17:52:58 -0700</bug_when>
    <thetext>The same failure as originally reported still happens in the iOS Simulator:

PASS getError was expected value: NO_ERROR : should be able to copyTexImage2D LUMINANCE from RGB
FAIL at (0, 0) expected: 64,64,64,255 was 64,64,64,0
PASS getError was expected value: NO_ERROR : should be no errors
PASS getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D LUMINANCE_ALPHA from RGB
PASS getError was expected value: NO_ERROR : should be able to copyTexImage2D RGB from RGB
FAIL at (0, 0) expected: 64,255,191,255 was 64,255,191,0
PASS getError was expected value: NO_ERROR : should be no errors
PASS getError was expected value: INVALID_OPERATION : should not be able to copyTexImage2D RGBA from RGB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693927</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-10-01 16:52:38 -0700</bug_when>
    <thetext>Still haven&apos;t had time to debug into ANGLE on the iOS Simulator yet. Potentially related bugs pointed out by jdarpinian@:

copyTexImage2D to LUMINANCE/ALPHA fails with internal context error on mac
http://anglebug.com/5051

copy-texture-image-same-texture.html fails on OpenGL backend
http://anglebug.com/2994</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701187</commentid>
    <comment_count>12</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-10-23 19:00:36 -0700</bug_when>
    <thetext>The bug is that readPixels readbacks from an {alpha:false} back buffer are coming back with the alpha channel zeroed out, rather than 0xFF. It has nothing to do with CopyTexImage2D from the RGB back buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701289</commentid>
    <comment_count>13</comment_count>
      <attachid>412260</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-10-25 01:20:36 -0700</bug_when>
    <thetext>Created attachment 412260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701359</commentid>
    <comment_count>14</comment_count>
      <attachid>412260</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-10-26 00:27:08 -0700</bug_when>
    <thetext>Comment on attachment 412260
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=412260&amp;action=review

looks good to me, not a reviewer.

&gt; Source/WebCore/platform/graphics/angle/ExtensionsGLANGLE.cpp:610
&gt; +    if (!readingToPixelBufferObject &amp;&amp; !attrs.alpha &amp;&amp; (format == GraphicsContextGL::RGBA || format == GraphicsContextGL::BGRA) &amp;&amp; (type == GraphicsContextGL::UNSIGNED_BYTE) &amp;&amp; (state.boundReadFBO == m_context-&gt;m_fbo || (attrs.antialias &amp;&amp; state.boundReadFBO == m_context-&gt;m_multisampleFBO)))

Out of curiosity, did we not want to extend ANGLE workarounds around this area instead of existing more unstructured workarounds? Or would this be more task for downstream core developers? 

It&apos;d help maybe making  this more perfect in cases like preserveDrawingBuffer, which probably shouldn&apos;t need the workaround on grounds of the backing being normal texture instead of an iosurface
I guess part of the tedious work would be to understand what&apos;s the root cause of the problem.

I did a bit of similar work in https://bugs.webkit.org/show_bug.cgi?id=215804 but it&apos;s not finished due to not being that important. It might or might not be same root cause but different trigger this time. E.g. in that bug, glclear is &quot;buggy&quot;, but it might be that BlitFramebuffer is buggy. So in this case, it might be that read pixels work but then rendering from blitted-to texture would be black. Anyhow, this is an tangent to the actual question wrt do we want the fix eventually in ANGLE or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701581</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-10-26 13:10:33 -0700</bug_when>
    <thetext>Yes, ideally this fix would be inside ANGLE. There are a couple of weird things going on with this bug from my perspective:

1) On the iOS Simulator, the WebGL back buffer texture isn&apos;t actually bound to the IOSurface. The [EAGLContext texImageIOSurface:target:internalFormat:width:height:format:type:plane:] API doesn&apos;t exist in the iOS simulator. Earlier in the development cycle of the ANGLE backend for WebKit, we emulated this behavior using readbacks in Bug 205618.

https://developer.apple.com/documentation/opengles/eaglcontext/2890259-teximageiosurface?language=objc

This means that the backing texture of the {alpha:false} canvas is just a vanilla RGB texture. I&apos;m not sure why readbacks are coming back with transparent alpha. Compositing of the canvas on the page works fine.

2) This workaround&apos;s been done at the WebKit level for some time on both iOS and macOS, just not on iOS in the ANGLE backend. It seems appropriate to do that as a short term fix.

3) It&apos;s possible ANGLE&apos;s Metal backend could address this. If you have a solid fix for Bug 215804 then let&apos;s certainly get it in to ANGLE - but I&apos;m inclined to check as soon as possible whether the longstanding OpenGL texture/IOSurface interaction problems have been addressed in Metal&apos;s IOSurface integration APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701594</commentid>
    <comment_count>16</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-10-26 13:33:48 -0700</bug_when>
    <thetext>Thanks for the info and the observations!

&gt; This means that the backing texture of the {alpha:false} canvas is just a vanilla RGB texture. I&apos;m not sure why readbacks are coming back with transparent alpha. 

The pbuffers with RGB internal format are mapped to native internal format RGBA textures on simulator. The initialise alpha should set the initial alpha ok but maybe the blit overrides this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701690</commentid>
    <comment_count>17</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-10-26 16:57:38 -0700</bug_when>
    <thetext>(In reply to Kimmo Kinnunen from comment #16)
&gt; Thanks for the info and the observations!
&gt; 
&gt; &gt; This means that the backing texture of the {alpha:false} canvas is just a vanilla RGB texture. I&apos;m not sure why readbacks are coming back with transparent alpha. 
&gt; 
&gt; The pbuffers with RGB internal format are mapped to native internal format
&gt; RGBA textures on simulator. The initialise alpha should set the initial
&gt; alpha ok but maybe the blit overrides this?

I see - thanks for that reminder and clarification.

Actually - the bug is in the alpha:false, antialias:false path. Setting antialias:true for the glNoAlpha context in https://trac.webkit.org/browser/webkit/trunk/LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/textures/copy-tex-image-2d-formats.html makes the bug disappear.

Would it be OK if I land this change and then we follow up to try to fix the underlying issue and remove this workaround for both macOS and iOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701785</commentid>
    <comment_count>18</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-10-27 00:12:14 -0700</bug_when>
    <thetext>&gt; Would it be OK if I land this change 

Not sure if you ask me or in general, but: certainly it&apos;s ok for my part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701786</commentid>
    <comment_count>19</comment_count>
      <attachid>412260</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-10-27 00:20:14 -0700</bug_when>
    <thetext>Comment on attachment 412260
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=412260&amp;action=review

&gt;&gt; Source/WebCore/platform/graphics/angle/ExtensionsGLANGLE.cpp:610
&gt;&gt; +    if (!readingToPixelBufferObject &amp;&amp; !attrs.alpha &amp;&amp; (format == GraphicsContextGL::RGBA || format == GraphicsContextGL::BGRA) &amp;&amp; (type == GraphicsContextGL::UNSIGNED_BYTE) &amp;&amp; (state.boundReadFBO == m_context-&gt;m_fbo || (attrs.antialias &amp;&amp; state.boundReadFBO == m_context-&gt;m_multisampleFBO)))
&gt; 
&gt; Out of curiosity, did we not want to extend ANGLE workarounds around this area instead of existing more unstructured workarounds? Or would this be more task for downstream core developers? 
&gt; 
&gt; It&apos;d help maybe making  this more perfect in cases like preserveDrawingBuffer, which probably shouldn&apos;t need the workaround on grounds of the backing being normal texture instead of an iosurface
&gt; I guess part of the tedious work would be to understand what&apos;s the root cause of the problem.
&gt; 
&gt; I did a bit of similar work in https://bugs.webkit.org/show_bug.cgi?id=215804 but it&apos;s not finished due to not being that important. It might or might not be same root cause but different trigger this time. E.g. in that bug, glclear is &quot;buggy&quot;, but it might be that BlitFramebuffer is buggy. So in this case, it might be that read pixels work but then rendering from blitted-to texture would be black. Anyhow, this is an tangent to the actual question wrt do we want the fix eventually in ANGLE or not.

I&apos;m ok with this landing for now in WebKit, but I agree that it might want to live in ANGLE.

I&apos;ll mark it as r+ and Ken can decide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701963</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-27 10:35:14 -0700</bug_when>
    <thetext>Committed r269051: &lt;https://trac.webkit.org/changeset/269051&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412260.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412260</attachid>
            <date>2020-10-25 01:20:36 -0700</date>
            <delta_ts>2020-10-27 10:35:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209139-20201025012036.patch</filename>
            <type>text/plain</type>
            <size>5707</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJlMGQwMWE1YjA5MjE1
MGRiZDVmM2ViYjljZTdlMzYzMTY3ODI1Yy4uZTM3NjNlNGNlYjc1OGRhNjExNGFjZDM5MWY5NWYz
ZWM2ZThkYjk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTEwLTI1ICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFsgaU9TIHdrMiBdIHdl
YmdsLzEuMC4zL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMu
aHRtbCBpcyBmYWlsaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA5MTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgT24gQU5HTEUgYmFja2VuZCwgdXNlIHdpcGVBbHBoYUNoYW5uZWxGcm9tUGl4ZWxz
IG9uIGlPUyBmYW1pbHksCisgICAgICAgIHNpbWlsYXJseSB0byBtYWNPUywgd2hlbiByZWFkaW5n
IGJhY2sgZnJvbSBhbHBoYTpmYWxzZSBXZWJHTAorICAgICAgICBjb250ZXh0cy4gT24gYm90aCBi
YWNrZW5kcywgYXBwbHkgdGhpcyBvbmx5IGZvciBVTlNJR05FRF9CWVRFCisgICAgICAgIHJlYWRi
YWNrcy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIFdlYkdMIGNvbmZvcm1hbmNlIHRl
c3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5H
TEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uc0dMQU5HTEU6OnJlYWRuUGl4ZWxz
Um9idXN0QU5HTEUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNz
Q29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OnJlYWRQaXhlbHMpOgorCiAyMDIwLTEwLTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkMgRGlzcGxheV0gU2ltcGxpZnkgZGlzcGxh
eSB0cmVlIGJ1aWxkaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hbmdsZS9FeHRlbnNpb25zR0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9FeHRlbnNpb25zR0xBTkdMRS5jcHAKaW5kZXggOTY5YmFmY2M4Nzlh
MDkwYjAzY2JmNDVkMTg0Y2YxMjFmZjQxYWZiYS4uNGI0ZGZiYjNmNzNjNWYyZDI3YmYxN2Y5MjU1
OWE2Zjg3YWM1NWQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvRXh0ZW5zaW9uc0dMQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2FuZ2xlL0V4dGVuc2lvbnNHTEFOR0xFLmNwcApAQCAtNTY4LDcgKzU2OCw3
IEBAIHZvaWQgRXh0ZW5zaW9uc0dMQU5HTEU6OmdldFBvaW50ZXJ2Um9idXN0QU5HTEVSb2J1c3RB
TkdMRShHQ0dMZW51bSBwbmFtZSwgR0NHTHNpCiAgICAgZ2w6OkdldFBvaW50ZXJ2Um9idXN0QU5H
TEVSb2J1c3RBTkdMRShwbmFtZSwgYnVmU2l6ZSwgbGVuZ3RoLCBwYXJhbXMpOwogfQogCi0jaWYg
UExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IHN0YXRpYyB2b2lkIHdpcGVBbHBoYUNoYW5uZWxGcm9tUGl4ZWxzKGludCB3aWR0aCwgaW50IGhl
aWdodCwgdW5zaWduZWQgY2hhciogcGl4ZWxzKQogewogICAgIC8vIFdlIGNhbiBhc3N1bWUgdGhp
cyBkb2Vzbid0IG92ZXJmbG93IGJlY2F1c2UgdGhlIGNhbGxpbmcgZnVuY3Rpb25zCkBAIC02MDYs
OCArNjA2LDggQEAgdm9pZCBFeHRlbnNpb25zR0xBTkdMRTo6cmVhZG5QaXhlbHNSb2J1c3RBTkdM
RShpbnQgeCwgaW50IHksIEdDR0xzaXplaSB3aWR0aCwgR0MKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoIXJlYWRpbmdUb1BpeGVsQnVmZmVyT2Jq
ZWN0ICYmICFhdHRycy5hbHBoYSAmJiAoZm9ybWF0ID09IEdyYXBoaWNzQ29udGV4dEdMOjpSR0JB
IHx8IGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHRHTDo6QkdSQSkgJiYgKHN0YXRlLmJvdW5kUmVh
ZEZCTyA9PSBtX2NvbnRleHQtPm1fZmJvIHx8IChhdHRycy5hbnRpYWxpYXMgJiYgc3RhdGUuYm91
bmRSZWFkRkJPID09IG1fY29udGV4dC0+bV9tdWx0aXNhbXBsZUZCTykpKQorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAoIXJlYWRpbmdUb1BpeGVsQnVm
ZmVyT2JqZWN0ICYmICFhdHRycy5hbHBoYSAmJiAoZm9ybWF0ID09IEdyYXBoaWNzQ29udGV4dEdM
OjpSR0JBIHx8IGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHRHTDo6QkdSQSkgJiYgKHR5cGUgPT0g
R3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX0JZVEUpICYmIChzdGF0ZS5ib3VuZFJlYWRGQk8g
PT0gbV9jb250ZXh0LT5tX2ZibyB8fCAoYXR0cnMuYW50aWFsaWFzICYmIHN0YXRlLmJvdW5kUmVh
ZEZCTyA9PSBtX2NvbnRleHQtPm1fbXVsdGlzYW1wbGVGQk8pKSkKICAgICAgICAgd2lwZUFscGhh
Q2hhbm5lbEZyb21QaXhlbHMod2lkdGgsIGhlaWdodCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cio+KGRhdGEpKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlYWRpbmdUb1BpeGVsQnVmZmVy
T2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Fu
Z2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXggNDY1ZWYyNDNm
Mzg2ZWIyZjgyYzkyNjRlMTBiOGUzODA1ODFjOTFiMi4uZDI2ZDRlZjgxZTZiMzM0MzdjMTE1M2U4
OGViMzE5NjBmYjg3N2E3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAg
LTQxNyw3ICs0MTcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZWFkUGl4ZWxz
KEdDR0xpbnQgeCwgR0NHTGludCB5LCBHQ0dMc2l6ZWkgd2lkdGgsCiAgICAgICAgIGdsOjpCaW5k
RnJhbWVidWZmZXIoZnJhbWVidWZmZXJUYXJnZXQsIG1fbXVsdGlzYW1wbGVGQk8pOwogCiAjaWYg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmICghYXR0cnMuYWxw
aGEgJiYgKGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQSB8fCBmb3JtYXQgPT0gR3Jh
cGhpY3NDb250ZXh0R0w6OkJHUkEpICYmIChtX3N0YXRlLmJvdW5kUmVhZEZCTyA9PSBtX2ZibyB8
fCAoYXR0cnMuYW50aWFsaWFzICYmIG1fc3RhdGUuYm91bmRSZWFkRkJPID09IG1fbXVsdGlzYW1w
bGVGQk8pKSkKKyAgICBpZiAoIWF0dHJzLmFscGhhICYmIChmb3JtYXQgPT0gR3JhcGhpY3NDb250
ZXh0R0w6OlJHQkEgfHwgZm9ybWF0ID09IEdyYXBoaWNzQ29udGV4dEdMOjpCR1JBKSAmJiAodHlw
ZSA9PSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfQllURSkgJiYgKG1fc3RhdGUuYm91bmRS
ZWFkRkJPID09IG1fZmJvIHx8IChhdHRycy5hbnRpYWxpYXMgJiYgbV9zdGF0ZS5ib3VuZFJlYWRG
Qk8gPT0gbV9tdWx0aXNhbXBsZUZCTykpKQogICAgICAgICB3aXBlQWxwaGFDaGFubmVsRnJvbVBp
eGVscyh3aWR0aCwgaGVpZ2h0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyKj4oZGF0YSkpOwog
I2VuZGlmCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggOWFhYmY3NjY3Zjk1NzBkMzBhNzkxY2NlNDY2NmQzZWFhNDEyMmY3
OC4uMTI3NDQyNGUwMjY3MGEyNDY0ZTA2ZjdlYzBkNDgwNzliY2RlYjJiOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDIwLTEwLTI1ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFsgaU9TIHdrMiBdIHdlYmdsLzEuMC4zL2NvbmZvcm1hbmNlL3RleHR1cmVz
L2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCBpcyBmYWlsaW5nLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGlPUyBzdXBwcmVzc2lv
biBmb3IKKyAgICAgICAgd2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIwLTEwLTI0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtCaWdTdXJdIEFwcGVuZGluZyBhIG5ldyBXZWJNIGluaXQgc2VnbWVu
dCBiZXR3ZWVuIENsdXN0ZXIgZWxlbWVudHMgdGhyb3dzIGFuIGVycm9yCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzhlMjUxOWIwZTkxNmU3
ZjdiY2NkMTVkNjBiMDJjZTEwMTY2NmQxOC4uZWE4NDhkODJlMzJkOGEzOWQ0ZTE4M2UxM2Q1ZmI3
NWUxYzMzYjc1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTQwOSw4ICsxNDA5LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pbWctZWxlbWVudC8KIAog
d2Via2l0Lm9yZy9iLzIwOTIwNSBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLWluLWlmcmFtZS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIwOTEzOSB3ZWJnbC8xLjAuMy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQotCiB3ZWJraXQub3JnL2IvMjA5MDgwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVzL3dtLXByb3BhZ2F0aW9uLWJvZHktc2Nyb2xsLW9m
ZnNldC12ZXJ0aWNhbC1sci5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjA5MDgwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVzL2Ficy1w
b3Mtbm9uLXJlcGxhY2VkLXZsci0wMDMueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjA5MDgwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13cml0
aW5nLW1vZGVzL2Ficy1wb3Mtbm9uLXJlcGxhY2VkLXZsci0wMDkueGh0IFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>