<?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>144597</bug_id>
          
          <creation_ts>2015-05-04 14:46:17 -0700</creation_ts>
          <short_desc>Crash at com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createWindow + 185</short_desc>
          <delta_ts>2015-05-04 16:59: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>DOM</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1091533</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-05-04 14:46:17 -0700</bug_when>
    <thetext>Crash at com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createWindow + 185:
Thread[0] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x00000000000002e0)
[  0] 0x000000010c685d79 WebCore`WebCore::createWindow(WebCore::Frame*, WebCore::Frame*, WebCore::FrameLoadRequest const&amp;, WebCore::WindowFeatures const&amp;, bool&amp;) [inlined] WTF::RefPtr&lt;WebCore::Document&gt;::get() const at RefPtr.h:57

     0x000000010c685d62:     leaq -0x1b8(%rbp), %rdi
     0x000000010c685d69:    callq 0xed016e             ; symbol stub for: WTF::AtomicString::addSlowCase(WTF::StringImpl&amp;)
     0x000000010c685d6e:     movq -0x1b8(%rbp), %rsi
     0x000000010c685d75:     movq %rsi, -0x38(%rbp)
 -&gt;  0x000000010c685d79:     movq 0x2e0(%r12), %rbx
     0x000000010c685d81:     movq 0x90(%r15), %rdi
     0x000000010c685d88:     addq $0x40, %rdi
     0x000000010c685d8c:     leaq -0x38(%rbp), %rsi
     0x000000010c685d90:    callq 0x1a1ea0             ; WebCore::FrameTree::find at FrameTree.cpp:268

[  0] 0x000000010c685d79 WebCore`WebCore::createWindow(WebCore::Frame*, WebCore::Frame*, WebCore::FrameLoadRequest const&amp;, WebCore::WindowFeatures const&amp;, bool&amp;) [inlined] WebCore::Frame::document() const at Frame.h:347
       343 	    }
       344 	
       345 	    inline Document* Frame::document() const
       346 	    {
    -&gt; 347 	        return m_doc.get();
       348 	    }
       349 	
       350 	    inline FrameSelection&amp; Frame::selection() const
       351 	    {
    
[  0] 0x000000010c685d79 WebCore`WebCore::createWindow(WebCore::Frame*, WebCore::Frame*, WebCore::FrameLoadRequest const&amp;, WebCore::WindowFeatures const&amp;, bool&amp;) + 185 at FrameLoader.cpp:3445
       3441	
       3442	    created = false;
       3443	
       3444	    if (!request.frameName().isEmpty() &amp;&amp; request.frameName() != &quot;_blank&quot;) {
    -&gt; 3445	        if (RefPtr&lt;Frame&gt; frame = lookupFrame-&gt;loader().findFrameForNavigation(request.frameName(), openerFrame-&gt;document())) {
       3446	            if (request.frameName() != &quot;_self&quot;) {
       3447	                if (Page* page = frame-&gt;page())
       3448	                    page-&gt;chrome().focus();
       3449	            }
    
[  1] 0x000000010c850621 WebCore`WebCore::DOMWindow::createWindow(WTF::String const&amp;, WTF::AtomicString const&amp;, WebCore::WindowFeatures const&amp;, WebCore::DOMWindow&amp;, WebCore::Frame*, WebCore::Frame*, std::__1::function&lt;void (WebCore::DOMWindow&amp;)&gt;) + 1457 at DOMWindow.cpp:2100
       2096	
       2097	    // We pass the opener frame for the lookupFrame in case the active frame is different from
       2098	    // the opener frame, and the name references a frame relative to the opener frame.
       2099	    bool created;
    -&gt; 2100	    RefPtr&lt;Frame&gt; newFrame = WebCore::createWindow(activeFrame, openerFrame, frameRequest, windowFeatures, created);
       2101	    if (!newFrame)
       2102	        return 0;
       2103	
       2104	    newFrame-&gt;loader().setOpener(openerFrame);
    
[  2] 0x000000010c850d0e WebCore`WebCore::DOMWindow::open(WTF::String const&amp;, WTF::AtomicString const&amp;, WTF::String const&amp;, WebCore::DOMWindow&amp;, WebCore::DOMWindow&amp;) + 702 at DOMWindow.cpp:2178
[  3] 0x000000010c68553a WebCore`WebCore::JSDOMWindow::open(JSC::ExecState*) + 458 at JSDOMWindowCustom.cpp:487
[  4] 0x000000010c685352 WebCore`WebCore::jsDOMWindowPrototypeFunctionOpen(JSC::ExecState*) + 178 at JSDOMWindow.cpp:21707
[  5] 0x00005fbb35801034 0 + 105257661108276
[  6] 0x000000010c0c573d JavaScriptCore`llint_entry + 22743
[  7] 0x000000010c0c573d JavaScriptCore`llint_entry + 22743
[  8] 0x000000010c0bfc40 JavaScriptCore`callToJavaScript + 310
[  9] 0x000000010c044fa2 JavaScriptCore`JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 34 at JITCode.cpp:47
[ 10] 0x000000010bd07fcd JavaScriptCore`JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 461 at Interpreter.cpp:1000
[ 11] 0x000000010bedea5e JavaScriptCore`JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, JSC::JSValue*) [inlined] JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 35 at CallData.cpp:39
[ 11] 0x000000010bedea3b JavaScriptCore`JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, JSC::JSValue*) + 27 at CallData.cpp:44
[ 12] 0x000000010c48c4c7 WebCore`WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) [inlined] JSC::ArgList::ArgList(JSC::MarkedArgumentBuffer const&amp;) + 93 at JSMainThreadExecState.h:56
[ 12] 0x000000010c48c46a WebCore`WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 858 at JSEventListener.cpp:127
[ 13] 0x000000010c48bf83 WebCore`WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector&lt;WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow&gt;&amp;) + 691 at EventTarget.cpp:246
[ 14] 0x000000010c360646 WebCore`WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 166 at EventTarget.cpp:197
[ 15] 0x000000010c888b7d WebCore`WebCore::MouseOrFocusEventContext::handleLocalEvents(WebCore::Event&amp;) const [inlined] WebCore::EventContext::handleLocalEvents(WebCore::Event&amp;) const + 69 at EventContext.cpp:54
[ 15] 0x000000010c888b38 WebCore`WebCore::MouseOrFocusEventContext::handleLocalEvents(WebCore::Event&amp;) const + 120 at EventContext.cpp:86
[ 16] 0x000000010c8890e4 WebCore`WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr&lt;WebCore::Event&gt;) [inlined] WebCore::dispatchEventInDOM(WebCore::Event&amp;, WebCore::EventPath const&amp;, WebCore::WindowEventContext&amp;) + 375 at EventDispatcher.cpp:319
[ 16] 0x000000010c888f6d WebCore`WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr&lt;WebCore::Event&gt;) + 685 at EventDispatcher.cpp:363
[ 17] 0x000000010c36045c WebCore`WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 28 at Node.cpp:2017
[ 18] 0x000000010c87fdca WebCore`WebCore::Element::dispatchMouseEvent(WebCore::PlatformMouseEvent const&amp;, WTF::AtomicString const&amp;, int, WebCore::Element*) + 266 at Element.cpp:238
[ 19] 0x000000010c503636 WebCore`WebCore::EventHandler::dispatchMouseEvent(WTF::AtomicString const&amp;, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&amp;, bool) + 118 at EventHandler.cpp:2451
[ 20] 0x000000010c50b5d1 WebCore`WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&amp;) + 1073 at EventHandler.cpp:1963
[ 21] 0x000000010b4f5467 WebKit`WebKit::handleMouseEvent(WebKit::WebMouseEvent const&amp;, WebKit::WebPage*, bool) + 102 at WebPage.cpp:1852
[ 22] 0x000000010b4f53c6 WebKit`WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&amp;) + 182 at WebPage.cpp:1894
[ 23] 0x000000010b67aa76 WebKit`void IPC::handleMessage&lt;Messages::WebPage::MouseEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)&gt;(IPC::MessageDecoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)) [inlined] void IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;, 0ul&gt;(WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;&amp;&amp;, std::index_sequence&lt;0ul&gt;) + 27 at HandleMessage.h:16

Radar: &lt;rdar://problem/20361579&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091536</commentid>
    <comment_count>1</comment_count>
      <attachid>252335</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-05-04 15:01:52 -0700</bug_when>
    <thetext>Created attachment 252335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091612</commentid>
    <comment_count>2</comment_count>
      <attachid>252335</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-05-04 16:58:05 -0700</bug_when>
    <thetext>Comment on attachment 252335
Patch

r=me. Nice test :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091614</commentid>
    <comment_count>3</comment_count>
      <attachid>252335</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-05-04 16:59:49 -0700</bug_when>
    <thetext>Comment on attachment 252335
Patch

Clearing flags on attachment: 252335

Committed r183781: &lt;http://trac.webkit.org/changeset/183781&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091615</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-05-04 16:59:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252335</attachid>
            <date>2015-05-04 15:01:52 -0700</date>
            <delta_ts>2015-05-04 16:59:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144597-20150504150037.patch</filename>
            <type>text/plain</type>
            <size>14123</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDcyMTBhMDg3NzVkNWQx
ZjM2N2Y5MWM4N2Q4M2Q2NWQ4M2VjMWM2Ni4uY2U1YWJjMWQzY2ZkZTNiYTAzOGZhZDA0M2FlM2Vm
Y2I4M2ViNzY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTA1LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggYXQgY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50IGF0IGNvbS5hcHBsZS5XZWJDb3JlOiBXZWJDb3JlOjpjcmVhdGVX
aW5kb3cgKyAxODUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NDU5NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAzNjE1Nzk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1vcGVuLWFjdGl2ZVdpbmRvdy1udWxsLWZyYW1lLmh0bWwKKworICAgICAgICBJ
biBvdXIgaW1wbGVtZW50YXRpb24gb2Ygd2luZG93Lm9wZW4oKSwgd2UgbWFrZSBzdXJlIHRoYXQg
dGhlIHdpbmRvdworICAgICAgICB3aGljaCB3aW5kb3cub3BlbigpIGlzIGNhbGxlZCBoYXMgYSBm
cmFtZS4gSG93ZXZlciwgd2UgZGlkIG5vdCBoYXZlIHRoZQorICAgICAgICBzYW1lIGNoZWNrIGZv
ciB0aGUgYWN0aXZlRE9NV2luZG93IChpLmUuIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0KSBjYXVz
aW5nCisgICAgICAgIHVzIHRvIGNyYXNoIGluIFdlYkNvcmU6OmNyZWF0ZVdpbmRvdygpIHdoZW4g
ZGVyZWZlcmVuY2luZyBpdC4KKworICAgICAgICBUaGlzIHBhdGNoIHVwZGF0ZXMgV2ViQ29yZTo6
Y3JlYXRlV2luZG93KCkgdGFrZXMgYSByZWZlcmVuY2UgdG8gdGhlCisgICAgICAgIG9wZW5lckZy
YW1lIGluc3RlYWQgb2YgYSBwb2ludGVyIHRvIG1ha2UgaXQgY2xlYXIgdGhlIGltcGxlbWVudGF0
aW9uCisgICAgICAgIGV4cGVjdHMgaXQgdG8gYmUgbm9uLW51bGwuIEEgbnVsbCBjaGVjayBpcyB0
aGVuIGFkZGVkIGZvciB0aGUgZnJhbWUKKyAgICAgICAgYXQgdGhlIGNhbGwgc2l0ZTogRE9NV2lu
ZG93OjpjcmVhdGVXaW5kb3coKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWw6Om9wZW5Jbk5ld1RhYik6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRG9jdW1lbnRTYW5kYm94ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlV2luZG93KToKKyAgICAgICAgVGFrZSBhIHJlZmVyZW5jZSB0byBvcGVuZXJGcmFtZSBpbnN0
ZWFkIG9mIGEgcG9pbnRlciBhcyB0aGUKKyAgICAgICAgaW1wbGVtZW50YXRpb24gZXhwZWN0cyBp
dCB0byBiZSBub24tbnVsbC4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAg
ICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6
Y3JlYXRlV2luZG93KToKKyAgICAgICAgQWRkIG51bGwgY2hlY2sgZm9yIGFjdGl2ZUZyYW1lIGJl
Zm9yZSBwYXNzaW5nIGl0IHRvCisgICAgICAgIFdlYkNvcmU6OmNyZWF0ZVdpbmRvdygpLgorCiAy
MDE1LTA1LTA0ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtNYWNdIFNob3cgd2lyZWxlc3MgcGxheWJhY2sgcGxhY2FyZCBldmVuIHdoZW4gYW4gZWxl
bWVudCBoYXMgY3VzdG9tIGNvbnRyb2xzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggNDkxZTJmZmFi
NjVhZmQyNzkwMWNmNjg5NzNkOWUxYjBhZTY3YTdlOC4uY2IyNGQxZjVmOGFhYjkyNjdkMGM0MGM2
Njc1YTE3MTg2ODE5YWY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtMjE0LDcgKzIxNCw3IEBA
IHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6b3BlbkluTmV3VGFiKGNvbnN0IFN0
cmluZyYgdXJsKQogCiAgICAgYm9vbCBjcmVhdGVkOwogICAgIFdpbmRvd0ZlYXR1cmVzIHdpbmRv
d0ZlYXR1cmVzOwotICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBXZWJDb3JlOjpjcmVhdGVXaW5k
b3coJm1haW5GcmFtZSwgJm1haW5GcmFtZSwgcmVxdWVzdCwgd2luZG93RmVhdHVyZXMsIGNyZWF0
ZWQpOworICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBXZWJDb3JlOjpjcmVhdGVXaW5kb3cobWFp
bkZyYW1lLCAmbWFpbkZyYW1lLCByZXF1ZXN0LCB3aW5kb3dGZWF0dXJlcywgY3JlYXRlZCk7CiAg
ICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCBmYTFlN2ZjMzllMTUwMmUwMDlhNjMxZWYxMTRkMjQ5MDljYzNkZjM2
Li40NzkxY2Q4NGRiNDllMDFmMmRmYWNhY2RjYzMyMjdkZjkwMDNkMThmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE2OSw5ICsxNjksOSBAQCBib29sIGlzQmFja0Zv
cndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlIHR5cGUpCiAvLyBub24tbWVtYmVyIGxldHMgdXMg
ZXhjbHVkZSBpdCBmcm9tIHRoZSBoZWFkZXIgZmlsZSwgdGh1cyBrZWVwaW5nIEZyYW1lTG9hZGVy
LmgncwogLy8gQVBJIHNpbXBsZXIuCiAvLwotc3RhdGljIGJvb2wgaXNEb2N1bWVudFNhbmRib3hl
ZChGcmFtZSogZnJhbWUsIFNhbmRib3hGbGFncyBtYXNrKQorc3RhdGljIGJvb2wgaXNEb2N1bWVu
dFNhbmRib3hlZChGcmFtZSYgZnJhbWUsIFNhbmRib3hGbGFncyBtYXNrKQogewotICAgIHJldHVy
biBmcmFtZS0+ZG9jdW1lbnQoKSAmJiBmcmFtZS0+ZG9jdW1lbnQoKS0+aXNTYW5kYm94ZWQobWFz
ayk7CisgICAgcmV0dXJuIGZyYW1lLmRvY3VtZW50KCkgJiYgZnJhbWUuZG9jdW1lbnQoKS0+aXNT
YW5kYm94ZWQobWFzayk7CiB9CiAKIGNsYXNzIEZyYW1lTG9hZGVyOjpGcmFtZVByb2dyZXNzVHJh
Y2tlciB7CkBAIC0zNTUsNyArMzU1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybShQ
YXNzUmVmUHRyPEZvcm1TdWJtaXNzaW9uPiBzdWJtaXNzaW9uKQogICAgIGlmIChzdWJtaXNzaW9u
LT5hY3Rpb24oKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChpc0RvY3Vt
ZW50U2FuZGJveGVkKCZtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CisgICAgaWYgKGlzRG9jdW1l
bnRTYW5kYm94ZWQobV9mcmFtZSwgU2FuZGJveEZvcm1zKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0
aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhp
c3RzLgogICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBmb3JtIHN1
Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQg
YW5kIHRoZSAnYWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtMzQxMywxNCArMzQxMywxNCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50Ojpo
YXNIVE1MVmlldygpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVBhc3NSZWZQdHI8RnJh
bWU+IGNyZWF0ZVdpbmRvdyhGcmFtZSogb3BlbmVyRnJhbWUsIEZyYW1lKiBsb29rdXBGcmFtZSwg
Y29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2luZG93RmVhdHVyZXMmIGZl
YXR1cmVzLCBib29sJiBjcmVhdGVkKQorUGFzc1JlZlB0cjxGcmFtZT4gY3JlYXRlV2luZG93KEZy
YW1lJiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBXaW5kb3dGZWF0dXJlcyYgZmVhdHVyZXMsIGJvb2wmIGNyZWF0
ZWQpCiB7CiAgICAgQVNTRVJUKCFmZWF0dXJlcy5kaWFsb2cgfHwgcmVxdWVzdC5mcmFtZU5hbWUo
KS5pc0VtcHR5KCkpOwogCiAgICAgY3JlYXRlZCA9IGZhbHNlOwogCiAgICAgaWYgKCFyZXF1ZXN0
LmZyYW1lTmFtZSgpLmlzRW1wdHkoKSAmJiByZXF1ZXN0LmZyYW1lTmFtZSgpICE9ICJfYmxhbmsi
KSB7Ci0gICAgICAgIGlmIChSZWZQdHI8RnJhbWU+IGZyYW1lID0gbG9va3VwRnJhbWUtPmxvYWRl
cigpLmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC5mcmFtZU5hbWUoKSwgb3BlbmVyRnJh
bWUtPmRvY3VtZW50KCkpKSB7CisgICAgICAgIGlmIChSZWZQdHI8RnJhbWU+IGZyYW1lID0gbG9v
a3VwRnJhbWUtPmxvYWRlcigpLmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC5mcmFtZU5h
bWUoKSwgb3BlbmVyRnJhbWUuZG9jdW1lbnQoKSkpIHsKICAgICAgICAgICAgIGlmIChyZXF1ZXN0
LmZyYW1lTmFtZSgpICE9ICJfc2VsZiIpIHsKICAgICAgICAgICAgICAgICBpZiAoUGFnZSogcGFn
ZSA9IGZyYW1lLT5wYWdlKCkpCiAgICAgICAgICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLmZv
Y3VzKCk7CkBAIC0zNDMyLDI4ICszNDMyLDI4IEBAIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZVdp
bmRvdyhGcmFtZSogb3BlbmVyRnJhbWUsIEZyYW1lKiBsb29rdXBGcmFtZSwgY29uc3QgRnJhCiAg
ICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dzaW5n
IGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBTYW5k
Ym94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBt
b3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJGcmFt
ZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHks
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicg
aW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94
ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVwcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwor
ICAgICAgICBvcGVuZXJGcmFtZS5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkJsb2NrZWQgb3BlbmluZyAn
IiArIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkgKyAiJyBpbiBhIG5ldyB3aW5kb3cgYmVjYXVzZSB0aGUgcmVxdWVzdCB3YXMg
bWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9zZSAnYWxsb3ctcG9wdXBzJyBwZXJtaXNzaW9u
IGlzIG5vdCBzZXQuIik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIC8v
IEZJWE1FOiBTZXR0aW5nIHRoZSByZWZlcnJlciBzaG91bGQgYmUgdGhlIGNhbGxlcidzIHJlc3Bv
bnNpYmlsaXR5LgogICAgIEZyYW1lTG9hZFJlcXVlc3QgcmVxdWVzdFdpdGhSZWZlcnJlciA9IHJl
cXVlc3Q7Ci0gICAgU3RyaW5nIHJlZmVycmVyID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVm
ZXJyZXJIZWFkZXIob3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHJl
cXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCksIG9wZW5lckZyYW1lLT5sb2FkZXIoKS5vdXRn
b2luZ1JlZmVycmVyKCkpOworICAgIFN0cmluZyByZWZlcnJlciA9IFNlY3VyaXR5UG9saWN5Ojpn
ZW5lcmF0ZVJlZmVycmVySGVhZGVyKG9wZW5lckZyYW1lLmRvY3VtZW50KCktPnJlZmVycmVyUG9s
aWN5KCksIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCksIG9wZW5lckZyYW1lLmxvYWRl
cigpLm91dGdvaW5nUmVmZXJyZXIoKSk7CiAgICAgaWYgKCFyZWZlcnJlci5pc0VtcHR5KCkpCiAg
ICAgICAgIHJlcXVlc3RXaXRoUmVmZXJyZXIucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVy
cmVyKHJlZmVycmVyKTsKLSAgICBGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKHJl
cXVlc3RXaXRoUmVmZXJyZXIucmVzb3VyY2VSZXF1ZXN0KCksIG9wZW5lckZyYW1lLT5sb2FkZXIo
KS5vdXRnb2luZ09yaWdpbigpKTsKKyAgICBGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklmTmVl
ZGVkKHJlcXVlc3RXaXRoUmVmZXJyZXIucmVzb3VyY2VSZXF1ZXN0KCksIG9wZW5lckZyYW1lLmxv
YWRlcigpLm91dGdvaW5nT3JpZ2luKCkpOwogCi0gICAgUGFnZSogb2xkUGFnZSA9IG9wZW5lckZy
YW1lLT5wYWdlKCk7CisgICAgUGFnZSogb2xkUGFnZSA9IG9wZW5lckZyYW1lLnBhZ2UoKTsKICAg
ICBpZiAoIW9sZFBhZ2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgUGFnZSogcGFn
ZSA9IG9sZFBhZ2UtPmNocm9tZSgpLmNyZWF0ZVdpbmRvdyhvcGVuZXJGcmFtZSwgcmVxdWVzdFdp
dGhSZWZlcnJlciwgZmVhdHVyZXMsIE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdFdpdGhSZWZlcnJl
ci5yZXNvdXJjZVJlcXVlc3QoKSkpOworICAgIFBhZ2UqIHBhZ2UgPSBvbGRQYWdlLT5jaHJvbWUo
KS5jcmVhdGVXaW5kb3coJm9wZW5lckZyYW1lLCByZXF1ZXN0V2l0aFJlZmVycmVyLCBmZWF0dXJl
cywgTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0V2l0aFJlZmVycmVyLnJlc291cmNlUmVxdWVzdCgp
KSk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFJlZlB0
cjxGcmFtZT4gZnJhbWUgPSAmcGFnZS0+bWFpbkZyYW1lKCk7CiAKLSAgICBmcmFtZS0+bG9hZGVy
KCkuZm9yY2VTYW5kYm94RmxhZ3Mob3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPnNhbmRib3hGbGFn
cygpKTsKKyAgICBmcmFtZS0+bG9hZGVyKCkuZm9yY2VTYW5kYm94RmxhZ3Mob3BlbmVyRnJhbWUu
ZG9jdW1lbnQoKS0+c2FuZGJveEZsYWdzKCkpOwogCiAgICAgaWYgKHJlcXVlc3QuZnJhbWVOYW1l
KCkgIT0gIl9ibGFuayIpCiAgICAgICAgIGZyYW1lLT50cmVlKCkuc2V0TmFtZShyZXF1ZXN0LmZy
YW1lTmFtZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNDU4NzYxN2E2
ZDYzYWZhYTNlZDBmNGFkMGMzNjdiYjU5MjdiMjE0Yy4uOGY0NjJkMjkxNWIyOGFkZDFmMTcwZTYz
OWZkMzY2MmQwNmJhZjQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTQ1
OCw3ICs0NTgsNyBAQCBwcml2YXRlOgogLy8KIC8vIEZJWE1FOiBDb25zaWRlciBtYWtpbmcgdGhp
cyBmdW5jdGlvbiBwYXJ0IG9mIGFuIGFwcHJvcHJpYXRlIGNsYXNzIChub3QgRnJhbWVMb2FkZXIp
CiAvLyBhbmQgbW92aW5nIGl0IHRvIGEgbW9yZSBhcHByb3ByaWF0ZSBsb2NhdGlvbi4KLVBhc3NS
ZWZQdHI8RnJhbWU+IGNyZWF0ZVdpbmRvdyhGcmFtZSogb3BlbmVyRnJhbWUsIEZyYW1lKiBsb29r
dXBGcmFtZSwgY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiwg
Ym9vbCYgY3JlYXRlZCk7CitQYXNzUmVmUHRyPEZyYW1lPiBjcmVhdGVXaW5kb3coRnJhbWUmIG9w
ZW5lckZyYW1lLCBGcmFtZSogbG9va3VwRnJhbWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmLCBj
b25zdCBXaW5kb3dGZWF0dXJlcyYsIGJvb2wmIGNyZWF0ZWQpOwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA0ZmU1ZTYxYjRjMDg4Njk5
OTY3YmNlNDE1MGM5YWVlNmZhNDM1ZWI5Li5hOWM4NWQzMTA3M2MzOGIzOTEzNDUxNWJhZWUxMWIx
Nzk2MzQwNjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMDc1LDEyICsyMDc1
LDE0IEBAIGJvb2wgRE9NV2luZG93Ojppc0luc2VjdXJlU2NyaXB0QWNjZXNzKERPTVdpbmRvdyYg
YWN0aXZlV2luZG93LCBjb25zdCBTdHJpbmcmIHVyCiBQYXNzUmVmUHRyPEZyYW1lPiBET01XaW5k
b3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgQXRvbWljU3Ry
aW5nJiBmcmFtZU5hbWUsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiB3aW5kb3dGZWF0dXJlcywgRE9N
V2luZG93JiBhY3RpdmVXaW5kb3csIEZyYW1lKiBmaXJzdEZyYW1lLCBGcmFtZSogb3BlbmVyRnJh
bWUsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoRE9NV2luZG93Jik+IHByZXBhcmVEaWFsb2dGdW5jdGlv
bikKIHsKICAgICBGcmFtZSogYWN0aXZlRnJhbWUgPSBhY3RpdmVXaW5kb3cuZnJhbWUoKTsKKyAg
ICBpZiAoIWFjdGl2ZUZyYW1lKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFVSTCBj
b21wbGV0ZWRVUkwgPSB1cmxTdHJpbmcuaXNFbXB0eSgpID8gVVJMKFBhcnNlZFVSTFN0cmluZywg
ZW1wdHlTdHJpbmcoKSkgOiBmaXJzdEZyYW1lLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmxT
dHJpbmcpOwogICAgIGlmICghY29tcGxldGVkVVJMLmlzRW1wdHkoKSAmJiAhY29tcGxldGVkVVJM
LmlzVmFsaWQoKSkgewogICAgICAgICAvLyBEb24ndCBleHBvc2UgY2xpZW50IGNvZGUgdG8gaW52
YWxpZCBVUkxzLgogICAgICAgICBhY3RpdmVXaW5kb3cucHJpbnRFcnJvck1lc3NhZ2UoIlVuYWJs
ZSB0byBvcGVuIGEgd2luZG93IHdpdGggaW52YWxpZCBVUkwgJyIgKyBjb21wbGV0ZWRVUkwuc3Ry
aW5nKCkgKyAiJy5cbiIpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQogCiAgICAgLy8gRm9yIHdoYXRldmVyIHJlYXNvbiwgRmlyZWZveCB1c2VzIHRo
ZSBmaXJzdCBmcmFtZSB0byBkZXRlcm1pbmUgdGhlIG91dGdvaW5nUmVmZXJyZXIuIFdlIHJlcGxp
Y2F0ZSB0aGF0IGJlaGF2aW9yIGhlcmUuCkBAIC0yMDkzLDkgKzIwOTUsOSBAQCBQYXNzUmVmUHRy
PEZyYW1lPiBET01XaW5kb3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBTdHJpbmcmIHVybFN0cmluZywg
Y29uc3QgQXRvbWljUwogICAgIC8vIFdlIHBhc3MgdGhlIG9wZW5lciBmcmFtZSBmb3IgdGhlIGxv
b2t1cEZyYW1lIGluIGNhc2UgdGhlIGFjdGl2ZSBmcmFtZSBpcyBkaWZmZXJlbnQgZnJvbQogICAg
IC8vIHRoZSBvcGVuZXIgZnJhbWUsIGFuZCB0aGUgbmFtZSByZWZlcmVuY2VzIGEgZnJhbWUgcmVs
YXRpdmUgdG8gdGhlIG9wZW5lciBmcmFtZS4KICAgICBib29sIGNyZWF0ZWQ7Ci0gICAgUmVmUHRy
PEZyYW1lPiBuZXdGcmFtZSA9IFdlYkNvcmU6OmNyZWF0ZVdpbmRvdyhhY3RpdmVGcmFtZSwgb3Bl
bmVyRnJhbWUsIGZyYW1lUmVxdWVzdCwgd2luZG93RmVhdHVyZXMsIGNyZWF0ZWQpOworICAgIFJl
ZlB0cjxGcmFtZT4gbmV3RnJhbWUgPSBXZWJDb3JlOjpjcmVhdGVXaW5kb3coKmFjdGl2ZUZyYW1l
LCBvcGVuZXJGcmFtZSwgZnJhbWVSZXF1ZXN0LCB3aW5kb3dGZWF0dXJlcywgY3JlYXRlZCk7CiAg
ICAgaWYgKCFuZXdGcmFtZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgbmV3RnJhbWUtPmxvYWRlcigpLnNldE9wZW5lcihvcGVuZXJGcmFtZSk7CiAg
ICAgbmV3RnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlET00oKTsKQEAgLTIxMTcsNyArMjExOSw3
IEBAIFBhc3NSZWZQdHI8RnJhbWU+IERPTVdpbmRvdzo6Y3JlYXRlV2luZG93KGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nLCBjb25zdCBBdG9taWNTCiAKICAgICAvLyBOYXZpZ2F0aW5nIHRoZSBuZXcg
ZnJhbWUgY291bGQgcmVzdWx0IGluIGl0IGJlaW5nIGRldGFjaGVkIGZyb20gaXRzIHBhZ2UgYnkg
YSBuYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0ZS4KICAgICBpZiAoIW5ld0ZyYW1lLT5wYWdlKCkp
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHJldHVy
biBuZXdGcmFtZS5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWJjYjM4M2U1MmE1ODgyZjRiNTY2ZmIw
NGUwMGU2NTRjYzI4MzU4NS4uYWZjNzk5ZDAzYjQ2ZThhNzZjMGU0MDM5NmI2Mjc1ZTVmODczZDcx
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTA1LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggYXQgY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50IGF0IGNvbS5hcHBsZS5XZWJDb3JlOiBXZWJDb3JlOjpjcmVhdGVXaW5kb3cgKyAxODUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDU5NworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjAzNjE1Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gY292ZXIgdGhlIGNh
c2Ugd2hlcmUgd2luZG93Lm9wZW4oKSBpcyBjYWxsZWQgb24gYQorICAgICAgICB3aW5kb3cgdGhh
dCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgYWN0aXZlRE9NV2luZG93IGFuZCB3aGVyZSB0aGUKKyAg
ICAgICAgYWN0aXZlRE9NV2luZG93IGRvZXMgbm90IGhhdmUgYSBmcmFtZS4KKworICAgICAgICAq
IGZhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvdGVzdC1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LW9wZW4tYWN0aXZlV2luZG93LW51bGwtZnJhbWUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LW9w
ZW4tYWN0aXZlV2luZG93LW51bGwtZnJhbWUuaHRtbDogQWRkZWQuCisKIDIwMTUtMDUtMDQgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IGdhcmRlbmluZy4gRml4IGxpbnQgZXJyb3Igb24gbWFjLXdrMS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvdGVzdC1mcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy90ZXN0LWZyYW1lLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTE5OTA3NTY2ZDBhNGRlYTUxYzk2ZTVjMmJjYmI4MjZhYTI0YmI5NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvdGVzdC1mcmFtZS5o
dG1sCkBAIC0wLDAgKzEsNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVEVT
VAorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1vcGVuLWFjdGl2ZVdpbmRvdy1udWxsLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctb3Blbi1hY3RpdmVXaW5kb3ctbnVsbC1m
cmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg1NjdlOTU0ZmQ2ZjM0MmM5YjZiZTg4YjNh
ZGIzZDUyNTJiZDg4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctb3Blbi1hY3RpdmVXaW5kb3ctbnVsbC1mcmFtZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMCBAQAorVGVzdHMgd2luZG93Lm9wZW4oKSBjYWxsIHdpdGggYW4gYWN0aXZlRE9N
V2luZG93IHRoYXQgaGFzIGEgbnVsbCBmcmFtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LW9wZW4tYWN0aXZlV2luZG93LW51bGwtZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctb3Blbi1hY3RpdmVX
aW5kb3ctbnVsbC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNTc4ZTczNmM0MmIzNTU0MTExNjI4
ZDc0YmJkNjYxMGY5ZmM3MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LW9wZW4tYWN0aXZlV2luZG93LW51bGwtZnJhbWUuaHRtbApAQCAtMCww
ICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgd2luZG93Lm9wZW4oKSBjYWxsIHdpdGggYW4gYWN0aXZlRE9NV2lu
ZG93IHRoYXQgaGFzIGEgbnVsbCBmcmFtZS4iKTsKK2RlYnVnKCJUaGlzIHRlc3QgcGFzc2VzIGlm
IGl0IGRvZXNuJ3QgY3Jhc2guIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
dHJ1ZSk7CisKK2Z1bmN0aW9uIG9wZW5XaW5kb3coKQoreworICAgIHRlc3RGcmFtZVdpbmRvd09w
ZW4uY2FsbCh3aW5kb3cpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiByZW1v
dmVTdWJGcmFtZSgpCit7CisgICAgdmFyIHRlc3RGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0ZXN0RnJhbWUiKTsKKyAgICB0ZXN0RnJhbWVXaW5kb3cgPSB0ZXN0RnJhbWUuY29udGVu
dFdpbmRvdzsKKyAgICB0ZXN0RnJhbWVXaW5kb3dPcGVuID0gdGVzdEZyYW1lV2luZG93Lm9wZW47
CisgICAgdGVzdEZyYW1lLnJlbW92ZSgpOworICAgIGdjKCk7CisKKyAgICBzZXRUaW1lb3V0KG9w
ZW5XaW5kb3csIDApOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWUgaWQ9
InRlc3RGcmFtZSIgc3JjPSJyZXNvdXJjZXMvdGVzdC1mcmFtZS5odG1sIiBvbmxvYWQ9InJlbW92
ZVN1YkZyYW1lKCkiPjwvaWZyYW1lPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>