<?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>28710</bug_id>
          
          <creation_ts>2009-08-25 07:58:59 -0700</creation_ts>
          <short_desc>Copy some forms of text causes Webkit crash in CSSStyleDeclaration::copyPropertiesInSet</short_desc>
          <delta_ts>2009-10-05 16:26:42 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://classicalmusic.about.com/od/romanticperiodsymphonies/qt/Beethovenjoytxt.htm</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>matthew.c.henderson</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>john</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>mitz</cc>
    
    <cc>playmobil</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142572</commentid>
    <comment_count>0</comment_count>
    <who name="">matthew.c.henderson</who>
    <bug_when>2009-08-25 07:58:59 -0700</bug_when>
    <thetext>Went here
http://classicalmusic.about.com/od/romanticperiodsymphonies/qt/Beethovenjoytxt.htm

selected the translation text &quot;O friends....  above the stars must he dwell.&quot;

I did a command-C to copy the text.  As the mouse pointer was going to the text editor window, Webkit crashed.

repeated several times until deciding to report this bug. 

Note: Could copy text off of the Webkit startup &quot;nightly build&quot; web page without crashing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142588</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-08-25 08:58:47 -0700</bug_when>
    <thetext>Please attach a crash log &lt;http://webkit.org/quality/crashlogs.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142792</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-25 22:55:36 -0700</bug_when>
    <thetext>I can reproduce this with a local debug build of r47661, stack trace:

#0	0x03a6102f in WebCore::CSSStyleDeclaration::copyPropertiesInSet at CSSStyleDeclaration.cpp:153
#1	0x0396b118 in WebCore::editingStyleAtPosition at ApplyStyleCommand.cpp:386
#2	0x03fb0ed1 in WebCore::createMarkup at markup.cpp:1007
#3	0x03f8f44b in WebCore::LegacyWebArchive::createFromSelection at LegacyWebArchive.cpp:567
#4	0x04007cae in WebCore::Pasteboard::writeSelection at PasteboardMac.mm:166
#5	0x04008180 in WebCore::Pasteboard::writeSelection at PasteboardMac.mm:203
#6	0x03bd911b in WebCore::Editor::copy at Editor.cpp:1035
#7	0x03bde8c7 in WebCore::executeCopy at EditorCommand.cpp:284
#8	0x03bdc3a3 in WebCore::Editor::Command::execute at EditorCommand.cpp:1504
#9	0x00e05ed6 in -[WebHTMLView executeCoreCommandBySelector:] at WebHTMLView.mm:2360
#10	0x00df6f8b in -[WebHTMLView copy:] at WebHTMLView.mm:2382
&lt;..&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142793</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-08-25 22:59:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/7170666&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142875</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-26 09:56:00 -0700</bug_when>
    <thetext>Crash report.

Version:         r47686 (47686)
Code Type:       X86 (Native)
Date/Time:       2009-08-26 09:51:48.256 -0700
OS Version:      Mac OS X 10.5.8 (9L31a)
Report Version:  6
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

0   com.apple.WebCore             	0x00fa1d50 WebCore::CSSStyleDeclaration::copyPropertiesInSet(int const*, unsigned int) const + 144
1   com.apple.WebCore             	0x00f088a0 WebCore::editingStyleAtPosition(WebCore::Position, WebCore::ShouldIncludeTypingStyle) + 80
2   com.apple.WebCore             	0x014a21bf WebCore::createMarkup(WebCore::Range const*, WTF::Vector&lt;WebCore::Node*, 0ul&gt;*, WebCore::EAnnotateForInterchange, bool) + 4687
3   com.apple.WebCore             	0x01485e14 WebCore::LegacyWebArchive::createFromSelection(WebCore::Frame*) + 132
4   com.apple.WebCore             	0x014d9e02 WebCore::Pasteboard::writeSelection(NSPasteboard*, WebCore::Range*, bool, WebCore::Frame*) + 1410
5   com.apple.WebCore             	0x010c107d WebCore::Editor::copy() + 269
6   com.apple.WebCore             	0x010ca469 __ZN7WebCoreL11executeCopyEPNS_5FrameEPNS_5EventENS_19EditorCommandSourceERKNS_6StringE + 25
7   com.apple.WebCore             	0x010c8dfe WebCore::Editor::Command::execute(WebCore::String const&amp;, WebCore::Event*) const + 110
8   com.apple.WebKit              	0x0032a4a7 -[WebHTMLView executeCoreCommandBySelector:] + 135</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142893</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-26 10:53:41 -0700</bug_when>
    <thetext>Did not reproduce on TOT.  Can someone else try it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143031</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-26 19:26:15 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Did not reproduce on TOT.  Can someone else try it?

Finally managed to reproduce.
385    RefPtr&lt;CSSComputedStyleDeclaration&gt; computedStyleAtPosition = pos.computedStyle();
is returning 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143034</commentid>
    <comment_count>7</comment_count>
      <attachid>38655</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-26 20:09:46 -0700</bug_when>
    <thetext>Created attachment 38655
reduction, copy &quot;first paragraph&quot; and crashes WebKit.

This crash is caused by a bug that the computed style is null if text-decoration is set to inherit at the html node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143768</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-31 20:02:35 -0700</bug_when>
    <thetext>I did some investigation with the test case I posted.

http://trac.webkit.org/browser/trunk/WebCore/dom/Position.cpp#L199
On the line 211, anchorNode() is returning the html node, and n-&gt;isElementNode() is returning false so that n-&gt;parentNode() is called on n=html element.

editingStyleAtPosition is called from http://trac.webkit.org/browser/trunk/WebCore/editing/markup.cpp#L1005

parentOfLastClosed is also html element.

When text-decoration: inherit is removed from the html element, the position points to div, and everything works fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143769</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-31 20:25:35 -0700</bug_when>
    <thetext>In createMarkup, specialCommonAncestor is null normally but it&apos;s set to the html element with text-decoration: inherit property on html element.

The problem is caused by the line 950 of markup.cpp where we find the highest enclosing node, which is presentational.

On the line 712, we check whether text decoration exist or not by checking whether it&apos;s equal to none or inherit.  But we should also ignore inherit because inherit = none for the purpose of this function.
return !propertyMissingOrEqualToNone(style.get(), CSSPropertyTextDecoration);

http://trac.webkit.org/browser/trunk/WebCore/editing/markup.cpp#L948
http://trac.webkit.org/browser/trunk/WebCore/editing/markup.cpp#L704</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143775</commentid>
    <comment_count>10</comment_count>
      <attachid>38845</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-31 22:32:13 -0700</bug_when>
    <thetext>Created attachment 38845
attempt to fix the bug but needs DRT test

This patch modifies propertyMissingOrEqualToNone to propertyMissingOrEqualToNoneOrInherit.  Need a DRT test and changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143776</commentid>
    <comment_count>11</comment_count>
      <attachid>38846</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-31 22:50:16 -0700</bug_when>
    <thetext>Created attachment 38846
another test

Even if my attempt was accepted, WebKit still crashes when html element has text-decoration.  I feel like this problem will be solved if isElement() was true for html element.  I don&apos;t really understand why this is not the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143780</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-31 23:35:50 -0700</bug_when>
    <thetext>isElementNode() should be true for the HTML element, but not for the Document node (which is its parent). Looks like the problem here is that a position&apos;s anchor node is the document node, which makes Position::element() return null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143940</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-09-01 10:53:45 -0700</bug_when>
    <thetext>*** Bug 28807 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144245</commentid>
    <comment_count>14</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2009-09-02 10:55:09 -0700</bug_when>
    <thetext>Chromium bug tracker URL: http://crbug.com/20891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144247</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-02 11:01:09 -0700</bug_when>
    <thetext>Here are some options to fix this bug.

1. We make sure document is not passed as node to editingStyleAtPosition in createMakrup

2. We allow position.computedStyle to use a document node.

3. We bail out in editingStyleAtPosition if the position returned a null pointer.

There are several ways to implement 1, and I can&apos;t really think of a good one.  But I don&apos;t think why any element with text-decoration must be a special ancestor.  I feel like we can get away without making it special ancestor since we&apos;re adding computedStyle in a wrapping span later anyways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144636</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-03 16:23:48 -0700</bug_when>
    <thetext>I tried #2 but this method turned out to be insufficient.  When allowing html elemenet to be a special ancestor causes the style attribute of the html element in inside which the fragment is pasted to be modififed.

To solve this problem, we should disallow elements with text-decoration property to be a special ancestor, and should use StyleChange class from ApplyStyleCommand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144645</commentid>
    <comment_count>17</comment_count>
      <attachid>39020</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-03 17:01:30 -0700</bug_when>
    <thetext>Created attachment 39020
2nd attempt to fix the bug, requires rebaseline &amp; DRT test

As I described above, we need to export StyleChange from ApplyStyleCommand and use it in createMarkup.  But that means we might end up wrapping a bunch of block elements with b, s, etc...  But this requires substential architectual change of the editing code (takes at least several months).  So for time being, we can ignore StyleWithCSS=false, and just fix the crash.

This patch tries to modify Position::computedStyle to allow document node to be passed to computedStyle.  In addition, it modifies isElementPresentational not to recognize html elements with text-decoration property.  Instead of treating them as special ancestors, we&apos;ll preserve text decorations from the computed style when we wrap the content with style span if necessary.

This patch somehow caused a whole bunch of tests to fail because WebKit spits out a bunch of annoymous nodes and empty text nodes.  Does anyone know why this happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144647</commentid>
    <comment_count>18</comment_count>
      <attachid>39020</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-03 17:05:46 -0700</bug_when>
    <thetext>Comment on attachment 39020
2nd attempt to fix the bug, requires rebaseline &amp; DRT test

Make my patch r? even though I don&apos;t intend to land this patch at all.  I just need some feedback on my approach here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145413</commentid>
    <comment_count>19</comment_count>
      <attachid>39020</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 10:10:51 -0700</bug_when>
    <thetext>Comment on attachment 39020
2nd attempt to fix the bug, requires rebaseline &amp; DRT test

This will need a layout test in the end.  Not sure what about this approach you want feedback on.  Probably best to just post a &quot;final&quot; patch that can be actually reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145506</commentid>
    <comment_count>20</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2009-09-08 12:56:44 -0700</bug_when>
    <thetext>+    ContainerNode* elem = element();
+    // Allow document node to be passed if there

Comment is unnecessary since it just says what the code does.

&gt; This patch somehow caused a whole bunch of tests to fail 
&gt; because WebKit spits out a bunch of annoymous nodes and 
&gt; empty text nodes.  Does anyone know why this happens?

Could you attach those diffs?

     // All text-decoration-related elements should have been treated as special ancestors
     // If we ever hit this ASSERT, we should export StyleChange in ApplyStyleCommand and use it here
-    ASSERT(propertyMissingOrEqualToNone(style, CSSPropertyTextDecoration) &amp;&amp; propertyMissingOrEqualToNone(style, CSSPropertyWebkitTextDecorationsInEffect));
+    ASSERT(propertyMissingOrEqualToNone(style, CSSPropertyWebkitTextDecorationsInEffect));

I think that the comment needs to be updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145876</commentid>
    <comment_count>21</comment_count>
      <attachid>39286</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-09 11:45:41 -0700</bug_when>
    <thetext>Created attachment 39286
fixes the bug but requires a lot of rebaselines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146457</commentid>
    <comment_count>22</comment_count>
      <attachid>39409</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-09-10 22:20:03 -0700</bug_when>
    <thetext>Created attachment 39409
A super-quick fix written in an hour

This is a super-quick workaround for this bug written this morning. (I haven&apos;t noticed you have been working for this bug.)
Even though it is nothing but a better-than-crash fix, I wish this helps you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149139</commentid>
    <comment_count>23</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-22 12:06:09 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Created an attachment (id=39409) [details]
&gt; A super-quick fix written in an hour
&gt; 
&gt; This is a super-quick workaround for this bug written this morning. (I haven&apos;t
&gt; noticed you have been working for this bug.)
&gt; Even though it is nothing but a better-than-crash fix, I wish this helps you.

Your patch fixes the crash but doesn&apos;t fix the problem caused this crash: passing a null pointer to editingStyleAtPosition.  We should never be passing a null pointer to editingStyleAtPosition because it doesn&apos;t make sense to obtain the editing style at null position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149140</commentid>
    <comment_count>24</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2009-09-22 12:07:44 -0700</bug_when>
    <thetext>Ryosuke, did you scope out the DOM changes that are going on with some of these layout tests?  I&apos;d be interested to see what&apos;s going on...I think in most cases it&apos;s just some unrendered whitespace from the original HTML that&apos;s no longer cleared away by editing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150074</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-25 11:02:15 -0700</bug_when>
    <thetext>Sigh.  So this is the top WebKit crasher for Chromium.  We need to get a fix in. I&apos;m not sure reading Ryosuke&apos;s patch if the rebaselining is correct.  I&apos;ll see if I can&apos;t catch him over IRC or GChat and ask him.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150076</commentid>
    <comment_count>26</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-25 11:04:54 -0700</bug_when>
    <thetext>It seems like Niwa&apos;s change does too much, and Bono&apos;s change does too little. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150098</commentid>
    <comment_count>27</comment_count>
      <attachid>39286</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-25 12:24:31 -0700</bug_when>
    <thetext>Comment on attachment 39286
fixes the bug but requires a lot of rebaselines

The anonymous nodes are wrong. :(  We chatted some about this over IRC.  I think we need to try for a more surgical fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150106</commentid>
    <comment_count>28</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-25 12:32:00 -0700</bug_when>
    <thetext>Talked with Eric S. on IRC, and concluded that we should use Bono&apos;s patch for now since this is a major crash bug even though his patch does not fix the actual behavior of WebKit that it attemps to copy html element only if it has text-decoration style. (this results in the modification of the html element of the document into which the content.)  We should file a separate bug to fix these issues, and assert that position.node() is not NULL in editingStyleAtPosition in later patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150203</commentid>
    <comment_count>29</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-25 17:24:44 -0700</bug_when>
    <thetext>Investigated LayoutTests/editing/pasteboard/display-block-on-spans.html.  It turned out that there were no change in the DOM generated.  Anonymous node seems to be created in renderer.  Can somene explain to me when/how anonymous nodes are made?  I tried to follow find it on XCode debugger, but I couldn&apos;t locate where the nodes are generated. (No difference in showTreeForThis)

Meanwhile, it seems like we could convert the tests that require rebaseline in my patch to dumpAsText tests first because we can separte it (that WebKit generates anonymous node in this case) into another bug if the resultant DOMs are same.

If people don&apos;t mind, I&apos;d like to use my patch as is, or after converting tests to dumpAsText tests that spits out HTML instead of render tree.  

Any opinions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152246</commentid>
    <comment_count>30</comment_count>
      <attachid>40616</attachid>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2009-10-05 03:32:03 -0700</bug_when>
    <thetext>Created attachment 40616
The second quick fix

I would like to upload another better-than-crash patch as requested by Eric.
I agree with the comment of Niwa-san that this patch isn&apos;t a good fix. I wish someone writes a better fix. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152296</commentid>
    <comment_count>31</comment_count>
      <attachid>40616</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 08:12:40 -0700</bug_when>
    <thetext>Comment on attachment 40616
The second quick fix

Looks fine to me.  Ryosuke wanted to do a follow-up fix, but given how common this crasher is (most common WebKit-related crasher in Chrome), I think we should get this minimal fix in first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152360</commentid>
    <comment_count>32</comment_count>
      <attachid>40616</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 10:58:35 -0700</bug_when>
    <thetext>Comment on attachment 40616
The second quick fix

Bono-san is not a committer according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/modules/committers.py, so I&apos;m adding cq+ to get this landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152454</commentid>
    <comment_count>33</comment_count>
      <attachid>40616</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-05 14:27:15 -0700</bug_when>
    <thetext>Comment on attachment 40616
The second quick fix

Rejecting patch 40616 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11380 test cases.
fast/dom/prototype-inheritance.html -&gt; failed

Exiting early after 1 failures. 5489 tests run.
134.88s total testing time

5488 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
1 test case (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152467</commentid>
    <comment_count>34</comment_count>
      <attachid>40616</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 14:41:27 -0700</bug_when>
    <thetext>Comment on attachment 40616
The second quick fix

The buildbots were behind.  bugzilla-tool checked them, saw they were green, but they shouldn&apos;t have been.  This was not your fault.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152483</commentid>
    <comment_count>35</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 15:02:18 -0700</bug_when>
    <thetext>False rejection was caused by bug 30098.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152513</commentid>
    <comment_count>36</comment_count>
      <attachid>40616</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-05 16:26:34 -0700</bug_when>
    <thetext>Comment on attachment 40616
The second quick fix

Clearing flags on attachment: 40616

Committed r49129: &lt;http://trac.webkit.org/changeset/49129&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152514</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-05 16:26:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>38655</attachid>
            <date>2009-08-26 20:09:46 -0700</date>
            <delta_ts>2009-08-26 20:10:21 -0700</delta_ts>
            <desc>reduction, copy &quot;first paragraph&quot; and crashes WebKit.</desc>
            <filename>Beethovenjoy.html</filename>
            <type>text/html</type>
            <size>89</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PGh0bWwgc3R5bGU9InRleHQtZGVjb3JhdGlvbjppbmhlcml0OyI+Cjxib2R5Pgo8ZGl2PmZpcnN0
IHBhcmFncmFwaDwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38845</attachid>
            <date>2009-08-31 22:32:13 -0700</date>
            <delta_ts>2009-09-03 17:01:30 -0700</delta_ts>
            <desc>attempt to fix the bug but needs DRT test</desc>
            <filename>attempt-28710</filename>
            <type>text/plain</type>
            <size>2183</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZWRpdGluZy9tYXJrdXAuY3BwCShyZXZpc2lvbiA0NzkxNykKKysrIFdlYkNvcmUvZWRpdGluZy9t
YXJrdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02ODksMTYgKzY4OSwxNSBAQAogICAgIHJldHVy
biBzdHlsZS5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBib29sIHByb3BlcnR5TWlzc2luZ09yRXF1
YWxUb05vbmUoQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUsIGludCBwcm9wZXJ0eUlEKQorc3Rh
dGljIGJvb2wgcHJvcGVydHlNaXNzaW5nT3JFcXVhbFRvTm9uZU9ySW5oZXJpdChDU1NTdHlsZURl
Y2xhcmF0aW9uKiBzdHlsZSwgaW50IHByb3BlcnR5SUQpCiB7CiAgICAgaWYgKCFzdHlsZSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBzdHlsZS0+
Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWUqPih2YWx1ZS5nZXQoKSktPmdldElkZW50KCkgPT0gQ1NTVmFsdWVOb25lOworICAgIHJldHVy
biBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+Y3NzVGV4dCgpLCAiaW5oZXJpdCIpCisgICAgICAg
IHx8ICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlKj4odmFsdWUuZ2V0KCkpLT5nZXRJZGVudCgpID09IENTU1ZhbHVlTm9uZSk7CiB9CiAK
IHN0YXRpYyBib29sIGlzRWxlbWVudFByZXNlbnRhdGlvbmFsKGNvbnN0IE5vZGUqIG5vZGUpCkBA
IC03MDksNyArNzA4LDcgQEAKICAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+
IHN0eWxlID0gc3R5bGVGcm9tTWF0Y2hlZFJ1bGVzQW5kSW5saW5lRGVjbChub2RlKTsKICAgICBp
ZiAoIXN0eWxlKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuICFwcm9wZXJ0eU1p
c3NpbmdPckVxdWFsVG9Ob25lKHN0eWxlLmdldCgpLCBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
KTsKKyAgICByZXR1cm4gIXByb3BlcnR5TWlzc2luZ09yRXF1YWxUb05vbmVPckluaGVyaXQoc3R5
bGUuZ2V0KCksIENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pOwogfQogCiBzdGF0aWMgU3RyaW5n
IGpvaW5NYXJrdXBzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcmVNYXJrdXBzLCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgcG9zdE1hcmt1cHMpCkBAIC03NjcsNyArNzY2LDcgQEAKIHsKICAgICAvLyBB
bGwgdGV4dC1kZWNvcmF0aW9uLXJlbGF0ZWQgZWxlbWVudHMgc2hvdWxkIGhhdmUgYmVlbiB0cmVh
dGVkIGFzIHNwZWNpYWwgYW5jZXN0b3JzCiAgICAgLy8gSWYgd2UgZXZlciBoaXQgdGhpcyBBU1NF
UlQsIHdlIHNob3VsZCBleHBvcnQgU3R5bGVDaGFuZ2UgaW4gQXBwbHlTdHlsZUNvbW1hbmQgYW5k
IHVzZSBpdCBoZXJlCi0gICAgQVNTRVJUKHByb3BlcnR5TWlzc2luZ09yRXF1YWxUb05vbmUoc3R5
bGUsIENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pICYmIHByb3BlcnR5TWlzc2luZ09yRXF1YWxU
b05vbmUoc3R5bGUsIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QpKTsK
KyAgICBBU1NFUlQocHJvcGVydHlNaXNzaW5nT3JFcXVhbFRvTm9uZU9ySW5oZXJpdChzdHlsZSwg
Q1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbikgJiYgcHJvcGVydHlNaXNzaW5nT3JFcXVhbFRvTm9u
ZU9ySW5oZXJpdChzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVj
dCkpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkaXZTdHlsZSwgKCI8
ZGl2IHN0eWxlPVwiIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBk
aXZDbG9zZSwgKCI8L2Rpdj4iKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIHN0eWxlU3Bhbk9wZW4sICgiPHNwYW4gY2xhc3M9XCIiIEFwcGxlU3R5bGVTcGFuQ2xhc3Mg
IlwiIHN0eWxlPVwiIikpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>38846</attachid>
            <date>2009-08-31 22:50:16 -0700</date>
            <delta_ts>2009-08-31 22:50:16 -0700</delta_ts>
            <desc>another test</desc>
            <filename>crash2.html</filename>
            <type>text/html</type>
            <size>150</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PGh0bWwgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+DQo8Ym9keT4KDQo8cD5D
b3B5ICJmaXJzdCBwYXJhZ3JhcGgiIGFuZCBXZWJLaXQgY3Jhc2hlcy48L3A+DQo8ZGl2PmZpcnN0
IHBhcmFncmFwaDwvZGl2Pg0KCgo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39020</attachid>
            <date>2009-09-03 17:01:30 -0700</date>
            <delta_ts>2009-09-09 11:45:41 -0700</delta_ts>
            <desc>2nd attempt to fix the bug, requires rebaseline &amp; DRT test</desc>
            <filename>attempt-28710b</filename>
            <type>text/plain</type>
            <size>4851</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Qb3NpdGlvbi5jcHAJKHJldmlzaW9uIDQ4MDA0KQorKysgV2ViQ29yZS9kb20vUG9zaXRpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsOCArMjA2LDExIEBACiAKIFBhc3NSZWZQdHI8Q1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBQb3NpdGlvbjo6Y29tcHV0ZWRTdHlsZSgpIGNvbnN0
CiB7Ci0gICAgRWxlbWVudCogZWxlbSA9IGVsZW1lbnQoKTsKKyAgICBDb250YWluZXJOb2RlKiBl
bGVtID0gZWxlbWVudCgpOworICAgIC8vIEFsbG93IGRvY3VtZW50IG5vZGUgdG8gYmUgcGFzc2Vk
IGlmIHRoZXJlIAogICAgIGlmICghZWxlbSkKKyAgICAgICAgZWxlbSA9IG1fYW5jaG9yTm9kZS0+
ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWVsZW0pCiAgICAgICAgIHJldHVybiAwOwogICAgIHJldHVy
biBXZWJDb3JlOjpjb21wdXRlZFN0eWxlKGVsZW0pOwogfQpJbmRleDogV2ViQ29yZS9lZGl0aW5n
L21hcmt1cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHJl
dmlzaW9uIDQ4MDA0KQorKysgV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcwMywxMyArNzAzLDggQEAKIAogc3RhdGljIGJvb2wgaXNFbGVtZW50UHJlc2VudGF0
aW9uYWwoY29uc3QgTm9kZSogbm9kZSkKIHsKLSAgICBpZiAobm9kZS0+aGFzVGFnTmFtZSh1VGFn
KSB8fCBub2RlLT5oYXNUYWdOYW1lKHNUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoc3RyaWtlVGFn
KSB8fAotICAgICAgICBub2RlLT5oYXNUYWdOYW1lKGlUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUo
ZW1UYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoYlRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZShzdHJv
bmdUYWcpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24+IHN0eWxlID0gc3R5bGVGcm9tTWF0Y2hlZFJ1bGVzQW5kSW5saW5lRGVjbChu
b2RlKTsKLSAgICBpZiAoIXN0eWxlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJu
ICFwcm9wZXJ0eU1pc3NpbmdPckVxdWFsVG9Ob25lKHN0eWxlLmdldCgpLCBDU1NQcm9wZXJ0eVRl
eHREZWNvcmF0aW9uKTsKKyAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZSh1VGFnKSB8fCBub2Rl
LT5oYXNUYWdOYW1lKHNUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoc3RyaWtlVGFnKQorICAgICAg
ICB8fCBub2RlLT5oYXNUYWdOYW1lKGlUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoZW1UYWcpIHx8
IG5vZGUtPmhhc1RhZ05hbWUoYlRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZShzdHJvbmdUYWcpOwog
fQogCiBzdGF0aWMgU3RyaW5nIGpvaW5NYXJrdXBzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcmVN
YXJrdXBzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcG9zdE1hcmt1cHMpCkBAIC03NjcsNyArNzYy
LDcgQEAKIHsKICAgICAvLyBBbGwgdGV4dC1kZWNvcmF0aW9uLXJlbGF0ZWQgZWxlbWVudHMgc2hv
dWxkIGhhdmUgYmVlbiB0cmVhdGVkIGFzIHNwZWNpYWwgYW5jZXN0b3JzCiAgICAgLy8gSWYgd2Ug
ZXZlciBoaXQgdGhpcyBBU1NFUlQsIHdlIHNob3VsZCBleHBvcnQgU3R5bGVDaGFuZ2UgaW4gQXBw
bHlTdHlsZUNvbW1hbmQgYW5kIHVzZSBpdCBoZXJlCi0gICAgQVNTRVJUKHByb3BlcnR5TWlzc2lu
Z09yRXF1YWxUb05vbmUoc3R5bGUsIENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pICYmIHByb3Bl
cnR5TWlzc2luZ09yRXF1YWxUb05vbmUoc3R5bGUsIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29y
YXRpb25zSW5FZmZlY3QpKTsKKyAgICBBU1NFUlQocHJvcGVydHlNaXNzaW5nT3JFcXVhbFRvTm9u
ZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCkpOwogICAg
IERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkaXZTdHlsZSwgKCI8ZGl2IHN0eWxl
PVwiIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkaXZDbG9zZSwg
KCI8L2Rpdj4iKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHN0eWxl
U3Bhbk9wZW4sICgiPHNwYW4gY2xhc3M9XCIiIEFwcGxlU3R5bGVTcGFuQ2xhc3MgIlwiIHN0eWxl
PVwiIikpOwpAQCAtMTAwNiwxNCArMTAwMSwyMyBAQAogICAgIGlmIChwYXJlbnRPZkxhc3RDbG9z
ZWQgJiYgcGFyZW50T2ZMYXN0Q2xvc2VkLT5yZW5kZXJlcigpKSB7CiAgICAgICAgIFJlZlB0cjxD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4gc3R5bGUgPSBlZGl0aW5nU3R5bGVBdFBvc2l0aW9u
KFBvc2l0aW9uKHBhcmVudE9mTGFzdENsb3NlZCwgMCkpOwogCisgICAgICAgIC8vIEZJWE1FOiBU
aGlzIGRvZXMgbm90IHRha2UgY2FyZSBvZiB0aGUgY2FzZSBTdHlsZVdpdGhDU1MgPSBmYWxzZQor
ICAgICAgICBpZiAoUmVmUHRyPENTU1ZhbHVlPiB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCA9IHN0
eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25z
SW5FZmZlY3QpKSB7CisgICAgICAgICAgICAvLyBBZGQgdGhlIHN0eWxlIHRvIHRleHQtZGVjb3Jh
dGlvbiBwcm9wZXJ0eSBvbmx5IGlmIHRoZSBzdHlsZSB3YXMgbm90IG5vbmUgb3IgaW5oZXJpdC4K
KyAgICAgICAgICAgIGlmICh0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+aXNWYWx1ZUxpc3QoKSkK
KyAgICAgICAgICAgICAgICBzdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlUZXh0RGVjb3Jh
dGlvbiwgdGV4dERlY29yYXRpb25zSW5FZmZlY3QtPmNzc1RleHQoKSk7CisgICAgICAgICAgICBz
dHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVm
ZmVjdCk7CisgICAgICAgIH0KKwogICAgICAgICAvLyBTdHlsZXMgdGhhdCBNYWlsIGJsb2NrcXVv
dGVzIGNvbnRyaWJ1dGUgc2hvdWxkIG9ubHkgYmUgcGxhY2VkIG9uIHRoZSBNYWlsIGJsb2NrcXVv
dGUsIHRvIGhlbHAKICAgICAgICAgLy8gdXMgZGlmZmVyZW50aWF0ZSB0aG9zZSBzdHlsZXMgZnJv
bSBvbmVzIHRoYXQgdGhlIHVzZXIgaGFzIGFwcGxpZWQuICBUaGlzIGhlbHBzIHVzCiAgICAgICAg
IC8vIGdldCB0aGUgY29sb3Igb2YgY29udGVudCBwYXN0ZWQgaW50byBibG9ja3F1b3RlcyByaWdo
dC4KICAgICAgICAgcmVtb3ZlRW5jbG9zaW5nTWFpbEJsb2NrcXVvdGVTdHlsZShzdHlsZS5nZXQo
KSwgcGFyZW50T2ZMYXN0Q2xvc2VkKTsKICAgICAgICAgCiAgICAgICAgIC8vIERvY3VtZW50IGRl
ZmF1bHQgc3R5bGVzIHdpbGwgYmUgYWRkZWQgb24gYW5vdGhlciB3cmFwcGVyIHNwYW4uCi0gICAg
ICAgIHJlbW92ZURlZmF1bHRTdHlsZXMoc3R5bGUuZ2V0KCksIGRvY3VtZW50KTsKLSAgICAgICAg
CisgICAgICAgIGlmIChsYXN0Q2xvc2VkICE9IGRvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKSkK
KyAgICAgICAgICAgIHJlbW92ZURlZmF1bHRTdHlsZXMoc3R5bGUuZ2V0KCksIGRvY3VtZW50KTsK
KwogICAgICAgICAvLyBTaW5jZSB3ZSBhcmUgY29udmVydGluZyBibG9ja3MgdG8gaW5saW5lcywg
cmVtb3ZlIGFueSBpbmhlcml0ZWQgYmxvY2sgcHJvcGVydGllcyB0aGF0IGFyZSBpbiB0aGUgc3R5
bGUuCiAgICAgICAgIC8vIFRoaXMgY3V0cyBvdXQgbWVhbmluZ2xlc3MgcHJvcGVydGllcyBhbmQg
cHJldmVudHMgcHJvcGVydGllcyBmcm9tIG1hZ2ljYWxseSBhZmZlY3RpbmcgYmxvY2tzIGxhdGVy
CiAgICAgICAgIC8vIGlmIHRoZSBzdHlsZSBpcyBjbG9uZWQgZm9yIGEgbmV3IGJsb2NrIGVsZW1l
bnQgZHVyaW5nIGEgZnV0dXJlIGVkaXRpbmcgb3BlcmF0aW9uLgpAQCAtMTAzMCw2ICsxMDM0LDE0
IEBACiAgICAgICAgIC8vIGFwcGxpZWQgc3R5bGVzLgogICAgICAgICBSZWZQdHI8Q1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24+IGRlZmF1bHRTdHlsZSA9IGVkaXRpbmdTdHlsZUF0UG9zaXRpb24o
UG9zaXRpb24oZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLCAwKSk7CiAKKyAgICAgICAgLy8g
RklYTUU6IFRoaXMgZG9lcyBub3QgdGFrZSBjYXJlIG9mIHRoZSBjYXNlIFN0eWxlV2l0aENTUyA9
IGZhbHNlCisgICAgICAgIGlmIChSZWZQdHI8Q1NTVmFsdWU+IHRleHREZWNvcmF0aW9uc0luRWZm
ZWN0ID0gZGVmYXVsdFN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5V2Via2l0
VGV4dERlY29yYXRpb25zSW5FZmZlY3QpKSB7CisgICAgICAgICAgICAvLyBBZGQgdGhlIHN0eWxl
IHRvIHRleHQtZGVjb3JhdGlvbiBwcm9wZXJ0eSBvbmx5IGlmIHRoZSBzdHlsZSB3YXMgbm90IG5v
bmUgb3IgaW5oZXJpdC4KKyAgICAgICAgICAgIGlmICh0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+
aXNWYWx1ZUxpc3QoKSkKKyAgICAgICAgICAgICAgICBkZWZhdWx0U3R5bGUtPnNldFByb3BlcnR5
KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24sIHRleHREZWNvcmF0aW9uc0luRWZmZWN0LT5jc3NU
ZXh0KCkpOworICAgICAgICAgICAgZGVmYXVsdFN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KTsKKyAgICAgICAgfQorCiAgICAgICAg
IGlmIChkZWZhdWx0U3R5bGUtPmxlbmd0aCgpID4gMCkKICAgICAgICAgICAgIGFkZFN0eWxlTWFy
a3VwKHByZU1hcmt1cHMsIG1hcmt1cHMsIGRlZmF1bHRTdHlsZS5nZXQoKSwgZG9jdW1lbnQpOwog
ICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39286</attachid>
            <date>2009-09-09 11:45:41 -0700</date>
            <delta_ts>2009-09-25 12:24:30 -0700</delta_ts>
            <desc>fixes the bug but requires a lot of rebaselines</desc>
            <filename>fix28710</filename>
            <type>text/plain</type>
            <size>25662</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODIxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDktMDkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29w
eSBzb21lIGZvcm1zIG9mIHRleHQgY2F1c2VzIFdlYmtpdCBjcmFzaCBpbiBDU1NTdHlsZURlY2xh
cmF0aW9uOjpjb3B5UHJvcGVydGllc0luU2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yODcxMAorCisgICAgICAgIFRoaXMgcGF0Y2ggbW9kaWZpZXMg
Y3JlYXRlTWFya3VwIHRvIGhhbmRsZSB0ZXh0LWRlY29yYXRpb24gcHJvcGVydHkgaW4gaHRtbCBl
bGVtZW50LgorICAgICAgICBJbiBvcmRlciB0byBhY2NvbXBsaXNoIHRoaXMsIFdlYktpdCBubyBs
b25nZXIgdHJlYXRzIGFuIGVsZW1lbnQgd2l0aCB0ZXh0LWRlY29yYXRpb24gcHJvcGVydHkgYXMg
YSBzcGVjaWFsIGFuY2VzdG9yLgorICAgICAgICBJbnN0ZWFkLCBXZWJLaXQgYWRkcyBhIHN0eWxl
LXNwYW4gd2l0aCB0aGUgYXBwcm9wcmlhdGUgY29tcHV0ZWRTdHlsZSBpbiBzdWNoIGNhc2VzLgor
CisgICAgICAgIFRlc3RzOiBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC13aXRoLXRleHRk
ZWNvcmF0aW9uLWluLWh0bWwuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L2NvcHktY3Jhc2gtd2l0aC11bmRlcmxpbmUtaW4taHRtbC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvY29weS11LW91dHNpZGUtaHRtbC5odG1sCisKKyAgICAgICAgKiBk
b20vUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9zaXRpb246OmNvbXB1dGVkU3R5
bGUpOiBBbGxvd3MgZG9jdW1lbnQgbm9kZSBiZSB1c2VkIHRvIG9idGFpbiB0aGUgY29tcHV0ZWQg
c3R5bGUKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c0VsZW1lbnRQcmVzZW50YXRpb25hbCk6IE5vIGxvbmdlciB0cmVhdHMgZWxlbWVudHMgd2l0aCB0
ZXh0LWRlY29yYXRpb24gcHJvcGVydHkgYXMgYSBzcGVjaWFsIGFuY2VzdG9yCisgICAgICAgIChX
ZWJDb3JlOjphZGRTdHlsZU1hcmt1cCk6IEFsbG93cyB0ZXh0LWRlY29yYXRpb24gcHJvcGVydHkg
YmUgYWRkZWQKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU1hcmt1cCk6IENvbnZlcnRzIC13ZWJr
aXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QgdG8gdGV4dC1kZWNvcmF0aW9uCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBhbHNvIGFkZHMgc3R5bGUgcHJvcGVybHkgd2hl
biBsYXN0Q2xvc2VkIGlzIGEgZG9jdW1lbnQgbm9kZS4KKwogMjAwOS0wOS0wOCAgS2V2aW4gV2F0
dGVycyAgPGtldmlud2F0dGVyc0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2V2
aW4gT2xsaXZpZXIuCkluZGV4OiBXZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCShyZXZpc2lvbiA0ODA2NikKKysrIFdlYkNvcmUv
ZG9tL1Bvc2l0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDcgKzIwNiw5IEBAIEVsZW1l
bnQqIFBvc2l0aW9uOjplbGVtZW50KCkgY29uc3QKIAogUGFzc1JlZlB0cjxDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24+IFBvc2l0aW9uOjpjb21wdXRlZFN0eWxlKCkgY29uc3QKIHsKLSAgICBF
bGVtZW50KiBlbGVtID0gZWxlbWVudCgpOworICAgIENvbnRhaW5lck5vZGUqIGVsZW0gPSBlbGVt
ZW50KCk7CisgICAgaWYgKCFlbGVtKQorICAgICAgICBlbGVtID0gbV9hbmNob3JOb2RlLT5kb2N1
bWVudCgpOwogICAgIGlmICghZWxlbSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIFdl
YkNvcmU6OmNvbXB1dGVkU3R5bGUoZWxlbSk7CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvbWFya3Vw
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkocmV2aXNpb24g
NDgwNjYpCisrKyBXZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzAzLDEzICs3MDMsOCBAQCBzdGF0aWMgYm9vbCBwcm9wZXJ0eU1pc3NpbmdPckVxdWFsVG9Ob25l
CiAKIHN0YXRpYyBib29sIGlzRWxlbWVudFByZXNlbnRhdGlvbmFsKGNvbnN0IE5vZGUqIG5vZGUp
CiB7Ci0gICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUodVRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZShz
VGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKHN0cmlrZVRhZykgfHwKLSAgICAgICAgbm9kZS0+aGFz
VGFnTmFtZShpVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKGVtVGFnKSB8fCBub2RlLT5oYXNUYWdO
YW1lKGJUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoc3Ryb25nVGFnKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBzdHlsZSA9IHN0
eWxlRnJvbU1hdGNoZWRSdWxlc0FuZElubGluZURlY2wobm9kZSk7Ci0gICAgaWYgKCFzdHlsZSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiAhcHJvcGVydHlNaXNzaW5nT3JFcXVh
bFRvTm9uZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbik7CisgICAgcmV0
dXJuIG5vZGUtPmhhc1RhZ05hbWUodVRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZShzVGFnKSB8fCBu
b2RlLT5oYXNUYWdOYW1lKHN0cmlrZVRhZykKKyAgICAgICAgfHwgbm9kZS0+aGFzVGFnTmFtZShp
VGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKGVtVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKGJUYWcp
IHx8IG5vZGUtPmhhc1RhZ05hbWUoc3Ryb25nVGFnKTsKIH0KIAogc3RhdGljIFN0cmluZyBqb2lu
TWFya3Vwcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJlTWFya3VwcywgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHBvc3RNYXJrdXBzKQpAQCAtNzY1LDkgKzc2MCw5IEBAIHN0YXRpYyBib29sIHNob3Vs
ZEluY2x1ZGVXcmFwcGVyRm9yRnVsbHkKIAogc3RhdGljIHZvaWQgYWRkU3R5bGVNYXJrdXAoVmVj
dG9yPFN0cmluZz4mIHByZU1hcmt1cHMsIFZlY3RvcjxTdHJpbmc+JiBwb3N0TWFya3VwcywgQ1NT
U3R5bGVEZWNsYXJhdGlvbiogc3R5bGUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBpc0Jsb2Nr
ID0gZmFsc2UpCiB7Ci0gICAgLy8gQWxsIHRleHQtZGVjb3JhdGlvbi1yZWxhdGVkIGVsZW1lbnRz
IHNob3VsZCBoYXZlIGJlZW4gdHJlYXRlZCBhcyBzcGVjaWFsIGFuY2VzdG9ycwotICAgIC8vIElm
IHdlIGV2ZXIgaGl0IHRoaXMgQVNTRVJULCB3ZSBzaG91bGQgZXhwb3J0IFN0eWxlQ2hhbmdlIGlu
IEFwcGx5U3R5bGVDb21tYW5kIGFuZCB1c2UgaXQgaGVyZQotICAgIEFTU0VSVChwcm9wZXJ0eU1p
c3NpbmdPckVxdWFsVG9Ob25lKHN0eWxlLCBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKSAmJiBw
cm9wZXJ0eU1pc3NpbmdPckVxdWFsVG9Ob25lKHN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdFRleHRE
ZWNvcmF0aW9uc0luRWZmZWN0KSk7CisgICAgLy8gQWxsIHRleHQtZGVjb3JhdGlvbnMgc2V0IGJ5
IHByZXNlbnRhdGlvbmFsIGVsZW1lbnRzIGhhdmUgYmVlbiB0cmVhdGVkIGFzIHNwZWNpYWwgYW5j
ZXN0b3JzCisgICAgLy8gSGVuY2UgLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCBz
aG91bGQgbmV2ZXIgYXBwZWFyIGhlcmUKKyAgICBBU1NFUlQocHJvcGVydHlNaXNzaW5nT3JFcXVh
bFRvTm9uZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCkp
OwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkaXZTdHlsZSwgKCI8ZGl2
IHN0eWxlPVwiIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBkaXZD
bG9zZSwgKCI8L2Rpdj4iKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcs
IHN0eWxlU3Bhbk9wZW4sICgiPHNwYW4gY2xhc3M9XCIiIEFwcGxlU3R5bGVTcGFuQ2xhc3MgIlwi
IHN0eWxlPVwiIikpOwpAQCAtMTAwNiwxNCArMTAwMSwyMyBAQCBTdHJpbmcgY3JlYXRlTWFya3Vw
KGNvbnN0IFJhbmdlKiByYW5nZSwgCiAgICAgaWYgKHBhcmVudE9mTGFzdENsb3NlZCAmJiBwYXJl
bnRPZkxhc3RDbG9zZWQtPnJlbmRlcmVyKCkpIHsKICAgICAgICAgUmVmUHRyPENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uPiBzdHlsZSA9IGVkaXRpbmdTdHlsZUF0UG9zaXRpb24oUG9zaXRpb24o
cGFyZW50T2ZMYXN0Q2xvc2VkLCAwKSk7CiAKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBu
b3QgdGFrZSBjYXJlIG9mIHRoZSBjYXNlIFN0eWxlV2l0aENTUyA9IGZhbHNlCisgICAgICAgIGlm
IChSZWZQdHI8Q1NTVmFsdWU+IHRleHREZWNvcmF0aW9uc0luRWZmZWN0ID0gc3R5bGUtPmdldFBy
b3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCkp
IHsKKyAgICAgICAgICAgIC8vIEFkZCB0aGUgc3R5bGUgdG8gdGV4dC1kZWNvcmF0aW9uIHByb3Bl
cnR5IG9ubHkgaWYgdGhlIHN0eWxlIHdhcyBub3Qgbm9uZSBvciBpbmhlcml0LgorICAgICAgICAg
ICAgaWYgKHRleHREZWNvcmF0aW9uc0luRWZmZWN0LT5pc1ZhbHVlTGlzdCgpKQorICAgICAgICAg
ICAgICAgIHN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uLCB0ZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdC0+Y3NzVGV4dCgpKTsKKyAgICAgICAgICAgIHN0eWxlLT5yZW1v
dmVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KTsKKyAg
ICAgICAgfQorCiAgICAgICAgIC8vIFN0eWxlcyB0aGF0IE1haWwgYmxvY2txdW90ZXMgY29udHJp
YnV0ZSBzaG91bGQgb25seSBiZSBwbGFjZWQgb24gdGhlIE1haWwgYmxvY2txdW90ZSwgdG8gaGVs
cAogICAgICAgICAvLyB1cyBkaWZmZXJlbnRpYXRlIHRob3NlIHN0eWxlcyBmcm9tIG9uZXMgdGhh
dCB0aGUgdXNlciBoYXMgYXBwbGllZC4gIFRoaXMgaGVscHMgdXMKICAgICAgICAgLy8gZ2V0IHRo
ZSBjb2xvciBvZiBjb250ZW50IHBhc3RlZCBpbnRvIGJsb2NrcXVvdGVzIHJpZ2h0LgogICAgICAg
ICByZW1vdmVFbmNsb3NpbmdNYWlsQmxvY2txdW90ZVN0eWxlKHN0eWxlLmdldCgpLCBwYXJlbnRP
Zkxhc3RDbG9zZWQpOwogICAgICAgICAKICAgICAgICAgLy8gRG9jdW1lbnQgZGVmYXVsdCBzdHls
ZXMgd2lsbCBiZSBhZGRlZCBvbiBhbm90aGVyIHdyYXBwZXIgc3Bhbi4KLSAgICAgICAgcmVtb3Zl
RGVmYXVsdFN0eWxlcyhzdHlsZS5nZXQoKSwgZG9jdW1lbnQpOwotICAgICAgICAKKyAgICAgICAg
aWYgKGxhc3RDbG9zZWQgIT0gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpKQorICAgICAgICAg
ICAgcmVtb3ZlRGVmYXVsdFN0eWxlcyhzdHlsZS5nZXQoKSwgZG9jdW1lbnQpOworCiAgICAgICAg
IC8vIFNpbmNlIHdlIGFyZSBjb252ZXJ0aW5nIGJsb2NrcyB0byBpbmxpbmVzLCByZW1vdmUgYW55
IGluaGVyaXRlZCBibG9jayBwcm9wZXJ0aWVzIHRoYXQgYXJlIGluIHRoZSBzdHlsZS4KICAgICAg
ICAgLy8gVGhpcyBjdXRzIG91dCBtZWFuaW5nbGVzcyBwcm9wZXJ0aWVzIGFuZCBwcmV2ZW50cyBw
cm9wZXJ0aWVzIGZyb20gbWFnaWNhbGx5IGFmZmVjdGluZyBibG9ja3MgbGF0ZXIKICAgICAgICAg
Ly8gaWYgdGhlIHN0eWxlIGlzIGNsb25lZCBmb3IgYSBuZXcgYmxvY2sgZWxlbWVudCBkdXJpbmcg
YSBmdXR1cmUgZWRpdGluZyBvcGVyYXRpb24uCkBAIC0xMDMwLDYgKzEwMzQsMTQgQEAgU3RyaW5n
IGNyZWF0ZU1hcmt1cChjb25zdCBSYW5nZSogcmFuZ2UsIAogICAgICAgICAvLyBhcHBsaWVkIHN0
eWxlcy4KICAgICAgICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBkZWZhdWx0
U3R5bGUgPSBlZGl0aW5nU3R5bGVBdFBvc2l0aW9uKFBvc2l0aW9uKGRvY3VtZW50LT5kb2N1bWVu
dEVsZW1lbnQoKSwgMCkpOwogCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgbm90IHRha2Ug
Y2FyZSBvZiB0aGUgY2FzZSBTdHlsZVdpdGhDU1MgPSBmYWxzZQorICAgICAgICBpZiAoUmVmUHRy
PENTU1ZhbHVlPiB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCA9IGRlZmF1bHRTdHlsZS0+Z2V0UHJv
cGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KSkg
eworICAgICAgICAgICAgLy8gQWRkIHRoZSBzdHlsZSB0byB0ZXh0LWRlY29yYXRpb24gcHJvcGVy
dHkgb25seSBpZiB0aGUgc3R5bGUgd2FzIG5vdCBub25lIG9yIGluaGVyaXQuCisgICAgICAgICAg
ICBpZiAodGV4dERlY29yYXRpb25zSW5FZmZlY3QtPmlzVmFsdWVMaXN0KCkpCisgICAgICAgICAg
ICAgICAgZGVmYXVsdFN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
LCB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+Y3NzVGV4dCgpKTsKKyAgICAgICAgICAgIGRlZmF1
bHRTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJ
bkVmZmVjdCk7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoZGVmYXVsdFN0eWxlLT5sZW5ndGgo
KSA+IDApCiAgICAgICAgICAgICBhZGRTdHlsZU1hcmt1cChwcmVNYXJrdXBzLCBtYXJrdXBzLCBk
ZWZhdWx0U3R5bGUuZ2V0KCksIGRvY3VtZW50KTsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0
ODIxNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDMyIEBACisyMDA5LTA5LTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvcHkgc29tZSBm
b3JtcyBvZiB0ZXh0IGNhdXNlcyBXZWJraXQgY3Jhc2ggaW4gQ1NTU3R5bGVEZWNsYXJhdGlvbjo6
Y29weVByb3BlcnRpZXNJblNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Mjg3MTAKKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0ZXN0
IHRvIG1ha2Ugc3VyZSBXZWJLaXQgZG9lcyBub3QgY3Jhc2ggd2hlbiBodG1sIGVsZW1lbnQgaGFz
IHRleHQtZGVjb3JhdGlvbiBwcm9wZXJ0eQorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L2NvcHktY3Jhc2gtd2l0aC10ZXh0ZGVjb3JhdGlvbi1pbi1odG1sLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gtd2l0aC10ZXh0ZGVj
b3JhdGlvbi1pbi1odG1sLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9jb3B5LWNyYXNoLXdpdGgtdW5kZXJsaW5lLWluLWh0bWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC13aXRoLXVuZGVybGluZS1p
bi1odG1sLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXUt
b3V0c2lkZS1odG1sLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL2NvcHktdS1vdXRzaWRlLWh0bWwuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvNTA5MTg5OC1leHBlY3RlZC50eHQ6IERpdiBpcyByZXBs
YWNlZCB3aXRoIHNwYW4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9leGVjQ29tbWFu
ZC9jcmVhdGUtbGlzdC13aXRoLWhyLWV4cGVjdGVkLnR4dDogYW5vbnltb3VzIG5vZGUgaXMgYWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MDc1OTQ0LTIt
ZXhwZWN0ZWQudHh0OiBSZWR1bmRhbnQgb3V0ZXIgc3BhbiBpcyByZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTA3NTk0NC0zLWV4cGVjdGVkLnR4dDog
RGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MTM0NzU5
LWV4cGVjdGVkLnR4dDogRGl2IGlzIHJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvcGFzdGVib2FyZC9kaXNwbGF5LWJsb2NrLW9uLXNwYW5zLWV4cGVjdGVkLnR4dDogYW5v
bnltb3VzIG5vZGUgaXMgYWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS10ZXh0LTAwMi1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMDQtZXhwZWN0ZWQudHh0
OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXRleHQtMDA1LWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwNi1leHBlY3RlZC50eHQ6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTMtZXhw
ZWN0ZWQudHh0OiBhbm9ueW1vdXMgYW5kIHRleHQgbm9kZXMgYXJlIGFkZGVkCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxNC1leHBlY3RlZC50
eHQ6IGFub255bW91cyBub2RlIGlzIGFkZGVkCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRp
bmcvc3R5bGUvZm9udC1mYW1pbHktd2l0aC1zcGFjZS1leHBlY3RlZC50eHQ6IFNwYW4gaXMgcmVt
b3ZlZC4KKwogMjAwOS0wOS0wOSAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpJbmRleDogTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gtd2l0aC10ZXh0ZGVjb3JhdGlvbi1pbi1odG1sLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
Y29weS1jcmFzaC13aXRoLXRleHRkZWNvcmF0aW9uLWluLWh0bWwtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gtd2l0
aC10ZXh0ZGVjb3JhdGlvbi1pbi1odG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzIEBACitUaGlzIGlzIGEgY3Jhc2ggdGVzdCB3aGVuIGNvcHlpbmcgYSB0ZXh0IGluc2lk
ZSBhbiBodG1sIGVsZW1lbnQgd2l0aCB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQKKworZmlyc3Qg
cGFyYWdyYXBoCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFz
aC13aXRoLXRleHRkZWNvcmF0aW9uLWluLWh0bWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1jcmFzaC13aXRoLXRleHRkZWNvcmF0aW9uLWlu
LWh0bWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9jb3B5LWNyYXNoLXdpdGgtdGV4dGRlY29yYXRpb24taW4taHRtbC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE3IEBACis8aHRtbCBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0
OyI+Cis8Ym9keT4KKzxwPlRoaXMgaXMgYSBjcmFzaCB0ZXN0IHdoZW4gY29weWluZyBhIHRleHQg
aW5zaWRlIGFuIGh0bWwgZWxlbWVudCB3aXRoIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDwvcD4K
KzxkaXYgaWQ9InRlc3QiPmZpcnN0IHBhcmFncmFwaDwvZGl2PgorPHNjcmlwdD4KK2lmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKwordmFyIHMgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkKK3ZhciByID0gZG9jdW1l
bnQuY3JlYXRlUmFuZ2UoKQorci5zZWxlY3ROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0IikpCitzLnJlbW92ZUFsbFJhbmdlcygpOworcy5hZGRSYW5nZShyKTsKK2RvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5Iik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNoLXdpdGgtdW5kZXJsaW5lLWlu
LWh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9jb3B5LWNyYXNoLXdpdGgtdW5kZXJsaW5lLWluLWh0bWwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gt
d2l0aC11bmRlcmxpbmUtaW4taHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMyBAQAorVGhpcyBpcyBhIGNyYXNoIHRlc3Qgd2hlbiBjb3B5aW5nIGEgdGV4dCBpbnNpZGUg
YW4gaHRtbCBlbGVtZW50IHdpdGggdW5kZXJsaW5lIHN0eWxlCisKK2ZpcnN0IHBhcmFncmFwaApJ
bmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktY3Jhc2gtd2l0aC11bmRl
cmxpbmUtaW4taHRtbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9jb3B5LWNyYXNoLXdpdGgtdW5kZXJsaW5lLWluLWh0bWwuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNoLXdpdGgtdW5k
ZXJsaW5lLWluLWh0bWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorPGh0bWwg
c3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+Cis8Ym9keT4KKzxwPlRoaXMgaXMg
YSBjcmFzaCB0ZXN0IHdoZW4gY29weWluZyBhIHRleHQgaW5zaWRlIGFuIGh0bWwgZWxlbWVudCB3
aXRoIHVuZGVybGluZSBzdHlsZTwvcD4KKzxkaXYgaWQ9InRlc3QiPmZpcnN0IHBhcmFncmFwaDwv
ZGl2PgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIHMgPSB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkKK3ZhciByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKQorci5zZWxlY3ROb2RlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpCitzLnJlbW92ZUFsbFJhbmdlcygpOworcy5h
ZGRSYW5nZShyKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iik7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5
LXUtb3V0c2lkZS1odG1sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvY29weS11LW91dHNpZGUtaHRtbC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29weS11LW91dHNpZGUt
aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorVGhpcyBpcyBh
IGNyYXNoIHRlc3Qgd2hlbiBjb3B5aW5nIGEgdGV4dCBpbnNpZGUgYW4gaHRtbCBlbGVtZW50IHN1
cnJvdW5kZWQgYnkgdQorCitmaXJzdCBwYXJhZ3JhcGgKSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9jb3B5LXUtb3V0c2lkZS1odG1sLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktdS1vdXRzaWRlLWh0bWwuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXUtb3V0c2lk
ZS1odG1sLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzx1PgorPGh0bWw+Cis8
Ym9keT4KKzxwPlRoaXMgaXMgYSBjcmFzaCB0ZXN0IHdoZW4gY29weWluZyBhIHRleHQgaW5zaWRl
IGFuIGh0bWwgZWxlbWVudCBzdXJyb3VuZGVkIGJ5IHU8L3A+Cis8ZGl2IGlkPSJ0ZXN0Ij5maXJz
dCBwYXJhZ3JhcGg8L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBzID0g
d2luZG93LmdldFNlbGVjdGlvbigpCit2YXIgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkKK3Iu
c2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQorcy5yZW1vdmVBbGxS
YW5nZXMoKTsKK3MuYWRkUmFuZ2Uocik7Citkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cis8L3U+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvNTA5
MTg5OC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvZGVsZXRpbmcvNTA5MTg5OC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ4MDY2KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvNTA5MTg5OC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEwLDcgKzEwLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw1Mikgc2l6ZSA3ODR4
MTgKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTgzeDE4CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTgzOiAiVGhpcyBzaG91bGRuJ3QgYmUgdW5k
ZXJsaW5lZC4iCi0gICAgICAgIFJlbmRlcklubGluZSB7RElWfSBhdCAoMCwwKSBzaXplIDE2OHgx
OAorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTY4eDE4CiAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODMsMCkgc2l6ZSAxNjh4MTgKICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxODMsMCkgd2lkdGggMTY4OiAiVGhpcyBzaG91bGQgYmUgdW5kZXJs
aW5lZC4iCiBjYXJldDogcG9zaXRpb24gMjkgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDIg
e0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2V4ZWNDb21tYW5kL2NyZWF0ZS1s
aXN0LXdpdGgtaHItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL2V4ZWNDb21tYW5kL2NyZWF0ZS1saXN0LXdpdGgtaHItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA0ODA2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L2V4ZWNDb21tYW5kL2NyZWF0ZS1saXN0LXdpdGgtaHItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0yMiw3ICsyMiw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNTIpIHNpemUgNzg0eDI4CiAgICAgICAgIFJlbmRlckJs
b2NrIHtVTH0gYXQgKDAsMCkgc2l6ZSA3ODR4MjgKICAgICAgICAgICBSZW5kZXJMaXN0SXRlbSB7
TEl9IGF0ICg0MCwwKSBzaXplIDc0NHgyOAotICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3NDR4MAogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBh
dCAoMCwwKSBzaXplIDc0NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3NDR4MTgKICAgICAg
ICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoLTE3LDApIHNpemUgN3gxODogYnVsbGV0Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkLzUwNzU5NDQt
Mi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvcGFzdGVib2FyZC81MDc1OTQ0LTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0ODA2NikK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTA3NTk0NC0y
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTQsOCArMTQsNyBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDE2OHgxOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjg6
ICJUaGlzIHNob3VsZCBiZSB1bmRlcmxpbmVkLiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDcwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgMTY4eDE4IFtjb2xvcj0jMDAwMEZGXQotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BB
Tn0gYXQgKDAsMCkgc2l6ZSAxNjh4MTggW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjh4MTgKLSAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMTY4OiAiVGhpcyBzaG91bGQgYmUgdW5kZXJsaW5lZC4iCi1jYXJl
dDogcG9zaXRpb24gMjYgb2YgY2hpbGQgMCB7I3RleHR9IG9mIGNoaWxkIDAge1NQQU59IG9mIGNo
aWxkIDAge1NQQU59IG9mIGNoaWxkIDQge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQg
MCB7SFRNTH0gb2YgZG9jdW1lbnQKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDE2OHgxOCBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxNjh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDE2ODogIlRoaXMgc2hvdWxkIGJlIHVuZGVybGluZWQuIgorY2FyZXQ6IHBvc2l0aW9uIDI2
IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAwIHtTUEFOfSBvZiBjaGlsZCA0IHtESVZ9IG9m
IGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkLzUwNzU5NDQtMy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFz
dGVib2FyZC81MDc1OTQ0LTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0ODA2NikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTA3NTk0NC0zLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsOSArMTEsOCBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgK
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOTJ4MTgKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE5MjogIlRoaXMgc2hvdWxkIG5vdCBiZSB1
bmRlcmxpbmVkLiIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
MTY4eDE4IFtjb2xvcj0jMDAwMEZGXQotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBh
dCAoMCwwKSBzaXplIDE2OHgxOCBbY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxOTIsMCkgc2l6ZSAxNjh4MTgKLSAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTkyLDApIHdpZHRoIDE2ODogIlRoaXMgc2hvdWxkIGJlIHVuZGVybGluZWQuIgor
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxNjh4MTggW2NvbG9y
PSNGRjAwMDBdCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5MiwwKSBzaXpl
IDE2OHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTkyLDApIHdpZHRoIDE2ODogIlRo
aXMgc2hvdWxkIGJlIHVuZGVybGluZWQuIgogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwxOCkgc2l6ZSA3ODR4MAogY2FyZXQ6IHBvc2l0aW9uIDMwIG9mIGNoaWxkIDAgeyN0
ZXh0fSBvZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0g
b2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvNTEzNDc1OS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC81MTM0NzU5LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNDgwNjYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZWRpdGluZy9wYXN0ZWJvYXJkLzUxMzQ3NTktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xNyw4ICsxNyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAzOTogIkhlbGxvICIKICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNDV4MTgKLSAgICAgICAgICAgIFJlbmRlcklubGluZSB7RElWfSBh
dCAoMCwwKSBzaXplIDQ1eDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MzksMCkgc2l6ZSA0NXgxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzOSwwKSB3aWR0
aCA0NTogIldvcmxkISIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzksMCkg
c2l6ZSA0NXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzksMCkgd2lkdGggNDU6ICJX
b3JsZCEiCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE4KSBzaXplIDc4
NHgwCi1jYXJldDogcG9zaXRpb24gNiBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7RElW
fSBvZiBjaGlsZCAxIHtTUEFOfSBvZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxkIDIge0RJVn0gb2Yg
Y2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK2NhcmV0OiBwb3Np
dGlvbiA2IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtTUEFOfSBvZiBjaGlsZCAwIHtE
SVZ9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0g
b2YgZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvZGlzcGxheS1ibG9jay1vbi1zcGFucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9kaXNwbGF5LWJsb2Nr
LW9uLXNwYW5zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDgwNjYpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rpc3BsYXktYmxvY2stb24tc3BhbnMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAx
Mzd4MTgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzN3gx
OAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMzc6ICJUaGlzIGlzIGEg
cGFyYWdyYXBoLiIKKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTgpIHNp
emUgNzg0eDAKICAgICAgICAgUmVuZGVyQmxvY2sge1NQQU59IGF0ICgwLDE4KSBzaXplIDc4NHgx
OAogICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAxODJ4MTgKICAgICAg
ICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMHgxOApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwMi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ4MDY2
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10
ZXh0LTAwMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTY5LDExICs2OSwxMyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTQp
IHdpZHRoIDYzOiAiVGhlcmUgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDc3LDE0
KSBzaXplIDI4NXgyOAogICAgICAgICAgIHRleHQgcnVuIGF0ICg3NywxNCkgd2lkdGggMjg1OiAi
aXMgYSB0aWRlIGluIHRoZSBhZmZhaXJzIG9mIG1lbiwiCisgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCw1Nikgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsNTYpIHNpemUgNzg0eDU2IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMTQpIHNpemUgMTI0eDI4CiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDE0LDE0KSB3aWR0aCAxMjQ6ICJXaGljaCB0YWtlbiIKICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxMzgsMTQpIHNpemUgMjg1eDI4CiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDEzOCwxNCkgd2lkdGggMjg1OiAiaXMgYSB0aWRlIGluIHRoZSBhZmZhaXJzIG9mIG1lbiwi
CisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMTIpIHNpemUgNzg0eDAKICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDExMikgc2l6ZSA3ODR4NTYgW2JvcmRlcjogKDJw
eCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNCwxNCkg
c2l6ZSAxMjR4MjgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTQpIHdpZHRoIDEyNDogIldo
aWNoIHRha2VuIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS10ZXh0LTAwNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwNC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDQ4MDY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTU0LDYgKzU0LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE0LDE0KSB3aWR0aCA2MzogIlRoZXJlICIKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg3NywxNCkgc2l6ZSAyODV4MjgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NzcsMTQpIHdpZHRoIDI4NTogImlzIGEgdGlkZSBpbiB0aGUgYWZmYWlycyBvZiBtZW4sIgorICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNTYpIHNpemUgNzg0eDAKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDU2KSBzaXplIDc4NHg1NiBbYm9yZGVyOiAoMnB4IHNvbGlk
ICNGRjAwMDApXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE0LDE0KSBzaXplIDQz
NHgyOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwxNCkgd2lkdGggNDM0OiAiV2hpY2ggdGFr
ZW4gYXQgdGhlIGZsb29kIGxlYWRzIG9uIHRvIGZvcnR1bmUuIgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwNS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS10ZXh0LTAwNS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ4MDY2KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwNS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw1Nikgc2l6ZSA3
ODR4NTYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxNCwxNCkgc2l6ZSAyODV4MjgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQs
MTQpIHdpZHRoIDI4NTogImlzIGEgdGlkZSBpbiB0aGUgYWZmYWlycyBvZiBtZW4sIgorICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTEyKSBzaXplIDc4NHgwCiAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwxMTIpIHNpemUgNzg0eDU2IFtib3JkZXI6ICgycHggc29saWQg
I0ZGMDAwMCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMTQpIHNpemUgNDM0
eDI4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0LDE0KSB3aWR0aCA0MzQ6ICJXaGljaCB0YWtl
biBhdCB0aGUgZmxvb2QgbGVhZHMgb24gdG8gZm9ydHVuZS4iCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDA2LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXRleHQtMDA2LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDgwNjYpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDA2LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDU2KSBzaXplIDc4
NHg1NiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE0LDE0KSBzaXplIDM0OHgyOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwx
NCkgd2lkdGggMzQ4OiAiVGhlcmUgaXMgYSB0aWRlIGluIHRoZSBhZmZhaXJzIG9mIG1lbiwiCisg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMTIpIHNpemUgNzg0eDAKICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDExMikgc2l6ZSA3ODR4NTYgW2JvcmRlcjogKDJweCBz
b2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNCwxNCkgc2l6
ZSA0MzR4MjgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTQpIHdpZHRoIDQzNDogIldoaWNo
IHRha2VuIGF0IHRoZSBmbG9vZCBsZWFkcyBvbiB0byBmb3J0dW5lLiIKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtdGV4dC0wMTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0ODA2NikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0w
MTMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00Niw0ICs0Niw5IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAzMjogImZvbyIKICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw1Mikgc2l6ZSA3
NTZ4MjgKICAgICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDI4CisgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNzApIHNpemUgNzg0eDAKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiBjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtCUn0gb2YgY2hpbGQgMSB7RElWfSBv
ZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxkIDgge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hp
bGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4
dC0wMTQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0ODA2NikKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICAgIFJlbmRlckJsb2NrIHtCTE9DS1FVT1RFfSBhdCAoNDAsMCkgc2l6ZSA2NzZ4
MjgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyeDI4CiAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyOiAiZm9vIgorICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjY4KSBzaXplIDc4NHgwCiAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwyNjgpIHNpemUgNzg0eDU2IFtib3JkZXI6ICgycHggc29saWQgI0ZG
MDAwMCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMTQpIHNpemUgMTJ4MjgK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMTQpIHdpZHRoIDEyOiAieCIKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlL2ZvbnQtZmFtaWx5LXdpdGgtc3BhY2Ut
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3N0eWxlL2ZvbnQtZmFtaWx5LXdpdGgtc3BhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0
ODA2NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlL2ZvbnQtZmFt
aWx5LXdpdGgtc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02LDEwICs2LDkg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJJbmxpbmUge1V9IGF0
ICgwLDApIHNpemUgNDkweDE1CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDI0NXgxNQogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI0NTogIlRoaXMg
dGV4dCBzaG91bGQgYmUgVGltZXMgTmV3IFJvbWFuIGJvbGQuIgotICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgMjQ1eDE1Ci0gICAgICAgICAgUmVuZGVySW5saW5lIHtV
fSBhdCAoMCwwKSBzaXplIDI0NXgxNQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgyNDUsMCkgc2l6ZSAyNDV4MTUKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0NSwwKSB3
aWR0aCAyNDU6ICJUaGlzIHRleHQgc2hvdWxkIGJlIFRpbWVzIE5ldyBSb21hbiBib2xkLiIKKyAg
ICAgICAgUmVuZGVySW5saW5lIHtVfSBhdCAoMCwwKSBzaXplIDI0NXgxNQorICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMjQ1LDApIHNpemUgMjQ1eDE1CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjQ1LDApIHdpZHRoIDI0NTogIlRoaXMgdGV4dCBzaG91bGQgYmUgVGltZXMgTmV3
IFJvbWFuIGJvbGQuIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWNhcmV0OiBwb3Np
dGlvbiA0MSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMCB7VX0gb2YgY2hpbGQgMSB7U1BB
Tn0gb2YgY2hpbGQgMCB7VX0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2Yg
ZG9jdW1lbnQKK2NhcmV0OiBwb3NpdGlvbiA0MSBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQg
MSB7VX0gb2YgY2hpbGQgMCB7VX0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0g
b2YgZG9jdW1lbnQK
</data>
<flag name="review"
          id="20361"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39409</attachid>
            <date>2009-09-10 22:20:03 -0700</date>
            <delta_ts>2009-10-05 03:32:03 -0700</delta_ts>
            <desc>A super-quick fix written in an hour</desc>
            <filename>issue28710-patch0.txt</filename>
            <type>text/plain</type>
            <size>7687</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMDktMTAgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QSBzdXBlciBxdWljayBmaXggZm9yIEJ1ZyAyODcxMC4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkwMzkKKworICAgICAgICBUaGlzIGNoYW5nZSBq
dXN0IHJlc2V0cyB0aGUgc3R5bGUgc2VudCB0byBhZGRTdHlsZU1hcmt1cCgpIHRvIGF2b2lkIGFu
IGFzc2VydGlvbiBlcnJvcgorICAgICAgICBhbmQgY3JlYXRlcyBhbiBlbXB0eSBzdHlsZSB3aGVu
IGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uIGlzIDAgdG8gYXZvaWQgYSBjcmFzaC4KKyAgICAgICAg
KFRoaXMgY2hhbmdlIGlzIG5vdGhpbmcgYnV0IGEgY2hhbmdlIHdoaWNoIGlzIGJldHRlciB0aGFu
IGNyYXNoLikKKworICAgICAgICBUZXN0czogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNo
LTAwMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gt
MDAyLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZWRpdGluZ1N0eWxlQXRQb3NpdGlvbik6IFJlc2V0cyB0aGUgc3R5bGUg
c2VudCB0byBhZGRTdHlsZU1hcmt1cCgpIGlmIGl0IGlzIG5vdCB2YWxpZC4KKyAgICAgICAgKiBl
ZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVNYXJrdXApOiBDcmVh
dGVzIGFuIGVtcHR5IHN0eWxlIGlmIGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uIGlzIDAuCisKIDIw
MDktMDktMTAgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhl
IFdpbmRvd3MgYnVpbGQuCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJ
KHJldmlzaW9uIDQ4Mjc5KQorKysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgzLDcgKzM4MywxMSBAQCBzaXplX3QgbnVtRWRpdGluZ1N0
eWxlUHJvcGVydGllcyA9IHNpemVvCiBQYXNzUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uPiBlZGl0aW5nU3R5bGVBdFBvc2l0aW9uKFBvc2l0aW9uIHBvcywgU2hvdWxkSW5jbHVkZVR5
cGluZ1N0eWxlIHNob3VsZEluY2x1ZGVUeXBpbmdTdHlsZSkKIHsKICAgICBSZWZQdHI8Q1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBjb21wdXRlZFN0eWxlQXRQb3NpdGlvbiA9IHBvcy5jb21w
dXRlZFN0eWxlKCk7Ci0gICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBzdHls
ZSA9IGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uLT5jb3B5UHJvcGVydGllc0luU2V0KGVkaXRpbmdT
dHlsZVByb3BlcnRpZXMsIG51bUVkaXRpbmdTdHlsZVByb3BlcnRpZXMpOworICAgIFJlZlB0cjxD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4gc3R5bGU7CisgICAgaWYgKCFjb21wdXRlZFN0eWxl
QXRQb3NpdGlvbikKKyAgICAgICAgc3R5bGUgPSBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
Y3JlYXRlKCk7CisgICAgZWxzZQorICAgICAgICBzdHlsZSA9IGNvbXB1dGVkU3R5bGVBdFBvc2l0
aW9uLT5jb3B5UHJvcGVydGllc0luU2V0KGVkaXRpbmdTdHlsZVByb3BlcnRpZXMsIG51bUVkaXRp
bmdTdHlsZVByb3BlcnRpZXMpOwogCiAgICAgaWYgKHN0eWxlICYmIHBvcy5ub2RlKCkgJiYgcG9z
Lm5vZGUoKS0+Y29tcHV0ZWRTdHlsZSgpKSB7CiAgICAgICAgIFJlbmRlclN0eWxlKiByZW5kZXJT
dHlsZSA9IHBvcy5ub2RlKCktPmNvbXB1dGVkU3R5bGUoKTsKSW5kZXg6IFdlYkNvcmUvZWRpdGlu
Zy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCShy
ZXZpc2lvbiA0ODI3OSkKKysrIFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05ODMsOCArOTgzLDE2IEBAIFN0cmluZyBjcmVhdGVNYXJrdXAoY29uc3QgUmFuZ2Uq
IHJhbmdlLCAKICAgICAgICAgICAgICAgICBpZiAoIWZ1bGx5U2VsZWN0ZWRSb290U3R5bGUtPmdl
dFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UpICYmIHN0YXRpY19j
YXN0PEVsZW1lbnQqPihmdWxseVNlbGVjdGVkUm9vdCktPmhhc0F0dHJpYnV0ZShiYWNrZ3JvdW5k
QXR0cikpCiAgICAgICAgICAgICAgICAgICAgIGZ1bGx5U2VsZWN0ZWRSb290U3R5bGUtPnNldFBy
b3BlcnR5KENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLCAidXJsKCciICsgc3RhdGljX2Nhc3Q8
RWxlbWVudCo+KGZ1bGx5U2VsZWN0ZWRSb290KS0+Z2V0QXR0cmlidXRlKGJhY2tncm91bmRBdHRy
KSArICInKSIpOwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChmdWxseVNl
bGVjdGVkUm9vdFN0eWxlLT5sZW5ndGgoKSkKKyAgICAgICAgICAgICAgICBpZiAoZnVsbHlTZWxl
Y3RlZFJvb3RTdHlsZS0+bGVuZ3RoKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXQg
dGhlIENTUyBwcm9wZXJ0aWVzIHRvIGF2b2lkIGFuIGFzc2VydGlvbiBlcnJvciBpbiBhZGRTdHls
ZU1hcmt1cCgpLgorICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGFzc2VydGlvbiBpcyBjYXVz
ZWQgYXQgbGVhc3Qgd2hlbiB3ZSBzZWxlY3QgYWxsIHRleHQgb2YgYSA8Ym9keT4gZWxlbWVudCB3
aG9zZQorICAgICAgICAgICAgICAgICAgICAvLyAndGV4dC1kZWNvcmF0aW9uJyBwcm9wZXJ0eSBp
cyAiaW5oZXJpdCIsIGFuZCBjb3B5IGl0LgorICAgICAgICAgICAgICAgICAgICBpZiAoIXByb3Bl
cnR5TWlzc2luZ09yRXF1YWxUb05vbmUoZnVsbHlTZWxlY3RlZFJvb3RTdHlsZS5nZXQoKSwgQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbikpCisgICAgICAgICAgICAgICAgICAgICAgICBmdWxseVNl
bGVjdGVkUm9vdFN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uLCBD
U1NWYWx1ZU5vbmUpOworICAgICAgICAgICAgICAgICAgICBpZiAoIXByb3BlcnR5TWlzc2luZ09y
RXF1YWxUb05vbmUoZnVsbHlTZWxlY3RlZFJvb3RTdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBmdWxs
eVNlbGVjdGVkUm9vdFN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNv
cmF0aW9uc0luRWZmZWN0LCBDU1NWYWx1ZU5vbmUpOwogICAgICAgICAgICAgICAgICAgICBhZGRT
dHlsZU1hcmt1cChwcmVNYXJrdXBzLCBtYXJrdXBzLCBmdWxseVNlbGVjdGVkUm9vdFN0eWxlLmdl
dCgpLCBkb2N1bWVudCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICAvLyBTaW5jZSB0aGlzIG5vZGUgYW5kIGFsbCB0aGUgb3Ro
ZXIgYW5jZXN0b3JzIGFyZSBub3QgaW4gdGhlIHNlbGVjdGlvbiB3ZSB3YW50IHRvIHNldCBSYW5n
ZUZ1bGx5U2VsZWN0c05vZGUgdG8gRG9lc05vdEZ1bGx5U2VsZWN0Tm9kZQogICAgICAgICAgICAg
ICAgIC8vIHNvIHRoYXQgc3R5bGVzIHRoYXQgYWZmZWN0IHRoZSBleHRlcmlvciBvZiB0aGUgbm9k
ZSBhcmUgbm90IGluY2x1ZGVkLgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDgyODMpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wOS0x
MCAgSGlyb25vcmkgQm9ubyAgPGhib25vQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHN1cGVyIHF1aWNrIGZpeCBmb3IgQnVn
IDI4NzEwLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yOTAzOQorCisgICAgICAgIFRoaXMgY2hhbmdlIGp1c3QgcmVzZXRzIHRoZSBzdHlsZSBzZW50
IHRvIGFkZFN0eWxlTWFya3VwKCkgdG8gYXZvaWQgYW4gYXNzZXJ0aW9uIGVycm9yCisgICAgICAg
IGFuZCBjcmVhdGVzIGFuIGVtcHR5IHN0eWxlIHdoZW4gY29tcHV0ZWRTdHlsZUF0UG9zaXRpb24g
aXMgMCB0byBhdm9pZCBhIGNyYXNoLgorICAgICAgICAoVGhpcyBjaGFuZ2UgaXMgbm90aGluZyBi
dXQgYSBjaGFuZ2Ugd2hpY2ggaXMgYmV0dGVyIHRoYW4gY3Jhc2guKQorCisgICAgICAgICogZWRp
dGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1jcmFzaC0wMDEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1jcmFzaC0wMDIuaHRt
bDogQWRkZWQuCisKIDIwMDktMDktMTAgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxl
Y3QtY3Jhc2gtMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhl
IExvbmdlc3QgR2VybWFuIFdvcmQ/CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9zZWxlY3QtY3Jhc2gtMDAxLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhU
TUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9v
c2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CitodG1sLGJvZHksaDF7Zm9udC1zaXplOjEwMCU7Zm9udC1zdHlsZTppbmhlcml0
O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtZGVjb3JhdGlvbjpp
bmhlcml0O30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdlPSJq
YXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiID48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGgxIGlkPSJ0ZXN0Ij5UaGUgTG9uZ2VzdCBHZXJtYW4gV29yZD88L2gxPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KKyAgICBpZiAo
IXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKTsKKyAgICBzZWxlY3Rpb24uc2V0UG9zaXRpb24oZWxlbWVudC5maXJzdENoaWxk
LCAyKTsKKyAgICBleHRlbmRTZWxlY3Rpb25Gb3J3YXJkQnlDaGFyYWN0ZXJDb21tYW5kKCk7Cisg
ICAgY29weUNvbW1hbmQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNo
LTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSBAQAorVGhlIExvbmdlc3QgR2VybWFuIFdvcmQ/CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcv
VFIvaHRtbDQvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4KKzxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLGJvZHksaDF7Zm9udC1zaXplOjEwMCU7Zm9udC1z
dHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowO3RleHQt
ZGVjb3JhdGlvbjppbmhlcml0O30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpz
IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiID48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGgxPlRoZSBMb25nZXN0IEdlcm1hbiBXb3JkPzwvaDE+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPgorICAgIGlm
ICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHNlbGVjdEFsbENvbW1hbmQoKTsK
KyAgICBjb3B5Q29tbWFuZCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40616</attachid>
            <date>2009-10-05 03:32:03 -0700</date>
            <delta_ts>2009-10-05 16:26:34 -0700</delta_ts>
            <desc>The second quick fix</desc>
            <filename>issue28710-patch1.txt</filename>
            <type>text/plain</type>
            <size>7690</size>
            <attacher name="Hironori Bono">hbono</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTA4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTAtMDUgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QSBzdXBlciBxdWljayBmaXggZm9yIEJ1ZyAyODcxMC4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3MTAKKworICAgICAgICBUaGlzIGNoYW5nZSBq
dXN0IHJlc2V0cyB0aGUgc3R5bGUgc2VudCB0byBhZGRTdHlsZU1hcmt1cCgpIHRvIGF2b2lkIGFu
IGFzc2VydGlvbiBlcnJvcgorICAgICAgICBhbmQgY3JlYXRlcyBhbiBlbXB0eSBzdHlsZSB3aGVu
IGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uIGlzIDAgdG8gYXZvaWQgYSBjcmFzaC4KKyAgICAgICAg
KFRoaXMgY2hhbmdlIGlzIG5vdGhpbmcgYnV0IGEgYmV0dGVyLXRoYW4tY3Jhc2ggY2hhbmdlLikK
KworICAgICAgICBUZXN0czogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAyLmh0bWwK
KworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6ZWRpdGluZ1N0eWxlQXRQb3NpdGlvbik6IFJlc2V0cyB0aGUgc3R5bGUgc2VudCB0byBh
ZGRTdHlsZU1hcmt1cCgpIGlmIGl0IGlzIG5vdCB2YWxpZC4KKyAgICAgICAgKiBlZGl0aW5nL21h
cmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVNYXJrdXApOiBDcmVhdGVzIGFuIGVt
cHR5IHN0eWxlIGlmIGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uIGlzIDAuCisKIDIwMDktMTAtMDQg
IEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxl
Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21t
YW5kLmNwcAkocmV2aXNpb24gNDkwODIpCisrKyBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNv
bW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODMsNyArMzgzLDExIEBAIHNpemVfdCBudW1F
ZGl0aW5nU3R5bGVQcm9wZXJ0aWVzID0gc2l6ZW8KIFBhc3NSZWZQdHI8Q1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24+IGVkaXRpbmdTdHlsZUF0UG9zaXRpb24oUG9zaXRpb24gcG9zLCBTaG91bGRJ
bmNsdWRlVHlwaW5nU3R5bGUgc2hvdWxkSW5jbHVkZVR5cGluZ1N0eWxlKQogewogICAgIFJlZlB0
cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24+IGNvbXB1dGVkU3R5bGVBdFBvc2l0aW9uID0g
cG9zLmNvbXB1dGVkU3R5bGUoKTsKLSAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24+IHN0eWxlID0gY29tcHV0ZWRTdHlsZUF0UG9zaXRpb24tPmNvcHlQcm9wZXJ0aWVzSW5TZXQo
ZWRpdGluZ1N0eWxlUHJvcGVydGllcywgbnVtRWRpdGluZ1N0eWxlUHJvcGVydGllcyk7CisgICAg
UmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBzdHlsZTsKKyAgICBpZiAoIWNvbXB1
dGVkU3R5bGVBdFBvc2l0aW9uKQorICAgICAgICBzdHlsZSA9IENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uOjpjcmVhdGUoKTsKKyAgICBlbHNlCisgICAgICAgIHN0eWxlID0gY29tcHV0ZWRTdHls
ZUF0UG9zaXRpb24tPmNvcHlQcm9wZXJ0aWVzSW5TZXQoZWRpdGluZ1N0eWxlUHJvcGVydGllcywg
bnVtRWRpdGluZ1N0eWxlUHJvcGVydGllcyk7CiAKICAgICBpZiAoc3R5bGUgJiYgcG9zLm5vZGUo
KSAmJiBwb3Mubm9kZSgpLT5jb21wdXRlZFN0eWxlKCkpIHsKICAgICAgICAgUmVuZGVyU3R5bGUq
IHJlbmRlclN0eWxlID0gcG9zLm5vZGUoKS0+Y29tcHV0ZWRTdHlsZSgpOwpJbmRleDogV2ViQ29y
ZS9lZGl0aW5nL21hcmt1cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL21hcmt1
cC5jcHAJKHJldmlzaW9uIDQ5MDgyKQorKysgV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk4Myw4ICs5ODMsMTYgQEAgU3RyaW5nIGNyZWF0ZU1hcmt1cChjb25z
dCBSYW5nZSogcmFuZ2UsIAogICAgICAgICAgICAgICAgIGlmICghZnVsbHlTZWxlY3RlZFJvb3RT
dHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSkgJiYg
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KGZ1bGx5U2VsZWN0ZWRSb290KS0+aGFzQXR0cmlidXRlKGJh
Y2tncm91bmRBdHRyKSkKICAgICAgICAgICAgICAgICAgICAgZnVsbHlTZWxlY3RlZFJvb3RTdHls
ZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsICJ1cmwoJyIgKyBzdGF0
aWNfY2FzdDxFbGVtZW50Kj4oZnVsbHlTZWxlY3RlZFJvb3QpLT5nZXRBdHRyaWJ1dGUoYmFja2dy
b3VuZEF0dHIpICsgIicpIik7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYg
KGZ1bGx5U2VsZWN0ZWRSb290U3R5bGUtPmxlbmd0aCgpKQorICAgICAgICAgICAgICAgIGlmIChm
dWxseVNlbGVjdGVkUm9vdFN0eWxlLT5sZW5ndGgoKSkgeworICAgICAgICAgICAgICAgICAgICAv
LyBSZXNldCB0aGUgQ1NTIHByb3BlcnRpZXMgdG8gYXZvaWQgYW4gYXNzZXJ0aW9uIGVycm9yIGlu
IGFkZFN0eWxlTWFya3VwKCkuCisgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgYXNzZXJ0aW9u
IGlzIGNhdXNlZCBhdCBsZWFzdCB3aGVuIHdlIHNlbGVjdCBhbGwgdGV4dCBvZiBhIDxib2R5PiBl
bGVtZW50IHdob3NlCisgICAgICAgICAgICAgICAgICAgIC8vICd0ZXh0LWRlY29yYXRpb24nIHBy
b3BlcnR5IGlzICJpbmhlcml0IiwgYW5kIGNvcHkgaXQuCisgICAgICAgICAgICAgICAgICAgIGlm
ICghcHJvcGVydHlNaXNzaW5nT3JFcXVhbFRvTm9uZShmdWxseVNlbGVjdGVkUm9vdFN0eWxlLmdl
dCgpLCBDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bGx5U2VsZWN0ZWRSb290U3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5VGV4dERlY29y
YXRpb24sIENTU1ZhbHVlTm9uZSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghcHJvcGVydHlN
aXNzaW5nT3JFcXVhbFRvTm9uZShmdWxseVNlbGVjdGVkUm9vdFN0eWxlLmdldCgpLCBDU1NQcm9w
ZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGZ1bGx5U2VsZWN0ZWRSb290U3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0
VGV4dERlY29yYXRpb25zSW5FZmZlY3QsIENTU1ZhbHVlTm9uZSk7CiAgICAgICAgICAgICAgICAg
ICAgIGFkZFN0eWxlTWFya3VwKHByZU1hcmt1cHMsIG1hcmt1cHMsIGZ1bGx5U2VsZWN0ZWRSb290
U3R5bGUuZ2V0KCksIGRvY3VtZW50LCB0cnVlKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIFNpbmNlIHRoaXMgbm9kZSBhbmQgYWxs
IHRoZSBvdGhlciBhbmNlc3RvcnMgYXJlIG5vdCBpbiB0aGUgc2VsZWN0aW9uIHdlIHdhbnQgdG8g
c2V0IFJhbmdlRnVsbHlTZWxlY3RzTm9kZSB0byBEb2VzTm90RnVsbHlTZWxlY3ROb2RlCiAgICAg
ICAgICAgICAgICAgLy8gc28gdGhhdCBzdHlsZXMgdGhhdCBhZmZlY3QgdGhlIGV4dGVyaW9yIG9m
IHRoZSBub2RlIGFyZSBub3QgaW5jbHVkZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0OTA4MikKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisy
MDA5LTEwLTA1ICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgc3VwZXIgcXVpY2sgZml4
IGZvciBCdWcgMjg3MTAuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4NzEwCisKKyAgICAgICAgVGhpcyBjaGFuZ2UganVzdCByZXNldHMgdGhlIHN0
eWxlIHNlbnQgdG8gYWRkU3R5bGVNYXJrdXAoKSB0byBhdm9pZCBhbiBhc3NlcnRpb24gZXJyb3IK
KyAgICAgICAgYW5kIGNyZWF0ZXMgYW4gZW1wdHkgc3R5bGUgd2hlbiBjb21wdXRlZFN0eWxlQXRQ
b3NpdGlvbiBpcyAwIHRvIGF2b2lkIGEgY3Jhc2guCisgICAgICAgIChUaGlzIGNoYW5nZSBpcyBu
b3RoaW5nIGJ1dCBhIGJldHRlci10aGFuLWNyYXNoIGNoYW5nZS4pCisKKyAgICAgICAgKiBlZGl0
aW5nL3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi5odG1s
OiBBZGRlZC4KKwogMjAwOS0xMC0wNCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhLgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9z
ZWxlY3QtY3Jhc2gtMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAor
VGhlIExvbmdlc3QgR2VybWFuIFdvcmQ/CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zZWxlY3QtY3Jhc2gtMDAxLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMS5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFRE
IEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
bG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CitodG1sLGJvZHksaDF7Zm9udC1zaXplOjEwMCU7Zm9udC1zdHlsZTppbmhl
cml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtZGVjb3JhdGlv
bjppbmhlcml0O30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdl
PSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiID48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGgxIGlkPSJ0ZXN0Ij5UaGUgTG9uZ2VzdCBHZXJtYW4gV29yZD88L2gxPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KKyAgICBp
ZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB2YXIgZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKTsKKyAgICBzZWxlY3Rpb24uc2V0UG9zaXRpb24oZWxlbWVudC5maXJzdENo
aWxkLCAyKTsKKyAgICBleHRlbmRTZWxlY3Rpb25Gb3J3YXJkQnlDaGFyYWN0ZXJDb21tYW5kKCk7
CisgICAgY29weUNvbW1hbmQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNy
YXNoLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorVGhlIExvbmdlc3QgR2VybWFuIFdvcmQ/CkluZGV4OiBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtY3Jhc2gtMDAyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWNyYXNoLTAwMi5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5v
cmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLGJvZHksaDF7Zm9udC1zaXplOjEwMCU7Zm9u
dC1zdHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowO3Rl
eHQtZGVjb3JhdGlvbjppbmhlcml0O30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5n
LmpzIGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiID48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPlRoZSBMb25nZXN0IEdlcm1hbiBXb3JkPzwvaDE+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPgorICAg
IGlmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHNlbGVjdEFsbENvbW1hbmQo
KTsKKyAgICBjb3B5Q29tbWFuZCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>