<?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>61523</bug_id>
          
          <creation_ts>2011-05-26 06:58:48 -0700</creation_ts>
          <short_desc>http/tests/eventsource/workers/eventsource-simple.html is a flaky crash because of eventsource-status-error-iframe-crash.html</short_desc>
          <delta_ts>2011-11-05 17:59:56 -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>Page Loading</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>ap</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>lforschler</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>410397</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-05-26 06:58:48 -0700</bug_when>
    <thetext>Sometimes, fails only on 64-bits Debug


#0  0x00002b326632a82a in webkit_web_data_source_dispose (object=0x21248c0) at ../../Source/WebKit/gtk/webkit/webkitwebdatasource.cpp:86
86	    ASSERT(!priv-&gt;loader-&gt;isLoading());

Thread 1 (Thread 25532):
#0  0x00002b326632a82a in webkit_web_data_source_dispose (object=0x21248c0) at ../../Source/WebKit/gtk/webkit/webkitwebdatasource.cpp:86
#1  0x00002b326a7a51ca in g_object_unref (_object=0x21248c0) at /tmp/buildd/glib2.0-2.28.6/./gobject/gobject.c:2697
#2  0x00002b32662f937c in WebKit::DocumentLoader::unrefDataSource (this=0x4c46a60) at ../../Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp:122
#3  0x00002b32662f928f in WebKit::DocumentLoader::decreaseLoadCount (this=0x4c46a60, identifier=1573) at ../../Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp:105
#4  0x00002b3266310b0f in WebKit::FrameLoaderClient::dispatchDidFailLoading (this=0x4c69540, loader=0x4c46a60, identifier=1573, error=...) at ../../Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1171
#5  0x00002b32669cf1ee in WebCore::ResourceLoadNotifier::didFailToLoad (this=0x4c90418, loader=0x4caac10, error=...) at ../../Source/WebCore/loader/ResourceLoadNotifier.cpp:98
#6  0x00002b32669ce45b in WebCore::ResourceLoader::cancel (this=0x4caac10, error=...) at ../../Source/WebCore/loader/ResourceLoader.cpp:384
#7  0x00002b32669ce259 in WebCore::ResourceLoader::cancel (this=0x4caac10) at ../../Source/WebCore/loader/ResourceLoader.cpp:343
#8  0x00002b3266974bdb in WebCore::cancelAll (loaders=...) at ../../Source/WebCore/loader/DocumentLoader.cpp:69
#9  0x00002b3266977d60 in WebCore::DocumentLoader::stopLoadingSubresources (this=0x4c46a60) at ../../Source/WebCore/loader/DocumentLoader.cpp:758
#10 0x00002b32669763a5 in WebCore::DocumentLoader::stopLoading (this=0x4c46a60) at ../../Source/WebCore/loader/DocumentLoader.cpp:262
#11 0x00002b326698cc5f in WebCore::FrameLoader::stopAllLoaders (this=0x4c90240, clearProvisionalItemPolicy=WebCore::ShouldClearProvisionalItem) at ../../Source/WebCore/loader/FrameLoader.cpp:1806
#12 0x00002b326699041f in WebCore::FrameLoader::frameDetached (this=0x4c90240) at ../../Source/WebCore/loader/FrameLoader.cpp:2670
#13 0x00002b3266806af6 in WebCore::HTMLFrameOwnerElement::willRemove (this=0x4c35550) at ../../Source/WebCore/html/HTMLFrameOwnerElement.cpp:58
#14 0x00002b32668060b3 in WebCore::HTMLFrameElementBase::willRemove (this=0x4c35550) at ../../Source/WebCore/html/HTMLFrameElementBase.cpp:283
#15 0x00002b32666107bc in WebCore::willRemoveChild (child=0x4c35550) at ../../Source/WebCore/dom/ContainerNode.cpp:387
#16 0x00002b326661099c in WebCore::ContainerNode::removeChild (this=0x4c78e40, oldChild=0x4c35550, ec=@0x7fff9d2c1d5c) at ../../Source/WebCore/dom/ContainerNode.cpp:427
#17 0x00002b3266695579 in WebCore::Node::removeChild (this=0x4c78e40, oldChild=0x4c35550, ec=@0x7fff9d2c1d5c) at ../../Source/WebCore/dom/Node.cpp:658
#18 0x00002b3266478712 in WebCore::JSNode::removeChild (this=0x2b32bc4a5318, exec=0x2b32bc0140d0) at ../../Source/WebCore/bindings/js/JSNodeCustom.cpp:172
#19 0x00002b32670f1ee3 in WebCore::jsNodePrototypeFunctionRemoveChild (exec=0x2b32bc0140d0) at DerivedSources/WebCore/JSNode.cpp:493
#20 0x00002b327c0011e8 in ?? ()
#21 0x00007fff9d2c1e70 in ?? ()
#22 0x00002b327c01686e in ?? ()
#23 0x00007fff9d2c1e00 in ?? ()
#24 0x00002b32bc4a4a58 in ?? ()
#25 0x0000000004c7f9a0 in ?? ()
#26 0x00002b32bc4a04e0 in ?? ()
#27 0x00002b32bc4a4cf8 in ?? ()
#28 0x00007fff9d2c1e20 in ?? ()
#29 0x00007fff9d2c1e30 in ?? ()
#30 0x00002b3265552213 in JSC::JSValue::decode (ptr=0x7fff9d2c2a90) at ../../Source/JavaScriptCore/runtime/JSValueInlineMethods.h:369
#31 0x00002b32655e7519 in JSC::JITCode::execute (this=0x2b32bc4ac878, registerFile=0x159b8b8, callFrame=0x2b32bc014048, globalData=0x1d1bfb0) at ../../Source/JavaScriptCore/jit/JITCode.h:77
#32 0x00002b32655e3f7c in JSC::Interpreter::executeCall (this=0x159b8a0, callFrame=0x2b32bc4a0568, function=0x2b32bc492de0, callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:852
#33 0x00002b3265678580 in JSC::call (exec=0x2b32bc4a0568, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/JavaScriptCore/runtime/CallData.cpp:38
#34 0x00002b3266431013 in WebCore::JSMainThreadExecState::call (exec=0x2b32bc4a0568, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/WebCore/bindings/js/JSMainThreadExecState.h:48
#35 0x00002b326645e5dd in WebCore::JSEventListener::handleEvent (this=0x4ca50f0, scriptExecutionContext=0x4c944c8, event=0x4c35800) at ../../Source/WebCore/bindings/js/JSEventListener.cpp:128
#36 0x00002b326667fd85 in WebCore::EventTarget::fireEventListeners (this=0x4ca5340, event=0x4c35800, d=0x4ca5458, entry=WTF::Vector of length 1, capacity 1 = {...}) at ../../Source/WebCore/dom/EventTarget.cpp:389
#37 0x00002b326667fc12 in WebCore::EventTarget::fireEventListeners (this=0x4ca5340, event=0x4c35800) at ../../Source/WebCore/dom/EventTarget.cpp:358
#38 0x00002b326667faa2 in WebCore::EventTarget::dispatchEvent (this=0x4ca5340, event=...) at ../../Source/WebCore/dom/EventTarget.cpp:340
#39 0x00002b3266a3149e in WebCore::EventSource::endRequest (this=0x4ca5340) at ../../Source/WebCore/page/EventSource.cpp:133
#40 0x00002b3266a31bf4 in WebCore::EventSource::didFail (this=0x4ca5340, error=...) at ../../Source/WebCore/page/EventSource.cpp:243
#41 0x00002b326697ff12 in WebCore::DocumentThreadableLoader::didFail (this=0x4ca54e0, loader=0x4ca48e0, error=...) at ../../Source/WebCore/loader/DocumentThreadableLoader.cpp:252
#42 0x00002b32669d7bd3 in WebCore::SubresourceLoader::willCancel (this=0x4ca48e0, error=...) at ../../Source/WebCore/loader/SubresourceLoader.cpp:230
#43 0x00002b32669ce318 in WebCore::ResourceLoader::cancel (this=0x4ca48e0, error=...) at ../../Source/WebCore/loader/ResourceLoader.cpp:363
#44 0x00002b32669ce259 in WebCore::ResourceLoader::cancel (this=0x4ca48e0) at ../../Source/WebCore/loader/ResourceLoader.cpp:343
#45 0x00002b326697f1dc in WebCore::DocumentThreadableLoader::cancel (this=0x4ca54e0) at ../../Source/WebCore/loader/DocumentThreadableLoader.cpp:137
#46 0x00002b3266a31a47 in WebCore::EventSource::didReceiveResponse (this=0x4ca5340, response=...) at ../../Source/WebCore/page/EventSource.cpp:218
#47 0x00002b326697fa23 in WebCore::DocumentThreadableLoader::didReceiveResponse (this=0x4ca54e0, loader=0x4ca48e0, response=...) at ../../Source/WebCore/loader/DocumentThreadableLoader.cpp:201
#48 0x00002b32669d7671 in WebCore::SubresourceLoader::didReceiveResponse (this=0x4ca48e0, r=...) at ../../Source/WebCore/loader/SubresourceLoader.cpp:141
#49 0x00002b32669ce6e9 in WebCore::ResourceLoader::didReceiveResponse (this=0x4ca48e0, response=...) at ../../Source/WebCore/loader/ResourceLoader.cpp:437
#50 0x00002b3266f31b40 in WebCore::gotHeadersCallback (msg=0x4205850, data=0x4ca62e0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:289
#51 0x00002b326a7a3e7e in g_closure_invoke (closure=0x4ca6da0, return_value=0xffff000000000002, n_param_values=1, param_values=0x4ac0b20, invocation_hint=0xffff000000000000) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#52 0x00002b326a7b58d7 in signal_emit_unlocked_R (node=&lt;value optimized out&gt;, detail=0, instance=0x4205850, emission_return=0x0, instance_and_params=0x4ac0b20) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#53 0x00002b326a7bed05 in g_signal_emit_valist (instance=&lt;value optimized out&gt;, signal_id=&lt;value optimized out&gt;, detail=&lt;value optimized out&gt;, var_args=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#54 0x00002b326a7beed3 in g_signal_emit (instance=&lt;value optimized out&gt;, signal_id=&lt;value optimized out&gt;, detail=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#55 0x00002b326a23b3d0 in io_read (sock=0x4b4d2e0, msg=0x4205850) at soup-message-io.c:944
#56 0x00002b326a7a3e7e in g_closure_invoke (closure=0x4b5dad0, return_value=0x0, n_param_values=1, param_values=0x4970d60, invocation_hint=0x7fff9d2c2f00) at /tmp/buildd/glib2.0-2.28.6/./gobject/gclosure.c:767
#57 0x00002b326a7b58d7 in signal_emit_unlocked_R (node=&lt;value optimized out&gt;, detail=0, instance=0x4b4d2e0, emission_return=0x0, instance_and_params=0x4970d60) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3252
#58 0x00002b326a7bed05 in g_signal_emit_valist (instance=&lt;value optimized out&gt;, signal_id=&lt;value optimized out&gt;, detail=&lt;value optimized out&gt;, var_args=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:2983
#59 0x00002b326a7beed3 in g_signal_emit (instance=&lt;value optimized out&gt;, signal_id=&lt;value optimized out&gt;, detail=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.28.6/./gobject/gsignal.c:3040
#60 0x00002b326a24873e in socket_read_watch (pollable=&lt;value optimized out&gt;, user_data=0x4b4d2e0) at soup-socket.c:1139
#61 0x00002b326b03b4a3 in g_main_dispatch (context=0x14f7a40) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#62 g_main_context_dispatch (context=0x14f7a40) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
#63 0x00002b326b03bc80 in g_main_context_iterate (context=0x14f7a40, block=1, dispatch=1, self=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#64 0x00002b326b03c2f2 in g_main_loop_run (loop=0x4c20c50) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3299
#65 0x00002b3268f772b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#66 0x0000000000423e91 in runTest (testPathOrURL=...) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:703
#67 0x000000000042352e in runTestingServerLoop () at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:495
#68 0x00000000004257f0 in main (argc=2, argv=0x7fff9d2c3da8) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1180

Will skip the test for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414223</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-02 10:04:35 -0700</bug_when>
    <thetext>*** Bug 61937 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417305</commentid>
    <comment_count>2</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-06-08 09:58:38 -0700</bug_when>
    <thetext>The ASSERT also exists in Mac:

http://trac.webkit.org/browser/trunk/Source/WebKit/mac/WebView/WebDataSource.mm#L94

I think that&apos;s probably where it came from to our own WebKitWebDataSource. Maybe the place where we are destroying the datasource is bad (or simply different) compared to Mac, though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417326</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-08 10:21:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; The ASSERT also exists in Mac:
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Source/WebKit/mac/WebView/WebDataSource.mm#L94
&gt; 
&gt; I think that&apos;s probably where it came from to our own WebKitWebDataSource. Maybe the place where we are destroying the datasource is bad (or simply different) compared to Mac, though?

Could it be that Mac lets the main loop spin before actually destroying the wrapper object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455551</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-23 11:36:47 -0700</bug_when>
    <thetext>This crash also frequently occurs on Mac. It&apos;s the previous test that crashes, in fact.

run-webkit-tests --repeat 10 http/tests/eventsource/eventsource-status-error-iframe-crash.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit              	0x00000001023d1262 -[WebDataSourcePrivate dealloc] + 274 (WebDataSource.mm:94)
1   com.apple.WebKit              	0x00000001023d2b44 -[WebDataSource dealloc] + 132 (WebDataSource.mm:409)
2   com.apple.CoreFoundation      	0x00007fff88c11800 CFRelease + 176
3   com.apple.WebKit              	0x00000001023d9cd3 WebDocumentLoaderMac::releaseDataSource() + 147 (WebDocumentLoaderMac.mm:135)
4   com.apple.WebKit              	0x00000001023d9f88 WebDocumentLoaderMac::decreaseLoadCount(unsigned long) + 472 (WebDocumentLoaderMac.mm:116)
...
38  com.apple.WebCore             	0x0000000102e7f40f WebCore::DocumentThreadableLoader::cancel() + 95 (DocumentThreadableLoader.cpp:146)
39  com.apple.WebCore             	0x000000010303c4d5 WebCore::EventSource::didReceiveResponse(unsigned long, WebCore::ResourceResponse const&amp;) + 1429 (EventSource.cpp:221)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455754</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-23 15:40:21 -0700</bug_when>
    <thetext>*** Bug 62554 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459808</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-31 12:02:17 -0700</bug_when>
    <thetext>The problem here is that we dispatch an error event when canceling EventSource loads in a frame that&apos;s being detached. This is incorrect per the spec, and in this particular case, it makes us recurse into Frame&apos;s willDetach methods, causing some major brokenness.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459850</commentid>
    <comment_count>7</comment_count>
      <attachid>105819</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-31 13:12:38 -0700</bug_when>
    <thetext>Created attachment 105819
proposed fix

This changes the logic and behavior quite a bit, but I think that it&apos;s becoming simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459864</commentid>
    <comment_count>8</comment_count>
      <attachid>105819</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-31 13:35:56 -0700</bug_when>
    <thetext>Comment on attachment 105819
proposed fix

This patch makes me smile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460009</commentid>
    <comment_count>9</comment_count>
      <attachid>105819</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 16:00:50 -0700</bug_when>
    <thetext>Comment on attachment 105819
proposed fix

Clearing flags on attachment: 105819

Committed r94242: &lt;http://trac.webkit.org/changeset/94242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460010</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 16:00:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462584</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-09-06 09:19:43 -0700</bug_when>
    <thetext>Philippe were any tests skipped for this issue? If so we should unskip them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462602</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-09-06 09:42:14 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Philippe were any tests skipped for this issue? If so we should unskip them.

Right, I forgot, thanks for the reminder!

http://trac.webkit.org/changeset/94576</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496748</commentid>
    <comment_count>13</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-05 17:59:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; Philippe were any tests skipped for this issue? If so we should unskip them.
&gt; 
&gt; Right, I forgot, thanks for the reminder!
&gt; 
&gt; http://trac.webkit.org/changeset/94576

There where still some skipped from bug https://bugs.webkit.org/show_bug.cgi?id=61937. I&apos;ve unskipped them now. http://trac.webkit.org/changeset/99365</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105819</attachid>
            <date>2011-08-31 13:12:38 -0700</date>
            <delta_ts>2011-08-31 16:00:50 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>EventSource.txt</filename>
            <type>text/plain</type>
            <size>12037</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMDgtMzEgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS93b3JrZXJzL2V2ZW50c291cmNlLXNpbXBsZS5odG1sIGlzIGEgZmxha3kgY3Jhc2ggYmVj
YXVzZSBvZgorICAgICAgICBldmVudHNvdXJjZS1zdGF0dXMtZXJyb3ItaWZyYW1lLWNyYXNoLmh0
bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTIz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHBy
b2JsZW0gaGVyZSB3YXMgdGhhdCBjYW5jZWxpbmcgRXZlbnRTb3VyY2UgZHVyaW5nIGZyYW1lIHJl
bW92YWwgZXJyb25lb3VzbHkgcmVzdWx0ZWQKKyAgICAgICAgaW4gZXZlbnQgZGlzcGF0Y2gsIGFu
ZCBldmVudCBoYW5kbGVyIHJlLWVudGVyZWQgZnJhbWUgZGVzdHJ1Y3Rpb24gY29kZS4KKworICAg
ICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDogUmVuYW1lZCBlbmRSZXF1ZXN0KCkgdG8gbmV0d29y
a1JlcXVlc3RFbmRlZCgpLCBiZWNhdXNlIHRoaXMgbWV0aG9kCisgICAgICAgIGRvZXNuJ3QgZW5k
IHJlcXVlc3QuIEl0IGltcGxlbWVudHMgInJlZXN0YWJsaXNoIHRoZSBjb25uZWN0aW9uIiBvciAi
ZmFpbCB0aGUgY29ubmVjdGlvbiIKKyAgICAgICAgYWxnb3RpdGhtcyBmcm9tIHRoZSBzcGVjLCBk
ZXBlbmRpbmcgb24gY3VycmVudCBzdGF0ZS4KKyAgICAgICAgUmVtb3ZlZCBtX2ZhaWxTaWxlbnRs
eSwgc2luY2Ugd2UgY2FuIG1ha2UgdGhpcyBkZWNpc2lvbiB3aXRoIGV4aXN0aW5nIGRhdGEsIGFu
ZCB3YW50IHRvCisgICAgICAgIGZhaWwgc2lsZW50bHkgYnkgZGVmYXVsdCAoZS5nLiB3aGVuIGRl
dGFjaGluZyBhIGZyYW1lIGNhbmNlbHMgYWxsIGxvYWRzKS4KKworICAgICAgICAqIHBhZ2UvRXZl
bnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OkV2ZW50U291cmNl
KTogRG9uJ3QgaW5pdGlhbGl6ZSBtX2ZhaWxTaWxlbnRseS4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50U291cmNlOjp+RXZlbnRTb3VyY2UpOiBBc3NlcnQgdGFodCB3ZSBhcmUgaW4gYSBjb3JyZWN0
IHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNvbm5lY3QpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpuZXR3b3JrUmVxdWVzdEVuZGVkKTogTW92
ZWQgZXJyb3JldmVudCBkaXNwYXRjaCBlbHNld2hlcmUuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QpOiBFcnJvciBldmVudCBzaG91bGQgYWx3YXlzIGJl
IHF1ZXVlZCB3aGVuCisgICAgICAgIHJlY29ubmVjdGluZzsgZmlyaW5nIGl0IHN5bmNocm9ub3Vz
bHkgYWZ0ZXIgc3RhcnRpbmcgbV9yZWNvbm5lY3RUaW1lciBpbXBsZW1lbnRzIHRoYXQuCisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6cmVjb25uZWN0VGltZXJGaXJlZCk6IEFzc2VydCB0
aGF0IHN0YXRlIGlzIGNvcnJlY3QgKHRoZSB0aW1lciBpcworICAgICAgICBzdG9wcGVkIGlmIEV2
ZW50U291cmNlIGlzIHN0b3BwZWQgd2hpbGUgd2FpdGluZyBvbiB0aGUgdGltZXIpLgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNsb3NlKTogRG9uJ3Qgc2V0IG1fc3RhdGUgYmVmb3Jl
IGNhbGxpbmcgY2FuY2VsKCkgLSBpdCB3aWxsIGluZGlyZWN0bHkKKyAgICAgICAgY2FsbCBkaWRG
YWlsKCksIHdoaWNoIGFzc2VydHMgdGhhdCBFdmVudFNvdXJjZSBpcyBub3Qgc3RvcHBlZCB5ZXQu
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogRXhw
bGljaXRseSBkaXNwYXRjaCBhbiBlcnJvciBldmVudCwgc2luY2UgaXQKKyAgICAgICAgaXMgbm8g
bG9uZ2VyIGRpc3BhdGNoZWQgd2hlbiBjYW5jZWxpbmcsIGFuZCBjYW5jZWxpbmcgaXMgdGhlIG9u
bHkgd2F5IHRvIHN0b3AgYSBUaHJlYWRhYmxlTG9hZGVyLgorICAgICAgICBSZW1vdmVkIGEgc3Bl
Y2lhbCBjYXNlIGZvciAyeHggcmVzcG9uc2VzLCBzaW5jZSBpdCdzIG5vIGxvbmdlciBpbiB0aGUg
c3BlYy4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRSZWNlaXZlRGF0YSk6IEFz
c2VydCB0aGF0IHN0YXRlIGlzIGNvcnJlY3QuCisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6ZGlkRmluaXNoTG9hZGluZyk6IERvbid0IHNldCBzdGF0ZSB0byBDT05ORUNUSU5HIGFmdGVy
IHBhcnNpbmcgcmVtYWluaW5nCisgICAgICAgIHJlc3BvbnNlIGJ5dGVzIC0gdGhhdCBtYXkgd2Vs
bCByZXN1bHQgaW4gZGlzcGF0Y2hpbmcgYW4gZXZlbnQgd2hvc2UgaGFuZGxlciBjYWxscyBjbG9z
ZSgpLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZEZhaWwpOiBJdCdzIHNpbXBs
ZSBub3cgLSB3ZSBhbHdheXMgcmVjb25uZWN0IHVubGVzcyB0aGUgcmVxdWVzdAorICAgICAgICBn
b3QgY2FuY2VsZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkRmFpbFJlZGly
ZWN0Q2hlY2spOiBEaXNwYXRjaCBlcnJvciBldmVudCBleHBsaWNpdGx5LCBhcyB3ZSBhcmUKKyAg
ICAgICAgbm90IGdvaW5nIHRvIGF0dGVtcHQgcmVjb25uZWN0aW5nLgorCiAyMDExLTA4LTMxICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIHdp
dGggLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodG9wKSBncmFkaWVudApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAJKHJldmlzaW9uIDk0MDkyKQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDYgQEAgaW5s
aW5lIEV2ZW50U291cmNlOjpFdmVudFNvdXJjZShjb25zdCBLVQogICAgICwgbV9kZWNvZGVyKFRl
eHRSZXNvdXJjZURlY29kZXI6OmNyZWF0ZSgidGV4dC9wbGFpbiIsICJVVEYtOCIpKQogICAgICwg
bV9yZWNvbm5lY3RUaW1lcih0aGlzLCAmRXZlbnRTb3VyY2U6OnJlY29ubmVjdFRpbWVyRmlyZWQp
CiAgICAgLCBtX2Rpc2NhcmRUcmFpbGluZ05ld2xpbmUoZmFsc2UpCi0gICAgLCBtX2ZhaWxTaWxl
bnRseShmYWxzZSkKICAgICAsIG1fcmVxdWVzdEluRmxpZ2h0KGZhbHNlKQogICAgICwgbV9yZWNv
bm5lY3REZWxheShkZWZhdWx0UmVjb25uZWN0RGVsYXkpCiAgICAgLCBtX29yaWdpbihjb250ZXh0
LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKQpAQCAtMTAxLDEwICsxMDAsMTUgQEAgUGFz
c1JlZlB0cjxFdmVudFNvdXJjZT4gRXZlbnRTb3VyY2U6OmNyZQogCiBFdmVudFNvdXJjZTo6fkV2
ZW50U291cmNlKCkKIHsKKyAgICBBU1NFUlQobV9zdGF0ZSA9PSBDTE9TRUQpOworICAgIEFTU0VS
VCghbV9yZXF1ZXN0SW5GbGlnaHQpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpjb25uZWN0KCkK
IHsKKyAgICBBU1NFUlQobV9zdGF0ZSA9PSBDT05ORUNUSU5HKTsKKyAgICBBU1NFUlQoIW1fcmVx
dWVzdEluRmxpZ2h0KTsKKwogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fdXJsKTsKICAg
ICByZXF1ZXN0LnNldEhUVFBNZXRob2QoIkdFVCIpOwogICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRl
ckZpZWxkKCJBY2NlcHQiLCAidGV4dC9ldmVudC1zdHJlYW0iKTsKQEAgLTEyNCwxNiArMTI4LDEz
IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmNvbm5lY3QoKQogICAgICAgICBtX3JlcXVlc3RJbkZsaWdo
dCA9IHRydWU7CiB9CiAKLXZvaWQgRXZlbnRTb3VyY2U6OmVuZFJlcXVlc3QoKQordm9pZCBFdmVu
dFNvdXJjZTo6bmV0d29ya1JlcXVlc3RFbmRlZCgpCiB7CiAgICAgaWYgKCFtX3JlcXVlc3RJbkZs
aWdodCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9yZXF1ZXN0SW5GbGlnaHQgPSBmYWxzZTsK
IAotICAgIGlmICghbV9mYWlsU2lsZW50bHkpCi0gICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0KICAgICBp
ZiAobV9zdGF0ZSAhPSBDTE9TRUQpCiAgICAgICAgIHNjaGVkdWxlUmVjb25uZWN0KCk7CiAgICAg
ZWxzZQpAQCAtMTQ0LDYgKzE0NSw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25u
ZWN0KCkKIHsKICAgICBtX3N0YXRlID0gQ09OTkVDVElORzsKICAgICBtX3JlY29ubmVjdFRpbWVy
LnN0YXJ0T25lU2hvdChtX3JlY29ubmVjdERlbGF5IC8gMTAwMCk7CisgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsK
IH0KIAogdm9pZCBFdmVudFNvdXJjZTo6cmVjb25uZWN0VGltZXJGaXJlZChUaW1lcjxFdmVudFNv
dXJjZT4qKQpAQCAtMTYzLDE5ICsxNjUsMjEgQEAgRXZlbnRTb3VyY2U6OlN0YXRlIEV2ZW50U291
cmNlOjpyZWFkeVN0YQogCiB2b2lkIEV2ZW50U291cmNlOjpjbG9zZSgpCiB7Ci0gICAgaWYgKG1f
c3RhdGUgPT0gQ0xPU0VEKQorICAgIGlmIChtX3N0YXRlID09IENMT1NFRCkgeworICAgICAgICBB
U1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAorICAg
IC8vIFN0b3AgdHJ5aW5nIHRvIHJlY29ubmVjdCBpZiBFdmVudFNvdXJjZSB3YXMgZXhwbGljaXRs
eSBjbG9zZWQgb3IgaWYgQWN0aXZlRE9NT2JqZWN0OjpzdG9wKCkgd2FzIGNhbGxlZC4KICAgICBp
ZiAobV9yZWNvbm5lY3RUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIG1fcmVjb25uZWN0VGlt
ZXIuc3RvcCgpOwogICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICB9CiAK
LSAgICBtX3N0YXRlID0gQ0xPU0VEOwotICAgIG1fZmFpbFNpbGVudGx5ID0gdHJ1ZTsKLQogICAg
IGlmIChtX3JlcXVlc3RJbkZsaWdodCkKICAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOworCisg
ICAgbV9zdGF0ZSA9IENMT1NFRDsKIH0KIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogRXZlbnRT
b3VyY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdApAQCAtMTg1LDEzICsxODksMTUg
QEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogRXZlbnRTb3VyY2U6OnNjcgogCiB2b2lkIEV2ZW50
U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCiB7CisgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVDVElORyk7
CisgICAgQVNTRVJUKG1fcmVxdWVzdEluRmxpZ2h0KTsKKwogICAgIGludCBzdGF0dXNDb2RlID0g
cmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKTsKICAgICBib29sIG1pbWVUeXBlSXNWYWxpZCA9IHJl
c3BvbnNlLm1pbWVUeXBlKCkgPT0gInRleHQvZXZlbnQtc3RyZWFtIjsKICAgICBib29sIHJlc3Bv
bnNlSXNWYWxpZCA9IHN0YXR1c0NvZGUgPT0gMjAwICYmIG1pbWVUeXBlSXNWYWxpZDsKICAgICBp
ZiAocmVzcG9uc2VJc1ZhbGlkKSB7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgY2hhcnNldCA9IHJl
c3BvbnNlLnRleHRFbmNvZGluZ05hbWUoKTsKLSAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIGNoYXJz
ZXQsIHRoZSBvbmx5IGFsbG93ZWQgdmFsdWUgaXMgVVRGLTggKGNhc2UtaW5zZW5zaXRpdmUpLiBU
aGlzIHNob3VsZCBtYXRjaAotICAgICAgICAvLyB0aGUgdXBkYXRlZCBFdmVudFNvdXJjZSBzdGFu
ZGFyZC4KKyAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIGNoYXJzZXQsIHRoZSBvbmx5IGFsbG93ZWQg
dmFsdWUgaXMgVVRGLTggKGNhc2UtaW5zZW5zaXRpdmUpLgogICAgICAgICByZXNwb25zZUlzVmFs
aWQgPSBjaGFyc2V0LmlzRW1wdHkoKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShjaGFyc2V0LCAiVVRG
LTgiKTsKICAgICAgICAgaWYgKCFyZXNwb25zZUlzVmFsaWQpIHsKICAgICAgICAgICAgIFN0cmlu
ZyBtZXNzYWdlID0gIkV2ZW50U291cmNlJ3MgcmVzcG9uc2UgaGFzIGEgY2hhcnNldCAoXCIiOwpA
QCAtMjE1LDQwICsyMjEsNTEgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KHVucwogICAgICAgICBtX3N0YXRlID0gT1BFTjsKICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5vcGVuRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGlmIChzdGF0dXNDb2RlIDw9IDIwMCB8fCBzdGF0dXNDb2RlID4gMjk5
KQotICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgbV9sb2FkZXItPmNhbmNl
bCgpOworICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVy
cm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAgIH0KIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6
ZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKIHsKKyAgICBBU1NF
UlQobV9zdGF0ZSA9PSBPUEVOKTsKKyAgICBBU1NFUlQobV9yZXF1ZXN0SW5GbGlnaHQpOworCiAg
ICAgYXBwZW5kKG1fcmVjZWl2ZUJ1ZiwgbV9kZWNvZGVyLT5kZWNvZGUoZGF0YSwgbGVuZ3RoKSk7
CiAgICAgcGFyc2VFdmVudFN0cmVhbSgpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpkaWRGaW5p
c2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcsIGRvdWJsZSkKIHsKKyAgICBBU1NFUlQobV9zdGF0ZSA9
PSBPUEVOKTsKKyAgICBBU1NFUlQobV9yZXF1ZXN0SW5GbGlnaHQpOworCiAgICAgaWYgKG1fcmVj
ZWl2ZUJ1Zi5zaXplKCkgPiAwIHx8IG1fZGF0YS5zaXplKCkgPiAwKSB7CiAgICAgICAgIGFwcGVu
ZChtX3JlY2VpdmVCdWYsICJcblxuIik7CiAgICAgICAgIHBhcnNlRXZlbnRTdHJlYW0oKTsKICAg
ICB9Ci0gICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgZW5kUmVxdWVzdCgpOworICAgIG5l
dHdvcmtSZXF1ZXN0RW5kZWQoKTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6ZGlkRmFpbChjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKLSAgICBpbnQgY2FuY2VsZWQgPSBlcnJvci5pc0Nh
bmNlbGxhdGlvbigpOwotICAgIGlmICgoKG1fc3RhdGUgPT0gQ09OTkVDVElORykgJiYgIWNhbmNl
bGVkKSB8fCAoKG1fc3RhdGUgPT0gT1BFTikgJiYgY2FuY2VsZWQpKQorICAgIEFTU0VSVChtX3N0
YXRlICE9IENMT1NFRCk7CisgICAgQVNTRVJUKG1fcmVxdWVzdEluRmxpZ2h0KTsKKworICAgIGlm
IChlcnJvci5pc0NhbmNlbGxhdGlvbigpKQogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwotICAg
IGVuZFJlcXVlc3QoKTsKKyAgICBuZXR3b3JrUmVxdWVzdEVuZGVkKCk7CiB9CiAKIHZvaWQgRXZl
bnRTb3VyY2U6OmRpZEZhaWxSZWRpcmVjdENoZWNrKCkKIHsKLSAgICBtX3N0YXRlID0gQ0xPU0VE
OworICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5FQ1RJTkcpOworICAgIEFTU0VSVChtX3JlcXVl
c3RJbkZsaWdodCk7CisKICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CisKKyAgICBBU1NFUlQobV9z
dGF0ZSA9PSBDTE9TRUQpOworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6
OnBhcnNlRXZlbnRTdHJlYW0oKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAkocmV2
aXNpb24gOTQwOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTk3LDcgKzk3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2soKTsKIAogICAgICAgICB2b2lkIGNvbm5l
Y3QoKTsKLSAgICAgICAgdm9pZCBlbmRSZXF1ZXN0KCk7CisgICAgICAgIHZvaWQgbmV0d29ya1Jl
cXVlc3RFbmRlZCgpOwogICAgICAgICB2b2lkIHNjaGVkdWxlUmVjb25uZWN0KCk7CiAgICAgICAg
IHZvaWQgcmVjb25uZWN0VGltZXJGaXJlZChUaW1lcjxFdmVudFNvdXJjZT4qKTsKICAgICAgICAg
dm9pZCBwYXJzZUV2ZW50U3RyZWFtKCk7CkBAIC0xMTIsNyArMTEyLDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBUaW1lcjxFdmVudFNvdXJjZT4gbV9yZWNvbm5lY3RUaW1lcjsKICAg
ICAgICAgVmVjdG9yPFVDaGFyPiBtX3JlY2VpdmVCdWY7CiAgICAgICAgIGJvb2wgbV9kaXNjYXJk
VHJhaWxpbmdOZXdsaW5lOwotICAgICAgICBib29sIG1fZmFpbFNpbGVudGx5OwogICAgICAgICBi
b29sIG1fcmVxdWVzdEluRmxpZ2h0OwogCiAgICAgICAgIFN0cmluZyBtX2V2ZW50TmFtZTsKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDk0MjE4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDgtMzEgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cC90ZXN0cy9ldmVudHNvdXJjZS93b3JrZXJz
L2V2ZW50c291cmNlLXNpbXBsZS5odG1sIGlzIGEgZmxha3kgY3Jhc2ggYmVjYXVzZSBvZgorICAg
ICAgICBldmVudHNvdXJjZS1zdGF0dXMtZXJyb3ItaWZyYW1lLWNyYXNoLmh0bWwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTIzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50
c291cmNlL2V2ZW50c291cmNlLXN0YXR1cy1jb2RlLXN0YXRlcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1zdGF0dXMtY29kZS1zdGF0
ZXMuaHRtbDoKKyAgICAgICAgMnh4IHJlc3BvbnNlcyBhcmUgbm8gbG9uZ2VyIGRpZmZlcmVudCBm
cm9tIGFueSBvdGhlciBmYWlsdXJlcy4KKwogMjAxMS0wOC0zMSAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB3aXRoIC13ZWJraXQtcmFkaWFs
LWdyYWRpZW50KHRvcCkgZ3JhZGllbnQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2Utc3RhdHVzLWNvZGUtc3RhdGVzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNl
LXN0YXR1cy1jb2RlLXN0YXRlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk0MDkyKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1zdGF0dXMtY29kZS1z
dGF0ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzEsOSBAQAogVGVzdCBF
dmVudFNvdXJjZSBzdGF0ZXMgZm9yIGRpZmZlcmVudCBzdGF0dXMgY29kZXMuIFNob3VsZCBwcmlu
dCBhIHNlcmllcyBvZiBQQVNTIG1lc3NhZ2VzIGZvbGxvd2VkIGJ5IERPTkUuCiAKIFBBU1M6IHN0
YXR1cyBjb2RlIDIwMCByZXN1bHRlZCBpbiBzdGF0ZXMgQ09OTkVDVElORywgT1BFTiwgT1BFTiwg
Q09OTkVDVElORywgQ0xPU0VECi1QQVNTOiBzdGF0dXMgY29kZSAyMDQgcmVzdWx0ZWQgaW4gc3Rh
dGVzIENPTk5FQ1RJTkcsIENPTk5FQ1RJTkcsIENMT1NFRAotUEFTUzogc3RhdHVzIGNvZGUgMjA1
IHJlc3VsdGVkIGluIHN0YXRlcyBDT05ORUNUSU5HLCBDT05ORUNUSU5HLCBDTE9TRUQKLVBBU1M6
IHN0YXR1cyBjb2RlIDIwMiByZXN1bHRlZCBpbiBzdGF0ZXMgQ09OTkVDVElORywgQ09OTkVDVElO
RywgQ0xPU0VECitQQVNTOiBzdGF0dXMgY29kZSAyMDQgcmVzdWx0ZWQgaW4gc3RhdGVzIENPTk5F
Q1RJTkcsIENMT1NFRCwgQ0xPU0VECitQQVNTOiBzdGF0dXMgY29kZSAyMDUgcmVzdWx0ZWQgaW4g
c3RhdGVzIENPTk5FQ1RJTkcsIENMT1NFRCwgQ0xPU0VECitQQVNTOiBzdGF0dXMgY29kZSAyMDIg
cmVzdWx0ZWQgaW4gc3RhdGVzIENPTk5FQ1RJTkcsIENMT1NFRCwgQ0xPU0VECiBQQVNTOiBzdGF0
dXMgY29kZSAzMDEgcmVzdWx0ZWQgaW4gc3RhdGVzIENPTk5FQ1RJTkcsIE9QRU4sIE9QRU4sIENP
Tk5FQ1RJTkcsIENMT1NFRAogUEFTUzogc3RhdHVzIGNvZGUgMzAyIHJlc3VsdGVkIGluIHN0YXRl
cyBDT05ORUNUSU5HLCBPUEVOLCBPUEVOLCBDT05ORUNUSU5HLCBDTE9TRUQKIFBBU1M6IHN0YXR1
cyBjb2RlIDMwMyByZXN1bHRlZCBpbiBzdGF0ZXMgQ09OTkVDVElORywgT1BFTiwgT1BFTiwgQ09O
TkVDVElORywgQ0xPU0VECkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXN0YXR1cy1jb2RlLXN0YXRlcy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2Utc3RhdHVzLWNvZGUtc3Rh
dGVzLmh0bWwJKHJldmlzaW9uIDk0MDkyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS1zdGF0dXMtY29kZS1zdGF0ZXMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMjEsOSArMjEsOSBAQCBmb3IgKHZhciBpIGluIHN0YXRlTmFtZXMpCiAgICAgZXZhbCgi
dmFyICIgKyBzdGF0ZU5hbWVzW2ldICsgIiA9ICIgKyBpKTsKIAogdmFyIHRlc3RzID0gW3siY29k
ZSI6IDIwMCwgImV4cGVjdGVkU3RhdGVzIjogW0NPTk5FQ1RJTkcsIE9QRU4sIE9QRU4sIENPTk5F
Q1RJTkcsIENMT1NFRF19LAotICAgICAgICAgICAgIHsiY29kZSI6IDIwNCwgImV4cGVjdGVkU3Rh
dGVzIjogW0NPTk5FQ1RJTkcsLCwgQ09OTkVDVElORywgQ0xPU0VEXX0sCi0gICAgICAgICAgICAg
eyJjb2RlIjogMjA1LCAiZXhwZWN0ZWRTdGF0ZXMiOiBbQ09OTkVDVElORywsLCBDT05ORUNUSU5H
LCBDTE9TRURdfSwKLSAgICAgICAgICAgICB7ImNvZGUiOiAyMDIsICJleHBlY3RlZFN0YXRlcyI6
IFtDT05ORUNUSU5HLCwsIENPTk5FQ1RJTkcsIENMT1NFRF19LCAvLyBvdGhlciAyeHgKKyAgICAg
ICAgICAgICB7ImNvZGUiOiAyMDQsICJleHBlY3RlZFN0YXRlcyI6IFtDT05ORUNUSU5HLCwsIENM
T1NFRCwgQ0xPU0VEXX0sCisgICAgICAgICAgICAgeyJjb2RlIjogMjA1LCAiZXhwZWN0ZWRTdGF0
ZXMiOiBbQ09OTkVDVElORywsLCBDTE9TRUQsIENMT1NFRF19LAorICAgICAgICAgICAgIHsiY29k
ZSI6IDIwMiwgImV4cGVjdGVkU3RhdGVzIjogW0NPTk5FQ1RJTkcsLCwgQ0xPU0VELCBDTE9TRURd
fSwgLy8gb3RoZXIgMnh4CiAgICAgICAgICAgICAgeyJjb2RlIjogMzAxLCAiZXhwZWN0ZWRTdGF0
ZXMiOiBbQ09OTkVDVElORywgT1BFTiwgT1BFTiwgQ09OTkVDVElORywgQ0xPU0VEXX0sCiAgICAg
ICAgICAgICAgeyJjb2RlIjogMzAyLCAiZXhwZWN0ZWRTdGF0ZXMiOiBbQ09OTkVDVElORywgT1BF
TiwgT1BFTiwgQ09OTkVDVElORywgQ0xPU0VEXX0sCiAgICAgICAgICAgICAgeyJjb2RlIjogMzAz
LCAiZXhwZWN0ZWRTdGF0ZXMiOiBbQ09OTkVDVElORywgT1BFTiwgT1BFTiwgQ09OTkVDVElORywg
Q0xPU0VEXX0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>