<?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>111228</bug_id>
          
          <creation_ts>2013-03-01 15:48:30 -0800</creation_ts>
          <short_desc>InsertUnorderedList can lead to lost content and assertions in moveParagraphs</short_desc>
          <delta_ts>2013-07-18 11:21:49 -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>https://code.google.com/p/chromium/issues/detail?id=177117</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>118847</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>graouts</cc>
    
    <cc>jparent</cc>
    
    <cc>leviw</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>845569</commentid>
    <comment_count>0</comment_count>
      <attachid>191055</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-01 15:48:30 -0800</bug_when>
    <thetext>Created attachment 191055
Test case from crbug.com

ASSERTION FAILED: destination.deepEquivalent().anchorNode()-&gt;inDocument()
../../third_party/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp(1220) : void WebCore::CompositeEditCommand::moveParagraphs(const WebCore::VisiblePosition&amp;, const WebCore::V
isiblePosition&amp;, const WebCore::VisiblePosition&amp;, bool, bool)

#0  0x00000000025d490c in WebCore::CompositeEditCommand::moveParagraphs (this=0x25bab8595b60, startOfParagraphToMove=..., endOfParagraphToMove=..., destination=..., preserveSelectio
n=true, preserveStyle=true) at ../../third_party/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp:1220
#1  0x000000000219bb04 in WebCore::InsertListCommand::unlistifyParagraph (this=0x25bab8595b60, originalStart=..., listNode=0x25bab8c0c980, listChildNode=0x25bab852b840) at ../../thi
rd_party/WebKit/Source/WebCore/editing/InsertListCommand.cpp:306
#2  0x000000000219b245 in WebCore::InsertListCommand::doApplyForSingleParagraph (this=0x25bab8595b60, forceCreateList=false, listTag=..., currentSelection=0x25bab8429ec0) at ../../t
hird_party/WebKit/Source/WebCore/editing/InsertListCommand.cpp:246
#3  0x000000000219a46f in WebCore::InsertListCommand::doApply (this=0x25bab8595b60) at ../../third_party/WebKit/Source/WebCore/editing/InsertListCommand.cpp:158
#4  0x00000000025ce45f in WebCore::CompositeEditCommand::apply (this=0x25bab8595b60) at ../../third_party/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp:214
#5  0x00000000025ce18a in WebCore::applyCommand (command=...) at ../../third_party/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp:170
#6  0x0000000002185f2f in WebCore::executeInsertUnorderedList (frame=0x25bab8a4dc20) at ../../third_party/WebKit/Source/WebCore/editing/EditorCommand.cpp:565
#7  0x0000000002188f83 in WebCore::Editor::Command::execute (this=0x7fffde005690, parameter=..., triggeringEvent=0x0) at ../../third_party/WebKit/Source/WebCore/editing/EditorComman
d.cpp:1700
#8  0x0000000002bcc848 in WebCore::Document::execCommand (this=0x25bab8a1b020, commandName=..., userInterface=false, value=...) at ../../third_party/WebKit/Source/WebCore/dom/Docume
nt.cpp:4185
#9  0x00000000032fff04 in WebCore::DocumentV8Internal::execCommandMethod (args=...) at gen/webcore/bindings/V8Document.cpp:2357
#10 0x00000000032fff90 in WebCore::DocumentV8Internal::execCommandMethodCallback (args=...) at gen/webcore/bindings/V8Document.cpp:2362
#11 0x000024e9ceb44d15 in ?? ()
#12 0x00007fffde005a00 in ?? ()
#13 0x00007fffde005a08 in ?? ()
#14 0x0000000000000001 in ?? ()
#15 0x0000000000000000 in ?? ()


This also shows off a separate bug where the second InsertUnorderdList command that should unlistify breaks each list item into its own list and sets the blocks to inlines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848135</commentid>
    <comment_count>1</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-05 15:14:35 -0800</bug_when>
    <thetext>I&apos;ve got a fix for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848137</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-05 15:14:52 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; I&apos;ve got a fix for this.

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848344</commentid>
    <comment_count>3</comment_count>
      <attachid>191630</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-05 18:28:41 -0800</bug_when>
    <thetext>Created attachment 191630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848381</commentid>
    <comment_count>4</comment_count>
      <attachid>191630</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 19:25:31 -0800</bug_when>
    <thetext>Comment on attachment 191630
Patch

Attachment 191630 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17044102

New failing tests:
fast/parser/nested-fragment-parser-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848456</commentid>
    <comment_count>5</comment_count>
      <attachid>191630</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-05 22:04:36 -0800</bug_when>
    <thetext>Comment on attachment 191630
Patch

I don&apos;t believe that&apos;s a related crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848466</commentid>
    <comment_count>6</comment_count>
      <attachid>191630</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-05 22:14:15 -0800</bug_when>
    <thetext>Comment on attachment 191630
Patch

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

Please fix the test before you land it.

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:10
&gt; +function styleList() {

styleList is a vague name.

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:11
&gt; +    var newElem = document.createElement(&apos;div&apos;);

Please don&apos;t abbreviate element as elem.

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:14
&gt; +    var textNode = document.createTextNode(&apos;x&apos;);
&gt; +    newElem.appendChild(textNode);

We could do this in one line.

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:15
&gt; +    root.insertBefore(newElem, root.firstChild);

Where is root coming from?

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:22
&gt; +		testRunner.dumpAsText();

Nit: tab. cq-.

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:26
&gt; +	root.offsetHeight;

Why do we need to force layout here? SelectAll is going to do that anyways

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:34
&gt; +	finalMarkup = root.innerHTML;
&gt; +	listIsRemoved = finalMarkup.indexOf(&quot;ul&quot;) == -1;

Why don&apos;t you just check document.getElementsByTagName(&apos;ul&apos;).length == 0 instead?

&gt; LayoutTests/editing/execCommand/insert-remove-block-list-inside-presentational-inline.html:38
&gt; +		root.parentNode.removeChild(root);

Nit: tab.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848469</commentid>
    <comment_count>7</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-05 22:15:36 -0800</bug_when>
    <thetext>Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848540</commentid>
    <comment_count>8</comment_count>
      <attachid>191630</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 00:09:03 -0800</bug_when>
    <thetext>Comment on attachment 191630
Patch

Attachment 191630 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17011018

New failing tests:
fast/parser/nested-fragment-parser-crash.html
plugins/plugin-clip-subframe.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849019</commentid>
    <comment_count>9</comment_count>
      <attachid>191784</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 10:21:04 -0800</bug_when>
    <thetext>Created attachment 191784
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849030</commentid>
    <comment_count>10</comment_count>
      <attachid>191784</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 10:29:56 -0800</bug_when>
    <thetext>Comment on attachment 191784
Patch for landing

Rejecting attachment 191784 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-04&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 191784, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
  return self.open(self.click(*args, **kwds))
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 203, in open
    return self._mech_open(url, data, timeout=timeout)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 255, in _mech_open
    raise response
webkitpy.thirdparty.autoinstalled.mechanize._response.httperror_seek_wrapper: HTTP Error 500: Internal Server Error

Full output: http://webkit-commit-queue.appspot.com/results/17086088</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849105</commentid>
    <comment_count>11</comment_count>
      <attachid>191784</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 11:14:43 -0800</bug_when>
    <thetext>Comment on attachment 191784
Patch for landing

Attachment 191784 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17009341

New failing tests:
fast/parser/nested-fragment-parser-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849207</commentid>
    <comment_count>12</comment_count>
      <attachid>191784</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 12:50:27 -0800</bug_when>
    <thetext>Comment on attachment 191784
Patch for landing

Attachment 191784 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17050246

New failing tests:
fast/parser/nested-fragment-parser-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849255</commentid>
    <comment_count>13</comment_count>
      <attachid>191822</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 13:37:04 -0800</bug_when>
    <thetext>Created attachment 191822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849258</commentid>
    <comment_count>14</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 13:37:41 -0800</bug_when>
    <thetext>That failure was actually legitimate and needed another 1-line change. Ryosuke, can you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849305</commentid>
    <comment_count>15</comment_count>
      <attachid>191822</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-06 14:34:17 -0800</bug_when>
    <thetext>Comment on attachment 191822
Patch

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

&gt; Source/WebCore/editing/EditingStyle.cpp:196
&gt; -    return style-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect) || style-&gt;getPropertyCSSValue(CSSPropertyTextDecoration);
&gt; +    return style &amp;&amp; (style-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect) || style-&gt;getPropertyCSSValue(CSSPropertyTextDecoration));

This doesn&apos;t look right. We need to check the nullity in its caller instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849308</commentid>
    <comment_count>16</comment_count>
      <attachid>191822</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 14:37:10 -0800</bug_when>
    <thetext>Comment on attachment 191822
Patch

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

&gt;&gt; Source/WebCore/editing/EditingStyle.cpp:196
&gt;&gt; +    return style &amp;&amp; (style-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect) || style-&gt;getPropertyCSSValue(CSSPropertyTextDecoration));
&gt; 
&gt; This doesn&apos;t look right. We need to check the nullity in its caller instead.

It matches the other version. See: HTMLElementEquivalent::propertyExistsInStyle. There are only 5 callers, all in EditingStyle. If you want I can fix all of them to do this null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849314</commentid>
    <comment_count>17</comment_count>
      <attachid>191822</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-06 14:41:25 -0800</bug_when>
    <thetext>Comment on attachment 191822
Patch

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

&gt;&gt;&gt; Source/WebCore/editing/EditingStyle.cpp:196
&gt;&gt;&gt; +    return style &amp;&amp; (style-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect) || style-&gt;getPropertyCSSValue(CSSPropertyTextDecoration));
&gt;&gt; 
&gt;&gt; This doesn&apos;t look right. We need to check the nullity in its caller instead.
&gt; 
&gt; It matches the other version. See: HTMLElementEquivalent::propertyExistsInStyle. There are only 5 callers, all in EditingStyle. If you want I can fix all of them to do this null check.

That&apos;s wrong :( We need to remove that null check and move it elsewhere.
conflictsWithImplicitStyleOfAttributes and extractConflictingImplicitStyleOfAttributes already ensures style is not null.
So we just need to update elementMatchesAndPropertyIsNotInInlineStyleDecl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849352</commentid>
    <comment_count>18</comment_count>
      <attachid>191843</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 15:13:14 -0800</bug_when>
    <thetext>Created attachment 191843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849355</commentid>
    <comment_count>19</comment_count>
      <attachid>191843</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-06 15:14:49 -0800</bug_when>
    <thetext>Comment on attachment 191843
Patch

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

&gt; Source/WebCore/editing/EditingStyle.cpp:131
&gt; -    virtual bool propertyExistsInStyle(const StylePropertySet* style) const { return style &amp;&amp; style-&gt;getPropertyCSSValue(m_propertyID); }
&gt; +    virtual bool propertyExistsInStyle(const StylePropertySet* style) const { return style-&gt;getPropertyCSSValue(m_propertyID); }

You&apos;re missing a change log entry for this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849364</commentid>
    <comment_count>20</comment_count>
      <attachid>191843</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 15:19:31 -0800</bug_when>
    <thetext>Comment on attachment 191843
Patch

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

&gt;&gt; Source/WebCore/editing/EditingStyle.cpp:131
&gt;&gt; +    virtual bool propertyExistsInStyle(const StylePropertySet* style) const { return style-&gt;getPropertyCSSValue(m_propertyID); }
&gt; 
&gt; You&apos;re missing a change log entry for this function.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849370</commentid>
    <comment_count>21</comment_count>
      <attachid>191850</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-06 15:25:34 -0800</bug_when>
    <thetext>Created attachment 191850
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849412</commentid>
    <comment_count>22</comment_count>
      <attachid>191850</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 16:09:08 -0800</bug_when>
    <thetext>Comment on attachment 191850
Patch for landing

Clearing flags on attachment: 191850

Committed r144995: &lt;http://trac.webkit.org/changeset/144995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849413</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 16:09:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909726</commentid>
    <comment_count>24</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-07-18 06:10:14 -0700</bug_when>
    <thetext>This caused https://bugs.webkit.org/show_bug.cgi?id=118847.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>191055</attachid>
            <date>2013-03-01 15:48:30 -0800</date>
            <delta_ts>2013-03-01 15:48:30 -0800</delta_ts>
            <desc>Test case from crbug.com</desc>
            <filename>temp.html</filename>
            <type>text/html</type>
            <size>3034</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgPGhlYWQ+CiAgICA8dGl0bGU+CiAgICAgIEJ1bGxldGVkIGxpc3QgRGVhdGgKICAg
IDwvdGl0bGU+CiAgICA8c2NyaXB0PgogICAgICB2YXIgZWRpdG9yOwogICAgICB2YXIgaW5pdGlh
bEhUTUw7CgogICAgICBmdW5jdGlvbiBzdHlsZUxpc3QoZSkgewogICAgICAgIHZhciBuZXdFbGVt
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgbmV3RWxlbS5zdHlsZS5j
c3NUZXh0ID0gICJoZWlnaHQ6IDAiOwogICAgICAgIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCd4Jyk7CiAgICAgICAgbmV3RWxlbS5hcHBlbmRDaGlsZCh0ZXh0Tm9kZSk7
CiAgICAgICAgZWRpdG9yLmluc2VydEJlZm9yZShuZXdFbGVtLCBlZGl0b3IuZmlyc3RDaGlsZCk7
CiAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFVub3JkZXJlZExpc3QnKTsKICAg
ICAgICBlZGl0b3IucmVtb3ZlQ2hpbGQobmV3RWxlbSk7CiAgICAgICAgZS5zdG9wUHJvcGFnYXRp
b24oKTsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgc2hvd1N0eWxlZFRleHQo
KTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc3R5bGVCb2xkKGUpIHsKICAgICAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgnYm9sZCcpOwogICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAg
ICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHNob3dTdHlsZWRUZXh0KCk7CiAgICAgIH0K
CiAgICAgIGZ1bmN0aW9uIHJlc2V0VGV4dChlKSB7CiAgICAgICAgZWRpdG9yLmlubmVySFRNTCA9
IGluaXRpYWxIVE1MOwogICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgZS5wcmV2
ZW50RGVmYXVsdCgpOwogICAgICAgIHNob3dTdHlsZWRUZXh0KCk7CiAgICAgIH0KCiAgICAgIGZ1
bmN0aW9uIHNob3dTdHlsZWRUZXh0KGUpIHsKICAgICAgICB2YXIgaHRtbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdodG1sJyk7CiAgICAgICAgaHRtbC5zdHlsZS5kaXNwbGF5ID0gJyc7CiAg
ICAgICAgaHRtbC5pbm5lclRleHQgPSBlZGl0b3IuaW5uZXJIVE1MOwogICAgICAgIGlmIChlKSB7
CiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgZS5wcmV2ZW50RGVmYXVs
dCgpOwogICAgICAgIH0KICAgICAgfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgogIDxib2R5Pgo8
ZGl2IGlkPSJlZGl0b3IiIGhpZGVmb2N1cz0idHJ1ZSIgZ19lZGl0YWJsZT0idHJ1ZSJjb250ZW50
ZWRpdGFibGU9InRydWUiCnN0eWxlPSJkaXJlY3Rpb246IGx0cjsgaGVpZ2h0OiA1MDBweDsgd2lk
dGg6IDYwMHB4OyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsiCnRhYmluZGV4PSIxIj4KPGI+dGhp
cyBpcyBsaW5lIG9uZTwvYj48ZGl2PjxiPnRoaXMgaXMgbGluZSB0d288L2I+PC9kaXY+PGRpdj48
Yj50aGlzIGlzIGxpbmUgdGhyZWU8L2I+PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+CjxkaXY+
CkluIG9yZGVyIHRvIHNlZSB0aGUgcHJvYmxlbSBmb2xsb3cgdGhlIGZvbGxvd2luZyBzdGVwczoK
PHVsPgo8bGk+ClNlbGVjdCBhbGwgdGhlIHRleHQgaW4gdGhlIGVkaXRvcgo8L2xpPgo8bGk+CkNs
aWNrIGJlbG93IHRvIGFkZCBpbiB0aGUgdW5vcmRlcmVkIGxpc3QuCjwvbGk+CjxsaT4KQ2xpY2sg
YmVsb3cgdG8gcmVtb3ZlIHRoZSB1bm9yZGVyZWQgbGlzdC4gTm90ZSB0aGUgc3RyYW5nZSBodG1s
IGFzIGEgcmVzdWx0IG9mIHRoaXMgb3BlcmF0aW9uLgo8L2xpPgo8bGk+CkNsaWNrIGJlbG93IHRv
IHRyeSBhZ2FpbiB0byBhZGQgaW4gdGhlIHVub3JkZXJlZCBsaXN0LiBUaGUgdGV4dCBjb21wbGV0
ZWx5IGRpc2FwcGVhcnMuCjwvbGk+CjwvdWw+CjwvZGl2Pgo8ZGl2PgogICAgQ2xpY2sKICAgIDxz
cGFuIGlkPSdsaXN0QnV0dG9uJyBzdHlsZT0iY29sb3I6Ymx1ZTsgdGV4dC1kZWNvcmF0aW9uOnVu
ZGVybGluZTsiPmhlcmU8L3NwYW4+IHRvIHRvZ2dsZSB1bm9yZGVyZWQgbGlzdAo8L2Rpdj4KPGRp
dj4KICAgIENsaWNrCiAgICA8c3BhbiBpZD0nYm9sZEJ1dHRvbicgc3R5bGU9ImNvbG9yOmJsdWU7
IHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij5oZXJlPC9zcGFuPiB0byB0b2dnbGUgYm9sZAo8
L2Rpdj4KPGRpdj4KICAgIENsaWNrCiAgICA8c3BhbiBpZD0ncmVzZXRCdXR0b24nIHN0eWxlPSJj
b2xvcjpibHVlOyB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyI+aGVyZTwvc3Bhbj4gdG8gcmVz
ZXQgdGV4dAo8L2Rpdj4KPGRpdj4KICAgIFNlbGVjdCA8c3BhbiBpZD0nc2hvd0h0bWwnIHN0eWxl
PSJjb2xvcjpibHVlOyB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyI+aGVyZTwvc3Bhbj4KICAg
IHRvIHNlZSB0aGUgaHRtbCBmb3IgdGhlIGVkaXRvci4KPC9kaXY+CjxkaXYgaWQ9J2h0bWwnIHN0
eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsgd2lkdGg6IDYwMHB4OyBkaXNwbGF5Om5vbmUi
Pgo8L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAgIGVkaXRvciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdlZGl0b3InKTsKICAgICAgaW5pdGlhbEhUTUwgPSBlZGl0b3IuaW5uZXJIVE1MOwogICAg
ICB2YXIgbGlzdEJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaXN0QnV0dG9uJyk7
CiAgICAgIGxpc3RCdXR0b24ub25tb3VzZWRvd24gPSBzdHlsZUxpc3Q7CiAgICAgIHZhciBib2xk
QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvbGRCdXR0b24nKTsKICAgICAgYm9s
ZEJ1dHRvbi5vbm1vdXNlZG93biA9IHN0eWxlQm9sZDsKICAgICAgdmFyIHJlc2V0QnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc2V0QnV0dG9uJyk7CiAgICAgIHJlc2V0QnV0dG9u
Lm9ubW91c2Vkb3duID0gcmVzZXRUZXh0OwogICAgICB2YXIgc2hvd0h0bWwgPSAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Nob3dIdG1sJyk7CiAgICAgIHNob3dIdG1sLm9ubW91c2Vkb3duID0g
c2hvd1N0eWxlZFRleHQ7CiAgICAgIHNob3dTdHlsZWRUZXh0KCk7CiAgICA8L3NjcmlwdD4KICA8
L2JvZHk+CjxodG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191630</attachid>
            <date>2013-03-05 18:28:41 -0800</date>
            <delta_ts>2013-03-06 10:21:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111228-20130305182447.patch</filename>
            <type>text/plain</type>
            <size>9265</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAzLTA1ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNlcnRVbm9yZGVyZWRM
aXN0IGNhbiBsZWFkIHRvIGxvc3QgY29udGVudCBhbmQgYXNzZXJ0aW9ucyBpbiBtb3ZlUGFyYWdy
YXBocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hl
biBhIGxpc3QgaXMgd3JhcHBlZCBpbiBhIHByZXNlbnRhdGlvbmFsIGlubGluZSBsaWtlIGEgYiB0
YWcsIHdlJ2QgY3JlYXRlIG1hcmt1cCB0aGF0IGluY2x1ZGVkCisgICAgICAgIGV2ZXJ5dGhpbmcg
dXAgdG8gdGhlIGIgdGFnIGZyb20gbW92ZVBhcmFncmFwaHMgd2hlbiBpbnRlbmRpbmcgdG8gb25s
eSBtb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUKKyAgICAgICAgbGlzdCBpdGVtLiBUaGlzIGNvdWxk
IG1ha2UgaXQgaW1wb3NzaWJsZSB0byByZW1vdmUgY29udGVudCBmcm9tIGEgbGlzdCBhbmQgdHJp
Z2dlciBsb3NzIG9mCisgICAgICAgIGVkaXRhYmxlIHRleHQuCisKKyAgICAgICAgVGVzdDogZWRp
dGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRh
dGlvbmFsLWlubGluZS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpoaWdoZXN0QW5jZXN0b3JUb1dyYXBNYXJrdXApOiBBdm9pZCBnb2luZyBv
dmVyIFJlbmRlckJsb2NrcyB3aGVuIGZpbmRpbmcgdGhlIGhpZ2hlc3QKKyAgICAgICAgcHJlc2Vu
dGF0aW9uYWwgYW5jZXN0b3IgdG8gYXZvaWQgbGVhdmluZyB0aGUgYm91bmRzIG9mIHRoZSBvcmln
aW5hbCBwYXJhZ3JhcGguCisKIDIwMTMtMDMtMDUgIEFhcm9uIENvbHdlbGwgIDxhY29sd2VsbEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGVhcC11c2UtYWZ0ZXItZnJlZSBpbiBXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp+SFRNTE1lZGlhRWxlbWVudApJbmRleDogU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
bWFya3VwLmNwcAkocmV2aXNpb24gMTQ0NjY4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9t
YXJrdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSAiTWFy
a3VwQWNjdW11bGF0b3IuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAi
UmFuZ2UuaCIKKyNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5o
IgpAQCAtNTIyLDcgKzUyMyw3IEBAIHN0YXRpYyBOb2RlKiBoaWdoZXN0QW5jZXN0b3JUb1dyYXBN
YXJrdXAKIAogICAgIE5vZGUqIGNoZWNrQW5jZXN0b3IgPSBzcGVjaWFsQ29tbW9uQW5jZXN0b3Ig
PyBzcGVjaWFsQ29tbW9uQW5jZXN0b3IgOiBjb21tb25BbmNlc3RvcjsKICAgICBpZiAoY2hlY2tB
bmNlc3Rvci0+cmVuZGVyZXIoKSkgewotICAgICAgICBOb2RlKiBuZXdTcGVjaWFsQ29tbW9uQW5j
ZXN0b3IgPSBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShmaXJzdFBvc2l0aW9uSW5Ob2RlKGNo
ZWNrQW5jZXN0b3IpLCAmaXNFbGVtZW50UHJlc2VudGF0aW9uYWwpOworICAgICAgICBOb2RlKiBu
ZXdTcGVjaWFsQ29tbW9uQW5jZXN0b3IgPSBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShmaXJz
dFBvc2l0aW9uSW5Ob2RlKGNoZWNrQW5jZXN0b3IpLCAmaXNFbGVtZW50UHJlc2VudGF0aW9uYWws
IENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5LCBjaGVja0FuY2VzdG9yLT5yZW5kZXJlcigpLT5jb250
YWluaW5nQmxvY2soKS0+bm9kZSgpKTsKICAgICAgICAgaWYgKG5ld1NwZWNpYWxDb21tb25BbmNl
c3RvcikKICAgICAgICAgICAgIHNwZWNpYWxDb21tb25BbmNlc3RvciA9IG5ld1NwZWNpYWxDb21t
b25BbmNlc3RvcjsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDQ4NjEpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wMy0w
NSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5zZXJ0
VW5vcmRlcmVkTGlzdCBjYW4gbGVhZCB0byBsb3N0IGNvbnRlbnQgYW5kIGFzc2VydGlvbnMgaW4g
bW92ZVBhcmFncmFwaHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTIyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZWRpdGluZy9kZWxldGluZy9wcnVuaW5nLWFmdGVyLW1lcmdlLTEtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1s
aXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1yZW1vdmUtYmxvY2stbGlzdC1pbnNp
ZGUtcHJlc2VudGF0aW9uYWwtaW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbDoKKwogMjAxMy0wMy0wNSAg
SGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBn
YXJkZW5pbmcuCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3BydW5pbmctYWZ0
ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy9wcnVuaW5nLWFmdGVyLW1lcmdlLTEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
NDQ2NjgpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3BydW5pbmctYWZ0ZXItbWVy
Z2UtMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgogRURJVElORyBERUxFR0FURTogc2hvdWxkRGVsZXRlRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9m
ICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJ
ViA+IEIgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAogRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZp
Y2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJh
bmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEIgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZB
TFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdl
IGZyb20gMCBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAyIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6
V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogVGhpcyB0ZXN0cyB0aGUgcHJ1bmluZyB0aGF0
IGRlbGV0ZSBkb2VzIHdoZW4gdGhlIGl0IG1lcmdlcyB0d28gcGFyYWdyYXBocyB3aGVuIHRoZSBz
ZWxlY3Rpb24gdG8gZGVsZXRlIHNwYW5zIG11bHRpcGxlIGJsb2Nrcy4KSW5kZXg6IExheW91dFRl
c3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1w
cmVzZW50YXRpb25hbC1pbmxpbmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1w
cmVzZW50YXRpb25hbC1pbmxpbmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRl
LXByZXNlbnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTAgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyBpbnNlcnRVbm9yZGVyZWRMaXN0IGNhbiBwcm9w
ZXJseSB1bmRvIGl0cyBvd24gRE9NIG1hbmlwdWxhdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorUEFTUyBsaXN0SXNSZW1vdmVkIGlzIHRydWUKKwpJbmRleDogTGF5b3V0VGVzdHMvZWRp
dGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRh
dGlvbmFsLWlubGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1p
bmxpbmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1h
bmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0i
cm9vdCI+PGI+b25lPC9iPjxkaXY+PGI+dHdvPC9iPjwvZGl2PjxkaXY+PGI+dGhyZWU8L2I+PC9k
aXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gc3R5bGVMaXN0KCkg
eworICAgIHZhciBuZXdFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
bmV3RWxlbS5zdHlsZS5jc3NUZXh0ID0gICJoZWlnaHQ6IDAiOworICAgIHZhciB0ZXh0Tm9kZSA9
IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCd4Jyk7CisgICAgbmV3RWxlbS5hcHBlbmRDaGlsZCh0
ZXh0Tm9kZSk7CisgICAgcm9vdC5pbnNlcnRCZWZvcmUobmV3RWxlbSwgcm9vdC5maXJzdENoaWxk
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VW5vcmRlcmVkTGlzdCcpOworICAg
IHJvb3QucmVtb3ZlQ2hpbGQobmV3RWxlbSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisJ
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCQl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworCWRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgaW5zZXJ0VW5vcmRlcmVkTGlzdCBjYW4gcHJv
cGVybHkgdW5kbyBpdHMgb3duIERPTSBtYW5pcHVsYXRpb24uIik7CisJdmFyIHJvb3QgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworCXJvb3Qub2Zmc2V0SGVpZ2h0OworCXJvb3Qu
Zm9jdXMoKTsKKwlkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CisJc3R5bGVMaXN0
KCk7CisJc3R5bGVMaXN0KCk7CisJc3R5bGVMaXN0KCk7CisJc3R5bGVMaXN0KCk7CisJZmluYWxN
YXJrdXAgPSByb290LmlubmVySFRNTDsKKwlsaXN0SXNSZW1vdmVkID0gZmluYWxNYXJrdXAuaW5k
ZXhPZigidWwiKSA9PSAtMTsKKwlzaG91bGRCZVRydWUoImxpc3RJc1JlbW92ZWQiKTsKKworCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKwkJcm9vdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHJvb3Qp
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAxNDQ2NjgpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NCw3ICs0LDcgQEAgUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwogUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCiBQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGI+PGk+SGVsbG88L2k+PC9iPicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
LVBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhlbGxvPC9pPicK
IFBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCiBQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JwogUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9y
bWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDtoZWxsbzI8L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPicKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
bmQtc2FuaXRpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwJKHJldmlzaW9uIDE0NDY2OCkKKysrIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCB0ZXN0UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIpOwogdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIsICI8Yj48aT5IZWxs
bzwvaT48L2I+Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwi
Zm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwogdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVsbG8iKTsKLXRlc3RQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxiPjxp
PkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+
SGVsbG88L2k+Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+Iik7CiB0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPjxzcGFuIHN0eWxl
PVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwv
Yj48L2Rpdj4iLCAKICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191784</attachid>
            <date>2013-03-06 10:21:04 -0800</date>
            <delta_ts>2013-03-06 13:37:01 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-111228-20130306101710.patch</filename>
            <type>text/plain</type>
            <size>9276</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAzLTA1ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNlcnRVbm9yZGVyZWRM
aXN0IGNhbiBsZWFkIHRvIGxvc3QgY29udGVudCBhbmQgYXNzZXJ0aW9ucyBpbiBtb3ZlUGFyYWdy
YXBocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFdoZW4g
YSBsaXN0IGlzIHdyYXBwZWQgaW4gYSBwcmVzZW50YXRpb25hbCBpbmxpbmUgbGlrZSBhIGIgdGFn
LCB3ZSdkIGNyZWF0ZSBtYXJrdXAgdGhhdCBpbmNsdWRlZAorICAgICAgICBldmVyeXRoaW5nIHVw
IHRvIHRoZSBiIHRhZyBmcm9tIG1vdmVQYXJhZ3JhcGhzIHdoZW4gaW50ZW5kaW5nIHRvIG9ubHkg
bW92ZSB0aGUgY29udGVudHMgb2YgdGhlCisgICAgICAgIGxpc3QgaXRlbS4gVGhpcyBjb3VsZCBt
YWtlIGl0IGltcG9zc2libGUgdG8gcmVtb3ZlIGNvbnRlbnQgZnJvbSBhIGxpc3QgYW5kIHRyaWdn
ZXIgbG9zcyBvZgorICAgICAgICBlZGl0YWJsZSB0ZXh0LgorCisgICAgICAgIFRlc3Q6IGVkaXRp
bmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRp
b25hbC1pbmxpbmUuaHRtbAorCisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6aGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwKTogQXZvaWQgZ29pbmcgb3Zl
ciBSZW5kZXJCbG9ja3Mgd2hlbiBmaW5kaW5nIHRoZSBoaWdoZXN0CisgICAgICAgIHByZXNlbnRh
dGlvbmFsIGFuY2VzdG9yIHRvIGF2b2lkIGxlYXZpbmcgdGhlIGJvdW5kcyBvZiB0aGUgb3JpZ2lu
YWwgcGFyYWdyYXBoLgorCiAyMDEzLTAzLTA1ICBBYXJvbiBDb2x3ZWxsICA8YWNvbHdlbGxAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEhlYXAtdXNlLWFmdGVyLWZyZWUgaW4gV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6fkhUTUxNZWRpYUVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvbWFya3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21h
cmt1cC5jcHAJKHJldmlzaW9uIDE0NDY2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFy
a3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIk1hcmt1
cEFjY3VtdWxhdG9yLmgiCiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJh
bmdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3Qu
aCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIK
QEAgLTUyMiw3ICs1MjMsNyBAQCBzdGF0aWMgTm9kZSogaGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFy
a3VwCiAKICAgICBOb2RlKiBjaGVja0FuY2VzdG9yID0gc3BlY2lhbENvbW1vbkFuY2VzdG9yID8g
c3BlY2lhbENvbW1vbkFuY2VzdG9yIDogY29tbW9uQW5jZXN0b3I7CiAgICAgaWYgKGNoZWNrQW5j
ZXN0b3ItPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgTm9kZSogbmV3U3BlY2lhbENvbW1vbkFuY2Vz
dG9yID0gaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoZmlyc3RQb3NpdGlvbkluTm9kZShjaGVj
a0FuY2VzdG9yKSwgJmlzRWxlbWVudFByZXNlbnRhdGlvbmFsKTsKKyAgICAgICAgTm9kZSogbmV3
U3BlY2lhbENvbW1vbkFuY2VzdG9yID0gaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoZmlyc3RQ
b3NpdGlvbkluTm9kZShjaGVja0FuY2VzdG9yKSwgJmlzRWxlbWVudFByZXNlbnRhdGlvbmFsLCBD
YW5Dcm9zc0VkaXRpbmdCb3VuZGFyeSwgY2hlY2tBbmNlc3Rvci0+cmVuZGVyZXIoKS0+Y29udGFp
bmluZ0Jsb2NrKCktPm5vZGUoKSk7CiAgICAgICAgIGlmIChuZXdTcGVjaWFsQ29tbW9uQW5jZXN0
b3IpCiAgICAgICAgICAgICBzcGVjaWFsQ29tbW9uQW5jZXN0b3IgPSBuZXdTcGVjaWFsQ29tbW9u
QW5jZXN0b3I7CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ0ODYxKQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDMtMDUg
IExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc2VydFVu
b3JkZXJlZExpc3QgY2FuIGxlYWQgdG8gbG9zdCBjb250ZW50IGFuZCBhc3NlcnRpb25zIGluIG1v
dmVQYXJhZ3JhcGhzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTEyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAg
ICAgKiBlZGl0aW5nL2RlbGV0aW5nL3BydW5pbmctYWZ0ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3Qt
aW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1w
cmVzZW50YXRpb25hbC1pbmxpbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sOgorCiAyMDEzLTAzLTA1ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRl
bmluZy4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvcHJ1bmluZy1hZnRlci1t
ZXJnZS0xLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2Rl
bGV0aW5nL3BydW5pbmctYWZ0ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0NDY2
OCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvcHJ1bmluZy1hZnRlci1tZXJnZS0x
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBF
RElUSU5HIERFTEVHQVRFOiBzaG91bGREZWxldGVET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3Rl
eHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElWID4g
QiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRp
b24KLUVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDIgb2YgI3RleHQgPiBESVYgPiBCID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZm
aW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UK
K0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJv
bSAwIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIg
b2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5n
ZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNT
ZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJW
aWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBUaGlzIHRlc3RzIHRoZSBwcnVuaW5nIHRoYXQgZGVs
ZXRlIGRvZXMgd2hlbiB0aGUgaXQgbWVyZ2VzIHR3byBwYXJhZ3JhcGhzIHdoZW4gdGhlIHNlbGVj
dGlvbiB0byBkZWxldGUgc3BhbnMgbXVsdGlwbGUgYmxvY2tzLgpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNl
bnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNl
bnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1yZW1vdmUtYmxvY2stbGlzdC1pbnNpZGUtcHJl
c2VudGF0aW9uYWwtaW5saW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIGluc2VydFVub3JkZXJlZExpc3QgY2FuIHByb3Blcmx5
IHVuZG8gaXRzIG93biBET00gbWFuaXB1bGF0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd1bCcpLmxlbmd0aCA9PSAwIGlz
IHRydWUKKwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVt
b3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGluZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9j
ay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0
LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxk
aXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0icm9vdCI+PGI+b25lPC9iPjxkaXY+PGI+dHdv
PC9iPjwvZGl2PjxkaXY+PGI+dGhyZWU8L2I+PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+Cis8
c2NyaXB0PgordmFyIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworZnVu
Y3Rpb24gdG9nZ2xlTGlzdCgpIHsKKyAgICB2YXIgdGVtcG9yYXJ5QmxvY2sgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICB0ZW1wb3JhcnlCbG9jay5zdHlsZS5jc3NUZXh0ID0g
ICJoZWlnaHQ6IDAiOworICAgIHRlbXBvcmFyeUJsb2NrLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCd4JykpOworICAgIHJvb3QuaW5zZXJ0QmVmb3JlKHRlbXBvcmFyeUJsb2Nr
LCByb290LmZpcnN0Q2hpbGQpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRVbm9y
ZGVyZWRMaXN0Jyk7CisgICAgcm9vdC5yZW1vdmVDaGlsZCh0ZW1wb3JhcnlCbG9jayk7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
dmVyaWZpZXMgaW5zZXJ0VW5vcmRlcmVkTGlzdCBjYW4gcHJvcGVybHkgdW5kbyBpdHMgb3duIERP
TSBtYW5pcHVsYXRpb24uIik7CisgICAgcm9vdC5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiKTsKKyAgICB0b2dnbGVMaXN0KCk7CisgICAgdG9nZ2xlTGlzdCgp
OworICAgIHRvZ2dsZUxpc3QoKTsKKyAgICB0b2dnbGVMaXN0KCk7CisgICAgc2hvdWxkQmVUcnVl
KCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndWwnKS5sZW5ndGggPT0gMCIpOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByb290LnBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQocm9vdCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0NDY2OCkKKysrIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC00LDcgKzQsNyBAQCBQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCiBQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKIFBBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwvaT48L2I+JwogUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJwotUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+
SGVsbG88L2k+JwogUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwvZGl2PicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCiBQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwv
aT48L2I+PC9zcGFuPjwvaT48L2I+JwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbAkocmV2aXNpb24gMTQ0NjY4
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIHRlc3RQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7CiB0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iiwg
IjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKIHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNw
YW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bh
bj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CiB0ZXN0UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwot
dGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rp
dj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdo
dDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKIHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKIHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PiIsIAogICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191822</attachid>
            <date>2013-03-06 13:37:04 -0800</date>
            <delta_ts>2013-03-06 15:13:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111228-20130306133309.patch</filename>
            <type>text/plain</type>
            <size>10287</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTA1ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNlcnRVbm9yZGVyZWRM
aXN0IGNhbiBsZWFkIHRvIGxvc3QgY29udGVudCBhbmQgYXNzZXJ0aW9ucyBpbiBtb3ZlUGFyYWdy
YXBocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFdoZW4g
YSBsaXN0IGlzIHdyYXBwZWQgaW4gYSBwcmVzZW50YXRpb25hbCBpbmxpbmUgbGlrZSBhIGIgdGFn
LCB3ZSdkIGNyZWF0ZSBtYXJrdXAgdGhhdCBpbmNsdWRlZAorICAgICAgICBldmVyeXRoaW5nIHVw
IHRvIHRoZSBiIHRhZyBmcm9tIG1vdmVQYXJhZ3JhcGhzIHdoZW4gaW50ZW5kaW5nIHRvIG9ubHkg
bW92ZSB0aGUgY29udGVudHMgb2YgdGhlCisgICAgICAgIGxpc3QgaXRlbS4gVGhpcyBjb3VsZCBt
YWtlIGl0IGltcG9zc2libGUgdG8gcmVtb3ZlIGNvbnRlbnQgZnJvbSBhIGxpc3QgYW5kIHRyaWdn
ZXIgbG9zcyBvZgorICAgICAgICBlZGl0YWJsZSB0ZXh0LgorCisgICAgICAgIFRlc3Q6IGVkaXRp
bmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRp
b25hbC1pbmxpbmUuaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHREZWNvcmF0aW9uRXF1aXZhbGVudDo6cHJvcGVydHlF
eGlzdHNJblN0eWxlKTogU2hvcnQtY2lyY3VpdCBmb3Igd2hlbiBzdHlsZSBpcworICAgICAgICBu
b25lLiBUaGlzIG1hdGNoZXMgb3RoZXIgSFRNTCpEZWNvcmF0aW9uRXF1aXZhbGVudCBmdW5jdGlv
bnMuCisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGln
aGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwKTogQXZvaWQgZ29pbmcgb3ZlciBSZW5kZXJCbG9ja3Mg
d2hlbiBmaW5kaW5nIHRoZSBoaWdoZXN0CisgICAgICAgIHByZXNlbnRhdGlvbmFsIGFuY2VzdG9y
IHRvIGF2b2lkIGxlYXZpbmcgdGhlIGJvdW5kcyBvZiB0aGUgb3JpZ2luYWwgcGFyYWdyYXBoLgor
CiAyMDEzLTAzLTA1ICBBYXJvbiBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIEhlYXAtdXNlLWFmdGVyLWZyZWUgaW4gV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
fkhUTUxNZWRpYUVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0
eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHls
ZS5jcHAJKHJldmlzaW9uIDE0NDY2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Z1N0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkzLDcgKzE5Myw3IEBAIEhUTUxUZXh0RGVj
b3JhdGlvbkVxdWl2YWxlbnQ6OkhUTUxUZXh0RGUKIAogYm9vbCBIVE1MVGV4dERlY29yYXRpb25F
cXVpdmFsZW50Ojpwcm9wZXJ0eUV4aXN0c0luU3R5bGUoY29uc3QgU3R5bGVQcm9wZXJ0eVNldCog
c3R5bGUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENT
U1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QpIHx8IHN0eWxlLT5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pOworICAgIHJldHVybiBzdHls
ZSAmJiAoc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVj
b3JhdGlvbnNJbkVmZmVjdCkgfHwgc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVy
dHlUZXh0RGVjb3JhdGlvbikpOwogfQogCiBib29sIEhUTUxUZXh0RGVjb3JhdGlvbkVxdWl2YWxl
bnQ6OnZhbHVlSXNQcmVzZW50SW5TdHlsZShFbGVtZW50KiBlbGVtZW50LCBTdHlsZVByb3BlcnR5
U2V0KiBzdHlsZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHJldmlz
aW9uIDE0NDY2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIk1hcmt1cEFjY3VtdWxhdG9yLmgi
CiAjaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKQEAgLTUyMiw3ICs1MjMs
NyBAQCBzdGF0aWMgTm9kZSogaGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwCiAKICAgICBOb2Rl
KiBjaGVja0FuY2VzdG9yID0gc3BlY2lhbENvbW1vbkFuY2VzdG9yID8gc3BlY2lhbENvbW1vbkFu
Y2VzdG9yIDogY29tbW9uQW5jZXN0b3I7CiAgICAgaWYgKGNoZWNrQW5jZXN0b3ItPnJlbmRlcmVy
KCkpIHsKLSAgICAgICAgTm9kZSogbmV3U3BlY2lhbENvbW1vbkFuY2VzdG9yID0gaGlnaGVzdEVu
Y2xvc2luZ05vZGVPZlR5cGUoZmlyc3RQb3NpdGlvbkluTm9kZShjaGVja0FuY2VzdG9yKSwgJmlz
RWxlbWVudFByZXNlbnRhdGlvbmFsKTsKKyAgICAgICAgTm9kZSogbmV3U3BlY2lhbENvbW1vbkFu
Y2VzdG9yID0gaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoZmlyc3RQb3NpdGlvbkluTm9kZShj
aGVja0FuY2VzdG9yKSwgJmlzRWxlbWVudFByZXNlbnRhdGlvbmFsLCBDYW5Dcm9zc0VkaXRpbmdC
b3VuZGFyeSwgY2hlY2tBbmNlc3Rvci0+cmVuZGVyZXIoKS0+Y29udGFpbmluZ0Jsb2NrKCktPm5v
ZGUoKSk7CiAgICAgICAgIGlmIChuZXdTcGVjaWFsQ29tbW9uQW5jZXN0b3IpCiAgICAgICAgICAg
ICBzcGVjaWFsQ29tbW9uQW5jZXN0b3IgPSBuZXdTcGVjaWFsQ29tbW9uQW5jZXN0b3I7CiAgICAg
fQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTQ0ODYxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDMtMDUgIExldmkgV2VpbnRyYXVi
ICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc2VydFVub3JkZXJlZExpc3QgY2Fu
IGxlYWQgdG8gbG9zdCBjb250ZW50IGFuZCBhc3NlcnRpb25zIGluIG1vdmVQYXJhZ3JhcGhzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyMjgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBlZGl0aW5nL2Rl
bGV0aW5nL3BydW5pbmctYWZ0ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRp
dGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRh
dGlvbmFsLWlubGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhl
Y0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1p
bmxpbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFu
ZC1zYW5pdGl6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS5odG1sOgorCiAyMDEzLTAzLTA1ICBIYXlhdG8gSXRvICA8aGF5YXRv
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4KSW5kZXg6IExh
eW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvcHJ1bmluZy1hZnRlci1tZXJnZS0xLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3BydW5pbmct
YWZ0ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0NDY2OCkKKysrIExheW91dFRl
c3RzL2VkaXRpbmcvZGVsZXRpbmcvcHJ1bmluZy1hZnRlci1tZXJnZS0xLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRF
OiBzaG91bGREZWxldGVET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElWID4gQiA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVESVRJTkcgREVM
RUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0
ID4gRElWID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQg
PiBESVYgPiBCID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9m
ICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rp
b25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4g
U1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFO
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEg
b2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0
eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90
aWZpY2F0aW9uCiBUaGlzIHRlc3RzIHRoZSBwcnVuaW5nIHRoYXQgZGVsZXRlIGRvZXMgd2hlbiB0
aGUgaXQgbWVyZ2VzIHR3byBwYXJhZ3JhcGhzIHdoZW4gdGhlIHNlbGVjdGlvbiB0byBkZWxldGUg
c3BhbnMgbXVsdGlwbGUgYmxvY2tzLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29t
bWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGlu
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29t
bWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGlu
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL2luc2VydC1yZW1vdmUtYmxvY2stbGlzdC1pbnNpZGUtcHJlc2VudGF0aW9uYWwtaW5s
aW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0
IHZlcmlmaWVzIGluc2VydFVub3JkZXJlZExpc3QgY2FuIHByb3Blcmx5IHVuZG8gaXRzIG93biBE
T00gbWFuaXB1bGF0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd1bCcpLmxlbmd0aCA9PSAwIGlzIHRydWUKKwpJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3Qt
aW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1w
cmVzZW50YXRpb25hbC1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Vk
aXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50
YXRpb25hbC1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpOyI+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgY29udGVudGVkaXRh
YmxlPSJ0cnVlIiBpZD0icm9vdCI+PGI+b25lPC9iPjxkaXY+PGI+dHdvPC9iPjwvZGl2PjxkaXY+
PGI+dGhyZWU8L2I+PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+Cis8c2NyaXB0PgordmFyIHJv
b3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworZnVuY3Rpb24gdG9nZ2xlTGlz
dCgpIHsKKyAgICB2YXIgdGVtcG9yYXJ5QmxvY2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKyAgICB0ZW1wb3JhcnlCbG9jay5zdHlsZS5jc3NUZXh0ID0gICJoZWlnaHQ6IDAiOwor
ICAgIHRlbXBvcmFyeUJsb2NrLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCd4
JykpOworICAgIHJvb3QuaW5zZXJ0QmVmb3JlKHRlbXBvcmFyeUJsb2NrLCByb290LmZpcnN0Q2hp
bGQpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRVbm9yZGVyZWRMaXN0Jyk7Cisg
ICAgcm9vdC5yZW1vdmVDaGlsZCh0ZW1wb3JhcnlCbG9jayk7Cit9CisKK2Z1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgaW5zZXJ0
VW5vcmRlcmVkTGlzdCBjYW4gcHJvcGVybHkgdW5kbyBpdHMgb3duIERPTSBtYW5pcHVsYXRpb24u
Iik7CisgICAgcm9vdC5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiKTsKKyAgICB0b2dnbGVMaXN0KCk7CisgICAgdG9nZ2xlTGlzdCgpOworICAgIHRvZ2dsZUxp
c3QoKTsKKyAgICB0b2dnbGVMaXN0KCk7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgndWwnKS5sZW5ndGggPT0gMCIpOworCisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICByb290LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocm9vdCk7Cit9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE0NDY2OCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDcg
KzQsNyBAQCBQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCiBQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
Yj48aT5IZWxsbzwvaT48L2I+JwogUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwotUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JwogUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxi
PkhlbGxvPC9iPjwvZGl2PicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCiBQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij48Yj48aT5oZWxsbzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwv
aT48L2I+JwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1z
YW5pdGl6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbAkocmV2aXNpb24gMTQ0NjY4KQorKysgTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCw3ICszOCw3IEBAIHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
CiB0ZXN0UGFzdGUoImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9p
PjwvYj4iKTsKIHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250
LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2
PiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwotdGVzdFBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVs
bG88L2k+PC9iPiIpOwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9p
PjwvZGl2PjwvYj48L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxs
bzwvaT4iKTsKIHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKIHRlc3RQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJm
b250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwv
ZGl2PiIsIAogICAgICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191843</attachid>
            <date>2013-03-06 15:13:14 -0800</date>
            <delta_ts>2013-03-06 15:25:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111228-20130306150919.patch</filename>
            <type>text/plain</type>
            <size>10959</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAzLTA1ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNlcnRVbm9yZGVyZWRM
aXN0IGNhbiBsZWFkIHRvIGxvc3QgY29udGVudCBhbmQgYXNzZXJ0aW9ucyBpbiBtb3ZlUGFyYWdy
YXBocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFdoZW4g
YSBsaXN0IGlzIHdyYXBwZWQgaW4gYSBwcmVzZW50YXRpb25hbCBpbmxpbmUgbGlrZSBhIGIgdGFn
LCB3ZSdkIGNyZWF0ZSBtYXJrdXAgdGhhdCBpbmNsdWRlZAorICAgICAgICBldmVyeXRoaW5nIHVw
IHRvIHRoZSBiIHRhZyBmcm9tIG1vdmVQYXJhZ3JhcGhzIHdoZW4gaW50ZW5kaW5nIHRvIG9ubHkg
bW92ZSB0aGUgY29udGVudHMgb2YgdGhlCisgICAgICAgIGxpc3QgaXRlbS4gVGhpcyBjb3VsZCBt
YWtlIGl0IGltcG9zc2libGUgdG8gcmVtb3ZlIGNvbnRlbnQgZnJvbSBhIGxpc3QgYW5kIHRyaWdn
ZXIgbG9zcyBvZgorICAgICAgICBlZGl0YWJsZSB0ZXh0LgorCisgICAgICAgIFRlc3Q6IGVkaXRp
bmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRp
b25hbC1pbmxpbmUuaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZWxlbWVudE1hdGNoZXNBbmRQcm9wZXJ0eUlzTm90SW5JbmxpbmVT
dHlsZURlY2wpOiBFbnN1cmUgdGhlcmUncyBhbiBpbmxpbmUgc3R5bGUKKyAgICAgICAgYmVmb3Jl
IGNhbGxpbmcgcHJvcGVydHlFeGlzdHNJblN0eWxlLgorICAgICAgICAqIGVkaXRpbmcvbWFya3Vw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RBbmNlc3RvclRvV3JhcE1hcmt1cCk6IEF2
b2lkIGdvaW5nIG92ZXIgUmVuZGVyQmxvY2tzIHdoZW4gZmluZGluZyB0aGUgaGlnaGVzdAorICAg
ICAgICBwcmVzZW50YXRpb25hbCBhbmNlc3RvciB0byBhdm9pZCBsZWF2aW5nIHRoZSBib3VuZHMg
b2YgdGhlIG9yaWdpbmFsIHBhcmFncmFwaC4KKwogMjAxMy0wMy0wNSAgQWFyb24gQ29sd2VsbCAg
PGFjb2x3ZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBIZWFwLXVzZS1hZnRlci1mcmVlIGlu
IFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6On5IVE1MTWVkaWFFbGVtZW50CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCShyZXZpc2lvbiAxNDQ2NjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyOCw3ICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+SFRNTEVsZW1lbnRFcXVpdmFs
ZW50KCkgeyB9CiAgICAgdmlydHVhbCBib29sIG1hdGNoZXMoY29uc3QgRWxlbWVudCogZWxlbWVu
dCkgY29uc3QgeyByZXR1cm4gIW1fdGFnTmFtZSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKCptX3Rh
Z05hbWUpOyB9CiAgICAgdmlydHVhbCBib29sIGhhc0F0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIHByb3BlcnR5RXhpc3RzSW5TdHlsZShjb25zdCBT
dHlsZVByb3BlcnR5U2V0KiBzdHlsZSkgY29uc3QgeyByZXR1cm4gc3R5bGUgJiYgc3R5bGUtPmdl
dFByb3BlcnR5Q1NTVmFsdWUobV9wcm9wZXJ0eUlEKTsgfQorICAgIHZpcnR1YWwgYm9vbCBwcm9w
ZXJ0eUV4aXN0c0luU3R5bGUoY29uc3QgU3R5bGVQcm9wZXJ0eVNldCogc3R5bGUpIGNvbnN0IHsg
cmV0dXJuIHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKG1fcHJvcGVydHlJRCk7IH0KICAgICB2
aXJ0dWFsIGJvb2wgdmFsdWVJc1ByZXNlbnRJblN0eWxlKEVsZW1lbnQqLCBTdHlsZVByb3BlcnR5
U2V0KikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGFkZFRvU3R5bGUoRWxlbWVudCosIEVkaXRp
bmdTdHlsZSopIGNvbnN0OwogCkBAIC05NzQsNyArOTc0LDcgQEAgdm9pZCBFZGl0aW5nU3R5bGU6
Om1lcmdlSW5saW5lU3R5bGVPZkVsZQogc3RhdGljIGlubGluZSBib29sIGVsZW1lbnRNYXRjaGVz
QW5kUHJvcGVydHlJc05vdEluSW5saW5lU3R5bGVEZWNsKGNvbnN0IEhUTUxFbGVtZW50RXF1aXZh
bGVudCogZXF1aXZhbGVudCwgY29uc3QgU3R5bGVkRWxlbWVudCogZWxlbWVudCwKICAgICBFZGl0
aW5nU3R5bGU6OkNTU1Byb3BlcnR5T3ZlcnJpZGVNb2RlIG1vZGUsIFN0eWxlUHJvcGVydHlTZXQq
IHN0eWxlKQogewotICAgIHJldHVybiBlcXVpdmFsZW50LT5tYXRjaGVzKGVsZW1lbnQpICYmICFl
cXVpdmFsZW50LT5wcm9wZXJ0eUV4aXN0c0luU3R5bGUoZWxlbWVudC0+aW5saW5lU3R5bGUoKSkK
KyAgICByZXR1cm4gZXF1aXZhbGVudC0+bWF0Y2hlcyhlbGVtZW50KSAmJiAoIWVsZW1lbnQtPmlu
bGluZVN0eWxlKCkgfHwgIWVxdWl2YWxlbnQtPnByb3BlcnR5RXhpc3RzSW5TdHlsZShlbGVtZW50
LT5pbmxpbmVTdHlsZSgpKSkKICAgICAgICAgJiYgKG1vZGUgPT0gRWRpdGluZ1N0eWxlOjpPdmVy
cmlkZVZhbHVlcyB8fCAhZXF1aXZhbGVudC0+cHJvcGVydHlFeGlzdHNJblN0eWxlKHN0eWxlKSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHJldmlzaW9uIDE0NDY2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIk1hcmt1cEFjY3VtdWxhdG9yLmgiCiAjaW5jbHVkZSAi
Tm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQmxv
Y2suaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKQEAgLTUyMiw3ICs1MjMsNyBAQCBzdGF0aWMg
Tm9kZSogaGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwCiAKICAgICBOb2RlKiBjaGVja0FuY2Vz
dG9yID0gc3BlY2lhbENvbW1vbkFuY2VzdG9yID8gc3BlY2lhbENvbW1vbkFuY2VzdG9yIDogY29t
bW9uQW5jZXN0b3I7CiAgICAgaWYgKGNoZWNrQW5jZXN0b3ItPnJlbmRlcmVyKCkpIHsKLSAgICAg
ICAgTm9kZSogbmV3U3BlY2lhbENvbW1vbkFuY2VzdG9yID0gaGlnaGVzdEVuY2xvc2luZ05vZGVP
ZlR5cGUoZmlyc3RQb3NpdGlvbkluTm9kZShjaGVja0FuY2VzdG9yKSwgJmlzRWxlbWVudFByZXNl
bnRhdGlvbmFsKTsKKyAgICAgICAgTm9kZSogbmV3U3BlY2lhbENvbW1vbkFuY2VzdG9yID0gaGln
aGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoZmlyc3RQb3NpdGlvbkluTm9kZShjaGVja0FuY2VzdG9y
KSwgJmlzRWxlbWVudFByZXNlbnRhdGlvbmFsLCBDYW5Dcm9zc0VkaXRpbmdCb3VuZGFyeSwgY2hl
Y2tBbmNlc3Rvci0+cmVuZGVyZXIoKS0+Y29udGFpbmluZ0Jsb2NrKCktPm5vZGUoKSk7CiAgICAg
ICAgIGlmIChuZXdTcGVjaWFsQ29tbW9uQW5jZXN0b3IpCiAgICAgICAgICAgICBzcGVjaWFsQ29t
bW9uQW5jZXN0b3IgPSBuZXdTcGVjaWFsQ29tbW9uQW5jZXN0b3I7CiAgICAgfQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ0ODYxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDMtMDUgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEluc2VydFVub3JkZXJlZExpc3QgY2FuIGxlYWQgdG8gbG9z
dCBjb250ZW50IGFuZCBhc3NlcnRpb25zIGluIG1vdmVQYXJhZ3JhcGhzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEyMjgKKworICAgICAgICBSZXZp
ZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5nL3BydW5p
bmctYWZ0ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9leGVjQ29t
bWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGlu
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5z
ZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5p
dGl6ZS5odG1sOgorCiAyMDEzLTAzLTA1ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4KSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvZGVsZXRpbmcvcHJ1bmluZy1hZnRlci1tZXJnZS0xLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3BydW5pbmctYWZ0ZXItbWVyZ2Ut
MS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0NDY2OCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcv
ZGVsZXRpbmcvcHJ1bmluZy1hZnRlci1tZXJnZS0xLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGREZWxl
dGVET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElWID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHNob3Vs
ZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gQiA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBCID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2Yg
I3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENo
YW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBTUEFOID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0g
c3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBU
aGlzIHRlc3RzIHRoZSBwcnVuaW5nIHRoYXQgZGVsZXRlIGRvZXMgd2hlbiB0aGUgaXQgbWVyZ2Vz
IHR3byBwYXJhZ3JhcGhzIHdoZW4gdGhlIHNlbGVjdGlvbiB0byBkZWxldGUgc3BhbnMgbXVsdGlw
bGUgYmxvY2tzLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQt
cmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQt
cmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNlbnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luc2Vy
dC1yZW1vdmUtYmxvY2stbGlzdC1pbnNpZGUtcHJlc2VudGF0aW9uYWwtaW5saW5lLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIGlu
c2VydFVub3JkZXJlZExpc3QgY2FuIHByb3Blcmx5IHVuZG8gaXRzIG93biBET00gbWFuaXB1bGF0
aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCd1bCcpLmxlbmd0aCA9PSAwIGlzIHRydWUKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5zaWRlLXByZXNl
bnRhdGlvbmFsLWlubGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcv
ZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25h
bC1pbmxpbmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxp
bmUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBp
ZD0icm9vdCI+PGI+b25lPC9iPjxkaXY+PGI+dHdvPC9iPjwvZGl2PjxkaXY+PGI+dGhyZWU8L2I+
PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+Cis8c2NyaXB0PgordmFyIHJvb3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworZnVuY3Rpb24gdG9nZ2xlTGlzdCgpIHsKKyAgICB2
YXIgdGVtcG9yYXJ5QmxvY2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICB0
ZW1wb3JhcnlCbG9jay5zdHlsZS5jc3NUZXh0ID0gICJoZWlnaHQ6IDAiOworICAgIHRlbXBvcmFy
eUJsb2NrLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCd4JykpOworICAgIHJv
b3QuaW5zZXJ0QmVmb3JlKHRlbXBvcmFyeUJsb2NrLCByb290LmZpcnN0Q2hpbGQpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRVbm9yZGVyZWRMaXN0Jyk7CisgICAgcm9vdC5yZW1v
dmVDaGlsZCh0ZW1wb3JhcnlCbG9jayk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgaW5zZXJ0VW5vcmRlcmVkTGlz
dCBjYW4gcHJvcGVybHkgdW5kbyBpdHMgb3duIERPTSBtYW5pcHVsYXRpb24uIik7CisgICAgcm9v
dC5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiKTsKKyAgICB0
b2dnbGVMaXN0KCk7CisgICAgdG9nZ2xlTGlzdCgpOworICAgIHRvZ2dsZUxpc3QoKTsKKyAgICB0
b2dnbGVMaXN0KCk7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgndWwnKS5sZW5ndGggPT0gMCIpOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICByb290LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocm9vdCk7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLWFuZC1zYW5pdGl6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDE0NDY2OCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCiBQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+
PGk+SGVsbG88L2k+PC9iPicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JwogUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwotUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SGVsbG88L2k+JwogUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxiPkhlbGxvPC9iPjwv
ZGl2PicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCiBQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48Yj48aT5oZWxs
bzE8L2k+PC9iPjxiPjxpPiZuYnNwO2hlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+JwpJbmRl
eDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQt
c2FuaXRpemUuaHRtbAkocmV2aXNpb24gMTQ0NjY4KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFuZC1zYW5pdGl6ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3
ICszOCw3IEBAIHRlc3RQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7CiB0ZXN0UGFzdGUo
ImRpdiIsICI8Yj48aT5IZWxsbzwvaT48L2I+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKIHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9y
bWFsXCI+PGI+PGk+SGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsICI8Yj48aT5I
ZWxsbzwvaT48L2I+Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjwvZGl2PjwvZGl2PiIsICJIZWxsbyIpOwotdGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIp
OwordGVzdFBhc3RlKCJkaXYiLCAiPGRpdj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48
L2Rpdj4iLCAiPGkgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5IZWxsbzwvaT4iKTsKIHRl
c3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48Yj5IZWxsbzwvYj48L2Rpdj4iKTsKIHRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogbm9ybWFsXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
c3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDog
bm9ybWFsXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PiIsIAogICAg
ICAgICAgICI8ZGl2PjxiPjxpPmhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191850</attachid>
            <date>2013-03-06 15:25:34 -0800</date>
            <delta_ts>2013-03-06 16:09:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-111228-20130306152140.patch</filename>
            <type>text/plain</type>
            <size>11107</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDg2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTA1ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNlcnRVbm9yZGVyZWRM
aXN0IGNhbiBsZWFkIHRvIGxvc3QgY29udGVudCBhbmQgYXNzZXJ0aW9ucyBpbiBtb3ZlUGFyYWdy
YXBocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
MjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFdoZW4g
YSBsaXN0IGlzIHdyYXBwZWQgaW4gYSBwcmVzZW50YXRpb25hbCBpbmxpbmUgbGlrZSBhIGIgdGFn
LCB3ZSdkIGNyZWF0ZSBtYXJrdXAgdGhhdCBpbmNsdWRlZAorICAgICAgICBldmVyeXRoaW5nIHVw
IHRvIHRoZSBiIHRhZyBmcm9tIG1vdmVQYXJhZ3JhcGhzIHdoZW4gaW50ZW5kaW5nIHRvIG9ubHkg
bW92ZSB0aGUgY29udGVudHMgb2YgdGhlCisgICAgICAgIGxpc3QgaXRlbS4gVGhpcyBjb3VsZCBt
YWtlIGl0IGltcG9zc2libGUgdG8gcmVtb3ZlIGNvbnRlbnQgZnJvbSBhIGxpc3QgYW5kIHRyaWdn
ZXIgbG9zcyBvZgorICAgICAgICBlZGl0YWJsZSB0ZXh0LgorCisgICAgICAgIFRlc3Q6IGVkaXRp
bmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRp
b25hbC1pbmxpbmUuaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZWxlbWVudE1hdGNoZXNBbmRQcm9wZXJ0eUlzTm90SW5JbmxpbmVT
dHlsZURlY2wpOiBFbnN1cmUgdGhlcmUncyBhbiBpbmxpbmUgc3R5bGUKKyAgICAgICAgYmVmb3Jl
IGNhbGxpbmcgcHJvcGVydHlFeGlzdHNJblN0eWxlLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVs
ZW1lbnRFcXVpdmFsZW50Ojpwcm9wZXJ0eUV4aXN0c0luU3R5bGUpOiBSZW1vdmluZyBudWxsIGNo
ZWNrIGZvciBzdHlsZS4KKyAgICAgICAgQWxsIGNhbGxlcnMgZW5zdXJlIHRoaXMgdmFsdWUgaXNu
J3QgbnVsbC4KKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpoaWdoZXN0QW5jZXN0b3JUb1dyYXBNYXJrdXApOiBBdm9pZCBnb2luZyBvdmVyIFJlbmRlckJs
b2NrcyB3aGVuIGZpbmRpbmcgdGhlIGhpZ2hlc3QKKyAgICAgICAgcHJlc2VudGF0aW9uYWwgYW5j
ZXN0b3IgdG8gYXZvaWQgbGVhdmluZyB0aGUgYm91bmRzIG9mIHRoZSBvcmlnaW5hbCBwYXJhZ3Jh
cGguCisKIDIwMTMtMDMtMDUgIEFhcm9uIENvbHdlbGwgIDxhY29sd2VsbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgSGVhcC11c2UtYWZ0ZXItZnJlZSBpbiBXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojp+SFRNTE1lZGlhRWxlbWVudApJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
aW5nU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Z1N0eWxlLmNwcAkocmV2aXNpb24gMTQ0NjY4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNyArMTI4LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgfkhUTUxFbGVtZW50RXF1aXZhbGVudCgpIHsgfQogICAgIHZpcnR1YWwg
Ym9vbCBtYXRjaGVzKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0IHsgcmV0dXJuICFtX3Rh
Z05hbWUgfHwgZWxlbWVudC0+aGFzVGFnTmFtZSgqbV90YWdOYW1lKTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBoYXNBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwg
Ym9vbCBwcm9wZXJ0eUV4aXN0c0luU3R5bGUoY29uc3QgU3R5bGVQcm9wZXJ0eVNldCogc3R5bGUp
IGNvbnN0IHsgcmV0dXJuIHN0eWxlICYmIHN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKG1fcHJv
cGVydHlJRCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgcHJvcGVydHlFeGlzdHNJblN0eWxlKGNvbnN0
IFN0eWxlUHJvcGVydHlTZXQqIHN0eWxlKSBjb25zdCB7IHJldHVybiBzdHlsZS0+Z2V0UHJvcGVy
dHlDU1NWYWx1ZShtX3Byb3BlcnR5SUQpOyB9CiAgICAgdmlydHVhbCBib29sIHZhbHVlSXNQcmVz
ZW50SW5TdHlsZShFbGVtZW50KiwgU3R5bGVQcm9wZXJ0eVNldCopIGNvbnN0OwogICAgIHZpcnR1
YWwgdm9pZCBhZGRUb1N0eWxlKEVsZW1lbnQqLCBFZGl0aW5nU3R5bGUqKSBjb25zdDsKIApAQCAt
OTc0LDcgKzk3NCw3IEBAIHZvaWQgRWRpdGluZ1N0eWxlOjptZXJnZUlubGluZVN0eWxlT2ZFbGUK
IHN0YXRpYyBpbmxpbmUgYm9vbCBlbGVtZW50TWF0Y2hlc0FuZFByb3BlcnR5SXNOb3RJbklubGlu
ZVN0eWxlRGVjbChjb25zdCBIVE1MRWxlbWVudEVxdWl2YWxlbnQqIGVxdWl2YWxlbnQsIGNvbnN0
IFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQsCiAgICAgRWRpdGluZ1N0eWxlOjpDU1NQcm9wZXJ0eU92
ZXJyaWRlTW9kZSBtb2RlLCBTdHlsZVByb3BlcnR5U2V0KiBzdHlsZSkKIHsKLSAgICByZXR1cm4g
ZXF1aXZhbGVudC0+bWF0Y2hlcyhlbGVtZW50KSAmJiAhZXF1aXZhbGVudC0+cHJvcGVydHlFeGlz
dHNJblN0eWxlKGVsZW1lbnQtPmlubGluZVN0eWxlKCkpCisgICAgcmV0dXJuIGVxdWl2YWxlbnQt
Pm1hdGNoZXMoZWxlbWVudCkgJiYgKCFlbGVtZW50LT5pbmxpbmVTdHlsZSgpIHx8ICFlcXVpdmFs
ZW50LT5wcm9wZXJ0eUV4aXN0c0luU3R5bGUoZWxlbWVudC0+aW5saW5lU3R5bGUoKSkpCiAgICAg
ICAgICYmIChtb2RlID09IEVkaXRpbmdTdHlsZTo6T3ZlcnJpZGVWYWx1ZXMgfHwgIWVxdWl2YWxl
bnQtPnByb3BlcnR5RXhpc3RzSW5TdHlsZShzdHlsZSkpOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL21hcmt1cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYXJrdXAuY3BwCShyZXZpc2lvbiAxNDQ2NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL21hcmt1cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRl
ICJNYXJrdXBBY2N1bXVsYXRvci5oIgogI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNs
dWRlICJSYW5nZS5oIgorI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVy
T2JqZWN0LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5
U2V0LmgiCkBAIC01MjIsNyArNTIzLDcgQEAgc3RhdGljIE5vZGUqIGhpZ2hlc3RBbmNlc3RvclRv
V3JhcE1hcmt1cAogCiAgICAgTm9kZSogY2hlY2tBbmNlc3RvciA9IHNwZWNpYWxDb21tb25BbmNl
c3RvciA/IHNwZWNpYWxDb21tb25BbmNlc3RvciA6IGNvbW1vbkFuY2VzdG9yOwogICAgIGlmIChj
aGVja0FuY2VzdG9yLT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIE5vZGUqIG5ld1NwZWNpYWxDb21t
b25BbmNlc3RvciA9IGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKGZpcnN0UG9zaXRpb25Jbk5v
ZGUoY2hlY2tBbmNlc3RvciksICZpc0VsZW1lbnRQcmVzZW50YXRpb25hbCk7CisgICAgICAgIE5v
ZGUqIG5ld1NwZWNpYWxDb21tb25BbmNlc3RvciA9IGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBl
KGZpcnN0UG9zaXRpb25Jbk5vZGUoY2hlY2tBbmNlc3RvciksICZpc0VsZW1lbnRQcmVzZW50YXRp
b25hbCwgQ2FuQ3Jvc3NFZGl0aW5nQm91bmRhcnksIGNoZWNrQW5jZXN0b3ItPnJlbmRlcmVyKCkt
PmNvbnRhaW5pbmdCbG9jaygpLT5ub2RlKCkpOwogICAgICAgICBpZiAobmV3U3BlY2lhbENvbW1v
bkFuY2VzdG9yKQogICAgICAgICAgICAgc3BlY2lhbENvbW1vbkFuY2VzdG9yID0gbmV3U3BlY2lh
bENvbW1vbkFuY2VzdG9yOwogICAgIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDg2MSkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEz
LTAzLTA1ICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBJ
bnNlcnRVbm9yZGVyZWRMaXN0IGNhbiBsZWFkIHRvIGxvc3QgY29udGVudCBhbmQgYXNzZXJ0aW9u
cyBpbiBtb3ZlUGFyYWdyYXBocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTExMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgor
CisgICAgICAgICogZWRpdGluZy9kZWxldGluZy9wcnVuaW5nLWFmdGVyLW1lcmdlLTEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9j
ay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1yZW1vdmUtYmxvY2stbGlzdC1p
bnNpZGUtcHJlc2VudGF0aW9uYWwtaW5saW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbDoKKwogMjAxMy0wMy0w
NSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBnYXJkZW5pbmcuCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3BydW5pbmct
YWZ0ZXItbWVyZ2UtMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9kZWxldGluZy9wcnVuaW5nLWFmdGVyLW1lcmdlLTEtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNDQ2NjgpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3BydW5pbmctYWZ0ZXIt
bWVyZ2UtMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgogRURJVElORyBERUxFR0FURTogc2hvdWxkRGVsZXRlRE9NUmFuZ2U6cmFuZ2UgZnJvbSAx
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+
IERJViA+IEIgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAogRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEIgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gQiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5n
OkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJh
bmdlIGZyb20gMCBvZiAjdGV4dCA+IFNQQU4gPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0byAyIG9mICN0ZXh0ID4gU1BBTiA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRv
RE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmlu
aXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogVGhpcyB0ZXN0cyB0aGUgcHJ1bmluZyB0
aGF0IGRlbGV0ZSBkb2VzIHdoZW4gdGhlIGl0IG1lcmdlcyB0d28gcGFyYWdyYXBocyB3aGVuIHRo
ZSBzZWxlY3Rpb24gdG8gZGVsZXRlIHNwYW5zIG11bHRpcGxlIGJsb2Nrcy4KSW5kZXg6IExheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lk
ZS1wcmVzZW50YXRpb25hbC1pbmxpbmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lk
ZS1wcmVzZW50YXRpb25hbC1pbmxpbmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtcmVtb3ZlLWJsb2NrLWxpc3QtaW5z
aWRlLXByZXNlbnRhdGlvbmFsLWlubGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTAgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyBpbnNlcnRVbm9yZGVyZWRMaXN0IGNhbiBw
cm9wZXJseSB1bmRvIGl0cyBvd24gRE9NIG1hbmlwdWxhdGlvbi4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndWwnKS5sZW5ndGgg
PT0gMCBpcyB0cnVlCisKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5z
ZXJ0LXJlbW92ZS1ibG9jay1saXN0LWluc2lkZS1wcmVzZW50YXRpb25hbC1pbmxpbmUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1yZW1v
dmUtYmxvY2stbGlzdC1pbnNpZGUtcHJlc2VudGF0aW9uYWwtaW5saW5lLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1yZW1vdmUtYmxv
Y2stbGlzdC1pbnNpZGUtcHJlc2VudGF0aW9uYWwtaW5saW5lLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9InJvb3QiPjxiPm9uZTwvYj48ZGl2
PjxiPnR3bzwvYj48L2Rpdj48ZGl2PjxiPnRocmVlPC9iPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjwv
ZGl2PgorPHNjcmlwdD4KK3ZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3Qi
KTsKK2Z1bmN0aW9uIHRvZ2dsZUxpc3QoKSB7CisgICAgdmFyIHRlbXBvcmFyeUJsb2NrID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgdGVtcG9yYXJ5QmxvY2suc3R5bGUuY3Nz
VGV4dCA9ICAiaGVpZ2h0OiAwIjsKKyAgICB0ZW1wb3JhcnlCbG9jay5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSgneCcpKTsKKyAgICByb290Lmluc2VydEJlZm9yZSh0ZW1wb3Jh
cnlCbG9jaywgcm9vdC5maXJzdENoaWxkKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5z
ZXJ0VW5vcmRlcmVkTGlzdCcpOworICAgIHJvb3QucmVtb3ZlQ2hpbGQodGVtcG9yYXJ5QmxvY2sp
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIGluc2VydFVub3JkZXJlZExpc3QgY2FuIHByb3Blcmx5IHVuZG8gaXRz
IG93biBET00gbWFuaXB1bGF0aW9uLiIpOworICAgIHJvb3QuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CisgICAgdG9nZ2xlTGlzdCgpOworICAgIHRvZ2ds
ZUxpc3QoKTsKKyAgICB0b2dnbGVMaXN0KCk7CisgICAgdG9nZ2xlTGlzdCgpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3VsJykubGVuZ3RoID09IDAi
KTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcm9vdC5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHJvb3QpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS1hbmQtc2FuaXRpemUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDQ2NjgpCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAgUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJwogUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPkhlbGxvPC9pPjwvYj4nCiBQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGI+PGk+SGVsbG88L2k+PC9iPicKIFBBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKLVBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8Yj48aT5IZWxsbzwv
aT48L2I+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxpIHN0eWxlPSJmb250LXdlaWdodDog
Ym9sZDsiPkhlbGxvPC9pPicKIFBBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj4nCiBQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5oZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JwogUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxiPjxpPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDogbm9ybWFsOyI+PGI+PGk+aGVsbG8xPC9pPjwvYj48Yj48aT4mbmJzcDto
ZWxsbzI8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPicKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1hbmQtc2FuaXRpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYW5kLXNhbml0aXplLmh0bWwJKHJldmlzaW9u
IDE0NDY2OCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hbmQtc2Fu
aXRpemUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCB0ZXN0UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIpOwogdGVzdFBhc3RlKCJkaXYiLCAiPGI+PGk+SGVsbG88L2k+
PC9iPiIsICI8Yj48aT5IZWxsbzwvaT48L2I+Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPkhlbGxvPC9pPjwv
Yj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAiPGI+PGk+SGVsbG88L2k+PC9iPiIpOwogdGVzdFBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4iLCAiSGVs
bG8iKTsKLXRlc3RQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48
L2I+PC9kaXY+IiwgIjxiPjxpPkhlbGxvPC9pPjwvYj4iKTsKK3Rlc3RQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGRpdj48aT5IZWxsbzwvaT48L2Rpdj48L2I+PC9kaXY+IiwgIjxpIHN0eWxlPVwiZm9u
dC13ZWlnaHQ6IGJvbGQ7XCI+SGVsbG88L2k+Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGI+SGVsbG88L2I+PC9kaXY+
Iik7CiB0ZXN0UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWln
aHQ6IG5vcm1hbFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6IG5vcm1hbFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4iLCAKICAgICAgICAgICAiPGRpdj48Yj48aT5oZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>