<?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>67763</bug_id>
          
          <creation_ts>2011-09-07 23:58:16 -0700</creation_ts>
          <short_desc>Crashes in WebCore::InsertNodeBeforeCommand constructor.</short_desc>
          <delta_ts>2011-09-08 21:02:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Annie Sullivan">sullivan</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>shinyak</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>463919</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-09-07 23:58:16 -0700</bug_when>
    <thetext>ASSERT(m_refChild-&gt;parentNode()-&gt;rendererIsEditable() || !m_refChild-&gt;parentNode()-&gt;attached()); fails.

testcase2::
&gt;&lt;meter contenteditable&gt;&lt;span id=&quot;wrapper&quot;&gt;&gt;&lt;script&gt;
var sel = window.getSelection();
sel.setPosition(document.getElementById(&quot;wrapper&quot;), 1);
document.execCommand(&quot;InsertParagraph&quot;, false, null);
&lt;/script&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464275</commentid>
    <comment_count>1</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 13:03:12 -0700</bug_when>
    <thetext>I took a quick look at this in the debugger and it&apos;s a pretty weird case with a &lt;span&gt; inside a contenteditable &lt;meter&gt; tag, which has shadow DOM.

When InsertParagraphSeparatorCommand::doApply() gets called, startingSelection() and endingSelection() both look like this:

BODY	0x10931ce80
	#text	0x10930e380 &quot;&gt;&quot;
SE	METER	0x10931d9d0
		#shadow-root	0x10931db80
			DIV	0x10931da80
				DIV	0x10931db00 STYLE=width: 0%; 
		SPAN	0x10931e670
			#text	0x10931e4e0 &quot;&gt;&quot;
			SCRIPT	0x10931e700
				#text	0x10931e900 &quot;\nvar sel = window.getSelection();\nsel.setPosition(document.getElementById(&quot;wrapper&quot;), 1);\ndocument.execCommand(&quot;InsertParagraph&quot;, false, null);\n&quot;
start: before, offset:0
end: before, offset:0

So the code tries to insert a &lt;br&gt; before the &lt;meter&gt;. This causes the assertion to fail in InsertNodeBeforeCommand::InsertNodeBeforeCommand(). m_refChild is &lt;meter&gt; and m_refChild-&gt;parentNode() is &lt;body&gt;. &lt;body&gt; is not editable and it is attached.


Should &lt;meter&gt; be allowed to be contenteditable? If so, should the selection have been set to inside the &lt;span&gt; as the JavaScript says? If not, how should this case be handled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464278</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-08 13:07:31 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I took a quick look at this in the debugger and it&apos;s a pretty weird case with a &lt;span&gt; inside a contenteditable &lt;meter&gt; tag, which has shadow DOM.

HTMLMeterElement::canContainRangeEndPoint returns false, so we shouldn&apos;t be inserting a node inside a meter element.

&gt; When InsertParagraphSeparatorCommand::doApply() gets called, startingSelection() and endingSelection() both look like this:

We should bail out in that case because we&apos;re outside of the contenteditable area.

&gt; BODY    0x10931ce80
&gt;     #text    0x10930e380 &quot;&gt;&quot;
&gt; SE    METER    0x10931d9d0
&gt;         #shadow-root    0x10931db80
&gt;             DIV    0x10931da80
&gt;                 DIV    0x10931db00 STYLE=width: 0%; 
&gt;         SPAN    0x10931e670
&gt;             #text    0x10931e4e0 &quot;&gt;&quot;
&gt;             SCRIPT    0x10931e700
&gt;                 #text    0x10931e900 &quot;\nvar sel = window.getSelection();\nsel.setPosition(document.getElementById(&quot;wrapper&quot;), 1);\ndocument.execCommand(&quot;InsertParagraph&quot;, false, null);\n&quot;
&gt; start: before, offset:0
&gt; end: before, offset:0

Notice, it&apos;s before the meter element (i.e. at (body, 1)).  We shouldn&apos;t be inserting any node here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464285</commentid>
    <comment_count>3</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 13:21:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; I took a quick look at this in the debugger and it&apos;s a pretty weird case with a &lt;span&gt; inside a contenteditable &lt;meter&gt; tag, which has shadow DOM.
&gt; 
&gt; HTMLMeterElement::canContainRangeEndPoint returns false, so we shouldn&apos;t be inserting a node inside a meter element.

So does that mean that the code setting the selection outside of the meter element is doing the right thing?

&gt; &gt; When InsertParagraphSeparatorCommand::doApply() gets called, startingSelection() and endingSelection() both look like this:
&gt; 
&gt; We should bail out in that case because we&apos;re outside of the contenteditable area.

Sounds good to me. I&apos;m going to work on a patch that bails out of InsertParagraphSeparatorCommand::doApply() if we&apos;re outside of the contenteditable area. Let me know if you think the bailout should go in a different place.

When I&apos;m writing the check, should I worry about the case where the selection is partially inside the contenteditable area? It seems like the code that handles that is already working fine; I can&apos;t actually reproduce any problems where startingSelection() is in the contenteditable area and endingSelection() is outside, or vice versa. It would make the check much simpler just to bail if either of them is outside of the editing area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464287</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-08 13:24:20 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; HTMLMeterElement::canContainRangeEndPoint returns false, so we shouldn&apos;t be inserting a node inside a meter element.
&gt; 
&gt; So does that mean that the code setting the selection outside of the meter element is doing the right thing?

Yes.

&gt; &gt; We should bail out in that case because we&apos;re outside of the contenteditable area.
&gt; 
&gt; Sounds good to me. I&apos;m going to work on a patch that bails out of InsertParagraphSeparatorCommand::doApply() if we&apos;re outside of the contenteditable area. Let me know if you think the bailout should go in a different place.

I&apos;m surprised that we even call InsertParagraphSeparatorCommand::doApply.  I thought we have a check in EditorCommand or Editor and don&apos;t even call apply when we&apos;re outside of the editable region.

For example, I suspect that queryCommandEnabled(&apos;insertParagrpah&apos;) returns true in this case (it should return false instead!).

&gt; When I&apos;m writing the check, should I worry about the case where the selection is partially inside the contenteditable area? It seems like the code that handles that is already working fine; I can&apos;t actually reproduce any problems where startingSelection() is in the contenteditable area and endingSelection() is outside, or vice versa. It would make the check much simpler just to bail if either of them is outside of the editing area.

No, that should never happen as long as FrameSelection::validate is doing its work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464503</commentid>
    <comment_count>5</comment_count>
      <attachid>106815</attachid>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 17:05:29 -0700</bug_when>
    <thetext>Created attachment 106815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464508</commentid>
    <comment_count>6</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 17:09:28 -0700</bug_when>
    <thetext>
&gt; I&apos;m surprised that we even call InsertParagraphSeparatorCommand::doApply.  I thought we have a check in EditorCommand or Editor and don&apos;t even call apply when we&apos;re outside of the editable region.
&gt; 
&gt; For example, I suspect that queryCommandEnabled(&apos;insertParagrpah&apos;) returns true in this case (it should return false instead!).

deprecatedNode() strikes again!

The problem was that enabledInEditableText() calls editableRootForPosition() with a position that is anchored before the meter element. Because editableRootForPosition() was using deprecatedNode(), it was getting meter-&gt;rootEditableElement(), which is the meter node itself. It should have been getting meter-&gt;parentNode()-&gt;rootEditableElement().

I changed it to use containerNode, and surprisingly all the editing layout tests still pass for me.

There are other usages of deprecatedNode in htmlediting.cpp, but I&apos;d prefer to fix them in separate patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464531</commentid>
    <comment_count>7</comment_count>
      <attachid>106815</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-08 17:40:28 -0700</bug_when>
    <thetext>Comment on attachment 106815
Patch

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

Perfect!

&gt; LayoutTests/editing/inserting/insert-paragraph-selection-outside-contenteditable-expected.txt:1
&gt; + This test ensures that WebKit does not crash when the selection is outside of the contenteditable area.

You should hide the meter element so that it won&apos;t add space in front of &quot;This&quot;.

I&apos;d also like to see this test making sure the DOM is not changed by the editing command.

&gt; Source/WebCore/ChangeLog:10
&gt; +        root.

Could you fit &quot;root&quot; in the previous line so that it&apos;s easier to read?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464584</commentid>
    <comment_count>8</comment_count>
      <attachid>106828</attachid>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 19:01:50 -0700</bug_when>
    <thetext>Created attachment 106828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464586</commentid>
    <comment_count>9</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 19:04:24 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; LayoutTests/editing/inserting/insert-paragraph-selection-outside-contenteditable-expected.txt:1
&gt; &gt; + This test ensures that WebKit does not crash when the selection is outside of the contenteditable area.
&gt; 
&gt; You should hide the meter element so that it won&apos;t add space in front of &quot;This&quot;.

Done.

&gt; I&apos;d also like to see this test making sure the DOM is not changed by the editing command.

I did that by comparing meter.outerHTML before/after, is that okay?

&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        root.
&gt; 
&gt; Could you fit &quot;root&quot; in the previous line so that it&apos;s easier to read?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464588</commentid>
    <comment_count>10</comment_count>
      <attachid>106828</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-08 19:07:02 -0700</bug_when>
    <thetext>Comment on attachment 106828
Patch

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

&gt; LayoutTests/ChangeLog:6
&gt; +        Tests for crash when the selection is outside the contenteditable node.

This line should appear after &quot;Reviewed by&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464591</commentid>
    <comment_count>11</comment_count>
      <attachid>106831</attachid>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 19:10:10 -0700</bug_when>
    <thetext>Created attachment 106831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464592</commentid>
    <comment_count>12</comment_count>
    <who name="Annie Sullivan">sullivan</who>
    <bug_when>2011-09-08 19:10:31 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 106828 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106828&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:6
&gt; &gt; +        Tests for crash when the selection is outside the contenteditable node.
&gt; 
&gt; This line should appear after &quot;Reviewed by&quot;

Oops, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464593</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-08 19:12:26 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 106828 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106828&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/ChangeLog:6
&gt; &gt; &gt; +        Tests for crash when the selection is outside the contenteditable node.
&gt; &gt; 
&gt; &gt; This line should appear after &quot;Reviewed by&quot;
&gt; 
&gt; Oops, fixed.

You don&apos;t have to ask for another review for these trivial changes. In fact, as soon as I&apos;ve r+ed, you can just do &quot;webkit-patch land-safely&quot; or make changes and commit locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464622</commentid>
    <comment_count>14</comment_count>
      <attachid>106831</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 21:02:29 -0700</bug_when>
    <thetext>Comment on attachment 106831
Patch

Clearing flags on attachment: 106831

Committed r94832: &lt;http://trac.webkit.org/changeset/94832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464623</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 21:02:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106815</attachid>
            <date>2011-09-08 17:05:29 -0700</date>
            <delta_ts>2011-09-08 19:01:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67763-20110908200528.patch</filename>
            <type>text/plain</type>
            <size>4017</size>
            <attacher name="Annie Sullivan">sullivan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3NTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MDk2MjQ3MWRhM2VjZjViYjU2OGMw
NmYzZDcxYWQzNDBjYjdlMTEwLi5iNThhMTg3ZTM3Y2Q2ZWE0NzY2Y2FjMmQ1N2Y2NGYyYzBhYzYz
YjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMDggIEFubmllIFN1bGxpdmFuICA8
c3VsbGl2YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENyYXNoZXMgaW4gV2ViQ29yZTo6SW5z
ZXJ0Tm9kZUJlZm9yZUNvbW1hbmQgY29uc3RydWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc2MworCisgICAgICAgIFRlc3RzIGZvciBjcmFz
aCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgb3V0c2lkZSB0aGUgY29udGVudGVkaXRhYmxlIG5vZGUu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0
aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNlbGVjdGlvbi1vdXRzaWRlLWNvbnRlbnRl
ZGl0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLmh0bWw6
IEFkZGVkLgorCiAyMDExLTA5LTA4ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1F0XSBDb3VwbGUgb2YgdGVzdHMgaGF2ZSBkaWZmZXJlbnQgcmVzdWx0
cyBvbiA2NCBiaXQgYW5kL29yIGluIGRlYnVnIG1vZGUgY29tcGFyZWQgdG8gMzIgYml0IGFuZC9v
ciByZWxlYXNlIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgt
c2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zYzA0OGIyMGRkNzBkM2UzZjE3ZjNjODBlODY4MmJlMzJiZjAxMjkxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXBhcmFncmFwaC1zZWxl
Y3Rpb24tb3V0c2lkZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgV2ViS2l0IGRvZXMgbm90IGNyYXNoIHdoZW4gdGhl
IHNlbGVjdGlvbiBpcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50ZWRpdGFibGUgYXJlYS4KKworUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXBhcmFn
cmFwaC1zZWxlY3Rpb24tb3V0c2lkZS1jb250ZW50ZWRpdGFibGUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29u
dGVudGVkaXRhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThmNDZjMjY5YzIyMDM2YjcxNmM4ODlmZjc4
MzYxOTg4ZmIwOGNmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5z
ZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxl
Lmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5Pgor
ICAgIDxtZXRlciBjb250ZW50ZWRpdGFibGU+PHNwYW4gaWQ9IndyYXBwZXIiPnh4eDwvc3Bhbj48
L21ldGVyPgorCisgICAgPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2
YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgIHNlbC5zZXRQb3NpdGlvbihkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgid3JhcHBlciIpLCAxKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiSW5zZXJ0UGFyYWdyYXBoIiwgZmFsc2UsIG51bGwpOworCisgICAgZG9jdW1lbnQud3Jp
dGVsbignVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBXZWJLaXQgZG9lcyBub3QgY3Jhc2ggd2hlbiB0
aGUgc2VsZWN0aW9uIGlzIG91dHNpZGUgb2YgdGhlIGNvbnRlbnRlZGl0YWJsZSBhcmVhLjxicj48
YnI+UEFTUycpOworICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZTFkNzMzZGNhMzA4YzRhMmI1MWVmYzE5M2FkMTQ0ZTM0NjNhOWMzLi4yNzA0ZDFhODQ2M2JiOGVi
NzNmYTU4M2QzY2M2NGJiMzQ4MzBhOThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MTEtMDktMDggIEFubmllIFN1bGxpdmFuICA8c3VsbGl2YW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIENyYXNoZXMgaW4gV2ViQ29yZTo6SW5zZXJ0Tm9kZUJlZm9yZUNvbW1hbmQgY29uc3RydWN0
b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc2
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5n
ZXMgZWRpdGFibGVSb290Rm9yUG9zaXRpb24oKSB0byB1c2UgdGhlIHBvc2l0aW9uJ3MgY29udGFp
bmVyTm9kZSBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWROb2RlCisgICAgICAgIHNvIHRoYXQgcG9zaXRp
b25zIHdoaWNoIGFyZSBiZWZvcmUgb3IgYWZ0ZXIgYSBnaXZlbiBub2RlIGNhbm5vdCByZXR1cm4g
dGhhdCBub2RlIGFzIHRoZSBlZGl0YWJsZQorICAgICAgICByb290LgorCisgICAgICAgIFRlc3Q6
IGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29u
dGVudGVkaXRhYmxlLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZWRpdGFibGVSb290Rm9yUG9zaXRpb24pOiB1c2UgY29udGFpbmVy
Tm9kZSBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWROb2RlLgorCiAyMDExLTA5LTA4ICBBbGV4YW5kZXIg
UGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgc3Ry
aXAgdHJhaWxpbmcgd2hpdGVzcGFjZSBpbiB0aGUgV2ViIEluc3BlY3RvciBmcm9udGVuZCAoKi5q
cyBhbmQgKi5jc3MpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAppbmRleCA4
MzFkZTgwOTI3ZjczMjVjMjQ5NzU1YTU3YWM3YzRkODg0M2FjMTRlLi4xNWNkNzk5ZDNmZDVmODcx
NDYzZWRmNDcxZWJjMjE1MDFkMmFmZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0
aW5nLmNwcApAQCAtMTc2LDcgKzE3Niw3IEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJiBwKQogCiBFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYgcCkKIHsKLSAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgp
OworICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAg
ICAgICAgIHJldHVybiAwOwogICAgICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106828</attachid>
            <date>2011-09-08 19:01:50 -0700</date>
            <delta_ts>2011-09-08 19:10:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67763-20110908220149.patch</filename>
            <type>text/plain</type>
            <size>4340</size>
            <attacher name="Annie Sullivan">sullivan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3NTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MDk2MjQ3MWRhM2VjZjViYjU2OGMw
NmYzZDcxYWQzNDBjYjdlMTEwLi5iNThhMTg3ZTM3Y2Q2ZWE0NzY2Y2FjMmQ1N2Y2NGYyYzBhYzYz
YjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMDggIEFubmllIFN1bGxpdmFuICA8
c3VsbGl2YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENyYXNoZXMgaW4gV2ViQ29yZTo6SW5z
ZXJ0Tm9kZUJlZm9yZUNvbW1hbmQgY29uc3RydWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc2MworCisgICAgICAgIFRlc3RzIGZvciBjcmFz
aCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgb3V0c2lkZSB0aGUgY29udGVudGVkaXRhYmxlIG5vZGUu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0
aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNlbGVjdGlvbi1vdXRzaWRlLWNvbnRlbnRl
ZGl0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLmh0bWw6
IEFkZGVkLgorCiAyMDExLTA5LTA4ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1F0XSBDb3VwbGUgb2YgdGVzdHMgaGF2ZSBkaWZmZXJlbnQgcmVzdWx0
cyBvbiA2NCBiaXQgYW5kL29yIGluIGRlYnVnIG1vZGUgY29tcGFyZWQgdG8gMzIgYml0IGFuZC9v
ciByZWxlYXNlIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgt
c2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NWFhNTMzYjZhOTk4M2NlYWM0MDY2NTM2Y2E5YzE1ZjRlYjMwMjU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXBhcmFncmFwaC1zZWxl
Y3Rpb24tb3V0c2lkZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBXZWJLaXQgZG9lcyBub3QgY3Jhc2ggb3IgZWRpdCB0
aGUgY29udGVudCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgb3V0c2lkZSBvZiB0aGUgY29udGVudGVk
aXRhYmxlIGFyZWEuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5z
ZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNl
bGVjdGlvbi1vdXRzaWRlLWNvbnRlbnRlZGl0YWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZjhlMGEz
MzlmZTBjZDY5NDRkNjJjMGU1ODAzZWFiMjJlOWNjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNlbGVjdGlvbi1vdXRz
aWRlLWNvbnRlbnRlZGl0YWJsZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KKyAgICA8bWV0ZXIgaWQ9InJvb3QiIGNvbnRlbnRlZGl0YWJsZT48
c3BhbiBpZD0id3JhcHBlciI+eHh4PC9zcGFuPjwvbWV0ZXI+CisKKyAgICA8c2NyaXB0PgorICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciBvcmlnaW5hbENvbnRlbnQgPSByb290Lm91
dGVySFRNTDsKKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgIHNlbC5z
ZXRQb3NpdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid3JhcHBlciIpLCAxKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0UGFyYWdyYXBoIiwgZmFsc2UsIG51bGwpOworICAg
IHZhciBlZGl0ZWRDb250ZW50ID0gcm9vdC5vdXRlckhUTUw7CisgICAgcm9vdC5zdHlsZS5kaXNw
bGF5ID0gJ25vbmUnOyAvLyBSZW1vdmUgZnJvbSBvdXRwdXQuCisKKyAgICBkb2N1bWVudC53cml0
ZWxuKCdUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IFdlYktpdCBkb2VzIG5vdCBjcmFzaCBvciBlZGl0
IHRoZSBjb250ZW50IHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50
ZWRpdGFibGUgYXJlYS48YnI+PGJyPicpOworICAgIGRvY3VtZW50LndyaXRlbG4ob3JpZ2luYWxD
b250ZW50ID09IGVkaXRlZENvbnRlbnQgPyAnUEFTUycgOiAnRkFJTDogZXhwZWN0ZWQgJyArICBv
cmlnaW5hbENvbnRlbnQgKyAnIGJ1dCB3YXMgY2hhbmdlZCB0byAnICsgZWRpdGVkQ29udGVudCk7
CisgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBlMWQ3MzNkY2Ez
MDhjNGEyYjUxZWZjMTkzYWQxNDRlMzQ2M2E5YzMuLmExYThkYjNjYjhhNTBjNjM3MTU2OThlMGUw
MWRjODhjZGFkZDUzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wOS0wOCAg
QW5uaWUgU3VsbGl2YW4gIDxzdWxsaXZhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ3Jhc2hl
cyBpbiBXZWJDb3JlOjpJbnNlcnROb2RlQmVmb3JlQ29tbWFuZCBjb25zdHJ1Y3Rvci4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlcyBlZGl0YWJs
ZVJvb3RGb3JQb3NpdGlvbigpIHRvIHVzZSB0aGUgcG9zaXRpb24ncyBjb250YWluZXJOb2RlIGlu
c3RlYWQgb2YgZGVwcmVjYXRlZE5vZGUgc28gdGhhdAorICAgICAgICBwb3NpdGlvbnMgd2hpY2gg
YXJlIGJlZm9yZSBvciBhZnRlciBhIGdpdmVuIG5vZGUgY2Fubm90IHJldHVybiB0aGF0IG5vZGUg
YXMgdGhlIGVkaXRhYmxlIHJvb3QuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9pbnNlcnRpbmcv
aW5zZXJ0LXBhcmFncmFwaC1zZWxlY3Rpb24tb3V0c2lkZS1jb250ZW50ZWRpdGFibGUuaHRtbAor
CisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpl
ZGl0YWJsZVJvb3RGb3JQb3NpdGlvbik6IHVzZSBjb250YWluZXJOb2RlIGluc3RlYWQgb2YgZGVw
cmVjYXRlZE5vZGUuCisKIDIwMTEtMDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBzdHJpcCB0cmFpbGluZyB3aGl0ZXNw
YWNlIGluIHRoZSBXZWIgSW5zcGVjdG9yIGZyb250ZW5kICgqLmpzIGFuZCAqLmNzcykuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4IDgzMWRlODA5MjdmNzMyNWMyNDk3
NTVhNTdhYzdjNGQ4ODQzYWMxNGUuLjE1Y2Q3OTlkM2ZkNWY4NzE0NjNlZGY0NzFlYmMyMTUwMWQy
YWZlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0xNzYsNyAr
MTc2LDcgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAp
CiAKIEVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQog
ewotICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CisgICAgTm9kZSogbm9kZSA9
IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106831</attachid>
            <date>2011-09-08 19:10:10 -0700</date>
            <delta_ts>2011-09-08 21:02:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67763-20110908221008.patch</filename>
            <type>text/plain</type>
            <size>4340</size>
            <attacher name="Annie Sullivan">sullivan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ3NTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MDk2MjQ3MWRhM2VjZjViYjU2OGMw
NmYzZDcxYWQzNDBjYjdlMTEwLi4yOTMzOGI4MDg0MmE4YTE0MmFhYjg4ZTFjNzliOWZlYTIzMjhh
ZjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMDggIEFubmllIFN1bGxpdmFuICA8
c3VsbGl2YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIENyYXNoZXMgaW4gV2ViQ29yZTo6SW5z
ZXJ0Tm9kZUJlZm9yZUNvbW1hbmQgY29uc3RydWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciBjcmFzaCB3aGVuIHRoZSBzZWxlY3Rp
b24gaXMgb3V0c2lkZSB0aGUgY29udGVudGVkaXRhYmxlIG5vZGUuCisKKyAgICAgICAgKiBlZGl0
aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNlbGVjdGlvbi1vdXRzaWRlLWNvbnRlbnRl
ZGl0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLmh0bWw6
IEFkZGVkLgorCiAyMDExLTA5LTA4ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1F0XSBDb3VwbGUgb2YgdGVzdHMgaGF2ZSBkaWZmZXJlbnQgcmVzdWx0
cyBvbiA2NCBiaXQgYW5kL29yIGluIGRlYnVnIG1vZGUgY29tcGFyZWQgdG8gMzIgYml0IGFuZC9v
ciByZWxlYXNlIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5n
L2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgt
c2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NWFhNTMzYjZhOTk4M2NlYWM0MDY2NTM2Y2E5YzE1ZjRlYjMwMjU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXBhcmFncmFwaC1zZWxl
Y3Rpb24tb3V0c2lkZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBXZWJLaXQgZG9lcyBub3QgY3Jhc2ggb3IgZWRpdCB0
aGUgY29udGVudCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgb3V0c2lkZSBvZiB0aGUgY29udGVudGVk
aXRhYmxlIGFyZWEuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5z
ZXJ0aW5nL2luc2VydC1wYXJhZ3JhcGgtc2VsZWN0aW9uLW91dHNpZGUtY29udGVudGVkaXRhYmxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNl
bGVjdGlvbi1vdXRzaWRlLWNvbnRlbnRlZGl0YWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZjhlMGEz
MzlmZTBjZDY5NDRkNjJjMGU1ODAzZWFiMjJlOWNjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtcGFyYWdyYXBoLXNlbGVjdGlvbi1vdXRz
aWRlLWNvbnRlbnRlZGl0YWJsZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KKyAgICA8bWV0ZXIgaWQ9InJvb3QiIGNvbnRlbnRlZGl0YWJsZT48
c3BhbiBpZD0id3JhcHBlciI+eHh4PC9zcGFuPjwvbWV0ZXI+CisKKyAgICA8c2NyaXB0PgorICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciBvcmlnaW5hbENvbnRlbnQgPSByb290Lm91
dGVySFRNTDsKKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgIHNlbC5z
ZXRQb3NpdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid3JhcHBlciIpLCAxKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0UGFyYWdyYXBoIiwgZmFsc2UsIG51bGwpOworICAg
IHZhciBlZGl0ZWRDb250ZW50ID0gcm9vdC5vdXRlckhUTUw7CisgICAgcm9vdC5zdHlsZS5kaXNw
bGF5ID0gJ25vbmUnOyAvLyBSZW1vdmUgZnJvbSBvdXRwdXQuCisKKyAgICBkb2N1bWVudC53cml0
ZWxuKCdUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IFdlYktpdCBkb2VzIG5vdCBjcmFzaCBvciBlZGl0
IHRoZSBjb250ZW50IHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50
ZWRpdGFibGUgYXJlYS48YnI+PGJyPicpOworICAgIGRvY3VtZW50LndyaXRlbG4ob3JpZ2luYWxD
b250ZW50ID09IGVkaXRlZENvbnRlbnQgPyAnUEFTUycgOiAnRkFJTDogZXhwZWN0ZWQgJyArICBv
cmlnaW5hbENvbnRlbnQgKyAnIGJ1dCB3YXMgY2hhbmdlZCB0byAnICsgZWRpdGVkQ29udGVudCk7
CisgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBlMWQ3MzNkY2Ez
MDhjNGEyYjUxZWZjMTkzYWQxNDRlMzQ2M2E5YzMuLmExYThkYjNjYjhhNTBjNjM3MTU2OThlMGUw
MWRjODhjZGFkZDUzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wOS0wOCAg
QW5uaWUgU3VsbGl2YW4gIDxzdWxsaXZhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ3Jhc2hl
cyBpbiBXZWJDb3JlOjpJbnNlcnROb2RlQmVmb3JlQ29tbWFuZCBjb25zdHJ1Y3Rvci4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlcyBlZGl0YWJs
ZVJvb3RGb3JQb3NpdGlvbigpIHRvIHVzZSB0aGUgcG9zaXRpb24ncyBjb250YWluZXJOb2RlIGlu
c3RlYWQgb2YgZGVwcmVjYXRlZE5vZGUgc28gdGhhdAorICAgICAgICBwb3NpdGlvbnMgd2hpY2gg
YXJlIGJlZm9yZSBvciBhZnRlciBhIGdpdmVuIG5vZGUgY2Fubm90IHJldHVybiB0aGF0IG5vZGUg
YXMgdGhlIGVkaXRhYmxlIHJvb3QuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9pbnNlcnRpbmcv
aW5zZXJ0LXBhcmFncmFwaC1zZWxlY3Rpb24tb3V0c2lkZS1jb250ZW50ZWRpdGFibGUuaHRtbAor
CisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpl
ZGl0YWJsZVJvb3RGb3JQb3NpdGlvbik6IHVzZSBjb250YWluZXJOb2RlIGluc3RlYWQgb2YgZGVw
cmVjYXRlZE5vZGUuCisKIDIwMTEtMDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBzdHJpcCB0cmFpbGluZyB3aGl0ZXNw
YWNlIGluIHRoZSBXZWIgSW5zcGVjdG9yIGZyb250ZW5kICgqLmpzIGFuZCAqLmNzcykuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4IDgzMWRlODA5MjdmNzMyNWMyNDk3
NTVhNTdhYzdjNGQ4ODQzYWMxNGUuLjE1Y2Q3OTlkM2ZkNWY4NzE0NjNlZGY0NzFlYmMyMTUwMWQy
YWZlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0xNzYsNyAr
MTc2LDcgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAp
CiAKIEVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQog
ewotICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CisgICAgTm9kZSogbm9kZSA9
IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>