<?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>229281</bug_id>
          
          <creation_ts>2021-08-18 21:17:40 -0700</creation_ts>
          <short_desc>Nullptr crash in CSSValue::cssText() via DeleteSelectionCommand::calculateTypingStyleAfterDelete</short_desc>
          <delta_ts>2021-09-17 09:09:34 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=230047</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gpoo</cc>
    
    <cc>koivisto</cc>
    
    <cc>mifenton</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785372</commentid>
    <comment_count>0</comment_count>
      <attachid>435841</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-18 21:17:40 -0700</bug_when>
    <thetext>Created attachment 435841
Test

e.g.

#0 0x37d31b422 in WebCore::CSSValue::classType() const+0x22 (WebCore.framework/Versions/A/WebCore:x86_64+0x329d422)
#1 0x37d388674 in WebCore::CSSValue::cssText() const+0x14 (WebCore.framework/Versions/A/WebCore:x86_64+0x330a674)
#2 0x37da8f929 in WebCore::EditingStyle::init(WebCore::Node*, WebCore::EditingStyle::PropertiesToInclude)+0x599 (WebCore.framework/Versions/A/WebCore:x86_64+0x3a11929)
#3 0x37da8fbed in WebCore::EditingStyle::EditingStyle(WebCore::Position const&amp;, WebCore::EditingStyle::PropertiesToInclude)+0x2d (WebCore.framework/Versions/A/WebCore:x86_64+0x3a11bed)
#4 0x37da6201e in WebCore::EditingStyle::create(WebCore::Position const&amp;, WebCore::EditingStyle::PropertiesToInclude)+0x2e (WebCore.framework/Versions/A/WebCore:x86_64+0x39e401e)
#5 0x37da81d45 in WebCore::EditingStyle::prepareToApplyAt(WebCore::Position const&amp;, WebCore::EditingStyle::ShouldPreserveWritingDirection)+0x125 (WebCore.framework/Versions/A/WebCore:x86_64+0x3a03d45)
#6 0x37da81aeb in WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete()+0x14b (WebCore.framework/Versions/A/WebCore:x86_64+0x3a03aeb)
#7 0x37da83f41 in WebCore::DeleteSelectionCommand::doApply()+0xbd1 (WebCore.framework/Versions/A/WebCore:x86_64+0x3a05f41)
#8 0x37da575fa in WebCore::CompositeEditCommand::applyCommandToComposite(WTF::Ref&lt;WebCore::EditCommand, WTF::RawPtrTraits&lt;WebCore::EditCommand&gt; &gt;&amp;&amp;)+0x6a (WebCore.framework/Versions/A/WebCore:x86_64+0x39d95fa)
#9 0x37da5ac6a in WebCore::CompositeEditCommand::deleteSelection(WebCore::VisibleSelection const&amp;, bool, bool, bool, bool, bool)+0x12a (WebCore.framework/Versions/A/WebCore:x86_64+0x39dcc6a)
#10 0x37db8ec88 in WebCore::TypingCommand::forwardDeleteKeyPressed(WebCore::TextGranularity, bool)+0xfd8 (WebCore.framework/Versions/A/WebCore:x86_64+0x3b10c88)
#11 0x37db90ec2 in WebCore::TypingCommand::doApply()+0x132 (WebCore.framework/Versions/A/WebCore:x86_64+0x3b12ec2)
#12 0x37da353c6 in WebCore::CompositeEditCommand::apply()+0x216 (WebCore.framework/Versions/A/WebCore:x86_64+0x39b73c6)
#13 0x37db8dbeb in WebCore::TypingCommand::forwardDeleteKeyPressed(WebCore::Document&amp;, unsigned int, WebCore::TextGranularity)+0x29b (WebCore.framework/Versions/A/WebCore:x86_64+0x3b0fbeb)
#14 0x37db06e7c in WebCore::executeForwardDelete(WebCore::Frame&amp;, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;)+0x1c (WebCore.framework/Versions/A/WebCore:x86_64+0x3a88e7c)
#15 0x37dac808b in WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const+0xdb (WebCore.framework/Versions/A/WebCore:x86_64+0x3a4a08b)
#16 0x37d72dc7e in WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;)+0x14e (WebCore.framework/Versions/A/WebCore:x86_64+0x36afc7e)
#17 0x37ab2d8c8 in WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)+0x4f8 (WebCore.framework/Versions/A/WebCore:x86_64+0xaaf8c8)

&lt;rdar://80077558&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785373</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-18 21:17:46 -0700</bug_when>
    <thetext>I can reproduce this with ASAN release build of WebKitTestRunner at r281219.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785512</commentid>
    <comment_count>2</comment_count>
      <attachid>435881</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-19 10:29:26 -0700</bug_when>
    <thetext>Created attachment 435881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786707</commentid>
    <comment_count>3</comment_count>
      <attachid>436274</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-24 03:53:44 -0700</bug_when>
    <thetext>Created attachment 436274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786884</commentid>
    <comment_count>4</comment_count>
      <attachid>436274</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-24 12:25:57 -0700</bug_when>
    <thetext>Comment on attachment 436274
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Null check the CSSValue in EditingStyle::init

We should match the actual bug title now that we know this isn&apos;t a security bug.

&gt; LayoutTests/ChangeLog:3
&gt; +        Null check the CSSValue in EditingStyle::init

Ditto.

&gt; LayoutTests/editing/deleting/forward-delete-crash.html:17
&gt; +    document.designMode = &apos;on&apos;;

Can we simplify this code more? Do we really need all these elements?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787108</commentid>
    <comment_count>5</comment_count>
      <attachid>436378</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-25 00:57:42 -0700</bug_when>
    <thetext>Created attachment 436378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787146</commentid>
    <comment_count>6</comment_count>
      <attachid>436274</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-25 05:47:23 -0700</bug_when>
    <thetext>Comment on attachment 436274
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Null check the CSSValue in EditingStyle::init
&gt; 
&gt; We should match the actual bug title now that we know this isn&apos;t a security bug.

Done.

&gt;&gt; LayoutTests/ChangeLog:3
&gt;&gt; +        Null check the CSSValue in EditingStyle::init
&gt; 
&gt; Ditto.

Done.

&gt;&gt; LayoutTests/editing/deleting/forward-delete-crash.html:17
&gt;&gt; +    document.designMode = &apos;on&apos;;
&gt; 
&gt; Can we simplify this code more? Do we really need all these elements?

It is needed, except the document.body.offsetTop; line, which I removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787197</commentid>
    <comment_count>7</comment_count>
      <attachid>436401</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-25 10:08:55 -0700</bug_when>
    <thetext>Created attachment 436401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788344</commentid>
    <comment_count>8</comment_count>
      <attachid>436401</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-28 15:28:33 -0700</bug_when>
    <thetext>Comment on attachment 436401
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        * editing/deleting/forward-delete-crash-expected.txt: Added.
&gt; +        * editing/deleting/forward-delete-crash.html: Added.

This is a very generic name. We should probably call it something like forward-delete-calculate-typing-style-crash.html or something.

&gt; LayoutTests/editing/deleting/forward-delete-crash.html:10
&gt; +&lt;style&gt;
&gt; +  :last-of-type {
&gt; +    height: 1px;
&gt; +    display: block;
&gt; +  }
&gt; +@font-face {
&gt; +    font-family: &quot;Ahem&quot;;
&gt; +    src: url(&quot;../../resources/Ahem.ttf&quot;);
&gt; +}
&gt; +&lt;/style&gt;

Please indent consistency.

&gt; LayoutTests/editing/deleting/forward-delete-crash.html:12
&gt; +&lt;script&gt;
&gt; +  if (window.testRunner) {

Ditto for the rest of the file.

&gt; LayoutTests/editing/deleting/forward-delete-crash.html:32
&gt; +    if (window.caches)
&gt; +      await caches.has(&apos;a&apos;);

What is this about?

&gt; LayoutTests/editing/deleting/forward-delete-crash.html:38
&gt; +    if (window.caches)
&gt; +      await caches.has(&apos;a&apos;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788345</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-28 15:29:01 -0700</bug_when>
    <thetext>Why is the test timing out on iOS??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788449</commentid>
    <comment_count>10</comment_count>
      <attachid>436401</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-30 00:19:33 -0700</bug_when>
    <thetext>Comment on attachment 436401
Patch

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

&gt;&gt; LayoutTests/editing/deleting/forward-delete-crash.html:32
&gt;&gt; +      await caches.has(&apos;a&apos;);
&gt; 
&gt; What is this about?

This bug seems timing dependant. For WK1 I think this API is not even available, so I use document.fonts workaround instead, but sadly that one does not work for WK2, so we end up with the test case as uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788450</commentid>
    <comment_count>11</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-30 00:20:46 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #9)
&gt; Why is the test timing out on iOS??

I am not sure! I do not even know if it is something special about editing on iOS or something to do with Cache API...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790645</commentid>
    <comment_count>12</comment_count>
      <attachid>437398</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-06 02:12:27 -0700</bug_when>
    <thetext>Created attachment 437398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790878</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-07 00:06:33 -0700</bug_when>
    <thetext>Committed r282074 (241374@main): &lt;https://commits.webkit.org/241374@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437398.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791655</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-09-08 15:48:28 -0700</bug_when>
    <thetext>Looks like test aded in this patch has been failing on the bots:
e.g.
https://build.webkit.org/results/Apple-BigSur-Debug-WK1-Tests/r282140%20(4040)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791656</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-09-08 15:49:25 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #14)
&gt; Looks like test aded in this patch has been failing on the bots:
&gt; e.g.
&gt; https://build.webkit.org/results/Apple-BigSur-Debug-WK1-Tests/
&gt; r282140%20(4040)/results.html

Tracked by https://bugs.webkit.org/show_bug.cgi?id=230047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791773</commentid>
    <comment_count>16</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-08 23:35:10 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #14)
&gt; Looks like test aded in this patch has been failing on the bots:
&gt; e.g.
&gt; https://build.webkit.org/results/Apple-BigSur-Debug-WK1-Tests/
&gt; r282140%20(4040)/results.html

Should we make the test Mac-wk2 only? It seems highly timing dependent, i.e. it seems slower Debug-wk1 can even cause different timing to not trigger the right code paths, unlike Release-wk1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792836</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-09-12 20:11:59 -0700</bug_when>
    <thetext>(In reply to Rob Buis from comment #16)
&gt; (In reply to Ryosuke Niwa from comment #14)
&gt; &gt; Looks like test aded in this patch has been failing on the bots:
&gt; &gt; e.g.
&gt; &gt; https://build.webkit.org/results/Apple-BigSur-Debug-WK1-Tests/
&gt; &gt; r282140%20(4040)/results.html
&gt; 
&gt; Should we make the test Mac-wk2 only? It seems highly timing dependent, i.e.
&gt; it seems slower Debug-wk1 can even cause different timing to not trigger the
&gt; right code paths, unlike Release-wk1.

It looks like it&apos;s also timing out on Mac-wk2. We need to make the test less time dependent. Please make further followups on https://bugs.webkit.org/show_bug.cgi?id=230047 instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793977</commentid>
    <comment_count>18</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-16 01:16:12 -0700</bug_when>
    <thetext>Behaviour is different with r282090:
scheduleFullEditorStateUpdate
executeDelete
executeDelete done
executeForwardDelete
scheduleFullEditorStateUpdate
executeForwardDelete done

Old behaviour with crash before r282090:
scheduleFullEditorStateUpdate
executeForwardDelete
executeDelete
scheduleFullEditorStateUpdate
executeDelete done
AddressSanitizer:DEADLYSIGNAL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794187</commentid>
    <comment_count>19</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-16 13:30:04 -0700</bug_when>
    <thetext>@wenson_hsieh do you know how r282090 could change the execution order of executeDelete and executeForwardDelete?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794193</commentid>
    <comment_count>20</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-16 13:35:27 -0700</bug_when>
    <thetext>(In reply to Rob Buis from comment #19)
&gt; @wenson_hsieh do you know how r282090 could change the execution order of
&gt; executeDelete and executeForwardDelete?

Hm..it&apos;s not obvious to me why that would cause a difference here.

Out of curiosity, what are the call stacks to executing `executeDelete` and `executeForwardDelete` after r282090?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794461</commentid>
    <comment_count>21</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-17 09:09:34 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #20)
&gt; (In reply to Rob Buis from comment #19)
&gt; &gt; @wenson_hsieh do you know how r282090 could change the execution order of
&gt; &gt; executeDelete and executeForwardDelete?
&gt; 
&gt; Hm..it&apos;s not obvious to me why that would cause a difference here.
&gt; 
&gt; Out of curiosity, what are the call stacks to executing `executeDelete` and
&gt; `executeForwardDelete` after r282090?

Sorry for the small number of frames, with ToT (so after r282090) executeDelete is called first:
1   0x7a40cf784 WebCore::executeDelete(WebCore::Frame&amp;, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;)
2   0x7a405f6e0 WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const
3   0x7a3889751 WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;)
4   0x79d342fca WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)
5   0x79d34210b long long WebCore::IDLOperation&lt;WebCore::JSDocument&gt;::call&lt;&amp;(WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)
6   0x79d30a064 WebCore::jsDocumentPrototypeFunction_execCommand(JSC::JSGlobalObject*, JSC::CallFrame*)
7   0x5c6326c011d8
8   0x7d97917c1 llint_entry
9   0x7d9791711 llint_entry
10  0x7d9791711 llint_entry
11  0x7d97917c1 llint_entry
12  0x7d9791711 llint_entry
13  0x7d976dfb2 vmEntryToJavaScript
14  0x7dc353e07 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
15  0x7dc3550f6 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
16  0x7dcdf93b0 JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
17  0x7dcdfa070 JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
18  0x7dd4e71bd JSC::JSMicrotask::run(JSC::JSGlobalObject*)
19  0x7a275a042 WebCore::JSExecState::runTask(JSC::JSGlobalObject*, JSC::Microtask&amp;)
20  0x7a276a7c2 WebCore::JSMicrotaskCallback::call()
21  0x7a276a412 WebCore::JSDOMWindowBase::queueMicrotaskToEventLoop(JSC::JSGlobalObject&amp;, WTF::Ref&lt;JSC::Microtask, WTF::RawPtrTraits&lt;JSC::Microtask&gt; &gt;&amp;&amp;)::$_40::operator()()
22  0x7a276a1ee WTF::Detail::CallableWrapper&lt;WebCore::JSDOMWindowBase::queueMicrotaskToEventLoop(JSC::JSGlobalObject&amp;, WTF::Ref&lt;JSC::Microtask, WTF::RawPtrTraits&lt;JSC::Microtask&gt; &gt;&amp;&amp;)::$_40, void&gt;::call()
23  0x79b86c0a5 WTF::Function&lt;void ()&gt;::operator()() const
24  0x7a3b1442e WebCore::EventLoopFunctionDispatchTask::execute()
25  0x7a3bbbf54 WebCore::MicrotaskQueue::performMicrotaskCheckpoint()
26  0x7a3aff849 WebCore::EventLoop::run()
27  0x7a3edcb82 WebCore::WindowEventLoop::didReachTimeToRun()
28  0x7a3ee55f2 decltype(*(std::__1::forward&lt;WebCore::WindowEventLoop*&amp;&gt;(fp0)).*fp()) std::__1::__invoke&lt;void (WebCore::WindowEventLoop::*&amp;)(), WebCore::WindowEventLoop*&amp;, void&gt;(void (WebCore::WindowEventLoop::*&amp;)(), WebCore::WindowEventLoop*&amp;)
29  0x7a3ee54a0 std::__1::__bind_return&lt;void (WebCore::WindowEventLoop::*)(), std::__1::tuple&lt;WebCore::WindowEventLoop*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebCore::WindowEventLoop::*)(), std::__1::tuple&lt;WebCore::WindowEventLoop*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__apply_functor&lt;void (WebCore::WindowEventLoop::*)(), std::__1::tuple&lt;WebCore::WindowEventLoop*&gt;, 0ul, std::__1::tuple&lt;&gt; &gt;(void (WebCore::WindowEventLoop::*&amp;)(), std::__1::tuple&lt;WebCore::WindowEventLoop*&gt;&amp;, std::__1::__tuple_indices&lt;0ul&gt;, std::__1::tuple&lt;&gt;&amp;&amp;)
30  0x7a3ee53e3 std::__1::__bind_return&lt;void (WebCore::WindowEventLoop::*)(), std::__1::tuple&lt;WebCore::WindowEventLoop*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebCore::WindowEventLoop::*)(), std::__1::tuple&lt;WebCore::WindowEventLoop*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__bind&lt;void (WebCore::WindowEventLoop::*&amp;)(), WebCore::WindowEventLoop*&gt;::operator()&lt;&gt;()
31  0x7a3ee529e WTF::Detail::CallableWrapper&lt;std::__1::__bind&lt;void (WebCore::WindowEventLoop::*&amp;)(), WebCore::WindowEventLoop*&gt;, void&gt;::call()

And executeForwardDelete later:
1   0x7a40d11dc WebCore::executeForwardDelete(WebCore::Frame&amp;, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;)
2   0x7a405f6e0 WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const
3   0x7a3889751 WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;)
4   0x79d342fca WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)
5   0x79d34210b long long WebCore::IDLOperation&lt;WebCore::JSDocument&gt;::call&lt;&amp;(WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)
6   0x79d30a064 WebCore::jsDocumentPrototypeFunction_execCommand(JSC::JSGlobalObject*, JSC::CallFrame*)
7   0x5c6326c011d8
8   0x7d97917c1 llint_entry
9   0x7d976dfb2 vmEntryToJavaScript
10  0x7dc353e07 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
11  0x7dc3550f6 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
12  0x7dcdf93b0 JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
13  0x7dcdf98c2 JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
14  0x7dcdfa56a JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
15  0x7a261f97e WebCore::JSExecState::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
16  0x7a2671fe0 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;)
17  0x7a3b0ce53 WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::RawPtrTraits&lt;WebCore::RegisteredEventListener&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;, WebCore::EventTarget::EventInvokePhase)
18  0x7a3b0c144 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase)
19  0x7a3aa1f69 WebCore::EventContext::handleLocalEvents(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase) const
20  0x7a3af93f5 WebCore::dispatchEventInDOM(WebCore::Event&amp;, WebCore::EventPath const&amp;)
21  0x7a3af8665 WebCore::EventDispatcher::dispatchEvent(WebCore::Node&amp;, WebCore::Event&amp;)
22  0x7a3c6524d WebCore::Node::dispatchEvent(WebCore::Event&amp;)
23  0x7a45fba14 WebCore::HTMLImageLoader::dispatchLoadEvent()
24  0x7a59dfefd WebCore::ImageLoader::dispatchPendingLoadEvent()
25  0x7a59dfd0d WebCore::ImageLoader::dispatchPendingEvent(WebCore::EventSender&lt;WebCore::ImageLoader&gt;*)
26  0x7a59e04eb WebCore::EventSender&lt;WebCore::ImageLoader&gt;::dispatchPendingEvents(WebCore::Page*)
27  0x7a59efc09 WebCore::EventSender&lt;WebCore::ImageLoader&gt;::timerFired()
28  0x7a59f0dc2 decltype(*(std::__1::forward&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&amp;&gt;(fp0)).*fp()) std::__1::__invoke&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*&amp;)(), WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&amp;, void&gt;(void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*&amp;)(), WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&amp;)
29  0x7a59f0c70 std::__1::__bind_return&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*)(), std::__1::tuple&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*)(), std::__1::tuple&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__apply_functor&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*)(), std::__1::tuple&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;, 0ul, std::__1::tuple&lt;&gt; &gt;(void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*&amp;)(), std::__1::tuple&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;&amp;, std::__1::__tuple_indices&lt;0ul&gt;, std::__1::tuple&lt;&gt;&amp;&amp;)
30  0x7a59f0bb3 std::__1::__bind_return&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*)(), std::__1::tuple&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*)(), std::__1::tuple&lt;WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__bind&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*&amp;)(), WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;::operator()&lt;&gt;()
31  0x7a59f0a6e WTF::Detail::CallableWrapper&lt;std::__1::__bind&lt;void (WebCore::EventSender&lt;WebCore::ImageLoader&gt;::*&amp;)(), WebCore::EventSender&lt;WebCore::ImageLoader&gt;*&gt;, void&gt;::call()</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>435841</attachid>
            <date>2021-08-18 21:17:40 -0700</date>
            <delta_ts>2021-08-18 21:17:40 -0700</delta_ts>
            <desc>Test</desc>
            <filename>repro_688.html</filename>
            <type>text/html</type>
            <size>770</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PHN0eWxlPgogIDpsYXN0LW9mLXR5cGUgewogICAgaGVpZ2h0OiAxcHg7CiAgICBkaXNwbGF5OiBi
bG9jazsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgb25sb2FkID0gYXN5bmMgKCkgPT4gewogICAg
ZG9jdW1lbnQuZGVzaWduTW9kZSA9ICdvbic7CiAgICBsZXQgaW1nMCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2ltZycpOwogICAgaW1nMC5vbmVycm9yID0gKCkgPT4gewogICAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgnRm9yd2FyZERlbGV0ZScpOwogICAgfTsKICAgIGxldCBkYXRhbGlzdDAg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkYXRhbGlzdCcpOwogICAgZG9jdW1lbnQuaGVhZC5h
cHBlbmRDaGlsZChkYXRhbGlzdDApOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkYXRhbGlzdCcpKTsKICAgIGltZzAuc3JjID0gJ2RhdGE6JzsK
ICAgIGxldCBlbWJlZDAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdlbWJlZCcpOwogICAgZW1i
ZWQwLnNyYyA9ICcjJzsKICAgIGRhdGFsaXN0MC5hcHBlbmRDaGlsZChlbWJlZDApOwogICAgYXdh
aXQgY2FjaGVzLmhhcygnYScpOwogICAgaW1nMC5zcmMgPSAnZGF0YTonOwogICAgZ2V0U2VsZWN0
aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZGF0YWxpc3QwKTsKICAgIGF3YWl0IGNhY2hlcy5oYXMo
J2InKTsKICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwogICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ0RlbGV0ZScpOwogIH07Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435881</attachid>
            <date>2021-08-19 10:29:26 -0700</date>
            <delta_ts>2021-08-24 03:53:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229281-20210819192924.patch</filename>
            <type>text/plain</type>
            <size>4197</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNkYWE5N2RlNGNkM2I5
NzMzNTU3NmZiNGQ2NzI0NDI1MmM1ZGZjMy4uOWNmODI0YTAyMjhiNzE4YzE5Zjg0YzhhNzU2ZGJm
MGY3YTIyZDQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTE5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbCBjaGVjayB0aGUgQ1NTVmFs
dWUgaW4gRWRpdGluZ1N0eWxlOjppbml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjkyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOdWxsIGNoZWNrIHRoZSBDU1NWYWx1ZSBpbiBFZGl0aW5nU3R5bGU6
OmluaXQuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1j
cmFzaC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OmluaXQpOgorCiAyMDIxLTA4LTE5ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSVENQZWVyQ29ubmVjdGlvbjo6bV90
cmFuc2NlaXZlclNldCBkb2VzIG5vdCBuZWVkIHRvIGJlIGFsbG9jYXRlZCBzZXBhcmF0ZWx5IGZy
b20gaXRzIFJUQ1BlZXJDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRpbmdTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHls
ZS5jcHAKaW5kZXggMWIwMzY4YWYxZDAyOTVjMTc3OTdhNGNhZTQ5YzE5MGJjNzY4MTQ0Yi4uY2M5
NGQ1OGY1M2QwNGM1YmNiNGQ2OTlkMmRlZWEzYzRjOGU5NWYyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ1N0eWxlLmNwcApAQCAtNDc3LDggKzQ3NywxMCBAQCB2b2lkIEVkaXRpbmdT
dHlsZTo6aW5pdChOb2RlKiBub2RlLCBQcm9wZXJ0aWVzVG9JbmNsdWRlIHByb3BlcnRpZXNUb0lu
Y2x1ZGUpCiAgICAgaWYgKG5vZGUgJiYgbm9kZS0+Y29tcHV0ZWRTdHlsZSgpKSB7CiAgICAgICAg
IGF1dG8qIHJlbmRlclN0eWxlID0gbm9kZS0+Y29tcHV0ZWRTdHlsZSgpOwogICAgICAgICByZW1v
dmVUZXh0RmlsbEFuZFN0cm9rZUNvbG9yc0lmTmVlZGVkKHJlbmRlclN0eWxlKTsKLSAgICAgICAg
aWYgKHJlbmRlclN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5rZXl3b3JkU2l6ZSgpKQotICAgICAg
ICAgICAgbV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGNv
bXB1dGVkU3R5bGVBdFBvc2l0aW9uLmdldEZvbnRTaXplQ1NTVmFsdWVQcmVmZXJyaW5nS2V5d29y
ZCgpLT5jc3NUZXh0KCkpOworICAgICAgICBpZiAocmVuZGVyU3R5bGUtPmZvbnREZXNjcmlwdGlv
bigpLmtleXdvcmRTaXplKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvIGNzc1ZhbHVlID0gY29t
cHV0ZWRTdHlsZUF0UG9zaXRpb24uZ2V0Rm9udFNpemVDU1NWYWx1ZVByZWZlcnJpbmdLZXl3b3Jk
KCkpCisgICAgICAgICAgICAgICAgbV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3Bl
cnR5Rm9udFNpemUsIGNzc1ZhbHVlLT5jc3NUZXh0KCkpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgbV9zaG91bGRVc2VGaXhlZERlZmF1bHRGb250U2l6ZSA9IGNvbXB1dGVkU3R5bGVBdFBvc2l0
aW9uLnVzZUZpeGVkRm9udERlZmF1bHRTaXplKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzE2YjQ5NTM2ZmM3NThkZDY4
OWY5NjExMDMxNjU4Yzg5NzMwMDA1My4uMzAxOTBhNmJiNmU1OGFjNmJhMzA2NGZiZjRmMmI5OWFh
YjkwZDQyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTE5ICBSb2IgQnVpcyAgPHJi
dWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbCBjaGVjayB0aGUgQ1NTVmFsdWUgaW4gRWRp
dGluZ1N0eWxlOjppbml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjkyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2gtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNy
YXNoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA4LTE5ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHU3RyZWFtZXIgZ2FyZGVuaW5n
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRl
LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2Fy
ZC1kZWxldGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzODMxNjIwZjY0ODA0NTM4
ZTIwZTk2YTExMzNiYWU5MWQ2YjRjZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxIEBACitUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kZmJiYWQ0NzFhOGRjMTY4ZTE1MzI3M2U0N2E2MjA4ZjNmNWM0ZDNhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1j
cmFzaC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxzdHlsZT4KKyAgOmxhc3Qtb2YtdHlwZSB7Cisg
ICAgaGVpZ2h0OiAxcHg7CisgICAgZGlzcGxheTogYmxvY2s7CisgIH0KKzwvc3R5bGU+Cis8c2Ny
aXB0PgorICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICBvbmxvYWQgPSBhc3luYyAoKSA9PiB7CisgICAgZG9jdW1lbnQuZGVzaWdu
TW9kZSA9ICdvbic7CisgICAgbGV0IGltZzAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcn
KTsKKyAgICBpbWcwLm9uZXJyb3IgPSAoKSA9PiB7CisgICAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgnRm9yd2FyZERlbGV0ZScpOworICAgICAgZG9jdW1lbnQud3JpdGUoIlRlc3QgcGFzc2VzIGlm
IGl0IGRvZXMgbm90IGNyYXNoLiIpOworICAgIH07CisgICAgbGV0IGRhdGFsaXN0MCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RhdGFsaXN0Jyk7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRD
aGlsZChkYXRhbGlzdDApOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGF0YWxpc3QnKSk7CisgICAgaW1nMC5zcmMgPSAnZGF0YTonOworICAg
IGxldCBlbWJlZDAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdlbWJlZCcpOworICAgIGVtYmVk
MC5zcmMgPSAnIyc7CisgICAgZGF0YWxpc3QwLmFwcGVuZENoaWxkKGVtYmVkMCk7CisgICAgYXdh
aXQgY2FjaGVzLmhhcygnYScpOworICAgIGltZzAuc3JjID0gJ2RhdGE6JzsKKyAgICBnZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkYXRhbGlzdDApOworICAgIGF3YWl0IGNhY2hlcy5o
YXMoJ2EnKTsKKyAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgnRGVsZXRlJyk7CisgIH07Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436274</attachid>
            <date>2021-08-24 03:53:44 -0700</date>
            <delta_ts>2021-08-25 00:57:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229281-20210824125343.patch</filename>
            <type>text/plain</type>
            <size>4518</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjYzZWYxZWQ0YzJiZjI4
ZTkzM2JkOGZlZmE1Mjc0YmYzNDEzMGQ5Ny4uMjcyNDE2MGZiZDNmNDAzM2VjNzhlOTIxZWFhMjdj
ODE0OWI3MjZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbCBjaGVjayB0aGUgQ1NTVmFs
dWUgaW4gRWRpdGluZ1N0eWxlOjppbml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjkyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOdWxsIGNoZWNrIHRoZSBDU1NWYWx1ZSBpbiBFZGl0aW5nU3R5bGU6
OmluaXQuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1j
cmFzaC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OmluaXQpOgorCiAyMDIxLTA4LTIzICBDYW1lcm9uIE1j
Q29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgdW5uZWNlc3Nhcnkg
Q0dDb2xvciBjcmVhdGlvbiBpbiBHcmFkaWVudDo6Y3JlYXRlQ0dHcmFkaWVudCBmb3IgY29tbW9u
IHNSR0Itb25seSBjYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
aW5nU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCmlu
ZGV4IDFiMDM2OGFmMWQwMjk1YzE3Nzk3YTRjYWU0OWMxOTBiYzc2ODE0NGIuLmNjOTRkNThmNTNk
MDRjNWJjYjRkNjk5ZDJkZWVhM2M0YzhlOTVmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRpbmdTdHlsZS5jcHAKQEAgLTQ3Nyw4ICs0NzcsMTAgQEAgdm9pZCBFZGl0aW5nU3R5bGU6Omlu
aXQoTm9kZSogbm9kZSwgUHJvcGVydGllc1RvSW5jbHVkZSBwcm9wZXJ0aWVzVG9JbmNsdWRlKQog
ICAgIGlmIChub2RlICYmIG5vZGUtPmNvbXB1dGVkU3R5bGUoKSkgewogICAgICAgICBhdXRvKiBy
ZW5kZXJTdHlsZSA9IG5vZGUtPmNvbXB1dGVkU3R5bGUoKTsKICAgICAgICAgcmVtb3ZlVGV4dEZp
bGxBbmRTdHJva2VDb2xvcnNJZk5lZWRlZChyZW5kZXJTdHlsZSk7Ci0gICAgICAgIGlmIChyZW5k
ZXJTdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkua2V5d29yZFNpemUoKSkKLSAgICAgICAgICAgIG1f
bXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBjb21wdXRlZFN0
eWxlQXRQb3NpdGlvbi5nZXRGb250U2l6ZUNTU1ZhbHVlUHJlZmVycmluZ0tleXdvcmQoKS0+Y3Nz
VGV4dCgpKTsKKyAgICAgICAgaWYgKHJlbmRlclN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5rZXl3
b3JkU2l6ZSgpKSB7CisgICAgICAgICAgICBpZiAoYXV0byBjc3NWYWx1ZSA9IGNvbXB1dGVkU3R5
bGVBdFBvc2l0aW9uLmdldEZvbnRTaXplQ1NTVmFsdWVQcmVmZXJyaW5nS2V5d29yZCgpKQorICAg
ICAgICAgICAgICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRT
aXplLCBjc3NWYWx1ZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIG1fc2hv
dWxkVXNlRml4ZWREZWZhdWx0Rm9udFNpemUgPSBjb21wdXRlZFN0eWxlQXRQb3NpdGlvbi51c2VG
aXhlZEZvbnREZWZhdWx0U2l6ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlhZDA2MjdhNDY1NTBkYjZmM2U1MDk0ZDFm
MTQzN2E2YjU3NGI3YmEuLmYzZWZlMDNjOWY5ZjQ3MjQxNWIxY2I1YThiY2FkOGVmODRmYTI4MTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wOC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIE51bGwgY2hlY2sgdGhlIENTU1ZhbHVlIGluIEVkaXRpbmdTdHls
ZTo6aW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5MjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBlZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC5odG1s
OiBBZGRlZC4KKwogMjAyMS0wOC0yMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIE51bGwgY2hlY2sgc2NyaXB0RXhlY3V0aW9uQ29udGV4dApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzgzMTYyMGY2NDgwNDUzOGUyMGU5NmExMTMzYmFlOTFk
NmI0Y2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9m
b3J3YXJkLWRlbGV0ZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGVzdCBwYXNz
ZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRiOTYyOGE0
YzZlODA1NjYyYzAxODAwNjczYzg1ZjBjZjk1MzcyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRtbApAQCAtMCww
ICsxLDQ0IEBACis8c3R5bGU+CisgIDpsYXN0LW9mLXR5cGUgeworICAgIGhlaWdodDogMXB4Owor
ICAgIGRpc3BsYXk6IGJsb2NrOworICB9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTog
IkFoZW0iOworICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKTsKK30KKzwv
c3R5bGU+Cis8c2NyaXB0PgorICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB3aW5kb3cu
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICB9CisgIG9ubG9hZCA9IGFzeW5jICgpID0+IHsKKyAgICBkb2N1bWVudC5kZXNp
Z25Nb2RlID0gJ29uJzsKKyAgICBsZXQgaW1nMCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lt
ZycpOworICAgIGltZzAub25lcnJvciA9ICgpID0+IHsKKyAgICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCdGb3J3YXJkRGVsZXRlJyk7CisgICAgICBkb2N1bWVudC53cml0ZSgiVGVzdCBwYXNzZXMg
aWYgaXQgZG9lcyBub3QgY3Jhc2guIik7CisgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgfTsKKyAgICBsZXQgZGF0YWxpc3QwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGF0YWxpc3QnKTsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRhdGFsaXN0MCk7
CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
YXRhbGlzdCcpKTsKKyAgICBpbWcwLnNyYyA9ICdkYXRhOic7CisgICAgbGV0IGVtYmVkMCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2VtYmVkJyk7CisgICAgZW1iZWQwLnNyYyA9ICcjJzsKKyAg
ICBkYXRhbGlzdDAuYXBwZW5kQ2hpbGQoZW1iZWQwKTsKKyAgICBpZiAod2luZG93LmNhY2hlcykK
KyAgICAgIGF3YWl0IGNhY2hlcy5oYXMoJ2EnKTsKKyAgICBlbHNlCisgICAgICBhd2FpdCBkb2N1
bWVudC5mb250cy5sb2FkKCI4MHB4IEFoZW0iKTsKKyAgICBpbWcwLnNyYyA9ICdkYXRhOic7Cisg
ICAgZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZGF0YWxpc3QwKTsKKyAgICBpZiAo
d2luZG93LmNhY2hlcykKKyAgICAgIGF3YWl0IGNhY2hlcy5oYXMoJ2EnKTsKKyAgICBlbHNlCisg
ICAgICBhd2FpdCBkb2N1bWVudC5mb250cy5sb2FkKCI4MHB4IEFoZW0iKTsKKyAgICBkb2N1bWVu
dC5ib2R5Lm9mZnNldFRvcDsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnRGVsZXRlJyk7Cisg
IH07Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436378</attachid>
            <date>2021-08-25 00:57:42 -0700</date>
            <delta_ts>2021-08-25 10:08:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229281-20210825095740.patch</filename>
            <type>text/plain</type>
            <size>4566</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE0ODk0ZDE4MDllMWM4
OTAwZGIxYzMyZDg0Nzc1YTJhNmEzOWFjMy4uODY5YWRhZDM4MjA4OTc2ZmQ5NDc3MjE5MzJmNmQ2
ZTBiMWIyN2FjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBDU1NW
YWx1ZTo6Y3NzVGV4dCgpIHZpYSBEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpjYWxjdWxhdGVUeXBp
bmdTdHlsZUFmdGVyRGVsZXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjkyODEKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisK
KyAgICAgICAgTnVsbCBjaGVjayB0aGUgQ1NTVmFsdWUgaW4gRWRpdGluZ1N0eWxlOjppbml0Lgor
CisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRt
bAorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWRpdGluZ1N0eWxlOjppbml0KToKKwogMjAyMS0wOC0yNCAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIy
ODE1NDAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKaW5kZXggMWIwMzY4
YWYxZDAyOTVjMTc3OTdhNGNhZTQ5YzE5MGJjNzY4MTQ0Yi4uY2M5NGQ1OGY1M2QwNGM1YmNiNGQ2
OTlkMmRlZWEzYzRjOGU5NWYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxl
LmNwcApAQCAtNDc3LDggKzQ3NywxMCBAQCB2b2lkIEVkaXRpbmdTdHlsZTo6aW5pdChOb2RlKiBu
b2RlLCBQcm9wZXJ0aWVzVG9JbmNsdWRlIHByb3BlcnRpZXNUb0luY2x1ZGUpCiAgICAgaWYgKG5v
ZGUgJiYgbm9kZS0+Y29tcHV0ZWRTdHlsZSgpKSB7CiAgICAgICAgIGF1dG8qIHJlbmRlclN0eWxl
ID0gbm9kZS0+Y29tcHV0ZWRTdHlsZSgpOwogICAgICAgICByZW1vdmVUZXh0RmlsbEFuZFN0cm9r
ZUNvbG9yc0lmTmVlZGVkKHJlbmRlclN0eWxlKTsKLSAgICAgICAgaWYgKHJlbmRlclN0eWxlLT5m
b250RGVzY3JpcHRpb24oKS5rZXl3b3JkU2l6ZSgpKQotICAgICAgICAgICAgbV9tdXRhYmxlU3R5
bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGNvbXB1dGVkU3R5bGVBdFBvc2l0
aW9uLmdldEZvbnRTaXplQ1NTVmFsdWVQcmVmZXJyaW5nS2V5d29yZCgpLT5jc3NUZXh0KCkpOwor
ICAgICAgICBpZiAocmVuZGVyU3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLmtleXdvcmRTaXplKCkp
IHsKKyAgICAgICAgICAgIGlmIChhdXRvIGNzc1ZhbHVlID0gY29tcHV0ZWRTdHlsZUF0UG9zaXRp
b24uZ2V0Rm9udFNpemVDU1NWYWx1ZVByZWZlcnJpbmdLZXl3b3JkKCkpCisgICAgICAgICAgICAg
ICAgbV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGNzc1Zh
bHVlLT5jc3NUZXh0KCkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgbV9zaG91bGRVc2VGaXhl
ZERlZmF1bHRGb250U2l6ZSA9IGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uLnVzZUZpeGVkRm9udERl
ZmF1bHRTaXplKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMThkNWEyYjViZTMxODA0YzQyNGMxNjUzZjY0MjU3MjVkMjZi
MDhlZS4uNzE2OWZjZTg2NmYxMjVlOTBlOWU1M2ExYzVlOWNhZjU0NDAxZTc2YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDIxLTA4LTI1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBDU1NWYWx1ZTo6Y3NzVGV4dCgpIHZpYSBEZWxldGVT
ZWxlY3Rpb25Db21tYW5kOjpjYWxjdWxhdGVUeXBpbmdTdHlsZUFmdGVyRGVsZXRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkyODEKKworICAgICAg
ICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5n
L2ZvcndhcmQtZGVsZXRlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0w
OC0yNCAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFO
R0xFIE1ldGFsIGluZmluaXRpZXMgYW5kIE5hTnMgZ2VuZXJhdGVkIHdpdGggaW5jb3JyZWN0IHN5
bnRheApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRl
bGV0ZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2Zv
cndhcmQtZGVsZXRlLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzgzMTYyMGY2NDgw
NDUzOGUyMGU5NmExMTMzYmFlOTFkNmI0Y2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSBAQAorVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDkwMzFmYTk2YjlhY2EyZTBmYjIwOWU5MTU1MDE3MjQ4MjRkNzY2OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxl
dGUtY3Jhc2guaHRtbApAQCAtMCwwICsxLDQzIEBACis8c3R5bGU+CisgIDpsYXN0LW9mLXR5cGUg
eworICAgIGhlaWdodDogMXB4OworICAgIGRpc3BsYXk6IGJsb2NrOworICB9CitAZm9udC1mYWNl
IHsKKyAgICBmb250LWZhbWlseTogIkFoZW0iOworICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJj
ZXMvQWhlbS50dGYiKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2lu
ZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICB9CisgIG9ubG9hZCA9IGFzeW5jICgpID0+
IHsKKyAgICBkb2N1bWVudC5kZXNpZ25Nb2RlID0gJ29uJzsKKyAgICBsZXQgaW1nMCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgIGltZzAub25lcnJvciA9ICgpID0+IHsKKyAg
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdGb3J3YXJkRGVsZXRlJyk7CisgICAgICBkb2N1bWVu
dC53cml0ZSgiVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guIik7CisgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfTsKKyAgICBsZXQgZGF0YWxpc3QwID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGF0YWxpc3QnKTsKKyAgICBkb2N1bWVudC5oZWFkLmFw
cGVuZENoaWxkKGRhdGFsaXN0MCk7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkYXRhbGlzdCcpKTsKKyAgICBpbWcwLnNyYyA9ICdkYXRhOic7
CisgICAgbGV0IGVtYmVkMCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2VtYmVkJyk7CisgICAg
ZW1iZWQwLnNyYyA9ICcjJzsKKyAgICBkYXRhbGlzdDAuYXBwZW5kQ2hpbGQoZW1iZWQwKTsKKyAg
ICBpZiAod2luZG93LmNhY2hlcykKKyAgICAgIGF3YWl0IGNhY2hlcy5oYXMoJ2EnKTsKKyAgICBl
bHNlCisgICAgICBhd2FpdCBkb2N1bWVudC5mb250cy5sb2FkKCI4MHB4IEFoZW0iKTsKKyAgICBp
bWcwLnNyYyA9ICdkYXRhOic7CisgICAgZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4o
ZGF0YWxpc3QwKTsKKyAgICBpZiAod2luZG93LmNhY2hlcykKKyAgICAgIGF3YWl0IGNhY2hlcy5o
YXMoJ2EnKTsKKyAgICBlbHNlCisgICAgICBhd2FpdCBkb2N1bWVudC5mb250cy5sb2FkKCI4MHB4
IEFoZW0iKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnRGVsZXRlJyk7CisgIH07Cis8L3Nj
cmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436401</attachid>
            <date>2021-08-25 10:08:55 -0700</date>
            <delta_ts>2021-09-06 02:12:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229281-20210825190853.patch</filename>
            <type>text/plain</type>
            <size>4611</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjcwMmZmZWUzYjg1MjUx
ZmQ1OTZhMGYyOTA1MTZiNjMxNWFiOTgxYy4uYzA2M2QyZDc1YzRiOGViY2I0NzBhZDczMWIwYWY5
YjlmNGMwNzc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBDU1NW
YWx1ZTo6Y3NzVGV4dCgpIHZpYSBEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpjYWxjdWxhdGVUeXBp
bmdTdHlsZUFmdGVyRGVsZXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjkyODEKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisK
KyAgICAgICAgTnVsbCBjaGVjayB0aGUgQ1NTVmFsdWUgaW4gRWRpdGluZ1N0eWxlOjppbml0Lgor
CisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRt
bAorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWRpdGluZ1N0eWxlOjppbml0KToKKwogMjAyMS0wOC0yNSAgS2F0ZSBDaGVuZXkgIDxrYXRo
ZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJDcnlwdG8gdXNlcyBkZXByZWNh
dGVkIENDS2V5RGVyaXZhdGlvbkhNYWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ1N0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxl
LmNwcAppbmRleCAxYjAzNjhhZjFkMDI5NWMxNzc5N2E0Y2FlNDljMTkwYmM3NjgxNDRiLi5jYzk0
ZDU4ZjUzZDA0YzViY2I0ZDY5OWQyZGVlYTNjNGM4ZTk1ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0aW5nU3R5bGUuY3BwCkBAIC00NzcsOCArNDc3LDEwIEBAIHZvaWQgRWRpdGluZ1N0
eWxlOjppbml0KE5vZGUqIG5vZGUsIFByb3BlcnRpZXNUb0luY2x1ZGUgcHJvcGVydGllc1RvSW5j
bHVkZSkKICAgICBpZiAobm9kZSAmJiBub2RlLT5jb21wdXRlZFN0eWxlKCkpIHsKICAgICAgICAg
YXV0byogcmVuZGVyU3R5bGUgPSBub2RlLT5jb21wdXRlZFN0eWxlKCk7CiAgICAgICAgIHJlbW92
ZVRleHRGaWxsQW5kU3Ryb2tlQ29sb3JzSWZOZWVkZWQocmVuZGVyU3R5bGUpOwotICAgICAgICBp
ZiAocmVuZGVyU3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLmtleXdvcmRTaXplKCkpCi0gICAgICAg
ICAgICBtX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgY29t
cHV0ZWRTdHlsZUF0UG9zaXRpb24uZ2V0Rm9udFNpemVDU1NWYWx1ZVByZWZlcnJpbmdLZXl3b3Jk
KCktPmNzc1RleHQoKSk7CisgICAgICAgIGlmIChyZW5kZXJTdHlsZS0+Zm9udERlc2NyaXB0aW9u
KCkua2V5d29yZFNpemUoKSkgeworICAgICAgICAgICAgaWYgKGF1dG8gY3NzVmFsdWUgPSBjb21w
dXRlZFN0eWxlQXRQb3NpdGlvbi5nZXRGb250U2l6ZUNTU1ZhbHVlUHJlZmVycmluZ0tleXdvcmQo
KSkKKyAgICAgICAgICAgICAgICBtX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVy
dHlGb250U2l6ZSwgY3NzVmFsdWUtPmNzc1RleHQoKSk7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBtX3Nob3VsZFVzZUZpeGVkRGVmYXVsdEZvbnRTaXplID0gY29tcHV0ZWRTdHlsZUF0UG9zaXRp
b24udXNlRml4ZWRGb250RGVmYXVsdFNpemUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZDcwNzAwOTI1MjgxMmQ3Njk0
ZjllZjMzMDlkZGQ1NWNjNDBlZmIyLi42ZGRiNmZlOTg4ZTMyMjUwZTk2ZDY3MWNmZTYyN2ZmZDIw
ZGY4Yjk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjUgIFJvYiBCdWlzICA8cmJ1
aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBOdWxscHRyIGNyYXNoIGluIENTU1ZhbHVlOjpjc3NU
ZXh0KCkgdmlhIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmNhbGN1bGF0ZVR5cGluZ1N0eWxlQWZ0
ZXJEZWxldGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyOTI4MQorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAq
IGVkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLmh0bWw6
IEFkZGVkLgorCiAyMDIxLTA4LTI1ICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBNYXJrIHdpZGUgZ2FtdXQgY2FudmFzIHRl
c3RzIGFzIHVuc3VwcG9ydGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0
aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAzODMxNjIwZjY0ODA0NTM4ZTIwZTk2YTExMzNiYWU5MWQ2YjRjZWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVsZXRlLWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFz
aC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxl
dGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxl
dGUtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGZlOGEzZTc1M2E4NGZhNTZiZTE0YzQ0NTA5Nzhh
YTY0Y2M3MjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGlu
Zy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzxzdHlsZT4KKyAg
Omxhc3Qtb2YtdHlwZSB7CisgICAgaGVpZ2h0OiAxcHg7CisgICAgZGlzcGxheTogYmxvY2s7Cisg
IH0KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQWhlbSI7CisgICAgc3JjOiB1cmwo
Ii4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgIH0KKyAgb25sb2Fk
ID0gYXN5bmMgKCkgPT4geworICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAnb24nOworICAgIGxl
dCBpbWcwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgaW1nMC5vbmVycm9y
ID0gKCkgPT4geworICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0ZvcndhcmREZWxldGUnKTsK
KyAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsgfSwgMCk7CisgICAgICBkb2N1bWVudC53cml0ZSgiVGVzdCBwYXNzZXMgaWYgaXQgZG9l
cyBub3QgY3Jhc2guIik7CisgICAgfTsKKyAgICBsZXQgZGF0YWxpc3QwID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGF0YWxpc3QnKTsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRh
dGFsaXN0MCk7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkYXRhbGlzdCcpKTsKKyAgICBpbWcwLnNyYyA9ICdkYXRhOic7CisgICAgbGV0IGVt
YmVkMCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2VtYmVkJyk7CisgICAgZW1iZWQwLnNyYyA9
ICcjJzsKKyAgICBkYXRhbGlzdDAuYXBwZW5kQ2hpbGQoZW1iZWQwKTsKKyAgICBpZiAod2luZG93
LmNhY2hlcykKKyAgICAgIGF3YWl0IGNhY2hlcy5oYXMoJ2EnKTsKKyAgICBlbHNlCisgICAgICBh
d2FpdCBkb2N1bWVudC5mb250cy5sb2FkKCI4MHB4IEFoZW0iKTsKKyAgICBpbWcwLnNyYyA9ICdk
YXRhOic7CisgICAgZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZGF0YWxpc3QwKTsK
KyAgICBpZiAod2luZG93LmNhY2hlcykKKyAgICAgIGF3YWl0IGNhY2hlcy5oYXMoJ2EnKTsKKyAg
ICBlbHNlCisgICAgICBhd2FpdCBkb2N1bWVudC5mb250cy5sb2FkKCI4MHB4IEFoZW0iKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgnRGVsZXRlJyk7CisgIH07Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437398</attachid>
            <date>2021-09-06 02:12:27 -0700</date>
            <delta_ts>2021-09-07 00:06:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229281-20210906111225.patch</filename>
            <type>text/plain</type>
            <size>4682</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTIwYWMwNzEzNWNjMjY0
NmIyMjdkNWJkM2VjZGM2YzA0YjQxODIxZS4uNjNiODMwMWM4MjZkYmU2YmI1YjhiMmFiMmVkZGE1
YmM5MWRlODJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA5LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBDU1NW
YWx1ZTo6Y3NzVGV4dCgpIHZpYSBEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpjYWxjdWxhdGVUeXBp
bmdTdHlsZUFmdGVyRGVsZXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjkyODEKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisK
KyAgICAgICAgTnVsbCBjaGVjayB0aGUgQ1NTVmFsdWUgaW4gRWRpdGluZ1N0eWxlOjppbml0Lgor
CisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRt
bAorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWRpdGluZ1N0eWxlOjppbml0KToKKwogMjAyMS0wOS0wNiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGxpYndlYnJ0YyBuZXR3b3JrIG1h
bmFnZXIgR2V0TWRuc1Jlc3BvbmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0aW5nU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUu
Y3BwCmluZGV4IDFiMDM2OGFmMWQwMjk1YzE3Nzk3YTRjYWU0OWMxOTBiYzc2ODE0NGIuLmNjOTRk
NThmNTNkMDRjNWJjYjRkNjk5ZDJkZWVhM2M0YzhlOTVmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRpbmdTdHlsZS5jcHAKQEAgLTQ3Nyw4ICs0NzcsMTAgQEAgdm9pZCBFZGl0aW5nU3R5
bGU6OmluaXQoTm9kZSogbm9kZSwgUHJvcGVydGllc1RvSW5jbHVkZSBwcm9wZXJ0aWVzVG9JbmNs
dWRlKQogICAgIGlmIChub2RlICYmIG5vZGUtPmNvbXB1dGVkU3R5bGUoKSkgewogICAgICAgICBh
dXRvKiByZW5kZXJTdHlsZSA9IG5vZGUtPmNvbXB1dGVkU3R5bGUoKTsKICAgICAgICAgcmVtb3Zl
VGV4dEZpbGxBbmRTdHJva2VDb2xvcnNJZk5lZWRlZChyZW5kZXJTdHlsZSk7Ci0gICAgICAgIGlm
IChyZW5kZXJTdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkua2V5d29yZFNpemUoKSkKLSAgICAgICAg
ICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBjb21w
dXRlZFN0eWxlQXRQb3NpdGlvbi5nZXRGb250U2l6ZUNTU1ZhbHVlUHJlZmVycmluZ0tleXdvcmQo
KS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgaWYgKHJlbmRlclN0eWxlLT5mb250RGVzY3JpcHRpb24o
KS5rZXl3b3JkU2l6ZSgpKSB7CisgICAgICAgICAgICBpZiAoYXV0byBjc3NWYWx1ZSA9IGNvbXB1
dGVkU3R5bGVBdFBvc2l0aW9uLmdldEZvbnRTaXplQ1NTVmFsdWVQcmVmZXJyaW5nS2V5d29yZCgp
KQorICAgICAgICAgICAgICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0
eUZvbnRTaXplLCBjc3NWYWx1ZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAg
IG1fc2hvdWxkVXNlRml4ZWREZWZhdWx0Rm9udFNpemUgPSBjb21wdXRlZFN0eWxlQXRQb3NpdGlv
bi51c2VGaXhlZEZvbnREZWZhdWx0U2l6ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFiY2VlYmJiNjA5ZTQyYmZhNjFm
Yzg4NWFhNmNkZGE4ZTliZjViZGIuLjRmNGM5NzQxZThkNWUxZGU0YzgzNTI0ZmIxYzUwYzllNDkz
ZTJhZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wOS0wNiAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgorCisgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4gQ1NTVmFsdWU6OmNzc1Rl
eHQoKSB2aWEgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6Y2FsY3VsYXRlVHlwaW5nU3R5bGVBZnRl
ckRlbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5MjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICog
ZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2guaHRtbDog
QWRkZWQuCisKIDIwMjEtMDktMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEltcGxlbWVudCBsaWJ3ZWJydGMgbmV0d29yayBtYW5hZ2VyIEdldE1kbnNSZXNw
b25kZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1k
ZWxldGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9m
b3J3YXJkLWRlbGV0ZS1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM4MzE2MjBmNjQ4
MDQ1MzhlMjBlOTZhMTEzM2JhZTkxZDZiNGNlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvZGVsZXRpbmcvZm9yd2FyZC1kZWxldGUtY3Jhc2gtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEgQEAKK1Rlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9mb3J3YXJkLWRlbGV0ZS1jcmFzaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM2ZWU5NWQ2NDdhMGU0NzI0MWYwOWI0ZDIxZmRmYWI1MTk1YWNjYWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2ZvcndhcmQtZGVs
ZXRlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPHN0eWxlPgorICA6bGFzdC1vZi10eXBl
IHsKKyAgICBoZWlnaHQ6IDFweDsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgfQorQGZvbnQtZmFj
ZSB7CisgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICBzcmM6IHVybCgiLi4vLi4vcmVzb3Vy
Y2VzL0FoZW0udHRmIik7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHdpbmRv
dy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgfQorICBvbmxvYWQgPSBhc3luYyAoKSA9
PiB7CisgICAgZG9jdW1lbnQuZGVzaWduTW9kZSA9ICdvbic7CisgICAgbGV0IGltZzAgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICBpbWcwLm9uZXJyb3IgPSAoKSA9PiB7Cisg
ICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnRm9yd2FyZERlbGV0ZScpOworICAgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAwKTsK
KyAgICAgIGRvY3VtZW50LndyaXRlKCJUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4i
KTsKKyAgICB9OworICAgIGxldCBkYXRhbGlzdDAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
YXRhbGlzdCcpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZGF0YWxpc3QwKTsKKyAg
ICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RhdGFs
aXN0JykpOworICAgIGltZzAuc3JjID0gJ2RhdGE6JzsKKyAgICBsZXQgZW1iZWQwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZW1iZWQnKTsKKyAgICBlbWJlZDAuc3JjID0gJyMnOworICAgIGRh
dGFsaXN0MC5hcHBlbmRDaGlsZChlbWJlZDApOworICAgIGlmIChuYXZpZ2F0b3IucGxhdGZvcm0u
aW5kZXhPZignTWFjJykgPT0gMCAmJiB3aW5kb3cuY2FjaGVzKQorICAgICAgYXdhaXQgY2FjaGVz
LmhhcygnYScpOworICAgIGVsc2UKKyAgICAgIGF3YWl0IGRvY3VtZW50LmZvbnRzLmxvYWQoIjgw
cHggQWhlbSIpOworICAgIGltZzAuc3JjID0gJ2RhdGE6JzsKKyAgICBnZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkYXRhbGlzdDApOworICAgIGlmIChuYXZpZ2F0b3IucGxhdGZvcm0u
aW5kZXhPZignTWFjJykgPT0gMCAmJiB3aW5kb3cuY2FjaGVzKQorICAgICAgYXdhaXQgY2FjaGVz
LmhhcygnYScpOworICAgIGVsc2UKKyAgICAgIGF3YWl0IGRvY3VtZW50LmZvbnRzLmxvYWQoIjgw
cHggQWhlbSIpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdEZWxldGUnKTsKKyAgfTsKKzwv
c2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>