<?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>212723</bug_id>
          
          <creation_ts>2020-06-03 16:48:24 -0700</creation_ts>
          <short_desc>Nullptr crash in DeleteSelectionCommand::doApply() when ending position is disconnected.</short_desc>
          <delta_ts>2020-06-04 20:37:20 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jack">shihchieh_lee</reporter>
          <assigned_to name="Jack">shihchieh_lee</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>mifenton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1658924</commentid>
    <comment_count>0</comment_count>
    <who name="Jack">shihchieh_lee</who>
    <bug_when>2020-06-03 16:48:24 -0700</bug_when>
    <thetext>&lt;rdar://63866653&gt;

    #0 0x3ad2f71a1 in WebCore::Node::getFlag(WebCore::Node::NodeFlags) const (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x1ba1a1)
    #1 0x3b073459d in WebCore::canHaveChildrenForEditing(WebCore::Node const&amp;) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x35f759d)
    #2 0x3b06f5016 in WebCore::CompositeEditCommand::insertNodeAt(WTF::Ref&lt;WebCore::Node, WTF::DumbPtrTraits&lt;WebCore::Node&gt; &gt;&amp;&amp;, WebCore::Position const&amp;) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x35b8016)
    #3 0x3b0737b65 in WebCore::DeleteSelectionCommand::doApply() (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x35fab65)
    #4 0x3b070ee6a in WebCore::CompositeEditCommand::applyCommandToComposite(WTF::Ref&lt;WebCore::EditCommand, WTF::DumbPtrTraits&lt;WebCore::EditCommand&gt; &gt;&amp;&amp;) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x35d1e6a)
    #5 0x3b0711f5a in WebCore::CompositeEditCommand::deleteSelection(WebCore::VisibleSelection const&amp;, bool, bool, bool, bool, bool) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x35d4f5a)
    #6 0x3b0827499 in WebCore::TypingCommand::deleteKeyPressed(WebCore::TextGranularity, bool) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x36ea499)
    #7 0x3b06f2746 in WebCore::CompositeEditCommand::apply() (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x35b5746)
    #8 0x3b0826b44 in WebCore::TypingCommand::deleteKeyPressed(WebCore::Document&amp;, unsigned int, WebCore::TextGranularity) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x36e9b44)
    #9 0x3b07ae4de in WebCore::executeDelete(WebCore::Frame&amp;, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x36714de)
    #10 0x3b0416d13 in WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x32d9d13)
    #11 0x3adc0e061 in WebCore::jsDocumentPrototypeFunctionExecCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*, JSC::ThrowScope&amp;) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0xad1061)
    #12 0x3adabb910 in long long WebCore::IDLOperation&lt;WebCore::JSDocument&gt;::call&lt;&amp;(WebCore::jsDocumentPrototypeFunctionExecCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*, JSC::ThrowScope&amp;)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*) (Safari_ASAN_262398_beabde7bd2de240129119de5a8d837355ac235e8.app/Contents/Frameworks/WebCore.framework/Versions/A/WebCore:x86_64+0x97e910)
    #13 0x4f794b401177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658925</commentid>
    <comment_count>1</comment_count>
    <who name="Jack">shihchieh_lee</who>
    <bug_when>2020-06-03 16:49:02 -0700</bug_when>
    <thetext>This is a similar issue as &lt;rdar://62993645&gt; (https://bugs.webkit.org/show_bug.cgi?id=211793).

After deleting the selected elements, we try to merge the paragraphs and change the ending position to the element that is before the deleted range. However, removeNodeAndPruneAncestors is called which removes ending position from the node tree as well. Later we try to insert a BR at the parent of ending position and the code crashes since ending position is parentless now.

Before removeNodeAndPruneAncestors(), only #text is supposed to be removed, and ending position should be moved to DL.
BODY	0x11743e920 (renderer 0x11743d7f0) 
	DIV	0x11743e9b0 (renderer 0x11743ee10) 
		DL	0x11743ea40 (renderer 0x11743ef40) 
			#text	0x11743ead0 &quot;\n&quot;
			DT	0x11743eb30 (renderer 0x11743f070) 
*				#text	0x11743ebc0 &quot;a&quot;
		#text	0x11743ec20 &quot;\n&quot;
		SCRIPT	0x11743ec80 (renderer 0x0) 
			#text	0x11743ed50 &quot;\n    onload = function run() {\n        window.getSelection().setPosition(dt);\n        document.execCommand(&quot;delete&quot;, false);\n    }\n&quot;
		#text	0x11743edb0 &quot;\n&quot;
legacy, offset, offset:0

After removeNodeAndPruneAncestors(), ending position (DL) becomes dangling.
*DL	0x11743ea40 (renderer 0x0) 
	#text	0x11743ead0 &quot;\n&quot;
	DT	0x11743eb30 (renderer 0x0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658926</commentid>
    <comment_count>2</comment_count>
    <who name="Jack">shihchieh_lee</who>
    <bug_when>2020-06-03 16:55:07 -0700</bug_when>
    <thetext>In this test case, removeNodeAndPruneAncestors is called in a different call stack comparing to that in 211793.

  * frame #0: 0x00000001209d6d96 WebCore`WebCore::CompositeEditCommand::removeNodeAndPruneAncestors(this=0x000000013b1e25e8, node=0x0000000135b9f450) at CompositeEditCommand.cpp:611:18
    frame #1: 0x00000001209f5874 WebCore`WebCore::DeleteSelectionCommand::mergeParagraphs(this=0x000000013b1e25e8) at DeleteSelectionCommand.cpp:731:13
    frame #2: 0x00000001209f7503 WebCore`WebCore::DeleteSelectionCommand::doApply(this=0x000000013b1e25e8) at DeleteSelectionCommand.cpp:939:5
    frame #3: 0x00000001209d5bff WebCore`WebCore::CompositeEditCommand::applyCommandToComposite(this=0x00000001393e7770, command=0x00007ffeeab0f218) at CompositeEditCommand.cpp:463:14
    frame #4: 0x00000001209d858b WebCore`WebCore::CompositeEditCommand::deleteSelection(this=0x00000001393e7770, selection=0x00007ffeeab0f818, smartDelete=false, mergeBlocksAfterDelete=true, replace=false, expandForSpecialElements=false, sanitizeMarkup=true) at CompositeEditCommand.cpp:835:9
    frame #5: 0x0000000120a9629d WebCore`WebCore::TypingCommand::deleteKeyPressed(this=0x00000001393e7770, granularity=CharacterGranularity, shouldAddToKillRing=false) at TypingCommand.cpp:748:27
    frame #6: 0x0000000120a982c8 WebCore`WebCore::TypingCommand::doApply(this=0x00000001393e7770) at TypingCommand.cpp:364:9
    frame #7: 0x00000001209c2ab5 WebCore`WebCore::CompositeEditCommand::apply(this=0x00000001393e7770) at CompositeEditCommand.cpp:372:9
    frame #8: 0x0000000120a951cc WebCore`WebCore::TypingCommand::deleteKeyPressed(document={ origin = file://, url = file:///Users/jacklee/browser2/min-63866653.html, inMainFrame = 1, backForwardCacheState = NotInBackForwardCache }, options=0, granularity=CharacterGranularity) at TypingCommand.cpp:193:86
    frame #9: 0x0000000120a42774 WebCore`WebCore::executeDelete(frame={ origin = file://, url = file:///Users/jacklee/browser2/min-63866653.html, isMainFrame = 1, backForwardCacheState = NotInBackForwardCache }, (null)=0x0000000000000000, source=CommandFromDOM, (null)={ length = 0, contents = &apos;&apos; }) at EditorCommand.cpp:298:9
    frame #10: 0x0000000120a1db5b WebCore`WebCore::Editor::Command::execute(this=0x00007ffeeab0fa08, parameter={ length = 0, contents = &apos;&apos; }, triggeringEvent=0x0000000000000000) const at EditorCommand.cpp:1876:12
    frame #11: 0x0000000120744385 WebCore`WebCore::Document::execCommand(this={ origin = file://, url = file:///Users/jacklee/browser2/min-63866653.html, inMainFrame = 1, backForwardCacheState = NotInBackForwardCache }, commandName={ length = 6, contents = &apos;delete&apos; }, userInterface=false, value={ length = 0, contents = &apos;&apos; }) at Document.cpp:5566:54
    frame #12: 0x000000011e845bb4 WebCore`WebCore::jsDocumentPrototypeFunctionExecCommandBody(lexicalGlobalObject=0x0000000139df8468, callFrame=0x00007ffeeab0fca0, castedThis=0x000000013932cc38, throwScope=0x00007ffeeab0fc18) at JSDocument.cpp:6271:57</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658936</commentid>
    <comment_count>3</comment_count>
      <attachid>400985</attachid>
    <who name="Jack">shihchieh_lee</who>
    <bug_when>2020-06-03 18:05:12 -0700</bug_when>
    <thetext>Created attachment 400985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658941</commentid>
    <comment_count>4</comment_count>
    <who name="Jack">shihchieh_lee</who>
    <bug_when>2020-06-03 18:27:33 -0700</bug_when>
    <thetext>In this case removeNodeAndPruneAncestors() is called in mergeParagraphs() because after deletion the merging position (DL) is collapsed (node tree below), so a BR is inserted and the merge position is moved to BR.

Collapsed at merging position:
BODY	0x111e7a920 (renderer 0x111e797f0) 
	DIV	0x111e7a9b0 (renderer 0x111e7adb0) 
*		DL	0x111e7aa40 (renderer 0x111e7aee0) 
			#text	0x111e7aad0 &quot;\n&quot;
			DT	0x111e7ab30 (renderer 0x111e7b010) 
		#text	0x111e7ac20 &quot;\n&quot;
		SCRIPT	0x111e7ac80 (renderer 0x0) 
			#text	0x111e7ad50 &quot;\n    if (window.testRunner)\n        testRunner.dumpAsText();\n\n    window.getSelection().setPosition(dt);\n    document.execCommand(&quot;delete&quot;, false);\n    document.body.innerText = &quot;Tests deleting text in description list. The test passes if WebKit doesn&apos;t crash or hit an ssertion.&quot;;\n&quot;
after, offset:0

BR inserted:
BODY	0x111e7a920 (renderer 0x111e797f0) 
	DIV	0x111e7a9b0 (renderer 0x111e7adb0) 
		DL	0x111e7aa40 (renderer 0x111e7aee0) 
			#text	0x111e7aad0 &quot;\n&quot;
			DT	0x111e7ab30 (renderer 0x111e7b010) 
*				BR	0x111e7b3f0 (renderer 0x111e7b480) 
		#text	0x111e7ac20 &quot;\n&quot;
		SCRIPT	0x111e7ac80 (renderer 0x0) 
			#text	0x111e7ad50 &quot;\n    if (window.testRunner)\n        testRunner.dumpAsText();\n\n    window.getSelection().setPosition(dt);\n    document.execCommand(&quot;delete&quot;, false);\n    document.body.innerText = &quot;Tests deleting text in description list. The test passes if WebKit doesn&apos;t crash or hit an ssertion.&quot;;\n&quot;
before, offset:0

Later we find that the merging position is not at right side of the bounding box, so removeNodeAndPruneAncestors() is called to remove BR and set the ending position back to start of paragraph.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658961</commentid>
    <comment_count>5</comment_count>
      <attachid>400985</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-03 20:33:58 -0700</bug_when>
    <thetext>Comment on attachment 400985
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659464</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-04 20:37:19 -0700</bug_when>
    <thetext>Committed r262593: &lt;https://trac.webkit.org/changeset/262593&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400985.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400985</attachid>
            <date>2020-06-03 18:05:12 -0700</date>
            <delta_ts>2020-06-04 20:37:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212723-20200603180510.patch</filename>
            <type>text/plain</type>
            <size>4469</size>
            <attacher name="Jack">shihchieh_lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRkM2EwYmM2OGY0Yzhj
M2M0ODA0MTMzZjEzOWEwZTlmMzNhZDg4Yy4uOTQyMDZjMzJhMDc5NTJjNDk2NzJlN2ViMjBhZDY5
ZjNiMzBjNDJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA2LTAzICBKYWNr
IExlZSAgPHNoaWhjaGllaF9sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE51bGxwdHIgY3Jhc2gg
aW4gRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpIHdoZW4gZW5kaW5nIHBvc2l0aW9u
IGlzIGRpc2Nvbm5lY3RlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMjcyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM4NjY2NTM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gdGhpcyB0ZXN0
IGNhc2UsIHdoaWxlIG1lcmdpbmcgcGFyYWdyYXBocyBhZnRlciBkZWxldGluZyBhIHRleHQgZWxl
bWVudCwgd2UgbmVlZCBjYWxsIHJlbW92ZU5vZGVBbmRQcnVuZUFuY2VzdG9ycygpCisgICAgICAg
IHRvIHJlbW92ZSBhIEJSIG5vZGUuIEhvd2V2ZXIsIHRoZSBhbmNlc3RvciBvZiBCUiBpcyBhbHNv
IHJlbW92ZWQuIExhdGVyIHdlIHRyeSB0byBpbnNlcnQgYSBub2RlIGF0IHRoZSBwYXJlbnQgb2Yg
dGhlCisgICAgICAgIHJlbW92ZWQgYW5jZXN0b3IgaW4gZnVuY3Rpb24gRGVsZXRlU2VsZWN0aW9u
Q29tbWFuZDo6ZG9BcHBseSgpLgorCisgICAgICAgIEZvciBub3cgd2UganVzdCBjaGVjayB0aGUg
cGFyZW50bGVzcyBpbnNlcnRpbmcgcG9zaXRpb24gYW5kIGJhaWwgb3V0LiBUaGUgcHJvcGVyIGZp
eCBzaG91bGQgYmUgcmUtZGVzaWduaW5nIAorICAgICAgICByZW1vdmVOb2RlQW5kUHJ1bmVBbmNl
c3RvcnMoKSBvciBzZWxlY3QgYSBkaWZmZXJlbnQgaW5zZXJ0aW5nIHBvc2l0aW9uIGFmdGVyIHJl
bW92ZU5vZGVBbmRQcnVuZUFuY2VzdG9ycygpIGlzIGNhbGxlZC4KKworICAgICAgICBUZXN0OiBl
ZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS10eHQtaW4tZGwtY3Jhc2guaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRl
bGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkpOgorCiAyMDIwLTA1LTI1ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBFbGltaW5hdGUgQ29sb3IgY29uc3RydWN0
b3JzIHRoYXQgdGFrZSBzdHJpbmdzLCBtb3ZpbmcgY29sb3IgcGFyc2luZyBlbnRpcmVseSBpbnRv
IHRoZSBDU1MgcGFyc2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxl
Y3Rpb25Db21tYW5kLmNwcAppbmRleCBiNGFlOGJlNTZjNzFkZDBiYmY2N2UwMjU4YjY5M2ExNDAy
ZDhmMDNlLi4wMGE1Mjk3NGY4N2E3YjA5OTI0MjE4NzZiMmVkMTk4NGViMmJiN2ZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAg
LTk0Myw2ICs5NDMsMTMgQEAgdm9pZCBEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkK
ICAgICBpZiAobV9uZWVkUGxhY2Vob2xkZXIpIHsKICAgICAgICAgaWYgKG1fc2FuaXRpemVNYXJr
dXApCiAgICAgICAgICAgICByZW1vdmVSZWR1bmRhbnRCbG9ja3MoKTsKKworICAgICAgICAvLyBG
SVhNRSAoQnVnIDIxMjcyMyk6IG1fZW5kaW5nUG9zaXRpb24gYmVjb21lcyBkaXNjb25uZWN0ZWQg
aW4gbW92ZVBhcmFncmFwaCgpCisgICAgICAgIC8vIGJlY2F1c2UgaXQgaXMgYW5jZXN0b3Igb2Yg
dGhlIGRlbGV0ZWQgZWxlbWVudCBhbmQgZ2V0cyBwcnVuZWQgaW4gcmVtb3ZlTm9kZUFuZFBydW5l
QW5jZXN0b3JzKCkuCisgICAgICAgIC8vIEVpdGhlciByZW1vdmVOb2RlQW5kUHJ1bmVBbmNlc3Rv
cnMoKSBzaG91bGQgbm90IHJlbW92ZSBlbmRpbmcgcG9zaXRpb24gb3Igd2Ugc2hvdWxkIGZpbmQK
KyAgICAgICAgLy8gYSBkaWZmZXJlbnQgZW5kaW5nIHBvc2l0aW9uLgorICAgICAgICBpZiAoIW1f
ZW5kaW5nUG9zaXRpb24uY29udGFpbmVyTm9kZSgpIHx8ICFtX2VuZGluZ1Bvc2l0aW9uLmNvbnRh
aW5lck5vZGUoKS0+aXNDb25uZWN0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
aW5zZXJ0Tm9kZUF0KEhUTUxCUkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKSwgbV9lbmRpbmdQ
b3NpdGlvbik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTQ4Mzk0NDg2Y2UzYzYzZDFiMjBmY2MyNTNlZGYy
MTlmMGZkYjhhOS4uN2I3YWQ3ODk3ZTQ5NmVhYjRkNGM0YWQzOWMyNzcwMmNkMTY1ZDIxNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA2LTAzICBKYWNrIExlZSAgPHNoaWhjaGllaF9sZWVA
YXBwbGUuY29tPgorCisgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4gRGVsZXRlU2VsZWN0aW9uQ29t
bWFuZDo6ZG9BcHBseSgpIHdoZW4gZW5kaW5nIHBvc2l0aW9uIGlzIGRpc2Nvbm5lY3RlZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjcyMworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjM4NjY2NTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNzaW9uIHRlc3QgZm9yIHRoZSBj
cmFzaC4KKworICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLXR4dC1pbi1kbC1jcmFz
aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRl
LXR4dC1pbi1kbC1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMC0wNS0yNiAgQW50b2luZSBRdWlu
dCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEhhcmR3YXJlIGZpbGwtZm9yd2FyZHMg
YW5pbWF0aW9uIGFuZCB0cmFuc2l0aW9ucyBkb24ndCBpbnRlcmFjdCBjb3JyZWN0bHkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLXR4dC1pbi1kbC1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS10eHQt
aW4tZGwtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczZDMxMzhmYWNlZWVjNmI1MzNk
M2ExMDIwMGZiYWVkY2NlMWQwNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL2RlbGV0aW5nL2RlbGV0ZS10eHQtaW4tZGwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEgQEAKK1Rlc3RzIGRlbGV0aW5nIHRleHQgaW4gZGVzY3JpcHRpb24gbGlzdC4gVGhlIHRlc3Qg
cGFzc2VzIGlmIFdlYktpdCBkb2Vzbid0IGNyYXNoIG9yIGhpdCBhbiBzc2VydGlvbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLXR4dC1pbi1kbC1jcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtdHh0LWluLWRsLWNy
YXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjhhMjQxMWJiODEzNDA1OWNjMTViZDFkMmMyNzE0YjE0Nzc4
NTJkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVs
ZXRlLXR4dC1pbi1kbC1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxib2R5PjxkaXYgY29u
dGVudEVkaXRhYmxlPXRydWU+PGRsIHJvbGU9ImltZyI+Cis8ZHQgaWQ9ZHQ+YTwvZHQ+PC9kbD4K
KzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihk
dCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoImRlbGV0ZSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5ib2R5LmlubmVyVGV4dCA9ICJUZXN0cyBkZWxldGluZyB0ZXh0IGluIGRlc2NyaXB0aW9u
IGxpc3QuIFRoZSB0ZXN0IHBhc3NlcyBpZiBXZWJLaXQgZG9lc24ndCBjcmFzaCBvciBoaXQgYW4g
c3NlcnRpb24uIjsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>