<?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>232662</bug_id>
          
          <creation_ts>2021-11-03 05:12:22 -0700</creation_ts>
          <short_desc>WebGL2 AllowShared TypedArray should be accepted</short_desc>
          <delta_ts>2022-05-26 15:04:23 -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>All</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sanjay Kumar">hypertree</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>hypertree</cc>
    
    <cc>jonlee</cc>
    
    <cc>kbr</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1811441</commentid>
    <comment_count>0</comment_count>
    <who name="Sanjay Kumar">hypertree</who>
    <bug_when>2021-11-03 05:12:22 -0700</bug_when>
    <thetext>AvNav is a WebAssembly-powered offline-first Web Application that helps pilots plan flights and navigate complex airspaces. We are excited to see WebKit implementing COEP headers which enables SharedArrayBuffers/WASM Threads making our maps even faster. Big Thank you!

We do see a small problem with the new implementation:

Our app fails to load (silently - no exceptions) when using PTHERADS on WebGL 2.0 context - in iOS 15.2 beta and Safari Technology Preview 134.
App works fine on WebGl 1.0 context (single and multi-threaded).

Here are greatly simplified versions of our maps that demonstrate the problem (no registration or subscription required):

Single Threaded WASM - works everywhere including all recent iOS/iPadOS versions:
https://avnav.io/assets/demo/st/

Multi-Threaded WASM on WebGl 1.0 context - works in Chrome, Firefox and newly released iPadOS 15.2 beta and STP 134:
https://avnav.io/assets/demo/mt/

Multi-Threaded WASM on WebGl 2.0 context - only works in Chrome, and Firefox - fails silently in iPadOS 15.2 beta and STP 134:
https://avnav.io/assets/demo/mt_webgl2/

It will be nice if you can fix this in iOS/iPadOS 15.2 itself - so we don&apos;t have to go back to WebGL 1.0 context anywhere!

Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811497</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-11-03 09:49:58 -0700</bug_when>
    <thetext>&gt; https://avnav.io/assets/demo/mt_webgl2/

The server is not responding right now, could you please check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811650</commentid>
    <comment_count>2</comment_count>
    <who name="Sanjay Kumar">hypertree</who>
    <bug_when>2021-11-03 14:25:06 -0700</bug_when>
    <thetext>Server is back on. Its our sandbox - accidentally went down. Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811811</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-04 03:22:08 -0700</bug_when>
    <thetext>Thank you for the report.
It appears to hang somewhere during calls to convert uniform2fv and uniformMatrix4fv arguments via custom javascript (?). I&apos;m not an expert when this would happen in JS or  WASM.

In case you have time to debug this more, a more minimal test case would be appreciated. E.g. remove content while still observing the hang, until the hang disappears. Also one strategy could be to console.log before each WebGL call, and see which ones are the last ones that work. Then you could report what kind of object is being passed to WebGL.

If you have a programming stack that compiles some input language to WASM, you could also explain this so that we could try to make a test case using this stack.


 * frame #0: 0x0000000710a001a7 JavaScriptCore`JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) [inlined] WTF::ThreadSafeRefCountedBase::derefBase(this=&lt;unavailable&gt;) const at ThreadSafeRefCounted.h:86:13 [opt]
    frame #1: 0x0000000710a001a1 JavaScriptCore`JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) [inlined] WTF::ThreadSafeRefCounted&lt;JSC::JITCode, (WTF::DestructionThread)0&gt;::deref(this=&lt;unavailable&gt;) const at ThreadSafeRefCounted.h:113 [opt]
    frame #2: 0x0000000710a001a1 JavaScriptCore`JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) [inlined] WTF::DefaultRefDerefTraits&lt;JSC::JITCode&gt;::derefIfNotNull(ptr=0x000000072f513640) at RefPtr.h:42 [opt]
    frame #3: 0x0000000710a0019c JavaScriptCore`JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) [inlined] WTF::RefPtr&lt;JSC::JITCode, WTF::RawPtrTraits&lt;JSC::JITCode&gt;, WTF::DefaultRefDerefTraits&lt;JSC::JITCode&gt; &gt;::~RefPtr(this=&lt;unavailable&gt;) at RefPtr.h:73 [opt]
    frame #4: 0x0000000710a0019c JavaScriptCore`JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) [inlined] WTF::RefPtr&lt;JSC::JITCode, WTF::RawPtrTraits&lt;JSC::JITCode&gt;, WTF::DefaultRefDerefTraits&lt;JSC::JITCode&gt; &gt;::~RefPtr(this=&lt;unavailable&gt;) at RefPtr.h:73 [opt]
    frame #5: 0x0000000710a0019c JavaScriptCore`JSC::Interpreter::executeCall(this=&lt;unavailable&gt;, lexicalGlobalObject=&lt;unavailable&gt;, function=0x000000073671f580, callData=&lt;unavailable&gt;, thisValue=&lt;unavailable&gt;, args=0x00007ffeef4921d8) at Interpreter.cpp:970 [opt]
    frame #6: 0x0000000710d5846f JavaScriptCore`JSC::iteratorNext(globalObject=0x00000007161e8468, iterationRecord=IterationRecord @ 0x00007fc931cfe7e0, argument=JSValue @ scalar) at IteratorOperations.cpp:51:22 [opt]
    frame #7: 0x0000000710d5af98 JavaScriptCore`JSC::iteratorStep(globalObject=0x00000007161e8468, iterationRecord=&lt;unavailable&gt;) at IteratorOperations.cpp:76:22 [opt]
    frame #8: 0x000000070acba467 WebCore`void JSC::forEachInIterable&lt;WebCore::Detail::GenericSequenceConverter&lt;WebCore::IDLUnrestrictedFloat&gt;::convert(JSC::JSGlobalObject&amp;, JSC::JSObject*, JSC::JSValue, WTF::Vector&lt;float, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;)::&apos;lambda&apos;(JSC::VM&amp;, JSC::JSGlobalObject&amp;, JSC::JSValue)&gt;(globalObject=0x00000007161e8468, iterable=&lt;unavailable&gt;, iteratorMethod=&lt;unavailable&gt;, callback=0x00007ffeef4922f8) at IteratorOperations.h:129:24 [opt]
    frame #9: 0x000000070acb9f5d WebCore`WebCore::Detail::NumericSequenceConverter&lt;WebCore::IDLUnrestrictedFloat&gt;::convert(lexicalGlobalObject=0x00000007161e8468, object=0x000000071c5f7ea0, method=JSValue @ r15) at IndexingHeader.h:0:54 [opt]
    frame #10: 0x000000070acb9ca0 WebCore`WebCore::Converter&lt;WebCore::IDLUnion&lt;WebCore::IDLAllowSharedAdaptor&lt;WebCore::IDLFloat32Array&gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt; &gt;::convert(JSC::JSGlobalObject&amp;, JSC::JSValue) [inlined] WebCore::Detail::SequenceConverter&lt;WebCore::IDLUnrestrictedFloat&gt;::convert(lexicalGlobalObject=0x00000007161e8468, object=&lt;unavailable&gt;, method=JSValue @ r12) at JSDOMConvertSequences.h:323:16 [opt]
    frame #11: 0x000000070acb9c92 WebCore`WebCore::Converter&lt;WebCore::IDLUnion&lt;WebCore::IDLAllowSharedAdaptor&lt;WebCore::IDLFloat32Array&gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt; &gt;::convert(JSC::JSGlobalObject&amp;, JSC::JSValue) [inlined] WebCore::Converter&lt;WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt;::convert(lexicalGlobalObject=0x00000007161e8468, object=&lt;unavailable&gt;, method=JSValue @ r12) at JSDOMConvertSequences.h:369 [opt]
    frame #12: 0x000000070acb9c92 WebCore`WebCore::Converter&lt;WebCore::IDLUnion&lt;WebCore::IDLAllowSharedAdaptor&lt;WebCore::IDLFloat32Array&gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt; &gt;::convert(JSC::JSGlobalObject&amp;, JSC::JSValue) [inlined] WebCore::ConditionalSequenceConverter&lt;std::__1::variant&lt;WTF::RefPtr&lt;JSC::GenericTypedArrayView&lt;JSC::Float32Adaptor&gt;, WTF::RawPtrTraits&lt;JSC::GenericTypedArrayView&lt;JSC::Float32Adaptor&gt; &gt;, WTF::DefaultRefDerefTraits&lt;JSC::GenericTypedArrayView&lt;JSC::Float32Adaptor&gt; &gt; &gt;, WTF::Vector&lt;float, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; &gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt;, true&gt;::convert(lexicalGlobalObject=0x00000007161e8468, object=&lt;unavailable&gt;, method=JSValue @ r12) at JSDOMConvertUnion.h:86 [opt]
    frame #13: 0x000000070acb9c92 WebCore`WebCore::Converter&lt;WebCore::IDLUnion&lt;WebCore::IDLAllowSharedAdaptor&lt;WebCore::IDLFloat32Array&gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt; &gt;::convert(lexicalGlobalObject=0x00000007161e8468, value=JSValue @ 0x00007ffeef492368) at JSDOMConvertUnion.h:310 [opt]
    frame #14: 0x000000070acc172f WebCore`WebCore::jsWebGL2RenderingContextPrototypeFunction_uniformMatrix4fv1Body(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*) [inlined] WebCore::Converter&lt;WebCore::IDLUnion&lt;WebCore::IDLAllowSharedAdaptor&lt;WebCore::IDLFloat32Array&gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt; &gt;::ReturnType WebCore::convert&lt;WebCore::IDLUnion&lt;WebCore::IDLAllowSharedAdaptor&lt;WebCore::IDLFloat32Array&gt;, WebCore::IDLSequence&lt;WebCore::IDLUnrestrictedFloat&gt; &gt; &gt;(lexicalGlobalObject=0x00000007161e8468, value=JSValue @ 0x00007ffeef492450) at JSDOMConvertBase.h:61:12 [opt]
    frame #15: 0x000000070acc1720 WebCore`WebCore::jsWebGL2RenderingContextPrototypeFunction_uniformMatrix4fv1Body(lexicalGlobalObject=0x00000007161e8468, callFrame=0x00007ffeef492620, castedThis=&lt;unavailable&gt;) at JSWebGL2RenderingContext.cpp:8620 [opt]
    frame #16: 0x000000070ac988b4 WebCore`WebCore::jsWebGL2RenderingContextPrototypeFunction_uniformMatrix4fv(JSC::JSGlobalObject*, JSC::CallFrame*) [inlined] WebCore::jsWebGL2RenderingContextPrototypeFunction_uniformMatrix4fvOverloadDispatcher(lexicalGlobalObject=0x00000007161e8468, callFrame=0x00007ffeef492620, castedThis=&lt;unavailable&gt;) at JSDOMConvertNullable.h:0:13 [opt]
    frame #17: 0x000000070ac9885c WebCore`WebCore::jsWebGL2RenderingContextPrototypeFunction_uniformMatrix4fv(JSC::JSGlobalObject*, JSC::CallFrame*) [inlined] long long WebCore::IDLOperation&lt;WebCore::JSWebGL2RenderingContext&gt;::call&lt;&amp;(lexicalGlobalObject=0x00000007161e8468, callFrame=0x00007ffeef492620, operationName=&lt;unavailable&gt;)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*) at JSDOMOperation.h:63 [opt]
    frame #18: 0x000000070ac98857 WebCore`WebCore::jsWebGL2RenderingContextPrototypeFunction_uniformMatrix4fv(lexicalGlobalObject=0x00000007161e8468, callFrame=0x00007ffeef492620) at JSWebGL2RenderingContext.cpp:12759 [opt]
    frame #19: 0x00003496058011d8
    frame #20: 0x00000007102ca2f9 JavaScriptCore`llint_entry at LowLevelInterpreter.asm:1177
    frame #21: 0x00003496063e4713
    frame #22: 0x0000349607040dbc
    frame #23: 0x000034960704100c
    frame #24: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #25: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #26: 0x00000007102d24be JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:803
    frame #27: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #28: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #29: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #30: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #31: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #32: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #33: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812
    frame #34: 0x00000007102d1a1c JavaScriptCore`wasmLLIntPCRangeStart at WebAssembly.asm:812</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813547</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-10 04:13:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/85249360&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840420</commentid>
    <comment_count>5</comment_count>
    <who name="Sanjay Kumar">hypertree</who>
    <bug_when>2022-02-11 09:57:34 -0800</bug_when>
    <thetext>Liking discussion in Emsrcipten Github repo about this bug:
https://github.com/emscripten-core/emscripten/issues/16104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840454</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-11 10:56:29 -0800</bug_when>
    <thetext>We should write fast path for typed array in JSDOMConvertSequences.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840664</commentid>
    <comment_count>7</comment_count>
      <attachid>451775</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-11 23:57:31 -0800</bug_when>
    <thetext>Created attachment 451775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840731</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-12 14:45:31 -0800</bug_when>
    <thetext>Committed r289700 (247185@main): &lt;https://commits.webkit.org/247185@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451775.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1872163</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-05-26 15:04:23 -0700</bug_when>
    <thetext>This fix shipped with Safari 15.5 (all platforms).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451775</attachid>
            <date>2022-02-11 23:57:31 -0800</date>
            <delta_ts>2022-02-12 14:45:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232662-20220211235730.patch</filename>
            <type>text/plain</type>
            <size>4734</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTM4NTk3YTgyYmZiMDY5
YTAzZjE1NWQ0ZDg2YWY0YjU1MmNkM2ViNC4uYzEyZjQ4YjUyNzg3ZmYyNGZhYjgzNGRkYWI5N2M3
OTgyNjkzMzYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAyLTExICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0wyIEFsbG93U2hh
cmVkIFR5cGVkQXJyYXkgc2hvdWxkIGJlIGFjY2VwdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI2NjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiB3ZWJnbC93ZWJnbC1hbGxvdy1zaGFyZWQt
dHlwZWQtYXJyYXkuaHRtbAorCisgICAgICAgIFR5cGVkQXJyYXkgd2l0aCBbQWxsb3dTaGFyZWRd
IGFubm90YXRpb24gaXMgbm90IGhhbmRsZWQgcHJvcGVybHksIHdoaWNoIHJlc3VsdHMgaW4gaGFu
ZGxpbmcgaXQgYXMgU2VxdWVuY2U8VD4sCisgICAgICAgIGludm9raW5nIGl0ZXJhdGlvbiBwcm90
b2NvbCB0byBjb3B5IHRoZW0uIFRoaXMgcGF0Y2ggYWRkcyB0aGF0IGFzIHRoZSBzYW1lIHRvIFtB
bGxvd1NoYXJlZF0gQXJyYXlCdWZmZXIgLyBBcnJheUJ1ZmZlclZpZXcuCisKKyAgICAgICAgKiBi
aW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydFVu
aW9uLmg6CisKIDIwMjItMDItMTEgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIGBjb250YWluOmNvbnRlbnRgIGJyZWFrcyBmdWxsc2NyZWVuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvSURMVHlwZXMuaAppbmRleCA5ZjYxMmE2MWU0YjliNzRjMTM1MmIxN2FjZGJiNjdkYjQ2Yzk4
ZjcwLi5iMzdlZTFmZWYyNWJhMzVmZThiNmY4OGI3ZWQxMWIxYjNiYjQwYWI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL0lETFR5cGVzLmgKQEAgLTMyOCw2ICszMjgsOSBAQCBzdHJ1Y3QgSXNJRExGbG9h
dGluZ1BvaW50IDogcHVibGljIHN0ZDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgV1RGOjpJc0Jh
c2VPZlRlbQogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHN0cnVjdCBJc0lETFR5cGVkQXJyYXkgOiBw
dWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBXVEY6OklzQmFzZU9mVGVtcGxhdGU8
SURMVHlwZWRBcnJheSwgVD46OnZhbHVlPiB7IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+Citz
dHJ1Y3QgSXNJRExUeXBlZEFycmF5QWxsb3dTaGFyZWQgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9j
b25zdGFudDxib29sLCBXVEY6OklzQmFzZU9mVGVtcGxhdGU8SURMVHlwZWRBcnJheSwgVD46OnZh
bHVlICYmIFdURjo6SXNCYXNlT2ZUZW1wbGF0ZTxJRExBbGxvd1NoYXJlZEFkYXB0b3IsIFQ+Ojp2
YWx1ZT4geyB9OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0IElzSURMQXJyYXlCdWZm
ZXIgOiBwdWJsaWMgc3RkOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBzdGQ6OmlzX2Jhc2Vfb2Y8
SURMQXJyYXlCdWZmZXIsIFQ+Ojp2YWx1ZT4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRVbmlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Db252ZXJ0VW5pb24uaAppbmRleCAwOTkwMjEyZmUwYTJlOTMzNGU4Mjk1
ZjI1MTE2NzFlYmY1OWE2MjE5Li42ODM4NDM5ZWVlNDg1ZTNlMzRlNDA1Y2E3MjU5ODhkNjNmMTYw
ZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRV
bmlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFVuaW9u
LmgKQEAgLTI3Myw3ICsyNzMsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUPiBzdHJ1Y3QgQ29u
dmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERlZmF1bHRDb252ZXJ0ZXI8SURMVQogICAgICAgICAg
ICAgICAgIHVzaW5nIEltcGxlbWVudGF0aW9uVHlwZSA9IHR5cGVuYW1lIFR5cGU6OkltcGxlbWVu
dGF0aW9uVHlwZTsKICAgICAgICAgICAgICAgICB1c2luZyBXcmFwcGVyVHlwZSA9IHR5cGVuYW1l
IENvbnZlcnRlcjxUeXBlPjo6V3JhcHBlclR5cGU7CiAKLSAgICAgICAgICAgICAgICBhdXRvIGNh
c3RlZFZhbHVlID0gV3JhcHBlclR5cGU6OnRvV3JhcHBlZCh2bSwgdmFsdWUpOworICAgICAgICAg
ICAgICAgIGF1dG8gY2FzdGVkVmFsdWUgPSAoYnJpZ2FuZDo6YW55PFR5cGVMaXN0LCBJc0lETFR5
cGVkQXJyYXlBbGxvd1NoYXJlZDxicmlnYW5kOjpfMT4+Ojp2YWx1ZSkgPyBXcmFwcGVyVHlwZTo6
dG9XcmFwcGVkQWxsb3dTaGFyZWQodm0sIHZhbHVlKSA6IFdyYXBwZXJUeXBlOjp0b1dyYXBwZWQo
dm0sIHZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIWNhc3RlZFZhbHVlKQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NmJjMDg3ZmI4OTg2ZGZiM2I4MWZjZmM3MTY0
NWJmMDRmMzRiYzIxLi4zMmZiODY3NTNkNjNiYTA0YjEwOTRjNmE0MTk4NjQ4ZWY1ZWQyYzkzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDItMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJHTDIgQWxsb3dTaGFyZWQgVHlwZWRBcnJheSBzaG91
bGQgYmUgYWNjZXB0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMjY2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd2ViZ2wvd2ViZ2wtYWxsb3ctc2hhcmVkLXR5cGVkLWFycmF5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvd2ViZ2wtYWxsb3ctc2hhcmVkLXR5cGVkLWFycmF5
Lmh0bWw6IEFkZGVkLgorCiAyMDIyLTAyLTExICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBgY29udGFpbjpjb250ZW50YCBicmVha3MgZnVsbHNjcmVlbgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYWxsb3ctc2hhcmVkLXR5cGVkLWFycmF5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLWFsbG93LXNoYXJlZC10eXBlZC1h
cnJheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQxMzc1Nzc5MzU4MDJmNjYyMmQwYzY4ZTFj
NTgzMDg2OGY3ZmU5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3dlYmds
LWFsbG93LXNoYXJlZC10eXBlZC1hcnJheS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgV2ViR0wyIEFsbG93U2hhcmVkIHVuaWZvcm1NYXRyaXg0ZnYKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYWxsb3ctc2hhcmVkLXR5cGVkLWFycmF5Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1hbGxvdy1zaGFyZWQtdHlwZWQtYXJyYXkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ZDE0OGZiNWIyNDY4NTc3MDRmYzViNjRkMzgyZmQ4OTBkMTU4MzA5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYWxsb3ctc2hhcmVkLXR5cGVkLWFy
cmF5Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPkFsbG93U2hhcmVkIFR5cGVkQXJyYXkgaW4gV2ViR0w8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGNhbnZhcyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PC9jYW52YXM+Cis8c2Ny
aXB0PgordGVzdCgoKSA9PiB7CisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgnY2FudmFzJylbMF07CisgICAgY29uc3QgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgi
d2ViZ2wyIik7CisgICAgY29uc3QgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgY29u
c3QgYnVmZmVyRGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKDEw
MjQgKiAxMDI0KSkKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDFlNDsgKytpKQorICAgICAgICBn
bC51bmlmb3JtTWF0cml4NGZ2KG51bGwsIHRydWUsIGJ1ZmZlckRhdGEpOworfSwgYFdlYkdMMiBB
bGxvd1NoYXJlZCB1bmlmb3JtTWF0cml4NGZ2YCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>